The Accidental Pornographer

The visual pun was irresistible: "The Muddy Bottom: more than just mud." I pulled out my Canon Elph and snapped a few photos with the exhibit sign in the foreground and the squatting, ass-crack-flashing employee in the background. This is how I became an accidental pornographer.
As much as I hate to admit it, I want a little fame. Just a smidgen. I get this fix by taking photos and uploading them to Flickr, tagging and organizing them with an eye towards maximum visibility. If I take a photo of the Golden Gate Bridge, I'll name it such, tag it with "Golden Gate Bridge", goldengatebridge, and ggb, then add it to as many Flickr groups associated with the famous span as possible. Each evening I eagerly scan my Stats and Recent Activity pages to see how times my photos were viewed and whether anyone has commented upon or "faved" them. Perhaps someone even added me as a Contact and will be notified of my future uploads! Oh boy!
The real buzz for me is when I take a photo that I feel is interesting to San Francisco locals: MUNI fiascos, parking travesties, fanboys camping outside the Apple store for days (really), or even beautiful city sunsets. For these I add the coveted "sfist" tag, whereupon my photo will automatically appear in the Contributor section of SFist.com, a hyper-local blog catering to the San Francisco scene. And if my photo is deemed worthy, the Deciders at the SFist will promote it to the home page or perhaps even label it the Photo du Jour (score!), a micro-validation of my wit and artistic ability. My stats will spike!
This 15-seconds-of-fame thinking ran though my mind at the California Academy of Sciences' "The Muddy Bottom" exhibit. The exhibit's purpose is to teach us how the mucky, nasty sea floor is teaming with life that is essential for a healthy ecosystem. Life as we know it depends upon the muddy bottom! Which is exactly what the low-rider wearing female employee was telling tourists as she squatted at the water's edge, displaying 5 full inches of crack and about half of her cheeks.
The Muddy Bottom. "More than just mud". Miles of butt-crack. My head exploded. My camera shutter snapped.
About one hour later I was distributing soft-core, though I didn't realize it at the time. You could not see the employee's face or any other distinguishing features (well, too me, anyway,) so I uploaded 3 crack-tastic photos to my Flickr account, tagged them "buttcrack sfist," and watched my view counts go up. And up. Several users added me to their Contacts and added those photos to their Faves; oh sweet, sweet popularity! Who were these appreciative viewers? I started checking out the people who doing the Contacts and Faves thing, and I kept getting the same warning:

So-and-so's photostream fall outside your current SafeSearch filter. You can click through to see them if you want.
What's this? This warning is presented to browsing users to prevent them from seeing something they might find offensive, such as adult-only content. Porn. What's up with that? It didn't take me long to figure out that the people who dug my snarky Muddy Bottom photos also hosted adult content their Flickr accounts.
Then struck me: I had become an accidental pornographer. Because of me, dudes with science-museum-employee-butt-crack fetishes might be... you know... doing stuff. I felt icky. Initially I changed the Safety Level of the photos from "Safe" to "Moderate," but then I realized that this was only reinforcing their unsavory nature. Was my photostream also outside most people's SafeSearch filter? Am I an "outside your current SafeSearch filter" kind of guy? No, no I'm not. The only decent thing to do was to delete the photos, which had been viewed over 400 times.
I can hear the rational part of my mind arguing that I didn't do anything wrong: the girl at the museum was flashing her ass around to hundreds of people; she cannot expect a right to privacy in a public place; she was an idiot for wearing those pants; more flesh is displayed on reality TV shows than what I photographed at that exhibit, not to mention Mardi Gras or any given day in Las Vegas. All valid arguments. But, for me, they do not stand up to the gut test. My gut says that I should not have uploaded those photos, and deleting them was the right thing to do. Yes, the photos are out there now, since anything that's on the Internet for a nanosecond is there forever, but I tried to hinder further distribution (even the word "distribution" sounds dirty.)
I feel that I have learned a lesson: sometimes it's hard to know where the line is between your own personal right and wrong unless you cross it. I crossed my line because I desired to seen as witty, artistic, and even a little Internet famous. I'm better than that. I'll use better judgement from now on. Sure, I'll sill bait the SFist, but not at the expense of others, even if they don't know it.
Free Safari Books Online with your Library Card

Have you heard of Safari Books Online? Geeks love it. It's a service that lets you "search across more than 4000 leading books simultaneously" by either downloading or browsing the (mostly computer programming) books online. Offered y O'Reilly Publishing, the service costs $23/month or $43/month, depending on how many books you need access to at the same time. But, if you are a member certain public libraries, such as the San Francisco Public Library and Seattle Public Library, there service is free*. Damn, I love a good deal! Here's what you do:
- Get a free library card from the San Francisco Public Library
- Go to the SFPL ebooks page and hit the Safari Techbooks Online link.
- Enter your library card number when prompted and start browsing!

* Libertarians can shut up about how my tax dollars were illegally used without my permission.
Best Google Chrome Comic Panels
Here are the panels from the Google Chrome comic that either intrigued me or made me laugh.

Extra! Extra! Read all about it! Google decides to rewrite something from scratch!

Ouch! Take that, Firefox! And doesn't that guy look just a little like Firefox CEO John Lilly? 

Downloading the entire Internet, also known as Web 3.0

Extremely violent reaction to an application's feature. Clearly this man works for Pivotal (please don't fire me.)

No need to use that crappy iGoogle anymore. Oh, wait…

Finally someone else uses the term "hosed."

Clearly not San Francisco malware, as it would never have apologized for letting it's dog drop a steaming pile of poo on sidewalk. Have you been to the Haight?
Sentinels of the Palouse
  
On August 3, 2008, I drove from Spokane, WA to Lewiston, ID, and chronicled the transformation of the Inland Northwest skyline by the harbingers of modern communication: the cell phone tower. These sentinels have joined grain elevators and power line towers in watching over, or rather listening over, this farmland.
Check out the full "Sentinels of the Palouse" Flickr set.
More Evidence of the Smalltalk Conspiracy Against Ruby on Rails
Now even The Google is involved!

This is the Reason YouTube was Created
<object height='355' width='425'><param name='movie' value='http://www.youtube.com/v/YLDbGqJ2KYk&hl=en'></param><param name='wmode' value='transparent'></param><embed type='application/x-shockwave-flash' src='http://www.youtube.com/v/YLDbGqJ2KYk&hl=en' height='355' wmode='transparent' width='425'></embed></object>
SFGate.com Article Written Entirely in Spam-Speak Gets 1000 Comments
Ok, only 921 comments so far. Genius.



Enable Your Extensions in Firefox 3
... because I keep forgetting how.
There is no guarantee that your Extensions will work, but they will try. For example, Gmail Manager has some display issues, but it's good enough.
- Type about:config into Firefox's address bar and click the "I'll be careful, I promise!" button.
- Right-click anywhere. Choose New>Boolean. Make the name of your new config value extensions.checkCompatibility and set it to false.
- Make another new boolean pair called extensions.checkUpdateSecurity and set the value to false.
- Restart Firefox.
Thanks, Lifehacker!
Newspapers: The Killer App?
In my article The User-Generated Content Game I talked about how facinated I am by SFGate.com's ability to inspire users of the site to comment on their new article, generating massive amounts of valuable user generated content (UGC.) I regularly read the site and check out the number of comments. Today, I was floored once again.
The Olympic Torch made it's only North America stop today in San Francisco, and with a clever switcheroo the city announced one official route, but took the Torch on another route to avoid protesters. When I found the SFGate article about this, "Torch leaves S.F. after surprise route shift", the article had 1668 comments at 8:33pm.

Here is the progression of comments between 8:33pm and 10:05pm.

9:00PM: 1759 Comments.

9:22PM: 1801 Comments.

9:33PM: 1818 Comments.

10:05PM: 1885 Comments.

187 Pages of Comments. Whoa.
My point is, the comments just keep flowing in. People are reading and replying and taking a deep interest in the conversation. I wish every application that I've worked on had as involved a user base as this. While this is an oversimplification, SFGate just put newspaper articles on the site and let people talk about them. The killer app.
04/11/2007 - Update
2 days later: 2172 comments.

Mac Attack: Making iTunes Find Those Original Files (Especially on a NAS)

Update: you will need to install Growl if you do not already have it installed.
Even though iTunes is slightly better about loving NAS drives than it used to be (see my post Mac Attack: Vantec loves America, OS X 10.5 Leopard) life is not perfect. For me, once my Mac loses it's connection to the NAS, such as after waking from sleep mode, iTunes cannot find the original files, even though they are there. The error reads "The song xxx could not be used because the original file could not be found. Would you like to locate it?"
After quite a bit of investigation and trial and error, I'm not sure who's fault it is: it might be the NAS's fault, based on my "solution:" if I list all of the files in the My Music folder on the NAS, iTunes can find them again -- that is, all I need to do is acknowledge their existence and things start working.
My NAS is named "VAULT." Using the Terminal, I executed the following:
ls -R /Volumes/VAULT/My Music/

File and folder names streamed by for about 30 seconds, and when it was done, iTunes was able to find the original files again. Great!
Automator It
But, I wasn't satisfied -- I wanted something I could run from within iTunes to fix this when it happens. I decided to fire up Automator and create a little app that would do this for me. Jump to here to download "Find Original Files.app", but to use them you will need to edit the two files within and change some stuff (more on that later). If you'd rather make your own instead of editing my version, here's how:

- Open Automator and create a new, blank workflow
- Optional: Add a Show Growl Notification Action with a handy message, such as Title: "Repairing iTunes Library..." and Description: "This might take a few minutes"
- Add a Run Shell Script Action and add "ls -R (location of your iTunes music folder)" -- example: "ls -R /Volumes/VAULT/My Music/"
- Optional: Add a Show Growl Notification Action with a finishing message, such as Title: "Done!" and Description: "Hopefully your iTunes library is fixed."
- File - Save As - Application. Give it a name and Save it in
/Users/(your user here)/Library/iTunes/Scripts. Create that directory if it does not exist.

Unfortunately, iTunes will not let you run Automator apps or workflows from within it, but thanks to Jason Kacmarski's Apple Discussion response to "How do I get automator scripts into iTunes? Very frustrated" I was able to figure it out: create an AppleScript script to launch the Automator app.
- Launch Script Editor
- Add the following, substituting your application name and your folder names where appropriate:
tell application "Finder"
activate
open application file "Find Original Files.app" of folder "Scripts" of folder "iTunes" of folder "Library" of folder "(your user here)" of folder "Users" of startup disk
end tell
3 . Save this to /Users/(your user here)/Library/iTunes/Scripts
Now when you launch iTunes, you should see a little "Script" icon on the menu bar with your application it.

Find Original Files.app

Good luck, and I hope it works for you. Here is a zip file with my version if this little helper app. Unzip the following to /Users/(your user here)/Library/iTunes/Scripts.
find_original_files.zip
Remember: you will need to edit "Find Original Files.app" in Automator and "Find Original Files.scpt" in Script Editor to fix the appropriate directory paths for your particular setup! Also, if you get a Growl error, you will need to install And you might need to install will need to install Growl, too.
The User-Generated Content Game
Question for you: as of 10:30pm on March 3, 2008, which of the following blog or news posts from today have the most user-sumitted comments?
Maybe you can spot the dark-horse winner here, and maybe you can't. I'll make it a bit more clear: boingboing.net, techcrunch.com, huffingtonpost.com, and icanhascheezburger.com are all in the Technorati Popular top 10 blogs. sfgate.com, on the other hand, is not ranked in the top 10, nor even the 100. Readership-wise, it stands to reason that the vague, 4-sentence article about a horrible road-rage incident in Oakland, CA should not be as commented upon as today's most popular articles from top-10 blogs. So, how did this little local article stand up?
- Do coat hangers sound as good as Monster cables? (boingboing.net) - 46 comments.
- Marc Andreessen For Obama (techcrunch.com) - 110 comments.
- The $3,000,000,000,000 War is a Domestic Issue (huffingtonpost.com) - 156 comments.
- Ceiling cat makes his glorious appearence in da sky! (icanhascheezburger.com) - 180 comments.
- Man on life-support after being beaten following a car crash (sfgate.com) - 197 comments.
But wait! Here comes the M. Night Shyamalan surprise twist of an ending -- how did today's SFGate's article "State Supreme Court takes up same-sex marriage" do?

635 comments in one day. That's 64 pages of juicy user-submitted content to be ad-targeted, sold, and/or data mined. Internet gold.
SFGate, really? I read SFGate on a regular basis and have gotten into the habit of looking at the article's comment-counts. I'm continually surprised at the amount of user-contributed comments for what is basically the digital version of the printed newspaper. Plus, these are local stories, not reprints of national or international AP articles. Personally I think this is really big. Somehow, someway, "S.F. braces for major health care cuts" (86 comments) got over twice the comments today than celebrity gossip "Lindsay [Lohan] Invites You Into Her Mystical World of Tattoos" (40 comments.) in our celebrity-obsessed world. The same-sex marriage article was written by Bob Egelko, Chronicle Staff Writer, not celebri-blogger Michael Arrington or professional pundit and one time California gubernatorial candidate Huffington. Nope: Bob wrote it, and his article probably generated more direct user feedback than any of the other "regular" blog out there today.
(I'm intentionally punting on the Digg issue: sites like digg.com generate massive amounts of user contributed content.)
So what's going on here? What's different? Is it the newspaper? People love the paper. Is it that people are invested local issues? Today's story about local computer programmer Hans Reiser's murder trail has generated 91 comments, up from 86 from 10 minutes ago, and 83 about 10 minutes before that: it's 11:30pm PST time and people are reading the newspaper, then the comments, and adding to the conversation.
And now midnight: 94 comments.
This really fascinates me. People are very invested in this local news site in a way that seems to keep up, if not beat (in the user-generated content game), many niche sites out there that appeal to people's specific passions (read: Long Tail): gadget sites, computer programming humor, hockey, knitting. Maybe that's the answer: it's not different at all -- the San Francisco Bay Area is niche, too. But I suspect that people care more about it than other niches, since those of us that live here can walk outside and see our fellow SFBA-niche enthusiasts walking down the street, eating in restaurants, trying to park, and bitching about MUNI. How many Lindsay Lohan lovers have you spied today?
Poor image spacer...
So sad...

Mac Attack: Automatically Importing Screenshots into iPhoto
Ok, so, I'm about 5 years behind the curve, even though I'm a supposed professional Web 2.0 developer, but I'm just now getting into Flickr. Also, I really like taking screenshots of interesting things using CMD+SHIFT+4 and uploading those to a "Screenshots" Flickr photoset. Here's what I wanted to do to to feed my Screenshots Flickr set: Take a screenshot and have it automatically imported into iPhoto, and then upload it from iPhoto to Flickr. Will it "Just Work?" No, it does not. See my rant here.
Save Screenshots in a Special Folder
Download Deeper. Deeper is a Mac app that let's you tweak many hidden settings for your Mac. The only one I use is customizing the name of screenshot images and the location to which they are saved. I save my screenshots in [me]/Pictures/screens/ and each one is prefixed screen.
Automatically Import into iPhoto
iPhoto cannot "watch" a folder and automatically import images dropped into it. Instead, and disappointingly, you must become a pseudo-programmer and create an Automator workflow to perform this action for you. Automator is a program that lets you create workflows to, well, automate repetitive tasks, such as importing images into iPhoto. Here's what you do:
- Download Deeper, mentioned above, and configure it to save your screenshots to a Folder. I chose
Pictures/Screens

- Open iPhoto and create an album to hold your screenshots. I called it Screens, too.
- fire up Automator, which lives in
Application/Automator and create a new Custom workflow.
- Add "Get Specified Finder Items" to the list and use the
Add... button to add the folder where your screenshots will land when created

- Add "Import Files into iPhoto" and choose
Existing album and Screens
- Save it as a Folder Action:
File - Save As Plug-in... and give it a name.

- Choose
Plug-in for: Folder Actions and Attached to Folder: screens or wherever your folder new screenshot folder resides.
Now, take a screenshot and see if iPhoto fires up and imports the image. If so, great! If not... well, maybe I messed up, maybe you did. I'm that helpful.
iPhoto Sucks
It will not Just Work. Why? Mostly because iPhoto is the single worst Mac app ever written. I love my Mac. It rocks. Wouldn't give it up. But iPhoto is just about the most counterintuitive and restrictive app Apple has ever written. It does not Just Work. I could go on and on and on, and to their credit iPhoto '08 has copied many feature from Picasa, my favorite photo management app (Windows only :( ). Perhaps one day I will enumerate everything wrong with iPhoto, but right now I wont.
Why? Because I don't know. That's the thing about Just Works: it Just Works: you really don't know why. It is the principal of least astonishment: you should not be surprised by whatever happens when you use a program. It's not that you are happy, it's that you are not unhappy. With iPhoto, I am constantly astonished. When I hit the ESC key, I usually say to myself "Whoa, what was that?". Tab? Surprised. Right-click? Surprised by what is not there. Multi-select images to batch-process them? Good luck.
And integration? Not with Flickr or any other non-Apple photo site. Ordering prints? From Kodak only.

Time Breakdown of Modern Web Design
From http://www.vilain.com/web-design.html

|