Flutterby™! : Twitter giggles

Next unread comment / Catchup all unread comments User Account Info | Logout | XML/Pilot/etc versions | Long version (with comments) | Weblog archives | Site Map | | Browse Topics

Twitter giggles

2009-04-01 13:20:29.113025+00 by Dan Lyke 4 comments

Snicker: New Archie McPhee Service: Blogging and Twitter explained to parents:

Have you given up trying to get your parents to understand your blog, let alone Twitter and Facebook? We're here to help. Hire us, and we'll have a patient ten year old call your parents and explain the intricacies of social networking and micro-blogging to them. ...

And you may have noticed that I'm now mirroring my Face/Twit/Identi.ca/whatever status updates here. I'll probably be judicious, specific @replies and such won't go here, and I plan on splitting this stuff out to separate RSS feeds over on Flutterby.net when I get that stuff written.

[ related topics: Humor Weblogs Net Culture ]

comments in ascending chronological order (reverse):

#Comment Re: made: 2009-04-02 00:51:08.750261+00 by: John Anderson

Mirroring that stuff has been on my TODO list for a while -- have you got anything you can share, or any particularly noteworthy problems you had to deal with?

#Comment Re: made: 2009-04-02 01:55:37.602622+00 by: Dan Lyke

Not particularly. I've just got a little Perl script which checks to make sure that its $ARGV[1] is <= 140 characters, and then spawns fbcmd, the Net::Twitter sample command line updater (twitter update "my twitter update"), the Net::Identica sample command line updater (which is basically s/Twitter/Identica), and then a bit of Perl that uses LWP::UserAgent to post to Flutterby (all Flutterby authenticated operations can be done without cookies if you include the "!user" and "!pass" fields in the form).

#Comment Re: made: 2009-04-02 14:22:01.049049+00 by: John Anderson

cool, thanks.

#Comment Re: made: 2009-04-02 14:56:11.22155+00 by: Dan Lyke [edit history]

#!/usr/bin/perl -w
use strict;
my $t = join(' ', @ARGV);
if (length($t) > 140)
  {
        die "Update must be less than 140 chars, was ".length($t)."\n";
  }
else
  {
        open O, ">>/home/danlyke/var/setstatus.log";
        my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time);
        $year += 1900;
        $mon++;
        print O sprintf("%04.4d-%02.2d-%02.2d %02.2d:%02.2d:%02.2d",
                                  $year, $mon, $mday, $hour, $min, $sec)." $t\n";
        print sprintf("%04.4d-%02.2d-%02.2d %02.2d:%02.2d:%02.2d",
                                  $year, $mon, $mday, $hour, $min, $sec)." $t\n";
        close O;
        system '/home/danlyke/bin/twitter','update',$t;
        system '/home/danlyke/bin/identica','update',$t;
        system '/usr/bin/php','/home/danlyke/bin/fbcmd/fbcmd.php','STATUS',$t;
        open(O, '|/home/danlyke/pin/posttoflutterby "Face/Twit/Whatever status"')
          || die "Unable to open posttoflutterby for piping\n";
        print O "Dan: $t\n";
        close O;
  }