Log in

No account? Create an account

Previous Entry | Next Entry

Livejournal interests suggestion meme!

Based on the lj interests lists of those who share my more unusual interests, the interests suggestion meme thinks I might be interested in
1. writing score: 36
2. books score: 31
3. music score: 27
4. harry potter score: 24
5. anime score: 20
6. poetry score: 20
7. cats score: 19
8. monty python score: 18
9. movies score: 17
10. chocolate score: 17
11. terry pratchett score: 17
12. drawing score: 15
13. dragons score: 15
14. love score: 15
15. fantasy score: 14
16. comedy score: 12
17. dogs score: 11
18. manga score: 11
19. photography score: 11
20. tori amos score: 11

Type your username here to find out what interests it suggests for you.

coded by ixwin
Find out more

What is this?

It's a way of identifying livejournal interests you don't currently have listed, but which you might be interested in, based on what other users have listed.


Basically just for fun. But I hope it might also point some people towards interests (e.g. authors, bands) which they haven't come across but have a good chance of liking.

How does it work?

In everyday language

It finds your unusual interests (those which are shared by fewer than 20 other users), and identifies the users who share those interests and what interests they list.

Then it gives each interest listed by those users a score which is based on both the number of users sharing your unusual interests who list it, and the number of your interests which they share. For example a score of 2 could arise from 2 people listing this who each share 1 of your unusual interests, or from 1 person listing this who shares 2 of your unusual interests.

It then prints a list of the twenty highest-scoring interests on this basis (excluding the ones already on your interests list).

In technical terms

It's a perl script, which works off info provided by livejournal at


for user foo and interest bar.

A copy of the script can be found here. Feel free to modify it, whatever, but obviously credit would be nice if you do.

Why 20 interests?

Just trying to find a balance between ensuring most people would have some listed, and not making the processing time too long.

It doesn't work for me!

That could be because
a) All of the things you list as interests are also listed as interests by 20 or more other users OR
b) All of your interests are unique OR
c) There is a problem with the server e.g. too many other people trying to use the meme OR
d) You don't have any interests listed

It suggests really common, boring interests for me like 'music' and 'movies' and 'computers'

Well, a lot of people have those listed, so it's unsurprising they'll come up. If you'd like to run a version of the meme that filters out really common interests ouwiyaru has produced an adapted version of the meme here. At time of writing a Popularity Ceiling of 100000 will knock out the top 30 most common lj interests, and one of 25000 will knock out the top 300 or so.

Have you written any other memes?

Nothing that works off livejournal data, but I did write the Mystic Pig


Jul. 7th, 2004 01:36 pm (UTC)
*looks embarrassed*

erm...I'm afraid it's not caching at all at the moment, simply because I wasn't sure how to write that part of the code (I really am a beginner at this - this is only the fourth program I've written).

When testing it definitely was the data extract stages which were taking the time rather than the processing.

Having said which, remember it's only extracting data for those interests which 20 or fewer people have listed, so it wouldn't necessarily help that much (though it would speed things up when the meme was propagating between people with a number of shared unusual interests - quite likely).
Jul. 7th, 2004 03:57 pm (UTC)
Maybe you could also cache the users' interest lists as well as the interests' user lists, but similarly that might not help significantly as LJ has a flippin huge number of users. Although there's plenty of disk space on spider :)
Jul. 7th, 2004 08:07 pm (UTC)
Ooo *duh* I just realised that spider runs a caching proxy server (squid). I never use this, as we only have 2 users behind it on our network, so our browser caches are sufficient. So just tell wget to use this proxy, by (looks at info wget...) setting the environment variable http_proxy=localhost:3128. Actually I can do this myself in the server configuration *fiddles...* I think it's caching stuff now.

Also I think
use LWP::Simple;
$content = get($url);

is a more idiomatic Perl way of downloading web pages.
Jul. 8th, 2004 02:27 am (UTC)
Hum. Actually it's not caching them, because livejournal is sending a "Cache-Control: private" HTTP header. Not sure what's the best way to get around this.

Latest Month

October 2010

Page Summary

Powered by LiveJournal.com
Designed by yoksel