People Filter¶
Legacy Wiki Page
This page was migrated from the old MoinMoin-based wiki. Information may be outdated or no longer applicable. For current documentation, see python.org.
Itâs a formalization of a distributed social network. I get my best music recommendations from one or two people who have interests very similar to mine. I also get my best programming info from a different set of people, I learn about the coolest new linux programs from another set, etc. So, I suggest a more formalized and automated PeopleFilter, something like usenet, something like a blog, but with even more added. Throw in a few ants, some reinforcing structures, parts of a trust web, and hey presto, you might have something cooler than slashdot. i think the same trust framework can be used for other things too: the PeopleCheat problem comes to mind â AllenShort
The current idea is to run a server on a TwistedPython instance, and to define different sets of other equal servers to get raw input from⊠think SQL queries running against usenet servers, where the first layer of filters was to get into the server of your friend that youâre now connected toâŠ.so for one set of friends, your SQL query might look like: SELECT MUSIC WHERE ((VOTES.PercentageLiked > 50) AND (RemoteServer.owner) voted 'liked') which in english (since my sql is so bad) means âwhere over 50% of the people who voted on this music selection liked it, and where the remote serverâs owner liked it. (I would probably also have âwhere votes > 50â as a local-server wide query rule, but then maybe youâd miss something)
but for another set of friends, might switch the MUSIC part to NEWS_ARTICLES, and add âWHERE ARTICLE.TroveCategory = âcomputerââ
the spirit of this idea is that I get my best recommendations from people I know and respect, and many of them are on irc, so I miss large sections of their lives where we have common interests, and would very much enjoy exchanging information, so there are probably better ways to structure that ⊠someone dug up a âcommon interest finderâ kind of server, but it doesnât handle content. Someone else pointed to usenet, but it doesnât let me form my own people-based network, another pointed to email, and thatâs close, but itâs not something where I can tune a sql query so I donât get spam, and itâs also not a pull system.
The differences between email and PeopleFilter are things like, email is directed to a person like a letter, but PeopleFilter is directed to a subject or a rating. Spam would not get very far in this system, and as soon as it started to, no one would get content from the originating site.
I think youâd need pieces like PGP signing of articles, and PGP signing of votes of âlike, donât likeâ âinteresting, boringâ so that several statistics could emerge:
how many people have read the article eg. I think I would have a default rule that says âSELECT * WHERE (COUNT(VOTES) > 500000)â because otherwise I would probably never know that Bush became the president.
how interesting it is to your friends, and the whole web surrounding them
where your friends and interests intersect
âShaeErisson
(A system in this spirit is being worked on called Yenta; it doesnât share content, merely interests. http://foner.www.media.mit.edu/people/foner/yenta-brief.html -dash)
I believe that Reptile is a system with similar aims. http://reptile.openprivacy.org
<e@ircnet> what's a peoplefilter?
<dash> e: like a weblog without the web
further notes [restored by jh, after vandalizing?]:
Iâm still hung up on the signing idea. Iâd like for people to be able to sign something as âniftyâ or as âsucksâ so that Iâll have more information to select onâŠ
the problem with this is signature synchronization. If I write a document and put it on my server, and three of my friends get it, and sign that article as interesting, how do they get those new signatures?
the obvious solution is to have the signatures for an article kept on the server the article originated from⊠but thatâs not peer to peer anymore.. that means servers need to be online all the time.
On the other hand, if you friend gets something that sucks, youâll never see it⊠theyâll delete it, right? or maybe theyâll never select it in the first place? Iâm not sure.
okay, much thinking later, I think signatures should backwash upon article synchronization. I also think that signatures should qualify as articles, and be searchable, what else could be significant to the system and yet searchable?
I think that signatures should stay attached to messages, and not âbackwashâ; all you have to do is merge the votes/signatures attached to disparate copies of the same article. that way, localised information isnât lost, but thereâs no need to complicate with chaining back upwards eitherâŠ. -AllenShort
I happen to own the domain peoplefilter.com for another project which is âon the shelfâ so if you are interested in it, let me know. - Kevin Harrison
Features¶
article synchronization upon request - sql like article searching
signing of an article - author, and good/bad per reader
struct style definition of a document
struct definitions are documents as well (the old Smalltalk Metaclass story, or think Netscape saying âwould you like to download this pluginâ)
signatures are docs
Properties¶
document expiration (for example, an open invitation to IPC12 will just expire at some point)
You guys should look at the old Firefly and Ringo projects, which did more sophisticated correlation than is described here, and generally gave excellent recomendations. They used curve fitting to estimate how a user would rate a particular item based on the ratings of other users who rated other items similarly to the user. I.e., if User A rates John Coltrane an 8 and Miles Davis an 8 and Charlie Parker a 9, and User B rates John Coltrane a 7 and Miles Davis a 9, then Firefly or Ringo would figure that User B would also give Charlie Parker a high rating.â. The Firefly system was purhcased by Microsoft and the technology has been sunk into Launchcast, which actually delivers music in a Internet Radio format. â RobertChurch
Also relevant: CollaborativeFiltering, ContentFiltering, VotingMustDie, ViewPoint, TransactionBasedCommunity