Wiki/Report of Meeting 2023-06-01

From J Wiki
Jump to navigation Jump to search

Report of Meeting 2023-06-01

Present: Ed Gottsman, Raul Miller and Bob Therriault

Full transcripts of this meeting are now available after the summation on this wiki page.

1) Ed began with a demo of his latest iteration on the J wiki browser. We have put the video up on YouTube https://youtu.be/mco18CzFGTg. He began with the small version of the display where the webview expands as you hover it. Ed has moved away from the hover paradigm and now requires clicks to change the contents of the web view which displays the wiki page. The number of pages in a category is now indicated by a number instead of a line which provides the information in a more compact way. Ed has also expanded the space that a label has available when they are hovered over. That allows more information to be available from viewing the full title. Bob wondered if the green stripe is necessary and the whole column could not be scrollable. Ed pointed out that with smaller screens it is trickier and with a scrolling group it is hard to hit the target when the whole group slides. Raul suggested that when you slide up the group without the scrolling that is not as useful since you end up highlighting something that you cannot see. Ed also pointed out that the existing display provides a choice - you can use the green if you are not concerned with the non-linear and if you want more accurate targets then use the non-scrolling.

2) Bob wondered if the webview could have display precedence since it is the target that he often uses to decide if he has found the right content. This may be a matter of getting the right minimum size for the page. If it is too small you have to go back and forth between the link display and the webview. Raul showed the results on his laptop screen and in that size the content of the screen provides enough content to discover the page that you are on. Raul wondered if it was possible to eliminate the sidebar on the wiki pages to provide more useful information. Ed pointed out that the forum pages don't have a sidebar and that he did not know of a way to slide the webview under the other content as in JQt the components do not overlap.

3) Bob showed the work that he had done on the Primer. https://code.jsoftware.com/wiki/Help/Primer/001Start_here and the new version includes an index on the bottom of each page that allows the viewer to be able to view the titles of the other pages by hovering over the page numbers. This allows the viewer to access other pages with enough resistance to allow moving through the Primer non-linearly without encouraging it. Bob also talked about the method that he was using to highlight the current page and Raul suggested that you can use the arguments passed to a template to reduce the CSS required on each page. The index will always be at the bottom of the page which means that it will jump around depending on the length of the page. The alternative of having the index at the top of the page which Bob felt gives it too much prominence.

4) The discussion then moved on to the Addons that Raul was organizing. https://code.jsoftware.com/wiki/Vocabulary/Libraries He has broken the previous long table into sections that expand according their categories. He was also able to include some 'unofficial' Addons that had not yet been put into the Package Manager at the bottom of the page. His page is generated from the names in the manifest for the Addons repository. Raul feels that the GitHub folder should be added as an identifier to these names as it is necessary to access the Addon repository. There are wiki Addon pages that do not have content so that over time some content may need to be provided. Raul said that many of the scripts have comments that would provide the start of the content that needs to be provided. Raul has created a script that builds the Addon display in the talk area of the Addons page where it can be uploaded. https://code.jsoftware.com/wiki/File:Addon-summary.txt Henry has provided an example of excellent documentation on Dissect https://code.jsoftware.com/wiki/Vocabulary/Dissect

5) We reviewed Henry's Share My Screen initiative and found it to be an excellent resource for encouraging developers and intermediate J programmers. https://code.jsoftware.com/wiki/ShareMyScreen Ed mentioned that he feels that there is a lack of good intermediate J code and this looks like excellent work because it breaks down the process line by line and explains the way that he approaches the solutions.

6) Ed wondered about the location of the 50 Shades of J. Raul pointed out that it was in its own category 50 Shades of J R.3.6. https://code.jsoftware.com/wiki/Category:50_Shades_of_J_R.3.6 Bob said that it had only been included in reference so far because only the reference had been categorized even in a rudimentary fashion. There may be many opportunities to attach the 50 shades of J to other parts of the wiki including NuVoc. https://code.jsoftware.com/wiki/NuVoc The challenge with expanding NuVoc is that if it grows too big then it become hard to navigate and consume that much information. Raul wondered if it might be possible to collapse areas of esoteric information and keep the foundation information more easily accessible. Ed wondered if there were a way to have an automated index for each page that a might be a type of an see also addition. The automation would have a foundation of curated pages in references like 50 Shades of J. Raul thought that if you have selected the source pages it could be done by hand and others could weigh in on the quality of the links that have been provided to crowd source the improvements. Bob felt that this would require a strong community, but if one were to emerge then that outcome is possible.

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 general forum and we will get you an invitation to the next J wiki meeting held on Thursdays at 23:00 (UTC) Next meeting is June 8th, 2023.

Transcript

Do you want to start off, Ed?

Sure, I'd be happy to.

So I'll just go briefly through the things

that I have not mentioned before that are new.

The first is the approach that we

take to having a small window.

Thanks going to Raul for figuring a lot of this out.

When it's a small window, we de-emphasize the web view,

the browser on the right.

So you can see it there, but it's pretty tiny.

And what happens is, as you select things,

the pages actually load on the right.

You can't really tell.

And the way to see them is to hover your cursor

over the web view, and then you get the full page.

still fairly small because it's a fairly small window, but it does work. And then when you hover

back over the main table of contents, the web view disappears to the right. It's obviously

not as satisfying an experience as the full screen if you've got a large enough display to support

the full screen, the full window, but it does seem to work pretty well. The big news is I finally,

I fought a rear guard action with mostly with myself, I guess, but I've finally given up on

hover as a selection mechanism. The arrangement of the various labels simply makes it impracticable,

I think, to use hover for selection. So now you can hover as much as you want and nothing will

happen. You really do have to click in order to load the corresponding page. Bars. I had been

been using bars to indicate the number of pages associated with a category, horizontal

bars. So basically any list was also a bar chart, which is great in theory. As a practical

matter, it's never really entirely clear what you should normalize a bar's length to. So

on any given list, the length of a bar would mean something different from what it meant

on some other list depending on what the maximum number of items was in the various lists. So I

gave up on that and now they're just integers. So FaxN3 has 26 pages associated with it. JPlayground

N1 has one page associated with it. It's still graphical in the sense that laying out using a

positional notation is basically a logarithmic graph. So 108 is obviously bigger than one,

but it's a far cry from the original bars. I guess the last point is,

and again thanks to Ruel for pointing this out, some labels are just too wide.

It happens in lists sometimes. So for example, if you look at other array languages, C6 or running

JPlayground P1, when a label is too wide for the available real estate, it'll actually float when

you hover over it. And that's maybe clearer in something like this, where essays, tacit

expressions, comments doesn't fit, so it floats when you hover over it similarly for all of these

labels. And if a label is over on the far right, such as vocabulary gerunds, and there isn't

enough space or real estate to the right to show it, so it'll actually shift to the left, so it

floats out to the left. So really try to make labels visible as long as you're hovering on them,

even if they turn out to be very long and inconveniently placed. And that's it. That's all.

Are there any questions about any of that?

One moment.

I have one.

Yeah, please.

I don't think you need that green strip anymore on your leftmost.

That would be great. Why not?

Well, because what we put that there was so that you had a white strip you could move up and down

without scrolling. But now with clicking you don't need to worry about that, do you?

Ah, I think I would agree with Stephen or Stephen would agree with me. He brought up Fitz Law

in one of the videos that you made with him. And this is something that I had had reservations

way back when before we started working with him and still do. And that is that if you're moving

and as a result of you moving your target is moving, that's badness. That renders Fitts' law

more complicated and that's bad. So you really do want to be able to move your cursor without

moving your target. It's okay when the list is not too terribly compressed. It becomes much

more problematic. It becomes more problematic the more compressed the list is. And that would be a

smaller screen then. Yeah, exactly. So I don't love the green stripe. I put the cursor hand

back in and it disappeared for a while. I'm not actually sure why. I don't know why I took that

out, but I put it back. And that's, I think, good, but I think the green stripe still needs to be

there as a clue as to, you know, that something is different about the left half versus the right

half of the list. And that would be because if you had something else within the group that's

highlighted now expanded, you wanted to get to it, it's harder to get to it if it's moving.

It's a little trickier.

It is, I understand that.

But the thing I think about it is how often,

like when I'm moving up and down,

I'm just looking to what I'm hovering on.

Sure.

But I mean, I'm sitting on Fax N3,

and if I want to go to Developers D,

that's a certain distance, and I've

developed an intuition about how far I

have to move my index finger on the touchpad

in order to get there.

And if I do that, developers was here,

but as a result of my moving downwards,

it's shifted upwards.

- Yeah, yeah.

- If your target is moving in response to your movements,

that's not good.

- Yeah, yeah.

No, I get the-- - You need to have an option

for that not to happen.

- It's funny how though in my head,

when I'm using it up and down,

and that this may be because I'm more comfortable with it,

I'm not thinking of it that way. I'm not thinking of trying to go to a fixed target.

I'm trying to get... I'm thinking of the red bars as a fixed target, I suppose.

I'm trying to put them over where I want in this expanding, changing, floating window, right?

Right. And is it easier to do that on the right side of the list or the left side of the list?

I think you're right with Fitts' Law that it actually probably is easier if my whole

list was expanded. But because my list is changing as well, I think of it a different

way. I'd love to talk to Stephen about it and see what he says about that, because I

and see where there's a mismatch

in the way of thinking about it.

But for some reason in my head,

when I'm sliding that whole window up and down,

it feels like that's what I'm really doing.

- Yeah, I'm gonna try pointing out two things here.

One is if you're on the right hand side

and you go out of the expanded window,

it's not necessarily a useful experience.

I mean, on the left hand side,

but on the right hand side of the left hand most column

when you're outside of the green.

if he's-- now, I'll go up to the top.

Yeah, there.

That's not a particularly useful experience there.

No.

No, that's true.

And the other thing is that Fitts' law doesn't say a linear.

It doesn't actually-- at least the version of the diasaur

didn't say that we had a linear relationship.

No, certainly not.

No.

I don't suggest that there is a linear relationship.

What I would suggest is that Fitts' law

have to be more complex to accommodate the idea that the target is moving in response to your

movements. The function that would implement Fitts' law would have to incorporate the whole

scrolling mechanism. It's true. Right, and I submit that that's a harder thing to use,

that makes finding your target more complicated than it otherwise would be.

I submit this.

I can't prove it.

Yeah, I don't know.

I agree that there is a learning curve there

for people who haven't done this before.

I don't know how bad of an experience that is.

I don't-- I'd want to put it in front of my dad or something,

so he wouldn't go here and wouldn't understand

what he's looking at, to just get other people's opinions

on it, I guess.

Novices.

What I'd be delighted to do that--

what I hope is that simply offering the choice, that is, Bob, you can stay on the green side

if that's where you'd like to be.

Yeah, that's true.

And anyone who's uncomfortable with that can stay largely on the white side, not exclusively,

but can leverage the white side to get an experience that can be described by the classical

version of Fitts' Law.

And when I see, like, next to you, now you've got the frameworks down below, which is running

the same way, except now when it's not expanded, or it's completely expanded, there's not a

contracted area, then I definitely would be using the white, no doubt about it. I wouldn't

be using the green. But in the next one, in here, yeah.

Oh, well here it doesn't matter.

Exactly, it doesn't make any difference, but if it did make a difference, I would be using

the white because everything I want is right there. It's not going to be changing.

Right, right, right, right, right.

But your point about giving me the option

with the expanding version, that's an excellent point.

I have the option.

I would probably be using the green a lot more.

Yeah.

Well, the green will do everything for you.

The white is a more limited experience.

That's certainly true.

I learned a new phrase the other day, splitting the baby.

And that is what I endeavored to do here.

(laughing)

Not a very nice phrase, but it's descriptive.

- I see it's Solomon, isn't it?

- It is, it is, yes, yes.

- The other thing, and I think it only shows up

when it's a smaller window,

but how small does the window have to be

to have that WebView not showing up.

Because I find the WebView more useful,

like I really wanna see when I'm selecting

between different spots, I am more interested

in what the WebView is.

'Cause that's really what's giving me the information, right?

- Yeah, so this is as small as you can make

the overall window.

This is as small as the WebView ever gets.

And what kind of--

Was that your question?

Well, I guess my question is, how large a screen--

like, how big a laptop would that look like that on?

Or do we know, like in terms of pixels?

I don't know.

Maybe Raul could comment on that.

Yeah, I haven't explored the boundary

between when you get the resizing behavior

and when you don't.

I haven't-- I don't know.

I haven't even--

I haven't investigated that.

I can tell you that I do get it.

But let me bring up my--

I'll just put it here for maximum.

Yeah, even when I've got my thing full screen,

I always get the resizing behavior.

>> OK, you do.

OK.

And what size screen are you working with, 14 inch?

>> In pixels, I think it's like 12, some 1250 or 1280.

>> OK.

Yeah.

WDQS-N.

That's not the right thing.

I have to poke around to remember how to do an outside.

There he is. 1366 wide, 768 high.

Here's my screen.

And I think even my laptops are 1500 wide, which might be the difference.

Certainly on my big screen, which I'm looking at right now,

it's, all I found was it's a little bit frustrating

like to click on something in navigation

and then have to slide over to see

what I've actually selected and then slide back again

to change it, right?

- Yeah, what I've got here, I don't see the full web view

but I do see the title and probably half of the page.

So it's not quite as frustrating as the minimal size one.

Yeah.

So Bob, are you suggesting-- might you

be suggesting that the right thing to do would be--

it's funny, once you make it bigger--

I guess we'll go smaller.

The right thing to do would be when you click,

the web view should expand on click.

So you'd get this effect.

And then you still have to go back

to return to the link display.

But you don't have to go to the right to bring the web view up.

There might be a point where that's useful.

But let me show you what my screen looks like.

It's a little bit different.

Please do.

What?

Let me share my screen here.

How do I get back to the Zoom meeting?

It's here.

And I hit Share my screen.

Where's my-- where's the Share screen button?

I don't see the share screen.

Bottom of the window.

I see.

Ah, there it is.

It's right in front of me.

OK.

And I want to share this, I think.

OK.

So here's what I'm seeing.

I get-- the page comes up.

It's not the whole screen, but it's not unusable either.

No.

What I was seeing in the extreme small, which obviously is when it first fired up,

I was just seeing really the J in the sidebar column.

Right.

And that's not really useful.

But even if I see, like for instance this example cap, that's all I need to see.

Now I know this is a page I'm either looking for or not looking for, I can move over.

But I think your point, Ed, about clicking on it and then having it come full screen and come back,

that's... well, we're not doing hover anymore, so...

Yeah. Yeah. I think that works, but Raul, I'll leave that up to you.

Now, I like being able to preview. I mean, I like the idea that I can look at something and say,

"Is this interesting?" I don't have to decide that it's interesting before I focus on it. If I go

focus on it, then yeah, it's there. If the one other refinement that might be fun, though, is...

Let me scroll up here.

You see how the left column is constant?

The left column of the web view is constant?

Yes.

It's got a nav?

Well, I'm scrolling down.

It's interesting.

I don't know why this is scrolling down.

That's an easy thing.

It's scrolling down because some of the links are hashes,

labels.

Ah, gotcha.

OK.

But I was thinking, the left nav,

everything that's constant, if that

could be when it's in the compressed view,

that could be slid over so it's no longer visible

or covered over.

I don't know if it's possible to put the web view behind the page

or if it's possible to horizontal scroll it.

That's something I haven't even looked at.

But if that can be hidden and when it's in this mode,

you see more of the content.

This part here isn't really interesting.

>>Oh, I see.

You just said you have to take off the sidebar.

>>Yeah.

I don't think, I guess I have two reservations,

but they're not in any sense deal killers.

The first is some of the content

does not show the nav bar, does not have nav bar pages.

Like all of the forum posts, for example,

do not have nav bars.

We could detect that.

The second reservation,

which is just an implementation issue,

is I don't think that the window layout

layout manager will let you overlap. Right, so we'd have to use a different approach for that.

Yeah. Which we could figure something out. Perhaps. But yeah, save it for

when it's the remaining top priority. Right. The other possibility would be to force the

web view to scroll horizontally, which I also don't know how to do, but that would be something

that might work.

I see a horizontal scroll window at the bottom of the web view

there on Ronald's screen.

That's interesting.

I wonder if I can drive it.

The thing is, when you go over, it's full screen, right?

So it works against you.

But you can see that it's there.

It's there, but you can't touch it.

Well, as soon as you go over there, it's just full screen.

That's right.

I see something being crushed.

- If you want to scroll, I can do better than that.

(laughing)

- I'll take that away from you.

I'll show it to you, I'll take it away.

- Anyways, I'll stop sharing this point for now.

- I know using CSS, you can actually get rid

of that whole sidebar section.

But then what would be happening is every page

would have to have CSS on it.

That would be, as soon as you move your mouse over it,

suddenly it kicks back in.

We'd have to have some way of tagging the pages

to make it show up just when we wanted it.

- Could you do it on hover?

Whenever you hover on a page it has--

- We might be able to do some with JavaScript

and have on the Wiki itself,

if you have something in the URL,

it knows to bring the page up in that mode.

- That kind of links to what I was trying to do

at the beginning of the week with the primer

was I was trying to figure out a way

that I could put the index into the sidebar.

And then what I realized was I actually can't

put it into some pages and not others.

So if I put it in, it would show up in every page.

That makes no sense for most of the wiki.

It would make sense for the Primer, right?

- I thought that there was a way of doing it

with JavaScript that they were talking about.

What do you mean, dynamic?

- Oh.

- On the MIDI wiki site.

- Okay, I could look further into that.

I came up with a different approach,

but that would only be on the Primer pages.

Yeah, anyway, that was the only thing that I saw

was that minimal web view.

If it just gave me enough that I knew what I was looking at,

then I'd be very comfortable moving around the navigation

as it changed.

But when I can only see Jay, and I click on that,

oh, that's not useful.

I go, okay now, and now I've got to go back again.

And I think clicking on it actually probably doesn't help

because as soon as I click on it, now I've got it.

I've got to come back over.

Although I'd already be over there, wouldn't I?

See on that side. - You would already be

over there, but the difficulty is going down to the two.

I want to look at one of these 10 things.

I don't know what you did.

So instead of being click, click, click, click, click,

I see it.

It's now click, drag, click, click, drag, click.

It's a much more, it's much less of a preview.

This whole thing is a pre--

from my point of view, it's a preview mechanism.

It's a way of quickly scanning over the content

to find what you're interested in.

And you lose that if--

and for the small windows-- if it expands every time you click.

Yeah, it's basically we're back to having

to use a Back button to return to our point of origin.

Yeah.

Yeah.

Anyway, I...

Thank you.

That was all I've got.

Yeah, and I was going to say, I appreciate you moving from...

I didn't think I was going to like the click as much as I liked the hover, because I really

did like the hover.

But when you actually use it, the click actually doesn't get in your way that much, other than

these screens going back and forth.

So, and to me, it does...

It seems a bit more controllable.

brilliant from the late 1960s. Clicking. I have rediscovered clicking. I would like to do an

interface that's hover-based, but you really can only get away with that if you can arrange the

sensitive spots, the labels or whatever, the controls in some sort of orbit around a central

area. And we've got too many controls to be able to do that, unfortunately. So we started playing

with freezing and delays and so on.

And those were just sort of band-aids over something

that wasn't gonna work, unfortunately, to begin with.

But maybe someday.

- Yeah.

- And now you've pushed me to go to,

right all the way to my primer.

'Cause this is what I came up with.

As an index that sits on each page.

- Ooh, what's going on here?

Well, your hover is as soon as you hover on it, you get a tooltip.

Yeah.

It gives you the title.

Ah.

Okay.

And then clicking on it takes you there.

Right.

We could probably speed up the tooltip with a JavaScript assist for people that have JavaScript.

Which is most people.

people. And then do that in the wiki. Oh, and the content is right there. I don't have to go

anywhere. Nifty. Well yeah, it takes you to the page, the content, everything's there, and if you

want to go through regular, it's just going to keep clicking, taking you through each page. And

then I'm just highlighting that to show that that's the page I'm on. Sure. And I went, rather

than go with the actual name, like the full names, I went with the numbers just because

I could compress them down. And I sort of get where Eric is coming from. He doesn't

really want people accessing it this way. But this puts just a little bit of a barrier

in you. You have access on each page.

And this is still better than the alternative, which is a table of contents page that disappears

as soon as you select an item.

Yeah.

I mean, it's a trade-off, definitely a trade-off, because it's still a table of contents, it's just

numbers instead of labels, which is a shame, but you don't have that horrible web-based navigation

model that is so typical. Yeah, and you can literally go to any page you want. I mean,

you don't have to wait. If you know you're going to 105, you just click on it and there you are.

Right. But wait a minute, what happened to the table of contents?

Oh, I haven't put them on every page. That's the other thing I have to put them on every page.

And I also have to do a little trick, because I'm using a template for that.

On each of these pages...

Go to edit.

I have to actually name each little block, give it its own ID,

and then have it highlighted in order for it to show up that way.

So that's gotta be on each page

because the template is just this nav primer

that's sitting down here.

- Right.

- And on the nav primer,

then that's got the place where it'll actually name the-

- You can possibly pass primary an argument

which identifies the page

and have that do the highlighting that way.

In a tab, the template,

no, no that, okay, I'm on page 013,

so I'm gonna highlight all in three.

- Okay.

And that would be like I would know the,

so I know the page it's on,

and I've got access to that from template?

- Well, templates can take arguments.

They can, you can pass them arguments.

- So I could give it the page number,

which would be the first three characters for any of these.

- Right.

And then the template would be the page number.

template would include the CSS to highlight that.

OK.

I'll look into that, yeah.

Because then I wouldn't have to put it on each page.

Yeah, that would save the copy of that whole top mess.

And going forward-- well, I mean,

I'm going to have to introduce things anyway.

But going forward, it also might make it easier

if we change things around in the primer.

So if pages start to move around,

then that would keep track of them that way, too.

I wouldn't have to go back in and change CSS on each page.

- Right, it's all encapsulated in the template.

- Yeah, okay, yeah, I'll look into that

'cause you're right, the templates do take,

in fact, that was something when you were talking about,

I'll jump back, let's go to the other questions.

Do you have other questions about this or?

- I'm confident that it's still early stages

so that we'll work things out as we see how it looks.

- Okay.

Yeah, but this is great, Bob. This is a distinct improvement over the usual way of doing things,

I think. Has Eric seen it yet?

I don't think so. I haven't specifically shown it to him. I think, to be quite honest,

I'll probably get a little bit of pushback because I know he really doesn't want people

accessing this way. But in a way, the little bit of barrier that I'm putting up with the numbers

satisfies me that most people aren't going to try and access it that way. I mean, you can find it.

>> It's also, this is going to jump down on longer pages.

>> It will be. It's always going to be at the bottom, yeah. I did have an option I could put

at the top, but I didn't really want it up that high anyway. It gets in the way of everything else.

>> Yeah.

>> My preference would have people just use the arrows.

And I think Raul is right about reducing the amount of time it takes for the tool tip to come up.

Because the only reason... well, if you're on the 12 for more than a couple of milliseconds without clicking,

it's because you want to know what the label is. There's no reason I should be forced to wait for that.

Yeah, and one way around it that I think you're right, you probably could be sped up with some type of JavaScript,

is if I move quickly, say, over to 11 right now,

you don't wait.

- You don't wait, yeah, it's sort of in the mode.

- Yeah. - Maybe that's enough.

- It's when you come off.

- And come back.

- And then it, yeah.

And that one's harder to hit.

Again, that's-- - So you lost your window.

- Oh, that's interesting.

I have the feeling, no, I think I probably don't have

the right thing in there,

This one should highlight.

Oh, interesting.

I'll have to take a look at those.

I may not have,

I might've done something wrong with the tool tips

and those guys.

Oh, there it is.

No, it's there.

So there is something going on that makes it a little bit.

- A transient error.

- Yeah.

Not what I wanted to see, but anyway,

gives me something to think about.

- And there's a node, there's pages on how to do a CSS

for a node-dilatiable tips.

So it doesn't have to be JavaScript.

- Oh, okay.

And I'm guessing I should be able to do CSS

back in the template as well.

- Yeah. - That would be

the same thing, yeah.

- Yeah, you can do anything style.

I think you can do style attributes.

I haven't, I'm trying to remember if media wiki

is suppresses or allows style elements.

Worst case, you have to put,

You have to put it on every element,

which is kind of annoying.

But--

- You can put it, you could put style in line for sure.

- Okay.

- And I can put it up on my CSS, my, you know,

the top part of the CSS, definitely.

You know, I've got, basically those are styles there, right?

- Yeah.

And that's how I'm getting this content sub

is what's actually making this whole thing

not show up as a breadcrumb when I'm on the page.

And then this display title puts up the title

that I wanna show.

- Yeah, you're right.

You got inline CSS.

- Yeah.

- I wasn't thinking very well yet.

- Yeah, you can put inline CSS right in the middle tables.

One of the things I found out is if you,

and I needed to do this to get the tool tips to work,

I had to put spans around these labels in the template.

In order to get the tool,

so I had to put a span and then change the title name,

which is the tool tip that shows up.

But as soon as you put a span around the title name,

you no longer, you're not recognized,

like you can't get this to turn black

because you're on this page anymore.

it loses that reference.

So I actually have to change that colour with the CSS

when I'm on that page.

Yeah, 'cause it loses it with the span.

So anyway.

Yep, no, that gives me some stuff to think about for sure.

And I will stop sharing.

And actually the other thing,

Raul, when you were talking about missing some of those add-ons,

finding out whether they were in the Wiki or not, have you looked at what

Bill was doing with the templates and the variables? Because he was actually creating,

the reason you didn't see it start with add-ons is he's using variables and then inserting them

back in with add-ons prepended. And that's what's taking you to the places you want.

I didn't see, I was working on the on the on the vocabulary libraries page today. I

didn't see what Bill was doing though. On his original libraries page, the one with all the

table with all the lists, when you're looking at the, I should share my screen again and go to this.

Let's see.

So back to page.

Oh yeah, so this is what you've been working on.

Yeah.

Well we can go to the history to see the older versions if you want, if there's something there that you wanted to show me.

Okay.

And just go down to the May 30th version.

Yeah.

I think you need to click on the date to get that version.

There we go.

So what's happening here is he's created a template.

And even though you don't see it, it's got add-ons in it,

as you can see on that tooltip there.

Yeah.

Oh, I'm still using that template.

You're still using the same template.

Yeah, if you go back to the current version.

OK.

And

Then hit it hit one of the expands

Now they expand it can expand them, okay, so that's

That's got um

That's that same

Using the same temple there and if he it is true that up at the top. I'm linking

straight into the into the

Yet the same add-on page

Because I'd you know, I didn't want to have

Too many clicks for people that knew that where they were going

And in this case, it looks like this page doesn't exist, but that's okay

I know and then this takes you off to the source that takes which is to get hub. Yeah. Yeah

And I also threw in down at the bottom we have I started listening unofficial add-ons I've got heads and I got

Brian's

Now Brian's actually has idling is the the

if you if you click on that one, it'll take you to a redirect to you know, it takes you to

There basically. Yeah. Yeah, because and it doesn't have a page yet for me to link to for the J wiki biz

So I haven't I haven't built that out or yeah

- Yeah, not everybody does.

I know I did for Jig and I know Henry's got

some really good stuff for Dissect.

There's a lot of information he's put in there,

but a lot of them don't have very much at all

in terms of what your options are.

- And that's something that I wanna start putting

some more effort into, getting all of these add-ons

to have at least something beyond what's in,

this here, this package and description,

You notice that I lost the keywords.

There were very few things that had keywords.

I couldn't figure out how to--

if I can figure out how to bring them back, I'll bring them back.

But all of this stuff here just comes from the manifest at IGS,

except for the distinction between official and unofficial.

I have that hard coded for now.

I'm thinking that one thing I want to see

is if right now there's a name in the manifest, which

you know, like debug slash jig is the name.

And I'm thinking that for unofficial packages,

the GitHub colon should be part of that name.

'Cause that way, unless it breaks something,

that is what you have to install.

And so that it's not what you have to load,

but it is what you have to install.

And it's easier to remove something at load time

than it is to reconstruct it when it's got lost

because it's not in the manifest.

- Yeah.

So that's kind of where my thoughts are leaning right now.

There might be another way of doing it.

Maybe the better thing to do is add another field that

says it's GitHub, right?

It will be a one-bit field.

But it's up in the air right now because it

has an implementer.

So I like how you already broke it into sections.

And the other thing I like is the fact

Within the section you've got the links right there. So if you went to a specific one, I'm guessing

It takes you to the spot. Yeah, that's great

And that whole that whole section of the page is built by a script

So it no longer bothers me that it's huge and is difficult to edit because it's all built all at once

and and the script that it's built on is based on the

Yeah, if you go there text here, yeah, I could I kid I was not able to upload an IJS because of

The wiki complained that there was a mime type issue. So I uploaded his text. And so if you click on the current version there

It's it's really an IJS file

Yeah

That's that builds that builds that that add-on section. Yeah

And it's that the summary variable down the bottom is is is the actual text

of the

You know right now. This is ad hoc. I don't it doesn't do any upload it

I have to know how to use it. There's no real instructions on it, but

Yeah, you know it's

Still a work in progress that can be improved too

That's nice

Is there anything else you wanted to say about this?

Do you want me to faff out so you can --

you don't have to have me drive through it.

>> That's all I had to say.

I mean, if there's suggestions for improvement, I want to hear them.

You know, if there's major problems, I'd also like to hear

about those so I can think about them.

There one issue that I'm tossing around my head is that there's, if I look at,

if I'm in an in J, J session and I look at the capital ignore underbar J underbar,

that variable, it has a list of libraries, which are installed by default.

And I haven't gone through those to see what they're considered part of standard

lib or not.

I may need to expand the main section, be a little more descriptive or something

like that. Obviously,

all of these that don't have pages need some kind of documentation too.

So it's definitely working.

Well,

we'll have to encourage people if they've created an add-on if they can go in

and generate at least sort of rudimentary information about the add-on.

Yeah, and in some cases, especially for add-ons

that we don't have the author on anymore,

there's comments in the add-on itself that could

be used as a start for a page.

Yeah.

I guess if somebody was still around,

the minimum that they could do is go in and put in--

would you pull off the Read Me from the GitHub?

There are about almost a dozen readme.texts.

But I wouldn't want to automate that,

because a lot of the times it's stuff like installation

and stuff like that that's not really wiki material,

because you've already got it installed by the time

you're running your J session.

It might be a readme from some C code that's associated

- Yeah.

- I'm just thinking for somebody who, you know,

doesn't want to go through setting up a Wiki account

so they can go in and edit their add-on

and creating a page and stuff like that.

If they were to do it, you know, read me.

- If they want to provide us with read me,

we could import it that way.

And they have to let, you know,

it's a little more manual process.

Let us know so we know to take that read me

and give it some significance.

- Yeah.

- Yeah, that's good.

That works.

It's kind of a, I don't know that we have anybody like that.

Do we have major add-on, any add-on authors that don't--

- That wouldn't be on the Wiki?

- That are still around and are not on the Wiki.

(laughing)

- Yeah, you're probably right.

They probably don't exist.

Yeah.

- We have an empty array here

that we're gonna handle properly.

- Yeah, yeah.

No, I think you're right.

So that sort of goes out the window.

I don't think that's something we need to be concerned about.

And anybody who is still around, it's not that hard to create a page and then have it

linked to whatever your add-on is to just fill people in on whatever you want.

You know, if you want to go to the link that, you know, Henry's basically got a whole...

Practically his whole lab, I think, is in here.

There's a lot about learning how to do DISECT.

It's great, but it's...

Henry is prolific.

- Henry is prolific.

And I mean, when I first went into this, I went,

okay, well, there's the gold standard.

But that's the sort of thing that you'd love to have

for an add-on if it's gonna be used heavily.

I guess the downside is I don't believe

Henry is supporting Dissect in the new versions anymore.

- What?

- Yeah.

- What he's trying to do is he's trying to get somebody

to help him out on there.

So he, you know, being prolific,

he has an ever expanding set of things

that he has responsibility for.

And if he can invite apprentices to help him with that,

then that gives those things a longer life.

- And if you've looked at the set code,

it's really well set out.

It's really well commented.

And it's practically, you know,

decoder's lesson in how to lay out J code.

It's pretty impressive.

I mean, it's long, but everything is very clear.

So it's manageable to be able to maintain it.

And I guess with that, I will jump over to share my screen,

which is Henry has now finished off his 25

Advent of Code problems for 2022.

And he's encouraging other people to add to it,

other options, other years and everything like that.

And I think the only thing he's asking is if you go in

and put something in, it should be easily explainable

to people who are new to the language

or intermediate to the language.

So you're not trying to upscade anything,

you're trying to make it as clear as you can

with the approach you've taken with your code.

And it's really good.

But I think this kind of thing will be a real useful thing in trying to...

I mean, I can see this sort of thing as a step off of the primer, that you come through

the primer, you sort of know how to lay of the land, and then you look at this and see

how people are putting together...

They're not large programs, but they're just how you would break up the problem.

I think that's one of the things about J and the APLs is that they're a large array programming

language script is not a large script, but it's large for the array programming languages.

There's always been, I feel that, I have always felt that there's been not as much sort of

approachable sample J code as there might have been. There's a lot of J code,

but most of it is quite frightening to me. I have always found it to be so.

I haven't looked at these yet, but just from what you flashed up, I was really struck by

the existence of comments. That's totally cool. Yeah. No, he basically breaks down

Each step you've got your code, but then he's also got these, you know, what he was doing, what his motivation was.

Line by line.

Line by line through it, yeah.

It's really good.

Yeah, he's done some really good work there.

Is there anything else that we wanted to discuss or follow up on or things that have occurred

with all we've already seen in the time we've had a chance to reflect?

I was just, I do have one small question. Where is Fifty Shades of Jay these days?

I believe it's mostly completed, if that's what you're asking. Are you asking where is

it in the Wiki?

Yeah, what's the location? I was looking for it earlier using the JWiki Vis viewer, and I couldn't find it.

I think it's in essays.

Essays.

I think so.

No, it's its own top level. It might have a link from essays, but Fifty Shades of Jay is its own page, its own top level section.

level section, if you just do a search for 50, it comes up. Sure, no, I can find it, I just can't find it

in the table of contents anymore. That's what confuses me. I mean, it's clearly, it's in there

somewhere. It doesn't have a category. I just can't find it through the usual entry point.

At least the 50 pages of J, the top level page, doesn't have a category.

Oh, that's why I can't find it.

Yeah. It's just content.

It's a subcategory of essays.

Is it?

Okay, essays D7. Essays D7 or essays something else?

Essays reference.

R3.

Yeah, R3.6.

Yeah, there it is.

It has a hidden category, yeah.

>> Yeah. >> R3.6.

>> And that's a case where I haven't really gone back in when I was categorizing.

I categorized very quickly through the reference,

cuz that was sort of something that would encompass just about every page I saw.

I haven't gone back and done that for developers.

But it's got a spot that it'll certainly fit into developers.

And the same with newcomers.

I was going to do with newcomers is it was going to be a subset of essays

that were more appropriate for newcomers.

Right.

That's...

Seems a sh... Well, this is... You're always going to be able to

make this comment, I guess, about anything, but it seems sort of a shame that

it's not more apparent at the top level.

You can put more links to it, more feeder roads.

Well, it'd be nice if the top-level table of contents were such a feeder,

was such a feeder, whatever.

It might make sense to have topical--

each of those essays under it has a topic and each of those could be, you know,

come in sideways basically. Well, you know, this is looking way out into the far horizon of time

and space, but ideally if there were specific techniques or primitives that were used in

"50 shades," I would link it back to Nuvok.

So that when you're in that primitive,

there's a link that takes you to 50 shades of that in use.

I think that would be a really cool thing to do.

But if that hinges on spending a lot of time

working on Nuvok, Nuvok's got a lot of work to do on it.

And I think it could make, it's very powerful now,

I think it could be made even more powerful

with the playground and also with links within the different essays.

But that's, there's a lot of work there.

And the trick with nuvok is you don't want to make it so big that you can't find

anything even within a primitive.

That's the advantage we were talking last week about the dictionary is it's

concise.

Yeah.

And I guess the, the, the,

not the-- an analogous thing we can do on the wiki

is this whole expand/collapse thing, where there's

sections that are important.

But for people who are interested in diving deep,

and they can be collapsed, and stuff

that a beginner is going to want can be expanded,

and makes it for a small page that has a lot of information,

just it's a click away.

but you don't lose your page when you click.

So would you give them a reduced view of Nuvok

and collapse certain areas of it?

Yeah.

Yeah.

Maybe using the original dictionary as a guide,

pick out certain kinds of information

as being introductory information and overview

information, have that be always, you know, that be the,

the, the framing for the for the rest of it. And then, you know,

examples and illustrations and details and and how tos and and

tips and all that stuff is is there. But you have to you have

to decide that you're interested in before you see it.

One thing that might be interesting, again this is far out on the horizon if you did it at all,

so there is content that I think holds up, continues to hold up pretty well despite changes

to the language and changes to sort of J culture for want of a better word.

So I think Fifty Shades probably holds up pretty well. Henry's J4C programmers, I suspect, holds up pretty well.

I think it's been kept up to date to some extent.

Well, not direct to - there's certain things that have just come in relatively recently into, was it 9.02?

Oh, there are things that are missing? I'm talking about code not working anymore.

Oh no, no there's no... yeah, no, I think Henry's been able to keep J4C up to that level.

Right, and there are probably quite a number of such resources, books mostly, collections of

essays possibly. I wonder whether on every vocabulary page you could just have an automated

table of contents mechanism. So I just did a search for slashdot, for example, just using

the standard wiki search. So if you could put that in the background and clicking on the

"call it references" button would simply generate a list of half a dozen or a dozen links to

these high quality, we are convinced, are high quality discussions of this or that area.

So I'm looking at the...

Like a C-also sort of section?

Yeah, and it's not an exhaustive search of the whole corpus because that would turn up

too much and not high enough quality stuff. And by quality I don't mean that any of it will be

wrong. It's just that, okay, yeah, this code happens to use slashdot, but slashdot is buried

in dozens of lines of code, so it doesn't really help you particularly. But the 50 Shades of Jay

discussion of keys might be quite useful to you. So I guess what I'm suggesting, yeah, I'm

suggesting a C-also, and it would be a C-also that the only manual work would be deciding what

the universe of available sources. What universe of available sources would be searched

when you clicked the "See Also" button? And that would be something you could do,

I think, fairly easily. It's just a matter of picking books and essays.

And then you've got to do the manual work of implementing the "See Also" button in NuVoc,

but then you're done, and you've got what could be a fairly nifty mechanism. Again,

dim and distant horizon. But it might be a nice way of... go ahead.

>> You would do that for each primitive, you're thinking?

>> Well, once you have the mechanism built, then you could search... I mean, I just did a search

for "slashdot" and the wiki search mechanism handled it just fine, so it seems to be possible

to search for primitive symbols, at least some of them. I mean, obviously, if you search for just

dot you're probably going to have a problem. But some, at least most, I would think you could do it.

But once you set the mechanism up it would be mechanical/automatic to make it available from

every NuVoc page. >> That's a lot of work adding to... It's like an hour to go through all those and

paste in a C also. I wouldn't worry too much about automating it. I think I'd more focus on

what are the quality pages that we think would be good? It might be that it's just a simple search

for most cases, which is roughly equivalent to what you're saying. That's what I'm saying. I

think we're on the same page. The only nuance I would add is I wouldn't want to get into the

business of picking individual pages. I would want to be picking collections of pages, so books

or collections of essays or like that, just to keep the level of work down to a dull roar.

>> Yeah. And somebody can do a second pass later on if they decide this one isn't all that great

or this other one isn't real great, the guy made it. But that's, yeah, it's a wiki so we can do

that too. >> Yeah, I think that's really what, like when we're talking this level of granularity,

I think that's, you're trying to create a culture of 50 or 100 people who are becoming

in and looking for this stuff and when they find something, popping it into the appropriate space,

as long as you've given a space for them. And C also to me is pretty close to what more

information does within the exact existing NUVOQ, right? Yeah, so we can just expand out the more

information section. Well yeah, I'm looking at this with, you know, right now you've got,

you can be a cyclic in gerund and then it takes you to that link, but you could have underneath

that any other see-alsos.

- Yeah.

- That would, you know, if there was a specific technique

say used in one of Henry's Advent of Codes, see-also this,

you could, you know, that would be a way to look at that

and see how it might be used.

- Are we, yeah.

More information might be more for systematic issues

that where you have documentation

that belongs on multiple new block pages

and like rank and stuff like that.

- Yeah.

- And having a going further section might make sense

to put that further down the page.

- I think with rank, what they've done is put this up,

like they give you the rank infinity

and then they get why is this important.

- Right, right, rank has it's only--

- Given that, yeah.

- But things like that.

things that are common across a number of pages. Anyways, I'm not going to focus on

this this week. This week I want to focus on... do some work for some of the libraries.

No, I want to focus on getting the primer out the door so I can actually, you know,

have something to show people. And maybe actually...

I wasn't trying...

Sorry.

I wasn't trying to light any fires. I was proposing a fog for some day.

We do that though. We get our stuff smoldering and let it go out and light it up again.

Yeah, yeah. It's good to know there's still fuel there.

Anyway, I think with that, we're off our time. We can let Ed go to sleep.

Have a good night.