Software Wishlist

April 27th, 2011 Leave a comment Go to comments

Note: this has been a list over the years (originally started in 2007!)

Some things MAY be fixed now, others may not; a lot of these I have either moved on to different software, don't care, or are no longer issues.

PHP-FPM

nginx

  • dynamic loading of modules (passenger, things like that. my spnego authentication module)
  • statistics (Host: header)
    • current I have a simple /var/log/nginx/traffic log right now with hostname, bytes, URI, and parse it nightly... not the greatest or real-time
    • Zeus did this with a little daemon that ran and collected stats, and dumped them on an hourly basis
  • dynamic upstream management
    • external alert when upstream goes down (or could also trigger a command)
  • fair scheduler (might not need it) but what about weighted least connections? (emulate lvs functionality, but with added ssl, gzip, layer 7 capabilities)
  • authentication
    • SPNEGO/Kerberos/etc. integration - see my blog post
    • Digest support (technically if Kerberos fails it's supposed to fall back to Digest anyway)
  • mod_mogilefs
  • logging
    • maybe easier to detect bad errors (log levels) - debug is too verbose, but others are not verbose enough
    • conditional error logging/ability to turn on debugging
  • Configuration macros. Something like:
    if(-f /etc/nginx/$user.conf) { include /etc/nginx/$user.conf; }
  • cluster manager (manage multiple nginx instances, like Zeus' web interface)
  • mod_cgi
    • fcgiwrap might be cool, if a PHP-FPM type daemon/configuration would be added
    • I HATE HATE HATE having to use Apache or something else just for older CGI apps.
  • mod_svn
    • I believe this just requires a thicker WebDAV implementation (i.e. PROPFIND)

PHP

  • integrate Suhosin / Hardened PHP stuff directly into PHP - why not?
  • Be able to pass a parameter to simplexml_load_string() and simplexml_load_file() to convert to an array instead of an object. Someone on php.net mentioned this cute trick - @json_decode(@json_encode(simplexml_load_string($string)),1) more or less, I'd write it a bit different but it might be a "working" unofficial method.

PECL

  • MogileFS official package
  • steghide/steganography package. currently I have a function written to use "steghide" and system() calls. API hooks would be a lot cleaner.
  • combine the best of both memcached and memcache modules into one
  • some other personal memcache/memcached module requests like automatic key prefix addition/removal, result affinity, option to return something on a key miss. I think some of this might be addressed by now.

Ubuntu

  • Better auto-installer/kickstart/etc.

PHP + gettext

  • Could a way be devised to cache the output of a parsed gettext file, much like APC caches the bytecode of a compiled php file - it would save having to parse a gettext file on each request - is it worth it? Will this save a lot of resources?

Internet Explorer (6, 7, at least)

  • Fix "View Source" so I don't have to reload the page and right click before it finishes loading to be able to see it. How long has this been going on for. IE 4, 5, 6, 7...

SourceForge (Freshmeat too)

  • If your sites look busy and insane in Windows, they look busy and insane in Linux too. Not to mention the lot of us that are looking for easy to right click links to grab the packages and wget it from a Linux shell. SF finally made it one step better, but you guys still have a long way to go. Simple is best.

CSS

  • Make floats act as if they are in the document flow. Right now doing a float: right and putting something with a fluid width beside it does not work correctly. Nobody I have talked to has ever made it work, either. In IE it appears to work under the right circumstances, but that's probably just an IE bug.

Notepad

  • Figure out how to open documents with Unix-style linefeeds. I hate this open-in-Wordpad-alt-f-s-alt-f-x-reopen-in-Notepad business.

Lighttpd

  • Figure out a way to communicate with spawn-fcgi or other tools to spawn more FastCGI engines as needed. I think I might have some interest with someone for this.
  • If not above, then a way to determine when it is time to modify the number of PHP children in the sysadmin's spawn-fcgi script. Without enabling "noisy" FastCGI debugging (2-6+ lines per request in the log file.)
  • An Apache-style mod_rewrite -f /-d check. mod_magnet *can* do this, but someone's already written a patch, and it only gets ran if it hits that "file not found" first. This is probably the most requested mod_rewrite change since so many packages use it (WordPress, Drupal, etc.) - otherwise you have to use a lua script.
  • Real-time .htaccess style overrides (or at least for authenticated directories) - right now each protected directory has to be defined in the server configuration and restarted. That is a lot of work (and requires sysadmin intervention) for something that people have been used to for quite some time. I currently see this as one of the biggest things lacking in Lighty.

Nero

  • Make a standalone Nero Burning ROM package. That's all some of us want.
  • When I uncheck "Nero Scout" I expect it to not be installed. Your installer still installs it...

Media Player Classic

  • "Open DVD" is a great feature. But how about letting the user choose the directory each time, instead of having to edit it in the program preferences?