A Better EBay filter script updated to version 3.1

January 14, 2010

The Greasemonkey script A Better eBay Filter has been updated to version 3.1 for better display in eBay Motors and to fix a bug with feedbacks greater than one million.

The script may be downloaded either from the devoresoftware.com site or the userscripts.org site.


A Better eBay Filter version 3.0 update

January 7, 2010

The Greasemonkey script A Better eBay Filter has been updated to version 3.0 in order to work with the US eBay site after it changed its listing display.

A Better eBay Filter is a Greasemonkey script designed for users of eBay. It filters eBay listings and searches to hide item entries from sellers who have a feedback score or positive percentage below values you specify, or above for feedback score. The input values can be dynamically changed to filter items into or out of view. Last values are saved between browsing sessions. Purchasers use A Better eBay Filter to winnow the display of auctions to sellers they want to bid with.

The script may or may not work with other countries’ sites; if you used the old script version with a non-USA country and the new script doesn’t work for you, let me know and I’ll see if it can be changed. The script may be downloaded either from the devoresoftware.com site or the userscripts.org site.


Nomyso version 4.3 release

November 6, 2009

Version 4.3 of the Nomyso Perl script has been released. This update from version 4.0 adds better translation support for operations which use XMMWORD, QWORD, DQ, DD, and ST0-ST3.


Nomyso Perl script update

September 9, 2009

I am currently updating the Nomyso Perl script to work with a user’s source code based on new 64-bit assembly language instructions. If you have any enhancements, fixes, or new features you would like to see in Nomyso, now would be a good time to speak up.


Status update

May 19, 2009

I’m still online and working on programs, but my iPhone/iPod Touch app development is consuming any time I would normally allocate to writing or fixing scripts (note to developers, the app development environment has failed to impress me). All the scripts I support seem to be working still, but drop me a note if you have any problems or need a quick fix or anything. I can usually make time for small tasks.

I have seen two interesting scripts that are either neglected or trending towards obsolete.  Perhaps in the next 3-4 weeks I’ll have time to see what can be done to bring them up to snuff and post back here.


Update Script (new feature): Modified Remove Dupes from Google Reader

April 20, 2009

As promised and almost on time, it’s an updated script, though with a sideways turn on the anticipated feature.

Download script: mod_remove_dupes_from_google.user.js.

Summary

The remove dupes script did not work with Google Reader feed entries in expanded display, only in list display mode.

Resolution

The script has been enhanced to work with Google Reader’s expanded display of feed entries.

Remarks

• Originally, I had thought, and posted, that I would be working on adding the ability to load all unread messages before running the duplicate check. I decided to delay work on this feature for two reasons.

First, the previously mentioned Google Reader Prefetch More script does a good job of loading unread messages already, at least for list mode (it doesn’t seem to work properly in expanded mode). Second, the task seems hard to do without making very version-specific internal changes to Google Reader’s current code which would (and do) frequently go out of date. I am not entirely happy with my current ideas on how to resolve the situation.

• Quite a bit of new code and logic was added to the script and it is consequently more complex than earlier versions. Although the script was successfully tested on several feeds, there is a good chance that one or more unexpected situations will be encountered by users of untested feeds or environments. Please report any problems or unexpected behavior.

• One side-effect of the script complexity, is an increased dependency on Google Reader’s internal structures. Care was taken such that this increased complexity is only on the new feature’s side, but even the original script depends to a large degree on Reader’s internal structures. This dependency makes the script somewhat brittle: it is not altogether forgiving of future changes by Google to Reader’s operation in certain areas.

The script can be made more flexible, but at the cost of additional coding effort and even more complicated scripting. In the future, I may have to resolve these issues, but fortunately it is not yet necessary. Currently, Google changes are usually easy to detect and the infrequent need to update the script due to an internal change does not take a lot of time or effort.

• The mechanism for marking a message as read in expanded display is not a simulated click on the title link, as is done in link mode. In Google Reader, clicking the link does not mark an expanded entry as read. Instead, a click is simulated on the Mark as read checkbox at the bottom of the entry.

• The script version was updated from m1.0.1 to m2.0.0.


Update from the programming trenches

April 9, 2009

Not much news to report, my free time has been consumed by messing around coding an iPhone application, apparently like half the rest of the programming world. Well, at least I have a lot of company.

As reported in my most recent comment on the Updated Script (minor): Modified Remove Dupes from Google Reader post, I did have a little time to look over the idea of automatically loading all unread messages, and discovered a neat little script called Google Reader Prefetch More which loads more than the default number of messages in Reader. I’ll try to get a working update on Remove Dupes script which loads all new messages before running the duplicate check by the end of next week. Maybe. Unverified. Citation needed. Hopefully not ‘dubious’.

Here is one script-related item from the end of March: In this userscripts forum post about Readability, by request I posted how to modify a Readability bookmarklet code to work as a Greasemonkey script, with full script source code. Readability is an interesting concept, but definitely very experimental, with mixed results on various websites.


What have I done for the script-using world lately?

March 19, 2009

I provided updated code for two scripts in response to forum requests by their users on the userscripts site.

Summary 1

A post on the userscript forums requested an update to an obsolete script which autoskips Blogger’s content warning interstitial page.

Resolution 1

Fixed. A user uploaded the updated script to the userscripts site. Download the revised script: Blogger Content Warning Autoskip II.

Remarks 1

• The script now works by simulating a click on the continue link, avoiding the need to directly load the site. This is a fundamental change in logic from the original script, which worked by directly changing the browser URL.

• The new Blogger Content Warning Autoskip II is a small script of only a few lines, but it successfully performs the requested function. It is actually larger than the original script, which had two lines of working code besides the header.

—–

Summary 2

A post on the userscript forums requested a fix for a broken script, Google Image Relinker Mod, which changes Google Image search link results to link directly to the images.

Resolution 2

Fixed. In the forum topic discussion, I posted a one-line patch to the script source which corrects it to work with the latest Google Image search.

Remarks 2

• A copy of my post comments about the script follows:

Change the line:

    var googFonts = document.evaluate('//font[contains(@color, "#008000")]',

to:

    var googFonts = document.evaluate('//tr/td[contains(@id, "Text")]/font/span',

The problem appears to be that the font color is no longer explicitly set within the HTML code, as the original script expects. This patch works around that situation. It is horribly dependent on the DOM structure remaining unchanged, but then, so is the original script.


Updated Script (minor): Modified Remove Dupes from Google Reader

March 13, 2009

Download script: mod_remove_dupes_from_google.user.js.

Summary

Wired feeds have entries which differ only by the amount of trailing whitespace (e.g. spaces, line feeds, and carriage returns). These entries would not be identified as duplicate. The problem was present from the original script.

Resolution

Fixed.

Remarks

• The original script function was modified to strip trailing whitespace, so otherwise identical entries would be removed as duplicates. This was a one-line addition to the existing code.

• Script updated from version m1.0.0 to m1.0.1.


Script: Modified Remove Dupes from Google Reader

March 9, 2009

Download script: mod_remove_dupes_from_google.user.js.

Summary

A script, Remove Dupes from Google Reader to remove the display of duplicates in Google Reader was not working and missing desired features. Other scripts didn’t work out. Further details on the situation are available at the posted Ask MetaFilter question.

Resolution

Fixed, enhanced.

New features

The script was corrected to work with Google Reader. It was enhanced so that duplicates were not simply unbolded for a session, a status which was lost on refresh and not reflected in the new items count. Duplicates are now checked by link, as well as the original title plus summary. Duplicates can be marked as read with an automatic refresh to remove them from the new items view by clicking the “Remove Dupes+Refresh” button. The button itself can be right-clicked with the mouse (ctrl-click on single button mouse, context menu click for others) to change to “Remove Dupes Only” and back again. When clicking “Remove Dupes Only”, there is no refresh and duplicates marked as read remain, but are not bolded (the normal message read display).

Remarks

• All messages to be checked for duplicates must be loaded in the viewer. If they are not loaded, they will not be checked.

• The original script was heavily modified. Only a couple of functions from it remain relatively intact.

• To fix the script’s basic operation, a lookup based on bad class name was changed to a valid class name. Miscellaneous bits of noncritical code which bugged me were changed, though not a lot.

• The default “Remove Dupes+Refresh” button performs a duplicate check, then simulates a button press of “Refresh” to force the display to update. If the button is changed to “Remove Dupes Only” by right-clicking on it, the refresh does not occur.

• The enhancement to mark messages as read with Reader stats updates is actually not completely understood by me, and I wrote it. Originally, I thought it could only be done through the poorly and not-officially documented Google Reader API, but this would be a terribly messy process, especially since not all the necessary information could be found.

Instead, I thought to simulate a click on a link for each duplicate to test other ways to make the script work. The links have to be clicked for Google Reader to internally process the message as read in its private data storage. The test approach, I thought, would quickly load each link in the Reader and then the page would go away for subsequent links. This would be suboptimal, but I hoped to later mitigate the page loading to get an acceptable message read process.

Happily, it didn’t happen that way. Instead, the duplicate links were quickly processed and marked as read by the simulated link click, with no external page loading. I’m not sure whether this is because they were processed so quickly, or due to some form of arcana in the parameters passed to the initMouseEvent() function.