Holga 120 CFN for Christmas

For Christmas, one of my brothers gave me a Holga 120 CFN. This is a camera that takes 120 film and is entirely made out of plastic. Even the lens element is plastic.

Considering my infatuation with older film cameras, this really was a great gift. I’m always looking at eBay for a new vintage camera and this one is in that spirit. It’s all plastic; I’d never have bought one myself. But trying out 120 film was fun and I enjoyed shooting with it.

The Holga and the whole Lomography shoot-from-the-hip idea always struck me as silly. Switching to film still means you should still compose your shot and think about framing your image. While some out of focus images can be insightful, Lomography seems to me to be based on light leaks and poor photography.

That’s not to say that you can’t get good shots from one of these cameras, and I do admire the gallery. It’s just some of the examples look like the photographer wasn’t really trying.

After shooting a couple of rolls I can say that my opinion has been changed. The Holga is just for fun and intentionally taking soft picture is part of that.

This model comes with a built-in flash with color filters. You rotate the dial and get red, yellow, blue, or plain white. For black and white I used the white flash, for color I liked the yellow filter.

With 120 film there are two mask inserts, one for 6×6 cm and another for 6×4.5 cm. The 6×6 gets you 12 shots and the 6×4.5 gets 16. My first two rolls were shot with the 6×6 and I haven’t developed the 6×4.5 rolls yet.

Once thing I really need to watch out for is double exposures. On my 35mm cameras, the film advance cocks the shutter and you can’t take more than one exposure. On the Holga, the shutter and film advance knob are not mechanically connected. You can expose the same shot multiple times and that ability is part of the appeal.

I ruined a few of my B&W T Max shots because I hadn’t realized that I had already exposed that film. That’ll teach me to pay more attention.

Overall it was fun but I don’t expect this to replace my Olympus Trip 35. When the weather gets warmer I’ll take some outdoor shots with my remaining roll.

Using WP-PageNavi with the Elemin theme

Update: Added a conditional to ensure that wp_pagenavi() runs once.

The Elemin theme has it’s own built-in page navigation after the posts. It’s attractive, but not quite as flexible as the WP-PageNavi plugin. With this plugin you can put a page counter, link to the start and end pages, etc. It’s a cool add-on and I’ve gotten comfortable using it on my WordPress blog.

Adding support for that plugin to Elemin can be done simply by creating an includes directory for the child theme, and copying the elemin/includes/pagination.php file into the child theme includes directory. You then modify the copy with the wp_pagenavi() code and due to the magic of get_template_part() the child theme will pick that up.

Modifying a copy of a parent theme file isn’t too bad and that file is very small. But that’s not a very interesting solution. What’s more fun is to add support via hooking into the loop.

I’ve made many modifications to my child theme and not once have I had to copy and/or modify one of the parent theme files. For me, that’s the whole point of this exercise: creating a child theme that only uses functions.php and CSS.

So far using that method for this child theme I’ve been able to do the following:

  1. Add a random header image
  2. Made some CSS changes including a page background
  3. Added a fix for Internet Explorer 8 issues
  4. Created a front page view that shows the full content and then the excerpts and without using a front-page.php template

I’m having a great time doing it too. WordPress is very extensible and I’m picking up more and more PHP knowledge as a result of playing with my WordPress blog.

Here’s how I added support for WP-PageNavi to the Elemin theme. More

It’s not my fault, the wife uses Internet Explorer 8

For my home PCs I typically run the latest and greatest web browsers. I even run Internet Explorer 9 which is even not that bad™. Lately I’ve been vacillating between Firefox and Chrome.

At my wife’s work they’re now using Internet Explorer 8. That’s an improvement, they’ve been on version 6 for years.

This blog’s theme uses CSS border radius effectively and it doesn’t render correctly on version 8. You get square blocks where you wanted round corners. The next version it works fine, version 8 and below not so much.

There is a work around but it’s ugly. Add conditional CSS to your head for any version of IE less than 9 and reference PIE.htc from CSS3 PIE.

This is easily done by adding some code to my theme’s functions.php file.
More

Ilford XP2 Super 400

One of the appeals of shooting film is black and white photography. It’s the other side of the coin for color photos and somehow it tells a slightly different story. There are some really good fine grain films out there such as Kodak Tri-X 400, Ilford Delta 400 Professional, and Fujifilm Neopan 400 Professional. I’ve used Tri-X 400 before and the results were attractive.

The problem is, these films are not developed using the C-41 process. That’s the film development system/chemistry that most consumer color films use. It’s what is used to develop film at Costco via their big automated developer and printer.

To get those B&W films developed I have to use a lab in Manhattan and they’re not cheap. At Costco development with DVD but no prints costs about $5 a roll. At the lab it’s closer to $10 and the DVD has lower resolution images.

I shoot a lot of film. Costco wins.

That’s where films like Ilford XP2 Super 400 comes in. It’s a B&W film meant for C-41 so I can take it to get developed and scanned cheaply. I ordered 3 rolls from Amazon and here’s samples from the first roll.

I like the look. I can get better detail, resolution, and less noise (grain) from any of my digital cameras but shooting with my Olympus Trip 35 is a joy.

This weekend we’re celebrating Christmas at my brother Ed’s place so I plan to use at least one roll there. My sister-in-law keeps a beautiful house and there’s going to be lots of images for me to capture.

Fun with oEmbed and Twitter

This tweet is being displayed using oEmbed between WordPress and Twitter. This capability was added a few minutes ago after I pasted Otto’s code snippet into my theme’s functions.php file:

That’s pretty remarkable. I’ve embedded a tweet that has an embedded Youtube video in it. I didn’t even bother to wrap the URL in the [ embed] … [ /embed] shortcode, I just pasted in the link to that tweet.

That’s very cool! It shouldn’t be long before this is put into a plugin; I put it into my theme’s functions.php because I’m used to poking in there.

Interestingly enough, when the Twitter Blackbird Pie plugin is activated it overrides the oEmbed output and puts the tweet into that nice format that they use. For now I’ll use the oEmbed option.

Themify child theme fix

Update: Themify fixed the issue and an update is now available. The child theme fix is no longer needed.

I updated my Elemin theme to the latest and greatest and ran into a problem. They’ve changes how style sheets are queued up to use wp_enqueue_scripts.

That’s good, but now my child theme’s style.css will not get loaded, just the Elemin parent style.css file.

Easy to fix and I’ve added the following lines to my child theme’s functions.php file:

add_action( 'wp_print_styles', 'mh_remove_themify_styles' );
function mh_remove_themify_styles() {
        wp_dequeue_style( 'themify-styles' );
}
add_action( 'wp_enqueue_scripts' , 'mh_add_child_style' );
function mh_add_child_style() {
        wp_register_style( 'mh-child-style' , get_stylesheet_uri() );
        wp_enqueue_style( 'mh-child-style' );
}

That removes the parent theme style sheet and adds the child theme’s version.

Update: Themify (seriously, they’re really good and you should buy their themes) is going to address this problem with an update today. Which is good, de queuing their style sheet broke other styling and I ended up using add_action(‘wp_head’… instead of the above.

I really am limited by my PHP and CSS

As part of purchasing the Elemin theme I get support from Themify and I asked for CSS help on their forum. It’s a good benefit and part of the package.

I was able to get two full posts on the home page and leave the rest as excerpts but the CSS was baffling me. I couldn’t work out how to set the post-meta to format as I wanted it to.

My CSS is at best “not too good” and I was messing up some inherited properties.

The response was good: why not just wrap the posts in divs with the correct class and let the default style.css do the rest? That way the generated output would look kind of like this:

<div class="list-post">
 [post 1]
 [post 2]
</div>
<div class="grid2">
 [post 3]
 [post 4]
 [post 5]
 [post 6]
 [post 7]
 [post 8]
</div>

That was a real light bulb moment for me. I know I can do that by making a copy of the elemin/index.php file into my child theme directory and making modifications.

So that’s exactly what I did and replaced the regular get_template_part() line with this code:

<!-- child mods -->
<?php if( is_home() and $post_layout == "grid2" and $paged < 2 ) {
   $mh_post_count++;
   switch($mh_post_count) {
      case 1: ?>
         </div><!--/loops-wrapper list-post-->
         <div class="loops-wrapper">
         <div class="list-post">
         <?php get_template_part( 'includes/loop','index');
         break;
      case 3: ?>
         </div><!-- /list-post -->
         <div class="grid2">
         <?php get_template_part( 'includes/loop','index');
         break;
      case get_option('posts_per_page'):
         get_template_part( 'includes/loop','index'); ?>
         </div><!-- /grid2 -->
         <?php break;
      default:
         get_template_part( 'includes/loop','index');
   }
} else {
   get_template_part( 'includes/loop','index');
} ?>
<!-- /child mods -->

I also had to put in a conditional right before get_sidebar() to properly close off the last div. Changing the excerpt to the post content is still handled in the child theme functions.php file.

It all works and I’m now using it my child theme. This only gets applied when I select the two column excerpts page format. Switching to anything else restores the default Elemin formatting.

But you copied and edited a theme file!

Yes, I did and I’m thoroughly ashamed of myself.

There are hooks into different parts of the WordPress loop so that I should be able to put into my child theme’s functions.php file the logic to figure out where in the loop we are and insert the HTML as needed.

The logic is dependent on if we’re at post #1, post #3, and the last post defined by the posts_per_page option. So all I need to do is add the appropriate add_filter() or add_action() to my functions.php file. I already add to the_content using a filter for before and after.

But I’m not quite there yet. I’m pretty sure that I can pull it off with something like add_action( ‘the_post’, ‘insert_before_posts’ ) but I’m still doping it out.

I’m also having a great time doing it too which is really the point of all this effort. Now if only that WordPress Bible would get here sooner…