Skip to content

Instantly share code, notes, and snippets.

@sunng87
Created July 19, 2012 06:31
Show Gist options
  • Save sunng87/3141146 to your computer and use it in GitHub Desktop.
Save sunng87/3141146 to your computer and use it in GitHub Desktop.
TOP github users in China
imakewebthings | Caleb Troughton | #{"JavaScript" "CoffeeScript" "Ruby" "Python"} | 6840.0
flyerhzm | Richard Huang | #{"Java" "JavaScript" "Ruby"} | 3407.5
fredwu | Fred Wu | #{"JavaScript" "CoffeeScript" "PHP" "Ruby" "Python"} | 3226.0
kissyteam | kissyteam | #{"Java" "JavaScript" "PHP"} | 2138.0
JeffreyZhao | Jeffrey Zhao | #{"C#" "Java" "JavaScript" "CoffeeScript" "Ruby"} | 1943.0
livid | Xin Liu | #{"JavaScript" "Ruby" "Python"} | 1928.5
thoughtworks | ThoughtWorks Inc. | #{"Java" "C++" "JavaScript" "Objective-C" "Ruby" "Python"} | 1392.5
sofish | sofish | #{"JavaScript"} | 1380.0
zzdhidden | hidden | #{"C" "C++" "JavaScript" "Objective-C" "Shell" "VimL" "Ruby"} | 1275.0
chaoslawful | Wang, Xiaozhe | #{"Java" "C" "C++" "Perl" "Emacs Lisp" "Erlang"} | 1255.0
bububa | Prof Syd Xu | #{"C" "C++" "JavaScript" "Objective-C" "Shell" "PHP" "Ruby" "Python"} | 1190.5
phus | Phus Lu | #{"C" "C++" "Go" "JavaScript" "Shell" "VimL" "Erlang" "Python"} | 1149.0
shellex | Shellex Wai | #{"C++" "Go" "JavaScript" "Shell" "VimL" "Haskell" "PHP" "Python"} | 1127.5
huacnlee | Jason Lee | #{"JavaScript" "Shell" "Emacs Lisp" "PHP" "Ruby"} | 1039.0
qiao | Xueqiao Xu | #{"Scheme" "JavaScript" "Common Lisp" "Shell" "VimL" "CoffeeScript" "Ruby" "Python"} | 1032.5
saberma | saberma | #{"ActionScript" "JavaScript" "Objective-C" "Shell" "VimL" "PHP" "Ruby"} | 971.0
yaoweibin | Weibin Yao(姚伟斌) | #{"Java" "C" "Perl" "Ruby"} | 924.0
ashchan | James Chen | #{"C++" "JavaScript" "Objective-C" "Perl" "Shell" "VimL" "Ruby"} | 889.0
robin | Robin Lu | #{"Objective-C" "Ruby" "Erlang"} | 853.5
lepture | Hsiaoming Yang | #{"JavaScript" "Shell" "VimL" "CoffeeScript" "Python"} | 812.0
killme2008 | dennis zhuang | #{"Java" "C++" "Clojure" "Scala" "JavaScript" "Erlang"} | 793.5
chloerei | Rei | #{"C++" "JavaScript" "VimL" "Ruby"} | 756.0
chenshuo | Shuo Chen | #{"C" "C++"} | 720.5
liruqi | liruqi | #{"Vala" "C" "JavaScript" "Objective-C" "Shell" "PHP" "Python"} | 687.0
sunng87 | Sun Ning | #{"Java" "Clojure" "JavaScript" "Perl" "Python"} | 657.5
yzhang | Yuanyi Zhang | #{"JavaScript" "Objective-C" "Ruby"} | 656.5
vicalloy | vicalloy | #{"JavaScript" "VimL" "Ruby" "Python"} | 621.5
lzyy | lzyy | #{"JavaScript" "PHP" "Python"} | 597.5
JacksonTian | Jackson Tian | #{"Java" "C++" "JavaScript"} | 570.0
shuttler | BohuTANG | #{"C"} | 552.0
AlibabaTech | Alibaba | #{"Java"} | 525.5
laruence | Xinchen Hui | #{"ActionScript" "C" "PHP"} | 484.5
tualatrix | Tualatrix Chou | #{"ActionScript" "C" "C++" "JavaScript" "Objective-C" "Shell" "VimL" "Ruby" "Python"} | 481.5
dexteryy | Dexter.Yy | #{"JavaScript" "VimL" "Python"} | 459.5
pluskid | Chiyuan Zhang | #{"C" "C++" "JavaScript" "Ruby" "Python"} | 459.5
hooopo | Hooopo | #{"JavaScript" "Ruby" "Erlang"} | 452.0
sishen | Dingding Ye | #{"C" "JavaScript" "Objective-C" "Emacs Lisp" "CoffeeScript" "Ruby" "Erlang"} | 452.0
lifesinger | lifesinger | #{"JavaScript"} | 415.0
Jinjiang | 勾三股四 | #{"JavaScript"} | 404.5
tinyfool | Tinyfool | #{"Java" "JavaScript" "PHP"} | 369.0
feelinglucky | mingcheng | #{"Java" "C" "VimL" "PHP"} | 359.0
jayli | lijing00333 | #{"JavaScript" "Shell" "PHP"} | 355.5
fengmk2 | fengmk2 | #{"C++" "JavaScript" "Python"} | 327.0
taweili | David Li | #{"Java" "Clojure" "JavaScript" "Objective-C" "Ruby"} | 314.0
CatChen | Cat Chen | #{"JavaScript" "Perl" "Python"} | 308.5
RubyLouvre | 司徒正美 | #{"JavaScript"} | 303.0
finscn | finscn | #{"JavaScript"} | 280.5
icyleaf | Shen Wang | #{"Java" "Objective-C" "Shell" "PHP"} | 278.0
kaichen | Kai Chen => 陈恺 | #{"C++" "JavaScript" "Shell" "Ruby"} | 264.0
wintercn | Shaofei Cheng | #{"JavaScript" "PHP"} | 255.0
fanzeyi | Zeray Rice | #{"C" "JavaScript" "Ruby" "Python"} | 252.0
lidaobing | LI Daobing | #{"Java" "C++" "Go" "JavaScript" "PHP" "Ruby" "Python" "Nemerle"} | 251.5
rociiu | Roc Yu | #{"JavaScript" "VimL" "Ruby" "Python"} | 238.0
tianyicui | Tianyi Cui | #{"Go" "JavaScript" "Common Lisp" "Shell" "Haskell" "Ruby" "Python"} | 213.5
jinzhu | Jinzhu | #{"JavaScript" "Perl" "VimL" "Ruby"} | 211.5
chunzi | chunzi | #{"JavaScript" "Perl" "VimL"} | 209.0
halida | | #{"C" "JavaScript" "Ruby" "Python"} | 204.0
fayland | Fayland Lam | #{"JavaScript" "Perl" "Shell"} | 202.0
humiaozuzu | Maple | #{"C" "JavaScript" "Shell" "VimL" "Python"} | 193.0
davies | Davies Lliu | #{"C" "C++" "Go" "Ruby" "Python"} | 183.0
hongru | 岑安 | #{"JavaScript" "Python"} | 176.0
hongqn | Qiangning Hong | #{"C" "Python"} | 173.0
nowa | nowa | #{"JavaScript" "Objective-C" "Ruby"} | 172.5
csslayer | Weng Xuetian | #{"C" "C++" "JavaScript"} | 167.5
quake | quake wang | #{"C#" "Java" "C" "JavaScript" "Shell" "Ruby"} | 166.0
rainux | Rainux Luo | #{"Shell" "Emacs Lisp" "VimL" "Lua" "Ruby" "Python"} | 165.5
sunner | Sun Zhigang | #{"PHP" "Python"} | 160.0
happypeter | Peter Wang | #{"C" "C++" "JavaScript" "Shell" "VimL" "Ruby"} | 159.0
rednaxelafx | Krystal Mok | #{"Java" "JavaScript" "Ruby"} | 149.5
ZoomQuiet | Zoom.Quiet | #{"Scheme" "JavaScript" "Shell" "Haskell" "Python"} | 145.5
luikore | Zete | #{"C" "C++" "JavaScript" "Objective-C" "VimL" "Ruby"} | 138.5
Suave | Suave Su | #{"JavaScript" "PHP" "Ruby"} | 138.5
lgn21st | Daniel Lv | #{"C++" "JavaScript" "Objective-C" "CoffeeScript" "Ruby"} | 135.0
ballantyne | Scott Ballantyne | #{"C++" "JavaScript" "Objective-C" "PHP" "Ruby"} | 128.5
raecoo | Raecoo | #{"JavaScript" "Emacs Lisp" "VimL" "Ruby"} | 123.0
zhasm | rex zhasm | #{"JavaScript" "Shell" "VimL" "Python"} | 121.5
qingfeng | QingFeng | #{"Java" "C++" "JavaScript" "Lua" "Python"} | 118.0
jiangxin | Jiang Xin | #{"Java" "Perl" "Ruby" "Python"} | 115.0
poshboytl | Terry | #{"C++" "JavaScript" "Emacs Lisp" "VimL" "CoffeeScript" "Ruby"} | 113.0
5long | Whyme.Lyu | #{"JavaScript" "VimL" "Ruby"} | 109.0
yiminghe | yiminghe | #{"ActionScript" "Java" "C++" "JavaScript" "Python"} | 106.0
yuest | Yuest Wang | #{"JavaScript" "Emacs Lisp" "CoffeeScript" "Lua" "Ruby" "Python"} | 96.5
yyfrankyy | yyfrankyy | #{"C" "JavaScript" "Objective-C" "VimL" "CoffeeScript" "Python"} | 82.5
matthewrudy | Matthew Rudy Jacobs | #{"Java" "JavaScript" "Ruby" "Python"} | 77.5
yihuang | yihuang | #{"JavaScript" "VimL" "Haskell" "CoffeeScript" "Python"} | 75.5
bjin | Bin Jin | #{"C" "C++" "Emacs Lisp" "VimL" "Haskell"} | 74.5
yggg | Sam Yang | #{"JavaScript" "Objective-C" "Ruby" "Python"} | 70.0
crazycode | | #{"Java" "C" "JavaScript" "Emacs Lisp" "VimL" "Lua" "Ruby"} | 70.0
l4u | Leo Lou | #{"C" "C++" "JavaScript" "Objective-C" "PHP" "Ruby" "Erlang" "Elixir"} | 60.5
reeze | Reeze Xia | #{"C" "C++" "JavaScript" "Objective-C" "VimL" "Objective-J" "PHP" "Ruby" "Python" "Elixir"} | 44.0
brightsoftdev | bright | #{"Objective-C"} | 38.5
enderchen | ender | #{"C#" "Objective-C"} | 29.5
mcxiaoke | mcxiaoke | #{"Java" "C" "Objective-C" "Shell" "Python"} | 29.0
saga | Well Sun | #{"Java" "C" "Clojure" "JavaScript" "CoffeeScript" "Lua" "Erlang" "Python"} | 29.0
geekontheway | Leslie Zhao | #{"JavaScript" "Ruby"} | 26.0
mobilehub | | #{"C" "Objective-C"} | 25.5
ioz9 | ioz9 | #{"Java" "C" "C++" "Shell" "Python"} | 17.0
zhuomingliang | Jimmy Zhuo | #{"Java" "C" "Clojure" "JavaScript" "Perl" "PHP" "Lua" "Ruby" "Erlang" "Python"} | 15.5
dreamsxin | Dreamszhu | #{"Java" "C" "C++" "JavaScript" "CoffeeScript" "Python"} | 14.5
kewin2010 | Kewin Wang | #{"Java" "C" "JavaScript" "Ruby" "Python"} | 14.5
(ns gh-cn-top-user.worker
(:require [clj-http.client :as client]))
(def api-root "https://api.github.com")
(defn search-user-in [location]
(let [url (str api-root "/legacy/user/search/" location)
resp (client/get url {:as :json})]
(take 100 (-> resp :body :users))))
(defn get-user [uid]
(let [url (str api-root "/users/" uid)
resp (client/get url {:as :json})]
(:body resp)))
(defn get-user-repos [uid]
(let [url (str api-root "/users/" uid "/repos?type=owner")
resp (client/get url {:as :json})]
(:body resp)))
(defn score [followers repos-watchers repos-forks]
(let [total-repos (count repos-watchers)]
(+ (* 1 followers)
(* 1.5 (- (apply + repos-watchers) (count repos-watchers)))
(* 2 (- (apply + repos-forks) (count repos-forks))))))
(defn do-calc []
(let [china-users (search-user-in "China")]
(sort-by :score
>
(pmap (fn [u]
(let [uid (:username u)
user-data (get-user uid)
user-repos (get-user-repos uid)]
{:username (:username u)
:name (:name u)
:language (into #{} (filter #(not (nil? %)) (map :language user-repos)))
:score (score (:followers user-data)
(map :watchers user-repos)
(map #(if (:fork %) 1 (:forks %)) user-repos))}))
china-users))))
@lifesinger
Copy link

这个统计其实也不对

很多开源类库,是以 organization 的形式存在的,比如 https://github.com/kissyteam https://github.com/alipay https://github.com/seajs 等等,这些组织中的参与者,在上面的统计脚步中都被忽略了,这就如忽略 jQuery 一样。

@barretlee
Copy link

有点早了。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment