andrew catellier


When Neither of Your Hasselblads Are Just Right

Ming Thein, prolific writer and photographer (with cameras that are like, way too nice, I guess):

…there are increasingly times when I do things and go places that are not 100% dedicated to the creation of images; at these times there may be some opportunities for photography and you’d like to not compromise too much…

…so where are the proper enthusiast compacts? In other words: either the non-photographer’s “serious camera”, or the photographer’s “un-camera”.

He ends up picking the Panasonic GX85 (after nearly 2,000 words), but I find the Fuji x100T perfect for this use case. Beginners can make really great photos when running in a fully-automatic mode and those with more experience have all the control they need.


You Must Have a Good Camera

Photorealism in video games has improved by leaps and bounds in the last several years. Alan Butler has taken advantage of this by creating beautiful compositions in the virtual world that exists in Grand Theft Auto V.

Down and Out in Los Santos is series of photographs that are created by exploiting a smartphone camera feature within the video game Grand Theft Auto V. Players of GTAV can put away the guns and knives, and instead take photos within the game environment. This operates in basically the same way as ‘real’ cameras do. I walk around a three-dimensional space, find a subject, point the camera, compose the shot, focus, and click the shutter. I have taken a photograph.

A year ago I would have said a real smartphone wouldn’t be able to make photos with the shallow depth of field shown in Butler’s images. I would have been proven wrong a month later.

The concept of creating street photographs without leaving your house is fascinating. The amount of detail and thought invested into the art assets in this game is astounding. Fascinating how many video games can be whatever you make of them.

Cool stuff, man.


Precious Goods

I don’t always agree with ol’ Brooks Jensen but I do enjoy listening to his podcast. This specific…release? episode?…struck a chord with me though. He reads from the introduction of James T. Farrell’s Studs Lonigan:

There is the self-imposed loneliness. There is the endless struggle to perceive freshly and clearly—to realize and recreate a sense of life on paper. […] the writer feels frequently that he is competing with time and life itself. His hopes will sometimes ride high; his ambitions will soar until they have become so grandiose that they cannot be realized within the space of a single lifetime.

The world opens up before the young writer as a grand and glorious adventure in feeling and in understanding. Nothing human is unimportant to him. Everything that he sees is germane to his purpose. Every word that he hears uttered is of potential use to him. Every mood, every passing fancy, every trivial thought can have its meaning and its place in the store of experience which he accumulates. The opportunities for assimilation are enormous—endless—and there is only one single short life of struggle in which to assimilate.

A melancholy sense of time becomes a torment. One’s whole spirit rebels against a truism which all men must realize because it applies to all men. One seethes in rebellion against the realization that the human being must accept limitations—that he can develop in one line of effort only at the cost of making many sacrifices in other lines. Time becomes for the writer the most precious good in all the world and how often will he not feel that he is squandering this precious good.

I suppose there are many versions of this sentiment written by a diverse group of people—there’s nothing new under the sun. It was interesting, however, to hear it spoken out loud while riding my bike to work through headphones that are connected by magic to a phone that the author could have used to his great advantage by storing notes, recordings, and photographs.


NASA’s Voyager Mission

You’ve probably seen many other people pointing to this New York Times article this week, but I couldn’t help myself. Though as a whole the article was bittersweet I love to learn about cool efficiency tweaks like this one:

Turning the heaters off for a while is the safest way to get enough power to run the instruments, but the lower the overall wattage drops, the faster parts will freeze. One of the team’s most valuable insights so far: Spinning the wheels of an eight-track tape recorder — the spacecrafts’ only data-storage option — generates a bit of additional heat.

The flight crew’s sense of duty is inspiring.

Over decades, the crew members who have remained have forgone promotions, the lure of nearby Silicon Valley and, more recently, retirement, to stay with the spacecraft.

It’s sad to me that engineers working on such a long term mission weren’t recognized the same way people who moved to other missions apparently were. I strongly believe in the value of long-term research efforts and this is yet another sign that our society and government don’t share this sentiment. Difficulty in attracting new talent to the team is hard to come to terms with as well.

NASA funding, which peaked during the Apollo program in the 1960s, has dwindled, making it next to impossible to recruit young computer-science majors away from the likes of Google and Facebook.

There are more factors to this than the relative level of NASA’s funding. For example, pure computer-science majors maybe wouldn’t be the best fit for a team like this. I wonder, though, for how many young people working in the tech industry is a higher priority than working for NASA. It’s hard to imagine another government agency with such broad appeal—so what hope is there for other agencies that so badly need an influx of fresh, diverse and dedicated workers? I have a feeling that the efforts of the current administration to reduce the size of the federal workforce aren’t helping.


Building AVG DAY

In order to make simulated multiple exposures I wrote some Python code to average several images. Here’s a little more about how I made the images.


I thought about how to build the program so that it most accurately simulated a multiple exposure created in a film camera. When making a double exposure, a photographer adjusts all available camera settings so that two exposures will result in an image that properly exposes the film. Say that for a given camera and scene the proper exposure time would be on fiftieth of a second. One way to make a double exposure would be to take one image with an exposure time of one twenty-fifth of a second, rewind the film one frame, and take another image with the same exposure time.

That’s one way to do it. But a photographer needn’t split the exposure time among images equally. Besides that, part of the fun of making multiple exposures is that one doesn’t necessarily know how it’s going to turn out. It could even be that the photographer has so much experience making multiple exposures that they know exactly how to adjust the camera to create a specific image.

With all that in mind I decided that any weighting applied to individual images is purely an artistic choice—this gave me some freedom about how to implement multiple exposures in code.

Script Mechanics

In order to specify which images should be made into a multiple exposure, I put the desired group of images in a folder on my computer’s filesystem. Then I had the script get a list of all the images in the folder. The images aren’t guaranteed to have the same dimensions and I didn’t want to hard-code output image dimensions, so the script loops through all the files in the folder and gets each file’s dimensions in pixels and exposure time. I made a function that, based on an input argument, finds either the smallest or largest dimension in the group of photos. Before processing, each photo is either cropped to a square with the smallest dimension or padded to a square with the largest dimension. This ensures there are no matrix dimension errors when it comes time to add everything together.

I used Python Imaging Library (PIL) to crop, pad, and do math on the images. When PIL loads an image, each pixel has a red, green and blue component that are stored as integers. I learned that the ImageMath object only operates on single channel data, so the image’s split() method is needed to store each color channel separately. It’s also necessary to convert each channel’s pixel data to floats before multiplying by a fraction.

In a loop, the script loads each image one-at-a-time, splits the current image into its three color channels, multiplies each channel by some fraction and then adds the result to three variables containing the red, green and blue channel for the new composite image. Finally, all three color channels are converted back to the integer domain, the channels are merged into one RGB image, and the image is written to disk.

Finishing Touches

I tried a couple different ways to combine the images including scaling each image by its actual exposure time and doing a naive average. I also thought about compensating for ISO but like, nah. I settled for the naive average this time around.

When processed as described above the resulting image is often very dark. The result is stark and stunning, but there are lots of interesting details muddied by the lack of dynamic range. I tried a few different things to bring out details and balance the image. When I generated the images for my avg day gallery I applied a simple histogram equalization just before the three color channels were combined into one image. This means that the equalization was performed in the integer domain and this seemed to really exaggerate the nuance in the composite images. Additionally, by definition, the histogram equalization algorithm spans the available dynamic range. The effect is interesting, but certainly not subtle.

Having finished the image processing code I needed to get all the photos published to my 2016 dailies Flickr set sorted into twelve folders. I wrote another script to query the Flickr API, download all the folders in the set and sort them by month they were taken. Then the downloading script called the image combination script one time for each of the twelve folders it had just created.

I had a ton of fun working on this project. If you’d like to take a look at the code it’s posted on GitHub. I’m looking forward to working on different ways to bring out all the interesting details—and replace that simple histogram equalization—a little further down the road.


I recently finished processing the last of the photos for the 2016 version of my ongoing “dailies” project.

Earlier this year I messed around with the idea of simulating multiple exposures by averaging JPEG files in the pixel domain. I know you can do this in photo processing programs, but what if you wanted to make like, a 40 or 50 image exposure? It’s definitely not impossible but I’m lazy so I wrote some Python to do the work for me. I compiled the result for each month in a gallery.

Here’s an average day in December 2016:

The sum of the exposure times for all “daily” photos in December is 2.37362459597 seconds. 2,678,401 seconds passed in December 2016. The images I chose to represent my December comprise 8.9 x 10-5 percent of all the time in the month.

It’s hard for me to process how time seems to compress once it’s passed. On top of that I can’t believe how hard it can be to make sense of what we do remember. I know it’s unrealistic to expect our brains to remember every single moment. Still, I can’t fathom just how much is forgotten.

Even so, when I go through all my dailies for 2016 I’m reminded of a year’s worth of wonderful memories. Photos as a memory aid, even if they’re maybe a millionth of the time that passed, have been a welcome source of joy.

Pete Souza

Pete Souza, the White House photographer for the past 8 years, published a personal selection of photos from this past year. The collection contains many wonderful and touching photographs. He’s a talented photographer and story teller.

Pete’s technical prowess lends his photos a sense of precision you don’t often see. His eye for composition engages the viewer while making them a fly on the wall. Many photographers must be jealous of his instinct for sniffing out interesting, decisive moments.

Pete’s photography early in the Obama administration is what inspired me to buy a DSLR in 2009. I took that camera everywhere hoping I’d be able to make photographs half as interesting as his.

Thank you, Mr. Souza for being a source of inspiration to me and for your diligent work—my life has been enriched because of it.


With Power

Comes responsibility. Walt Mossberg:

My fourth wish is for some sort of optical zoom that doesn’t require a heavy telescoping lens. The rumored dual-lens camera might provide this. Previous efforts at unobtrusive optical zooming by other phone makers haven’t been good, so Apple has a real opportunity here.

Apple has an opportunity here? Unless there’s some breakthrough in physics I don’t know about, nobody has an opportunity to make a good “optical zoom” in a small package (though you can get pretty creative with optics). I guess a two-camera phone could have two different focal lengths and that could be marketed as “optical zoom.” I have a feeling that’s not what Mossberg is expecting when he proposes that idea.

I can’t very well expect everybody to know everything. But is it too much to ask of a major media outlet like The Verge to run some of this stuff by their in-house experts before publishing?

What I really want is for people to understand that tradeoffs have to be made in product design, that those tradeoffs result in compromises and that not everything you desire is possible.

A superstar tech reviewer literally asking for the impossible is irresponsible at best.


Thoughts on Five Years of Daily Photos

It’s that time of year again—I’m pointing to the tumblr I use to post photos of my every day life. Dailies, I call them. I take a picture of what I see most days and then put it somewhere. So yeah, you can find them at the following confrontational complete sentence dot net: All of my dailies ever should be there unless I made a mistake (of course I did).

My first incarnation of dailies began nearly five years ago. In 2010 I followed some advice, fed off some quality inspiration and started taking a picture of myself every day. It was as difficult as it was vain. I found myself lugging a tripod around everywhere I went and remember feeling uncomfortable (it’s kind of a silly thing to do) in potentially awkward public situations. Giving myself daily, hard deadlines like this stressed me out a good deal but it wasn’t without rewards. That year I probably learned more about the mechanics of photography and composition than in any subsequent year. I even won second place in a photo contest with one of the selfies.

After I finished that project I gave myself a break and then started up again. This time around I relaxed the rules—basically just keep my eye open for things that look neat and try to get one photo per day and if I don’t no big deal but seriously try to get a good one every day.

I was using either my DSLR or my rangefinder to work on the project. I learned even more about composition, logged some serious hours with my Cinch and wore some paint off of that brass block of a seeing machine that I hold in high esteem. I even made 4x6” prints of my 2013 dailies and compiled them into a photo album. That was pretty neat.

I kept up with that incarnation pretty well until about last January. As you may know, workflows dealing with so-called RAW files are not without friction. I found myself falling behind and sometimes uploading photos a month after the fact. According to the rules there was nothing wrong with that, but the friction kept me from spending time on developing other ideas and ambitions—I really want to get into portraits and need to organize my photos into cohesive groups.

In light of all that I changed the rules again. In 2014 I’d do the whole thing on my phone. Not a novel concept, but the idea was that I could take a photo, edit it, upload it and be done in a short amount of time. In practice I ended up editing and uploading the dailies in batches but I did manage to begin work on grouping photos in a cohesive way.

So here we are in 2015. Over these five years my dailies blog has gained 418 followers (compared to 363 following my main tumblr account). I’ve posted about 1503 dailies which amounts to roughly 0.82 photos per day. However, I did take a six month break in 2011. That means that while I was actively trying to do dailies, I didn’t take a photo 0.86% of the time.

I often feel guilty for not getting a photo for the day. The way I framed my “rules,” not getting a photo implied that I didn’t see anything worth capturing or that I didn’t take time that day to enjoy the world around me. Actually crunching the numbers provides some perspective on that guilt: I didn’t live up to the rules < 1% of the time. Given all that’s happened for/to me in the past few years, I’ll take it.

I’ve tried and failed many times to synthesize what taking daily photos means to me. (In fact, I recently realized that jumping wholeheartedly into something without fully understanding why is something I tend to do.) I think at first it really was about learning how to use a camera and to start building up a body of work that I could be proud of. Over time (and as I’ve grown), however, my understanding of the purpose of this project has evolved.

Looking back at these dailies gives me a small taste of the state of my brain on that day in the past. It reminds me about the world as it existed, people that entered my life, people that I pushed away and friends that have always been there. I’ve found that going through old dailies can be an anxiety-inducing experience. But I’ve also found that the entire process helps me to deal with that anxiety in a way that’s healthy for me.

On the front page of my personal website the link that points to my dailies is labeled “i keep a diary.” Late last year a friend of mine saw the link and the dailies and confronted me: “No you don’t,” she said. Needless to say, that made me think. The text posted along with the dailies varies from tautologically descriptive to intentionally obtuse. There’s generally very little indication of how I’m actually feeling, what I’m actually thinking or what actually happened at the time of the photo. I can see how an outsider would find it to be a boring read.

Ignoring the most obvious response (a diary is meaningful to the person who writes it and not necessarily anybody else), that question, in a way, cemented my understanding of the purpose of the whole project.

I’m not on Facebook and I don’t use Twitter for actual status updates, but I want those close to me to be able to check up on me if they want to. I’m concerned about privacy—mine and that of those around me—so I want control over the details associated with each post. I need an outlet to say things I sometimes need to say and a way to remember all the time that’s ruthlessly sucked away from the present. I need a place to practice seeing and make mistakes with minimal consequences.

This project has been all of these things to my multimedia brain.

2014 was an uncomfortable year for me. One thing in particular overshadowed most of the year. I struggled to make sense of relationships and pondered if what lies at the end of the path is what I want it to be. But damn if there weren’t some downright pleasant times as well. There was a wildlife photobomb and there were endearing ocean moments. I rode my bike all over the place and took a couple selfies. I was very often in awe of nature (specifically the sky and clouds). I took my camera with me nearly everywhere and took pictures of things that have changed or disappeared since. I explored and did new things on my own and even talked to my representative about net neutrality.

Thankfully and perhaps most importantly, I woke up every day and kept takin’ those photos.

So if you’re interested, feel free to follow along. Even better, start your own dailies project and let’s notice the beautiful world around us together.

New Year, Blank Slate.

Well kind of. There’s this infrastructure but it’s not immediately helpful. It’s more like an empty template.

The arrangement of the infrastructure appears to be random; seemingly placed without thought. Of course, that’s really not the case. This piece is here because the available HVAC capacity is most efficiently utilized when distributed in this spot and that piece must go there because it services the room above. That other piece—well, it was supposed to be over there but we made a mistake.

The infrastructure, as we see it now, is the way it is because it is the sum of some specific set of events progressing towards some goal that can only be met if specific constraints are met. That goal, its constraints and the formative events are never directly communicated to onlookers.

Expectations, traditions and preconceptions are projected onto the template with stunning fidelity yet none of them quite match what the template is or what it will be. The fact is, these expectations come from a place of external (from the perspective of the template) desire. Traditions come from a time when the rules were only partially defined and mostly unknown. Preconceptions come from a pattern recognition algorithm trained using only patterns exhibited before those external desires even existed and before we solidified and discovered the rules we currently know.

But, just like the unexplained state of the infrastructure, failure to match these projections inevitably seems to draw criticism. Onlookers won’t recognize the template for what it is until it finally becomes a finished product, if or when that happens.

Seeing yourself in all of this from a third-person perspective is jarring and uncomfortable. Criticism from onlookers isn’t particularly useful. The projections don’t cede any comfort because you don’t identify with them—they’re not what you are or want to be.

It’s not really clear how this additional input should influence progress towards achieving a goal. Processing these external opinions can call into question the tradeoffs that resulted in this empty template, thus endangering forward movement.

There’s a fine line between self-acceptance and stalemate. There’s also a fine line between working towards achieving goals and not being overwhelmed by the opportunity costs of participating in society. The intersection of these lines is a locale at the apex of Maslow’s hierarchy that few even have the opportunity to find.

Perhaps in search of this intersection you’ve found what looks to be a good compromise. But then you take stock of the landscape revealed by your new vantage point and realize suddenly that the only thing you’ve got to show for your 31 years on this planet is a wash basin and only a wash basin, in a not particularly useful or aesthetic location. If not heart breaking, this realization certainly induces anxiety.

Explaining the context of the infrastructure and its slapdash state becomes exhausting but leaving details to the imagination of those around you is alienating. The feeling that you need to build up so much background before you can talk or interact with someone on a meaningful level—even family or someone who you’ve known forever—is crippling. It’s a positive feedback loop that shuts you off from the world.

Perhaps more frustrating is the fact that the mental model that many people use as a representation of you is a finished product. Along with this representation is a set of expectations that can be completely unfair and unrealistic. Knowing that there are those who are judging you based on the haphazard state of your infrastructure can decimate self-confidence.

The extent to which long-term investments are undervalued in our society is a crying shame. It is of course very important see projects through to completion and to carefully weigh costs and benefits. Still, we need to retrain ourselves to be much less averse to the long slog.

So if you’re out there in the world looking at people looking at the state of their infrastructure, see what you can do to make sure that the version of the ugly duckling unfolding before your eyes resolves with the happy ending. Stop dismissing your friend who’s writing a novel. Ask the other friend about the completion status of that project, but don’t be judgmental about it. Don’t assume that the ultimate goal of that girl’s hobby is to make a business of it. If you’re asking questions about some ethereal desire, “I don’t really know,” is a completely acceptable answer.

If you’re out there in the world feeling bad while looking at the state of your infrastructure, try and shake it off but do whatever it takes to not get stuck. Take a snapshot at precise intervals and devote time to looking at the snapshots. It’s pretty amazing how progress seems to sneak in right before your eyes.