Brad Fitzpatrick (bradfitz) wrote in lj_dev,
Brad Fitzpatrick

Project Teams

Mark and I were talking about how to get work effectively and we both agreed that large groups move too slow and don't come to concensus quick enough. We both agreed that we should start breaking ourselves into "teams" like the lj_biz people have done.

However, being part of one "team" doesn't mean you can't provide feedback on the other team's work, it just means you're focused on one project primarily.

The two teams I'd like to form in the next few days are as follows:

S2 - New Style System
I'm going to head up this project. The current style system just sucks. I've been working on specs for a new system that has a custom and simple programming language at its core. The language won't allow infinite loops by not having gotos, whiles, etc... The only control flow structures will be if/else statements and foreach over finite lists. If somebody feels like it, they can write a style in this language.... I'm calling this for now a style engine. However, most style engines (at least the ones we provide) will read in variables definitions that a user has defined. We'll likely provide two engines to begin with... a compatibility engine (written in the new S2 language) to run old styles (things with LASTN_PAGE, etc...), and the new default engine, which will take advantage of everything S2 will do: localization and color schemes specific to styles. (and styles are specific to engines...) In the new system it'll be trivial to add new views, without any work of the engine or style maintainers... only if they want something a lot different will they have to modify things. Even people that don't want to make their own style can go through a customization wizard and answer questions like, "What do you want your 'post a comment' link to say?". I intend to write the language parser and compiler in Java. The "compiler" will simply be turning the AST from the parser and compiling it to, intially, perl code that will run inside the server.... if we change what language the middleware runs later, we can just change the compiler backend to generate Python or C++ instead of Perl.

MyLJ - personal LiveJournal server/sync/backup system
I need a leader for this project, else I'll do it after the S2 project is over. However, I'd prefer to work in parallel, as these two projects don't depend on each other. I want a team to come up with some new protocol modes to let a remote non-interactive client download a user's journal to their local machine, with different backends for storing the data in text files, or in a database. Then, I want a group of people within that team to make different ways to manipulate that data: PHP interfaces, HTML generators (later we could use the S2 system on their local machine), etc...

Both projects will be licensed under the LGPL.

So, who wants to join what projects?
  • Post a new comment


    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded