GEICO
I went to GEICO's Web site today to pay our car insurance, and apparently
hit a bad URL (retrieved from old e-mail). The error page came up with
a Tolkien quote: "Not all who wander are lost." How cool is that?
Mango Sauce
The latest in Google's AdSense misadventures: Mango
Sauce banned from adsense. Going by this page, what we have here
is an arbitrary decision being made by a lower-level functionary at
Google. Read the page & send in your protest...
The mango sauce page itself is pretty interesting. Very racy, but quite entertaining.
Webstemmer
This looks
cool. Someone should integrate it with twill.
Deleting spam sent to moderatedSourceForge mailing lists
Problem: Sourceforge runs an old version of mailman that doesn't have
the nifty new "discard all" button.
Solution: a twill script to automate the process of logging in &
clicking "discard" for each message.
(I've mentioned this before, I think, but it's gotten easier with some
of the latest additions to twill.)
so:
...
The PyWX-discuss@lists.sourceforge.net mailing list has 863 request(s)
waiting for your consideration at:
https://lists.sourceforge.net/lists/admindb/pywx-discuss
Please attend to this at your earliest convenience. This notice of
pending requests, if any, will be sent out daily.
...
thus:
% ./twill-sh examples/discard-sf-mailman-msgs -- pywx-discuss
>> EXECUTING FILE examples/discard-sf-mailman-msgs
==> at https://lists.sourceforge.net/lists/admindb/pywx-discuss
Enter list password:
Note: submit is using submit button: name="request_login", value="Let me in..."
-- matches 220
set 220 values total
Note: submit is using submit button: name="submit", value="Submit All Data"
--
1 of 1 files SUCCEEDED.
(wipes hands together in a "done" gesture)
I don't grok HTTP very good
I spent a lot of time this weekend hacking together two WSGI
middleware apps: first, a recorder/playback system, which lets me both
record and play back all traffic into and out of a given WSGI
application; and second, a WSGI-based transparent proxy app.
The ultimate goal, of course, is to enable recording of all Web traffic
much like TCPWatch, but in a nice modular WSGI way.
So, the recorder works: I can now place a middleware wrapper around any
app, save & pickle everything that goes into and out of the app, and
then play it back. That's pretty neat.
The proxy doesn't work. Or, rather, it sort of works: I can
browse Google Search and go to many (but not all) Web sites. There
is, however, a bug somewhere: none of my Trac sites work, and AJAX
stuff seems broken, too. I'm guessing it's in my broken dealing with
HTTP 1.1 features; that, or WSGI and proxying just don't go together.
(Also plausible, 'cause I'm breaking a number of PEP rules here.)
Depressing. But I'm sure I'm almost there.
(People interested in wading through some really cruddy code can e-mail
me to get a copy. But bring your knee-high waders, 'cause it's bad.)
--titus