00:00:16 hm one definition of equivalence could be: there exists at least one tape length, such that for both relative polarities of the tested programs, there exists a counterprogram that can get different outcome from the test programs. 00:00:26 *non-equivalence 00:01:01 the polarity part is because we might want flipped polarities not to change equivalence 00:02:43 this would be a non-trivial equivalence, of course. 00:05:54 if you can get a counterprogram that distinguishes between the two test programs and then reaches their IP before they have a chance to ensure win or suicide, then i suspect it can force different outcomes. 00:12:01 -!- Bicyclidine has joined. 00:12:40 you need 768 to allow for all possible defence programs <-- hm i think that's fewer than i need? 00:15:16 oh hm wait 00:16:26 > 768 `divMod` 11 00:16:28 (69,9) 00:17:35 although i didn't try to minimize it 00:18:01 [wiki] [[FALSE]] http://esolangs.org/w/index.php?diff=40542&oldid=34791 * 77.181.84.57 * (+122) External resources: add cksum implemtation 00:18:10 hm wait 00:18:26 am i reading the quantifiers in his claim wrong 00:19:08 i think he's solving a different problem 00:19:18 > 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 * 3 00:19:20 768 00:19:45 ok then my result is stronger i think 00:19:52 boily: ah 00:20:11 yup. insanely bored. 00:20:36 i think i can at least halve that 00:21:08 you need to beat his program on only one polarity and tape length 00:21:22 or wait 00:21:35 nah maybe that _is_ about the right order of magnitude 00:29:13 fungot: is it magnitudinally correct? 00:29:14 boily: fnord o'malley tells of devil-worship with box found in the shrine on the alert, is poignantly visible in every line of the fnord, and such is my knowledge that i am safe? those powers survive the life of the physical frame. her crowning rage, however, the syracusans obtained after a while, for my thoughts were still far from settled, but i produced an electric pocket lamp and viewed the crowning fnord as it was 00:29:40 oerjan: only if you worship the devil. (which, considered that it pertains to a bf joust, could be quite useful.) 00:37:11 a lovely crafted estimate 00:42:55 @tell fizzie Fun fact about the Markov scoring, as pointed out by quintopia: if you do write the perfect (in terms of rest of the hill) program, all other programs will get a flat 0 as a score. <-- hm if there _are_ programs getting a flat 0, then they must lose perfectly against all that don't. so you could rerun the 0's as a second tier or something. 00:42:55 Consider it noted. 00:45:14 > 2^200 00:45:16 1606938044258990275541962092341162602522202993782792835301376 00:56:14 > 2 ^ 2 ^ 2 ^ 2 00:56:16 65536 00:56:40 hm. (^) is infixr... 00:56:53 > 2 ^ 2 ^ 2 ^ 2 ^ 2 ^ 2 ^ 2 00:56:57 that's the usual convention, no? 00:56:58 mueval: ExitFailure 1 00:57:11 YES! another bot with cryptic error messages! 00:57:26 Bicyclidine: I couldn't remember. 00:57:48 well, it is. of course if you need to worry about that you may have scary issues 00:58:08 oerjan: my defn of equivalence is p === q = forall r polarity 10<=tapelen<=30. trace(p,r,polarity,tapelen) = trace(q,r,polarity,tapelen) 00:58:18 where trace is limited to the 100k. 00:58:41 oh 00:58:49 I guess you actually want to omit polarity there 00:58:57 Bicyclidine: my issues aren't scary. unless you are mentioning redmine issues, in which case I may suddenly twitche and have uncontrollable urges to mapole somebody. 00:59:16 oerjan: though then you have the weird thing where you erase the polarity but not the tape lengths 00:59:18 boily: whatreya doin wi nested exponentials then? 00:59:36 oerjan: (as opposed to only considering warrior vs. warrior all-tape-lengths-and-polarities results, which seems obviously too coarse-grained) 00:59:49 Bicyclidine: exploring large numbers. 00:59:50 elliott_: is trace the exact list of commands the warriors execute? 01:00:00 note that for tail representation, (>)*30p = (>)*30q forall p, q 01:00:11 as in, the neverending ] representation 01:00:20 29, even 01:00:22 (I wonder if powers of two are normal...) 01:00:26 so there's lots of subtleties there. 01:00:38 elliott_: what exactly is trace 01:00:43 oerjan: yes, I suppose so 01:00:55 oerjan: I was thinking it'd just be the tape + tape pointers + flag count for each step 01:00:59 *flag counter 01:01:32 maybe you should include the instructions executed to differentiate ] and . in some cases, but conjecturally you can always pick r to distinguish those anyway? 01:01:36 boily: iirc the end digits are constant after a while 01:01:53 something to do with modular arithmetic, which i'm not nearly smart enough for 01:01:53 elliott_: oh. so ignoring the difference between []. 01:02:06 but everything else counts 01:02:24 oerjan: inside the quantifier... I think the forall r is generic enough that it'd catch a q that "fakes" p's loops? 01:02:36 because it has to fake the loop structure for every possible r. 01:02:42 which amounts to actually doing the loops. 01:03:03 also, I'm waving my hands really fast right now!! 01:03:04 Bicyclidine: I'll be putting that in my todo backlog list. 01:03:16 (that refering to modular arithmetic.) 01:04:07 it's why you can get graham's number digits from the right. 01:04:12 oerjan: how about this? p === q = forall hill. add(p,hill) = add(q,hill) (note: hills contain exact points/scoring numbers) 01:04:22 http://en.wikipedia.org/wiki/Graham%27s_number#Rightmost_decimal_digits right ok. 01:04:45 oerjan: that captures exactly what you want for a hill of all programs 01:06:34 i think my brain just turned off 01:07:34 I guess you can determine some things about the scoring property of the ur-hill using your beat-any-program programs 01:07:43 but before it turned off because you changed the definition again, i was going to say that you can only distinguish [] from . after a sufficent number of steps that r can possibly have reached your IP 01:08:01 oh, good point 01:08:12 I sort of feel like [] and . really are equivalent there though 01:08:16 since the results are "constant"? 01:08:31 oh and that the cell can possibly be either 0 or nonzero 01:08:36 a bf joust program starting [>] might as well be a bf joust program starting .>. 01:08:58 there'd certainly be no point having both on the same hill 01:10:19 right 01:11:11 so I think (forall hill. add(p,hill) = add(q,hill)) is equivalent to (forall r tapelen. exists polarity. winner(p,r,sieve,tapelen) = winner(q,r,polarity,tapelen)), which quantifies over the polarity and tapelen like you intended to. 01:12:34 I suppose you could get the exact same points/score by having it win the same number of matches but in a *different* pattern of tape lengths, since they're treated as unordered (like polarities), making the former different for reasons other than polarity, but presumably when quantifying over all hills (this is where my brain turns off too) 01:12:43 if it was even running in the first place. 01:13:02 argh 01:13:06 OKAY 01:13:35 yeah, my reaction too at this point. 01:14:04 here's my revised opinion: I knows an equivalent program when I sees it. 01:14:10 splendid 01:15:51 -!- boily has quit (Quit: RAINBOW CHICKEN). 01:18:17 god i almost caught him this time 01:18:21 it's always so close 01:19:22 -!- shikhin has joined. 01:20:27 you cannot catch rainbow chicken 01:20:37 oerjan: that's a good idea. if it's possible to write a perfect program, and who knows if it is, it would at least give a score. however, given that it's so unlikely to happen, is it really worth implementing? 01:22:29 -!- shikhout has quit (Ping timeout: 260 seconds). 01:23:19 I would bet money you can write a program that beats everything currently on the hill. 01:23:22 or maybe not. 01:24:06 -!- Lorenzo64 has quit (Ping timeout: 258 seconds). 01:28:33 -!- Sorella has quit (Remote host closed the connection). 01:32:47 elliott_: yes, but the only idea i have for such a thing would be that a single minor tweak to any other program would topple the whole edifice 01:33:26 that's okay. 01:33:40 anyway, it might not be possible 01:34:03 -!- Sorella has joined. 01:34:12 you might have to do a different thing at time t depending on whether the other program is p or q, and you may not have enough time to gather enough information to distinguish them and branch on that before you have to 01:34:52 -!- Sorella has quit (Changing host). 01:34:53 -!- Sorella has joined. 01:38:29 elliott_: it could be even worse. there could be a single program which you have to treat completely differently depending on the tape length, but which makes it extremely difficult to guess what the length is, for instance by having lots of flag-sized decoys adjacent to the flag. no way to tell whether you're on the flag or not until you've cleared it, and if they're smart, maybe not even then. 01:39:02 quintopia: my religion holds that for any program p there is a p' that beats it on all tape lengths and polarities. 01:39:18 for instance, how do you tell the difference between a clever on-flag lock and ais523.preparation's lock? 01:39:41 basically you are claiming that unbeatable programs exist 01:40:22 what I no longer believe is that for any set of programs {p_0,p_1,...,p_n} there is a p' that beats all p_n on all tape lengths and polarities. that's significantly stronger 01:44:15 > length "48 characters should be enough for everyone." 01:44:17 44 01:46:34 indeed there is not necessarily a p' that beats all p_n on a _particular_ tape length and polarity. 01:52:10 -!- Bicyclidine has quit (Ping timeout: 250 seconds). 01:57:47 i am not claiming that unbeatable programs exist. i am saying i see no proof that it is impossible to write a program such that it is guaranteed to win in at leaaast one configuration. perhaps it isn't, but i see no proof. 01:59:09 proof: no program wins against a duplicate of itself, ever. 02:00:06 oerjan: i mispoke. i meant "not lose" instead of "win" 02:00:20 OKAY 02:00:37 -!- shikhin has quit (Ping timeout: 245 seconds). 02:01:18 hm can you write a length 10 rush that is guaranteed to never lose 02:01:44 no 02:02:04 (on length 10, naturally) 02:02:12 consider the same rush using a reverse offset clear 02:02:28 or whatever 02:02:42 um i don't know the bfjoust terms very well. 02:03:00 one clears around 128 and up. one clears around 0 and up. 02:03:20 hmm 02:03:21 s/very well/much at all/ 02:04:25 bad example 02:04:45 for every rush there is a lock. let's leave it at that. 02:05:12 basically what i mean is, since you can assume the tape length is known, you can at least ignore all other cells than your own flag and the opponent's. 02:05:19 (it's impossible to write a program unbeatable on a *paritcular* configuration) 02:05:44 well, you would have to use the unknownness of the polarity to your advantage 02:05:54 oh wait 02:06:00 oerjan: how can it win against both fastrush and +fastrush? 02:06:02 i proved that myself earlier, duh 02:07:03 elliott_: it doesn't have to win. it just has to draw. 02:08:00 if you have perfectlength10rush, then perfectlength10rush draws it, and +perfectlength10rush should beat it? 02:08:03 maybe not 02:08:38 I'm too tired for this. goodnight! 02:09:38 night 02:12:05 so did anything interesting happen this evening? 02:15:27 isn't it about time the wiki had a new featured language 02:17:20 -!- Sorella has quit (Remote host closed the connection). 02:26:57 You ugys 02:26:58 guys* 02:27:13 Realize my current project is a program whose input is all the programs on the hill, and the output is a single program, right? 02:27:27 i realize nothing. 02:30:30 (basically, I used an automated system to delete codepaths from it that weren't used against any of the programs on the hill) <-- that sounds relevant to your project 02:30:55 if you did that, you might get an exponential program down to reasonable size, no? 02:31:39 after all, you have at most 22*47 opponent configurations 02:32:41 and that then is also the maximal number of branchings 02:32:47 hm 02:32:52 > 22*47*100000 02:32:54 103400000 02:33:12 ok 103 Mb is still above the current limit :P 02:34:00 although... 02:34:52 any compression of the 100000 steps that _doesn't_ contain a possible branch should still be compressible 02:35:19 > 22*47 02:35:21 1034 02:35:53 Lymia: ^ 02:37:02 of course doing it this way will probably cause crash and burn against any new program, but i assume you've considered that already. 02:38:46 this could be used to compile down my nested ({}) structure which the bot didn't seem to support, i think 02:45:36 -!- conehead has quit (Quit: Computer has gone to sleep). 02:50:20 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)). 03:08:34 oerjan, I'd need a large coprus of programs not on the hill 03:08:50 And switch to, say, monolith's clear loop. 03:13:00 Lymia: um the idea of deleting codepaths only works if you are willing to ignore all opponents not on the hill. 03:13:26 if even then. 03:13:57 Deleting all code paths... relative to wht? 03:14:01 what* 03:17:20 Lymia: relative to the hill you are trying to beat 03:17:55 mind you this is probably not _that_ relevant if you are autogenerating a program to beat it. 03:18:49 unless you make it out of parts of other programs, frankenstein-like. hm... 03:19:20 Deleting code paths from what? 03:21:08 if you are somehow generating a program that is over the size limit 03:21:31 but you only want to beat those 22*47 configurations that are on the hill already 03:21:45 then you can delete the code paths that none of them hit. 03:22:30 and with some luck the remainder might fit under the limit 03:22:58 Lymia: are you stealing my idea 03:30:06 quintopia, I had had it, like, a year ago 03:30:12 And gave up because I couldn't get my interpreter working right 03:31:10 i had it two years ago, but never had the gumption 03:31:23 still don't really 03:31:34 so go ahead. have fun. hope you succeed. 03:32:16 I believe the fact that we had the same idea then could be because we talked about it in ancient times. 03:37:25 _or_ maybe you had a cloning accident and were really the same person. 04:23:53 https://www.youtube.com/watch?v=qlPehnPkG8o "Norse theme" had some sounds that sounds vaguely Celtic. I don't know enough to know if it's a coincidence 04:23:59 Norse-Celtic did get some hits in Google 04:24:12 http://en.wikipedia.org/wiki/Norse%E2%80%93Gaels 04:25:42 -!- idris-bot has quit (Ping timeout: 245 seconds). 04:26:02 -!- Melvar has quit (Ping timeout: 245 seconds). 04:29:01 -!- conehead has joined. 05:30:13 "Searching for toothpaste in eye? Kelley blue book" 05:30:22 Apparently getting toothpaste in your eye is a used car 05:54:18 -!- MoALTz_ has joined. 05:57:17 -!- MoALTz has quit (Ping timeout: 245 seconds). 05:57:52 -!- MoALTz__ has joined. 06:01:29 -!- MoALTz_ has quit (Ping timeout: 260 seconds). 06:27:38 -!- ion has quit (Excess Flood). 06:27:46 -!- MoALTz__ has quit (Quit: Leaving). 06:29:22 -!- weissschloss has quit (Remote host closed the connection). 06:29:23 -!- paul2520 has quit (Ping timeout: 240 seconds). 06:29:48 -!- ion has joined. 06:29:53 -!- paul2520 has joined. 06:30:14 -!- paul2520 has changed nick to Guest82163. 06:30:40 -!- weissschloss has joined. 07:05:38 -!- oerjan has quit (Quit: nǫ́tt). 07:12:45 -!- conehead has quit (Quit: Computer has gone to sleep). 07:15:38 -!- weissschloss has quit (Write error: Broken pipe). 07:18:35 -!- weissschloss has joined. 07:21:52 -!- vyv has quit (Ping timeout: 240 seconds). 07:24:08 -!- vyv has joined. 08:10:49 -!- sebbu has quit (Ping timeout: 260 seconds). 08:30:47 -!- Patashu has joined. 08:34:23 -!- sebbu has joined. 08:35:03 -!- sebbu has quit (Changing host). 08:35:03 -!- sebbu has joined. 08:41:38 -!- drdanmaku has quit (Quit: Connection closed for inactivity). 08:50:59 !bfjoust single_decoy (>)*6(+)*128(>[-.])*-1 08:51:00 mroman_.single_decoy: points -29.67, score 4.83, rank 47/47 08:51:17 !bfjoust single_decoy (>)*6(+)*128(>[(+)*10[-].])*-1 08:51:18 mroman_.single_decoy: points -30.24, score 4.49, rank 47/47 (--) 08:51:47 !bfjoust single_decoy >(+)*128>*7(>[(+)*10[-].])*-1 08:51:48 mroman_.single_decoy: points -24.76, score 6.69, rank 47/47 (--) 08:51:53 !bfjoust single_decoy >(+)*128>*9(>[(+)*10[-].])*-1 08:51:53 mroman_.single_decoy: points -24.76, score 6.69, rank 47/47 (--) 08:51:59 !bfjoust single_decoy >(+)*128>*7(>[(+)*10[-].])*-1 08:51:59 mroman_.single_decoy: points -24.76, score 6.69, rank 47/47 (--) 08:52:08 !bfjoust single_decoy >(+)*128(>-)*7(>[(+)*10[-].])*-1 08:52:09 mroman_.single_decoy: points -20.17, score 8.13, rank 47/47 (--) 08:52:16 !bfjoust single_decoy >(+)*128(>->+)*4(>[(+)*10[-].])*-1 08:52:16 mroman_.single_decoy: points -18.50, score 8.82, rank 47/47 (--) 08:52:24 !bfjoust large_decoy >(+)*128(>->+)*4(>[(+)*10[-].])*-1 08:52:25 mroman_.large_decoy: points -18.50, score 8.82, rank 47/47 08:52:35 !bfjoust large_decoy >(+)*128(>-->++)*4(>[(+)*10[-].])*-1 08:52:36 mroman_.large_decoy: points -19.24, score 8.50, rank 47/47 (--) 08:52:43 !bfjoust large_decoy >(+)*128(>->+)*4(>[(+)*6[-].])*-1 08:52:44 mroman_.large_decoy: points -18.48, score 9.04, rank 47/47 (--) 08:52:48 !bfjoust large_decoy >(+)*128(>->+)*4(>[(+)*5[-].])*-1 08:52:51 !bfjoust large_decoy >(+)*128(>->+)*4(>[(+)*5[-].])*-1 08:52:52 mroman_.large_decoy: points -19.81, score 8.50, rank 47/47 (--) 08:52:55 !bfjoust large_decoy >(+)*128(>->+)*4(>[(+)*7[-].])*-1 08:52:56 mroman_.large_decoy: points -19.67, score 8.57, rank 47/47 (--) 08:53:01 !bfjoust large_decoy >(+)*128(>->+)*5(>[(+)*6[-].])*-1 08:53:01 mroman_.large_decoy: points -15.67, score 10.41, rank 47/47 (--) 08:53:07 !bfjoust large_decoy >(+)*128(>->+)*6(>[(+)*6[-].])*-1 08:53:09 -!- zemhill has quit (Remote host closed the connection). 08:53:22 oh noes :( 08:54:02 -!- zemhill has joined. 08:55:46 !bfjoust large_decoy >(+)*128(>->+)*6(>[(+)*6[-].])*-1 08:55:46 mroman_.large_decoy: points -16.60, score 9.97, rank 47/47 (--) 08:55:52 !bfjoust large_decoy >(+)*128(>->+)*5(>[(+)*6[-].])*-1 08:55:53 mroman_.large_decoy: points -15.67, score 10.41, rank 47/47 (--) 08:56:03 !bfjoust large_decoy >(+)*128>(-)*128(>->+)*5(>[(+)*6[-].])*-1 08:56:04 mroman_.large_decoy: points -20.31, score 8.07, rank 47/47 (--) 08:56:08 !bfjoust large_decoy >(+)*128>(-)*128(>->+)*4(>[(+)*6[-].])*-1 08:56:08 mroman_.large_decoy: points -22.14, score 7.25, rank 47/47 (--) 08:56:12 !bfjoust large_decoy >(+)*128>(-)*128(>->+)*5(>[(+)*6[-].])*-1 08:56:12 mroman_.large_decoy: points -20.31, score 8.07, rank 47/47 (--) 08:56:20 !bfjoust large_decoy >(+)*64>(-)*64(>->+)*5(>[(+)*6[-].])*-1 08:56:20 mroman_.large_decoy: points -11.40, score 12.80, rank 47/47 (--) 08:56:28 !bfjoust large_decoy >(+)*64>(-)*64(>-->+)*5(>[(+)*6[-].])*-1 08:56:28 mroman_.large_decoy: points -11.36, score 12.82, rank 47/47 (--) 08:56:32 -!- FreeFull has quit (Ping timeout: 245 seconds). 08:56:32 !bfjoust large_decoy >(+)*64>(-)*64(>-->++)*5(>[(+)*6[-].])*-1 08:56:34 mroman_.large_decoy: points -12.14, score 12.43, rank 47/47 (--) 08:56:39 !bfjoust large_decoy >(+)*64>(-)*64(>--->+)*5(>[(+)*6[-].])*-1 08:56:40 mroman_.large_decoy: points -11.86, score 12.64, rank 47/47 (--) 08:56:47 !bfjoust large_decoy >(+)*64>(-)*64(>(-)*10>+)*5(>[(+)*6[-].])*-1 08:56:47 mroman_.large_decoy: points -8.67, score 13.94, rank 46/47 (+1) 08:56:51 !bfjoust large_decoy >(+)*64>(-)*64(>(-)*20>+)*5(>[(+)*6[-].])*-1 08:56:52 mroman_.large_decoy: points -8.81, score 14.37, rank 44/47 (+2) 08:56:56 !bfjoust large_decoy >(+)*64>(-)*64(>(-)*64>+)*5(>[(+)*6[-].])*-1 08:56:56 mroman_.large_decoy: points -14.76, score 11.15, rank 47/47 (-3) 08:57:06 !bfjoust large_decoy >(+)*64>(-)*64(>(-)*25>+)*5(>[(+)*6[-].])*-1 08:57:07 mroman_.large_decoy: points -9.29, score 13.83, rank 46/47 (+1) 08:57:14 !bfjoust large_decoy >(+)*64>(-)*64(>(-)*20>+)*5(>[(+)*6[-].])*-1 08:57:15 mroman_.large_decoy: points -8.81, score 14.37, rank 44/47 (+2) 08:57:29 !bfjoust large_decoy >(+)*64>(-)*64(>(-)*20>+)*4(>[(+)*6[-].])*-1 08:57:30 mroman_.large_decoy: points -9.71, score 13.69, rank 47/47 (-3) 08:57:34 !bfjoust large_decoy >(+)*64>(-)*64(>(-)*30>+)*4(>[(+)*6[-].])*-1 08:57:34 mroman_.large_decoy: points -11.64, score 12.37, rank 47/47 (--) 08:57:43 !bfjoust large_decoy >(+)*64>(-)*64(>(-)*20>++)*5(>[(+)*6[-].])*-1 08:57:44 mroman_.large_decoy: points -8.52, score 14.57, rank 43/47 (+4) 08:57:51 !bfjoust large_decoy >(+)*64>(-)*64(>(-)*20>(+)*20)*5(>[(+)*6[-].])*-1 08:57:51 mroman_.large_decoy: points -8.76, score 14.64, rank 43/47 (--) 08:58:34 !bfjoust large_decoy >(+)*32>(-)*32(>(-)*20>(+)*20)*5(>[(+)*6[-].])*-1 08:58:35 mroman_.large_decoy: points -8.29, score 14.84, rank 41/47 (+2) 08:58:45 !bfjoust large_decoy >(+)*32>(-)*32(>(-)*25>(+)*20)*5(>[(+)*6[-].])*-1 08:58:46 mroman_.large_decoy: points -7.43, score 15.47, rank 37/47 (+4) 08:58:49 !bfjoust large_decoy >(+)*32>(-)*32(>(-)*25>(+)*25)*5(>[(+)*6[-].])*-1 08:58:50 mroman_.large_decoy: points -7.50, score 15.30, rank 37/47 (--) 08:58:55 !bfjoust large_decoy >(+)*32>(-)*32(>(-)*25>(+)*20)*5(>[(+)*6[-].])*-1 08:58:55 mroman_.large_decoy: points -7.43, score 15.47, rank 37/47 (--) 08:59:09 !bfjoust large_decoy >(+)*16>(-)*16(>(-)*25>(+)*20)*5(>[(+)*6[-].])*-1 08:59:11 mroman_.large_decoy: points -7.55, score 15.23, rank 37/47 (--) 08:59:19 !bfjoust large_decoy >(+)*25>(-)*25(>(-)*25>(+)*20)*5(>[(+)*6[-].])*-1 08:59:20 mroman_.large_decoy: points -8.31, score 14.87, rank 39/47 (-2) 08:59:26 !bfjoust large_decoy >(+)*32>(-)*32(>(-)*25>(+)*20)*5(>[(+)*6[-].])*-1 08:59:27 mroman_.large_decoy: points -7.43, score 15.47, rank 37/47 (+2) 09:28:28 -!- L8D has quit (Ping timeout: 250 seconds). 10:04:03 [wiki] [[Special:Log/newusers]] create * ChristeShannon * New user account 10:22:58 -!- boily has joined. 11:06:29 -!- GeekDude has joined. 11:07:31 -!- Melvar has joined. 11:11:14 hm 11:11:25 !blsq_uptime 11:11:26 2d 4h 1m 3s 11:12:22 !blsq "ChristeShannon")**)b2\[ 11:12:24 "1000011110100011100101101001111001111101001100101101001111010001100001110111011 11:12:31 !blsq "ChristeShannon")**)b2\[F:u[vv^^{1\/?/2\/LG}m[?*++ 11:12:31 0.9755259511264973 11:13:09 !blsq "aaaaaaaaa")**)b2\[F:u[vv^^{1\/?/2\/LG}m[?*++ 11:13:10 0.9852281360342514 11:13:13 weird 11:13:32 !blsq "aaaaaaaaa"F:u[vv^^{1\/?/2\/LG}m[?*++ 11:13:33 0.0 11:13:41 !blsq "ChristeShannon"F:u[vv^^{1\/?/2\/LG}m[?*++ 11:13:41 3.324862957617355 11:13:52 !blsq "Nqn87SQA"F:u[vv^^{1\/?/2\/LG}m[?*++ 11:13:52 3.0 11:14:05 who is Christe Shannon? 11:14:17 a new user on esolang org 11:14:35 oh, right. we do have a wiki. 11:14:44 -!- Sorella has joined. 11:15:24 !blsq "Nqn87SQA"F:u[vv^^{1\/?/l2}m[?*++ 11:15:24 3.0 11:15:34 -!- Sorella has quit (Changing host). 11:15:34 -!- Sorella has joined. 11:15:39 !blsq "Nqn87SQA"F:u[vvJ{1j?/l2}m[?*++ 11:15:40 3.0 11:16:09 How do these password entropy calculations work? 11:16:12 they are not shannon entropy? 11:16:22 !blsq "abcdefg"F:u[vvJ{1j?/l2}m[?*++ 11:16:22 2.807354922057604 11:16:29 ^- pretty much the same entropy as 11:16:38 !blsq "0bCdef!"F:u[vvJ{1j?/l2}m[?*++ 11:16:38 2.807354922057604 11:18:08 !blsq "0bCdef!"F: 11:18:08 {{0.14285714285714285 'f} {0.14285714285714285 'e} {0.14285714285714285 'd} {0.1 11:18:10 !blsq "0bCdef!"F:u[ 11:18:10 {'f 'e 'd 'b 'C '0 '!} 11:18:16 !blsq "0bCdef!"F:u[#s 11:18:16 {{'f 'e 'd 'b 'C '0 '!} {0.14285714285714285 0.14285714285714285 0.1428571428571 11:18:22 hm 11:18:27 > 1 / 7 11:18:29 0.14285714285714285 11:18:30 !blsq "0bCdef!"F:)[- 11:18:30 {{'f} {'e} {'d} {'b} {'C} {'0} {'!}} 11:18:37 !blsq "0bCdef!"F:)-] 11:18:38 {0.14285714285714285 0.14285714285714285 0.14285714285714285 0.14285714285714285 11:18:53 !blsq "0bCdef!"F:)-]J{1j?/l2}m[?*++ 11:18:53 2.807354922057604 11:21:01 !blsq "hunter2"F:)-]J{1j?/l2}m[?*++ 11:21:01 2.807354922057604 11:21:14 > 2.807 / 7 11:21:16 0.40099999999999997 11:21:32 0.41. there is your answer there. 11:21:43 * boily is going to think about the question while shampooing his hair 11:22:01 -!- boily has quit (Quit: OXYDOREDUCTING CHICKEN). 11:22:55 so 11:23:21 !blsq "hunter2"^^F:)-]J{1j?/l2}m[?*++jL[#S 11:23:22 7 11:23:27 !blsq "hunter2"^^F:)-]J{1j?/l2}m[?*++#s 11:23:28 {2.807354922057604 "hunter2"} 11:23:34 !blsq "hunter2"^^F:)-]J{1j?/l2}m[?*++jL[#s 11:23:35 {7 2.807354922057604} 11:23:38 !blsq "hunter2"^^F:)-]J{1j?/l2}m[?*++jL[?/ 11:23:38 0.4010507031510863 11:24:02 !blsq "mOarSecUR_*EpasswordZ!"^^F:)-]J{1j?/l2}m[?*++jL[?/ 11:24:03 0.19030474299591013 11:24:15 ^- so... this is pretty insecure then? 11:25:02 -!- L8D has joined. 11:29:18 that isn't a terribly good password 11:29:33 -!- L8D has quit (Ping timeout: 260 seconds). 11:29:42 it's three dictionary words with a bit of case/spelling wteaking and a very small number of symbols 11:29:47 I wouldn't use it 11:29:57 I only use 6 char passwords anyway 11:30:07 and only lowercase letters 11:30:22 simply because 11:30:38 sites nowadays suggest using at least one uppercase letter, one digit and one symbol 11:30:57 so as a password cracker you can assume that there's at least one uppercase letter, one digit and one symbol 11:31:02 I hope you don't have a bank account. 11:31:10 which means you can rule out any combinations of lowercase letters only 11:31:24 okay I assume this is just a bad joke 11:31:34 the size of the set of all variations of lowercase,uppercas,digit and symbols is much larger 11:31:52 than the set of variations of that but with the constraint that every element needs to have a digit a symbol and an uppercase letter 11:31:55 -!- idris-bot has joined. 11:32:22 So I don't see why "qhtnbz" is less secure than "qHt)(7" 11:33:08 I mean, it is less secure if an attacker only tries lowercase passwords 11:33:27 They do. 11:33:40 but if attackers switch to only testing combinations with at least one digit and one upper case letter and one symbol 11:33:52 you're better of using "abcdahenotuaaexa" as your password 11:33:55 *off 11:34:50 password crackers tend to assume that most people use bad passwords, like you. 11:34:59 > 26^6 11:35:00 308915776 11:35:02 you make it nice and easy for them. 11:35:04 > 2^32 11:35:06 4294967296 11:35:11 Just sayin' 11:35:38 mroman_: why not give me an SHA-256 hash of your freenode password? 11:35:52 presumably you have nothing to worry about 11:36:04 6-byte lowercase passwords can be brute forced in about one millisecond 11:36:20 (consider that people are rather likely to already have hashes -- if not plaintexts -- of your passwords, thanks to widespread database compromises) 11:36:52 I can give you the hash of my root password 11:37:01 > 2^32 - (26+10)^6 11:37:03 2118184960 11:37:39 > 2^32 - (26+10+32)^6 11:37:41 -94572515328 11:37:50 apparently there are 32 symbols on a US keyboard, who knew? 11:38:12 8fc56e2acf7c40526fc7060b52c54f1a24e9778d 11:38:25 elliott: time to design an esolang 11:38:44 mroman_: what hash function is that? 11:39:01 sha-1? 11:39:53 anyway I'm going to assume that since it's your root password you don't use six lowercase letters for it and that's why you're comfortable giving it. 11:40:22 Or root logins are disabled 11:41:17 I assign Jafet to do the quick enumeration to check :p 11:41:49 The length matches SHA-1. 11:43:07 mroman_: anyway, read http://arstechnica.com/security/2013/05/how-crackers-make-minced-meat-out-of-your-passwords/ or whatever 11:43:30 or just wait for your accounts to get compromised and take that as a lesson 11:43:48 mroman_: hell, it's right there: "True to that pattern, Gosney's first stage cracked 10,233 hashes, or 62 percent of the leaked list, in just 16 minutes. It started with a brute-force crack for all passwords containing one to six characters, meaning his computer tried every possible combination starting with "a" and ending with "//////." " 11:44:10 bam, you just lost your passwords, even if you included numbers and symbols 11:44:18 [wiki] [[Special:Log/newusers]] create * JavierRojas * New user account 11:44:41 ...I don't know why I'm arguing this at all. 11:45:21 @tell oerjan That sounds like a HASSLE. (But in theory, sure.) 11:45:21 Consider it noted. 11:46:09 elliott_: 6 char passwords with all printable ascii chars can be cracked in 13 minutes on a standard modern machine 11:46:26 so if you have a machine for cracking 11:46:28 ... 11:46:29 it's way less than 13 minutes 11:46:42 ...is this meant to be a defence of 6 char passwords? 11:46:47 I'm intensely confused. 11:47:29 am I being trolled here. be honest. 11:49:48 There's also a freely available and reasonably small rainbow tables e.g. for sha1 hashes of all 1-10 letter lowercase-alphabetic-plus-digits passwords. 11:50:19 Maybe 587 gigabytes doesn't quite qualify as "reasonably small", but anyhow. 11:50:21 elliott_: sha-1 yes 11:50:27 @what hash function is that 11:50:37 that's... no longer the question I most want an answer to at this point. 11:52:10 well which question do you want answered? 11:52:21 let's say, my last two. 11:53:20 My bank account has two factor authentication 11:53:51 okay, so the answer to my last question is "yes" 12:01:57 but my real bank account password is 9 characters 12:03:39 ...really??? 12:03:56 do you just like losing all your money 12:08:30 hm? 12:08:34 9 is pretty good I think 12:08:43 it takes what 12:08:49 days to crack it if you have the hash locally 12:09:21 which you don't 12:10:16 of course, the official recommendation is using a length of 20 12:10:47 >_< 12:11:03 but I'm much more worried about a trojan sniffing my password rather than somebody actually brute-forcing it 12:11:20 especially because brute-forcing against online banking takes much much longer than a hash locally 12:11:28 please. never find yourself in a position of power or trust over others. other than that, do whatever. 12:11:40 I'm working in IT Security ;) 12:12:10 I... really hope you're joking. 12:14:04 No. 12:14:10 I'm really working in IT Security 12:14:21 * elliott_ sobs 12:14:45 Currently I'm working on privacy preserving attribute based credential systems 12:15:06 I give up. the universe wins. 12:15:26 But that doesn't mean I use a password of length 20 for my bank account 12:17:58 If anybody steals my money it's either on the street or because of a mitm-trojan that bypasses two factor authentication 12:19:10 How long is your bank account password? 12:19:12 http://youtu.be/boEb8zKfPBo | http://www.imdb.com/title/tt3514324/reviews?ref_=butt 12:19:38 I agree that 2FA makes your bank account comfortably secure. 12:19:45 I expect you to use a master-password and derive other passwords from it. 12:19:47 ...that doesn't mean you're not hopelessly wrong about password security. 12:19:51 that's how I'd do it. 12:20:13 my bank account password is 20 characters long because that is the limit. 12:20:39 Hash(hash("ebay") ++ hash("mysecretpassword")) 12:20:40 it is not derived from a master password (IIRC there are some potential security pitfalls with that in terms of leaking information about the master password); it is randomly generated. 12:20:43 something like that 12:21:17 anyway that system is useless if you want to periodically change your passwords. 12:21:25 since you need state anyway (a counter). 12:21:49 change the masterpassword periodically? 12:21:52 no. 12:21:55 the site passwords 12:22:10 the site passwords is derived from the masterpassword 12:22:16 ... 12:22:24 talking to you is frustrating. 12:22:27 sitePassword = hash(hash(site) + hash(masterpassword)) 12:22:32 that's what I meant 12:22:38 elliott_: So as the master password changes, so do the site passwords. 12:22:42 yes, I know what you meant. 12:22:59 Melvar: okay, but I'd rather not have to change every single one of my passwords all at once. 12:23:05 that's effort. 12:23:20 Melvar: and I also don't see the benefit in changing the master password very regularly 12:23:25 You can embed a counter if you want 12:23:37 I don't know how secure hash(hash(counter) + hash(site) + hash(master)) is 12:23:45 mroman_: at that point you need to remember/store the counter; the system is no longer stateless. so just randomly generate passwords and store them encrypted. 12:24:27 so 12:24:33 you encrypt all passwords with the same key? 12:25:42 I randomly generate all my passwords, and store them encrypted with a strong master password, yes. 12:26:43 anyway, you should at least use a proper KDF rather than hash and ++ like that 12:27:55 I'm no security expert btw. 12:28:06 I didn't study security nor cryptology nor anything like that. 12:28:11 you didn't have to tell me that. (neither am I) 12:29:22 can you do replay attacks on ssl? 12:31:20 I guess in very bad circumstances it can be done 12:36:46 -!- Guest82163 has changed nick to paul2520. 12:37:02 -!- paul2520 has quit (Changing host). 12:37:02 -!- paul2520 has joined. 13:00:29 -!- L8D has joined. 13:10:20 -!- sebbu has quit (Ping timeout: 260 seconds). 13:10:54 `learn mroman is a leading artist in password security 13:10:56 I knew that. 13:11:08 `learn mroman_ is probably mroman but you can never be sure. 13:11:09 I knew that. 13:11:31 `? HackEgo 13:11:32 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. 13:11:53 `? hax0r 13:11:54 hax0r? ¯\(°​_o)/¯ 13:12:43 `learn hax0r (see ¯\(°​_o)/¯) 13:12:46 I knew that. 13:12:50 `? ¯\(°​_o)/¯ 13:12:51 ​¯\(°​_o)/¯ is a misspelling of ¯\(°_o)/¯ 13:12:51 | 13:12:52 o/`¯º 13:17:57 there should be `append_learn 13:18:03 ``ls bin/ 13:18:04 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: `ls: not found 13:18:08 `run ls bin 13:18:09 ​` \ ^.^ \ ̊ \ ! \ ? \ ¿ \ @ \ ؟ \ WELCOME \ \ \ 8ball \ 8-ball \ aaaaaaaaa \ addquote \ addwep \ allquotes \ analogy \ anonlog \ as86 \ aseen \ bienvenido \ botsnack \ bseen \ buttsnack \ calc \ CaT \ catcat \ cats \ cc \ cdecl \ c++decl \ chroot \ coins \ CoInS \ complain \ complaints \ danddreclist \ define \ delquote \ 13:18:20 `run find ./ | grep learn 13:18:22 ​./bin/learn \ ./.hg/store/data/bin/learn.i \ ./.hg/store/data/test/learn.i \ ./.hg/store/data/interps/clc-intercal/_c_l_c-_i_n_t_e_r_c_a_l-_docs-1.-94.-2/doc/examples/quantum/learn.i.i \ ./.hg/store/data/wisdom/`learn.i \ ./interps/clc-intercal/CLC-INTERCAL-Docs-1.-94.-2/doc/examples/quantum/learn.i 13:18:38 `run cat bin/learn 13:18:39 ​#!/bin/bash \ topic=$(echo "$1" | lowercase | sed 's/^\(an\?\|the\) //;s/s\? .*//') \ echo "$1" >"wisdom/$topic" \ echo "I knew that." 13:19:12 `run echo #!/bin/bash > bin/append_learn 13:19:13 No output. 13:19:17 `run cat bin/? 13:19:17 exec bash -c "$1" \ echo hi \ #!/bin/sh \ CMD=`echo "$1" | cut -d' ' -f1` \ ARG=`echo "$1" | cut -d' ' -f2-` \ exec ibin/$CMD "$ARG"#!/bin/sh \ topic=$(echo "$1" | lowercase | sed "s/noo\+dl/nooodl/;s/ *$//") \ topic1=$(echo "$topic" | sed "s/s$//") \ cd wisdom \ if [ \( "$topic1" = "ngevd" \) -a \( -e ngevd \) ]; \ then cat /dev/urandom; \ 13:19:57 `run rm bin/append_learn 13:19:58 rm: cannot remove `bin/append_learn': No such file or directory 13:20:14 `run ls bin/a* 13:20:16 bin/aaaaaaaaa \ bin/addquote \ bin/addwep \ bin/allquotes \ bin/analogy \ bin/anonlog \ bin/as86 \ bin/aseen 13:21:07 `run echo "echo \$//" > test 13:21:09 No output. 13:21:11 `run cat test 13:21:12 echo $// 13:21:18 `run bin/bash test 13:21:18 bash: bin/bash: No such file or directory 13:21:22 `run ./bin/bash test 13:21:22 bash: ./bin/bash: No such file or directory 13:21:27 `run bash test 13:21:27 ​$// 13:21:42 `run echo "echo *\$" > test 13:21:43 No output. 13:21:44 `run bash test 13:21:45 ​*$ 13:21:47 `run bash test wo 13:21:48 ​*$ 13:21:55 my lack of bash knowledge is bad :D 13:22:17 `run rm test 13:22:18 No output. 13:22:39 `run cat bin/learn 13:22:40 ​#!/bin/bash \ topic=$(echo "$1" | lowercase | sed 's/^\(an\?\|the\) //;s/s\? .*//') \ echo "$1" >"wisdom/$topic" \ echo "I knew that." 13:24:29 `fetch http://codepad.org/PW0O3FBY/raw.txt 13:24:30 2014-09-26 13:23:46 URL:http://codepad.org/PW0O3FBY/raw.txt [132/132] -> "raw.txt" [1] 13:24:56 `run mv raw.txt bin/learn_append 13:24:57 No output. 13:25:01 `run chmod +x bin/learn_append 13:25:02 No output. 13:25:07 `? test 13:25:08 test? ¯\(°​_o)/¯ 13:25:13 `learn test is a test 13:25:15 I knew that. 13:25:26 `learn_append test It's also not a test. 13:25:27 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: /hackenv/bin/learn_append: /bin/bash^M: bad interpreter: No such file or directory \ /home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: /hackenv/bin/learn_append: Success 13:25:37 grah 13:26:11 `run sed -e '/^M/d' bin/learn_append > bin/learn_append 13:26:13 No output. 13:26:15 `learn_append test It's also not a test. 13:26:16 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: /hackenv/bin/learn_append: Success 13:26:31 `? test 13:26:32 test is a test 13:26:46 `cat bin/learn_append 13:26:46 No output. 13:26:51 `run cat bin/learn_append 13:26:53 No output. 13:26:56 what 13:27:19 `run ls bin/learn_* 13:27:20 bin/learn_append 13:27:23 damn 13:29:23 -!- zolbap has joined. 13:32:45 -!- FreeFull has joined. 13:34:06 `learn test Hi. 13:34:08 I knew that. 13:34:13 `learn_append test Bye. 13:34:14 I knew that. 13:34:17 `? test 13:34:17 test Hi. \ Bye. 13:37:25 `run curl 13:37:26 curl: try 'curl --help' or 'curl --manual' for more information 13:38:07 -!- MoALTz has joined. 13:38:14 `run curl -x POST http://eso.mroman.ch/cgi/burlesque.cgi 13:38:15 curl: (5) Couldn't resolve proxy 'POST' 13:38:21 `run curl -X POST http://eso.mroman.ch/cgi/burlesque.cgi 13:38:22 curl: (7) couldn't connect to host 13:40:40 !blsq "Hi\r\nthere\r\n"{**13/=}f[ 13:40:40 "Hi\r\nthere\r\n" 13:41:51 !blsq "Hi\r\nthere\r\n"{**13!=}f[ 13:41:52 "Hi\nthere\n" 13:41:55 :D 13:41:57 !blsq /= 13:41:58 ERROR: Unknown command: (/=)! 13:42:07 I like how ERROR-Values evaluate to true 13:42:11 !blsq /=ck 13:42:12 ERROR: Burlsque: (n!) Invalid arguments! 13:42:53 -!- Patashu has quit (Ping timeout: 240 seconds). 13:43:17 !blsq {1 0 2 0}{}f[ 13:43:17 {1 2} 13:44:39 !blsq {1 0 2 0}q f[ 13:44:39 {f[} 13:46:27 -!- sebbu has joined. 13:56:46 -!- copumpkin has quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…). 14:17:53 https://bitbucket.org/mroman_/emulathor/src/fc48fe22fdade5777099eea372e5f06e2b4d2b2b/src/rlang/std/string.rl?at=master#cl-65 14:17:56 wtf did I do there 14:23:49 IF (strlen [ src; ] != strlen [ dst; ]) THEN looks inefficient 14:24:08 -!- sebbu3 has joined. 14:24:35 Perhaps you expected Pascal strings instead. 14:25:18 -!- sebbu2 has joined. 14:26:26 I'm still a huge fan of the syntax though 14:26:40 -!- Phantom_Hoover has joined. 14:26:50 -!- Phantom_Hoover has quit (Changing host). 14:26:51 -!- Phantom_Hoover has joined. 14:26:54 -!- sebbu has quit (Ping timeout: 246 seconds). 14:27:26 -!- sebbu has joined. 14:28:02 -!- sebbu has quit (Changing host). 14:28:03 -!- sebbu has joined. 14:28:46 -!- sebbu3 has quit (Ping timeout: 250 seconds). 14:29:38 -!- sebbu2 has quit (Ping timeout: 250 seconds). 14:37:09 It's a clean readable not to pascal-ish syntax 14:49:22 -!- perrier has quit (Remote host closed the connection). 14:56:36 [wiki] [[Special:Log/newusers]] create * DeenaQKZuynoiz * New user account 14:59:41 -!- perrier has joined. 15:22:04 -!- drdanmaku has joined. 15:25:47 -!- perrier has quit (Remote host closed the connection). 15:27:51 -!- perrier has joined. 15:29:35 -!- zolbap has quit (Quit: Leaving). 15:34:11 -!- L8D has quit (Remote host closed the connection). 15:38:00 -!- FreeFull has quit (Quit: BBL). 15:42:17 -!- ais523 has joined. 15:47:15 -!- AnotherTest has joined. 15:47:31 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)). 15:48:00 -!- sebbu has quit (Ping timeout: 272 seconds). 15:55:34 -!- sebbu has joined. 15:56:11 -!- sebbu has quit (Changing host). 15:56:11 -!- sebbu has joined. 16:01:26 hello 16:01:45 what kind of strings does pascal have 16:02:43 length+pointer IIRC. 16:02:45 quintopia: "pascal strings" normally refers to strings where the first byte gives the length 16:02:49 and the others are the content 16:03:05 length+pointer is Rust strings; it's less efficient than C or Pascal strings but it has very cheap slicing 16:03:10 Oh, length inline? 16:03:21 Never heard of that idea before. 16:03:37 it died out, and probably for a good reason 16:04:45 Yeah, it precludes not only general slicing, but tailtaking which even null-terminated strings allow. 16:07:53 tromp: haskell@ is for announcements, not for jokes. It's meant to be low-volume. You can always send comments like that to -cafe@ 16:08:17 -!- Phantom_Hoover has quit (Remote host closed the connection). 16:10:50 -!- Phantom_Hoover has joined. 16:12:04 shachaf: ok, will restrain myself in future 16:16:47 #esoteric is for ... 16:19:26 -!- shikhin has joined. 16:26:36 The Internet is for... 16:27:44 #esoteric is the international hub for esoteric programming language design, development and deployment 16:31:37 how about BANCStar strings? 16:31:43 are those efficiently slicable? 16:32:05 I don't know BANCStar 16:34:10 I don't know how it is internally implemented, but I know a MID$ function is available; one BANCStar program uses it on a string containing the entire alphabet simply to assign "N" to a variable. I suppose other methods of doing so aren't available for some reason? 16:34:17 ?messages-loud 16:34:17 Sgeo asked 3d 13h 33m 30s ago: Do you have opinions on the speed of various interpreters? Supposedly this game is very impacted by such things http://emshort.wordpress.com/2012/12/31/counterfeit-monkey/ 16:34:17 mroman_ said 2d 6h 48m 29s ago: zzo38computer.org is pretty much unreachable. 16:34:31 zzo38: BANCStar doesn't have constants 16:35:13 it does have small integer constants 16:35:24 or not? 16:35:35 I don't think so 16:35:36 let me check the wiki page 16:35:41 maybe I remembered wrong, though 16:35:45 Yes, I suppose you are right; actually there are string constants but they have to take up part of the same space used for variables, which is limited to 2000. And yes there are integer literals. 16:35:49 here, it allows literal integers http://esolangs.org/wiki/BANCStar#Arithmetic_instructions 16:36:50 Also, the IP address for zzo38computer.org has been changed recently; try again. 16:38:15 zzo38: what was the TTL set to on the old domain? 16:38:31 changes won't get through to other people's computers until after the TTL expires 16:38:38 so, say, if it was a month 16:38:44 C++ strings best strings 16:38:54 then other people's compuers won't know about the new IP for up to a month 16:38:56 *computers 16:39:07 length + pointer, except for when they're short, in which case they're length + data 16:39:16 the distinction is made in the low bits of the pointer 16:40:26 ais523: I do not know what the TTL was set to; I don't have control over that; I only tell someone else to update it for me, and they then do so. 16:41:07 I have dyndns set up for my home domain 16:46:21 About the speed of the "Counterfeit Monkey" game, well, it is compiled using Inform7, which is known to be pretty bad at optimization and produces slow programs. It is also Glulx, which probably will run slower than Z-machine code anyways (although it does have some ultra-CISC instructions to speed up some normally slow things) 16:49:38 Does the "M" in "M-theory" stand for a word that hasn't been invented yet (but is known ahead of type to start with "M")? 16:50:44 -!- conehead has joined. 16:52:45 phew, I thought I'd accidentally set the TTL for motd.nethack4.org to 10 months 16:52:48 turns out it was 10 minutes 16:59:45 -!- mroman2 has joined. 16:59:54 interesting stuff going on 16:59:57 !blsq_uptime 16:59:57 2d 9h 49m 35s 17:00:02 ok 17:00:05 now 17:00:35 How can I get blsqbot to tell me his IP address 17:00:50 `run nslookup mroman.ch 17:00:51 bash: nslookup: command not found 17:01:05 dns is b0rken right now 17:02:33 ais523, hey, what's the deal with this nethack update business 17:02:55 Phantom_Hoover: some source code that wasn't intended to be public got leaked 17:05:42 Over the years I have found the following methods of logging out. None of them is guaranteed to work 17:05:48 * ais523 is trying to get a module onto CPAN 17:06:02 also, they threatened to spend up to a week to approve my account, three during holidays 17:06:14 but that only took like 10-20 minutes 17:07:59 ah 17:08:36 I'm back 17:08:45 -!- mroman2 has quit (Quit: Page closed). 17:09:32 "The new data are registered in table users." 17:09:43 had to read that a few times before I realised it was correct grammar 17:11:50 so incidentally 17:11:58 how long has this bash bug been around? 17:12:08 i saw some suggestions that it's been there since essentially the beginning 17:12:52 No action is required, but it would be a good idea if somebody would check the correctness of the new password. 17:13:02 this is the most awesome package manager ever 17:13:32 What package manager is that? 17:13:45 PAUSE is the backend to CPAN 17:14:01 I guess having a different name for the frontend and backend is also something unique to PAUSE/CPAN 17:14:15 dpkg/apt 17:16:13 Gregor: no, that's a little different 17:16:17 it's more like Debian/apt 17:16:25 but not exactly 17:16:36 basically, PAUSE is where you upload the packages, CPAN does the downloading 17:27:08 Do you know, people on NESdev argue about assigning a mapper number for Game Genie; I have also requested numbers for UNL-DripGame and other things too and it hasn't been done yet. Do you have any opinions about this too though? 17:30:34 These are the messages: http://forums.nesdev.com/viewtopic.php?f=3&t=11659 Maybe someone other than the people on NESdev would be possible to comment on it somehow 17:31:14 Phantom_Hoover: I saw somewhere the figure of 25 years. 17:31:27 yes, that would be essentially the beginning 17:39:39 lol, unicode has a ∰ character 17:41:01 ais523: nethack devteam code? 17:41:19 elliott_: yes 17:41:27 ais523: any links to details 17:41:35 this sounds exciting 17:41:44 front page of nethack.org has a statement about it, although not the code itself 17:41:58 I know where to find the code, but don't really want to spread links to it around, on the basis that the devteam didn't want it released 17:42:04 it's mostly bugfixes, though 17:42:10 and bug introductions 17:42:11 you think the devteam want you calling your release nethack 4? 17:42:41 also, who would leak nethack source, of all things? it's been 11 years 17:42:47 elliott_: they're aware of the name, and haven't objected 17:43:08 elliott_, changelog here: http://pastebin.com/raw.php?i=djZ5X2Hz 17:43:21 Phantom_Hoover: well, okay, but where was it leaked? usenet? 17:44:18 that's all i have, i'm afraid 17:45:23 "We know who made it available to the public. What we don't know is where exactly he got his copy; although the list of people who could have given it to him is fairly short." nethack secrets... 17:47:11 -!- newsham has joined. 17:47:45 hmm, so I guess the dev who leaked it is probably no longer on the devteam 17:48:16 Do you know when it is supposed to be released? 17:48:26 zzo38: there isn't an official release date, there never is 17:48:33 they have a policy of never officially setting a release date 17:48:37 -!- Phantom_Hoover has quit (Ping timeout: 245 seconds). 17:48:45 they also have a policy of never officially releasing 17:54:34 -!- zemhill has quit (Remote host closed the connection). 17:54:59 -!- zemhill has joined. 17:55:49 -!- shikhout has joined. 17:56:17 !bftest this_will_not_modify_hill < 17:56:26 Whoops, I forgot to modify the config file again. 17:56:28 Every time same thing. 17:56:50 -!- zemhill has quit (Remote host closed the connection). 17:57:14 -!- zemhill has joined. 17:57:17 !bftest this_will_not_modify_hill < 17:57:17 fizzie: I broke down! Ask fizzie to help! The details are in the log! 17:57:18 -!- zemhill has quit (Client Quit). 17:57:19 ... 17:57:28 It worked when I tried it locally, honest. 17:57:50 i must say, it's nice that it tells you it's breaking isntead of just quitting 17:58:09 That's mostly so that (because my nick is in the message) I'll notice something bad has happened. 17:58:27 It could put something in the quit message. 17:58:47 It does, but for some reason it doesn't show up. 17:58:56 -!- shikhin has quit (Ping timeout: 250 seconds). 17:59:13 It tries to quit with "Abandon ship, abandon ship!" as the message. 17:59:37 Seems to have crashed in write_breakdown. 17:59:47 fizzie: possibly a race condition; are you waiting for the ERROR response before actually closing the connection? 18:00:18 That's up to the bot framework, really. 18:00:28 Perhaps it doesn't. 18:00:52 There is something wrong with the speakers in my computer; sometimes it just makes a lot of noise 18:01:11 isn't making a lot of noise what speakers are /supposed/ to do? 18:01:30 controlled noise. 18:02:01 I mean it makes noise without being commanded by the computer; it is just a lot of cracks and pops and stuff 18:02:13 hey ais523 18:02:28 hi 18:02:40 didn't you once write a warrior that tried to figure out an optimal offset? 18:02:57 yes, decoytuner, but it was awful 18:03:13 how did you go about it 18:03:24 basically assuming all the opposing decoys were the same size 18:03:32 ah 18:03:34 and measuring the first large one 18:03:42 that would work a lot better on the current hill i think :P 18:03:51 there was a second attempt, told, that I never submitted 18:03:52 -!- zemhill has joined. 18:03:55 !bftest this_will_not_modify_hill < 18:03:55 fizzie.this_will_not_modify_hill: points -46.00, score 0.00, rank 47/47 18:04:03 which tried to estimate the size of the decoys via the number of cycles before the opponent started attacking 18:04:08 I couldn't get it to work at all 18:04:10 Feel free to keep using it "normally" too, but if you don't want all parameter tunings end up on the hill, the !bftest command is also an option; you can then !bfjoust when you're happy with it. (Also if you !bftest in a query, it won't post the result on #esoteric.) 18:04:11 fizzie: oh neat 18:05:15 Inspired by few hundred overnight commits that, while in theory part of the Historical Record, are perhaps not all *that* useful for future BF Joust historians. 18:05:19 ais523: did you ever try to measure the first large decoy, use that offset until it didn't work, assume the offset should be larger and measure again? 18:05:20 -!- shikhout has changed nick to shikhin. 18:05:36 -!- ais523 has quit (Read error: Connection reset by peer). 18:05:39 -!- callforjudgement has joined. 18:05:53 are you nomicking too 18:06:02 quintopia: was that directed at me? 18:06:09 yes 18:06:20 sometimes i get the idea that's the main reason you irc 18:07:09 I do play nomic, but I don't IRC for nomic purposes; ##nomic is almost dead nowadays 18:07:12 -!- callforjudgement has changed nick to ais523. 18:07:30 not that I wouldn't join in a conversation there if one happened 18:07:38 but nomic is a very small consideration for me when choosing whether to join IRC 18:07:45 most of my IRCing is NetHack-related atm 18:07:51 although I just spent a while in #perl talking about my memory profiler 18:12:28 !bfjoust lilfuckabish (>+.+)*9([-]>)*3(<)*3(<)*9(>(+)*20>(-)*20)*4(>)*4(>[(+)*6[-].])*-1 18:12:28 mroman_.lilfuckabish: points -9.90, score 13.92, rank 46/47 18:13:10 !bfjoust lilfuckabish (>+.+)*9([-]>)*3(<)*3(<)*9(>(+)*20>(-)*20)*4(>)*3(>[(+)*6[-].])*-1 18:13:11 mroman_.lilfuckabish: points -12.00, score 12.72, rank 47/47 (-1) 18:13:14 !bfjoust lilfuckabish (>+.+)*9([-]>)*3(<)*3(<)*9(>(+)*20>(-)*20)*4(>)*5(>[(+)*6[-].])*-1 18:13:15 mroman_.lilfuckabish: points -9.17, score 14.32, rank 45/47 (+2) 18:15:29 ais523: did you ever try to measure the first large decoy, use that offset until it didn't work, assume the offset should be larger and measure again? 18:15:44 quintopia: no, especially because that program would be very large 18:15:59 also, something to note: if a decoy is 86 or larger, you don't gain at all even from a correct offset 18:16:06 assuming that you can't also predict the parity 18:16:16 (you shouldn't be able to predict the parity against a well-written program) 18:16:36 i'd think if you could measure decoys, you could just say "switch to reverse offset clear" at that point 18:16:43 and polarity wouldn't matter 18:17:16 is there no compact way to measure decoys under the assumption that they always increase in size? 18:17:20 quintopia: actually, something I've been thinking about a lot recently 18:17:23 *do not decrease 18:17:34 is that once you find a large decoy, there's normally nothing but large decoys from there 18:17:41 and if they're large enough, reverse offset clear is fastest 18:17:52 so long as the offset's less than the size of the deocy 18:17:55 *decoy 18:18:23 yeah this would be the sane way to handle something like preparation too. there's no way to avoid chewing through lots of decoys there, so might as well be the fastest at it 18:18:51 also i think you should submit preparation to the stackoverflow hill just for funsies 18:19:15 quintopia: monolith was born when I realised you could beat preparation just by setting more than 7 decoys and having an equally good clear loop 18:19:22 and I don't have a stackoverflow account 18:19:37 i think i might... 18:19:59 submit space_hotel (although, might want to screw with it to beat nyuroki first) 18:20:27 well that's why we're discussing offset tuning :P 18:20:54 actually, i don't really want to submit space_hotel 18:21:01 it's time to try new things 18:23:22 I did try adding a /small/ reverse offset clear (as in, (+)*5[+]) to one of my programs after the early timer had expired 18:23:25 but it did terribly 18:23:36 I think because there are still several programs that don't decoy all the way to their flag 18:26:53 -!- ais523 has quit. 18:27:09 -!- ais523 has joined. 18:27:44 hmm 18:30:01 isn't the SO hill ridiculously buggy? 18:30:03 -!- SvenGek has joined. 18:30:03 or did Lymia fix the bus 18:30:04 bugs 18:31:09 it didn't accept ()% last I looked, not sure if it does now 18:31:33 i'm not sure if there is a way for space_hotel to beat nyuroki. 18:32:42 -!- sebbu has quit (Ping timeout: 245 seconds). 18:34:16 the only thing i can think of is adjust the polarity of decoys 18:34:33 which would take a lot of work since space_hotel has no script to generate it 18:35:12 but having the last two decoys go in opposite directions might improve things slightly 18:36:51 also maybe using your idea of having the offset be smaller depending on when the enemy is first seen on my side and how far away they were first seen on their side 18:40:14 there are some tape lengths where nyuroki wins by leaving a trail that happens to be the same as space_hotel's tripwire 19:01:17 !bfjoust lilfuckabish (>+.+)*9([-]>)*3(<)*3(<)*9(>(+)*30>(-)*30)*4(>)*5(>[(+)*6[-].])*-1 19:01:17 mroman_.lilfuckabish: points -11.62, score 12.57, rank 47/47 (-2) 19:01:26 !bfjoust lilfuckabish (>+.+)*9([-]>)*3(<)*3(<)*9(>(+)*20>(-)*20)*4(>)*5(>[(+)*6[-].])*-1 19:01:26 mroman_.lilfuckabish: points -9.17, score 14.32, rank 45/47 (+2) 19:01:35 !bfjoust lilfuckabish (>++)*9([-]>)*3(<)*3(<)*9(>(+)*20>(-)*20)*4(>)*5(>[(+)*6[-].])*-1 19:01:35 mroman_.lilfuckabish: points -5.76, score 16.70, rank 33/47 (+12) 19:01:44 !bfjoust lilfuckabish (>+)*9([-]>)*3(<)*3(<)*9(>(+)*20>(-)*20)*4(>)*5(>[(+)*6[-].])*-1 19:01:45 mroman_.lilfuckabish: points -4.02, score 17.96, rank 26/47 (+7) 19:01:58 !bfjoust lilfuckabish (>)*9([-]>)*3(<)*3(<)*9(>(+)*20>(-)*20)*4(>)*5(>[(+)*6[-].])*-1 19:01:58 mroman_.lilfuckabish: points -2.05, score 19.77, rank 21/47 (+5) 19:02:26 interesting 19:02:41 !bfjoust lilfuckabish (>)*9(>(+)*20>(-)*20)*4(>)*5(>[(+)*6[-].])*-1 19:02:41 mroman_.lilfuckabish: points -22.74, score 6.96, rank 47/47 (-26) 19:02:44 !bfjoust lilfuckabish (>)*9([-]>)*3(<)*3(<)*9(>(+)*20>(-)*20)*4(>)*5(>[(+)*6[-].])*-1 19:02:44 mroman_.lilfuckabish: points -2.05, score 19.77, rank 21/47 (+26) 19:04:18 !bfjoust lilfuckabish (>)*9([-]>)*3(<-)*3(<)*9(>(+)*20>(-)*20)*4(>)*5(>[(+)*6[-].])*-1 19:04:19 mroman_.lilfuckabish: points 1.52, score 23.07, rank 11/47 (+10) 19:04:26 !bfjoust lilfuckabish (>)*9([-]>)*3(<---)*3(<)*9(>(+)*20>(-)*20)*4(>)*5(>[(+)*6[-].])*-1 19:04:27 mroman_.lilfuckabish: points 1.12, score 22.48, rank 15/47 (-4) 19:04:31 !bfjoust lilfuckabish (>)*9([-]>)*3(<--)*3(<)*9(>(+)*20>(-)*20)*4(>)*5(>[(+)*6[-].])*-1 19:04:32 mroman_.lilfuckabish: points 1.83, score 23.30, rank 11/47 (+4) 19:04:44 !bfjoust lilfuckabish (>)*9([-]>)*3(<--)*3(<-)*9(>(+)*20>(-)*20)*4(>)*5(>[(+)*6[-].])*-1 19:04:44 mroman_.lilfuckabish: points 2.40, score 23.89, rank 10/47 (+1) 19:04:52 !bfjoust lilfuckabish (>)*9([-]>)*3(<--)*3(<--)*9(>(+)*20>(-)*20)*4(>)*5(>[(+)*6[-].])*-1 19:04:52 mroman_.lilfuckabish: points 1.67, score 23.01, rank 11/47 (-1) 19:05:00 !bfjoust lilfuckabish (>)*9([-]>)*3(<--)*3(<-)*9(>(+)*20>(-)*20)*4(>)*5(>[(+)*6[-].])*-1 19:05:00 mroman_.lilfuckabish: points 2.40, score 23.89, rank 10/47 (+1) 19:08:22 beats growth and nyuroki 19:08:27 I'm quite happy with that 19:10:43 -!- callforjudgement has joined. 19:11:04 -!- ais523 has quit (Disconnected by services). 19:11:06 -!- callforjudgement has changed nick to ais523. 19:15:07 mroman_: In case you didn't notice, I added a !bftest command that you can use if you want to 'quietly' do parameter tuning before submitting. (If you noticed but just want to do it the old-fashioned way, that's perfectly fine.) 19:17:45 -!- TieSoul_ has joined. 19:18:56 -!- TieSoul_ has quit (Remote host closed the connection). 19:18:58 also, you could pick a better program name than lilfuckabish 19:19:02 -!- TieSoul has quit (Ping timeout: 245 seconds). 19:19:26 -!- TieSoul has joined. 19:34:25 -!- Sorella has quit (Ping timeout: 260 seconds). 19:36:42 -!- Sorella has joined. 19:37:31 -!- Sorella has quit (Changing host). 19:37:31 -!- Sorella has joined. 19:38:55 ais523: does the leaked NH have that one feature that was known to appear in the next version? 19:39:09 I would be very surprised if it didn't 19:39:11 do you want me to check? 19:39:34 yes, just because that'd be hilarious 19:39:48 finally we can experience the first nethack feature in 11 years 19:40:09 yes, it does 19:40:19 however, at least one of the variants already implemented it before the leak 19:40:24 purely based on the fact it was known to exist 19:40:33 but does it behave identically?? 19:40:51 who knows; I'm not going to check that 19:41:00 as it'd require actually understanding the code in both ases 19:43:21 you should only have code in one ass at a time. 19:43:44 *cases 19:50:58 -!- Bicyclidine has joined. 19:51:54 If you copy code to multiple asses, do you have a posterior distribution 19:52:12 !bfjoust lilfuckabish (>)*9([-]>)*3(<--)*3(<-)*9(>(+)*20>(-)*20)*4(>)*5(>[(+)*8[-].])*-1 19:52:12 mroman_.lilfuckabish: points 4.05, score 25.47, rank 9/47 (+1) 19:52:15 !bfjoust lilfuckabish (>)*9([-]>)*3(<--)*3(<-)*9(>(+)*20>(-)*20)*4(>)*5(>[(+)*9[-].])*-1 19:52:16 mroman_.lilfuckabish: points 3.12, score 24.56, rank 9/47 (--) 19:52:20 !bfjoust lilfuckabish (>)*9([-]>)*3(<--)*3(<-)*9(>(+)*20>(-)*20)*4(>)*5(>[(+)*8[-].])*-1 19:52:21 mroman_.lilfuckabish: points 4.05, score 25.47, rank 9/47 (--) 19:52:24 !bfjoust lilfuckabish (>)*9([-]>)*3(<--)*3(<-)*9(>(+)*20>(-)*20)*4(>)*5(>[(+)*8[-]])*-1 19:52:24 mroman_.lilfuckabish: points 4.02, score 25.40, rank 9/47 (--) 19:52:28 !bfjoust lilfuckabish (>)*9([-]>)*3(<--)*3(<-)*9(>(+)*20>(-)*20)*4(>)*5(>[(+)*8[-].])*-1 19:52:29 mroman_.lilfuckabish: points 4.05, score 25.47, rank 9/47 (--) 19:57:08 this is actually pretty good 19:57:20 you rush forward and perform a clear of some cells 19:57:25 works good on short tapes 19:57:29 -!- InputUsername has joined. 19:57:35 in case the tape is longer you go back into a decoy setup 19:57:44 followed by another whole-tape-offset-clear 19:59:38 how is furry_furry_strapon_pegging_girls still alive and kicking years later? 19:59:45 it's a good program 20:00:00 it's one of the longest-living ones on the hill now, surely? 20:00:13 * Bicyclidine salutes 20:00:43 elliott_: allegro/pendolino have been there for ages 20:01:28 I don't wanna know what he encoded in b64 there 20:01:48 the generator program 20:02:59 -!- InputUsername has left. 20:03:49 ais523: The trains are now gone, actually. 20:03:58 BeatYouMate lost a lot 20:04:03 I thought it was <20 once 20:05:00 how can you submit via StackOverflow? 20:05:17 ais523: pendolino was displaced by this "lilfuckabish", and allegro by a Lymia.yolo yesterday morning. 20:05:38 fizzie: well they were there for ages :-) 20:05:59 what about leviathan/juggernaught? 20:06:03 -!- idris-bot has quit (Ping timeout: 246 seconds). 20:06:15 -!- Melvar` has joined. 20:06:32 leviathan is on 22/47 20:06:43 dreadnought, leviathan and behemoth are still there. 20:06:50 Except I haven't remembered to fix their names. 20:06:56 -!- Melvar has quit (Disconnected by services). 20:06:59 -!- Melvar` has changed nick to Melvar. 20:08:30 !bfjoust lilfuckabish <. 20:08:30 mroman_.lilfuckabish: points -46.00, score 0.00, rank 47/47 (-38) 20:09:29 !bfjoust cupnoodles (>)*9([-]>)*3(<--)*3(<-)*9(>(+)*20>(-)*20)*4(>)*5(>[(+)*8[-].])*-1 20:09:30 mroman_.cupnoodles: points 4.05, score 25.47, rank 9/47 20:09:38 better name 20:12:22 -!- TieSoul has quit (Ping timeout: 245 seconds). 20:13:47 wait 20:13:52 isn't the tape at least 10? 20:13:53 so 20:13:57 -!- idris-bot has joined. 20:14:10 !bfjoust cupnoodles (>)*10([-]>)*3(<--)*3(<-)*10(>(+)*20>(-)*20)*4(>)*5(>[(+)*8[-].])*-1 20:14:11 mroman_.cupnoodles: points 2.05, score 23.17, rank 11/47 (-2) 20:14:16 !bfjoust cupnoodles (>)*10([-]>)*3(<--)*3(<-)*9(>(+)*20>(-)*20)*4(>)*5(>[(+)*8[-].])*-1 20:14:17 mroman_.cupnoodles: points 2.02, score 23.15, rank 11/47 (--) 20:14:21 !bfjoust cupnoodles (>)*9([-]>)*3(<--)*3(<-)*9(>(+)*20>(-)*20)*4(>)*5(>[(+)*8[-].])*-1 20:14:22 mroman_.cupnoodles: points 4.05, score 25.37, rank 9/47 (+2) 20:14:27 mroman_: you start on cell 0, and if the valid tape positions are [0,9) that's 10 cells 20:14:34 ah 20:14:35 right 20:14:41 (>)*9 increments it by 9, so you end up on cell 9, which is the tenth cell 20:14:45 !bfjoust cupnoodles (>)*9([-]>)*3(-<-)*3(<-)*9(>(+)*20>(-)*20)*4(>)*5(>[(+)*8[-].])*-1 20:14:46 mroman_.cupnoodles: points 4.60, score 25.91, rank 9/47 (--) 20:15:08 !bfjoust cupnoodles (>)*9([-]>)*3(--<)*3(<-)*9(>(+)*20>(-)*20)*4(>)*5(>[(+)*8[-].])*-1 20:15:08 mroman_.cupnoodles: points 3.74, score 25.04, rank 9/47 (--) 20:15:19 !bfjoust cupnoodles (>)*9([-]>)*3(-<-)*3(<-)*9(>(+)*20>(-)*20)*4(>)*5(>[(+)*8[-].])*-1 20:15:20 mroman_.cupnoodles: points 4.60, score 25.91, rank 9/47 (--) 20:16:15 !bfjoust cupnoodles (>)*9([-]>)*3(-<-)*3(<-)*9(>(+)*20>(-)*20)*4(>)*5(>[(+)*8[-].]>[(-)*8[+].])*-1 20:16:16 mroman_.cupnoodles: points 7.55, score 29.51, rank 8/47 (+1) 20:16:21 !bfjoust cupnoodles (>)*9([-]>)*3(-<-)*3(<-)*9(>(+)*20>(-)*20)*4(>)*5(>[(+)*8[-].]>[(-)*7[+].])*-1 20:16:21 mroman_.cupnoodles: points 7.26, score 29.11, rank 8/47 (--) 20:16:25 !bfjoust cupnoodles (>)*9([-]>)*3(-<-)*3(<-)*9(>(+)*20>(-)*20)*4(>)*5(>[(+)*8[-].]>[(-)*9[+].])*-1 20:16:25 mroman_.cupnoodles: points 7.33, score 29.23, rank 8/47 (--) 20:16:31 !bfjoust cupnoodles (>)*9([-]>)*3(-<-)*3(<-)*9(>(+)*20>(-)*20)*4(>)*5(>[(+)*8[-].]>[(-)*8[+].])*-1 20:16:31 mroman_.cupnoodles: points 7.55, score 29.51, rank 8/47 (--) 20:16:42 !bfjoust cupnoodles (>)*9([-]>)*3(-<-)*3(<-)*9(>(+)*20>(-)*20)*4(>)*5(>[(+)*8[-].]>[(-)*8[+]])*-1 20:16:43 mroman_.cupnoodles: points 7.38, score 29.20, rank 8/47 (--) 20:16:46 !bfjoust cupnoodles (>)*9([-]>)*3(-<-)*3(<-)*9(>(+)*20>(-)*20)*4(>)*5(>[(+)*8[-].]>[(-)*8[+].])*-1 20:16:46 mroman_.cupnoodles: points 7.55, score 29.51, rank 8/47 (--) 20:16:57 neat 20:18:22 fizzie: I'm impressed that zemhill can immediately report the results 20:19:09 corewars hill aren't that fast 20:19:25 although part of that might be mail delay 20:25:49 -!- TieSoul has joined. 20:26:04 -!- Phantom_Hoover has joined. 20:31:08 mroman_: Well, it only takes to the order of 360 million cycles to run the whole hill, let alone just a single program (which would on average be just 15M cycles, and probably the median is smaller than the mean thanks to ais523.margins and such). 20:31:32 everyone loves margins :-) 20:34:21 I like margins 20:36:29 -!- sebbu2 has joined. 20:36:55 maybe I should enter the generator business 20:37:30 I don't use generators for most of my programs 20:37:32 but I do for some 20:38:02 entering the top 5 is going to be hard 20:39:09 !bfjoust cupnoodles (>)*9([-].>)*3(-<-)*3(<-)*9(>(+)*20>(-)*20)*4(>)*5(>[(+)*8[-].]>[(-)*8[+].])*-1 20:39:09 mroman_.cupnoodles: points 6.60, score 28.20, rank 8/47 (--) 20:39:28 !bfjoust cupnoodles (>)*9([(+)*9[-]]>)*3(-<-)*3(<-)*9(>(+)*20>(-)*20)*4(>)*5(>[(+)*8[-].]>[(-)*8[+].])*-1 20:39:29 mroman_.cupnoodles: points 9.95, score 32.82, rank 6/47 (+2) 20:39:34 or is it 20:39:39 !bfjoust cupnoodles (>)*9([(+)*9[-].]>)*3(-<-)*3(<-)*9(>(+)*20>(-)*20)*4(>)*5(>[(+)*8[-].]>[(-)*8[+].])*-1 20:39:39 mroman_.cupnoodles: points 9.71, score 32.49, rank 6/47 (--) 20:39:48 !bfjoust cupnoodles (>)*9([(+)*10[-]]>)*3(-<-)*3(<-)*9(>(+)*20>(-)*20)*4(>)*5(>[(+)*8[-].]>[(-)*8[+].])*-1 20:39:49 mroman_.cupnoodles: points 9.76, score 32.54, rank 6/47 (--) 20:39:56 !bfjoust cupnoodles (>)*9([(+)*8[-]]>)*3(-<-)*3(<-)*9(>(+)*20>(-)*20)*4(>)*5(>[(+)*8[-].]>[(-)*8[+].])*-1 20:39:57 mroman_.cupnoodles: points 9.95, score 32.77, rank 6/47 (--) 20:40:05 !bfjoust cupnoodles (>)*9([(+)*9[-]]>)*3(-<-)*3(<-)*9(>(+)*20>(-)*20)*4(>)*5(>[(+)*8[-].]>[(-)*8[+].])*-1 20:40:05 mroman_.cupnoodles: points 9.95, score 32.82, rank 6/47 (--) 20:40:14 !bfjoust cupnoodles (>)*9([(+)*9[-]]>)*4(-<-)*4(<-)*9(>(+)*20>(-)*20)*4(>)*5(>[(+)*8[-].]>[(-)*8[+].])*-1 20:40:15 mroman_.cupnoodles: points 10.26, score 33.01, rank 6/47 (--) 20:40:25 !bfjoust cupnoodles (>)*9([(+)*9[-]]>)*5(-<-)*5(<-)*9(>(+)*20>(-)*20)*4(>)*5(>[(+)*8[-].]>[(-)*8[+].])*-1 20:40:25 mroman_.cupnoodles: points 7.31, score 28.99, rank 8/47 (-2) 20:40:34 -!- callforjudgement has joined. 20:40:34 !bfjoust cupnoodles (>)*9([(+)*9[-]]>)*4(-<-)*4(<-)*9(>(+)*20>(-)*20)*4(>)*5(>[(+)*8[-].]>[(-)*8[+].])*-1 20:40:35 mroman_.cupnoodles: points 10.26, score 33.01, rank 6/47 (+2) 20:40:38 -!- ais523 has quit (Disconnected by services). 20:40:40 -!- callforjudgement has changed nick to ais523. 20:41:07 !bfjoust cupnoodles (>)*9([(+)*9[-]]>[(-)*9[+]]>)24(-<-)*4(<-)*9(>(+)*20>(-)*20)*4(>)*5(>[(+)*8[-].]>[(-)*8[+].])*-1 20:41:07 mroman_.cupnoodles: points -44.10, score 0.38, rank 47/47 (-41) 20:41:09 -!- sebbu2 has quit (Ping timeout: 260 seconds). 20:41:11 !bfjoust loyalty (>)*8[<](>[(-[{[-.]}])%128]>[(+[{[+.]}])%128])*11 20:41:11 elliott_.loyalty: points -7.86, score 14.50, rank 44/47 20:41:17 !bfjoust cupnoodles (>)*9([(+)*9[-]]>[(-)*9[+]]>)*4(-<-)*4(<-)*9(>(+)*20>(-)*20)*4(>)*5(>[(+)*8[-].]>[(-)*8[+].])*-1 20:41:17 mroman_.cupnoodles: points 4.17, score 24.67, rank 9/47 20:41:22 !bfjoust loyalty (>)*8[<](>[(-[{[-.]}])%128]])*21 20:41:22 elliott_: error: parse error: terminating ] without a matching [ 20:41:25 !bfjoust loyalty (>)*8[<](>[(-[{[-.]}])%128])*21 20:41:25 !bfjoust cupnoodles (>)*9([(+)*9[-]]>)*4(-<-)*4(<-)*9(>(+)*20>(-)*20)*4(>)*5(>[(+)*8[-].]>[(-)*8[+].])*-1 20:41:25 elliott_.loyalty: points -13.48, score 11.43, rank 46/47 20:41:26 mroman_.cupnoodles: points 10.26, score 33.01, rank 6/47 20:41:30 it could be worse 20:41:55 !bfjoust cupnoodles (>)*9([(+)*9[-]]>)*4(-<-)*4(<-<+)*4<-(>(+)*20>(-)*20)*4(>)*5(>[(+)*8[-].]>[(-)*8[+].])*-1 20:41:55 mroman_.cupnoodles: points 10.81, score 33.77, rank 6/47 (--) 20:42:03 !bfjoust cupnoodles (>)*9([(+)*9[-]]>)*4(-<-)*4(<-<-+)*4<-(>(+)*20>(-)*20)*4(>)*5(>[(+)*8[-].]>[(-)*8[+].])*-1 20:42:03 mroman_.cupnoodles: points 9.57, score 32.00, rank 6/47 (--) 20:42:23 !bfjoust cupnoodles (>)*9([(+)*9[-]]>)*4(-<-)*4(<-<--)*4<-(>(+)*20>(-)*20)*4(>)*5(>[(+)*8[-].]>[(-)*8[+].])*-1 20:42:24 mroman_.cupnoodles: points 9.90, score 32.49, rank 6/47 (--) 20:42:46 !bfjoust cupnoodles (>)*9([(+)*9[-]]>)*4(-<-)*4(<-<+)*4<-(>(+)*20>(-)*20)*4(>)*5(>[(+)*8[-].]>[(-)*8[+].])*-1 20:42:46 mroman_.cupnoodles: points 10.81, score 33.77, rank 6/47 (--) 20:42:50 k 20:42:51 -!- sebbu has joined. 20:43:02 !bfjoust cupnoodles (>)*9([(+)*9[-]]>)*4(-<-)*4(<-<+)*4<-(>(+)*20>(-)*20)*4(>)*5(>[(+)*9[-].]>[(-)*9[+].])*-1 20:43:03 mroman_.cupnoodles: points 10.62, score 33.48, rank 6/47 (--) 20:43:14 !bfjoust cupnoodles (>)*9([(+)*9[-]]>)*4(-<-)*4(<-<+)*4<-(>(+)*22>(-)*22)*4(>)*5(>[(+)*8[-].]>[(-)*8[+].])*-1 20:43:14 mroman_.cupnoodles: points 10.55, score 33.52, rank 6/47 (--) 20:43:15 How do function declarations (rather than definitions) work in K&R C? 20:43:25 !bfjoust cupnoodles (>)*9([(+)*9[-]]>)*4(-<-)*4(<-<+)*4<-(>(+)*15>(-)*15)*4(>)*5(>[(+)*8[-].]>[(-)*8[+].])*-1 20:43:26 mroman_.cupnoodles: points 9.19, score 31.87, rank 6/47 (--) 20:43:36 !bfjoust cupnoodles (>)*9([(+)*9[-]]>)*4(-<-)*4(<-<+)*4<-(>(+)*20>(-)*20)*4(>)*5(>[(+)*8[-].]>[(-)*8[+].])*-1 20:43:36 mroman_.cupnoodles: points 10.81, score 33.77, rank 6/47 (--) 20:43:40 comeon 20:43:43 i want rank 5 20:43:49 has anyone written a generator for that god-awful never execute a ] style? 20:44:04 !bfjoust cupnoodles (>)*9([(+)*9[-]]>)*4(-<-)*4(<-<+)*4<----(>(+)*20>(-)*20)*4(>)*5(>[(+)*8[-].]>[(-)*8[+].])*-1 20:44:04 mroman_.cupnoodles: points 10.69, score 33.66, rank 6/47 (--) 20:44:06 Oh, it's botspam o'clock again. 20:44:11 !bfjoust cupnoodles (>)*9([(+)*9[-]]>)*4(-<-)*4(<-<+)*4<-(>(+)*20>(-)*20)*4(>)*5(>[(+)*8[-].]>[(-)*8[+].])*-1 20:44:11 mroman_.cupnoodles: points 10.81, score 33.77, rank 6/47 (--) 20:44:16 I'm gonna stop now 20:44:20 until I have some other idea 20:45:02 elliott_: you mean [>[>[>]]] stuff? 20:45:22 like mroman_.funky? 20:45:33 bf joust is a lot more on-topic than telling people what haskell mailing lists to use 20:46:00 or telling people what articles they should correct on wikipedia 20:47:01 -!- sebbu has quit (Ping timeout: 244 seconds). 20:47:23 it's completely ontopic 20:47:37 I didn't say anything about the topic. 20:47:39 one of the few times the deployment has happened /right here in this channel/, and it inspires discussion, too 20:47:55 in case it's not clear, I'm telling you to shut up about what people use the channel for before I get annoyed enough to kick you. 20:48:18 You'll probably kick me anyway. 20:48:29 I don't expect anything less than nastiness from you at this point. I don't really know what I've done (though I have a couple of guesses) but I don't think paying attention to what you say to me will be useful. 20:48:39 I agree that telling people what to use the channel for isn't great. 20:48:51 I also agree that telling people to fix things on Wikipedia, or whatever, isn't great. 20:48:55 actually I'm just annoyed at your behaviour in the channel lately. 20:49:27 fwiw, my extended absences from the channel are normally caused by offtopic discussion I dislike 20:49:32 For the past ~year? 20:49:34 (this is the most common reason for me to leave /any/ IRC channel) 20:49:49 That is a reasonable reason to leave. 20:49:52 -!- FreeFull has joined. 20:50:50 (That wasn't a rhetorical question: I'm asking to confirm the general time interval when the annoyed-by-shachaf bit flipped in your head. Because it was fairly noticeable.) 20:52:49 -!- vyv has quit (Ping timeout: 272 seconds). 20:52:59 ok, I signed up for asking you to stop doing what you're doing, not grill me about your weird personal assumptions, so whatever 20:53:38 -!- vyv has joined. 20:54:17 !bfjoust rabbit ([>[-]]..+)*-1 20:54:19 Well, like I said, I don't expect much anyway. 20:54:36 !bfjoust rabbit ([>[-]]..+)*-1 20:54:36 mroman_.rabbit: points -30.95, score 4.50, rank 47/47 (--) 20:54:43 !bfjoust rabbit (>)*9([>[-]]..+)*-1 20:54:43 mroman_.rabbit: points -24.19, score 6.60, rank 47/47 (--) 20:54:46 !bfjoust rabbit (>-)*9([>[-]]..+)*-1 20:54:47 mroman_.rabbit: points -23.88, score 6.69, rank 47/47 (--) 20:54:53 !bfjoust rabbit (>->+)*4([>[-]]..+)*-1 20:54:53 mroman_.rabbit: points -23.45, score 6.82, rank 47/47 (--) 20:55:01 !bfjoust rabbit (>(-)*10>(+)*10)*4([>[-]]..+)*-1 20:55:02 mroman_.rabbit: points -13.90, score 11.15, rank 47/47 (--) 20:55:09 !bfjoust rabbit (>(-)*20>(+)*20)*4([>[-]]..+)*-1 20:55:09 mroman_.rabbit: points -14.48, score 11.43, rank 47/47 (--) 20:55:16 !bfjoust rabbit (>(-)*32>(+)*32)*4([>[-]]..+)*-1 20:55:16 mroman_.rabbit: points -15.00, score 11.03, rank 47/47 (--) 20:55:22 "trying to get a few words in before you're kicked" isn't a great way to formulate cohesive thoughts anyway. 20:55:25 !bfjoust rabbit (>(-)*32>(+)*32)*2>>>>([>[-]]..+)*-1 20:55:25 mroman_.rabbit: points -18.60, score 8.94, rank 47/47 (--) 20:55:32 !bfjoust rabbit (>(-)*10>(+)*10)*4([>[-]]..+)*-1 20:55:32 -!- zemhill has quit (Remote host closed the connection). 20:57:01 uh, is it not auto-restarting or is it just slow? 20:57:20 it doesn't autorestart 20:57:40 fizzie: zemhill just crashed again; suspiciously similar circumstances to the matrix segfault we had earlier 20:57:58 fizzie put an autorestart on it when it was being really crashy, I think? 20:59:09 It's supposed to autorestart. 20:59:21 Huh. 20:59:28 too many programs: 48 > 47 (RuntimeError) 20:59:48 There indeed are 48. 20:59:52 Now how'd that happen. 21:00:58 race condition? 21:01:10 "But I put in a mutex!" 21:01:57 I assume some logic broke and did not 'git rm' a file when it should have. 21:02:44 Though I don't know where. Latest non-update is 971e3e0 Replacing StackOverflow.Sylwester_TerribleThorV2 by mroman_.rabbit and that properly deletes StackOverflow.Sylwester_TerribleThorV2. 21:02:46 -!- Bicyclidine has quit (Ping timeout: 272 seconds). 21:04:12 Okay, yes, I guess it must be a race thing, although I don't know how. 21:05:12 There's a commit that replaced mroman_.cupnoodles with elliott_.loyalty, and then right after that an edit to mroman_.cupnoodles that just created a new file. 21:07:07 -!- callforjudgement has joined. 21:07:17 -!- ais523 has quit (Disconnected by services). 21:07:19 -!- callforjudgement has changed nick to ais523. 21:08:23 fizzie: how are nested ()%s interpreted again? 21:08:40 e.g. (a(b{c{d}e}f)%mg)%n 21:09:34 -!- zemhill_ has joined. 21:09:51 elliott_: outermost % matches innermost {} 21:09:57 "abbbc abbbc abbbc d ..." and so on. Or if you mean the actual implementation, uglily. 21:09:58 however, I'm not sure all (any?) interps implement taht 21:11:42 ais523: Lymia was bugging me about not allowing e.g. (a(b{c(d{e{f}})*%1})%2)%3 so that the very innermost { would bind with the outermost ( because the middle level is "already filled". 21:11:59 fizzie: oh, there's another annoying interp bug you have 21:12:05 you treat () with nothing after them as a comment 21:12:16 which is annoyingly permissive, because such programs crash /my/ interp 21:12:20 and now I'm not sure which should change 21:12:29 (i.e. (+-+) is equivalent to (+-+)*0) 21:12:41 -!- Bicyclidine has joined. 21:12:45 Yes, I know. I think that was intentional, but I don't remember the rationale. 21:13:04 there's such a dubious comment in space_elevator 21:13:10 I actually have a local patch to remove the parens 21:13:18 annoyingly, the comment in question is "(thanks ais523)" 21:13:30 () working as a comment is kind of aesthetically pleasing. 21:13:35 !bfjoust rabbit (>)*9([(+)*9[-]]>)*4(-<-)*4(<-<+)*4<-(>(+)*10>(-)*10)*4(>)*5([>[(+)*9[-]]]..+)*-1 21:13:35 mroman_.rabbit: points 5.40, score 26.47, rank 10/47 (+37) 21:13:42 !bfjoust rabbit <. 21:13:42 mroman_.rabbit: points -46.00, score 0.00, rank 47/47 (-37) 21:13:51 I wonder how I should poke that thing to make it notice the _ is unnecessary now. 21:14:16 Oh well, it'll segfault in the matrix lib sooner or later anyway. 21:14:29 this is an encouraging method of development :-) 21:14:58 actually, the reason I haven't set up my IRC bot for nethack4 yet is an argument over whether it should run all the time, or only when it has something to say 21:15:02 (also, I haven't written it yet) 21:15:23 really, I'd like the bot to join whenever it has something to say and it isn't already there, and stay the rest of the time 21:15:37 !bfjoust ([>[(+)*9[-]]]..+)*-1 21:15:38 mroman_: "!bfjoust progname code". See http://zem.fi/bfjoust/ for documentation. 21:15:42 !bfjoust rabbit ([>[(+)*9[-]]]..+)*-1 21:15:43 mroman_.rabbit: points -31.55, score 4.29, rank 47/47 (--) 21:16:12 One of the authors of the library mentioned about possibly helping me to track down that bug. 21:16:14 !bfjoust rabbit (>(-)*13>(+)*9)*4([>[(+)*9[-]]]..+)*-1 21:16:15 mroman_.rabbit: points -4.52, score 17.03, rank 31/47 (+16) 21:16:56 Also, I just switched that thing to a refactored version where there's an explicit queue of tasks (and a single thread communicating with gearlanced), hopefully that'll eliminate the races. 21:17:03 !bfjoust rabbit (>(-)*13>(+)*9)*4([>[(+)*9[-]]].+)*-1 21:17:03 mroman_.rabbit: points -3.07, score 18.27, rank 25/47 (+6) 21:17:09 !bfjoust rabbit (>(-)*13>(+)*9)*4([>[(+)*9[-]]]+)*-1 21:17:09 mroman_.rabbit: points -2.05, score 19.02, rank 23/47 (+2) 21:17:23 ais523: set -n on the channel and have it /msg without joining 21:17:29 I thought ]]] should be enough for wait until opponent dies 21:17:46 elliott_: huh, that's not an awful idea 21:17:52 is there a "-n exemption" mode? 21:17:57 spambots tend to really like non--n channels 21:18:01 err, non-+n 21:18:03 do they? 21:18:08 on other networks, maybe, but freenode? 21:19:08 !bfjoust rabbit <. 21:19:08 mroman_.rabbit: points -46.00, score 0.00, rank 47/47 (-24) 21:19:14 I don't want to much bots on the hill 21:19:20 It would arguably make some amount of sense if +I worked as a "can message freely" exemption, but it doesn't. 21:19:30 I guess that's not fair to have too many bots on the hill 21:19:54 -!- ChanServ has set channel mode: +o ais523. 21:19:58 -!- ais523 has set channel mode: +C. 21:20:00 -!- ais523 has set channel mode: -o ais523. 21:20:15 just realised there's a readymade solution to people running +. by mistake 21:20:28 how do I survey #esoteric client usage now? 21:20:38 ^bf +[.+] 21:20:58 RAW >>> :kornbluth.freenode.net 404 fungot #esoteric :Cannot send to channel <<< 21:20:58 fizzie: the effect of the monstrous sight was indescribable, for some peculiar atmospheric tensity made me feel that the tomb was very comfortable, and more than this, but i did not like the guidance of one long practised in these explorations, and possessed of a kind of reputation for feats of strength and closed in again. this time the second week charles began to be manifest, and i must cast off these impressions of weaker m 21:21:02 -!- ChanServ has set channel mode: +o elliott_. 21:21:04 -!- elliott_ has set channel mode: -n. 21:21:04 -!- ChanServ has set channel mode: +n. 21:21:09 let's see how much spam it actually causes -- oh come on 21:21:19 -!- AnotherTest has quit (Ping timeout: 272 seconds). 21:21:23 bleh, there's no such thing as a +n exemption 21:21:28 -!- elliott_ has set channel mode: -o elliott_. 21:21:48 -!- ChanServ has set channel mode: +o elliott_. 21:21:54 -!- elliott_ has set channel mode: -n. 21:22:05 -!- elliott_ has set channel mode: -o elliott_. 21:22:15 I'll give it 24 hours (I'm actually curious as to whether spambots even notice) 21:22:19 we're -n, -s now 21:22:20 !bfjoust skip (+[]+-)*-1 21:22:20 mroman_.skip: points -29.19, score 4.34, rank 47/47 21:22:28 so if anyone wanted to spam, we'd be a prime target 21:22:41 hmm, I wonder if any of the honeypot channels are -n -s 21:22:42 ais523: well, I'll set +n again before going to sleep, then 21:22:42 We use -n in #haskell-lens and have never had spam. 21:22:54 shachaf: is it -s or +s? 21:22:59 ais523: lots of continuous integration/git commit bots rely on -n 21:23:04 -s 21:23:04 including I think github's built-in support 21:23:06 -s, it seems 21:23:12 so I'd be surprised if you actually get spam, especially on a network as boring as freenode 21:23:14 being -n means I can check its /mode remotely :-) 21:23:32 elliott_: it's the largest network, isn't it? 21:23:41 that'd make it the best target for spam 21:23:56 ais523: it's the network least like efnet 21:24:01 now I'm wondering what +m -n does 21:24:26 I don't think it allows external messages even with -n if it's moderated. 21:24:42 What if you are +V in chanserv? 21:24:53 (Almost certainly still not.) 21:26:23 I haven't seen the $j ban yet in use, but I was wondering if it's going to lead to channels whose only purpose is to serve as a "blacklist" for other channels. 21:26:39 Also whether it allows you to go past the ban limit by making supplementary ban channels. 21:27:45 clearly you need a modified $j that bans people who are ops in specific channels, for channels that hate each other 21:36:00 -!- TieSoul_ has joined. 21:36:57 -!- TieSoul has quit (Ping timeout: 245 seconds). 21:39:30 -!- Sorella has quit (Ping timeout: 250 seconds). 21:44:34 -!- ais523 has quit (Remote host closed the connection). 21:44:44 -!- ais523 has joined. 21:45:20 -!- Patashu has joined. 21:48:55 -!- ais523 has quit (Read error: Connection reset by peer). 21:49:00 -!- callforjudgement has joined. 21:49:08 -!- callforjudgement has changed nick to ais523. 21:51:57 -!- GeekDude has joined. 22:04:00 -!- Bicyclidine has quit (Ping timeout: 272 seconds). 22:08:27 -!- Sorella has joined. 22:09:24 -!- Sorella has quit (Changing host). 22:09:25 -!- Sorella has joined. 22:22:35 -!- callforjudgement has joined. 22:22:50 -!- ais523 has quit. 22:27:28 [wiki] [[Fishstacks]] http://esolangs.org/w/index.php?diff=40543&oldid=39829 * 67.78.57.11 * (+8) 22:39:52 -!- oerjan has joined. 22:40:55 @messages-foul 22:40:55 fizzie said 10h 55m 34s ago: That sounds like a HASSLE. (But in theory, sure.) 23:16:56 -!- Bicyclidine has joined. 23:19:09 -!- Melvar` has joined. 23:19:42 -!- idris-bot has quit (Ping timeout: 258 seconds). 23:20:51 -!- Melvar has quit (Ping timeout: 258 seconds). 23:21:14 -!- Melvar` has changed nick to Melvar. 23:21:17 -!- idris-bot has joined. 23:22:23 -!- Bicyclidine has quit (Ping timeout: 258 seconds). 23:30:25 -!- Bicyclidine has joined. 23:41:18 -!- GeekDude has changed nick to ahk. 23:41:22 -!- ahk has changed nick to ahkscript. 23:41:38 -!- ahkscript has changed nick to smilebasic. 23:42:13 -!- smilebasic has changed nick to GeekTest. 23:42:23 -!- GeekTest has changed nick to smilebasic. 23:42:31 -!- smilebasic has changed nick to SmileBASIC. 23:42:37 -!- SmileBASIC has changed nick to GeoDude. 23:45:13 -!- Melvar` has joined. 23:46:36 -!- idris-bot has quit (Ping timeout: 272 seconds). 23:46:48 -!- Melvar has quit (Ping timeout: 272 seconds). 23:46:52 -!- Melvar` has changed nick to Melvar. 23:49:19 -!- idris-bot has joined. 23:50:29 -!- scarf has joined. 23:50:36 -!- scarf has changed nick to ais523. 23:50:40 -!- callforjudgement has quit (Read error: Connection reset by peer). 23:55:55 -!- shikhout has joined. 23:59:05 -!- shikhin has quit (Ping timeout: 260 seconds).