Menu

Project Goals

Here are a few goals as I see them:

1) The standard math library and the gnu scientific library have literally hundreds of functions which could be added with little or no effort. This would be one place to start. I have a lot of repetitive code in the functions so far. I'm sure we could abstract some of this to make the adding of functions easier. The advantage of doing this is that all these functions can be called from the command line or piped together.

2) Error checking: Currently, the functions have almost no error checking. I checked for divide by zero to prevent an obvious crash situation, but that's about it. I don't want to make any of these commands interactive, because that would interfere with piping, so we have to be smart about it.

3) A gui: In order to make this package useful to more than 0.01% of the population we will eventually have to make the installation friendlier to the point and click types. Heck even C programmers are lost without buttons to push thanks to MS Visual C++. I envision something very visual like dragging functions from a palette and sticking them together like lego blocks. I am partial to the NI LabView interface myself so something like that would suit me. (For people who prefer lines of text, we could have a nice tutorial on how to write a bash script.)

4.) Make sure this stuff builds (and runs) on Windows. (Unfortunately, 95% of the population still uses it.) Everything should compile fine on any ANSI compliant C compiler, but I don't want to force people to install Cygwin to make this work. Certainly whatever GUI we use will have to be well thought out to make it work on Win32. I can only imagine the pain of trying to get this kind of thing to work using a Dos batch file...

5.) Security: I want to avoid insecure functions wherever possible. The default Debian gcc 4.1 has some security checks built in and they will not be disabled. Just Google for "Stack Smashing" if you're curious. (I actaully had some code suddenly stop working because I had an fscanf looking for a string of unspecified length. I strongly doubt this package will ever be popular enough to be targeted by malware. However, I believe a person has a moral responsibility to write code which is fit for purpose, whatever the license says. Code which allows someone to crash, hijack, spy-on or otherwise trash you computer is _not_ fit for purpose.

Posted by Bryan Harris 2007-03-07

Log in to post a comment.