250000 Page Views


While I was off updating the backend for my site to Jekyll the overall page count passed 250,000. As of this morning 253,663 page views to be reasonably exact. What’s interesting is the recent increase in daily page views. For most of this year I’ve had in the neighborhood of 200 visits per day. In the last two weeks this number has jumped to 300+ visit per day. Posting activity here has been a bit slow recently, so I’m at a bit of loss to explain the sudden up turn in views. Not that I am complaining.


Zanshin.net Refresh


Over the weekend I pushed a new version of zanshin.net out into the wild. I’ve been wanting to redesign my site for a while now and I’m quite pleased with the new leaner look of things. In addition to a new theme I’ve switched from using Octopress to using Jekyll to drive the generation of the site. I’m working on a posting that will detail what it took to revamp the site.

If you find anything amiss please let me know via the email icon over in the socail media icon row in the sidebar.


Use RVM to Fix SSL Certificates


While trying to add a new gem to my development machine I got the following error message.

Unable to download data from https://rubygems.org/ - SSL_connect returned=1 errno=0 state=SSLv3
read server certificate B: certificate verify failed
(https://s3.amazonaws.com/production.s3.rubygems.org/specs.4.8.gz)

A quick Google search lead me to this GitHub thread on the rubygems repository: gem 2.0.3 Unable to download data from https://rubygems.org. Scrolling down through all the comments I eventually discovered a link to Use RVM to Fix SSL Certificates.

The gist of the article is under the Use RVM to Fix SSL Certificates heading part way through the article. It seems that recent versions of RVM have the ability to update SSL certificates.

Run this command to see the current status:

$ rvm osx-ssl-certs status all
Certificates for /usr/local/etc/openssl/cert.pem: Old.

In my case the status was “Old”. Running this command updates the certificates:

$ rvm osx-ssl-certs update all
Updating certificates for /use/local/etc/openssl/cert.pem: Updating certificates in
'/usr/local/etc/openssl/cert.pem'.
Updated.

Rerunning the first command now shows everything up-to-date.

$ rvm osx-ssl-certs status all
Certificates for /usr/local/etc/openssl/cert.pem: Up to date.

Now the gem install command that originally was getting the certificate error works.


Let Him Be Safe in Sleep


Following the death of my father in September we received the many condolences. The poem below was included in one card and I find in particularly moving and meaningful.

SPELL OF SLEEP

Let him be safe in sleep
As leaves folded together
As young birds under wings
As the unopened flower.

Let him be hidden in sleep
As islands under rain,
As mountains within their clouds,
As hills in the mantle of dusk.

Let him be free in sleep
As the flowing tides of the sea,
As the traveling wind on the moor,
As the journeying stars in space.

Let him be upheld in sleep
As a cloud at rest on the air,
As a sea-wrack under the waves
When the flowing tide covers all
And the shells’ delicate lives
Open on the sea-floor.

Let him be healed in sleep
In the quiet waters of the night
In the mirroring pool of dreams
Where memory returns in peace,
Where the troubled spirit grows wise
And the heart is comforted.

by Kathleen Raine


Dad's Eulogy


Eulogy for George King Nichols.

Hello. My name is Mark H. Nichols. I want to thank all of you for being here today to remember my father.

George King Nichols had insatiable curiosity. His interests were wide and varied. He loved nothing more than a new topic to explore and understand. In my lifetime alone he built a sailboat, learned to make wine, studied bookbinding, completed an extensive genealogy of our family, became an outstanding photographer, learned accounting, reupholstered furniture, built furniture, completed the wiring, plumbing, and finish carpentry on an addition to his home, learned more than a little about computers, and continually strove to educate himself.

Dad was born in Wilkes-Barre Pennsylvania on September 4, 1925, and grew up in Falls, a small village on the Susquehanna River about 20 miles north of Scranton-Wilkes-Barre. His father, Basil Nichols was a section foreman for the Lehigh Valley Railroad for nearly 40 years. His mother, Hazel May King was the driving force in his family.

At age 7 he fell out of a tree breaking his right arm at the elbow. As a part of the healing process he was made to carry a pail of wet sand from the house, around the barn and back to the house. Each time he passed behind the barn he’d switch hands, as the sand was heavy. His mother, of course, knew this was going on and would add a lap at the end to make up the difference.

One time as a child he was invited to spend a day on the railroad with his father. At the mid-morning break everyone ate a little from his lunch pail. Dad was starving and was intent on eating everything in his pail. He was dismayed to learn it wasn’t even lunchtime yet.

In 1939 he was introduced to New York City when he and his mother traveled there by train for the Worlds Fair.

After two years of college at Penn State he went to Midshipman’s School and as an Ensign and later 2nd Lieutenant served as the auxiliary fire control officer on the USS Wisconsin. While he was on board, the Wisconsin completed her 2-year trials. I vividly remember him telling me about how the entire 800’ ship shook and vibrated as it moved through the water at more than 30 knots. He said when the ship fired a full broadside of all nine 16-inch .50 caliber rifles; the recoil would shove the ship sideways.

After completing his term of service to the Navy he returned to Penn State to complete his undergraduate degree. He worked as assistant manager and manager for GLF, a farm store chain in New York State for many years. At the outbreak of the Korean conflict his quick thinking showed itself. During WWII there had been a rubber shortage. Remembering that, he called the GLF warehouse and ordered all the tires they had. Borrowing a grain truck from the mill he went and picked them up. He then posted a sign in the window saying that they had tires. He sold them all before the news came out that synthetic rubber was now available and that the war in Korea would not cause a shortage.

He also figured out how to sell the then new power lawn mower. Putting one together at the store on a Saturday morning, he’d load it into the truck and drive around looking for someone using a push reel mower. He would unload the gas mower, pull the cord and start mowing along behind the guy. Once the guy asked for a chance to try my dad would make the sale. After selling several mowers this way his manager asked to come along to see how my dad was selling so many mowers.

Jobs for Standard Oil and American Cyanamid brought him to New York City again, where he stayed until 1962. At All Souls Unitarian Church in Manhattan he met Helen Riley, my mother. They were married on his birthday in 1960. In December of 1961 he took a job with the A. E. Staley Manufacturing Company here in Decatur. After a decade of many jobs he decided it was time to settle down to one job. He would work at Staley’s until his retirement in 1985. While there he was part of a team that patented a dry, compressible starch used in the manufacture of tablet pills. He very successfully managed the dextrose sweetener product. He also selected a new plant site for Staley’s in Lafayette Indiana.

He was busier than ever after retirement. He and my mother traveled extensively for the next decade with a travel trailer. They traveled from Maine to British Columbia, from Texas to California, and everywhere in between. He also began to attend photography seminars and started taking large format black-and-white pictures.

Together my parents traveled to England and Scotland and he was enthralled with the great cathedrals there. He returned by himself expressly to take pictures, but not before practicing long exposure pictures in central Illinois churches. My father wanted to know and understand a subject and was willing to practice in order to learn.

Upon becoming the treasurer for the Unitarian Fellowship he went to the library and checked all their books on accounting to teach himself. He delighted in any endeavor that allowed him to explore a new subset of the Dewey Decimal system.

For many years completing an extensive family genealogy filled his need for research and exploration. He traveled to libraries all over the country and researched hundreds of records and documents. My middle name, Hanford, is a family name. Chris and I are the 13th generation of our family in this country. Francis, Caleb, Abraham, Asa, Daniel, Nathan, Issac Sr., Issac Jr., Hanford, George Hanford, Basil, George, Mark and Christopher.

Photography was his great passion. He pursued it with all the intellectual might he could bring to bear. He would set up still life subjects of flowers or old shoes and take image after image, spending hours standing in the dark developing film and printing pictures from the negatives to learn how to coax the images he wanted from the camera.

After decades of learning the ins and outs of large format photography he plunged head first into digital photography. In the past few weeks he was considering buying a new iPhone 5s solely for the camera and the fact that it would always be in his pocket ready to use. He was signed up for a new photography seminar later this fall that included a discussion on use the iPhone to take pictures and he was curious to know.

His photographs hold special meaning as they give all of us a chance to see the world through his eyes.

For the past 5 years he shared life with Roberta. Together they traveled, went birding, hiked in the woods looking for wild flowers, attended concerts, and enjoyed each other’s company. Their relationship filled him with delight and happiness.

Both my brother Christopher and I were fortunate enough to travel with him as adults. This past spring Chris and Dad went to Washington DC to see the World War Two monument. And in July I went to Upper Peninsula Michigan with him to photograph waterfalls.

Chris and our father traveled to the American Southwest many years ago, including a stop along a very hot and dusty highway for a scenic picture. As Chris related the story to me, Dad sets up the tripod and then the 4x5 camera and its lens and hood, takes light readings, takes a test picture with the Polaroid back, more light readings, and finally the picture. While all this was happening, a car with dust covered windows slowed while the driver held up an instamatic camera and snapped a shot and drove off. Dad’s remark was that one of the two was right.

On a canoe trip I shared with him down the Current River in Missouri when it came time for dinner, he produced a frozen block of stew. We thawed it and had a perfectly delicious meal. He planned ahead and was willing to break convention when it suited him.

He imparted to me a love of books and of knowing - sometimes just for the sake of knowing. While I didn’t always see eye-to-eye with him I greatly valued his advice and council. I will miss his intellect, his humor, and the twinkle in his eye when he was full of mischief. I am honored to have had such a father as George Nichols, and I will be fortunate indeed to have a life as full and complete as his.

After three years of effort in the garage my father completed the building of a Snipe sailboat. On the day of its launching the belly band – a large canvas strap used to hoist it from the trailer to the water — broke, dropping the boat on the concrete. I turned to my Aunt Mary and said, “That’s my jolly Daddy.”

That’s my jolly Daddy.

Good-bye Dad.


George King Nichols


George King Nichols

George King Nichols, September 4, 1925 - September 26, 2013


Walking Through the Next Generation


Part of my current lifestyle hack is walking. We bought a treadmill last year and since early this spring I’ve been walking 5 or 6 days a week on it. I’ve been using Star Trek: The Next Generation episodes as entertainment while I walk. Each episode is 45 minutes long and there are 178 episodes total. At a walking pace of 3 miles per hour I get 2.25 miles in for each episode. I’m almost through season 5 now. By the time I finish the series I’ll have 400 miles accumulated.

Of course then I’ll have to start Deep Space Nine, followed by Voyager and then Enterprise.


How to Delete Your Quarantine Download History


On Mac OS X, Launch Services keeps a list of everything you’ve ever downloaded. Launch services quarantine is what triggers the warning about opening files downloaded from the Internet, consequently it has a list of everything you’ve downloaded.

This command will list all the files in your quarantine list.

sqlite3 ~/Library/Preferences/com.apple.LaunchServices.QuarantineEventsV* 'select LSQuarantineDataURLString from LSQuarantineEvent'

You should see something that ends up looking like this.

Quarantine image

You can also append | sort to the end of the command to sort the output. And if you are confident with SQL you can write more advanced queries to explore your download history.

To clear your history run this command.

sqlite3 ~/Library/Preferences/com.apple.LaunchServices.QuarantineEventsV* 'delete from LSQuarantineEvent'


Various Defaults Write Commands


Here are a few interesting defaults write commands that I have applied to my Apple Macintosh computers.

##Finder settings

$ defaults write com.apple.finder AppleShowAllFiles TRUE - show hidden files

This command turns on the display of hidden files in the Finder. This is particularly useful when dealing with so called “dotfiles” or configuration files that are normally hidden.

$ defaults write com.apple.finder _FXShowPosixPathInTitle -bool YES 

This setting causes the full path of the currently displayed directory to be shown in the title bar of the Finder window.

##iTunes settings

$ defaults write com.apple.iTunes allow-half-stars -bool TRUE

With this setting enabled you can click on the rating for a track in iTunes and slide until you have a 1/2 rating.

##Safari settings

$ defaults write com.apple.Safari IncludeDebugMenu 1

Turns the Debug menu on.

$ defaults write com.apple.Safari TargetedClicksCreateTabs -bool TRUE

Enabling this option forces all links that have a target to open in a new tab rather than in a new window.


Recursively Find and Replace a String in All Files


Using an editor it is very easy to find and replace all occurrences of a string within the file you are editing. Some editors even make it relatively easy to find and replace a string in all files within a project or set of files. However when the number of files grows to dozens or hundreds or even thousands, using an editor may not be the most efficient solution.

It is very simple to accomplish the same find and replace on the command line using the Unix find command coupled with the -exec option.

$ cd /path/to/directory/containing/files
$ find . -type f -exec perl -pi -e 's/source/target/g' {} \;

A variation on this command would be

$ find . -type f -exec sed -i 's/source/target/g' {} \;

You could even use xargs for the command.

$ find . -type f | xargs perl -pi -e 's/source/target/g'

If you want to see a list of the files containing either the source or target string, you can use this find command.

$ find . -exec grep -l "source" {} \;

Read the friendly man page for find and grep for more information.