00:08:38 -!- sprocklem has quit (Ping timeout: 246 seconds). 00:16:57 -!- hppavilion[2] has quit (Ping timeout: 252 seconds). 00:23:36 -!- xkapastel has joined. 00:29:28 -!- sprocklem has joined. 00:50:34 -!- MDude has quit (Read error: No route to host). 00:51:39 -!- imode has quit (Ping timeout: 264 seconds). 00:55:28 -!- ArthurStrong has quit (Ping timeout: 252 seconds). 00:57:31 -!- MDude has joined. 01:19:43 -!- imode has joined. 01:27:30 -!- shachaf has quit (Quit: ?). 01:29:03 -!- shachaf has joined. 03:03:22 -!- xkapastel has quit (Quit: Connection closed for inactivity). 03:15:55 -!- xkapastel has joined. 04:22:50 -!- imode has quit (Ping timeout: 240 seconds). 05:41:38 -!- sprocklem has quit (Ping timeout: 240 seconds). 06:12:34 -!- arseniiv has joined. 06:32:35 -!- sprocklem has joined. 06:40:44 -!- sprocklem has quit (Ping timeout: 265 seconds). 06:53:23 -!- xkapastel has quit (Quit: Connection closed for inactivity). 07:06:05 -!- Phantom_Hoover has joined. 07:09:19 -!- Phantom_Hoover has quit (Read error: Connection reset by peer). 07:11:38 -!- sprocklem has joined. 07:12:52 -!- xkapastel has joined. 07:21:17 -!- sprocklem has quit (Ping timeout: 240 seconds). 07:32:35 -!- sprocklem has joined. 10:13:23 -!- xkapastel has quit (Quit: Connection closed for inactivity). 12:31:50 -!- int-e has quit (Quit: leaving). 12:33:25 -!- int-e has joined. 12:55:19 -!- zzo38 has quit (Ping timeout: 265 seconds). 12:56:44 -!- b_jonas has joined. 13:00:23 shachaf: re higgedly, 13:00:25 `? rogue one 13:00:29 rogue one? ¯\(°​_o)/¯ 13:00:32 um, 13:02:28 ``` hg log -T "{rev}:{date|shortdate}:{desc}\n" -r 11915 13:02:29 11915:2019-08-26: `` set -e; slashlearn "spoiler//Don\'t give movie spoilers on channel. If you do, hppavilion may hire a hitman to hunt you down in real life and torture you in refined ways."; forget "rogue one" 13:03:00 shachaf: for a pretty long time, there was a "wisdom/rogue one" where someone says that nobody should give spoilers to that movie. 13:03:09 it wasn't signed by anyone, but hg log said that it was by hppavilion 13:03:24 at that time, hppavilion disappeared, so I didn't dare touch the wisdom entry 13:03:48 but later, hppavilion returned, I asked him about it, and converted the wisdom entry to a general one about all movies, rather than specifically about Rogue one 13:03:52 `? spoiler 13:03:53 Don't give movie spoilers on channel. If you do, hppavilion may hire a hitman to hunt you down in real life and torture you in refined ways. 13:03:59 the higgedly wisdom also refers to this 13:04:20 I changed them because I find it distasteful for wisdoms to have serious but unsigned threats 13:04:37 if you threaten to send hitmen, at least tell who's sending them 13:05:00 ``` hg cat -r 11914 wisdom/rogue\ one 13:05:01 Any regular who gives the slightest Rogue One spoiler shall be hunted down in real life and have their intestines removed through their eye sockets. Members would not be exempt if they existed, which they don't. 13:05:15 you can check channel logs about this if you want 13:06:08 it's the name of his sled 13:08:17 (such an odd movie) 13:09:47 good point http://thedevilspanties.com/archives/13421 13:54:22 -!- stennowork has joined. 13:55:25 Wow, what just happened to Violetta... 13:56:51 Ah, "it" from a week ago happened. 14:37:43 timezone offset change in the parts of Europe that have timezone offset changes in 3.5 days 14:38:03 oh wow b_jonas 14:38:10 er sorry 14:38:15 maybe i am mixing you up with someone 14:38:25 were you active in the nethack community? 14:38:32 stennowork: somewhat, yes 14:39:06 well hi, long time not seen :D 14:39:09 I have some wishlist entries and bug reports for nethack4, you can still find them in the bug tracker except that the bug tracker interface is really hard to use, 14:39:16 aah 14:39:16 hehe 14:39:19 plus I have a total of _one_ ascension behind me 14:39:30 you should really look into nethack again, amazing things have happened 14:39:42 feel free to join #hardfought :D 14:39:45 I know there's a vanilla release or two since 14:39:47 enough plugging now, sorry 14:39:49 yeah 14:39:56 they changed a lot of things, I'd have to relearn everything 14:40:00 and vanilla is basically better than NAO-3.4.3 was 14:40:02 which is amzing 14:40:05 figure out how to protect against all the threats that MC3 simply cancelled 14:40:27 my first post-MC nerf ascension just had MC2 and it worked fine :p 14:40:37 also the spoiler page http://www.statslab.cam.ac.uk/~eva/nethack/spoilerlist.html has disappeared 14:40:51 i think that was only a few days ago 14:40:58 the spoilers are probably not up to date anymore 14:41:06 even the wiki can't really keep up heh 14:42:00 stennowork: without MC3, do you, like, have to set your clothes on fire every time you're slimed? or prioritize on killing green slimes? 14:42:08 because being on fire sounds uncomfortable 14:42:17 you just have to be a little bit more careful 14:42:27 to be fair thuogh, if you are in gehennom, you should have FR already :P 14:42:34 the really biggest issue is level drain 14:42:38 from vampires 14:42:40 even with the Con score increased easily with exercise 14:42:45 and vlad is now the second-fastest monster in the game 14:43:00 didn't they also change exercise so that Dex, Con, Wis attributes are no longer so easy to max? 14:43:10 so he stands on the upstairs, hits you, level drains you, then teleports to the upstairs again before you even get an action 14:43:17 hmm 14:43:27 maybe, but i don't remember anything specific for that 14:43:31 I'm ok with vlad, the joke was old, I have to deal with some tough monsters for the ascension anyway 14:43:46 that just makes it more awesome to kill vlad with a towel or rubber hose or whatever 14:43:55 yes, i also like an actually strong monster in the endgame 14:44:02 or lategame rather 14:44:07 also, I play as a vampire lord, so I consider vlad friends 14:44:13 I do have to kill them, but it's not personal 14:44:14 haha 14:44:18 oh in nethack4? 14:44:26 or with polyself 14:45:01 in nethack4, but also would play that way in other nethack 3.4.3 variants 14:45:22 the fourweapon bug is so awesome that I don't see a reason to play as anything but polymorphed to a fourweaponing monster 14:45:34 haha 14:45:50 or that demon with six arms 14:45:52 basically if you're polymorphed to a monster that has two weapon attacks, then you get two attacks with each of two weapons, and you can wield two weapons regardless your role 14:46:07 oh, amazing 14:46:08 and the best polyform among those is the vampire lord 14:46:14 right 14:46:19 just no grayswandir for you then :P 14:46:35 there is a new variant called 'evilhack', which implemented twoweaponing martial arts 14:46:49 so when you are grand master you get a second attack as if you were twoweaponing 14:47:12 unfortunately a bug in that was my demise - the second attack would not check for gloves etc so the first cockatrice i ran into stoned me 14:47:26 did the later vanilla releases fix the fourweaponing bug, or the ring nutrition bug? or are these now ascended bugs that won't ever be fixed? 14:47:46 i have to admit i don't know of that fourweaponing bug 14:48:04 yeah, for some reason it's not everyone's style 14:48:07 ring nutrition is the one where you dual-wield rings of slow digestion and take them off every 20 turns or so? 14:48:09 I really don't understand because it's so powerful 14:48:22 twoweaponing got a major overhaul though since 3.4.3 14:48:38 I understand that sometimes you want to unpolymorph, or polymorph to something else, for utility reasons, but when I want to plough through enemies, I want attacks 14:48:41 its not more like a proper second attack, not that autodamage thing it was in 3.4.3 14:48:44 and I don't get those natively as a wizard 14:49:19 (my one ascension was with a valkyrie though) 14:49:32 i knew that you could polymorph into a twoweaponing monster and then you could twoweapon yourself 14:49:42 again i am not familiar with fourweaponing or if this bug still exist :D 14:49:46 but that sounds hilarious 14:49:53 (but I have a wizard game abandonned in close to gomode on nethack4) 14:54:02 b_jonas, so how about hanging out in #hardfought again? :D you will meet a few old friends (ais523 which i assume also dwells in this channel, jonadab etc...) 14:54:17 and you will see how the current development is and how exciting everything is 14:54:47 anyway, in the nh4 tracker I have a few actual bugs (rather than wishlists) that I have hard feelings about, and in particular, vanilla worked around the chest trap problem the incorrect way 14:54:55 m 14:55:08 stennowork: what the heck is #hardfought ? I haven't heard of that channel. I was in other nethack-related channels only 14:55:24 the hardfought server by K2 hosts nethack since 2016 14:55:37 and its the server where all the variants are now hosted too 14:55:50 so that channel is a bit like 'the variant channel' 14:56:13 #NetHack,#acehack,#nethack-offtopic,#devnull-nethack,#nethack4 14:56:20 ah yes 14:56:32 #devnull-nethack is dead because devnull is dead 14:56:42 that's not a problem, there's junethack instead 14:56:50 it's not like I want to play unpatched interface 14:56:53 with bobble hats 14:56:56 yes, and hardfought also hosts the 'TNNT' tournaments 14:56:57 haha 14:57:05 TNNT is a replacement for the devnull tourney 14:57:13 (i.e. it will start in a week!) 14:57:40 yes, the waldo power armor was awesome 14:58:17 if you see rld talking, its an IRC->discord bridge 14:59:34 stennowork: anyway, I said that I don't know how I arrived to this channel, to which ais523 said that maybe I followed him here from #nethack4, which sounds quite plausible 14:59:51 yes 14:59:59 ais523 is the only reason i just joined too :D 15:00:06 but there are other possibilities, and I didn't bother to check the logs 15:00:12 because in another channel, Befunge came up 15:00:16 logs probably has the truth 15:00:45 irc is awesome 15:00:56 lots of strange hackers aroudn :P 15:01:25 in another channel, i found the developer of ARES (corewars) hanging out 15:01:44 and ESR himself came online to talk about nethack 15:01:52 "ARES (corewars)"? isn't ARES a library for non-blocking DNS resolving 15:02:08 c-ares.haxx.se 15:02:09 https://harald.ist.org/sites/ares/ 15:02:12 https://c-ares.haxx.se/ 15:02:16 definitely is 15:02:17 that ares 15:02:37 they stole the name? 15:02:47 well ares is a very commoon name :D 15:02:51 i wouldn't say they stole it 15:02:58 its a greek god name among other things 15:03:01 -!- imode has joined. 15:03:20 and a name of a sharp tool too, I know 15:03:31 maybe ares is something like 'another redcode execution sandbox' or something like that 15:04:50 all the redcode stuff is named after roman and greek gods 15:04:55 there is mars, zeus and ares 15:05:11 anyway, enough channel hijacking, sorry for that v_v 15:05:11 I hope there's no "Athene" or "Athena". that's like the single most over-used name 15:11:40 stennowork: anyway, it's not likely that I'll return to playing nethack soon. I should write a bot that startscums an online server until it finds a wand of wishing on dlvl1 and then give away the game. It's not that unlikely, I could probably get such a game every few months. 15:12:30 stennowork: oh also, the 3.6 release seriously nerfs Elbereth, that means I'd basically have to relearn tactics from scratch 15:12:34 vt_tiledata is now in vanilla, so i already wrote some node abstraction 15:12:36 there's no way I could survive early game 15:12:42 so i have a startscum bot in node now 15:12:43 hehe 15:12:47 you will get used to it 15:12:53 scroll of scare monster was buffed though 15:13:04 also possibly a bot that tries to dig down as archaeologist and leave helpful bones 15:13:12 but that is hard 15:13:22 because it more likely uses up all existing bones than leave good ones 15:13:33 and without Elbereth the digging down strategy is much harder 15:13:54 but perma-E was OP you have to admit 15:13:59 I can't just keep digging on dlvl9 on a square with Elbereth and hope that the high level monsters leave me alone 15:14:11 stennowork: sure it was, but it's what I'm used to 15:14:13 no, you need ?oSM for that 15:16:06 stennowork: but (a) I have to find a scroll, (b) when I dig down, the scroll can fall to any neighboring square, including one where I can't dig down, and I can't pick it up, so I don't know how easily that would work 15:16:19 would I have to always dig wherever the scroll happens to fall? 15:16:29 anyway, it probably doesn't matter because this wouldn't work well in 3.4.3 either 15:16:47 yeah more or less 15:16:55 I did consider scumming wizards with wand of digging too, but they have just too few charges 15:17:08 I should probably stick to the wand of wishing strategy 15:17:23 look around on dlvl1, hope not to get killed, look for wands, quickly restart if there isn't any 15:17:24 yes, for dfv you basically need to go the mines and kill the first dwarf with a pickaxe 15:17:30 do you know about node.js ? 15:17:35 you could look at my project 15:17:37 if I find wand, engrave with it, wish for 2 bgf scrolls of charging 15:17:47 stennowork: no no, this is #esoteric, most of the fun is writing the bot itself 15:17:55 fair enough 15:17:57 if I do it, I want to do it myself 15:18:13 it's not like I would earn real life money from getting wands of wishing 15:18:13 well then let me say that its easier than ever before because of aforementioned vt_tiledata being in vanilla 15:18:32 (if I did, then I'd farm puddings then unicorns rather then startscum) 15:18:38 so if you have an ANSI-term parser, you have to just extend the extra escape codes 15:19:21 i wrote a short wiki article about the new vt_tiledata codes https://nethackwiki.com/wiki/Vt_tiledata 15:20:03 stennowork: no no, I don't want to dfv, I just considered digging down with an unprotected archaeologist with Elbereth, die on like dlvl 12, but first drop my inventory (so it doesn't get cursed) and leave bones that help others 15:20:06 and maybe just for inspiration, here is how a startscum script looks like in my nodehack https://github.com/stenno/NodeHack/blob/master/examples/startscum.js 15:20:19 with a wizard, I'd also leave engravings to identify my inventory 15:20:47 but wizards can't dig deep enough 15:21:08 their wand of digging runs out before they reach bones depth 15:21:14 yes 15:21:23 8 charges max i think 15:21:35 doesn't bring you far considering you want down to DL 25 or so :P 15:21:43 I don't want down to dl 25 15:21:53 I only want down to between dl 12 and 16 15:22:41 still not enough 15:35:36 -!- atslash has quit (Ping timeout: 240 seconds). 15:35:41 I wonder if anyone will ever ascend Heaven or Hell mode 15:37:06 . o O ( What about AIs... the main point being that they can spend many human life time equivalents on trying over and over again?) 15:39:24 int-e: by the time I left nethack, some people managed to ascend it with fully automated bots. but HoH needs new strategies devised, not just some luck. 15:39:49 int-e, the game exists since 1987. the first (and only) bot to win the game was released in 2016 15:40:07 int-e: and we enjoy nethack because almost everything has answers, so you don't need too much luck to ascend, only good strategies and tactics 15:40:08 so far, there has not been any other bot that even comes close to ascending 15:40:14 ascending = winning 15:41:18 almost everything EXCEPT FOR THE FUCKING CHEST TRAPS as I argue in a bug report, and that would be trivial to fix too, as I also argue in that bug report, although the trap system really should be teared out of nethack and completely rewritten, that particular problem can totally be fixed without that 15:41:25 https://github.com/krajj7/BotHack 15:41:40 b_jonas, what is that bug? 15:41:46 torn out 15:41:51 stennowork: let me find my good description in the nh4 bug tracker 15:42:22 YSK that the castle chest is now guaranteed to be untrapped 15:42:48 so they found a way to make untrapped chests from the .des files 15:42:51 stennowork: https://roguelikes.live/nh4-bugzilla/show_bug.cgi?id=214 15:43:03 stennowork: yes, I know 3.6 does that, and I still say that that's not the right fix 15:43:34 I argue in the bug ticket that chest traps don't have answers, and in nethack, things should have answers 15:43:43 one of the chest traps that is 15:43:46 the rest do 15:43:46 didn't know that an exploding chest would destroy items on the same square 15:44:35 do you know that people like ais523, paxed and bhaak are now members of the devteam? 15:44:45 stennowork: I do know 16:04:29 -!- stennowork has quit (Quit: Leaving). 16:14:56 -!- skyplane has joined. 16:14:57 -!- skyplane has quit (Client Quit). 16:16:15 -!- LKoen has joined. 16:18:15 -!- LKoen has quit (Remote host closed the connection). 16:18:33 -!- LKoen has joined. 16:22:16 -!- LKoen has quit (Remote host closed the connection). 16:22:31 -!- LKoen has joined. 16:29:05 -!- skyplane has joined. 16:38:15 -!- gitlogger has joined. 16:39:10 -!- kspalaiologos has joined. 16:42:14 -!- skyplane has quit (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.). 16:42:30 -!- 7JTAAVWO8 has joined. 16:43:43 -!- skyplane_ has joined. 16:44:42 one guy wants to make a computer game with magic governed by a deep mathematical theory/concept, do you have something in mind to suggest? (Then I’ll relay it.) He gave https://ncatlab.org/nlab/show/string+diagram as an example of things which would interest him, though I think there are no solid decisions made yet, and no conception in which specific way would it manifest in a game 16:45:47 -!- 7JTAAVWO8 has quit (Client Quit). 16:45:54 noita. 16:45:56 -!- LKoen has quit (Remote host closed the connection). 16:46:06 cellular automata. :P 16:46:07 -!- skyplane__ has joined. 16:47:50 arseniiv: well, David Madore has a few ideas about that, see http://www.madore.org/~david/weblog/d.2015-05-07.2296.html (and the older http://www.madore.org/~david/weblog/d.2013-10-07.2162.html that it points to) 16:48:18 also http://www.madore.org/~david/weblog/d.2018-09-27.2555.html 16:48:30 maybe I should direct him here 16:48:41 arseniiv: I don't think he uses irc 16:48:52 but he has a comment section, twitter, and email 16:49:11 and Stack Exchange 16:49:29 b_jonas: rofl :D I don’t mean David Madore 16:49:33 oh 16:49:35 I mean that person 16:51:05 though I don’t know him at all, I just got interested and suggested tensory things to him. Then I was surprised by the coincidence: string diagrams in their simplest form are for monoidal categories 16:51:17 arseniiv: but be careful, because we officially don't do the other kind of esoterism in this channel 16:53:39 -!- skyplane__ has quit (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.). 16:53:55 -!- skyplane has joined. 16:54:47 всем доброго времени суток 16:54:50 -!- FreeFull has joined. 16:55:10 может скажете, куда с этим: https://skyplaneru.wixsite.com/excessive ? 16:55:38 b_jonas: eh, I was about to dust off my ouija board 16:55:39 понимаю что в сообщество прогеров, но вдруг 16:57:12 skyplane: я прочитал и ничего не понял вообще 16:57:53 really weird text 16:57:57 skyplane: это не место для какого-то дерьма, которое вы торгуете. немногие (если таковые имеются) здесь говорят по-русски. 16:58:07 the heck 16:59:25 -!- LKoen has joined. 16:59:42 arseniiv, ah yes, the ouija board 17:00:00 very useful while programming in Malbolge 17:01:26 kspalaiologos: oh! how do you use it? 17:02:03 well, first you have to sign the pledge with Satan 17:02:03 BTW I don’t really have an ouija but I can simulate it by means of a cat if I ever would want to 17:02:31 and the following steps should be obvious 17:02:50 imode: разница в том, что я сабжем не торгую. от слова совсем. и указанная миссия - действительно миссия. З.Ы. с головой всё нормально. 17:03:22 δεν μιλάς αγγλικά; 17:03:26 sorry, speak english. 17:03:42 arseniiv: не вопрос, бывает и непонимание 17:03:56 oh cmon 17:03:57 darn it man 17:04:02 stop, you've broken my bot 17:04:17 why do you have a bot in here. 17:04:34 to log the channel messags 17:04:41 your client does that. 17:04:43 ah 17:04:53 and there are log files in the topic of this channel. 17:04:53 russian characters are actually wide characters 17:05:04 yes, my bot is supplying one of these sites 17:05:12 `? logs 17:05:13 ​#esoteric channel logs: https://esolangs.org/logs/ http://tunes.org/~nef/logs/esoteric/?C=M;O=D http://codu.org/logs/_esoteric/ https://github.com/KrzysztofSzewczyk/esologs/ 17:05:17 which one. 17:05:23 Wide character in print at harvester.pl line 51. 17:05:23 at harvester.pl line 51. 17:05:24 LogBot::log(LogBot=HASH(0x55f49e95e340), "", "arseniiv: \x{43d}\x{435} \x{432}\x{43e}\x{43f}\x{440}\x{43e}\x{441}, \x{431}\x{44b}\x{432}\x{430}\x{435}\x{442} \x{438} \x{43d}\x{435}\x{43f}\x{43e}\x{43d}\x{438}\x{43c}\x{430}\x{43d}\x{438}\x{435}") called at harvester.pl line 166 17:05:27 imode: the last one I think 17:05:31 russian characters are actually wide characters => wait why, how 17:05:51 ^ apparently perl thinks so 17:06:09 b_jonas: ah, right. 17:06:25 imode: I mean, that's the new one, so that's the most likely to break 17:06:31 lol. 17:06:54 ^^ it used to work 17:06:56 for a long time 17:07:00 okay, returning to the thing I asked, should I give a log excerpt to that person or may I just rephrase what was brought? (Including CA and noita; interesting thing, I’ll watch a video later) 17:07:02 kspalaiologos: long time? it ran for a month 17:07:14 kspalaiologos: our channel is over twelve years old 17:07:27 i realise that 17:07:28 imode: really, it's either that, or an update on irc's side 17:07:31 ^ apparently perl thinks so => ah. Hm. It’s very strange to say the least 17:07:43 I have read the old IRC logs because I needed *something* 17:07:48 (shouldn’t it write in UTF-8 or something) 17:07:54 back from 2003 or sth 17:08:04 so yeah, this channel is quite old 17:08:10 arseniiv: if you write the program correctly 17:08:13 but my bot's been running for week and a half 17:08:22 arseniiv: in fact you should never _decode_ what you read from irc 17:08:26 because it's not in any defined encoding 17:08:37 it's just bytes, man. 17:08:47 though we usually view it in utf-8, you can send any byte string that doesn't have \x00 or \x0A or \x0D 17:09:00 imode: exactly, but people sometimes write programs with bugs and later fix it 17:09:01 it's normal 17:09:10 ok 17:09:19 now it shouldn't bail out now 17:09:51 but I can't tell what happened on 10.18 5:00-6:00 PM GMT 17:11:23 kspalaiologos: the esolangs.org log is backfilled after the fact from other bots when it's out. it is in fact pretty new, only like two years old, but fizzie added all the old logs retroactively to its archive 17:12:00 I've read a few mails from the mailing list 17:12:02 kspalaiologos: perhaps eventually he'll fill gaps from your logs too 17:12:07 is it even alive by now? 17:12:09 mailing list? what mailing list? 17:12:11 `? mailing list 17:12:12 mailing list? ¯\(°​_o)/¯ 17:12:13 `? email 17:12:15 email? ¯\(°​_o)/¯ 17:12:15 `? mail 17:12:16 mail? ¯\(°​_o)/¯ 17:12:23 haha 17:12:54 esoteric.sange.fi I guess 17:12:59 we don't have a mailing list, even wgrep doesn't know about it 17:13:02 `? discord 17:13:03 discord? ¯\(°​_o)/¯ 17:13:08 we had 17:13:11 a mailing list a long time ago 17:13:25 Good day 17:13:25 can you tell where with this: https://skyplaneru.wixsite.com/excessive? 17:13:25 I understand that in the community of programmers, but suddenly 17:13:41 nor do we have a discord 17:13:57 `? website 17:13:58 website? ¯\(°​_o)/¯ 17:14:02 you don't have website too 17:14:02 `? wiki 17:14:06 The wiki is at . 17:14:11 kspalaiologos: ^ you have to search right 17:14:11 crap 17:14:14 you can grep wisdom 17:14:20 ``` grep -REi http wisdom 17:14:21 wisdom/ayacc:ayacc is ais523's yacc parser generator implementation, get it from darcs clone http://nethack4.org/projects/ayacc \ wisdom/dwfo:DWFO is the Doctor Who Fan Orchestra, . \ wisdom/homestuck:Homestuck is a cult religion for disaffected teens. Gamzee drives the bus. Best summarized by http://www.mspaintadventures.com/storyfiles/hs2/05743.gif \ wisdom/hand injuries:Hand injuries are surprisingly common among webcomi 17:14:29 oh yeah 17:14:29 whoa 17:14:29 what 17:14:31 `? hand injuries 17:14:32 Hand injuries are surprisingly common among webcomic writers, see eg. http://questionablecontent.net/view.php?comic=2314 or http://www.giantitp.com/comics/oots0864.html 17:14:40 ^ I found a third example, I should add it there 17:14:56 I can't strive to understand this bot 17:15:00 what, why, how 17:15:10 `whatis ? 17:15:11 ​?(1hackeso) - print wisdom by name \ ?(8lambdabot) - compose tree of lambdabot commands 17:15:16 `? wisdome 17:15:17 The Wisdome is the place where all of HackBot's wisdom is stored and forced to fight to the death for the freedom of being printed out when you type `wisdom. Strictly speaking, it should be called the "Wissphere". 17:15:21 have you already trained muscle memory for the #esoteric bots? 17:15:28 ``` grep -REi http wisdom | tail -n+4 17:15:29 wisdom/hand injuries:Hand injuries are surprisingly common among webcomic writers, see eg. http://questionablecontent.net/view.php?comic=2314 or http://www.giantitp.com/comics/oots0864.html \ wisdom/pbflist:pbflist is update notification for the Perry Bible Fellowship webcomic. http://pbfcomics.com/ \ wisdom/log:#esoteric channel logs: https://esolangs.org/logs/ http://tunes.org/~nef/logs/esoteric/?C=M;O=D http://codu.org/logs/_esoteric/ https 17:15:52 ``` grep -REi wisdom 17:15:52 kspalaiologos: I use normal unix commands more than the extra-specialized stuff 17:16:03 kspalaiologos: bin/\? foo basically just prints wisdom/foo 17:16:04 ^ but, the structure of this bot 17:16:07 it does a few extra things, but not too much 17:16:13 ``` cat wisdom/"hand injury" 17:16:15 cat: 'wisdom/hand injury': No such file or directory 17:16:15 how do I execute command 17:16:17 ``` cat wisdom/"hand injuries" 17:16:17 Hand injuries are surprisingly common among webcomic writers, see eg. http://questionablecontent.net/view.php?comic=2314 or http://www.giantitp.com/comics/oots0864.html 17:16:19 ``` ls / 17:16:20 bin \ dev \ etc \ hackenv \ lib \ lib64 \ proc \ sbin \ srv \ sys \ tmp \ usr 17:16:20 `? run 17:16:21 ​`run is HackEgo's builtin for running a command with full shell syntax. These days most use the user-made `` or ``` shortcuts instead, although all of the three have subtle differences, with `run being the most plain option (also, unlike the rest it cannot be called from other commands.) 17:16:22 No output. 17:16:23 ``` ls /bin 17:16:24 bash \ bunzip2 \ bzcat \ bzcmp \ bzdiff \ bzegrep \ bzexe \ bzfgrep \ bzgrep \ bzip2 \ bzip2recover \ bzless \ bzmore \ cat \ chgrp \ chmod \ chown \ cp \ dash \ date \ dd \ df \ dir \ dmesg \ dnsdomainname \ domainname \ echo \ egrep \ false \ fgrep \ findmnt \ fuser \ grep \ gunzip \ gzexe \ gzip \ hostname \ ip \ journalctl \ kill \ less \ lessecho \ lessfile \ lesskey \ lesspipe \ ln \ login \ loginctl \ ls \ lsblk \ mkdir \ mknod \ mktemp 17:16:35 so you say 17:16:40 that the users actually construct the bot 17:16:40 -!- hppavilion[1] has joined. 17:16:44 kspalaiologos: yes 17:16:47 that's 17:16:48 incredible 17:16:50 the commands were added by users 17:16:52 I am very excited for the Rise of Skywalker 17:16:55 that nobody has yet fscked up by this 17:16:58 `? spoilers 17:16:59 Don't give movie spoilers on channel. If you do, hppavilion may hire a hitman to hunt you down in real life and torture you in refined ways. 17:17:03 oh hi, hppavilion[1] 17:17:05 I have tickets to, like, the second showing in the state 17:17:08 kspalaiologos: sure we have 17:17:13 we made a lot of mistakes, then undone them 17:17:16 b_jonas: ...what that intentional or just the world's greatest timing? 17:17:21 hppavilion[1]: intentional 17:17:26 for example? 17:17:33 does the repl have root access? 17:17:34 b_jonas: But yes, that position does still stand 17:17:39 hppavilion[1]: you can see the history that I talked about that wisdom entry earlier because shachaf asked 17:17:58 ``` ls 17:17:59 a.out \ bin \ canary \ emoticons \ esobible \ etc \ evil \ f \ factor \ good \ hw \ ibin \ interps \ izash.c \ karma \ le \ lib \ misle \ paste \ ply-3.8 \ quines \ quinor \ quotes \ share \ src \ test2 \ testfile \ tmflry \ tmp \ wisdom 17:18:03 hppavilion[1]: and you have the same nick length as kspalaiologos so at first I thought it was he who said "I am very excited for the Rise of Skywalker" 17:18:03 ``` ./a.out 17:18:05 1.250000 17:18:09 hppavilion[1]: so I had to warn him 17:18:09 ??????? 17:18:14 kspalaiologos: you can experiment in tmp 17:18:15 `? tmp 17:18:16 tmp/ is a directory for files that are not worth saving in HackEgo history, but which should still outlive a single command. NOTE: It interacts funnily with HackEgo's lock and re-run commit check; files can DISAPPEAR if you don't know what you're doing. Basically, don't modify files inside and outside tmp/ in the same HackEgo command. 17:18:20 eg. 17:18:25 b_jonas: Huh, so I do 17:18:32 ``` cd tmp 17:18:33 No output. 17:18:35 ``` ls 17:18:36 a.out \ bin \ canary \ emoticons \ esobible \ etc \ evil \ f \ factor \ good \ hw \ ibin \ interps \ izash.c \ karma \ le \ lib \ misle \ paste \ ply-3.8 \ quines \ quinor \ quotes \ share \ src \ test2 \ testfile \ tmflry \ tmp \ wisdom 17:18:42 hm, so I have to 17:18:44 give a single command 17:18:55 b_jonas: But it isn't out for months, so if kspalaiologos happens to HAVE spoilers, I'd honestly be fascinated to know how (but not what they are) 17:19:13 ``` set -e; gcc -Wall -O -o tmp/a.out -x c - <<<$'#include\n''void main() { printf("this is a C program\n"); }'; tmp/a.out 17:19:15 ​[01m[K:2:6:[m[K [01;35m[Kwarning: [m[Kreturn type of '[01m[Kmain[m[K' is not '[01m[Kint[m[K' [[01;35m[K-Wmain[m[K] \ this is a C program 17:19:22 ``` set -e; gcc -Wall -O -o tmp/a.out -x c - <<<$'#include\n''int main() { printf("this is a C program\n"); }'; tmp/a.out 17:19:23 oh c'mon man 17:19:23 this is a C program 17:19:24 void main 17:19:30 it's a crime against humanity 17:19:38 yeah, it also needs a magic option to turn off the colors 17:19:47 ansi filter when? 17:19:47 something like -fdiagnostic-colors=never or similar 17:19:59 Note that I do not recognize the validity of so-called "trailer spoilers" 17:20:09 kspalaiologos: ideally I should make a terminfo entry for irc colors, but I haven't bothered 17:20:12 Except in the context of not telling someone what happens in a trailer within maybe a week of its release IF they express that they haven't seen it yet and don't want to be quote-unquote "spoiled" 17:20:13 what are you talking about right now? 17:20:15 I'm so lost 17:20:32 `? hackego # root access 17:20:33 hackego # root access? ¯\(°​_o)/¯ 17:20:36 kspalaiologos: b_jonas is talking about convoluted hackbot things, I'm talking about the ontology of movie spoilers 17:20:37 ``` \? hackego # root access 17:20:38 HackEgo, also known as HackBot, is a bot that runs arbitrary commands on Unix. See `help for info on using it. You should totally try to hax0r it! Make sure you imagine it's running as root with no sandboxing. HackEgo is the slowest bot in all Mexico! 17:21:04 ``` \? edit # single command 17:21:05 ​`edit gives you a url, then in your browser: (1) Press Sync (unless making a new file) (2) Make your changes (3) Press Save (4) Paste the command line at the top into the channel. 17:21:06 Huh, HackEgo's name has changed. Cool. 17:21:17 hppavilion[1]: it's a reincarnation 17:21:26 `? hackego 17:21:27 HackEgo, also known as HackBot, is a bot that runs arbitrary commands on Unix. See `help for info on using it. You should totally try to hax0r it! Make sure you imagine it's running as root with no sandboxing. HackEgo is the slowest bot in all Mexico! 17:21:31 hppavilion[1]: it has most of the old one's memory, from one of the backup dumps of the hg repository 17:21:47 hppavilion[1]: except the hg log is truncated, I don't know why, so if you look way back in the revisions, you won't find the oldest stuff 17:21:55 :( 17:21:58 `? hg 17:22:00 hg is dark alchemy used by oerjan to fix things. Like most alchemy, it involves drinking mercury. 17:22:00 b_jonas: Should someone change the contents of `? HackEgo to match the reincarnation? 17:22:03 ``` cd tmp && edit test.sh 17:22:05 [[Special:Log/newusers]] create * Dotjpg3141 * New user account 17:22:06 https://hack.esolangs.org/edit/tmp/test.sh 17:22:09 is this how it works 17:22:09 hppavilion[1]: no, we have a separate entry 17:22:11 `? HackEso 17:22:13 Oh 17:22:13 HackEso is almost but not quite unlike HackEgo. 17:22:24 b_jonas: Then 'is' -> 'was'? 17:22:25 the HackEgo one is still an accurate description of the old bot 17:22:52 hppavilion[1]: I don't think so, that's not a nice thing to edit about the bot that's sleeping but will return when the country needs him the most 17:23:00 the once and future king will arise 17:23:04 b_jonas: Oh, like Arthur? 17:23:10 Hg is alchemy haha. It reifies lead into tin, tin into iron, iron into copper, copper into silver, and silver into gold, and gold you shall not reify nohow 17:23:15 Is Merlin also destined to return in England's hour of need? I'm not clear on that one 17:23:18 hm 17:23:33 can I set up my brainfuck assembler on the bot 17:23:34 arseniiv: Applying gallium to aluminum turns the aluminum into basically we tcardboard 17:23:50 hppavilion[1]: merlin time travels to the future. don't you read Irregular Webcomic? 17:23:54 hppavilion[1]: what kind of alchemy is that? 17:23:57 b_jonas: Via a tree? 17:24:04 hppavilion[1]: I don't know 17:24:05 arseniiv: I mean, it's real-life chemistry 17:24:15 kspalaiologos: what's a brainfuck assembler? 17:24:27 Also, what's the exact prophesy on when Arthur will return? Is it specifically *England's* hour of need, or just the UK as a whole? 17:24:41 as the name suggests, the program that's able to serve like a brainfuck-like assembler hooked with a pipe to a brainfuck interpreter 17:24:47 hppavilion[1]: aww 17:24:47 er, *prophecy 17:24:51 'prophesy' is a verb 17:24:52 it's like a repl 17:25:02 for testing the snippets 17:25:16 (hm what reaction there is and where could I watch it) 17:25:41 arseniiv: Yes you could. Was that a cute 'aww' or a disappointed 'aww'? 17:25:48 [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=66762&oldid=66759 * Dotjpg3141 * (+110) 17:25:57 Please allow me to introduce myself 17:25:57 kspalaiologos: you can probably try. fizzie seems to have long tolerances, seeing that he hasn't banned me entirely from the bot yet 17:25:58 I don’t know, that’s why I posted it so long 17:26:04 I'm a man of wealth and taste 17:26:13 arseniiv: Example: https://www.youtube.com/watch?v=IgXNwLoS-Hw 17:26:22 ```git 17:26:23 ​/srv/hackeso-code/multibot_cmds/lib/limits: line 5: exec: ``git: not found 17:26:29 ```unzip 17:26:29 ​/srv/hackeso-code/multibot_cmds/lib/limits: line 5: exec: ``unzip: not found 17:26:30 ``` \? fetch # kspalaiologos: you should know about that too, besides edit 17:26:31 ​`fetch [] downloads files, and is the only web access currently available in HackEgo. It is a special builtin that cannot be called from other commands. See also `edit. 17:26:31 hppavilion[1]: thanks 17:26:35 yeah 17:26:39 the editor has already instructed me 17:26:40 kspalaiologos: we have tar and gzip and xz 17:26:54 I'll have to do it over my vps 17:26:56 probably 17:27:04 because github doesn't support downlading tarballs 17:27:06 doesn't it? 17:27:24 Chemistry is like alchemy, except that it's real and interfaces with the laws of economics (meaning if you find a cost-effective way to turn lead into gold, you'll just drop the price of gold) 17:27:25 kspalaiologos: in the worst case, you can uuencode it and put in edit 17:27:31 xD 17:27:35 this seems like a terrible idea 17:27:42 give me a second 17:27:46 but putting it somewhere on the http web and fetching is usually easier 17:27:50 b_jonas: Did you ever hang out in #xkcd? Or did I confuse you for someone else? 17:27:54 github does support downloading zip files. 17:27:58 you just need to host it temporarily 17:28:15 hppavilion[1]: for a few days, I think. I never participated 17:28:21 I see 17:28:29 hppavilion[1]: I was also on one of the xkcd wikis but didn't participate much 17:28:38 Under the "Clone or download v" button, there's a "Download ZIP" option which will just zip up all the repository contents into a file. 17:28:40 That channel gets a bit toxic occasionally, so I can't blame you if you quit during one of *those* periods 17:28:40 and on explainxkcd but also didn't participate much 17:28:47 `fetch tmp/test.sh https://hack.esolangs.org/get/tmp/test.sh 17:28:49 2019-10-23 17:28:48 URL:https://hack.esolangs.org/get/tmp/test.sh [130/130] -> "tmp/test.sh" [1] 17:28:59 ```cd tmp && cat test.sh 17:28:59 ​/srv/hackeso-code/multibot_cmds/lib/limits: line 5: exec: ``cd: not found 17:29:08 ok 17:29:12 b_jonas: I wonder if I'm conflating your nick with someone else's with a similar name; however, the only person I can think of is VictoriaB, whose old nick started with a 'j' 17:29:15 `cd tmp && cat test.sh 17:29:15 ​/srv/hackeso-code/multibot_cmds/lib/limits: line 5: exec: cd: not found 17:29:20 hppavilion[1]: I'm only on like one or two channel per network on most networks other than freenode 17:29:24 `cat tmp/test.sh 17:29:25 wget https://github.com/KrzysztofSzewczyk/asmbf/archive/v1.1.1.tar.gz \ tar -xzf v1.1.1.tar.gz \ cd asmbf-1.1.1 \ sudo make all install 17:29:30 lgtm 17:29:33 That's not going to work: there's no networking from inside the machine. 17:29:37 I really wish hexchat had a way for me to scan two channels for overlap (even attempting on different servers) 17:29:38 is there? 17:29:41 crap 17:29:46 kspalaiologos: three backticks and a space 17:30:06 The `fetch is the only thing that's able to fetch anything. 17:30:33 But really, that's just four commands, why would you need to run it as a script inside? Just fetch the file (preferrably into tmp/) and run those one by one. 17:30:41 fizzie: I think it's an experiment 17:30:44 testing stuff 17:30:46 hppavilion[1]: what do you mean 17:30:50 testing shorter scripts to 17:30:53 know how longer scripts will work 17:30:56 Well, okay, "sudo" is not going to work either. 17:30:58 lf94: Clarify 17:31:00 [[Brainfuck algorithms]] https://esolangs.org/w/index.php?diff=66763&oldid=60732 * Dotjpg3141 * (-45) /* swap x, y */ 17:31:00 Chemistry is like alchemy, except that it's real and interfaces with the laws of economics (meaning if you find a cost-effective way to turn lead into gold, you'll just drop the price of gold) => agree on both points 17:31:13 fizzie: wisdom/HackEgo more or less invites you to tryu 17:31:14 "I really wish hexchat had a way for me to scan two channels for overlap" 17:31:19 And "make install" probably needs a PREFIX= argument or some-such. 17:31:20 overlap of what? text? 17:31:32 lf94: Ah. I mean nick-overlap 17:31:42 What is nick overlap? X) 17:31:44 ``` cd tmp && edit hexdump.hex 17:31:45 https://hack.esolangs.org/edit/tmp/hexdump.hex 17:32:06 `fetch tmp/hexdump.hex https://hack.esolangs.org/get/tmp/hexdump.hex 17:32:08 2019-10-23 17:32:07 URL:https://hack.esolangs.org/get/tmp/hexdump.hex [119404/119404] -> "tmp/hexdump.hex" [1] 17:32:09 lf94: Like, scan if anyone has the same or similar nick, realname, or hostthing (whatever it is after the '@' in one's full id thing) 17:32:48 write a python plugin, it's easy 17:32:49 'similar' being defined by some predicate such as case-insensitive levenstein distance 17:33:03 I wrote one to turn hexchat into a spy software 17:33:15 while I'm in a channel, it will relay all messages to other servers 17:33:54 in particular it's useful to have a user relay messages to another channel. 17:34:08 kspalaiologos: If that's a hexdump of the earlier v1.1.1.tar.gz file (like it appears), why in the world would you fetch *that* instead of just fetching the binary file? 17:34:09 these days I use weechat though :) 17:34:11 `fetch tmp/test.sh https://hack.esolangs.org/get/tmp/test.sh 17:34:13 2019-10-23 17:34:12 URL:https://hack.esolangs.org/get/tmp/test.sh [93/93] -> "tmp/test.sh" [1] 17:34:26 fizzie, I have no idea what i'm doing 17:34:29 leave me 17:34:51 ``` cat tmp/ 17:34:51 cat: tmp/: Is a directory 17:34:54 ``` ls tmp/ 17:34:55 ​-BE8SJn_Dnja \ 0KpPun-ahPnp \ 4qubykGwXZAV \ 8bZIQdyoQ_3S \ EGYj6LpQgFKM \ I3ZdY_oWgTHb \ OUT \ X81G5u_N85_r \ a.c \ a.out \ aczO2Vrn8mw1 \ as-encoding \ compiled_brachylog.pl \ hexdump.hex \ iKVic2uB99hI \ input.brachylog \ jeval.whatis \ out \ out.a \ out.a.hd \ out.a.xxd \ paste \ single-word-character-names \ spline \ spout \ spout.raw \ test.sh \ tmp.txt \ uGgIjgPAmv8A 17:35:10 ``` cat tmp/test.sh 17:35:11 xxd -r hexdump.hex v1.1.1.tar.gz \ tar -xzf v1.1.1.tar.gz \ cd asmbf-1.1.1 \ sudo make all install 17:35:29 ``` /bin/bash tmp/test.sh 17:35:29 tmp/test.sh: line 1: xxd: command not found \ tar (child): v1.1.1.tar.gz: Cannot open: No such file or directory \ tar (child): Error is not recoverable: exiting now \ tar: Child returned status 2 \ tar: Error is not recoverable: exiting now \ tmp/test.sh: line 3: cd: asmbf-1.1.1: No such file or directory \ sudo: effective uid is not 0, is /usr/bin/sudo on a file system with the 'nosuid' option set or an NFS file system without root privilege 17:35:37 what just happened 17:35:48 fizzie: because edit doesn't like non-ascii files 17:35:52 "xxd: command not found" happened, and the rest was just cascading errors. 17:35:54 fizzie: he's fetching from edit as you can see 17:36:08 how xxd is not present here 17:36:13 it's a standard posix tool 17:36:14 b_jonas: Yes, but it's just bizarre. 17:36:21 No, it's not. 17:36:24 I did say uunecode, but the young ones don't know how it and ftp ascii mode works 17:36:25 isn't it? 17:36:37 and 7-bit serial lines 17:36:43 b_jonas: Well, I mean, the point is, the binary file was already available at a web address. 17:36:49 There's no need to round-trip through edit. 17:36:56 `fetch tmp/v1.1.1.tar.gz https://github.com/KrzysztofSzewczyk/asmbf/archive/v1.1.1.tar.gz 17:36:58 2019-10-23 17:36:57 URL:https://codeload.github.com/KrzysztofSzewczyk/asmbf/tar.gz/v1.1.1 [28092] -> "tmp/v1.1.1.tar.gz" [1] 17:37:01 fizzie: ah 17:37:03 ok 17:37:11 `fetch tmp/test.sh https://hack.esolangs.org/get/tmp/test.sh 17:37:12 2019-10-23 17:37:11 URL:https://hack.esolangs.org/get/tmp/test.sh [60/60] -> "tmp/test.sh" [1] 17:37:17 ``` /bin/bash tmp/test.sh 17:37:17 tar (child): v1.1.1.tar.gz: Cannot open: No such file or directory \ tar (child): Error is not recoverable: exiting now \ tar: Child returned status 2 \ tar: Error is not recoverable: exiting now \ tmp/test.sh: line 2: cd: asmbf-1.1.1: No such file or directory \ sudo: effective uid is not 0, is /usr/bin/sudo on a file system with the 'nosuid' option set or an NFS file system without root privileges? 17:37:27 ``` ls tmp/ 17:37:28 ​-BE8SJn_Dnja \ 0KpPun-ahPnp \ 4qubykGwXZAV \ 8bZIQdyoQ_3S \ EGYj6LpQgFKM \ I3ZdY_oWgTHb \ OUT \ X81G5u_N85_r \ a.c \ a.out \ aczO2Vrn8mw1 \ as-encoding \ compiled_brachylog.pl \ hexdump.hex \ iKVic2uB99hI \ input.brachylog \ jeval.whatis \ out \ out.a \ out.a.hd \ out.a.xxd \ paste \ single-word-character-names \ spline \ spout \ spout.raw \ test.sh \ tmp.txt \ uGgIjgPAmv8A \ v1.1.1.tar.gz 17:37:42 ``` cd tmp && /bin/bash test.sh 17:37:43 sudo: effective uid is not 0, is /usr/bin/sudo on a file system with the 'nosuid' option set or an NFS file system without root privileges? 17:37:56 `fetch tmp/test.sh https://hack.esolangs.org/get/tmp/test.sh 17:37:57 2019-10-23 17:37:57 URL:https://hack.esolangs.org/get/tmp/test.sh [55/55] -> "tmp/test.sh" [1] 17:37:57 ``` cd tmp && /bin/bash test.sh 17:38:01 sudo: effective uid is not 0, is /usr/bin/sudo on a file system with the 'nosuid' option set or an NFS file system without root privileges? \ make: *** [install] Error 1 \ gcc -Ofast -march=native -funroll-loops -fomit-frame-pointer -w bfasm.c -o bfasm \ gcc -Ofast -march=native -funroll-loops -fomit-frame-pointer -w bfi.c -o bfi \ gcc -Ofast -march=native -funroll-loops -fomit-frame-pointer -w bfintd.c -o bfintd \ gcc -Ofast 17:38:21 `` rm tmp/{-BE8SJn_Dnja,0KpPun-ahPnp,4qubykGwXZAV,8bZIQdyoQ_3S,EGYj6LpQgFKM,I3ZdY_oWgTHb,X81G5u_N85_r,aczO2Vrn8mw1,iKVic2uB99hI,uGgIjgPAmv8A} # just some spring cleaning 17:38:22 rm: cannot remove 'tmp/-BE8SJn_Dnja': Is a directory \ rm: cannot remove 'tmp/0KpPun-ahPnp': Is a directory \ rm: cannot remove 'tmp/8bZIQdyoQ_3S': Is a directory \ rm: cannot remove 'tmp/EGYj6LpQgFKM': Is a directory \ rm: cannot remove 'tmp/I3ZdY_oWgTHb': Is a directory \ rm: cannot remove 'tmp/X81G5u_N85_r': Is a directory \ rm: cannot remove 'tmp/aczO2Vrn8mw1': Is a directory \ rm: cannot remove 'tmp/iKVic2uB99hI': Is a directory \ rm: can 17:38:32 What, they're directories. 17:38:39 fizzie: some of those might have been me 17:38:54 ``` rmdir tmp/* 17:38:55 rmdir: failed to remove 'tmp/EGYj6LpQgFKM': Directory not empty \ rmdir: failed to remove 'tmp/OUT': Not a directory \ rmdir: failed to remove 'tmp/a.c': Not a directory \ rmdir: failed to remove 'tmp/a.out': Not a directory \ rmdir: failed to remove 'tmp/as-encoding': Not a directory \ rmdir: failed to remove 'tmp/asmbf-1.1.1': Directory not empty \ rmdir: failed to remove 'tmp/compiled_brachylog.pl': Not a directory \ rmdir: failed to remove 17:39:04 ```ls tmp/ 17:39:04 ​/srv/hackeso-code/multibot_cmds/lib/limits: line 5: exec: ``ls: not found 17:39:07 ``` ls tmp/ 17:39:08 EGYj6LpQgFKM \ OUT \ a.c \ a.out \ as-encoding \ asmbf-1.1.1 \ compiled_brachylog.pl \ hexdump.hex \ input.brachylog \ jeval.whatis \ out \ out.a \ out.a.hd \ out.a.xxd \ paste \ single-word-character-names \ spline \ spout \ spout.raw \ test.sh \ tmp.txt \ v1.1.1.tar.gz 17:39:15 ``` ls tmp/asmbf-1.1.1/ 17:39:16 AUTHORS \ INSTALL \ LICENSE \ Makefile \ NEWS \ README \ TODO \ VERSIONING \ bconv.c \ bfasm.asm \ bfasm.b \ bfasm.c \ bfasm.rs \ bfi.c \ bfintd.c \ bfmake \ bfpp \ bin \ doc \ examples \ labels.pl \ strip.pl \ test \ test.pl 17:39:31 ``` edit tmp/asmbf-1.1.1/Makefile 17:39:31 https://hack.esolangs.org/edit/tmp/asmbf-1.1.1/Makefile 17:39:49 `fetch tmp/asmbf-1.1.1/Makefile https://hack.esolangs.org/get/tmp/asmbf-1.1.1/Makefile 17:39:50 2019-10-23 17:39:49 URL:https://hack.esolangs.org/get/tmp/asmbf-1.1.1/Makefile [687/687] -> "tmp/asmbf-1.1.1/Makefile" [1] 17:40:01 kspalaiologos: hope you don't have to compile anything big that takes more than like 12 seconds or whatever the command timeout is 17:40:07 nope 17:40:10 it's just 4 programs 17:40:19 every single one is <5 kilobytes big 17:40:32 ``` cd tmp/asmbf-1.1.1/ && make all install 17:40:35 cp: cannot create regular file '/bin/bconv': Read-only file system \ cp: cannot create regular file '/bin/bfasm': Read-only file system \ cp: cannot create regular file '/bin/bfi': Read-only file system \ cp: cannot create regular file '/bin/bfintd': Read-only file system \ cp: cannot create regular file '/bin/bfmake': Read-only file system \ cp: cannot create regular file '/bin/bfpp': Read-only file system \ cp: cannot create regular file '/b 17:40:38 kspalaiologos: yeah, the ones that take too much to compile are often also too big to fetch 17:40:47 hm 17:40:52 so I'll have to change the prefix 17:40:55 where do you put the binaries 17:41:01 /hackenv/bin, usually. 17:41:03 i'll create a folder for myself 17:41:08 so I don't pollute the path 17:41:15 kspalaiologos: create a dir under hackenv/lib 17:41:18 under /hackenv/lib 17:41:19 In that case, yes, that. 17:41:32 or under /hackenv/share for the architecture-independent ones 17:41:33 -!- skyplane has quit (Ping timeout: 245 seconds). 17:41:33 -!- skyplane_ has changed nick to skyplane. 17:41:36 ??? 17:41:44 `` echo $PATH 17:41:45 ​/hackenv/bin:/usr/bin:/bin 17:41:48 why under /lib 17:41:54 kspalaiologos: not /lib 17:42:00 kspalaiologos: /hackenv/lib 17:42:03 i wanted to shorten typing xd 17:42:09 but why there 17:42:28 imode: oh, Noita is by the same author as Baba is You! 17:42:28 kspalaiologos: because we use /hackenv/lib and /hackenv/share as sort of like the user's /usr/local/lib and /usr/local/share 17:42:37 ``` ls tmp/asmbf-1.1.1/bin/ 17:42:38 bconv \ bfasm \ bfi \ bfintd \ bfmake \ bfpp \ labels.pl \ strip.pl 17:42:41 kspalaiologos: we're not sysadmins so we can't write to /usr/local 17:42:49 but /hackenv is our homedir, so we can write under there 17:42:53 so this stuff should probably go to my folder in path 17:42:56 so we use bin, lib, share under it 17:43:05 but I'll have to modify the scripts though as they might not work with the nesting 17:43:12 #shitcode 17:43:33 kspalaiologos: why? can't you just configure --prefix=/hackenv/lib or make PREFIX=/hackenv/lib or something? 17:43:47 I wrote that makefile 17:43:51 b_jonas: I guess technically the binaries should be in /hackenv/libexec for more FHS-y style. 17:44:18 "/usr/libexec includes internal binaries that are not intended to be executed directly by users or shell scripts." 17:44:19 fizzie: perhaps. do you know who created /hackenv/share ? 17:44:20 ``` cp tmp/asmbf-1.1.1/bin/bconv /hackenv/bin 17:44:21 No output. 17:44:28 ``` cp tmp/asmbf-1.1.1/bin/bfasm /hackenv/bin 17:44:30 No output. 17:44:32 and that's all I think 17:44:40 ``` bfasm 17:44:42 fizzie: /hackenv is a bit of a mess, with some garbage spread around 17:44:52 we tend to remove at least the top level stuff, but we don't really have a good hierarchy 17:44:53 hm 17:44:55 ``` cat 17:45:01 what happens when I do that? 17:45:07 A timeout at some point, normally. 17:45:08 the program just gets killed at eof or what 17:45:11 No output. 17:45:14 ah yes 17:45:16 kspalaiologos: cp? don't you use symlinks? 17:45:27 probably I should 17:45:33 ``` oh sorry 17:45:34 bash: oh: command not found 17:45:35 but nobody is interested in my stuff so I program it like for myself 17:45:35 it was from temps 17:45:45 kspalaiologos: sorry, don't symlink 17:45:51 the source was from tmp, so you can't symlink 17:45:57 wait 17:46:00 how can I specify multiline output 17:46:02 kspalaiologos: did you install to tmp? 17:46:03 input 17:46:08 no, I didnt install to tmp 17:46:09 that's not a good idea if it has any files other than the binary 17:46:11 the install didnt success 17:46:12 oh good 17:46:13 b_jonas: It was just built in the source tree and then manually copied over. 17:46:20 ^ 17:46:21 yes 17:46:23 because install script bailed out 17:46:34 ```bfasm 17:46:34 ​/srv/hackeso-code/multibot_cmds/lib/limits: line 5: exec: ``bfasm: not found 17:46:38 wait a second 17:46:45 ```bfasm out .0 17:46:46 ​/srv/hackeso-code/multibot_cmds/lib/limits: line 5: exec: ``bfasm: not found 17:46:49 ``` bfasm out .0 17:46:51 kspalaiologos: if it works, you may also create a wisdom entry so we know what the program is for 17:46:57 it doesn't send eof 17:46:58 though maybe it has a good --help output or something 17:47:00 thats very bad 17:47:04 ``` bfasm --help 17:47:07 No output. 17:47:09 it has no help flag 17:47:15 you can read its source code 17:47:19 No output. 17:47:23 its really helpful in understanding it 17:47:35 No output. 17:47:37 can I manually instuct the bot to send eof at the end? 17:47:44 At the end of *what*? 17:47:48 of my input 17:47:52 kspalaiologos: a wisdom entry that tells where its source is and a quick synopsis might be helpful then 17:48:00 I will add it in a moment 17:48:06 but i'm working out the eof 17:48:08 kspalaiologos: because a month from now, we won't be able to guess where the source is, and we won't want to dive the log to find out 17:48:09 You can do < /dev/null to get an empty stdin with an EOF at the end. 17:48:21 kspalaiologos: try <<<"" 17:48:21 the problem is 17:48:25 oh yeah, hm ok 17:48:26 even better 17:48:28 unix magic 17:48:40 if i pipe dev null here 17:48:46 wont my input "disappear"? 17:48:53 what input? 17:48:57 so you see 17:48:57 What input? There's no way to type input into the stdin stream. 17:49:05 oh, so I'll have to pipe it 17:49:08 that's okay 17:49:15 you can just enter input with <<< 17:49:24 ``` bfasm <<< "out .0" 17:49:25 ​+>+[<[>>+>+<<<-]>>[<<+>>-]>[[-]>>>>>>++++++++++++++++++++++++++++++++++++++++++++++++.[-]<<<<<<]<<<[>>+>+<<<-]>>[<<+>>-]>[[-]<<<[-]>[-]>>]<<] 17:49:26 ``` perl <<<'print "hello, world! " for 1..9' 17:49:27 hello, world! hello, world! hello, world! hello, world! hello, world! hello, world! hello, world! hello, world! hello, world! 17:49:28 yayyyy 17:49:45 so 17:49:51 how do you add wisdom entry? 17:49:54 `? learn 17:49:55 ​`learn creates a wisdom entry and tries to guess which word is the key. Syntax (case insensitive): `learn [a|an|the] [s][punctuation] [...] 17:49:57 `? le//rn 17:49:59 le/rn makes creating wisdom entries manually a thing of the past. Usage: `le/[/]rn // 17:50:12 or create a file manually in the wisdom directory with a lowercase name 17:50:22 that doesn't end in s 17:50:32 can I just link the documentation? 17:50:37 yes 17:50:48 but adding a short synopsis should help 17:50:53 so people can know if they should even check the docs 17:51:25 `learn the bfasm The brainfuck assembler. Documentation and samples: https://raw.githubusercontent.com/KrzysztofSzewczyk/asmbf/master/doc/bfasm.doc 17:51:27 Learned 'bfasm': the bfasm The brainfuck assembler. Documentation and samples: https://raw.githubusercontent.com/KrzysztofSzewczyk/asmbf/master/doc/bfasm.doc 17:51:33 `wisdom bfasm 17:51:34 ​bfasm//the bfasm The brainfuck assembler. Documentation and samples: https://raw.githubusercontent.com/KrzysztofSzewczyk/asmbf/master/doc/bfasm.doc 17:51:39 lgtm 17:51:48 `? bfasm 17:51:49 the bfasm The brainfuck assembler. Documentation and samples: https://raw.githubusercontent.com/KrzysztofSzewczyk/asmbf/master/doc/bfasm.doc 17:52:16 wait 17:52:21 it has been appended to the beginning 17:52:31 what a derp lol 17:52:33 That's how it does. 17:52:45 `? wiki 17:52:46 The wiki is at . 17:52:55 `? test 17:52:56 test failed. HackEgo-JUnit is not available. 17:52:57 The idea is that you can `learn things like "The foomajick is a thingummy.", and then `? foomajick will return that. 17:53:00 kspalaiologos: try le//rn 17:53:05 or slashlearn if you're me 17:53:14 `le//rn 17:53:15 Usage: `le/[/]rn // 17:53:28 `le//rn bfasm //The brainfuck assembler. Documentation and samples: https://raw.githubusercontent.com/KrzysztofSzewczyk/asmbf/master/doc/bfasm.doc 17:53:30 Learned 'bfasm ': The brainfuck assembler. Documentation and samples: https://raw.githubusercontent.com/KrzysztofSzewczyk/asmbf/master/doc/bfasm.doc 17:53:39 oops 17:53:42 how do I remove the key? 17:53:45 `le//rn bfasm//The brainfuck assembler. Documentation and samples: https://raw.githubusercontent.com/KrzysztofSzewczyk/asmbf/master/doc/bfasm.doc 17:53:47 Relearned 'bfasm': The brainfuck assembler. Documentation and samples: https://raw.githubusercontent.com/KrzysztofSzewczyk/asmbf/master/doc/bfasm.doc 17:53:50 But in this case, it should say something like "bfasm is the brainfuck assembler..." 17:53:53 `` forget 'bfasm ' 17:53:55 Forget what? 17:53:55 `? forget 17:53:56 forget? ¯\(°​_o)/¯ 17:54:10 `le//rn bfasm//bfasm is the brainfuck assembler. Documentation and samples: https://raw.githubusercontent.com/KrzysztofSzewczyk/asmbf/master/doc/bfasm.doc 17:54:15 Relearned 'bfasm': bfasm is the brainfuck assembler. Documentation and samples: https://raw.githubusercontent.com/KrzysztofSzewczyk/asmbf/master/doc/bfasm.doc 17:54:46 `? bfasm 17:54:47 FWIW, you didn't need le//rn for *that*, the "a/an/the" is optional. 17:54:48 bfasm is the brainfuck assembler. Documentation and samples: https://raw.githubusercontent.com/KrzysztofSzewczyk/asmbf/master/doc/bfasm.doc 17:54:50 `? wisdom 17:54:51 wisdom is always factually accurate, except for this entry, and, uh, that other one? It started with, like, an ø? 17:55:00 fizzie: didn't have an "is" before 17:55:02 can i specify newlines in <<<""? 17:55:14 kspalaiologos: it's just bash syntax. you can use $'\n' if you want 17:55:19 kspalaiologos: see my gcc command 17:56:46 there are other solutions too of course 17:57:42 I wonder will it build 17:57:51 ``` bfasm <<<"mov r4,.F$'\n'mov r1,.0$'\n'mov r2,r1$'\n'lbl 1$'\n'out r1$'\n'out r2$'\n'out 32$'\n'mov r3,r1$'\n'eq_ r3,.9$'\n'jnz r3,2$'\n'mov r3,r2$'\n'eq_ r3,.9$'\n'jnz r3,3$'\n'mov r3,r1$'\n'eq_ r3,r4$'\n'jnz r3,5$'\n'lbl 6$'\n'mov r3,r2$'\n'eq_ r3,r4$'\n'jnz r3,4$'\n'inc r2$'\n'jmp 1$'\n'lbl 2$'\n'sub r4,5$'\n'mov r1,r4$'\n'add r4,5$'\n'jmp 1$'\n'lbl 3$'\n'sub r4,5$'\n'mov r2,r4$'\n'add r4,5$'\n'jmp 1$'\n'lbl 4$'\n'inc r1$'\n'mov r2,.0$'\n 17:57:51 'jmp 1$'\n'lbl 5$'\n'mov r3,r2$'\n'eq_ r3,r4$'\n'jz_ r3,6$'\n'" 17:57:52 bash: -c: line 0: unexpected EOF while looking for matching `"' \ bash: -c: line 1: syntax error: unexpected end of file 17:57:58 crap, too big 17:58:09 kspalaiologos: no no, put the whole thing in $'...' 17:58:19 and then C-like backslash escapes will be interpreted in it 17:58:27 works good unless you need literal backslashes in your program 17:58:36 or literal apostrophes 17:58:43 you have to escape those with a backslash 17:59:01 <<<"$'mov r4,.F\nmov r1,.0\nmov r2,r1\nlbl 1\nout r1\nout r2\nout 32\nmov r3,r1\neq_ r3,.9\njnz r3,2\nmov r3,r2\neq_ r3,.9\njnz r3,3\nmov r3,r1\neq_ r3,r4\njnz r3,5\nlbl 6\nmov r3,r2\neq_ r3,r4\njnz r3,4\ninc r2\njmp 1\nlbl 2\nsub r4,5\nmov r1,r4\nadd r4,5\njmp 1\nlbl 3\nsub r4,5\nmov r2,r4\nadd r4,5\njmp 1\nlbl 4\ninc r1\nmov r2,.0\njmp 1\nlbl 5\nmov r3,r2\neq_ r3,r4\njz_ r3,6\n'" 17:59:09 kspalaiologos: but if you have this many newlines, then <<<'....' tr / \\n is almost worth 17:59:10 forgot to run the program 17:59:19 kspalaiologos: no, drop the double quote 17:59:30 or... hmm 17:59:39 ``` echo "a$'b'c" 17:59:39 a$'b'c 17:59:48 ``` echo a$'b'c 17:59:48 abc 17:59:57 ``` bfasm <<<$'mov r4,.F/mov r1,.0/mov r2,r1/lbl 1/out r1/out r2/out 32/mov r3,r1/eq_ r3,.9/jnz r3,2/mov r3,r2/eq_ r3,.9/jnz r3,3/mov r3,r1/eq_ r3,r4/jnz r3,5/lbl 6/mov r3,r2/eq_ r3,r4/jnz r3,4/inc r2/jmp 1/lbl 2/sub r4,5/mov r1,r4/add r4,5/jmp 1/lbl 3/sub r4,5/mov r2,r4/add r4,5/jmp 1/lbl 4/inc r1/mov r2,.0/jmp 1/lbl 5/mov r3,r2/eq_ r3,r4/jz_ r3,6/' tr / \\n 17:59:58 ​+>+[# 18:00:15 crap 18:00:16 kspalaiologos: um no, tr is a program, you have to pipe its output to bfasm 18:00:33 ``` tr / \\n | bfasm<<<$'mov r4,.F/mov r1,.0/mov r2,r1/lbl 1/out r1/out r2/out 32/mov r3,r1/eq_ r3,.9/jnz r3,2/mov r3,r2/eq_ r3,.9/jnz r3,3/mov r3,r1/eq_ r3,r4/jnz r3,5/lbl 6/mov r3,r2/eq_ r3,r4/jnz r3,4/inc r2/jmp 1/lbl 2/sub r4,5/mov r1,r4/add r4,5/jmp 1/lbl 3/sub r4,5/mov r2,r4/add r4,5/jmp 1/lbl 4/inc r1/mov r2,.0/jmp 1/lbl 5/mov r3,r2/eq_ r3,r4/jz_ r3,6/' 18:00:38 wait 18:00:39 I'm an idiot 18:00:57 ``` tr / \\n <<<$'mov r4,.F/mov r1,.0/mov r2,r1/lbl 1/out r1/out r2/out 32/mov r3,r1/eq_ r3,.9/jnz r3,2/mov r3,r2/eq_ r3,.9/jnz r3,3/mov r3,r1/eq_ r3,r4/jnz r3,5/lbl 6/mov r3,r2/eq_ r3,r4/jnz r3,4/inc r2/jmp 1/lbl 2/sub r4,5/mov r1,r4/add r4,5/jmp 1/lbl 3/sub r4,5/mov r2,r4/add r4,5/jmp 1/lbl 4/inc r1/mov r2,.0/jmp 1/lbl 5/mov r3,r2/eq_ r3,r4/jz_ r3,6/' | bfasm 18:00:58 ​+>+[<[>>+>+<<<-]>>[<<+>>-]>[[-]>>>>>[-]++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++<<<[-]++++++++++++++++++++++++++++++++++++++++++++++++>[-]<[>+<<+>-]<[>+<-]<]>+<<+<<[>>->+<<<-]>>>[<<<+>>>-]<[->+<<[>>>-<<+<-]>[<+>-]>>[<->[-]]<[<<<+>>>-]<]>>[-]<<<<[>>+>+<<<-]>>[<<+>>-]>[[-]>>.>.>>>++++++++++++++++++++++++++++++++.[-]<<[-]<<[>>+<<<+>-]<[>+<-]>>>>>+++++++++++++++++++++++++++++++++++++++++++++++++++++++++<<[<<<<+>>>>- 18:01:07 close 18:01:10 kspalaiologos: but now you don't need the dollar sign 18:01:15 because you're not using backslash escapes 18:01:48 can I split the output amongst messages? 18:02:05 ``` tr / \\n <<<$'mov r4,.F/mov r1,.0/mov r2,r1/lbl 1/out r1/out r2/out 32/mov r3,r1/eq_ r3,.9/jnz r3,2/mov r3,r2/eq_ r3,.9/jnz r3,3/mov r3,r1/eq_ r3,r4/jnz r3,5/lbl 6/mov r3,r2/eq_ r3,r4/jnz r3,4/inc r2/jmp 1/lbl 2/sub r4,5/mov r1,r4/add r4,5/jmp 1/lbl 3/sub r4,5/mov r2,r4/add r4,5/jmp 1/lbl 4/inc r1/mov r2,.0/jmp 1/lbl 5/mov r3,r2/eq_ r3,r4/jz_ r3,6/' | bfasm > tmp/test.b 18:02:07 No output. 18:02:12 ``` bfi 18:02:13 kspalaiologos: yes. save stuff in a file. 18:02:14 bash: bfi: command not found 18:02:16 no brainfuck interpreter? 18:02:23 No output. 18:02:40 kspalaiologos: didn't we go through that? we have a brainfuck interpreter in HackEso, one in fungot, and one in lambdabot 18:02:40 b_jonas: i dont even know what you mean. interesting, thanks for the link 18:02:57 hows it called? 18:02:59 `! bf +++++++++++++++++++++[.+] 18:02:59 ​ !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ 18:03:05 beautiful 18:03:23 needs a few more pluses 18:03:26 how do i run a file though 18:03:27 `! bf ++++++++++++++++++++++++++[.+] 18:03:28 ​ !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ 18:03:32 `? ! 18:03:34 ​! is a syntax used in Haskell and Prolog for solving evaluation order problems. 18:03:36 no 18:03:37 `? `! 18:03:38 ​`! emulates the ! command of our former bot EgoBot. You write `! then the name of the language then a program, and it runs the program you give and returns the result. We used to use it to test out esoprograms in-channel all the time, but the set of included esolangs is fairly old now and so it's rarely used. 18:03:49 "/hackenv/interps/egobf/src/egobfi8 file.bf" for running a file. 18:04:00 That's what /hackenv/bin/bf is a wrapper around of. 18:04:12 ``` /hackenv/interps/egobf/src/egobfi8 /tmp/test.b 18:04:13 ​/tmp/test.b: No such file or directory 18:04:18 ``` /hackenv/interps/egobf/src/egobfi8 tmp/test.b 18:04:18 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F 20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F 60 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F 70 71 72 73 74 75 76 77 78 79 7A 7B 7C 7D 7E 7F 80 81 82 83 84 85 86 87 88 89 8A 8B 8C 8D 8E 8F 90 A0 A1 A2 A3 18:04:25 works 18:04:29 like a charm 18:04:47 fizzie: how do you use bin/bf though? 18:04:50 `` ls -l tmp/test.b 18:04:51 ​-rw-r--r-- 1 1000 1000 2902 Oct 23 18:02 tmp/test.b 18:05:04 Not as big as I expected. 18:05:17 2,9k 18:05:20 not great not terrible 18:05:28 I had to optimize my program for assembly size 18:05:31 so it fits in irc message 18:05:43 optimizing it for brainfuck size would shave off around 900 bytes 18:07:41 how do i view my last contributions on wiki 18:07:48 because I feel like i started something and didn't finish it 18:07:48 bin/bf just takes the first command-line argument (so all the input in `bf ...) and handles the ! notation, passing the part before as the file (well, pipe) for egobfi8 to execute, and the part after as the standard input. 18:08:22 -!- LKoen has quit (Remote host closed the connection). 18:08:23 `bf >>,[>,]<[<]>[.>>]<[>>]<<[.<<]!scrambled 18:08:24 srmldebac 18:08:34 ^unscramble srmldebac 18:08:34 scrambled 18:08:39 kspalaiologos: https://esolangs.org/wiki/Special:Contributions/ and enter your wiki username into the field 18:08:41 ^show unscramble 18:08:41 >,[>,]<[<]>[.[-]>[>]<[.[-]<[<]]>] 18:10:03 what's the hardware bot\'s running? 18:10:27 ``` free # that much RAM 18:10:28 ​ total used free shared buff/cache available \ Mem: 252664 3924 245240 0 3500 243980 \ Swap: 0 0 0 18:10:45 ``` df /hackenv # that much free space on the file system 18:10:46 Filesystem 1K-blocks Used Available Use% Mounted on \ none 24733776 13762932 9701340 59% /hackenv 18:10:48 Well, "hardware". 18:10:58 emulated? 18:11:02 For hardware, it's pretty soft. 18:11:06 ``` cat /proc/cpuinfo # and that's what the three layers of virtual machine lies to us about the cpu 18:11:07 processor: 0 \ vendor_id: User Mode Linux \ model name: UML \ mode: skas \ host: Linux dysnomia.zem.fi 4.9.0-5-amd64 #1 SMP Debian 4.9.65-3+deb9u2 (2018-01-04) x86_64 \ bogomips: 5112.62 18:11:08 It's emulated twice over. 18:11:13 whoa what 18:11:15 why twice 18:11:15 it's still an x86_64, mind you 18:11:19 only twice? 18:11:21 no way 18:11:23 it's three times 18:11:30 oh gosh 18:11:35 b_jonas: I wasn't really counting the user/process/filesystem namespace thing. 18:11:37 why would you do that 18:11:53 once a full machine emulation by the hosting company to the machine that fizzie has root on, 18:12:03 one layer of user-mode linux 18:12:09 and I forgot what the third one was 18:12:21 systemd-nspawn, which is all Linux namespaces. 18:12:23 oh yeah, once with linux namespaces 18:12:23 so fizzie owns a vps 18:12:24 yeah 18:12:30 ok, I guess you're right, it's emulated only twice 18:12:34 and sandboxed the third time 18:12:37 not emulated 18:12:38 and he then virtualizes the bot? 18:12:49 kspalaiologos: yes 18:12:55 fair enough 18:13:12 plus runs some other things on the same server 18:13:14 It's the same system where the wiki's running, except the wiki's not in the container. (And obviously not in the UML either.) 18:13:20 ah, yes 18:13:23 is lambdabot running there too? 18:13:24 so you "own" the wiki? 18:13:40 Well, I "maintain" it, nowadays. 18:13:41 the esolangs logs also runs there usually 18:13:43 wasn't the hosting donated? 18:13:45 -!- LKoen has joined. 18:13:46 and the wiki notification too 18:13:54 also, who is the person behind creating this community 18:14:00 it's intriguing me 18:14:04 and, in the future, zemhill will run there too 18:14:25 I mean, there's a lot of overlapping communities. 18:14:33 creating? I don't know, the details are lots in the mists of time 18:14:47 The IRC channel grew out of the old esolangs mailing list, which grew out of the older esolangs mailing list. 18:15:00 I don't really remember the history of the wiki side of things. 18:15:05 wait, so that mailing list that kspalaiologos mentioned, that really exists? 18:15:06 told you we had a mailing list 18:15:22 There were two I knew of. 18:15:39 g2g, I've got a few important things to do 18:15:42 farewell 18:15:48 -!- kspalaiologos has quit (Quit: Leaving). 18:15:59 I think ais523 or oerjan created the wiki so that people don't spam en.wikipedia with nonsense articles about esoteric languages 18:16:01 http://esoteric.sange.fi/archive/ is the newer one. 18:16:44 Graue was much involved in running the wiki, according to their article from 2005 to 2012. 18:17:26 Before the sange.fi mailing lists, there was another mailing list, but I don't really remember any details about that one. 18:17:39 yeah, bust be, https://esolangs.org/w/index.php?diff=6 is the first edit there is 18:17:57 and that's by Graue 18:19:30 https://esolangs.org/w/index.php?title=Special:Log&type=rights says that ais523 was a wiki admin starting from 2007-03 18:19:32 Oh, right, I think the earlier mailing list was the catseye one. 18:20:12 At least in ~/archive/backup/older/colin/oldhome_old2.tar.gz:old2/Mail/lists/lang-eso I have few emails sent to list@catseye.mb.ca. 18:20:22 (I'm very organized with my files, as you can tell.) 18:20:36 also oerjan was wiki admin since 2013-07 and you fizzie since 2017-03 18:20:45 no 18:20:47 mistype 18:20:51 also oerjan was wiki admin since 2013-07 and you fizzie since 2014-03 18:22:29 we need statues in the garden to know who founded what 18:23:07 with plaques on them explaining things 18:23:11 hello / good morning 18:23:31 hi kmc 18:35:35 -!- 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.”). 18:36:21 so the wiki was created in 2005-04, but the channel is older, because we have logs for 2002-12 18:36:50 and we do have a discord, despite that wisdom doesn't know about, because the wiki does know about an unofficial Esolangs Discord server 18:37:28 `' discord 18:37:29 No output. 18:38:02 `slashlearn discord//The unofficial Esolangs and code golf Discord server: https://discord.gg/3UXSK5p 18:38:06 `? discord 18:38:09 Learned 'discord': The unofficial Esolangs and code golf Discord server: https://discord.gg/3UXSK5p 18:38:11 The unofficial Esolangs and code golf Discord server: https://discord.gg/3UXSK5p 18:38:13 `q discord 18:38:14 No output. 18:38:41 `? ioccc 18:38:42 The IOCCC is the Industrial Ordovician COBOL Conference Circuit. Not to be confused with OIC. See also ioccclist. 18:42:36 http://leefallat.ca/notes/p-lang/strings-form-a-group.html - thoughts? 18:45:48 b_jonas: The mailing list archive has a few threads on starting up this channel. 18:45:49 wtf is "hello"^-1 supposed to be 18:45:54 b_jonas: Search for "Esolang IRC channel" in http://esoteric.sange.fi/archive/2002-q4 for example. 18:46:39 (never mind that examples are not proofs most of the time) 18:47:25 lf94: you(?) should really stop at monoid, while you're ahead. 18:47:57 int-e: it's supposed to be a 'negative' string 18:48:04 int-e: a free one? 18:48:31 int-e: you're right, I should not use the word proof at all. 18:48:51 b_jonas: sure, that's a bonus 18:48:56 `? string theory 18:48:57 string theory? ¯\(°​_o)/¯ 18:49:15 lf94: whatever it is, it's not a string 18:49:39 `? string diagram 18:49:40 String diagrams would be useful in category theory, except they're unreadable due to being curled up in tiny dimensions. Taneb invented them anyhow. 18:50:21 ``` cat wisdom/fu*aneb 18:50:22 The Fundamental Theorem of Taneb states that for all strings S, if S describes a thing not involving sex, then it is provable that Taneb invented the thing described by S; and, furthermore, that it is provable that there exists a string T that describes a thing not involving sex that Taneb did not invent. 18:50:23 the monoid is also left- and right-cancellative 18:50:49 `? computer 18:50:50 Computer is a language where numbers are strings of the characters '1' and '0'. 18:51:00 int-e: It is a string 18:51:07 All strings belong in some set S 18:51:19 Yeah I'm out of this discussion. 18:51:20 this includes "negative strings" that I just made up 18:51:37 This is like saying -1 is not a number 18:51:52 `quote jits 18:51:52 It's not a natural number. 18:51:53 564) fizzie: It's like a JIT, if JITs were... strings. 18:51:54 Why cant -"hello" be a string? 18:52:05 Right 18:52:42 lf94: Because strings aren't defined that way. Strings are finite sequences over some alphabet. 18:53:03 But... 18:53:43 So what, you want me to call "hello" a natural string, and -"hello" a Z-string or something ("integer string" would be extremely confusing) 18:54:04 int-e: no no. they're members of the free monoid (semigroup with zero) over an alphabet. the non-algebraic definitions are for kindergarten. 18:54:06 If you want to make a fool out of yourself, you're welcome to do that. If you want to re-invent free groups, that's also a viable route, but the objects will no longer be strings. 18:54:20 ... 18:54:22 I want to learn :) 18:54:48 And I'm ok with being wrong - so you're saying check out free groups - ok. 18:55:20 int-e: I understand what you mean by "these arent strings", as in, strings have a very absolute definition 18:55:36 So what would you propose to call them? 18:55:47 I guess anything other than strings... 18:59:44 int-e: thank you :) 18:59:52 So definitely a free group 19:02:30 er 19:02:45 actually what I defined does actually correspond to a group 19:03:36 "thing is a sentence" * -"is" == -"is" * "thing is a sentence" == "thing a sentence" 19:09:07 "An example of an element of the free group on two generators is ab^2a^(-1), which is not equal to b^2." 19:09:20 But this is not the case in what I wrote 19:10:08 "o" * "h" * "e" * "ll" * -"o" does equal "hell" 19:21:38 -!- hppavilion[1] has quit (Ping timeout: 240 seconds). 19:24:50 -!- hppavilion[1] has joined. 19:26:39 is forth an esoteric language 19:27:23 -!- MDude has quit (Quit: Going offline, see ya! (www.adiirc.com)). 19:28:49 if that's the case then we've sent an esolang to space. 19:29:10 -!- ArthurStrong has joined. 19:29:30 hot damn 19:29:35 thats impressive 19:43:36 "o" * "h" * "e" * "ll" * -"o" does equal "hell" => seems trickier than free groups, yeah 19:43:56 it just removes all instances of "o" 19:44:01 pretty simple imo 19:44:09 if there are many instances of "o" in that *string, which ones would be removed when * -"o"? 19:44:11 how would you remove just one 'o'. 19:44:15 ah, all 19:44:22 you dont 19:44:24 @ imode 19:44:35 brutal. so there are find/replace operations that are not possible. 19:44:46 find/replace is something all on its own. 19:44:51 That's why I ask the question... 19:44:56 At the bottom of my writing 19:44:59 I wanted to say “rigid” too :D 19:45:09 "Maybe strings should be promoted to a more restrictive structure?" 19:45:10 apart from reordering the operations. 19:45:31 Or maybe strings alone are not useful 19:45:43 I wanted to explore it with you guys :) 19:46:00 lf94: what do you mean, more restrictive? 19:46:07 more laws to satisfy 19:46:13 you can reorder the operations such that any 'o' you want to remove just has to be affixed with a * -'o'. 19:46:22 So our new structure would "require to implement find/replace" 19:46:33 ah I see 19:46:43 so 'h' * 'e' * 'l' * 'l' * 'o' * -'o' * 'o' wouldn't be "helloo", it'd be "hello". 19:46:53 but this implies an ordering of an operation. 19:46:53 Yes, then we have a free group 19:47:08 I don't believe you do. any deviation from that order gives you a different result. 19:47:22 "o" * "h" * -"o" then equals what? 19:47:34 'h'. 19:47:41 In a free group...it equals "oh-o" 19:47:41 so we need to have some good operations so that find/replace is neatly expressible? 19:47:54 in a group, by MY definition, it's "h". 19:48:14 arseniiv: yes, preferably 1 operation 19:48:22 lf94: I think imode proposes deleting the last one occurence 19:48:33 not really. stepwise application. 19:48:34 _ah_ 19:48:40 then it would be between free group and deleting all occurrences 19:48:56 "hello" ? ("el","zz") 19:49:02 But now we are creating a new thing 19:49:12 intersection of two sets 19:49:16 yes, preferably 1 operation => but now we already got two, * and - 19:49:17 strings and some pair type 19:49:21 'h' * 'e' -> "he". "he" * 'l' * 'l' -> "hell". "hell" * 'o' -> "hello". "hello" * -'o' -> "hell". "hell" * 'o' -> "hello". 19:49:27 arseniiv: I mean 1 additional operation :) 19:49:57 imode: now what about "ohell" * -"o" ? 19:49:57 strings with concatenation don't form a group. 19:49:57 we can use string zippers 19:50:09 because if they did, then "hello" == "olleh". 19:50:17 imode with concat alone, just a monoid, yes 19:50:24 I have an uncooked esolang Punctree which deals with tree zippers 19:50:26 errr? 19:50:32 it has some nice operations 19:50:37 hello is a different string to olleh 19:50:55 string zipper? 19:50:57 but if you're defining a string to be a result of several `*`s, it can't be if it's a group. 19:50:58 like substitution, which is inconceivable for strings without holes 19:51:14 imode: you've lost me :) 19:51:19 string zipper? => like list zipper, but for list of chars 19:51:32 I just remember zipper is some fp structure or function 19:51:45 yeah 19:51:50 ah, I'm wrong. the ordering is relevant, so I'm wrong. 19:52:11 just a shameless self-something: https://esolangs.org/wiki/Punctree and there are a couple of links added by IIRC int-e 19:52:22 to pages about zippers specifically 19:52:27 I don't get why people say "Shameless plug" 19:52:36 plugging yourself is seen as shameless. 19:52:43 s/shameless/shameful 19:52:44 Right? So why say it at all? 19:52:45 so my clumsy description would get more comprehensive 19:52:58 shameless self promotion fits in the same vein. 19:53:08 shameless composition with the channel’s continuation 19:53:12 It's like saying "excuse my rudeness" *does something extremely rude* 19:53:14 is it delimited one 19:53:38 IMO linking to your own things is ok. In fact I encourage it, because people dont share their own stuff enough 19:53:39 lf94: or knocking and then opening the door immediately 19:53:45 haha, yeah 19:53:47 that's a goodone 19:54:07 lf94: I agree, people should share their stuff with me so I’ll be a good borg 19:54:11 we* 19:54:20 arseniiv: this lang is too alien for me right now :D 19:54:32 ζ↙ 19:54:39 brain=exploded 19:54:46 okay but you can believe that there are many neat operations to do on zippers! 19:54:54 sure! :D 19:54:55 yeah I like APL too 19:55:06 not the real APL, but nonetheless 19:55:31 then some day you’ll make something with string zippers maybe 19:56:00 What are some math operators that take more than 2 operands 19:56:20 maybe strings need to be "lifted" to something like a list 19:57:04 strings are already lists, of characters 19:57:21 I probably misunderstood 19:57:33 ["hello ", name, " how are you?"] * ["", " with a hat", ""] == "hello lf94 with a hat how are you?" 19:57:59 imo this is a pretty cool 19:58:17 oh format strings! 19:58:20 getting closer to replace i think 19:58:34 So now * is operating on each element 19:58:39 like matrix operations 19:59:34 -!- oerjan has joined. 20:00:05 ["hello ", name, " how are you?"] * ["", -"lf94" * "bob", ""] == "hello bob how are you?" 20:00:12 very basic replace. 20:00:37 the list gives control of position 20:02:07 syntax sugar would be required to specify "delete everything" 20:02:26 Which would be written as -"a" * -"b" * ... I think 20:03:05 Mmm, no 20:03:55 "a" * -"a" == ""; "a" * "a" == "aa"; thus -"a" * -"a" = -"aa" ?, which would remove all instances of 2 a's 20:04:13 b_jonas: what's all that about <-- i'd say b_jonas is showing scan-dalous behaviour there 20:05:00 you'd think our resident poetry scanner would know better 20:08:10 what? "resident poetry scanner"? 20:08:12 who is that? 20:08:17 you 20:09:06 why? 20:09:11 who else uploads entire poetry pooks to wikimedia commons... 20:09:21 those are real poetry, not English stuff 20:09:50 must resist... urge to `addquote 20:10:09 that's no excuse for not knowing scansion 20:10:23 man this is cool. "" * "" = ""; "" * -"" = -""; thus "a" * -"" = -"a"; which means -"" will remove everything when applied to any other string. 20:11:09 is this a proper ring twh 20:13:27 oerjan: English poetry isn't real poetry, they just call it poetry because it's the best replacement that they have for real poetry, which is impossible for English 20:13:35 and I don't understand how "scansion" or whatever works in it 20:13:56 apparently it depends on how English pronunciation is supposed to work, which not only I don't understand, but other people don't either 20:14:09 or at least different people understand it differently 20:14:36 i understand it perfectly well, until i look it up in wiktionary and see i was wrong, or at least a minority 20:14:51 oerjan: don't believe Wiktionary 20:15:12 that too 20:16:35 oerjan: try CAAPR, it's a reasonably well done pronunciation list 20:16:46 a small one, so only common words are in it 20:16:55 but it's good quality and consistent and well thought out 20:16:59 even if the notation is a bit weird 20:17:17 "CAAPR: the Comprehensive & Adaptable Aperture Photometry Routine" 20:17:29 i'm sure that will help with pronunciation. 20:18:01 http://www.wyrdplay.org/AlanBeale/CAAPR-ref.html 20:18:52 it's compiled by the author of 12dicts ("http://wordlist.aspell.net/12dicts/") 20:19:27 I mentioned it on this channel a few months ago 20:20:22 but as for how you go from there to English poetry, I've no idea 20:22:05 i already regret starting this conversation hth 20:22:21 sorry 20:22:36 as for the original topic, feel free to edit that higgedly wisdom of course 20:24:08 btw, I think my compact camera finally died 20:24:12 I'll have to buy a new one 20:44:56 -!- hppavilion[1] has quit (Remote host closed the connection). 20:53:59 -!- MDude has joined. 20:54:23 hppavilion[1]: except the hg log is truncated, I don't know why, so if you look way back in the revisions, you won't find the oldest stuff <-- GregorR used to reset history occasionally in the beginning, before we started depending on it being accurate 20:54:55 i think the last time was in 2013 or so 20:54:58 -!- hppavilion[1] has joined. 20:55:08 `dowt zzo38 20:55:10 0:2012-02-16 Initïal import. 20:55:26 hm maybe 2012 then 21:05:05 ``` hg log -T "{date|shortdate}" -r 1 21:05:07 2012-02-19 21:05:13 yeah 21:05:19 (I don't trust revision 0) 21:15:58 oh, unrelated video game stuff. I think the Game Boy could easily handle a tetris game where the blocks are 7 pixel tall rather than 8. you'd need tiles that combine parts of two blocks in different ways, but it fits in the tiles array with three colors of blocks, and I think the CPU could handle it too (you'd probably need to use sprites for the currently falling block, and update the tiles only during 21:16:04 lockdown) 21:16:38 the problem with the Game Boy tetris game is that there are only 18 rows, because 20 rows of 8 pixels don't fit in the screen, but you really want at least 20 rows for a tetris game 21:16:51 and 7 pixels tall, even if unnatural for a game boy game, could do that 21:18:47 kspalaiologos: cp? don't you use symlinks? <-- you should not put symlinks to tmp/ , everything there is potentially irreversibly deleted at any time 21:20:29 oerjan: yes, I misread the commands. I realized later. 21:20:48 ah 21:21:04 oerjan: the cp was to install the program from the build directory; I assumed it was already installed under /hackenv/lib and he's just linking it to /hackenv/bin 21:21:21 but it's a single-file executable, so the cp was all it took to install 21:39:05 -!- ArthurStrong has quit (Quit: leaving). 21:40:21 I think ais523 or oerjan created the wiki so that people don't spam en.wikipedia with nonsense articles about esoteric languages <-- i think you make up things hth 21:42:23 also, some people try to do that anyway 21:43:48 and the actual wikipedia article about esolangs keeps growing dubious examples but i don't dare to prune it because i know someone might be inspired to delete the examples i actually _like_ that don't have their own articles (like Piet) 21:44:12 although some other people have pruned on occasion 21:47:43 `? #esoteric 21:47:44 ​#esoteric is the only channel that exists. After monqy left it became slightly off-centër. It's a 7-codimensional hyperenchilada about 30 m (100 ft) across. oerjan seems to be making a lawn in the northern part, but it keeps getting dug up by free ranging moons. Currently located in the Atlantis Exclusion Zone. 21:49:30 `cat bin/q 21:49:31 quote "$@" 21:56:11 `? forth 21:56:13 Since Biblical times, Forth has been the go-to language for multiplication. 22:01:44 -!- sftp has quit (Excess Flood). 22:02:10 -!- sftp has joined. 22:02:38 ``` set -e; cd wisdom; printf "%s// " *eso* 22:02:38 ​#esoteric// #esoteric-blah// esosc// esoteric// esoteric files archive// esoterra// esowiki// hackeso// ingesorgeco// mesolang// 22:04:21 `? esoteric 22:04:22 This channel is about programming -- for the other kind of esoterica, try #esoteric on EFnet or DALnet. 22:04:49 ^ these channels, the ones mentioned in welcome, do we know if they still exist? I wonder if we're sending people to channels that have been gone for five years or something 22:05:05 perhaps we should send a volunteer to check once every decade 22:05:51 ``` \? welcome | sed 's/.*((//' 22:05:52 Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: . (For the other kind of esoterica, try #esoteric on EFnet or DALnet.) 22:05:59 argh 22:07:42 arseniiv: as I was washing dishes, I remembered what a zipper was. 22:07:50 find and replace is complete now. 22:08:24 (("hello my big world" % " ") ? "big") * ["", -"", ""] * ["", "small", ""] == "hello my small world" 22:08:47 % is split, ? is find (and returns a zipper of [before, found, after]), and the rest we talked about. 22:09:03 yay! 22:09:15 I think it's also impossible for the line to fail 22:09:24 if "big" isnt found, it'll use empty string 22:09:29 meaning nothing is replaced 22:10:40 also maybe add composition of two or several zippers, it would just nest them like a fir 22:11:16 Oh yeah and ! is join 22:11:23 and walks left/right 22:11:57 hm how could one insert between fragments? 22:12:14 example? 22:12:41 like, insert something right before "big" in that example 22:12:52 but leave "big" intact 22:13:09 ah, we could replace it with "somethingother big" 22:13:50 (but maybe this profits from a shorter syntax) 22:13:59 will go sleeping soon 22:14:54 perhaps we should send a volunteer to check once every decade <-- sounds good, i'm sure it's been less than that. 22:18:56 oerjan: indeed, less than a decade yet 22:20:45 arseniiv: yeah exactly 22:20:59 or, er, no! 22:21:10 just this 22:21:27 ["", "somethingother", ""] * (("hello my big world" % " ") ? "big") 22:21:35 so awesome 22:22:39 ``` hg log -T "{rev}:{date}:{desc}\n" -r 378 # this was the commit that first added dalnet 22:22:39 so that covers find/replace/insert/delete 22:22:40 378:1336334759.00: learn Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: http://esolangs.org/wiki/Main_Page. (For the other kind of esoterica, try #esoteric on irc.dal.net.) 22:22:54 ``` hg log -T "{rev}:{date|shortdate}:{desc}\n" -r 378 # with date 22:22:55 378:2012-05-06: learn Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: http://esolangs.org/wiki/Main_Page. (For the other kind of esoterica, try #esoteric on irc.dal.net.) 22:23:06 ``` hg log -T "{rev}:{date|shortdate}:{desc}\n" -r 5372 # and this much more recent one added efnet 22:23:07 5372:2015-05-24: sed -i \'s/on irc.*/on EFnet or DALnet.)/\' wisdom/welcome 22:23:13 so both less than a decade ago 22:23:15 I guess I can make a text editor now 22:25:46 then we should schedule the checking of the dalnet one to 2022 22:26:09 do we have an #esoteric calendar? 22:31:14 lf94: :) 22:33:28 do we have an #esoteric calendar? => tomorrow is the day of eicosapentation of common/uncommon radices! 22:33:40 (8 is the common one, 10 is uncommon) 22:34:33 established since, and up to, eleven 22:36:54 arseniiv: you mean like, tomorrow is the 25th day of the month? 22:37:06 I can't make sense of what you mean by all those other numbers 22:37:12 `ddate 22:37:13 Today is Sweetmorn, the 4th day of The Aftermath in the YOLD 3185 22:37:26 I meant to write “comment/uncomment radices” but that’s ungrammatical and too radical 22:37:46 I can't make sense of what you mean by all those other numbers => why, you know that october is the eight month 22:38:01 eighth* 22:38:15 there’s even a helpful hth in there 22:38:19 :o 22:38:45 `? hth 22:38:46 hth ([ʰtʰh̩]) is help received from a hairy toe. It is not at all hambiguitous. 22:39:06 -!- FreeFull has quit. 22:39:26 tomorrow is the 25th day of the month => that’s not esoteric, contrary it’s pretty obvious 22:40:28 I don’t know if I’m joking or not 22:40:48 `? title 22:40:49 Titles J. K. Rowling had specifically denied on her webpage would be the titles of the sixth or seventh Harry Potter book are: Harry Potter and the{ Green Flame Torch, Mountain of Fantasy, Fortress of Shadows, Forest of Shadows, Graveyard of Memories, Pyramids of Furmat, Pillar of Storgé, Toenail of Icklibõgg}. 22:41:57 `? ddate 22:41:58 ddate? ¯\(°​_o)/¯ 22:43:33 hm I wasn’t attentive when read how others asked to show help on commands 22:52:32 Arguably, ddate isn't really a HackE[sg]o command. 22:52:37 It's just the standard ddate. 22:52:46 `which ddate 22:52:46 ​/usr/bin/ddate 22:54:20 -!- ArthurStrong has joined. 22:54:37 If I had /var mounted, we could probably look which package it was coming from, but for some reason the standard umlbox base mount points only include /usr, /bin, /sbin, /lib, /lib32, /lib64, /etc/alternatives and /dev. 22:55:20 I guess a lot of /var doesn't really make sense inside the box though, while having a shared /usr is more normal. 23:10:50 -!- arseniiv has quit (Ping timeout: 240 seconds). 23:45:44 -!- heroux has quit (Ping timeout: 268 seconds). 23:50:35 What name would make sense for this operation? a?b = ln(e^a + e^b) 23:50:47 By analogy with a*b = ln(e^a * e*b) 23:51:07 a?a = a+1. Almost but not quite like making addition repeated '?' 23:54:18 a?a = ln(e^a + e^a) = ln(2e^a) = ln(e^a) + ln(2) = a + ln(2), not a + 1. 23:56:40 -!- oerjan has quit (Quit: Nite). 23:56:44 Uh. Pretend I said a?b = log_2(2^a + 2^b) 23:57:01 >.> 23:58:27 Hmm might be fun to find a base such that a?a = a+2