Full-text RSS bookmarklet

This site offers a nifty utility for dealing with those annoying sites which offer only partial text content in their RSS and Atom feeds.

Given an RSS or Atom feed’s URL, the CGI will iterate through the posts in the feed, scrape the full text of each post from its HTML page, and re-generate a new RSS feed containing the full text.

The one thing it’s missing is a one-click bookmarklet version. So here it is:

Full-text RSS Bookmarklet

Drag that to your bookmarks menu, and next time you’re looking at a partial-text feed, click the bookmark to transform the viewed page into the full-text version. Enjoy!

Tags: , , , , , , , ,

Comments (2)

Cliche-finder bookmarklet

Quinn posted a link to a nifty CGI by Aaron Swartz which detects uses of common cliches, with the list of cliches to avoid taken from the Associated Press Guide to News Writing. In addition, she also mentioned there’s the Passivator, ‘a passive verb and adverb flagger for Mozilla-derived browsers, Safari, and Opera 7.5′.

Combining the two, I’ve hacked together a bookmarklet version of the cliche finder — it can be found on this page. (Couldn’t place it inline into this post due to stupid over-aggressive Markdown, grr.)

Fun! Probably not IE-compatible, though.

Tags: , , , , , ,

Comments (10)

“Stretch-to-fit Textareas” Greasemonkey User Script

Here’s another quick-hack Greasemonkey user script I wrote recently.

Stretch-to-fit Textareas is a user script which improves the usability of editable textareas; it causes them to “stretch” vertically to fit their contents, as you type. This behaviour was inspired by that of textareas in FogBugz.

It can be inhibited by turning off the small checkbox to the right of each textarea.

Update: it’s worth noting that this is different from the Resizeable Textareas Firefox extension. Whereas the latter allows the user to resize the textareas by hand, this user script does that action automatically, based on the contents of the field; no manual resize-handle-searching and dragging is required. On the other hand, this user script will only stretch textareas vertically, whereas the extension allows them to be dragged in both dimensions. In fact, the two are complementary — I’m running both, and I suggest you do too ;)

Update 2: here’s a Firefox extension version — Greasemonkey not required!

Tags: , , , , , , ,

Comments (1)

‘Bugzilla See Earlier Comments’ User Script

Here’s a new Greasemonkey user script which fixes a minor annoyance in the Bugzilla user interface. When viewing the ‘Create a New Attachment’ page, this will transclude the previous comments onto the bottom of that page, for reference while editing: bz_see_earlier_comments.user.js

Thanks to Jesse Ruderman for the nifty AJAXish iframe-transclusion trick it uses.

Tags: , , , , ,

Comments

Urban Dead HUD

I’ve been playing a bit of Urban Dead recently. Urban Dead is a very low-key, web-based MMORPG — you play a 3-minute turn once every 24 hours. It needs some rebalancing and some new features, especially given the organised nature of some of the bigger marauding zombie hordes, but I’m still finding it fun.

To scratch a couple of itches, I’ve written a Greasemonkey user script for UD called the Urban Dead HUD. It adds several nifty features to the user interface:

  • keyboard accelerator access keys for the action buttons, and your inventory — very handy when you’re attacking an enemy repeatedly;
  • an on-page long-distance map of the surrounding squares;
  • a distance tracker, which tracks the distances to “important” locations for you

There’s screenshots on the download page, so you can see what I’m talking about.

Greasemonkey is a fantastic tool, as is Mark Pilgrim’s Dive Into Greasemonkey, which has repeatedly turned out to be an excellent, well-written reference while hacking this. Thanks guys!

Tags: , , , , , ,

Comments (14)

Echo chamber goes crazy about ‘nofollow’

Blogs: Just to expand on a linkblog posting I made yesterday, Google’s search team have announced support for a new piece of Google functionality; they’ll fix their crawlers to ignore links with a rel="nofollow" attribute, for PageRank calculations, the idea being that spammers will stop blog-spamming once they can’t get PageRank out of it.

The blog world has been all aflutter:

BurningBird is right, to a degree. In fact, it’s been solved before.

Here’s a taint.org posting from November 2003 where I point out that by using a trivial Javascript URL one can link to another page without conferring PageRank. The format is:

javascript:document.location=target

The result looks like this, and work in any browser with a basic JS engine, from IE 3.02 and Netscape Navigator 2 onwards. I’ve been using it for my referrer logs, among other things, for over a year. I wrote a patch that implemented it for external links in the Moin Moin wiki software.

Amazingly, despite my plugging this idea at virtually every opportunity, it seems nobody noticed! At least, nobody among the people who (it would seem) should be looking into comment spam, thinking about how to deal with it, etc.

Disappointing — the echo chamber keeps talking to itself, once again. Maybe I’ll stick with dealing with email spam instead ;)

Ah, whatever. Anyway, this is a nicer fix; relying on JS isn’t a good thing. So nice work, Google.

(PS: worth noting that while this is a good plan, comment spam won’t be going away any time soon, as Mark Pilgrim noted. Still, here’s hoping it’ll help in the long term…)

Tags: , , , , , , , , , ,

Comments

Firebird Extension Idea

Web: I watched a hilarious Rob Corddry segment from The Daily Show last night, repeated from earlier in the week. Having not seen The Daily Show in a while, since dropping everything but basic cable, I went looking through The Daily Show video archives to see if I could find a few more good ones — with no luck.

Every link on the Video page links to something like this:

javascript:openMediaPop(’/multimedia/tds/cord/cord_8065.html’,”,’SRM’,'high’);

Which opens a popup with this page. Now, the interesting thing is that I do have Real Player installed — but for some reason, Firebird hasn’t figured this out. If I could just get through the twisty-turny maze of Javascript ‘detection’ code, I could get the URL for the .ram file directly from the server and play it.

So this is where my idea for a new extension comes in. It should do this:

  • intercept Javascript calls to navigator.userAgent, navigator.plugins et al, and allow the user to select what plugins to report;
  • add a context (right-click) menu item to list the URIs used in data attributes of object tags, and allow those to be cut and pasted — or launched in any helper apps registered for that filename extension. Alternatively, it could just replace the object with a link to open that file in the helper app.

The first allows the user to choose what plugins to report are installed, and navigate their way past broken ‘detection’ scripts like Comedy Central’s and The BBC Radio Player’s.

The second then allows the user to get hold of the URL for future use, or pop it up in an external viewer.

Tags: , , , , , , , , , ,

Comments

Unfortunate comic sound effects

Comments

Referrer Spam Again

More referrer spam stuff. As Mark states in the comments here, it seems that the referrer-spamming is using real browsers run by real people — no bots, no proxies.

The spammers create HTML pages which contain an IMG tag, using one of our pages in the SRC attribute. This causes the user’s browser to attempt to download the page — giving the correct referrer URL — but it’s not particularly visible to the user — since it’s a HTML page, not an image. All they’re likely to see is a ‘broken image’ icon, and more likely the image is hidden anyway using a hidden div or width=0 height=0 attributes.

Anyway, I took a look at the HTML for those sites. Interestingly, all of them use a distinctive HTML style, with a redirecting frame and some Javascript to load the following pop-up ad:

http: //pb. xxxconnex. com/pb.phtml? d=aporndomain.net &sc=EXPN &ip=9999999999 &c=preview

Where ‘aporndomain.net’ is a porn domain, not necessarily always the same one as you’re viewing, and ‘9999999999′ is a 10-digit number. This then loads a frameset containing another random popunder ad from a load of domains. It also throws a few hidden ones into the corner, loads them as pop-unders, loads a javascript timer to open new ones occasionally, etc. etc. etc. As you close ‘em, new ones open, and so on. Glad I don’t run IE ;)

I would bet these guys, xxxconnex.com — or one of their customers — are the ones behind the referrer-spamming as a result. Their WHOIS info states they are:

Admin, Domain  info@webfinity.net
1E Braemar Ave
Unit 19
Kingston 10, WI N/A
JM
876-357-8404

Interestingly, that phone number and address also shows up in ROKSO as well, listed under domain registrations controlled by the ‘Dynamic Pipe / Webfinity / Python Video’ spam gang, ie. one of the biggest sources of porn spam out there. They’re diversifying it seems!

Based on some suggestions on Kasia’s weblog, I think I now have a good comeback — still working on this though.

Tags: , , , , , , , , ,

Comments

(Untitled)

Online Banking With Konqueror — an exhaustive list of online banking systems, and whether or not they work with Konqueror. Since Konqueror uses a from-scratch implementation of Javascript, and is generally just not MSIE, this also acts as a good guide to online banks that Have A Clue How To Write Usable Web Apps. (Kudos go to AIB 24-hour Online Banking, who have run a clean, friendly, and very usable plain-HTML banking system since day 1.)

Tags: , , , , , , , , ,

Comments