Piedmont Cinema

Posted in Images | Leave a comment

Trivia Night

Trivia night frustrates me because I don’t care to know the answers to most of the questions. But I love spending time with my roommates drinking and chatting. When tonight is trivia night at Cato’s Alehouse, the two come hand in hand.

I bow out before the end to walk up Piedmont Avenue home.

The most well lit signs indicate businesses that have the most to lose.

The moon-sign indicates nothing to lose.

Posted in Images, Writings | Leave a comment

New Waves

Inspired by Casey’s Framed Fractions, I purchased a Holga 135 from the FourCornerStore.

In past photo experiments I used SLR and digital cameras. They easily answered my biggest questions:

  • Where is the edge of the frame?
  • What object is in focus?

The Holga is a simpler camera. So simple that it unasks my primary questions. The camera provides neither precise framing nor accurate focus. The viewfinder, wholly independent of the lens, provides only a good estimate of the films edge. The lens offers only a primitive guide for the focus. The Holga’s lack of immediate feedback has led me to an easy-going “best guess” philosophy when pressing the shutter release.

Free of my usual questions, my brain has discovered some obvious new ones. I now question the most obvious subject for this artform: light! The camera is a light-capturing device. I now have all new questions when walking with the camera:

  • How much light is there here?
  • What speed is the film?
  • How much contrast is there in foreground and background light?

As a musician, I’ve felt sensitive to sound for years. I’m excited to be more aware of another wave (and particle) in my environment. And I’m excited to share some of the artifacts of this awareness.

Posted in Images, Writings | Tagged , , , | Leave a comment



Posted in Images | Tagged , | Leave a comment

December 2011 East Coast Travels














Posted in Images | Tagged , , , , , , | Leave a comment

The Lead Ball in the Zero Gravity Chamber

A pair of improvisations recorded at home on November 17, 2011.

The Lead Ball

[audio:other/lead-ball-zero-gravity-chamber/1 – The Lead Ball.mp3]
Download The Lead Ball

The Zero Gravity Chamber

[audio:other/lead-ball-zero-gravity-chamber/2 – The Zero Gravity Chamber.mp3]
Download The Zero Gravity Chamber

Posted in Recordings | Leave a comment

Time in Either Direction

Since moving to Oakland, I’ve focused most of my creative energy on the guitar. Below you can listen to my latest composition and recording, “Time in Either Direction”, recorded on August 13, 2010. Jake Feltham recorded and mixed the piece.

Posted in Recordings | 1 Comment


Posted in Images | Tagged | Leave a comment

Kung Fu Crimewave’s Capitol Punishment

I recorded the Kung Fu Crimewave album Capitol Punishment in autumn/winter 2009. Neil just posted a great music video for “Kill for the Side”. While I’m at it, I’m also sharing Preston’s video for “What do I do?”.

Posted in Recordings, Videos | Leave a comment

Rails’s DB-Insensitive Case Insensitivity

I’ve been working with Rails for the past few weeks. But seriously, folks, it’s been great. Anyway, what are we all here for? To hear about my first big trouble with Rails.

We had a simple request at work to make a database field case-insensitive. Which is all to say, we had to make this touch field’s once defaultly true case sensitivity:

validates_uniqueness_of :a_touchy_field

into a blatant lie:

validates_uniqueness_of :a_touchy_field, :case_sensitive => false

And this is why Rails is so great. We’re done!


Oh right! Well, this field is very touchy. Touchy like… millions of rows touchy. And it didn’t like all this insensitivity we we’re giving it. And neither did MySQL. There’s a lighthouse ticket all about it.

The issue is that to keep things DB-neutral, Rails is having MySQL perform a LOWER() on that field on each row to do a binary comparison for the uniqueness validation. How unkind to our conveniently indexed database field.

By default, MySQL does a case-insensitive string comparison. So we rolled our own uniqueness validation…

def TouchyModel < ActiveRecord::Base
  validate :ensure_unique_case_insensitive_touchy_field

  def ensure_unique_case_insensitive_touchy_field
    if new_record? || a_touchy_field_changed?
      if TouchyModel.exists?(:a_touchy_field => a_touchy_field)
        errors.add(:a_touchy_field, "must be alone, or else it'll get whiny")

This lets us tip-toe around the call to LOWER() and get on with our validations using the default MySQL comparison.

Posted in Computing | Tagged , , | Leave a comment