Patrick, are you going to get your photoionization models of planetary
nebulae working on your new phone?
https://code.jsoftware.com/wiki/NYCJUG/2013-07-09#Astronomical_Calculations_on_a_Phone

On Mon, Feb 21, 2022 at 8:06 PM bill lam <[email protected]> wrote:

> /j/... sandbox works well if files are accessed from J itself. However if
> it needs to pass the name of the file to external programs or shared
> libraries, then the full path is needed.
>
> On Tue, 22 Feb 2022 at 7:53 AM Ian Clark <[email protected]> wrote:
>
> > 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
> >
> ----------------------------------------------------------------------
> For information about J forums see http://www.jsoftware.com/forums.htm
>


-- 

Devon McCormick, CFA

Quantitative Consultant
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to