Tag Archives: computing

Things I Learned this Week

Among the things I learned this week:

* Sofia is old–it dates to before 7th century BC–and there is evidence of its history strewn all about the city. (Courtesy: EZ and Sofia)

* Bulgarians know the last-clap game. (Courtesy: Crowd at a National Opera and Ballet performance)

* The interpretive variety and latitude of ballet performances is vast, the details of which I learn more and more about as I continue to explore. (Courtesy: Joan Acocella’s Dance Notes about Swan Lake in The New Yorker)

* Computer-guided matchmaking dates to at least the 1960s. (Courtesy: Nick Paumgarten’s The New Yorker article Looking for Someone).

Things I Learned this Week

Among the things I learned this week:

* Mannequins are more complex, expensive, interesting, and industry supporting than I expected. (Courtesy: NYT)

* My local farmer’s market is pretty good, but it lacks the ready-to-eat variety–including any real coffee options–for which I had hoped. (Courtesy: Farmers)

* Fortified milk is one of the few sources of Vitamin D for vegetarians. (Courtesy: Internet)

* Scalable vector graphics aren’t too difficult to work with, although learning new software is always a pain. This is independent of the JRK as YSL piece I did. (Courtesy: Inkscape)

Futzing and Displaying Unruly RSS Feeds

I am currently working on a Web site for my latest and absolutely greatest adventure of competing in the 2010 Montgomery Country Agricultural Fair‘s demolition derby. I want this Web site to provide multimedia content, descriptions and plans, as well as nicely displayed RSS feeds of my blog and SMS systems relevant to my demolition derby effort. Probably because of my own ignorance and lack of knowledge (remember, I’m a political/economic analyst, not a developer) but possibly because of a(nother) bug with StatusNet, I had difficulty using PHP to repost posts that contain a certain hashtag. After trying to do it the “correct” way for an hour or two, I decided to do it the easy hacky way and did so in five minutes. Here’s the deal in case you come across a similar problem:

For my homepage, I swiped Matt Thommes’ PHP to display RSS/ATOM feeds in another page. It took some tweaking (and learning), but I used his structure/framework to get my blog and sms sites to load. This works well, is clear, and allows for a good degree of flexibility.

For the demolition derby Web site, I want to post notices from my sms site that contain the #demoderby hashtag. That way, I can continue to use whatever information delivery methods I prefer (e.g., blog or sms) with it all being delivered to one place for people who want to follow the destruction. At first, I played with the various badges (for StatusNet systems) that exist out there, but I could not get the first two I tried to work and none of them seemed well configured for limiting posts to certain hashtags. The next step was to use Thommes’ PHP structure to use the RSS feed a StatusNet install provides for a given hashtag. This, however, wouldn’t work because–I think–of the URL StatusNet uses for hashtags’ RSS feeds.

After about two hours of total hunting and searching (starting from the badge search), I gave up and decided to add a tweak to Thommes’ code. I essentially include a line that checks to see if a given notice contains the hashtag. If it doesn’t, do nothing and move on to the next notice. If it does, then display the tag. It took me five minutes to do, and should have been how I started. Oh well.

Here’s the tweaked code:

# INSTANTIATE CURL.
$curl = curl_init();

# CURL SETTINGS.
curl_setopt($curl, CURLOPT_URL, "http://sms.jasonkoepke.com/api/statuses/user_timeline/1.atom");
Curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, 0);

# GRAB THE XML FILE.
$xmlSMSFeed = curl_exec($curl);

curl_close($curl);

# SET UP XML OBJECT.
$xmlObjSMSFeed = simplexml_load_string($xmlSMSFeed);

$tempCounter = 0;

#Specify the hash you care about
$hashofconcern = "#demoderby";

foreach ($xmlObjSMSFeed->entry as $smsitem)
{
# DISPLAY ONLY 3 ITEMS.
if ( $tempCounter < 3 )
{
$pos = strpos($smsitem->title, $hashofconcern);
if ($pos === false)
{
#We don't want to display non-hashtagged posts, so this if statment has nothing.
}
else
{
echo " id."">".$smsitem -> published.": ".$smsitem -> title."

";
}
}

$tempCounter += 1;
}

Hope that helps someone, or someone comments the obvious and easier way of doing all this.