Friday, October 25 2019

photos and debugging

Dear Journal,

Good morning everyone! And happy Friday. This morning with my morning coffee I went on a little photo editing adventure. When my phone alarm went off this morning, there was a little sticky note attached to it telling me to check slack. I sleepily unlocked my phone and saw a message from my wife at 3:42 AM saying she had some trouble getting the photos off of her new camera and exporting them to the right format. I trudged downstairs in my robe, let the dogs out, and poured some coffee. As I carefully manipulated her new camera under the light of my phone's flashlight, I couldn't help but admire how sturdy and well-made it is. Finding the SD card bay was a much more pleasant experience than it was on the GOPRO we used to use for this.

I popped open the slot - empty. Picking my phone up off the window sill for light, I searched the computer work station for the SD card. It was lying next to the Intel NUC on the desk, plugged into an SD card adapter. "Ah, evidence of a struggle… with technology," I muttered to myself, doing the best impression of a crime scene investigator I could.

I removed the micro SD card from the SD card adapter. It felt so light at the end of my finger, like a little piece of cilantro. As a side note, I'm not a fan with how everything is switching over to the "micro" version of what it was already doing. Micro USB. Micro HDMI. Micro SD. Enough already.

I slid the tiny card delicately into the side of the NUC. I could feel the spring retract, then emit a very satisfying ka-KLINK. The file manager program detected the new device and opened on the desktop. It took some clicking around to find where the pictures were actually stored. I was especially puzzled to still see a folder called "100GOPRO". Either we forgot to wipe the SD card before using it in her new camera, or Canon's camera is smart enough to leave everything alone. Inside were over 500 CR2 files - the ones that were giving Marissa trouble last night. I copied all the files to the desktop. While waiting, I took a moment to appreciate how defeated she must have felt last night. When I went to bed, she told me she was hoping to get all the photos of her new paintings on her website before morning. I can imagine the frustration and doubt, wondering if the camera was set up correctly and if she would have to spend time taking pictures all over again.

I went to the internet, searching for "converting CR2 on linux". The first result was from stack exchange. There was a program called "ufraw-batch" that could do the file conversion right at the terminal. I ran the program. It slurped in the first photo and hung for about two minutes. Suddenly ufraw-batch didn't feel like a silver bullet anymore. The program crashed, spitting the dreaded words "segmentation fault" to the terminal before dying. Well that's not a good sign. I punched "ufraw-batch segmen" into the search bar. Google happily supplied the rest - "segmentation fault". There was an open bug filed for ufraw-batch on ubuntu 18.04 titled "ufraw-batch crashes with segmentation fault". I scrolled to the bottom, scanning the comments for workarounds or solutions. Nothing. Back to google.

I found the original stack exchange post that lead me to the program. In the comments, somebody noted the fatal bug in Ubuntu - that would have saved me some time. There was another suggestion underneath to use a program called "mogrify". Mysteriously, it was already installed on our computer. Had Marissa tried this before? Was she secretly a computer genius? Ah, I see now, it's embedded in the standard "imagemagick" program. That's convenient, but not nearly as exciting as Marissa having a secret expertise.

I ran the program in the terminal. It processed the files quickly, spitting out PNG files right next to the original CR2s. I double clicked one of them while the program was working. The lighting looked better - it was no longer dark and shadowy like the CR2s, but this version was almost too white. It looked like it was washed out. I knew that would never do.

I cancelled the program and did some quick reading about CR2s. I learned that for one, it was called "cannon raw format". I broadened my search, looking for raw image editors for linux. My hope was that if I couldn't export the photos to something, at least I could kick the tires on a new editing program and let Marissa fight it out all morning. Not ideal, but the photos would still make it to her website. I stumbled upon "darktable".

I flipped over to a terminal and installed it. It opened right away, but instead of the typical gross, practical looking linux software it actually looked pretty sexy. Nice font, jet black buttons, and very intuitive. Scanning over the options, I imported the CR2s. I was pleased to see the thumbnails were rendered in natural color. It must know what it's doing.

As I was searching for some basic editing functions, I came across an export menu. "Export to JPEG." That looks good. A few clicks later, and light table was cranking through the photos, dumping them into a new folder I created. I double clicked the first. It was a picture of Ollie, looking wise and graceful, in full light and natural color. Success! I jumped in the shower while they finished converting.

This morning while writing this, I'm uploading all the photos to Marissa's Google account. Don't worry honey, the photos look great, and it's already on 295 out of 595, so they should be ready to rock when you wake up. Just in case you need the originals, they're on the desktop in a folder called JPEGS.

Hope you all have a wonderful day today. Keep an eye on - my wife has a whole bunch of paintings she's releasing today.