00:02:41 -!- oerjan has joined. 00:03:19 argh stupid putty 00:03:37 -!- oerjan has quit (Client Quit). 00:04:35 -!- oerjan has joined. 00:05:05 (why did i quit irssi instead of disconnecting from tmux, stupid brain) 00:05:37 wait, this looks netsplitty 00:06:14 oh, just a display error 00:06:27 oh of course 00:07:43 (i'd reattached tmux with a different terminal size, so it got confused until i actually resized the window) 00:07:49 no! 00:07:57 it's still confused, gah! 00:08:12 -!- oerjan has quit (Client Quit). 00:09:05 -!- oerjan has joined. 00:09:11 now then 00:09:14 whew 00:09:30 apparently it was necessary to quit tmux altogether 00:11:21 (dear old hagbart got fried after a scheduled outage, so i've had to change to a different host, but putty makes it awkward by not showing it in the session menu) 00:12:39 (also by seemingly having no way to edit the host or remote command of an already set up session) 00:15:26 -!- Sgeo has joined. 00:16:56 -!- xkapastel has joined. 00:20:00 -!- Essadon has quit (Quit: Qutting). 00:20:20 -!- S_Gautam has joined. 00:45:16 -!- salpynx has joined. 00:53:15 `for i in {1..4};do echo $((($i*$i)));done 00:53:15 ​/srv/hackeso-code/multibot_cmds/lib/limits: line 5: exec: for: not found 00:59:24 You'll need two `s and a space for that. 00:59:40 `` for i in {1..4};do echo $((($i*$i)));done 00:59:41 1 \ 4 \ 9 \ 16 01:00:37 good to know that is there! 01:17:20 -!- uplime has quit (Quit: WeeChat 2.2). 01:19:03 -!- salpynx has quit (Ping timeout: 256 seconds). 01:21:43 -!- salpynx has joined. 01:22:09 `` uname | sed 's/x/ls/;s/u/do/;s/[Ll]/w/g' 01:22:10 windows 01:23:46 [[Language list]] https://esolangs.org/w/index.php?diff=59079&oldid=59069 * Areallycoolusername * (+34) /* A */ 01:37:49 [[User talk:Salpynx]] https://esolangs.org/w/index.php?diff=59080&oldid=58089 * Areallycoolusername * (+259) 01:38:46 [[User talk:Salpynx]] https://esolangs.org/w/index.php?diff=59081&oldid=59080 * Areallycoolusername * (+138) 01:39:53 `` dd if=/dev/urandom bs=100 count=1 | grep -aoE '\w' | head -n5 01:39:53 1+0 records in \ 1+0 records out \ 100 bytes copied, 0.000792064 s, 126 kB/s \ 5 \ p \ r \ D \ T 01:40:32 ok, I'll stop before I break something... 01:47:11 it is harder to break than you think 01:47:21 in a way cannot just be `reverted, that is 01:48:23 [[List of ideas]] https://esolangs.org/w/index.php?diff=59082&oldid=58862 * Cortex * (+556) /* Joke/Silly Ideas */ 01:51:21 -!- MDude has joined. 01:53:04 does it filter commands, or is it just running whatever it gets in a shell? It feels like I could write or read from the file system, or extract more info from the system than should be public 01:53:24 There's a few layers of sandboxing. 01:53:36 The command runs in a one-off UML instance, for one thing. 01:53:53 I couldn't find any docs for Multibot / HackEso, to learn how to use it for other languages 01:54:50 `` uname -a| sed 's/x/ls/;s/u/do/;s/[Ll]/w/g' 01:54:51 windows (none) 4.9.82 #6 Sat Apr 7 13:45:01 BST 2018 x86_64 GNU/winux 01:54:58 (And the only filesystem bound read-write in that umlbox is the working copy of the Mercurial repo, for reverting changes.) 01:55:50 If you mean documentation on what's installed there, yeah, that's pretty sparse. 01:57:52 And of course it's a living system, so it keeps changing. 01:59:17 -!- salpynx has quit (Ping timeout: 256 seconds). 01:59:43 There's a sort-of copy of the old EgoBot with its esolang interpreters, available via the bin/! wrapper, but I'm not sure they all really work right. 01:59:46 `! befunge "olleh">:#,_@ 01:59:47 hello 01:59:53 Guess some of them at least do. 02:00:18 `ls ibin 02:00:20 1l \ 2l \ adjust \ asm \ axo \ bch \ befunge \ befunge98 \ bf \ bf16 \ bf32 \ bf8 \ bf_txtgen \ boolfuck \ c \ cintercal \ clcintercal \ cxx \ dimensifuck \ forth \ glass \ glypho \ haskell \ help \ java \ k \ kipple \ lambda \ lazyk \ linguine \ lua \ malbolge \ pbrain \ perl \ qbf \ rail \ rhotor \ sadol \ sceql \ sh \ slashes \ trigger \ udage01 \ underload \ unlambda \ whirl 02:02:17 [[User:Cortex]] https://esolangs.org/w/index.php?diff=59083&oldid=59070 * Cortex * (+196) 02:03:04 -!- salpynx has joined. 02:03:20 Oh, I wrote a bunch of stuff without noticing you were out. 02:03:41 Well, it's at http://esolangs.org/logs/2019-01-13.html#lY 02:04:10 You can browse the filesystem (except for the ephemeral tmp/ subdirectory) at https://hack.esolangs.org/repo and the "wisdom" database -- `? foo -- has *some* documentation, though a lot of those entries are not particularly useful. 02:04:18 I see it in the logs, my connection seems flakey today 02:04:33 `` cmd="true $(xxd -b -g0 <<< "Hello, World!"|sed 's/^.*: \([^ ]*\).*$/\1/'|tr -d '\n'|sed 's/^0//;s/0\|\(1\)/| true \1/g;s/1/<:/g')";result=$(eval "($cmd; echo "\${PIPESTATUS[@]}")2>/dev/null");echo $result | perl -lpe 's/[^10]//g,$_=pack"B*",$_' 02:04:34 ​/hackenv/bin/`: line 5: xxd: command not found \ . 02:10:39 fizzie: thanks 02:11:20 [[$ $]] https://esolangs.org/w/index.php?diff=59084&oldid=59075 * Cortex * (+92) 02:19:27 `! help 02:19:28 The ! or interp command calls various language interpreters transfered from old EgoBot. Try `url ibin/ for a list. 02:34:43 `! malbolge uba`_^!!~|:{V7C5SQPra<.n,IlHFh3fBB/R>>O*^\rJvu 5 02:34:44 invalid character in source file 02:35:06 `! malbolge 'uba`_^!!~|:{V7C5SQPra<.n,IlHFh3fBB/R>>O*^\rJvu' 02:35:07 invalid character in source file 02:36:12 -!- salpynx has quit (Quit: Page closed). 02:37:42 [[Cactusi]] N https://esolangs.org/w/index.php?oldid=59085 * Areallycoolusername * (+1712) Created page with "[[Cactusi]] is an [[esoteric programming language]] created by [[User: Areallycoolusername|Areallycoolusername]]. Instead of code being made of text or numbers, you code in th..." 02:41:10 [[Joke language list]] https://esolangs.org/w/index.php?diff=59086&oldid=59007 * Areallycoolusername * (+30) /* General languages */ 02:48:36 . o O ( that name is just to annoy my grammarian heart, right? ) 02:52:49 -!- heroux has quit (Ping timeout: 268 seconds). 02:58:55 -!- heroux has joined. 03:03:20 -!- salpynx has joined. 03:10:16 `! malbolge (=<`#9]~6ZY32Vx/4Rs+0No-&Jk)"Fh}|Bcy?`=*z]Kw%oG4UUS0/@-ejc(:'8dc 03:10:17 Hello World! 03:10:25 ok it was just the program 03:13:39 Vertical bar( ) 0 03:21:51 but I'm leaving in approx. half an hour, traveling... can't be bothered to fix underspecified esolangs. 03:22:16 (especially when they are basically yet another text encoding) 03:23:22 I wonder how original the dancing men cipher was in its days ( https://en.wikipedia.org/wiki/The_Adventure_of_the_Dancing_Men ) 03:24:08 There should be a Unicode proposal for that one. 03:31:32 -!- xkapastel has quit (Quit: Connection closed for inactivity). 03:42:44 -!- salpynx_ has joined. 03:44:07 -!- salpynx has quit (Ping timeout: 256 seconds). 03:48:12 today's mezzacotta made me chuckle for once 03:57:53 -!- Lord_of_Life has quit (Ping timeout: 246 seconds). 04:02:17 -!- Lord_of_Life has joined. 04:13:27 I've being playing with HackEso's Malbolge interpeter in direct msg 04:13:36 `! malbolge uba`_^!!~|:{V7C5SQPra<.n,IlHFh3fBB/R>>O*^\rJvu 04:13:37 invalid character in source file 04:13:39 fails 04:13:53 `` ./interps/malbolge/malbolge.bin <(echo 'uba`_^!!~|:{V7C5SQPra<.n,IlHFh3fBB/R>>O*^\rJvu') <<< 5 04:13:54 55555 04:14:03 works, so I think it's a quoting issue 04:14:22 .. escaping rather 04:15:18 `` inp=A;for i in {1..7};do echo $inp;inp=$(./interps/malbolge/malbolge.bin <(echo "'"'tB_:^"J[l4{8DCBvQ21ap(^nI[)"hD}fA@yQ``^)([[6XGmE~Co{gyOdvh(f%dFE"DBk|{[xw;vVsN7Rpo\m10|hgg*ecDC<_') <<<$inp);done 04:15:19 No output. 04:20:01 -!- salpynx has joined. 04:23:47 -!- salpynx_ has quit (Ping timeout: 256 seconds). 04:26:58 `` inp=A;for i in {1..7};do echo $inp;inp=$(./interps/malbolge/malbolge.bin <(echo "'"'tB_:^"J[l4{8DCBvQ21ap(^nI[)"hD}fA@yQ``^)([[6XGmE~Co{gyOdvh(f%dFE"DBk|{[xw;vVsN7Rpo\m10|hgg*ecDC<_') <<<$inp);done 04:26:59 No output. 04:27:24 that gives output in direct msg with HackEso 04:39:08 `` inp=A;for i in {1..7};do echo $inp;inp=$(./interps/malbolge/malbolge.bin <(echo "'"'tB_:^"J[l4{8DCBvQ21ap(^nI[)"hD}fA@yQ``^)([[6XGmE~Co{gyOdvh(f%dFE"DBk|{[xw;vVsN7Rpo\m10|hgg*ecDC<_') <<<$inp);done 04:39:10 A \ L \ G \ O \ M \ I \ J 04:41:19 ...the definition of insanity is doing the same thing over and over and expecting a different result.... but sometimes that works out. 04:44:14 salpynx: it might be timing out 04:44:21 then it gives no output 04:44:28 (No output.) 04:44:39 `cat bin/! 04:44:40 ​#!/bin/sh \ CMD=`echo "$1" | cut -d' ' -f1` \ ARG=`echo "$1" | cut -d' ' -f2-` \ exec ibin/$CMD "$ARG" 04:45:01 hm 04:45:05 `cat bin/interp 04:45:05 ​#!/bin/sh \ CMD=`echo "$1" | cut -d' ' -f1` \ ARG=`echo "$1" | cut -d' ' -f2-` \ exec ibin/$CMD "$ARG" 04:45:15 ok those are identical... 04:45:58 I have not yet worked out exactly what that malbolge code is doing, I "discovered" it. If you use it recursively starting with `A` it outputs ALGOMIJ, other starting characters give different / shorter loops e.g. T => T o o .. etc 04:46:04 `` ibin/malbolge 'uba`_^!!~|:{V7C5SQPra<.n,IlHFh3fBB/R>>O*^\rJvu' 04:46:17 hm oh right 04:46:27 well it didn't give error 04:46:35 No output. 04:46:46 `` ibin/malbolge 'uba`_^!!~|:{V7C5SQPra<.n,IlHFh3fBB/R>>O*^\rJvu' <<< 5 04:46:47 55555 04:47:02 ok so that part's ok, the `! code is at fault 04:49:00 `` echo 'malbolge uba`_^!!~|:{V7C5SQPra<.n,IlHFh3fBB/R>>O*^\rJvu' | cut -d' ' -f2- 04:49:01 uba`_^!!~|:{V7C5SQPra<.n,IlHFh3fBB/R>>O*^\rJvu 04:49:07 that's a neater way to write it 04:49:26 hm ok that still looks fine... 04:49:53 `` ls -l bin/\! bin/interp 04:49:54 lrwxrwxrwx 1 1000 1000 6 Jul 8 2017 bin/! -> interp \ -rwxr-xr-x 1 1000 1000 96 Apr 7 2018 bin/interp 04:50:48 `sled bin/interp//3cARG="$(echo "$1" | cut -d' ' -f2-)" 04:50:50 bin/interp//#!/bin/sh \ CMD=`echo "$1" | cut -d' ' -f1` \ ARG="$(echo "$1" | cut -d' ' -f2-)" \ exec ibin/$CMD "$ARG" 04:51:46 `! malbolge uba`_^!!~|:{V7C5SQPra<.n,IlHFh3fBB/R>>O*^\rJvu 04:51:47 invalid character in source file 04:51:50 darn 04:53:24 `! ../bin/echo uba`_^!!~|:{V7C5SQPra<.n,IlHFh3fBB/R>>O*^\rJvu 04:53:25 ​/hackenv/bin/!: 4: exec: ibin/../bin/echo: not found 04:53:44 oh 04:53:54 `! ../../bin/echo uba`_^!!~|:{V7C5SQPra<.n,IlHFh3fBB/R>>O*^\rJvu 04:53:54 uba`_^!!~|:{V7C5SQPra<.n,IlHFh3fBB/R>>O*^ 04:54:01 aha! 04:55:16 `sled bin/interp//s,bin/sh,bin/bash, 04:55:18 bin/interp//#!/bin/bash \ CMD=`echo "$1" | cut -d' ' -f1` \ ARG="$(echo "$1" | cut -d' ' -f2-)" \ exec ibin/$CMD "$ARG" 04:55:27 `! malbolge uba`_^!!~|:{V7C5SQPra<.n,IlHFh3fBB/R>>O*^\rJvu 04:55:31 finally 04:55:55 it still doesn't really do anything because `! doesn't support passing input to the program 04:55:56 `! malbolge uba`_^!!~|:{V7C5SQPra<.n,IlHFh3fBB/R>>O*^\rJvu <<< G 04:55:56 invalid character in source file 04:56:15 No output. 04:56:22 ah, I was looking at the source to see if there was a way to provide input 04:56:30 it's better to use the ibin/... if you want that, i guess. 04:56:51 `file ibin/malbolge 04:56:52 ibin/malbolge: POSIX shell script, ASCII text executable 04:57:01 `url ibin/malbolge 04:57:02 https://hack.esolangs.org/repo/file/tip/ibin/malbolge 04:57:07 `` ibin/malbolge 'uba`_^!!~|:{V7C5SQPra<.n,IlHFh3fBB/R>>O*^\rJvu' <<< ! 04:57:08 ​!!!!! 04:57:11 is nice 04:58:14 the bug was because bin/sh is dash, which has some annoying behavior of echo iirc 04:59:51 Thanks for looking into it. So it's the !! characters. I'll see if I can find a way to properly escape in dash, but probably later :) 05:00:31 I guess not too many people have been using the malbolge feature of HackEso to hit this ;) 05:02:09 salpynx: i did fix it 05:02:16 it was \r, i think 05:02:47 it gets turned into carriage return by dash's echo 05:03:33 and the bug wasn't really malbolge-specific, but people haven't been using that many other languages either. 05:03:46 hm i hope this doesn't break the C one 05:04:03 `! c printf("hello!\n"); 05:04:09 hello! 05:04:22 `! c printf("hello!\nthere"); 05:04:23 hello! \ there 05:05:39 salpynx: i just changed ! to use bash instead. 05:10:40 ah, cool. The two examples I was trying both accepted input, so they are still not going to work. 05:11:15 `! malbolge 'C&$_ 05:11:15 R 05:11:47 I think that worked on the old version. Most of my Malbolge discoveries take input 05:12:37 `` ibin/malbolge "'"'tB_:^"J[l4{8DCBvQ21ap(^nI[)"hD}fA@yQ``^)([[6XGmE~Co{gyOdvh(f%dFE"DBk|{[xw;vVsN7Rpo\m10|hgg*ecDC<_#?!!<}:{2x0TSucrNNMK9llGjFgC' <<< M 05:12:38 I 05:12:51 `` ibin/malbolge "'"'tB_:^"J[l4{8DCBvQ21ap(^nI[)"hD}fA@yQ``^)([[6XGmE~Co{gyOdvh(f%dFE"DBk|{[xw;vVsN7Rpo\m10|hgg*ecDC<_#?!!<}:{2x0TSucrNNMK9llGjFgC' <<< N 05:12:51 N 05:19:53 -!- salpynx has quit (Ping timeout: 256 seconds). 05:43:11 As far as I can tell, there is no way in Node.js to execute a function in a separate call stack. I think such a thing would sometimes be useful, mainly for emulation of other JavaScript APIs, although it has other uses too. 05:43:47 What do you think? 05:51:30 -!- FreeFull has quit. 06:15:08 -!- uplime has joined. 06:59:47 -!- S_Gautam has quit (Quit: Connection closed for inactivity). 07:18:57 -!- S_Gautam has joined. 07:58:41 -!- imode has quit (Ping timeout: 268 seconds). 08:36:25 [[Printscript]] N https://esolangs.org/w/index.php?oldid=59087 * A * (+899) Created page with "''Printscript'' is an esoteric scripting language. This programming language only supports the "print" function. (Astonishingly, it can also create an [[Infinite loop]] based..." 08:39:11 [[Printscript]] https://esolangs.org/w/index.php?diff=59088&oldid=59087 * A * (+28) Fix things 08:40:22 [[Printscript]] https://esolangs.org/w/index.php?diff=59089&oldid=59088 * A * (-1) 08:42:01 [[Printscript]] https://esolangs.org/w/index.php?diff=59090&oldid=59089 * A * (+62) /* Example Programs */ 08:43:27 [[Printscript]] https://esolangs.org/w/index.php?diff=59091&oldid=59090 * A * (+2) Final Fixes 08:46:01 [[Printscript]] https://esolangs.org/w/index.php?diff=59092&oldid=59091 * A * (+6) 08:47:39 [[Printscript]] https://esolangs.org/w/index.php?diff=59093&oldid=59092 * A * (-20) /* Example Programs */ 08:49:39 [[Printscript]] https://esolangs.org/w/index.php?diff=59094&oldid=59093 * A * (+147) 08:52:05 [[Printscript]] https://esolangs.org/w/index.php?diff=59095&oldid=59094 * A * (+57) Trying to make it simpler 08:53:00 [[Printscript]] https://esolangs.org/w/index.php?diff=59096&oldid=59095 * A * (+0) 08:56:34 [[Printscript]] https://esolangs.org/w/index.php?diff=59097&oldid=59096 * A * (+105) /* Syntax */ 08:57:56 [[Printscript]] https://esolangs.org/w/index.php?diff=59098&oldid=59097 * A * (-1) /* Example Programs */ 08:58:43 [[Printscript]] https://esolangs.org/w/index.php?diff=59099&oldid=59098 * A * (-1) /* Example Programs */ 09:01:30 [[Printscript]] https://esolangs.org/w/index.php?diff=59100&oldid=59099 * A * (-5) 09:08:17 [[Printscript]] https://esolangs.org/w/index.php?diff=59101&oldid=59100 * A * (+10) That's not an infinite loop 09:11:27 [[Printscript]] https://esolangs.org/w/index.php?diff=59102&oldid=59101 * A * (+169) /* Syntax */ 09:11:50 [[Printscript]] https://esolangs.org/w/index.php?diff=59103&oldid=59102 * A * (-19) /* Syntax */ 09:13:25 [[Printscript]] https://esolangs.org/w/index.php?diff=59104&oldid=59103 * A * (+117) 09:14:01 [[Printscript]] https://esolangs.org/w/index.php?diff=59105&oldid=59104 * A * (-11) 09:14:12 -!- oerjan has quit (Quit: Nite). 09:16:24 [[Printscript]] https://esolangs.org/w/index.php?diff=59106&oldid=59105 * A * (-11) 09:17:01 [[Printscript]] https://esolangs.org/w/index.php?diff=59107&oldid=59106 * A * (-53) /* Interpreter(in C) */ 09:18:48 [[Printscript]] https://esolangs.org/w/index.php?diff=59108&oldid=59107 * A * (+34) /* Example Programs */ 09:19:19 [[Printscript]] https://esolangs.org/w/index.php?diff=59109&oldid=59108 * A * (+15) 09:19:57 [[Printscript]] https://esolangs.org/w/index.php?diff=59110&oldid=59109 * A * (+16) 09:20:26 [[Printscript]] https://esolangs.org/w/index.php?diff=59111&oldid=59110 * A * (-64) /* Example Programs */ 09:20:36 [[Printscript]] https://esolangs.org/w/index.php?diff=59112&oldid=59111 * A * (-15) 09:23:31 [[Printscript]] https://esolangs.org/w/index.php?diff=59113&oldid=59112 * A * (+5) /* Example Programs */ 09:24:16 [[Printscript]] https://esolangs.org/w/index.php?diff=59114&oldid=59113 * A * (-6) 09:25:48 [[Hello world program in esoteric languages]] https://esolangs.org/w/index.php?diff=59115&oldid=59067 * A * (+43) /* Prelude */ 09:25:53 @metar eddm 09:25:54 EDDM 130920Z 25015KT 9999 -RA FEW009 BKN012 03/01 Q1011 R88/290095 NOSIG 09:28:56 [[Printscript]] https://esolangs.org/w/index.php?diff=59116&oldid=59114 * A * (+93) /* Interpreter(in C) */ 09:31:28 [[Printscript]] https://esolangs.org/w/index.php?diff=59117&oldid=59116 * A * (+11) /* Interpreter(in C) */ 09:32:13 [[Printscript]] https://esolangs.org/w/index.php?diff=59118&oldid=59117 * A * (-13) /* Interpreter(in C) */ 09:35:48 [[Printscript]] https://esolangs.org/w/index.php?diff=59119&oldid=59118 * A * (+31) 09:45:57 [[Printscript]] https://esolangs.org/w/index.php?diff=59120&oldid=59119 * A * (+6) 09:47:22 [[Printscript]] https://esolangs.org/w/index.php?diff=59121&oldid=59120 * A * (-3) /* Syntax */ 09:48:54 [[Printscript]] https://esolangs.org/w/index.php?diff=59122&oldid=59121 * A * (+130) 09:49:04 -!- AnotherTest has joined. 09:50:32 [[Printscript]] https://esolangs.org/w/index.php?diff=59123&oldid=59122 * A * (+91) /* Example Programs */ 09:53:06 [[Printscript]] https://esolangs.org/w/index.php?diff=59124&oldid=59123 * A * (+63) /* Example Programs */ 09:53:27 [[Printscript]] https://esolangs.org/w/index.php?diff=59125&oldid=59124 * A * (+3) 09:55:22 [[Printscript]] https://esolangs.org/w/index.php?diff=59126&oldid=59125 * A * (+76) 09:55:51 -!- AnotherTest has quit (Ping timeout: 252 seconds). 09:57:36 -!- AnotherTest has joined. 10:01:44 -!- AnotherTest has quit (Ping timeout: 244 seconds). 11:21:18 -!- uplime has quit (Ping timeout: 244 seconds). 11:52:19 -!- salpynx has joined. 11:53:41 Suggestions to improve 'Cactusi': Use the modern Romanian subscript-comma orthography to correct the plural: Cactuși, extend the language from simple text encoding to incorporate something from the work of the Romanian mathematicians Alexandra Bellow and Cassius Ionescu-Tulcea (Lifting theory, building on John von Neumann), incorporate Cactus graphs with category theory, and somehow stay true to the original "vision" of the chrome 11:59:00 -!- uplime has joined. 12:12:22 above inspired by a comment earlier today on "fixing underspecified esolangs". I haven't come up with any concrete fixes though, I got very distracted looking for photos of Alexandra Bellow with catctuși 12:12:38 The closest I found was her and this Yucca https://adevarul.ro/assets/adevarul.ro/MRImage/2014/10/24/544a73520d133766a83508d6/orig.jpg 12:14:24 -!- AnotherTest has joined. 12:18:44 -!- AnotherTest has quit (Ping timeout: 250 seconds). 12:19:28 -!- arseniiv has joined. 12:20:15 salpynx: you mean like, specify the syntax and deterministic execution order of (0)? because that's sort of unnecessary, it's not like those change anything important. or fixing languages that are so underspecified that you can get multiple entirely different languages from them? 12:21:11 that's usually not worth either because those languages suck. 12:22:20 when it is worth is somewhere in the middle, when you already have a clearly interesting language, but there's some overlooked ambiguity in the specs 12:24:01 and that ambty makes it impossible to program, in which case usually the first person who publishes a good interpreter or sample programs is the one who gets to fix the spec, 12:24:21 or they ask the creator of the language and they clarify. 12:24:39 Well, I tried to understand the current binary encoding of that language, and gave up, so that's not a good start. There's not even an example to point out there is a mistake in the spec. 12:27:01 This was primarily intended as a joke fix to ... hmm, the creator hasn't classified that one as a joke esolang. 12:29:38 The initial motivation was to fix Oerjan's objection to the grammar. Cactuși _is_ the valid plural of cactus in Romanian, and there is an interesting background to the orthography of that 'ș' letter, use of cedilla subscript, and inclusion into the Unicode spec 12:30:47 -!- uplime has quit (Ping timeout: 240 seconds). 12:31:18 then I looked for something interesting and related to computation from Romania and found the Ionescu-Tulceas, so the whole investigation ended up being quite interesting. 12:32:56 Hijacking the name and making a completely different esolang based on category theory is probably rude, so I'll just have to either make a suggestion, or let it go :) 12:36:16 yeah, unless the name is just the name of a page created by a spambot 12:36:51 ... taking something a bit ridiculous and running with it to make it serious seems to amuse me. That's why I like Deadfish and its 'overflow' arithmetic 12:39:03 Like "Real Fast Nora's Hair Salon 3: Shear Disaster Download"? Not a joke lang, based on lamdba calculus 12:39:20 I guess it's been done before 12:42:01 There could be a teaching opportunity here to help an enthusiastic beginner... although I'm struggling to find and understand what von Neumann and the Ionescu-Tulceas wrote about lifting theory 12:49:39 on a serious note, there should be a guide or something for beginners to explain the levels of languages, encoding vs computation, elements of a language that can be designed or borrowed. Some of these seem to be common pitfalls and providing an easy to process intro early might save some misspent bytes 12:52:27 Found the stub for exactly that: https://esolangs.org/wiki/Introduction_to_esolang_design It's clearly not ready to be linked from the main page yet, but there's a goal. 12:52:56 Good intentions from 2015 :) 12:53:48 I'm disassembling the broken chair 12:53:54 then I'll assemble the new one 12:53:59 no wait 12:54:10 between the two I have to take the old chair down to the basement 12:54:53 is that a computational metaphor? 12:55:54 nope 12:56:03 I broke the chair at the computer desk at home 12:56:07 so I bought a new one 12:56:26 the old one was great, but getting a bit worn out 12:56:41 that it broke simplifies my decisions a lot 12:56:58 I don't have to think about whether I should have the torn leather restored 12:57:08 I can just throw away the whole thing because the frame broke 12:59:27 -!- salpynx has quit (Ping timeout: 256 seconds). 13:02:22 -!- salpynx has joined. 13:05:55 b_jonas: Oh, I just got that your reference to (0) was a concrete one to a language you tried to figure out and added a wiki entry for ... I first thought you meant generally empty or contentless! 13:08:00 not the first time the lack of a name confuses someone in chat 13:08:23 it was definitely worth to use (0) as the name 13:08:48 anyway, disassembled 13:08:54 now I'll take it to the basement 13:09:02 I played around with David Madore's Юᓂ곧⎔ and came up with a start for an interpreter. I I enjoyed trying to figure out the underlying intent of the language, using clues in the sparse description to infer more about it. 13:10:41 Once I figured out he had to be using his understanding of C and was just making unicode substitutions for C like things, it was easy to follow through with more, taking what had been written down in spec and examples as gospel, and creatively fill in any gaps 13:14:54 b_jonas: Your Amycus probably is the canonical example of a new language spawned from a misunderstanding of unclear specifications of another. Precedent! ;) 13:17:17 anyway, good luck with the chairs. I need to sleep 13:17:27 Noapte bună! 13:18:28 -!- salpynx has quit (Quit: Page closed). 13:27:10 the basement is not only creepy but also very dirty 13:27:14 I need a shower break 13:27:28 salpynx: nope, the specs weren't unclear 13:27:36 it was spawned from misunderstanding of clear specifications 13:29:07 also, I have some more questions about cryptography 13:29:30 first one is, in assymetric crypto, why do we talk about "public keys" and "private keys", rather than "public locks" and "private keys"? 13:30:00 is this only because of the incidental symmetry between them in RSA, which was the first well-known protocol? 13:30:53 I have other question too, but leaving them to later 13:34:05 [[Printscript]] https://esolangs.org/w/index.php?diff=59127&oldid=59126 * A * (+64) /* Example Programs */ 13:48:13 [[Printscript]] https://esolangs.org/w/index.php?diff=59128&oldid=59127 * A * (-121) 13:49:08 [[Printscript]] https://esolangs.org/w/index.php?diff=59129&oldid=59128 * A * (-3) /* Example Programs */ 14:19:37 -!- xkapastel has joined. 14:29:11 -!- uplime has joined. 14:29:18 -!- AnotherTest has joined. 14:33:04 [[Call/cc]] https://esolangs.org/w/index.php?diff=59130&oldid=46221 * Rdococ * (+635) Added a better explanation of continuations. 14:47:08 -!- AnotherTest has quit (Ping timeout: 246 seconds). 15:00:47 -!- uplime has quit (Ping timeout: 240 seconds). 15:24:46 -!- uplime has joined. 15:38:43 -!- moei has quit (Ping timeout: 246 seconds). 15:56:51 -!- uplime has quit (Ping timeout: 258 seconds). 15:57:29 -!- Lord_of_Life_ has joined. 15:57:58 -!- AnotherTest has joined. 15:59:55 -!- Lord_of_Life has quit (Ping timeout: 258 seconds). 16:00:02 -!- Lord_of_Life_ has changed nick to Lord_of_Life. 16:02:27 -!- AnotherTest has quit (Ping timeout: 252 seconds). 16:13:51 -!- AnotherTest has joined. 16:18:39 -!- AnotherTest has quit (Ping timeout: 264 seconds). 16:58:15 `bobadventureslist http://bobadventures.comicgenesis.com/d/20190112.html 16:58:16 bobadventureslist http://bobadventures.comicgenesis.com/d/20190112.html: b_jonas 16:58:38 wat 17:15:11 * Taneb hello 17:21:42 hello 17:23:38 -!- imode has joined. 17:25:10 -!- uplime has joined. 17:27:36 I'm messing around with Rust 17:34:06 -!- FreeFull has joined. 17:36:17 I'm a programmer so I hate ignoring recommendations in manuals, but this IKEA chair doesn't make it easy to follow suggestions. The box has icons saying I shouldn't be using a blade to open it, but I don't see how else I should start to open them when it's taped down at the seams. The manual, like every IKEA manual, says 17:36:45 that it's better to have two people together to assemble the furniture, rather than doing it on my own, but come on! It's just a chair, it's not a bed frame. 17:43:22 I've read through the manual. Now I'm supposed to say something last-words worthy, like "Ok, this assembly procedure is pretty straightforward.". 17:56:47 -!- uplime has quit (Ping timeout: 240 seconds). 18:19:10 chair is assembled 18:19:35 So I'm supposed to say another last-words worthy sentence now. 18:36:27 -!- salpynx has joined. 18:37:52 a queue automaton that can only dequeue and enqueue single symbols per state transition is not turing complete. i.e, if you're in a state, examine the symbol at the head of the queue. if it's what you think, dequeue it and enqueue another symbol. 18:38:29 imode: huh what why? 18:38:55 b_jonas: try doing something like a -> bcd. 18:39:15 your queue needs a sufficient amount of "blank" symbols. 18:42:30 b_jonas: this is how my mind works: you ask about public key crypto then talk about IKEA manual algorithms; I search for an find https://kottke.org/18/04/ikea-style-instructions-for-programming-algorithms 18:44:37 I had a feeling IKEA manual algoritms had been done before, public key crytpo being the first example was just a coincidence I'll run with! 18:44:48 oh wow 18:45:46 that even shows a box that uses the RSA style keys where the public key and private key are dual 18:46:48 b_jonas: https://ptpb.pw/5veP/text for instance. 18:47:06 note, it _is_ TC if you split the enqueue and dequeue operations into different actions. 18:47:19 but "take a symbol, leave a symbol" queue automata aren't TC. 18:47:23 at least I don't think. 18:48:18 whoops, forgot the halt state.. https://ptpb.pw/0SvB/text 18:48:19 imode: oh sure, because then the cyclic queue will never increase in size 18:48:25 yup. 18:48:56 you'll have to use up the space you're equipped with. you can either change the semantics of the queue or the semantics of the automaton. 18:49:05 -!- salpynx has quit (Ping timeout: 256 seconds). 18:49:11 -!- salpynx has joined. 18:49:59 one way to change the semantics of the queue is to say that there always exists one blank space in the queue at a particular point, and you can never dequeue it (or rather, when you do, it's always equivalent to enqueueing the symbol you want + a blank space.) 18:50:53 so when you have something like S1 _ -> S2 b, it's really equivalent to saying S1 _ -> S2 b_ or something similar. 18:51:07 b_jonas: I think it shows what I was going to say that they are both 'keys', but one for locking and the other for UNlocking. The 'lock' is real 18:51:33 apparently that links to https://idea-instructions.com/ which has more 18:52:55 salpynx: sure, but that's not how I think of it. how I think of it is that you put the lock on the thing you want to lock and click it on, for which you don't need a key, you need an open lock which is private, then someone who has a public key can open the lock, but opening it destroys the lock completely, you can't close it again 18:53:07 Arh, silly network keeps failing on me... The lock is really the encrypted message, though no one calls it a lock 18:54:04 imode: the take a symbol leave a symbol queue is just a FSA 18:54:29 Or possibly LBA depending on how it's initialized 18:55:58 it's LBA. it can only use the amount of space that's available in the queue/circular buffer. 18:56:01 you can also reclaim space as well. 18:56:51 you can split the enqueueing of strings across multiple states that enqueue multiple symbols. but you can only use the space you're equipped with. 18:56:53 Whether it's FSA or LBA depends on whether the initial (and thereafter) size of the queue is specified in the description of the machine or the description of the input 18:57:24 I take the initial queue as the input. 18:57:36 so it's LBA. 18:58:57 the initial input needs to include some kind of "extra space" in this case, meaning prepended/appended with a number of blanks. of course you can get clever with your problem solving and morph/re-use parts of your input in-place that aren't blanks.. 18:59:11 b_jonas: with that description of the click lock, I understand wher you are coming from better. I guess the locking is more involved than a simple click - it's a custom lock that requires a key to be turned do perform the lock 19:02:26 https://idea-instructions.com/graph-scan/ is unrealistic. in IKEA manuals, when there are alternate ways to assemble something, the steps in them are labeled with disjoint intervals 19:03:06 imode: are you referring to a particular lang here? Last lang I see mentioned is Rust. I'm fairly certain you're not talking about Rust 19:03:37 nope, just a class of queue automata. 19:07:47 -!- salpynx has quit (Ping timeout: 256 seconds). 19:14:47 -!- salpynx has joined. 19:17:27 b_jonas: the diagram is versioned with various fixes, it looks like they are open to bug reports and suggestions 19:21:57 -!- salpynx has quit (Ping timeout: 256 seconds). 19:23:56 -!- Phantom_Hoover has joined. 19:23:56 -!- Phantom_Hoover has quit (Changing host). 19:23:56 -!- Phantom_Hoover has joined. 19:24:01 -!- AnotherTest has joined. 19:41:33 -!- FreeFull has quit. 19:42:33 -!- FreeFull has joined. 19:44:10 `? teh 19:44:12 teh? ¯\(°​_o)/¯ 19:46:54 -!- FreeFull has quit (Client Quit). 19:50:12 -!- FreeFull has joined. 19:51:53 https://www.jstor.org/stable/20488489?seq=1#page_scan_tab_contents 20:11:31 -!- salpynx has joined. 20:13:10 b_jonas: I've thought about your lock analogy further, how about this: a public key is just data, and should not be thought of as a mechanism like a lock. The mechanism part of the lock analogy is in the encryption algorithm. Public keys are distributed freely and no one cares about that. To actually lock something you need more than just a public key, and crypto algorithms are/have been import restricted as munitions because of th 20:13:32 b_jonas: Posessing a public key on its own gives no locking ability, it's just a dumb piece of metal with bumps. The algorithm contains the mechanism, and there are real-world examples that illustrate how that is considered a very different class. 20:18:58 I want to make a comparison between 'data and code', but of course code _is_ data. What is the terminology to distinguish that some data represent algorithms and other data represent ... not-algorithms. What's the word for that? 20:25:58 there isn't a distinction in my view because any piece of data can be swapped for something that generates that piece of data. 20:26:04 data is code, code is data. 20:27:44 We need more Harvard architectures. :-P 20:29:28 matrioshka languages correspond to the harvard architecture. :P 20:29:39 yeah, I was looking for something that clearly defined the difference between "operators" and "numbers", which I felt I should already know, but quickly ended up on lamdba calculus and Church encoding, so 'no real distinction' seems to be the answer 20:30:14 ... but we tend to make a distinction, doesn't that have a term, even if it is a subjective thing? 20:33:16 in practice it seems to come by many names for many situations. 20:33:28 thue's split between its rule store and its initial input is the segmentation between code and data. 20:33:42 strict harvard architectures are split between their code and data stores. 20:34:21 turing machines... really any automata. 20:35:17 salpynx: no no. the algorithm is the cupboard or safe or building that you lock something in. the lock on it is the "private key". normally you get in the building by opening the lock with the public key and then opening the door of the building, but if the building is badly designed, there might be other ways. 20:37:22 a lock is just data too unless you know how to open it, like usually you do that by inserting the key and turning it, then either you remove the lock from the door or just turning the key pulls in some iron rods, and in either case now you can open the door 20:38:44 the door and building, or the chain on the lock, or whatever big thing there is that you can move after the lock is open, is the symmetric cipher by the way, because locks can move only very few objects alone. 20:40:33 my take on the code/data split is that one exists and it's pretty fundamental. the lambda calculus, for example, allows you to specify data as code by special sequences of applications and their subsequent reductions. but you always need some kind of outside system to reduce these. 20:41:06 like, for any system, there needs to exist some kind of evaluator for that system, else it doesn't "do anything". 20:41:50 if you think of a system, I can think of an interpreter for that system. I can also think of an interpreter for that interpreter, so on and so forth into infinity. 20:42:30 Possessing a physical open click-lock without any keys allows someone to lock something, which is potentially useful, as opposed to possessing only a physical key, so locks have more _doing_ power than keys 20:45:32 salpynx: yes, and that's what I expect from an assymetric encryption system: the private key alone lets me lock something, the public key alone doesn't let me do anything 20:45:53 imode: so it's the context set by the processing machine's architecture, whether it is Harvard / von Neumann, or arbitrary split, like humans who can chose (struggle?) to understand numbers in different ways 20:46:10 that it doesn't happen to work that way with RSA is just an incident of implementation that we needn't rely on, and not all assymetric encryption systems need to be like that 20:48:15 salpynx: imho it's a lot deeper than that, because if you're dealing with a given machine, there can always be (and always has to be) some kind of outer shell that's interpreting the machine you're working with. 20:48:44 there's always a set of rules governing what a given machine does at any particular point, and those rules need to be evaluated. 20:49:10 turns out for our physical computers, those rules are, well, physics (or a certain subset of quantum electrodynamics depending on the manufacturing process.) 20:49:14 [[Special:Log/newusers]] create * FrenchMasterSword * New user account 20:49:30 so in my opinion, everything's harvard. 20:50:10 there's always a split between the code that does stuff, and the stuff it does stuff to. 20:54:03 Everything is Harvard? I thought you were going to argue for everything is von Neumann by getting down to physics. Everything that _is_ stuff, also happens to _do_ stuff 20:55:19 not in my view. there's always a split. turing kind of saw this, because there's a split between the state table storage for a given TM and the tape. 20:55:35 but you can simulate a von Neumann machine using that system. 20:55:36 how about, in the levels close to the main RAM and peripherials, code and data are the same, but in the parts closer to the CPU core, they get split and treated totally differently? 20:58:35 there always has to be, in my view, a split between the rules that govern a system and the things that exist in that system. 20:58:35 [[Special:Log/newusers]] create * FMS * New user account 20:59:35 [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=59131&oldid=59027 * FMS * (+572) /* Introductions */ 21:01:43 imode: "a split between the rules that govern a system and the things that exist in that system" yes, that sounds good to me, but what is the term for those distinctions applied to a specific system? 21:02:51 it's like fundamentally they are the same thing, but in the context of the system we want to focus on, they are classed differently 21:06:06 we could always invent one if it doesn't exist. nothing comes to mind. 21:07:09 b_jonas: I'm not sure about the safe / building analogy. The "safe" is just a box, like the building is a shell. A file is the data analogy here? Zip, rot13, and .txt are all 'buildings' or 'boxes', whereas some part of RSA is a lock, but not particularly the part that adds an marker or whatever to the end 21:07:31 the key is that there has to be some level of "data" that a particular system cannot access. in the context of a harvard architecture, that data is the instructions for the machine. same goes for turing machines: a TM cannot modify its state table. 21:11:18 the lambda calculus cannot modify the rules by which it is evaluated. 21:11:57 there's always a split between the rules that your state has to follow and the state itself. 21:13:02 it's not just a box. it's box with a door, and with tricky holes on the door and the rest of the box where you can put the lock such that the door (ideally) can't be opened until you open the lock 21:14:44 more importantly, the whole point of cryptography is that Eve shouldn't be able to open the box even if he does things with the lock that you don't expect or don't have in the protocol, which is why the lock is data, not just code 21:15:20 if the lock was code, it would be much simpler, it could be code that checks for the correct key and open up if the key is right and not do anything else, in which case Eve would be out of luck if he doesn't have the kye 21:15:29 but the lock and the box are different things, you can have boxes without locks 21:16:28 yes, because ultimately, the box is also data 21:16:32 everything is just data 21:16:53 and the dynamics of data is code. 21:16:55 it's the protocol of properly opening and closing the door and manufacturing keys and locks that's code 21:18:44 that's what I was getting at with data representing algorithms. "dynamics of data" == algorithms? 21:19:05 yuh. 21:24:09 imode: 'there has to be some level of "data" that a particular system cannot access' is interesting and seems true. It feels relevant to the nature of reality, and physical laws, and then we'll be getting into "shut up and calculate" territory soon. Made me think of 'emergent behaviour' and I looked up the term for those levels: Integrative level 21:24:58 not sure whether it is exactly the same, but seems at least related in some way 21:25:28 I'm going to go away and ponder. Good discussion, thanks! 21:26:59 cheers. o/ 21:30:51 oh wow 21:31:27 guess what topic David Madore tackles in his latest blog entry? it's another #esoteric favoruite 21:31:48 not an esolang, but still something this channel talks about often 21:39:09 MtG? 21:41:06 Taneb: hmm, I wonder if he's ever mentioned that 21:41:11 my guess is that he must have 21:41:20 yup 21:41:33 at least one clear mention 21:56:18 -!- AnotherTest has quit (Ping timeout: 245 seconds). 22:19:26 -!- olsner has quit (Ping timeout: 260 seconds). 22:22:17 -!- b_jonas has quit (Quit: leaving). 22:23:50 Apparently my house is constructed in a ludicrously strudy manner 22:24:07 the floor joists are 4" by 12" 22:31:05 -!- moei has joined. 22:32:35 [[$ $]] https://esolangs.org/w/index.php?diff=59132&oldid=59084 * Cortex * (-1) 22:33:33 -!- olsner has joined. 22:34:39 [[User:Cortex]] https://esolangs.org/w/index.php?diff=59133&oldid=59083 * Cortex * (+66) 22:35:11 [[LMBC]] https://esolangs.org/w/index.php?diff=59134&oldid=58424 * Cortex * (+7) 22:38:48 -!- heroux has quit (Ping timeout: 245 seconds). 22:43:57 -!- uplime has joined. 22:44:02 [[PixelCode]] N https://esolangs.org/w/index.php?oldid=59135 * SealedKiller * (+4677) Created page with "PixelCode is a esoteric programming language that was created by SealedKiller. It was inspired by Brainfuck and other esoteric programming languages. ==Language Overview== P..." 22:46:38 [[PixelCode]] https://esolangs.org/w/index.php?diff=59136&oldid=59135 * SealedKiller * (+129) 22:47:20 [[PixelCode]] https://esolangs.org/w/index.php?diff=59137&oldid=59136 * SealedKiller * (+69) 22:54:28 -!- salpynx has quit (Quit: Page closed). 22:59:14 -!- uplime has quit (Quit: please direct all IRC questions to c). 23:07:02 -!- Vorpal has quit (Ping timeout: 268 seconds). 23:07:16 -!- Vorpal has joined. 23:07:16 -!- Vorpal has quit (Changing host). 23:07:16 -!- Vorpal has joined. 23:54:13 -!- tromp has quit (Ping timeout: 245 seconds). 23:56:00 -!- tromp has joined.