00:03:42 Optimization 37% done and I'm not even optimizing the decoy setup 00:04:00 Besides the maximum number of decoys 00:04:40 !bfjoust anticipation http://sprunge.us/ejTG 00:04:43 ​Score for ais523_anticipation: 0.0 00:04:48 bleh, size limit again… 00:05:14 Is that the full anticipation? 00:05:24 no, I added in the cases needed to beat dreadnaught 00:05:33 Of course. 00:05:34 I'm going to delete some of the five-cycle offset clear cases that aren't used in practice 00:06:07 I feel justified in this sort of constant-tweaking because it's working around hill limitations rather than program limitations 00:06:17 !bfjoust anticipation http://sprunge.us/PBLP 00:06:22 ​Score for ais523_anticipation: 35.9 00:06:45 ais523_anticipation.bfjoust vs david_werecat_dreadnought.bfjoust 00:06:46 <<<>>>>>>>>>>>>>>>>>> <<<>>>>>>>>>>>>>>>>>> -30 00:06:48 ais523_anticipation.bfjoust wins. 00:07:09 I can generate the full anticipation easily enough but the hill won't accept it 00:07:41 interestingly, it manages to get dreadnaught to run off the tape (!) 00:07:50 at least on sieve polarity 00:07:54 (on kettle it locks it in place instead) 00:08:36 I think that's because of the way I put in the anti-triplock in the attack scheme. 00:08:48 I still don't know how to do that properly... 00:10:01 basically, [+[+]][+[+]]> is the sort of pattern you want if you want to be 100% immune to both triplocks and vibrations 00:10:24 (although it won't beat anticipation, incidentally) 00:11:15 a triplock requires three ] in a row, and there aren't there 00:11:33 and a vibration relies on you not checking for two cycles in a row, and that does 00:12:20 Okay, I think I understand that now. 00:12:24 -!- zzo38 has quit (Quit: >,ml/.3f.A?). 00:13:13 I'm going to try to quickly plug that into dreadnought and see the results. 00:14:18 that's a [+] replacement 00:14:35 if you wanted a different sort of clear loop, you'd replace each of the +s with everything you wanted inside the loop 00:15:15 !bfjoust beats_vibration_and_triplock (>)*8(>[+[+]][+[+]])*21 00:15:18 ​Score for ais523_beats_vibration_and_triplock: 20.8 00:15:20 * ais523 vaguely wonders if it beats anything else 00:15:38 !bfjoust dreadnought http://tinypaste.com/8ff271d4/save.php?hash=bb8ae3da6cffef9d87d8764331b10e7c 00:15:42 huh, all of olsner's programs, for one 00:15:42 ​Score for david_werecat_dreadnought: 70.4 00:15:53 !bfjoust dreadnought http://tinypaste.com/65b19928/save.php?hash=7cc9e6cd41212521c6ab0d41cf88767e 00:15:56 ​Score for david_werecat_dreadnought: 71.0 00:16:01 also, waterfall2 00:16:19 and counterpoke, hahaha 00:16:59 the other results are expected (it beats programs that require the opponent to use decoys, and the things it's tuned to beat) 00:17:16 so now, you're beating everything but anticipation and counterpoke 00:17:23 I actually really really like anticipation 00:17:45 It's a really good idea, just a little big. 00:17:47 such a pity it doesn't compress well 00:17:59 it's a very simple program really, just all the cases have to be written out by hand and there are thousands 00:20:00 -!- oerjan has quit (Quit: Lost terminal). 00:20:08 If only the hill allowed something like bzip2 compression 00:20:21 you can't run a program while it's bzipped :) 00:20:49 Server side unpack? 00:21:19 I think the issue's space used in memory while the program is running, rather than bandwidth 00:21:31 hmm, the waterfalls beat dreadnought on one polarity 00:21:48 I guess it's misdetecting on the other polarity, and the fallbacks don't work 00:22:27 dreadnaught seems far from unbeatable, the more I look at it 00:22:48 and, heh, on very long tapes there are draws, I'm guessing due to time out 00:24:29 Dreadnought shouldn't be too hard to beat, it'll just take some time. 00:25:17 counterpoke seems to beat it comprehensively, but I'm thinking more of tweaking existing strategies to beat it 00:25:35 * ais523 watches waterfall2 beat dreadnought on a long tape on kettle polarity 00:25:45 then I guess I'll watch it lose on sieve, to see why 00:28:39 It looks like waterfall2 waits for dreanought even when dreadnought has passed onto the next space 00:29:16 3 has fallbacks against that sort of thing 00:29:20 but they probably won't work 00:29:28 it falls back to triplocking in emergencies, and you have counter-triplock code 00:30:27 It looks like the reason why dreadnought continues past is also due to the counter-triplock code 00:33:25 Actually, it seems that dreadnought moves onto the [-] part of the clear routine on normal polarity and so it move on after 2 cycles instead of 3 00:33:43 *moves* 00:34:13 So really dreadnought wins by accident. 00:35:13 this is quite common against waterfall, it's really complex /and/ really fragile 00:36:05 getting it to the top of the hill required lots of constant-tweaking just to avoid coincidences where enemy programs got knocked onto a different part of their clear algo 00:36:36 hmm, I wonder if an inline clear can be modified to take constant time? 00:37:02 it'd be awesome if it could 00:37:28 but it seems awkward, it has beautifully hard to time constructs like [>] in 00:40:36 hmm, the duration depends on the distance it has to move and the amount it has to clear 00:40:56 using an inefficient clear where we only change the value by 1 at a time until it's zeroed makes one of the values constant 00:42:03 and I guess we could use a counter or something for the tape length, copying it back and forth between a cell and the next one 00:47:22 -!- derdon has quit (Remote host closed the connection). 00:48:37 doable, but may end up too long /and/ too slow 00:50:01 It might not be too long 00:52:32 !bfjoust omega_turtle >>>>>>(+)*12<(+)*60<(-)*60<(+)*60<(+)*60<(-)*60(>)*7((>[+[+[---[-[(+)*64(.+)*128{}]]]]])%21)*21 00:52:35 ​Score for ais523_omega_turtle: 23.2 00:52:54 not bad 00:54:04 That gives me an idea... 00:54:43 ooh, I think I've found the perfect clear loop for counterpoke :) 00:55:11 although this will suck against defence 00:56:58 -!- Phantom___Hoover has quit (Remote host closed the connection). 00:57:46 !bfjoust dreadnought http://tinypaste.com/e0870cd3/save.php?hash=d8e637c825b5fda9f9a5256ab546e67d 00:57:50 ​Score for david_werecat_dreadnought: 66.2 00:58:18 !bfjoust dreadnought http://tinypaste.com/65b19928/save.php?hash=7cc9e6cd41212521c6ab0d41cf88767e 00:58:21 ​Score for david_werecat_dreadnought: 69.8 00:59:02 I just remembered why that was a bad idea. 00:59:37 it seems to be getting worse 00:59:39 !bfjoust omega_turtle >>>>>[>>>>(+)*128[+]]>>>[<<<(+)*12<(-)*60<(+)*60<(+)*60<(-)*60(>)*7((>[+[+[---[-[(+)*64(.+)*128{}]]]]])%21)*21](+)*12<(-)*60<(+)*60<(+)*60<(-)*60<(+)*60<(+)*60<(-)*60(>)*7((>[+[+[---[-[(+)*64(.+)*128{}]]]]])%21)*21 00:59:43 ​Score for ais523_omega_turtle: 27.9 00:59:51 beats dreadnaught :) 01:00:14 beats quite a lot of things, actually 01:00:17 69.8 is a good score though eh 01:00:40 Yeah, even with it's new losses. 01:01:00 scrolls up.. oh wow 71 01:01:18 I came to the realisation that /even if/ you have a really really large offset on your offset turtle, it's still going to go faster than a standard clear 01:02:08 71 was before countermeasures, so a little unrealistic. 01:02:18 don't get me wrong i couldn't write a bfjouster for the life of me, but i know that 71.2 has got to be a serious score 01:02:24 countermeasures = everyone coming up with creative new ways to beat your program? 01:02:29 itidus20: well, I consider 30 to be a nice solid score 01:02:35 Yes. 01:02:40 over 70, you have to have a serious attempt at beating /every/ other program 01:03:55 !bfjoust omega_counterpoke http://sprunge.us/TLKR 01:03:59 ​Score for ais523_omega_counterpoke: 0.0 01:04:01 huh? 01:04:26 itidus20: The average on the hill is around 28 or so. 01:04:35 ais523: syntax error, probably 01:04:42 i guess it's not about twinking 01:04:53 missed an open paren somewhere, I think 01:05:11 !bfjoust omega_counterpoke http://sprunge.us/eQgF 01:05:14 ​Score for ais523_omega_counterpoke: 0.0 01:05:16 bleh 01:05:27 "unmatchd ]" 01:05:31 *"unmatched ]" 01:05:59 Lots of unmatched loops and perenthesis, looking at egojsout. 01:06:18 !bfjoust omega_counterpoke http://sprunge.us/IdEN 01:06:21 ​Score for ais523_omega_counterpoke: 11.4 01:06:26 hmm, not as high as I'd hoped 01:06:41 -!- DH____ has quit (Read error: Connection reset by peer). 01:06:46 and now it loses to juggernaught 01:08:07 seems the clear loop in omega_counterpoke is just impractically slow for the situations it ends up in 01:08:24 counterpoke's strength in skipping decoys, the strength of a careless clear is that it doesn't care about decoys 01:08:54 so both omega_turtle and counterpoke are better than omega_counterpoke 01:08:58 interesting experiment, anyway 01:12:14 !bfjoust counterpoke_o8 http://tinypaste.com/592fbfd1/save.php?hash=7e4c4922ec72a14c90a7e6312b821d59 01:12:17 ​Score for david_werecat_counterpoke_o8: 26.5 01:13:02 !bfjoust counterpoke_o8 < 01:13:05 ​Score for david_werecat_counterpoke_o8: 0.0 01:13:27 It seems that increasing the range of the offset clear doesn't help much either. 01:17:51 I wouldn't expect it to 01:17:59 3's enough to get past trivial trails and the like 01:18:12 anything else, it's probably not going to be worth doing anything other than brute-forcing it 01:21:08 because it's quite likely to be a flag 01:22:17 -!- yiyus has quit (Ping timeout: 260 seconds). 01:23:50 -!- MDude has joined. 01:24:10 Hmm, the optimizer just found a better config for dreadnought, but I can't extract it in mid-run. 01:25:53 -!- yiyus has joined. 01:27:43 !bfjoust skyscraper >>>>>>>(+)*12<(+)*80<(+)*40>[]<([{(<(-)*50)*4<(+)*78(>)*12((>[+[+[---[-[(+)*64(.+)*128{}]]]]])%17)*17}](<(+)*50)*4<(-)*78(>)*12((>[+[+[---[-[(+)*64(.+)*128{}]]]]])%17)*17)%256 01:27:46 ​Score for ais523_skyscraper: 9.4 01:27:58 it's pretty experimental, I didn't expect it to work well 01:28:02 now to see how it fails 01:29:48 oh, duh, that was really really stupid 01:30:29 !bfjoust skyscraper >>>>>>>(+)*12<(+)*80<(+)*40>[]<(+[{(<(-)*50)*4<(+)*78(>)*12((>[+[+[---[-[(+)*64(.+)*128{}]]]]])%17)*17}](<(+)*50)*4<(-)*78(>)*12((>[+[+[---[-[(+)*64(.+)*128{}]]]]])%17)*17)%256 01:30:32 ​Score for ais523_skyscraper: 12.2 01:34:14 !bfjoust skyscraper >>>>>>>>[((>[+[+[---[-[(+)*64(.+)*128{}]]]]])%21)*21](+)*12<(+)*80<(+)*40>[]<(+[{(<(-)*50)*5<(+)*78(>)*12((>[+[+[---[-[(+)*64(.+)*128{}]]]]])%17)*17}](<(+)*50)*5<(-)*78(>)*12((>[+[+[---[-[(+)*64(.+)*128{}]]]]])%17)*17)%256 01:34:17 ​Score for ais523_skyscraper: 16.6 01:34:27 -!- MDude has quit (Quit: later chat). 01:34:27 !bfjoust skyscraper >>>>>>>>[((>[+[+[---[-[(+)*64(.+)*128{}]]]]])%21)*21](+)*12<(+)*80<(+)*40>[]<(+[{(<(-)*50)*5<(+)*78(>)*13((>[+[+[---[-[(+)*64(.+)*128{}]]]]])%17)*17}](<(+)*50)*5<(-)*78(>)*13((>[+[+[---[-[(+)*64(.+)*128{}]]]]])%17)*17)%256 01:34:30 ​Score for ais523_skyscraper: 16.0 01:34:40 !bfjoust skyscraper >>>>>>>>[((>[+[+[---[-[(+)*64(.+)*128{}]]]]])%21)*21](+)*12<(+)*80<(+)*40>[]<(+[{(<(-)*50)*5<(+)*78(>)*11((>[+[+[---[-[(+)*64(.+)*128{}]]]]])%17)*17}](<(+)*50)*5<(-)*78(>)*11((>[+[+[---[-[(+)*64(.+)*128{}]]]]])%17)*17)%256 01:34:43 ​Score for ais523_skyscraper: 16.2 01:34:50 looks like I guessed right first time :) 01:35:14 !bfjoust skyscraper >>>>>>[((>>>[+[+[---[-[(+)*64(.+)*128{}]]]]])%21)*21]>[((>>[+[+[---[-[(+)*64(.+)*128{}]]]]])%21)*21]>[((>[+[+[---[-[(+)*64(.+)*128{}]]]]])%21)*21](+)*12<(+)*80<(+)*40>[]<(+[{(<(-)*50)*5<(+)*78(>)*12((>[+[+[---[-[(+)*64(.+)*128{}]]]]])%17)*17}](<(+)*50)*5<(-)*78(>)*12((>[+[+[---[-[(+)*64(.+)*128{}]]]]])%17)*17)%256 01:35:17 ​Score for ais523_skyscraper: 15.9 01:35:25 !bfjoust skyscraper >>>>>>>[((>>[+[+[---[-[(+)*64(.+)*128{}]]]]])%21)*21]>[((>[+[+[---[-[(+)*64(.+)*128{}]]]]])%21)*21](+)*12<(+)*80<(+)*40>[]<(+[{(<(-)*50)*5<(+)*78(>)*12((>[+[+[---[-[(+)*64(.+)*128{}]]]]])%17)*17}](<(+)*50)*5<(-)*78(>)*12((>[+[+[---[-[(+)*64(.+)*128{}]]]]])%17)*17)%256 01:35:29 ​Score for ais523_skyscraper: 15.9 01:35:39 !bfjoust skyscraper >>>>>>>>[((>[+[+[---[-[(+)*64(.+)*128{}]]]]])%21)*21](+)*12<(+)*80<(+)*40>[]<(+[{(<(-)*50)*5<(+)*78(>)*12((>[+[+[---[-[(+)*64(.+)*128{}]]]]])%17)*17}](<(+)*50)*5<(-)*78(>)*12((>[+[+[---[-[(+)*64(.+)*128{}]]]]])%17)*17)%256 01:35:42 ​Score for ais523_skyscraper: 16.6 01:36:16 ais523_skyscraper.bfjoust vs ais523_triplock3.bfjoust XXX>XXXXXXXXXXXXXXXXX XXX>XXXXXXXXXXXXXXXXX -2 ais523_skyscraper.bfjoust wins. 01:36:18 hahahaha 01:38:03 oh, obviously, they're just both waiting for each other 01:39:24 That's the problem with programming defense, it doesn't work so well again other defense programs. 01:39:43 ais523 is, I'm sure, ruefully aware of that. 01:40:14 not really rueful, it's pretty easy to change to a counter-defence rush after a few tens of thousands of cycles 01:40:57 oh, /ouch/, there's an obvious bug in skyscraper 01:42:26 !bfjoust skyscraper >>>>>>>>[((>[+[+[---[-[(+)*64(.+)*128{}]]]]])%21)*21](+)*12<(+)*80<(+)*40<(+)*10>>[]<(+[{<(-)*60(<(-)*50)*4<(+)*78(>)*12((>[+[+[---[-[(+)*64(.+)*128{}]]]]])%17)*17}]<(+)*40(<(+)*50)*4<(-)*78(>)*12((>[+[+[---[-[(+)*64(.+)*128{}]]]]])%17)*17)%256 01:42:29 ​Score for ais523_skyscraper: 18.2 01:44:18 and another, which is less easily fixable 01:47:03 Optimization 89% done... it'll probabbly only be another tenth of a point anyways. 01:47:58 !bfjoust >>>>>>>>[((>[+[+[---[-[(+)*64(.+)*128{}]]]]])%21)*21](+)*12<(+)*80<(+)*40<(+)*10>>(+)*20[]<(+++++[[[[[[{<(-)*60(<(-)*50)*4<(+)*78(>)*12((>[+[+[---[-[(+)*64(.+)*128{}]]]]])%17)*17}]<(+)*40(<(+)*50)*4<(-)*78(>)*12((>[+[+[---[-[(+)*64(.+)*128{}]]]]])%17)*17]<(+)*40(<(+)*50)*4<(-)*78(>)*12((>[+[+[---[-[(+)*64(.+)*128{}]]]]])%17)*17]<(+)*40(<(+)*50)*4<(-)*78(>)*12((>[+[+[---[-[(+)*64(.+)*128{}]]]]])%17)*17]<(+)*40(<(+)*50)*4<(-)*78(>)*12((>[+[+[-- 01:47:59 Dreadnought was surprisingly close to what the current optimizer found, despite being unoptimized 01:47:59 ​Use: !bfjoust . Scoreboard, programs, and a description of score calculation are at http://codu.org/eso/bfjoust/ 01:48:00 -[-[(+)*64(.+)*128{}]]]]])%17)*17]<(+)*40(<(+)*50)*4<(-)*78(>)*12((>[+[+[---[-[(+)*64(.+)*128{}]]]]])%17)*17]<(+)*40(<(+)*50)*4<(-)*78(>)*12((>[+[+[---[-[(+)*64(.+)*128{}]]]]])%17)*17)%45 01:48:06 err, that didn't fit all one line :) 01:48:51 !bfjoust skyscraper http://sprunge.us/VjDE 01:48:52 I wondered what would happen with long lines on irc... 01:48:55 ​Score for ais523_skyscraper: 14.8 01:49:00 heh, and it was worse anyway 01:49:05 !bfjoust skyscraper >>>>>>>>[((>[+[+[---[-[(+)*64(.+)*128{}]]]]])%21)*21](+)*12<(+)*80<(+)*40<(+)*10>>[]<(+[{<(-)*60(<(-)*50)*4<(+)*78(>)*12((>[+[+[---[-[(+)*64(.+)*128{}]]]]])%17)*17}]<(+)*40(<(+)*50)*4<(-)*78(>)*12((>[+[+[---[-[(+)*64(.+)*128{}]]]]])%17)*17)%256 01:49:08 ​Score for ais523_skyscraper: 18.2 01:50:32 !bfjoust skyscraper >>>>>>>>[((>[+[+[---[-[(+)*64(.+)*128{}]]]]])%21)*21](+)*12<(+)*80<(+)*40<(+)*10>>[]<(+[{<(-)*60(<(-)*50)*4<(+)*78(>)*12((>[+[+[---[-[-]]]]])%17)*17}]<(+)*40(<(+)*50)*4<(-)*78(>)*12((>[+[+[---[-[-]]]]])%17)*17)%256 01:50:35 ​Score for ais523_skyscraper: 17.2 01:51:16 !bfjoust skyscraper >>>>>>>>[((>[+[+[---[-[(+)*64(.+)*128{}]]]]])%21)*21](+)*12<(+)*80<(+)*40<(+)*10>>[]<(+[{<(-)*60(<(-)*50)*4<(+)*78(>)*12((>[(+)*20[-]])%17)*17}]<(+)*40(<(+)*50)*4<(-)*78(>)*12((>[(+)*20[-]])%17)*17)%256 01:51:19 ​Score for ais523_skyscraper: 21.9 01:51:27 experimenting with different sorts of clear loop 01:51:33 I thought a large offset clear might work well with that algo 01:51:51 !bfjoust skyscraper >>>>>>>>[((>[+[+[---[-[(+)*64(.+)*128{}]]]]])%21)*21](+)*12<(+)*80<(+)*40<(+)*10>>[]<(+[{<(-)*60(<(-)*50)*4<(+)*78(>)*12((>[(+)*30[-]])%17)*17}]<(+)*40(<(+)*50)*4<(-)*78(>)*12((>[(+)*30[-]])%17)*17)%256 01:51:54 ​Score for ais523_skyscraper: 20.9 01:52:01 !bfjoust skyscraper >>>>>>>>[((>[+[+[---[-[(+)*64(.+)*128{}]]]]])%21)*21](+)*12<(+)*80<(+)*40<(+)*10>>[]<(+[{<(-)*60(<(-)*50)*4<(+)*78(>)*12((>[(+)*50[-]])%17)*17}]<(+)*40(<(+)*50)*4<(-)*78(>)*12((>[(+)*50[-]])%17)*17)%256 01:52:04 ​Score for ais523_skyscraper: 16.6 01:52:11 !bfjoust skyscraper >>>>>>>>[((>[+[+[---[-[(+)*64(.+)*128{}]]]]])%21)*21](+)*12<(+)*80<(+)*40<(+)*10>>[]<(+[{<(-)*60(<(-)*50)*4<(+)*78(>)*12((>[(+)*10[-]])%17)*17}]<(+)*40(<(+)*50)*4<(-)*78(>)*12((>[(+)*10[-]])%17)*17)%256 01:52:14 ​Score for ais523_skyscraper: 19.2 01:52:22 !bfjoust skyscraper >>>>>>>>[((>[+[+[---[-[(+)*64(.+)*128{}]]]]])%21)*21](+)*12<(+)*80<(+)*40<(+)*10>>[]<(+[{<(-)*60(<(-)*50)*4<(+)*78(>)*12((>[(+)*21[-]])%17)*17}]<(+)*40(<(+)*50)*4<(-)*78(>)*12((>[(+)*21[-]])%17)*17)%256 01:52:25 ​Score for ais523_skyscraper: 21.6 01:52:34 !bfjoust skyscraper >>>>>>>>[((>[+[+[---[-[(+)*64(.+)*128{}]]]]])%21)*21](+)*12<(+)*80<(+)*40<(+)*10>>[]<(+[{<(-)*60(<(-)*50)*4<(+)*78(>)*12((>[(+)*19[-]])%17)*17}]<(+)*40(<(+)*50)*4<(-)*78(>)*12((>[(+)*19[-]])%17)*17)%256 01:52:37 ​Score for ais523_skyscraper: 22.1 01:52:45 let's stick with this version 01:53:57 I guess I could plausibly call it attack9 01:54:01 because it's defend9 but a rush program 01:54:32 and thus can be defeated by all the usual sorts of things that beat defend9 01:56:23 It seems that a major loss area is around where Deewiant and Gregor's programs are. 01:57:21 monqy: do you have me for converting to jiyva 01:57:22 just checking 01:58:11 don't worry the character is actually ok now that ive gotten used to it 02:01:17 -!- pikhq_ has quit (Ping timeout: 244 seconds). 02:01:24 -!- pikhq has joined. 02:03:41 !bfjoust skyscraper >>>>>>>>[((>[+[+[---[-[(+)*64(.+)*128{}]]]]])%21)*21](+)*12<(+)*80<(+)*40<(+)*10>>(+)*30<<(<(+)*10)*4>>>>>>([{(<)*7(-)*99(>)*8(>[(+)*19[-]])*21}<(+[{(<(-)*60)*5<(+)*78(>)*12((>[(+)*19[-]])%17)*17}](<(+)*40)*5<(-)*78(>)*12((>[(+)*19[-]])%17)*17)%256])%768 02:03:44 ​Score for ais523_skyscraper: 26.1 02:03:46 turtle fix 02:04:21 but yes, there's a very easy way to beat skyscraper, which is something that some players do out of habit and some don't 02:04:57 heh, and now insidious, skyscraper and counterpoke are all next to each other on the leaderboard 02:05:44 btw, dreadnaught has started losing to slowpoke, if I read the leaderboard correctly; I'm not sure why 02:06:04 have you figured out skyscraper's strategy yet, btw? 02:08:04 From what I can see, it detects the polarity of the enemy and builds several large decoys that are more difficult for that polarity. 02:08:15 Although I'm not sure that's correct. 02:09:38 yep, that's it 02:09:53 it's setting the decoys to whatever polarity the enemy has trouble clearing 02:09:58 effectively making there twice as many 02:10:01 ais523: thank you for using the correct polarity names btw 02:10:47 you have an interesting definition of "correct" :) 02:13:56 combining skyscraper with counterpoke could be interesting 02:14:05 but I'm not sure if I have the mental energy to write that right now 02:14:18 probably only on long tapes, skyscraper sacrifices short ones 02:16:45 Optimization complete! 02:16:49 !bfjoust skyscraper >>>>>>>>[((>[+[+[---[-[(+)*64(.+)*128{}]]]]])%21)*21](+)*12<(+)*80<(+)*40<(+)*10>>(+)*30<<(<(+)*10)*4>>>>>>([{(<)*7(-)*99(>)*8(>[(+)*19[-]])*21}<(+[+(+[{(<(-)*60)*5<(+)*78(>)*12((>[(+)*19[-]])%17)*17}](<(+)*40)*5<(-)*78(>)*12((>[(+)*19[-]])%17)*17)%128](<(+)*40)*5<(-)*78(>)*12((>[(+)*19[-]])%17)*17)%128])%768 02:16:52 ​Score for ais523_skyscraper: 23.8 02:17:10 hmph 02:17:20 and that /looked/ like a straight improvement, as well 02:18:06 oh, I completely messed up the c/p 02:18:40 !bfjoust skyscraper >>>>>>>>[((>[+[+[---[-[(+)*64(.+)*128{}]]]]])%21)*21](+)*12<(+)*80<(+)*40<(+)*10>>(+)*30<<(<(+)*10)*4>>>>>>([{(<)*7(-)*99(>)*8(>[(+)*19[-]])*21}<(+[{+(+[{(<(-)*60)*5<(+)*78(>)*12((>[(+)*19[-]])%17)*17}](<(+)*40)*5<(-)*78(>)*12((>[(+)*19[-]])%17)*17)%128}](<(+)*40)*5<(-)*78(>)*12((>[(+)*19[-]])%17)*17)%128])%768 02:18:43 ​Score for ais523_skyscraper: 26.9 02:18:49 that's better :) 02:19:47 now it's mostly Gregor it isn't beating 02:20:06 and huh, that clear loop is written in a nonsensical manner 02:21:09 !bfjoust skyscraper >>>>>>>>[((>[+[+[---[-[(+)*64(.+)*128{}]]]]])%21)*21](+)*12<(+)*80<(+)*40<(+)*10>>(+)*30<<(<(+)*10)*4>>>>>>([{(<)*7(-)*99(>)*8(>[(+)*19[-]])*21}<(+[{+(+[{(<(-)*60)*5<(+)*78(>)*12(>[(+)*19[-]])*17}](<(+)*40)*5<(-)*78(>)*12(>[(+)*19[-]])*17)%128}](<(+)*40)*5<(-)*78(>)*12(>[(+)*19[-]])*17)%128])%768 02:21:12 ​Score for ais523_skyscraper: 26.9 02:21:19 that's better, even though it's equivalent 02:21:42 next step is timer clear, I guess, as it's struggling against defence 02:21:54 or, hmm 02:22:03 !bfjoust skyscraper >>>>>>>>[((>[+[+[---[-[(+)*64(.+)*128{}]]]]])%21)*21](+)*12<(+)*80<(+)*40<(+)*10>>(+)*30<<(<(+)*10)*4>>>>>>([{(<)*7(-)*99(>)*8(>[(+)*19[---]])*21}<(+[{+(+[{(<(-)*60)*5<(+)*78(>)*12(>[(+)*19[-]])*17}](<(+)*40)*5<(-)*78(>)*12(>[(+)*19[-]])*17)%128}](<(+)*40)*5<(-)*78(>)*12(>[(+)*19[-]])*17)%128])%768 02:22:06 ​Score for ais523_skyscraper: 33.2 02:22:13 much simpler :) 02:22:27 And better scoring too! 02:23:16 I meant, a much simpler fix than timer clear 02:23:23 now it's getting triplocked… 02:23:27 * ais523 checks whre 02:23:28 *where 02:26:40 found it 02:27:46 !bfjoust skyscraper >>>>>>>>[((>[+[+[---[-[(+)*64(.+)*128{}]]]]])%21)*21](+)*12<(+)*80<(+)*40<(+)*10>>(+)*30<<(<(+)*10)*4>>>>>>([{(<)*7(-)*99(>)*8(>[(+)*19([---{[+[+]][+[+]]>}])%256])*21}<(+[{+(+[{(<(-)*60)*5<(+)*78(>)*12(>[(+)*19[-]])*17}](<(+)*40)*5<(-)*78(>)*12(>[(+)*19[-]])*17)%128}](<(+)*40)*5<(-)*78(>)*12(>[(+)*19[-]])*17)%128])%768 02:27:49 ​Score for ais523_skyscraper: 30.5 02:27:59 huh, what did that screw up? 02:28:04 !bfjoust skyscraper >>>>>>>>[((>[+[+[---[-[(+)*64(.+)*128{}]]]]])%21)*21](+)*12<(+)*80<(+)*40<(+)*10>>(+)*30<<(<(+)*10)*4>>>>>>([{(<)*7(-)*99(>)*8(>[(+)*19[---]])*21}<(+[{+(+[{(<(-)*60)*5<(+)*78(>)*12(>[(+)*19[-]])*17}](<(+)*40)*5<(-)*78(>)*12(>[(+)*19[-]])*17)%128}](<(+)*40)*5<(-)*78(>)*12(>[(+)*19[-]])*17)%128])%768 02:28:07 ​Score for ais523_skyscraper: 33.2 02:29:03 !bfjoust skyscraper >>>>>>>>[((>[+[+[---[-[(+)*64(.+)*128{}]]]]])%21)*21](+)*12<(+)*80<(+)*40<(+)*10>>(+)*30<<(<(+)*10)*4>>>>>>([{(<)*7(-)*99(>)*8(>[(+)*19([---{[+[+]][+[+]]>}])%2560])*21}<(+[{+(+[{(<(-)*60)*5<(+)*78(>)*12(>[(+)*19[-]])*17}](<(+)*40)*5<(-)*78(>)*12(>[(+)*19[-]])*17)%128}](<(+)*40)*5<(-)*78(>)*12(>[(+)*19[-]])*17)%128])%768 02:29:06 ​Score for ais523_skyscraper: 29.1 02:29:20 !bfjoust skyscraper >>>>>>>>[((>[+[+[---[-[(+)*64(.+)*128{}]]]]])%21)*21](+)*12<(+)*80<(+)*40<(+)*10>>(+)*30<<(<(+)*10)*4>>>>>>([{(<)*7(-)*99(>)*8(>[(+)*19([---{[+[+]][+[+]]>}])%9999)*21}<(+[{+(+[{(<(-)*60)*5<(+)*78(>)*12(>[(+)*19[-]])*17}](<(+)*40)*5<(-)*78(>)*12(>[(+)*19[-]])*17)%128}](<(+)*40)*5<(-)*78(>)*12(>[(+)*19[-]])*17)%128])%768 02:29:23 ​Score for ais523_skyscraper: 0.0 02:29:36 !bfjoust skyscraper >>>>>>>>[((>[+[+[---[-[(+)*64(.+)*128{}]]]]])%21)*21](+)*12<(+)*80<(+)*40<(+)*10>>(+)*30<<(<(+)*10)*4>>>>>>([{(<)*7(-)*99(>)*8(>[(+)*19([---{[+[+]][+[+]]>}])%999)*21}<(+[{+(+[{(<(-)*60)*5<(+)*78(>)*12(>[(+)*19[-]])*17}](<(+)*40)*5<(-)*78(>)*12(>[(+)*19[-]])*17)%128}](<(+)*40)*5<(-)*78(>)*12(>[(+)*19[-]])*17)%128])%768 02:29:39 ​Score for ais523_skyscraper: 0.0 02:29:57 !bfjoust skyscraper >>>>>>>>[((>[+[+[---[-[(+)*64(.+)*128{}]]]]])%21)*21](+)*12<(+)*80<(+)*40<(+)*10>>(+)*30<<(<(+)*10)*4>>>>>>([{(<)*7(-)*99(>)*8(>[(+)*19([---{[+[+]][+[+]]>}])%9999])*21}<(+[{+(+[{(<(-)*60)*5<(+)*78(>)*12(>[(+)*19[-]])*17}](<(+)*40)*5<(-)*78(>)*12(>[(+)*19[-]])*17)%128}](<(+)*40)*5<(-)*78(>)*12(>[(+)*19[-]])*17)%128])%768 02:30:00 ​Score for ais523_skyscraper: 24.6 02:30:51 !bfjoust skyscraper >>>>>>>>[((>[+[+[---[-[(+)*64(.+)*128{}]]]]])%21)*21](+)*12<(+)*80<(+)*40<(+)*10>>(+)*30<<(<(+)*10)*4>>>>>>([{(<)*7(-)*99(>)*8(>[(+)*19([---{[+[+]][+[+]]>([---{[+[+]][+[+]]>([---{[+[+]][+[+]]>}])%2560])}])%2560])}])%2560])*21}<(+[{+(+[{(<(-)*60)*5<(+)*78(>)*12(>[(+)*19[-]])*17}](<(+)*40)*5<(-)*78(>)*12(>[(+)*19[-]])*17)%128}](<(+)*40)*5<(-)*78(>)*12(>[(+)*19[-]])*17)%128])%768 02:30:54 ​Score for ais523_skyscraper: 0.0 02:31:05 !bfjoust skyscraper >>>>>>>>[((>[+[+[---[-[(+)*64(.+)*128{}]]]]])%21)*21](+)*12<(+)*80<(+)*40<(+)*10>>(+)*30<<(<(+)*10)*4>>>>>>([{(<)*7(-)*99(>)*8(>[(+)*19[---]])*21}<(+[{+(+[{(<(-)*60)*5<(+)*78(>)*12(>[(+)*19[-]])*17}](<(+)*40)*5<(-)*78(>)*12(>[(+)*19[-]])*17)%128}](<(+)*40)*5<(-)*78(>)*12(>[(+)*19[-]])*17)%128])%768 02:31:09 ​Score for ais523_skyscraper: 33.2 02:31:49 !bfjoust skyscraper >>>>>>>>[((>[+[+[---[-[(+)*96(.+)*64{}]]]]])%21)*21](+)*12<(+)*80<(+)*40<(+)*10>>(+)*30<<(<(+)*10)*4>>>>>>([{(<)*7(-)*99(>)*8(>[(+)*19[---]])*21}<(+[{+(+[{(<(-)*60)*5<(+)*78(>)*12(>[(+)*19[-]])*17}](<(+)*40)*5<(-)*78(>)*12(>[(+)*19[-]])*17)%128}](<(+)*40)*5<(-)*78(>)*12(>[(+)*19[-]])*17)%128])%768 02:31:52 ​Score for ais523_skyscraper: 33.6 02:32:25 hi 02:33:01 hi! 02:33:24 now skyscraper's doing better than slowrush 02:33:28 this program isn't meant to do this well help 02:33:38 !bfjoust dreadnought http://tinypaste.com/dbb9314c/save.php?hash=62e33e11c2a65678f411f084883c46a4 02:33:42 ​Score for david_werecat_dreadnought: 67.4 02:33:59 heh, dreadnought and skyscraper /draw/ 02:34:44 funny, I didn't even have skyscraper in the optimization set 02:35:55 i'm not feeling well, what is all this mess 02:35:56 :P 02:36:04 myndzi: we're jousting 02:36:18 david_werecat came up with dreadnought which /almost/ beat everything 02:36:23 \o/ 02:36:23 | 02:36:23 /| 02:36:27 but I came up with a range of new programs to beat it 02:36:31 hi myndzi\o/ 02:36:33 hi myndzi \o/ 02:36:34 | 02:36:34 >\ 02:37:29 Now I'm optimizing only against skyscraper 02:37:46 that sounds unwise 02:37:58 Just for fun 02:38:28 oh wtf, that was a pretty amazing reason for skyscraper losing on sieve 02:38:30 well, i mean what all is new? ;) 02:38:58 i just got done coding for like 4 days @ 16 hours so my brain doesn't want to read these 02:39:18 !bfjoust skyscraper >>>>>>>>[((>[+[+[---[-[(+)*96(.+)*64{}]]]]])%21)*21](+)*12<(+)*80<(+)*40<(+)*10>>(+)*30<<(<(+)*10)*4>>>>>>([{(<)*7(-)*99(>)*8(>[(+)*19[---]])*21}<(+[{.(+[{(<(-)*60)*5<(+)*78(>)*12(>[(+)*19[-]])*17}](<(+)*40)*5<(-)*78(>)*12(>[(+)*19[-]])*17)%128}](<(+)*40)*5<(-)*78(>)*12(>[(+)*19[-]])*17)%128])%768 02:39:21 ​Score for ais523_skyscraper: 31.5 02:39:24 i just saw a bunch of symbols and was like o, people be playing around eh? 02:39:30 err, whoops 02:40:08 not easily fixable, apparently :) 02:40:30 go go slowrush hang in there!!! 02:40:31 ;) 02:40:49 !bfjoust skyscraper >>>>>>>>[((>[+[+[---[-[(+)*96(.+)*64{}]]]]])%21)*21](+)*12<(+)*80<(+)*40<(+)*10>>(+)*30<<(<(+)*10)*4>>>>>>([{(<)*7(-)*99(>)*8(>[(+)*19[---]])*21}<(+[{+(+[{(<(-)*60)*5<(+)*78(>)*12(>[(+)*19[-]])*17}](<(+)*40)*5<(-)*78(>)*12(>[(+)*19[-]])*17)%100}](<(+)*40)*5<(-)*78(>)*12(>[(+)*19[-]])*17)%156])%768 02:40:52 ​Score for ais523_skyscraper: 34.8 02:40:56 better :) 02:41:32 that makes it work a bit better against dreadnought and space_elevator 02:41:36 and is a nicely generic fix, I hope 02:41:55 i think you guys are just throwing the symbols in a random number generator anymore 02:41:58 ;) 02:42:01 i need to get around to fixingspace elevator 02:42:15 was space_elevator ever #1? I can't remember 02:42:17 I guess so 02:42:24 what would you be fixing it for? modern strategy? 02:42:39 it does a great decoy build butit clears too slow to win 02:42:51 somainnly fixing the rush part 02:43:08 sometimes the simple clear loops are the best 02:43:15 yep 02:43:26 elliott: you'll be glad to hear that skyscraper is probably the best moderately good program that sacrifices short tape lengths 02:43:38 which was your strategy, IIRC 02:43:43 err, first moderately good 02:43:55 hehe 02:44:02 it was indeed 02:44:05 how does it? 02:44:12 it doesn't sacrifice them just to get a head start, though; it sacrifices them to give more space to build decoys 02:44:15 rule of12? 02:44:21 yes, there's a rule of 12 in there 02:44:32 although if it detects a short tape, it switches to omega_turtle 02:44:44 so it's only sacrificing short tapes it can't detect, which is typically 3 or 4 lengths 02:45:07 what is omega turtle 02:45:08 the rule of 12 is because if it hasn't lost already, the tape is probably quite long 02:45:15 it's a turtle with a very large offset 02:45:53 i have a new program but it is almost certainly too long 02:46:53 even if pastebinned? 02:47:03 i'd like to add something to bfj language to make complex strategies smaller and clearer 02:47:19 but it would probably obsoleteall currentstrategies 02:48:16 not if it doesn't change instruction size? 02:48:26 some kind of macro compiler could be useful 02:48:38 i'm not quite sure what kind of directives you would quantify these with though 02:48:45 but there are patterns so i'm sure it's possible 02:50:04 Macros would be very useful. 02:50:44 If the macros had submultipliers, it would be even better. 02:51:31 david_werecat: problem is the macros have to be expanded server-side 02:51:36 which doesn't work when you have very complex constructions 02:51:50 the thing with the existing repetition facilities is that they can be interpreted efficiently, without expansion 02:51:58 (egojoust expands them, which is why it's so slow) 02:52:09 and memory consuming 02:54:52 * ais523 rages at sucralose_philip 02:54:57 and the other programs based on it 02:55:29 changing strategy after four decoys makes all my strategy detection kind-of useless 02:57:29 Whoa, what's triplock3 doing that near to the bottom? 02:57:47 david_werecat: triplock3 is a simplified but less accurate triplock2 02:57:52 so it should be doing somewhat worse than triplock2 02:58:01 also, everyone knows about triplocks nowadays 02:58:11 although I don't think anyone else actually /uses/ them 02:58:41 haha, I'd forgotten that waterfall3 actually /deleted its own decoys/ in order to stop sucralose_philip changing strategy :) 02:59:42 That's an interesting way to beat it 03:00:06 yep 03:00:13 delete your decoys, change your flag, and it falls off the end :) 03:00:36 How did that affect its performance against other programs though? 03:00:50 not a lot, it only did it if it detected a turtle/philip 03:01:13 waterfall3 is pretty much made of special cases 03:01:15 interesting, i just read the freaking novel you wrote on waterfall3 03:01:16 ;) 03:01:30 I don't /quite/ think it's the case that every program sent it down a different codepath 03:01:34 but it must have been quite close ;) 03:01:50 and then I only wrote a couple of lines about slowpoke 03:01:57 because waterfall3 really is that much more complex than slowpoke is 03:02:15 funny that it took so long for the ideas wrt: timing detection to show profit 03:02:35 but nice to see :) 03:02:43 to be honest i never thought programs that complex would succeed 03:03:03 this game has stayed interesting longer than i figured on 03:03:04 :P 03:03:15 but it's way too annoying to actually participate in now haha 03:03:24 I don't know, you still have programs on the hill 03:03:30 you can just try some simple programs and see what sticks 03:03:31 “ 03:03:44 !bfjoust the_first_program_ever [>[-]+] 03:03:44 yeah, but that's not as interesting ;) 03:03:45 “the freaking novel you wrote on waterfall3” – URL, please. :-) 03:03:48 ​Score for ais523_the_first_program_ever: 9.3 03:03:51 lol 03:03:58 it's on the wiyki 03:04:01 i closed the page 03:04:06 Ok, thanks 03:04:07 ion: http://esolangs.org/wiki/BF_Joust_strategies#2011 and scroll down a bit 03:04:17 Thankes. 03:04:18 stop when you reach the wall of text 03:04:21 lmao. 03:04:29 on the topic of updating the language 03:04:37 the first program ever doesn't do to well nowadays 03:04:39 there seems to be one thing that was enabled by the better interpreter 03:04:41 *too 03:04:48 that is somewhat common 03:04:56 which is basically setting up nested loops to operate as conditionals 03:05:05 it's a waste of memory and they never get processed 03:05:07 yes 03:05:09 they just get used as ifs 03:05:23 so i think it would be fair to add something like an if-not-zero 03:05:37 since theoretically you can accomplish the same by nesting a bunch of loops to ridiculous length 03:05:37 s 03:05:40 in fact, I strongly considered an alternative BF Joust where doing that was banned in order to make defence more interesting 03:05:42 it would make programs simpler to read etc. 03:05:53 I strongly oppose the idea of adding an if construct 03:06:04 the underlying language is still pure BF in bf joust now and it should stay that way IMO 03:06:14 as i just pointed out 03:06:20 it's simply a convenience 03:06:25 much like the % and * loops 03:06:31 it doesn't alter the language any 03:06:38 well, it's a lot heavier a layer than a simple repetition system 03:06:47 except to make possible "larger" programs 03:06:58 not really.. it basically IS a simple repetition system 03:07:03 "start a loop that i don't expect to end" 03:07:14 well, "a ifnonzero(b) c" is a[bc]c but unfortunately, that doesn't abbreviate to anything, not even using % 03:07:16 "i am only gonna write the first character, you can just assume the last one is there" 03:07:38 however, it's quite common for b never to return, in which case if and while are equivalent 03:07:55 i forgot about the failure case 03:07:56 lol 03:08:25 i dunno, it would be nice to make things more readable 03:08:50 note that at least one program of mine, I was going to do that but it didn't fit into size limits, so I had to be more BFy 03:09:04 also note: if you had arbitrary control structures, you'd never use the tape for computation ever 03:09:15 (admittedly, generally you don't /anyway/, but waterfall3 does) 03:09:18 the size limits are merely practical, not theoretical ;p 03:09:37 using the tape for computation is awkward because the opponent has a tendency of scribbling on it 03:09:43 although you can safely do it /behind/ the opponent 03:10:26 what about this 03:10:30 i realize this is rather off the wall 03:10:36 1) number lines 03:10:43 2) provide a mechanism for "if not zero, goto" 03:10:46 3) only goto forwards 03:11:14 are we making a new game in the spirit of bfjoust 03:11:14 ? 03:11:17 naw 03:11:26 i'm just talking about notation differences that might make it rather easier to read 03:11:35 the idea here is that things of the form 03:11:35 a joust with a new language 03:11:45 which has yet to become self aware 03:12:20 you know what i should just write explanations before i offer ideas 03:12:20 haha 03:12:40 [a][b][c] isn't what i was trying to address 03:12:49 but i guess actually 03:12:59 [a[b[c]]] can also be covered by that case 03:13:09 the need is for a time penalty of the appropriate amount of cycles 03:13:32 which i think is calculable 03:13:39 but i'm not sure this would really clean anything up much 03:13:39 "time penalty" would be fatal to programming 03:13:45 because it makes you vulnerable to triplocking 03:13:47 by 'time penalty' i mean ]]]] 03:13:55 doesn't get processed as if it was ] 03:14:23 but what am i even talking about, we don't indend to end/loop with this 03:14:29 i'm sick, i will just be quiet ;) 03:15:11 i have no relevance to bfjoust. but i can see that the nice thing about the bfjoust page on the esolang wiki is it's the sort of thing that could show up as a paperback at a flea market. 03:15:37 what 03:16:38 its the sort of text someone could just pick up and read .. with an introductory chapter explaining what brainfuck is and what bfjoust is 03:16:45 david_werecat: btw, you should link to a specific version of the file 03:16:48 like the other links do 03:16:52 on the strategies page 03:16:57 in case it falls of the hill or gets changed 03:17:04 (if it gets changed, then you can update the link when you update the description, ofc) 03:17:07 *off 03:17:12 i regret fucking with slowrush 03:17:16 hehe 03:17:40 after wix stopped fucking with wiggle3 03:17:42 elliott: The file link is to the most recent version, do you mean the animation version? 03:17:43 like a year later i was like 03:17:45 HA I GET THE LAST WORD 03:17:49 so i tweaked the constants 03:17:54 david_werecat: not latest, that's the point 03:17:57 and it didn't really help so i put em back 03:17:59 http://codu.org/eso/bfjoust/in_egobot.hg/index.cgi/raw-file/80f20eeecd87/ais523_slowpoke.bfjoust 03:17:59 vs. 03:18:00 http://codu.org/eso/bfjoust/in_egobot/david_werecat_dreadnought.bfjoust 03:18:06 the latter breaks when it falls off the hill 03:18:08 but now it's not technically an uninterrupted run since... god i have no idea when 03:18:14 the former doesn't (it points to a specific version and will never change) 03:18:35 Oh, okay. I'll change that. 03:19:51 BTW, I don't think dreadnought is going to be knocked off anytime soon. 03:20:06 it might well be changed though ;p 03:20:17 !bfjoust death_to_defence (>)*8(>([(+)*24[-{[+++[+++]]}>([(+)*23[-{[+++[+++]]}>([(+)*22[-{[+++[+++]]}>([(+)*21[-{[+++[+++]]}>([(+)*20[-{[+++[+++]]}>([(+)*19[-{[+++[+++]]}>([(+)*18[-{[+++[+++]]}>([(+)*17[-{[+++[+++]]}>([(+)*16[-{[+++[+++]]}>([(+)*15[-{[+++[+++]]}>([(+)*14[-{[+++[+++]]}>([(+)*13[-{[+++[+++]]}>]])%256]])%256]])%256]])%256]])%256]])%256]])%256]])%256]])%256]])%256]])%256]])%256)*-1 03:20:20 ​Score for ais523_death_to_defence: 15.8 03:20:29 elliott: so there you go, the strategy which I believe beats all defence strategies 03:20:43 it does not do very well 03:20:51 that's not really the point 03:20:54 hehe 03:21:04 it makes an interesting counterexample? 03:21:08 it isn't tuned to beat attack strategies /at all/ 03:21:14 myndzi: well, it's meant to trivialise the game 03:21:21 but the problem is that you can just drop its clear loop into something else 03:21:26 I suppose the problem is there's too many attack programs on the hill 03:21:28 ais523: ah 03:21:33 why not try it with one of your warriors? 03:21:40 hmm, it loses to the waterfalls 03:21:43 * ais523 checks why 03:23:12 oh, typo 03:23:47 hmm, maybe not 03:26:17 yes 03:26:23 !bfjoust death_to_defence (>)*8(>(+)*24([-{[+++[+++]]}>(+)*23([-{[+++[+++]]}>(+)*22([-{[+++[+++]]}>(+)*21([-{[+++[+++]]}>(+)*20([-{[+++[+++]]}>(+)*19([-{[+++[+++]]}>(+)*18([-{[+++[+++]]}>(+)*17([-{[+++[+++]]}>(+)*16([-{[+++[+++]]}>(+)*15([-{[+++[+++]]}>(+)*14([-{[+++[+++]]}>(+)*13([-{[+++[+++]]}>])%999])%999])%999])%999])%999])%999])%999])%999])%999])%999])%999])%999)*-1 03:26:26 ​Score for ais523_death_to_defence: 13.9 03:26:33 lol 03:27:49 beats anticipation, defend9.75, triplock2/3, waterfall2/3 03:27:54 various other assorted programs too 03:28:11 /doesn't/ beat vibration, because it needs a separate countervibrate and I didn't bother to add one, but doing that is simple enough 03:28:48 (the base program for that is the standard (>)*8(>[-])*21, btw, it just has a much more complex clear loop) 03:29:07 (which is a two-cycle offset clear, except against defence) 03:29:29 and defence is detected via a 100% reliable mechanism 03:30:00 (the opponent /must/ be changing their flag value during the clear in order for it to be detected) 03:30:19 the different numbers on the offset clear are to beat anticipation 03:31:09 i don't know what anticipation does 03:31:19 i suppose it anticipates? ;p 03:31:33 it sets its flag to nonzero the cycle /after/ the opponent zeroes it 03:31:38 by measuring the opponent's timings 03:31:45 ha 03:31:52 this puts it into its anti-vibration loop (because it would, wouldn't it?) 03:32:02 then it uses a counter-anti-vibration lock 03:32:20 and then an anti-counter-vibrating-furry-leather-strapon lock-and-chain 03:32:32 that sounds like what Gregor would come up with :) 03:33:45 I was going to add this to skyscraper, but come to think of it, there's no real need 03:33:50 skyscraper detects defence well enough as it is 03:34:44 !bfjoust death_to_defence (>++++++)*8(>(+)*24([-{[+++[+++]]}>(+)*23([-{[+++[+++]]}>(+)*22([-{[+++[+++]]}>(+)*21([-{[+++[+++]]}>(+)*20([-{[+++[+++]]}>(+)*19([-{[+++[+++]]}>(+)*18([-{[+++[+++]]}>(+)*17([-{[+++[+++]]}>(+)*16([-{[+++[+++]]}>(+)*15([-{[+++[+++]]}>(+)*14([-{[+++[+++]]}>(+)*13([-{[+++[+++]]}>])%999])%999])%999])%999])%999])%999])%999])%999])%999])%999])%999])%999)*-1 03:34:47 ​Score for ais523_death_to_defence: 21.0 03:34:51 let's put some decoys in there, give it a chance 03:35:03 !bfjoust death_to_defence (>++++++)*4(>-----)*4(>(+)*24([-{[+++[+++]]}>(+)*23([-{[+++[+++]]}>(+)*22([-{[+++[+++]]}>(+)*21([-{[+++[+++]]}>(+)*20([-{[+++[+++]]}>(+)*19([-{[+++[+++]]}>(+)*18([-{[+++[+++]]}>(+)*17([-{[+++[+++]]}>(+)*16([-{[+++[+++]]}>(+)*15([-{[+++[+++]]}>(+)*14([-{[+++[+++]]}>(+)*13([-{[+++[+++]]}>])%999])%999])%999])%999])%999])%999])%999])%999])%999])%999])%999])%999)*-1 03:35:06 ​Score for ais523_death_to_defence: 23.5 03:36:12 !bfjoust death_to_defence (>+++)*4(>---)*4((-)*20<)*4((+)*20<)*4(+)*30(>)*8(>(+)*24([-{[+++[+++]]}>(+)*23([-{[+++[+++]]}>(+)*22([-{[+++[+++]]}>(+)*21([-{[+++[+++]]}>(+)*20([-{[+++[+++]]}>(+)*19([-{[+++[+++]]}>(+)*18([-{[+++[+++]]}>(+)*17([-{[+++[+++]]}>(+)*16([-{[+++[+++]]}>(+)*15([-{[+++[+++]]}>(+)*14([-{[+++[+++]]}>(+)*13([-{[+++[+++]]}>])%999])%999])%999])%999])%999])%999])%999])%999])%999])%999])%999])%999)*-1 03:36:15 ​Score for ais523_death_to_defence: 39.9 03:36:18 whoa 03:36:41 #8, just below space_elevator 03:36:45 That's looking impressive 03:37:28 why 999 instead of -1, out of curiosity? 03:37:38 elliott: it has to be a finite number higher than 256 03:37:49 why finite? 03:37:53 and I wanted to avoid multiples of 256 due to weird coincidences 03:37:59 and that's the time at which it breaks out of the original clear loop 03:38:03 and moves onto the counterdefend loop 03:38:12 ([+++[+++]] in this example) 03:38:38 fair enough 03:38:51 isn't 999 a bit big, because of the cycle limi? 03:38:53 *limit 03:39:08 it won't get anywhere near the cycle limit, which is 10000 03:39:12 well, maybe it will 03:39:16 but I'm not seeing timeout draws 03:39:22 oh, it's 100000, not 10000 03:39:24 right, nowhere near 03:39:33 OK 03:40:30 !bfjoust death_to_defence (>+++)*4(>---)*4((-)*20<)*4((+)*20<)*4(+)*30(>)*8(>(+)*24([-{[+++]}>(+)*23([-{[+++]}>(+)*22([-{[+++]}>(+)*21([-{[+++]}>(+)*20([-{[+++]}>(+)*19([-{[+++]}>(+)*18([-{[+++]}>(+)*17([-{[+++]}>(+)*16([-{[+++]}>(+)*15([-{[+++]}>(+)*14([-{[+++]}>(+)*13([-{[+++]}>])%999])%999])%999])%999])%999])%999])%999])%999])%999])%999])%999])%999)*-1 03:40:33 ​Score for ais523_death_to_defence: 39.9 03:40:40 thought that'd be equivalent, and it's shorter 03:42:23 such an uncreative name :p 03:42:54 !bfjoust death_to_defence http://sprunge.us/dcIN 03:42:58 ​Score for ais523_death_to_defence: 14.7 03:43:01 haha 03:43:02 !bfjoust death_to_defence (>+++)*4(>---)*4((-)*20<)*4((+)*20<)*4(+)*30(>)*8(>(+)*24([-{[+++]}>(+)*23([-{[+++]}>(+)*22([-{[+++]}>(+)*21([-{[+++]}>(+)*20([-{[+++]}>(+)*19([-{[+++]}>(+)*18([-{[+++]}>(+)*17([-{[+++]}>(+)*16([-{[+++]}>(+)*15([-{[+++]}>(+)*14([-{[+++]}>(+)*13([-{[+++]}>])%999])%999])%999])%999])%999])%999])%999])%999])%999])%999])%999])%999)*-1 03:43:05 ​Score for ais523_death_to_defence: 39.9 03:43:12 it drops /that far/ if I add a simple antishudder? 03:43:43 nope 03:43:51 !bfjoust death_to_defence http://sprunge.us/NIFA 03:43:54 ​Score for ais523_death_to_defence: 41.1 03:43:54 typo, again 03:44:33 I got that antishudder from waterfall3; it's a bit long, but it's tried and tested 03:45:07 !bfjoust 03:45:08 ​Use: !bfjoust . Scoreboard, programs, and a description of score calculation are at http://codu.org/eso/bfjoust/ 03:45:15 Hey, 2.7 points away from 5th place. 03:45:44 I see it loses to counterpoke 03:46:01 ais523: you should try using that as the clear loop in an existing good program or something 03:46:23 I thought about it 03:46:35 but none of my recent existing good programs would benefit from it 03:46:49 pick someone else's! 03:46:51 except perhaps counterpoke 03:47:00 the game hasn't had enough modification and blending of other people's programs for ages 03:47:07 but the amazing score here doesn't seem to be due to the clear loop 03:47:20 well, you said it was a drop-in to another program 03:47:23 which is why I suggested that 03:47:25 it's just a simple fast rush program which doesn't have to worry about defence 03:48:12 !bfjoust death_to_defence_with_a_normal_clear_loop (>+++)*4(>---)*4((-)*20<)*4((+)*20<)*4(+)*30(>)*8(>(+)*19[-])*21 03:48:15 ​Score for ais523_death_to_defence_with_a_normal_clear_loop: 38.1 03:48:20 see what I mean? 03:48:39 !bfjoust death_to_defence_with_a_normal_clear_loop < 03:48:41 fair enough 03:48:42 ​Score for ais523_death_to_defence_with_a_normal_clear_loop: 0.0 03:48:46 you misinterpreted me though 03:48:52 i did not mean s/dtd's clear loop/someone else's/ 03:49:02 i meant 03:49:19 someone else's program =~ s/clear loop/dtd's clear loop/ 03:49:20 04:21 but the problem is that you can just drop its clear loop into something else 03:49:25 right 03:50:06 oh, it's also important that the 999 is not even approximately divisible by 256 03:50:14 or you can create a modified anticipation to beat it 03:50:34 …999 is sort-of divisble by 256, isn't it 03:50:35 sounds like you just want something relatively prime with a large step 03:50:44 kinda like corewars bomb steps 03:51:07 !bfjoust death_to_defence http://sprunge.us/UgLO 03:51:08 ais523: pick the number least divisible by 256 03:51:10 ​Score for ais523_death_to_defence: 32.6 03:51:16 what did I do wrong there? 03:51:24 !bfjoust death_to_defence http://sprunge.us/NIFA 03:51:25 hill effects 03:51:27 ​Score for ais523_death_to_defence: 40.4 03:51:31 nice 03:51:34 not that large of hill effects 03:51:43 that's the one that was scoring 41 earlier, hill effects have pushed it down to 40 03:52:25 it seems to be winning just by out-decoying everyone else 03:53:00 it is kind-of vulnerable to pokes, though 03:53:42 oh well, that'll just mean more points for counterpoke :D 03:55:06 you're going for the triforce of bfjoust 03:55:18 it's like i'll form the head! 03:55:37 quintopia: we need yr scoring system btw 03:55:54 ais523: so does it really beat every defence strategy? 03:56:03 yes 03:56:07 that I know of, at least 03:56:10 :( 03:56:11 rip 03:56:21 and anything that relies on locks that only work against one type of clear loop, it beats 03:57:12 so how does it do it 03:58:25 !bfjoust death_to_defence http://sprunge.us/XUOQ 03:58:28 ​Score for ais523_death_to_defence: 49.4 03:58:32 trying out something that skips zeros 03:58:33 oho 03:58:33 oh wow 03:59:03 anyway, it beats it by changing strategy after a clear has failed for too long 04:00:24 !bfjoust death_to_defence http://sprunge.us/Rbdi 04:00:27 ​Score for ais523_death_to_defence: 52.1 04:00:31 tweaks for very long tapes 04:01:08 [..+++++------] is very distinctive looking :) 04:01:26 it's like LASERS PEW PEW 04:01:27 myndzi: it's an anti-shudder 04:01:35 Whoa, death_to_defense is looking very nice 04:01:38 i know.. i invented them! ;p 04:01:40 52.1? yow 04:01:44 how did that happen 04:01:47 it's not up into the 70s 04:01:54 and it's basically a good old-fashioned slow rush program 04:02:07 using a 2pass decoy setup (the first 2/3 of 3pass) 04:02:18 ais523: less than .5 before you're at #4 04:02:21 score, I mean 04:02:39 (though be careful of over-fitting...) 04:02:55 When did Gregor take back 3rd place...? 04:03:18 probably shifting scores? 04:03:23 david_werecat: probably as a result of hill effects caused by new programs 04:03:33 all the good poke programs beat death_to_defence 04:03:42 I need to put some sort of antipoking in, I guess 04:07:33 !bfjoust death_to_defence http://sprunge.us/AdUJ 04:07:37 ​Score for ais523_death_to_defence: 51.0 04:07:37 this'll probably drop the score 04:07:43 but not by much, it seems 04:08:01 !bfjoust death_to_defence http://sprunge.us/Rbdi 04:08:04 didn't give it any new wins, anyway 04:08:04 ​Score for ais523_death_to_defence: 52.1 04:08:07 so it's not really worth doing 04:09:17 !bfjoust death_to_defence http://sprunge.us/cMiQ 04:09:21 ​Score for ais523_death_to_defence: 45.8 04:09:24 hmm 04:09:26 !bfjoust death_to_defence http://sprunge.us/Rbdi 04:09:28 was worth a try 04:09:29 ​Score for ais523_death_to_defence: 52.1 04:10:30 dtd and counterpoke have most (all?) of the programs covered between them 04:12:50 Not quite, Gregor_ill_bet_you_have_four_decoys, ais523_undermine, atehwa_test_blah and david_werecat_juggernaut beat both of them 04:12:58 ah, OK 04:13:17 …how does undermine beat death_to_defence? I'll have to check 04:13:54 ill_bet_you_have_four_decoys is surprisingly hard to beat with a good program, you need at least four decoys to be competitive nowadays :) 04:14:48 seems undermine simply does it with tripwire avoidance 04:16:41 !bfjoust death_to_defence http://sprunge.us/gZUM 04:16:42 Score for ais523_death_to_defence: 14.8 04:16:44 ​Score for ais523_death_to_defence: 49.8 04:16:53 :P 04:17:03 'wat?!' 04:17:06 seems like it got worse 04:17:32 trying something experimental 04:17:48 !bfjoust death_to_defence http://sprunge.us/NiFH 04:17:51 ​Score for ais523_death_to_defence: 47.8 04:18:42 !bfjoust death_to_defence http://sprunge.us/WSZF 04:18:45 ​Score for ais523_death_to_defence: 41.2 04:19:02 OK, I'll stop that 04:19:08 !bfjoust death_to_defence http://sprunge.us/Rbdi 04:19:11 ​Score for ais523_death_to_defence: 52.1 04:19:31 (I was adding in some tripwire avoidance, but it didn't help against enough and hurt against lots more) 04:20:20 !bfjoust defend7 http://sprunge.us/BTjd 04:20:23 ​Score for ais523_defend7: 11.8 04:20:27 let's see how it works nowadays 04:20:29 answer: not very well 04:21:04 !bfjoust defend5 http://sprunge.us/DVdY 04:21:07 ​Score for ais523_defend5: 10.5 04:21:15 remember when your name wasn't autoprefixed 04:21:33 it's a bad day to be a defence program 04:21:35 and no 04:22:16 !bfjoust tripstridewire (>)*9[(-----[+]>)*9[[+]]]>>[>(-----[+]>)*11[[+]]]>>[>(-----[+]>)*13[[+]]]>>[>(-----[+]>)*13[[+]]]>>[>(-----[+]>)*11[[+]]]>>[>(-----[+]>)*9[[+]]]>>[>(-----[+]>)*7[[+]]]>>[>(-----[+]>)*5[[+]]]>>[>(-----[+]>)*3[[+]]]>>[>(-----[+]>)*1[[+]]]>[[+]]>[[+]] 04:22:19 ​Score for ais523_tripstridewire: 20.4 04:22:19 trying some old programs again 04:22:23 to see if they even touch the hill 04:22:25 that one did 04:23:15 ais523: you don't remember 04:23:15 ? 04:23:20 no 04:23:21 people just added programs without any name prefix 04:23:25 !bfjoust speedy1 >>>>>>>>>(-[+[+[---]]]>)*21 04:23:27 then we started prefixing our names manually 04:23:28 ​Score for ais523_speedy1: 20.1 04:23:28 to avoid conflicts 04:23:29 it was great 04:23:30 was that before or after the hill was upside-down? 04:23:38 much before 04:23:41 first few days or week or so 04:24:00 so it seems we're not facing hill effects really; the programs have just got /that/ much better 04:26:53 I guess it would be possible to get an archive of all the old programs from the repository? 04:28:51 the hill is kept in hg 04:28:55 !bfjoust 04:28:56 ​Use: !bfjoust . Scoreboard, programs, and a description of score calculation are at http://codu.org/eso/bfjoust/ 04:29:01 http://codu.org/eso/bfjoust/in_egobot.hg/ 04:29:26 http://codu.org/eso/bfjoust/in_egobot.hg/index.cgi/shortlog/9a683e7e8d50 the beginning 04:29:54 ais523: http://codu.org/eso/bfjoust/in_egobot.hg/index.cgi/rev/45eec5187d79 people named them like this 04:30:05 elliott: thanks for the link 04:30:09 looks like you might have started the "nick_program" thing 04:30:15 david_werecat: np 04:30:49 !bfjoust ais523_vff_experimental >>>++++<----<++++<(-)*127(--++)*2500[[[>[---]+]+]+] 04:30:52 ​Score for elliott_ais523_vff_experimental: 21.1 04:30:55 not bad 04:33:11 ais523_death_to_defence.bfjoust vs elliott_ais523_vff_experimental.bfjoust 04:33:11 >>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>> -42 04:33:11 ais523_death_to_defence.bfjoust wins. 04:33:12 ais523: no fair 04:33:45 vibration_fool_fast :) 04:34:00 and yes, that's a defence program, what did you /expect/ to happen? 04:34:20 * ais523 adds flexible timer clear to the wiki 04:35:12 I think in future, the main use of defensive elements will be for things like skyscraper 04:35:28 which feel like a defence program, but doesn't use any sort of lock (although it /does/ use a tripwire) 04:38:24 so, BF Joust lives another day? 04:38:36 elliott: david_werecat_juggernaut.bfjoust vs elliott_ais523_vff_experimental.bfjous t<><><><><><><><><><>< <><><><><><><><><><>< 2elliott_ais523_vff_experimental.bfjoust wins. 04:38:42 it's not hopelessly broken, just shallower than I'd like 04:38:45 ais523: IMO, death_to_defence is probably notable enough for a description even if it hasn't gotten to #1 04:38:58 I put its main strategy on the wiki in the strategies section 04:39:04 someone should tell G. that BF Joust is still being innovated on today :) 04:39:09 well, the one that doesn't really matter 04:39:12 elliott: you can if you like 04:39:17 btw, your code block is broken 04:39:38 that's intentional, if you mean the line of non-codeblock in it 04:39:49 because it isn't code 04:40:06 it's ugly 04:43:12 well, it's a wiki, if there's a formatting you'd prefer that isn't misleading you can fix it 04:43:51 im laze 04:45:40 "Note that no defense programs are simple (the very nature of a defensive strategy makes this so)" 04:45:41 who wrote this 04:45:43 it's kind of stupid 04:46:01 not really 04:46:08 he doesn't mean the strategy is simple 04:46:08 yes really 04:46:11 but the implementation 04:46:15 which is certainly true 04:46:17 well all the defence concepts are as simple as attack concepts 04:46:28 it's just that you need complex implementations to be effective in practice -- but the same applies to attack too 04:46:28 but he didn't say the strategy is simple 04:46:31 he said the *programs* are 04:46:38 ok, it's the parenthical that's wrong then 04:46:42 no 04:46:48 (but plenty of defence programs are simple, they're just bad too; same as attack) 04:46:56 the nature of a defensive *strategy* makes defense *programs* complex 04:47:02 why 04:47:22 i don't think anyone would count shudder-class programs as "defensive" even though that's technically true 04:47:33 I would 04:47:35 but it's possible to write effective attack programs much more simply than equally effective defense programs 04:47:37 in fact, so does the article 04:47:42 so 04:47:44 * myndzi shrugs 04:47:54 just saying, i took the meaning of the sentence and it makes sense to me :) 04:48:14 i still disagree :P 04:48:23 you're welcome to! 04:51:01 elliott: leave vff_experimental on the leaderboard, btw 04:51:11 i was going to 04:51:19 it beating dreadnought is just too hilarious 04:52:33 if only by the smallest of margins that doesn't involve a draw 04:55:35 So that anti-triplock is still causing suicides off the tape... 04:58:59 working around triplocks can be awkward if you haven't had practice 05:00:36 Yes, especially since I have 13 brackets in a row 05:01:12 I've tried double bracketing the main clear loop, but it hurts the score. 05:01:44 there's a lazy way, which is just to, just after the place in your code where a cell is cleared, put a > then copy your entire attack loop there 05:03:36 That's what I tried. I'm still working out a better way to do that. 05:05:32 @ping 05:05:32 pong 05:05:59 @sing 05:05:59 pong 05:06:03 :-( 05:06:29 @ding 05:06:29 pong 05:06:39 @ring 05:06:39 pong 05:06:41 WRONG 05:06:44 @pong 05:06:44 pong 05:06:51 @hang 05:06:52 pong 05:06:56 -!- elliott has left. 05:07:04 @elng 05:07:04 pong 05:07:05 @null 05:07:05 Maybe you meant: tell url 05:07:07 @ellg 05:07:07 @iong 05:07:07 Plugin `tell' failed with: Prelude.head: empty list 05:07:07 pong 05:07:11 @lolg 05:07:12 Unknown command, try @list 05:07:12 :P 05:07:22 @pynge 05:07:22 pong 05:07:58 @bling 05:07:58 pong 05:08:11 @strin 05:08:11 Unknown command, try @list 05:08:12 @string 05:08:12 Unknown command, try @list 05:08:22 @boing 05:08:22 Maybe you meant: join ping 05:08:48 @list 05:08:48 http://code.haskell.org/lambdabot/COMMANDS 05:08:50 > join ping 05:08:50 Not in scope: `ping' 05:08:54 hmph 05:09:06 @list-all 05:09:06 Not enough privileges 05:09:07 @fliszt 05:09:07 http://code.haskell.org/lambdabot/COMMANDS 05:09:21 @f.liszt 05:09:22 Unknown command, try @list 05:09:23 @telemarketer 05:09:23 Unknown command, try @list 05:09:23 @li‌st 05:09:24 Unknown command, try @list 05:09:25 @papaya 05:09:25 Unknown command, try @list 05:09:27 @cadmium 05:09:27 Unknown command, try @list 05:09:27 yay, got it 05:09:31 @li‌st 05:09:31 Unknown command, try @list 05:09:39 > "@li‌st" 05:09:40 : 05:09:41 lexical error in string/character literal at chara... 05:09:47 @list 05:09:47 http://code.haskell.org/lambdabot/COMMANDS 05:09:57 it seems lambdabot ignores stray BOMs, but not stray zwnjs 05:09:59 @list 05:09:59 http://code.haskell.org/lambdabot/COMMANDS 05:10:15 !bfjoust dreadnought http://tinypaste.com/af8efaef/save.php?hash=56c3bf21ce6661a6bc28e93a41a73e7c 05:10:19 ​Score for david_werecat_dreadnought: 70.1 05:10:29 !bfjoust ++++++++++++++++++++++++++++>- 05:10:29 ​Use: !bfjoust . Scoreboard, programs, and a description of score calculation are at http://codu.org/eso/bfjoust/ 05:10:36 !bfjoust HI ++++++++++++++++++++++++++++>- 05:10:36 Nice, better anti-triplock for +3 05:10:38 ​Score for shachaf_HI: 10.7 05:11:31 david_werecat: draw with skyscraper? 05:11:32 !bfjoust lol (-)*127 05:11:35 ​Score for myndzi_lol: 11.0 05:11:53 !bfjoust myndzi 05:11:54 ​Use: !bfjoust . Scoreboard, programs, and a description of score calculation are at http://codu.org/eso/bfjoust/ 05:12:00 !bfjoust myndzi myndzi 05:12:02 ​Score for shachaf_myndzi: 7.9 05:12:10 ais523: Seems that way 05:12:29 and the losses are counterpoke, omega_turtle, and waterfall3 05:12:46 insidious wasn't likely to stay beating it for long 05:13:32 myndzi: lol presumably works better than a nop only against turtles? 05:13:45 I might update juggernaut with this code too... 05:13:51 i dunno :) 05:14:15 there has to be some reason why flag at 1 beats flag at 128 05:14:25 oh sure 05:14:36 stuff that ignores or decoys the first nonzero 05:14:43 or just overwrites it without noticing maybe 05:14:52 or isn't specifically designed to attack 128 05:14:59 or just a little luck ;) 05:15:31 it'd have to be zeroing the cell in order to distinguish 1 from 128 05:15:51 in order to avoid winning at that point, it'd have to unzero it again the next cycle 05:16:21 well, yes 05:16:28 there's plenty of-- around 05:16:29 :P 05:16:35 i was just curious what would happen 05:16:55 !bfjoust stupid_vibration >(+-)*-1 05:17:00 ​Score for ais523_stupid_vibration: 6.5 05:17:08 worse than a NOP :) 05:17:36 -!- elliott has joined. 05:18:03 hmm, challenge: write a program that beats exactly one other program on exactly one length and polarity (and loses to every other program on every length/polarity) 05:18:45 lol, how about 05:19:03 eh, well nah 05:19:08 i was gonna make two programs ;) 05:19:12 but even then it's kinda hard 05:19:16 .< vs < lol 05:19:38 exactly one length is easy, but with polarity, not so easy 05:20:08 !bfjoust >>>>>>-[>>>(-)*128](>)*1000 05:20:09 ​Use: !bfjoust . Scoreboard, programs, and a description of score calculation are at http://codu.org/eso/bfjoust/ 05:20:14 !bfjoust marginally_wins >>>>>>-[>>>(-)*128](>)*1000 05:20:17 ​Score for ais523_marginally_wins: 1.5 05:20:48 wtf, it's actually /beating/ some programs 05:20:54 !bfjoust marginally_wins >>>>>>-[>>>(-)*128](<)*1000 05:20:57 ​Score for ais523_marginally_wins: 1.5 05:21:05 oh, I see 05:21:14 !bfjoust marginally_wins >>>>>>-[(<)*1000]>>>(-)*128 05:21:17 ​Score for ais523_marginally_wins: 0.0 05:21:49 !bfjoust marginally_wins >>>>>>--[(<)*1000]>>>(-)*128 05:21:52 ​Score for ais523_marginally_wins: 0.0 05:22:06 good score 05:22:12 there we go 05:22:19 beats counterpoke on length 12 kettle 05:22:29 and no other single-case wins anywhere 05:22:42 nice :P 05:22:45 that wasn't too hard to construct… 05:22:55 'kettle'? 05:22:59 (pretty interesting given that it can't even flag-clear on length 12 kettle 05:23:02 myndzi: non-reversed polarity 05:23:05 reversed is sieve 05:23:08 elliott's names 05:23:10 lol ok 05:23:27 it's not really reversed! 05:23:33 they're both as normal as each other 05:23:43 one is the opposite of what you wrote though 05:23:44 that's why you need neutral names, like sieve, and kettle 05:23:48 ais523: actually, kettle is reversed, I think 05:23:57 pretty sure it's "sieve and kettle", "normal and reversed" 05:24:02 i'd totally just call em positive and negative 05:24:02 :P 05:24:08 negative = opposite of 05:24:11 myndzi: that's really confusing 05:24:14 because it works both ways round 05:24:19 only if you never took grade 1 math 05:24:31 oh wait 05:24:34 you mean *combinations*? 05:24:38 what 05:24:42 ps re math 05:24:45 + v +, - v + 05:24:46 etc. 05:24:48 `quote hours.*subtract 05:24:51 698) Dinner? At two? It's four here already. See, UTC+2. You need to add a couple of hours. Or was that subtract? I can never get those straight. 05:24:59 i don't remember what grade they taught the negative sign in 05:25:06 but it was early 05:25:06 :P 05:25:10 beautiful: http://codu.org/eso/bfjoust/egojsout/?l=2f375a1d0bc6000e54ea3e14763f90dd87b5888c&r=ee72388f6d3cd927ddb7762853c3b4275c920ec1&t=12 05:25:15 the (-)*128 is completely irrelevant 05:25:26 unless it affects the behaviour of some program, which is unlikely 05:25:42 nice fleeing 06:08:41 -!- zzo38 has joined. 06:19:43 Which calendar and year numbering do you like? * BC/AD * BCE/CE * Discordian * Stardate * Holocene * Tropical year * UNIX * Pax * International Fixed * Astronomical year numbering * Mayan long count * Chinese * ISO week date * 06:19:54 Unununium 06:22:45 hi 06:25:49 http://xkcd.com/1061/ 06:25:52 i'd do it. 06:26:49 elliott, no way you don't know what I 06:26:52 I'm talking about 06:26:55 hi 06:27:32 I once promised that I'd modify an open-source script that was competing with my product, I never got around to it 06:27:36 Maybe I should do that soon 06:27:48 Person thought that I was reselling the open-source script, but I wasn't 06:28:56 https://www.xstreetsl.com/modules.php?name=Marketplace&file=discussions&ItemID=374979 click cancel 06:34:03 hi 06:37:35 hi 07:02:54 That kind of Earth Standard Time is too strange 07:05:23 It is funny 07:10:10 -!- monqy has quit (Quit: hello). 07:10:53 Is mathematics a lifeform? 07:10:56 zzo38: i'm looking into something interesting(debatable) which might be up your alley(debatable). warioware diy ... being a proprietry game about making games i know it's not extremely relevant here(debatable), but it's 07:11:39 itidus20: I don't know. 07:12:54 i guess nintendo games are more on my level than esolangs.. but i am studying how it actually works.. 07:14:20 `addquote Is mathematics a lifeform? zzo38: i'm looking into something interesting(debatable) which might be up your alley(debatable). warioware diy ... being a proprietry game about making games i know it's not extremely relevant here(debatable), but it's itidus20: I don't know. 07:14:28 843) Is mathematics a lifeform? zzo38: i'm looking into something interesting(debatable) which might be up your alley(debatable). warioware diy ... being a proprietry game about making games i know it's not extremely relevant here(debatable), but it's itidus20: I don't know. 07:22:03 -!- azaq23 has joined. 07:22:15 -!- azaq23 has quit (Max SendQ exceeded). 08:19:32 -!- Taneb has joined. 08:19:51 Hello! 08:25:16 -!- UN_MANITAS_MADRI has joined. 08:26:09 #madrid 08:26:31 `welcome UN_MANITAS_MADRI 08:26:32 hi 08:26:34 UN_MANITAS_MADRI: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: http://esolangs.org/wiki/Main_Page. (For the other kind of esoterica, try #esoteric on irc.dal.net.) 08:27:23 -!- UN_MANITAS_MADRI has quit (Client Quit). 08:27:28 -!- Phantom_Hoover has joined. 08:27:44 -!- UN_MANITAS_MADRI has joined. 08:32:10 -!- UN_MANITAS_MADRI has left. 09:14:22 -!- Taneb has quit (Ping timeout: 244 seconds). 09:23:43 "Looked for a secret base in a dream" http://oi46.tinypic.com/16leoo3.jpg 09:26:06 "Home of boiled cat" 09:27:49 beat that, fungot 09:27:49 itidus20: i thought nne? fnord?) altitude info and whatnot... i gave up 09:28:04 you win, fungot 09:28:05 itidus20: i also seem to forget it. the reason member confused me is that i need 09:29:52 /clear 09:31:28 olsner: yeah.. i like that 09:31:35 it's almost like advertising a restaurant 09:31:55 welcome to the home of fried chicken 09:32:23 the main branch of a big chain of boiled cat restaurants 09:33:07 nightmare fuel 09:34:45 hi 09:34:59 whoa... 09:35:53 -!- qfr has left. 09:36:12 Language C/C++ Perl PHP Java/-Script brainfuck Engrish 09:36:32 ? 09:37:06 its from the same website as the link to the home of the boiled cat 09:37:18 i am surprised to see brainfuck on the list though 09:40:46 sorry.. i'm in nonsense mode 09:42:00 -!- Taneb has joined. 09:43:09 -!- MoALTz_ has joined. 09:43:44 Hello 09:45:09 /\' 09:45:22 hi elliott 09:46:24 -!- MoALTz has quit (Ping timeout: 265 seconds). 09:49:05 theres no way these translations are remotely accurate 09:49:12 unless this guy is insane 09:51:32 /\' 09:51:47 \o/ 09:52:53 "I had come out a rainbow on my way home last Friday. I say it's large enough for the first time may not fit on the camera can see the both ends are rare." 09:54:20 -!- zzo38 has quit (Remote host closed the connection). 09:55:14 and... i'll try to wrap it up with "Yesterday was the end of student drinking in pairs. Grilled chicken pieces and a thorn bird of fear. Students are high 6,500 yen." 10:01:07 "Made to seek good and quiet. It is the only resonance in trouble. What a little anxious Woonsocket" 10:01:55 enjoy your matrix of woonsocketry 10:02:26 this is not good for my thinking 10:02:48 but it's incredibly fun for my imagination 10:03:02 almost like drugs might be 10:04:13 oh. this diary entry is titled "Idol collage which is made ​​by superimposing the photo of a celebrity's face on a pornographic image by using a computer [2008/11/01 00:44:00]" 10:05:20 -!- ais523 has set topic: warning: "hi" is frequently misinterpreted as a threat | http://codu.org/logs/_esoteric/. 10:05:28 ais523: hi 10:05:34 aargh 10:06:37 `quote hi 10:06:39 6) His body should be given to science. He's alive :P Even so. \ 9) Lil`Cube: you had cavity searches? not yet trying to thou, just so I can check it off on my list of things to expirence \ 13) "You're at that stage in your life where you're going to want to do some things in private." --my mom \ 16) hmm, that was not entirely successful 10:07:10 `quote cereal 10:07:13 460) Non sequitur is my forte On-topic discussion is my piano Bowls of sugary breakfast cereal is my mezzoforte Full fat milk is my pianissimo On which note, I'm hungry 10:12:18 nice usability failure, they have a contact lens working as a camera and screen, and when it recognizes the face of an assassin he gets a message 10:12:20 ... on his cell phone 10:13:37 hmm, "usability"? not sure, but fail anyway 10:13:45 misfeature perhaps 10:19:25 nice that they included simon pegg for comic relief though 10:32:26 -!- rszeno has joined. 10:32:43 hi 10:36:16 rszeno: ouch 10:36:50 ais523, ouch? 10:36:57 see topic 10:37:27 oops, sorry 10:38:28 -!- olsner has quit (Ping timeout: 244 seconds). 10:38:33 i usualy read logs before i join the channel, but not today 10:41:46 -!- Patashu has quit (Disconnected by services). 10:41:47 -!- PatashuXantheres has joined. 10:42:23 we've been advancing the state of BF Joust 10:42:40 david_werecat has been making programs that beat almost everything, I've been coming up with creative ways not to lose to them 10:50:35 -!- olsner has joined. 10:54:00 is a zero sum game, Nash equilibrium? 10:54:56 i have no idea how to define the problem to be solved 10:55:23 I don't think it's a Nash equilibrium 10:57:00 But I'm far from an expert at Game Theory 10:57:27 rszeno: a nash equilibrium is a set of strategies a game, where no single player can get better off by changing their strategy 10:57:32 *strategies for a game 10:57:33 i don't know too 10:57:56 as in, given that all the other players follow their plan, you should follow yours too 10:58:57 -!- elliott has quit (Remote host closed the connection). 10:59:02 yes but sometime is possible to exists a strategy to win all times, in same cases 11:01:30 i don't remember the name of the game, something with 0 and 1, three in a line or more. I remember the one who start first and follow a 'plan' always win 11:02:59 if you have a strategy that always wins, that's a nash equilibrium for you, no matter what your opponent is planning, as you can't be any better off than winning 11:03:12 and it's a nash equilibrium for them too, as they can't do any better than losing 11:03:20 so you have a nash equilibrium altogether 11:13:22 maybe i'm wrong but some constraint imposed by bf joust rules like number of cycles 100000, set of input chars, and aditional the lenght of the program could make possible to generate, brute force, a huge number of possible programs( strategies in our case) and select or at least analize them 11:14:47 will too many combination? 11:15:38 i speculate in fact 11:16:20 when i see a interesting 'problem' i always look for a possible solution 11:35:27 The first bit of my computer arrived today 11:43:17 There is no feeling worse than needing to buy something, but being awake before the store is open. 11:47:13 how about waking up after it closes? 11:47:15 -!- yorick has quit (Ping timeout: 260 seconds). 11:49:09 -!- ssue has joined. 11:49:36 hello world! 11:49:48 `welcome ssue 11:49:51 ssue: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: http://esolangs.org/wiki/Main_Page. (For the other kind of esoterica, try #esoteric on irc.dal.net.) 11:50:21 Hello 11:50:27 hello 11:50:33 You new? 11:50:38 yes 11:50:45 Two questions: 11:50:49 Do you live in Hexham? 11:50:56 no 11:51:03 Do you live in Finland? 11:51:07 no 11:51:10 Okay 11:51:31 How did you get into esolangs? 11:52:02 by someone's introduction 11:52:09 actually... in here 11:57:31 -!- rszeno has left. 11:58:52 welcome, anyway 12:00:46 thank u 12:01:50 What's your favourite esoang? 12:02:24 well... 12:03:07 I think "aheui" made by puzzlet is my best favourite 12:03:41 it's made of "Hangul" characters 12:03:47 Hmm 12:03:54 but not in Korean language, actually 12:03:55 I've never used that one 12:04:37 I like Piet 12:04:40 http://puzzlet.org/personal/wiki.php/%EC%95%84%ED%9D%AC~Specification here you can find more details 12:04:46 hmm... 12:04:57 http://dangermouse.net/esoteric/piet.html 12:07:04 looks interesting 12:07:42 colours are the source code? 12:08:08 source code's in image form, indeed 12:08:14 so it makes sense to lex it as colours 12:08:24 (although it's ceased to be color-related by the time it's parsed) 12:08:55 oh 12:15:46 @tell elliott shaddup 12:15:46 Consider it noted. 12:18:27 -!- Taneb has quit (Ping timeout: 252 seconds). 12:55:51 -!- PatashuXantheres has quit (Ping timeout: 260 seconds). 12:56:23 -!- Patashu has joined. 12:57:34 -!- Lumpio- has quit (Ping timeout: 252 seconds). 13:20:41 -!- ArchetypeAngel has joined. 13:21:21 -!- Taneb has joined. 13:21:23 Hello 13:22:09 -!- ArchetypeAngel has left ("Adios"). 13:30:21 -!- Lumpio- has joined. 13:48:10 OK so the HIB Psychonauts binary is crashing with a floating point error and I can find no documentation of this anywhere else on the internet. 13:48:10 Phantom_Hoover: You have 1 new message. '/msg lambdabot @messages' to read it. 14:32:25 Phantom_Hoover: probably it's dividing by zero 14:34:03 try using a number that is not zero 14:34:52 Indeed 14:37:59 -!- david_werecat has quit (Read error: Connection reset by peer). 14:38:24 -!- david_werecat has joined. 14:42:54 olsner, so overwite the binary with 0xFF? 14:47:22 if that's what you want, sure 14:47:34 Phantom_Hoover: I was about to download that but it's 4G 14:47:38 I'll wait until later, I think 14:47:49 when I can better figure out space management and have a more reliable connection 14:48:37 It's so liberating to have a hard drive that I'm basically never going to have to grub for space on. 14:48:53 I remember when I was stuck on the family laptop and there was like 2G of free space. 14:51:02 There are too many games in the Bundle. I did a bit of LIMBO yesterday, and the intro of Bastion today, but haven't gotten to Psychonauts at all. 14:52:05 That floating-point bug happens like right at the start of actual gameplay. 14:52:16 Bastion was good, if short. 14:52:27 The shortness may come from my superfluous free time, though. 14:52:53 Based on the intro bit, I kinda-sorta suck at it, but that's what I do when it comes to anything at all actiony. 14:55:07 I spent most of it alternating between mashing space and the mouse buttons with the machete and musket and running away and sniping with the machete's alt-fire thing. 14:58:48 I'm not sure what space does, I've been playing it with a pad. 15:00:57 Evade. 15:01:47 It does that dodge thing which results in some good old Zelda-style "roll across the map" action. 15:02:09 -!- Taneb has quit (Ping timeout: 256 seconds). 15:02:51 -!- ais523 has quit. 15:07:00 Oh, of course. 15:08:15 They're A, B and X, respectively. Well, cross, circle and square physically, but it says "gamepad not detected" unless I enable the X360 controller fakery mode. 15:19:59 Does the Limbo port work well? 15:20:35 I've just used the Steam versions. 15:27:01 !bfjoust dreadnought http://tinypaste.com/caab8d2c/save.php?hash=da1da4f0baff73448dd35a69484e9670 15:27:04 ​Score for david_werecat_dreadnought: 71.4 15:31:11 -!- pikhq_ has joined. 15:31:26 -!- pikhq has quit (Read error: Operation timed out). 15:38:44 -!- Taneb has joined. 15:39:49 Hello 15:40:02 * Taneb reached Axe Proficiency level 1! 15:49:01 -!- Taneb has quit (Quit: Leaving). 15:52:55 ... looks like Taneb exercised his Axe Proficiency on his internet connection 15:54:09 -!- Patashu has quit (Ping timeout: 244 seconds). 16:06:44 david_werecat: Did you just win? 16:07:13 I've been in first place for around 2 days now. 16:07:38 Oh, okay. I tend not to check. 16:38:16 -!- monqy has joined. 16:46:51 -!- sebbu2 has joined. 16:46:51 -!- sebbu2 has quit (Changing host). 16:46:51 -!- sebbu2 has joined. 16:48:04 -!- sebbu has quit (Ping timeout: 245 seconds). 16:49:23 -!- zzo38 has joined. 17:01:43 -!- david_werecat has quit (Ping timeout: 245 seconds). 17:27:06 -!- Taneb has joined. 17:30:26 Hello 17:33:31 zzo38, some of these functions in Prelude.Generalize are too general to describe easily with my limited describing ability 17:38:40 Taneb: O, well, it could be described as a generalize version of something else, giving some examples of the generalizations 17:38:56 choice and count right now 17:41:22 Both of those names are based on Parsec but for any Alternative 17:41:48 This is the downside of never having used Parsec, heh 17:42:28 The type is too restrictive f should be Applicative rather than Alternative; I will fix that in next version. 17:42:34 There are a couple of very small changes I'd make, mostly using liftM instead of fmap in a couple of places to make the thingy smaller 17:42:44 Type restriction? 17:42:57 I mean the constraint 17:43:08 That's what I was talking about too 17:43:50 So, (<>>=) and (>>==) don't have the Functor requirement 17:44:25 Also, please put null next to unnull in the export list? 17:44:30 I just dislike that Functor is not a superclass of Monad 17:44:35 Taneb: OK, I will move that too 17:45:17 The Functor/Monad problem is a problem, but it's a problem 17:45:24 That made a lot more sense in my head 17:45:48 It's a problem that exists, and the problem being fixed won't break anything 17:46:09 I moved unnull/null in the export list and changed the constraint of count 17:48:21 I will upload the changes later today 17:51:33 But show me what you have so far? 17:53:01 I've just begun changing my style, because I'm indecisive and excessively terse 17:54:59 So hang on? 17:55:26 -!- david_werecat has joined. 17:56:35 david_werecat: what did you change with that last sub? 17:56:51 Of dreadnought? 17:57:18 I improved the anti-triplock code, which also made it much faster. 17:57:45 what is the anti triplock code? 17:57:49 timer clear? 17:58:01 Hey david_werecat fix psychonauts for me 17:58:24 i coldnt download it Phantom_Hoover 17:58:37 Did you use the torrent. 17:58:39 but i dont have enough ram to run it anyway 17:58:41 You're meant to use the torrent. 17:58:56 the torrnent kept sayingpermissin denied from thewebseed 17:58:57 It even tells you when you click the direct download link, use the torrent. 17:58:58 The anti-triplock is a dual nested loop that leads into a copy of the clear routine. 17:59:08 zzo38, why is option called option, rather than, eg., snocA? 17:59:25 so yeah 17:59:35 couldnt download it by either method 17:59:38 Also how do you not have the ram to run a 7-year-old games. 17:59:40 *game 17:59:48 netbook 17:59:54 only got 1gig 18:00:30 ...did computers normally have more ram than that in 2005? 18:00:37 I honestly don't remember 18:00:49 the windows version onlyreqires 512mb 18:00:56 which is all that wasavailable then 18:01:13 I see your netbook also has a very unreliable spacebar. 18:01:21 mac and linux require 2gig 18:01:31 yeah my phonne space bar is teh suck 18:01:36 it got wet 18:01:51 the keys near itdouble tap or dont tap sometimes too 18:04:32 Taneb: It is called option simply because that is its name in Parsec. 18:17:53 http://dwarffortresswiki.org/index.php/DF2012:Giant_sperm_whale 18:18:06 Oh my god I need to capture one of these. 18:18:17 I don't care how, I am going to do this. At some point. Maybe. 18:30:06 -!- lifthrasiir has quit (Ping timeout: 260 seconds). 18:31:08 -!- lifthrasiir has joined. 18:35:23 Taneb: I could add snocA as another name for the same thing if it is helpful 18:36:24 -!- Taneb has quit (Ping timeout: 245 seconds). 18:41:58 zzo38, I would find it extremely helpful. 18:42:13 OK 18:44:43 OK, I have done that. 18:44:54 Can I have a link to the source? 18:47:07 [14:35:18] Taneb: I could add snocA as another name for the same thing if it is helpful 18:47:09 [14:36:19] Taneb [~Taneb@host-84-13-68-182.opaltelecom.net] has quit IRC: Ping timeout: 245 seconds 18:47:11 [14:41:53] zzo38, I would find it extremely helpful. 18:47:13 [14:42:08] OK 18:47:15 oh crap 18:47:15 [14:44:38] OK, I have done that. 18:47:26 Stupid KVIrc 18:47:43 Sorry 18:47:45 Dude the lines are right above, did you have to paste oh all right. 19:01:38 -!- Taneb has joined. 19:02:13 HEllo 19:05:47 Taneb: I have added snocA, it is the same as option. 19:05:51 :) 19:12:22 CSI: 19:12:33 "My god, there are bits in this image! Maybe it's a code?" 19:12:56 Taneb, so DF now has giant sperm whales. 19:13:08 As opposed to regular sperm whales? 19:13:09 They're eight times the size of a fully-grown dragon. 19:13:19 SO MUCH AMBERGRIS 19:23:23 anyone here have any BTC i can buy? 19:23:51 Did you know that there are, like, websites for that? 19:24:04 yep 19:24:10 i tried 19:24:13 its too hard 19:24:35 Whilst conducting a financial transaction with a random stranger over IRC is easy. 19:25:02 you're a stranger 19:25:10 several people in here are cool 19:26:39 I am genuinely curious whom you would trust to actually pay significant amounts of money. 19:27:27 Bitcoins, I heard they're only used by criminals for illegal things. 19:29:13 Like for buying drugs and I think assassinations? 19:29:35 exactly fizzie 19:29:49 fizzie, don't forget pretentious programmers! 19:29:57 i want to buy an assassin 19:30:11 A pretentious programmer assassin. 19:30:24 who will sell me BTC for an assassin 19:30:45 Who can I assassinate? 19:30:45 if the transaction does not go through, i send the assassin after you 19:30:55 Buttbuttinate. 19:30:59 So you're going to send an assassin after everyone? 19:31:11 This is just like that one Neil Gaiman short story! 19:32:26 i would trust ais to complete the transaction 19:32:30 and gregor 19:32:46 people who are easily stalked by my assassin 19:33:16 Taneb, OK I'm going to try a DF worldgen the same as previously except this time I will set the megabeast count to $ridiculous. 19:33:56 Phantom_Hoover: Or perhaps even to BTCridiculous? 19:34:16 the most ridiculous 19:34:16 ridiculous. 19:34:28 (Pronounced lridiculous.) 19:38:44 Phantom_Hoover, see how many cities get covered in ambergris 19:41:00 Taneb, oh, fun fact: children born to members of hostile civs in your fort have a 50/50 chance of being on your side from some reason. 19:41:10 Heh 19:41:33 I think this might be exploitable to use elf children as cannon fodder. 19:41:57 "CAPTURE THE PREGNANT FEMALES! HALF OF THERE OFFSPRING SHALL BE /OURS/" 19:42:18 They'll even fight with their parents and siblings. 19:42:36 I only found this out because I was playing Fortress Defence and some of the added civs breed like crazy. 19:42:39 with meaning agaist here, I presume? 19:42:53 Yes. 19:43:09 As opposed to alongside 19:43:31 Since I used prisoners for target practice they actually did pretty well when given fire support. 19:43:47 Phantom_Hoover, challenge: make a fortress populated entirely by elves 19:43:50 They could clear out the jail given time. 19:44:06 Taneb, you can't give them orders or anything and ISTR that they don't play nicely with dorfs. 19:44:13 Aww 19:44:31 You can't engineer a Cacame, which is a bit sad. 19:45:06 Although hmm, these days non-dorf migrants are possible, since they don't all grow from spores right outside the boundaries of your embark zone,. 19:54:53 -!- elliott has joined. 19:56:24 11:02:59: if you have a strategy that always wins, that's a nash equilibrium for you, no matter what your opponent is planning, as you can't be any better off than winning 19:56:24 11:03:12: and it's a nash equilibrium for them too, as they can't do any better than losing 19:56:24 11:03:20: so you have a nash equilibrium altogether 19:56:25 elliott: You have 1 new message. '/msg lambdabot @messages' to read it. 19:56:31 seems trivial it's not, then 19:56:41 @tell quintopia no 19:56:41 Consider it noted. 19:57:08 12:03:07: I think "aheui" made by puzzlet is my best favourite 19:57:11 hehe, isn't that lifthrasiir? 19:59:50 19:23:23: anyone here have any BTC i can buy? 19:59:59 :D 20:02:27 "The yesod team is trying to provide a PHP solution for web development, written in haskell." 20:02:30 -ouch- 20:03:25 Could be worse 20:04:18 It could be the Microsoft Windows 8 team, writing in Visual J# 20:12:41 processing data without loading it all into memory is still an open, controversial problem in Haskell :/ 20:12:44 http://www.reddit.com/r/haskell/comments/u8fe6/response_to_conduit_bugs/ 20:14:10 21:02 "The yesod team is trying to provide a PHP solution for web development, written in haskell." 20:14:13 kmc: that guy is a troll 20:14:58 he's shitting over that entire thread (ok, the thread is mostly shit to start with) with anti-yesod nonsense to the point that even the writer of the conduit bugs post says he's misinterpreting him 20:15:39 I think he might have been the person who made that big stink about Yesod on Hacker News a while ago, too (it annoys me that I know this solely because it got on /r/haskell for some godforsaken reason) 20:17:02 21:12 processing data without loading it all into memory is still an open, controversial problem in Haskell :/ 20:17:07 kmc: this is kind of unfair 20:17:20 it's easy to do that, just use regular, strict handle IO, the same as you would in any other language 20:17:38 (and anyway when you're dealing with something like a socket "loading it all into memory" isn't an option, because it's streaming, so that's not really the problem being solved) 20:18:07 it's kind of unfair but kind of fair too 20:18:14 i see 20:19:51 interleaving strict handle IO with your logic is a lot more awkward in Haskell than other languages 20:20:17 it pushes your code further from nice idiomatic Haskell 20:21:02 so the enumeratoritataritaratee drama is relevant to the high level question of "can you do webdev / whatever nicely in idiomatic Haskell" 20:21:09 :kmc: What do you mean by that, exactly? 20:21:21 What does "interleaving strict handle IO with your logic" mean? 20:22:30 kmc: Sure it's awkward, but it's still possible. 20:22:33 it means every piece of code is an IO action and is like "do { computeFoo; x <- readMoreShit; computeBar x }" 20:22:42 And it's, e.g. less awkward than C because of all the concerns you don't have to worry about. 20:22:46 (But more awkward than Python or whatever.) 20:23:05 "better than C for webdev" 20:23:06 Taneb, finished that megabeast-infested world. 20:23:09 what a high bar you've set elliott 20:23:11 kmc: Yes! 20:23:13 It's... a total shithole, it seems. 20:23:16 Phantom_Hoover, what's it like? 20:23:19 Anyway, it's not as if processing streaming data is all *that* relevant to web dev. 20:23:23 Especially if you don't need file uploads. 20:23:25 yeah yeah 20:23:37 i'm not trying to be the "Haskell is broken, CHECKMATE ATHEISTS" guy 20:23:40 Well the most common cause of death seems to be werebeast. 20:23:42 Anyway I don't really think the argument is very relevant, but that's mostly because I have a strong position on it :) 20:23:47 but i think this is pretty important 20:23:52 what's your strong position 20:23:55 Phantom_Hoover, sounds like inner-city Glasgow 20:24:13 there are a lot of tasks which are much easier in Haskell than other languages 20:24:17 but there are also some which are much harder 20:24:30 In fact I get the impression that basically everyone's either dead from megabeasts, dead from werebeasts, or a werebeast. 20:24:30 i gotta go eat lunch now though 20:24:31 ttyl 20:24:48 kmc: Why does every piece of code need to be IO action? I find that doesn't need like that at all 20:25:07 "ttly"!? 20:25:14 ta-ta you later? 20:25:57 Isn't there some library that's supposed to make Webdev in C++ nice? 20:26:01 (Or is it C, I forget) 20:26:19 Sgeo: PHP is written in C, iirc 20:26:31 -!- MoALTz_ has quit (Ping timeout: 250 seconds). 20:26:34 http://www.webtoolkit.eu/wt 20:26:47 olsner, does that count as making it "nice"? 20:27:08 kmc: What is "interleaving strict handle IO"? 20:28:45 21:23 what's your strong position 20:29:30 I agree with Tekmo a lot more than Snoyman (although I think both of them approach the argument terribly making it essentially fruitless), but I also don't think Tekmo's solution is all that good :P 20:29:41 Disagreeing with everyone is usually the best position. 20:30:02 I disagree. 20:30:04 disagreeing with everyone must mean that you're the only one who's right 20:30:20 Yes! 20:30:33 can i disagree with everyone too 20:32:01 No, that'd be stupid 20:34:01 monqy: yes, but unfortunately it seems you have to agree with either me or Taneb about whether or not you can disagree with everyone 20:34:19 olsner, no he doesn't 20:34:26 He could take a third option 20:35:05 which third option? 20:35:25 "No, but it's not stupid" 20:37:56 Breaking news from Sweden: "Boy and grandfather seriously injured" 20:38:37 No they weren't 20:38:43 oh well, at least the cannibal drug has disappeared from reporting 20:40:20 No it hasn't 20:41:10 Taneb: I am glad you agree 20:42:21 So am I 20:44:03 I have written the "dvi-processing" package which use IO and non-IO together and it doesn't need every piece of code to be an IO action like your example code above, and I don't think any program needs to be like that 20:49:22 -!- pikhq has joined. 20:51:38 -!- pikhq_ has quit (Ping timeout: 240 seconds). 20:54:39 -!- Taneb has quit (Quit: Leaving). 21:05:36 -!- derdon has joined. 21:12:22 -!- azaq23 has joined. 21:17:09 -!- zzo38 has left. 21:46:21 Was going to write a quick thing in Racket, but I need formatting directives, and it seems like a bit of a pain 21:59:37 -!- sebbu2 has changed nick to sebbu. 22:16:30 -!- Alheris has joined. 22:17:19 -!- Hybris has joined. 22:17:52 hi 22:19:00 `welcome Hybris 22:19:03 Hybris: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: http://esolangs.org/wiki/Main_Page. (For the other kind of esoterica, try #esoteric on irc.dal.net.) 22:20:10 Oh, so that's what this is. Like brainfuck? 22:20:49 Yes 22:21:16 -!- DHeadshot has joined. 22:21:50 -!- Hybris has quit (Quit: Well, not for me. Enjoy yourselves.). 22:24:05 im enjoying myself 22:29:50 that's not a bad idea 22:30:01 -!- david_werecat has quit (Excess Flood). 22:30:31 -!- david_werecat has joined. 22:30:53 -!- Alheris has quit (Quit: ircII EPIC5-1.1.2 -- Are we there yet?). 22:31:54 -!- nortti_ has joined. 22:41:18 @ping 22:41:18 pong 22:41:25 :'( 22:41:29 @ding 22:41:30 pong 22:41:38 That really should say "dong". 22:42:03 ("Haha, you said 'dong'." Okay, maybe not.) 22:43:30 @pong 22:43:30 pong 22:43:32 @dong 22:43:33 Maybe you meant: do docs ping 22:44:55 @plng 22:44:56 pong 22:45:03 @pmng 22:45:03 pong 22:45:07 I did a bad thing 22:45:29 I accidentally caused my gf to start focusing more on LSL than on Haskell 22:45:33 @p1ng 22:45:33 pong 22:45:34 So 31337. 22:45:43 !tink 22:45:44 @91ng 22:45:44 pong 22:45:48 Err, dahell 22:45:49 @tink 22:45:49 Maybe you meant: kind ping time 22:45:51 Pff 22:46:15 @p1n6 22:46:16 pong 22:46:22 @hell elliott I'M GIVING YOU HELL 22:46:22 Maybe you meant: help tell 22:46:25 *snaps* 22:46:31 -!- elliott has left. 22:46:44 Very good. Sadly 91n6 is one typo too many. 22:48:36 @73ll f1zz13 ur s0 1337 h4x0r 22:48:36 Consider it noted. 22:49:02 @nightmare 22:49:02 Unknown command, try @list 22:49:26 Is there an expiration time for messages, incidentally? 23:03:28 Sgeo: via google, is that linden scripting language? 23:03:43 itidus20, yes 23:24:23 -!- zzo38 has joined. 23:33:03 -!- azaq23 has quit (Quit: Leaving.). 23:39:39 * Sgeo wonders what Shen is like 23:44:05 -!- george97 has joined. 23:44:12 -!- george97 has quit (Client Quit). 23:45:53 -!- nortti_ has quit (Quit: leaving).