00:02:02 -!- LKoen has quit (Quit: “It’s only logical. First you learn to talk, then you learn to think. Too bad it’s not the other way round.”). 00:12:39 -!- FreeFull has quit. 00:18:59 -!- tromp has joined. 00:23:02 fizzie: thanks for documenting more about HackEso on the wiki 00:23:18 I'll still have to write about the commands some time, especially rnoodl 00:23:26 `? rnooodl 00:23:27 rnooodl? ¯\(°​_o)/¯ 00:23:30 `? rnoodl 00:23:31 rnoodl? ¯\(°​_o)/¯ 00:23:34 `? nooodl 00:23:35 -!- tromp has quit (Ping timeout: 250 seconds). 00:23:35 noooodl is the correct spelling 00:23:39 `? noodl 00:23:40 noooooooodl is the correct spelling 00:23:41 `? nooodl 00:23:43 nooooodl is the correct spelling 00:23:48 `? nooooooooooooooooooooooooooooooooooooooooodl 00:23:49 noooooodl is the correct spelling 00:24:00 (that's actually a built-in pattern in the ? command) 00:24:11 (recognizing that argument that is) 00:38:22 -!- xkapastel has joined. 01:01:33 fa 01:01:36 adsfasdfasdf 01:02:27 pro tip: address bar autocomplete does not work when your cursor is in the irccloud text box 01:18:34 -!- oerjan has joined. 01:29:06 wait what, the wiki diff has improved 01:29:42 it actually matches words in a paragraph to two different ones in the post-edit 01:31:45 well maybe that's not a case that was broken previously. 01:32:06 `../bin/help 01:32:10 ​? ¯\(°​_o)/¯ 01:33:24 It's also possible the MediaWiki upgrade did improve it. 01:41:51 [[HackEso]] M https://esolangs.org/w/index.php?diff=67480&oldid=67479 * Oerjan * (-1) /* Implementation details */ an -> a 01:42:33 i'm assuming it's pronounced like u-m-l-box 02:03:50 `` url ../bin/rainwords 02:03:51 https://hack.esolangs.org/repo/file/tip/bin/rainwords 02:05:55 hm pikhqbow is a binary 02:06:04 `dobg pikhqbow 02:06:11 8746:2016-07-05 ` gcc -Os -s src/pikhqbow.c -o bin/pikhqbow \ 8744:2016-07-05 ` gcc -Os -s src/pikhqbow.c -o bin/pikhqbow \ 8742:2016-07-05 ` gcc src/pikhqbow.c -o bin/pikhqbow 02:06:48 `url ../src/pikhqbow.c 02:06:48 https://hack.esolangs.org/repo/file/tip/src/pikhqbow.c 02:07:43 `wrl 02:07:44 https://hack.esolangs.org/repo/file/tip/wisdom 02:07:46 `brl 02:07:46 -!- tromp has joined. 02:07:47 brl? 02:08:00 `sakdfnla 02:08:03 sakdfnla? 02:08:18 ah. it no longer seems to try to use only as many colors as will fit in a line 02:08:35 which means i don't have to fix it for changed line length :P 02:09:20 Oh, right, there was something like that at some point. 02:09:28 `cbt wrl 02:09:29 url "$HACKENV/wisdom/$1" 02:10:03 `mkx ../bin/brl//url "$HACKENV/bin/$1" 02:10:10 `u 02:10:13 `brl brl 02:10:14 ​../bin/brl 02:10:17 u? 02:10:17 -!- jix has quit (Ping timeout: 268 seconds). 02:10:18 https://hack.esolangs.org/repo/file/tip/bin/brl 02:11:26 `mkx ../bin/u//cd ${HACKENV-/hackenv}; nur "$1" 02:11:28 ​../bin/u 02:11:37 `u ls 02:11:38 bin \ canary \ emoticons \ esobible \ etc \ f \ factor \ hw \ ibin \ interps \ karma \ le \ lib \ misle \ paste \ ply-3.8 \ quines \ quotes \ share \ src \ stuff \ tmflry \ tmp \ wisdom 02:12:01 but what if HACKENV has a space in it htdnh 02:12:15 -!- tromp has quit (Ping timeout: 252 seconds). 02:12:26 `u mkx bin/u//cd "${HACKENV-/hackenv}"; nur "$1" 02:12:28 bin/u \ /hackenv/bin/u: line 2: unexpected EOF while looking for matching `"' \ /hackenv/bin/u: line 3: syntax error: unexpected end of file 02:12:46 hum 02:13:02 `cbt mkx 02:13:03 key=$(mk "$@") && echo "$key" && chmod +x "$key" 02:13:15 `cbt mk 02:13:16 ​[[ "$1" == ?*//* ]] || { echo usage: "mk[x]" file//contents >&2; exit 1; }; key="${1%%//*}"; value="${1#*//}"; echo "$value" > "$(echo-p "$key")" && echo "$key" 02:14:56 What's the u in `u short for? 02:15:07 "up" 02:15:12 h was taken 02:15:33 and r might suggest / instead 02:15:50 `u mkx bin/uh//u "$@" | h 02:16:01 `uh huh 02:16:04 uh? 02:16:07 -!- jix has joined. 02:16:19 `cbt u 02:16:20 cd "${HACKENV-/hackenv}"; nur "$1" 02:16:43 What happened to shachaf's command? 02:16:54 `nur mkx ../bin/u//cd "${HACKENV-/hackenv}"; nur "$1" 02:16:55 ​../bin/u 02:17:03 huh 02:17:15 `cbt u 02:17:16 cd "${HACKENV-/hackenv}"; nur "$1" 02:17:36 It sure looks like it ought to just work. 02:17:47 fizzie: shamagic 02:17:47 fizzie: HackEso rightly decided it was a terrible idea and ignored it. 02:19:18 Oh, that kind of magic. 02:19:47 I took it seriously, probably because it seemed to be not that far off the mean goodness of HackEso command ideas. 02:20:15 `u ls share 02:20:19 If u and h each have goodness ε, uh has goodness ε². 02:20:21 8ballreplies \ airports.dat \ autowelcome_status \ awesome \ ballreplies \ candide \ cat \ Complaints.mp3 \ conscripts \ construct_grams.pl \ delvs-master \ dict \ dict-words \ esolangs.txt \ esolangs.txt.sorted \ headers \ headers.gch \ hello \ lua \ maimer \ maimery \ maze \ mtg \ nothp \ recipe \ scapegoats \ scowrevs \ sedtest \ UnicodeData.txt \ unic.txt \ units.dat \ usercmds \ whatis \ wisdom \ WordData 02:20:39 ok u seems to work there 02:20:50 ``u or `u` might actually make sense, though. 02:20:55 `` u huh |& h # just testing 02:20:56 ​/hahckehnv/bihn/nuhr: lihne 2: huhh: cohmmahnd noht fouhnd 02:20:58 `u echo "testing" "more testing" 02:20:58 ​"testing" "more testing" 02:21:46 perhaps there was a race condition between u modifying itself and editing itself 02:21:55 er, *reading 02:24:46 `u ` ls | h 02:24:47 bihn \ cahnahry \ ehmohtihcohns \ ehsohbihble \ ehtc \ f \ fahctohr \ hw \ ihbihn \ ihntehrps \ kahrma \ le \ lihb \ mihsle \ pahste \ ply-3.8 \ quihnehs \ quohtehs \ shahre \ src \ stuhff \ tmflry \ tmp \ wihsdohm 02:25:44 shachaf: `u ` works, anyway 02:26:02 `cbt ~ 02:26:06 cat: /hackenv/bin/~: No such file or directory 02:26:10 whoa 02:26:18 prime rbal estate 02:26:56 `` echo $HOME 02:26:57 ​/tmp 02:27:05 -!- jix has quit (Ping timeout: 276 seconds). 02:27:42 Maybe it's actually awkward to type. 02:33:31 -!- jix has joined. 02:57:01 -!- xkapastel has quit (Quit: Connection closed for inactivity). 03:16:39 [[LogOS]] N https://esolangs.org/w/index.php?oldid=67481 * IFcoltransG * (+654) Created page with "{{lowercase}} '''logOS''' is an imperative and partially object-oriented language based around the 'Desktop metaphor' that modern operating systems use. It was brainstormed wi..." 03:16:52 [[Language list]] https://esolangs.org/w/index.php?diff=67482&oldid=67467 * IFcoltransG * (+12) /* L */ added logOS 03:30:34 -!- hppavilion[1] has joined. 03:47:54 [[LogOS]] https://esolangs.org/w/index.php?diff=67483&oldid=67481 * IFcoltransG * (+1082) Added code samples, tidied up headings 03:52:41 -!- imode has joined. 03:53:33 [[Hunter]] https://esolangs.org/w/index.php?diff=67484&oldid=53690 * YamTokTpaFa * (+12) +deadlink 03:56:02 -!- tromp has joined. 04:00:41 -!- tromp has quit (Ping timeout: 276 seconds). 04:15:41 [[LogOS]] https://esolangs.org/w/index.php?diff=67485&oldid=67483 * IFcoltransG * (+479) Added info on 'programs' i.e. objects within the OS 04:16:37 [[LogOS]] M https://esolangs.org/w/index.php?diff=67486&oldid=67485 * IFcoltransG * (+2) Word choice - resolved ambiguity 04:21:01 [[User:IFcoltransG]] https://esolangs.org/w/index.php?diff=67487&oldid=66651 * IFcoltransG * (+6) Added link to logOS 04:22:31 [[User:IFcoltransG]] https://esolangs.org/w/index.php?diff=67488&oldid=67487 * IFcoltransG * (+75) Formatted new link 04:53:57 -!- hppavilion[1] has quit (Ping timeout: 240 seconds). 05:03:38 -!- Lord_of_Life has quit (Ping timeout: 245 seconds). 05:04:12 -!- Lord_of_Life has joined. 05:24:12 -!- hppavilion[1] has joined. 05:29:03 -!- hppavilion[1] has quit (Ping timeout: 245 seconds). 05:40:50 -!- hppavilion[1] has joined. 05:44:17 -!- tromp has joined. 05:49:03 -!- imode has quit (Ping timeout: 245 seconds). 05:49:14 -!- tromp has quit (Ping timeout: 276 seconds). 06:44:11 -!- hppavilion[1] has quit (Ping timeout: 265 seconds). 06:44:42 -!- hppavilion[1] has joined. 07:08:45 -!- hppavilion[1] has quit (Ping timeout: 268 seconds). 07:32:42 -!- tromp has joined. 07:37:07 -!- tromp has quit (Ping timeout: 252 seconds). 07:47:02 -!- tromp has joined. 08:45:36 [[Bin-8]] https://esolangs.org/w/index.php?diff=67489&oldid=67463 * OsmineYT * (+2) 08:53:19 the clank today looks very much like the leftmost one here http://www.girlgeniusonline.com/comic.php?date=20060605 09:00:02 -!- b_jonas has quit (Remote host closed the connection). 09:05:44 -!- arseniiv has joined. 09:12:58 in fact it's the only one to survive the following scenes 09:16:19 -!- oerjan has quit (Quit: Nite). 09:27:11 -!- tswett[m] has quit (Read error: Connection reset by peer). 09:27:34 -!- ddmm_ has quit (Read error: Connection reset by peer). 10:12:14 -!- Lord_of_Life has quit (Read error: Connection reset by peer). 10:15:42 -!- Lord_of_Life has joined. 10:18:04 -!- kingoffrance has quit (Ping timeout: 268 seconds). 10:24:31 -!- xkapastel has joined. 10:47:51 -!- tswett[m] has joined. 10:47:51 -!- wmww has joined. 10:47:51 -!- ddmm_ has joined. 11:02:22 -!- laerling_ has joined. 11:03:03 -!- laerling_ has quit (Client Quit). 11:03:08 -!- laerlingSAP has joined. 11:03:37 -!- laerlingSAP has quit (Client Quit). 11:17:09 -!- laerlingSAP has joined. 11:18:56 -!- laerlingSAP has quit (Client Quit). 11:19:28 -!- laerlingSAP has joined. 12:32:01 -!- laerlingSAP_ has joined. 12:32:08 [[User:OsmineYT]] https://esolangs.org/w/index.php?diff=67490&oldid=67470 * OsmineYT * (+10) 12:32:42 -!- haavard has quit (Remote host closed the connection). 12:33:46 -!- haavard has joined. 12:34:32 -!- laerlingSAP_ has quit (Client Quit). 12:34:50 -!- laerlingSAP_ has joined. 12:34:52 -!- laerlingSAP_ has quit (Client Quit). 12:35:05 -!- laerlingSAP has quit (Ping timeout: 265 seconds). 12:35:14 -!- laerlingSAP has joined. 12:43:43 [[Cell]] N https://esolangs.org/w/index.php?oldid=67491 * OsmineYT * (+625) Created page with "Cell is Turing-complete language founded by [[User:OsmineYT|OsmineYT]] in 2019. The sense of making this language is simple: '''make an Turing-complete language first instead..." 12:43:54 [[Cell]] https://esolangs.org/w/index.php?diff=67492&oldid=67491 * OsmineYT * (-3) 12:44:04 [[Cell]] https://esolangs.org/w/index.php?diff=67493&oldid=67492 * OsmineYT * (-1) 13:02:30 -!- wib_jonas has joined. 13:03:44 so, I created an entry for HackEso on the wiki and now fizzie filled it with a lot of useful information. am I allowed to point to 13:03:45 `quote boring wisdom 13:03:46 1263) boily: sorry for the boring wisdom entries I added. I mostly did it hoping that someone will stumble on them and replace them with something better. 13:03:59 ^ this now and say "they're not laughing now"? 13:04:44 I need to learn the stereotypical mad scientist laugh. 13:06:48 [[Cell]] https://esolangs.org/w/index.php?diff=67494&oldid=67493 * OsmineYT * (+232) 13:07:24 [[Cell]] https://esolangs.org/w/index.php?diff=67495&oldid=67494 * OsmineYT * (+1) 13:08:24 [[Cell]] https://esolangs.org/w/index.php?diff=67496&oldid=67495 * OsmineYT * (+43) 13:09:20 [[Talk:Cell]] N https://esolangs.org/w/index.php?oldid=67497 * OsmineYT * (+49) Created page with "Anyone here? If you want, try making interpreter." 13:11:15 [[Talk:Cell]] https://esolangs.org/w/index.php?diff=67498&oldid=67497 * OsmineYT * (+181) /* Most commands are same as in brainfuck */ new section 13:12:00 [[Talk:Cell]] https://esolangs.org/w/index.php?diff=67499&oldid=67498 * OsmineYT * (+4) 13:13:21 [[WALP]] https://esolangs.org/w/index.php?diff=67500&oldid=12858 * PythonshellDebugwindow * (+841) Explaining your loop example 13:33:25 [[Language list]] https://esolangs.org/w/index.php?diff=67501&oldid=67482 * OsmineYT * (+13) 13:34:18 -!- laerlingSAP has quit (Quit: Leaving). 13:38:17 -!- sprocklem has quit (Ping timeout: 240 seconds). 14:02:12 [[W (A)]] M https://esolangs.org/w/index.php?diff=67502&oldid=66964 * A * (+211) /* 99 bottles of beer */ 14:09:04 I'm not sure what I added to the HackEso entry is particularly useful, it's just answering a question that's come up every now and then. 14:40:04 -!- imode has joined. 14:45:20 continuing with the mantra "code == data && data == code", I think I'm not going to have traditional segmented executables for Mode bytecode. 14:47:39 instead, an executable is just a giant switch statement. if you wanna extract a couple bytes from segment 1, you need to actually _run_ the file, send the interpreter the segment you want to evaluate, then send it an index into the byte array (provided that segment is a byte array...) 14:53:16 imode: are you saying that you're trying to make an interpreter that is fully lazy in the way that Haskell is, as in, any value can be a thunk that you have to evaluate later? 14:54:21 yessir. 14:55:13 if you want an array, generate a switch statement. if you want an array who's contents are the fibonacci sequence, the protocol is the same. 14:57:46 @oeis A45 14:57:49 https://oeis.org/A000045 Fibonacci numbers: F(n) = F(n-1) + F(n-2) with F(0)... 14:57:49 [0,1,1,2,3,5,8,13,21,34,55,89,144,233,377,610,987,1597,2584,4181,6765,10946,... 14:57:56 ^oeis A45 14:57:57 =oeis A45 14:57:57 No such command. Try =help. 14:57:58 `oeis A45 14:57:59 oeis? 14:58:27 HackEso now has error messages better than ed 14:58:46 `/dev/null 14:58:47 ​/dev/null? 14:58:55 `/dev 14:58:56 ​/dev? 15:01:00 you can also provide metadata about the entire program within this segmented system. for instance, if I have a segment that I want to use precompiled jump targets, I can generate some Mode bytecode to simulate a simple map between an instruction pointer and a jump target. 15:02:55 "evaluate segment 1. if I'm executing a [ or a ] instruction, evaluate segment 0 with parameter $ip. examine the queue after evaluation, fetch the returned result, and set $ip to that result." 15:04:02 it won't be as fast because you still need to evaluate segment 0 without jump targets.. but imo if you want speed, this kind of information should be in a separate file that you can set up to read. 15:08:14 -!- diverger has quit (Ping timeout: 276 seconds). 15:10:42 -!- diverger has joined. 15:43:06 -!- imode-ruby has joined. 15:44:15 -!- xkapastel has quit (Quit: Connection closed for inactivity). 15:46:02 I did think of adding a perror in that error message when the error is execve failing, though thing is it does the path search, so if execve fails due to /hackenv/bin/foo not having +x set, and then later due to /bin/foo and /usr/bin/foo not existing, the last errno would be the misleading ENOENT rather than the more relevant EACCESS. 15:46:56 The glibc execp family actually special-cases this, if one of the attempted executions fails with EACCESS, the search does continue but the final error is still EACCESS unless something that works is found. 15:47:15 -!- imode-ruby has quit (Client Quit). 15:47:33 -!- imode-ruby has joined. 15:48:34 weechat doesn't work that well under tmux && ssh. 15:48:52 color bars get weird. 15:55:36 -!- kspalaiologos has joined. 15:59:42 -!- imode has quit (Ping timeout: 268 seconds). 16:00:35 -!- imode has joined. 16:02:47 -!- atslash has quit (Ping timeout: 268 seconds). 16:04:55 -!- imode-ruby has quit (Quit: WeeChat 1.6). 16:05:10 -!- imode-ruby has joined. 16:05:41 there we go, much better. 16:07:18 -!- imode has quit (Quit: WeeChat 2.6). 16:07:36 -!- imode has joined. 16:10:29 -!- imode-ruby has quit (Quit: WeeChat 1.6). 16:10:39 -!- imode-ruby has joined. 16:11:10 -!- stux|away has quit (Read error: Connection reset by peer). 16:16:37 -!- imode has quit (Ping timeout: 240 seconds). 16:27:55 I've been writing a brainfuck generator today 16:28:07 crunched around 1MB data file 16:28:18 too bad I can't eaisly rewrite it to brainfuck though 16:28:27 RLE'd it would be, I guess, around 2 megabytes 16:28:59 but yeah currently it's going like 16:29:00 http://prntscr.com/q2wtuq 16:29:21 -!- stux|away has joined. 16:31:10 kspalaiologos: is that a compiler to bfasm? 16:31:31 um, I mean to asm2bf 16:34:25 nope, not the case 16:34:30 a brainfuck text generator in asm2bf 16:34:41 also, bfasm and asm2bf are two separate things 16:34:53 asm2bf is the entire toolkit and bfasm is just the compiler 16:40:16 ok, now I'm confused 16:40:30 there's a bfasm compiler, and an asmbf and an asm2bf? how do those differ? 16:40:45 it's even more complicated 16:40:47 and what does "text generator" mean? 16:40:58 like bf_textgen or something like this on hack eso 16:41:04 so actually, bfasm is older than asm2bf 16:41:19 I don't know what bf_textgen is either 16:41:22 `? bf_textgen 16:41:23 bf_textgen? ¯\(°​_o)/¯ 16:41:30 that makes a brainfuck program 16:41:32 displaying given text 16:41:35 ok 16:41:37 and bfasm had v1/v2/v3/v4/v5 versions each one with a-d letters (some skipped some version) 16:41:45 that I used for my Izmit compiler series 16:42:00 but then I abadoned it for a while and went back to the ye oldie bfasm v1 16:42:06 I had to come up with the versioning schema 16:42:25 so the v* versions are for izmit, and [0-9]\.* versions are the new ones 16:42:33 going back to your question 16:42:45 bfasm is a compiler from assembly subset to brainfuck 16:42:46 for instance 16:42:54 ``` bfasm <<<"lbl 1/jmp 1" 16:42:55 ​+>+[# 16:43:15 ``` tr '/' '\n' <<<"lbl 1/jmp 1" | bfasm 16:43:16 ​+>+[>>>+<<+<<[>>->+<<<-]>>>[<<<+>>>-]<[->+<<[>>>-<<+<-]>[<+>-]>>[<->[-]]<[<<<+>>>-]<]>>[-]<<<<[>>+>+<<<-]>>[<<+>>-]>[[-]>>>>>>+<<<<<<<<<[-]>[-]>>>>>>>>[<<<<<<<<+>+>>>>>>>-]<<<<<<<[>>>>>>>+<<<<<<<-]>>>>>>>[-]<<<<<<]<<<[>>+>+<<<-]>>[<<+>>-]>[[-]<<<[-]>[-]>>]<<] 16:43:18 there we go 16:43:29 asm2bf is a toolchain 16:43:33 that has bfasm as a tool 16:43:41 like MinGW and GCC 16:43:49 the toolchain has many goodies linked in 16:44:06 like the standard library, labels preprocessor, the generic macro preprocessor 16:44:46 $asm2bf eq $asmbf basically 16:45:17 oh and by the way 16:45:19 ok, so asm2bf has the compiler and some extras 16:45:21 the above is an infinite loop 16:45:24 Yes. 16:45:32 https://esolangs.org/wiki/Asm2bf 16:45:38 this page lists all the tools in the toolchain 16:45:42 naming them that way is a bit strange, but sure 16:45:57 and has a bfasm section describing the pure assembler 16:46:02 without the toolchain programs 16:46:07 e.g. it doesn't use named labels, macros 16:46:12 but you obviously can do it 16:46:39 I first named it asm2bf 16:46:43 but the source file was called bfasm 16:46:49 then somebody lurked my repos and found the program 16:46:52 it had no docs by then 16:46:58 he asked me how can he use it 16:47:06 and we talked a bit more, so the fragmentation happened 16:47:15 because he reffered to it by a source file name (bfasm.c) 16:47:23 and I reffered to it by the name I've given (asm2bf) 16:47:36 as he's been assisting me with the docs, he called the tool bfasm 16:47:42 and I kinda settled on it 16:47:53 after making a few more tools I set up a separate repo 16:47:54 so now you're making a text generator that you embed to the toolchain so that you can make a shorter 8-ball program for example? 16:48:02 nope 16:48:06 I'm making a text generator 16:48:08 using asm2bf 16:48:17 but, I can embed it to the toolchain 16:48:32 it has no sense to me though, but a more performant txt would be lovely 16:48:39 and I'll work on it later 16:48:42 look: 16:48:47 `asmbf txt "Hello" 16:48:48 ​+>+[<[>>+>+<<<-]>>[<<+>>-]>[[-]>>>>>>>>>>>>>>>>>++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>>+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>>++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++>>++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++> 16:48:54 It's using + to embed the string 16:49:04 it's terrible, because we have to conserve runtime memory 16:49:13 I could set a multiplication loop though 16:49:21 I'll work more on it when time permits 16:49:50 the naming is pretty scary 16:49:54 but the assembler itself is really easy 16:50:06 and getting started is as simple as adding a shebang and executing a file to get a brainfuck program generated 16:54:11 wib_jonas, got bored to death lol? 16:54:25 no, I just find it weird that the whole thing involves brainfuck 16:54:44 It has a Malbolge target too 16:54:49 but I keep it private for obvious reasons 16:55:24 I mean, I'm at work right now, and I'm doing weird things to work around the deficiencies of a legacy system, but it's not an esoteric one like brainfuck, it's just weird for all sorts of historical reasons, 16:55:56 right 16:55:59 like they made the system some way ten to twenty years ago, and they can't change things because they value compatibility, 16:55:59 how old is the system though? 16:56:03 ah, finme 16:56:09 depends on which parts 16:56:12 which technology? 16:56:25 is it using 16:56:38 and more importantly, what exactly is it? Webapp, desktop app? 16:56:42 Siemens WinCC was originally designed for the 16-bit windows era, so it has the oldest weird stuff 16:56:54 it runs on windows desktop 16:57:18 fine 16:57:20 I hear wincc 16:57:24 and I know what is it by now 16:57:25 and it's a recent version, and this one runs on windows 10 and some windows server version, I'm not sure which one 16:57:38 but there are all sorts of newer stuff here too 16:57:57 I had a friend that used to work in CodeGear 16:57:59 like parts of the system designed within the company and copied from one system to another and ideally gradually patched and improved 16:58:03 a part of Inprise / Borland 16:58:11 and maintain the C++ Builder 16:58:38 he said that it contained tons of old shitcode dating back to MS-DOS since C++ Builder 6 16:59:04 honestly I'd like to work somewhere where I could program&improve compilers/IDE's 16:59:13 because it seems like a suitable task for me 16:59:32 and there are like cases when there's an old project A, then two different projects B and C indirectly derived from it, then at some point a certain breaking change of the internals was made between A and C, but now I'm working on B which is under development, and 16:59:37 but I'm stuck where I am lol 17:00:03 I need to get my COBOL backend for asm2bf finally sorted out 17:00:10 it would be the first official backend other than brainfuck itself 17:00:14 I have to find out if B will have the old or the new behavior with respect to that internal interface, and that's a question that doesn't even have an answer yet because the code on the other side of the interface isn't written yet, and will be written by a busy co-worker, 17:00:28 is there someone in the team 17:00:30 who knows A? 17:00:37 or took part in creating it? 17:00:40 so we have to ask him to decide how it will work and make our match that interface. 17:00:47 or you have to figure out the entire code yourself 17:00:57 I know how this particular interface works in A 17:01:22 I think 17:01:27 is there a way using C preprocessor 17:01:31 to do something like 17:01:33 basically it's a word in which bit 15 is set to mean something in A, but 14 is set to mean the same thing in C, and I read that bit 17:02:04 perform a single operation for every character in any form? 17:02:06 so in the tables that I'm making, I have to write 14 or 15 depending on what a co-worker's program will do in the future 17:02:17 ^ just macro it 17:02:25 and there's even a reason why it was changed from bit 14 to 15, though not a very good reason 17:02:59 I don't have to figure out everything myself, I found out a lot already from my project leader who knows a lot of these projects 17:03:15 and I am somewhat in debt to document some of what I've found for future maintainers 17:03:44 C preprocessor to perform a single operation for every character => I believe no, but you can 17:03:57 like 17:04:10 raw .H/raw .E/raw .L/raw .L 17:04:11 etc... 17:04:15 where / is a newline 17:04:18 -!- Lord_of_Life_ has joined. 17:04:48 use the C preprocessor to do something on every element on a comma-separated list, or every element on a list where each element is parenthisized, https://p99.gforge.inria.fr/ and https://www.boost.org/doc/libs/1_71_0/libs/preprocessor/doc/index.html help in these 17:04:53 -!- Lord_of_Life has quit (Ping timeout: 245 seconds). 17:05:20 also in very recent C++ there's a way to do something on every character of a string literal, or of a user-defined string literal, in compile time 17:05:37 yeah I know 17:05:39 -!- Lord_of_Life_ has changed nick to Lord_of_Life. 17:05:43 but I want the substitution to be done in compile time 17:05:53 does it have to be during preprocessing? 17:05:58 yes 17:06:11 because I'm using C preprocessor with asm2bf and it has been the worst decision I made so far 17:06:17 ouch 17:06:38 I regret it 17:06:42 but I think its not too late 17:06:44 to change it 17:06:49 mind you, I wrote a somewhat esoteric custom preprocessor for C code at one point, and it was also a bad decision, but I used it for only one C program 17:07:26 it has to support define 17:07:28 and include 17:07:33 ifdef ifndef else endif 17:07:43 possibly the same as C preprocessor without paste operation 17:07:45 and concat 17:07:48 stringify 17:07:56 with some compile time stuff 17:08:02 I think about bundling lua here 17:08:08 to allow user to do everything they wish 17:09:09 that one allows you to embed ed commands (with some prefix, let's say #.) into the code, so I can copy a block of code like this: #.ka to mark the beginning of the block, then the block, then #.kb to mark the end, then some other code, then #.kc #.'a,'bt. #.kd to copy the block, then #.'c,'ds/foo/bar/g to do some substitutions on the copy of the 17:09:09 block 17:09:37 and I implemened this with a shell script that uses a short sed script that transforms the input to an ed script and runs it with ed 17:09:51 it's a really stupid design and I'm glad it hasn't survived, but it still haunts me 17:10:16 little you have seen 17:10:37 I heard rumors of other people who have written sed scripts with other sed scripts 17:10:44 I'm doing worse stuff on a daily basis 17:11:17 and there's an IOCCC entry that writes C++ preprocessor input with the C++ preprocessor (so you run multiple iterations of the C++ preprocessor) 17:11:23 asm2bf is a somehow 90% coverage program 17:11:24 possibly two IOCCC entries, I don't remember 17:11:33 albeit being so hacky I can't believe it works 17:12:16 kspalaiologos: I'm trying to *clean up* worse stuff on a daily basis for my job, replacing them with saner solutions. I don't always succeed, but when I do, it's at least a good feeling to know that the projects will now be more maintainable. 17:12:40 ^ at least I am writing Malbolge and Brainfuck 17:12:49 at least they will be if I write enough internal documentation so that future maintainers can figure out how to use what I made 17:12:50 so it's resonable that the programs have terrible maintainability 17:13:04 but you're doing some real stuff 17:13:21 when I'm doing real stuff I'm trying to do it as good as I can 17:13:33 so I'm not very performant but the job gets done 17:13:46 possibly you have shorter deadlines than me 17:13:54 I can understand it then 17:14:31 real stuff during the day, yes 17:15:33 I'd like to say that I'm cleaning up badly done stuff that other people made for these projects and their ancestors, but it's not entirely true. I have now worked here for long enough that I'm totally also cleaning up bad stuff that I've done to these projects. 17:15:57 I'd throw an obligatory joke 17:16:02 about Indian programmers 17:16:26 but I'm kinda more careful on foreign IRC networks lol 17:16:31 But some of the bad design results from how this company used to have mostly employees who understand electronics well but don't understand enough of programming, so the desktop software side, which is what I'm working on, is in a sad state. 17:16:50 ^ that actually sucks 17:17:53 But now they've lost several people who knew the electronics and embedded control software well, so now the desktop software will be good and the rest will be rushed by overworked employees. 17:20:11 By the way, unrelated puzzle. In windows 10, how do you move a window such that its top is above the top of your desktop? The window manager normally adjust the location after you as a user move a window, so that they can't be above the top edge. Programs can still put their windows above it, but this is when you're a user moving the window of an 17:20:12 existing program. 17:21:55 Solution: open Control Panel / Ease of Access / Ease of Access Center / Make the mouse easier to use, and in there, check "prevent windows from being automatically arranged when moved to the edge of the screen". That checkbox has other, more important effects, but as a side effect it lets you move windows above the top edge of the desktop. 17:37:51 -!- wib_jonas has quit (Quit: Connection closed). 18:15:14 prevent windows from becoming automatically enraged 18:36:14 addition chains are so much fun. http://paste.debian.net/1118289/ 18:37:59 hmm, actually, can't I stop earlier... 18:39:18 [[Special:Log/newusers]] create * Dart * New user account 18:39:22 (Yes, I can. x^(2^30) = 1 (mod 2^32) is true for all odd x.) 18:50:25 [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=67503&oldid=67383 * Dart * (+219) /* Introductions */ 19:05:28 -!- b_jonas has joined. 19:19:11 -!- atslash has joined. 19:23:54 -!- FreeFull has joined. 19:24:28 -!- atslash has quit (Ping timeout: 265 seconds). 19:25:19 -!- atslash has joined. 20:07:02 -!- nico_nico has joined. 20:07:40 -!- nico_nico has quit (Client Quit). 20:09:34 -!- Hooloovo0 has quit (*.net *.split). 20:11:40 -!- Hooloovo0 has joined. 20:24:10 -!- kingoffrance has joined. 20:25:59 -!- enoua5 has joined. 20:26:28 -!- enoua5 has left. 21:45:45 and in there, check "prevent windows from being automatically arranged when moved to the edge of the screen". => oh, thanks from me too! Though when applying, that also resets the mouse cursor scheme :( thankfully I have mine saved 21:47:25 (b_jonas ^) 21:53:21 [[Keg]] https://esolangs.org/w/index.php?diff=67504&oldid=67000 * JonoCode9374 * (+880) /* Program Flow */ 21:53:47 -!- sprocklem has joined. 21:54:15 what video games have you played lately, fungot 21:54:16 b_jonas: what is tco again? ( c-c something) to reduce clutter of name generation. i don't particularily find it very interesting. y is the identity function) ( list 3 4)) 21:55:15 [[The Temporary Stack]] https://esolangs.org/w/index.php?diff=67505&oldid=67468 * PythonshellDebugwindow * (+251) /* Hello, World! */ 21:56:00 =8ball bfbot, will I ever implement markov chains for you? 21:56:00 Outlook not so good 21:56:08 yeah he knows 21:57:44 -!- gitlogger has joined. 21:57:49 ^ my bot died 21:57:53 but I'm not sure when and why 21:57:58 or I don't seem to remember 21:58:08 anyways, it's back in business 22:00:55 s/in business/& for december/ to keep the rhyming 22:01:15 ^ lol 22:01:22 but the stability pun is in place here too 22:03:21 kspalaiologos: if you teach bfbot bfasm, will you interpret it directly, or will you have it go through a compiler to bf then a bf interpreter that recognizes the structures of the bfasm output and executes them optimized? 22:03:23 [[Cell]] https://esolangs.org/w/index.php?diff=67506&oldid=67496 * JonoCode9374 * (+519) 22:03:35 honestly I'm not sure 22:03:42 I think about making some kind of bfasm interpreter 22:03:47 because it would make more sense 22:03:58 but, there is raw too 22:04:01 to embed raw brainfuck 22:04:13 so I guess I'll have to switch the modes whether I grep somewhere this text 22:04:30 ^~~ i should parse the code, so normal grep wont suffice 22:05:39 -!- sebbu2 has joined. 22:07:30 -!- kspalaiologos has quit (Quit: Leaving). 22:08:38 -!- sebbu has quit (Ping timeout: 245 seconds). 22:19:22 -!- arseniiv has quit (Quit: gone completely :o).