Archive for November, 2003

11/27/2003: 6:57 pm: RobertSoccer

The San Jose Earthquakes finished off the Chicago Fire 4-2 at MLS Cup 2003 last Sunday at the Home Depot Center in Carson, California. It’s taken me a while to post this, but I wanted to edit down some videos and have them ready to go at the same time.

These are certainly heady days for fans of the San Jose Earthquakes. Picked by most people, including many San Jose fans, to finish near the bottom, San Jose came very, very close to finishing the regular season with the best record in the entire league. The Chicago Fire, another team picked to finish near the bottom, just beat out the Quakes for best regular season record.

After a heart-stopping come from behind win against Los Angeles, San Jose managed to come from behind twice and score in overtime to win the Western Conference championship over Kansas City. Even after showing such incredible heart and willpower, few people picked them to beat Chicago in the MLS Cup final. Of course, Chicago were dominant in their half of the playoffs and were looking as strong as ever. If you were an Earthquakes fan who attended one of the two previous games, though, there was no alternative other than to believe in the Quakes.

After standing, shouting, and chanting loudly throughout the entire game, I was surprised that I could still speak at the end of the game. The damage set in by the next night, however, and I ended up with a very sore throat and a cold. It was so worth it.

I haven’t uploaded my photos, yet, by I did manage to post a couple videos from during and after the game that I shot with my tiny digital camera. Please don’t expect professional quality. The audio is good, especially for a single tiny microphone, so be sure to have the sound turned way up on your computer.

11/18/2003: 8:23 pm: RobertBlogging and RSS

A couple new fake weblogs, along with a few previous ones, showed up in the referrers listing in my website logs from yesterday. Today’s harvest of bogosity includes:

  • www.malixya.com - Opening Pandora’s Box
  • www.kwlablog.com - L. A. in the news
  • www.worldnewslog.com - War News Blog

Like some of the previous ones, two of these fake blogs appear to have older posts. However, if you look at the HTML source for any of the alleged monthly or weekly archives, you will see that they lead to the same set of entries on the main page.

Lots of other bloggers are seeing this, too.

This looks like yet another spammer/p0rnsite trick to boost a site’s Google PageRank. It will be trivial for Google to foil their attempt, but I suspect this is only the beginning.

As I pointed out yesterday, they will get some traffic from webmasters who bother to check out the referrers in their site logs. However, most webmasters who look into this will immediately view source and catch on to the link to a porn site. No, that’s not the real angle.

The spammers are trying to find the real ego freaks (I say this only because I don’t have enough non-search engine referrers to justify doing the same thing) who use an automated tool to display their most current referrers on the main page of their blog. Plenty of people do that. Google on a couple of the domain names for the fake blogs I listed and you will find many victims of this scam.

I just googled “jennifersblog” and skipped through the search results to discover there were already 205 entries. Pretty good for a one page fake blog that has been in existence for only about a week.

11/17/2003: 11:56 pm: RobertBlogging and RSS

I’ve gotten a few suspicious URLs in my website referrer logs today, but the number this morning was much higher than usual. For those unfamiliar with the personal website egomania revelry of scanning your referrer logs for evidence that people like you, they really like you, … here’s the scoop. Of course, the real world is more complicated than what I am about to explain, but I don’t have time to write a book and you wouldn’t read it anyway.

When you click on a link on a web page, your web browser sends a request for a resource to a server. For example, when you click on the Wombat Nation banner on this page, your web browser sends a request for a resource identified by the URL “http://www.wombatnation.com/” to the web server that hosts my website. Typically, the resource is a web page.

The request (technically, an HTTP request) that your browser sends includes a couple pieces of identifying info. One bit is called the user agent. The user agent string can be used to identify the type of web browser you are using, for example, IE, Mozilla, Mozilla Firebird, Konqueror, Safari, Opera, etc. The user agent often includes info about what operating system you are using. Here’s the user agent for my favorite browser on my Linux system. Try to use it to determine my astrological sign.
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.5) Gecko/20031007 Firebird/0.7

Another bit of info in the request is the referrer. The referrer is the URL for the page you were on when you clicked the link. So, unless your web browser allows you to disable this, the webmaster of a site can tell how you got to her website. She can also use it to track how you move around her website.

Yes, I also immediately thought of Poindexter and Cheney. No, they didn’t think this scheme up, though they wish they did. And, no, referrers aren’t pure evil, unlike those two. Referrers can be used for good or for evil, so they’re sort of like nuclear reactions.

Back to the egomania. Every day I briefly check out my referrers log. That report tells me what links on other websites people have followed to get to my website. This is how I found out about a story in German at Der Spiegel Online that linked to PhoneBlogger.

Every now and then I check out a URL in my referrer log only to discover that it points to a page that contains no links to my website. Usually, it’s some kind of fly-by-night online retailer.

Since the bit of code in a web browser that sends an HTTP request isn’t exactly rocket science, obviously it’s possible for a knuckle dragging spammer to write a program that requests web pages, but sends a phony referrer. Okay, the spammers probably pay a college intern to write the code, but it gets written somehow. So, the spammer could then use such a program to send a request for a page from my site and fill in the referrer section of the HTTP request with a URL for the spammer’s site. I see the URL in my referrer log, I’m overcome with curiousity, and I go check out the site. The spammer now has her foot in the door.

So, what happened today that was different? I saw a bunch of phony referrers in my log that looked very suspicious. Each URL led to a weblog with a different layout. But, there were a couple striking similarities.

  • Each blog is brand new
  • Each blog consists of a series of short posts, usually summarizing other news articles from legitimate news sources
  • Each post is on the same day at the same time, or offset by a repeating time interval
  • When you view the page source, one of the last lines is something like <a href="http://www.example.com/adult-webcam/"><img src="/adult-webcam.gif" width="78" height="24" border="0"> with example.com replaced with the domain name for each site
  • Every link includes onMouseOver='window.status=" ";return true; in the <a href>, so the status bar won’t show the URL
  • Each site has a list of links or referrers. Some of the referrers are legitimate websites and some are ad tracking sites or porn sites
  • Some of the sites have a small blogroll. Many of the blogroll entries are popular, legitimate weblogs.

Here’s a couple of the URLs of the spammer blogs that showed up in my referrer logs today.

  • www.jennifersblog.com - Jennifer’s blog
  • www.saulem.com - Saulem.com
  • www.wr18.com - UFO blog
  • www.bongohome.com - Art News

A little research at my favorite sites for quick, basic domain name research, Whois Source and InterNic Whois Search led to the discovery that all the sites are hosted at stargate.com and the domain name registry entries were created on November 8 and updated on November 10.

I’m amazed by the detail put into creating these phony weblogs, but I should probably be more amazed that I spent so much time writing about it.

: 10:23 pm: RobertVoiceXML

CNN.com - Southern drawls don’t compute - Nov. 17, 2003

Southern drawls have thwarted voice recognition equipment used by the Shreveport Police Department to route non-emergency calls.

“In Louisiana, we have a problem with Southern drawl and what I call lazy mouth. Because of that, the system often doesn’t recognize what [callers] say,” [Capt. John Dunn] said.

Having grown up in the deep South and remembering how people speak there, I’m certainly not surprised that a speech recognition that is not tuned specifically for Southern US English accents might not work too well.

The “lazy mouth” that I remember was a combination of slurred speech, extra syllables, and the occasional omission of nouns or verbs that could be implied from the context, assuming you were a local. However, the exact nature of the accent varies significantly from Texas to Louisiana to Mississippi and across the rest of the South.

11/16/2003: 11:06 pm: RobertBlogging and RSS, PhoneBlogger

I just made the PhoneBlogger 0.2 release available from the SourceForge project site. The biggest highlight of the new release is that you can now run PhoneBlogger on a different server than where your weblog is hosted. This means that someone can now run PhoneBlogger as a hosted web service for multiple bloggers.

PhoneBlogger has two main components

  • Static VoiceXML, JavaScript, grammar, and XML configuration files
  • Python CGI scripts

In the 0.1 release, you could host the static files on a server other than where your weblog was hosted. The VXML files access the configuration info for everything else from a local XML file. This XML configuration file can contain info on as many blogs as you want. The configuration file does not include usernames or passwords. That info is collected during each phone call.

Therefore, one person could configure PB to post to more than one of their blogs. Also, you could configure PB to let more than one person post to more than one blog. A limitation of the 0.1 release, though, was that the Python CGI scripts had to be on the same server as the weblogs. I used an operating system file copy command to place the incoming WAV file directly into a sub-directory of the weblog before converting it to an MP3.

In the new release, I added support for the newMediaObject XML-RPC call. That allows PB to upload the recorded audio file to your weblog over HTTP. If you do host your weblog on the same server as the CGI scripts, though, you will want to configure PB to continue to use the file copy command for performance reasons.

So, the flow of a phone call to PhoneBlogger now goes something like this

  • The blogger/caller calls a phone number at a hosted VoiceXML Server provider
  • The VoiceXML Server looks up the URL of the VoiceXML application and begins to run it
  • The VoiceXML app prompts the caller for the blog name, their user name, and their password
  • The VoiceXML app then records the audio the blogger wants to blog
  • The VoiceXML app uses an HTTP GET to send the recorded audio to a Python CGI script
  • The Python CGI script converts the audio to an MP3 file and returns a path identifier for the file
  • The Voice XML app informs the blogger/caller of this success and then uses another HTTP GET to send the blog name, the username, the password, and the path identifier of the MP3 file to another Python CGI script
  • The second Python CGI script makes an XML-RPC call to the weblog to upload the MP3 file
  • The Python CGI script then uses a different XML-RPC call to post a new entry to the blog that includes a link to the MP3 file

The communication paths and protocols are:

Initiator Recipient Protocol
Person VoiceXML app telephone call (could be PSTN, VoIP, or SIP-based)
VoiceXML app Python CGI Scripts HTTP
Python CGI Scripts Weblog XML-RPC over HTTP

Finally, I’ve decided to release PhoneBlogger 0.2 under the Apache Software License, as well as the GPL. Pick the license you like best.

: 4:37 pm: RobertPhoneBlogger

This post was created with PhoneBlogger. Click to listen to the recorded message.

This is the final test run (hopefully) of PhoneBlogger before the 0.2 release.

11/12/2003: 11:42 pm: RobertArts and Education, The Unusual and the Weird

Survival Research Labs performed a brief show starting a little before 8 pm Wednesday night in the courtyard of the Berkeley Art Museum. The performance was part of a CIMAM (International Committee of ICOM (The International Council of Museums) for Museums and Collections of Modern Art) conference.

Below are a couple photos I took before, during, and after the show. I didn’t get many good pictures during the show, but I shot a couple minutes of video that came out quite well. I’ll post some of the video after I have time to edit it down a bit. Photos were hard to take during the show, as the scene varied from very dark to very bright. The rocket engine put out quite a large flame.


I took these photos before the show started. The bicycle was riding on top of a wire that ran across the courtyard. The huge spliff in the Smoke Bear’s mouth exploded during the show and the bear ended up kind of smashed up on the ground. A Jesus looking figure was flying below the bike in a Superman pose. You can see Hippie Jesus in the second photo, albeit a little fuzzily due to me having trouble keeping the camera steady during a long low-light exposure.


Inchworm, one of the bigger machines, started the show by crawling very animal-like across the courtyard and interacting with the Running Machine, one of the smaller machines. Most of that action was going on around the corner to the right where I couldn’t see it. Then, Big Arm, this machine with a really long articulating arm walked out and started spewing flames. A little later, one of the other machines started flaming. You can see the V1 to the left in both of these pictures. It’s the long horizontal tube.

Here’s the aftermath of the show soon after it ended. The remains of the bear are attached to the big plywood sheet up front. Note the huge Tesla coil in the background. It was making 20+ foot blue sparks during the show. The trees were covered with long sheets of aluminum foil. The Tesla coil and the foil made for lots of fun. The next pictures show the foil trees and the Tesla coil a little better.


Finally, here are some closer up photos of the crawling machines after the show. You can see most of the V1 on the left side of the first photo.


: 9:13 pm: RobertArts and Education, PhoneBlogger

I tried to use PhoneBlogger at tonight’s SRL performance, but the V1 rocket engine was just too loud. Huh, what a surprise. When I wrote PB, I never did take into account the requirement of being able to phone blog the firing of a rocket engine.

Oh, well. I’ll put up some photos and videos from the show soon. It was most excellent.

: 6:09 pm: RobertArts and Education

If things go smoothly, I’ll be using PhoneBlogger later tonight to post from a Survival Research Labs performance in Berkeley. I’m just hoping the sound from the V1 rocket engine doesn’t blow out the circuitry on my cellphone, much less my ears.

11/10/2003: 1:32 am: RobertSoccer

In the past eight years, I’ve attended over 100 San Jose Earthquakes soccer matches. I have attended many other soccer matches and I have watched hundreds, if not thousands, of other soccer matches on TV. I have attended many baseball games and a handful of football, hockey, and basketball games. I have watched untold numbers of baseball, basketball, football, soccer, hockey, volleyball, rugby, Australian Rules Football, hurling, tennis, racketball, squash, and “name a sport and I bet I’ve watched it” games on TV. More than my mother should ever know about.

None of those matches compares to the match I witnessed in person tonight between the San Jose Earthquakes and the Los Angeles Galaxy at San Jose’s Spartan Stadium. More coverage here, here, here, and here.

In the first round of the MLS playoffs, the teams that are matched up play one game at home and one away. The team with the better regular season record gets to play the second game at home. The team with the greatest aggregate score after the two games moves on to the next round.

This is a great system for a lot of reasons. The teams are motivated to score a lot of goals in the first game. In previous years, once a team went ahead, they often bunkered down and played boring, defensive soccer. Since a one goal lead isn’t much advantage going into the second leg, teams will push harder to build a bigger lead.

In the SJ-LA series, LA won their home game 2-0. SJ was faced with needing to win by two goals on a wet field, just to tie the series. In the event of a tie, a 30 minute golden goal (first goal wins) game is immediately played. That is followed, if necessary, by a penalty kick shootout to determine the winner.

Thirteen minutes into tonight’s game, LA had scored two goals. Now, with the aggregate score 4-0, SJ needed four goals to force the extra game. For American football fans, a comparable situation would be a team needing to come from behind by about fifty points to win.

Since SJ and LA had finished the regular season with home and away matches, this was the fourth game in a row in which they played each other. In these games, San Jose had scored only one goal in nearly 300 minutes of play. Now they needed four goals in less than 80 minutes. Impossible? I and many other Quakes fans feared so.

By halftime, the Quakes had leveled the score at 2-2, bringing them back to the initial two goal aggregate deficit. The momentum shifted back to San Jose, and they dominated LA throughout almost the entire remainder of the match. A few minutes into the second half, SJ scored again. With only a few minutes left to play, the coach brought on Chris Ronér, a former UC Berkeley soccer star. Ronér headed in Richard Mulrooney’s cross to bring the match score to 4-2 and the aggregate score to a 4-4 tie. The crowd had already been going crazy, but they (and I) started screaming even louder.

The game ended at 4-2 and the exhausted players took a ten minute break before the extra game. The LA Galaxy players looked crushed as they headed for their bench just below my section. They couldn’t believe they had given up a four goal lead.

The SJ coach, Frank Yallop (my candidate for a MacArthur genius grant), had already brought on Rodrigo Faria late in the second half as a substitute. Faria was picked up late in the season to replace Brian Ching, who went down with a ruptured Achilles tendon. Faria had been in Brazil dealing with the death of his father before the Quakes signed him. After arriving, he seemed slow to return to the form he had shown with one of his previous teams, and was starting to spend more time on the bench.

Six minutes into the extra game, Ian Russell played a ball forward to Landon Donovan. Tyrone Marshall was mesmerized by the ball at Landon’s foot and apparently forgot he was supposed to be marking Faria. Donovan sent a perfect through ball past Marshall into the path of Faria. Faria calmly slid the ball to the far post past a diving Kevin Hartman (this being the same Kevin Hartman who was beaten in overtime by the Quakes’ Dwayne DeRosario when the SJ beat LA in the 2001 MLS Cup).

Unbelievable. I hope my throat recovers this week from all the yelling. I think that even sports fans who hate soccer would have had to admit that this was an incredibly entertaining game to watch. Life is good, justice was served, I’ll always remember this match, and the Earthquakes move on to face Kansas City in San Jose next Saturday night.