Skip to content

Bemmu/hnbuddies

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Hacker News buddies

People replying to each other's comments the most:

Rank Buddy score User pair
#1 189 cperciva<->tptacek
#2 160 jbooth<->yummyfajitas
#3 134 jacquesm<->tptacek
#4 116 patio11<->tptacek
#5 109 marshray<->tptacek
#6 103 tptacek<->yummyfajitas
#7 95 jrockway<->tptacek
#8 93 lawnchair_larry<->tptacek
#9 85 pg<->tptacek
#10 81 rdl<->tptacek
#11 78 gruseom<->tptacek
#12 75 kenjackson<->rbanffy
#12 75 axod<->mattmaroon
#13 69 axod<->jrockway
#14 68 rayiner<->tptacek
#14 68 gojomo<->tptacek
#15 63 axod<->tptacek
#16 60 tedunangst<->tptacek
#16 60 anamax<->jbooth
#17 59 rbanffy<->tptacek
#18 58 rbanffy<->recoiledsnake
#18 58 cperciva<->pg
#19 57 michaelochurch<->tptacek
#20 55 AnthonyMouse<->rayiner
#21 53 davidw<->tptacek
#22 52 larrys<->tptacek
#22 52 anigbrowl<->tptacek
#23 51 sneak<->tptacek
#24 50 Silhouette<->tptacek
#24 50 ErrantX<->jacquesm
#24 50 DanielBMarkham<->tptacek
#25 48 davidw<->pg
#25 48 betterunix<->rayiner
#25 48 Tichy<->tptacek
#25 48 Retric<->yummyfajitas
#26 46 mindslight<->tptacek
#27 45 tptacek<->waterlesscloud
#27 45 samstave<->tptacek
#27 45 jlgreco<->tptacek
#27 45 chc<->tptacek
#27 45 _delirium<->yummyfajitas
#28 43 rhizome<->tptacek
#28 43 btilly<->tptacek
#29 42 pg<->rms
#29 42 ivankirigin<->pg
#29 42 ajross<->tptacek
#30 41 guelo<->tptacek
#30 41 grandalf<->tptacek
#31 40 jlgreco<->rayiner
#31 40 jlgreco<->mpyne
#31 40 hga<->tptacek
#31 40 abstractbill<->axod
#31 40 Retric<->tptacek
#31 40 001sky<->tptacek
#32 39 dfc<->rdl
#32 39 crusso<->rayiner
#32 39 angersock<->tptacek
#33 38 rayiner<->yummyfajitas
#33 38 kragen<->tptacek
#33 38 jacquesm<->jrockway
#33 38 ChuckMcM<->tptacek
#33 38 Alex3917<->tptacek
#34 37 yequalsx<->yummyfajitas
#34 37 raganwald<->tptacek
#34 37 pg<->staunch
#34 37 mattmaroon<->unalone
#34 37 jbooth<->tptacek
#35 36 mechanical_fish<->tptacek
#35 36 _delirium<->tptacek
#35 36 Natsu<->tptacek
#35 36 Alex3917<->tokenadult
#36 35 stcredzero<->tptacek
#36 35 mindcrime<->tptacek
#36 35 joe_the_user<->tptacek
#36 35 dragonwriter<->tptacek
#36 35 anigbrowl<->jlgreco
#36 35 CWuestefeld<->jbooth
#36 35 Alex3917<->yummyfajitas
#37 34 tptacek<->zedshaw
#37 34 tptacek<->tzs
#37 34 mattmaroon<->tptacek
#37 34 jrockway<->stcredzero
#37 34 gaius<->tptacek
#37 34 clicks<->rayiner
#38 33 run4yourlives<->tptacek
#38 33 fallentimes<->mattmaroon
#38 33 barrkel<->tptacek
#38 33 Tichy<->davidw
#38 33 DanielBMarkham<->jacquesm
#39 32 thaumaturgy<->tptacek
#39 32 swombat<->tptacek
#39 32 philwelch<->tptacek
#39 32 nostrademons<->pg
#39 32 nitrogen<->rayiner
#39 32 jdp23<->tptacek
#39 32 iuguy<->tptacek
#39 32 dragonwriter<->rayiner
#39 32 coldtea<->pjmlp
#39 32 briansmith<->tptacek
#39 32 Alex3917<->pg
#40 31 tptacek<->trevelyan
#40 31 moe<->tptacek
#40 31 jlgreco<->tedunangst
#40 31 jerf<->tptacek
#40 31 jacquesm<->mpyne
#40 31 euroclydon<->tptacek
#40 31 curi<->yters
#40 31 Retric<->anamax
#40 31 DanielBMarkham<->davidw
#41 30 steveklabnik<->tptacek
#41 30 staunch<->tptacek
#41 30 btilly<->yummyfajitas
#41 30 anigbrowl<->rhizome
#41 30 ThomPete<->tptacek
#41 30 JoachimSchipper<->tptacek
#42 29 jlgreco<->sliverstorm
#42 29 hga<->jbooth
#42 29 cperciva<->jacquesm
#42 29 coldtea<->tptacek
#42 29 acqq<->tptacek
#42 29 SwellJoe<->rms
#42 29 AnthonyMouse<->tptacek
#42 29 AnthonyMouse<->anigbrowl
#43 28 rms<->yters
#43 28 pg<->robg
#43 28 peterwwillis<->tptacek
#43 28 pbsd<->tptacek
#43 28 nitrogen<->tptacek
#43 28 mike-cardwell<->tptacek
#43 28 kenjackson<->yummyfajitas
#43 28 jacquesm<->pg
#43 28 jacques_chester<->vacri
#43 28 davidw<->jacquesm
#43 28 daeken<->tptacek
#43 28 btilly<->jacquesm
#43 28 aston<->pg
#44 27 tptacek<->wmf
#44 27 jacquesm<->swombat
#44 27 gte910h<->tptacek
#44 27 fnordfnordfnord<->tptacek
#44 27 dllthomas<->dragonwriter
#44 27 cooldeal<->rbanffy
#44 27 baddox<->tptacek
#44 27 StavrosK<->tptacek
#45 26 timr<->tptacek
#45 26 rbanffy<->stcredzero
#45 26 jacquesm<->philwelch
#45 26 ghshephard<->tptacek
#45 26 davidw<->patio11
#45 26 bane<->tptacek
#45 26 _delirium<->jacquesm
#45 26 MichaelSalib<->tptacek
#45 26 Locke1689<->tptacek
#46 25 pyre<->tptacek
#46 25 palish<->pg
#46 25 mattmaroon<->rms
#46 25 icebraining<->jiggy2011
#46 25 hga<->rdl
#46 25 davidw<->gaius
#46 25 burgerbrain<->tptacek
#46 25 axod<->swombat
#46 25 axod<->jacquesm
#46 25 arethuza<->gaius
#46 25 anamax<->tptacek
#47 24 tptacek<->wglb
#47 24 tomjen3<->tptacek
#47 24 rayiner<->rdl
#47 24 jrockway<->rbanffy
#47 24 javajosh<->tptacek
#47 24 fnordfnordfnord<->mpyne
#47 24 davidw<->rms
#47 24 btilly<->rayiner
#47 24 aston<->rms
#47 24 arethuza<->jacquesm
#47 24 Tichy<->curi
#47 24 Tichy<->axod
#47 24 RiderOfGiraffes<->jacquesm
#47 24 MichaelSalib<->yummyfajitas
#47 24 Confusion<->tptacek
#47 24 ChuckMcM<->jacquesm
#48 23 tptacek<->webwright
#48 23 saurik<->tptacek
#48 23 rms<->tptacek
#48 23 rbanffy<->wmf
#48 23 rayiner<->twoodfin
#48 23 nikcub<->tptacek
#48 23 mpyne<->nitrogen
#48 23 m0nastic<->tptacek
#48 23 jfager<->yummyfajitas
#48 23 jbooth<->protomyth
#48 23 jacquesm<->patio11
#48 23 icebraining<->tptacek
#48 23 huhtenberg<->tptacek
#48 23 dragonwriter<->lutusp
#48 23 dllthomas<->lutusp
#48 23 declan<->tptacek
#48 23 dcurtis<->pg
#48 23 clicks<->tptacek
#48 23 byrneseyeview<->pg
#48 23 brlewis<->pg
#48 23 brl<->tptacek
#48 23 belorn<->tptacek
#48 23 anigbrowl<->yummyfajitas
#48 23 anamax<->anigbrowl
#48 23 Tichy<->yummyfajitas
#48 23 Karunamon<->tptacek
#48 23 DanBC<->tptacek
#49 22 tptacek<->xlnt
#49 22 rdl<->samstave
#49 22 pg<->run4yourlives
#49 22 haberman<->tptacek
#49 22 gaius<->rbanffy
#49 22 drivebyacct2<->tptacek
#49 22 dctoedt<->tptacek
#49 22 danielweber<->tptacek
#49 22 alecco<->tptacek
#49 22 aaronblohowiak<->tptacek
#49 22 Nrsolis<->tptacek
#49 22 DanBC<->jlgreco
#50 21 smokeyj<->tptacek
#50 21 sachinag<->tptacek
#50 21 rbanffy<->ugh
#50 21 protomyth<->tptacek
#50 21 paraschopra<->patio11
#50 21 michaelchisari<->yummyfajitas
#50 21 jules<->tptacek
#50 21 jshen<->yummyfajitas
#50 21 jrockway<->wmf
#50 21 jerf<->kenjackson
#50 21 jacquesm<->jules
#50 21 hugh3<->jacquesm
#50 21 dllthomas<->dredmorbius
#50 21 derefr<->tptacek
#50 21 curi<->rms
#50 21 caf<->tptacek
#50 21 byrneseyeview<->nostrademons
#50 21 betterunix<->tptacek
#50 21 ars<->tptacek
#50 21 _delirium<->philwelch
#50 21 Tichy<->mattmaroon
#50 21 Tichy<->jacquesm
#50 21 Tichy<->ars
#50 21 RiderOfGiraffes<->pencil

full list

Motivation

The whole Hacker News comments database is publicly available, so I wanted to play around with it a bit to see if I could find anything interesting.

Idea: People can reply to each other's comments. Could you tally up who tends to respond to whom, and make a kind of "best friends" list out of that?

Defining a friendship

A friendship is pairs of people who tend to reply to each other's comments a lot. Friendships need to be two-way. Unrequited love is not counted here, people have to exchange messages.

If Alice replies to a comment from Bob, and then later on Bob responds to a different comment from Alice, the Alice<->Bob friendship gains one point. In other words, if there are x comments from Alice to Bob and y comments from Bob to Alice, then their "friendship score" is min(x, y).

If you want to run the code yourself...

I downloaded HNCommentsAll.json from here. That dump seems to be rather old. If you have a newer dump and want to re-run the toplist, here's how to do it.

First you need ijson. It's a JSON parser that works as a stream, so that the entire 9GB comments dump doesn't need to be loaded to memory.

pip install ijson

Each step builds a file that the next step uses, so that if something goes wrong in the middle you can pick up where it failed.

python build_author_dict.py
python replies.py
python best_friends.py

Note that this could take hours to run. There are millions of comments, and the code hasn't been optimized. It took about 2 hours on my late 2013 MBP with the 9GB dump file. If you do update the list, please send a pull request so I can include your more up-to-date toplist here.

Thanks for reading!

Releases

No releases published

Packages

No packages published

Languages