FB Doug Meet

Search This Blog

Loading...

@mrjyn

October 14, 2010

Analytics whatgetsmehot.posterous.com/ 20101013 (Content by Title )

Subject: Analytics whatgetsmehot.posterous.com/ 20100924


----------------------------------------
This is a daily email from Google Analytics. You received this email because someone requested the report to be sent to you. You will receive the next report tomorrow. If you would like to opt-out of future email delivery from Google Analytics, please visit https://www.google.com/analytics/reporting/optout?token=Sh5L0CsBAAA.VnJJUvHUc...

Posted to See Ya At What Gets Me Hot via Dogmeat

Mrjyn

Erika Eiffel | Ask Jot

"Erika Eiffel" Yahoo Answers

Chosen Answer by candykane

I went on Youtube and it is called "You figure it out" It's an interview done by ABC Try searching: objectum sexuals

Chosen Answer by Mystic Stranger

i don't know that a priest would be necessary seeing as only one party has the ability to consent. i'm not even sure it can be properly called a legal union. i have to admit though that this is the most interesting thing i've ever read about

Chosen Answer by Carrie

Hi Faith, I saw a documentary on this last year and I don't think my jaw lifted off the floor for the entire hour it was on! It really was the single most bizarre thing I have ever seen! It's very disturbing. These people are depriving themselves of real relationships. I understand that their way of life makes them happy, but it's difficult to imagine how it can make them truly fulfilled over time.

"Erika Eiffel" Google

see more »

Erika Eiffel - Wikipedia, the free encyclopedia - Erika Eiffel. From Wikipedia, the free encyclopedia. Jump to: navigation, search . Erika "Aya" Eiffel, formerly Erika LaBrie, is an American woman who ...

Cached - en.wikipedia.org

Woman Proves Love for Eiffel Tower With Commitment Ceremony - ABC News - Apr 8, 2009 ... Erika Eiffel is part of a small group of people who have a sexual attraction to inanimate object. Eiffel proved her love for Eiffel Tower in ...

Cached - abcnews.go.com

YouTube - Objectum-Sexuality Eiffel Tyra - Hell, Erika Eiffel is way more successful and has done with her life than all of the people commenting on this video. International archery and sword expert ...

Cached - www.youtube.com

AyasArchery.com - Official Homepage for Aya Eiffel - Feb 22, 2010 ... Hello and welcome Aya's Archery webpage! You will find anything and everything relating to my pursuit towards world-class excellence in the ...

Cached - www.ayasarchery.com

"Erika Eiffel" Bing

see more »

Woman Proves Love for Eiffel Tower With Commitment Ceremony - ABC News - Erika Eiffel is part of a small group of people who have a sexual attraction to inanimate object. Eiffel proved her love for Eiffel Tower in a commitment ceremony.

Cached - abcnews.go.com/GMA/story?id=7283494&page=1

Erika Eiffel - Wikipedia, the free encyclopedia - Erika "Aya" Eiffel, formerly Erika LaBrie, is an American woman who famously "married" the Eiffel Tower in a commitment ceremony in 2007. She is a founder of OS Internationale, an ...

Cached - en.wikipedia.org/wiki/Erika_Eiffel

Meet 'The Woman Who Married the Eiffel Tower': Erika La Tour ... - Erika La Tour Eiffel's madly in love. Her partner resides in Paris and is the tall, strong and silent type. Yet since they married in a ceremony with friends in the City ...

Cached - www.nydailynews.com/.../03/09/2009-03-09_meet_the_woman_who_married_the_eiffel_to.html

Object sexuality - Wikipedia, the free encyclopedia - In Feb 2008, Erika Eiffel, an object-sexual from San Francisco, California founded OS Internationale, an educational website and community for those identifying or studying the ...

Cached - en.wikipedia.org/wiki/Object_sexuality

Install The Bookmarklet

Jot's specialty is finding types of keywords on web pages like people, companies, countries and many others. Save this bookmarklet Ask Jot to your bookmarks toolbar, click it while your at a page and Jot will find keywords on that page for you.

"Erika Eiffel"

' + result.responseData.translatedText + '
Hello, I am very glad to see you.
'; var text = 'Erika Eiffel'; // Detect the language of the text. google.language.detect(text, function(result) { // If there wasn't an error in the request //alert(result.error.message); if (!result.error) { var sourceLangCode = result.language; //alert(sourceLangCode); // This is the name of the callback function we will have called win the results are returned var callbackFunction = 'translateComplete'; // This technique below is called JSONP. We are going to add a script to the page // that has the src of the query we wish to run. When the query completes, it // will return JSON that will be passed to the translateComplete function var newScript = document.createElement('script'); newScript.type = 'text/javascript'; var source = 'http://ajax.googleapis.com/ajax/services/language/translate' + '?v=1.0&q=' + text; // We are going to translate this text to all possible translatable languages. // We will do this by looping through the languages enum, and checking whether // each one is translatable. // For the translatable ones, we will add a parameter to the script source to // denote that we want it translated to an extra language. for (var i in google.language.Languages) { var langCode = google.language.Languages[i]; if (google.language.isTranslatable(langCode) && langCode != '') { // That means we can translate to this language var newBatchParam = '&langpair=' + sourceLangCode + '%7C' + langCode; source += newBatchParam; // add a new language to be translated } } //alert(source); source += '&callback=' + callbackFunction; // Set our callback function. newScript.src = source; // When we add this script to the head, the request is sent off. document.getElementsByTagName('head')[0].appendChild(newScript); } }); } google.setOnLoadCallback(initialize); -->

Posted to See Ya At What Gets Me Hot via Dogmeat

Search for '39' - Posterous

i don't know. they're mine, but they were 30-second Bing previews

Cynophagie YouTube Channel Apture Super Embed

Google Tests Driverless Car Toon - I Test My First YouTube JWPlayer (Picasso Skin Embed) Side by Side via cynophagie

Google Tests Driverless Car Toon (Next Media Animation) cynophagie

October 13, 2010

Facebook Connect | How Authentic? | One more guy NOT addressing third-party users - Nettuts+

Lately, there’s been quite a fuzz about lazy registration. It turns out that the less the user has to think, the higher the conversion rates are! What a thought! If everybody seems to have a Facebook profile, why not add a one-click user registration? I’ll show you how to do that today.


Step 1. The Setup

MySQL Table

Let’s begin by creating a database table.

  1. CREATE TABLE `users` (  
  2.     `id` int(10) unsigned NOT NULL AUTO_INCREMENT,  
  3.     `oauth_provider` varchar(10),  
  4.     `oauth_uid` text,  
  5.     `username` text,  
  6.     PRIMARY KEY (`id`)  
  7. ) ENGINE=MyISAM  DEFAULT CHARSET=latin1;  
CREATE TABLE `users` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `oauth_provider` varchar(10), `oauth_uid` text, `username` text, PRIMARY KEY (`id`) ) ENGINE=MyISAM  DEFAULT CHARSET=latin1;

Quite simple: we will be setting up a table for user information with id, username, first and last name, the URL to the user’s picture, and registered date. Also, we’re adding both an oauth_provider and oauth_uid fields, to distinguish between different third party open authentication protocols and their identifiers. For example, let’s say that, next week, you decide that it’s a good idea to also let Twitter users in. Easy; you just set another value to the oauthprovider, and avoid duplicating oauthuid values.

The Facebook App

Let’s begin by creating a new application. Give it a name and agree to the terms and conditions. Next, grab both the API Key and Secret in the basic tab as shown below.

On the canvas tab, set both the Canvas URL and Post-Authorize Redirect URL to your localhost and path that the script will process — something like http://localhost.com/login_facebook.php?. Note the question mark at the end and the domain; both are required by Facebook. Simply set your hosts file to a valid domain name.

On the connect tab, set the Connect URL to the same value and set localhost.com (or the one you are using) as the Base Domain.

Now save, download the client library, and unzip facebook.php in the srcdir to a new directory created in the root.


Step 2. The Callback

The authentication flow has three steps:

  1. The local script generates a URL asking the user for permission
  2. Facebook returns to the Canvas URL specified with a GET parameter
  3. The GET parameter authenticates the session

Let’s make a quick test before registering and login.

  1. # We require the library  
  2. require("facebook.php");  
  3.   
  4. # Creating the facebook object  
  5. $facebook = new Facebook(array(  
  6.     'appId'  => 'YOUR_APP_ID',  
  7.     'secret' => 'YOUR_APP_SECRET',  
  8.     'cookie' => true  
  9. ));  
  10.   
  11. # Let's see if we have an active session 
  12. $session = $facebook->getSession(); 
  13.  
  14. if(!empty($session)) { 
  15.     # Active session, let's try getting the user id (getUser()) and user info (api->('/me'))  
  16.     try{  
  17.         $uid = $facebook->getUser();  
  18.         $user = $facebook->api('/me');  
  19.     } catch (Exception $e){}  
  20.   
  21.     if(!empty($user)){  
  22.         # User info ok? Let's print it (Here we will be adding the login and registering routines) 
  23.         print_r($user); 
  24.     } else { 
  25.         # For testing purposes, if there was an error, let's kill the script  
  26.         die("There was an error.");  
  27.     }  
  28. else {  
  29.     # There's no active session, let's generate one  
  30.     $login_url = $facebook->getLoginUrl();  
  31.     header("Location: ".$login_url);  
  32. }  
# We require the library require("facebook.php");  # Creating the facebook object $facebook = new Facebook(array( 'appId'  => 'YOUR_APP_ID', 'secret' => 'YOUR_APP_SECRET', 'cookie' => true ));  # Let's see if we have an active session $session = $facebook->getSession();  if(!empty($session)) { # Active session, let's try getting the user id (getUser()) and user info (api->('/me')) try{ $uid = $facebook->getUser(); $user = $facebook->api('/me'); } catch (Exception $e){}  if(!empty($user)){ # User info ok? Let's print it (Here we will be adding the login and registering routines) print_r($user); } else { # For testing purposes, if there was an error, let's kill the script die("There was an error."); } } else { # There's no active session, let's generate one $login_url = $facebook->getLoginUrl(); header("Location: ".$login_url); }

Now, go to http://localhost.com/login_facebook.php, and let’s see what happens. If you are redirected to Facebook and requested for permission, we are on the right track.

However, there might be two issues. The first one: if you’re redirected to Facebook, but it shows an error, there might be a missing value in the configuration. Go back to your application settings and check both the Connect and Canvas tabs and make sure the fields are ok as described above.

There might be another issue, where you see an error, like “Uncaught CurlException: 60: SSL certificate problem, verify that the CA cert is OK.” This happens because of the CURL settings. You’ll have to open facebook.php, find the makeRequest() method, and, inside the function, find this line:

  1. $opts = self::$CURL_OPTS;  
$opts = self::$CURL_OPTS;

Immediately following it, add:

  1. $opts[CURLOPT_SSL_VERIFYPEER] = false;  
$opts[CURLOPT_SSL_VERIFYPEER] = false;

I hate hacking libraries, but I haven’t found another way. Well, let’s continue with user registration. I’ve also added a try/catch statement, because, if there’s an old session keys in the GET params in the URL, the script will die with a horrible error.


Step 3. Registration and Authentication

We’ll next be working with MySQL. Please note that I will not implement a data sanitizer, since I want to keep the code as short and on task as possible. Please keep this in mind: always sanitize your data.

First, let’s connect to the database.

  1. mysql_connect('localhost''YOUR_USERNAME''YOUR_PASSWORD');  
  2. mysql_select_db('YOUR_DATABASE');  
mysql_connect('localhost', 'YOUR_USERNAME', 'YOUR_PASSWORD'); mysql_select_db('YOUR_DATABASE');

Now, let’s work on the $session conditional, in case we have a session.

  1. # We have an active session; let's check if we've already registered the user  
  2. $query = mysql_query("SELECT * FROM users WHERE oauth_provider = 'facebook' AND oauth_uid = "$user['id']);  
  3. $result = mysql_fetch_array($query);  
  4.   
  5. # If not, let's add it to the database 
  6. if(empty($result)){ 
  7.     $query = mysql_query("INSERT INTO users (oauth_provider, oauth_uid, username) VALUES ('facebook', {$user['id']}, '{$user['name']}')");  
  8.     $query = msyql_query("SELECT * FROM users WHERE id = " . mysql_insert_id());  
  9.     $result = mysql_fetch_array($query);  
  10. }  
# We have an active session; let's check if we've already registered the user $query = mysql_query("SELECT * FROM users WHERE oauth_provider = 'facebook' AND oauth_uid = ". $user['id']); $result = mysql_fetch_array($query);  # If not, let's add it to the database if(empty($result)){ $query = mysql_query("INSERT INTO users (oauth_provider, oauth_uid, username) VALUES ('facebook', {$user['id']}, '{$user['name']}')"); $query = msyql_query("SELECT * FROM users WHERE id = " . mysql_insert_id()); $result = mysql_fetch_array($query); }

Note that I’m querying the database, looking for facebook as a oauth_provider; it’s generally a good idea, if you want to accept other OAuth providers (as twitter, Google Accounts, Open ID, etc.) and a oauth_uid, since it’s the identifier the provider gives to its user accounts.

The oauth_provider field could potentially lead to bad performance if we leave it as a text field type. As such, the best option is setting it to an ENUM type.

We have now a $result var with the values queried from the database. Let’s next add some sessions. Add this line at the beginning of your script.

  1. session_start();  
session_start();

After the empty($result) conditional, append the following:

  1. if(!empty($user)){  
  2.     # ...  
  3.   
  4.     if(empty($result)){  
  5.         # ...  
  6.     }  
  7.   
  8.     # let's set session values 
  9.     $_SESSION['id'] = $result['id']; 
  10.     $_SESSION['oauth_uid'] = $result['oauth_uid']; 
  11.     $_SESSION['oauth_provider'] = $result['oauth_provider']; 
  12.     $_SESSION['username'] = $result['username'];  
  13. }  
if(!empty($user)){ # ...  if(empty($result)){ # ... }  # let's set session values $_SESSION['id'] = $result['id']; $_SESSION['oauth_uid'] = $result['oauth_uid']; $_SESSION['oauth_provider'] = $result['oauth_provider']; $_SESSION['username'] = $result['username']; }

As it makes little sense to authenticate a user who is already logged in, just below the session_start() line, add:

Posted to See Ya At What Gets Me Hot via Dogmeat

World's Weirdest Animals! Dogmeat http://www.facebook.com

(video) See ya at the Facebook Social via web-strategist

and 773

First Take Analysis: Facebook’s Crusade of Colonization

Categories: Facebook Strategy, First Take, MatrixPosted on April 21st, 2010

Today marks yet another important era in Facebook’s saga, they are expected to make a big push to extend the Facebook experience to every webpage.

Today, I attended the f8 developer conference hosted by Facebook, they’ve made some key announcements on what they want their developers to do.  While there’s a lot of news sources and bloggers rehashing what was announced, I’d like to go a step deeper and talk about the ecosystem impacts, opportunities and threats, and provide some insights.  Here’s my take:

Matrix: Facebook’s Crusade of Colonization
I just finished watching the keynote, while there’s a lot of folks rehashing news, my goal is to tell you what it means, and the impacts it has.

Announcement What It Is Opportunities Threats What No One Tells You
Graph API An open protocol that’s designed to aggregate all social activities from your friend back to Facebook This makes Facebook a social inbox, regardless of the service: Pandora, Yelp, your corporate site Email providers like Gmail/Buzz, Microsoft Windows Live, Yahoo, and AOL all want to be those destinations, now competing with 500mm users in FB Facebook wants to be the starting point for your world –the new email inbox. If they turn on advanced search tools, this can threaten google.com
Social Plugins: “Like” button Allows website managers to quickly embed ‘like’ feature on website, like other social features. This will aggregate on FB, and is a form of social bookmarks As users go to websites (Like CNN) they can see which one of their real friends like which article. Now your friends are the editors, threatening traditional editorial process. Threat to social bookmarking tools like Delicious All this social aggregated content will yield a powerful database of what you and your friends like, the precursor to customized web experiences and social advertising.
Social Plugins: “Social Bar” A floating bar at the bottom of a webpage embedded by simple code allows for EVERY page to be quickly social. Everywhere you go online your friends can be with you, forever connected Google Side Wiki,Meebo, and Liveworld’s Livebar (unless they both integrate Facebook FB API). Disclosure: Liveworld is a client Now as every page can be social, there is no reason for consumers to make buying mistakes –their friends opinions are always there, diminishing power of marketers.
Docs.com A partnership with Microsoft that allows Microsoft office docs to now be social with your Facebook friend This can extend collaboration with your friends to the office environment Unsure if this use case makes sense, are your friends those you want to collaborate with? This is a direct threat to Google Docs Facebook and Microsoft are in bed, to team up against Google. Expect advertising based on social context to appear soon.
“Presence” Location based data Facebook handed out in every attendees page an RFID tag that allows you to swipe it at kiosks to indicate your locations, see mine. Although experimental expect this to extend to location base applications, eventually tying into credit cards, and mobile devices Location based social networks like Yelp, Gowalla, MyTown, Foursquare and Twitter already allow people to do this –the difference?  Add these chips to physical objects Expect this technology to extend to mobile phones, credit cards, and future consumer products –allowing for unique social interactions.

War Horn Sounded For Developers To Spread Facebook Experience:

  • A Precursor to Social CRM. All of the social data that is now being aggregated to Facebook is the foundation for Social CRM.  As Facebook captures each  ’object’ whether it be a song, restaurant, person, or ‘like’ they are now assigning a Facebook ID (primary key).  This unique identifier will allow every person, object, and piece of media to be trackable and have associated metadata.  In the future, expect these objects to be used by developers to quickly assemble experience in context, right on the fly.
  • Corporate websites can now be social –yet beware the tradeoffs. Corporate websites are plagued with inflexible archaic content management systems. Rather than wait for IT to develop a social roadmap for the corporate website, brands can now embed Facebook social features on corporate sites, serving up interaction and allowing users to find content their friends also like.  Yet beware, by allowing Facebook to be the primary login, this reduces the traditional way of capturing leads and populating your database.  Secondly, by doing this once, you’re setting the promise that Facebook will always be part of our corporate experience.
  • Facebook goes more public, and threatens Google –but users may revolt. Facebook’s roaring growth is a threat to Google and other web portals, and as more developers deploy these hooks, they spread their colonies all over the internet.  Yet Facebook’s core conundrum is they’ve made the promise to their users to keep the experience private and closed. Expect continued scrutiny over privacy as Facebook struggles to go open to compete with Google, dragging along users to be more public every step of the way.   Facebook’s battles are both external as well as internal.

Posted to See Ya At What Gets Me Hot via Dogmeat

Analytics whatgetsmehot.posterous.com/ 20101012 (Content by Title )

Subject: Analytics whatgetsmehot.posterous.com/ 20100924


----------------------------------------
This is a daily email from Google Analytics. You received this email because someone requested the report to be sent to you. You will receive the next report tomorrow. If you would like to opt-out of future email delivery from Google Analytics, please visit https://www.google.com/analytics/reporting/optout?token=nrvazCsBAAA.VnJJUvHUc...

Posted to See Ya At What Gets Me Hot via Dogmeat

I’m done building Facebook apps for clients | Ryan Waggoner

...April 2010, Facebook decided to completely revamp the platform and roll out a series of new APIs...and apparently hired the worst technical documentation guy they could find to write the docs. They’re incomplete, inaccurate, and contain very little sample code, context, and otherwise useful info...

I started building Facebook apps about three years ago, when I first started doing web development consulting full-time. My first apps were simple affairs, but over time they grew more complex and I leveraged the platform features more and more.

Over the last three years, I’ve spent an increasing amount of time on the Facebook platform. This year I built applications for Neutrogena and IHOP, both moderately complex, and I also spent a decent chunk of time this year working on several social games on Facebook. Working on Facebook has always been an exercise in frustration, because they’re constantly changing and breaking the platform. The documentation was also always a little lacking, but it was setup as a wiki, and developers added to it over time and made it at least somewhat useful.

... And the new APIs don’t even work half the time; there are bugs in the tracker that have been there for months, interrupting core functionality. The only place to really find any kind of useful info is the forums, which means hours of searching to find even basic info. Often this info is posted by people at Facebook, but they never bother to put it in the official documentation. I’ve worked with APIs from 2-man startups that offered a better experience, so it’s especially sad to have to deal with this from a platform with 500 million people on it.

Now, if you’re building your own apps and you’re making money, I’m sure these annoyances might be worth putting up with. But when you’re building for clients, it’s just a source of stress. Clients don’t care that it was Facebook (not you) who broke the feature that was working yesterday, and they don’t care that what you said you could do two months ago can no longer be done because Facebook decided to change the platform (again). They blame you for all of it.

So I’m done. The money is good and there’s a lot of work, but the stress and frustration just isn’t worth it. Until Facebook decides to implement some controls to stabilize the development of the platform and write some documentation that’s actually semi-useful, I’ll work somewhere else.

You might also enjoy:

  1. Facebook app vs. standalone site?
  2. Why is Facebook ignoring a huge revenue opportunity?
  3. Comparison of Property Management Web Apps
  4. The funny things that clients tell you
  5. If you’re sick of Trac, check out Redmine

You should subscribe and follow me on Twitter here.

79 Responses to “I’m done building Facebook apps for clients”

  1. Chris Blown says:

    Great to read this post, exactly our sentiments as well.

    Its really hard to set clients expectations when you yourself have no idea how Facebook are going to implement their next round of changes. Take for example the move from FBML to iFrames. Their roadmap makes a recommendation for you to start using iFrames and says that they’ll be available within Page Tabs within a few months. But no explanation of how they are going implement this in relation to the “click to interact” process FBML page tabs currently have. Maybe they aren’t sure how this will work yet, but they could at least explain their intentions. Are they doing away with this “click process”? Will iFrame page tabs auto load? Are new iFrame page tabs going to require a landing page click thru? If so what content can we provide as a lead in (FBML or just an image)? Forum post on this here http://forum.developers.facebook.net/viewtopic.ph...

    The irony is that while Facebook is a great tool for engaging in social communication, Facebook devs seem to be hiding within their Facebook fortress not saying a word.

    We’d like to meet you guys, lets see some development blog posts, what challenges you’re facing? We might even be able to offer some help…

Posted to See Ya At What Gets Me Hot via Dogmeat

Facebook API: Everything you wanted to know about the most invasive API on the Planet, but didn't know it was happening...to ask! via programmableweb

The Facebook API is a platform for building applications that are available to the members of the social network of Facebook. The API allows applications to use the social connections and profile information to make applications more involving, and to publish activities to the news feed and profile pages of Facebook, subject to individual users privacy settings. With the API, users can add social context to their applications by utilizing profile, friend, Page, group, photo, and event data. The API uses RESTful protocol and responses are localized and in XML format.

Bookmark and Share Click to vote

Facebook: Highlights

Summary
Social networking service
Category
Social
Tags
Protocols
REST
Data Formats
XML
API home
http://developers.facebook.com/ 

Posted to See Ya At What Gets Me Hot via Dogmeat