« first day (1174 days earlier)      last day (1775 days later) » 

05:12
@Shaggy I think the one paragragh is enoguh
Uh I can't spell
Interestingly, google thinks your interpreter is written in Czech
 
1 hour later…
06:14
@Shaggy re: icon, multiple document one maybe? history/rewind button? clipboard? format-justified? idk
@Shaggy i think the paragraph in the interpreter section is probably enough, but it's a bit hard to find and a bit wall-of-text-y. i'd prefer help buttons (even better, a "what is this tool" - click on it and click on something you don't know about and it'll open up a box with a simple description (expandable to the full description))
also maybe an option to toggle labels for all the icons
oh also flag box at the top is tiny, and i don't think the purpose of that markdown copy button at the top is immediately obvious
"Enable Caching" and "Disable Caching" should be "Caching Disabled" and "Caching Enabled" respectively IMO
and... this is a big request - folders/coloring/dragging/notes for projects
otherwise once you get to maybe 20-30 you may begin to have a hard time finding the one you want
also that caching button... maybe it should be an icon instead - dimmed out when disabled
same with the permutations toggle. also here maybe shuffle-variant may be more familiar
also possibly detection for string arrays with the same length in the compressor
also preferably live bytecount in the compressor, and a separate field for compressor output, and an option for live compression
well the entire reference is a bit wall-of-text-y in general. might be nice to have at least an option to toggle shorter descriptions, and show result/object types (for M, S, s, n etc.) on hover - alternatively, make those togglable from short to long as well
 
6 hours later…
12:10
@ASCII-only Thanks for the feedback, appreciate it. I'll be pushing an update shortly which addresses some of the points you made and then I'm going to need to take a break from ths for a few days to get caught up on a few other projects but to address each point, in order: (Warning: wall of text incoming!)
I've replaced the xml icon with file-document-edit one on the projects tab. Definitely much better; don't know why I picked xml in the first place!
I don't know how to make the docs any less "wall-of-texty", it's the nature of documentation. Maybe, though, in the sections that aren't for methods, I could collapse the text below each heading so it's easier to see at a glance what's in each one.
Help buttons throughout would be overkill, in my opinion - everything should be intuitive enough; the interpreter section of the docs is only really there as a reference for people who may not be sure what something does. The exception there may be the compressor as you need to know how Japt's compression works and how input should be formatted so I think an icon there that would open the compressor docs might be useful.
I'm trying to figure out the right media query to use to prevent the tooltips from being displayed on touchscreen devices. I'm using hover:hover at the moment which is working in my emulators but not, at least, on my S9 - the tips are still being shown.
I haven't been happy with the placement of the flags input since the start of this project but I didn't want to give it a full-sized field initially as, mostly, you're never going to need to enter more than 3 or 4 characters in it. As @Oliver has since pointed out, though, the -E"s" and -F"s" flags exist so I think I'll move it down to sit above the code field and then move undo & redo up to the header (it doesn't make sense to have them above the code as they apply to the entire page).
I've replaced the clipboard icon in the header with a Markdown one, which should make it a bit clearer. But I really hate that markdown icon!
The use of the imperative "En/Disable Caching" is consistent with the rest of the tooltips ("Copy Link", "Save Project", etc.); I don't think it would make sense to make an exception there.
Categories for projects is something I wanted to do but implementing them the way I wanted proved trickier than expected so I shelved them and added the filter field instead. They're definitely something I want to come back to, though, so you can separate your WIPs from your completed solutions from your tools, etc., etc. Colour-coded categories might be a bit much, given the monotone design of the whole thing.
Notes are already on my to-do list as a "sratchpad", a new field below the compressor. Currently, anything you enter into the input field (in all interpreters) that isn't a string, array, number or flag is ignored by Japt, which is handy for notes or keeping a copy of a WIP programme while you try an alternative method but entering them in that field isn't ideal and they often, mistakenly, get copied with our links.
The checkbox icon wasn't what I wanted to use for caching, I just couldn't think of a better icon to represent it. See below, though ...
I initially didn't want to "dim" any icons but then I tried it for the PPCG links in projects and it kinda works so I'll do the same for the permutations icon and replace that with shuffle-variant.
Having the compressor detect arrays of strings of equal length and using ò instead of q to split back to an array is also on my to-do list. I had already taken a stab at it but gave myself brainache trying to factor in integer arrays where the base-X strings are all the same length but the base-Y ones aren't.
If you mean adding a byte counter similar to the code input's one for the compressor, yeah, I could do that - added it to my list. Also realised the compressor's byte count is wrong as it doesn't factor in multi-byte characters so I need to fix that (but, any multi-bite characters in its output are also going to be present in its input so, relatively speaking - literally, it's not a huge issue).
And, as long as I'm listening to the input in that field, I may as well check for valid input on the fly as well, enabling and disabling the play icon as necessary.
Separating the compressor's output is a good idea I think and would allow me to style it a bit better. This would also free up the refresh icon to use for output caching instead of the checkbox one.
Live compression, unfortunately, isn't going to be possible as shoco imposes some sort oflimitations on the number of compressions it can perform in a window of time - eventually it craps out and you have to reload the page to get it working again. There's also the risk of crippling your browser if running live compressions with permutations enabled! ;)
Could you elaborate on your last point a bit? Not sure I get your meaning/intent.
@Shaggy maybe compress every second or so?
or every f(length of input) milliseconds
@Shaggy hmm. maybe not coloring, but the ability to choose an icon to display?
@Shaggy re: the method reference?
oh yes, and please make the chat link open in new tab <a target="_blank">
oh also, i think there a few enough versions that it should be fine listing them all side-by-side, at least on desktop
oh and an automated explanation generator, but this would be a massive project so probably something for way, way later
@ASCII-only I'll need to dig under shoco's hood to see if I can determine its exact limitations (@ETHproductions perhaps you already know?)
@ASCII-only Yep, that could be doable - I was just going to use folder- icons.
like for each individual project too
@ASCII-only As the wall of text above demonstrates, I'm quite a a verbose man! So yeah, some of the method descriptions may be longer than they need to be. Rather than offering shorter alternatives, though, we should edit what's there to make it more concise, taking care not to sacrifice clarity for brevity. I'll be opening the docs up for suggested edits via PRs next week some time so everyone can contribute.
12:25
@Shaggy if you mean the method reference, i'd say 1. add aliases (hidden, but still make it show up in the search) - e.g. i'd expect e^n and e**n at least to return M.e and 2. add a shorter explanation for people who are more familiar with Java/JS builtins or mathematical notation (e.g. maybe e**n, exp(n) or something)
@ASCII-only I despise target="_blank"! :p Firmly believe it should be up to the user to choose whether something should open in a new tab, or not. That said, I am giving some thought to iframing this chat directly into a new sidebar, assuming SE allow such a thing.
@Shaggy i doubt it'd work
@Shaggy i'd say in this case there's not much reason to open in current tab though
@ASCII-only Me too, but worth a try. It'll be moot though if we ever get around to setting it up a Slack workspace.
otherwise just add another icon with like the shortcut icon overlaid :P
@Shaggy :( slack
@ASCII-only I'm too lazy to be updating the breakpoint every time a new version is added! ;)
12:28
@Shaggy breakpoint?
@ASCII-only CSS breakpoint, for determining at what window width the versions would need to collapse to a list.
@ASCII-only I'll leave that one for someone else! It'd be massive! I have seen one or 2 languages here that do have automated explanation generators; they don't seem to be great.
Just pushed that update; sorting the documenation's sections is now enabled: petershaggynoble.github.io/Japt-Interpreter/#docs-settings
^ a possible simpler reference format
hmm. also the underlines for links are a bit hard to see on my monitor, might want to make them a different color/bold or something instead?
oh also clicking on header of current tab should possibly change the URL?
oh, a not-so-important feature request - a command mode like TIO has. even better, if ctrl/alt is held down, replace icons with shortcut letters
@ASCII-only That one would actually be pretty simple to implement but you'd be limited to the icons in the interpreter's library; importing the 1.12MB of JSON needed for all 3698 icons is a pretty big overhead.
12:39
@Shaggy :( maybe some common icons at least
or like a single category, and even then only if they explicitly ask to load them (either a screenful or the entire category at once)
I'd need to redesign the layout of the projects list, too, to accommodate the icon while still keeping enough of the names on smaller screens. That redesign is already on my list, though, as I want to add more options for each project such as copying its link or markdown without having to load the project.
@ASCII-only Yeah, I'd add a few more if/when I implement that.
(the wall of text above that would also be turned into headers like this) - just under a different section header
@ASCII-only Ah, so it's only for the Date methods you're suggesting this. Yep, it could make sense there. (Although Date mehods get very little use in Japt!). Added to my list to investigate.
@Shaggy not only date methods
@ASCII-only I don't see that it would make much sense for any of the other method types as very few of them have direct JS translations. Most of them chain multiple JS methods together, which wouldn't fit in the available space (e.g., S.m(f,s="") = S.split(s).map(f).join(s))
12:50
@Shaggy not JS methods, but descriptions
@ASCII-only So, in the case of my example above, just map?
yeah
or map over chars/map over characters
OK, yeah, that makes sense. The first thing we'd need to do, though, is run through all the methods to make sure that at least the majority of them can be summed up in a word (or 2).
fair enough
a small problem though - i want to do the following but the two methods were added in different versions :/
re: the r/f overloads - i think i'd be better if they were combined but having to show multiple versions on one line is going to be a bit of a problem
I think both of the v2.0a0 methods could also be summed up by first/last index.
12:56
maybe <most recent version> <warning icon> or something
@Shaggy hmm. what do they do when passed numbers?
first/last index of n.toString()?
@ASCII-only Ooo, you've just given me an idea to somehow deemphasise methods not available in the version you're currently using :)
@ASCII-only Yeah, under the hood, that's pretty much exactly what it does. Not forgetting that JS has implicit type casting, though: tio.run/##y0osSyxOLsosKNHNy09J/f8/…
@Shaggy yeah i think it's still more appropriate to split into two variants though
since half of them are character based
@Shaggy :P i'm not that bad at JS, i know how it works
@ASCII-only I don't like to assume! :p
in fact i have to try really hard not to take advantage of implicit type casting because it's probably bad code style :|
hmm...
@ASCII-only I was going to rebuff that then I remember I'm entirely self-taught and ave been working solo for over 20 years so I know I have no end of bad habits when it comes to coding style!
13:01
note that the "short" explanations may be a little long to fit on the same line. so maybe just bigger text on the line below
@Shaggy i'm entirely self taught too
even worse, i just use whatever language seems interesting/whatever language a new language that has drawn me in is written in. so really i'm mixing bad habits from multiple, pretty different language :|
@ASCII-only Yeah, that's why I was saying that we'll need to come up with all/most of the summaries first, before implementing them, to determine the best way to implement them. Can I leave that to you (if you're willing) and whoever else you want to rope in to help? I'll add summary and alias keys to the JSON files for when I open the docs up for PRs next week.
sure
anything's better than hurting my brain trying to handroll an incrementally generated LALR parser
@Shaggy link to JSON files?
@ASCII-only They're in the src/docs directory in the repo.
any major changes since last push?
@Shaggy alias for space-delimited aliases?
also what does this do (array.json, first method):
`x`s/n``
hmm.
weird
No changes at all to my local files since the last push. As I said, though, I won't be accepting PRs until next week some time. Need to get those new keys added and add a CONTRIBUTING.MD, which will include explanations of some of the custom markdown I'm using. (`x`y`` translates to a <code> tag which displays y and inserts x into your code when you click on it. github.com/PeterShaggyNoble/Japt-Interpreter/blob/master/src/js/…)
Right, I gotta run to lunch - thanks for the brainstorming session, lots of valuable ideas to take on board :) Been useful getting such detailed feedback from a less experienced Japt user (relatively speaking) as one of my primary goals with this interpreter was to make it a bit easier for people to pick up Japt.
13:32
A.n - does it sort the whole array? or split into pairs and sort @Shaggy
13:54
might accidentally abandon it though
 
1 hour later…
15:02
@ASCII-only It's just a straight sort(): github.com/ETHproductions/japt/blob/master/src/japt.js#L910
@ASCII-only Great start :) Hopefully some of the others will be able to help out.
15:34
@ASCII-only & @Oliver I've added the to-do list to the repo. It's based, primarily, on feedback from the 2 of you so let me know if there's anything I've missed out on: github.com/PeterShaggyNoble/Japt-Interpreter/blob/master/…
15:59
@Shaggy Hey, sorry this week is pretty hectic for me at work so I won't be too active. I did want to mention that clicking a button seems to always display the tooltip
Saving the project feature seems pretty neat
Gah, I've missed a lot in the chat
I'll try to be more active next week
Whenever I launch the page, Chrome asks me if I "want to translate the page". Not sure if anything can be done to suppress that
Maybe move the undo/redo above the auto-golf/copy code buttons?
@Oliver On touchscreens? It's on the list. I have a solution that works just fine using Chrome's emulator but not on actual devices. It's annoying me!
It doesn't happen on touchscreen, no
I am using Chrome on my phone and it doesn't show the tooltip, just on my computer
@Oliver Still?! It seems to think the page is in Czech, for some reason. Thought it was the xml icon I was using for the projects tab as it stopped offering to translate the page for me after I changed it. Don't know what it thinks is Czech now so I'll just add a meta tag to disable GTranslate.
It might be the keyboard
If I say "yes, translate" it changes the keyboard
Should the arrow icons for import/export be swapped? It feels like import should be down-arrow, and export should be up-arrow
16:15
@Oliver Weird! It only started offering to translate it for me while I was working on the project and stopped after I changed that icon. Stupid Google! The meta tag should solve it.
@Oliver OK, so it's just my S9 (and possibly some other devices) that the media query isn't working on rather than all devices; that's a bit better :) Are you saying, though, that after clicking an icon on your computer and moving your mouse away from that icon, the tooltip remains visible?
@Oliver Changing the wording back to "Upload" & "Download" might be clearer.
Well, when I move the mouse quickly it doesn't but that's not natural. When I click a button, I keep it over the button for a second or so
When I click the projects panel, the panel moves away from the mouse, but the tooltip appears anyways
I get you now; should be an easy fix.
If you go on TIO, there's a tooltip over the start button, but it doesn't trigger when you click it
I gotta run for now. Should be on later tonight or tomorrow
Great stuff as always @Shaggy
Thanks for all the hard work
@Oliver Ah, yes, 'cause they're using the standard HTML title attribute whereas I'm using custom tooltips to allow their colour to change with the theme. Thanks for the feedback, as always :)
17:00
Refused to display 'https://chat.stackexchange.com/rooms/34018/japt' in a frame because it set 'X-Frame-Options' to 'sameorigin'. Well that settles that!
 
1 hour later…
18:20
@Shaggy Can you include the method header text in the search? Sometimes I search, for example, (a to see what methods accept an array. I also sometimes search for, for example, a( to see every object's a method.
I noticed you already fixed the tooltip and translation issues. Nice!
Another thing I search: =2 to see what parameters default to 2
18:35
@Oliver Yep, that should be pretty easy to do. The only problem will be methods that accept multiple arguments or argument types; searching for (a, for example, wouldn't return x(f,a) or x(s/a).
18:46
That's fine. I usually only care about the first param
 
4 hours later…
22:40
Down the pub, golfing on my phone and, especially now there's 3 of them, the tabs for the sidebars are annoying me. Think I'll need to add another breakpoint to move them all to a bottom bar below, say, 600px.

« first day (1174 days earlier)      last day (1775 days later) »