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
