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:
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;
No products are associated with this question.
Recent news:
... and BAM! Walter hits 20,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 The countdown to 100,000 begins...
Original:
Has it been noted yet that Walter has reached five figures in reputation? Wow!
Congratulations on 10000 Walter!
Cheers, Sven.
The sampling a year ago, needed log log for useful representation.
April 1, 2013 - 21000. The end-of-year rush for assignments helps.
EDITED: deleted content (old and replaced by Contributors page)
Matt Fig continues to spoil my plans for utter domination -- curse you, Snoopy!!
Looks like I'm slowing down -- barely 300 more reputation points earned in the last two weeks. Matt is accelerating, though!
EDITED: deleted content (obsolete code, replaced in first post)
Nice function, but the charData output runs into trouble if the user name is longer than 29 characters - as is true for user #1695138.
Yes, I know. I was working on a semidefinite version of a single function...but really don't have time (especially to test it) to update now.
Various congratulations are in order.
yay! thanks Walter although the number still means nothing to me besides that I'm spending too much time here :(
Congratulations to Jan Simon for reaching 1517 reputation, and thus becoming our newest Community Editor in Waiting!
Thanks, Walter. Now I'm not waiting just seconds for the characters to appear, but also hours, days, weeks and month until this problem is fixed. Now I'm waiting for something more?! Nevertheless, I like MATLAB Answers.
I'm not sure if a fixed limit is really helpful. I think the TMW team should decide this dynamically.
I am not sure but I don't think Andrei, Kaustubha, or IA got their props for making it to editor.
Congratulations to Sean de for passing Matt and moving into 4th.
I cannot tell if Jan's jump was earned or magical, but well done getting past 5000.
I don't know what props are unless you're talking about regionprops(). I also don't know that I'm an editor - I've never gotten notice of that and don't see any special links on any Answers page for "us editors." I'm #10 on the list - how high do you need to get to get special privileges?
Props: 'Slang term for "accolades", "proper respect", or "just dues".'
Editor: last time I checked, they had to enable each person individually. Not just by setting a flag either: it seemed to require a downtime.
There is no special sign or sigal marking editor status: the main way to know that you have it is that suddenly there is a Delete control for _all_ content. Oh yes, and also a big black button with glowing black lettering that says, "Do not click this!" (Urrr, sorry about that last system crash!)
Azzi Abdelmalek is the first to cross the old editor boundary (1500 rep) and now is in excess of 1600 rep. Well done.
Dear Walter,
10'000 answers are a large and great piece of work!
Thanks.
Jan reached 1000 Accepted Answers. I remember that was a difficult milestone to reach, representing a lot of work.
Yeah. I've written 2460 not accepted answers. Some of them belong to threads I've posted multiple answers in, some of them are simply wrong (and Walter found the problems frequently - thanks!), some of them have been off topic because I always try to see the deeper sense behind a question, some of them are ignored, but in most cases other answers have been better.
Did somebody found out how to inject SQL code in the interface to solve questions like: Number of my unaccepted and unvoted answers, or ratio of comments to questions to comments to answers ?
Don't they do that kind of thing in the Trendy forum? (BTW I meant Accepted answers.)
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.
Yee haw! I made it to 1024 and beyond! I am now a Level 2 Matlab User, with a gain of +1 Wisdom and +1 Charisma!
So, next level 1048576...
Btw, can you give a look at the function in the first post...it stops whenever finds 'strange' chars (I don't understand much about character encoding).
Thanks
Has anyone done a statistical analysis of the distribution of reputations? In my trials, exp() of a polynomial looked to fit a bit better than a plain polynomial. I sampled over the first 22 reputations; degree 5 was the least unsatisfactory. Degree 6 did fit the sample data better, but of course even degrees have to go back up, leading to a projection that further people would have high reputations. Degree 7 complained that the polynomial was badly conditioned.
I didn't sample far enough to get in to the bulk of the values. At the moment, 298 people have non-zero reputations, with 66 of those being reputation 2 and 91 being reputation 1.
I'm curious as to whether it matches some common distribution such as pareto.
Congratulations to Paulo for reaching 501! One good lap and he could overtake Matt!
Congratulations to Jan for leaping past 500!
Congratulations to Paulo for reaching 100 accepted Answers!
Congratulations to Matt Tearle for reaching 500!
Thank you. Amusing thing #1: you noticed this before I did. In fact, I noticed only because of this post! Amusing thing #2: forget the elegant one-liners, forget the cunning MATLAB guru tricks, the answer that takes me past the 500 milestone is... http://www.mathworks.com/matlabcentral/answers/3791-how-to-store-5-or-6-files-output-into-same-excel-file
(Using my personal definition of "amusing", obviously)
Congratulations to Matt Fig for reaching 100 accepted Answers!
Congratulations to Matt Fig for reaching reputation 1001!
Let's see... that's 500 in 27 days... now carry the 1... Ah, about 130 a week.
I knew there was a reason you were keeping a record! I bet you have even plotted some of this stuff, no? ;)
Thanks Walter.
It was only one tinny little line plot! Oh yah, and a few polyfit line plots of course. No more than a handful of spline plots. But no log scale plots, I swear!
Congratulations, too, on your amazing 38% acceptance rate. I'm going to have to start studying your methods!
Congratulations to Andrew Newell, who joined the 500 club, and is now presently at 525!
Andrew, you will be sent an autographed picture of Miss Jelin -- as soon as we can convince Oleg to give it up.
For once I get to scoop Walter:
Congratulations to Walter R for successfully avoiding any Y2K issues in rolling over to the big "double M".
Miss Jelin will be kicking herself for missing out.
What happened to the logo next to your name, Matt? I hope this is a change in MA rather than your employment situation....
or we are all working for mathworks now ahahah the symbol is irrelevant :P
While they might be fully justified in firing me for spending too much time here, I think they chose leniency because, after all, I do spend my time telling everyone how great logical indexing is :)
Paulo's almost right, but don't expect a paycheck anytime soon. Apparently the logos have been removed so that we're all, like, one, man. [sing kumbayah here] Or something like that.
Please welcome Oleg to the 500 club!
I think Andrew meant,
HEY MATT CAN U FORMAT THIS PLZZZ?! ITS URGENT!!!!!!
Seriously, though, congratulations to both of you. I will follow your future careers with interest.
Sean de took a break from his studies long enough to reach 500 reputation! Will he be granted his Master Of Fine Answers??
In less than two years, Sean has increased his reputation 10-fold, to over 5000! Congratulations!
subsref({'Matt Tearle'},substruct('{}',{Accepted>=100}))
Now that the first 6 on the list have all reached 100 or more Accepted answers, is it time to start a new round? :)
Or do we wait for the first 10 to all reach 100+ Accepted Answers?
Now you've got me trying to imagine what a MATLAB party would be like... We could play Find and Fseek, and Bobbing For Logical Indices, and Hula-Loops... and we could have Pi à la ModeManager...
Fittingly, time to congratulate the author of this thread. 600 rep for Oleg!
Thanks! Although for the next week I will have to reduce/stop my answering frequency (exams)
Thanks to Oleg, who took time from his exams to reach 100 accepted answers!
Thank you Walter! My exams ended today with a mediocre performance in econometrics...was thinking to change completely direction and study computer science or go for maths, but afraid to start over after 3+1 years of uni...
Please welcome Kaustubha Govind to the 500 Club!!
And congratulations to Kaustubha for having reached 100 Accepted answers!
Congratulations to Arnaud Miege for reaching 500!
Arnaud also has 97 Accepted and so will likely be at 100 within days.
We now have 10 Charter Members of the 500 Club :) Dues statements will be sent out shortly ;-)
A big congratulations to Matt Fig for reaching 2004 reputation!
Speech! Speech! Speech!
And your acceptance rate is still going up! I am beginning to suspect an inside job.
44% right now! Since you first pointed this out above I have been trying to get to 45%. That is about as good as I could hope for with the amount of questions I answer...
There are others who have near 50% or more: Great job to them!
Congrats to Walter for reaching 3,000 points - a double editor!
O.k., so it is a little early (2999 points as of now), but I may miss the actual rollover tonight. It's a preemptive congratulations.
Okay, now I can celebrate!
I'd like to thank my team of substitute-sleepers, without whom this would never have been possible!
So now we know what all of Santa's elves are doing during the off months ...
Congratulations to Jan Simon, who just become the fourth person to reach 1000 reputation!
Congratulations to Jan also, may he continue to provide good answers for a very long time :)
Congratulations to Sean de for promotion to Elite 1000 status! Sean is now entitled to complimentary pretzels when his Answers are delayed for 4 hours or more!
Congratulations to Andrew Newell, who has reached 1000 reputation!
Congratulations to Paulo for achieving 1500 and editorship!
(Apologies for the delay in noticing; I have been traveling.)
Thanks Walter, this spy still doesn't care about Reputation points, just here to learn and help others at the same time :)
Congratulations to our newest editor-in-waiting, Sean de!
Sean was not available for comment at press time, but rumors are that he and his cousin R. Goldberg have something in the works!
August 31, 2011: yesterday evening I passed 5000 reputation, and this morning I passed 3000 questions Answered.
Time for a nap, I think.
Walter congratulations, you are also testing the system (MATLAB Answers) while helping others :) thanks for sharing your huge knowledge with us.
Walter you should receive MathWorks T-shirts or any other TMW goodies for your help ;)
September 4, 2011:
Congratulations to Oleg for reaching 1500 reputation, making him eligible to join the motley crew of Community Editors!
Oleg welcome to the editors and thanks for sharing your knowledge and for all the help provided, the same goes for all regular contributors and editors, good work!
Oct 9, 2011 22:22 UTC-5:
It was a steep climb, but I made it! I crept over 6000 reputation yesterday, and reached 1000 Accepted Answers late tonight, having also reaching 3700 Answered questions.
The 1000 Accepted Answers point was a hard one to reach! It's getting tougher and tougher to edge out the other great answers ;-)
Jan 1, 2012
This evening, I squeaked through to 1500 Accepted Answers. Now that was tough work!
March 28, 2012:
While I wasn't looking today, I passed 2000 Accepted Answers. My glasses were broken for a week recently so I didn't think I'd reach that this month.
June 27, 2012:
Today I passed 8000 Answers and 2500 Accepted Answers! Porridge for all my tomte !
Congratulations to Jan and Fangjun, both of whom have exceeded 2500 reputation!
Kaustubha Govind reached the 1000.
And Matt Fig concentrates on other fields of work. Hi Matt!
Kaustubha has so many quality answers that I am startled she is not higher. I should take more time to vote for her answers.
And Matt -- come back! We need your humpday puzzlers!
If someone feels like playing with curve fitting, here are the figures as of last night for Accepted Answers for the 770 people who have had any Answers accepted:
[1 1 4 1 2 1 2 1 3 1 1 2 1 1 1 5 1 17 1 10 1 1 1 1 1 2 6 309 1 1 1 2 58 1 4 259 1 3 3 1 2 1 1 1 1 2 1 1 1 1 1 1 1 3 12 1 1 2 1 1795 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 7 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 2 5 1 1 1 1 1 1 1 3 1 1 1 6 1 115 1 2 1 5 31 2 2 1 2 1 3 1 1 2 2 1 1 16 2 2 1 1 252 1 4 1 1 1 1 1 1 1 1 1 6 1 1 1 1 1 1 21 3 1 1 22 1 1 1 10 4 1 1 1 386 1 1 1 1 2 1 4 209 15 1 1 1 1 11 1 1 7 11 3 1 1 1 3 3 1 1 1 1 116 1 1 1 1 1 1 1 1 1 10 1 1 1 1 1 1 1 5 3 1 1 1 43 1 1 1 1 1 1 1 1 1 5 5 3 1 6 3 2 1 1 4 1 1 9 234 1 2 1 1 1 1 1 1 1 1 3 1 1 1 1 38 11 45 2 1 3 13 1 5 1 3 1 1 1 1 1 1 1 2 78 1 1 1 1 1 1 1 2 1 2 1 1 1 2 1 1 1 1 1 1 54 4 1 1 1 1 1 15 1 5 3 11 1 1 1 1 1 1 2 3 16 1 1 6 1 4 1 2 4 1 1 1 1 1 2 2 1 5 2 1 1 1 1 153 6 66 1 1 1 1 1 1 7 2 1 1 22 1 1 1 20 1 1 1 1 2 1 1 2 3 1 1 2 1 1 34 2 280 2 2 1 1 1 1 1 9 1 1 5 1 1 127 3 1 18 1 5 3 1 1 1 1 1 1 1 1 1 1 1 8 1 2 1 5 1 1 1 5 1 26 8 1 1 1 26 1 1 1 1 1 18 1 3 1 1 3 1 1 1 1 1 1 3 1 3 1 7 6 1 2 16 2 1 1 1 1 1 1 1 2 17 6 3 2 1 1 1 1 48 2 1 2 1 1 1 1 1 1 1 1 1 1 1 3 518 2 2 1 1 268 1 19 1 1 1 4 1 1 7 1 9 1 1 3 4 1 1 1 1 1 8 16 1 1 1 1 5 29 1 1 1 1 25 1 1 1 2 1 635 1 1 1 11 2 1 1 1 1 2 1 1 1 1 1 2 7 12 10 1 1 1 1 1 1 57 55 1 1 9 1 1 1 2 1 1 359 1 1 1 1 1 1 1 1 2 1 1 1 2 2 2 1 1 1 46 1 42 1 1 1 2 12 10 1 1 11 1 2 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 5 1 42 2 1 97 26 97 1 1 2 1 1 4 1 1 2 2 2 1 1 1 2 1 1 10 2 131 1 1 1 1 1 1 1 1 1 2 1 5 1 1 1 5 5 6 1 2 1 8 4 1 1 1 1 1 423 1 1 23 1 1 1 1 2 1 1 1 1 1 1 2 1 1 1 2 29 1 1 5 1 1 1 1 1 3 1 1 1 1 1 1 4 1 8 1 1 1 2 1 1 1 1 1 1 1 3 1 228 93 1 1 1 2 1 1 1 2 1 16 3 3 44 12 2 1 1 1 1 1 1 33 1 1 2 7]
I cannot seem to make much of it, even if I remove the obvious outlier. The tail of 1's is so long that it distorts everything else. Though if I remove the 1's, then log-log tends to a straight-ish line.
Congratulations to Jan for reaching 4000 reputation!
@Daniel, Thanks, I've known that this forum is fine to improve social interactions and intercultural communication.
@Walter: I'll take a Guiness after sunset and think of you and the other forum members. I have no idea if Guiness is "import or domestic" in Germany, because I drink one beer per year only. I'm not sure if you reached the 15'000 before I got 5'000. Anyhow, you've earned 3 bottles of beer.
According to the US norms, it is the country in which the beer originates that determines if it is an import, regardless of where the beer is brewed. In the UK, it is the location of the brewery that determines import/domestic status. By the US standards, Guiness is Irish and is therefore an import everywhere expect Ireland.
Amusingly, I myself would much prefer the milk (or the cheese.) Just a preference. But Black Forest Cake (Schwarzwälder Kirschtorte) doesn't taste right if it doesn't have Kirsch!
Congratulations to Andrew, Daniel, and the cyclist, all of whom have exceeded 1500!
For the historical record, the people who have currently reached or exceeded 1500 include,
andrei bobrov Andrew Newell Daniel Fangjun Jiang Image Analyst Jan Simon Kaustubha Govind Matt Fig Oleg Komarov Paulo Silva Sean de Wolski the cyclist Walter Roberson Wayne King
... and today I also snuck over 12000 !
I guess I should be happy that Answers hasn't had any down time in the past few weeks, but it would be nice if I could get the keys.
I missed this when it was first posted, but thanks for the congrats!
Congrats to Image Analyst, who has reached 3000, and to Sean de Wolksi who has reached 3500!
Congratulations to those who have reached at least 500 Accepted Answers:
andrei bobrov Fangjun Jiang Image Analyst Jan Simon Sean de Wolski Walter Roberson
500 Accepted Answers takes a lot of time and dedication and skill (and patience!). I would say that this is the hardest of the milestones to meet!
Andrei Bobrov has reached Double Editor, 3000 reputation!
Congrats to Jan Simon, who reached 6000 reputation a moment ago!
@Image Analyst: You have written 4 month ago:
I think I'll have a long way to go before I pass your reputation points, if ever.
I do not agree with your definition of "long", but without doubt the work is "hard".
I'm going to reduce my contributions here and care a little bit about the FEX.
I should put some effort into that too. I have several dozen short image processing demos illustrating various things and I keep thinking I should post them all as a "grab bag of image processing demos." But the number of demos keeps growing so I keep putting it off. You do have a nice collection in your FEX. By the way, had I known in advance I might have tried to meet you in person. I was walking around the University of Heidelberg in September 2011 (a Sunday sightseeing trip from Frankfurt where I was staying). I didn't know you were there.
A big Thank You to Image Analyst, who at this very moment is at 5000 reputation!
Hi walter,
Hope you are doing wel..!!! felicitations!! Crossed 18,000 reputations..Great work..
8 Comments
Direct link to this comment:
http://mathworks.com/matlabcentral/answers/1058#comment_1799
Now if it can be charted day by day...
Direct link to this comment:
http://mathworks.com/matlabcentral/answers/1058#comment_1803
Efficiency gain would stem from the fact that a single post will serve as a reference and it will eventually grow and stay on top as people post here. The retrieval of scores would be faster since only one urlread would be virtually needed and the number of records per author is reduced to 1 (the perfect case)
@Walter: it could be charted day by day. It would be easier if not just I had the ability to edit the initial post (in order to updated the chart)
Direct link to this comment:
http://mathworks.com/matlabcentral/answers/1058#comment_1806
Walter should get a handicap. ;)
Direct link to this comment:
http://mathworks.com/matlabcentral/answers/1058#comment_1818
I was thinking maybe log scale ;-)
Direct link to this comment:
http://mathworks.com/matlabcentral/answers/1058#comment_1850
Walter Roberson, do you sleep? :)
Direct link to this comment:
http://mathworks.com/matlabcentral/answers/1058#comment_1897
I subcontract out my sleep to villages in developing countries, through an Eco-Trade Network.
Direct link to this comment:
http://mathworks.com/matlabcentral/answers/1058#comment_1898
Vieniava, I was wondering the same thing.
Direct link to this comment:
http://mathworks.com/matlabcentral/answers/1058#comment_27032
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,[]).';