Wikipedia talk:Wikipedians by number of edits/scripts

Original Perl Script
Here's the perl script used to generate the list, in case anybody else wants to update it. (It's ugly and hackish, forgive me.):


 * 1) Save the results of the following queries to 'curs' and 'olds' respectively:
 * 2)  SELECT count(*),cur_user_text FROM cur GROUP BY cur_user_text LIMIT
 * 3)  SELECT count(*),old_user_text FROM old GROUP BY old_user_text LIMIT

%equivs = ( "KoyaanisQatsi" => "Koyaanis Qatsi",   "Koyaanisqatsi" => "Koyaanis Qatsi",    "Koyaansqatsi2350" => "Koyaanis Qatsi",    "Larry_Sanger" => "Larry Sanger",    "LarrySanger" => "Larry Sanger",    "LeeDanielCrocker" => "Lee Daniel Crocker",    "Magnus" => "Magnus Manske",    "ManningBartlett" => "Manning Bartlett",    "Perry\@bebbington.org" => "Perry Bebbington",    "Ray G. Van De Walker" => "Ray Van De Walker",    "Simon_J_Kissane" => "Simon J Kissane",    "CareyEvans" => "Cary Evans",    "Chris_mahan" => "Chris mahan",    "ChuckSmith" => "Chuck Smith",    "Dave_McKee" => "Dave McKee",    "David_spector" => "David Spector",    "DickBeldin" => "Dick Beldin",    "F. Lee Horn" => "F. Lee Horn",    "GregLindahl" => "Greg Lindahl",    "Greg_Lindahl" => "Greg Lindahl",    "66.47.62.78" => "H.J.",    "66.47.62.xxx" => "H.J.",    "J. Jonat" => "H.J.",    "HannesHirzel" => "Hannes Hirzel", "JimboWales" => "Jimbo Wales", "62.253.64.7" => "TwoOneTwo", "62.253.64.xxx" => "TwoOneTwo", "Tzartzam" => "Sam Francis", "Tokerboy" => "TUF-KAT", "Tucci528" => "TUF-KAT" "Anonymous56789" => "LittleDan", "Vera Cruz" => "Lir", "Susan Mason" => "Lir", "Dietary Fiber" => "Lir", "Shino Baku" => "Lir", "Like a Virgin" => "Lir", "Ril" => "Lir", "Zxcvb" => "Lir", "Pizza Puzzle" => "Lir" "Peter Chamberlain" => "Lir" "Terry Gander" => "Lir" );
 * 1)   "BigFatBuddha" => "º¡º", (I'm not sure if this line is messing things up)

open CUR, ") { chomp $x; $x =~ /^([0-9]+) ([\x20-\xff]+[\S])[\x01-\x20]*$/; if($equivs{$2}) { $u = $equivs{$2}; } else { $u=$2; } $count{$u} = $1; }

print qq( \n);

SQL Query
drop table if exists tester; create table tester (select count(*) AS counter, cur_user_text AS user from cur GROUP BY cur_user_text) union all (select count(*) AS counter, old_user_text AS user from old GROUP BY old_user_text) ORDER BY counter;

drop table if exists tester2; create table tester2 SELECT counter, IF( user = "Pizza Puzzle", "Lir", IF(user = "Terry Gander", "Lir", IF( user = "Peter Chamberlain", "Lir", IF( user = "Koyaanisqatsi", "Koyaanis Qatsi", IF( user = "KoyaanisQatsi", "Koyaanis Qatsi", IF( user = "Koyaansqatsi2350", "Koyaanis Qatsi", IF( user = "Zxcvb", "Lir", IF( user = "Ril", "Lir", IF( user = "Like a Virgin", "Lir", IF( user = "Shino Baku", "Lir", IF( user = "Dietary Fiber", "Lir", IF( user = "Susan Mason", "Lir", IF( user = "Vera Cruz", "Lir", IF( user = "Anonymous56789", "LittleDan", IF( user = "Tokerboy", "TUF-KAT", IF( user = "Tucci528", "TUF-KAT", IF( user = "Tzartzam", "Sam Francis", IF( user = "62.253.64.xxx", "TwoOneTwo", IF( user = "62.253.64.7", "TwoOneTwo", IF( user = "JimboWales", "Jimbo Wales", IF( user = "66.47.62.xxx", "H.J.", IF( user = "66.47.62.78", "H.J.", IF( user = "Greg_Lindahl", "Greg Lindahl", IF( user = "GregLindahl", "Greg Lindahl", IF( user = "J. Jonat", "H.J.", IF( user = "HannesHirzel", "Hannes Hirzel", IF( user = "F. Lee Horn", "F. Lee Horn", IF( user = "DickBeldin", "Dick Beldin", IF( user = "David_spector", "David Spector", IF( user = "Dave_McKee", "Dave McKee", IF( user = "ChuckSmith", "Chuck Smith", IF( user = "Chris_mahan", "Chris mahan", IF( user = "CareyEvans", "Cary Evans", IF( user = "Simon_J_Kissane", "Simon J Kissane", IF( user = "Ray G. Van De Walker", "Ray Van De Walker", IF( user = "Perry@bebbington.org", "Perry Bebbington", IF( user = "ManningBartlett", "Manning Bartlett", IF( user = "Magnus", "Magnus Manske", IF( user = "LeeDanielCrocker", "Lee Daniel Crocker", IF( user = "LarrySanger", "Larry Sanger", IF( user = "Larry_Sanger", "Larry Sanger", IF( TRIM(user) REGEXP "^[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9x]{1,3}$", "Anonymous IP", user )))))))))))))))))))))))))))))))))))))))) AS user FROM tester;

SELECT * from tester2 into outfile 'users.txt';

Perl Script
open CUR, ") { chomp $x; $x =~ /^(\d+)\s+([\x20-\xff]+[\S])+$/; $count{$2} = 0; }
 * 1) Zero out each user's count

open CUR, ") { chomp $x; $x =~ /^(\d+)\s+([\x20-\xff]+[\S])+$/; $count{$2} += $1; }
 * 1) Count the user's edits

print qq( \n);
 * 1) Generate the HTML