Reddit Cartographer - C#
12/7/2011 @ 02:52
Wasn't sure whether or not I was going to do this log, but I decided to. What I've done so far: Created a Console Application in C# that will retrieve X pages (X*25 reddits) from the top SubReddit list. It will process these SubReddit's metadata and determine the following information: SubReddit name (for /r/pics its “pics”), SubReddit Title (for /r/pics its “Pictures and Images”), SubReddit Subscribers (for /r/pics its “1136741”), and all SubReddits listed in the description (left sidebar in the SubReddit view). It sorts everything into SubReddit objects stored in a Dictionary<string, SubReddit> by SubReddit name. It gets data in real time from the SubReddits list.
What's Next? Graphing. I've looked at various graphing solutions and wasn't happen with having to go to some third party app to generate the image. I've decided that I'm going to have to generate graph using Force-based algorithms. The concept seems complex (using springs and electrically charged particles) but the code I've looked at doesn't seem very complex. I'm not sure how hard this will be to implement, but I'm going for it. This method is also supposed to be computationally expensive, but if we do the top 100 SubReddits (Pages 1-4) then it shouldn't be too bad. Depending on how well the graphs come out I may make this adjustable to the point where you can map the top 1000 SubReddits. I feel like the interconnectivity of this many nodes may make the graph unreadable. This could be the case even with the top 100 SubReddits. If I ignore all non-top 100 SubReddits then it shouldn't be too bad. For instance if /r/pics has a reference to /r/sonycameras in it's description and /r/sonycameras is like number 250 in the SubReddit popularity, then it won't make a /r/sonycameras node and it wont draw a line.
It's 3am, I have work in 7 hours, so I'll resume this later! Next step: Find out more about Force-based algorithms.
12/12/2011 @ 04:25
So tonight was kind of a trying night working on this thing. I was able to get some Force-Based Algorithms working, but not completely. For some reason everything just keeps flying apart. I have a feeling that it has to do with the subreddits which are not connected to anything, but this is just a hunch. I'm not sure if this is the right algorithm to use either. I may end up having to do something completely different in order to make this work. I don't want to have to make a file that will be processed by another application, but I will if I need to. I feel like I'll have more control over everything if I do it ALL myself. This graph theory might be too complex to deal with on my own. On the other hand it might be a good learning experience.
I don't know if the corner everything goes to is relevant or the fact that all of the coordinates line up along the left and top edges. I think this is likely an issue with my method, and not the algorithm I'm using.
But again its almost 5am and I have work in five hours… Time to go to bed!