Monday, October 22, 2012

Loves Old & New

As a photographer, I remember my first true love; my good friend Godfrey took me to Adorama Camera where I deliberated, haggled, and eventually purchased a used Canon A-1.  There were others to be sure, like many boys my age I was no stranger to a Pentax K1000, though even she wasn't my first--those cherished, awkward, summer memories when an eleven year old was seduced by a much older Argus C3. Through the years I also have had brief flings with a Minolta (I swear I was only interested in her auto-focus!) and an exotic Зени́т ЕТ, but my first true love was that A-1.
Three of my favorite old school SLR cameras:
Canon A-1, Зени́т ЕТ, and Argus C3

To my mind, a good, fun camera allows one to focus on the important elements of a photograph with the option of leaving other choices up to the camera's programming or full manual control. This was the main thing the Canon A-1 offered over her competitors.  Debuting in 1978, the A-1 was a middle sister to Canon's AE-1 (1976) and AE-1 Program (1981). All three cameras allow full manual control though only the AE-1 Program is a true point-and-shoot camera; the A-1, however, offered a brace of features I simply could not resist: aperture priority and shutter priority. Aperture control is essential for managing depth of field whereas shutter control regulates exposure time. Controlling one or the other is a nice convenience in many common photographic scenarios.

Alas, such things are not meant to endure, even true love couldn't stand against the Digital Revolution. By the millennial change, I was busily commuting to NYC dot-coms and my photographical  pursuits had waned, only to be fiercely rekindled when I purchased a Canon EOS D30. Ah, such freedom! No longer was I chained to rolls of exposures evenly divisible by twelve. I began hoarding compact-flash cards and started shooting everywhere and anything. My sometime hobby began to resemble an obsession. My skill increased dramatically, and before long I was being asked to shoot specific persons, places, and things by those who had come to know me as a serious shutterbug. I would eventually do some professional work, including product shots for Condé Nast's Teen Vogue, but I will always consider the best of my D30 years as those I spent "guerrilla shooting" in the parties and streets of NYC.

I knew a 3.5 megapixels affair could never last, early digital SLR models all suffered sundry issues, and even the economic downturn only delayed the inevitable; in 2006 I decided I had enough and purchased an 8.0-megapixel Rebel XT. Whereas earlier DSLR models often seemed the red-headed stepchildren of the prosumer market, Canon's Digital Rebel series seemed to welcome them back to the fold. Sadly, theses digital cameras only partly achieved the existential sense of fun and wonder I recall of my A-1, perhaps a pointed illustration of H. L. Mencken's quip: "A man always remembers his first love with special tenderness, but after that he begins to bunch them."

Earlier this year I took another look at Canon's Rebel line; I noticed that significant improvements had been made over my aging XT, though in recent models development seemed to be oddly focused on video features. I read through specifications and reviews, eventually deciding the best balance of photographical improvement and price seemed the Rebel T2i, a 17.9-megapixel DSLR with nine point autofocus, and a spacious three inch LCD. I quietly drooled over this thing whilst my lovely wife conspired with family members to ensure I had it for my forty-second birthday.

Now that I've had a chance to spend some quality time, up close and personal with my new Rebel, I am happy to report that this camera is more fun than I expected, I daresay it compares more than favorably with my beloved A-1. I'm still learning all the nifty things it can do that my XT can't, but it's already clear that the Rebel T2i is a very fun camera.

When I told my sister Lynn that I had been researching cameras and determined my best available choice, she noted that my niece had recently purchased her first DSLR; to my proud astonishment, Elisa also chose a Rebel T2i. I hope she will remember it as fondly as I recall my true loves.

Wednesday, September 19, 2012

Sub-Context of a Dream

Upon awakening this morning I recalled having been dreaming of a conversation near a sunny window. For reasons which make best sense to an unconscious mind, I was attempting to explain the Nordic etymology of Gandalf’s Dwarven name to my wife and a cutout. (I commonly dream with “cutout” or “place holder” characters, who remain cloaked in faceless anonymity unless they interact) The focus of my dream was the frustration that neither was much listening to my clever linguistic analysis; Lysa’s excuse was an urgent need to empty her bladder—which seemingly vanished the moment she glimpsed a cherry tree in full blossom, just outside the sunny window. (The dream-imagery here was clearly plagiarized from Android live wallpaper)
android screenshot
Sakura Live Wallpaper

Of more interest to my waking self is the etymology therein, as I am always amused whenever I can recall the specific technical details of a dream. In this case, I had invented an (alternative) etymology for “Gandalf’s Dwarven name”. Note that I’m calling this a Nordic etymology because I am largely unfamiliar with Tolkien’s languages, nor do I actually recall the Dwarven name for Mithrandir/Gandalf. An quick check of Wikipedia reveals the truth of this, to wit: in the Khuzdul language of Tolkien’s Dwarves, the Grey Pilgrim is called “Tharkûn”; however, the “representation in English (anglicised from Old Norse)” is “Gandalf”. I suspect I was thinking of the former since I am aware of the actual Norse meaning which is “wand elf”.

The precise name wasn’t included in my dream, but I was giving the analysis as a tripartite Nordic compound meaning “(makes love) where ([he] works)”. My assumption is that I have some deep seated notion that old Gandalf had a thing for the bearded ladies.

Wednesday, March 30, 2011

Subversion Is An Old Man's Tool.

As Joel Spolsky put it: "Distributed Version Control is here to stay, baby”. If you've read Joel's stuff, you know he has a way of making sense — a quality of writing which can be tough to find on the Internet. As a Git user, I can't say Joel converted me, but he did get me thinking about why I too hung on to familiar ol' Subversion long after it's obsolescence. Rather than boring you with that, herein lies a minimalist guide to getting started with distributed version control.

If you are wondering about the Git vs Mercurial (Hg) debate, don't bother. Both work well and can even be used in tandem. The focus here will be on Git because it has alphabetical priority, and Joel has already written Hg Init: a Mercurial tutorial.

For experienced developers, the hardest part about learning Git is unlearning Subversion or other legacy VCS. Here are a few things to keep in mind (if you get bored, just substitute "jedi" for "repository"):

  • Any repository can be cloned.

  • Any repository can be a master.

  • Distributed VCS doesn't mandate distribution.

  • Local changes: checkout, commit

  • Remote changes: pull, push

A New Repository


Don't be put off the 'distributed' bit, git is perfectly happy to have just one folder — repository and working copy all rolled into one:
mkdir /srv/git/foo
cd /srv/git/foo
git init
# add some files
git add .
git commit -m'initial checkin'

So Git scales down nicely, but with shared repositories it is important to know that Git will grouse if asked to push changes to a destination where files are checked out. This problem is easily avoided with a bare repository, essentially a repository which cannot have files checked out locally:
mkdir /srv/git/foo
cd /srv/git/foo
git --bare init

Send in the Clones


Where git repositories already exist, new ones can be cloned; optionally, the new clone can be --bare:
# new working copy:
git clone ssh://user@gitserver/srv/git/foo
git pull

# bare clone:
git clone --bare ssh://user@gitserver/srv/git/foo
git pull

Go with the Workflow


Much of the Git workflow is straightforward, especially if your working copy was cloned from a (bare) master repository:
# get the latest changes
git pull

# make some changes
find . -type f -exec dd if=/dev/zero of={} count=1 \;

# oh crap! I just (sort of) Zeroed all my files
# no worries, just abandon the changes

git checkout .

# double check
git status

# make changes worth keeping
# ... then commit
git commit -a

# need to amend the last check-in message?
git commit --amend

# push local changes to master
git push


There's enough to jump in and get into trouble with git; to find out more, try the following resources: