 Welcome back to another week of the J Wickey and an update and my name is Bob Terrio and I come to you from the unceded territories of the Comox and Qualicum First Nations and we thank them for the use of their lands. So this week I thought what we would do is take a look at the J Playground, which is something that we're developing. It's very exciting. It's making gains by leaps and bounds. And so what you see here may not be the same as what you see in a week or two, but that becomes really important for you to give us feedback on what you see and what you like so that what you like sticks around and what you don't like might move on to something a bit better. So with that, I'll just share screens. So here we are in the J Playground and as you can see, it's a browser based J REPL, which means that you don't need to download anything to be able to run J. Your J is running in your browser. Let's take a look at some of the commands we have. We can clear the screen, we can play, which will show us code examples and then we can advance labs. But let's start off with play because it'll show us some of the examples we can use. So any of these lines, if I drop a cursor on that line and I hit return, it's going to evaluate that line. I'm not limited to what are on these lines, what I can do, of course, with this. I can do pretty much anything that I would normally do in a J session in addition to doing assignments. So for instance, now I've got T is a sign 3. I can add 9 and I get 12. So essentially, I'm running in a J REPL. Now, if you don't know J, this next part will be really useful to you. These are labs. I'll take a look at the intro lab because if you don't know J, this is a good one to start with, of course. I click on it and here's an example of the text that's been put in by Roger Hui. And what he's done is he said it's an executable mathematical notation. And then he's added two numbers, got a result. He's assigned to X. Notice when I go down here and type X, I get the value that he's assigned. That's because I'm working in a working J REPL environment. It's all being done in the lab. So I see what he does in the lab and then I can play with those things. It's a very powerful way of learning. If I want to go to the next lesson, I do this and I advance lab. And there's the next lesson in the lab. It's some of the primitives that Jay has. Now, the next thing I'm going to show you is of interest to everybody, not just beginners. And that is the multi-line editor. So here I'm in the multi-line editor and I'm going to define something. I'm going to define the average. So I will take the sum of my list and I'm going to divide it by the number of items in my list. And that's actually the definition of average. And just as an example, I will make an example. There we go. Bunch of numbers applied to average. Now, all I've done is defined that in the multi-line editor. And I can do line after line after line and hit return. And it's just waiting for me to put another line in. When I click on this Run button, it's going to run those lines. There we go. And there it's declared average just the way I did. And then it's taken the average of these numbers. Now I've got average that I can work with. And I just type in a bunch of other numbers, make them different just so we know this is working. And now I've got a different average because average is a function or a verb that I can use now with any list that I want. That's not the really cool thing. The really cool thing is this editor permalink here. So when I copy this link and I can go up and I'm going to open a new browser, new browser window, I will paste that link in. And now when I hit return, I've got a new J playground. It's a different J playground. It's in a different window in the browser, but it's brought over all the stuff that I put in my multi-line. So the reason I find this really cool is because if I want to share code with somebody, all I need to do is put it in a multi-line editor. I've got it up and working. I send them a link. They click on the link. It opens up for them. And all the stuff I've defined is available to them. I think this is going to be a really powerful thing in J. And I think that just about wraps it up, except for one thing. What I would ask you to do is I'm going to put a link in at the bottom of this description. And that link will take you right to the J playground so you can play with it just like you will anytime. If you save that link whenever you click on that link, you'll be able to go to the J playground. What I would ask you to do in return for that, though, is any comments that you have about it, anything that doesn't work the way you expect or doesn't work the way you would like it to work, let us know. This is in process. We've only been working on this, I think, really up and running like this for about a month. And there are improvements to be made. But before we start going off and making improvements that we think need to be made, we would really like to hear what improvements you think should be made. And so in your comments, if you can leave comments saying, I'd like to see this and I'd like to see that or you could do this better or how about doing it this way, can't guarantee all of it will get done that way. But I can guarantee it will be read and we will pay attention to it. And your comments will start to guide the areas that we work on. So that's about it for now. That's the J playground. I really hope you enjoy. I really hope you make use of it. It's certainly an easy way to run J and with exchanging code this way could be very powerful as well. So have fun playing with J in the J playground.