Okay, to conform with the requirement of the Competition, I will sketch here a very very very very bird view of my plan (for tomorrow and Friday).
Here are some assumptions:
- The chance that the design will be used is next to nil. Ehem, my bad. It is nil. Thus, no need to be super-realistic
- The main point of this competition is fun. Well, in my philosophy, the main point of life is fun, so this is no surprise to me. However, for the most part, I don't think the sponsor will ever actually use whatever presented. First, because the problem is super-trivial, as I said before. Thus, well, it takes them like a day or so to have a professional person (or group of people) to come up with something 10 times better than what I or anyone in this competition can come up with. Second, well, this is not MIT, but U of MN. Let's be realistic, eh?
- Fun = creativity. I would say that creativity is the most important point. We won't have time to explain a whole new cryto-techniques for the solution (if we do have something like that). Thus, to stand out, creativity is the only way. I would say that if the problem was, let's see, design a plan to defense against Bin Laden, then the quality counts. Here, it is easy, so the most creative and unique solution should stand out the most. Plus, standing out is fun :D.
So, here are some specified goals:
- Break from tradition. This is the first and most deliberate goal. I will break out of the common way of doing things. Not necessary better (again, you can gather wizards to come up with something 10 times better than my plan in half a day), but more fun.
- Application of theory. Since we don't have much chance to hear experts talking about our stuffs, this is the time to test out ideas. Among other self-imposed criteria, high theory will be emphasized in my solution. I will also seek to put into practice some of my own conjectures about how software can be constructed
- Use cases/scenarios emphasizes. This should be the only specific part. After all, we all need our customers. It has been pointed out, again and again, that the best point to avoid bugs is not to give users chance to touch them. Simplicity will be emphasized. I am thinking of client-very-thin and no space for crackers.
- High abstraction. Computer Scientists pride themselves for ability to play with abstraction, and I pride myself more as a computer scientist than as a software engineer. Thus, showing off is necessary.
- Absence of code monkeys. I don't want to be one, and no programmers do. Thus, I am planning to leave plenty of choices to the programmers to make. This is also combined with the above point to have a very general and abstract solution. The solution, being general, will have good scalability, modular, etc.
- Simple. I value simplicity highly. It is easier to implement, test, and maintain. It works well with others. Complexity is bad. Thus, the design should be as simple and clean as possible.
- Practical. Granted, it will never be carried to practice. However, if it is, it should be doable. A grand theory is fine, except no one knows how to implement it. My solution should be doable, and doable in a short amount of time. This is a simple challenge, so the answer should be easy.
- 45 minute presentable. Okay, I can go on days and days to boast about the solution, but I have only 45 minutes (15 for interface; 15 for database; 15 for general design). It's harsh, but it will be fun.
- Non-competitive. I desire of no prize. Okay, I wish I do have some, but I am prepared myself to get none. As stated above, the main issue is to be criticized and commented on, not winning. Trying too hard only hurt my gentle soul and wastes my time (Okay, I am not that gentle, but I do value time).
Long list, eh? Actually, there is one more criterion: lame jokes. I don't why I keep saying it (again, another irrational habit), but, well, at least it makes me believe that I have a sense of humor (no, you don't have to believe). Anyway, upto now, there are a couple of issues:
- limit of abstraction/specific-level. I don't know where to stop :(
- database layout. Let me be frank: I have never looked at database seriously (except for being a big big table to contains stuffs). Let's hope my layout work
- silence. The site seems dead :(. There's only ONE blog except mine. This is bad. I hope the competition is not actually dead, just seems so.
- green. I mean, the T-shirt is green (top secret :D). My sister is a green-lover, so I have had enough greenness. More green? Please! Well, it's not that bad. I will steal some for my sister to wear :D
Hm, this is a long blog. Too long, I would say. Good night for now. More update tomorrow, when I receive replies from people whom I am asking for help.




