Contributors metainfo: reputation and more

12 Ansichten (letzte 30 Tage)
Oleg Komarov
Oleg Komarov am 8 Feb. 2011
Beantwortet: Rena Berman am 7 Jun. 2023
As asked by Vieniava in "How to make a list of user's reputation?", some of us came up with interesting ideas on how to fill an updated list with the reputation scores of the contributors to Answers.
I took the initiative to compile a public list of users with meta info:
  • position (desc ordering by reputation)
  • id
  • nickname (truncated to fit the page)
  • reputation
  • # of comments
  • # of questions asked
  • % accept rate
  • # of posts answered
  • # of accepted answers
The code used to compile the list is available at the bottom.
EDIT
TMW team implemented a page with the metascores: http://www.mathworks.com/matlabcentral/answers/contributors
Please refer to it and congrats to the team!
Use this function to retrieve info from the link above:
function [metainfo, elapsedTime] = metainfo(type,order)
% METAINFO - Retrieve metainfo on contributors to www.matworks.com/.../answers
%
% METAINFO Retrieve data sorted by reputation in descending order
%
% METAINFO(TYPE,ORDER) Specify TYPE and sorting ORDER as
% type : 'reputation'
% 'questions'
% 'answered'
% 'accepted'
%
% order: 'asc'
% 'desc'
%
% Examples:
%
% % Standard call (rep, disc)
% info = metainfo;
%
% % Sort by question answered in descending order
% info = metainfo('an','d');
%
% See also: URLREAD, REGEXP
% Author: Oleg Komarov (oleg.komarov@hotmail.it)
% Tested on R14SP3 (7.1) and on R2009b. In-between compatibility is assumed.
% 28 feb 2011 - Created
tic
% Check # inputs
error(nargchk(0,2,nargin))
% Retrieve inputs
if nargin == 0
type = 'reputation';
order = 'desc';
end
if ~exist(type,'var')
sortTypes = {'reputation','questions','answered','accepted'};
type = sortTypes{strncmp(type,sortTypes,numel(type))};
order = 'desc';
end
if ~exist(order,'var')
orderTypes = {'asc','desc'};
type = orderTypes{strncmp(order,orderTypes,numel(order))};
end
% Build url string
url = ['http://www.mathworks.com/matlabcentral/answers/contributors?'...
'dir=' order '&sort=' type '&page='];
% First read
[page, ok] = urlread([url '1']);
% Catch number of pages to read
if ok
totcon = regexp(page,'>1 - 50 of (\d+)','tokens');
totcon = dataread('string',totcon{1}{1},'%d');
nPages = ceil(totcon/50);
else
error('Cannot read ".../contributors?page=1"')
end
% Loop over contributors pages
metainfo = cell(totcon,7);
metainfo(1:end,1) = num2cell(1:size(metainfo,1));
for p = 1:nPages
if ok
endpos = 50*p;
% Id, Rep
expr = '><a href="\/matlabcentral\/answers\/contributors\/(\d+)';
data = regexp(page, expr,'tokens');
if 50*p > totcon; endpos = 50*(p-1)+numel(data); end
metainfo(1+(p-1)*50:endpos,2) = [data{:}];
% Nickname
expr = ['"Reputation: (\d+)">([\w\ ' reshape([repmat(92,1,137);33:59,61:64,91:97,123:126,161:255],1,[]) ']+)</a></h2>'];
data = regexp(page, expr,'tokens');
metainfo(1+(p-1)*50:endpos,[4,3]) = cat(1,data{:});
% Qcount, Ans, Acc
data = regexp(page, '<span >(\d+)</span>[A-z<>"-\s\/]+','tokens');
metainfo(1+(p-1)*50:endpos,5:7) = reshape(cat(1,data{:}),3,[]).';
else
error('Metainfo import stopped. \nCannot read ".../contributors?page=%d"',p)
end
[page, ok] = urlread([url sprintf('%d',p+1)]);
end
% Convert to doubles
metainfo(:,[2,4:7]) = cellfun(@str2double,metainfo(:,[2,4:7]),'un',false);
elapsedTime = toc;
  8 Kommentare
Aurelien Queffurust
Aurelien Queffurust am 22 Jul. 2011
Does the above code still worK?
I still get the following error message:
>> [metainfo, elapsedTime] = metainfo('reputation','asc')
??? Error using ==> reshape
Product of known dimensions, 3, not divisible into total number of elements, 200.
Error in ==> metainfo at 82
metainfo(1+(p-1)*50:endpos,5:7) = reshape(cat(1,data{:}),3,[]).';

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Walter Roberson
Walter Roberson am 2 Mär. 2011
Congratulations to Matt Fig for making it to 500 before I made it to 1000! He increased from 388 to 501 in about a day and a half, during which time I only increased from 901 to 966.
Numerical projections last night based upon answer acceptance rates were that it would take another 1310 questions answered each before he caught up, so clearly his solutions have been found vote-worthy.
  5 Kommentare
Walter Roberson
Walter Roberson am 26 Nov. 2017
Next test is at max int32 :-)

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (103)

Rena Berman
Rena Berman am 14 Aug. 2020
CONGRATULATIONS to Walter Roberson for for reaching 100k points!!!!!! We hope you like your new badge named for you for a contributor that reaches 100k, the Roberson Cup! Thank you for helping shape Answers to what it is today and helping so many people worldwide!!!!!!
  23 Kommentare
David
David am 6 Sep. 2022
Staggering milestone. Well done!

Melden Sie sich an, um zu kommentieren.


Stephen23
Stephen23 am 25 Feb. 2019
Congratulations to John D'Errico for reaching 10,000!
And with only 1520 accepted answers too... impressive.
  7 Kommentare
Rena Berman
Rena Berman am 5 Mär. 2019
(Answers Dev) Congratulations! Thank you so much for your efforts in Answers!

Melden Sie sich an, um zu kommentieren.


Rena Berman
Rena Berman am 10 Apr. 2017
(Answers dev) Congrats to Star Strider who passed 20,000 points!
  4 Kommentare
Jan
Jan am 30 Nov. 2017
Bearbeitet: Jan am 30 Nov. 2017
@Star Strider: After I've read this in your profile message:
MATLAB Answers: Third participant to achieve 20,000 Reputation
(09 Apr 2017)
I thought of inserting this in mine:
MATLAB Answers: First participant to achieve 20,000 Reputation
after Star Strider (02 Oct 2017)
Unfortunately I'm not funny, therefore I left it. ;-)

Melden Sie sich an, um zu kommentieren.


Sven
Sven am 5 Feb. 2012
Bearbeitet: Sven am 1 Mär. 2014
Recent news:
... and BAM! Walter hits 25,000! Congratulations are in order again. It's impressive to see, but depressing to compare :)
Timeline:
that was 10,000 on 2012-02-05
and then 15,000 on 2012-07-21
and then 20,000 on 2013-03-02
and then 25,000 on 2013-11-09
The countdown to 100,000 continues...
Original:
Has it been noted yet that Walter has reached five figures in reputation? Wow!
Congratulations on 10000 Walter!
Cheers, Sven.
  63 Kommentare
Walter Roberson
Walter Roberson am 14 Aug. 2020
100k today. 8 months for the last 10k; and 50k took 46 months.

Melden Sie sich an, um zu kommentieren.


Rena Berman
Rena Berman am 2 Okt. 2017
(Answers dev) Congrats to Jan Simon who passed 20,000 points!
  16 Kommentare
Image Analyst
Image Analyst am 11 Dez. 2019
Do you mean this one:
0000 Screenshot.png
or the prior one, where I think he had curly hair?

Melden Sie sich an, um zu kommentieren.


Rena Berman
Rena Berman am 28 Nov. 2018
(Answers dev) Congratulations to Madhan Ravi our newest (and probably fastest) rising star to get editor status at 3000 reputation points! Thank you so much for your efforts in answers!
  11 Kommentare
madhan ravi
madhan ravi am 18 Jul. 2020
Thank you Stephan!

Melden Sie sich an, um zu kommentieren.


Star Strider
Star Strider am 4 Jul. 2017
Congratulations to Guillaume who achieved 10000 Reputation Points today!
  1 Kommentar
Cedric Wannaz
Cedric Wannaz am 26 Okt. 2017
Well, belated congratulations as I spot this comment now!

Melden Sie sich an, um zu kommentieren.


Rena Berman
Rena Berman am 25 Okt. 2017
Bearbeitet: Rena Berman am 30 Mär. 2020
(Answers Dev) Congratulations to Stephen Cobeldick who passed 10,000 points and earned the Master Badge!
  10 Kommentare