Log in

No account? Create an account
Trust like a chicken - Many a mickle maks a muckle

> Recent Entries
> Archive
> Friends
> Profile

August 4th, 2003

Previous Entry Share Next Entry
10:48 pm - Trust like a chicken
I would bet $1 at even money that more than a third of the paid members on my Friends list have played with the TrustFlow trust metric tool by now. Here's my top twenty, with brief (and possibly wildly, insultingly simplistic) annotation.

1: oneurope - only friend of the temporary nick_at_esc account.
2: sjbranford - immensely famous UK Harry Potter fan.
3: hanacandi - famous UK Harry Potter fan.
4: ivyblossom - very famous Harry Potter slash writer.
5: drbear - game show fan.
6: aegeus - famous Harry Potter fan.
7: julietk - Oxbridge posse person.
8: perfectlyvague - friend of mrstrellis and daweaver.
9: legomymalfoy - famous Harry Potter fan.
10: jlh - famous Harry Potter fan.
11: skykid - game show fan.
12: chrestomancy - Oxford RPGsoc type.
13: calnhobbes - syndicated comic.
14: dilbert_feed - syndicated comic.
15: mon_starling - very famous Harry Potter (etc.) fanartist.
16: helenbr - Oxford Invariant Society type.
17: msscribe - famous Harry Potter fan.
18: pegkerr - famous author associated with the Harry Potter fandom.
19: praetorianguard - famous Harry Potter fan.
20: iscaris - very famous Harry Potter slash writer.

...so a lot of different origins for people to be on the list. Now compare that to the top twenty entries on my popwithfriends chart (which might be a paid-members-only tool):


...all of whom are Harry Potter fans. (I think all fifty on my popwithfriends are associated with Harry Potter somehow.) The difference is interesting. It's also easy to understand; the Harry Potter fandom is very big and cohesive compared to my other spheres of interest on LiveJournal - there are lots of people who all link to each other. (I would further note that popwithfriends is very silly for not recognising that I have chosen not to befriend myself, and that the reason why I haven't beFriended owlman, lovely bloke that he is, is that his journal is just about Friends-only and he deFriended me some time ago. No, no angst between us.)

Reading through the explanation, I have a wild-assed but plausible guess as to how the trust metric works in practice, in simple(?) terms. Some of the details are likely wrong (for instance, it may treat communities and syndicated feeds differently; it may also do clever things about not counting you and your Friends where they ought not to be counted) but I think I get the general principle.

Everyone gets one vote, which they split evenly among all their Friends. If you only have one Friend - for instance, nick_at_esc - then that one vote is counted towards your single Friend's total; in this case, that's a full vote for oneurope. A full vote is a lot in this.

If you only have four Friends - for instance, mrstrellis - then that one vote is split among your four Friends' totals; in this case, that's a quarter vote for perfectlyvague. (She also picks up 1/88 of a vote from daweaver.) In a similar fashion, tkb has only five friends, so transmits one fifth of a vote to julietk (who picks up sundry fractions elsewhere too).

Conversely, if you have mad numbers of Friends - for instance, queerasjohn - then you transmit 1/328 of a vote to each of your 328 friends in this scheme. Truly it is One Member, One Vote. Accordingly, owlman is picking up 1/328th of a vote here, 1/189th of a vote there, 1/76th of a vote from someone else and so on from 37 different people, with these 37 people's votes adding up to enough to place him highly in the list.

Anyway, so each person sends a single vote flying around, whether as a one-vote block or 328 0.003-vote splinters. When you put your username into the TrustFlow metric box, it looks at all your friends, works out where they are casting their votes, adds up the votes that each friendsfriend has received and ranks the friendsfriends in descending order.

Some might argue that the TrustFlow metric gives too much importance to the opinions of those who only have a very small number of friends; some might argue that popwithfriends gives too much importance to the opinions of those with a very large number of friends. It's possible that a Third Way metric, where votes are cast in proportion to (eg) the number of Friends to the power of -0.5, might give "more accurate" (in quotes because it's always going to be objective) results still. It's possible that people might judge the results of a system which only casts votes when the two people have beFriended each other to be more useful still.

It would be interesting to take the system a step further and provide the rankings of the people who were your friends already as well, though of course I can't think of a way to properly credit a very close friendship between two people who happen to move in completely different LJ circles. Perhaps a metric involving credit for common interests, for geographical closeness, for reciprocal mentions (hmm - hard to distinguish positive ones from negative...) and for pointing to the same URL or user might bring more joy still? I'm also sure it's got to be possible to adapt this further and come up with another LiveJournal Top 40 still - or a Top 40 of those who have declared an interest in Harry Potter, for general values of Harry Potter.

There's one interesting little point raised at the end of this thread - LJ's search operation, er, operates in what some might consider a curious way. Some time back we were discussing the LiveJournal Browser and commenting that it didn't seem to pick up all the friendships that were in operation. I suspect that this may explain the anomaly; it seems to work well at getting friendships for people where there is mutual Friendship and less predictably where the Friendship is one-way only.

As ever, much fanpersoning to all those who spend time, effort and thought on these LJ toys for our fun and benefit. :-)
Current Mood: impressedimpressed
Current Music: nothing

(14 comments | Leave a comment)


(Deleted comment)
[User Picture]
Date:August 4th, 2003 03:41 pm (UTC)
Yes. I'm getting that too. And I've been trying to do it at random times for about 3 days. Grr!
Date:August 4th, 2003 03:01 pm (UTC)
I do apologise for nick_at_esc being a bit unfriendly. I'm not sure why he bothered to friend oneurope, actually, given that he never looks at his Friends page and never writes Friends-only entries. No matter.

I've played with the Trust Metric tool as well, but I'm concerned that nobody ever seems to offer health warnings on these things. The answer to the question "Would you visit an unfamiliar website and run some code written by somebody you've never heard of because your friends have told you it's cool?" has become "Yes, I often do!". And it worries me a bit.

Not wishing to disparage the specific tools mentioned in this entry, just making a point about the more general case.
[User Picture]
Date:August 4th, 2003 03:10 pm (UTC)

Different icon, for a change

I'm OK with that being the automatic answer to that question, with the large proviso that the other website isn't going to screw with your data. Now there have been a few examples where you have had to supply not only LJ username but also LJ password in order to use the code - an early version of HideJournal springs to mind, for instance. However, this is deprecated among the community to such an extent that people will clamour for a client-side, password-safe version of any popular such application to be written soon. The other nice thing about LiveJournal is that you're going to get lots of peer review on your software fast - if you've done something naughty, then word will get out about it fast, with sundry vengeance, smiting and miscellaneous "smackdown" to follow. ;-)

What else could the downside be? Spam, I suppose, but it doesn't seem to be a terribly clever way to generate details of who's LJ is active. You could always just scarf the latest posts feed instead. (Who would take that as a feed, by the way - who needs a feed that's updated at a frequency of 2.5 Hz at peak times?) It's also likely that if someone's clueful enough to update their LiveJournal, they're less likely than the average punter to respond favourably so spam.
[User Picture]
Date:August 4th, 2003 03:11 pm (UTC)

Posted too quickly

I guess that if you were really uncertain about what you're running, you could adopt a policy of not running any software where you can't see the source code in advance. There probably isn't a closer analogy to "seeing where it keeps its brain" than that.

To be fair, I don't believe the source code to the TrustFlow trust metric tool has been released yet, but I would be surprised if it weren't before long.
Date:August 4th, 2003 03:19 pm (UTC)

Re: Posted too quickly

I suppose the worry is that if one of these tools were doing something nasty, entirely unrelated to LJ, and not timed to do anything particularly vicious until a few days after release, it might not be so easy to pick up on the fact. Even if you can see some source code, it's hard to know for sure that it's the source code for what you're running.

I know, I'm just being paranoid. Believe me, 45 minutes at Peterborough station on a Monday can do that to a man. :-)
[User Picture]
Date:August 4th, 2003 04:52 pm (UTC)
*smile* But it's OK, honest. I personally vouch for ciphergoth, author of said code, as one of my best and longest-term RL friends, and I'll eat my nonexistent hat if there's any badness in it.

Of course, how much credence you place in my vouching for him is... a matter of trust, isn't it?
Date:August 4th, 2003 05:12 pm (UTC)

Well, umm... if jiggery_pokery trusts you and you trust ciphergoth then... no, I'm confused. I need some software for deciding whether or not I trust people enough to use their software.

Umm. Good. I think.
[User Picture]
Date:August 4th, 2003 05:35 pm (UTC)

I certainly trust mhw enough for these purposes. However, I would trust him more if he physically did have a hat on standby to eat should this issue require it.
[User Picture]
Date:August 5th, 2003 06:12 am (UTC)
Do you trust him to be telling the truth when he says he has no hat?
[User Picture]
Date:August 5th, 2003 06:41 am (UTC)
Well, if he does have a hat which he is not prepared to eat, this is ground for partial distrust, but if he does not have a hat then there are fewer reasons to trust. It's either Schrodinger's Hat or "Never Trust..." with Chrissy Iley from the Sunday Times.

<sings>#o/All about my hat/°#</sings>
(Deleted comment)
[User Picture]
Date:August 6th, 2003 03:55 pm (UTC)
Mmm. I'm yet to be convinced that it does analyse any further than friendsfriends, but it strikes me that we could probably get better information about the workings of the system by asking for the trust metric graph of someone who had very few friends, and their friends had very few friends themselves. Sounds to me like a use for the zombie_zorac, darth_zorac, vamp_zorac and voldie_zorac accounts if ever there were one.

I'm thinking that zombie only friends darth, darth only friends vamp, vamp only friends voldie and voldie only friends zorac. We then look up the trust metric graph for zombie and see how many levels of trust the system works through; if zombie can pick up all zorac's friends at some very low level, then we know it searches very deeply indeed.
[User Picture]
Date:August 7th, 2003 02:41 pm (UTC)
The article you've quoted seems fairly clear to me. Water flows into a bucket until it is full; it then overflows and the resulting water flows equally into the buckets of its friends. We start by pouring water into my bucket and see which buckets fill the fastest. The result will probably be similar in broad terms to what you have described.

We can calculate an approximate numeric solution by defining a `bucket' to be N `droplets' and doing the calculation one droplet at a time.

Initialise B(b) to zero for every b and then repeat T(1,me) until 50 names have been printed out, where T(n,b) is defined as follows (obviously in practice the first N steps can be taken as read):

  1. B(b) := B(b) + n [add n droplets to b's bucket]
  2. if N+n > B(b) >= N then print b (unless b represents me or one of my friends), let n := B(b) - N and go to 3 [if this droplet filled the bucket then print it out and reduce the droplet to just the amount which overflowed]
  3. if B(b) >= N then fetch a list of b's friends and perform T(n/m,f) for each friend f where m is the number of friends [if the bucket is full then distribute the overflow among friends].
The difference between this and your proposed algorithm is that you don't get a vote until you become trusted; also, as the man said, votes continue to flow along the system until they reach an untrusted member (that is, if I'm trusted and I got 1/20 of a vote by being someone's friend, then each of my friends gets 1/25 of that 1/20, and so on).
[User Picture]
Date:August 7th, 2003 09:40 pm (UTC)
Oh that's intersting. In legal (succession law) terms, I think, you're saying it works per stirpes whereas Popfriends just works per capita. Does this mean anything to you?
I agree the system would actually reflect "trust" better if it only counted bi-directional Friendships (tho of course this misses the point that many people may Friend but not keep the be-Frineded on Deafault View - the new un FRiending :) . You should say that to Ciphergoth.
[User Picture]
Date:August 24th, 2003 04:50 pm (UTC)
Found this entry while googling myself boredly ...

6: aegeus - famous Harry Potter fan.

I find this extremely funny as when I entered the fandom I lurked on the HP_Psych list (under a different name, though I used both at one time ...) and I was in awe of you and Keith and how you always got responses from Barb. :D

Of course, now I beta for her ...

> Go to Top