00:02:19 <nakilon> it is the closest thing to human language I've seen
00:02:31 -!- arseniiv_ has quit (Ping timeout: 252 seconds).
00:03:17 <fizzie> Sounds like something a person from the Osmosian Order of Plain English Programmers would write.
00:03:19 <nakilon> used it in 2013 to adapt GUI testing suite to macOS
00:03:28 <imode> I wonder what their parser is for that.
00:03:33 <fizzie> https://osmosianplainenglishprogramming.blog/
00:04:27 <imode> I actually don't disagree with this.
00:08:06 <esolangs> [[Greg]] https://esolangs.org/w/index.php?diff=88775&oldid=88773 * TheJonyMyster * (+224) /* general stuff */
00:08:40 <esolangs> [[Greg]] https://esolangs.org/w/index.php?diff=88776&oldid=88775 * TheJonyMyster * (+36) /* gregex */
00:08:56 <nakilon> is there no indentation or it's a bad formatting?
00:09:09 <nakilon> it should better have blocks
00:14:46 <nakilon> I need a thing to control the Terminal in the similar way the Selenium controls a browser
00:15:32 <nakilon> to test apps with interactive dialogs no matter what they use to implement them like ncurses or anything else
00:16:26 <nakilon> I want some interface that would allow to send keystrokes and to read the actual visual state of the window as a two-dimensional array of chars
00:18:01 <nakilon> pretty sure Apple Script makes it possible; also there is some "inspecting" feature in the Terminal application that probably has some interface (maybe the same it gives to the Apple Script, idk) but it's weird that I've never heard of making an analogue of Selenium for the terminal
00:35:26 <nakilon> hmmmm what if there is some browser-based terminal
00:35:34 <fizzie> Heh, sounds a little like good old Expect, except with something that'd interpret control sequences and maintain a notion of the screen state.
00:35:43 <nakilon> that would hopefully be supported by my dialogs tool
00:36:34 <fizzie> Also heh, looks like someone has done that *in* Expect. https://opensource.apple.com/source/gccfast/gccfast-1622/expect/example/virterm.auto.html
00:37:33 <fizzie> https://wiki.tcl-lang.org/page/tkterm
00:40:15 <fizzie> Context for the above: http://linux.math.tifr.res.in/manuals/html/expect-FAQ.html#q22
00:45:35 <nakilon> not sure I understand this: "# 0) make sure Expect is linked into your Tk-based program (or vice versa)"
00:46:06 <fizzie> Expect and Tcl and Tk are a lifestyle, not a tool. ;)
00:46:28 <fizzie> Looks like a bunch of people have been making things like that though.
00:47:56 <fizzie> See also https://github.com/JulienPalard/vt100-emulator and a lot of JS spinoffs on top of tty.js code.
00:49:27 <fizzie> Also since you mentioned a browser-based terminal, https://chromium.googlesource.com/apps/libapps/+/HEAD/hterm is what we always use on ChromeOS systems for SSH-in-a-Chrome-tab.
01:01:16 -!- delta23 has joined.
01:01:29 <nakilon> fizzie do I understand right that you embed it into a page https://github.com/chromium/hterm/blob/main/doc/embed.md and then open it in a browser and you'll have an interface that will behave as the one from where you've launched ... oh wait, if you open it in a browser then where are you?..
01:01:55 <nakilon> or it's not connected to the actual host OS?
01:04:08 <fizzie> Most often we use it with nassh to provide a terminal to something running elsewhere. I think ChromeOS native terminal is also hterm-based, and then it's showing a pty from the host, but I've no idea how that exactly works.
01:05:59 <nakilon> sounds working, heh, that would such a crazy way to test an app
01:07:14 <nakilon> I suppose I've heard about hterm but didn't realise the applicability of it
01:13:24 <nakilon> hm, that Embedding doc tells how to write via HS but not how to read
01:16:08 <fizzie> Yeah, normally you'd read by implementing the callbacks. I imagine there must be an API to read from the buffer as well.
01:17:25 <fizzie> There's at least a `getRowsText` method on the hterm.Terminal, though that seems to be designed more for clipboard purposes.
01:26:55 <nakilon> maybe that's it, I see it here https://chromium.googlesource.com/apps/libapps/+/HEAD/hterm/js/hterm_vt_tests.js
01:27:35 <fizzie> There's also the hterm.Screen class that seems to represent a single screen independent of the scrollback buffer, but I can't see a way to get the Screen out of the Terminal without assuming it's the `screen_` property.
01:29:11 <nakilon> oh I see https://github.com/chromium/hterm/blob/0264cd340ccc21f0321c3a2d70fccadbf0bc377f/js/hterm_terminal.js#L1951
01:35:41 <esolangs> [[9f87m4atttaaaou;]] https://esolangs.org/w/index.php?diff=88777&oldid=88774 * CosmicMan08 * (+32)
01:49:55 <esolangs> [[Greg]] https://esolangs.org/w/index.php?diff=88778&oldid=88776 * TheJonyMyster * (+17)
02:17:44 <esolangs> [[Greg]] https://esolangs.org/w/index.php?diff=88779&oldid=88778 * TheJonyMyster * (+571) tc proof
02:18:12 <esolangs> [[Greg]] M https://esolangs.org/w/index.php?diff=88780&oldid=88779 * TheJonyMyster * (+8)
02:27:45 <esolangs> [[Greg]] M https://esolangs.org/w/index.php?diff=88781&oldid=88780 * TheJonyMyster * (+59) /* Computational class */
02:45:29 <esolangs> [[Greg]] https://esolangs.org/w/index.php?diff=88782&oldid=88781 * TheJonyMyster * (+12) /* Computational class */
02:45:33 -!- vaginaldischarge has joined.
02:53:49 -!- vaginaldischarge has left (The Lounge - https://thelounge.chat).
02:58:11 <nakilon> In 2019, Microsoft announced plans to rebuild the browser as Chromium-based[10][11] with Blink and V8 engines. Microsoft stopped releasing security patches for Edge Legacy from March 9, 2021, and released a security update on April 13, 2021, which replaced Edge Legacy with Chromium-based Edge.
03:51:24 -!- earendel has joined.
04:31:54 -!- delta23 has quit (Quit: Leaving).
06:27:04 -!- Sgeo_ has quit (Read error: Connection reset by peer).
06:45:58 <zzo38> What do you expect should be the suggested file name extension for Free Hero Mesh composite puzzle sets?
06:47:56 <nakilon> what are other extensions you already defined?
06:53:58 <zzo38> The file with pictures/sounds is .xclass, the file with class definitions is .class, the file with levels (and the level index) is .level, the file with solutions and test cases is .solution. (However, a composite puzzle set combines all of these into one file, but a composite puzzle set cannot be edited unless you split it apart into separate files.)
07:16:18 -!- nakilon has quit (Quit: Ping timeout (120 seconds)).
07:16:39 -!- nakilon has joined.
07:24:33 -!- user3456 has quit (Ping timeout: 265 seconds).
07:25:06 -!- hendursaga has quit (Ping timeout: 276 seconds).
07:25:06 -!- chiselfuse has quit (Ping timeout: 276 seconds).
07:25:20 -!- Noisytoot_ has joined.
07:26:22 -!- chiselfuse has joined.
07:26:32 -!- Taneb0 has joined.
07:26:33 -!- DutchIngraham has joined.
07:27:03 -!- hendursaga has joined.
07:27:37 -!- myname has quit (Ping timeout: 268 seconds).
07:31:12 -!- fungot has quit (*.net *.split).
07:31:12 -!- daggy1234[m] has quit (*.net *.split).
07:31:12 -!- sebbu has quit (*.net *.split).
07:31:12 -!- j-bot has quit (*.net *.split).
07:31:54 -!- zegalch has quit (*.net *.split).
07:31:55 -!- dutch has quit (*.net *.split).
07:31:55 -!- Taneb has quit (*.net *.split).
07:31:55 -!- joast has quit (*.net *.split).
07:31:55 -!- Corbin has quit (*.net *.split).
07:31:55 -!- Noisytoot has quit (*.net *.split).
07:31:55 -!- ecs has quit (*.net *.split).
07:31:55 -!- Cale has quit (*.net *.split).
07:32:35 -!- zegalch has joined.
07:33:00 -!- river has joined.
07:37:37 -!- Cale has joined.
07:37:48 -!- fungot has joined.
07:37:48 -!- daggy1234[m] has joined.
07:37:48 -!- sebbu has joined.
07:37:48 -!- j-bot has joined.
07:41:27 -!- phdu has quit (Ping timeout: 240 seconds).
07:42:55 -!- imode has quit (Ping timeout: 265 seconds).
07:43:35 -!- Koen has joined.
07:45:09 -!- user3456 has joined.
07:45:10 -!- phdu has joined.
07:55:04 -!- Taneb0 has changed nick to Taneb.
08:03:49 -!- oerjan has joined.
08:05:48 -!- hendursa1 has joined.
08:08:39 -!- hendursaga has quit (Ping timeout: 276 seconds).
08:16:23 -!- hanif has joined.
08:18:42 -!- hanif has quit (Client Quit).
08:18:45 -!- yuu_ has quit (Read error: Connection reset by peer).
08:18:57 -!- pikhq has quit (Read error: Connection reset by peer).
08:19:01 -!- ProofTechnique has quit (Write error: Connection reset by peer).
08:19:02 -!- integral has quit (Ping timeout: 265 seconds).
08:19:06 -!- pikhq has joined.
08:19:10 -!- Argorok has quit (Read error: Connection reset by peer).
08:19:18 -!- Argorok has joined.
08:19:28 -!- integral has joined.
08:26:25 -!- myname has joined.
08:27:00 -!- fungot has quit (*.net *.split).
08:27:00 -!- daggy1234[m] has quit (*.net *.split).
08:27:00 -!- sebbu has quit (*.net *.split).
08:27:00 -!- j-bot has quit (*.net *.split).
08:27:27 -!- river has quit (Quit: Leaving).
08:29:27 -!- user3456_ has joined.
08:29:32 <nakilon> ok so you launch the chromium with these two flags https://pptr.dev/#?product=Puppeteer&version=v3.1.0&show=api-working-with-chrome-extensions passing the Secure Shell extension
08:30:11 <nakilon> then for some reason there is no chrome flag to enable an extension in incognito mode so you have to navigate to its page and click the checkbox
08:30:13 -!- user3456 has quit (Ping timeout: 252 seconds).
08:30:16 -!- user3456_ has changed nick to user3456.
08:30:59 <nakilon> then you visit the actual page of the extension with #nakilon@localhost, then to accept the fingerprint you do: br.frames[1].at_css("input").type "yes\n"
08:31:59 <nakilon> then I launched ruby, used the library to initiate the fancy menu like this: br.keyboard.type "prompt.select(\"Choose your destiny?\", %w(Scorpion Kano Jax))\n"
08:33:04 <nakilon> br.keyboard.type :down -- to select the 2nd of 3 options, and then br.evaluate("term_.getRowsText(0,48)").split("\n").last 3 # => [" Scorpion", "‣ Kano", " Jax"]
08:33:43 -!- ProofTechnique has joined.
08:33:43 -!- yuu_ has joined.
08:33:43 -!- fungot has joined.
08:33:43 -!- daggy1234[m] has joined.
08:33:43 -!- sebbu has joined.
08:33:43 -!- j-bot has joined.
08:36:53 <nakilon> then I'll wrap it in a gem and write some stupid header "Selenium for Terminal" in README.md so the empty google results will lead to it
08:39:46 <nakilon> just need to come up with some handy assertions to add them to testing frameworks Minitest that I use and RSpec that people use the most
08:50:04 -!- ecs has joined.
09:45:56 -!- velik has quit (Ping timeout: 245 seconds).
09:46:10 -!- velik has joined.
09:59:16 -!- jryans has quit (Quit: Bridge terminating on SIGTERM).
09:59:18 -!- Deewiant has quit (Quit: Bridge terminating on SIGTERM).
09:59:18 -!- daggy1234[m] has quit (Quit: Bridge terminating on SIGTERM).
09:59:20 -!- craigo[m] has quit (Quit: Bridge terminating on SIGTERM).
09:59:22 -!- phdu has quit (Quit: Bridge terminating on SIGTERM).
10:02:18 -!- oerjan has quit (Quit: Later).
10:02:47 -!- jryans has joined.
10:03:17 -!- Koen has quit (Remote host closed the connection).
10:06:38 -!- Koen has joined.
10:12:01 -!- phdu has joined.
10:12:01 -!- Deewiant has joined.
10:12:01 -!- craigo[m] has joined.
10:12:13 -!- daggy1234[m] has joined.
10:14:56 -!- earendel has quit (Quit: Connection closed for inactivity).
10:55:16 -!- wib_jonas has joined.
11:05:12 -!- tech_exorcist has joined.
11:05:39 -!- tech_exorcist has quit (Remote host closed the connection).
11:06:07 -!- tech_exorcist has joined.
11:20:39 -!- tech_exorcist has quit (Quit: connection issues).
12:24:36 -!- Corbin has joined.
12:25:31 -!- riv has quit (Ping timeout: 245 seconds).
12:27:25 -!- riv has joined.
12:41:30 -!- tech_exorcist has joined.
12:45:10 -!- tech_exorcist has quit (Excess Flood).
12:46:26 -!- tech_exorcist has joined.
13:01:11 -!- Oshawott has joined.
13:04:16 -!- archenoth has quit (Ping timeout: 245 seconds).
13:07:51 -!- arseniiv_ has joined.
13:33:35 -!- earendel has joined.
13:36:21 -!- DutchIngraham has quit (Ping timeout: 245 seconds).
13:38:17 <esolangs> [[Special:Log/newusers]] create * CuboidRaptor * New user account
13:40:21 -!- Thelie has joined.
13:40:51 -!- hendursa1 has quit (Quit: hendursa1).
13:41:17 -!- hendursaga has joined.
13:42:10 <esolangs> [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=88783&oldid=88767 * CuboidRaptor * (+210) introducing myself
13:42:52 -!- dutch has joined.
13:46:58 -!- sprock has quit (Ping timeout: 252 seconds).
13:48:12 <esolangs> [[PP]] N https://esolangs.org/w/index.php?oldid=88784 * CuboidRaptor * (+272) Created page with "pP is an esolang created by [[User:CuboidRaptor|CuboidRaptor]] and is intended as a joke language that honestly barely even counts as a programming language. In pP, the only..."
13:51:43 <esolangs> [[User:CuboidRaptor]] N https://esolangs.org/w/index.php?oldid=88785 * CuboidRaptor * (+271) Created page with "Hello there, I'm CuboidRaptor, a youtuber and programmer that likes doing dumb weird things that are not useful at all. Check out my youtube channel [https://www.youtube.com/c..."
13:55:09 <esolangs> [[UPE]] N https://esolangs.org/w/index.php?oldid=88786 * CuboidRaptor * (+495) Created page with "UPE, or Unary Python Esolang, is a language/extension of python that just makes your life impossible, to use UPE, write your program in Python3, then replace every character i..."
14:11:33 -!- Thelie has quit (Remote host closed the connection).
14:24:38 -!- Sgeo has joined.
14:25:56 -!- Sgeo has quit (Remote host closed the connection).
14:26:21 -!- Sgeo has joined.
14:27:25 -!- Koen has quit (Remote host closed the connection).
14:40:51 -!- tech_exorcist has quit (Remote host closed the connection).
14:41:22 -!- tech_exorcist has joined.
15:04:23 -!- wib_jonas has quit (Quit: Client closed).
15:05:40 -!- tech_exorcist has quit (Quit: brb).
15:05:59 -!- tech_exorcist has joined.
15:20:31 -!- Noisytoot_ has quit (Ping timeout: 245 seconds).
15:20:50 <esolangs> [[Language list]] https://esolangs.org/w/index.php?diff=88787&oldid=88719 * CuboidRaptor * (+19)
15:23:25 -!- Noisytoot has joined.
15:37:45 -!- foxsouns has joined.
15:37:48 -!- foxsouns has left.
15:48:06 -!- imode has joined.
16:04:04 -!- sprock has joined.
16:27:22 -!- Koen has joined.
16:38:38 -!- Koen has quit (Remote host closed the connection).
16:49:34 -!- perlbot has quit (Ping timeout: 265 seconds).
16:49:40 -!- simcop2387 has quit (Ping timeout: 260 seconds).
17:00:13 <esolangs> [[PP]] M https://esolangs.org/w/index.php?diff=88788&oldid=88784 * PythonshellDebugwindow * (+80) fix title, cats
17:00:16 -!- perlbot has joined.
17:02:17 -!- simcop2387 has joined.
17:09:14 -!- simcop2387 has quit (Ping timeout: 265 seconds).
17:09:15 -!- perlbot has quit (Ping timeout: 265 seconds).
17:16:52 -!- earendel has quit (Quit: Connection closed for inactivity).
17:20:18 -!- simcop2387 has joined.
17:22:46 -!- tech_exorcist has quit (Ping timeout: 265 seconds).
17:24:20 -!- perlbot has joined.
17:29:23 -!- Sgeo_ has joined.
17:31:25 -!- Sgeo has quit (Ping timeout: 252 seconds).
17:31:27 -!- Sgeo__ has joined.
17:34:07 -!- Sgeo_ has quit (Ping timeout: 252 seconds).
17:49:50 -!- sprock has quit (Ping timeout: 268 seconds).
17:50:40 -!- simcop2387 has quit (Ping timeout: 252 seconds).
17:51:10 -!- perlbot has quit (Ping timeout: 252 seconds).
18:00:56 -!- olsner has quit (Ping timeout: 245 seconds).
18:02:46 -!- simcop2387 has joined.
18:04:01 -!- olsner has joined.
18:04:17 -!- perlbot has joined.
18:09:19 -!- sprock has joined.
18:47:19 -!- river has joined.
19:13:56 <esolangs> [[!@$%^&*()+/Algorithms]] https://esolangs.org/w/index.php?diff=88789&oldid=82532 * Fmbalbuena * (+115) Not Algorithm added.
19:18:57 <esolangs> [[!@$%^&*()+/Algorithms]] M https://esolangs.org/w/index.php?diff=88790&oldid=88789 * Fmbalbuena * (-115) Undo revision 88789 by [[Special:Contributions/Fmbalbuena|Fmbalbuena]] ([[User talk:Fmbalbuena|talk]])
19:35:26 -!- Sgeo has joined.
19:38:29 -!- Sgeo__ has quit (Ping timeout: 264 seconds).
19:41:38 -!- river has quit (Quit: Leaving).
19:44:23 -!- Sgeo has quit (Ping timeout: 265 seconds).
19:46:06 -!- Sgeo has joined.
19:48:55 -!- sprock has quit (Ping timeout: 252 seconds).
19:55:17 -!- Thelie has joined.
21:10:38 -!- chiselfuse has quit (Remote host closed the connection).
21:10:55 -!- chiselfuse has joined.
21:14:26 -!- delta23 has joined.
21:19:30 -!- Trieste has quit (Ping timeout: 268 seconds).
21:24:31 -!- Thelie has quit (Remote host closed the connection).
21:25:21 -!- Lord_of_Life has quit (Ping timeout: 250 seconds).
21:27:49 -!- Lord_of_Life has joined.
22:07:45 -!- joast has joined.
22:16:34 -!- sprock has joined.
22:40:34 <esolangs> [[Pancakes]] https://esolangs.org/w/index.php?diff=88791&oldid=88441 * CatCatDeluxe * (+2333) Add function declaration part
22:41:20 <esolangs> [[UPE]] https://esolangs.org/w/index.php?diff=88792&oldid=88786 * CuboidRaptor * (+329)
22:44:11 -!- sprock has quit (Ping timeout: 265 seconds).
22:52:44 <esolangs> [[Special:Log/newusers]] create * CowMan9999 * New user account
22:56:09 <esolangs> [[Esolang:Introduce yourself]] M https://esolangs.org/w/index.php?diff=88793&oldid=88783 * CowMan9999 * (+220) /* Introductions */
22:57:08 -!- sprock has joined.
23:07:00 -!- Koen has joined.
23:29:42 -!- Koen has quit (Quit: Leaving...).
23:34:22 -!- arseniiv_ has quit (Ping timeout: 252 seconds).
23:36:59 -!- j-bot has quit (Remote host closed the connection).
23:37:12 -!- j-bot has joined.