Vichan Modernization Project (VMP) TO DO LIST 1. VFEC (vichan front end controller) based on old read.php (which failed) - fix what sunk read.php no disk access excluding source code files no on-disk Twig cache no on-disk config files, move them to db and chang load_config() no more flags.php/flags.ser, figure out how to do without Goal of VFEC: 8chan/infinity should be able to operate outside of NFS (/srv) - move media files to their own directory. should be straightforward with `ln` and if VFEC works would not even require a full rebuild of all markup - reimplement rebuildIndex/rebuildThread work already done from old read.php BONUS: varnish support baked in as purge() does not need to change 2. abandon Unix timestamp filenames, name files based on their MD5sum รก la next, furthermore abandon src/, thumb/, etc. dirs for all boards, go for global blob storage with perhaps a skiplist - easy to implement, simply preseed the skiplist... PSEUDOCODE for i in 0x0 ... 0xf for j in 0x0 ... 0xf mkdir $i/$j, done done - then change $config[filename_func] to return the md5sum and not the current microtime. PSEUDOCODE function new_filename_func($f) { $md5=md5($f['filename_tmp']); return "$md5[0]/$md5[1]/$md5"; }; Benefits: less disk usage due to de-dup less read & write I/O because duplicate files ignored/already in CF cache 3. consolidated posts table - requires rewriting almost every query - could raise issues --- Next choked on its big posts table, and while it was fixed it took quite a bit of doing Benefits: - more effective global moderation - multiboards without long JOIN queries - overboard out of all VMP goals, this'd take the longest 4. move he CAPTCHA into the posts box - would have to be done with an AJAX query Drawback: - morons think is means they have to fill it out every post even though nothing Benefits: - less friction on first post of the day and for new users (implying 8ch will ever get any - rofl) (low priority) 5. separate the uploading of images from the posting of text - saves bandwdth and user frustration in case their post fails 6. remove "USER JS" - it's been used twice for XSS, people can just use GreaseMonkey/TamperMonkey 7. More to come NOTE: VMP is not a replacement, or even preferable to Infinity Next. It simply is an alternative in case Next's problems are insurmountable. Most, if not all VMP ideas grow out of dev discussions re: Next.