September 3rd, 2001

  • segvio


Let me introduce myself. My name is Brett and I'm here to help. Partially because the new signup method is right; too many LJ users are using the service but not contributing back. Although I have had experience with PHP, mySQL, and C (all under Linux-based systems, mind you); I have had almost no experience with Perl or BML. I remember reading a post a while ago about an FAQ on BML? Perhaps someone can point me in the right directions here as I wish to help contribute and secure LJs future.
  • Current Music
    5 A.M. Check [REMIXED] - Brett Carrington [Original by
  • banana


I just posted a reply to the lj_biz discussion on the invitation codes for new accounts. As ever, I got the reply Your comment has been added. You can view it here. However, the discussion is long, and runs to three pages (probably more soon). My "view it" link goes to the first page, not the one with my comment on. Is this a bug?
tom bday.

New User

Hi. New Here. Seems fair that if I am going to use your service I do what I can to contribute back to it. I am a web developer by trade. Experience with DHTML, PHP, MySQL, C, C++ (MFC & STL).

Talking to myself

Some things that need to be done to enable free accounts again....

trust system (ala ... not as new column in friends table, though .. new table: edgeprop (edges between people) ... edgeproplist defining things like color, trust, options (watching/subscribing), friends ... unique (userid, propid, friendid), indexes on (userid, friendid), (friendid, propid) ... eventually phase out friends table totally?

remove paid{features|until|reminder} from user table... move to an ljcom-specific table (paid accounts is only supported in ljcom anyway) and add "accttype" (or "atype") to user table. remove all logic (especially in non-ljcom code) like in uploadpic_do.bml that says if $u->{'paidfeatures'} ... replace instead with LJ::get_limit($u, "max_pictures") and get_limit will look at $u->{'atype'} ... (paidfeatures is an enum now in user table... atype will be site-defined in, so let's make it a CHAR(5) ... not varchar.. fixed-length rows in user table. 4 extra bytes per user, but we're removing paiduntil/paidreminder on all non-paid users... still win)

so now ljcom atypes are: "early", "paid", "perm", "free", and the new one: "new". new users will be the more heavily restricted & untrusted ones... not "free" users. eventually, after a period of either time and/or trust received from other users, their atype changes from "new" to "free".

keep the create.bml page that states our philosophy and makes paying an option to begin with... that's really been making people aware of the option. of course, have to do more to make that known also, but that's an lj_biz thing.... this is lj_dev.

the best part of this will be cleaning the ljcom crap out of the livejournal modules.

next project to start... (unrelated to free accounts) remove all text from BML files, replace with phrase codes ala use translate web tool to let translators edit trnaslations (another anti-ljcom thing for other installations). fix BML to be more efficient with multilang handling (freevote code worked, but could be improved) ... have nightly job that crunches translations in db down to DBM files... use Cache::Cache against tied hash to DBM file in BML to keep phrase code to native language mappings efficient. after starting this, let people send in patches to remove ljcom-english and start translating. hopefully people will (i think avva would love this) ...

we also need to finish <LJDEP> tagging of all files. halkeye could use some assistance, no doubt.... lot of files left to do.

</talking to myself>

livejournal vs. ljcom

I just committed some more stuff to CVS which further removes 'ljcom' crap from the cleanliness that is supposed to be 'livejournal'.

All the HELP BML tags don't have ljcom-specific faqids anymore... instead, there's a new config option in %LJ::HELPURL that maps topics to URLs and BML pages call LJ::help_icon which returns no HTML if the HELPURL isn't defined.

Also, I removed the "fast servers" crap from htdocs/login.bml ... instead, that uses another hook. (haven't done login_do.bml yet... will shortly).

I pseudo-appointed tydel to be the livejournal vs. ljcom nazi ... to bug me about anything in livejournal that shouldn't be there. However, it really should be everybody's job. All your goathack accounts have just livejournal by default ... report anything that's too ljcom. (with the exception of things I'm already working on, like paidfeatures/account-type abstraction)

BTW, halkeye, there's a new LJDEP link type... hook. See htdocs/login.bml. (this is documented in bin/ anyway)