Stories
Slash Boxes
Comments
NOTE: use Perl; is on undef hiatus. You can read content, but you can't post it. More info will be forthcoming forthcomingly.

All the Perl that's Practical to Extract and Report

use Perl Log In

Log In

[ Create a new account ]

Alias (5735)

Alias
  (email not shown publicly)
http://ali.as/

Journal of Alias (5735)

Saturday September 16, 2006
07:32 AM

Surface Area: Creating the CPAN "LOCAL" user

[ #31017 ]

The idea of surface area is another one of these nice recurring concepts that you either take advantage of or keep an eye on when creating large scale software.

Perhaps an example is useful here...

One of the nicest features of the CPAN Test Dummy modules is that they are reliable. They do various things, but most have no functionality or dependencies, and are absolutely committed to never having functionality or dependencies.

This adds almost nothing in the way of actual direct value.

What it does do is create more algorithmic "surface area" upon which we can create all sorts of new interesting things that DO add value. In the case of the dummy modules, it allows us to write all sorts of interesting new tests for the CPAN toolchain, because we can use them and trust that they won't squirm underneath our code and break it.

Of course, one can go overboard, and more isn't always better.

The concept of encapsulation, and indeed one of the keys to good API design, relies on taking a complicated concept and simplifying it down to have a simple interface as possible.

The ideal situation is to have enough surface area upon which to do everything that is needed. Anything more than that is unnecesary and just makes life more difficult.

You can see parallels in nature. Surfaces are where life happens. Places teeming with life (rockpools, reefs, swamps) also happen to have lots of surface area.

Similarly when you have limited surface area, you have to treat is as one of your most important contraints.

One of the ideas bandied about for becoming "carbon neutral" is the idea of planting trees. But this is terrible idea, because the earth's surface area is a non-renewable resource.

If you take 1 ton of carbon from under the ground, and put it into the air, then paying to have someone put it onto the surface of the planet sucks. There's far far less space on the surface of the earth, than under it or over it, and that surface area (with some caveats) is then "gone" and of no real use for other purposes.

Obviously, if the whole world did this to go carbon neutral, we'd run out of land pretty fast.

In this light, and with no objections from modules@, I have created the "LOCAL" CPAN user id (email pointing to me for the moment).

The LOCAL user is one that is reserved for use by local systems (for example things like CPAN::Inject). To be honest, I can't tell you exactly what it will be used for, but the intent here is to create some additional surface area for things like CPAN client mungificators to play on.

The LOCAL user thus will:

1. Never be taken be a real author

2. Will never have any files uploaded to it.

If you wish to inject modules or whatever into a CPAN mirror locally for your own purposes, you are welcome to use it.

The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
 Full
 Abbreviated
 Hidden
More | Login | Reply
Loading... please wait.