The nms Project
Web programs written by experts
About nms
What is nms?
nms is a set of web programs that are intended as drop-in replacments for the scripts at Matt's Script Archive. Matt's Script Archive has been on the web since 1995. It is a repository of web scripts written in Perl by a programmer called Matt Wright.
MSA is probably the most popular repository of web scripts currently available on the internet.
Why do we need a replacement for Matt's Script Archive?
The problem is that the scripts in Matt's Script Archive aren't very good. The scripts are well known amongst the Perl community to be badly written, buggy, and insecure. Anyone asking for support on Matt's scripts in any forum will be told in no uncertain terms that they shouldn't use his scripts.
Unfortunately for some time there were no replacements for Matt's scripts that you would want people to use. In 2001, the London Perl Mongers decided to address this problem and write a series of drop-in replacements for Matt's scripts. This project is the result.
So what exactly is nms?
nms is a project hosted at SourceForge. The project has drop-in replacements for all of Matt's scripts. This means that someone who uses one of Matt's scripts should be able to get the nms replacement and just drop it in in place of the original script. Everything should then work exactly as before, except that the user will sleep easier knowing that their web site is that little more secure.
Note that these scripts are intended to replace Matt's scripts. This means that their target audience is people who might not know very much at all about Perl. Any contributed scripts must therefore follow certain rules:
- They must run under Perl 5.004_04 or later. Any earlier Perl than this is pre-historic and can therefore be safely ignored.
- They must not use any non-standard Perl modules. I know this is a bit contentious, but I really think that the target audience will have problems installing modules from CPAN.
- They must run with no errors or warnings under use strict and -wT. One of the worst legacies of Matt's scripts is that people use them to learn Perl. None of the MSA scripts use these constraints and therefore people copying them will learn bad habits. If people learn Perl from NMS they will at least learn better programming habits.
nms as recommended by Matt Wright
In May 2002, Matt Wright gave the MSA web site a major redesign. He included a page about nms. Here are a couple of extracts.
While the free code found at my web site has not evolved much in recent years, the general programming practices and standards of CGI programs have. nms is an attempt by very active programmers in the Perl community to bring the quality of code for these types of programs up to date and eliminate some of the bad programming practices and bugs found in the existing Matt's Script Archive code.
I would highly recommend downloading the nms versions if you wish to learn CGI programming. The code you find at Matt's Script Archive is not representative of how even I would code these days.
I call that a good result :)
Why the name nms?
nms originally stood for something that was pretty derogatory to Matt Wright and his scripts. Whilst I still believe that his scripts should not be used, I decided that the name of the project shouldn't be so negative. Unfortunately, by the time I'd reached that decision, the name nms had pretty much stuck and I didn't want to change it.
There was some discussion on PerlMonks about alternative meanings for nms, and whilst I like many of those ideas, I think that nms probably doesn't actually stand for anything.
Contact us Last modified: Wed Dec 28 17:58:43 BST 2004 |
Project hosted by |