So I made something that's pretty stupid but had fun doing it (hitlerhops.com)
I really wanted a project that I could use map reduce on and this idea came up amongst a group of friends as a joke.
Unfortunately the link graph was really stale when I ran it so it is not always correct. Also dates make it boring sometimes.
147 comments
[ 3.8 ms ] story [ 172 ms ] threadEither way, I like the Web 2.0-style Hitler drawings :-)
where it actually doesn't actually link to hitler. I would like to update the records but it takes forever to upload 5gb of entries into app engine :)
6000 years of culture and all you can think of is some delusional scumbag.
First thing that popped in my head. Yeah, here come the downvotes.
Apparently yes, jewish associations and/or Israel remind us all the time about it. The only other thing about Jews I know are the terrible crimes they do in Palestine. But obviously that's not what they shout from the rooftops.
As for Hitler, he is most famous (at least in America) for his violent hatred of the Jewish people, so it is likely that mentioning him will bring it to mind. I mean, what are we supposed to think of? Complaining that Hitler is associated with Jews seems like saying, "Good grief, every time I mention Picasso, people think of Cubist art!"
We're not talking about an internet meme here, we're talking about mass murder of innocent people, not too long ago. There are still living survivors. So excuse me if I refuse to play along, and slap my knees all the way to the cemetery.
Well, that's more than a lot of people can say about certain projects!
Want to give us a run-down of how you put it together?
1) flip the link graph from outgoing to incoming, so from any page I can see what links to it.
2) I found all the distances and paths iteratively by exploding out from Adolf_Hitlers page. http://www.johnandcailin.com/blog/cailin/breadth-first-graph... and blogs like it were very helpful.
3) loaded the data into a large binary file that I divided into indexed parts that I compressed and uploaded to appengine to extract and load into bigtable (this took the most amount of time! both to run and to write the code to make it work)
4) ??
5) profit
Also, what's the longest path?
The Path: Great Depression Adolf Hitler
Same for "Index of Estonia-related articles".
You should look into character encoding issues though. I put in "Church–Turing thesis"and got:
ChurchU00e2U0080U0093Turing thesis
Kurt GU00c3U00b6del
1906
Adolf Hitler
Finding the longest shortest path (that is finding the minimum number of nodes from each wikipedia entry to the entry for Hitler) and then finding the longest is, however, rather easy.
what?
just the most recent article doesnt seem to have it
http://www.youtube.com/watch?v=iumEGAUceDg
Congrats. You've just automated the whole thing :)
However it would seem that it's only matching April and not April 30th.
Enjoyed the images though
Kevin Bacon -> The Great Depression -> Adolf Hitler
http://oracleofbacon.org/cgi-bin/movielinks?a=Kevin+Bacon...
Adolf Hitler --> Anabolic steroid --> Peliosis hepatis --> Fecal enema
It seems we've arrived at a proof that Wikipedia in fact can not have perfect, comprehensive knowledge of the world.
but it raises 500 (Iresult from ajax call) when I type unicode f.ex Polish letters: ńżźśąć etc., so I can't make fun of people :)
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc5 in position 8: ordinal not in range(128)
btw turn debug off ;)
Living in Germany I find of find the idea mildy irritating (and the Graphics - erm - far too "comical"), but I love the technical side of the project.
Would be interesting to have a way to show the hops between arbitrary two words (but, yeah, the domain name gives away that this is not planned).
EDIT: to try to answer my own calculation on the back of the envelope...
We're going to need n^2 space and n^3 time, where n is the number of nodes. There are about 3.5 million articles (http://en.wikipedia.org/wiki/Wikipedia:Size_of_Wikipedia), and if we assume that the diameter of the Wikipedia graph is 255 or less, we need 1 byte * 3.5 million * 3.5 million = 12.25 TB just to store path lengths for all pairs. It's also going to take a while because locality is going to be hosed. You might be able to do something smarter, like do the all-pairs solutions for something that will fit in memory (top 30000 pages or so), and hope that queries match a long-tail distribution...