I finally put some of the large format photography work I’ve been doing up online at
I finally put some of the large format photography work I’ve been doing up online at
As I am getting more comfortable with film photography, it seems it helps me to write some experiences and thoughts down. I just wrote down the experience of taking a 4×5 view camera out for the first time. It is more than 7 months using mainly film and being able to touch every part of the process with my hands is more rewarding than digital so far…
You can read more about it at “Action in 4×5 bites”.
I could not remember when was the last time I loaded a roll of film into a camera. As time moves forward, I walk backwards. That is what I thought when I enrolled in the photography course series where film was king. I had to scramble to get a film camera. The good news, black and white. The bad news, film, chemicals, dark rooms, lots of papers, and huge amounts of time invested. So I have decided to star writing about it a bit. I just hope that eventually it will make sense.
A year ago, I mentioned that I always write a cGA implementation when I learn a new language. Then, I was trying to get back to fluent in Haskell. A couple of days ago, Martin Pelikan just did the same and wanted to compare implementations. So, what did I do? I looked for my implementation to post it here.
I took a look at the code and change a couple of things, but I can say that the Haskell implementation is the shortest working implementation that I have ever written in any language. It is shorter than the versions I wrote in Scala and Erlang. Python could get awkwardly compressed using some functional flavor to get close to this, but dynamic typing… C, C++, Java, Go and other friends, are far away when you look in the rear Haskell mirror. Anyway, the code below implements cGA for binary strings. You chose the population size, the number of bits, and the evaluation function. Also, some of the constructs are simple and elegant that do not need much explanation (not to mention maintainability…)
import Data.List.Split import System.Random diffBinaryIndividuals popSize ind1 ind2 = map (\ (x, y) -> if x == y then 0 else (2 * x - 1) / popSize) $ zip ind1 ind2 updateBinaryModel f popSize model ind1 ind2 = zipWith (+) model update where f1 = f ind1 f2 = f ind2 update = if f1 > f2 then diffBinaryIndividuals popSize ind1 ind2 else diffBinaryIndividuals popSize ind2 ind1 sampleTwoBinaryIndividuals model gen = chunksOf l $ zipWith (\ m r -> if r < m then 1 else 0) (model ++ model) rnds where rnds = take (2 * l) (randoms gen :: [Float]) l = length model cgaStepForBinaryIndividuals f model popSize gen = updateBinaryModel f popSize model ind1 ind2 where ind1 : ind2 :  = sampleTwoBinaryIndividuals model gen hasModelConverged model = all (\x -> x > 0.9 || x < 0.1) model cga _ _ model | hasModelConverged model = return model cga f popSize model = do gen <- newStdGen res <- (cga f popSize (cgaStepForBinaryIndividuals f model popSize gen)) return res
And you can see it in action below solving 5-bit and 50-bit OneMax problems.
> cga (sum) 1000 (take 5 $ repeat 0.5) [0.90099484,0.9029948,0.9029948,0.9019948,0.9209946] > cga (sum) 1000 (take 50 $ repeat 0.5) [0.9209946,0.9279945,0.96899396,0.96899396,0.95399415,0.9259945,0.9419943,0.96299404,0.9589941,0.9419943,0.93799436,0.9519942,0.9109947,0.94599426,0.95399415,0.9449943,0.94799423,0.964994,0.9199946,0.93199444,0.9429943,0.9569941,0.95499414,0.96999395,0.9369944,0.9579941,0.96199405,0.9429943,0.96099406,0.9359944,0.967994,0.9209946,0.9449943,0.966994,0.9329944,0.95499414,0.96999395,0.9449943,0.90799475,0.9579941,0.95299417,0.93999434,0.94699425,0.9179946,0.9559941,0.90099484,0.9359944,0.9339944,0.9339944,0.9359944]
Catching up with the list of assignments proposed by Harold Davis article series Becoming a More Creative Photographer. The eight assignment is all about new looks.
Starting with a place you know very well, find a way to “slip through the cracks” so you are looking around you with new eyes. Create a photographic image that conveys what you are now seeing.
I have seen so many pictures of the Bay Bridge. Dawn, high noon, dusk. From San Francisco. From Treasure Island. From a car on the upper deck. From a car from the lower deck. Cloudy. Sunny. Foggy. You name it. Also, most of them show its long and majestic span. Shoot from San Francisco. Shoot from Treasure Island. Yes, I have shot those too. So how to get something different that “slipped through the cracks”? Umm…
…Umm. How can you trap a new look out of the ordinary? Cars and ships, the main purpose of a bridge. Also shoot to the excess. I started thinking about the rolling fog and the mysterious uncertainty veil that brings. Extend that further by an elongated exposure that erases the obvious and leaves the peculiar. Add those at night and the image is not about a bridge anymore, is about dancing lights painted by ships and cars around pillars and ramps. Add those at night and the image is about intriguing noir textures.
Another week, another assignment down the list extracted from Harold Davis article series Becoming a More Creative Photographer, seventh assignment, improving mistakes.
Your assignment: The next time something goes wrong with a shoot, grab the problem, turn it into a possibility, and make it the basis of a photograph.
Auto-focus, that friend that gets it right most of the time, kind of. Yes, I am guilty of usually relying on autofocus most of the time, mainly as a way to remove one var out of the equation. You can chose where you want the auto-focus easily and the camera does the rest. Mostly. There is a scenario where it always goes wrong. You have a composition where you have objects in the far back and an object in front which you look through. Most of the time, your friend auto-focus will decide to focus on the background, likely because it covers most of the frame. So how would the moment in time if I choose the other option?
You get something intriguing. A fence to something uncertain. A fence that dilutes the clear-cut and turns it into an image of interpretation. The changed focus trap an eluding reality giving it a transcending quality. It makes the dirt and unfinished lines into textures. It also turns non-exciting lights into puzzling flares of unknown dusk. I am wondering if it could improved further with another mistake, over/under exposure. Maybe for the next round of experiments. Endless possibilities for improving mistakes.
I had the assignment done last week, but I was a bit busy and I could not put it out. Enough excuses, the assignment from the list extracted from Harold Davis article series Becoming a More Creative Photographer, sixth assignment, or making the ordinary visually appealing
Your assignment: Pick something that you’ve looked at often, and that you think is visually boring. Now, let go of your preconceptions about your subject. Study it carefully. Find something you haven’t observed before about it, and make an interesting image using this new aspect of your subject.
I was a bit uneasy with this one for a bit. Something I look often. Something that I see everyday and it do not even bother anymore to consider appealing. I just realized that there are so many thing around that I just do not even consider them photographically interesting. Dead wrong. I just realized during this assignment that each object, path, light are just a chance for getting a fleeting moment crystallized into a unique snowflake. Also, the more I tried to get a new view of the object I see everyday and found uninteresting, the more puzzled I was about what should I use as an ultimate shoot.
Eventually I gave up and stop thinking about what object I should shoot. A couple of days later, I was playing with the camera and the focus mechanisms slowed down to the point I took a pretty blurry shoot of my shoe. That was a pretty boring picture, but the blur turned the picture into a collage of colors. There, I grabbed my camera and went down and shot a few pics totally out of focus. The above photo is what it came out. Not something I would have thought about shooting consciously. And yes, I added a few tone corrections and grain to the final image.
This week assignment from list extracted from Harold Davis article series Becoming a More Creative Photographer, is the fifth assignment, or taking pictures without your camera.
Your assignment: Without a camera, observe a scene closely. What abstract pattern or patterns can the scene be boiled down to visually?
Staring up, light pours in trough the window softly fading away. The ceiling beams gently guide it through the room space. I am trying to think what are the basic visual patterns in which I could decompose the scene. Maybe the first one would be the window acting as the vanishing point for the main beam and the angled ceiling. It looks pretty simple as a visual construct.
However, if I had to choose one abstract pattern that remains consistent and powers the image across the scene, that pattern would be line repetition. It starts on the window. Repeating lines define it. Beam lines emanate from it. They define the basic resting guidelines for the parallel and perpendicular lines to rest and repeat. Even when the scene gets abruptly interrupted, the guiding and recursively repeating lines emerge again with slanted generative angles.
In case you wonder, yes, I just took the camera after I finished the assignment so you could see what I was staring at
Going down the list of assignments extracted from Harold Davis article series Becoming a More Creative Photographer, the fourth assignment challenges you to post-process it like you mean it.
Your assignment: Shoot a commonplace object with digital post-processing specifically in mind. Using your favorite image editing software, transform the photo of the commonplace object into something new and abstract.
This was a tough one. I am still not sure I got there, but I took it as a change to get out of the usual comfort zone. Yes, color. No, monochrome. Yes, post-processed till you cannot tweak any more knobs to get the image you want. If the previous assignments got me warmed up, this could be soul crushing if I took it too seriously.
Choosing the picture was actually easy. After a week of scratching my head, I remembered an itch. A snap I took while passing by Zürich back in June. I knew I wanted to do something with it, but never got my head around it. Monochrome did not make justice to the moment I released the shutter. The shoot of a bridal store front got my eye, memories, and imagination. It was bold. It was eye-catching. It was full of color. It was sitting there, ignoring and defying the sobriety that surrounded it. It also had another ethereal property: if you discretely check the people walking by it, almost every street-walker tried to hide their furtive glances.
There was no option. This moment was the image I had to post-process. Monochrome was not going to cut it. It will lose the magnetism that challenged your gaze. Also, it was way out there on the left field of the comfort zone. So there I went and start post-processing trying to turn it into that giant magnet that trapped people’s imagination while walking by. Yes, I have to admit that I may have failed turning it into an abstract image, but this was exciting new territory and I guess I could not cover it in a single shoot. So, I just sat in front of the digital darkroom and post-process that moment like I mean it.