Bill wrote: > Nevertheless you can hack using the HOME environment variable
Yes, in j901 for iOS … JVERSION Engine: j903/j64/iOS beta-k: GPL3/2022-02-20T16:48:50 Platform: iOS/iPadOS Version: 901.2 50 Installer: App Store Contact: www.jsoftware.com …you can indeed enter: 2!:5'HOME' NB. gets a shadowy long-path... /Users/ianclark/Library/Containers/BFFFA6CA-80AD-4BF7-A281-B0244C5DA3AD/Data 1!:0 (2!:5'HOME'),'/Documents/j/*' ┌──────┬──────────────────┬───┬───┬──────┬──────────┐ │temp │2022 2 20 16 48 52│96 │rwx│----d-│drwxr-xr-x│ ├──────┼──────────────────┼───┼───┼──────┼──────────┤ │tools │2022 2 20 16 48 52│320│rwx│----d-│drwxr-xr-x│ ├──────┼──────────────────┼───┼───┼──────┼──────────┤ │test │2022 2 20 16 48 52│160│rwx│----d-│drwxr-xr-x│ ├──────┼──────────────────┼───┼───┼──────┼──────────┤ │config│2022 2 20 16 48 52│96 │rwx│----d-│drwxr-xr-x│ ├──────┼──────────────────┼───┼───┼──────┼──────────┤ │addons│2022 2 20 16 48 52│576│rwx│----d-│drwxr-xr-x│ ├──────┼──────────────────┼───┼───┼──────┼──────────┤ │user │2022 2 20 16 48 52│160│rwx│----d-│drwxr-xr-x│ ├──────┼──────────────────┼───┼───┼──────┼──────────┤ │slate │2022 2 20 16 48 52│64 │rwx│----d-│drwxr-xr-x│ ├──────┼──────────────────┼───┼───┼──────┼──────────┤ │system│2022 2 20 16 48 52│160│rwx│----d-│drwxr-xr-x│ ├──────┼──────────────────┼───┼───┼──────┼──────────┤ │assets│2022 2 20 16 48 52│832│rwx│----d-│drwxr-xr-x│ ├──────┼──────────────────┼───┼───┼──────┼──────────┤ │plotf │2022 2 20 16 48 52│64 │rwx│----d-│drwxr-xr-x│ └──────┴──────────────────┴───┴───┴──────┴──────────┘ But that is an unnecessarily roundabout route. The following is equivalent: 1!:0 'j/*' ┌──────┬──────────────────┬───┬───┬──────┬──────────┐ │temp │2022 2 20 16 48 52│96 │rwx│----d-│drwxr-xr-x│ ├──────┼──────────────────┼───┼───┼──────┼──────────┤ │tools │2022 2 20 16 48 52│320│rwx│----d-│drwxr-xr-x│ ├──────┼──────────────────┼───┼───┼──────┼──────────┤ │test │2022 2 20 16 48 52│160│rwx│----d-│drwxr-xr-x│ ├──────┼──────────────────┼───┼───┼──────┼──────────┤ │config│2022 2 20 16 48 52│96 │rwx│----d-│drwxr-xr-x│ ├──────┼──────────────────┼───┼───┼──────┼──────────┤ │addons│2022 2 20 16 48 52│576│rwx│----d-│drwxr-xr-x│ ├──────┼──────────────────┼───┼───┼──────┼──────────┤ │user │2022 2 20 16 48 52│160│rwx│----d-│drwxr-xr-x│ ├──────┼──────────────────┼───┼───┼──────┼──────────┤ │slate │2022 2 20 16 48 52│64 │rwx│----d-│drwxr-xr-x│ ├──────┼──────────────────┼───┼───┼──────┼──────────┤ │system│2022 2 20 16 48 52│160│rwx│----d-│drwxr-xr-x│ ├──────┼──────────────────┼───┼───┼──────┼──────────┤ │assets│2022 2 20 16 48 52│832│rwx│----d-│drwxr-xr-x│ ├──────┼──────────────────┼───┼───┼──────┼──────────┤ │plotf │2022 2 20 16 48 52│64 │rwx│----d-│drwxr-xr-x│ └──────┴──────────────────┴───┴───┴──────┴──────────┘ j901 will recognize a "short path" -which is capable of reaching anything in its sandbox: 1!:0 '*' ┌─────────┬───────────────────┬────┬───┬──────┬──────────┐ │j │2022 2 21 22 40 47 │384 │rwx│----d-│drwxr-xr-x│ └─────────┴───────────────────┴────┴───┴──────┴──────────┘ Note that using a long-path doesn't get round Apple's security. To combat "jailbreaking", iOS polices long-paths, and intervenes to defeat the user's efforts to do anything clever with them, such as string-processing or use of ../ . There are (of course) no published rules as to how long-paths are munged, or when. …but see: https://www.nextofwindows.com/how-to-browse-your-ios-devices-file-system-on-windows https://developer.apple.com/library/archive/documentation/FileManagement/Conceptual/FileSystemProgrammingGuide/FileSystemOverview/FileSystemOverview.html …(The presence of /archive/ warns you that the page may be out of date, or no longer represent best practice.) Yes, as with macOS there is a "bundle" containing the app code and associated files, but it lies outside the app's sandbox, and iOS defends it creatively. If you try hunting for an "~install" path, you'll be chasing shadows. You can, however, copy files and folders into the /Documents/ folder as siblings of j/ , since that's still in your sandbox. On Mon, 21 Feb 2022 at 13:06, bill lam <[email protected]> wrote: > iOS apps are supposed to run inside sandbox and leaking file system info is > discouraged. Nevertheless you can hack using the HOME environment variable. > try the following > > 2!:5'HOME' > 1!:0 (2!:5'HOME'),'/*' > 1!:0 (2!:5'HOME'),'/Documents/*' > 1!:0 (2!:5'HOME'),'/Documents/j/*' > > > On Mon, 21 Feb 2022 at 8:11 PM Richard Donovan <[email protected]> > wrote: > > > On my iPhone… > > > > jpath'~install' > > ~install > > > > Which isn’t much help’ > > ________________________________ > > From: General <[email protected]> on behalf of bill > > lam <[email protected]> > > Sent: Monday, February 21, 2022 4:37:15 AM > > To: [email protected] <[email protected]> > > Subject: Re: [Jgeneral] J903 on Pixel 6 Pro (Android) > > > > the install folder on any platform can be found by > > jpath'~install' > > on android it is > > /storage/emulated/0/Android/data/com.jsoftware.j.android/files > > > > > On 20 Feb 2022, at 1:58 AM, J. Patrick Harrington <[email protected]> > wrote: > > > > > > I just recently replaced my old iPhone (a 6 Plus) with a new Google > > Pixel 6 Pro. > > > > > > It seems to be an impressive phone with a great camera. One of my > > motivations for not getting a newer iPhone was my desire to escape the > > increasingly locked-down Apple philosophy. I had problems moving files > back > > and forth between my linux computer and the phone. I'm glad to report > that > > I had no particular difficulty installing J903 on the Pixel 6. The file > > locations are cumbersome; you need something like > > > > > > Apath=: > > '/storage/emulated/0/Android/data/com.jsoftware.j.android/files/' > > > > > > in your startup profile. But the good news is that you just need a USB > C > > cable between your Pixel and computer and you just drag and drop files to > > transfer them back and forth. I used to test the speed of J on phones by > > inverting a 500 x 500 matrix -- on my old iPhone it took 0.5 sec, but on > > this Pixel it's down to 0.046 sec. (Need to use a larger matrix, e.g. > 1000 > > x 1000 -> 0.37 sec.) It took a bit of fussing to install the Dykman > > keyboard but now its there and works great. I noticed there was a 2nd > > keyboard available but I haven't tried it. How does it differ? I must say > > that though I ran J programs on the iPhone, I seldom developed anything > on > > it. But J903 on this Pixel 6 is so smooth that I've started writing > (short) > > routines on it and copying them back to the laptop. > > > > > > My real reason for writing this report is ask for pointers to any > > discussions regarding J on android phones. The android OS is completely > new > > to me. One glitch I encountered was when I modified a J routine with a > text > > editor I'd installed on the Pixel. I got a strange file read error. It > > looked like the editor did something invisible to the file that ruined > the > > J session -- all my definitions were gone and I had to kill J and > restart. > > But if I made the file changes on the laptop and ported the file over, it > > was fine. Any suggestions for a good text editor for android? (I'm an old > > school vi guy, but I've not found a good plane vi.) > > > > > > Anyway, I appreciate any pointers of discussions of J on android... > > > > > > Patrick > > > > > > ---------------------------------------------------------------------- > > > For information about J forums see http://www.jsoftware.com/forums.htm > > > > ---------------------------------------------------------------------- > > For information about J forums see http://www.jsoftware.com/forums.htm > > ---------------------------------------------------------------------- > > For information about J forums see http://www.jsoftware.com/forums.htm > > > ---------------------------------------------------------------------- > For information about J forums see http://www.jsoftware.com/forums.htm > ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm
