simont: A picture of me in 2016 (Default)
simont ([personal profile] simont) wrote2008-02-17 12:51 pm

Graphic design problem

Over the past couple of weeks I've done a considerable amount of work to port ick-proxy, the disgusting URL-rewriting utility I wrote a few years ago, to run on Windows. Unlike Unix programs, Windows programs need icons; but I haven't yet been able to think of an icon design which is both (a) usefully related to the nature of the program and (b) within the scope of my drawing skills.

The function of ick-proxy is to arrange for a web browser to notice when it's asked to visit selected classes of URL, and modify the URLs into different ones before going there. I use this to append ‘?style=mine’ to nearly all Livejournal URLs I visit, so that I see everyone's LJs in my own nice readable style instead of the eye-torturing monstrosities favoured by some people who aren't me.

The method by which ick-proxy achieves this function is to load the browser with a complicated Javascript proxy configuration file which recognises specifically those URLs which require a rewrite, and tells the browser to retrieve them by going via a custom web proxy. That web proxy – the actual ick-proxy program itself – handles requests for rewrite-requiring URLs by returning a 302 response (temporary redirect) pointing at the rewritten URL. The browser's proxy configuration does not in turn direct that URL to the custom proxy, so the browser retrieves it in the normal way. This means that ick-proxy is never required to do any real HTTP proxying – it's only ever called when it needs to return a 302, and in fact it will return an internal server error if you call it in any other context. If you think this entire idea is thoroughly disgusting, I wouldn't disagree (hence the name), but in fact I've been running it for four years now and it's been astonishingly robust and reliable.

However, since it just took me two longish and quite technical paragraphs to describe what the program does, it's unclear to me how I can express anything even approximating that in a 16x16 icon, or even a 32x32 one. My best idea so far is to have the icon represent the program's name rather than its function, by showing a human face screwed up with its tongue poking out in an ‘ick!’ expression. Unfortunately, I don't think I can draw that recognisably.

So, anyone else got any clever ideas for a suitable icon?

[identity profile] fluffymormegil.livejournal.com 2008-02-28 06:19 pm (UTC)(link)
More or less exactly that. Indeed, my X-P was intended to be an emoticon screwing up its eyes and sticking out its tongue in disgust :)

[identity profile] meihua.livejournal.com 2008-02-17 01:14 pm (UTC)(link)
Maybe an 'e' with the tail of the 'e' converted into an arrow pointing to the upper-right, to convey the idea of redirection.
aldabra: (Default)

[personal profile] aldabra 2008-02-17 01:14 pm (UTC)(link)
So it's like Maxwell's demon that only lets high-energy molecules through a perforation? Intelligent osmosis. Divide your square in two with a vertical dotted line, and have lots of pink and orange gunk on one side and none on the other.

For bonus points you want the pink and orange gunk to be flashing.

[identity profile] geekette8.livejournal.com 2008-02-17 02:06 pm (UTC)(link)
I'm quite tempted to suggest a little smiley monkey face. :-p

[This is because I use Greasemonkey to acheive the same thing, in case you don't get it...]
cjwatson: (Default)

[personal profile] cjwatson 2008-02-17 04:03 pm (UTC)(link)

FWIW, I looked into doing this for myself today, and found that if you're already using Squid (as I am), then this is quite easy to set up without requiring new software. I have in /etc/squid/squid.conf:

redirect_program /etc/squid/redirector
acl LIVEJOURNAL dstdomain .livejournal.com
redirector_access LIVEJOURNAL

... and in /etc/squid/redirector:

#! /usr/bin/perl -w
use strict;

$| = 1;

while (<>) {
        my @args = split;
        my $url = $args[0];
        if ($url =~ m[^https?://[^/]*\.?livejournal\.com/] and $url !~ /\.bml/ and $url !~ /style=mine/) {
                my $newurl;
                if ($url =~ /\?/) {
                        $newurl = "$url&style=mine";
                } else {
                        $newurl = "$url?style=mine";
                }
                print "302:$newurl\n";
        } else {
                print "\n";
        }
}

I could probably do a better job of the redirector script, of course!

Reposted without auto-formatting. Grr.

cjwatson: (Default)

[personal profile] cjwatson 2008-02-17 04:12 pm (UTC)(link)
And of course this buggers up deleting comments, as I just found out. :-) Making it also test $args[3] eq 'GET' fixes this.
ext_3375: Banded Tussock (Default)

[identity profile] hairyears.livejournal.com 2008-02-17 04:15 pm (UTC)(link)
A pencil, and the letters abcde, with the 'cde' crudely crossed-through and replaced with 'ick'

[identity profile] cartesiandaemon.livejournal.com 2008-02-17 10:34 pm (UTC)(link)
I still like the random mammal theory :)

Oh, or could you fit a few letters of an URL altered in red pen?
ext_8103: (Default)

[identity profile] ewx.livejournal.com 2008-02-18 11:18 am (UTC)(link)
A sponge, or cloth, or other cleaning implement. The ickiness is implied: if you look too closely at such a thing after a period of use you'll discover where all the dirt you've been removing went.

[identity profile] cartesiandaemon.livejournal.com 2008-02-18 02:57 pm (UTC)(link)
Second.