00:07:11 <int-e> @tell oerjan well, dc is capable of a disjoint quine pair at least: http://int-e.eu/~bf3/tmp/foo.dc
00:10:42 <zzo38> I can describe what ideas I had for file format though: The header includes a link to the first page of the root index, a link to the first free page, and the log2 of the page size. Each page begins with a indicator byte, and then a 32-bit number which is either a link to the next page or the length of the remaining data on this page, whether it is the last page.
00:11:56 <zzo38> The index then consists of eight bytes per entry, being the key and link, for each. The indicator byte specifies whether or not this index is sorted.
00:14:15 <int-e> okay, *now* that quine pair is actually disjoint... I missed that there's an 'i' in '/bin'.
00:14:52 <zzo38> Yes, but, do you have idea how such a format can be called?
00:15:19 <zseri> zzo38: what does the database if an entry doesn't fit in one page?
00:16:53 <zzo38> zseri: Continue on multiple pages. One bit of the indicator byte specifies whether or not it is the last page of the entry.
00:17:14 <zseri> ok. Name: I don't know. zpxdbase?
00:18:32 <zzo38> OK, but how do you come up with such a name, where is the letter from? Is it an abbreviation which can be expanded into full words?
00:18:39 <zzo38> But, yes, I can use that.
00:19:29 <zseri> Z Paged indeX Data Base (pxdbase is already used as a name)
00:21:48 <zseri> I think that a page with a "next-page-link" should also have the ability to contain more data.
00:23:26 <zzo38> In such a case the rest of the page is filled with the data (after the five byte header of that page; all pages other than the global header page have the same five byte header)
00:24:04 <zzo38> Or is there some other thing not understanding perhaps?
00:26:14 <zseri> ok, that in such a case the length is implicit equal to ({page size} - 5 bytes)
00:28:35 <zseri> I think the maximum page size is 2^33, because if it's larger, a 32bit length wouldn't be enough
00:30:18 <zseri> The header could contain a indicator byte which contains flags like 'are the lengths and links 32bit or 64bit uints'
00:31:02 <zzo38> Yes, it is; although, yes that is another idea too. Even if I do not implement it in the first version, the next version might, maybe. Thank you for the suggestions, at least.
00:42:32 <zseri> Question: Does one index entry occupy 8 bytes and key and link use 4 bytes each or does one index entry occupy 16 bytes and key and link use 8 bytes each?
00:42:47 <zzo38> The key and link use 4 bytes each.
00:46:18 <zseri> Thus 2^32 - 1 keys are allowed and thus the maximum file size should be (10 + 32 * (8 + 2^33))
00:46:52 <zseri> 10 for header; 8 * 32 for index; 32 * 2^33 for pages
00:48:15 <zseri> or, when the index is saved in the pages; then (10 + 32 * 2^33)
00:52:05 <zseri> Does this match? https://gist.github.com/zserik/2d65d7025ae1d6a66454a657a3bbf2c9
01:00:18 -!- variable has quit (Quit: Found 1 in /dev/zero).
01:01:14 -!- S1R has quit (Remote host closed the connection).
01:01:39 -!- S1R has joined.
01:02:54 <zseri> I don't know if there should be an option to split the file into multiple parts; It would also be cool to have a tool to defrag the database.
01:04:21 <zseri> In the development of zsdbp5 I tried multiple designs and found that it could be complex and memory-intensive to save large content or to defragment content
01:05:02 <zseri> There should be a flag to indicate if a page is used or not.
01:11:33 <zseri> What functions should the database have? (get @key, set @key, for each @key, insert as subentry @key, ...)
01:12:37 -!- Phantom_Hoover has quit (Read error: Connection reset by peer).
01:13:38 <zseri> Is the key some sort of hash or a free-form 4 character string?
01:22:08 <zseri> Should there be some sort of reference count per entry/content?
01:42:19 -!- Magickal has joined.
01:43:34 -!- Asus has joined.
01:44:04 -!- zseri has quit (Quit: Leaving).
01:44:04 -!- Asus has quit (Client Quit).
02:12:58 <zzo38> I did intend to add the ability to defrag the database, yes. And yes there is a flag (it is part of the indicator byte, which also indicates whether it is index or data) if the page is used or not. There is only one reference to each page, so no reference count is needed. The key is just an arbitrary 32-bit number; you can use for whatever purpose you want.
02:14:00 <zzo38> (If you defragment it then pages can be put together that are part of the same data. This can be a separate program to do this, perhaps.)
02:16:08 <zzo38> "Subdirectories" are possible (although not always used); you can use this if you want longer keys, although the intention of this is mainly for when you do not need longer keys, it is at least an option.
02:26:56 -!- S1R has quit (Quit: Leaving).
02:29:57 -!- jaboja has quit (Ping timeout: 240 seconds).
02:57:09 -!- sleffy has quit (Ping timeout: 256 seconds).
03:05:14 <esowiki> [[Bitwise]] N https://esolangs.org/w/index.php?oldid=53907 * MD XF * (+2722) Created page with "Bitwise is an Assembly-based esolang, created by a sleep-deprived [[User:MD XF]]. = Commands = <pre>| command | arguments | description..."
03:09:48 -!- sleffy has joined.
03:14:19 <esowiki> [[Memescript]] N https://esolangs.org/w/index.php?oldid=53908 * MD XF * (+1339) Created page with "Memescript 1.0 is an esoteric language based off of the "frick frack" meme and influenced by brainfuck. File:https://camo.githubusercontent.com/9cd1048ab89a06ba397834606410..."
03:15:00 <esowiki> [[Memescript]] https://esolangs.org/w/index.php?diff=53909&oldid=53908 * MD XF * (+30)
03:15:40 <esowiki> [[Memescript]] https://esolangs.org/w/index.php?diff=53910&oldid=53909 * MD XF * (+2)
03:16:18 <esowiki> [[Memescript]] https://esolangs.org/w/index.php?diff=53911&oldid=53910 * MD XF * (-6)
03:17:17 <esowiki> [[Special:Log/upload]] upload * MD XF * uploaded "[[File:Meme.jpg]]"
03:17:31 <esowiki> [[Memescript]] https://esolangs.org/w/index.php?diff=53913&oldid=53911 * MD XF * (-172)
03:26:58 -!- boily has quit (Quit: HUNDRED CHICKEN).
03:30:58 -!- sleffy has quit (Ping timeout: 268 seconds).
03:45:03 -!- sleffy has joined.
04:23:02 <Sgeo_> pikhq, how obsessed with viagra should a cat be?
04:29:22 <izabera> what about old cats that can't get an erection
04:38:40 -!- variable has joined.
05:24:36 -!- Magickal has quit (Quit: Leaving).
05:33:41 -!- hppavilion[1] has quit (Ping timeout: 268 seconds).
06:12:10 -!- variable has quit (Quit: /dev/null is full).
07:05:10 -!- doesthiswork has quit (Ping timeout: 240 seconds).
07:25:45 -!- sleffy has quit (Ping timeout: 256 seconds).
08:21:14 -!- variable has joined.
08:21:22 -!- variable has quit (Client Quit).
08:30:02 -!- aeyxa has joined.
08:34:50 <esowiki> [[Special:Log/newusers]] create * Ntsd * New user account
08:45:26 -!- zseri has joined.
08:48:55 <zseri> zzo38: I think there could be a problem. Defrag will be overly complex, because there isn't an index for the mapping content_id -> link; That makes it complex to find the beginning of each entry/content
08:52:17 <zseri> Also, why is the key in the original concept of constant length 4 bytes, which isn't enough to held something more useful, but would likely fit in 8 bytes, like a hash snippet or a 64bit ID
08:58:45 <zseri> ok, specification updated https://gist.github.com/zserik/2d65d7025ae1d6a66454a657a3bbf2c9
08:59:21 -!- tromp has quit (Read error: Connection reset by peer).
08:59:53 -!- tromp has joined.
09:00:23 -!- Gregor has quit (Ping timeout: 256 seconds).
09:03:58 -!- Gregor has joined.
09:28:43 -!- S1R has joined.
09:34:20 -!- Naergon has quit (Ping timeout: 260 seconds).
09:40:03 -!- oerjan has joined.
09:42:57 <lambdabot> int-e said 9h 35m 46s ago: well, dc is capable of a disjoint quine pair at least: http://int-e.eu/~bf3/tmp/foo.dc
10:13:59 <int-e> it's an ugly challenge... the most likely target for me to get it to work would be x86 machine code (DOS .com file)
10:14:17 <int-e> simply because that has plenty of aliases and full inspection of the running code
10:18:54 <int-e> and of course the quine rules consider that approach to be cheating
10:19:05 <int-e> (at a cursory glance)
10:19:43 <oerjan> int-e: i'm still working on a haskell version hth
10:19:50 <int-e> (not really sure... what's the "source code" when you produce machine code directly?)
10:20:16 <int-e> oerjan: I'd rather keep my sanity ;-)
10:20:38 <oerjan> well it's much saner than the full levenquine challenge
10:25:52 -!- mroman has joined.
10:25:54 <oerjan> and yeah reading the code is forbidden, although there are a bunch of quine answers that skirt around that in languages (like javascript) that include code in the printed version of functions.
10:26:11 <int-e> but at least the pair has a sort of generic approach: 1. find a way to print an arbitrary string using as few as possible, as rare as possible, characters in the language's character set. 2) write a quine and code that generates type a 1) program from the resulting string.
10:26:50 <oerjan> hm that _does_ fit my haskell approach.
10:27:21 <oerjan> although i am trying to let (1) also handle some of the duplication.
10:27:25 <int-e> (it fits my dc approach as well; I found the loophole that A and B can be used as binary digits to encode sufficiently arbitrary numbers)
10:27:57 <int-e> (I then snuck a 'p' in there, because dc also has 'n', to save some work)
10:29:36 <oerjan> dc is more compact for this, at least.
10:29:50 <int-e> and I resorted to invoking an external program because I don't think that dc can print P from a program that doesn't contain a literal P.
10:29:57 <oerjan> there are a couple of answers to the challenge on PPCG already.
10:30:17 <oerjan> one in an esolang, the other in forth
10:34:47 <mroman> also what's a disjoint quine pair?
10:34:56 <int-e> https://codegolf.stackexchange.com/questions/153948/mutually-exclusive-quines
10:35:00 <mroman> A outputs B and B outputs A?
10:36:30 * int-e has a dc solution at http://int-e.eu/~bf3/tmp/foo.dc
10:37:06 <int-e> at 1059 combined size, mm
10:38:22 <int-e> But I won't join stackexchange. I would have to give up another distraction for that, like IRC.
10:42:02 <oerjan> mroman: then look at https://codegolf.stackexchange.com/questions/116189/cyclic-levenquine hth
10:42:22 <oerjan> (ais523 made that challenge. no one has managed to answer it yet.)
10:59:44 -!- Phantom_Hoover has joined.
11:11:15 <mroman> Can I invent permutation quines :D
11:11:33 <mroman> A program must output a permutation of its source code
11:11:46 <mroman> and then that permutation must output a new permutation of its source code
11:12:02 <mroman> it's over once it doesn't output a permutation or a permutation it already produced
11:12:31 <mroman> the winner is the one who can produce the longest sequence of such cycles
11:13:28 <mroman> although I suspect you can do that by adding useless chunk characters to something.
11:13:48 <oerjan> if you have arbitrary length, seems pretty trivial to make as long as you wish
11:14:17 <mroman> you could just have a long variable name
11:14:21 <mroman> and use the regular quine approach
11:14:33 <mroman> put then output a random permutation as the new variable name
11:14:56 <mroman> yep, this isn't too difficult.
11:15:04 <int-e> or just embed a string constant that you modify
11:15:28 -!- mroman has quit (Quit: until later).
11:19:37 <oerjan> > (\(s,t)->var$s++show(s,last t:init t))("(\\(s,t)->var$s++show(s,last t:init t))",[1,2,3])
11:19:39 <lambdabot> (\(s,t)->var$s++show(s,last t:init t))("(\\(s,t)->var$s++show(s,last t:init ...
11:22:04 -!- mroman has joined.
11:25:11 <HackEgo> rdococ//rdococ was thought to be from Budapest, then Mars, but he is actually in Airstrip One. Thanks to boily he is approaching permanent boredom & mapoledom. He is a relative of `words.
11:26:21 <oerjan> > (\(s,t)->var$s++show(s,last t:init t))("(\\(s,t)->var$s++show(s,last t:init t))",[1,2,3])
11:26:22 <aeyxa> I went to go write some unit tests for my lexer
11:26:24 <lambdabot> (\(s,t)->var$s++show(s,last t:init t))("(\\(s,t)->var$s++show(s,last t:init ...
11:26:40 <oerjan> sadly gets cut off just before the permuted part
11:26:49 <aeyxa> wasted 3 hours making this instead https://pastebin.com/raw/uHgsv6Fr
11:35:15 -!- mroman has quit (Remote host closed the connection).
11:37:33 -!- mroman has joined.
11:38:20 <mroman> Programs that are quines and are still quines when gzipped
11:48:44 <mroman> Brainfuckprograms that ouput the number of cycles they took to terminate.
11:49:25 <mroman> That should be fairly trivial though
11:50:06 <int-e> yeah. you can always pad with >< and >
11:50:15 <mroman> Finding the shortest BF program that outputs the number of cycles it takes to complete.
11:50:29 <mroman> That oughta be more challenging.
11:50:51 <mroman> (As ascii digits of course)
11:51:40 <int-e> how many cycles do [-], +[-], and ++[-] take to complete? (it's not entirely clear how to count the [])
11:53:50 <int-e> @bf +++++++++++++++++++++++++++++++++++++++++++++++++++++..
11:55:18 <mroman> ++[-] would be ++ [ -]-] so 7?
11:55:33 <mroman> The first [ counts and each ]
11:56:05 <mroman> The ] jumps past the [ so the [ doesn't count then
11:56:22 <int-e> it's a possibility. when I implemented this, one of the [ or ] would be an unconditional jump to its counterpart
11:56:57 <int-e> (cycle counting tends to expose implementation details)
11:58:15 <mroman> The first [ counts because it checks whether to jump forward
11:58:50 <mroman> But the ] checks and jumps to the instruction after it's matching [
11:59:25 <mroman> So the [ isn't 'executed' then
12:03:03 <mroman> [ is a jiz and ] a jnz
12:04:45 <mroman> Or a jiz and ] is a jmp to the jiz but that's less efficient
12:05:07 <int-e> or the [ is a jmp and the ] is a jnz
12:05:49 <int-e> and then you have a tiny overhead per loop rather than per loop iteration
12:07:11 <mroman> Are you saying there needs to be a standardized cycle count?
12:08:04 <mroman> That would've been a legit case for ESOSC :(
12:09:06 -!- mroman_ has joined.
12:09:48 <mroman_> Then you could have defined different ways of cycle counting and assign them names for easier communications.
12:10:00 <mroman_> and then you could better compare cycle counts from different programs :D
12:10:45 <oerjan> i'm having trouble testing my mutual quine because something downgrades character 160 to an ordinary space. :(
12:10:50 <mroman_> if ] jumps back to [ and you count [ too then ++[-] would be ++[-][-] so 8 cycles.
12:11:08 -!- oerjan has quit (Quit: leaving).
12:12:05 <mroman_> how dous bfjoust count cycles?
12:14:33 <int-e> I think it counts the way you suggested
12:15:56 <int-e> so [ is counted when the loop is entered or skipped; ] is counted each time the loop body completes
12:19:42 -!- wob_jonas has joined.
12:20:39 <wob_jonas> oerjan: re https://codegolf.stackexchange.com/q/153948/6691 I think I can make a simple perl answer for that, although I won't try to golf it too heavily
12:23:38 <wob_jonas> oerjan: I'll just have the second program contain the entire first one but with the high bit turned on. that needs very few characters, the printing is the only tricky part, it can turn on the high bits with like ^'ÇÇÇÇÇÇÇÇÇÇÇ' only imagine literal \x80s there
12:23:59 <wob_jonas> if I make it a subroutine like sub{} then I won't even need printing
12:24:43 <wob_jonas> the other can have any quine logic and print logic and then set high bits with y/\x00-\xff/\x01-\xff/ for 0..255
12:26:16 -!- AnotherTest has joined.
12:30:43 <wob_jonas> I may have to use q-quoting in the second one though
12:32:56 -!- wob_jonas has quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client).
12:39:24 -!- AnotherTest has quit (Ping timeout: 252 seconds).
12:41:27 <esowiki> [[User:Noner Kao]] M https://esolangs.org/w/index.php?diff=53914&oldid=53895 * Noner Kao * (+29) /* Projects */ rename the new language
13:03:44 -!- boily has joined.
13:05:02 -!- wob_jonas has joined.
13:05:07 <wob_jonas> darn, that doesn't work. I need different kind of quoting.
13:05:44 <wob_jonas> I might need sub{"ÇÇÇÇÇ...ÇÇ"^<<""}
13:10:02 <wob_jonas> it would be nicely readable if I could just use xor-space encoding, but that can't work because I need curlies in one half and square brackets in the other side
13:10:57 -!- jaboja has joined.
13:11:02 -!- S1R has quit (Read error: Connection reset by peer).
13:12:03 -!- wob_jonas has quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client).
13:16:25 -!- aeyxa has quit (Ping timeout: 260 seconds).
14:12:56 -!- impomatic has joined.
14:18:14 -!- mroman_ has quit (Ping timeout: 260 seconds).
14:30:29 -!- S1R has joined.
14:38:27 -!- mroman has quit (Ping timeout: 240 seconds).
14:39:08 <HackEgo> [U+00C7 LATIN CAPITAL LETTER C WITH CEDILLA]
14:39:43 <HackEgo> [U+0047 LATIN CAPITAL LETTER G]
14:40:44 -!- mroman has joined.
14:41:45 -!- wob_jonas has joined.
14:41:54 <wob_jonas> ok, I think I figured out how to do it, although it will be very ungolfed.
14:54:22 <mroman> Why can't you nest () in bfjoust?
14:55:10 <mroman> Expanding to +++--+++--+++--+++--?
15:00:11 -!- S1R has quit (Quit: Leaving).
15:09:51 -!- S1R has joined.
15:24:51 -!- S1R has quit (Read error: Connection reset by peer).
15:32:24 -!- AnotherTest has joined.
15:32:28 -!- boily has quit (Quit: TRAPEZOID CHICKEN).
15:51:34 -!- variable has joined.
15:59:17 <esowiki> [[User:Noner Kao/TaiDoku]] N https://esolangs.org/w/index.php?oldid=53915 * Noner Kao * (+3789) Update some contents
16:04:47 -!- AnotherTest has quit (Ping timeout: 248 seconds).
16:16:18 <esowiki> [[List of ideas]] https://esolangs.org/w/index.php?diff=53916&oldid=53517 * Camto * (+32) Basically a turing machine
16:18:05 -!- impomatic has quit (Ping timeout: 240 seconds).
16:37:20 <mroman> Romans weren't to fond of NaNs?
16:39:12 -!- sleffy has joined.
16:45:46 <wob_jonas> oerjan: https://codegolf.stackexchange.com/a/154259/6691
16:46:33 <wob_jonas> @tell oerjan https://codegolf.stackexchange.com/questions/153948/mutually-exclusive-quines/154259#154259
16:46:42 <wob_jonas> mroman: I wrote fromroman and toroman
16:46:54 <wob_jonas> mroman: the code is based on an old golf solution I wrote
16:47:17 <wob_jonas> mroman: it's not broken, but it only works for valid inputs
16:47:42 <wob_jonas> toroman only works for integers from 1 to 4999 inclusive
16:48:00 <wob_jonas> and fromroman only works for the single valid roman number encoding of those numbers
16:48:14 -!- Naergon has joined.
16:48:21 <wob_jonas> for any other input, the result is undefined
16:48:35 <wob_jonas> but it won't erase your files or anything
16:48:57 <wob_jonas> just print garbage in the case of toroman, and likely print nothing in the case of fromroman with some exceptions
16:49:49 <wob_jonas> there's no error handling, which is a bug. if you want to fix it, feel free.
16:50:32 <int-e> see, there ain't no such thing
16:51:49 <int-e> . o O ( `` cd wisdom; ln -s feature bug; ln -s bug feature )
16:58:59 -!- moei has joined.
17:02:00 -!- sparr has quit (Changing host).
17:02:00 -!- sparr has joined.
17:02:26 -!- AnotherTest has joined.
17:08:34 <mroman> Probably results in an error when accessing it
17:09:58 <int-e> Kein grober Unfug, sondern feiner Fug?
17:10:51 <mroman> Jemand der nicht Unfug betreib treibt Fug.
17:11:26 -!- AnotherTest has quit (Ping timeout: 256 seconds).
17:12:17 <mroman> `learn Fug is the opposite of Unfug (german: un-fug).
17:12:24 <HackEgo> Learned 'fug': Fug is the opposite of Unfug (german: un-fug).
17:13:10 <mroman> Also there's the verb befugen
17:13:33 <mroman> Somebody who's befugt has the right to do Fug.
17:14:30 <mroman> I have a list of fake german words
17:14:51 <HackEgo> Unknown option: g \ Unknown option: e \ Unknown option: r \ Unknown option: m \ Unknown option: a \ Unknown option: n
17:14:59 <mroman> Behüten means to put a hat on top of something.
17:15:01 <HackEgo> foedarbermigereale reibezifizir vnikel schenwaffenherz schlacasquertum her neoiretanbräumlan wahlungsprozenen schengendtag gers hegaturskörper stischischart kalkapple nathornbli glyphorquan ant bares abbachveren ngentfchc brechtwebegrat
17:15:30 <wob_jonas> mroman: "crown" means that in english, because english has a word for everything
17:15:44 <mroman> Verhüten is the act of ruining something with hats.
17:16:08 * int-e was going to suggest that "FUG" could be the "Funge Users Group"
17:17:25 <mroman> Usually it's used in sexual contexts when hats ruin sex.
17:18:06 <mroman> Abhüten means to take your hat off.
17:18:32 <wob_jonas> mroman: is that a cognate of abdicate
17:18:53 <mroman> They aren't actual german words.
17:19:41 <wob_jonas> how about lifting your hat as a gesture of respect?
17:20:28 <mroman> Versagen means to say something wrong.
17:20:59 <wob_jonas> mroman: do you have entire fake german sentences too?
17:21:38 <int-e> . o O ( "Ich bin ein Berliner" is a famous one :P )
17:24:54 -!- variable has quit (Quit: Found 1 in /dev/zero).
17:29:40 <mroman> Ich bin ein Berliner means you're a sweet lump of bread cowered in powdered sugar and filled with marmelade.
17:33:45 -!- wob_jonas has quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client).
17:46:59 <int-e> Now what if Kennedy had given such a speech in Vienna...
19:02:32 -!- mroman__ has joined.
19:02:34 <mroman__> http://cheap.int-e.eu/~burlesque/burlesque.cgi?q=fancy%0D%0A++def+main%3A%0D%0A++++5%0D%0A++end%0D%0Aend
19:02:42 <mroman__> I forget how fancy mode worked
19:09:07 <mroman__> int-e: when did you last update it?
19:09:43 <mroman__> fancy def add: \?+ end add(5,4) end works on my local machine
19:09:48 <mroman__> but it doesn't work in the online shell
19:10:01 <mroman__> http://cheap.int-e.eu/~burlesque/burlesque.cgi?q=fancy+def+add%3A+%5C%3F%2B+end+add%285%2C4%29+end
19:12:34 <mroman__> fancy mode is ineffecient af though :D
19:14:08 <int-e> it's actually february last year, I think.
19:14:25 <int-e> probably c2c638ee67af4da2ac8dea50789056bc74ff3260
19:15:47 <int-e> so it's not including the cleverly named "* moo* commit
19:16:09 <int-e> which does stuff like +parseFancyDef :: Parser BlsqExp
19:17:03 <mroman__> yeah so no fancy mode in the online shell then
19:17:07 <mroman__> no "* most ugliest hack in history of programming. "
19:17:44 <mroman__> but it seems to do some ridiculous scope handing :D
19:20:32 <mroman__> SOMEHOW I've managed to implement local function scopes?
19:20:47 <esowiki> [[Noid]] https://esolangs.org/w/index.php?diff=53917&oldid=53056 * Zayne * (+52) /* Examples */
19:21:23 <mroman__> it uses the secondary stack for scops :D
19:21:34 <mroman__> if there's a map on the secondary stack it assumes this is the scope
19:22:21 <mroman__> depends on your definition of crazy vs. genius.
19:22:22 -!- oerjan_ has joined.
19:22:52 <int-e> there is some overlap between the two
19:22:59 <int-e> oerjan_: long day?
19:23:43 <mroman__> it also means you can perform a swap on the secondary stack to switch to the local scope of the callee.
19:24:17 <mroman__> I could even implement stacktraces
19:24:27 <mroman__> by adding a "__NAME__" value to each scope
19:26:23 <mroman__> also I was planning on implementing a lisp mode.
19:27:38 <mroman__> so li is free as a prefix for a lisp mode.
19:29:26 <oerjan_> why isn't lambdabot pinging me about b_jonas's message
19:30:31 -!- oerjan_ has changed nick to oerjan.
19:30:40 <oerjan> someone had tried to snatch it
19:32:03 <zzo38> zseri: That isn't quite right either, but when you see what I have (once I post it; I have started writing it, but not finish yet) then you will see.
19:32:11 <lambdabot> wob_jonas said 2h 45m 37s ago: https://codegolf.stackexchange.com/questions/153948/mutually-exclusive-quines/154259#154259
19:32:51 <oerjan> b_jonas: my haskell version is now working, although it's at 1216 score so some golfing is needed...
19:33:17 <int-e> mroman__: you should add a .cabal file
19:34:18 <oerjan> don't know if i can get it down as much as that perl.
19:38:47 <int-e> so anyway I updated the thing
19:39:01 <int-e> mroman__: it's tedious to install the dependencies manually
19:39:24 <mroman__> did you have to install new stuff?
19:39:56 <int-e> especially since the list in the README doesn't even cover all the depedencies of the cgi: utf8-string and cgi are missing (or is the former a dependency of the latter... didn't check)
19:40:25 <mroman__> weird. I didn't add new imports did i?
19:40:43 <int-e> they've always been missing
19:40:48 <int-e> I just haven't complained before
19:41:49 <zseri> zzo38: where are the most differences?
19:42:10 <int-e> mroman__: regardless, you *should* have ssh access (or did you lose the key?) so you can update the thing yourself
19:42:34 <mroman__> probably forget that longtime ago
19:43:48 -!- xkapastel has joined.
19:45:00 -!- sleffy has quit (Ping timeout: 256 seconds).
19:45:22 <mroman__> readme probably only covers how to compile main.hs :D
19:45:39 <int-e> fingerprint: 4096 SHA256:rpx/EgfJ1VIJwHOJEFvrSM0TBgDVkW766xELa89y8jg me@<redacted> (RSA)
19:46:05 <zzo38> zseri: Well, this is what I have for the file format description: https://arin.ga/tCJ5QC
19:48:18 -!- FreeFull has joined.
19:48:21 -!- sleffy has joined.
19:50:10 -!- mroman__ has quit (Ping timeout: 260 seconds).
19:56:50 <mroman> The 4096 looks familiar
19:59:18 <mroman> Too bad HKDF aren't that popular.
19:59:57 <oerjan> down to 1120, but what this mostly needs is a more efficient way to clear the 8th bits of a String when you have no digits.
20:00:32 <oerjan> currently i'm using map(flip(foldr$pure pred)$(pure(show())`mapM`show(():pure())))
20:04:45 <oerjan> no need to use flip when the argument is right there
20:20:02 -!- wob_jonas has joined.
20:20:16 <wob_jonas> oerjan: you're writing a Haskell solution for the same thing?
20:23:52 <int-e> sure. "I need an arbitrary string of length 7... oh, let's just use show(():pure())"
20:24:29 <wob_jonas> "b_jonas: my haskell version is now working, although it's at 1216 score so some golfing is needed..."
20:27:51 <wob_jonas> the perl version has like twenty bytes of practically free improvement if you don't care about readability. you can remove most of the newlines, and shorten the tr/// patterns
20:30:07 -!- sprocklem has joined.
20:30:46 <lambdabot> Source not found. Are you typing with your feet?
20:35:22 <wob_jonas> > and you don't have uppercases either?
20:35:26 <lambdabot> parse error (possibly incorrect indentation or mismatched brackets)
20:44:59 <oerjan> 1053 now, so beating the forth
20:45:31 <oerjan> int-e: i changed the length 7 string to show(Just()) :P
20:46:48 <int-e> http://int-e.eu/~bf3/tmp/foo.dc clocks in at 655 now
20:47:32 <int-e> using ternary and digits DEF
20:48:06 <int-e> `` dc <<<zzzziFDEDFFEDEEFEEDFFEDEFFFEDDFDEEFDEEEDDFFDFDDFEEDFFFDEDEEDEDFFFEFDEFEFFEDDFFFEDDEDEEDDEEFFDDDFDDEEEEDEDFEFEEFEFEFDEEFFEFFDDDDDEDFFDDEFEFFFDFEFDDDDFFFDFDDDDFDFDDFEDEDDEFDFFEFEFEEFDEDDFFFFDFFFDFFDFDDFEEFEDDFDFDEFEDDFFDEFDEFFDFDDEDFDFEDEDFEDDEDFFEFDEFEDDDEEFDFEDFFEDFFDEEDEEDDFDFFDDFFEFEDFFEDEEDFDFFEEDFEFFDDEEFDFEDFFDDFDEDEDEEDFFDFDEDEDEDDEEDDDEEDDDEEDEEEEFFEEFEDFEFEEDDDDDDDEEEFFFDFFDDFEEFpP
20:48:07 <HackEgo> 354758199062468831342373110870127442854422789293566841724784280569165\ \ 009804899383233356478813259809473621590837667199140185893201941820118\ \ 63941021218364081299295059601563721145577907978 \ !echo -n '\172\172\172\172\151' \ 16o[13-3~13+rd15<xn]dsxxn!echo -n '\160\120'
20:48:41 <int-e> `` DC_LINE_LENGTH=10000 dc <<<zzzziFDEDFFEDEEFEEDFFEDEFFFEDDFDEEFDEEEDDFFDFDDFEEDFFFDEDEEDEDFFFEFDEFEFFEDDFFFEDDEDEEDDEEFFDDDFDDEEEEDEDFEFEEFEFEFDEEFFEFFDDDDDEDFFDDEFEFFFDFEFDDDDFFFDFDDDDFDFDDFEDEDDEFDFFEFEFEEFDEDDFFFFDFFFDFFDFDDFEEFEDDFDFDEFEDDFFDEFDEFFDFDDEDFDFEDEDFEDDEDFFEFDEFEDDDEEFDFEDFFEDFFDEEDEEDDFDFFDDFFEFEDFFEDEEDFDFFEEDFEFFDDEEFDFEDFFDDFDEDEDEEDFFDFDEDEDEDDEEDDDEEDDDEEDEEEEFFEEFEDFEFEE...
20:48:47 <int-e> ...DDDDDDDEEEFFFDFFDDFEEFpP
20:49:32 <HackEgo> cat: bin/dc: No such file or directory
20:50:28 <oerjan> we have not yet corrupted that particular program
20:51:04 <oerjan> to speed up the process, use it to edit wisdoms hth
20:51:06 <HackEgo> /home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: mkbin: not found
20:51:20 <HackEgo> `mk[x] FILE//CONTENT is a nice way to create a single line file with a single irc command. x makes it executable.
20:51:41 <wob_jonas> int-e: will you submit that eventually?
20:52:00 <int-e> `mkx bin/dc//DC_LINE_LENGTH=10000 /usr/bin/dc "$@"
20:52:18 <int-e> `` dc <<<zzzziFDEDFFEDEEFEEDFFEDEFFFEDDFDEEFDEEEDDFFDFDDFEEDFFFDEDEEDEDFFFEFDEFEFFEDDFFFEDDEDEEDDEEFFDDDFDDEEEEDEDFEFEEFEFEFDEEFFEFFDDDDDEDFFDDEFEFFFDFEFDDDDFFFDFDDDDFDFDDFEDEDDEFDFFEFEFEEFDEDDFFFFDFFFDFFDFDDFEEFEDDFDFDEFEDDFFDEFDEFFDFDDEDFDFEDEDFEDDEDFFEFDEFEDDDEEFDFEDFFEDFFDEEDEEDDFDFFDDFFEFEDFFEDEEDFDFFEEDFEFFDDEEFDFEDFFDDFDEDEDEEDFFDFDEDEDEDDEEDDDEEDDDEEDEEEEFFEEFEDFEFEEDDDDDDDEEEFFFDFFDDFEEFpP
20:52:19 <HackEgo> 35475819906246883134237311087012744285442278929356684172478428056916500980489938323335647881325980947362159083766719914018589320194182011863941021218364081299295059601563721145577907978 \ !echo -n '\172\172\172\172\151' \ 16o[13-3~13+rd15<xn]dsxxn!echo -n '\160\120'
20:52:58 <int-e> (now what was that magical args-or-stdin thing
20:53:47 <int-e> wob_jonas: no, I'm staying away from stackexchange
20:54:46 <wob_jonas> dc is hard because it can't easily work with strings
20:55:04 <HackEgo> ls: cannot access bin/*stdin*: No such file or directory
20:55:19 <HackEgo> bin/print_args_or_input \ bin/shebang_args_or_input
20:55:37 -!- aeyxa has joined.
20:56:34 <int-e> `mkx bin/dc//print_args_or_input "$@" | DC_LINE_LENGTH=10000 /usr/bin/dc
20:57:09 <HackEgo> /home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: /bin/dc: No such file or directory
20:57:42 <wob_jonas> you're doing a lot of setup for omitting -e
20:58:29 <int-e> anyway, I wanted that to continue to work
20:58:34 <HackEgo> dc: stack empty \ dc: 'e' (0145) unimplemented \ 42
20:59:02 <int-e> feel free to `revert
20:59:28 <wob_jonas> I have actual obfus that use that feature
21:00:28 <wob_jonas> ``` /usr/bin/dc dc -e1d[pdsd+ldrlxx]dsxx
21:00:29 <HackEgo> 1 \ 2 \ 3 \ 5 \ 8 \ 13 \ 21 \ 34 \ 55 \ 89 \ 144 \ 233 \ 377 \ 610 \ 987 \ 1597 \ 2584 \ 4181 \ 6765 \ 10946 \ 17711 \ 28657 \ 46368 \ 75025 \ 121393 \ 196418 \ 317811 \ 514229 \ 832040 \ 1346269 \ 2178309 \ 3524578 \ 5702887 \ 9227465 \ 14930352 \ 24157817 \ 39088169 \ 63245986 \ 102334155 \ 165580141 \ 267914296 \ 433494437 \ 701408733 \ 11349031
21:00:31 <wob_jonas> ``` /usr/bin/dc -e1d[pdsd+ldrlxx]dsxx
21:00:32 <HackEgo> 1 \ 2 \ 3 \ 5 \ 8 \ 13 \ 21 \ 34 \ 55 \ 89 \ 144 \ 233 \ 377 \ 610 \ 987 \ 1597 \ 2584 \ 4181 \ 6765 \ 10946 \ 17711 \ 28657 \ 46368 \ 75025 \ 121393 \ 196418 \ 317811 \ 514229 \ 832040 \ 1346269 \ 2178309 \ 3524578 \ 5702887 \ 9227465 \ 14930352 \ 24157817 \ 39088169 \ 63245986 \ 102334155 \ 165580141 \ 267914296 \ 433494437 \ 701408733 \ 11349031
21:00:47 <HackEgo> dc: stack empty \ dc: 'e' (0145) unimplemented \ 1 \ 2 \ 3 \ 5 \ 8 \ 13 \ 21 \ 34 \ 55 \ 89 \ 144 \ 233 \ 377 \ 610 \ 987 \ 1597 \ 2584 \ 4181 \ 6765 \ 10946 \ 17711 \ 28657 \ 46368 \ 75025 \ 121393 \ 196418 \ 317811 \ 514229 \ 832040 \ 1346269 \ 2178309 \ 3524578 \ 5702887 \ 9227465 \ 14930352 \ 24157817 \ 39088169 \ 63245986 \ 102334155 \ 1655801
21:01:13 <HackEgo> 1 \ 2 \ 3 \ 5 \ 8 \ 13 \ 21 \ 34 \ 55 \ 89 \ 144 \ 233 \ 377 \ 610 \ 987 \ 1597 \ 2584 \ 4181 \ 6765 \ 10946 \ 17711 \ 28657 \ 46368 \ 75025 \ 121393 \ 196418 \ 317811 \ 514229 \ 832040 \ 1346269 \ 2178309 \ 3524578 \ 5702887 \ 9227465 \ 14930352 \ 24157817 \ 39088169 \ 63245986 \ 102334155 \ 165580141 \ 267914296 \ 433494437 \ 701408733 \ 11349031
21:01:15 <oerjan> <mroman> Why can't you nest () in bfjoust? <-- you can, but each part must have matched [] brackets
21:04:50 -!- aeyxa has quit (Ping timeout: 260 seconds).
21:07:25 -!- polob4385 has joined.
21:07:36 -!- mroman_ has joined.
21:07:39 <int-e> that Iv trick (which replaces zzzz) makes it 239+355 = 594
21:07:42 <mroman_> https://codegolf.meta.stackexchange.com/questions/2028/what-are-programming-languages/2073#2073
21:08:13 -!- AnotherTest has joined.
21:08:16 <mroman_> 1. can add numbers 2. can answer is prime
21:08:35 <mroman_> that was your best shot at defining what a language is o_O?
21:12:31 <int-e> wob_jonas: right, I could just use A instead of I
21:13:05 -!- AnotherTest has quit (Ping timeout: 276 seconds).
21:13:07 <mroman_> and i still think the idea of allowing any language for golfing kinda defeats the purpose of golfing.
21:13:26 <mroman_> competition _between_ language is useless, competition _within_ language is what matters.
21:13:39 <wob_jonas> mroman_: sure, if you care strictly for lowest byte count
21:14:10 <mroman_> well there's also cleverness
21:14:15 <mroman_> but you can't rate that objectively :D
21:31:04 <oerjan> mroman_: everyone who doesn't use a golfing language treats it as within languages anyway
21:31:19 <oerjan> in other news my 128 length list is now a$a$a$a$a$a$show()
21:31:38 <oerjan> (with a defined to be show)
21:31:49 <oerjan> (the last one doesn't convert because of type)
21:38:50 <oerjan> oh that trick got me down to 988
21:39:07 <wob_jonas> > oerjan: can you use apostrophes?
21:39:10 <lambdabot> parse error (possibly incorrect indentation or mismatched brackets)
21:39:27 -!- sprocklem has quit (Ping timeout: 240 seconds).
21:39:35 <oerjan> wob_jonas: no, they're used for char literals in the other program
21:40:32 <oerjan> alternatively, i'm already using " quotes, but they need code to place them
21:40:35 <int-e> meh, stupid shells and their different ideas of echo.
21:41:11 <oerjan> so show() is the shortest way i've found to get a length 2 string. hm..
21:42:50 <oerjan> also, procrastinating eating again ->
21:44:42 <int-e> so I'm back to using env echo instead of just echo, and that means that I cannot use v to get base 3.
21:45:08 <int-e> --> 438 + 294 = 732
21:51:02 -!- polob4385 has quit (Remote host closed the connection).
22:00:01 -!- greysondn has joined.
22:00:56 <greysondn> Anyway, question since assumably you lot would be the best community to ask
22:01:07 <greysondn> Are there any languages which - like Piet - have source code that doubles as an image?
22:01:22 <greysondn> ASCII Art does not count. Sorry, brainf*ck.
22:03:05 <wob_jonas> and you can make images that are also source code in ordinary languages
22:03:06 <greysondn> Oh? Language reference links? I've never seen them.
22:03:21 <wob_jonas> I made one that's a BMP and a perl source once, because that's easy enouhg
22:03:22 <greysondn> And that point, also, is interesting.
22:04:33 <greysondn> Piet++ - no reference interpreters, but at least the language is ... lolnope "This is a work in progress, and is still in development."
22:04:45 <greysondn> I bet it could be used as-is if someone really wanted to, though.
22:08:05 <zseri> zzo38: the index and key format is missing from https://arin.ga/tCJ5QC
22:12:09 <int-e> b_jonas: okay. using AAZ now, http://int-e.eu/~bf3/tmp/foo.dc, 681 total.
22:12:30 -!- mroman_ has quit (Ping timeout: 260 seconds).
22:12:34 <int-e> I think that's where I'll stop
22:13:03 <int-e> b_jonas: wob_jonas: heh you're both here.
22:13:31 <wob_jonas> it's pretty common that we're both here, yes
22:14:47 <int-e> `` dc <<<AAZiCCABACCCBCAACBCCABBCBCCCCACCCCABBBBABACCBBBAACABCAABCAABABCBBACCACBBAABCBCBAABBACBCCCCCACACCACCAAABCCCCBBCCBCABBBBABCABBCBABBACBAAABCACCCBBBBAAACBBABABCCCABCBCBBCBAACBCBAACBBBCCBCABBBCACACCCAABCCCBCAABACBBBAACBCCBBAAACBBBBBCBACBCABCBAABCBACABCBCCCCAACCCCCCBBBCABBBBBCBACAACACCAAACBCBBCCCBCCBCBACBCAACBAACACCBCAAAABABBCACACBCBBCBCACACAABCCACBCCACACCABCBBCCCACABAABCBACBCCABCCCBAABCBCCBB...
22:14:53 <int-e> ...CABAAACBAABBCBAApP
22:15:03 <int-e> ah right, it grew.
22:15:59 <int-e> `` dc <<<AAZiCCABACCCBCAACBCCABBCBCCCCACCCCABBBBABACCBBBAACABCAABCAABABCBBACCACBBAABCBCBAABBACBCCCCCACACCACCAAABCCCCBBCCBCABBBBABCABBCBABBACBAAABCACCCBBBBAAACBBABABCCCABCBCBBCBAACBCBAACBBBCCBCABBBCACACCCAABCCCBCAABACBBBAACBCCBBAAACBBBBBCBACBCABCBAABCBACABCBCCCCAACCCCCCBBBCABBBBBCBACAACACCAAACBCBBCCCBCCBCBACBCAACBAACACCBCAAAABABBCACACBCBBCBCACACAABCCACBCCACACCABCBBCCCACABAABCBACBCCABCCCBAABCBCCBBCABAAACBAABBCBAApP
22:15:59 <HackEgo> 1249867311456297728387960972348495142474463915096892194287334566420180005111187276970370834783840884675510357165215228078141090252786047354531385978279481333741640036613277888577644516261113895 \ F!env echo -ne '\101\101\132\151' \ o[10-3~10+rdF<xn]dsxxn!env echo -ne '\160\120'
22:23:34 -!- greysondn has quit (Ping timeout: 260 seconds).
22:33:42 -!- zseri has quit (Quit: Leaving).
22:35:06 <wob_jonas> are you boycotting pcgse like ais?
22:36:02 <int-e> I'm not on SE at all
22:37:08 <int-e> And I still managed to waste the better part of the day on a puzzle that originated there.
22:37:39 <int-e> But at least this way that won't happen every day.
22:38:51 <zzo38> Yes, the index and key format is missing; I will fix that in my source code now
22:39:18 <wob_jonas> there's probably a much shorter perl solution, but then you'd have to divide useful characters more carefully, rather than using only seven of them in one of the programs
22:53:34 -!- hppavilion[1] has joined.
22:59:23 -!- sofi has joined.
23:08:52 <hppavilion[1]> Does anyone know of any decent algorithm for plotting arbitrary loci? Or is that the sort of thing one has to roll-one's-own?
23:09:27 <oerjan> i'm trying to calculate the length of a string in my head and failed several times
23:11:03 <oerjan> wob_jonas: well i got it at last, 182
23:11:24 <oerjan> (i swap out 128 for that because i have an easy way to generate it)
23:14:08 <oerjan> and there i finally beat you, 930
23:14:33 <oerjan> (but you've said you could golf about that much)
23:15:28 <wob_jonas> oerjan: more in fact. removing 6 newlines is free, and saves 3*6
23:16:03 <wob_jonas> you can make tr|\x00-\x7F|\x80-\xFF| much shorter too, and that counts six times
23:17:41 <oerjan> oh well, beating perl on this kind of stuff is hard.
23:17:44 <wob_jonas> probably like tr|j\x02-\x7F|\x81-\xFE| but writing all four of those escapes as literals instead, or something like that
23:17:55 <wob_jonas> yes, 930 in *Haskell* is quite impressive
23:18:01 <wob_jonas> Haskell is long for tasks like this
23:21:26 -!- sofi has quit (Quit: Saliendo).
23:21:49 <wob_jonas> oh, and the last semicolon can be removed too, and that also counts 6 times
23:22:59 <wob_jonas> and you could replace @f[0..6] with @f for four additional characters in the list of character codes, so that's 4*6 more
23:23:29 <wob_jonas> 48 definitely free even without modifying the tr
23:25:43 <wob_jonas> the best way to save a lot would be if I could put the replication into the second obfu.
23:26:05 <wob_jonas> but that's hard because it would need omitting two or three digits
23:37:30 -!- wob_jonas has quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client).