2010 Retrospective

This is something new for me; I don’t usually engage in much self-introspection, but as this has been a year of changes, it seems appropriate to summarize what has happened in 2010, and maybe what the outlook will be for the future.

2010 started with a whimper, as my employer implemented a one-week furlough for all employees.  While loss of a week’s pay is never desirable, I was able to endure it without much financial hardship.  I actually appreciated the company’s effort to weather the recession without massive layoffs.  I did not mind contributing a week’s pay to prevent others from losing their job entirely.  Also, the furlough was scheduled for the first week in January, extending the Christmas holiday by a week.  It was kind of nice having a full week off; started me thinking about retirement and what I could do if I did not have to go into the office at all!

I took the opportunity to do a self-assessment during the furlough week.  This instrument was designed to help me understand where my interests lie.  No surprises, but it did clarify that I like to travel and experience different places and cultures.  I really enjoyed my month-long archeological adventure on a dig in Jordan in 2009.  Overseas travel is expensive, so I decided to look for adventures locally.

I also like technology, so I decided to combine these two interests and start this blog.  I’ve never been a journal-er — past attempts at keeping a journal have fizzled out after a few weeks.  This time, I decided to start my own WordPress blog, as opposed to using Blogger or similar platform.  I did this because I wanted to learn the internal workings of WordPress, and to have more control over format than shared hosting could provide.  Objective partially accomplished: I know about ISP, hosting, FTP, and a lot about the internals of WordPress.  But I don’t have the time to become an expert in WordPress and haven’t been able implement all the content-management features that I would like.

An extraordinary success is that it has now been a year, and the journal/blog is still alive!  By concentrating on my interests in travel, nature, and adventures, rather than a diary, I’ve been able to maintain my interest and post in a semi-regular manner.  I can combine photographs and GPS tracks to document my adventures, and that feeds my interest in technology.

As well as not having been a journal-er, I’ve also not been a writer.  Of course, a 33-year career in engineering requires that I do a lot of writing, but it has been technical writing.  I’ve written specifications, test reports, PowerPoint, briefs to management, a few conference articles — all designed to convey information accurately, precisely, and concisely, but not especially creatively.  In 2011 I am going to try to work on my writing; try to make posts not sound like technical papers!

I still have a day job, so time-consuming adventures have to be rare, but I’ve started treating every day like an adventure.  Others may not consider rebuilding the back deck to be an adventure, but it is to me, because it is not something I do every day.  I have to learn new facts and procedures, and because I am not especially talented at working with my hands, it really is an adventure where the final result is not taken for granted!

This post is getting to be too long, so let’s get on to the major events and changes that happened in 2010.

  • My oldest graduated high school in May.  She’s now completed a semester in the honors program at Andrews University.  She got all “A”‘s with one “A-”.  I brag on her every chance I get!
  • My Dad expressed an interest in seeing the “big trees”.  So with my brothers James and Tim, and my cousin Dan, we rented a Class C RV and spent a week traveling through the redwoods in northern California in July.  James and I cooked, Dan and Tim cleaned up.  When I asked my Dad at Christmas about the trip, the food was the first thing he mentioned.  Sometimes it is not the destination but the experience that makes the biggest impression!  This was a special trip for Dad and his sons; at 87 future opportunities for these kinds of experiences are limited.  I followed up by taking my Dad on a trip to Carlsbad Caverns over the Christmas holidays.
  • I planned an adventure at Chaco Canyon in September to see the Autumn Equinox.  This turned into an adventure of a different kind, as I hit a patch of wet clay on a dirt road in Navajo country, lost traction and rolled the car.  No injuries, fortunately, but the car was a total loss.
  • I refinanced the house in December.  Besides a favorable interest rate (3.125%) this starts the clock running for future changes as this is a 5-year ARM.

What is the outlook for the future?  There are some milestones coming up that work nicely into a five-year plan.  God willing, here is what I foresee:

  • December 2010.  Refinance with 5-year ARM.
  • May 2012.  Richard graduates high school and starts college that fall.  Two kids are in college, with attendant expenses.
  • May 2014.  Abigail graduates college.  Educational expenses drop by half.
  • February 2015.  20 years with my employer.  Company contribution to my pension depends on years of service, and maxes out at 20 years.
  • January 2016.  ARM resets.  Interest rate may rise 2%.  Given the rate at which the government is printing money, I expect inflation to be in full swing and my interest rate to rise the full 2%.
  • April 2016.  House goes on the market.  Hopefully it will sell before the fall.  I have until then to get all the home improvement projects completed and the house in shape to get the best price.  In 2010 three projects were completed and one started:
  • May 2016.  Richard graduates college.  Educational expenses drop to zero.
  • 2022.  Normal retirement age at 67.

Lots of options start to open up in 2016/2017.  Until then, I’ll treat every day as an adventure.

Researching Watermarks

I’m looking for some software to put a watermark on the photos I publish in the blog.

Impression for iPhoto

The first watermarking software I looked at was Impression.  The attraction is that this is a plugin for iPhoto.  I assumed that this meant it would seamlessly integrate into my work flow.  Here are my impressions of Impression after using the evaluation version.

  • Impression is easy to install.  I downloaded the disk image, unzipped it, clicked on the install package, and that was it.  I did not like that there was no Readme or other instructions on the install disk.  I usually like to know what goes where before installing.  However, no harm done.  The web site provides installation and uninstall instructions.
  • Impression can use an image in PNG or PSD format, or a text file in RTF format for the watermark.  I used TextEdit to create a copyright notice in RTF format.  Interestingly, once I told Impression where to find the file, changes to the watermark file showed up automatically.  There was no need to do any setup to incorporate a changed watermark file.
  • Impression works in the file export window.  This window gains an Impression tab from which you can select the watermark file, manipulate it in various ways (rotation, margin, transparency, location, scale) (it remembers your selections from session to session), and save the watermarked photo.
  • The save button copies the original image to another one containing the watermark, then imports the watermarked image into iPhoto.  You end up with two images, one with a watermark and the other without.  My test image was a JPG sized at 3.9 MB.  The watermarked image was a JPG sized at 9.8 MB.  That is over twice the size, just for adding a watermark.  The watermarked image is saved to the original file name with “-WM” appended.  For example, IMGP0021.jpg becomes IMGP0021-WM.jpg.
  • Impression does not retain all the meta data from the original photo.  Using the Info window of iPhoto 11, I noticed that the following data is missing or changed.
    • Title was deleted.  It defaulted to the file name.
    • Description was deleted.
    • Location (GPS) was deleted.
    • Camera lens information was deleted.
    • Faces were deleted.
    • Keywords were deleted.
  • Deletion of meta data is pretty much a show stopper for me.  Impression does not seem to fit my work flow at this time.
    • I just want to export photos with a watermark.  Other than the addition of a watermark, the exported photos should be the same as the original in iPhoto.
    • I don’t see the need to store watermarked photos in iPhoto.  Yes, I could delete after exporting, but that is an extra step.
    • Actually, three extra steps …
      • Watermark photos with Impression
      • Export watermarked photos to files
      • Delete watermarked photos from iPhoto
    • When exporting, I use the photo title as the exported file name.  This is much more meaningful in my blog and other programs like EveryTrail than the file name assigned by the camera.  I don’t have to title the photos if the file name is the title.
    • Some web sites I use, such as EveryTrail, locate photos using the GPS location tags.  I don’t use Picasa but I understand it also locates photos based on GPS tags.  I want photos that are watermarked and geolocated, and Impression does not support that.
  • I think what would work for me is a checkbox on the export window that selects watermark or no watermark.  A button next to it would provide access to the watermark setup.
  • Impression retails for $14.90.


The second software I tested was iWatermark.  iWatermark is a stand-alone program, as opposed to a plug-in.  It does have some integration with iPhoto, in that you can select an iPhoto album as the input.  Here are my impressions of iWatermark after using the evaluation version.

  • iWatermark is easy to install.  It comes on a disk image (.dmg) file with the application, a Readme, and instructions for purchasing.  Actually, there are no installation instructions in the Readme; I just dragged the application to my Applications folder and double clicked it to open.
  • iWatermark can process files in PICT, BMP, TIFF, PNG, JPEG, and GIF formats.  It can open even more formats by using Quicktime, according to the documentation.  I tested the JPEG capability because that fits my workflow, and tried DNG format because I was investigating RAW formats at the time.  iWatermark did not process an image in DNG format, though it did not produce an error and did produce an output file that was blank except for the watermark itself.
  • iWatermark includes a watermark editor.  Text is entered directly in the editor, and images can be imported.  The included Help did not list the types of files that could be used for watermarks.  I scanned a folder containing different types of files; .jpg, .gif, and .png files were available, while other types that were clearly not images, such as .pdf and .html were grayed out.
  • iWatermark claims to maintain meta data, and this appears to be the case.  I exported images from iPhoto to JPG format files.  I batch processed the files through iWatermark, creating thumbnails in the process.  Meta Data was preserved in the watermarked files as follows:
    • General, Exif, GPS, and TIFF groups were unchanged.
    • JFIF group added the Progressive tag.
    • IPTC group added the Copyright Notice tag.
    • Meta data was not preserved in the thumbnail images.
  • iWatermark provides the capability to insert IPTC meta data.  I told it to insert the Copyright Notice tag.  It did so without destroying existing IPTC tags.
  • Side observation: iPhoto evidently does not preserve IPTC meta data upon importing images.  I imported images that contained the City, Country, and Province/State tags in the IPTC group.  Exported images contained only Caption/Description and Title tags, to which iWatermark added Copyright Notice.
  • iWatermark can create dynamic watermarks based on meta data, and also create IPTC tags based on meta data.  I did not test this capability.
  • iWatermark retails for $18.00. $20.00 (price increased between when I did the review and when I bought it.)


The third software I tested was DropWaterMark.  DropWaterMark is a stand-alone program, as opposed to a plug-in.  It does not have any integration with iPhoto.  Here are my impressions of iWatermark after using the evaluation version.

  • DropWaterMark is easy to install.  On the install disk image drag the DropWaterMark folder to the Applications folder.  First time opening the application presents a configuration screen.  There is a ReadMe, but I did not need to refer to it.  I only opened the ReadMe when I wanted to delete the developer’s logo from the watermark.  However, that cannot be done in the evaluation version.
  • DropWaterMark outputs files only in JPG format.  It will accept files in other formats, but does not list them.  I tried a DNG file but it was not accepted.
  • DropWaterMark allows for two lines of text and an image as watermarks.  Each can be independently positioned, so you could have a watermark in three places, such as a line of text in two corners and an image in the center.
  • Text watermarks are created in DropWaterMark.  Image watermark is imported and then edited within the application.
  • Meta data is preserved as follows:
    • General, JFIF, TIFF groups are unchanged.
    • Exif group added the Color Space tag with value Uncalibrated.  I’m not sure where the value for this tag comes from.
    • GPS group added the GPS Version tag.  Value is set to 2.2.  I found this interesting as there did not seem to any way DropWaterMark could have gotten the value for this tag.  It seems to have been made up.
    • IPTC group added the Keywords tag with no values.  I could find no way to specify keywords to be added.  Also, no way to specify IPTC tags to be added.
  • No capability to create dynamic watermarks or IPTC tags based on meta data.
  • DropWaterMark can change nonvisual data such as creation date, modification date, and file comment.  It can do this as part of watermarking the image, or separately without changing the image.
  • I tried dropping a file on the application icon.  This opened the app and loaded the image, but there were manual steps involved in completing the watermark process.  I was hoping drag-and-drop would work completely automatically.
  • DropWaterMark retails for $16.50.


Finally I tested ImageWell.  ImageWell is more than just watermarking software.  It also has the capability to edit photos, including a simple method of annotation.  This immediately got my attention as my current method of annotating images takes a lot of steps.  Here are my impressions of ImageWell using the evaluation version.

  • ImageWell is easy to install.  Just drag the app to the Applications folder.
  • Running ImageWell is easy as well.  A little window sits on the desktop to which you drag images.  It took me a few minutes to get used to the interface, but after that everything worked intuitively.
  • Surprisingly, ImageWell accepted an image in .DNG format.  This is an archival file format for RAW images.  Output is only in .JPG, .TIFF, or .PNG.
  • I tried a few simple annotations, arrow and text box.  It was easy and worked as expected.
  • The watermark text had to be retyped every time I worked on a new image.  I’m sure there is a way to make it stick, and ImageWell advertises a batch mode, but I did not test that feature.
  • I was getting ready to really like this product, when I looked at the meta data in the output images.  Meta Data is not preserved.  Bummer!
    • In the General group, the Orientation, Pixel Width, and Profile Name tags were deleted.
    • In the Exif group, all tags except Pixel X Dimension and Pixel Y Dimension were deleted.
    • The GPS, IPTC, and TIFF groups were deleted entirely.
    • The JFIF group had some interesting changes.
      • Density Unit changed from 1 to 0.
      • X Density and Y Density changed from 72 to 1.
  • I like the user interface and annotation capabilities of ImageWell, and the user interface is pretty good.  However, not preserving the meta data is a showstopper for me.  I at least need to have position (GPS) information preserved.
  • ImageWell retails for $19.95.

GeoMashup Locations

I’m learning how to use the GeoMashup plugin for WordPress.  I still think it is a cool plugin, but some frustrations have arisen.  Since I am a complete novice at WordPress, PHP, MySQL, etc., my basic knowledge level may not be high enough to understand the documentation that comes with the plugin.

What’s missing is a GeoMashup for Dummies tutorial.  The plugin author provides a couple basic paragraphs, then dives right into the details of programming the plugin.  So I’m going to document my understanding of what is happening in the plugin.  This will help me, and maybe help others.  Of course, I’m sure my understanding will grow over time.  I’ll try to keep the blog up to date.


I started out thinking in terms of a map.  The basic object on a map is a location.  I think of a paper map with a push-pin marking the location.  The pin (location) has attributes (latitude, longitude) that are used to locate it on a map.  So I’m thinking I need to get a list of locations into my blog, and I can locate them on a map.

Wrong answer!  WordPress is blogging software.  Its basic objects are posts, comments, pages, and users.  There is no location object, like a push-pin.  What the GeoMashup plugin did was add a location attribute to WordPress objects.  Now a Post object has a Location attribute, etc.

This is a fundamental change in my thinking, and I’m still getting used to it.  The markers on a map represent posts and pages, not locations themselves.

For a trip I’m currently planning, I want to show markers for all the places I’m considering going to.  From that map, I can refine destinations, where to stay and for how long, etc.  Since several people are going, and they are located in various parts of the country, we are using a blog page to coordinate the planning.  At this time, there is no way to get a list of locations into WordPress.  I can only get a list of posts into WordPress.  This means I write a post for each candidate location on the itinerary, and assign a location to the post, so the post can be marked on a map.  This will make the blog look messy.


GeoMashup has three types of maps.  Here are the definitions from the documentation.

  • Global Maps: Global maps can include multiple located objects in various combinations.
  • Single Maps: These options are like the Global Maps options, but are applied to maps in and of single posts.
  • Contextual Maps: These options are like the Global Maps options, but are applied to maps that are based on a list of posts currently being displayed.

So far I have figured out that the maps work this way:

  • If the page on which the map is displayed does not have a location attribute, the map will display all objects with locations.  Filters can be applied (I’m still learning about them) to select which objects will be displayed.  This is a Global Map.
  • If the page has a location, that location will be displayed on the map.  This is a Single Map.
  • I’m not sure how to use a Contextual Map.  It must be in the documentation somewhere, just waiting for me to get smart enough to recognize it!

Geo Mashup Plugin

Tonight I installed the Geo Mashup plugin for WordPress.  This plugin promises to turn WordPress into a GeoCMS (content management system).  It allows you to tag posts and pages with location information, and insert Google maps into pages, with the locations marked.  I was able to insert a Google Map onto a blog page.  It was easy, and looks sharp!  I’m excited!

Because Geo Mashup is located in the WordPress Plugins Directory, I was able to install it directly from the WordPress Admin page, Plugins panel.  Installation instructions are provided in the Geo Mashup Wiki.  Everything proceeded nominally, without any exceptions to the instructions.  You do need a Google API Key for Geo Mashup to work, and to get the Google API  Key, you need a Google account.  Fortunately I already had a Google account, so that saved a few steps.

After activating the Geo Mashup plugin, a Location panel was available for the new Big Trees Trip page.  I searched for Redwood National Park, saved the location, and inserted the shortcode for the map on the page.  Viola! there was the map with a marker at the Redwood National Park.  You are supposed to be able to insert maps in posts as well, so I am going to try that right now.

WordPress Taxonomies

As I considered how to organize my site, I searched the web for advice.  I came across this wonderful site by Scott Ellis.  On his site I found an article on “A Basic Explanation of WordPress Taxonomies“.  It’s a cool way to categorize my site, so I will try to use taxonomies.  I fully expect my site organization to change, as I’m brand new to this.  If it’s not working, I’ll change it!

My Taxonomies

I plan on having three top level categories on this site:

  • Travel: Trips I am planning or have taken.
  • Technology: Computers and gadgets, including software.
  • Home: Things that happen where I live and work.

For each Category, I’ll define a set of taxonomies.  Taxonomies are just a way to organize the posts.  Within a Category, each post can be described by all the taxonomies assigned to the category.

Within the Travel category, there are three taxonomies: (with example terms)

  • Place: (Santa Fe, Bosque del Apache, Mesa Verde)
  • History: (Spanish Colonial, Native American)
  • Activity: (Birding, Museum Visit, Geocaching)

Within the Technology category there are also three taxonomies: (example terms)

  • Device: (desktop, laptop, cell phone, GPS, modem, scanner, web site)
  • Software: (iPhone app, financial, WordPress)
  • Activity: (blogging, finances, pay bills, networks)

Within the Home category:

  • Place: (Master Bath, garden)
  • Activity: (remodel, gardening)

Seems like there ought to be a third taxonomy applying to Home, but it eludes me right now.

Taxonomy Code

I got the code for implementing taxonomies from a post by Justin Tadlock, “Custom Taxonomies in WordPress 2.8“.  Here’s what I used in my blog:

< ?php add_action( 'init', 'create_my_taxonomies', 0 ); function create_my_taxonomies() { 	register_taxonomy( 'place', 'post', array( 'hierarchical' => false, 'label' => 'Place', 'query_var' => true, 'rewrite' => true ) );
	register_taxonomy( 'history', 'post', array( 'hierarchical' => false, 'label' => 'History', 'query_var' => true, 'rewrite' => true ) );
	register_taxonomy( 'activity', 'post', array( 'hierarchical' => false, 'label' => 'Activity', 'query_var' => true, 'rewrite' => true ) );
	register_taxonomy( 'device', 'post', array( 'hierarchical' => false, 'label' => 'Device', 'query_var' => true, 'rewrite' => true ) );
	register_taxonomy( 'software', 'post', array( 'hierarchical' => false, 'label' => 'Software', 'query_var' => true, 'rewrite' => true ) );

(The above is supposed to be a text box with scroll bars. That is exactly what it is when I look at it in the editor. However, when published the scroll bars disappear. I think it is a limitation of WordPress. I’d appreciate some comments from anyone that knows for sure.)