, Please Fix Your Search. your search is not very good!

I just did a search for “all cars newer than 2000, between $2500 and $5000 excluding damaged vehicles, in descending order by Kms.” Sounds pretty complex when you write it out in English, but that should be a fairly straight-forward SQL query. Came across a couple of pretty serious problems there.

Your premium listings do not obey my sort selections, they simple appear in whatever position the advertiser has paid for. This would be somewhat forgiveable if the premium listings where displayed separately, a la Google ad words. Even though they are on a yellow background, as a first time visitor I had not yet scrolled down to notice that the regular listings are on a white background. So I assumed that your sort feature was broken, in fact I probably wasted a minute clicking the sort link until finally giving up and scrolling down. It was then that I realized exactly what was going on. I don’t know if there’s a good way to fix this from a user interface standpoint, you may just want to increase the size of the “Premium Listings” header text and/or do something else to make it stand out more clearly. In my opinion selling premium listings is pretty lame, your profit margins online have got to be much higher than in print. At the very least, drop the ordering of the premium listings, so that I’m able to apply a sort to those listings as well.

Secondly, I came across something much worse.

This 2003 Hyundai Tiburon came up in my search even though I specifically excluded vehicles with damage. I’m sure that your search engine code is fine. I’m sure the problem is a lack of data. The seller of that car probably did not provide you with data about it’s “damaged” status. But you see, thing is, if such an obviously damaged car shows up in my search, then how can I be sure than all of the other results that appear fine don’t have some less obvious damage? This oversight makes your search engine completely untrustworthy! I know how had it can be to get good data from users, but seriously, have you data entry monkeys flag adverts with photos like these.

P.S. ASP sucks, drop your Microsoft licenses and you’ll make more than enough money to drop those lame premium listings.

P.S.S. Trasparent divs with background images is a lame way to block hotlinking of images. Just block access to your image files from off-site referers in … oh wait, that’s not possible with IIS. See previous PS.

.htaccess Mobile Browser Redirect

Checkout the latest version of the ruleset first.
I just finished building out a simple little mobile site for When I asked Google the best way to detect mobile browsers with PHP, it led to me this PHP code by Andy Moore. After a few minutes of contemplating the best way to include the code in the existing CMS framework I realized that it would probably be best to move the functionality outside of PHP. I mean, why clutter up display code with HTTP traffic manipulation. The website’s main traffic cop Apache is already perfectly capable of handling the duties already.

Here’s how to redirect mobile traffic using a .htaccess file:

RewriteEngine On
RewriteCond %{REQUEST_URI} !^/m/.*$
RewriteCond %{HTTP_ACCEPT} "text/vnd.wap.wml|application/vnd.wap.xhtml+xml" [NC,OR]
RewriteCond %{HTTP_USER_AGENT} "acs|alav|alca|amoi|audi|aste|avan|benq|bird|blac|blaz|brew|cell|cldc|cmd-" [NC,OR]
RewriteCond %{HTTP_USER_AGENT} "dang|doco|eric|hipt|inno|ipaq|java|jigs|kddi|keji|leno|lg-c|lg-d|lg-g|lge-" [NC,OR]
RewriteCond %{HTTP_USER_AGENT}  "maui|maxo|midp|mits|mmef|mobi|mot-|moto|mwbp|nec-|newt|noki|opwv" [NC,OR]
RewriteCond %{HTTP_USER_AGENT} "palm|pana|pant|pdxg|phil|play|pluc|port|prox|qtek|qwap|sage|sams|sany" [NC,OR]
RewriteCond %{HTTP_USER_AGENT} "sch-|sec-|send|seri|sgh-|shar|sie-|siem|smal|smar|sony|sph-|symb|t-mo" [NC,OR]
RewriteCond %{HTTP_USER_AGENT} "teli|tim-|tosh|tsm-|upg1|upsi|vk-v|voda|w3cs|wap-|wapa|wapi" [NC,OR]
RewriteCond %{HTTP_USER_AGENT} "wapp|wapr|webc|winw|winw|xda|xda-" [NC,OR]
RewriteCond %{HTTP_USER_AGENT} "up.browser||windowssce|iemobile|mini|mmp" [NC,OR]
RewriteCond %{HTTP_USER_AGENT} "symbian|midp|wap|phone|pocket|mobile|pda|psp" [NC]
RewriteCond %{HTTP_USER_AGENT} !macintosh [NC] #*SEE NOTE BELOW
RewriteRule ^(.*)$ /m/ [L,R=302]

I did my best to translate the PHP code verbatim, if you want to understand what each line is doing you’ll want to check out the original code. Testing for all those user agents is probably a little overkill, but Mr Moore is a “dotMobi certified mobile web developer” I’m going to assume he knows what he’s talking about.

*The “tosh” user agent (I’m assuming this is for a Toshiba browser?) happens to catch browser on any browser on the Mac OS. I had to add !macintosh to skip macs. The iPhone/iPod Touch does not identify itself as “macintosh.”

Warner Bros. Using DMCA Against Free Speech

I work as the chief nerd for Cheri Media Group. A company who runs a number of websites including the 3rd largest Hip Hop news site We occasionally get DMCA takedown notices from various record labels, they are usually the result of a lack of communication between the label’s PR department and the legal department or RIAA (ie. someone in PR will clear a track for play on the site, but the legal/RIAA will not be informed).

Last week we received a DMCA takedown notice that appears to be asking us to remove “controversial” forum threads under the guise of copyright violation. The full text of the letter is under the jump, but here’s the relevant portion:


E-40 / Biggie Smalls

Some context: The are links to two seperate pages from a forum thread entitled “E-40 almost had Biggie killed.” The original poster, embedded a youtube video clip from a DVD entitled Beefs IV. I have not seen the clip – it had already been taken down by youtube by the time I saw the DMCA notice. As best as I can tell, it was a clip of a rapper called E-40 talking about how he tried to have Biggie Smalls killed. You can see why E-40s record company might want to kill these sorts of rumours (although, in my opinion any publicity is good publicity – especially in the rap world).

Here’s the thing…
The Digital Millennium Copyright Act only covers copyright material! The only thing that’s vaguely copyright in that forum thread is the youtube embed. The forum thread itself free speech! The forum thread itself is copyright of Cheri Media Group! By demanding that Cheri Media Group “IMMEDIATELY REMOVE THE FOLLOWING THREADS…” Warner Brothers Music is demanding that Cheri Media Group give up its right to free speech! This is a gross and disgusting misuse of the DMCA!
These forum threads absolutely do not contain any copyright material hosted on’s servers. If Warner Bros. was legitimately trying to remove the infringing content from the web then they wasted their time contacting the wrong company. Oh but wait, the video clip is owned by Image Entertainment, an independent studio – Warner Brothers does not even have the right to demand that to be taken down!

It gets worse…
The hosting company running’s dedicated servers has a policy of suspending network access to all services in violation of a DMCA takedown request. I assume this is because they have some liability as the owners of the hardware the content is ultimately stored on. It’s probably a fairly standard policy. What this means is that even if a website gets a completely meaningless takedown notice like this, the site will still be obliged to take down the content or have their site shut down by their service provider! Whereas a more relevant legal demand such as a libel suite would not have the same sort of immediate consequences. So publishers are free to send off DMCA notices whenever there’s a public relations mess to take care of – imagine what would happen if Governments started doing this.

Luckily for my paycheque, HipHopDX’s hosting company is very reasonable. They agreed to keep the site online after a brief conversation.

Disclaimer: I am not a lawyer, I have no formal training in law and I have not read the DMCA in full. I could be getting a lot of things wrong.

Continue reading “Warner Bros. Using DMCA Against Free Speech”

Add Facebook Events to Google Calendar, 2 Simple Steps

I just discovered the most amazing, useful mashup. You can automatically add your Facebook events to your Google calendar! This way whenever you accept an event invite it shows up on your google calendar, with all the details! It just takes 2 simple steps.

  1. Pull up your facebook events page, click the “Export Events” link at the top. That brings up a little dialogue box with a URL. Copy that URL.fbevent.png
  2. Open your Google calendar settings page. Click the “Calendars” tab, under “other calendars” click “add calendar, click the “Add By URL” tab. You’ll be presented with a form that’s able to accept the URL you just copied from Facebook!

You’ll now see your Facebook events in Google calendar. Thusly, minimizing the amount of websites you have to open to figure out when you have time to visit your mother.