Involution.com is sold!
The funds cleared today. I’ll no longer be posting here. (Not that I was posting that often anyway). It’s been a wild ride. I bought the domain on November 3, 1998 according to Network Solutions and it’s served as my personal presence site ever since then. Not sure where or if I’m going to migrate to another domain or not as of yet though.
Experimenting with the Photojojo 0.48x Wide-angle Converter
The Photojojo 0.48x wide-angle converter is a decent lens accessory. While it’s a bit more suited to lens diameters in the 52mm to 58mm range, the tilt-shiftesque fringing that it added to shots taken with my Canon 15-85mm IS USM, 72mm diameter lens produced an interesting aesthetic. With that lens, a focal length exceeding 25mm was necessary to capture a full APS-C frame that wasn’t partially occluded by the ring adapter.
This shot was taken at a 73mm focal length and shows the edge fringing clearly. At these higher zoom-levels, manual focus was absolutely necessary because the fringing wreaked absolute havoc with the autofocus.
The shot above was taken at 35mm and doesn’t exhibit as much distortion from the wide-angle converter. I applied a Filter Forge 3 frame to make the fringing at the edges less noticeable. It was taken from the roof of 1535 Mission Street which is right at the intersection of Van Ness Avenue in San Francisco.
Upgrading to Rails 3.0.8
This was fixed in 3.0.9.
If you’re using js views and partial html replacements, Rails 3.0.8 was totally broken. Right after the 3.0.8 release, 3.0.9rc1 was released which partially addresses the problem. But, after upgrading, you have to wrap every escape_javascript call with raw() if you want your javascript to replace HTML. This was absolutely _not_ the case with 3.0.7.
So, escape_javascript('<img src="lolcat.jpg" />') becomes raw(escape_javascript('<img src="lolcat.jpg" />')).
This can also be accomplished by monkeypatching escape_javascript like this in application.rb.
def escape_javascript_with_workaround(javascript)
raw(escape_javascript_without_workaround(javascript))
end
alias_method_chain :escape_javascript, :workaround
Ingleside Racetrack and the Entrada Court Sundial
After our epic 7 mile hike around Blithedale Summit Open Space Preserve in Mill Valley yesterday, Rachel and I managed to muster up enough energy to organize a one mile walk around Urbano Street today in the little Ingleside Terrace neighborhood in San Francisco. Where we live in SF is only about two miles from Entrada Court. So, it’s rather sad that in the four years that we’ve lived in the city we hadn’t gotten over there to explore the neighborhood built around a racetrack. You can see the outline of the track in the GPS tracks we followed along the walk.
That circle in the middle of the track is Entrada Court. There’s a massive concrete sundial constructed right in the center of an elaborate garden. I took six pictures there with my iPhone 4 and merged them into a panorama with Photoshop (and filling in missing parts of the sky with Content Aware Fill (don’t ask)). What’s amusing is that the girl on the bike just kept riding in circles around Entrada Court over and over again. So, she appears in the panorama four times. Rachel is also standing there in the far right of the picture being annoyed that I was getting in the way of her taking a picture with her Panasonic TZ10.
The base of the sundial is now filled in. But, originally, it appeared to have a circular reflecting pool beneath it with two bronze seals and colored lights with grass growing around the perimeter. Now, the entire perimeter is concrete and the roman numerals are colored.
You can see the current state of the hour markers here. We also noticed that the shadow appeared to be a bit early on the dial. Perhaps this is due to the solar noon of San Francisco being slightly off during the winter months.
The Bay Citizen recently published an article (picked up by the New York Times here) elaborating on how the sundial was constructed to lure people into buying homes in Ingleside Terrace. In it, they describe the christening of the dial.
The sundial was dedicated on the evening of Oct. 10, 1913, at a lavish event with 1,500 people in attendance. After children dressed as nymphs unveiled the sundial and four surrounding columns, a midnight supper was served, and couples danced until dawn.
Unbeknownst to the revelers in 1913, the sundial itself would not be scaled by human feet until November 2009 when intrepid Flickr user yelserpluapnaes literally rose to the occasion by running full speed straight up the face of dial.
FoundSF has an article and a picture from the early ’20′s showing the dial surrounded by a cavalcade of cars, a large truck filled with people, a large estate, and five largish houses.
The article on FoundSF with the photos from the 1920′s appears to be incorrect though. Horse racing ended at the track in 1898 because it became illegal to gamble horses and then automobile (i.e. “loco-mobile”) racing stopped in 1905 for business reasons. Starting in 1910, Ingleside Terrace was built around Urbano Street which was the old race track. Outside Lands has a picture of horse racing at the track in the late 1890′s courtesy of Greg Gaar.
Outside Lands has another article about the auto racing with a great shot of the “loco-mobiles” from 1900 here.
San Francisco has quite a number of incongruous sites like the Ingleside Sundial. However, I’m slightly dismayed that it took a New York Times article to alert me to something that’s a mere 10-minute-bicycle-ride away from my house.
Chuck Lorre Vanity Cards
Chuck Lorre maker of “Dharma and Greg” and “The Big Bang Theory” managed to sneak a series of subliminal vanity cards into his sitcoms.
After reading a number of these, I’m convinced that Lorre is an artist of the highest order forced to slum in the sitcom ghetto for his day job. His hidden vanity cards reveal the few scant frames of flickering truth shone through the Devil’s dream box each week.
My favorite so far is this…
I believe that the very act of believing in something causes us to distance ourselves from that thing, thus a duality is created: oneself and the thing in which one believes. Now since we all know that in order to fully understand a thing one must be that thing — walk a mile in its shoes so to speak — it seems obvious that the state of believing in something inevitably causes us to not truly understand that thing in which we believe. This noncomprehension leads to all sorts of difficulties. “I believe in love” has a better than even chance of leading to divorce, while “I believe in God” seems to end in variations on the Spanish Inquisition. But — and it’s a big but — if one were love, one couldn’t help but be affectionate and caring towards oneself and others. If one were God, one would act toward all beings and all things as if they were one’s own creations. And that, my friends, is the secret of life in a two-second vanity card. Of course, the secret could also be “Sit, Ubu, sit.” We have to keep an open mind.
Adobe Photoshop CS5 Write Perimissions Error on Snow Leopard
My upgrade to Adobe Photoshop CS5 on OS X 10.6 (Snow Leopard, 10.6.3) has been a complete shambles. Any operation involving writing to the temporary disk like “Save for Web & Devices” would only result in an error dialog reading “The operation could not be completed: A write permissions error has occurred”.

Also, on exit, CS5 would reliably crash with the error: “Could not save Preferences because the file is locked or you do not have the necessary access privileges”.
Fortunately, I’m not the only early adopter suffering from this problem. The issue appears to be that Adobe’s DMG installer incorrectly sets some permissions under ~/Library/Preferences.
What cleared up this issue was executing the following command ( in Applications -> Utilities -> Terminal ).
sudo chmod -R u+w ~/Library/Preferences
These are the specific directories that were errantly set to read-only after my CS5 install.
~/Library/Preferences/Adobe/Extension Manager\ CS5
~/Library/Preferences/Adobe Photoshop\ CS5\ Settings
~/Library/Preferences/ExtendScript\ Toolkit
CNet has an article mentioning other directories that can sometimes be affected. So, if setting only Preferences didn’t work, you can try the following.
sudo chmod -R u+rw ~/Library/Application\ Support
sudo chmod -R u+rw ~/Library/Adobe
TextMate is an application downloaded from the Internet.
I got the dreaded “TextMate is an application downloaded from the Internet” error again after manually upgrading to the latest version on Snow Leopard.
The fix is quite simple, but rather hard to find in the first page or so of Google results. All that’s required is a single xattr.
sudo xattr -d com.apple.quarantine /Applications/TextMate.app
Using FORCE INDEX with Rails
Avoiding a full table scan when performing a MySQL query with both an ORDER and a WHERE clause is more difficult than you would think. This is especially true if you’re only selecting a subset of the table from a foreign key.
First off, you must add a compound index with the order column first. If the index is constructed with the column used to order the table last, the index will not work as expected.
add_index :posts [:created_at, :blog_id]
Next, you have to specify the index in the ActiveRecord call with USE INDEX or FORCE INDEX or else MySQL will not use it by default.
named_scope :ordered, {
:from => 'events FORCE INDEX (index_posts_on_created_at_and_blog_id)',
:order => 'created_at DESC' }
The Rails add_index method names the MySQL index as index_table_name_on_column_1_at_and_column_2 by default. If you want to list the indexes available for your database, you can perform the query: SHOW INDEXES to investigate.
It’s possible to test the index by copying the MySQL queries from your Rails log and prefixing them with EXPLAIN or EXPLAIN EXTENDED. Using either of these will display the number of rows searched for each query. If your query is scanning more rows than you’ve selected, that is a clear sign that the index your using is either not being used or incorrect.


















