- Bookmarklets: These are little bits of code that manipulate web pages in various helpful ways. You can add them to your browser as toolbar buttons or bookmarks.
- User scripts: These are scripts that you can install into Firefox (with Greasemonkey installed) that will automatically manipulate web pages. The main difference between these and bookmarklets is that you invoke bookmarklets at will, but user scripts are set to automatically run on certain web pages. (bzr.)
- Delicious user search plugin: Search your del.icio.us bookmarks from your search box.
- Binghamton libraries search plugin
- A Few URLs Tab Saver: A Firefox extension to post your browser tabs to A Few URLs.
stepic – Python image steganography
Stepic is a Python module and command line tool for hiding arbitrary data within images by slightly modifying the colors. These modifications are generally imperceptible to humans, but are machine detectable.
del.icio.us Tag Stemmer
Suggests del.icio.us tags you should rename. For example, it will point out the silliness of your “blog”, “blogs”, and “blogging” tags. Tag Stemmer.
Latin-Cyrillic (English-Russian) Transliteration Tool
A text box where you type Latin characters with any old keyboard and get Cyrillic out. Available as a web page, bookmarklet, and user script. More info.
Procs provides simple parallelization for Python. It runs Python functions in parallel processes, ideal for one-machine, multi-core map-reduce–style tasks.
Little Web Utilities
Little programs in a wiki (sort of): UtilityMill/Lenny
toot.py: Your computer reads Twitter aloud to you! Crappy script. Requires python, python-simplejson, and flite.
clearmime: GPG/MIME to clearsign converter. Takes a GPG multipart/signed message on STDIN, and writes out a message where the GPG/MIME part is replaced with clearsigned text. This utility lets you verify GPG-signed email without installing GPG support into your email program. Usage:
clearmime < mymessage.txt | gpg --verify.
trashtrash: Deletes old files from Gnome’s trash without deleting recently trashed ones.
bastetscore: bastet (Bastard Tetris) fills the high score list with the user name under which it is run. This program allows you to modify these names (e.g. to the name of the person actually playing), as well as the scores. Rename it to bastetscore.py for a Python API to the bastet high score data structure.
cast.py: Queue audio from your web browser, then download it as if it were a podcast.
To install, download cast.py and put it on a web server. The server also has to be able to read and write the file cast.queue, in the same directory. Something like this will probably get it working:
mv cast.py cast.cgi && chmod +x cast.cgi && touch cast.queue && chmod 666 cast.queue.
You should put the script on localhost or behind a password, since retrieving the podcast feed clears the queue. This is not ideal, but it works for me, and I’m sharing it just in case somebody else finds it useful.
To use it, add http://your-server/cast.cgi/feed to a podcasting client such as iTunes. Then, when you come across audio on the Web, use this bookmarklet—cast—to add it. Adding audio to your queue takes three or so steps: (1) click the bookmarklet, (2) click the audio link, (3) confirm the details in the popup and submit the results. Note that you will have to edit the bookmarklet, replacing http://your-server with the real details. If the web page you are viewing is the media you want to queue, step 2 is skipped.
ent2utf.py: Convert named character references (entities) in HTML to Unicode.
bak.sh: It has probably been written a million times before. Instead of
cp myfile myfile.bak, use
bak myfile. Then, when you want to back it up again, use
bak myfileagain. The backups are numbered, so you get myfile, myfile.bak1, myfile.bak2, etc.
The difference between my version and the version that will take you two minutes to write is that every month or so, for a year, you will slightly revise your version for various edge cases. Mine already has been revised more times than you would expect for such a short script.
notflickr.sh: All the good domain names are taken?
notflickr | lessdoesn’t think so.
grokip.sh: get your public-facing IP address, a service of the friendly folks at the Recording Industry Association of America.
lntrace: Follows and displays a chain of symbolic links.
rr: Interactively deletes files, like
rm -ri, but when deleting directories, it doesn’t ask about every file inside the directory. A safe, but non-annoying alterative to
unbuf: Pipe data to a command line-by-line instead of letting it buffer a bunch of input. For example:
tail -n 0 -f /var/log/apache2/access.log | unbuf flitereads the log file aloud as entries are added.
For your website
Prefilled Input Box Helper: Search forms are typically prefilled with text like “Search this site”. When a user selects the input box, the text disappears. Most implementations make the text disappear even if the user actually types “Search this site” and refocuses the text box. This one does not.
Other developer stuff
username.py: Unicode-aware username sanitizer. Takes in a username, returns what to put in the DB and what to display.