Question

So I asked this question recently on the existence of link submission + reputation systems. The response I got excited me to the core. I mean, reddit had it open sourced so why re-invent the wheel. But after reading this article, I was completely disheartened.

My worries are coherent with the ones in the article:

  • So many dependencies that I am afraid I will be using a sword without knowing swordsmanshipL Cassandra, Memcached, Pylons, and worst-of-all PostgreSQL (which I am an alien to. I wish they had MySQL)
  • Not sure about how actively reddit wes being developed back when the article was being written but the git site shows that it is very active currently.

If I were to adopt this clone I am not sure how difficult it would be to keep merging with the changes that reddit does to its sources. Especially, after I rebrand the application. Would anyone have any practical experiences with this?

In addition, are there any other simpler (optionally scalable) systems that I can explore?

Was it helpful?

Solution

I was in the same situation about six months ago. I studied Pylons then dug deep into the reddit code. The model code for example, was extremely arcane (spread across a hundred files) and it looked like making simple changes would be a chore, docs were meager at best. Keeping up with the trunk looked impossible. There was one guy with not much time who could tersely answer questions, he's since quit.

It was obvious I was completely on my own. After a month or two of getting nowhere, I decided to look for other options. These looked interesting:

However, I preferred working in Python to PHP so I investigated building my own in Django. A few months later in my spare time, I've got about 50% of the stuff I needed from reddit, and I understand every line of code in the codebase. If I had to do it again, I'd save that time and build my own the first time. If there was something built for the job I'd have taken it, but I'm not unhappy with this route as it gives me exactly what I need.

Remember you can still lift a module or two from reddit. For example the comment sorting code (a standard algorithm), at your leisure.

While on the subject I did also look at Pinax, a distribution of Django with social networking tidbits already installed. I was interested in it, but there were clouds hanging over it, seemed to have too small of a community and contributions were drying up. Seems dead now.

p.s. Learn some Postgres, its not much different than other databases and much more powerful on average, well documented, and the price is right.

OTHER TIPS

If you're willing to use a lisp variant, there is news.arc, the engine that runs hacker news. It's considerably more simple than reddit, but it implements the same sort of news aggregation and comment threading/sorting.

I haven't personally used it, but there are some instructions available.

There is one simpler, c#/sql implementation - https://github.com/whoaverse/whoaverse. Not as advanced and lacking some features, but perhaps a good starting point.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top