January 28, 2011

An Ode to My Hasselblad

Proof

Contact sheet from my Hasselblad's last roll.

Sorry for the dramatic title. The above is the last roll I shot with my Hasselblad before it died. Its mirror arm has snapped and fixing it would cost more than the body is worth.

Don't fret though, I'm going to get another. It's just that I hate it when something so functional is wasted because it's too expensive to fix. It's even worse when it's been in service for 51 years. And, when it was supposedly owned by the flutist from WAR (I bought it from the person who bought it from him). I mean, you can't make that kind of history up.

I still have a mind to fix it, a very small mind. The Hasselblad tech thought it pretty impractical, though. He makes sense, he works with these things all day. He has no sentimentality.

January 21, 2011

Scanner Woes

Scanner Dust

Four successive scans without film.

I've been scanning, and scanning, and scanning. The more I do it, the more sensitive I become to little things that interrupt the image, dust and hair. I've bought canned air, white gloves, and microfiber rags, but I still can't seem to get a predictable reduction in the amount of these clingy interlopers. In fact, it's gotten worse.

Fed up, I started scouring the web looking for similar stories in the hopes that there was a method to this arcane practice I was overlooking. I'm learning that scanning film (using consumer flatbed scanners) is as shifty as the guy on the street trying to sell you a "genuine" Rolex. Everyone has "the best way" to do it. And it's exactly opposite to the other guy's "the best way". The thing is, both guys are getting great results.

So, noticing that my latest results were showing the same dust pattern regardless of how much I cleaned the glass, I decided to take the scanner apart, thinking the dust was on the underside of the glass. An hour later I do the first scan with no film on the glass (first strip). I'm swearing to myself that this is the same pre-disassembly pattern. I wipe the glass, scan again (strip 2) and find exactly the same result. WTFUCKKKKK?!

So I start thinking through all the surfaces that have a stake in scanning the film. Both sides of the glass, as well as both sides of the film have been my working assumptions. The only thing left is the light in the lid. But surely, any dust on that would be diffused since it's furthest from the scanner head, and surely outside the head's short depth of field. One quick wipe, another scan (strip 3), son of a bitch... Strip 4 shows that it was pretty much the problem all along.

Scanning really sucks. Too many variables to keep track of. But, until I get rich enough to get a lab to do it, or I get sick of film (no chance), I'm stuck with it

I'm almost through my first batch, a September surfing trip. I'll post the best when they're done. The next batch is 2 roles from India. No idea what those have in store. They went through countless x-ray machines and were shot with my Holga (which is even more dangerous to film).

January 16, 2011

Interesting Links

Programmer Competency Matrix

I was surprised to find that I placed in level 3 for most of the "Programming" rows (as I understand my skills anyway :). Art school has definitely made for some strange bedfellows.

It was motivating to see where I placed in all of the topics, as my approach to learning programming has been to acquire as much understanding as possible about the the things I don't know. Finding that I was at level 2, but knowing the existence of the concepts in level 3 validates that this approach is moving me in the right direction.

I likened this philosophy to Elizabeth the other day as analogous to how one understands their city. We live in LA, a big, sprawling metropolis, and while I've never been to Monrovia or Cerritos (far out there), I understand that both are cities in Los Angeles County. Not the best example, sure, but one that illustrates the differences in approach. I actively seek out and retain this type of understanding in the belief that it may be useful at some point. Others my see it as the inevitable result of living in the same place a long time.

A better example would be to relate it to one's chosen career. Using this angle, it becomes quickly evident that the ones who take an active approach are usually more successful (the definition of the success is based on the specific domain, of course). Conversely, those taking a passive approach tend to exert more effort in defending how what they do know is more tried and true, and hence more reliable. More dangerously, as a superior, they tend to actively block their peers and subordinates. Anyone who has worked in a university or college setting will loudly attest.

Deep Linking with Javascript

Open sourced javascript implementation for linking to paragraphs, and even sentences, in webpages. Uses a matching pattern based on the first letters of the first 3 words in the first and last sentence of the paragraph. That was a mouthful. For example, the key for this paragraph would be [OsjFet].

A fun way to practice your Dvorak skills

I still intend to pick up proper typing. And when that time comes, it will definitely be on a Dvorak keyboard.

I started the typing tests last year and unfortunately, lasted only a week. It takes the same discipline as QWERTY (no surprise there), but I find the layout much easier to memorize. Now, if Apple could get on the ball with creating a beautifully designed split keyboard, I could get rid of this clunker. It's hideous, poorly constructed and loud (key paddings wear out quickly), but it's still the most comfortable I've found.

January 8, 2011

The Sartorialist

Just watched a [nice short](http://www.youtube.com/watch?v=e5NgG5koPZU "YouTube

  • Intel Visual Life - The Sartorialist") on The Sartorialist. I love watching the ways street photographers approach people. From what I've seen, there's no common strategy. You just need to be comfortable with what you're doing and ask. They either say yes or no. I'm picking up a roll from the lab where I did my first batch of people shots. Only one person said no, and it wasn't weird.

Now for scanning, which I am way behind on (and India is still in the queue).

January 5, 2011

Paul Soldner, Dead at 89

Paul Soldner lived a long and fruitful life.

He was definitely an early influence on my ceramic education. For some reason, I have a vague memory of him naked... and a clay mixer. Hmmmmm...

January 3, 2011

Language Constructs

I had a very difficult time in my English classes. In fact, there was a period where I simply refused to attempt any writing assignments due to the stress I caused myself. This was the primary reason for many failed classes in high school. Thankfully, I managed to graduate and go on to do much better in college.

It was during 2005 I began programming and a surprising result has been a better appreciation in how the English language is defined and used. Like human languages, programming languages can be broken down into similar constructs of nouns, adjectives, verbs, etc. It's not something I've looked into (someday I will), but I find that common devices in modern programming languages can be compared to simplified examples in human languages.

So yesterday, Elizabeth and I were discussing using the phrase "that that" in a sentence and how awkward it sounds in conversation, even though it's grammatically valid. When writing, I normally try to substitute "which" for the latter "that" (I'm usually not deft enough to do the same in conversation). The unintended side effect though, is the substitution can end up making the sentence read a little too formal and out of character. Most people I know, including myself, rarely use the phrase "that which" in conversation. Not that I judge a good writer by how well their writing mimics conversation, but formalities can interrupt and/or ruin otherwise good prose.

Interested in how this phase functions in a sentence, I looked up the definition of "that". I learned the first instance of "that" serves as a pronoun, while the second as a conjunction.

Take for instance this conversation:

Speaker One:

Why are you are always disrespectful towards me?

Speaker Two:

I'm not. You're just not smart enough to know when I'm right.

Speaker One:

See? It is that, that I'm talking about.

The first that, the noun, is referring to Speaker Two's answer of I'm not. You're just not smart enough to know when I'm right..

The second that, the conjunction, acts as the clause connector, connecting It is that with I'm talking about.

To help me remember how these constructs work I like to try and relate them to something in the world of programming. It usually helps regardless of if I can find any similarities.

Here what the conversation would look like as a hypothetical javascript program:

/*
================================
= Define our variables upfront =
================================
*/
var pronoun = null;
var conjunction = "that";

var speak = function( message ) {
	alert( message );
};
	
/* speakers */
var Ryan = {
	role: "Speaker One",
	speak: speak
};

var Chris = {
	role: "Speaker Two",
	speak: speak
};

/*
==========================
= Begin the conversation =
==========================
*/

/* Ryan defines and speaks his question */

Ryan.question = "Why are you are always disrespectful towards me?";
Ryan.speak( Ryan.question );

/* Chris defines and speaks his answer */
Chris.answer = "I'm not. You're just not smart enough to know when I'm right.";
Chris.speak( Chris.answer );

/* Redefine the pronoun to refer to Chris's answer */
pronoun = Chris.answer; 

/* Now Ryan defines and speaks his response */
Ryan.response = "It's" + pronoun + conjunction + "I'm talking about.";
Ryan.speak( Ryan.response );

To take this comparison even farther, you could find parallels for nouns, adjectives and verbs in the above program.

Nouns

Each speaker is "typed" as an Object. Not as in "typed on a keyboard", but as in the speaker's value is of the Object type. In English, each speaker would be typed as a noun.

Adjectives

A word that describes or modifies a noun is considered an adjective. Similarly, the properties and methods (referred to as members) of an Object can describe and modify that Object. Our speakers each have a role property to describe the part they play in the conversation.

Verbs

A verb describes an action or occurrence and in the beginning of the above program, the function named speak does just that. Instead of running speak on as a standalone (via speak()), I decided to create a speak member in each speaker and use the standalone speak function as its value. This effectively creates a method (used as Ryan.speak()). Now, each speaker can have its own voice.

The speak function takes one argument, message, which is the value passed into the parenthesis used to execute the function. The function simply calls alert, which creates a little browser notification dialog.

While I didn't set out to write a introductory to programming, It's nice to finally write down the way I think about these things. At least I can point to it when my friends want some sort basic understanding of programming, which is never, of course.

December 29, 2010

Veggie Burger Beginnings

For the past two Christmas Day dinners, Elizabeth and I have taken on making a new dish. It's become our little tradition since we don't normally travel to our respective families for the holidays. This year Elizabeth made a delectable apple pie and I made 5 mounds of veggie burger slop.

As a long-time vegetarian and lacking a tried and true veggie burger recipe, I've suffered through the store bought varieties and vicious bullying from hippies for too long. But a week or two ago I had a mind-blowing veggie burger from The Griffin in Loz Feliz. This thing was heaven wrapped in a grilled cheese sandwich (which was the bartender's recommendation) and it cemented my decision that a veggie burger would be this year's immaculate conception and awesome spicy beans will have to wait till next year.

My work started on Christmas day at 3pm (at the grocery store, which took me 2 hours) and dinner was served at about 12:30am (so it was actually a day-after-Christmas Christmas dinner). E worked on her's, along with the sides, while I mad-scientist-ed my way through 4 of the 5 recipes, cutting, mixing, food processor-ing, onion-crying, dish washing, and repeating. There was no time for the fifth and I had to throw out the finished fourth mix because of adding 1 tbsp of concentrated veggie broth instead of the 1 tbsp of "instant veggie broth" that was listed. E was like "honey, that stuff's concentrated, which makes a big difference". To which I replied "no way, it's all the same. I'm sure simply wrote it down incorrectly. It'll be fine". Yeah, it wasn't fine.

For most of the spices and seasonings listed, I had little or no idea of their taste and contribution, especially when mixed with other unknown ingredients. Take for instance Gravy Master, I've never heard of the stuff. Well, now I know that mixed with soy sauce and vegetable bullion it will be pretty overpowering due to all three having basically the same taste and high sodium content.

The problem was the process in which I came to the 5 recipes. Starting with 10 I found online and loaded into a spreadsheet, I proceeded to combine the deltas of similar listings, based on the main ingredients of beans, rice, oats, potatoes, tvp or tofu, into 5 golden recipes. I thought it was a good idea, but instead it caused the births of 5 horrible Franken-burger mounds. In the hands of someone with more experience this might have worked, but I was not Him.

So, determined not to give up, I did some more research and thought this recipe looked pretty good. Leaving out the ingredients I didn't have, I halved the amounts to get the following:

1/2 egg 1/4 onion, diced 1/2 cup bread crumbs 1/4 tsp cayenne pepper 1 cup can black beans, drained

I cooked this baby up, miniature-style, topped it with cheese, salt, black pepper and mustard and wrapped it in a toasted little wheat bun. Although a little plain (due to little seasoning), it was pretty tasty and had good texture and consistency. Much better than the last attempts.

With a mind to fix the plain taste, I went to the spread of seasonings and spices left out from Christmas day (I have no cupboard space for all this shit) and started smelling things to gauge their effect on the taste I still had in mouth. While a little strong and sweet in the bottle, the BBQ sauce talked to me, "Just put a razor-thin coating of me on there and I promise it'll rock you world" it said. I listened and so another mini-a-fied burger went into a bun, substituting the mustard with the recommended razor-thin coating of BBQ sauce (I used Bull's-Eye Memphis Style as it was the only option with real sugar instead of HFCS).

The little voice in that bottle wasn't shitting me, this burger was awesome. I even took a photo to capture its beauty.

I'm pretty excited and so I'll be trying other additions to this base (including the grilled cheese wrapper!) and will update this post with any successful additions. Any recommendations will also be welcomed.