Flux: Plans for the future
We'd be particularly grateful for contributions in the fields below:
Structured documents
A new XML parser/validator is in order. Important features:
- Full TT/MT compatibility. Use markup trees internally.
- Subtree validation. Enables you to validate document fragments by
themselves. Very attractive in an interactive environment.
- Reverse validation. To provide lists of legal elements in a
specific context. Also very attractive for interactive applications,
as it will enable you to present lists of valid choices, etc.
Cryptography
- Symmetric: Twofish. Strong, fast, free, 128-bit keys. Based on Blowfish
by Bruce Schneier.
- Asymmetric: ElGamal. Strong, free, any-size keys. Unpatented.
- Stream integration. Could plug in to FIFOBUFs quite easily,
especially if block crypto is done in 8-bit CFB mode.
Entropy
- Randomness pools. (Typedeffed "ENTROPY"?) Feedable, non-blocking. Keep track
of entropy level, and try to maintain a high one. Use RMD160 hashing.
Protocols/storage formats
- Unicode. A standalone Unicode string handling layer, duplicating
the <string.h> and <stdio.h> 8-bit functions. Should probably
be named strcpy16(), strlen16(), etc.
- Distributed TTs. Token trees shared between threads running on
the same machine, as well as remote ones. Need a special network layer for
managing locking, transmission and general bookkeeping. Good for
multiprocessing, multi-user collaboration, redundant clustering and whatnot.
Some parts are in place already - notably external TT data.
- Mail spools. Should be able to parse headers and body data types and
return a per-message, cooked TT to the application.
- Newsfeeds. NNTP. Enough said for now.
- IMAP. Maybe POP3 too.
- IRC. Already implemented as a blocking layer on top of SOCKs, but not
checked in yet, due to neccessary adaption/cleanup. Should queue and
return token trees as communication blocks, containing enough
information that they can be shuffled on through a COMM directly. Needs
its own PROXY plug. Kinda low priority.