A Django site.
June 4, 2008

Jesse Stay
obfuscated, Uncle_Jesse
Stay N\' Alive » OSS
» Social Coding Series: I’m In Your Social Graph, Hacking Your Life - a Howto

As the first entry to my Social Coding series I’m going to cover Google’s Social Graph API. I saw a demo of this at Google I/O in San Francisco and was so impressed that I immediately started hacking on it when I got home. Little did I know how powerful this API was and how much information it could pull off the web about a single individual!

Google’s Social Graph API takes a cache of the rich storage of links, information, and URLs on Google’s servers, and determines which of those contain information about actual people. It combines OpenID for confirming an individual’s identity, and XFN and FOAF XML protocols to determine links between those identities. With a simple <link/> tag on a user’s website, a user can determine other websites that also identify them. If you link to one URL identifying that location as you, and at the linked website, it links back to you, Google can tell for sure both of those websites are yours, and identify you as a person. Not only that, but you can similarly provide XFN information or FOAF information via similar <link/> tags or a separately linked file identifying who your friends are. If they link back to you via similar metadata Google can tell for sure that the two of you are friends.

The Social Graph API lives and breaths this data. There are actually quite a few Social networks that use this protocol to identify you and your friends. Sites like Digg, Twitter, and FriendFeed all utilize these protocols to identify your friends. The Google Social Graph API scans this data and organizes it in an easy way for you, as a developer, to access.

Let’s try a simple example, and you don’t even have to be a developer to try it. Google has provided a simple playground to see how the Social Graph API works. If you go to http://socialgraph-resources.googlecode.com/svn/trunk/samples/exploreapi.html, enter in a few URLs of your blogs, social networking profiles, and other identifying locations on the web, leave “Follow ‘me’ Links”, “Pretty Output” checked, and click, “Find connections”. For me, just “twitter.com/jessestay” was all I needed to enter in the textarea.

The resulting structure is organized in a format called JSON - if you’re a Perl developer you might be familiar with this, as it is formatted the same way as a Perl Hash structure. You’ll see under “nodes” a bunch of URLs with different metadata about the URL - these are URLs that Google thinks, based on the metadata in the URL you provided, are you or contain info about you. I’ve found that only those with a “profile” attribute are actual Social Network profiles for yourself, so be sure to pay attention to those.

You can also go back and click “show inbound links” and “show outbound links” - this will then return URLs with links to sites you have identified as yourself, as well as sites you own that claim other sites as identifying for you. Play around with it - there’s a wealth of information it will give you about people!

Now, if you’re not a developer, you can skip over this next section because I’m going to get technical by showing an example. I’m a Perl developer so I’ll show one in Perl.

In Perl it’s simple - you need to install Net::SocialGraph with a command similar to this:

perl -MCPAN -e “install Net::SocialGraph”

Then, a bit of code like this will give you the data you need:

my $sg = Net::SocialGraph->new(’fme’ => 1);

my @urls = ();
push (@urls,’http://twitter.com/jessestay’);
push (@urls,’http://facebook.com/profile.php?id=683545112′);

my $res = $sg->get(@urls);
my @profiles = ();
foreach my $node (keys %{$res->{’nodes’}}) {
  if ($res->{’nodes’}->{$node}->{’attributes’}->{’profile’}) {
    push (@profiles, $res->{’nodes’}->{$node}->{’attributes’}->{’profile’});
  }
}

In the above example I instanciate my $sg object, telling it to follow “me” attributes in the response. I add a couple URLs to identify the individual I want profile information for (in this case, me), and then make the call to the SocialGraph API to go get my info based on those URLs with the “get” method provided by the API. Then, I just traverse the response and I can do whatever I want with it. After this, I could take the response information and list all of the user’s profiles as links, or perhaps I could scan those profiles for more information and provide information about each identified profile. You’ll also note that it’s not always correct so you’ll want to let the user intervene. Also, note I’m looking for only links with a “profile” attribute - I’ve found these to be most accurate.

Beyond that, that’s it. Ideally, you could take the Playground example above and look at the resulting URL. The basics of the Social Graph API are just that URL - plug in whatever you want and you’ll get back whatever information you need. You could then parse it with Javascript, Perl, PHP, or just leave it in the “pretty” format the Playground provides you by default.

Now, imagine taking that data and combining it with, say the Twitter API to pull out all of an individual’s friends on Twitter, then applying the Social Graph API to each of those individuals. Soon, you have a tool which can identify which of a user’s friends are on which networks, and if there are any of your friends you have not yet added on those networks. This API is powerful!

The Social Graph API can be an excellent utility to find out more information about any individual using your applications. No longer do you have to ask the individual for that information - so long as they are active on Web 2.0 that information can be provided for them to choose from!

You can learn more about the Social Graph API here.

Please note I too am new to this API - any inaccuracies in this document please let me know in the comments and I will correct them for others to benefit.

Share This

May 25, 2008

Jesse Stay
obfuscated, Uncle_Jesse
Stay N\' Alive » OSS
» New Series: Social Coding

I’ve been contemplating for awhile now a good way to share what I know about Social Software Development and helping business owners, marketers, and developers learn how to set up their own social apps. Especially for developers, I know there are many out there looking for howtos and ways to learn more about starting their own App, promoting it, and getting it off the ground. As the author of FBML Essentials, I feel I am well suited for the task so in the next few days I’m going to start doing howtos and overviews on how you can get your own Apps together. If you’re “the business type”, I may get a little technical on you, but I do recommend you keep watching and forward these onto your IT personell - your CIO, CTO, and the like should read these so they can learn what’s possible to integrate into your existing environments. I’ll also try to throw in a little goodie here and there for “the business type”.

So, I’ve created a new category to the right, “Social Coding” - if you want to track just that, click on the category name and add it to your RSS. I’ve also started a new FriendFeed Room where those involved or that want to get involved in Social Coding can discuss, learn, and talk with each other. You can subscribe to that here.

Let’s start by going over the types of sites I could cover. Here are just a few - let me know if you have a particular interest in learning about how to code for any one in particular:

  • Facebook
  • OpenSocial
  • Google Friend Connect
  • Twitter
  • FriendFeed
  • Pligg
  • Digg
  • LinkedIn
  • MySpace
  • Wordpress
  • MoveableType
  • Google App Engine
  • Bungee Connect

Stay tuned! I’ll keep posting news and other rants as we go forward - I’ll just be adding in some good howtos at the same time. Oh, and if you’re a developer and would like to do a howto in your preferred language for us, contact me - I’d love to let you do a guest post.

Share This

May 13, 2008

Jesse Stay
obfuscated, Uncle_Jesse
Stay N\' Alive » OSS
» Utah Startup Series: Bungee Labs

logo_bungeelabs-flat_md.png(Sorry it’s been awhile since my last blog - it took me several days to figure out how to get my Flip video imported and exported to and from iMovie. To make a long story short, if you want to export from iMovie and have both picture and sound, you must import your source as something other than MP4 or AVI.)

This is the first article in my “Utah Startup Series“. Starting today I will be circling Utah to find the best and most innovative startups in Utah, and featuring them here on Stay N’ Alive. If you have a hot startup (early to even late stage) and would like to demo for me what your product can do, please contact me - if I have the time and like your idea I’d love to come out and take a look at it!

While at Web 2.0 Expo I had the opportunity to meet with Bungee Labs, a local, well funded Utah company who had “Platform as a Service” down before Google even started thinking about their App Engine. In our meeting they demoed their Bungee Connect “IDE” (written entirely on the web). You can see the video below.

My thoughts - you have to see this stuff in person to understand the full ramifications of what they’re doing. One of the cool things about their service vs. Google’s is they actually integrate with Amazon’s EC2 service (which was announced during Web 2.0 Expo), so you can actually host your other stuff on Amazon’s EC2 platform with the same licensing as your Bungee Connect account. Their licensing structure is very appealing as well - Bungee only charges based on the number of registered user sessions using their platform, not traffic, not bandwidth. If I understand correctly, it’s all based on the number of users actively using your application on their platform. For Facebook and Social Media developers this is appealing, as most Applications are rated based on Application use, not number of users or traffic. With Bungee you only pay for the users that actively use your system.

Overall, the guys at Bungee were Rockstars at Web 2.0 Expo. With their announcements about EC2 integration, flexible licensing terms, features on TechCrunch, EWeek magazine, and a dozen other publications, you can bet Google has a watchful eye on them. Ironically, it was interesting seeing Kevin Marx, head guy over the OpenSocial (and other) efforts at their party on Thursday evening.

Bungee will be presenting at our Social Media Developers meeting this coming Tuesday, showing us a simple “Hello World” example on how to build a Facebook App using their platform. Follow me on Twitter and if we can stream it live you can watch it via my Ustream channel. After demo I may just write my own Facebook App to try out their system - it should be interesting.


Bungee Connect Demo - Web 2.0 Expo from Jesse Stay on Vimeo.

Share This

May 2, 2008

Jesse Stay
obfuscated, Uncle_Jesse
Stay N\' Alive » OSS
» Using Perl/Catalyst and Want to Use Sometrics? Try This.

logo.pngI’ve been analyzing various Social Applications Analytics tools lately, and have recently stumbled upon Sometrics. Sometrics handles full Analytics for your Facebook, Bebo, and MySpace applications, and will actually utilize the Facebook API to retrieve demographic info about those visiting your Application. As I examine the other Analytics solutions for Facebook and other Social Network Applications, I’ll try to post my findings of their strengths and weaknesses here, OpenSocialNow, and FacebookAdvice.com. If you’re not a techie, you may want to skip the next part, or forward it onto your IT department.

One thing I noticed about Sometrics is it seems to only provide code to paste on your Application pages for PHP, Ruby, and ASP.net. The code they provide is relatively simple, but in case you’re wondering how to do it in Perl, here is how I did it in Template Toolkit under Catalyst on Perl:

Enter this on all Application pages (I do it in my “footer” file):


[% IF Catalyst.request.param("installed") %]

<fb:iframe width='1' height='0' frameborder='0' src="http://halo.sometrics.com/fb_tracer.html?src=fb&installed=1&session=%7B%22session_key%22%3A%22[% Catalyst.request.param("fb_sig_session_key") %]%22%2C%22uid%22%3A[% Catalyst.request.param("fb_sig_user") %]%2C%22expires%22%3A0%2C%22secret%22%3A%22%22%7D&t=[% date.now %]"></fb:iframe>

[% ELSE %]

<fb:iframe width='1' height='0' frameborder='0' src="http://halo.sometrics.com/fb_tracer.html?src=fb&session=%7B%22session_key%22%3A%22[% Catalyst.request.param("fb_sig_session_key") %]%22%2C%22uid%22%3A[% Catalyst.request.param("fb_sig_user") %]%2C%22expires%22%3A0%2C%22secret%22%3A%22%22%7D&t=[% date.now %]"></fb:iframe>

[% END %]

Then add this in the “post-remove url” subroutine for your Applicaiton (or create one and add the URL in your App’s config):

=head2 remove

  Page that handles App removal

=cut

sub remove : Local {

  my ( $self, $c ) = @_;

  if ($c->req->param(”fb_sig_uninstall”)) {

    $c->res->redirect(qq{http://halo.sometrics.com/met.gif?a=u&app=}.$c->req->param(”fb_sig_api_key”).qq{&uid=}.$c->req->param(”fb_sig_user”).qq{&age=&sex=&city=&state=&country=&friend=&src=fb});

    $c->detach();

  }

  return;

}

Share This

April 20, 2008

Jesse Stay
obfuscated, Uncle_Jesse
Stay N\' Alive » OSS
» The “What You get From Facebook Pages” Series: Default Widgets and Applications

On FacebookAdvice.com I am starting a new series on “What You get From Facebook Pages”. Over the next week or so I’ll cover several topics on how you can best optimize Facebook Pages for your business. In the first article I’m covering the default widgets and applications that are installed when you set up a Facebook Page. Read more about it here.

Need some help getting a Facebook Page set up for your Organization? I do consulting! Contact me at jesse at staynalive dot com and I’ll get you setup with a plan on how you can utilize Facebook to bring your company more customers.

Share This

April 16, 2008

Jesse Stay
obfuscated, Uncle_Jesse
Stay N\' Alive » OSS
» Recruiters, Here’s How to Approach Me!

I get e-mails very regularly from recruiters asking for either a referral or for me to work for their client. Most, if not all, come to me in the form of a generic e-mail, very little personalization, and obviously no care for me as a developer. Here’s one I received today, and my response - it’s my hope that recruiters, which since they generally don’t Google us developers beforehand so probably aren’t reading this, will take this advice to heart. They will have much more success by doing so! (BTW, I’m very confused by this - first they say there’s an unemployment low, then they say timeliness is critical because employers grab candidates quickly. If you’re a developer, believe the first one - getting a job should be easy, and the power is in your hands.):

Good Afternoon All,

I’m writing to touch base with each of you, regarding your present employment situation. The unemployment low has continued in Utah and has created a tremendous need for talented IT Professionals across the state of Utah.

We current have open opportunities for .Net and Java developers, in addition to Technical Project Manager and Business Analysts. If you are presently looking or know anyone that might be, please contact me directly.

In this market timeliness has become critical, some employers are hiring very quickly to grab the best candidates available. If you have thought at all of looking, don’t delay, get in touch with me today.

All the best,

And my response:

First of all, I’m an individual, not an “all”. Secondly, I strongly suggest Googling the names of those you contact, get to know them, and approach them only if first, they fit the description, and second, you can personalize with them a little. I talk to developers on a daily basis, and they hate recruiters because of this. You will get much better response by doing so.

Without Googling me beforehand, I will respond with the above every time - please do your research before contacting me!

Share This

April 15, 2008

Jesse Stay
obfuscated, Uncle_Jesse
Stay N\' Alive » OSS
» Can’t Install Vista SP1 Due to Language Pack Problems? Try This.

vista_sp1.pngFor the non-tech-heads visiting my blog you can probably ignore this one, although it might provide some useful insight if you’re having issues with upgrading to Vista SP1. I have had the biggest headache recently trying to get Vista Service Pack 1 installed on my Windows Vista Ultimate, 64-bit Edition PC. The new Vista SP1 is stated to have many bug improvements, and since Hulu would occasionally crash my machine during my wife’s viewing of old “Major Dad” episodes (yes, they even have that on there!), I finally got fed up with it.

The problem with Vista SP1 is if for some reason you thought you needed every single update out there and installed all the language packs (I actually do have a fascination with foreign languages), SP1 refuses to install, and won’t even show up in your list of automatic updates to install under Windows Update. So, I figured, why not just remove them? Well, it appears that that, too seems to be a bug in Vista. Despite the fact that it would take 30 minutes each (at least) to remove each language pack, eventually, I started getting errors on the last few language packs I was trying to install. Vista was fighting back with me, avoiding with a vengeance not to be upgraded.

So I searched all around the internet trying to find a solution - I wanted to fix all these bugs, but the bugs were keeping me from upgrading Vista to fix the bugs that were preventing the upgrade! (Makes perfect sense, doesn’t it?) After a week of waiting for things to be resolved in various threads on Google with people that were experiencing the same issue, I came across this forum post from Saad Siddiqui on this thread on VistaHeads:

There is a workaround but it requires dealing with the registery so backup registery first.

1. press Windows Logo Key + R to open Run Dialog
2. Type regedit
3. Navigate to HKEY_LOCAL_MACHEINE\SYSTEM\CONTROSET001\MUI

there will be an entry for romanian language DELETE it. [for english the key is “en-US” in the navigation tree].

Repeat step three for

HKEY_LOCAL_MACHEINE\SYSTEM\CONTROSET003\MUI

this will make SP1 installer to see only English Language there.

hence it will continue installation.

and

HKEY_LOCAL_MACHEINE\SYSTEM\CURRENTCONTROSET\MUI

It was corrected that instead of HKEY_LOCAL_MACHINE\SYSTEM\CONTROLSET001 it was really HKLM\SYSTEM\CONTROLSET001\Control\MUI\UILanguages, repeated for CONTROLSET003 and CURRENTCONTROLSET. Backup your registry first!!!

I tried this, removed all languages except US from the listed languages under my registry, and voila - all of the sudden Vista SP1 was appearing in my list of Automatic Updates! I installed it, and now my wife can watch her “Major Dad” episodes on Hulu just fine. It should be noted that even the Microsoft employee in that thread was unable to diagnose this.

So if you’re looking for a quick shortcut to get rid of all the pesky language packs so you can install Vista SP1, hopefully this provides a solution that works for you. Good luck!

Share This

March 7, 2008

Jesse Stay
obfuscated, Uncle_Jesse
Stay N\' Alive » OSS
» Facebook Works to Reduce Spam Further With “Feed Forms”

Today, a new way of posting to the News Feed in Facebook appeared on the Facebook Developer’s wiki. Facebook introduced “Feed Forms”. To use a Feed form, you simply create a regular form as you would any other form, but add a special “fbtype” attribute to the form. The only documented value listed thus far is “publish”. Facebook then intercepts the form, reads the url in the action parameter, and prompts the user, asking them if they want to publish the story to their friends.

To use a “feed form”, the url in your action parameter for the form should return content in the form of JSON with a simple feed response. The example they give for return JSON data is this:

{ "method": { "fbtype" : "publish",

           "next": "http://my.canvas.com/next_page.php“,

           “feed”: {”title_template”: “{actor} published status”,

                    “body_template” : “New status is \”{status}\”",

                    “body_data”     : {”status”: $_POST[’status’]}}

}

I created a sample form that looks like this, returning the above data (changing the url) in application/x-json format:

<form action=”http://fbmlessentials.staynalive.com/index.php”>

<input type=”text” name=”status” value=”" />

<input type=”hidden” name=”action” value=”feedforms” />

<input type=”submit” value=”Submit” />

</form>

Unfortunately it doesn’t seem this feature is live yet (or I’m just doing it wrong), as my returned JSON data just gets returned back to me when the form is submitted. I will post screen shots as soon as I hear confirmation that it has gone live (I expect that to be next Tuesday, when they usually do pushes).

Does this mean Facebook is doing away with the automated posting of News feeds by applications, or is it just one more way, and better way to make your feed story more likely to appear in your user’s friends’ news feeds? There is no official word from Facebook yet as to how they intend to use this.

Share This

January 16, 2008

Jesse Stay
obfuscated, Uncle_Jesse
Stay N\' Alive » OSS
» “I’m On Facebook — Now What???” Available for Pre-Order!!!

facebook442.jpgJason and I are excited to announce that HappyAbout has launched their Pre-order page for “I’m On Facebook — Now What???”. You can order it here:

http://happyabout.info/facebook.php

The Paperback edition will sell for $19.95, but all those who order now get a 15% discount, making the book just $16.96. The eBook can be pre-ordered for $11.95. We are anxious to get this out to print quickly as one of the First books of its type on Facebook, so order quickly!

In addition to that, today we received our Afterword from Robert Scoble. Robert’s experiences with recently having his account closed (and re-opened) on Facebook are perfect timing for why this book was written. We are excited to have his contribution! Thank you Robert, for the hard work and time, even in the process of having your account closed by Facebook, CES, being so sick over the last few days, and switching jobs, that you have put into the Afterword.

Robert’s Afterword completes Lee Lorenzen’s Foreward for the book that we have already received. Lee, founder of Adonomics and Appaholic, and well known expert on the subject, is known for predicting that Facebook will be worth $100 billion, and thus far his prediction is very much on track! Thank you again Lee and Robert for such great additions to the book!

Again, order your books today!

UPDATE: Are you a blogger? HappyAbout, our publisher, has a great affiliate program! Sign up here for a commission when you blog about the book!

, , , , , , , , , , , , , , , Share this article with a friend...

Share this article with a friend...

Gregarious FeedFlare

January 13, 2008

Jesse Stay
obfuscated, Uncle_Jesse
Stay N\' Alive » OSS
» How I use Google Reader

I’ve been on the Google Reader band wagon for a long time now. I currently subscribe to about 150 feeds, and I read or skim over probably near 1,000 or more feed items a day. Reading my feeds is how I stay up on the latest and greatest, and how I am able to give the best advice to my clients. Instead of me going to news, now the news comes to me, which, despite the amount of news I read in a day, has made me actually more productive.

Google Reader has recently added a friends feature. Now, all those on your GMail or Google Talk contact lists that use Google Reader will appear in a Friends list to the left of Google Reader. You can choose to turn your friends’ feeds on or off in the settings (upper-right of Reader), and even invite more friends to begin using Google Reader. As your friends “share” the feed items that they like, you also get to see what they are sharing. This feature in effect has actually started bringing me even more news. It will be interesting to see the SEO effects of this as people no longer subscribe to blogs, but rather rely on their friends sharing their favorite blogs with you. Personally, I think it will improve the odds, as now more people will see your blog due to the viral nature of this system, and more people in result will be persuaded to subscribe to your blog - this time through Google, improving the SEO chances of you appearing in Google personalized results for that individual.

Here’s how I use Google Reader. Bloggers may want to take note, as this could provide some tips as to how to further improve your posts to fit with the power Feed readers out there.:

  • Skim, Skim, Skim! - There’s no way I would get through all 1,000+ of my feed items if I read every single one of them. I skim over the headlines, and sometimes the content, then move onto the next item. Only if the article is important to me do I read the article in detail.
  • Learn the Shortcuts - There are 3 or 4 shortcut keys that are essential for me. I use the ‘j’ key to open the next item and mark it as read. I use the ‘k’ key to move back to the previous item. I use the ’shift-s’ key combination to share the item I’m reading if I think those that are friends with me might be interested. I use the ’s’ key to start items I want to “bookmark” for later - this is Google Reader’s equivalent to del.icio.us. I then use the ‘r’ key to refresh the list I’m on - I like to click on the link “x new items” and read through those. Then, when I hit ‘r’ to refresh, it only shows me the new items I haven’t read yet.
  • Add as many friends as you can - The more friends you have, the more information you receive. If a friend isn’t providing productive feeds, then perhaps you can take them off, but besides that, information is good!
  • Stay on top of your feeds - if you don’t check them several times throughout the day, they will build up, and you’ll be stuck spending an hour or two in the middle of the night catching up. I like to use my cell phone when I’m away from my computer to go through my feeds. Google has excellent mobile tools, and Reader is no exception.
  • Don’t use iGoogle - I was using this for awhile, and realized a) I couldn’t use the shortcuts, and b) I couldn’t utilize the sharing or starring features. Perhaps if they improve it I’ll go back.

Those are the strategies I use to read through my feeds in Google Reader. What strategies do you use? Please add me as a friend - you can either add me as a contact in Google Talk, or shoot me an e-mail and you’ll automatically be added to my Google Reader Friends. jessestay at gmail dot com

, , , , , , , , , , , , , Share this article with a friend...

Share this article with a friend...

Gregarious FeedFlare

January 6, 2008

Jesse Stay
obfuscated, Uncle_Jesse
Stay N\' Alive » OSS
» How to Create Your Own TV Channel for Your Blog

I’ve been considering doing this for awhile - we’ll see how long it lasts and when my wife puts an end to it. If you look in the upper-left corner of the blog, you’ll see the “Ask Jesse” Show stream. If I’m online, when you click play you’ll see me, live, as you are on the blog!

Here’s how I did it:

  1. Create an account at Ustream.tv
  2. Click on “My Shows” - there you can configure the look and feel of your show page if you want
  3. Click on the “Go to Show URL” link next to the “Broadcast Now” button
  4. You’ll now see an “Embed Stream” html snippet in the lower right of the page - copy this, then paste into your html layout for your blog
  5. Click “Broadcast Now”, and you’re live for all your voyeuristic viewers to see!

The Camera I’m using is the Logitech Quickcam Communicate STX. It has great picture, includes a built-in microphone that detects how far you are, and the camera comes in with built-in software that follows where your face is (or two faces if you’re more than one person). I’m half-way across the room, and you can still hear me well, and the streaming results are almost real-time! (Scott Lemon says it took just 14 seconds from him Twittering to me saying I received the Twitter)

Some issues to watch out for:

  • Make sure you’re appropriate when your camera is on! Put a sign up or something reminding those entering the camera area that they are being recorded.
  • Be careful if you talk to sensitive business clients. You may want to mute, or stop the stream altogether so sensitive information isn’t broadcast out to the entire world
  • Be sure your router can handle the bandwidth. I use a Gigabit Linksys WRT350N Router, and my Comcast connection has 8 Mb down, and about 3 or 4 up (at times). Search for “Comcast Speed” in the search box in the upper-right for some tips on how to speed up your home internet

My big prediction for 2008 is it will be the year of streaming video, and you’ll see more and more people embracing such technologies. I think I’ll try this for a bit - I think this can be a great way to drive people to stay on your blog longer. People are naturally voyeuristic, and want to know more about the person whose writing they are reading. If they can actually see them and chat with them, they are likely to stay longer, bringing more traffic to your site.

, , , , , , , , , , , , , , , ,

Share this article with a friend...

Gregarious FeedFlare

January 4, 2008

Jesse Stay
obfuscated, Uncle_Jesse
Stay N\' Alive » OSS
» Patches to the Net::Twitter script for all followers and friends

As I was testing my auto follow script for Twitter and helping Chris Pirillo (see the comments in the link above) get his set up, I realized it wasn’t working for him. After a ton of hacking around, going through all aspects of the auto follow script, and Net::Twitter, I realized there was an undocumented (it’s now partially documented) feature in the Twitter API which states that a page must be specified with a “friends” or a “followers” request. I noticed that Net::Twitter was not checking for paginated results on these requests, therefore I’ve created a patch to make that possible. You can download that patch here (after installing Net::Twitter):

http://www.jessestay.com/Net-Twitter-jessestay.patch.gz

Just patch Twitter.pm (usually in /usr/lib/perl/site_perl/5.8.8/Net/Twitter.pm) with the above file (after un-gzipping it), and you should be set.

, , , , , , , , , ,

Share this article with a friend...

Gregarious FeedFlare

November 14, 2007

Jesse Stay
obfuscated, Uncle_Jesse
Stay N\' Alive » OSS
» Auto-Follow Those that Follow you on Twitter

On Twitter, it is generally polite to follow those that follow you - they are saying, “you are interesting”, so it is the polite thing to show interest in them as well. I have heard from multiple people, including Scoble and Chris Pirillo that they have requested Twitter do this for them.

Well, I’m proud to announce that I’ve written a script that does just this for you. It’s a simple script, that does just what it says it does - auto-follows those that follow you. To install the script, download this script, unzip it (gunzip), then edit it. You’ll need to specify your Twitter username and password in the specified places, and if you want to blacklist any screen-names you’ll want to add those in as well. Then, add the script to a cron job somewhere, say, in cron.hourly or cron.daily, and it will now auto-follow anyone that follows you on Twitter! If you get any bologna (as I call it - others call it bacon) followers, you can simply add them to your black list in the script and it will ignore them.

If you have any problems installing it or running it, please comment. This script is being released under the GPL, v.1. Again, you can download the script at:

http://www.jessestay.com/auto_follow.pl.gz

I’ll post it to CPAN later as I get time so it can be downloaded there.

UPDATE: you’ll need to have Net::Twitter installed - you can install this by running “perl -MCPAN -e ‘install Net::Twitter’”

UPDATE (11/14/2007): Chris Pirillo has pointed out that it’s hitting an API limit if you have to follow more than 70 users within the same hour. If that is the case, set it to run on cron every hour, and eventually it should catch up. Twitter can also add your username to a white list if this is important to you and contact them. If you are on that white list, it should follow everyone in one swoop.

, , , , , , , , , , , , , , ,

Share this article with a friend...

Gregarious FeedFlare

October 17, 2007

Jesse Stay
obfuscated, Uncle_Jesse
Stay N\' Alive » OSS
» Facebook Developer Accounts

I was discussing with a client today about this, and realized I still had not blogged about this yet. Facebook has launched Developer Accounts. Now, no longer do developers have an excuse for errors on their pages, or sites going down because they are working on their production Facebook app, which is their only development environment to work in. Also, no longer do developers have to risk all their work deleted because they opened up a mock Facebook account and Facebook decided to kill it because it wasn’t a real person. I strongly suggest you start using this if you are a Facebook developer.

, , , , , , , , ,

Share this article with a friend...

Gregarious FeedFlare

» Twitter’s Application Directory

A few months ago, Facebook announced they were releasing their platform to all developers via an open API. At the same time, they release an Application Directory indexing and categorizing all of the applications for their platform. I was wondering today if Twitter, who had an open API even before Facebook, had the same thing. It turns out they do, and it’s on the Fan wiki:

http://twitter.pbwiki.com/Apps

Not quite 5000+ like Facebook, but there are quite a number of apps I didn’t know about. What Twitter apps are your favorites?

, , , , , , , , , ,

Share this article with a friend...

Gregarious FeedFlare

October 8, 2007

Jesse Stay
obfuscated, Uncle_Jesse
Stay N\' Alive » OSS
» Twitter Launches Facebook Status Updates

I noticed yesterday that Twitter has officially launched the ability to update Facebook through your updates on Twitter. You just click on the Twitter app within Facebook, and you’ll see a link that says, “Want Twitter to update your Facebook status? Click here.” Click on that, the message will still be there (they say they’re working on that), but all your Twitter updates will now go to your Facebook status as well. Any Twitter replies (with @username in them) stay on Twitter and do not go to Facebook, resolving my previous concern.

UPDATE: Twitter doesn’t ignore just any post with an @username in it. The post has to start with @username for Twitter to ignore the post. I’d love to see it just ignore anything with @username, since Facebook friends won’t know who @username is anyway.

, , , , , , , , , , ,

Share this article with a friend...

Gregarious FeedFlare