With the new release, I have resolved to run J from the standard
Windows location for software: \Program Files.  The small fix I
submitted a couple of months ago, which I believe made it into
the current release, represents the last glitch I've found that
prevents this, at least for what I do.

There are two reasons I want to do this: one is that this will
make J less of an oddball application in the Windows world; the
other concerns the proper separation of code from data.

In general, it's a good idea to keep code and the data used by that
code in separate places.  Doing this aids portability of code and
makes it neater to back up one's work.  In general, code (an
installed application, not the code I write) is static compared
to data.  In this view, the code I write, since I'm constantly
developing it, is a kind of data, hence it ought to be backed-up
more frequently than applications which are more static.

This principle is embedded in my home-made backup utility, written
in J, in that I allow certain parts of the directory tree to be
excluded from consideration when figuring out what to back up.  One
major part of the directory to exclude is everything under
"\Program Files".  The idea here is that anything under this
directory is an application that needs to be installed, hence
is already "backed up" because of the original "install disks".
Also, as mentioned earlier, everything under this is relatively
static so does not require frequent backing up.

However, upon installing the J 6.01 beta and attempting to run
it from under "\Program Files", I had a problem with my previous
assumptions because all my own code was under "~user", hence
under a directory I'd like to exclude from daily backups.
The simple fix was to remove the exclusion, which was simple
enough.  However, this had unwanted side-effects.  Namely, I
soon discovered which applications are sufficiently ill-behaved
to store data in their code areas.

However, on investigation, I realized J has a configuration
setting that allows me to set "~User" to an arbitrary directory.
If I'm disciplined enough to use "~User\" (note the initial
upper-case letter) to prefix all calls to my own code, I can
keep it wherever I want.  This solved my immediate problem and
I was able to restore "\Program Files" to the exclude list.

However, it soon occurred to me that my sessions logs (the *.ijx
files that store the contents of a J session) are useful and I'd
like to back those up as well.  However, the mechanism for doing
this is not as apparent as for changing "User".

So, I made the following change to "C:\Program Files\J601\profile.ijs":

NB. Use my own temp area....
NB. tmp=. prf,sep,'temp'
tmp=. 'C:',sep,'amisc',sep,'JSys',sep,'temp'

This works fine: now my temp directories default to the
directory I specify, 'C:\amisc\JSys\temp' in this case.
However, "profile.ijs" is supposed to be the standard J
profile and maybe I shouldn't modify it.  At the very least,
I'll have to re-do my modifications whenever I install a new
version of J.

Is there a cleaner way to accomplish what I want here, i.e.
choosing my own "temp" for session files?

--
Devon McCormick
^me^ at acm.
org is my
preferred e-mail
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to