Wiki/Report of Meeting 2023-11-30
Report of Meeting 2023-11-30
Present: Ed Gottsman, Raul Miller, Raghu Ranganathan and Bob Therriault
Full transcripts of this meeting are now available on this wiki page following the synopsis
1) Bob welcomed Raghu to the meeting and Ed followed up with the J Viewer update and has been receiving positive reaction to the release of the app. Ed added the requirement of J9.4 to the wiki page. https://code.jsoftware.com/wiki/J_Viewer Ed has added color coding to the buttons and it does not seem to look as good on night shift mode. Raul suggested making a change to the background of buttons. Ed has been given pdf's of all of Skip Cave's Quora links which can be converted to html. This gives Ed access to partial answers for indexing. Raul suggested using the web view in JQt as a scraper which might have an injection that would allow the full text to be accessible. Bob wondered if the HTML version might be incorporated into the wiki and Ed provided the link to Skip's pdf. Ed had hoped to make a presentation to the British APL Association, but an opportunity did not come up in the most recent meeting. Rosetta Code is now included for the J solutions for searching.
2) Bob showed the Newcomers pages that he has been working on to display the Essays most useful to Newcomers https://code.jsoftware.com/wiki/Category:Newcomers_N. The page will include one line descriptions of the different Essays to give a peek into the content for the user.
3) A discussion of Skip's Quora solutions and how they might be categorized. The feeling was that they are all good for newcomers, but are explicit. The feeling was that for beginners that is often good thing. Then a further discussion on tacit versus explicit and our representation of our programs.
4) Bob started a discussion on how the J AWS might be brought into the wiki through using the J AWS to show the Wiki page as in one of the frame demos in the JHS framework. A challenge would be screen real estate. On this topic there is only one MediaWiki skin that is responsive and that may be the format that we need to go to expect phones to be used with the wiki.
5) Bob showed the progress that he had made on the Home https://code.jsoftware.com/wiki/Category:Home and Newcomers pages with the Category tree exposed. The feeling was that opening up the Category tree navigation as deep as possible would be preferred. The Category tree becomes a textual version of the icon images used in the coloured boxes.
6) Bob asked Raghu (who maintains the k wiki https://k.miraheze.org/wiki/Main_Page ) about the more visual approach. Raghu thought that the colourful version is good for beginners and he finds it refreshing. In the case of the k wiki, it has been kept simple because of the resources required to maintain it. Bob feels that that is a good argument for any wiki in keeping content up to date. Ed talked about a group of server side people who preferred simple interfaces that they could find with grep tools. A philosophical discussion followed about expertise and the preference for text. ChatGPT was proposed as something that might change this approach for newcomers. J Phrases or Adám Brudzewski's APLCart https://aplwiki.com/wiki/APLcart might be a good target for ChatGPT.
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 December 7, 2023.
Transcript
- And welcome Raghu to the meeting.
Good to see you.
And hope to, as much as it's useful to you, I hope to see more of you.
Now that the time is more reasonable for you.
So that's great.
And I guess we'll start off with Ed talking about developments with the JViewer.
- Okay.
Hi, Bob.
Hi, Raghu.
So, I feel like Garrison Keillor, it's been a quiet week in Lake Wobegon, right?
So I heard from Henry over the forums and he seems to be pretty happy.
I heard from Eric privately and he's quite happy.
And I heard from Pablo Landher, I believe.
I don't know that I've run into his name before.
He had tried to install and run it, but he's running on J903 and I use the TDOT primitives.
So I let him know what the problem was and whether he's upgraded and tried it, I don't know.
So very quiet.
There could be a lot of people trying it.
There could be almost nobody trying it.
I don't have any way of tracking that.
Unfortunately, I can't track downloads from GitHub and I can't track, as far as I know, can't track downloads from AWS of the database.
So I'm operating in the dark.
- I can tell you we've had 185 people look at it on YouTube.
- 185?
That's quite high compared to the usual number.
Usually it's around 100.
- Yeah, between 100 and 120, but yeah, it's up for sure.
- How interesting, how interesting.
So maybe they are at least following the link from the email that went out.
Interesting, interesting, okay.
- The good news would be they're trying it and they're not having problems.
- Apparently, or they're having problems such that they don't think they can be fixed and they're just giving up.
I don't know, it's hard to tell.
Garrison Keillor told a story about being in college radio and disc jockeying for a year, his sophomore year, I think, after which the station manager came to him and told him that he discovered an unplugged cable that meant that it just wasn't getting out.
He'd been talking to himself for a year.
And he said, "I didn't care, it was still great.
"And I feel the same way.
"So I'm just gonna keep at it.
"And who knows, maybe something interesting will happen.
" - Still counts towards your 10,000 hours.
- 10,000 hours of what?
- Oh, of anything.
That's Malcolm Gladwell's.
- Oh, is this Malcolm Gladwell?
Yeah, right?
- Yeah, yeah, yep.
- Stephen Pinker took that apart at one point.
I didn't bother to read it, but he savaged it.
Whether he savaged it accurately, I don't know, but I've been a little skeptical ever since.
- It depends in large part about how focused you are in that time.
- I see.
- It's not just putting in the hours.
You have to be growing in those hours.
- Right.
- And I'm sure that's what he approached it with, 'cause that's what most people, "Well, I've spent 10,000 hours doing.
" Yeah, but you didn't really do anything.
You just did busy work.
And that's gonna make your 10,000 hours of busy work.
- There's a New Yorker cartoon that shows a wife standing in the corner of the living room, talking quietly to a friend in the foreground.
Her husband is practicing piano.
And she's saying, whispering actually, "Hubert never gives up.
I used to think that was a virtue.
" (laughing) Yeah, right.
So here's the story.
So I added the minimum release information to the Wiki page.
You've gotta have at least J9.
04, so that's documented now.
I put in color-coded labels for when updates are available to the database or to the viewer.
But I don't know about the PC or Linux, but Macintosh has this night shift mode where the QT library respects it.
I'm sorry, hang on one second here.
So when night shift kicks in, my color coding doesn't look nearly as good.
In fact, it looks bizarre.
So I'm thinking that maybe I'll switch to a different, you know, sort of a bold, vitalic font, maybe as a way of catching your eye.
And that way it won't matter whether it's night shift or day mode.
So that's, you may have noticed that if I sent out a note 20 minutes ago saying you could upgrade if you wanted to, you may have noticed the night shift problem.
- I did upgrade.
I don't think, I'll just share my, 'cause I leave it in night shift all the time.
So you'll see what night shift looks like.
- I use night shift on my phone and I've been meaning to turn it off because it's so ugly.
- It is ugly.
Yeah, so you're in night shift mode.
And when I change the style of those buttons, I change it to black text, which works during the day, but not at night.
- You might try changing the background to like red or something, instead of changing the color of the text.
You make it or an in-between thing with color.
- Yeah, I might try to come up with a happy medium in the background.
That's also a possibility, that's good.
Yeah, so I'll keep experimenting with that.
On Quora, so I figured out and Skip is now doing this for me that you can, Skip somehow manages to get a PDF with all the links and all the titles of all of the J answers he's given in Quora.
I went ahead and got a temporary subscription to Adobe Acrobat, which I still have to cancel before they actually hit my credit card.
And it turns out, and Skip can do this as well as I can, and he has volunteered to do it going forward.
You can export the PDF to HTML and that exposes all the links.
- Oh, nice.
- To a regular crawler, which is what I've got, what I use.
So we're gonna do that.
The fly in the ointment is, if you navigate to a link in Quora and you retrieve it, first of all, you have to pretend to be a browser or nothing happens.
And secondly, they only put a little bit of the answer that you're retrieving in plain text.
The rest of it is obfuscated, which I can't handle.
I've looked at it, it's just a mess.
So I can index part of every one of Skip's answers, but I don't yet have a way to index the full content of every one of Skip's answers.
So I'm admiring the beauty of that problem.
- I seem to remember there was a way of injecting something into the QT browser.
Wonder if that could somehow be used to interact with Quora.
- Well, that doesn't help me on the indexing side.
- I was thinking using it in the scraper.
- Oh, using the web view in the scraper, huh.
- It's like you click on them.
I mean, you'd have to have some way of instrumenting enough to click on the button to expand it.
And then you'd have to be able to extract the source also from inside J.
And of course you'd have to make sure that the browser is, the QT browser is acceptable to Quora in the first place so that they'll actually retrieve anything.
But that's gonna be an issue anyways.
I mean, if the browser can't retrieve it, you aren't gonna be able to use it in a viewer anyways.
- Right, exactly.
All right, there's a lot to admire, obviously.
So I will investigate all of that and try to find a solution.
I have in the latest version, which I just pushed 20 minutes ago, search performance should be better.
I also changed the wording on the search input fields.
I think that'll be a little clearer.
I attended the British APL Association meeting this morning and I had sent a note a couple of days ago to info or something at baa.
com offering to show a demo.
I didn't hear back.
I assume they just don't check the mailbox terribly frequently.
And there was no pause in the meeting where I felt comfortable jumping in and saying, "I have a demo.
" But interestingly, Adam is working on something very much like what I built.
So he's looking at nests or corpora of APL material in various places.
And he's trying to do an APL, an Apple cart style interface to searching them.
But he's only searching for titles.
He's not doing full text search on the content.
He's not doing code search.
So I think this would be very timely if I could get a slot to show it to the APL Association, British APL Association.
I'm still thinking about doing, about scrolling the results.
This is something that Raul had mentioned.
So rather than page labels that you have to click on a continuous stream, a continuous scroll of results for search.
I'm still thinking about that.
I'm not sure whether I'm gonna do it.
I did do navigator buttons for Rosetta codes.
So if you're looking at a Rosetta code page, there is a button for, you actually, Bob, if you search for slash colon slash colon, you'll find some Rosetta code hits.
And you can show it right at the top.
Just pick one of those Rosetta code hits.
And now you can jump to a Rosetta, the Rosetta code problem or jump to the Rosetta code solution.
There are two buttons immediately above the browser pane.
And Raul had asked for that.
And I think that'll make it a lot more attractive to follow a Rosetta code link.
So thank you, Raul.
- Does it default to showing the solution first?
- Yes.
- Yes.
- 'Cause that's where the J is gonna be.
That's where the hit's gonna be.
- Yeah, that's true.
Yeah, that makes sense.
- And that's all I've got, Bob.
That's the full report.
- With the stuff that Skip's done, when you get that page on Quora and you click on that, does that then show you the rest of the text?
- It shows it.
And the way it shows it is that there's JavaScript that executes and de-obfuscates the text and at runtime puts it on the screen.
And I can't get to it at that point.
- Yeah, no, I wasn't thinking of solving your problem, but I was thinking if you get it in HTML, then it's pretty easy to put it onto a Wiki page and make it accessible that way, right?
- No, no, no.
I've got to execute their JavaScript.
- No, no, but I mean, if you put the links on a Wiki page and you click on that link, it's gonna take you to that page.
So that information would be available to you.
- Essentially the Wiki is a clearinghouse, right?
- No, and what I could do at that point is manually copy from the browser into a repository.
- Yeah, I'm not talking- - And Skip's got almost a thousand answers, so that's not feasible.
- No, no, I'm not talking about that.
I'm talking about for the Wiki, 'cause right now the Wiki doesn't have that as a resource.
- Oh, yeah, no, absolutely.
Yeah, if you're thinking about, and I admire it, I don't mean to denigrate it.
If you're thinking about the Wiki, absolutely.
You could include links to the Quora pages.
- Because up until now, that hasn't been available to people.
- It's a little, I'm sort of having trouble imagining it, because basically what it would be- - It'd be a thousand lines of links that a person would have to browse through.
- Yeah, and they'd have to follow each one to Quora.
And I'm not sure what the value of that would be.
- Well, I think it would need to be curated.
So what I'm thinking is it might be something that I'd ask Skip if he would be able to at least organize the links.
And so that way, put them in categories so that at least if you're interested in this kind of a problem, this is- - But how would he organize it?
I mean, it might be worth Skip sending you a copy of it so just you can take a look over it, make some suggestions.
But I don't think Skip would necessarily, he doesn't have your view of the category.
So his view of it isn't necessarily gonna mesh up without a little bit of back and forth interaction.
- Well, I'll show you just this little bit out of order, but what I've been doing with, let me see here.
I'm gonna share a screen to what I've been working on.
(mouse clicking) And let's see if this is the right one.
There we go.
This is like, this is now if I go to, I will just make this go through.
Yes, save changes, good.
So right now, if you go to essays and articles in newcomers, this is what you see now.
Oops, that's old, I have to refresh that.
Huh, that's interesting.
Oh, I've got a bug there for whatever reason, something's not hooking up.
But this is what it should be seeing is now what I'm doing is I've taken all the newcomers essay and they've categorized them, one for foundational.
So these are all sort of foundational things, primitives I'm partway through, then there's tutorials that have got more explanation in them.
Math is sort of a section I could almost call Roger Hui, because there's a lot of stuff that he's put in.
It's interesting, but it's pretty math oriented.
String specifically for people working with strings, puzzles and games for that, and then other.
But let's see if this gets me to it, if I do it.
Oh, I want it, okay.
Did not go through.
Oh, it didn't go through, that's what happened.
Let's save changes.
- It said, oh, it saved it.
- Now it's saved it.
And now if I refresh this, there we go.
So now it's working the way I had expected.
Anyway, so what I'm thinking is something along the lines of this, if you came up with seven or eight categories, and then the solutions to whatever would fit under this title, and you're right, I can suggest them to skip.
And in fact, it might be that they're actually a part of a category tree, but they don't necessarily have to be.
These ones aren't, there's only 60 of them when I get all the essays in.
And within that, I'm comfortable just putting them as links off that page.
I don't think they have to be broken up into their own categories so that you'd have to go to a page for foundational.
I thought it was better to keep it flatter for newcomers.
But that's sort of the approach I'm taking with the essays.
And I'm just saying- - If I was a newcomer, I would want a sentence or so on each of those links.
So that I kind of have an idea what I was getting into.
And the title would obviously give me a hint, but that's a hint for somebody that knows what's already there.
- Well, the other thing I'm thinking of doing, haven't got to this point yet, but once I get all the links in, I'm gonna put a one-liner talking about what you expect and when you go to that one.
So that might help a little bit.
- That's exactly what I was hoping for.
- Perfect, okay.
Well, when this is done, there'll just be a one line saying what you're gonna see with the array manipulation.
And essentially what that is, is that that's Art Anger's first steps towards explaining Jay to somebody.
So it's a view of Jay through arrays, I guess is the way to look at it.
But that's what I'm gonna do for each of those links.
And then that page will be done, the newcomers will be finished off.
But I'm just thinking there might be something similar, although with a thousand, it may make sense at that point to actually make them a subcategory because you get enough mathematical answers or string oriented answers or whatever to make them their own page.
But I can talk to Skip about that and see what he's willing to do.
But it's just nice to have that at the very least, if I just put a link to a page that has all of that, you have some way of getting to those in one area.
If I go back here, like to video, at this stage, that's essentially what we've done with video is not complete, but it's just a list of all the videos that people have done.
And there's, it may or may not be useful, but the point is, is that at least it's in a spot where if you're looking for videos, you can go there and you'll find them on that page.
Yeah, so anyway, sort of break in there, but that was just my little jump off to what I was doing and how it might work with what we might do with Skip.
Raghu, have you had a chance to try the JViewer that Ed's put together?
- No, I didn't know about it in the first place.
- Okay.
If you look at, on the JWiki, we've got all the past meetings and I know there's a link to a video that I did.
Ed put together the visuals and I did a voiceover too that basically explains what it can do, but it is a pretty powerful thing.
I think I'll share a screen just to give you a real quick look at it.
That's what you've seen before.
When you click on these things, like there's, that's Nuvoc.
If you go in here, I can click on level at, it'll take me right to that page.
It has access to all the forums.
So if I go to say the programming forum and I can do, well, I guess this isn't the best way to do it, is it?
The best way to do forums is really live search, isn't it?
Ed.
So if I go to live.
What's that?
- It goes away from his keyboard.
When you ask him that question.
- It goes away from the keyboard?
- It was.
- Okay.
- Sorry, I've got a quiche in the oven.
I just took it out.
I think it's okay.
Let me get up to my wife now.
I'm sorry, carry on.
He was asking about the best way to view the forums, whether it's live search or.
- Well, actually, I mean, it's not the worst thing in the world to show the forum browser and then show live search and then show the show post and thread.
- Yeah.
So for instance, you can set a day, a month, and it'll show you the different things that were being talked about then.
And for instance, there, it'll show me the links.
For some reason, there's two of them.
A one, one, one.
So they probably had a branching at this point.
There's five here.
Let's see.
- Well, what you're looking at there is threads.
And then to the right in blue are the posts that made up that thread.
- Thread, yeah.
So here it looks like Jose Mario Cantana has split off on a different thread.
- Yeah, if they change the name, that creates a new thread.
- Yeah.
- As far as I'm concerned.
- Yeah, no, and that's reasonable because you can see here what you've got.
Anyway, so just looking at it this way is one way to do it.
But the other way I think that's more compelling is you do the live search, which I select here.
And based on what I put up here, it does a search through all these different potentials.
Now, I think at one point, Henry had mentioned to you, Ed, about having these, I guess, would these all be, or should these all be highlighted?
- They should be highlighted.
Why are they not highlighted?
- When I did my-- - That is very strange.
- When I did my update, it never asked me to update the viewer.
Told me the viewer was up to date.
So I'll try that.
- Interesting bug.
Yeah, what the hell?
- Okay.
And now it's brought it back up again.
Is it still sharing?
- No, it doesn't seem to be, Bob, actually.
- Okay.
So when we did that, it lost the page, I guess.
Yeah, it took us off.
So let me try that again.
Let me, well, let's just see whether we've got something worthwhile to look at.
It's brought it back.
Yeah, so I can share this.
Share screen.
So we're back here.
I'm gonna do live search.
(mouse clicking) Yeah, it's still not highlighting them.
Oh.
- It's very peculiar.
- Ah.
Now I didn't restart the whole page.
Oh, I guess it did restart when I kicked it through, didn't it?
- Yeah, you shouldn't have to restart in any way.
- Yeah.
- It restarts automatically.
Unless, well, no, that's very strange.
But we're getting a little diverted here.
- We are.
- I've just posted a link to the chat, and it's just to the Wiki page that describes the viewer.
So you can have a look at it and make your own decision.
- Anyway, it's very powerful, especially when it gets to looking through the forum posts, it's amazing.
Because you can do it based on whatever code you're putting in, or you can just put in words, bags of words to bring things back, and it color-coded to where you're looking for stuff.
And it has the Wiki, Rosetta code, GitHub, and the forum, and the GitHub, I guess, is the Jsource GitHub?
Is that what it's based on, I think?
- Yeah, the Jsoftware GitHub.
- Yeah.
- Yeah, I'm not getting selected links either.
Apparently I broke that at some point.
- Okay.
- So that's actually a relief that you're not getting them, and I'm not getting them, that's excellent.
I'll finish that.
- Well, yeah, 'cause.
.
.
(laughs) I think we're both running Macs, so they should act the same way.
- Well, I'm just worried about getting a nasty gram from Henry.
All right, so that's on the to-do list.
- Yeah.
- I think I just, Bob sent you what Skip sent me, so you should get a PDF and also a link to a HTML file that he exported for me from the PDF.
And I would, either before you get in touch with Skip or concurrent with getting in touch with Skip, I would encourage you to see whether you think you can categorize a few of those solutions.
- Yep.
- 'Cause I think it's actually quite challenging.
I think your categories are orthogonal to categories that would actually segment his solution set.
- Okay.
- Could be wrong, but that's my suspicion.
- At the very least, what I can do is go through and find out any that might be particularly effective for newcomers and add those to that newcomers link.
- Oh, sure.
I think in general, because they are so brief and because they are quite well commented, I think all of them are potentially relevant to newcomers.
- Okay.
- But I do think that the categorization would be quite challenging.
- Okay.
I'll look into it.
It's a great resource though.
Thank you for- - I think it is.
- Sending that on, yeah.
- The other thing is that they're all quite explicit.
He codes like I code.
- Yeah.
- So there are purists out there who might have things to say about that.
- Yeah, but you know what?
I think sometimes Tacit scares people off.
I mean, it does attract some people, but I think it scares a lot of people off.
- Oh, it absolutely does.
As Stephen Taylor said in one of the Arraycast episodes, when it comes to Tacit, I very much stay in the shallow end of the pool.
- Yeah.
- That was all the justification I needed for my attitude.
- Yeah.
And there's, yeah.
I don't disagree with that, especially for newcomers.
- Yeah.
- Unless you're somebody who's particularly interested in combinators and things like that, that really wants to play with that stuff.
- Oh, sure, absolutely.
- That's a subset.
- Yeah.
If the goal is to solve problems, explicit seems to work pretty well.
- Well, and I think explicit tends to be more, well, aside from what Jose Mario's done, it seems to be more robust.
It's easier to maintain, I think, than it is- - Well, I think that's just a statement about the number of people who've made the transition.
I mean, if there aren't so many people who've made the transition, then yeah, that's gonna be true by definition.
- Well, the one example I can think of is Morten Kronberg talked about, and I think it was, pretty sure it was Connor was talking to him on a trip they were on.
And what they realized was Morten's big issue with Tacit had more to do with dyadic monadic, not being able, like, you can have two primitives in the same line, and one of them is monadic, one of them is dyadic, and that's what causes the problem with Tacit, because there's no way of knowing how you're using it unless you can parse the whole sentence.
And that's really legit.
- Yeah, that's true.
I've occasionally wondered whether the challenge with Tacit is less to do with whatever, and more to do with the IDE.
It seems to me that the IDE might be able to present a Tacit sentence in a form that made it much more understandable.
I don't know what that form would be.
I don't know how it would look, but we sort of, when we wrote our text, when we wrote our programming editors, we assumed that programs were text, and it's not at all obvious that that's right.
Maybe there's something else.
It works pretty well for C, treating it as text, for example, but maybe it's the wrong paradigm, forgive me for using that word, for Tacit.
Maybe Tacit has some other better presentation that doesn't look like left-to-right text.
I'm agnostic on what that might be, but I do sometimes wonder.
- Well, on the one hand, on the Unix side, which is where the OSX, Linux, that whole field, text is also what they use for the binaries.
It's just the file format, basically.
But on the other side, the APL side, I guess the original mode of presentation was Chalkboard, so maybe something that's closer to a Chalkboard presentation with, you know, more freestyle text.
Text-ish, but not really text, I don't know.
There's quite a bit of informalism that's on the early stages, and I don't know how well that translates to computers.
So I guess kind of the question is, how would we decide right from wrong?
Once we have an alternative, how would we analyze whether that's a better, an improvement or not?
- Well, it may not be something to be analyzed.
It may be something to be put out there and checked for adoption.
So if more people gravitate to this representation or presentation rather than that presentation, then by definition, it's better.
- Well, one of the things about- - I'm thinking, yeah.
- Well, I was gonna say, one of the things about the way the verbs are presented to you in DACET is you can change the way you want the verb to look.
It can be linear, it can be parenthesized, it can be boxed, which show you a number of layers of depth, or it can be a tree format.
- Layers gets there, tree format gets there.
I don't know if that's right, but yeah, something that isn't left to right, top to bottom text.
I don't know if there's been enough experimentation on that.
- Yeah, on my long list of things to do, one of the things to do has always been to try and take the box format and do kind of with it what I did with Jig, which is if you hover over something, it tells you the information that's in there.
And in the box format, you could actually interrogate the whole view and decide what parts are monadic and which parts are dyadic, because it just depends on whether there's one argument in the X and Y or there's two arguments.
And in fact, if you don't have any arguments, there are some areas that are forced dyadic and some that are indeterminate.
So, I mean, and I've played around a bit with that, but I've never got it working production.
- Yeah.
No, I think there's room for, I don't know about an alternate editor necessarily, although maybe, but certainly alternate presentations that make the data flow explicit.
- Yeah, and the way I was gonna work on that was I was gonna have a text field at the top that you actually enter your code linearly and then it displays what you've got, below.
- Yeah.
- So as you change, you change your view.
- Yeah, yeah, something along those lines.
- Yeah.
- And something where you could point it at existing code and it would show it to you in this other form, this other more apprehendable form.
So the goal would be to demystify TACIT basically through presentation improvements rather than by fixing my brain.
- Yeah.
No, I think there's a good potential there 'cause I think a lot of it has to do with presentation and how easy it is to discern based on your ability to, in your mind, parse a J sentence and keep track of all that, which after a lot of TACIT you can do, but that's a lot of work to get to that point.
- Yeah, and it's clearly the case that left to right is not a great way of presenting a TACIT sentence.
That's just not how the execution proceeds.
- Yeah.
(laughs) Without having to throw in conjunctions, adverbs, and possible TACIT conjunction and adverbs, which are another layer as well.
But that does bring us around to something that should be occupying some of this time.
Was Eric talking about bringing the AWSJ into the wiki and when I was going back over that meeting, listening to myself, listening to you guys talk about it, again, we already have something that's got a text input that goes to a search.
There's really no reason that text input, there couldn't be something that has a text input that instead goes to a JQT browser that has the same page you were on in addition to JHS.
- Oh, oh, there's an intriguing thought.
So don't change the wiki, but have a host page that's capable of showing a wiki page or any other page and also has an interpreter in it.
- Yeah.
- Intriguing, yeah, I like that.
- That's an easier problem.
- I think it is, but it didn't occur to me when we were going, until we were going through all that, I was listening to this again as I was putting the notes together.
I thought, hey, we're kind of doing that.
(laughs) And it's just, it would just end up being a, it's just a web page, it's JHS on one side, which is showing you the window of what you've got.
And then on the other side is the wiki page you were on.
- Yeah.
Yeah.
I still think, well, it may not matter.
It may work out to be six of one, half a dozen of the other.
Yeah, I think that's worth a try for sure, certainly as a concept prototype.
- Yeah, I think that, I mean, and we don't know where Eric is with that yet for having AWS up to that point, but he did express interest in that.
That's, I mean, I'm still not entirely clear on the front end of AWS, excuse me, the front end of JHS, but he's definitely got all the elements that you would need to put something like that together.
He's definitely got the ability somehow to ship a J sentence to AWS, preserve state and get a result back.
- Yeah.
- He can do that.
- Well, he's got a J console session running on AWS that's listening to an HTTP socket.
And that's, excuse the J sentence and sending back the text.
- Yeah, but he's sending back more than just the text.
He's sending back enough HTML to display it, right?
- Yep.
- Right, so you wouldn't want him to do that.
You would just want the text.
So he would need to strip off.
- You have the, I mean, the default behavior is just do it in a session, but he's got event handlers and such that can respond however they want.
And he uses that in menu handling and the people that have done other fun little things, you can generate images and send them back, whatever else.
- Maybe we do want all of that actually.
Yeah, maybe we just want JHS on the top half of the screen and the wiki page or wherever we came from on the bottom half of the screen.
And the JHS is fixed and the wiki page can scroll vertically.
Maybe that would be enough.
- Or side by side?
- Yeah, a lot of possibilities are short and fast.
- Yeah, I would think side by side because at least on a, you could be able to get, it should be able to get a full page of wiki on side by side and JHS could be, could actually be a narrower window than the wiki page.
- I would disagree with that, Bob.
I think that the pages are going to be comfortable being wide and they're already wide.
If you foreshorten them horizontally, you're gonna get funny formats.
Your tables are not gonna look right.
- It depends on what you're viewing.
I mean, if it's like a phone style form factor, definitely want it above and below.
But if you're on like a 21 by nine monitor where it's almost three times, it's not quite three times wider than it's tall, then you've got a lot of horizontal real estate and not a lot of vertical real estate.
- Hey, Bob, make it an option.
- Yeah.
Yeah, no, you should be able to make it an option.
And the other thing I've found out is I was looking at about squeezing the wiki pages and what we were talking about before with the category tree down one side.
And what I found out is there's only one, at least according to MediaWiki, there's only one single skin that is actually accessible to phones.
Basically it's responsive in that sense.
And none of the, I guess the others sometimes fake it, but that doesn't mean that it's gonna work.
So unless I have, going off the top of my head, I forget what the name of the skin is, but there is one skin.
If you skin your wiki that way, it will do automatically the stuff for phones.
And so I'm thinking if we decide that we wanna use stuff with phones, then we would need to go to that format to be able to really do it, to that particular skin.
I should probably browse a little bit with my phone just to see how it looks.
- I think phones would be a phase two effort.
I don't think we need to worry about them for phase one, to be honest.
That's a big ask.
- Yeah.
Well, and I know from looking at it on my iPad, it works great.
But an iPad is big enough that you can get into the information, but it's really good that way.
Yeah, yeah, yeah.
But anyway, that's something to think about, I guess.
And I showed off what I'd done with the, I guess with the newcomers.
I didn't show off just having the tree category, besides I should probably do that so you could get a sense of what I've done there.
It's pretty much what we had decided.
Hoping that's the right one.
Let's see.
Yeah.
So as it is for newcomers, when I did newcomers, I decided not to open up the extra level because there isn't an extra level at this point for the newcomers.
They really only got one level below.
So I didn't expand that one.
I have the option to if I wanted.
But for reference, I did.
And then this is a case where there are multiple levels.
So if I do add-ons, you can sort of see what the issue might be.
I'm not sure that I want to expand everything because it will push things way, way down.
- You know, pushing things down doesn't strike me as a huge problem because scrolling is so easy and intuitive.
- Yeah, okay.
- And if I start scrolling, if I keep scrolling, it's 'cause I'm interested.
And I think the biggest sin you could commit here is to force people to spelunk unnecessarily.
- Okay.
Well, that's just a matter of getting that setting changed.
See, 'cause I can, right now I can go to two levels and with a setting in the PHP, I can go to three, but I don't have access to that setting.
So I'll ask Chris to expand that.
And then everything would expand down.
- That would be my preference for whatever that's worth.
- Yeah.
But then what you can see also, I've made this, it's a subtree based on reference.
So it doesn't go back to the home tree.
So you just, this is all the stuff you see in reference.
So essentially what it's showing here with frameworks, which actually is a good argument to do this, is it's opening up this box here at this point.
- Right, right.
- So it is providing that, that you wouldn't get from the more pretty version.
(mouse clicking) Yeah, and so when I go to, go to newcomers, it just starts off on newcomers.
So in this case, there aren't any sub categories at this point.
So you're really just getting another way to look at these.
But actually I think there is an advantage, there is a benefit just to being, having to see something linearly.
It's just text and some people are turned off by this.
So this is always gonna be an option just to go to the same links that these do.
- I think that's a really good point, Bob.
- Yeah.
Anyway, so anyway, that's what I came up with.
Is there anything anybody else wants to bring up or I'd be really interested in hearing your thoughts, Raghu, about some of the stuff we've talked about, 'cause some of it you won't have been aware of, but we have the benefit of your fresh eyes.
- Yeah, well, I guess I do need to spend some time with them before I come to any conclusion.
- Sure.
- But for now, I'm just here to observe.
And it's been many meetings since I came.
So yeah, I'll try to see if I can say something useful next week.
- Well, just on the top of your head, do you think there would be a use to being able to go from the wiki to working J code?
Is that something you think would be beneficial to people?
- Well, in my personal opinion, I prefer to keep everything separate, but I think for a beginner, it's useful as a learning resource.
It's perfectly all right.
- And in terms of the wiki, I know you've put together the K wiki, and everybody thanks you so much for all the work you do on that.
That tends to be fairly text-based.
What is your sense about the more cartoonish version that we're talking about for the J?
- The K wiki is mostly maintained by me, so I can't afford to, I don't have the time to put in all the cool, nicely designed, the just fancier stuff that media wiki can do.
So the maximum I did was adding an info box for some of the more major pages.
And honestly, I think for K programmers, K programmers prefer to have less visual noise on their screen, so it ended up working out for them.
But yeah, I think it's fine.
It's fine as long as you're getting to your audience.
- I think the style of the J wiki is pretty refreshing.
It's a little more colorful than what I see with modern wikis.
I frequent a bunch, like, you know, across like many fighting games and other wikis, and those tend to be rather dull.
So I think that's a step in the right direction.
It makes it unique, like a place you want to visit more.
- I think in some ways, the argument you make though, for going text-based applies here as well.
And if there needed to be an ongoing amount of work to maintain this visual look, then I think that actually would be an argument not to have it, because I think you want to spend more time on the content than you do maybe the presentation, especially with the work that Ed's got with the J viewer, because that really does open things up.
I think if you play around a bit with that, you'll really see the difference it makes to how you view the wiki.
- Well, I'll definitely, you know, install J in the J viewer today and see how it goes.
- Yeah.
You need to be able to run JQT, but I think Ed's got all the installation instructions there for that.
- Yeah.
I'm on Linux, so I think it should work.
- Yes, it should.
- Yeah, I'm a Debian 4, so it should work.
And I got your viewer demo open, so I think I'll be able to- - Oh, good, okay.
That may be enough.
You may not need to install anything if you just watch the YouTube video.
- So, Bob, I had an interesting experience a few years ago working with some server-side people, which I haven't done a lot of.
And I tried to show them something I put together that was a visualization of some server-side data.
And they had no interest in it whatsoever.
They said, "If I need to know this, I'll grep for it.
"I don't need a visual presentation.
"I can do text searches and I'll find what I need.
" And one of them remarked that he hated Microsoft Word, and in particular, he hated the Ribbon.
He said, "Every time I need to do something, "I have to Google to figure out how to do it "because the Ribbon is like playing 'Where's Waldo?
' "And I'm not very good at it.
" And I think, and that whole interaction was completely foreign to me.
I did not get that at all.
But there is, and I suspect K programmers are like this too, there is a subculture or a culture in programming that is very much text-oriented, very comfortable with text.
And they've got no interest whatsoever in your friendly, in one's friendly visualizations of the material.
I was just shocked.
I mean, I've been in this business for a lot of years and I had never run across that before.
But I think it's common.
- Yeah, there's generally a feeling that when you get into something, you kind of categorize things into, here's what I'm focusing on, and here's these other things that are just getting away, you know, they're extra stuff that I don't need to deal with.
And, you know, if you're generating documents, it's a lot easier to generate a CSV or a flat text file than it is to generate a Excel spreadsheet or a Word because you can do it from pretty much any kind of code.
Whereas to do the Microsoft stuff, you have to have code that's licensed and probably running on a desktop and it crashes and there's all sorts of other bottlenecks.
It just wasn't designed for that kind of use, which leads to, you know, the cloud's mostly Linux nowadays and, you know, Microsoft was doing Azure to try and compete with it, but still most people go the easy route and throw the barriers to entry to try and nail your audience, but your audience doesn't necessarily like to be nailed.
- Well, and the thing that occurs to me is a lot of the people that prefer to be text-based have spent years developing the skills necessary to actually be really effective with that.
In fact, more effective than you could be with a more visual presentation.
And so to present them with something that's less powerful, but friendlier, doesn't address any of their issues.
- Yeah, I think- - They've spent the time on it to learn this stuff and to get really good at it.
And it's stripped down and we get to do this.
And now this other stuff's just getting in the way.
- It's fluff.
- It's fluff.
Now, the thing I would say- - I think there is a subculture where that's true, yes.
- And I think it's at a very high level of expertise generally.
- Yeah.
- And the thing that I would say that now is actually kind of working against the approach that the fluff right now is, not that, 'cause I'll never reach, fluff will never reach those people.
But I think the issue that will be coming up will be the things along the lines of chat GPT and the ability to find those strings without having to do all that work and have that expertise.
- Oh, there's chat GPT expertise as well, collecting the, finding who's generating the models that work well for you.
And what's the vocabulary you need to put in the positive and negative sets to achieve the kind of results you want and just all sorts of little edge things.
- Just a second, I have to take a call.
- Sure.
- So I found where I turned off all of the source check boxes.
I thought it was something else that I didn't need anymore.
And so I commented it out and it turns out it's really important.
So I've put it back in.
I would put it down to being old, except I do that, I've been doing that kind of thing for years.
So I don't think it actually means anything.
- You're talking about the selecting between the source repositories?
Those type of questions?
- Exactly, yeah.
- Sorry about that.
We've got an ill cat.
So that was the vet calling to let us know what the blood tests were doing.
I'll find out about that later.
Anyway, so what I was gonna say is, I was wondering about with things like ChatGPT that they actually provide people who wouldn't normally have those, the skills to use those tools, access to the same things and use those tools, access to the same information.
And I think Raul was mentioning it, you have to know how ChatGPT is generating that stuff and verification I think is a big issue.
But for somebody who's not an expert, it might give you the level you need to at least skim what's going on.
- But I'm not sure I understand.
So I would use ChatGPT to summarize J, to summarize J documentation, how would that work?
- Well, I'm just trying to think it was about a year ago now I think that somebody had done ChatGPT and it actually used sources on the internet for it so that you got not only, so if you type something in, it would give you ChatGPT responses, but it would also give you references back to where it got them from.
Well, what that might mean is for somebody who's a beginner, that might be their interface to learning J.
- I don't imagine that ChatGPT would do a better job of explaining J than some documentation.
That would be strange to me.
- It wouldn't for like, for a beginner, no, it wouldn't because you're dealing with a consistent almost pyramid that you're working your way down.
That there's a certain amount of information you know beginners are gonna have to learn before they're able to use J and that's consistent across whatever you're doing.
So that stuff can be sort of boilerplate almost, but when you get down layers below that, there may be cases where people are specifically interested in more esoteric areas and nobody's writing documentation for how that works.
- That's yeah, search.
- Yeah.
No, I think your live search is gonna do a lot of that too.
That actually might be.
- No, see the live search does some of that, but so if you're searching for triangular matrices, for example, live search will do a good job on that, but if you're searching for something and the words you have for it are not the same as the words in the documentation, chat GPT will be good at synonyms.
- Right.
- Yeah, GPT will translate your specification of what you're looking for.
- Which I'm not thinking right now because I think right now there's still value to the prettiness of something, but I'm thinking five years from now, there may be a chat GPT that's hooked up to live search and provides that for you.
- If we're looking at the future, a chat GPT, which was trained by having access to a J console, so it could, part of its feedback was, is this syntactically correct?
Does this produce the right kind of results?
That would be one area where I could see our documentation efforts or whatever, our J efforts going, but another thing that's probably more general than that, and I don't know quite how you would train it, would be a chat GPT-like thing, which could deal with the information in the CRC handbook, the Chemical Rubber Book Company handbook of chemistry of math and physics.
Is that that's really high utility stuff that people would want and find useful.
And that's where you'd expect an AI to actually have, is all this notation that I'm not familiar with, help me plow through it.
But how would you, there's not the huge volume of the internet to train against, you just have an equation and you're expected to have the background to understand that equation.
I don't know what the AI process would be to come up to speed on something like that.
- You know, what would be interesting would be to turn it loose against Adam's several thousand APL, commented APL sentences, or whatever the right term is for APL.
So, Apple cart has a corpus that is, I think, tailor-made for a large language model.
Jay doesn't have anything like that really.
It's got a lot of documentation, but the curated phrases with comments is something that I don't think Jay has in that kind of volume.
But I think chat GPT could very usefully chew up the Apple cart corpus.
- And it's about 3000 lines, isn't it?
- I think it's more like six.
- Really?
Okay.
- But a lot of them are things like IO, you know, that is very specific, you know, not general knowledge about APL, they're niche things.
- Well, the other advantage- - Things having to do with the, go ahead.
- Well, I was just gonna say, the other advantage Apple cart has is it's also tagged.
So it's not just the documentation, but he's also, there's tags as you're putting in your search, it's winnowing out through tags that are with the equations.
- I didn't know that, that's interesting.
Yeah, that might be helpful to chat GPT, that's possible.
- There is the Jay phrase book, which is probably a few hundred lines.
- Yeah, yeah, there are some, definitely.
But it's not, that's organized more on a page basis, not as independent lines too, because a lot of the phrases refer to phrases that are nearby.
- Yeah, as far as I know, Apple cart phrases are independent.
I mean, I can't vouch for that, but that's my impression.
- Yeah.
- Anyway, it's something to think about and we're wrapping up the end of our hour.
So thanks so much for coming on and all the work everybody's been doing.
And thank you Raghu for making the time for us.
Have a- - Yeah, thanks Raghu.
- Yeah, have a lovely day.
- Apple cart phrases are independent, they're all stored in a tab separated values file.
- Right, that's good to know.
All right, gentlemen, thank you so much.
I'll see you next week.