All Request Saturday

Here’s an interesting idea, stolen from Terrance, who stole it from Stay of Execution: an all-request day.

Something about me you’d like to know? Something you’d like me to ramble on about? Pick a topic, any topic, and drop it in the comments. Come Saturday, I’ll go through what (if anything) is there and start babbling.

Of course, if nothing appears, I still reserve the right to go on about whatever I damn well please, so don’t think that by not suggesting anything you’re any more likely to get me to shut up. :)

iTunesSituation (The English Breakfast)” by Yaz from the album Don’t Go/Situation (1999, 9:04).

Prior art for ‘nofollow’ blocking

With the addition of rel=“nofollow” to our arsenal of anti-spam tools, there’s a certain level of chatter about the ability to add a block element to a webpage to delineate certain areas of the page that should not be indexed by Google or other search engines.

Most of the time I see this mentioned, credit has gone to Brad Choate’s post from Feb. 2002 for first advancing the idea. However, the idea itself dates as far back as Jan. 2001 in Zoltan Milosevic’s Fluid Dynamics Search Engine, a shareware site-specific search engine.

I used the FDSE on my site for a while (starting Feb. 6, 2002), and found its support for blocking sections of pages from the search engine to be incredibly useful.

For instance, the sidebar on my site changes frequently: on the front page, the linklog updates often, somtimes multiple times a day; and on the individual pages, the ‘related entries’ list can change over time as new entries are added and the pages are rebuilt. Because of this, it’s not uncommon for me to see people arrive through Google searches for terms that were in the sidebar of a particular page when Google’s spider crawled my site, but have since disappeared.

In another situation, try using Google to search my site for an instance of when I’m actually talking about TrackBack: as the term “TrackBack” is on every single individual entry page, the noise to content ratio is weighted in entirely the wrong direction. If I had the ability to block off the sidebar and the TrackBack section header, these problems could be avoided.

FDSE allowed me to do just that — and part of what I liked about it was that it used the same syntax as the standard robot commands used in robots.txt files or meta tags. From the FDSE Help Pages:

FDSE supports the proprietary “robots” comment tag. This tag allows a web author to apply robots exclusion rules to arbitrary sections of a document. The tag has one attribute, content, with the following possible values:

  • noindex – the text enclosed in the tag is not saved in the index
  • nofollow – links are not extracted from the text enclosed
  • none – enclosed text is not indexed nor searched for links

Values “index”, “follow”, and “all” are also valid. In practice they are ignored since they are the unspoken defaults.

This feature is expected to fit the customer need of preventing certain parts of a document – such as a navigational sidebar – from being included in the search.

Example:

<HTML>
<BODY>

    This text will be indexed.
    <a href="foo.html"> this link will be followed </A>

    <!-- robots content="none" -->

        This text will NOT be indexed.
        <a href="bar.html"> this link will NOT be followed </A>

    <!-- /robots -->

    <!-- robots content="noindex" -->

        This text will NOT be indexed.
        <a href="bar1.html"> this link WILL be followed </A>

    <!-- /robots -->

    <!-- robots content="nofollow" -->

        This text WILL be indexed.
        <a href="bar1.html"> this link will NOT be followed </A>

    <!-- /robots -->

    la la la

</BODY>
</HTML>

For the example of a navigational sidebar, the “noindex” vale would be the best choice.

This syntax was designed to match the robots META tag.

For documents which have both the “robots” META tag and the “robots” comment tag, the most restrictive interpretation will be made, always erring on the side on not indexing or not following.

According to the above cited help documentation, Milosevic introduced this functionality in v2.0.0.0031 of the FDSE, and a quick check of FDSE’s version history dates that release to Jan. 26th, 2001 — four years before even a hint of its functionality was added to the major search engines, and just over a year before Brad’s post went up (no disrespect at all is meant to Brad here — different people have the same ideas fairly often, after all, and it’s an equally good idea no matter who came up with it — I’m just trying to give credit where credit is due, since this is a technique I’m actually familiar with).

Obviously, I’m fairly happy about seeing rel=“nofollow” gain support with Google and the other search engines. Equally obviously by this point, I’m sure, I’d love to see a block-level implementation made available, and I think Milosevic had a good approach. It’s easy to implement, follows already established conventions (robots.txt and meta tags), validates (as it’s simply an HTML comment), and allows for a little more control than a simple on/off ignore switch would.

Battling the spammers

Over the past few days, I’ve noticed off and on that my webserver has been extremely slow to respond — less obviously when just browsing pages, but attempting to connect to the Movable Type interface was increasingly difficult, often resulting in nothing but timeouts and connection failures.

I had a hunch that I knew what was going on, but I wasn’t entirely sure at first. I logged in to the server locally — something I haven’t had to do in a while — and realized just how badly the machine was bogged down when the OS X user interface was almost as unresponsive as Movable Type. Not a good sign. Once I made it in and got a terminal window up, I ran top -u 15 to see what was going on.

Not surprisingly, every entry that top displayed was a perl process, with mysqld occasionally clawing its way to the top for a moment or two. Now I was almost entirely sure that one or more of the sites I host was under a major automated comment spam attack, as even with MT-Blacklist installed and refusing the majority of the submitted comments, it would require a certain amount of processing for each request, and while I’m not sure just how many a minute were being submitted, it was obviously enough to bring my server to its knees.

So, seeing if I could kill two birds with one stone, I renamed all the comment and trackback scripts on the webserver, figuring that this would kill any in-progress attack and in doing so, confirm that it was a spam attack. Sure enough, as the multitudes of perl processes slowly worked their way through to completion, top started running faster (it had been updating once every 6-10 seconds, rather than once a second) and other processes started to show up on the display. After about two minutes, there wasn’t a single perl process on top‘s list, top was updating at its standard once-per-second frequency, and the computer’s UI was responding as it should.

The downside to this technique is that it breaks comment and trackback ability. Easy enough to fix, though, with a quick change to MT’s config file and a rebuild of the sites. So, the comment scripts have been renamed, and I’m in the process of rebuilding the sites to reflect the new script locations.

And you know what?

Even in mid-rebuild, I’m already starting to watch the number of perl process climb. One or two I’d expect while rebuilding the site, but I’m currently seeing anywhere from two to ten at a time. I’ve got a really bad feeling that whatever spammer has me targeted has a script smart enough to scrape the pages to find the script locations, no matter what they are named.

This — in a word — sucks. Outside of turning comments off entirely for the targeted sites, which really doesn’t thrill me, I’m not sure where to go next.

Guess for now I’ll just have to keep an eye on things and see how they go.

rel=“nofollow” : Massive weblog anti-spam initiative

Wow. Straight from Jay Allen:

Six Apart has announced in co-operation with Google, Yahoo, MSN Search and other blog vendors a massive joint anti-spam initiative based on the HTML link type rel="nofollow".

The initiative is based upon the idea of taking away the value of user-submitted links in determining search rankings. By placing rel="nofollow" into the hyperlink tags of user-submitted feedback, search engines will ignore those links for the purposes of ranking (e.g. PageRank) and will not follow them when spidering a site.

[…]

It is important to note that while the links will no longer count for PageRank (and other search engines’ algorithms), the content of user-submitted data will still be indexed along with the rest of the contents of the page. Forget all of those silly ideas of hiding your comments from the GoogleBot. Heck, the comments in most blogs are more interesting that the posts themselves. Why would you want to do that to the web?

Now, the astute will point out that because links in comments/TrackBacks are ignored by the search bots, the PageRank of bloggers all around the blooog-o-sphere will suffer because hundreds of thousands of comments linking back to their own sites will no longer count in the rankings. And that is most likely true. But that inflated PageRank, which was a problem created by the search engines themselves, is the rotting flesh that the maggots sought out in the first place. If you ask me, I say fair trade.

In the end, of course, this isn’t the end of weblog spam. But because it completely takes away the incentive for the type of spamming we’re seeing today in the weblog world, you will probably see steady decline as many spammers find greener pastures elsewhere. That decline combined with better tools should help to make this a non-issue in the future. Every little step counts, some count more than others, and history will be the judge of all.

Very cool. Also very similar to a technique I was using a couple years back, though that was geared to blocking off areas of the site to ignore rather than affecting individual links. Either way, though, it’s a big step forward. I’m especially heartened to see the list of competing companies and weblogging systems that are participating in this.

Tip of the Slung

A very interesting thread popped up on MetaFilter yesterday (though I just found it this evening) after Las Vegas weatherman Rob Blair fumbled during a broadcast:

KTNV-TV, Channel 13, fired weekend weather anchor Rob Blair on Sunday, a day after he made an on-air racial slur about Martin Luther King Jr.

Jim Prather, vice president and general manager of KTNV, said Blair “stumbled” during a weather update at 7:55 a.m. Saturday but added that “this kind of incident is not acceptable under any circumstances, and I’m truly sorry that this event occurred.”

Blair was delivering the extended forecast when he said, “For tomorrow, 60 degrees, Martin Luther Coon King Jr. Day, gonna see some temperatures in the mid-60s.”

About 20 minutes later, Blair told viewers at the ABC affiliate, “Apparently I accidentally said Martin Luther Kong Jr., which I apologize about — slip of the tongue.”

He offered a full apology during Saturday’s 6 p.m. and 11 p.m. newscasts.

At 6:11 p.m., co-anchor Christina Brown, who is black, announced, “Right now we want to pause for a program note. Rob?”

Blair, seated at the news desk with co-anchors Brown and Shawn Boyd, said, “On a weather report earlier this morning, I made an accidental slip of the tongue when talking about the Martin Luther King holiday, and what I said was interpreted by many viewers as highly offensive. For that I offer my deepest apology. I in no way intended to offend anyone. I’m very sorry.”

MetaFilter user wbm\$tr posted a link to the story under the title “Unforgiveable Dumbness“:

Weatherman fired for on-air MLK day racial slur. I hope someone has video because I wouldn’t mind seeing this dood go out like a sucka.

From the start, there were two basic ways of interpreting the event, neither of which were very easy to verify without being able to see a video of the incident in question in order to attempt to determine just how egregious the slip-up was. Either it was a Freudian slip indicating nascent racism on Blair’s part — and fairly obviously, this was wbm\$tr’s assumption — or it was nothing more than a verbal fumble, replacing the ‘j’ in ‘Junior’ with the ‘k’ in King and recovering partway through.

Discussion on MeFi went back and forth…

I kind of doubt he intended to say it. Who would think they could get away with it? Who would do it to make a point? Nobody, really. Seems like an honest, unfortunate slip of the tongue. The apology was definitely warranted, but it sounds a bit reactionary to just fire him. I guess I’d have to hear the audio to be sure, though.

Hidalgo

From the article “I made an accidental slip of the tongue when talking about the Martin Luther King holiday, and what I said was interpreted by many viewers as highly offensive. For that I offer my deepest apology. I in no way intended to offend anyone. I’m very sorry.””

I love how no one actually admits anything anymore (there was a recent ask metafilter post about this). There is a difference between saying “I said something offensive and I’m sorry” and “what I said was interpreted by many viewers as highly offensive… I’m sorry” (emphasis added).

I love that we’ve come to this. The message suddenly becomes “I said something that some people found fault with, and for just those people, I’m sorry if you were offended.” Real big of him.

mathowie

As much as I suspect it slipped out because he uses that term in private, I should mention it is possible that he joined “king” and “junior” and caught himself midway. I once called an (Asian) friend a ‘gook’, because I blurred ‘geek’ and ‘goof’. I assure you, I was mortified, and until I clarified (and I think my horror made him believe me) he wasn’t too happy either.

John Kenneth Fisher

God forbid if I ever said something I didn’t mean too.

It is certainly reasonable to think that he wouldn’t do this on purpose. Can you imagine how you would have felt to realize that not only did you screw up, but that you just said what you did on television on this holiday?

I am sure he was miserable. And, I would be too.

UseyurBrain

I love how some people can be so sure this guy is a racist because of an article that gives no indication of whether the slur was intentional or a slip of the tongue. Without a video (or some corroborating evidence of him being a racist in some other facet of life), there is absolutely no way to tell whether he is deserving of the label.

The Closest I came was, “Martin Luther Jing Kunior”

But what about “Martin Luther Kun– (i mean) King Junior.” Need video evidence, and I tend to suspect it was innocent.

rooftop secrets

At this point, it probably would have just eventually petered out, with some people convinced that Blair was a closet racist, and others equally convinced that it was an unfortunate slip of the tongue (for the record, I fell into the “unfortunate slip of the tongue” camp, being quite prone to similar slip-ups on a not irregular basis).

Then another MeFite came forward — and this time, it was someone who actually had some “insider knowledge” of the incident.

It’s interesting how quickly folks are willing to assume the worst without having seen the video clip. Our PR guy (who is black and gay, for what it’s worth) is the weatherman’s best friend. He is in the process of writing an op ed piece in defense of his friend which I will post when it is ready. Briefly here is the version I was told by our PR guy: This was the weatherman’s first on-air job. He is part American Indian and was raised going to black churches. He didn’t say what he was accused of saying, he simply got momentarily tongue-tied and wasn’t even aware that there was a problem until the station received one (1) phone call complaining. He then apologized on three separate broadcasts. The first he heard of being fired was when he opened the Sunday paper that morning.

— [agatha_magatha]

As promised, here is the op ed piece from Linton Johnson Chief Spokesperson, Department Manager, BART Media & Public Affairs. I would post a link, but it hasn’t been published yet.

As a black person, I am stunned, outraged and completely appalled with these so-called “African-American leaders” and everyone else who is joining in to call Rob Blair everything short of a racist. And I know Dr. Martin Luther King, Jr. would be appalled, too.

During Dr. King’s “I have a dream” speech, he said that he wanted his children (and everyone else) to “…not be judged by the color of their skin but by the content of their character…”

Well, as the son of a family heavily involved in the civil rights movement, and the nephew of a board member of the national NAACP, and most importantly, as a close and longtime friend of Rob Blair, I know the content of Rob Blair’s character. I can attest to the fact that he embodies the spirit of Dr. King, Jr. 

The baseless outrage people are expressing is a classic example of reverse racism. I say baseless, because people, including these so-called black leaders, are condemning Rob based on an incident even they admit they never saw!

They presume Rob is a racist, or harbors racist feelings based only on what a few people thought they heard him say.

First of all, if you look at the tape, it’s impossible to even understand what Rob said when he stumbled over Dr. King’s name.

But because Rob looks white (for the record, he’s part Native American) they rushed to judgment and automatically assumed that Rob said the word, “coon.”

Then they rushed to judgment once again and are now saying that clearly anyone who says “coon” must either be racist or harbor racial issues.

Think about it! Had a black person stumbled over the same word, do you think anyone would’ve heard “coon?” What’s more would they demand the black person’s termination? No!

Why should it be any different for Rob? Everyone who knows him can attest to the fact that Rob Blair embodies the spirit of Dr. Martin Luther King, Jr.

If you knew Rob, you’d know he grew up singing gospel music in a black children’s choir.

If you knew Rob, you’d know he’s a man who most of his life has worshiped in Black churches.

If you knew Rob, you’d know he’s a man who made not one, but two trips to Jamaica to help rebuild the country after Hurricane Gilbert destroyed parts of it in 1988.

If you knew Rob, you’d know he’s a man who as a radio personality in Indiana, worked on projects to help bridge the racial divide in schools.

That is the content of Rob’s character. Judge Rob by the content of his character, not by the color of his skin. I assure you, Dr. King would.

agatha_magatha

Being able to have someone with actual knowledge of an event like this happens all too rarely, and I’m very glad that agatha_magatha was able to come forward with the information they did. While the thread dies out soon afterward, there was at least one MeFite able to come forward and apologize for jumping to the wrong conclusion earlier.

well, based on what agatha_magatha has reported, i regret my earlier condemnation of the man.

it’s just that i’ve seen far too many people make “slips” like this and then swear up and down that b/c they’re friends with a few black people that they couldn’t possibly be racist or ever think any racist thoughts. which is absurd: i’ve yet to meet a person who is truly free of biases based on the construct known as race. so i’ve stopped giving people the benefit of the doubt with regard to this sort of thing, though, as always, if someone apologizes and is sincere, i’m ready to move on.

anyway, if it means anything, a_m, here’s one mefite (and black, though not a leader) who will look in the general direction of las vegas and say, “i apologize for unjustly convicting you in the court of public opinion, mr. rob blair.”

— [lord_wolf]

As of when I’m posting this, wbm\$tr has yet to make another appearance on the thread.

iTunesSunchyme (Sash Extended)“ by Dario G from the album Sunchyme (1997, 5:40).

Bank of America can kiss my ass

I’ve been behind on payments to a Bank of America credit card for a while. My own fault, these things happen. The automated phone calls were annoying (but then, they’re supposed to be), but I just had to make sure I had money available to give the bank. Today I had that money, so on lunch I wandered down to a local BoA branch and handed them an even hundred dollars.

In order to make sure that the credit department knew about the payment, I had been instructed to call their 800 number and then dial an extension to speak to a representative regarding my account. Once I got home from work (since I didn’t have the information with me at work), I gave them a call. After sitting through the oh-so-cheery “We’re here to help!” recorded message, I was prompted to enter my extension. I did so…and was promptly disconnected.

Um…okay. Let’s try that again.

Dial. Annoyingly cheerful message. Prompt. Punch in the extension.

Disconnect.

Now I’m definitely annoyed. I dial back a third time, this time just sitting and waiting for an associate to answer. One does, I give them my information, and that much is taken care of. However, during that annoyingly cheerful message I’d just listened to three times, another 800 number had been given so customers could call and give any concerns with the service that they had just received. Since being unceremoniously kicked offline a few times had gotten under my skin, I figured it was worth letting them know.

So, I call the second 800 number…and sit on hold. For ten minutes. With a recorded “We’ll be right with you!” message playing in my ear every twenty seconds. Now, I know that these messages are a good thing overall, in that they do assure you that you haven’t been dropped from the system and that you will be taken care of eventually, but the frequency of the message got pretty grating after a while. Still, on the grand scheme of things, that was fairly minor.

Eventually, the phone is answered. I explain to the girl what had just happened to me, and she then informs me that if there’s nobody at a particular extension when it’s dialed, the system disconnects. Well, okay, that seems like a really bad design decision, but I can accept it. Still, I let her know that it might help in the future if there were some form of recorded message letting the customer know that that extension was not currently active before they were disconnected, or possibly have the system re-route back to the main line, instead of just dropping the caller without any indication of what was going on.

At which point she starts to argue with me.

Apparently, I just hadn’t understood what she had just told me. I tried to assure her that I understood what she had said perfectly well, I just thought that there might be a better way to go about things.

And she continues to argue with me.

I tried to explain that I had been given this number by their system in order to report customer service issues, and that I was only trying to pass on a suggestion in order to improve things for other customers later on down the line.

And she continued to argue with me.

At that point I gave up, snapped “Never mind,” and hung up on her, mid-babble.

I was tempted to call back to the customer service hotline in order to complain about the girl who’d just helped me, but I hadn’t caught her name, and I wasn’t terribly enthusiastic about sitting on hold for another ten minute listening to the system assure me that they’d be with me “soon” every twenty seconds.

Bank of America will get their money, as fast as I can get it to them without risking my health or home — and I’ll be very happy not to do business with them in the future.

iTunesBe There (Tormentor)” by Tall Paul from the album Duty Free (1999, 5:24).

Technorati Tags

Change of plans as far as my keywords/tags project goes.

This past week, Technorati introduced a tag search to their weblog-centric search engine. Searching for a particular tag on Technorati returns a result page that aggregates recent weblog posts, Flickr photos, and del.icio.us links from across the web that use the same tag. Very nice.

This works well for me. One of the potential downsides I’d been running into with my prior plan — integrating ishbadiddle’s local keyword search — was simply that I’d gotten very used to the Flickr/del.icio.us method of separating tags with spaces, while the local keyword search required that the tags be separated with commas. As I was starting to work my way through cleaning up the keywords for my entries here, then, I’d been using spaces within keywords on the weblog (for instance, a tag of my name would be “michaelhanscom” or “michael.hanscom” on Flickr or del.icio.us, but be “Michael Hanscom” here on my weblog). I’m anal enough, though, that this bugged me — I’d rather have one consistent tagging methodology across all the systems.

As Technorati also uses the space separated tag format, and expects multiple words to be ‘smooshed’ together (just as Flickr and del.icio.us do), I’ve decided to use that system for all my tagging, foregoing ishbadiddle’s system (sorry, M E-L! — but if your system can be tweaked to read space-delimited lists rather than comma-delimited, I can look back into it again…).

Thanks to George’s TechoratiTags plugin for MovableType, I’m now listing tags in the metadata for each post, just underneath the title. The tags are drawn from the (space-separated) keywords for each entry, and clicking on any one of them will take you to that tag’s Technorati search page.

Just another way the web is getting more and more classified. Pretty cool, in my world.

iTunesJames Brown Is Dead (Wide Awake)” by L.A. Style from the album James Brown Is Dead (1991, 5:25).

Gallimaufry 4

Same deal: ten songs at random…

  • Amii Stewart, ‘Knock on Wood’, off of the Hot Tracks 15th Anniversary Collection: Gotta love the 80’s, and it’s fairly obvious that I do, given how many 80’s-era one-hit-wonders pop up in these lists. Another promotional dj-only remix from Hot Tracks. Unfortunately, I couldn’t find any appropriate links on the iTMS.

  • Eurythmics, ‘I Need A Man‘, off of Eurythmics Greatest Hits: I’m a big Eurythmics fan, but this is one of my all-time favorites of their songs. I’m not quite sure if I’d definitively call it my favorite, but it’s definitely in the top three (along with Love Is A Stranger and Missionary Man).

  • Front 242, ‘Headhunter (Xingu Hill)’, off of Headhunter 2000: Headhunter 2000 is a two-disc collection of remixes of the classic Front 242 track. Some of the mixes are really good — this one, while not unlistenable, isn’t one of my favorites. It strips away too much of the melody, leaving little more than a series of distorted bleeps and bloops over chopped up samples of the original vocal track.

  • Random, ‘Rock Me’, off of Technorave 3: Technomania: I’ve got to admit, I’ve still got a fondness for early-90’s techno — back when techno was techno, and it hadn’t split up into the many different styles of electronic dance music that collectively fall under the ‘electronica’ label these days. Very simple and very repetitive, but somehow much of this stuff still works quite well for me (though, admittely, this one goes on a bit longer than it really needs to).

  • Lo-Fidelity Allstars feat. Pigeonhed, ‘Battle Flag (Radio Edit)’, off of How to Operate With A Blown Mind: The Lo-Fidelity Allstars team up with Pigeonhed to udpate Pigeonhed’s single. This is one of my all-time favorite dance tracks — and, in an unusual situation, is one of the few songs where I like the radio edit better than the album edit. Where the album track says “motherfucker”, the radio edit, rather than backmasking or just dropping the volume levels of the vocals for that word, electronically stretches out the first letter of the next word in the song. It makes for a really cool effect, and a radio edit that for once doesn’t sound emasculated when compared to the unedited album track.

  • L.A. Style, ‘L.A. Style Theme’, off of L.A. Style: More early-90’s techno. L.A. Style’s one big hit was James Brown Is Dead (which at one point could be found on nearly every single techno compilation ever), though they did have a couple more minor hits with Baloony and I’m Raving. I’ve got a very fond place in my heart for this album, as James Brown Is Dead is actually the first real techno track I can remember hearing, and it started getting me into the techno rave scene.

  • Marmion, ‘Schöneberg (John Acquaviva)‘, off of The Sound of Superstition Vol. 5: Modern European techno from the Superstition label. I picked this compilation up solely because I’ve found over the years that for some reason, Europe (especially Germany) seems to be the only region where “old-school” techno is still in vogue, and much of their electronic music still has strong roots in the early-90’s techno styles. This track isn’t anything special, but isn’t bad background, either.

  • ‘I Love Cats’: I have no idea who does this or where it came from. I do know that it’s sick, wrong, and very funny. Lyrics and download are available on this post from last March.

  • Sonia Dada, ‘Paradise‘, off of Sonia Dada: I first heard Sonia Dada on one of Seattle’s local rock stations, 103.7 The Mountain, where they were giving ‘You Don’t Treat Me No Good‘ heavy play. I really enjoyed that song, so went searching out some more of Sonia Dada’s work. This is a band I really need to pick up some albums by, rather than just the few tracks I have downloaded so far — musically they’re definitely good, but it’s the strong singing and harmonies that really catch my ear.

  • Jason Webley, ‘Pilgrim II (Live)’, off of The Halloween Special 2001: Regular readers will know that I’m a big fan of local Seattle artist Jason Webley. This is a live recording from his 2001 ‘Deathday’ show of a song which became ‘Counterpart‘ on the album Counterpoint. While Jason hasn’t officialy released any live albums, he doesn’t seem to mind the distribution of the bootlegs that have been recorded so far — you can find the ones I’ve collected so far ~~on my server here~~.

And this week’s bonus track:

iTunesHaunted When the Minutes Drag” by Collide from the album Vortex (2004, 7:43).

Homeless Vet

My mind misinterpreted a sign I saw while walking back to work from lunch, and I ended up spending the next few moments contemplating a world with destitute veterinatarians on the street corners, holding up their handmade cardboard signs as people walked by, begging for “Spare Change or Sick Puppies?”