I came up with what I think is a cool and fun idea, and after talking with some friends, I want to share it.
"Collaborative" Programming Week
Premise: See if people can make something useful by writing a bunch of code and handing it to one person to use.
Number of People: 3 or 5
Rules:
1. Use any language you wish. Languages that allow for separation of code into groups (like namespaces) are preferred. (My friends and I are using C++, but you don't have to)
2. Each person gets assigned a day of the week (M-F) which they have exclusive control over the code for 24 hours (starting at 00:00 UTC and ending at 23:59 UTC). In the case of only 3 people participating, one person will get Monday/Wednesday, one person will get Tuesday/Thursday, and one person will get Friday.
3. Each person assigned to M-Th gets a file (and a namespace, if the language supports it) which they will place all of their code in. Participants cannot edit the code of others.
3a. If the language does not support namespaces, care must be taken to ensure that identifier collisions do not happen between coders. A good way to prevent this is to prefix identifiers with the coder's name (for example, Mego_foo instead of foo).
4. The person assigned to Friday is to take all of the code created by the M-Th coders and make something useful out of it. They are responsible for compiling and uploading the result.
5. When a coder passes the project, it is expected that all of their code will compile without error, and, if the stated conditions are met, will run without error.
6. External libraries are allowed, but make sure you include any needed files in the project package. Platform-dependent libraries and code are not allowed unless all participants have the capabilities to utilize them.
7. If you want to do something that doesn't violate any of the above rules, go for it. Anything not expressly forbidden is allowed and encouraged.
Bonus points: Stream a live video feed of your programming, including the code and your voice. We all would love to hear your reaction to your friends' code.
Even more bonus points: Use this as an opportunity to raise money for charity. Programmers are good people.
Two of my friends and I are looking at doing this next week. I will be streaming my two days (Tuesday and Thursday) if we decide to do this, and will have a ChipIn box up on my stream page for the Organization for Autism Research.
Let's see what we can make, people!
(edited to loosen restrictions a bit, and to clarify some things that didn't come across clearly)