February 22nd, 2002

  • mega


Lately there have been some userpics issues, and some are appearing in support. People are successfully uploading their images and in return get the red x. I have tried this out myself and noticed that at times the userpics are showing and other times the url's are apparently non-existant. Anyway to check this out?

Posting to communities without joining

I'm sure this has been brought up before, but never resolved:

Why can't we post to a community without joining it?

It'd be a trivial change to LJ::can_use_journal(...) to check the community table and see if the community is open, and if so, allow the post. (the check in ljprotocol.pl's postevent for the poster being banned from the community still happens, afterwards.)

Then we need to announce in lj_clients the change, so people can make their client have an "Other..." option or whatever.

First though, any objections or things I haven't thought of?

Befriending, watching, and trusting.

Designing the new trust system has caused an old issue to resurface.

Initially we had the "friends" table which contained all the people you watched on your friends list. And these same people could all read your "Friends only" stuff (ignoring custom security).

Many parts of LJ don't offer custom security, only "all / registered / friends". So there's no way to watch a journal and not give them access to read your memories and text message you, for instance.

That problem is easily enough solved: bit 0 in the groupmask in the friends table is always set. If we let people add "friends" with that bit off, we just have to modify LJ::is_friend(...) to check that bit in that row, rather than the mere presence of the row. Easy, and no slower. Complication: updating clients and deciding on good wording everywhere.

So at this point we have two types of edges: watching and befriending.

And soon we'll have trusting. I trust a lot of people that I don't care to read and don't want to read my stuff.

So do we store that in the friends table still? Do we want more metadata on trust edges? Like date certified, say?

I'd like to put trust stuff in a different table, for a number of reasons. New tables tend to change for a number of months after their inception. I don't want to be modifying the friends table often, and I don't want to bloat friends later. And I don't want everything that requires scanning all of a user's friends to have more data to scan.

Anybody feel like taking on the project to separate friends/watching? Another issue: the "Default View" hack. We have the "showbydefault" enum in the friends table which we're not using it. Is the "Default View" solution good enough? Should we drop the showbydefault column and save some space? Or should we turn the showbydefault enum(1,0) wasted byte into a real byte so we have 7 more bits to use for other things?

inside toaster
  • pinrad

(no subject)

When running the "bin/upgrading/update-db.pl --runsql --populate" I get the following error:

install_driver(mysql) failed: Can't locate DBD/mysql.pm in @INC (@INC contains: /usr/local/lib/perl5/5.6.1/i586-linux-ld /usr/local/lib/perl5/5.6.1 /usr/local/lib/perl5/site_perl/5.6.1/i586-linux-ld /usr/local/lib/perl5/site_perl/5.6.1 /usr/local/lib/perl5/site_perl .) at (eval 7) line 3.
Perhaps the DBD::mysql perl module hasn't been fully installed,
or perhaps the capitalisation of 'mysql' isn't right.
Available drivers: ExampleP, Proxy.
at /home/lj/cgi-bin/ljlib.pl line 2995

I have attempted to install the necessary perl modules, but resulted in errors when installing "GD" and "Bundle::mysql" I do not understand the errors. The error said that I need libg 1.8.4 or something along those lines. I lost the message due to being unable to scroll back up on my SSH client.

I running Slackware 7.1

Trust system

Now that I've mentioned the trust system a lot recently, there's been a fair amount of confusion and misinformation flying around, which I'm now going to try and quell:
  • users would list which people they really trust as being good people. (i.e., not assholes). you'd only do this if you're sure. if you just met somebody and they had a few neat posts or pretty pictures they posted, you shouldn't trust them. trust your closest friends ... or at least the polite ones. there are a number of people on my friends list I read and communicate with, but I wouldn't vouch for as being respectable netizens.
  • certifications (trust edges) would be private, as to not encourage false trust by pressure. (your pseudo-asshole friend bugging you until you mark them as trusted)
  • your public trust level is either "Trusted" or "Not yet trusted", not a numeric value. It's not a game. And the assumption is that everybody is a good person, and those that aren't soon will be, once they get some certs. It's important to choose the right wording. You can imagine some bad examples we won't use.
  • there will be no negative certifications.
  • How will this info be used? You'll have options like: "Who can comment?" Everybody, Registered users, Friends, or Trusted users? There will not be options like "trusted people of people I trust". That's too computationally intensive.
  • somebody mentioned they thought the advogato algorithm wasn't deterministic. i believe it is, but i'm not an expert at this stuff.
Now, go spread this information and not hysteria.