Wiki/Report of Meeting 2024-04-11

From J Wiki
Jump to navigation Jump to search

Report of Meeting 2024-04-11

Present: Art Anger, Ed Gottsman, Raul Miller, and Bob Therriault

Full transcripts of this meeting are now available below on this wiki page.

1) Ed has heard back from Norman Drinkwater about running the J wiki Viewer as a standalone application. A lot of the discuss on this meeting was about the challenges that come from trying to run stand alone applications on a Mac. Some of the security on the Mac can make this difficulty. Bob mentioned that the update on the Viewer had a message saying that the information was to be downloaded to the temp folder. Ed says the message is just out of date and that the information is being loaded into a separate J Viewer Folder and not the temp folder.

2) Bob showed that he was running the J Viewer along side the running JQt terminal and the Edit window and was able to do copying and pasting between the windows and effectively create an interactive sandbox for testing code that is described in the wiki. It was mentioned that this was always possible and could be done with standard copy and paste which would not require the extra J verbs to import into the edit tab or the JQt terminal.

3) Raul showed that it was possible to run multiple instances of the J app from the command line and this would allow one instance to support the J Viewer while a second instance was used for development.

4) Bob told about his explorations of the template for the Category tree combined with content page. Raul pointed out that the template can be accessed remotely from pages. Bob wondered if there would be a problem of showing a page with the template from the template. This might be solved by having the template sit on each page and using variables to be responsive to the content of the page. Bob felt that he might be able to reduce the footprint of the categories template using the grid display.

5) Bob and Ed discussed the SVG mapping that Jan Jacobs had produced of the wiki content which looks like it might provide a better categorization of the wiki. The plan is to have a follow up meeting with Jan and see how this may be explored.

For access to previous meeting reports https://code.jsoftware.com/wiki/Wiki_Development If you would like to participate in the development of the J wiki please contact us on the J forum and we will get you an invitation to the next J wiki meeting held on Thursdays at 23:00 (UTC) Next meeting is April 18, 2024.

Transcript

It just turns out

that Norman is interested in the possibility, because of something I mentioned in the last

meeting, of creating standalone versions of the JViewer for the three platforms that the viewer

supports. Excellent.

So he's looking into it. We don't know what's going to happen, but this was entirely on his

initiative. I indicated that I appreciate it very much, and that the prospect terrified me,

not so much the implementation, but the ongoing maintenance and support.

So we'll see how that works out.

Well, I think the very cool thing about that is it may point to a direction that it's easier

to do that kind of thing than maybe it has in the past.

Possibly, yeah. I have not heard back from him. We've had one back and forth exchange,

and he said that in a few days he hopes to get in touch with me with some sort of assessment.

Apparently it's the Mac that is the tricky part.

Mac OS is apparently a little more security conscious along some dimensions than Windows

and Linux are, and that can create friction. But as I say, he's going to look into it,

so we'll see what happens with that.

Well, when you download the JQT on your Mac, you end up having... I have to get through a

bunch of security protocols, right?

Yeah, that's right. You're right. You're right. You're right. Yeah.

But once I've done that, I've got access.

Yeah, it just works. Right. Sure.

One thing I noticed about the JViewer, because I went back to my 9.4 version and realized I

hadn't updated it for a while. So when I updated it, the window came up and told me that it was

going to... I hadn't installed it yet. When I went to install it, it told me it was going to move it

into my temp folder. And then when I updated it, it told me it was going to move it across to

the other one. But whether or not...

Across to the other one.

Well, there is a folder for the JViewer that gets stored, all the information gets stored in,

right? Now.

There is now. Yeah. Under user. Yeah.

Yeah. But when I went to the initial

message, when I actually went to install it on J9.4, it told me it was going to the temp folder.

Really? Oh, yeah. No, that's on my list, is to fix...

There are two messages that need to be fixed.

Yeah. Yeah.

But they do not... As far as I know, they do not reflect reality.

Yeah. Reality is it's actually going

into the user folder, the user JViewer folder. Yeah, that is on my list.

Okay. I figured that's what it was, but I just noticed it and I thought I should let you know.

I appreciate that. Thanks.

No worries. I guess the other thing... Well, okay. So what I spent some time playing around with

was... And this has partly to do with me playing around with the 9.4. I realized you can run the

JViewer on 9.4. I'm a little surprised. Okay.

Yeah. Well, 9.4, it had everything it needed, didn't it?

I've run it on 9.4, although not recently. I don't remember why. I think I put in the

manifest 9.5 and I assume I had a good reason for that. But one, I may not have done that.

I may be misremembering. And two, I certainly don't remember what the reason might have been.

So I'm not a good person to talk to about this, I guess I would say. So it runs under 9.4. That's

great. And even if it didn't, well, I suppose if it didn't, then you wouldn't... What I basically

realized is I can certainly run 9.4 and 9.5 at the same time and they're independent.

So that gives you a standalone version of the JViewer. Yeah.

Not just a standalone version. Oh, it's better.

Yeah, it does get better because... And I'll share my screen with you.

I'm not sure what you guys should actually check and see what you guys are seeing.

Passion 7, Focus 7. Yeah.

Looks like your whole desktop. There we go. Yeah, that's my journal. It is my desktop.

You've got a nice big screen there, Mr. Theriot. I do have a nice big screen.

Monsieur Theriot, I guess I should say.

Oui. Je m'appelle Robert Theriot.

Ah, Canadian.

Well, no, if I was Canadian, if I was Quebecois, I'd go, "Je m'appelle Robert Theriot,"

something like that, because they all talk so rough back there.

Anyway, so now you are seeing, hopefully you're seeing my full screen with the interesting parts,

not the... I'm turning this off. There we go. It's out of the way.

So what I've got here is I've got the JViewer in here.

I've got a running terminal here, and I've got an editing file up here, right?

These little things that I've got here allow me to copy and paste to the terminal

and to the temporary files. Right.

So I can take this and I can... Oh, I could actually do it with anything.

I'll select this and I'll copy it, and I'll do append this one, which is the cover verb for the

thing, and that's what I get.

So anything that I've got within the JViewer, if there was a button attached to this particular

verb or these particular verbs, I would be able to take that information.

If there was a button on the JViewer that triggered that, it could send it over to either

the terminal or it could send it as well.

And this is the tricky part because I have to come off the... I have to have a blank folder

or a blank file to be able to do this.

The easy way to do it would just for me to create a blank file.

So maybe that'll be the first step that I would do in this verb,

but I'll just show you what I can do. I can select all this as a script,

copy it, and then what I'm going to do is I'm going to do the

double D edit initialization.

It's going to take all of this off the screen and put that in.

So now what I've done is I basically copied what I found in the viewer.

I've copied it over to an edit page, and if I wanted to run that, all I'd need to do is

load it and it would be loaded. I think where's my... I guess my focus isn't on this page.

I could probably play around. Oh, it tells me there's some kind of an error with clip read.

I'm not sure what it is, but value error. Oh, because it's probably not defined yet.

You might also have some line wrapping.

Well, it doesn't line wrap in the...

Oh, you're right.

Yeah, yeah. It's not line wrapping there, but yeah, you're right.

If that was an issue, it would be.

I can also, instead of initializing, if I wanted to add from different places,

I could do the app one, which is append, and instead now I've got it back to back.

So essentially I can take different scripts I find, if I find them in the viewer,

I can then copy them over in sequence to the edit file.

And I can also, if I wanted to, I could hit terminal edit instead of...

This would be kind of a weird thing to do, but I could hit terminal initialize here

and it will clean out what I see on my terminal page.

I'm not sure why I would want to do that, but I can.

And so there, now I've got it all put into the terminal page

and it's cleared everything else off.

Boy, I'm confused.

These are almost like potential buttons on the editor window

to do things with whatever source of content you're working with elsewhere.

Exactly.

They're not specific to the viewer, they're more specific to the edit context.

Okay, so where would you... Oh, you'd put them on the edit page?

Yeah, I mean, it would either...

You're manipulating the editor session.

So either it would go into the edit window or it would be an accompanying window,

like a floating toolbar type thing that you'd use to help you edit.

And the reason I'm saying it's not specific to viewers is,

right now, really the source of interest here is the wiki.

And it could be like Discord or GitHub or some forum, the Google forum.

Oh, I see.

Yeah, if you had the buttons floating, so they were independent of what you were displaying.

Because what it's doing, I'll just go back to the actual verbs again.

And I'll drag this back out.

The one downside, and I've made the text bigger than I would normally, so you guys can see it.

I would usually go with a smaller font than this.

But what it's doing is, when I'm appending, as soon as I copy,

I end up being able to pull it back with clip paste.

So it's actually taken it and put it into this noun called clip paste.

And I perform on clip paste, which then creates all the stuff I pasted.

I put in a line feed ahead of it to get it away from what was there before if I'm appending.

And then what I do is, I ask the editor.

So I'm getting the editor.

I'm saying, put this into clip paste.

And then, so it's taking what's already there.

It's putting a line feed and appending what had clip paste.

And then it takes all of that, and it puts it into the edit text, into the edit window.

So I'm actually doing it in two steps.

I grab my clip paste.

I append it after grabbing what was already there.

And then I push it all back to what's there.

And if I initialize, I don't have to have that middle step.

I just take clip paste and push it across.

And for the terminal window, it's a little bit easier than that for--

because I just echo it out.

I just-- I'm just going to put it like it's echoes out after what I've got there.

And for the initializing, then I have to set the terminal text to whatever was in the clip paste.

It just clears everything else up.

I'm a little bit at sea, I guess.

So I will ask a question.

>> Yes, go ahead.

>> Could I achieve these same effects with-- by selecting text in some source document,

whether it was the viewer or Discord or somewhere else?

>> Yeah, I think so.

>> Hitting Command-C.

>> Yeah.

>> Clicking on the edit window.

>> Yeah.

>> Clicking Command-N, Command-V.

>> Yeah.

>> Or just Command-V, that would be append.

>> Yeah.

>> OK.

>> You could also do Control-A, Control-V to do the init.

>> Yeah.

>> Yeah, or Control-A, Control-V.

I guess I'm a little-- I'm a little confused because those seem like things people already

know how to do.

>> Well, they do, but I think you could put it behind a button.

>> Yeah.

>> Well, they do, but I think you could put it behind a button on the viewer, or as Raul

suggests, have it as a floating window.

You just hit that, and then it's going to show up at the other place.

You don't have to-- you would have to make sure in terms of editing that you don't want

to-- you wouldn't want to do it over a file that you've already got that you want the

information on because you're going to copy over it.

>> Right, you've got to-- you've got to pick your file.

You've got to make sure the target is properly specified before you click that button.

>> Yeah.

>> I mean, at that point, I think you're-- it's probably safer and in some ways more

intuitive simply to do Control-C, Control-V.

>> Yeah, I would say if you were to use something like these controls or these verbs that I've

written, you would probably include-- create a new temp file so you start fresh.

>> That's Control-- that's Command-N, right?

>> That would be Command-- I think Command-N works for the edit files.

>> Yeah, that'll create like 3.IJS or whatever.

>> Yeah, you just go up and it'll check because I can tell right here-- is it this?

Yeah, new temp, yeah, Command-N.

>> Yeah, right.

>> Yeah.

>> So that feels like-- those all feel like things people already know how to do.

>> Yeah, I mean, they do know how to do them.

This would be-- you would be doing them in one step.

If you hit a button, it would show up there.

>> Yeah.

>> You wouldn't need to-- like, you do have to hit-- you do have to do Control-C or Command-C

to copy it.

>> Yeah.

>> And then you hit a button and it would go to that place.

>> Right, but you'd have to make sure you pick the right place.

And at that point-- I'm not sure what the incremental value is, I guess.

>> Yeah, yeah, yeah.

>> And it strikes me that it creates-- it creates uncertainty.

It creates a new thing I have to learn and feel comfortable with,

where the old things seem okay as it stands.

>> Yeah.

>> That's just my initial-- that's the reaction I've been having, as I said, listening.

>> Well, and I actually agree with you quite a bit with-- in terms of the edit.

Because to me, the edit one is a bit fraught with danger,

because if you sat on a file you liked, and then suddenly you decided to do the JWEDIT initialize.

>> Yeah.

>> Bang, you just lost the information.

>> That could be pretty grim.

>> That's not good.

Yeah, you wouldn't want to--

>> And then you start to say, well, I could have a dialogue box that asks you to confirm

that you want to wipe out the contents of the current file.

And now I'm really wondering.

>> Yeah, well, yeah, then at that point, I think it's-- it's-- it's caring too much.

Yeah, I mean, and then-- and then additionally, if you're popping that kind of a dialogue box,

and a person goes through a whole series of those dialogue boxes saying,

this is ridiculous, I don't even need this here.

And then they finally hit one where they actually didn't want to delete,

and they hit the button anyway.

Now they've deleted it, even though the dialogue box should have stopped them.

And that's a very common pattern, right?

>> Yeah, yeah.

>> So no, I agree with you for the edit.

It might be kind of useful.

I'm thinking if you were-- you say, for instance, you were going through NewVoc or something,

and you wanted to try something out.

This would be a way just to quickly get the information across.

But as you say, you can copy and paste.

>> I guess what I wonder, there's a difference between-- trying something out can mean two

things-- trying something out can mean copying into an edit-- into a file, a source file,

from which you might then execute lines or possibly execute the entire file.

The other thing that trying something out can mean is putting it directly

in the terminal and executing it.

>> Yeah.

Yeah, and both-- by putting able to-- enter information into the edit window

or the terminal window, I can do both of those.

>> It feels to me like the terminal window is pretty cool.

That seems safe.

You're not going to wipe out anything that the person doesn't want to keep.

>> Well, yeah, certainly if you take out this control here,

which is going to wipe out the terminal window.

If you never-- if you just say--

>> Oh, you would want to append to the terminal window.

>> What's that?

>> You would want to append to the terminal window.

>> Yeah, and then so basically you could just say-- now, I'd have to have done a clear at

the top of all these terms, but essentially I would note that out, I'd comment that out.

And then it's not-- it doesn't exist, so you wouldn't have to worry about what you're sending.

That would only do-- that would only send stuff to the after.

Like for instance, if I do--

>> I would want is the F8 option, which runs the clipboard.

>> Ah.

>> In the terminal window.

>> In the terminal window.

Yeah, that effectively is what you want.

>> Well, you could set hotkeys for them.

>> F8 is already built in for JQT.

>> Is it?

Okay.

>> Yeah, you do a-- if you go to the-- I think it's the run menu.

>> Yep.

Tools, is it user tools?

Or is it run?

>> For me-- no, it's my menu.

The second one, run clipboard doesn't have F8.

>> Yeah, F8, yep, that's what I got.

Yeah, yeah.

>> And that's what-- that just does everything that you probably want if you want to try it out.

Okay, so what that's going to do is try and run the clipboard, right?

>> Right.

>> Okay, yeah, because it did the same thing.

It gave me the error.

Yeah, so you're right.

If you did-- highlighted anything that was runnable in the viewer and then hit F8,

it'll run it in the terminal.

>> You have to copy.

>> I have to copy, right.

I have to copy and then F8.

Now, I guess the big thing when I was playing around with this, it wasn't so much these verbs.

I just wanted to try and see what I could do with it.

But the big thing to me was, again, the standalone viewer, how standalone do you want it to be?

If you're running this version of-- you know, like it runs in J4, you not only have the JViewer,

but you have the other things around it that are independent of what other version of J you're

running.

>> I'm a little-- I'm sorry.

I've lost you, I'm afraid.

>> It's a bit like a sandbox.

>> What is a bit like a sandbox?

>> This instance of JViewer that's in 9.4.

>> Right.

>> And this terminal window that's in 9.4.

If I'm working in 9.5, I can do whatever I want with this setup, and it's not going to

affect what's in 9.5.

It's a sandbox.

>> I think what you're talking about there is a workaround for an interesting feature of OSX.

Which is by default, you're only getting one session for an application.

And I think there's a way-- command, click menu option or something-- of actually running

multiple instances of the same version of J.

>> No way.

>> You can do that.

>> Really?

>> Oh, in the Windows.

>> You can do that?

>> Yeah.

>> I think--

>> I'm sorry, under OS.

>> Under OS.

I think-- well, I think Windows has it too.

But I know Windows has it, because you can-- I think Windows has it.

>> Because what I tried to do-- and I didn't get all the way there.

But the first thing I tried to do was I downloaded the J engine into a different folder, thinking

maybe that'll trigger off a different folder.

It'll run it independently.

It doesn't.

>> Don't you have a command menu option on the app icons down the bottom?

>> Yeah.

>> Or command shift, maybe?

>> It says open at login and show in finder.

Remove from doc.

Or open.

>> Maybe it's--

>> And command click will show you where it is in the finder, which is not very exciting.

>> Yeah.

>> But having the version in a different folder in the finder, it still just goes and opens

the same-- like it opens 9.5.

It doesn't care where it is.

Like so you can't have two versions of 9.5 running simultaneously.

At least I haven't found a way to do that.

Norman might--

>> No, you can do it from the command line.

You can use open dash n from the command line.

But it seems like it might be possible to do it from the icon as well.

But it's been so long since I've used OS X that I don't know quite where I look.

>> So if I was to-- what is it?

The two--

>> If you do-- wherever you have the-- like if you have applications in J9.5, you know,

somewhere there's going to be a command line way of starting J9.5.

And if you use open slash n on jqt, then that will get you a new instance of it.

I know that's possible.

>> Okay.

So this takes me back to the jqt.

But of course, down here is the console, right?

So is that where you're saying you would launch from here with a new version?

>> I haven't tried it from Finder.

I know there's a command line way of doing it.

>> So if I did-- what would it be?

Launch J9.5?

>> You're not at the OS X command line.

You're in J.

>> I am in J. You're right.

Yeah.

>> You're in the OS X command line.

>> Okay.

>> Well, according to Chet GPT, from which I may say I get all my material--

>> Yes.

>> You can use the terminal as Raul suggested, open hyphen na.

You can create multiple user accounts.

You can use virtual desktops.

Or you can use virtual machines.

So no really accessible approaches, I would say, for many types of user.

>> It seems like there was a-- I thought there was a way of bringing it up off of a open

new instance type of a thing.

But I can't even find that on Windows right now.

>> Yeah.

>> Probably a research subject.

>> Yeah.

If I was to start on something, I would be taking a look at JHS.

Because I think Eric's basically doing something like that when he opens up J in the browser.

I think he's doing that from the command line.

So if I go through to JHS.

Okay.

So he actually says here, to run a new JHS session on the next free port, run the following

next port.

So if I go next.

Let's do this.

Right.

>> Is there a right click option on the app icon?

>> Let me check.

There is.

>> Does it have a new window in that menu?

>> Not really.

No.

>> Okay.

>> So I'm going to click on that.

>> Okay.

>> And I'm going to click on the next.

>> Okay.

>> And I'm going to click on the next.

>> Okay.

>> And I'm going to click on the next.

>> Not really.

No.

>> No.

>> There's, well, let's see, options.

You know, this is the usual options.

Show, windows, hide, and quit are the options.

>> What if you use shift or alt or something like that?

>> All right.

Let me try that.

Shift, right click just takes you to the application session.

Command right click is the same as command.

Oh, no, it's not.

Command right click just gives you the usual right click menu option.

>> How about if you do open twice?

Do an open, does open give you a new instance?

>> No, I think it just opens it.

>> If you do open again, does that give you the same instance or a new instance?

>> I think it gives you the same one.

Was that, okay.

Do it again.

Yeah, it just opens the same one.

>> I think it's the menu popup.

>> Although at one point I thought I had done,

I can't remember where I put it.

Maybe I got rid of the other version that I downloaded, 9.5.

Actually, no, I think I put it in applications.

So let's try that.

>> You know, what this suggests is that you could actually fairly trivially do a standalone version

of JViewer or any other add-on, any other JQT add-on.

You just have to pass a dot, you know, whatever it is, dot, under DOS, it would be dot bat file.

Under Linux, dot whatever.

And under Mac OS, whatever the shell files are, shell file suffixes.

>> So now I've got these two JQT 9.5s highlighted like they're running.

But I think if I close this one and quit, I think it'll quit both of them.

Oh, it didn't.

No, that's interesting.

It didn't, it quit one and not the other.

>> Cool.

>> Yeah.

So I'll start this one up again.

Okay, and I should be able to then, there you go.

>> So what did you do, Bob?

I wasn't paying attention.

I'm sorry.

>> I ran them from two different folders.

>> No way.

>> Yeah.

I installed in a different folder.

>> Oh.

>> And so one's running off my, just under my home folder, my Bob Terrio folder.

And the other one I put in applications.

>> And you launched them from the dock in both cases?

>> I launched, what I did was I launched the one that I've already got from the dock from

the desktop.

And this one I actually launched from the folder, the applications folder.

And it separated the two.

So right now, so I just, I should just do it quick.

And they're both running it.

And there's no indication of instances with this.

You don't know that they're independent, but they are.

>> Right.

>>

So yeah, that might be the trivial way.

I mean, you'll end up having to run two versions of J.

>> But you're doing that anyway.

>> Well, yeah, you would be able to run the same version of J twice, as opposed to running

two different versions of J that were concurrent.

>> Right.

>> Yeah.

>> And one of the other thing you could do is you could have J launch a second instance

of itself using the task run.

>> Yeah, that's what I was suggesting with the launch.

>> Yeah.

>> And the first element of RV maybe.

>> How interesting.

>> Yeah.

>> Because I guess the problem with OSX is a lot of its applications aren't designed

to run multiple instances of themselves and J is.

So it makes sense to delegate that responsibility to J.

>> Right.

And the other thing that I found out, which is part of the reason when I started to play

around with the terminal and the edit window when I was in the viewer, I don't think there's

a way to close the terminal window.

There is, you can close the edit windows, but it won't let you close the terminal windows.

The best I could do is I could make it really small, like 20 by 20 pixels, put it up in

the corner, but I can't get rid of it.

If I close it, I guess it closes the session.

>> Yeah.

Although if you really wanted to hide it, you could maybe shove it to a second desktop

or something, make the font size one pixel.

>> Yeah.

Well, actually, I couldn't, the smallest I could go was about 20 by 20.

It wouldn't let me shrink further than that.

It's got a minimum on it.

>> Is that pixels or characters?

>> That's pixels.

When I tried smaller, I couldn't make it smaller than that.

I could make, and then at about 20, I can make it bigger again.

Because there is a control within JQT to be able to set the windows, the size and the

position if you want to do that.

I guess the easiest way to do that was you just put it behind the JViewer window.

>> Yeah.

Well, JViewer will occlude the terminal, but having a terminal available is not

the worst thing in the world.

>> Yeah.

>> I mean, that's okay.

I don't feel any need to hide it or to make it unavailable.

>> Yeah.

Well, and then to me, that would be more of a user, I'm trying to think of what the term

would be, education, is that you tell people, you can use it this way.

And if that's useful to you, you've got a way to run a separate instance and-

>> Well, hopefully people using the JViewer are interested in using J, which kind of makes

the terminal window a positive thing rather than an annoyance.

>> Exactly.

But they may not think of it, like they may just be running this and going flipping back

and forth between windows when they can run them side by side.

>> Well, but flipping back and forth between the JViewer and your real J session is a command

tab or alt tab.

>> That's true.

>> So you're aware that you're switching applications or application sessions.

>> Yeah.

But when I switch with my command tab, I'm actually changing the application that I'm

running.

And I may not want to do that.

I may just want to stay with this application if my terminal window's underneath me like

it is, and I can just zip back and forth on the-

>> Sure.

I guess my point is I don't think the confusion would last very long if we launched the JViewer

in a separate instance of the same version of J that you're running currently.

I think the confusion would be figured out fairly rapidly.

>> I think it would be as long as you were expecting that's what it could be.

I can see where it could be a real head scratcher because suddenly I just put this into the

terminal.

Where is it?

And you don't realize you flipped over to the one that-

>> Oh, I'm sorry.

I was thinking of something narrower, I think, than you're thinking of.

I was just thinking that command shift H, which is what I use and recommend for launching

the JViewer, would in fact just do a two bang colon zero J nine dot whatever you're running

now space enough of an argv to launch the JViewer.

And that would put you into- your doc would show a new version of J running.

>> Right.

>> And you might poke around for a moment trying to figure out what the hell just happened,

but it wouldn't take you long to work out that command tab or alt tab was the right

thing to do.

>> Yeah.

Yeah.

So anyway, that was kind of what I came up with when I was playing around with what can

you do without having to create separate instances.

>> Yeah.

>> But the cool thing is that, yes, you can run it off of different folders and it's in

separate instances.

>> Yeah, but that's a pain in the bum to set up, I would submit, compared to just two bang

colon zeroing off of the current instance of J.

>> Yeah, you're right.

That would be easier.

That you've- yeah, if you- because then at that point, you're just running- you're actually

running off the same engine.

>> Yeah.

>> And they're just independent.

>> The only faint downside would be that if you did it again, you'd get a second J viewer,

J 9.5 instance for a total of three J 9.5 sessions.

But, you know, life is not always pretty.

>> Yeah, unless you put logic in that would check it.

Like if you set it up so it checked to see whether the J viewer window was already open.

>> Yeah, yeah.

Tricky.

>> Well, yeah, yeah.

>> I mean, there may be a global semaphore you could use to indicate that J viewer was

already up and running.

>> Yeah.

>> And then I don't know how you'd switch to the other session.

You'd have to do that somehow.

>> Well, you wouldn't switch away.

It would just- I would say it would just null, wouldn't it?

It would no op.

>> No, you don't want to no op.

I mean, if the person hits control shift H again, you want to show them the J viewer,

right?

Whether it's an existing instance, an existing session.

>> Oh, I see.

So, okay, yeah.

So, in that case, that case, you'd use the control shift H as a way to keep- just to

return to J viewer.

>> Yeah, exactly.

It'll instantiate it, but then it will also allow you to return to it.

>> To flip to it, yeah, exactly.

>> Yeah, yeah, yeah.

>> But I don't know how to do that.

That's interesting.

I'm not sure.

That's worth looking into.

I will look into that.

>> And then that will also be something that may be different between Macs, Linux, and

Windows.

>> Windows, yeah.

And there is a flag somewhere to indicate whether you're on a Mac or Linux or Windows,

right?

>> Yeah, yeah.

>> Okay.

>> I think it's actually the flag is Darwin or-

>> Oh, yeah, right.

If Darwin.

>> If, when.

And then I'm trying to think of whether they default to Linux or whether they actually

have an if.

>> There's a whole bunch of ifs.

If you do I-

>> There are a bunch of ifs.

>> Yeah.

>> If you do-

>> There's an iOS if.

>> If you do if, it'll pop up the if name Z.

>> Okay.

>> Got a session up?

>> Yeah.

>> No, but I can.

Yes, I do.

Sorry.

So it's if underscore Z underscore.

>> No, quote capital F quote.

>> Yes.

>> And then names under bar Z under bar quote.

>> Woo!

If win CE.

That takes me back.

>> Yeah.

>> If wins.

>> Are we wincing yet?

>> Oh, there's an if JHS.

Okay.

So there's an if Unix and an if win, but I don't see anything like if Darwin.

Maybe that's just if Unix.

>> Yeah, maybe they do.

Yeah.

I'm wondering whether if Darwin is if it's not one of the others.

>> No, because it's got if win CE.

>> Yeah.

>> If I-

>> That's archival practically.

They haven't run CE for, I think, 2008 or-

>> But there's still a bunch of stuff in the source code.

>> Yeah.

>> Conditional definitions for win CE.

They haven't taken it out yet.

I don't know if it works, but they haven't taken it out yet.

>> Yeah.

>> I think Darwin is mostly if Unix and if you don't want one of the others, you maybe

throw in some knots for those.

>> Yeah.

>> But I don't think it really, there's currently anything significant between Darwin and Linux

as far as J is concerned.

>> Right.

>> But you can also look at 914.

>> What does 914 do?

What does 914 tell me?

>> It's basically the version information.

You can look at J version too, I guess.

>> Oh, I see.

Yeah.

Darwin.

>> So you are like-

>> Okay.

>> Is Darwin an element of-

>> Yeah, right.

>> A sequential element of-

>> Yeah, right.

>> I think when I'm testing for versions for J, I use 914 and just parse it out.

>> Yeah.

>> And J version is basically the same information.

>> Yes.

>> It's also a character string.

So you can do Darwin, one element of Darwin, capital E dot.

>> Yeah, I think actually the J version is exactly the same information with that

sleeve equals one taken off the end and then you just line feed instead of the slashes.

>> Yeah, and a few more headers.

>> Well, but you get the install path, which is now from J version.

>> Oh, yeah.

Yeah.

>> That would tell you what to do, bang colon zero.

If you want to go launch it.

>> Yes.

Yeah.

Oh, we still got this leaf one in the build.

Okay, that's where that's coming from.

Okay, I just didn't recognize that before.

Yeah, and it gives you a bit more information about the libraries and the IDs, the QTID.

And if I was going to go to this one.

Yeah, so that's there.

There's the difference.

You can see the install path here is applications 9.5.

And for this one, the install path is users Bob Terry on J 9.4.

Sorry, that's the install path.

I'm running, but the other one, where did I do that?

Let's see.

Did I close that?

I didn't think I did.

I must have closed it.

Oh, yeah, I did close it.

That was part of my test, wasn't it?

I went and closed this one.

Open this one again.

Okay, so that's the install path.

And then I'm going to go to the next one.

That was part of my test, wasn't it?

I went and closed this one.

Open this one again.

This is applications 9.5.

And this is applications 9.5.

That's interesting.

What happens if I do something with this?

It's independent of those two, but they're running from the same install path.

That doesn't make sense to me.

Anyway, I think you're right.

That wouldn't be the way I do it.

I would do it from inside J.

I'm futzing with this.

I'm trying to open JQT using 2-Banco-0.

Open -na/applications/j9.5/jqt

and I'm getting interface errors.

Does 2-0 still work?

I thought it stopped being supported at some point.

I think it works for Mac still and Unix systems.

I don't think it works for Windows.

I was thinking of using the task.

Task.ijs

What does that do?

It does the same thing as the 2.0 and 2.1 used to do.

But it's a script.

And it has launch and shell.

It has commands that it creates.

So if you do load task

and then you can do launch.

I think this is the thing.

Load, quote, task.

Capital launch.

L-A-U-N-C-H

Capital launch?

No, capital launch is slowercase launch.

Okay.

So launch.

And then

Raise of the first element of argv.

So launch just executes 2-Banco-0.

Really?

That's what the error message says.

That's not what it does for me.

I was going to say, I don't think it does on Windows.

I think that's what it does.

Windows uses a different launch cover, something else on Windows.

Now, did you raise argv or are you using the boxed argv?

Oh, I didn't box it.

You need to unbox it.

You need to unbox the first element of argv.

No, I don't understand.

I'm doing launch space, single quote, slash, application, slash, J95, slash, JQT, slash,

J95, slash, JQT, single quote.

Let me share my screen, I guess.

Yes, please.

Where's my share?

Share.

And I guess I have this thing.

I should probably make this.

I got it, thanks.

Okay.

So, I do that, and that brings up for me, and of course you aren't going to see it because I didn't share it, but that's the command I used to bring up another J instance.

Really?

I did, you know, first doing the load task.

Right, I got that.

And then I do that and it brings it up.

So, I'm sorry.

Launch, semi-co.

First, argv.

First.

All caps, argv.

Right.

Goddamn, something's happening.

That seems to have worked, actually, Raul, which impresses the hell out of me.

Why does that work?

How is that different from what you typed before? Look at the first, look at the value, the y argument for launch and tell me how that was different from what you were trying before and that's probably the issue.

Yeah, so I was doing applications, J95, JQT, and argv is just bin/JQT and that makes a lot of sense all of a sudden.

It's sending it right to the bin, yeah.

So that's, so argv is actually what this session of J was launched with.

Got it.

So you don't actually need first, you can just launch semi-co.argv.

Well, it depends on what argv was.

If you launched J from an icon, you probably don't need it, but if J was launched in some other fashion, it might be something else in argv that you don't want to pay attention to.

Right, and you get a little terminal, on the Mac, you get a little terminal application hanging around that you may not want.

But that's not a big deal.

So, what would I,

what would I include in the parameter to launch in addition to argv that would launch JViewer?

There's a whole session page in the wiki about command line options for...

Okay, for launch?

For J and for JQT.

Yeah.

Okay, cool, thank you.

JViewer, if you JViewer and command line options, you probably go straight to it.

Right.

And I'm guessing the, the options you put into JViewer would be pretty close to what your control H does.

Or your shift H, right?

Yeah.

There's different ways of doing it. And I've done it so many times and forgot about it so many times I just say go away.

That's what I do myself.

There's, you know, different options for loading a profile and for executing a statement on command line versus loading a script from the command line which,

and if you're executing a state from a command line, it can also still load from the script if you want to do that.

It's one of those, those computer interface things where there's lots of little details that you mostly never care about but sometimes do.

Anyway, coming out of this I would think that it makes sense or you could mean the J engine JQT isn't that big but it does take a while to download but then so does the JViewer stuff.

You do it once and then you've got the JViewer running. Right.

So, yeah.

Thanks.

Thanks.

Sorry, I've been going down rabbit holes, I apologize for disengaging. No, I loved it because I've been able to watch I've been able to track your, your process it's just amazing.

Thank you.

I've never really adjusted to virtual meetings, I admit it. Yeah.

I actually I thought it was very Zen, it was very cool.

Anyway, this is my way of running out the clock because I really didn't do very much for.

Yeah.

Yeah. The only thing I did, I can. I'm trying to work out, like, Rob wasn't the last one I know whether you had chance to get the notes but the big deal was, if I do templates I can change that tree structure in one place.

And if I do it as a template I have more control over what I can show there.

The thing that we're, I think the, the white whale we're chasing is, can we click on a template and have the separate window of the actual page show up.

And what I thought of first is, I'll put the template on the page and then use CSS to hide it but of course that hides the template.

Oh, and and Ed mentioned iframes and I guess that's another alternative is I do some kind of a frame of it and have them communicate from each other.

So one frame has the wiki page, and the other. The other has a template. Well, isn't it template basically like an iframe basically it's content you put somewhere else.

It is.

So, what you're saying is, if it is, you want the template to know where it's used from which is basically the what what links here type of information and it can be linked from multiple places so it's kind of a non trivial thing that usually that you want

some, some insight on the user to do some of the navigation work.

Right.

And I guess. Well, where the challenge comes is what I want to do is show the page. I'm already showing the template from that page.

And then I want to show the page underneath but the template I want to show is the tree, the full tree. Let's see, I guess that makes sense I've put that there.

I just have to put that template on every page right.

Like, you know, an instance of that template on every page. Right, there's, I think there should be a what there's.

If I'm looking at the wiki help for the what links here.

And it's got a little section here on in page list the backlinks.

If it basically, it's

haven't tried it. It's basically it looks like there might be a way to create a special link, which is to the things that link to that page.

But I haven't, I'm not digesting it fast enough to really navigate you through it just other than to point out the fact that there seems to be documentation on such a thing.

Yeah, I think that shows up in the sidebar there's an option to say what links here.

But no, there's also a, a thing that you can put in the page that has a similar character. Yeah, which is slightly different than what we were doing what we were doing was the subcategory will have a bunch of pages linked to it.

And so that would be the way to do that, but it would be done on categorization as opposed to what links to it might be more effective to have what links to this right.

Yeah.

Anyway, if you look at the help for what links here and media wiki help.

That, that's quite a place that I would start for for looking at

And there's also non template ways of including content which I guess wouldn't have a link.

But, and I haven't even tested out to see what the what links are information on the, on the template links back to the page but

Well when I was working with templates before when I did it with the with the primer I was using variables to head back and forth.

And that worked fine.

I guess the final thing before we wrap up.

I had been copying you it and the correspondence back and forth. Is it your honor is it john, I'm not sure how it probably john, but I've never met the gentleman.

So, would it be on Jacobson. I believe so. Okay, okay. That's Netherlands.

My only authority is that I have on several occasions visited the Netherlands.

Well, it's better than me.

I have on several occasions heard of the Netherlands.

Good high school friend who was born in the Netherlands, but, you know, there you go.

Yeah, no, I, I think.

Thank you very much for including the SVG I don't know what the problem was before but I did manage to get your copy of it.

I'm, I don't have a big screen.

Why don't I have a big screen. I'm an adult.

21st century America, why would I have a big screen. So opening it up on a laptop. I found the density to dense. I was able to make head or tail out of it, unfortunately.

Yeah.

I think you must have had a similar laptop.

I'm not an adult.

I think Bob you must have had a somewhat different experience.

Well what I was looking at there was certainly areas that were too dense to pull information out of there was one area in particular. I think it was near the target area that was so dense, all I saw was a black blob.

Yeah, I got several black blobs. Yeah. And so that was where my question was it looked to me like he'd been able to divide quotes the country into provinces.

And within that there are cities which are the black blobs and what I was suggesting is, can we do that and expand it but more importantly to me, does the information he's pulling out, make more sense for how to categorize things.

Yeah, you weren't. What I gathered from your reply was that you were in perhaps intrigued by the user experience but more interested in the statistical analysis. Yeah, yeah.

I think also that I think the graphics I think are pretty cool if there was a way to make it less dense or isn't it's a neat way to represent it.

Yeah.

I think the problem with SVG is that they're fairly static.

They can be, they can be animated and they can be updated. If you're working with JavaScript, they'd be animated with just CSS, or just with their animated properties you can put in them.

You can also update them with JavaScript since they are dynamic content on the page. And you can do things like with tool tips, because that's what I was using with Jake.

Right. That said, most, most web content tends towards the simple side so you know most features don't get exercised.

Yeah, but that's, that's the fault of the people building web content that's not the fault of the underlying mechanisms that are available to them.

It's not but it does have a.

The related issue is sometimes those features don't get tested and you wind up with compatibility issues that don't get resolved because nobody cares enough.

Right. So, right.

There's this constant creation of new features which then get neglected and which then expire because people don't care.

They go off and do their own thing.

Right. The old mainframe Zen masters observed that software rots if it is not used and it remains true to this day.

Well, and in the case of SVG there was actually a, an animation package called smile SMIL that within the early days of s SVG that's how you would do all the animation.

And as the CSS and the JavaScript got better. Smile just got discontinued don't even supporting it anymore.

Yeah.

I guess what I was thinking, what I was thinking was, there are.

I'm sorry I shouldn't say there are.

It's possible there are things you could do with magnification and

transforms on the city on the dense parts of the city that would let you open them up in some ways, and I'm not sure whether SVG would support that I don't know.

Available vector graphics, it absolutely can you just change your viewport size.

Yeah, absolutely.

All right.

So part of the answer tomorrow.

Are you available sometime I think his cut off was around three o'clock in the afternoon, my time which is Pacific Coast and your, your central are you.

So you're two hours and I would be available starting at noon central time, if you can work that out. Yeah, yeah, your noon central time is 10am my time and I think that works for him.

All right, I can certainly do that.

Okay, so afternoon.

Okay, well let's let up. He I think he gave me a window from like, like around six in the morning my time till about four in the afternoon. Okay, my time.

So I'll send a message back to him I'll include you and then we can set up a zoom session tomorrow to talk about marvelous. Excellent.

And with that I've run out the bell so I'm still standing as always.

Thank you.

Yes.

Everybody. Yeah, have a good week. Bye bye.

Yeah.