Tracking Online Identities

Another day of focusing on programming has gone by, and I’ve had little time for reading emails, blogs, or messages on numerous social networks I’m on. One blog I visited was DedeAndro. He’s been playing with the Lijit recently. I started using Lijit about eighteen months ago, and have left one of their widgets on my sidebar. It shows recent searches and links to some of the different social networks I’m on. They’ve evolved a bit since I’ve added them, and I’ve just added the ability to see more of the information that they’ve collected about me.

They also link into PostRank, a tool which ‘measures audience engagement’. I’ve signed up for PostRank and started playing around with it, but don’t have much of an impression of it yet. I did add the Greasemonkey script so PostRank can interoperate with Google Reader.

The other news I got today about tracking online identities is from EntreCard. They’ve added the ability ten different social networks on your profile. Currently, I list twelve identities on lijit. On MyBlogLog, I list 34 social networks, on Retaggr I list 54 social networks, and on the most powerful of all, so far, DandyID, I list 76 different networks.

So, I filled in the ten networks that EntreCard looks at, simply copying the links over from DandyID. One of the networks that EntreCard lists is MyBlogLog. MyBlogLog makes the list of networks available in a Friend of a Friend (FOAF) file. It would be nice if EntreCard could have simply read that file. DandyID is supposed to be working on some sort of API as well, although I’ve suggested that they might want to suggest FOAF as well. It would make it easier to have one tool that could life network information from various sites that support FOAF.

So, as the number of social networks grow, so do the interconnections between them, as well as the tools for listing which ones you are on. So, which networks are you on that I’ve missed? What tools are you using that I should consider?

P.S. I just got seriously spammed by some program going out and creating 200 userids, apparently in an effort to spread some sort of Trojan horse. I’ve deleted the userids and changed the registration process. If you’ve created a userid and I deleted it, I apologize.

Random Stuff.

Yesterday the weather was warm. At Church I listened to people talking about the thaw. The water on the ice is slippery, one person commented. Another spoke about hearing the ice melt off the gutters in the middle of the night. During the service a brief rain storm passed through. During quiet moments of the service, you could hear the tires of cars heading down the road as they splashed past. Last night, I tried to capture some of this as I fell asleep into some nicely turned phrases. I may have succeeded, but I fell asleep and forgot my words.

This morning, I woke early. I have a big programming project I need to spend a bunch of time on. So, much of the day was spent thinking in computer languages and not in English. When I got home, I kept working on the programming a bit. When I look at the screen now, equations and logic keep coming, and no good words for a blog post.

I search various blogs that I read, hoping for an idea. But instead all I find are sites with the ‘Exploit-Iframe.gen.c’ trojan on it. I’ve left a comment for a few friends for them to check this out.

On top of all of this, I am distracted. A friend is battling leukemia and for this too, words fail me.

I should try to read some of my emails. I should read other blogs. There is lots going on. Instead, I shall go offline. Tomorrow, I’ll probably do a lot more programming and we’ll see what comes for words tomorrow.

(Categories: )

25 things about my friends In a Word Cloud

Over the past few days, the two most popular posts on my blog have been 25 things about me...tagged and Building a Twitter Status Cloud, so I decided to mash the two of them up.

My first idea was to take the 25 things that my various friends have written, code them for categories, and do some sort of statistical analysis of what people write about. However, I’m pretty swamped right now, so I thought I would do something a little easier.

My next idea was to randomly select twenty five things that my friends have written and use that to create a new blog post. With a little bit of editing to make it look nice and flow together, here are 25 things about my friends:

  1. When we lived in Red Lion, PA we owned a duplex. One half of the three story home is what we lived in, the other half made into 2 single apartments with an apartment in the back with our garage.
  2. We raised horses and hunting dogs when I was growing up, so I was taught to never get attached to an animal. That’s why I’m so aggravated with Mary: we went to a shelter (“you’re taking me out to breakfast, buying me a new microwave, and we’re getting a dog”) , and she picked out a sweet Redbone Coonhound who had been horrifically abused. All Beau needs is constant love and attention, and I’ve become hopelessly attached to the big goofball.
  3. I had to sit in the corner in kindergarten because I called the gym teacher a bitch. This was not because I knew what the word meant. His name was Mr. Rich, and I was simply coming up with rhymes for it. Nobody asked me why I was using that word before they sent me to the corner.
  4. A very fond childhood memory is going to my grandmother's lake house for 4th of July and having her take all of my cousins and I in her car to Sonic for fresh a lime slush. To this day it's my favorite beverage.
  5. My bench mark for the worst food would have to be beets and Sushi would be a very close second.
  6. Have only been to Italy only once when I was 18. My ancestors are from Finland, my maiden name is the 2nd largest seaport in Finland, so I would love to go and see the country for myself.
  7. My favorite pass-time is interacting with my friends on facebook.
  8. My favorite webpage, besides my own, is the Ooze. A close second would be Emergent Village’s webpage. I have been visiting these two webpages since their inceptions.
  9. Once on my lunch hour in Boston, I ran into Emo Phillips, literally.
  10. I once sang backup to John Denver.
  11. I've spoken with Sean Penn about mudslides and Madonna.
  12. Am dyslexic and couldn't read well until about 15. As for writing, I needed another 5 more years to get it right. Yet because I am so competitive, people around me had no idea. I've been always a voracious reader and total nerd with a capacity to remember every piece of information that tickles my fancy --whether useful or not.
  13. A friend of mine who has a masters in theater management tells me that I may actually be able to claim to have performed "on Broadway." I did a version of Animal Farm with a small troupe on a traffic island in the middle of the street. Apparently, depending on the number of people who passed and a few other measures like exact location, this may qualify for that vaunted distinction.
  14. I own a lot of books. Every room in my apartment—except the bathroom—has books. I live in a library. I have read the majority of them at least once. I know every one I haven’t read.
  15. Last three books I've read: Revolutionary Road, A Room with a View, and Nicholas and Alexandra.
  16. Which leads me to this point: In graduate school I taught myself how to surf and only came close to drowning twice.
  17. Since there wasn’t a doctoral program that suited me, I spent a year going to the North Carolina Central University School of Law at night. NCCU is a “traditionally all-black university”, was lead counsel for many of the great civil rights cases that went to the Supreme Court in the 1960s, and is the lowest-cost ABA-accredited law school in the country. I dropped out when I moved too far away to drive to class three evenings a week , and since I was paying for this myself, other schools were much too expensive since I never wanted to actually be a lawyer; I just wanted to study the law.
  18. I can pack for a trip in one day or less. It takes me well over a week to unpack after I return from said trip.
  19. I can tie a maraschino cherry stem in a knot in my mouth. I learned this from my dad before I turned 10. Now people ask me, "Your dad taught you bar tricks before you were 10?!"
  20. I avoid using the dryer whenever possible.
  21. I have held a wallaby in my arms. It wasn't a romantic thing, but it was awesome.
  22. I'm kinda worried about 12/21/12 but figure we will all know about it one way or another soon enough.
  23. The worst job I ever had was a Friday's waitress job in college. I went through the training with my closest friend and had a blast, and then on the first night out on the floor I quit after two tables.
  24. I proposed to my wife while she was in the Peace Corps, at the Hotel Colbert in Casablanca in Morocco. But, Casablanca isn’t really as romantic as it sounds. Later we traveled to the many romantic spots and I kept thinking, “Crap, this would have been a great place to propose!” I have a bunch of photos of those places, but have never told my wife that is why I took them – until now.
  25. Thinks Wiliams and Sonoma is heaven on earth.

As I thought more about this I thought it might be fun to take all of what my friends have done and create a word cloud of their things. As with my other projects, I used Wordle.net to generate the word cloud. Here is the word cloud I came up with:

(Categories: )

A Stimulating Discussion

It was with some reservation that I attended an Organizing for America event to discuss President Obama's Economic Recovery Plan. A week or so ago, Zephyr Teachout wrote Organizing for America Will, and Should, Fail which raised some very important issues about the direction Organizing for America needs to be heading if it is going to be successful. I’ve discussed the article with friends here in Connecticut and I wondered how the discussion would go today in New Haven.

I am pleased to say that it was much better than I feared it might be based on Zephyr’s article. Some of this is because people organizing the meeting wanted it to be much more than a call to lobby legislators, some of it is because they invited Lou Mangini, a Congressional Aide for Congresswoman Rosa DeLauro, to speak about the recovery plan, and some of it was simply because it was a good group of energetic volunteers.

We started with a detailed overview of the Economic Recovery Plan. Mr. Mangini noted that economic stimulus plans have been a frequent tool of Congress during recessions. He explained where things are in the process of getting the plan passed and what it might look like as it gets implemented. He expressed gratification to see so many people gather to discuss an urgent legislative issue on a Saturday afternoon.

We then broke into small groups to discuss aspects that we were interested in. I joined a group talking about local issues around the plan and how it relates to grassroots organizing.

There were three key areas that we focused on. The first was getting it passed. Since it seems like there is strong support of the plan by the Connecticut delegation to Washington, we discussed contacting friends in states where the Senators and Representatives may not be as supportive. This does not mean supporting the plan as it is. There continues to be pressure to change the plan and we need to keep up the pressure to make sure that any changes will make the plan as effective as possible.

Beyond that, the issue of what projects will get funded needs key focus. Unlike other economic plans where specific projects are earmarked, this plan calls for the state and local governments to determine which plans will most effectively reach the goals of the stimulus package.

It is unclear exactly how many ‘shovel ready’ projects are waiting to be done with out the necessary funding to complete them. By ‘shovel ready’, what is meant is projects that have been designed and have the necessary permits. Some of the best projects may, in fact not be ‘shovel ready’, and there are separate issues about how to get such plans ‘shovel ready’ as quickly as possible.

It is also unclear exactly how much money will be made available to states for various projects. However, it is reasonable to assume that there are probably twice as many ‘shovel ready’ projects on the shelves waiting to be funded as there will be funding for.

So, who will decide what projects will be funded? This will go through typical existing agencies like councils of economic development or state transportation agencies. These agencies are not always as transparent as people would like, and may not always chose those projects that will be most effective in stimulating the economy.

Perhaps, if various projects can be listed online where people can discuss the pros and cons of each project, we will end up with better projects being funded.

Once these projects are selected, there will also need to be better transparency and oversight to make sure that they are done in as efficient and cost effective manner as possible.

Can volunteers from Organizing for America and other groups gather and discuss projects that would be most beneficial for our country? Can they make these discussions available online so everyone can participate?

Such discussions could help everyone in Organizing for America be part of the change that they worked so hard for during the election, and might, just might, address the concerns that Zephyr expressed, better than any one imaged was possible.

So, what projects are under consideration for funding where you are?

(Cross-posted at Greater Democracy.)

(Categories: )

Building a Twitter Status Cloud

Last week, I produced a word map of the statuses of the people I follow on Twitter. Willem Kossen asked if I could release the program under an open source license. Actually, I’ll do something I hope some of you will find even more helpful. I’ll produce it free, public domain, including my comments about how I put this together.

I actually started off trying to come up with some nice GraphViz images of various social networks I’m on. (For more about GraphViz, read my blog post Installing GraphViz in Drupal and Using GraphViz, a Brief Tutorial. You may also want to check out some of the GraphViz images I’ve uploaded to Flickr and a great Visualization of the Madoff Secruities “Feeder Funds”.

From my Flickr images, you’ll see that I like to create images of social networks using GraphViz, and I thought I would try to create an interesting image of my Identi.ca network. I like working with Identi.ca because it is open source and it uses open standards. For example, you can get my network on Identi.ca as a FOAF file. This is a standardized XML format that can easily be parsed.

In PHP, you can read a website, if you have curl installed fairly easily:

$ch=curl_init();
curl_setopt($ch,CURLOPT_URL,'http://identi.ca/'.$target.'/foaf');
curl_setopt($ch,CURLOPT_RETURNTRANSFER, 1);
$xmlstr = curl_exec($ch);
curl_close($ch);

This little snipped of PHP opens a channel which I’m calling $ch. It goes out and gets the FOAF file for whichever $target I specify. The result is saved in a string called $xmlstr.

With this, you can then parse the XML into an easy to use structure using SimpleXML.

try {
$xml = new SimpleXMLElement($xmlstr);
} catch (Exception $e) {
print "Skipping " . $target . "\n";
}

I use a ‘try’ around the calling of SimpleXMLElement in case the $xmlstr doesn’t contain valid XML. In my case, I just skip the records that don’t have valid XML.

The next part is where I’ve always needed to explore a little bit to make sure that I get the right syntax. XML documents can be multiple levels and they get mapped into structures within structures within structures in PHP with the SimpleXMLElement function.

In this case, the information about the first person in the FOAF document can be found as
$xml->Person[0]->holdsAccount->OnlineAccount->accountName[0];

The people that the person knows can be found by incrementing the index of Person. So, I wrote a loop to go through the structure and write out all the relationships in GraphViz format. I also built a list of other FOAF files to extract the relationships so I could get additional degrees of separation.

Unfortunately, I have a lot of friends on Identica, and most of them have lots of friends as well, and the graph became unmanageable. I kicked around building some filters to only track special friends, but didn’t come up with anything good, so I set aside the identi.ca graphing.

MyBlogLog also provides FOAF files. In addition, the MyBlogLog FOAF files includes links to other services that users have specified. Unfortunately, the MyBlogLog FOAF files does uses namespaces which complicates the parsing. In addition, I probably have even more friends on MyBlogLog than I do on identi.ca, so I set that aside.

Which takes me to Twitter. Twitter also gives you the ability to extract information in XML. As an example, you can get my most recent 100 friends on Twitter, including their name, screen name, location, description, and most recent status. For the status, there is information such as what it says, when it was created, what tool was used, etc.

As I noted, you can get up to 100 friends worth of statuses at a time. If you have lots of friends, you need to loop through all of them.

So, I used the curl and SimpleXML processing above, together with some extra looping to pull all the statuses. With that, here is the PHP program that I used:

<?php

$page = 1;

while(1) {
$ch=curl_init();
curl_setopt($ch,CURLOPT_URL,'http://twitter.com/statuses/friends/ahynes1.xml?p
age='.$page);
curl_setopt($ch,CURLOPT_RETURNTRANSFER, 1);
$xmlstr = curl_exec($ch);
curl_close($ch);

try {
$xml = new SimpleXMLElement($xmlstr);
} catch (Exception $e) {
exit;
}

$i = 0;
$uname = $xml->user[$i]->name;
if ($uname == '') exit;
while($uname != '') {
$status = $xml->user[$i]->status->text;
print $uname . " : " . $status . "\n";
$i = $i + 1;
$uname = $xml->user[$i]->name;
}
$page = $page + 1;
}
?>

As you can see, you simply put the name of the person you want in the URL and off you go. Caveats: You don’t need to login to Twitter to be able to do this, and you can do it for anyone, providing the people they follow don’t have their Tweets protected. However, you will get limited if you try to do more a lot of pages at the same time.

What I did was save the results to a file that you can wee here. The next step was to paste the text into Wordle.net I then took a screen print of the page and saved it as an image. I could probably search around for some other word cloud software and do that as part of the process, but this is good enough for now.

A minor change and this could be used to show the description of the people that I follow, or the people that follow me. Someone else has already set up a word cloud generator like that, and you can see the word cloud of the bios of people that follow me at TwitterSheep

So, with that, here is my Friday evening word cloud of statuses of the people that I am following, thanks to a little PHP using curl and SimpleXML as well as the word cloud software at Wordle.net:



Twitter Status Cloud, originally uploaded by Aldon.

Syndicate content