Another Photo Adventure Begins

January 28th, 2014


We are reprising our photo tour of Yellowstone National Park. Three repeat “offenders”, Doug Roane (, Brian Hartz (, and me ( plus two newcomers, Lori Diemer ( and Sherry Malotte ( arrived in West Yellowstone today with a planned departure for tomorrow morning on a Yellowstone Alpen Guide snowcoach to Old Faithful and the Snow Lodge.

We’ll spend four and a half days in the the Park based out of the Snow Lodge, then shuttle up to Gardiner and meet up with another member of our troupe, Beau Johnston (, for a couple more days in the northern reaches of the Park: Mammoth and the Lamar Valley.

The weather is quite different from our 2011 trip when the skies were clear, the wind was calm, and the temps were well below zero. Our drive today from Bozeman was snowy and windy and the temps were in the twenties above zero. A different trip and a different year, but with great old and new friends. I can’t wait for tomorrow.

January 29, 2014 9:30 PM


February 13th, 2012

I recently purchased Zoomify HTML5 Designer to include in an updated web site design. The Zoomify concept is to provide a viewer that will allow your website visitor to view images in a much larger size/resolution. My main reason for looking for a product like Zoomify is that I enjoy creating panoramic images and they just don’t look very good on my website.

The HMTL5 package consists of a workstation application and a server side Javascript application. The workstation app slices up the images into tiles and places those tiles and information about the image into a folder structure that are uploaded to the server. The Javascript application is called by a web page to display the image and a toolbar that allows the user to navigate the image.

Initially, integrating Zoomify into my updated design proved problematic. I had been looking at customizing an open source gallery such as Gallery3 or ZenPhoto. After a quick perusal of each of the gallery software’s code PHP base, the task of writing a plugin to use Zoomify seemed very daunting. I’m still considering that as an option, but I wanted more “immediate” gratification.

I came up with an interim design concept: see if I can use my current gallery organization, but just change the existing viewer to the Zoomify Javascript viewer. After initial testing and familiarizing myself with the Zoomify API, I was able to get it to work essentially the same way as my first website design, but now with the “zoom-on-steroids” capability of Zoomify.

It was not a completely smooth update as I struggled a bit with the implementation of the Zoomify Javascript app. My initial problem involved Zoomify’s use of several absolute URI references to folders that it uses for ‘Assets’, e.g., skins, watermarks, etc. Although that requirement was initially a pain, I think it led to some cleaner code and page organization on my part.

Previously, I had a separate viewer page for each of my galleries. Each viewer page had a hidden form with the list of images with metadata information to display in the viewer. This was a simple way to manage the multiple galleries and implementing new galleries by just copying the core page code and then changing the image data in the form. However, this was a maintenance nightmare as any change to the core viewer code/design would not duplicate to the other galleries unless I explicitly remembered to copy the code changes to the other galleries.

The new viewer integration allows a single page that accepts URI based arguments. I pass to the page the gallery and the image number. Each gallery folder has it’s own file that lists the image filenames and metadata. The viewer page reads the list and then starts the Zoomify viewer.

The developers of Zoomify have been extremely helpful in answering questions and respond very quickly when I have noticed bugs and inconsistent browser behaviors.

DNSMASQ – A lightweight DHCP and caching DNS server

September 18th, 2011


I needed to set up a DNS server on my intranet to short cut the loop back that happens when I use the dynamic IP service,, to give my home network an external DNS name.

The name lookup would be from my client computer to my router to my cable modem to the external name server.

The trace route would be from my client computer to my router to my cable modem to the ISP and then back to my modem to my router to the DiskStation.

It’s only fractions of a millisecond (I think), but over millions of packets it would add up.


This open source software is packaged for the Synology DiskStations in all their varieties of CPUs. It was very easy to install using the ipkg system.

Once installed, however, going through the manual reveals a very complicated and powerful application.

After several reads and rereads of the manual, I settled on specifying only one option for DNS: redirecting any call to my DynDNS domain to the DiskStation via the address config option. I also uncommented several config options as recommended in the well documented sample config file, dnsmasq.conf.

It works quite well, now. All lookups of my DynDNS domain name are given the DiskStation’s local IP – 192.168.xx.xx. When I’m away from home and my laptop is not connected to my local network, the lookup is my dynamically assigned IP address from Charter Communications.

I decided to also enable the DHCP server. I did this to be able to better control my IP address leases on my intranet. My Cisco router does a far job, but I felt that since dnsmasq will read a file of IP address/host assignments that would be easier to organize and manage.

However, disabling the DHCP server on the router and switching over that function to the DiskStation and dnsmasq was not without some problems. I had a few misspellings that were easily corrected. The biggest problem was that I was able to get DNS lookups done, but I couldn’t connect to any of the addresses outside my intranet and my router vanished.

The router was obviously working as I could see my DiskStation and other devices on the network, but the router’s web server would not respond. I think it was due to the fact the dnsmasq thinks that the device it is running on is acting as a router, too.

I specified the option dhcp-option=router,xx.xx.xx.xx, but that didn’t seem to fix the problem. I rebooted the client computer, still no joy. Then, out of the blue, it started to connect to the internet address as well as to the router’s web server.

I’m still not sure what happened, but I’m very happy that it is all working now.

Setting Up a TeamDrive Personal Server

July 15th, 2011

TeamDrive Overview

If you’ve heard of DropBox, then you understand the paradigm of TeamDrive. It provides a central repository for your files that can be shared across multiple computers and platforms. TeamDrive offers a couple of advantages over DropBox: 1) encryption before uploading to the server, and 2) a personal server that you can have “in-house” on your own intranet. The major disadvantages thus far is the limited storage (10 GB) even on your own server and the lack of support for mobile devices with iOS and Android operating systems.

Why was I looking for this type of file sharing solution? See this blog entry.

TeamDrive Personal Server
TeamDrive provides a personal server (TDPS) that you can run on your own network that will do essentially all things that their servers will do for your TeamDrive clients. They provide it for all three of the major OS variants: Windows, Mac OS X, and Linux.

I could have run the server on my Mac desktop, but I really wanted to be able to have it all on my Synology DiskStation. That is when I ran into my roadblock.

The Problem
The DiskStation’s OS is based on a Debian Linux, which on the surface seemed to be an easy target for the TDPS software. The problem is the CPU in the DS1511+ is an Intel Atom and the OS leverages it with an amd64 (64-bit) build. The TDPS is 32-bit based and needs i386 (32-bit) libraries.

After weeks of searching for the right libraries, I finally gave up. TeamDrive support was not much help either. I gave up looking and was going to abandon TeamDrive all together. I came back after almost as much frustration trying an open-source project, SparkleShare. SparkleShare has promise, but is in its infancy and I needed a more stable solution.

I finally found the solution after exploring all types of avenues. The solution lies in Linux’s ability to host an OS within an OS via the chroot command. Using a somewhat dated and slightly incorrect guide, I was able to be create a 32-bit environment inside my DiskStation’s main 64-bit OS. After a bit of ‘tweaking’ and searching for a Debian package repository for ‘aptitude’, I was able to get TDPS running on the DiskStation.

TeamDrive Client-Server Model
Whether you use TeamDrive’s server or your own server, the model is essentially the same. The client on your computer creates “Spaces” on your hard (or solid state) disk drives that are mirrored on the server. Each Space is represented on your computer as a folder that you can manipulate like any other folder. The client software does all the work syncing the Space with the TeamDrive server’s repository.

Initially, when I was connected via my dated aDSL ISP service to the TeamDrive server, the syncing process was intolerably slow. Even after I upgraded to a cable connection with almost 10 times the throughput, I was still underwhelmed.

However, since I moved my central repository to my own server, the sync time, even over wireless, is negligible. I’m quite happy with the results so far.

The client has crashed a couple of times without obvious consequences (at least no yet). I’m continuing to test this and will update this blog entry with comments.

Setting Up a Network Attached Storage System (NAS)

July 14th, 2011


I’ve been looking for a way that allows me to access my Adobe Photoshop Lightroom 3 catalogs and pictures via my network whether at home or away.

Lightroom is not very friendly in this regard. It won’t allow sharing of catalogs across a network because it uses SQLite. If you could access your catalogs across the network and two (or more users) tried to open the same catalog there would be all kinds of problems.

One solution that has been suggested on the internet is using DropBox (or similar “cloud” based file-sharing services to share the catalog. This solution has two potential problems: 1) storage unit size / throughput issues and 2) again, concurrency and collisions if two or more users attempt to access the catalog at the same time.

The file-sharing service I use (TeamDrive) has a 5 GB storage limitation unless you pay more(most of my catalogs would push me well over the limit). Now that I’ve upgraded my ISP to cable, my upload speed has improved almost 1000%, so throughput probably may not be too much of a problem.

Concurrency would be an issue if I had another person trying to access a catalog at the same I wanted to use it. We’d each make changes and neither of us would be aware of the changes the other was making. And when the catalog was closed, the last one to close it would get his changes saved over the other’s. Not good. However, since I’m a sole proprietor, it does not effect me now.

The storage size limit, though, impacts me, so that is why I’ve opted for a NAS.


I did a fair amount of research and chose the Synology Diskstation DS1511+ for a reliable, albeit, expensive solution. It’s a 5-bay, scalable box, i.e., you can add at least five more bays via a second box called the DX510. I opted to fill each bay with a Western Digital 2 TB Green hard drive and set them up as one Synology Hybrid RAID (SHR). Since all the drives are the same size, using SHR was probably not needed, but if I decide to expand the NAS either with bigger drives or with the DX510, I figured SHR would make that transition easier.

So, after the RAID volume is setup via SHR (with one disk redundancy) I have a total of about 7.15 TB of storage. Details…

I use Gigabit routers and switches to maximize throughput to and from my main workstation and the Diskstation.

However, the Synology NAS operating system does not natively support a “cloud” emulating service like TeamDrive Personal Server

Server Software

TeamDrive provides software application called the Personal Server (TDPS). You can run it on a Windows, Mac OS X, or Linux box. I didn’t want to have it running on my main Mac desktop workstation, so that is one reason why I opted for a NAS. The Diskstation is just a Linux box. However, installing the TDPS was far from straightforward.

First, a command-line interpreter needs to be enabled on the Diskstation. Pretty easy using the embedded DSM software. Once enabled you can access the DiskStations’s shell commands (based on BusyBox) via telnet or SSH. Details…

Despite the fact that TeamDrive provides an Intel distribution of the TDPS, it relies on 32-bit libraries. The Diskstation’s Linux OS is 64-bit without the necessary supporting 32-bit libraries, so those need to be downloaded and installed. TeamDrive has a general NAS solution, but, it doesn’t work for the Synology DiskStations in general, since the OS doesn’t support apt-get to download and install the libraries.

The Synology OS uses ipkg to download and install packages compiled and built for the Diskstation Linux OS, but that has to be enabled, too, via a bootstrap. Details…

Unfortunately, I couldn’t find the libraries to download and install…Email to TeamDrive support to see if they could direct me to the right package…They don’t know how to do this and were very little help. Possibly since they are German company, our communications were not always very clear.

But hey, TeamDrive clients also support (kind of) WebDAV servers and the DiskStation can be a WebDAV server. Eureka!!! But that, too, didn’t seem to work.

Off to do more research on the web…

SparkleShare to the rescue (I was hoping). This is an open source project that allows you to create shareable/auto-updating folders on your own server (like Synology DiskStations) with similar features as TeamDrive. I like open source software.

However, SparkleShare is still in early developmental stages and shows promise, but from my testing it was too unreliable and immature in its development to suit my needs. The another problem right now is the complexity of setting up the software on the server as well as on the client side.

Linux chroot command

My search came full circle back to trying the TeamDrive Personal Server, but this time I came across the Linux ‘chroot’ command. It allow you to “host” another OS within your running OS. It’s almost like a virtual machine.

It was a long process creating the ‘chroot’ 32-bit environment, but it is working and the Personal Server is storing all my catalogs on the NAS with copies on each of the clients.

Client Software

Other than obviously having Lightroom installed, the only other software required is the TeamDrive client. With the client you set up “Spaces” on your local system where your data are stored.

For my Lightroom catalogs, I’ve set up a Space named “GN Photo” with a sub-folder “Catalogs”. The client creates a folder on your local hard drive and the server stores the hosted files within its own repository system. Each catalog that is placed in the local “Space” gets copied to the server and each client that has been invited to share that “Space” gets a copy of the catalog.

The concurrency issue is still present, but the throughput to/from the NAS is much faster than the “cloud” based TeamDrive server. I’m sure I will end up hitting the free storage ceiling that the Personal Server supports (10 GB) and will have to pay the “rent” to increase my storage allowance, but I think that will be just another business expense that will be worth having.

Remote Access

Now, I have to figure out how to access the server from the Internet, i.e., through my router’s firewall. With access to my server via an internet address from I should be able to keep my catalogs up to date even when away from my home office.

I’ve set my router to open the TeamDrive server’s port on the NAS and setup a URL via DynDNS since my ISP dynamically allocates my IP address.

This setup allows the client software to contact my NAS when away from my home office/studio. The only issue then is that when at home the client is still accessing the server via a loopback from my home network to the DynDNS nameserver and back through my ISP. The loopback time seems short, but still noticable when compared with just accessing it via the server’s local IP address.

I’m currently researching setting up my own nameserver on my network to directing local requests to my DynDNS URL to the TeamDrive server without going outside the network.

More to follow…

Synology DiskStation DS1511+

July 12th, 2011

Synology DiskStation DS1511+ Network Attached Storage (NAS)

I picked the DS1511+ for based on Synology’s reputation in the NAS world, the scalability of the DS 1511+, and its Linux based operating system (OS).

I populated the 5 bays with Seagate Barracuda Green 2TB SATA 6Gb/s 64MB Cache 3.5-Inch Internal Bare Drive ST2000DL003 drives and I added 2 GB of RAM with a Kingston ValueRAM 2 GB 800MHz PC2-6400 DDR2 CL5 SODIMM Notebook Memory (KVR800D2S5/2G) DRAM module.

I must say I was originally very disappointed with the DS1511+, since it was DOA, but Amazon was very good and cross shipped another box to me without incident. The new DiskStation booted without problem, but didn’t initially recognize the extra RAM. After a couple of restarts it finally showed that it had 3 GB of RAM.

Soon, I was in “storage Nirvana” with over 7 GB of centralized storage for my network and the ability to run Time Machine backups to the DiskStation on all our Macs. I also moved my main image library to the NAS. This is great having them centrally located and easily accessible from all of my computers.

It’s also been fun exploring the 3rd party apps and other open source projects that will run on the DiskStation. It was a bit of a learning curve to get more familiar with Linux and the DiskStation’s flavor of Linux.

YNP Photo Tour – Day Seven – Our Last Hurrah

February 8th, 2011

A day of changing weather: light snow, scattered sunny patches, snow squalls, partly cloudy, cloudy and blizzard, all in one day.

Our shoot took us to Mammoth Hot Springs’ Upper Terrace. We went around the broad walk in the light snow and mist of the hot springs.

To the loop road in bright sun.

There we found the Orange Mound Spring.

The rest of the day looked pretty hopeless for good light so at 3 pm we took a drive to the Lamar Valley and back. We encountered a few animals, but I think most were hiding from the storm.

YN Photo Tour – Day Six – The Lamar Valley

February 7th, 2011

We got a very early start this morning to make sure we could get to the eastern section of the Lamar/Soda Butte valley before sunrise. It was -8 deg F. when we arrived at a spot on the Soda Butte Creek just west of the Pebble Creek trailhead.

The colors in the sky were muted, but it was still fun to try to get a different composition in this location.

We headed farther along the road toward Silver Gate and turned back around after the Baronette trailhead. We searched for Ice Box Canyon and really didn’t think there was a good way to reach the canyon from the road. At least, it didn’t look that way. I will have to check it out when there’s not so much snow.

We stopped along the Soda Butte Creek in a spot where I shot last year. The snow was so much deeper and the snow piles on the rocks in the creek were much bigger.

We found a flock of photographers at the Lamar Stock Trailhead near the confluence of the Soda Butte Creek and Lamar River. It could only be bighorn sheep.

The expanse of the Lamar Valley from there to the Lamar Canyon was almost devoid of wildlife. We theorized that was due to deep snow in the valley. We stopped at a pullout in the canyon for some very interesting shots of the river and snow covered boulders in the river.

We drove by a larger number of elk all along the road through the Blacktail Deer Plateau and the drive was accented by the sighting of three bull elks just east of the Blacktail Lakes. They showed little fear and one elk actually walked towards us as he browsed for food. I’m not sure I really needed a telephoto lens at the last.

We lunched back in Gardiner and said farewell to Doug as he had to return home to Billings. Claron joined us for a trip down the gravel road that leads south on the western side of the Yellowstone River. The light was very flat and the terrain was not very photogenic, so we return to the motel and took a nap.

The evening light was not much better, but we have been surprised before, so we headed up the road to Jardine. There were a lot of elk and mule deer along the way and two carcasses. Unfortunately, we didn’t see any predators.

The light did improve a bit, so we stopped and tried to capture the feeling.

YNP Photo Tour – Day Five – Transit Day

February 6th, 2011

A Winter Weather Advisory greeted us as well as 4-6” of new snow when we woke at West Yellowstone. We took our time getting ready for a leisurely, slow drive to Bozeman and a stop at f11 photo ( and lunch. The drive was pretty when the sun shown through, but the road was fairly snowy and icy. Once we reached Bozeman the roads were much better.

The drive to Gardiner was very easy with some dramatic lighting as the sun and snow clouds played with the landscape.

We checked in to the Absaroka Lodge and dropped off our luggage before heading off to the Park. We encountered a lot of wildlife. Mostly elk and bison, but one lone bighorn sheep.

The sky continued to be very volatile, but we found a few spots that looked good to shoot. There wasn’t a lot of good foreground elements, however, just lots of snow. We found a herd of bison that we used as an interesting foreground element.

We continued west toward the Lamar Valley, looking for a good spot for a sunset. We finally chose the entrance to Slough Creek to stop, but the light didn’t look like it would cooperate with us. Still, we headed off down the trail with our snowshoes to find that perfect setting.

I went about a half a mile down the trail then turned to the west to find a suitable foreground subject. I took a few shots there, but the color of the sky was quite boring. I picked up my equipment, and, disappointedly started back to the truck. On my way back there was a fairly long climb and with my head down and my breathing labored, I said to myself, “The color of the snow is quite nice.” I then looked to the west and the sky had lit up with a beautiful magenta hue.

I was in a terrible spot as the incline was in a shallow draw that obscured the horizon and the valley. I picked up the pace and made it to the top and found a spot to shoot, but the color was fading quickly. I did get a fairly good shot, though.

We headed back to Gardiner in the twilight and dark meeting several more bison and elk on the road, but without any strikes.

YNP Photo Tour – Day Four – Old Faithful and the Road to West

February 5th, 2011

As Claron says photographers and fisherman have to be eternal optimists.  W e got up early again hoping for a beautiful sunrise. We drove down to Biscuit Basin in a fairly overcast sky.  Oh, well…

The light remained very flat for most of the morning as we slowly hiked the trail from Biscuit Basin back to Old Faithful and the Snow Lodge. The soft, low contrast light made it a little difficult for me since (as you have obviously noticed) I like high contrast scenes. I really had to use my imagination.

After we checked out of the Snow Lodge, our goal was to head towards Gibbon Falls and see if we could find the vantage point where I had captured my favorite photo in the Park:

Along the way we found a couple of interesting scenes at Midway Geyser Basin,

and Tangled Creek.

Once we reached Gibbon Falls, we stopped at the lower pullout and found a very similar spot, but it still seems a little different. The “original” seems to be at a lower angle than this place.

Sunset was not going to be an option, so we decided to head directly back to West Yellowstone (stopping for any thing interesting, of course).

We did see one of the most unusual things (sorry no photos) along the Madison River: a coyote fishing!!! I’ve never heard of that before.

We also saw the big elk buck again along the far shore of the Madison and we tried to snowshoe into the river. It was tough going. The extremely cold and dry weather had sublimated the snow and turned it very granular. It would not support our weight well, even with snowshoes, especially near trees.

I eventually made it to the treeline, but spooked the buck soon after wards. I did try a couple of hand held shots.

We bid farewell to Jake at the hotel. He did a great job for us and we hope to come back to have him take us again.