00:47:43 -!- pikhq has joined. 01:09:40 -!- Sgeo__ has joined. 01:11:57 -!- xkapastel has quit (Quit: Connection closed for inactivity). 01:12:37 -!- Sgeo_ has quit (Ping timeout: 240 seconds). 01:13:28 -!- ais523 has joined. 01:27:56 -!- atslash has quit (Ping timeout: 265 seconds). 01:28:23 -!- atslash has joined. 01:34:16 -!- atslash has quit (Ping timeout: 240 seconds). 01:35:24 -!- atslash has joined. 04:42:33 -!- Sgeo__ has quit (Read error: Connection reset by peer). 04:46:24 -!- Sgeo has joined. 04:51:38 -!- Lord_of_Life has quit (Ping timeout: 240 seconds). 04:53:51 -!- Lord_of_Life has joined. 05:02:56 -!- ais523 has quit (Ping timeout: 240 seconds). 05:56:42 -!- imode has quit (Ping timeout: 245 seconds). 06:02:20 [[Special:Log/newusers]] create * Msully4321 * New user account 06:06:03 [[Esolang:Introduce yourself]] https://esolangs.org/w/index.php?diff=66408&oldid=66386 * Msully4321 * (+200) introduction 06:06:09 -!- ais523 has joined. 06:07:17 i've been quoted 06:07:37 [[Wikiplia]] https://esolangs.org/w/index.php?diff=66409&oldid=56754 * Msully4321 * (+120) add a link to the wikiplia source code 06:09:33 kmc: I hate it when that happens. 06:19:56 i think most of my quotes here are not too embarrassing 06:20:06 though i'm sure if you went through the logs you could find loads of embarrassing things i've said 06:20:17 @nixon 06:20:17 I'm glad I'm not Brezhnev. Being the Russian leader in the Kremlin. You never know if someone's tape recording what you say. 06:20:38 perfect choice, lambdabot 06:23:24 i think my #haskell quotes are probably more embarrassing 06:23:28 @quote kmc 06:23:28 kmc says: φ you lambdabot 06:23:39 ok that one's pretty good 06:24:26 @quote int-e 06:24:26 int-e says: C++ does make a reasonably usable high-level assembler 06:25:04 Oh that... I still agree with. 06:26:28 @quote oerjan 06:26:28 oerjan says: hotsmack 06:26:40 OKAY 06:26:49 @quote oerjan 06:26:49 oerjan says: surprisingly, Cale is not a lambdabot command. afaik he may even be human. 06:27:38 @quote Cale 06:27:38 Cale says: Basically, we've known how to implement first class functions efficiently for 20 or 30 years now, and we've known about their importance to abstraction in programming since before the 06:27:38 advent of electronic computers. There's no excuse to still be writing new programs in languages without them. 06:28:21 . o O ( This demonstrates a severe lack of creativity when coming up with excuses. ) 06:28:29 (Sorry, Cale) 06:29:21 @quote php 06:29:21 dmhouse says: elisp is the PHP of the Lisp world. 06:29:54 * oerjan finds himself starting to whistle stars and stripes forever 06:30:18 the strange thing is i can only do that unconsciously 06:30:23 oerjan: now why does that remind me of Duke Nukem 06:30:35 @quote kmc 06:30:36 kmc says: "Haskell is great, because Curry-Howard! Proving things in the type system. We can prove that, uh, Ints exist, unless they're ⊥." 06:31:13 ^ the kind of cringe i was expecting 06:31:13 because whenever i try to whistle it consciously, i can only remember the 2nd and 3rd movements 06:31:16 i'm not wrong though 06:32:06 int-e: also i don't know, i've never played duke nukem 06:33:10 cringily correct, the best kind of correct 06:34:18 speaking of cringes... "blockchain is essentially a distributed state machine" 06:36:09 (from https://heise.de/-4514954 (in german)) 06:36:42 => universe = quantum blockchain 06:37:32 at least they come to the conclusion that there aren't any convincing use cases for blockchain technology in the context they're considering (namely, in combination with microservices). (bzzzzzt!) 06:37:54 oerjan: It's all reversible, right? 06:40:56 Needless to say I completely disagree with that mental model... a ledger only incidentally keeps track of a current state; its purpose is to be a record of history. 06:48:11 thgir 06:48:26 `? thgir 06:48:26 thgir? ¯\(°​_o)/¯ 06:49:33 . o O ( `le/rn password//The password of the month is up for grabs. ) 06:50:17 oerjan: .hO 06:51:50 -!- kspalaiologos has joined. 06:52:45 Hello 06:55:05 I wonder, are there more bots than regular users? 06:56:32 I don't think so. 06:56:46 (Assuming the question is about this channel.) 06:57:54 * int-e wonders where gitlogger logs to (if the place is public we should mention it in the topic) 06:59:43 Or maybe it's not logging the channel but logging other sources on the channel? Who knows. 07:05:18 -!- Lord_of_Life has quit (Read error: Connection reset by peer). 07:10:05 -!- Lord_of_Life has joined. 07:11:47 we're all bots here 07:13:08 int-e: I think you can just as easily say that a ledger exists incidentally as a form of distributed consensus about a current state 07:13:23 but perhaps there is some context to your statement that I am missing 07:13:26 kspalaiologos: at one time there were 10% bots, but i think there are fewer now 07:14:27 🤖 beep boop 🤖 07:14:50 @quote robot 07:14:50 byorgey says: now we have the pig operator <^(++)^> as well as the robot monkey operator (:[]) 07:14:56 @quote bot 07:14:56 rwbarton says: also, a generally safe answer to "was there an update to lambdabot recently" is "no" 07:15:29 admittedly there are also fewer users overall 07:17:05 -!- ais523 has quit (Quit: quit). 07:17:23 kmc: I want to distinguish a ledger from a mere database 07:17:40 ok there are 7 nicks i know are bots, as well as 2 that look suspiciously like bots, so there _may_ be 10% 07:18:27 ok gitlogger is a bot, and i'm unsure about diginet 07:20:58 anyway... 07:21:01 -!- oerjan has quit (Quit: Nite). 07:44:01 oerjan, it's my bot. 07:46:34 [[AlphaBeta]] https://esolangs.org/w/index.php?diff=66410&oldid=65916 * Kritixilithos * (+645) turing completeness 07:48:16 I'm making a bot mirroring the IRC logs for a few servers 07:48:30 github.com/KrzysztofSzewczyk/esologs/ 07:49:01 -!- cpressey has joined. 07:56:28 Good morning and happy October. Say I have a semi-Thue grammar with the following property: for every word w, it is not possible to derive w in zero or more steps starting from w. Can such a grammar be Turing-complete? 07:57:22 (This is an attempt to put "Is there a language without NOP and in which it is not possible to build a NOP?" on a more rigorous basis.) 08:08:48 -!- wib_jonas has joined. 08:12:04 -!- int-e has set topic: IOCCC winners are denounced; early July 2019 still pending definition | Welcome to the international center for esoteric programming language design, development, and deployment! | https://esolangs.org | logs: https://esolangs.org/logs/ http://codu.org/logs/_esoteric/ http://tunes.org/~nef/logs/esoteric/?C=M;O=D https://github.com/KrzysztofSzewczyk/esologs/. 08:14:42 kspalaiologos: more bots than users => it's hard to tell, we have a lot of irc connections of whom we know nothing 08:15:00 probably not though, because most of the bots are users 08:26:28 also, since I keep announcing these, even though there's no formal *list , https://magic.wizards.com/en/articles/archive/news/throne-eldraine-update-bulletin-2019-09-27 Throne of Eldraine Update Bulletin (M:tG) 08:29:19 `fetch share/mtg/MagicCompRules_20191004.txt https://media.wizards.com/2019/downloads/MagicCompRules%2020191004.txt 08:29:21 2019-10-01 08:29:20 URL:https://media.wizards.com/2019/downloads/MagicCompRules%2020191004.txt [741298/741298] -> "share/mtg/MagicCompRules_20191004.txt" [1] 08:31:51 `` set -e; cd share/mtg; tr -d \\\\r rules.txt 08:31:53 No output. 08:33:12 `` set -e; cd share/mtg; grep Arbor rules.txt 08:33:12 No output. 08:34:15 `` set -e; cd share/mtg; tr -d \\r rules.txt 08:34:16 No output. 08:34:17 -!- zzo38 has quit (Ping timeout: 240 seconds). 08:34:46 ``` set -e; cd share/mtg; cat rules.txt 08:34:47 ​Magic: The Gathering Comprehensive Rules \ \ These rules are effective as of October 4, 2019. \ \ Introduction \ \ This document is the ultimate authority for Magic: The Gathering® competitive game play. It consists of a series of numbered rules followed by a glossary. Many of the numbered rules are divided into subrules, and each separate rule and subrule of the game has its own number. (Note that subrules skip the letters “l” and “o” du 08:35:13 What's this bot 08:35:42 note: I accidentally stripped "r" and "\\" characters rather than "\r" characters, so the "\r" characters remain, and those make HackEso truncate the output. I wonder if any wisdom has one. 08:35:47 `? HackEso 08:35:47 HackEso is almost but not quite unlike HackEgo. 08:35:51 `? HackEgo 08:35:52 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! 08:35:53 `help 08:35:53 Runs arbitrary code in GNU/Linux. Type "`", or "`run " for full shell commands. "`fetch [] " downloads files. Files saved to $PWD are persistent, and $PWD/bin is in $PATH. $PWD is a mercurial repository, "`revert " can be used to revert to a revision. See http://codu.org/projects/hackbot/fshg/ 08:37:24 `run cat /etc/passwd 08:37:24 cat: /etc/passwd: No such file or directory 08:37:33 Where was passwd stored 08:37:42 C'mon, too much windows 08:37:57 `run hostname 08:37:57 ​(none) 08:38:20 `run ls /bin 08:38:20 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 \ more \ mou 08:38:40 HackEso has a bunch of commands idiosyncratic to this community, some of them we use a lot 08:38:46 for example the `` command 08:38:58 you can find them in /hackenv/bin 08:39:03 What's its meaning 08:39:16 `ls /hackenv/ 08:39:17 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 08:39:21 some of them have long descriptions in the wisdom database, which you can access with the ? command , or short descriptions in the whatis database 08:39:24 `? `` 08:39:25 ​` is the prefix to greatness. 08:39:27 `? ``` 08:39:28 ​```? ¯\(°​_o)/¯ 08:39:30 `? ` 08:39:31 ​` is the prefix to greatness. 08:39:37 hmm, that doesn't quite explain it 08:39:49 Is the source code public? 08:39:54 `? source 08:39:55 Sources for HackEgo can be found at https://bitbucket.org/GregorR/hackbot + https://bitbucket.org/GregorR/multibot + https://bitbucket.org/GregorR/umlbox . Sources for HackEso can be found at https://bitbucket.org/fizzie/hackbot + https://bitbucket.org/fizzie/multibot + https://bitbucket.org/fizzie/umlbox . 08:39:59 My bot here uses Perl 08:40:13 but most of the magic is in the commands itself, which you can usually read directly from the commands in bin 08:40:32 'bin/``' runs a shell command, so typing '```' invokes that 08:40:35 ``` echo foo; echo bar 08:40:36 foo \ bar 08:40:44 it's similar to the run builtin 08:40:46 I'll take a look on this 08:40:54 When I'm home 08:40:57 `whatis `` 08:40:58 ​``(1hackeso) - run shell command 08:41:05 there's also a single-backtick 08:41:07 `whatis ` 08:41:08 ​`(1hackeso) - run shell command using New Zealand locale 08:41:16 I don't want anyone bashing me for slacking in work :d 08:41:36 the New Zealand locale is actually the default for everything, and the double backtick command unsets it 08:41:52 kspalaiologos: what bot uses perl? 08:42:07 gitlogger 08:42:16 I use it to mirror chat logs 08:42:22 Of various irc channels 08:42:38 `perl -efor(1..7) print $_**2," " # HackEso has a perl interpreter installed 08:42:39 syntax error at -e line 1, near ") print" \ Execution of -e aborted due to compilation errors. 08:42:47 `perl -efor(1..7) { print $_**2," " } 08:42:47 1 4 9 16 25 36 49 08:43:14 Nearly every UNIX-like box has perl installed 08:43:29 also a python3 interpreter, a ruby interpreter, a javascript node.js interpreter, a prolog interpreter, a C compiler, an sqlite3 interpreter, and more 08:43:38 I quite like perl and enjoy it over other scripting languages 08:43:38 kspalaiologos: yes, that's probably why this has a perl too 08:43:55 Why would anyone need node.js cmon 08:44:01 there's also perlbot, which is a fork of buubot, and can run perl commands 08:44:18 kspalaiologos: this is #esoteric , we experiment with languages even when they're weird 08:44:23 not with php though... eww 08:44:24 kspalaiologos: as the evil twin of perl, i have to dislike it 08:44:34 Thats actually neat 08:44:38 what? you're the evil twin of perl? 08:44:39 Is perl bot runnint? 08:44:44 *running 08:44:51 I think so, but it's not in this channel. let me test 08:44:56 wib_jonas: i fail to remember how to trigger factoids 08:45:05 My crappy irc client won't let me view the list. 08:45:08 yes, it's running 08:45:09 try /msg perlbot echo hello, world 08:45:27 It's sandboxed obviously? 08:45:31 Virtualization? 08:45:44 everytime i think about how perl is as old as me, something makes me dislike it even more 08:45:47 Has it got disk quotas/execution quotas and memory quotas? 08:45:59 myname: I dislike perl, but for different reasons 08:46:05 I used to write a C compiler in Perl 08:46:20 Yet I slightly dislike Perl for some reasons. 08:46:27 wib_jonas: there are plenty of reasons, but a bunch of those is related to its age 08:47:08 are 08:47:12 zzo38: M:tG stuff above, you probably already know 09:49:21 -!- arseniiv has joined. 09:51:35 `? myname 09:51:36 myname is not your name. You don't know what they are doing. Or you are doing. Or am I? He is Perl's evil twin brother. 09:55:20 `? password 09:55:21 The password of the month is ninjaed. 09:55:34 oh it’s still not ch… 09:56:04 `learn The password of the month is not what it seems 09:56:10 Relearned 'password': The password of the month is not what it seems 09:57:08 * arseniiv is overjoyed 09:58:36 arseniiv: https://esolangs.org/logs/2019-10-01.html#lcb ;-) 10:00:54 ``` hg cat -r 11684 wisdom/password | perl -e'print substr(,0,34)' 10:00:55 The password of the month is "over 10:00:56 joyed? 10:01:16 int-e: I couldn’t logread, what if oerjan sneaked on me; also my password was in priority as it would someday be discovered anyway, it’s so simple, so I couldn’t not set it today, no way 10:02:03 arseniiv: You mean this was all premediated? Can't argue with that. 10:02:17 (Though I do enjoy the illusion of free will.) 10:02:23 was, was, this is in the logs somewhere even 10:02:37 int-e: I’ll search for it 10:03:54 i am tempted to make some kind of website where the password to enter is actually the password of the month as registered in the bot 10:04:14 arseniiv: yeah, it's tricky because two people may try to set the password at close to the same moment. it may be best to use HackEso's atomic write capability and use a command that updates the password only if the $(hg log -T {rev} -l 1 wisdom/password) is what you expect 10:05:01 int-e: https://esolangs.org/logs/2019-09-01.html#ljd 10:05:41 wib_jonas: I’ll hope we all are too slow for a coincidence to happen for the next 23 passwords at least 10:06:47 we could make a co-ordinated effort. 10:07:24 hm it occurred to me while I wrote but I hoped still 10:08:05 at least hopefully there will be no ordinated co-efforts, whatever this could be 10:08:51 arseniiv: is this leading up to a co-worker joke 10:14:53 int-e: hm depends on what it is, I hadn’t heard it 10:16:29 when I eat rice I remember a Bashō haiku https://matsuobashohaiku.home.blog/2019/04/12/gazing-at-morning-glories-eating-breakfast-basho/ though I have yet to do it at dawn, and eating it with butter as I do certainly shouldn’t count 10:17:28 also prior to this, I didn’t know the history behind that one 10:17:47 even the history behind any of them at all 10:25:23 arseniiv: a worker is somebody who labours diligently and gets things done. a co-worker is ... 10:26:03 arseniiv: and that connects to "co-efforts" :) 10:36:57 int-e: mhm 10:39:43 What is the best way to compress base64 data with repetitive, incrementing characters? 10:40:34 e.g. ABCD01234 10:41:05 It's not like there will be such patterns all over the file and they might not appear at all 10:41:20 But they are quite common as I can tell. 10:43:17 kspalaiologos: I don't know about "best" but if there are incrementing sequences, you could replace each character with the difference between it and the previous character, getting long strings of 1's, which should compress well 10:43:38 That's a neat idea 10:43:59 But I think it can be improved 10:44:35 As characters get incremented, in case of ABCD I can compress it to A and ascii(3) 10:44:55 Then I could apply burrows-wheeler transform to it and pack it using PPMd 10:45:13 I just wonder if there is something smarter 10:45:20 In case the compression fails 10:45:35 And the downside is, no sequences longer than 32 characters. 10:54:36 kspalaiologos: turn it to a pixel graphics where you store one character per pixel, in indexed mode, PNG compress it. PNG handles repetitive differences well because one of the approx five pixels automatically does that difference thing, and some png writers can choose the right filter automatically. just be careful, PNG has a tradeoff between 10:54:37 large file and slow compression versus small file and slower compression 10:54:48 you can change the compression speed with magic options to the PNG encoder 10:55:00 Won't it artifact the file? 10:55:13 Just asking out of curiosity 10:55:26 PNG compression is usually lossless 10:56:01 also, use grayscale 8-bit rather than indexed 10:56:36 that said, even any ordinary compressor would work fine on such data 10:56:42 PNG is probably an overcomplication 10:57:27 I wonder how you even get increasing sequences in base64 though 10:57:30 that#s a funny idea, though 10:57:53 ugh, switching between keyboard layouts always shows somehow 10:59:15 does it really_ 10:59:45 I canát imagine what thatás like. 11:26:21 -!- Lord_of_Life has quit (Quit: Laa shay'a waqi'un moutlaq bale kouloun moumkine). 11:26:53 -!- Lord_of_Life has joined. 11:44:27 It's just weird esoteric stuff 11:44:44 If I wanted simple answer I'd ask elsewhere 11:45:10 I managed to compress 50MB of this stuff to 1MB, but I'm still a bit disappointed 11:45:26 And the place where I may accept it is around 30KB 11:46:11 a factor of 1000 is quite something to ask for 11:46:43 The data is really, really eaisly compressable 11:47:03 I can toss you a sample when I'm home, or probably even now 11:47:26 github.com/KrzysztofSzewczyk/codegolf-submissions and find there 7z compressed file 11:48:01 that's a lot of z 11:49:54 So yeah 11:50:00 As you can see 11:50:10 kspalaiologos: I seem to remember that SE has increased the limit on the size of post contents, but I can't recall if it's increased it _to_ 30 kilobytes or _from_ 30 kilobytes 11:50:20 The upper bound is 65K though 11:50:41 wib_jonas, I'm active user and it's 65k now 11:50:54 *an 11:51:34 I am also an active user, but only reached the limit with my own post once, and know of like a handful of other nodes that are long enough for that 11:53:15 I think the limit was 32 kilobyte when I posted https://scifi.meta.stackexchange.com/q/10266 , which was in 2016-10 11:57:21 wait, I had a data.stackexchange.com query for this 11:58:39 https://data.stackexchange.com/scifi/query/951529/longest-answers 12:05:40 kspalaiologos: is there any information on what this data *is*? 12:07:58 yeah, if you know what the data is supposed to be, you might be able to write a better specific compressor 12:30:17 I am informed that that query is wrong, it looks at the length of the rendered HTML, not of the source code of the post. 12:39:08 int-e: it's base-64 encoded sequence of six distinct characters with their ascii value equal to the original value plus their position, so AAAA is actually ABCD (i can't tweak this encoding) 12:39:25 Imagine ooooi/** 12:40:11 It will get (in theory) encoded to ABCDOZ01 12:41:33 The most frequent is encoding of character o, which base equivalent is actually B (for illustrative purposes, I've started with A before, hence the inconsistency) 13:08:15 kspalaiologos: I don't really understand what you're saying 13:09:08 is the offset always added to the character? if so, just subtract it, compare it that way, then add it back when you decompress 13:09:21 also the surface encoding isn't so interesting... does the ooooi/** stuff have any meaning? 13:09:43 int-e: perhaps they're malbolge instructions 13:10:24 oh 13:11:18 That makes sense. Is it the Malbolge Malbolge interpreter? 13:11:42 (Unshackled) 13:12:37 [[Talk:Volatile]] https://esolangs.org/w/index.php?diff=66411&oldid=62750 * Akangka * (+792) /* Pushing 1 deterministically is impossible. */ new section 13:13:32 kspalaiologos: If so, your best bet for compression should be to golf the toolchain that produces the malbolge program. 13:14:18 [[Talk:Volatile]] https://esolangs.org/w/index.php?diff=66412&oldid=66411 * Akangka * (+81) /* Pushing 1 deterministically is impossible. */ 13:14:26 -!- sprocklem has quit (Ping timeout: 240 seconds). 13:23:13 Its ungolfable 13:23:29 My toolchain is currently adding only 50% of size 13:24:29 Highly optimized and handwritten programs I made are only 66 percent smaller than my toolchain 13:35:40 I didn't mean to golf the output. 13:35:45 I meant the toolchain itself. 13:36:57 (I'm assuming that your intent is to post a program whose output is a malbolge malbolge interpreter, because the latter is just too big.) 13:40:44 [[Stable]] N https://esolangs.org/w/index.php?oldid=66413 * Akangka * (+1499) Created page with "[[Stable]] is an [[esoteric programming language]] that can push only zeroes. The only way to get nonzero number is to preserve the initial stack. This language is inspired by..." 13:51:32 [[Stable]] https://esolangs.org/w/index.php?diff=66414&oldid=66413 * Akangka * (+786) 13:53:35 [[Stable]] https://esolangs.org/w/index.php?diff=66415&oldid=66414 * Akangka * (-896) 14:07:18 Why would I Golf my toolchain 14:07:28 To make it unmaintainable? 14:10:38 * cpressey now wonders if there's an interactive OS shell based on K 14:16:07 kspalaiologos: so that you get a small-ish program that generates the huge malbolge program you wanted to compress. 14:17:06 Note that this is a form of compression, really. 14:17:52 (well I'm making some assumptions about the complexity of the toolchain) 14:21:36 or just post the thing on an external site, like github, and link to it 14:28:50 -!- sprocklem has joined. 14:37:35 -!- sebbu has quit (Read error: Connection reset by peer). 14:37:55 -!- sebbu has joined. 14:47:39 * cpressey wants to glob files with some kind of twisted list comprehension thing instead of boring *.?yz syntax 14:48:23 why not both 14:48:56 [file | file <- files, file `matches` "*.?yz"] 14:49:46 * cpressey selects all files whose names contain Pythagorean triples 14:50:30 because you name your porn like this? 14:54:23 -!- Sgeo_ has joined. 14:56:24 `python3 -cimport os,re;print(sorted([e.name for e in os.scandir("wisdom") if re.fullmatch(r"c.*io.",e.name)])) # cpressey: does this help? 14:56:24 ​['cat elimination', 'cat introduction', 'ciol', 'cipation', 'citation', 'civilization', 'communication', 'composition', 'cut elimination'] 14:56:36 or is that not twisted enoguh? 14:57:31 -!- Sgeo has quit (Ping timeout: 265 seconds). 14:59:52 It's a bit verbose, but it'll do for now 15:00:27 cpressey: um, you don't want to do boring *.?yz syntax, but you want something concise? 15:00:49 try all the tricks that zsh or modern bash offers in writing complicated globs 15:01:12 -!- Sgeo has joined. 15:03:25 i prefer haskell list comprehension syntax ofer pythons 15:04:01 -!- Sgeo_ has quit (Ping timeout: 268 seconds). 15:09:28 ``` python3 -c$'def n(e):return e.name\ndef c(n):return re.fullmatch(r".*ou?r",n,re.I)\nimport os,re;print(sorted(filter(c,map(n,os.scandir("wisdom")))))' 15:09:29 ​['applicative functor', 'cocoonspirator', 'codoctor', 'color', 'colour', 'coonspirator', 'coulor', 'endofunctor', 'eor', 'functor', 'gregor', 'ior', 'mirror', 'off by two error', 'or', 'postfridgerator', 'prefrigerator', 'racoonspirator', 'space elevator', 'supermarioperator', 'tarator', 'the most hideous cacophony in g minor', 'word salad detector', 'xor'] 15:09:42 cpressey: ^ how about if you don't use comprehensions at all? 15:12:14 ``` python3 -c$'import os,re;r=[]\nfor e in os.scandir("wisdom"):\n n=e.name\n if re.fullmatch(r".*ou?r",n,re.I):r.append(n)\nprint(sorted(r))' 15:12:15 ​['applicative functor', 'cocoonspirator', 'codoctor', 'color', 'colour', 'coonspirator', 'coulor', 'endofunctor', 'eor', 'functor', 'gregor', 'ior', 'mirror', 'off by two error', 'or', 'postfridgerator', 'prefrigerator', 'racoonspirator', 'space elevator', 'supermarioperator', 'tarator', 'the most hideous cacophony in g minor', 'word salad detector', 'xor'] 15:12:39 ^ though it's the easiest if you don't even use those fancy higher order functions that functional programmers like so much 15:12:45 and just write straightforward loops 15:13:29 [[Resource]] M https://esolangs.org/w/index.php?diff=66416&oldid=66394 * A * (+37) 15:16:31 > let n = 10 in [show a ++ "." ++ show b ++ "." ++ show c ++ ".txt" | a <- [1..n], b <- [1..n], c <- [1..n], a*a+b*b == c*c] 15:16:34 ["3.4.5.txt","4.3.5.txt","6.8.10.txt","8.6.10.txt"] 15:18:40 cpressey: um, but didn't you mean to grep existing files? 15:20:50 Wow wib_jonas, you make it sound like I have an actual problem I need to solve. 15:22:48 ``` python3 -c$'for x in range(1,6):\n for y in range(1,x):print("%d.%d.%d.txt"%(x**2-y**2,2*x*y,x**2+y**2))' 15:22:49 3.4.5.txt \ 8.6.10.txt \ 5.12.13.txt \ 15.8.17.txt \ 12.16.20.txt \ 7.24.25.txt \ 24.10.26.txt \ 21.20.29.txt \ 16.30.34.txt \ 9.40.41.txt 15:23:30 -!- kpspalaiologos has joined. 15:23:34 -!- kpspalaiologos has quit (Read error: Connection reset by peer). 15:27:32 -!- sprocklem has quit (Ping timeout: 245 seconds). 15:28:28 -!- kspalaiologos has quit (Quit: Quit). 15:28:45 -!- kspalaiologos has joined. 15:31:07 [ 3*83 15:31:08 wib_jonas: 249 15:34:03 For some reason I keep thinking J is postfix 15:34:11 Possibly I confuse it with dc 15:34:16 `dc 3 83*p 15:34:17 dc: Could not open file 3 83*p 15:34:20 `dc -e 3 83*p 15:34:20 249 15:34:36 [ (*&3) 83 15:34:37 wib_jonas: 249 15:34:42 [ */3 83 15:34:43 wib_jonas: 249 15:39:37 -!- sprocklem has joined. 15:52:00 [[Vafix]] M https://esolangs.org/w/index.php?diff=66417&oldid=66104 * A * (+538) /* Implementations */ A pastebin will expire at anytime, and I want to delete my GitHub repos. 15:53:19 -!- cpressey has quit (Quit: A la prochaine.). 15:54:06 [[Owk]] M https://esolangs.org/w/index.php?diff=66418&oldid=62163 * A * (+51) /* External Resources */ Copy everything from GitHub repo to wiki. I am deleting my repo. 15:54:49 [[Owk]] M https://esolangs.org/w/index.php?diff=66419&oldid=66418 * A * (+4863) /* External Resources */ I was dumb 15:57:03 [[Talk:Volatile]] M https://esolangs.org/w/index.php?diff=66420&oldid=66412 * A * (+308) /* Pushing 1 deterministically is impossible. */ 16:09:53 -!- wib_jonas has quit (Remote host closed the connection). 16:11:27 -!- ski has quit (Ping timeout: 264 seconds). 16:14:33 -!- imode has joined. 16:18:38 -!- ski has joined. 16:23:38 -!- MDude has quit (Ping timeout: 240 seconds). 16:27:38 I've failed terribly 16:27:42 trying to outsmart PPMD 16:27:50 eh, let's try with burrows wheller transform then 16:30:04 http://prntscr.com/pdh1g0 16:30:18 PPMd beaten by BWT/BZIP2 hybrid 16:30:26 no significant improvement though 16:45:45 -!- FreeFull has joined. 16:46:17 -!- sprocklem has quit (Ping timeout: 240 seconds). 16:51:57 -!- Lord_of_Life_ has joined. 16:53:57 -!- Lord_of_Life has quit (Ping timeout: 240 seconds). 16:54:44 -!- Sgeo_ has joined. 16:54:53 -!- Lord_of_Life_ has changed nick to Lord_of_Life. 16:57:29 -!- Sgeo has quit (Ping timeout: 268 seconds). 17:02:26 -!- b_jonas has joined. 17:06:54 good idea to try burrows wheeler 17:07:43 kspalaiologos: try with a modern compressor like xz or 7z 17:07:58 they fact I've got winrar on my PC 17:08:06 doesn't mean that I'm using it on daily basis 17:08:12 and doesn't mean, I've used it to perform the test 17:08:28 WinRAR can't pack 7zip archives, and in the attached screenshot you see clearly, that I'm using 7zip 17:08:59 kspalaiologos: I didn't look at the screenshot. did you try 7zip compression with the -mx=7 setting for slower but better compression? 17:10:09 I used highest settings in the GUI 17:10:29 how can you tell I'm using ancient compressor without looking at the screenshot? 17:11:01 kspalaiologos: because you said "PPMd beaten by BWT/BZIP2 hybrid" and BZIP2 is the somewhat old compressor 17:11:06 I wouldn't call it ancient, I'm not that young 17:11:17 BWT/BZIP2 hybrid is the thing I made 17:11:35 BZIP used Burrows Wheeler Transform, therefore I recalled BZIP 17:12:01 surprisingly, the BZIP actually works the best 17:12:14 I tried with PPMd, tried with LZMA2, but with a tiny bit worse results. 17:13:03 I guess what remains is to compress it in some reasonable way and host it somewhere outside of code golf 17:13:21 though how something such large is a reasonable answer to a code golf problem I don't understand 17:13:28 It's the thing I'm doing currently 17:13:36 I guess I shouldnt worry that much about my program size 17:13:43 because there are more important matters right now 17:14:02 like the fact that the program just eats entire memory available to the system 17:14:19 (but I'm certain that it has to work, if it had unlimited memory) 17:14:38 ouch 17:15:15 the conditions on ##c are unlivable 17:15:22 a lot of people jump in and jump back 17:15:32 so the entire IRC log is spammed like nowhere 17:17:17 you can have your client ignore them 17:17:28 well, I don't want to ignore them completely 17:17:38 because I want to know certain people that log in/log out 17:17:46 hide them 17:17:51 but on the other hand, I don't want to see all that spam lol 17:18:06 hide but have the computer remember it 17:18:32 I'm using XCHAT 17:18:44 and I don't really want to switch, because I've got a couple of plugins written in Tcl and Perl here 17:19:01 and I don't really think my client allows doing so, because I've just checked the settings 17:19:02 can't that show a list of nicks who are joined into the channel in a sidebar? 17:19:12 sure, I have it enabled 17:19:23 but it's neat to know the certain point they join or leave 17:19:26 or add a transparent irc proxy in between that tracks the users separately if you're feeling more adventurous 17:19:53 I like dissipating my time on not-so-practical things 17:19:55 but c'mon 17:20:12 I've got more interesting not-so-practical things to do xd 17:20:20 I'm fighting with shitcode I wrote two years ago 17:20:23 yeah 17:20:42 and the extent of this word is so unbeliveable 17:20:47 I can't really understand 50% of the code 17:20:56 I just don't know how it works and I change randomly the magic numbers 17:21:00 trying to find any corelation between thenm 17:21:05 oh, I've been an idiot 17:25:02 `asm lea (%eip), %rdi 17:25:03 0: 67 48 8d 3d 00 00 00 00 lea 0x0(%eip),%rdi # 0x8 17:25:13 Will this move the lower 32 bits of rip into rdi? 17:27:02 dunno. TIAS. 17:27:55 I don't understand how that's even a valid encoding 17:28:03 I don't know how those crazy prefixes work 17:28:51 `? tias 17:28:52 tias? ¯\(°​_o)/¯ 17:29:10 `asm addr32 17:29:11 0: 67 addr32 17:29:17 `asm addr32; lea (%rip), %rdi 17:29:18 0: 67 48 8d 3d 00 00 00 00 lea 0x0(%eip),%rdi # 0x8 17:47:23 -!- kspalaiologos has quit (Quit: Leaving). 17:52:22 -!- kspalaiologos has joined. 18:09:25 -!- Sgeo__ has joined. 18:11:55 -!- Sgeo has joined. 18:12:32 -!- Sgeo_ has quit (Ping timeout: 245 seconds). 18:13:26 -!- Sgeo_ has joined. 18:13:57 -!- Sgeo__ has quit (Ping timeout: 240 seconds). 18:16:17 -!- Sgeo__ has joined. 18:17:08 -!- Sgeo has quit (Ping timeout: 265 seconds). 18:18:38 -!- Sgeo has joined. 18:20:02 -!- Sgeo_ has quit (Ping timeout: 265 seconds). 18:21:29 -!- Sgeo__ has quit (Ping timeout: 265 seconds). 18:22:51 -!- Sgeo_ has joined. 18:23:16 -!- Sgeo has quit (Ping timeout: 240 seconds). 18:24:07 -!- Sgeo__ has joined. 18:27:32 -!- Sgeo_ has quit (Ping timeout: 245 seconds). 18:40:50 -!- MDude has joined. 18:41:28 -!- sprocklem has joined. 19:06:46 -!- Sgeo has joined. 19:09:37 -!- Sgeo__ has quit (Ping timeout: 245 seconds). 19:19:19 -!- kspalaiologos has quit (Quit: Leaving). 19:42:57 -!- atslash has quit (Ping timeout: 240 seconds). 19:49:38 -!- atslash has joined. 19:57:38 -!- sprocklem has quit (Ping timeout: 240 seconds). 20:06:18 I have an SQL question. 20:12:21 Let's say I have a schema like CREATE TABLE cat(cid INTEGER PRIMARY KEY, cname); CREATE TABLE human(oid INTEGER PRIMARY KEY, cid, date, type, weight, FOREIGN KEY(cid) REFERENCES cat(cid)); 20:12:54 one cat can have more than one owner 20:13:59 I want to group the type 0 owners by cat, something like SELECT h.oid, h.cid FROM human AS h WHERE 0 = h.type GROUP BY h.cid; 20:14:33 and in each group (i.e. for each cat), I want to find the owner with the largest date, and join those owners with the cat 20:14:41 what's the sane way to do that? 20:16:35 I also want to filter the results to those rows where the latest owner has a weight larger than 50 20:27:37 wait wait... so the four main face buttons on both Nintendo controllers and Xbox contrllers are both labelled (A,B,X,Y), but in a different order, where Xbox buttons (A,B,X,Y) correspond to Nintendo buttons (B,A,Y,X)? (And the Nintendo B button corresponds to the Playstation X button, just to make it even crazier.) 20:27:55 how did Xbox end up with a conflicting convention for naming the buttons? 20:29:29 not sure how "good" it'll run, but something like a nested (SELECT stuff FROM human WHERE h.cid=cat.cid ORDER BY date DESC LIMIT 1) (where cat.cid is selected by the outside query) is at least an easily understandable way to get the last owner per cat 20:29:55 I mean, doesn't the SNES with its four buttons easily predate any microsoft game console? 20:30:22 olsner: oh yeah, I didn't tell the catch 20:30:26 make it work on MS SQL 20:30:39 but even without that, it's a bit tricky with the subquery 20:31:19 you need like doubly nested subqueries or something 20:33:18 -!- kspalaiologos has joined. 20:33:26 Hello 20:33:34 hello kspa 20:34:05 apparently that max-in-group problem is so common it has its own tag on stack overflow https://stackoverflow.com/questions/tagged/greatest-n-per-group 20:34:24 thanks, I'll look at that 20:36:25 let me intersect that with whatever is the tag for MS SQL 20:37:10 https://stackoverflow.com/questions/tagged/sql-server apparently 20:38:43 hmm, apparently all the ways to do it in MS SQL are ugly 20:39:15 good to know 20:41:08 they link me to https://kristiannielsen.livejournal.com/6745.html 20:42:07 note though that some of the solutions there won't work if multiple owners can have the same date. I want to choose just one owner in that case. 20:46:39 -!- kspalaiologos has quit (Read error: Connection reset by peer). 20:49:04 olsner: thank you 21:06:32 am I getting it right that Idris has algebraic effects and uses them instead monads, too? 21:07:25 I got to re-reading an article about that and this time it reads clearer 21:17:08 hm it doesn’t seem to have “handlers for normal return” 21:17:18 this oolong tea is tea gea 21:18:05 shachaf: it has an interesting taste, yeah 21:18:27 I mean, this specific one that I'm drinking. 21:18:34 I think it also has some amount of ginseng extract. 21:19:01 It modifies my mouth so that other things taste sweeter. 21:20:24 mhm I ate something with that property I think, maybe berries 21:21:05 Yes, there are those berries that make sour things taste sweet, but this is quite different. 21:21:18 huh 21:22:12 I like berry tea 21:22:14 https://hatebin.com/dqswcbuhwd work-in-progress expression evaluator. 21:22:26 for those of us who like prefix as opposed to postfix. 21:22:30 `? tea 21:22:31 Tea is concentrated fuel made by distilling occult herbs in a silver alambic. Americans attempted to reduce its potency by dumping some in the Ocean. 21:22:50 `cwlprits tea 21:22:51 oerjän boil̈y 21:23:17 imode: try Integ if you like prefix with lots of extra parenthesis 21:23:29 lol. 21:23:57 really this is just to make my life a little easier in terms of evaluating expressions. I'm intending on implementing parameter extraction after that. 21:24:16 so you can write stuff like ? 5 to specify the 5th parameter after the expression. 21:24:24 benefits of having a queue based language. 21:25:25 downsides are that on some malformed expressions, you can infloop. 21:26:34 ah, I remember and see from the article’s conclusion that effects, at the moment article’s written, are an experimental extension 21:28:20 authors note effects can’t cover continuations but I found another article claiming there’s a way, apparently if extending what we define an algebraic effect framework to be, I hadn’t read that one yet 21:29:25 so maybe Idris authors would be able to tinker with their effect module and incorporate continuations? Though anyway I hadn’t used them yet in that explicit sense in any language 21:32:37 re. tea: my dictionary says there’s no “alambic” and I think it should be “alembic”? 21:34:33 https://hatebin.com/qqqkghwhsh the quadratic formula. 21:35:21 BTW couldn’t someone explain call-by-push-value? Those guys use it 21:36:55 -!- b_jonas has quit (Quit: leaving). 21:38:42 imode: wow 21:40:57 like the structure 21:41:05 it's strictly postfix. no parens needed. 21:41:06 oh I should go 21:41:19 err, prefix. 21:41:56 hm would you like to implement infix, with precedences? :D 21:42:18 hah! perhaps. queue elements are either single elements or two elements. 21:42:35 the operators, which are single elements, could be ordered in accordance with precedence. :P 21:45:07 queue elements are either single elements or two elements. => yeah it looks like you could write an interpreter of expressions with arbitrary value constructors, it would just need some abstraction of concrete predicates like `is-multiplication?` and an arity function 21:45:50 yup! 21:45:53 maybe you need a macro system? 21:46:15 pretty much where I was headed to, yeah. I plan on allowing the language to edit its own source. 21:46:18 at runtime. 21:47:28 hm I’d not call that a *macro* system :P or I thought about not the source you meant 21:48:04 happy algebraic effects day everyone bye 21:48:10 you as well! 21:50:21 wut 21:52:26 -!- arseniiv has quit (Ping timeout: 240 seconds). 21:54:38 ah crap, when revising more? to not infloop, I forgot to include markers... 21:54:48 a "final result" should look like ( # ) 21:56:09 though in the case of misaligned or extra numbers, there should be a scan through the expression to check and see if there's operators present... 21:57:07 a better way to do this would be to check if we've scanned through the expression, done nothing but roll, and then once we reset the cursor, check if we've done any work. 21:57:31 if we haven't, remove the ending markers, strip away the operators and number separators, you're done. 22:08:58 what's interesting is that you can do something like... 22:10:58 ( *' # 2 # 5 ) ( +' # 3 ? 0 ) ! ! 22:33:29 which basically evaluates one expression, reserves the result in the queue, and then evaluates the other, but because of the layout of the queue, the latter expression uses the result (via ? 0). 22:47:40 -!- user24 has joined. 23:06:45 -!- sprocklem has joined. 23:26:27 -!- FreeFull has quit. 23:39:31 -!- sprocklem has quit (Ping timeout: 265 seconds).