Super efficient in-the-field SLR photography workflow

You are probably reading this because you take multiple photos of each scene and situation to make sure at least one will turn out sharp and well exposed…. Well I do!

Modern cameras have huge memory cards; 128GB isn’t uncommon. While this is very convenient it also creates massive amount of unnecessary data.

You end up with hundreds of photos (if not thousands) while “in the field” or any other situation without access to a computer to offload the photos.

This could be while on a holiday, on a multi-day shoot or if you simply don’t want to transfer all those photos only to delete them shortly afterwards.

100% zoom is your friend. Use it in combination with easy scrolling to weed out any obvious duds. Look for sharp eyes, open eyes, no unwanted motion blur, overcropping (a missing foot or arm), good composition and faces actually facing the camera.

Lock the good photos to narrow down to 1-2 photos for each subject/scene.

Delete all” to quickly weed out the unwanted shots. This will delete all unprotected photos leaving you with only the good ones. I aim to delete half of the photos in my first pass. I sometimes do a second pass to delete another half.

Do not use the format function as this will also delete the protected photos!

One downside with this workflow is the larger battery drain since the screen is on for a long period of time.

Well done! Now you only have a quarter of photos to transfer to your computer and further work on in Lightroom!

Quik using Google photos and resolving app crashes

I love the GoPro Quik mobile application to create video and photo compilations from trips and events.
First I tried downloading all the items from Google Photos to a computer but the desktop version of Quik is nothing like the mobile app so don’t even try it. I then uploaded all the items to the mobile but Quik has a display bug and only showed 40 or so items from the same day and I wasn’t able to select all the required items.
In the end I was able to figure out a workflow that makes it possible to use older and shared photos that aren’t on your device. The functionality is a bit buggy but I was able to find workarounds for everything.
1. Create an album with the photos and videos you would like to use for your compilation. Curate and select just the items you would like to be in your Quik compilation.
2. Optional step: The “+ create a new album” option will not be available if you are using photos added by others. Instead you will want to use the Share button so that a link to your new album is created (make sure to save the link!). The album is not visible in your albums so use the link in a browser and this should open the album in your Google Photos app. Edit the album and give it a name. Also select to “show in albums” to make it visible in your Google Photos albums.
3. Open the Quik app and select to use Google Photos. Your new album should be listed. You may get errors such as “Google Photos is not available”. If you do, close the Quik app and try again… and again.
4. Select all photos by ticking all the days. Since you have already curated your items you can just select everything.
5. Hit the blue arrow and Quik will start downloading everything to your device.
6. The Quik app will then crash continuously when it tries to edit the compilation.
7. Delete the project (Quik will crash again), start a new project and select all items again from the Google Photos album. This time the download will be almost instant and editing of the compilation will work.
8. Once done, export and upload your compilation back to Google Photos so that you can easily share it with friends and also so that you will never lose it if/when you lose your phone
Other tips for Quick:
Select “high quality” to produce 1080p videos that look great on a TV.
Crop tall videos to include the important areas, for example people’s faces.
Use the focus point option to select what to show in photos
Duplicate any tall photos and use different focal points to show everything in tall photos.
If you have many items in your compilation then modify the duration of the compilation to the maximum of your selected music to have more time on each item.
If a photo that you like just flashes by you can change the duration to longer to see more of the photo (or to shorter if you want to see less of it).
Trim videos and select “manual” to choose what parts of a video you want included. Split the video if you want to show multiple bits from it.
Using “Highlights” can work better on longer action videos
You can mute your video sound if it doesn’t mix well with your selected music
Turn Outro off to remove the Quik logo at the end of your compilation (it gets old quickly).

Enabling new Google photo face and people search in UK, Europe, Germany

gp_logo.pngGoogle Photos was re-launched recently during a slick presentation at Google I/O 2015.
Besides the unlimited storage for 16MP photos and 1080p videos what caught my interest the most was the demo of the face and people search.
The new product was not only able associate photos of the same person, it was also able to do it across a large age span of the person.
google_photos_people_face_searchSome reported examples are “it associated photos of my niece starting with her current age of 6 years and all the way back to 3 months old” and “it was able to discern our twin daughters”.
So imagine my disappointment after upgrading to this latest Google Photos version, backing up my entire photo catalog (30,000+ 16MP photos) and not being able to find the face/people search.
I suspected some European or UK privacy laws being the root cause why Google hasn’t enabled it in the UK and a few searches later my suspicion was confirmed.
Since it seemed to be geographically restricted I was curious to see what would happen if I tried the application from another location.
Virtual Private Networks, a.k.a. VPN, are very handy to make your internet traffic to appear from a different location than you are.
All your traffic is tunneled to an exit point of your choosing, for example a data center in New York City. To Google Photos service you then seem to be located in New York City, USA.
tunnelbear.jpgOne such easy to use VPN service for android is Tunnelbear but there are many others. Tunnelbear offers 500 MB of free traffic and you don’t need much more than 20MB to get this set-up.
It worked, I got face/people search in my Goole Photos android app and this is how I did it:
In summary you want to delete the Google Photos application data and re-start the application while being connected to the VPN. This will trick Google Photos into believing you are located in US and the feature will be switched on.
Once the feature is switched on you don’t have to re-connect to the VPN; the feature will remain on!
Detailed instructions: delete the data from Google Photos, turn on airplane mode, turn off location services, connect via Tunnelbear, start up Google photos, go through the introductory 4 steps, go into settings and turn on “Group Similar Faces”. Success, you now have your photos organised by many, many different people present in them.
The face categorisation appeared as soon as I connected via VPN. There was no initial time for google to build up a face database for my photos.
This really seems to suggest that all photos added to Google Photos are categorised by face. The search feature is just hidden in certain geographical locations to comply with local laws.
Is this really in the spirit of the law or just cheat? You decide!

Securing your bitcoins in offline storage

There are various levels of security that you can apply to your bitcoins. A specific level of security should be applied depending on the size of the stash.
A mobile or online wallet is often sufficient for smaller sums that you intend to be using for online trading or online purchases. I would still recommend enabling 2 factor authentication for any online wallets and avoiding rooting or jailbreaking your mobile when using mobile wallet.
However the ultimate security for your bitcoins is a wallet that is completely disconnected from the internet and as such unreachable by hackers.
Such wallets are commonly called offline wallets or cold storage and some concrete examples are paper wallets, other physical media, USB hard drives and upcoming dedicated hardware devices.
I’d like to talk about encrypted paper wallets because they appeal to me the most as a cold storage due to their simplicity and the low cost of creating them.
The common theme when creating offline wallets is that any device used to create them has to be offline and the wallet itself can never be connected to an online device until you plan to spend the bitcoins it contains.
An offline wallet will prevent any money to be spent but you are still able to send bitcoins to it and to view the balance easily. Just import the public key into your favourite wallet client.
(Remember that a bitcoin wallet consists of two parts: the public key is like an account number that you give out for people to send money to and you can also use to check the balance. The private key is like a PIN code that is used to spend the bitcoins. If anyone finds your private key your wallet will be emptied and this is irreversible).
When combined with the very strong encryption standard BIP0038, the paper wallet can even be publicly shared without risk of being compromised (as long as the password is kept secret). They can also be packed up online!
What you need: a live linux cd, source code for, one or more usb drives, a printer.

  • Download the code to your freshly formatted USB stick
  • Download Tails linux ISO and burn it to a DVD.
  • Boot up your computer using the DVD and load up html from the USB stick.
  • Generate one or more encrypted paper wallets and scan the public address so that you can send coins to it later.
  • Save the paper wallets as PDF to the USB stick(s)
  • Print multiple copies of the paper wallets or write down the private key manually using pen/paper.
  • You are done

If you find creating and booting from the DVD complicated you can use the online versions of but be aware that your are then exposed to any man-in-the-middle attacks or if your computer has been compromised an attacker could get hold of all your paper wallets.
Additional steps depend on the sum you are planning to store. Put the paper wallets in waterproof bags. Leave a copy with a friend you can trust. Consider storing a copy in a safe. Split up your stash between multiple wallets to lower the risk and to allow for spending in increments.
A recent version of the Android mobile wallet Mycelium has added import of BIP0038 encrypted private keys. This makes it very easy to scan the encrypted wallet and start spending the bitcoins on it.

How do I get Bitcoins in the UK

bitcoinBitCoin is taking the world with storm and with it the price of BitCoin is skyrocketing.
In the last 6 months there have been a flood of new and innovative services that use BitCoin. Enough to justify a long term life for bitcoin and to justify an ever increasing price due to a physical limit on how many bitcoins that can be created.
ATMs that convert cash to bitcoins, online and high street shops that accept bitcoins as payments, high street brokers that convert money to BTC and back, payment gateways and even Subway that accept bitcoins and are just some of the examples.
You may have been interested in getting in on the action; be it for investment purposes or just to experiment.
Unfortunately BitCoin (and all crypto-currencies in general) is a complicated concept and the barrier to entry is quite high.
You have to consider how to get your money, be it USD or GBP or EUR, across to a person that is willing to part with their bitcoins (BTC).
You also have to consider security: how to avoid losing your cash, how to transfer the bitcoins to yourself and how to keep your bitcoins safe.
Bitcoin exchanges are a place where sellers meet buyers and the bitcoin exchange provides a service to match these people up. There are several established bitcoin exchanges but instead of discussing them all I’d like to mention the one that has allowed me to instantly purchase bitcoins (and litecoins, LTC) in the UK on several occasions. is using UK bank transfers, also known as Faster Payments.
This allows for near instant and free transfers between buyers and sellers. I cannot stress enough how much this facilitates bitcoin trading in the UK.
The downside is that the purchase prices on Bitbargain are a bit higher than on an exchange so this favours sellers but not buyers. The markup seems to be 8-10%. However if you want to get in on Bitcoins quickly then this is still the best option.
Once you have your bitcoins, you have to consider security. Bitbargain charge a small fee to leave your bitcoins with them which is an incentive to move them away. This is a smart move because exchanges with a lot of bitcoins have been target of hackers that have stolen millions worth of bitcoins.
Bitcoin paper WalletTo purchase bitcoins and tucking them away my preferred method is a “paper wallet”. The concept is to print out the cryptographic secret that secures your bitcoins and store the physical paper in a safe place (or multiple places).
You can still use you your wallets public address to send bitcoins to but you (nor anybody else) is able to spend those bitcoins without having access to the printed secret.
To keep smaller amounts I can recommend a mobile bitcoin wallet, for example Bitcoin Wallet for android devices and Blockchain for iOS devices. Keep it to small amounts only!
Good luck, have fun and please avoid purchasing at the top of a cycle!

Clean install of OSX Lion on your Mac but keeping documents and applications

lion_logo.png My Macbook Pro ground to a halt after 6 months of heavy usage.
It started to freeze up frequently preventing it to load anything from the hard drive. Things that already were in memory continued working but accessing anything from the hard drive or unlocking the screen saver took up to 2 minutes. Not even “ls -l” worked.
A quick visit to the Genius Bar and after running many hardware diagnostics test it was diagnosed as a software error. They weren’t sure whether it was a problem just with the user account or whether it was in the system so the recommendation was to reinstall OSX.
Since OS X Lion (10.7) was out I thought I might as well install that rather then re-installing Snow Leopard (10.6).
Call me old fashioned but I don’t trust OS installations over older OS installations. I prefer fresh installs from removable media so I starting looking for a method to install OS X Lion from fresh but it wasn’t as easy as it should be!
By installing the OS X Lion on a new partition on the hard drive I was able to keep all my documents and application and move them across when needed.
What you need:
OS X Lion installer (purchased from Apple store)
An empty recordable DVD (it may be possible to install Lion from USB but I haven’t tried that)
First you need to create a start-up DVD from the OS X Lion installer. The trick is to find “InstallESD.dmg” inside the Lion installer. You can navigate items inside the installer by choosing “Show package contents”.
WARNING: The OS X Lion installer is deleted after you have installed Lion so make a back-up copy of it for future use!

Insert the blank DVD and choose to start Disc utility.
lion disc utility
Drag InstallESD.dmg to left-hand side of the Disc Utility, select the newly added InstallESD.dmg and hit Burn (and Burn again). It will take around 10 minutes to burn and verify the DVD.
Time to restart your Mac. Hold down Alt (Option) when booting to be presented with what media to boot from. The DVD should be visible after a short spin-up of the drive.
You can choose to install OS X Lion over your older version but this will delete all your files and applications. Instead you may want to consider keeping your old installation and install Lion onto a new partition.
Once booted into the Lion installer, don’t click continue but rather select Disc Utility from the top bar. Shrink your old partition to minimum possible, create a new partition in the newly created space and continue with the OS X Lion installation into that partition.
The installtion takes a good 30 minutes but once you have re-started and logged into Lion, your old partition is visible and you can copy items from it.
If you were using File Vault to encrypt your documents you have to navigate to /Users/<user name>, show content, double click on “sparsebundle”.
You will be asked for your original password and it will be mounted as a new image. You now have access to your old documents and application settings.
Most application you can simply drag from /Applications on the old partition but first copy the application settings (bookmarks, settings, accounts, passwords and etc). There are two places where the old application settings live:
<user home>/Library/Application Support/<application name>
<user home>/.<application name>
You need to show hidden files for this. You can enable hidden files by entering the following in a terminal window:
defaults write AppleShowAllFiles YES
Good luck and enjoy a clean install of OS X Lion (10.7)

JSR 303: Combining custom and standard validators

We are using the JSR 303 Bean validation API (Hibernate validator as the implementation) on a project and recently faced a problem.
Whenever we were using our own custom validators in combination with standard validators like NotNull and NotEmpty, the standard validators seemed to be ignored.
The result was that we were getting NullPointerExceptions in our custom validators and sometimes we were getting duplicate error messages for the same invalid field.
I haven’t poured over all of the JSR 303 documentation in detail so maybe I’ve missed a recommended best practice but the following code in the default NotBlankValidator gave me a hint.

public boolean isValid(String s,
ConstraintValidatorContext constraintValidatorContext) {
if ( s == null ) {
return true;

Why would you ever return true (i.e. valid) for an input that is null? That doesn’t make sense until you realise that validation is a *combination* of all constraints.
This means that your validator should only return false for your specific test. If it fails for a chained validation, for example if input is null, it should return true and rely on the NotNull validation to report that error.
You still have to guard for null and empty inputs but return true if they occur rather then returning false.
Hide any required basic validations inside your custom constraint annotation. For example NotBlank does that:

public @interface NotBlank {

Bali with children

children in baliWe just completed what I believe to be our first adventure with our kids; a trip to Bali, Indonesia.
Our children are 4 and 3 years old and we were contemplating whether they would be able to handle the 17+ hours long *day* flight and the culture shock.
I’m glad to report that it all went spectacularly well and our children have memories for a life time.
We started out in Ubud which is a wonderful place busting with culture, music and art craft.
While the Mrs enjoyed browsing the markets and shops the kids were much more keen on excursions. Luckily there are a lot of activities in and around Ubud that are just a short drive away.
monkey forestMonkey Forest is a little pathway in the local forest which is filled with curious and cheeky monkeys.
You can buy a bunch of bananas by the entrance to give to the monkeys but watch out, once they get a whiff of the fact that you are carrying their favourite dish, they will not leave you alone until they have robbed them all.
Out of 50+ friendly monkeys there was one that hissed at our daughter but we just moved on swiftly and didn’t have any further problems.
The elephant safari park is just an hour away and while outrageously expensive ($100 for the four of us) the kids loved the elephant ride and feeding the elephants.
To be honest you can give the 20 minute elephant ride a miss and just enjoy the elephant park.
Favourite restaurant: Cafe Lotus and Wayan Cafe
Favourite stay: Kori Ubud
After a few hectic days in Ubud we decided to relax at the beach for the rest of the holiday.
Out of all the various beach locations in Bali like Kuta, Seminyak, Legian, Nusa Dua and Sanur we opted for Sanur. Crowded with retired ex-pats and families with young children, Sanur seemed like the perfect spot.
bali bird parkHalf-way between Ubud and Sanur is the lovely bird park. Walk around the aviary and see that many, many colorful birds up and close.
The kids loved discovering all the different bird species (from tiny to large) but the highlight was when 3 birds were placed on each of them. Great photos in the park btw!
Sanur is a very laid back town with the usual tourist shops, bars and restaurants but no chaos (like in Kuta). You get the occasional guy on the street calling “taxi?” at you but nothing intense.
We had such a great time in Ubud doing daily excursion we decided to continue with the theme.
First day out was a busy day with Uluwatu temple, white beach and water sports at Nusa Dua, Dreamland Beach and food at Jimbaran (no sunset).
Just a sad word about Dreamland Beach; it is totally wrecked. Car parks, sewage like water, hordes of “local” tourists and an abandoned concrete construction. Give it a miss!
tanah lotGoing north turned out to be a much better direction. More rice fields, temples like Tanah Lot and Batukaru, lake Bedugul and hot springs. All in all some of the best sights Bali has to offer.
Waterbom is a water park in Kuta. Again it is a very expensive experience compared to other less touristy activities in Bali but it is a wonderful break in pace for the kids.
We spent a whole day swimming, running around and sliding down various slides. The kids loved it and it’s needless to say they fell asleep early and hard.
Favourite place: Tanah Lot
Favourite stay: Tandjung Sari
Favourite restaurant: Tandjung Sari
temple at lake bedugulIn summary Bali turned out to be a great beach and sightseeing holiday with the children. The combination of Balinese culture, nature, people and great value was just unbeatable.
PS Wayan, Made, Nyoman and Ketut are Balinese names where Wayan is the first born, Made the second and so on. If you want to get some laughs and instant acceptance from local people call your kids Wayan and Made and watch their sweet reactions.

Logitech Squeezebox receiver with flashing red light

squeezebox_red.jpgGot a Logitech squeezebox receiver the other day and after plugging it in to my switch, I assumed it would just acquire an IP (using DHCP) and just start working.
After 2 hours of changing network cables, restarting various network devices and a little bit of cursing I retreated to Google for some help.
Turns out that the Squeezebox receiver is not to be used on its own. It is to be used together with a controller and the controller is required for initial configuration.
The only reason Squeezebox receivers are sold on their own is for people that want additional receivers for their rooms.
In my case I knew there are mobile applications that can control the music playing or that one can even connect to the web interface of the Squeezebox Server.
The controller is twice the price of a receiver and being the cheapskate I am I didn’t want to fork out extra money just to configure my receiver.
Two options:
1) Borrow a controller from a friend
2) Use Net::UDAP to find your SqueezeBox receiver on the network and to configure it
Net::UDAP is a Perl module so if you are not familiar with Perl programming just download the following executable:
UDAP command shell
For a wired configuration (not WiFi), you can use the below command sequence:

conf 1
set interface=1

Followed by:

conf 1
set squeezecenter_address=[ip address of your computer running squeeze server]

For a wireless configuration use instead:

conf 1
set interface=0 lan_ip_mode=0 lan_gateway= lan_network_address= lan_subnet_mask= primary_dns= wireless_SSID=3Com wireless_wep_on=1 wireless_keylen=1 wireless_mode=0 wireless_region_id=14 wireless_wep_key_0=[WEP key] wireless_channel=11 squeezecenter_address=[ip address of your computer running squeeze server]

You will obviously have to be connected to the receiver via a network cable to be able to configure it.
Type help or fields to list all device fields along with some documentation of the values they can take.
Check out the Net::UDP project page for more information and don’t forget to donate if this solves your problem!

Batalha Animal – Do you love animals?

foto_ines_3.jpgDo you love animals and are you thinking about a different way to make a difference?
Do you feel disgusted, angry and heartbroken to see a suffering animal?
Would you rather want to make a difference and truly help out?
This is a remarkable story of an ordinary working mother that all by herself changed the fate of over 150 dogs left to die. This during 16 years of love, dedication and hard work.
If nothing else, it will at least warm your heart to hear it.
Very different from the reality in the UK, abandoned animals in the streets of Sao Paulo, Brazil are numberless. They are living in the most deprived conditions and are suffering from chronic (but often preventable) diseases and starvation.
Most of the abandoned animals are at first perfectly healthy but it is just a matter of time before they are victims of cruelty, disease or fatal accidents in the mad traffic.
For these unfortunate (hairy) souls, there is little to nothing available in the governmental system that could help them. Instead they rely solely on the pity of animal loving individuals.
That is a bit how Ines Sanches, an ordinary working mother of 55 years, started on her path of helping suffering animals in the city.
Living in a busy part of Sao Paulo, she was walking home one evening when a shrieking sound made her head turn: a passing car had hit a young dog with full force. She rushed to the scene, only to hear from the dog owner himself that he had no means to help the poor animal, and that he was going to leave it there to die.
Appalled by the cruelty and disregard, Ines did not think clearly and took the injured dog home. This despite her own busy life full of problems and lack of funds and space.
She named the badly injured dog Madona and against all odds, with time and proper care, Madona made a remarkable recovery. Little did Ines know, that that event would change her life forever.
Madona turned out to be a fantastic companion to all the family. Lifting up the spirits of the household when they most needed it. She turned their lives around with her gaiety, contentment and recognition that in a way, Ines had saved her life.
From that moment on, Ines realized that she simply could not turn her back on the agony of the animals abandoned or injured in the streets of Sao Paulo and despite her own difficulties, she decided to do something about it.
Ines started by taking the suffering animals into her own house, nurturing them, caring for their wounds and diseases and then putting them up for adoption.
Quickly Ines realised that she needed a bigger site to accommodate the dogs while they were getting well enough to be ready for adoption.
16 years has now elapsed since Madona had been left to die on the road and today Ines and a team of volunteers care for 150 dogs collected from the streets of the city in a purposed build kennel, funded solely by the charity of friends, family and passionate dog lovers.
Although this may seem basic compared to the UK initiatives such as the Dog’s Trust, Battersea Dogs Home and the RSPCA, I can’t stress enough how major this is for the cruel reality of Brazil.
Ines’ initiative stands out for the longevity and professionalism. Her dedication to the project has overcome many difficulties in the last decade and despite the total lack of sustainable funding by the government, she has managed to secure a loving home and a much brighter future for the animals she has rescued.
As a fellow Brazilian dog lover, it makes me terribly proud to see what Ines has build up over the years. Facing the related financial challenges is very unique.
I know that many of you already have a continuous commitment to various charities which is maybe why I dare to ask if you can honour this amazing initiative with a donation. After all we are talking about changing the dark fate of suffering animals in one of the most violent and ruthless towns in South America (yes, my home town).
David has created this post to enable non-Brazilian residents to make a donation via paypal. We will collect all donations received and forward them to the Batalha Animal latest appeal (translated on the page) with a note from all of you.

If you have donated then thank you so much for helping, please feel free to share the story with other dog lovers you may know. We truly appreciate it!
If you are not able to donate than thank you for reading this far and please mention a word about Batalha Animal to your friends next time you have the chance.
Batalha Animal cares today for 150 dogs in a beautiful site with 5000 square meters. Batalha Animal has a live website with photos where they keep the interested parties and patrons informed on the use of the resources and on the development of the pets they care for.
For more info, lots of pictures, news and developments, here is the link to their local website: