Identicon could give a visual hint, but would waste more
PM bandwidth. Maybe a textual representation of an Identicon (displayed by title when
hovering over user name) would be an option?
This would also allow to distinguish different AM participating in a discussion
(in a single thread, not forever - and as long as no cookies are involved,
only while the AM's IP does not change when adding new replies).
Anyway, someone able to conceive such an XP whore-crime would also be able to use post via different IPs...
Update: Just for fun ... Monk-Titles derived from IP.
My current IP would tag the Anonymous Monk title with
Sister Nonia of admiarable Revision Control ;-)
package Gaga::Monktitle;
# Generate fake Monktitles for Anonymous Monk based on stringified IP.
# It's a litte bit like the 'Unitarian Jihad Name' scheme, but a littl
+e more perlish/monkish.
use strict;
use warnings;
use Digest::MD5;
my @names = qw(Agnostic Argument Automat Bureaucrati Caput Collect Cra
+ssi Coherent
Curiosi Disjunct Divergent Grossi Holographic Humani
Ignati Incognit Infinit Inspect Locut Lorenti Mari Mercanti
+l Noni
Nostalgic Obfuscat Prim Rabulos Robotic Robust Secund Spaga
+t Spinati
Spongiform Terti Tinit
);
my @attr = qw(admiarable amiable bitter calm courtueous desiarable di
+stinct endless
enlightened explicite harsh hostile impatient inappropriate
+ interrupted
lazy loving mild meticulous mindless nonverbal
persuasive prolongued quiet reasoned silent snotty strange
+sweet
tired unpredictable warm
);
my @trait = qw(Borg Bureaucracy Compassion Debate Debugging Discussion
+ Enlightenment
Forgiveness Fund_Raising
Hubris Humanitarianism Impatience Inquisition Kindness Lazy
+ness Love Mercy
Manipulation Mind_Control Mindfulness Moderation Obfuscatio
+n Patience
Perlism Quality_Assurance
Reason Reflection Revision_Control Torture
);
sub get_monktitle_from_ip {
my $ip = shift;
my $md5 = Digest::MD5->new;
$md5->add("TODO: a secret initial vector - has to be changed for pro
+duction!");
$md5->add($ip);
my @dec = map { hex } unpack("(H2)*", $md5->digest());
foreach my $i (1..3) { # condense digest (xor)
$dec[$_] ^= $dec[4*$i+$_] for (0..3);
}
$dec[$_] *= 59 for (0..3); # spread a little bit
my $sibling = $dec[15] & 1 ? 'Brother' : 'Sister';
my $name = $names[ $dec[0] % @names ] . ($dec[15] & 1 ? 'us' : '
+a');
my $attr = $attr [ $dec[1] % @attr ];
my $trait = $trait[ $dec[2] % @trait ];
my $alias = "$sibling $name of $attr $trait";
$alias =~ s/_/ /g;
return $alias;
}
sub run {
die "Need at least one IP-address as argument!" unless @ARGV;
(print get_monktitle_from_ip( $_ ), "\n") for @ARGV;
}
run() unless caller();
1;
__DATA__
Samples (aligned for better readability):
Sister Nonia of admiarable Revision Control
Brother Secundus of snotty Torture
Brother Nonius of enlightened Moderation
Brother Nostalgicus of silent Quality Assurance
Brother Humanius of meticulous Debate
Sister Ignatia of quiet Discussion
Brother Spagatus of hostile Kindness
Brother Nonius of bitter Perlism
Brother Rabulosus of prolongued Obfuscation
Sister Divergenta of lazy Hubris
Brother Ignatius of interrupted Love
Brother Spagatus of courtueous Bureaucracy
Brother Crassius of unpredictable Revision Control
Sister Bureaucratia of prolongued Forgiveness
Sister Holographica of nonverbal Torture
Sister Prima of sweet Quality Assurance
Sister Bureaucratia of snotty Impatience
Brother Tertius of hostile Enlightenment
Sister Bureaucratia of warm Manipulation
Brother Automatus of quiet Perlism
Sister Lorentia of distinct Hubris
Brother Inspectus of unpredictable Borg
Sister Agnostica of strange Forgiveness
Brother Mercantilus of nonverbal Mind Control
Sister Disjuncta of bitter Mind Control
Sister Lorentia of courtueous Reflection
Brother Tinitus of loving Humanitarianism
...