Archive for January, 2007

Migratory Patterns

It’s that time again.

It’s been a little over a year since I moved back to Dallas, so all my junk is getting restless, yearning to move halfway across the country in hopes of getting lost or damaged along the way. Apparently that is preferable to living with me.

Actually, it’s because I’m engaged, and my fiancĂ©e lives in the San Francisco Bay Area. We agreed that it would be easier on us if we lived near one of our families. Hers lives in the Bay Area, and mine live in east Tennessee. Since we are both in the software industry, and there isn’t much of that in Tennessee, we agreed that I would move to the Bay Area.

I suspect I was set up, although I have to admit I was a willing participant.

The truth is, I’m really just sick of moving. I grew up and spent most of my life in various parts of east Tennessee. I moved to Dallas for three years, then to San Francisco for two, then back to Dallas for a year, and now I’m in the process of moving back to the Bay Area. It was after the first move to San Francisco that I decided I was through moving, although that resolve has apparently had very little impact on my life.

The problem is, I don’t particular care for California, especially the Bay Area. Yeah, I know, that makes me scum of the earth. It is just far too expensive and crowded for my taste. I know that it has positive points, such as being beautiful and having a diverse community, but there are places that have those perks sans the high price. I just can’t think of any right now.

It’s not that I’m all that attached to Dallas, although I do have friends here that I will miss. I just want to find a reasonable place to live, and stop moving. I think having unreachable goals really stretch me as a person.

On the plus side, I’ll be opening up the San Francisco “office” for Order N Development, my company. My partners will still be in the Dallas area, so if you’re looking for local Dallas developers, Order N still offers that. We’ll just also be offering local contracting for clients in the Bay Area now.

Anyway, the decision has already been made and I’ll be moving in March. I’ll be out in the Bay Area next month looking for apartments in the East Bay. So if you see some dorky guy with a southern accent walking around looking at apartments, please be nice; I only bite yankees, not hippies.

Image Filter Theatre: Errata

In my previous two Core Image filters, I attempted to make the minimal amount of changes to the project template in order to make them work. It turns out I was a little too minimalist.

If only one of the previous examples is in your Image Unit folder, then everything works fine. The problem comes in when you have both of them in the Image Unit folder. In that case, neither show up in the UI. The problem is Core Image cannot uniquely identify the filters (i.e. it thinks they are the same, and gets confused.)

At first, I thought I just needed to add a unique bundle identifier to my Image Unit package. Unfortunately, that is not the case, which makes sense because you can have several filters in one Image Unit package.

The problem lies in the Description.plist. From the template, there are three keys which have the value “MyKernelFilter”, and one key which itself is “MyKernelFilter.” Two of the values and the key need to be changed to something unique.

If you look under the first key in the Description file, CIPlugInFilterList, you’ll see a dictionary of filter descriptions. You’ll note that in my examples, such as the HSB Mixer, I left the key for my filter description alone, as MyKernelFilter. I need to change it to be unique, like so:

...
<key>CIPlugInFilterList</key>
<dict>
<key>HSBMixer</key>
<dict>
...

Now that I’ve picked “HSBMixer” as my unique key, I need to replace MyKernelFilter with it in a couple of places, namely the CIFilterClass and CIKernelFile values. So at the bottom of the Description file:

...
<key>CIFilterClass</key>
<string>HSBMixer</string>
<key>CIHasCustomInterface</key>
<false/>
<key>CIKernelFile</key>
<string>HSBMixer</string>
...

CIHasCustomInterface didn’t change, I just left it in there because it was sandwiched between the two values that I did change.

That should cover it. If you rebuild and add both of the examples to your Image Units folder, they will both show up. This is pretty tedious work, so in future posts, I will just assume this is known and skip over it.