What does Google Photos mean by “essentially look the same”?

I’ve got this plan to consolidate all my random photos and videos to one of the many online photo storage options.  A little while ago, I thought Amazon Cloud Photos was the answer.  As part of my prime membership I was getting unlimited storage.  However, I have a number of videos mixed in with my photos and they quickly filled up my 5G quota.

I’ve been a long time Google Apps user.  E-mail, Drive, and Photo share a common 15G quota.  I was up to 82% this week.  I deleted over 14,000 e-mails, but barely made a dent in the storage.  (different story)

This year, Google Photos announced an option to store unlimited high resolution photos and videos.  This sounded like the solution to my never ending supply of phone generated media.  I quickly converted and started automatically backing up my phone pictures to the could.

I had 48G of storage in Dropbox thanks to a promotion with Samsung. That expired last year, but Dropbox has allowed me to keep the files there.  I just can’t update anything.  My goal has been to migrate these photos somewhere else without loosing quality.

Google Photos seemed like an option, but I had questions about the high resolution quality.  Google Photos FAQ explains:

  • If the camera takes photos with 16 megapixels (MP) resolution or lower, most stored photos will essentially look the same using either storage option.

The “essentially look the same” concerned me.  So I took some of the pictures from my Dropbox and uploaded them to Google Photos.  Then I downloaded them locally and compared the Google Photo with the original.  Looking at each photo, they look the same.  The biggest difference is the 708KB from Google versus 1.8MB original.

I pulled up Beyond Compare (an excellent tool with so many uses). It has several options to visually show differences between pictures. I used the option that “detects pixel differences greater than a configurable tolerance.”


Difference in Google Photo High Res and Original in Beyond Compare

Even in this view, I don’t see much difference between the pictures.  However, it is clear that enough of a difference exists that you can see the outline of the train and track in the difference picture.

I’ll still use Google Photos as a backup option. The quality is great and certainly worth the free price.  However, for archive purposes, I’ll find something that maintains the full original.  Actually I went back and upload the same pictures from Dropbox into Amazon Cloud Photo.  Downloading those pictures gave the exact same originals.  Looks like I will be going back to Amazon Cloud Photos at least for the pictures.


I should not have not been surprised

This morning a friend of mine passed away.  He was born with medical challenges such that I don’t know that anyone thought he would live into his forties, but God sustained him.  Recently he learned that complications of his medical condition had progressed to where he had days to months to live.  We knew it was close, but week after week he was still at church.  So this morning, it really came as a shock to learn that he had passed away. Should I have been surprised?  No. God had provided warning after warning of what was coming.  
I wonder how many people (including myself) will have the same reaction when Jesus Christ returns.  He said he would return, but how many of us are just waiting to see Him next Sunday? No one knows the day nor the hour that Jesus will return.  He will come like a thief in the night at an hour we do not expect.  Fortunately,  my friend knew Jesus Christ as his personal savior. He was ready and now he has a new body in Christ.  I will miss him, but I am thankful to know that I will get to see him again.
If you don’t know Jesus Christ as your savior and have not trusted Him for the forgiveness of your sins, I pray that you would not wait. Jesus said he would come, but He has been gracious to give us time so that no one would miss out.

2 Peter 3:9 ESV
The Lord is not slow to fulfill his promise as some count slowness, but is patient toward you, not wishing that any should perish, but that all should reach repentance.

Someday, He will return. He even tells us the signs to look for in Matthew 24. I just pray that we all would be ready.

Rebirth again

It has been more than 5 years since my last post.  Much has happened in that time.  I spent an amazing 4 years at Sensus and learned a lot.  Then I joined CA Technologies and have spent a year here.  CA Technologies is a very social company and has reminded me of the importance of sharing.  So here I am back to my blog.   
I have updated my tag line to continuous learning, continuous sharing.  In my job, I implement continuous builds and continuous deployments of software. I am constantly looking for ways to improve the flow of value to the customer. 
In the process, I learn a lot and the goal of this blog is to share what I learn.  While some entries will be related to my technical industry, others will be related to life in general.  We all should learn something everyday.  Why not share what we can?


God is good! He has opened doors for a great opportunity for software development at Sensus. As I transition into the new position, I thought I would summarize a few of the lessons learned over the past 5 months of looking for a job. Thus the update in my subtitle. These reflections may not come very quickly, since I have lots to do in learning new technology.

Avadon Classes

Well I just finished another Avadon Group class, Find Your Perfect Career. This was the third class I’ve taken in the Career Latticing Series, but it is normally the first one to take. It helped me explore my personality type, my career preferences, my motivations and values. Finally the class looked at our skills that we want to use in our perfect career. When I get a chance I’ll post a summary about myself.

I mentioned that this was the third Avadon class I have taken. Back in May I took “Advance You Career” and “Communicate and Lead.” Both courses enhanced my career search and provided great opportunities to network. The “Advance Your Career” course helped organize my job search, create goals and follow through to sell myself to the right opportunity. The “Communicate and Lead” class explored styles of communication and how different personality types communicate differently. By understanding how people expect to be communicated with, you can adjust your communication to be best understood.

I was fortunate to have Bernd Dörflein as my facilitator for all three classes. I am sure other instructors are also great, but Bernd has wide range of background that allows him to relate personally to many in the class.

Importance of Install

I ran across this comment today on the Acresso web site  

“According to IBM, 28% of application failures are related to installation and configuration errors.  These errors, often caused by homegrown or out-of-date setups, can significantly increase your support costs while frustrating customers.”

I have spent over 5 years improving the installation and configuration experience for IBM products.  So it is reassuring to see the importance of my previous job.  However it is interesting how many companies don’t invest in the install until customers complain.  I have always seen this as the first impression a customer gets and it better be good.  

Clearly some systems are complex.  They require multiple products to work together and install into a seemless package.  Large business users also want to customize the final configuration to integrate with other parts of their data center.  So options become numerous and some environments take weeks to install.  However that does not excuse missing some of the simplest concepts.  

  • Minimize options – Don’t prompt the user for information that can be detected by the installer.  If you need to write code to determine where some prerequiste is installed, then do it.  If the product only supports a detected value, then display the value in a non editable field.  You don’t want a user entering bad data.  
  • Prefill options – When a reasonable default is known, then prefill fields.  This allows the user to review the default and continue quickly.  However the data needs to be smart.   Use system information to get intelligent defaults.  For example, if asking for a hostname, then use code to detect the hostname.  When prefilling options, avoid hard coded defaults.  It looks bad to have an installer running on Linux default the install location to C:\Program Files\MyProduct.  
  • Validate options – For any user supplied input (and detected input), validate the data to ensure it matches what is expected.  If the user is entering a username and password, verify that it can log in and has the necessary permission to do the appropriate tasks.  The earlier the validation is done, the better.  Users do not like when an install fails at 80% after 30 mins of waiting.  


Well, I got focused enough to finish my classes in PHP and Ruby on Rails.  Next on the list is J2EE, but I am gathering new things to learn as I search for a job.  So I’ll need to balance those too.