Site hosted by Build your free website today!

Site Map

Navigate Software
Main Software Page
EZ-AV Tools for Unix

This Page

Lovely Counter

free hit counter
(Reset from about 10,000 in April 2005 by a crash)


This is the page for unnamed projects... What?

Naming things can be difficult. This especially happens when you have to name lots of things and use unique names. People can have the same names as each other quite reasonably, but if two programs have the same name... chaos and confusion! And on top of that, as with people, you don't want to choose a stupid name.

So, whilst making a small program that needed a name, I figured I could put up a page for it, state very clearly THIS HAS NO LONG TERM NAME, ONLY A WORKING TITLE, and ask people who look at my website to suggest a few. The plan being, eventually it would get a decent name, I could put it somewhere else accordingly, and then maybe keep this page for describing new projects that needed names.

To suggest the names, either send an email to me, or write it on the tag-board in the feedback section (if that's up by the time you read this).

If you manage to suggest the name I use (and no, it doesn't count if you suggest the working title and I end up sticking with that!!!) then I might well credit you for it in the project's documentation (unless you don't want me to).

Current unnamed project

The current unnamed project goes by the working title of Clipcode, which is a vague, shoe-horned acronym for what it does and is intended for.

It's a very very basic command-line program, which is not interactive. It is not "an application" by any stretch of the imagination; rather, it is intended for use in shell scripts (if you didn't know that term, you might not be able to grasp how this thing is used), where you want to be able to control various things with some sort of configuration file as opposed to hard-coding them or asking the user directly, but have no obvious quick-and-easy way of parsing it to get the settings. This is a command to get those settings in the quick-and-easy way for your script.

Hence, you get quickly-written programs by using simple scripts (or certain other programming languages), yet your program can still be extremely flexible and so much more useful, and you don't have to work out stupid ways to do configuration files yourself.

I also made the command accept various flags, to let it also do other operations than extracting values from the configuration file (which is a simple set of key-value pairs in a hand-editable text file). It can also list all keys in the file, add a new key, write a value into an existing key, delete a key, or validate the configuration file. As such, you could use the command in conjunction with some sort of user-friendly front-end in order to create and alter the configuration files too!

I came to write the program in the course of making my site-building framework, "MMSS". I had decided to make it a generic system, so it'd be useful to people other than myself, but this needed things like the hostname and username for uploading to my site to not be hardcoded into the scripts (which automatically upload pages that have been updated). I also felt it'd be desirable to have such things as page colour, etc settable by the user, and due to the nature of the m4 macros for generating the HTML pages, this would be even harder for users to change if they wanted to. Hell, it even was hard for me!

So it became obvious that a simple command that could be used in thees various situations could extract values from all sorts of different keys in a file, and this would be immensely useful. I saw many different software libraries and things for dealing with configuration options in C programs, etc, but no actual commands as such. So I made this, it didn't take too long, and it works pretty damned well in numerous different situations, opening up all sorts of doorways IMO. The only thing that bothers me is that such a thing didn't seem to exist before. Perhaps other people found it simple enough to do with tools like sed or languages like perl, but maybe others didn't, and made inflexible scripts because of it.

In case people had been getting by by using other more complicated scripting solutions, I'll give a quick example of usage, taken from the upload command I put in MMSS:

ftp-upload --host `clipcode host.cfg ftphost` --user `clipcode host.cfg user` ... ...

That simple enough? Now, if you understood what this program does, how it is used, and why it is useful, then maybe you'll be able to come up with a proper name for it. If you didn't really understand it, you might still come up with something suitable anyway (but you should bear in mind that "configure" is already taken, for something quite different).

Tomble, February 2004

UPDATE, March 2004: It occurred to me since writing this that you can have your scripts source smaller shell scripts that simply set environment variables. However, I'm not convinced that these are as good as what "clipcode" gives you, as clipcode allows you to manipulate them too. So OK, it's a little diminished in value, but I still think it's useful.

Previous unamed projects

There are no previous unnamed projects so far.

These pages created and maintained with MMSS (Make My Static Site)