2011-03-07T00:00:07 do you have bss03's latest version of the matchmaking page open? 2011-03-07T00:00:10 *** davidjliu has quit IRC (Quit: Page closed) 2011-03-07T00:00:17 no 2011-03-07T00:01:19 I don't like the "at random" part. 2011-03-07T00:01:25 I really don't want to disqualify any submissions after they've entered the contest unless they are causing actual problems with the servers 2011-03-07T00:01:34 You don't really do that in sql with any effeciency. 2011-03-07T00:02:45 it's kinda wordy... 2011-03-07T00:02:53 since it's only used to break ties getting rid of it shouldn't be effect much 2011-03-07T00:03:11 anyway in the future section 2011-03-07T00:03:13 where do you see disqualify? 2011-03-07T00:03:31 it's not in the page anymore 2011-03-07T00:03:44 I noticed it in your old page 2011-03-07T00:03:47 but anyway 2011-03-07T00:04:05 that was probably the "functional test game" 2011-03-07T00:04:14 in the future section I'd like to get rid of the first choice for seed the seed player 2011-03-07T00:04:15 I just didn't explain it well. 2011-03-07T00:04:41 so the seed is always based on user not submission basically 2011-03-07T00:05:19 new submission should come first, the cooldown prevents spamming 2011-03-07T00:05:20 then you don't need to worry about a pairing/resubmission cooldown at all and spamming submissions doesn't give you any value 2011-03-07T00:05:55 any cooldown shorter than the time to play your next match gives you an incentive to spam 2011-03-07T00:06:02 true... 2011-03-07T00:06:19 at which point just go by player instead of submission and be done with it 2011-03-07T00:07:07 The "at random" just means I take the first row the DB outputs. 2011-03-07T00:07:14 That why it is "random". 2011-03-07T00:07:23 put in an order by and define the criteria 2011-03-07T00:07:33 bss03-AFK: ugh.. stop using afk nicks.. irc has /away 2011-03-07T00:07:39 (which is submission_id, aka timestamp) 2011-03-07T00:07:49 I use the timestamp. 2011-03-07T00:07:53 nothing happend 2011-03-07T00:08:07 That en I say, If there are ties (unlikely) I take whatever the DB gives first. 2011-03-07T00:08:12 *** bss03-AFK is now known as bss03 2011-03-07T00:08:35 you can't have a tie with a unique id 2011-03-07T00:09:39 I don't think we actually want to prefer thier earlier or later submissions, so I'm hesitant to order by submission_id. 2011-03-07T00:10:06 a single users earlier/later? 2011-03-07T00:10:18 or the set of all new submissions? 2011-03-07T00:10:31 There's no going to be a lot of ties that are resolved at "random" anyway. Usually my last comparision is either a timestamp or a trueskill match quality. 2011-03-07T00:11:01 don't use timestamp, use unique ids 2011-03-07T00:11:06 Set of all submissions. Of course we only want to use the latest submission for most stuff. 2011-03-07T00:12:09 where are you using a timestamp that submission_id wouldn't give the same ordering (except in the case of a tie for the timestamp of course)? 2011-03-07T00:12:26 Comparing timestamps is virtually required. 2011-03-07T00:12:37 Would you rather I went by game_id? 2011-03-07T00:12:40 yes 2011-03-07T00:12:50 unique_id's are in order of time anyway 2011-03-07T00:12:57 and integers are faster 2011-03-07T00:13:14 I don't want to index timestamps 2011-03-07T00:13:42 Well, unique id aren't guaranteed to increase monotonically as time does. 2011-03-07T00:13:51 btw, I glad you've been putting in the work you have, it is looking good so far. 2011-03-07T00:14:02 But, I'm not gonna fight on that point. game_id or somesuch is fine. 2011-03-07T00:14:45 I think they are, if I know what monotonically means. 2011-03-07T00:14:53 you always count up 2011-03-07T00:15:06 Now, I really must get to bed. "Wake up call" in 7 hours. 2011-03-07T00:15:25 k, cya 2011-03-07T00:15:27 RDBMSes are allowed to re-use unique ids that are not longer in the table. 2011-03-07T00:15:29 I think they're a reason they're also called autoincrement 2011-03-07T00:15:39 we won't be doing that 2011-03-07T00:15:41 Most don't. 2011-03-07T00:15:44 there's 2011-03-07T00:16:05 the mysql auto_inc does a max() on the table 2011-03-07T00:16:20 MySQL autoincrement in particular doesn't -- it just does max() + 1. 2011-03-07T00:17:02 which is exactly what we need to guarantee right? 2011-03-07T00:17:10 yes, so id's will work 2011-03-07T00:17:36 Yeah, game_id will work fine. I'm a theoretical purest though. 2011-03-07T00:17:44 Why do you think I learned Haskell? ;) 2011-03-07T00:17:50 :) 2011-03-07T00:17:51 Night all. 2011-03-07T00:17:54 night 2011-03-07T00:17:56 :) 2011-03-07T00:17:58 goodnight 2011-03-07T00:18:03 again :P 2011-03-07T00:20:59 so the main server setup script minimally works installing stuff and setting up apache to serve up pages 2011-03-07T00:21:37 but I'm going to wait to add anything about setting up cron jobs until the new scripts are done since it appears they are all changing names anyway 2011-03-07T00:22:32 so now I just need to give it a good dose of flexibility :P 2011-03-07T00:24:29 we still using compile_anything? 2011-03-07T00:24:56 on the main server? depends on what you mean by still 2011-03-07T00:25:08 can markdown blocks be given a language syntax for highlighting? 2011-03-07T00:25:15 for the workers to compile 2011-03-07T00:25:21 it was in planetwars, once compilation is moved to the workers no 2011-03-07T00:25:29 yes, I believe so 2011-03-07T00:26:18 or it will for sure once the workers do compilation unless we want to fully jump ship and just use compile.sh/run.sh scripts for all submissions 2011-03-07T00:26:44 I'm not quite sure whether I'm ready or not to go that far 2011-03-07T00:27:29 let's assume no compile.sh for now 2011-03-07T00:29:25 yeah, then the worker will need compile_anything 2011-03-07T00:31:01 are you ok with simply choosing seed players in least recently played order? 2011-03-07T00:31:04 *** _flag <_flag!~flag@69-165-173-172.dsl.teksavvy.com> has quit IRC (Quit: Lost terminal) 2011-03-07T00:31:23 * janzert is editing the wiki page 2011-03-07T00:32:30 janzert: yes for seed players, based on user_id only, meaning no cool down 2011-03-07T00:32:57 s/user_id/game_id ? 2011-03-07T00:33:07 I would like to try and give players not spamming some leeway, but we can do that later. 2011-03-07T00:33:45 oh no, but yes 2011-03-07T00:34:19 get the game_id's per user, then select the seed player lowest game_id, nulls being lowest 2011-03-07T00:35:03 so "Choose the player with the minimal maximum game_id (nulls being lowest)" :) 2011-03-07T00:35:16 although I'm not sure that's the best way to put it on that page 2011-03-07T00:35:34 yah 2011-03-07T00:35:48 btw, we need to add scotland as a country :) 2011-03-07T00:36:32 * janzert will take no responsibility for countries included or excluded from the countries list :P 2011-03-07T00:36:52 and that fake country where anyone from the internet can be a citizen 2011-03-07T00:37:01 I can't remember the name... 2011-03-07T00:38:43 http://en.wikipedia.org/wiki/Principality_of_Sealand 2011-03-07T00:38:58 that's not the one I was thinking of, but them too :) 2011-03-07T00:39:17 didn't that burn a few years back 2011-03-07T00:39:40 ahh, yes in 2006 2011-03-07T00:45:07 http://en.wikipedia.org/wiki/Talossa 2011-03-07T00:45:09 there we go 2011-03-07T00:48:15 *** Palmik has joined #aichallenge 2011-03-07T00:50:02 *** delt0r___ has joined #aichallenge 2011-03-07T00:51:14 *** delt0r_ has quit IRC (Ping timeout: 246 seconds) 2011-03-07T00:53:28 *** McLeopold has left #aichallenge 2011-03-07T01:00:46 *** McLeopold has joined #aichallenge 2011-03-07T01:37:54 *** sigh has quit IRC (Ping timeout: 276 seconds) 2011-03-07T01:47:45 *** Cyndre__ has joined #aichallenge 2011-03-07T01:50:24 janzert: do you know if the main server was using php as a module? 2011-03-07T01:52:45 *** computerwiz_222 has joined #aichallenge 2011-03-07T01:53:09 not offhand 2011-03-07T01:55:24 I'm seeing the lack of persistent database connections 2011-03-07T01:55:40 *** Cyndre_ has quit IRC (*.net *.split) 2011-03-07T01:55:41 *** sketchyd_ has quit IRC (*.net *.split) 2011-03-07T01:55:41 *** computer1iz_222 has quit IRC (*.net *.split) 2011-03-07T01:55:43 *** Zannick has quit IRC (*.net *.split) 2011-03-07T01:55:46 *** sketchyd_ has joined #aichallenge 2011-03-07T01:58:26 *** Zannick has joined #aichallenge 2011-03-07T01:58:38 ok, looks like mod_php5 is indeed being used 2011-03-07T01:59:02 wow, was it really run without sql connection pooling? 2011-03-07T02:00:27 so far as I see it has no configuration beyond specifying it's used for the php files 2011-03-07T02:00:42 *** ZanniqlcKzxkq has joined #aichallenge 2011-03-07T02:00:44 *** chris___0076 has joined #aichallenge 2011-03-07T02:01:21 *** ZanniqlcKzxkq has quit IRC (Client Quit) 2011-03-07T02:03:25 *** chris__0076 has quit IRC (Ping timeout: 255 seconds) 2011-03-07T02:03:59 well it looks like it also has safe_mode off and open_basedir none :} 2011-03-07T02:05:03 yeah, i'm fixing safe mode off issues as well :( 2011-03-07T02:05:18 not familiar with open_basedir yet 2011-03-07T02:05:47 McLeopold: I'm unsure about your format for "space" 2011-03-07T02:06:06 you might end up with losts of (0,1,2): x, (0,2,4): x etc. situations? 2011-03-07T02:06:18 restricts where php scripts can open files, sort of a php specific chroot I believe 2011-03-07T02:06:25 none simply disables 2011-03-07T02:08:16 antimatroid: yes, there might be lots of combos 2011-03-07T02:08:34 okay, well i'll update that in a bit then make everthing functions and i think it's done 2011-03-07T02:08:59 okay, add_maps_to_database will import the function 2011-03-07T02:09:49 so could i really just throw everything i have as "main" now into a function called analyze_map? 2011-03-07T02:09:49 with the combos, I can know how much space player X can get to first, and just as fast as all others, etc. 2011-03-07T02:10:12 I can just add up the numbers I'm interested in. 2011-03-07T02:10:24 yep 2011-03-07T02:10:43 it was a little tricky working out how to calculate who can get where first, but i think what i have now is general 2011-03-07T02:11:02 I saw the pictures, they looked cool. 2011-03-07T02:11:19 actually, i need to make a couple of changes to make sure it can handle each player starting with more than one ant 2011-03-07T02:11:23 i think that's ideal? 2011-03-07T02:11:30 yes 2011-03-07T02:11:39 I hope to have multiple start maps 2011-03-07T02:11:42 they're small changes anyway, just adding a line or two in places 2011-03-07T02:12:07 *** amstan has quit IRC (Ping timeout: 240 seconds) 2011-03-07T02:14:14 *** boegel has joined #aichallenge 2011-03-07T02:32:18 *** sigh has joined #aichallenge 2011-03-07T02:40:51 *** Kingpin13 has quit IRC (Quit: You're a kitty!) 2011-03-07T02:49:21 test = [ [3, 4], [2,5] ] 2011-03-07T02:49:21 if [3,_] in test: 2011-03-07T02:49:21 is there a way to do what i'm trying to do there? 2011-03-07T03:05:30 antimatroid: len([x for x in test if x[0] == 3]) > 0 2011-03-07T03:05:48 i just separated it to two different lists :P 2011-03-07T03:07:07 actually, my method sucks... 2011-03-07T03:07:57 len([x for x in test if 3 in x]) > 0 2011-03-07T03:08:22 still not that fast, but it's 1 line 2011-03-07T03:13:31 antimatroid: did you care if the 3 was first or last? 2011-03-07T03:13:47 i used something else anyway :P 2011-03-07T03:13:51 http://codepad.org/2iNmRzyX 2011-03-07T03:14:02 that's unsorted and needing of more formatting, but that's sort of what you will be getting 2011-03-07T03:14:44 so, no squares equidistant to 3 or more? 2011-03-07T03:15:00 not in that map, but it's easy to construct a situation where it will happen 2011-03-07T03:15:13 i think i could potentially get 8+ players at an equidistance 2011-03-07T03:15:33 i'm using shortest paths for players to find "access", not euclidean distance 2011-03-07T03:16:45 i should probably check that each player has the same number of starting ants and enforce that? 2011-03-07T03:18:11 boy kinder surprise toys don't require much construction these days 2011-03-07T03:18:13 just stats, no enforement 2011-03-07T03:18:26 on a better note, there are easter bunny sized kinder surprises on sale 2011-03-07T03:18:51 is that the crappy plastic toy inside of a chocolate egg? 2011-03-07T03:18:51 erm, whenever something has been wrong i've been raising a ValueError? 2011-03-07T03:19:01 yeah, but the chocolate is awesome 2011-03-07T03:19:10 the chocolate is plastic too 2011-03-07T03:19:26 can't possibly be the same 2011-03-07T03:19:29 but I still ate it 2011-03-07T03:19:33 sigh: is kinder surprise chocolate plastic? 2011-03-07T03:19:47 o_O 2011-03-07T03:20:06 *tastes* like plastic 2011-03-07T03:20:25 i think you tried a different toy chocolate 2011-03-07T03:20:32 kinder surprise chocolate is some of the best i know of 2011-03-07T03:20:33 it came from germany 2011-03-07T03:20:42 maybe it was old? 2011-03-07T03:21:10 this is from ferrero in australia 2011-03-07T03:21:26 they make nutella! 2011-03-07T03:21:33 yes, nutella is awesome 2011-03-07T03:21:37 milo is more awesome 2011-03-07T03:21:56 also ferrero rocher 2011-03-07T03:21:59 ValueError is the map is not valid. Having extra starting spots can be a valid map, just unfair. 2011-03-07T03:22:14 i'm not sure whether knowing the center of a ferrero rocher makes that worse or nutella better 2011-03-07T03:22:36 McLeopold: okay, done 2011-03-07T03:22:50 center is just nutella*** 2011-03-07T03:22:57 maybe a 'starts' list in the dict then 2011-03-07T03:23:10 already on it :) 2011-03-07T03:24:44 can i tell python to take two lists and sort them both but by ordering the first list? 2011-03-07T03:25:06 or have i shot myself in the foot? 2011-03-07T03:27:39 what do you mean? 2011-03-07T03:29:12 do you mean this: x,y = zip(*sorted(zip(x,y))) 2011-03-07T03:32:25 will that just sort y elements the same way it sorts x elements? 2011-03-07T03:32:32 yes 2011-03-07T03:32:41 i'll see how i go 2011-03-07T03:33:52 poo, didn't sort it how i wanted :( 2011-03-07T03:34:30 can you give an example of what you want? 2011-03-07T03:38:32 sigh: http://codepad.org/O1VS6olf 2011-03-07T03:38:50 i would want 0, 1, 2, (0,1), etc., not 0, (0,1), 1, 2 etc. 2011-03-07T03:39:10 your method worked sorry 2011-03-07T03:39:16 i was referring to the general sort :) 2011-03-07T03:39:34 i'm confused 2011-03-07T03:40:09 oh ok, you don't like how python is comparing objects 2011-03-07T03:40:20 i'm not hating this time 2011-03-07T03:40:21 you can pass your own compare function into sorted 2011-03-07T03:40:37 just it didn't happen to work the way that would have currently been convenient 2011-03-07T03:41:47 hmm... my python says that 0 < 1 < 2 < (0,1) is True 2011-03-07T03:41:53 which is what you said you wanted? 2011-03-07T03:42:13 hmm i just called list.sort() and got that 2011-03-07T03:42:26 oh wait 2011-03-07T03:42:39 try 1 < (0,1)? 2011-03-07T03:42:44 True 2011-03-07T03:42:48 nah, that should be fine, nevermind me 2011-03-07T03:42:52 hmmm 2011-03-07T03:42:56 ok... 2011-03-07T03:45:49 oh, i am using lists :P 2011-03-07T03:45:55 my output is using ()'s 2011-03-07T03:46:35 can i "press" a list into a tuple? 2011-03-07T03:46:43 press? 2011-03-07T03:46:51 x,y = zip(*sorted(zip(x,y))) 2011-03-07T03:46:54 sorry 2011-03-07T03:47:08 either convert x,y manually or you can x,y = map(list,zip(*sorted(zip(x,y)))) 2011-03-07T03:47:08 like, make [1,2] = (1,2) 2011-03-07T03:47:15 list(x) 2011-03-07T03:47:29 tuple(list) 2011-03-07T03:48:08 i suggested just doing: x,y = list(x), list(y) 2011-03-07T03:48:16 clearest 2011-03-07T03:48:20 that wont help me :P 2011-03-07T03:48:36 i need to convert a list of lists into a list of tuples, not too bad 2011-03-07T03:48:43 then sort should just work for me 2011-03-07T03:48:57 map(tuple, x) 2011-03-07T03:48:58 [tuple(x) for x in list] 2011-03-07T03:49:06 I win 2011-03-07T03:50:15 not in python 3 :) 2011-03-07T03:50:36 oh, what does python 3 do? 2011-03-07T03:51:00 list(map(tuple, x)) 2011-03-07T03:51:10 but yeah, i forget about map and zip all the time 2011-03-07T03:51:36 python 3 is lazy and give you an iterator 2011-03-07T03:51:42 fair enough 2011-03-07T03:51:55 map is fun but crappy lambdas make it less useful 2011-03-07T03:53:13 no lambda in p3k 2011-03-07T03:54:04 dammit, they added back in, wrong again 2011-03-07T03:54:54 haha, I was hunting docs to verify that :P 2011-03-07T04:00:01 now python is just trolling me :\ 2011-03-07T04:00:16 i get the same logic response as sigh with a simple if, but if i sort by the tuples, same result :\ 2011-03-07T04:00:35 me thinks python sort isn't just using it is 2011-03-07T04:00:59 then that makes no sense :s 2011-03-07T04:01:04 paste code 2011-03-07T04:01:27 preferably a minimal case that demonstrates the problem 2011-03-07T04:01:49 bleh, have to reset internet 2011-03-07T04:02:34 I didn't know he was in control of the whole internet... 2011-03-07T04:03:41 *** antimatroid1 has joined #aichallenge 2011-03-07T04:03:52 the internet is back! 2011-03-07T04:06:11 *** antimatroid has quit IRC (Ping timeout: 248 seconds) 2011-03-07T04:06:42 well this is annoying 2011-03-07T04:07:15 i can't replicate it sorting the way it does with the analyzer with a simple test case :\\ 2011-03-07T04:08:27 got it 2011-03-07T04:09:45 is it this: 0 < [0] < (0,) 2011-03-07T04:10:11 yeah i think 2011-03-07T04:10:56 not sure how you've got lists and tuples mixed up in the same context, but good luck! 2011-03-07T04:12:38 http://codepad.org/vaq3GmXR - analyzer.py 2011-03-07T04:12:39 http://codepad.org/8dpwJaCs - amap.py 2011-03-07T04:12:43 that's the mess i'm dealing with :P 2011-03-07T04:13:51 i seriously need someone that knows python to write the "space" output part :P 2011-03-07T04:14:49 amap.map*** 2011-03-07T04:15:45 sigh: did i mention i've made my symmetric maps ensure now that no two players ever start in the same row or column? :P 2011-03-07T04:15:53 and i cant start everyone outside vision if necessary 2011-03-07T04:16:09 and i can do any number of players in a reasonable size 2011-03-07T04:16:10 cool 2011-03-07T04:16:13 well, within reason 2011-03-07T04:16:34 so the space output part, what needs to change? 2011-03-07T04:16:44 the code is awful? 2011-03-07T04:17:09 131 is the line where i'm trying to sort my information 2011-03-07T04:17:25 so it works? 2011-03-07T04:18:03 you can run that code with the given map and it should run fine 2011-03-07T04:18:09 it just wont sort properly 2011-03-07T04:18:15 "properly"* 2011-03-07T04:18:22 i'm sure whatever it's doing is considered proper 2011-03-07T04:18:42 I'll play around with it 2011-03-07T04:19:07 :) cheers 2011-03-07T04:19:27 feel free to uncomment the partion part and play around with the maps for cool pictures :P 2011-03-07T04:20:00 *** McLeopold has left #aichallenge 2011-03-07T04:20:04 i might change the print '.' line to print len(accessMap[row][col][1]) so it gives you more info 2011-03-07T04:26:25 lol, check this example map 2011-03-07T04:26:58 http://codepad.org/PxNQKauD 2011-03-07T04:27:23 12 people are at an equal distance to one square 2011-03-07T04:39:27 it would be cool if SOME of the maps required cooperating with your close enemy(s) in order to not just kill each other right away 2011-03-07T04:45:16 antimatroid1: I made the space output shorter: http://codepad.org/0SDBxlFR 2011-03-07T04:45:43 although I have no idea why you require what is formatted as a dictionary to be ordered 2011-03-07T04:47:08 *** iFire has quit IRC (Ping timeout: 264 seconds) 2011-03-07T04:48:43 *** iFire has joined #aichallenge 2011-03-07T04:50:13 *** kaemo has joined #aichallenge 2011-03-07T04:51:36 sigh: you think i could just leave it unordered? 2011-03-07T04:51:40 i should ask mcleopold 2011-03-07T04:51:44 that'd make my life much easier 2011-03-07T04:51:59 antimatroid1: more that the semantics of a dictionary imply unordered 2011-03-07T04:52:02 sigh: did you look at the case where 12 players are at an equal distance? 2011-03-07T04:52:21 yup 2011-03-07T04:52:30 http://codepad.org/frlP3LrS 2011-03-07T04:52:42 i suspect you could make it work for arbitrary numbers of players given enough room 2011-03-07T04:52:53 it would be fun to make such maps with a single food square right in the middle :D 2011-03-07T04:53:08 -) 2011-03-07T04:53:09 :) 2011-03-07T04:54:57 while the equilibrium would be a draw, the actual better position would be on the row near the center 2011-03-07T04:55:42 oh man 2011-03-07T04:55:58 i wonder if i could construct repeated rock paper scissors with those maps 2011-03-07T05:00:25 don't think rps would work, but some kind of game would 2011-03-07T05:01:28 antimatroid1: here you go, fixed your ordering problems and made the code a lot shorted and easier to read: http://codepad.org/qv9Wlcv6 2011-03-07T05:06:17 sigh: cheers :) 2011-03-07T05:26:56 have any of you seen modern family? 2011-03-07T05:27:05 i started watching it a few days ago, it's surprisingly funny 2011-03-07T05:33:39 nah, I haven't much of any tv recently 2011-03-07T05:42:17 *** iFire has quit IRC (Read error: Connection reset by peer) 2011-03-07T05:42:41 *** iFire has joined #aichallenge 2011-03-07T06:25:32 *** kaemo has quit IRC (Ping timeout: 240 seconds) 2011-03-07T06:29:22 *** javagamer has joined #aichallenge 2011-03-07T06:58:33 *** chris__0076 has joined #aichallenge 2011-03-07T07:01:08 *** chris___0076 has quit IRC (Ping timeout: 246 seconds) 2011-03-07T07:29:40 *** kaemo has joined #aichallenge 2011-03-07T07:53:53 *** sente has joined #aichallenge 2011-03-07T08:15:31 *** boegel has quit IRC (Quit: Leaving) 2011-03-07T08:16:46 *** boegel has joined #aichallenge 2011-03-07T08:18:06 *** sigh has quit IRC (Remote host closed the connection) 2011-03-07T08:36:27 *** Mathnerd314 has quit IRC (Ping timeout: 276 seconds) 2011-03-07T08:50:01 *** delt0r_ has joined #aichallenge 2011-03-07T08:51:24 *** delt0r___ has quit IRC (Ping timeout: 246 seconds) 2011-03-07T08:53:22 *** iFire has quit IRC (Read error: Connection reset by peer) 2011-03-07T08:53:42 *** kaemo has quit IRC (Ping timeout: 248 seconds) 2011-03-07T08:54:51 *** iFire has joined #aichallenge 2011-03-07T09:02:40 *** iFire has quit IRC (Read error: Connection reset by peer) 2011-03-07T09:02:57 *** iFire has joined #aichallenge 2011-03-07T09:07:40 *** iFire has joined #aichallenge 2011-03-07T09:13:33 *** amstan has joined #aichallenge 2011-03-07T09:13:33 *** ChanServ sets mode: +o amstan 2011-03-07T09:23:37 *** mceier has joined #aichallenge 2011-03-07T09:24:41 *** amstan has quit IRC (Ping timeout: 240 seconds) 2011-03-07T10:45:54 *** smellyhippy has quit IRC (Quit: Take your stinking clause off me you damn dirty predicate!) 2011-03-07T10:46:25 *** smellyhippy has joined #aichallenge 2011-03-07T10:46:26 *** smellyhippy has joined #aichallenge 2011-03-07T10:59:48 *** mega1 has joined #aichallenge 2011-03-07T11:10:49 *** superflit has joined #aichallenge 2011-03-07T12:08:01 *** Cyndre__ is now known as Cyndre 2011-03-07T12:09:24 *** amstan_ has joined #aichallenge 2011-03-07T12:09:24 *** ChanServ sets mode: +o amstan_ 2011-03-07T12:10:47 *** McLeopold has joined #aichallenge 2011-03-07T12:10:59 @seen j3camero 2011-03-07T12:10:59 McLeopold: j3camero was last seen in #aichallenge 5 days, 12 hours, 16 minutes, and 59 seconds ago: McLeopold: do you have a magic main-server-setup script, or did you manually do a bunch of stuff to create a test server? 2011-03-07T12:15:05 *** amstan_ has quit IRC (Ping timeout: 255 seconds) 2011-03-07T12:15:44 @later tell antimatroid: no, I don't care about order. I would just do a sum(count for players, count in stats['space'].items() where player in players). And then sigh would improve it. 2011-03-07T12:15:45 McLeopold: I come to serve. 2011-03-07T12:18:41 i'm here :P 2011-03-07T12:19:05 it's sorted now anyway thanks to sigh 2011-03-07T12:19:11 was about to say that it looks like you misunderstand and are printing the output 2011-03-07T12:19:19 i went to sleep early before, i'll add in ant counts in a minute then i think it's done 2011-03-07T12:19:42 janzert: i am printint it, what am i meant to be doing? 2011-03-07T12:19:52 all you need to do is place it in an actual python dict and return it 2011-03-07T12:20:11 ah, okay, i have no idea what they are, i'll go look them up 2011-03-07T12:20:17 (i don't know python :P) 2011-03-07T12:20:18 just sec I'll try and edit it on codepad 2011-03-07T12:20:41 have you got the link sigh gave me? 2011-03-07T12:20:44 i haven't edited that yet 2011-03-07T12:24:35 something like this http://codepad.org/5ja5Smwt 2011-03-07T12:25:22 also if your editor can do it all the tabs should be expanded into 4 spaces 2011-03-07T12:26:39 also just noticed landAccessPlayers should have tuples for all the keys, just change line 126 to 2011-03-07T12:26:59 landAccessPlayers[tuple(t[0])] += 1 2011-03-07T12:27:23 or actually just get rid of the if/elif all together 2011-03-07T12:28:18 so t[0] isn't needed? 2011-03-07T12:28:23 cheers for that 2011-03-07T12:28:44 t is a list right? 2011-03-07T12:28:52 oh hi 2011-03-07T12:29:20 hmm, let me work this out, sigh did that 2011-03-07T12:30:07 the whole thing from 120 to 126 could be changed into a list comprehension 2011-03-07T12:30:13 what happened to my accessCounts :\ 2011-03-07T12:30:30 is that all just in the landAccessPlayers? 2011-03-07T12:31:06 also, python isn't java, don't use fake reverse Hungarian notatioin 2011-03-07T12:31:09 yes, it looks like 2011-03-07T12:31:27 McLeopold: what do you mean? 2011-03-07T12:32:17 Uppercasing all words except for the first one. but I'm not totally serious 2011-03-07T12:32:46 btw, I was wrong about changing to a list comprehension above 2011-03-07T12:33:38 antimatroid1: it's in pep8, don't use mixed case for new development 2011-03-07T12:34:27 that's just what i tend to use for my own programs, do you want _'s? 2011-03-07T12:34:40 i don't mind changing that, i'm very indifferent about my variable naming convention 2011-03-07T12:34:47 if you want to be a serious python programmer, then yes 2011-03-07T12:35:02 ^^ I don't, I hate python :P 2011-03-07T12:35:03 I totally doesn't matter. 2011-03-07T12:35:18 But read through pep8 and try an use good style. 2011-03-07T12:35:35 I bet there's a script out there to fix it. 2011-03-07T12:35:54 https://github.com/aichallenge/aichallenge/wiki/Python-Style-Guide 2011-03-07T12:35:56 i shall, i am slowly picking it up for the sake of my programs here not being as awful 2011-03-07T12:36:18 which has links to pep8 and google python style guide 2011-03-07T12:36:42 from what I can tell the google style guide is a superset of pep 8 2011-03-07T12:37:16 the only thing that really gets me is the 80 character limit 2011-03-07T12:37:31 I'm constantly going over a feel like I'm making my code less readable. 2011-03-07T12:38:29 I go over around every few hundred lines 2011-03-07T12:39:02 usually when I start going over I use it as an indicator that I need to factor out a separate function or break a single statement up 2011-03-07T12:39:22 because your indent starts to far over? 2011-03-07T12:39:24 or just use python's excellent line continuations to make it more readable :) 2011-03-07T12:39:37 if that's what's causing it yes 2011-03-07T12:40:08 how much time do I have left? 2011-03-07T12:40:47 7 hours? 2011-03-07T12:40:48 :) 2011-03-07T12:41:10 lunch time, be back in a while 2011-03-07T12:45:15 *** davidjliu has joined #aichallenge 2011-03-07T13:01:37 McLeopold: i think it's done :) 2011-03-07T13:02:18 http://codepad.org/bK4DAQYH 2011-03-07T13:06:04 McLeopold: Oh, look at this http://codepad.org/PxNQKauD 2011-03-07T13:06:24 there is a square there that 12 people can reach in the same time 2011-03-07T13:06:48 nice 2011-03-07T13:07:00 you can make that arbitrarily large 2011-03-07T13:07:01 still it on git hub in manager 2011-03-07T13:08:22 the count stuff is sorted nicely in the end anyway :) 2011-03-07T13:08:32 it requires that if, elif part janzert said to get rid of 2011-03-07T13:08:37 otherwise you get a different ordering 2011-03-07T13:10:39 McLeopold: do you want me to make a manager directory inside the ants folder? 2011-03-07T13:10:58 or just map_analyzer.py in ants? 2011-03-07T13:12:02 oh, nevermind 2011-03-07T13:12:44 antimatroid1: dictionaries are unordered 2011-03-07T13:13:30 the reason I was saying to get rid of the if / elif is that McLeopold wanted all them as tuples of players 2011-03-07T13:13:43 even if there is just one player 2011-03-07T13:13:48 just for consistency 2011-03-07T13:14:55 aichallenge: antimatroid epsilon * r22ae873 / manager/map_analyzer.py : added a map analyzer - http://bit.ly/eqrn8q 2011-03-07T13:15:07 janzert: ah crap, i just pushed it :P 2011-03-07T13:15:12 that's ok 2011-03-07T13:15:20 it can be changed later 2011-03-07T13:15:31 it needs to check if len(.) >= 1 still though 2011-03-07T13:15:42 otherwise you get the wall squares added in there which makes no sense 2011-03-07T13:15:50 water* 2011-03-07T13:15:52 ahh 2011-03-07T13:19:02 *** amstan_ has joined #aichallenge 2011-03-07T13:19:03 *** ChanServ sets mode: +o amstan_ 2011-03-07T13:20:27 will python bit me for ]]? 2011-03-07T13:20:31 bite* 2011-03-07T13:21:43 *** smellyhippy has quit IRC (Ping timeout: 246 seconds) 2011-03-07T13:23:09 not if you're ending a list within a list 2011-03-07T13:25:17 what about indexing a list from a list index? 2011-03-07T13:25:34 from a list element** 2011-03-07T13:26:34 hmm, seems fine, cool 2011-03-07T13:27:03 so a_list[b_list[2]] 2011-03-07T13:27:06 yes that's fine 2011-03-07T13:29:02 c++ hates that, and >> for pairs,vectors, etc. 2011-03-07T13:29:14 well, >> 2011-03-07T13:29:27 hmm :P 2011-03-07T13:29:31 i think it's bedtime again 2011-03-07T13:31:06 yeah, well c++... :P 2011-03-07T13:32:11 see you later 2011-03-07T13:32:39 i say i'm going to bed, but really i'm stopping progrmming and reading reddit d: 2011-03-07T13:33:22 ahh yes, I need to remember; antimatroid "bedtime" -> "time to read reddit" :) 2011-03-07T13:36:50 *** smellyhippy has joined #aichallenge 2011-03-07T13:41:27 *** me0w has joined #aichallenge 2011-03-07T13:46:41 *** amstan_ has quit IRC (Ping timeout: 260 seconds) 2011-03-07T13:49:36 *** me0w has quit IRC (Ping timeout: 260 seconds) 2011-03-07T13:56:40 *** helo_ has joined #aichallenge 2011-03-07T14:00:02 *** kaemo has joined #aichallenge 2011-03-07T14:34:41 *** helo_ has quit IRC (Ping timeout: 245 seconds) 2011-03-07T14:40:38 *** boegel has quit IRC (Quit: Leaving) 2011-03-07T14:55:00 *** lavalamp has joined #aichallenge 2011-03-07T14:56:14 *** closedbracket has joined #aichallenge 2011-03-07T14:59:16 *** chris___0076 has joined #aichallenge 2011-03-07T15:02:06 *** chris__0076 has quit IRC (Ping timeout: 246 seconds) 2011-03-07T15:06:20 *** chris__0076 has joined #aichallenge 2011-03-07T15:08:58 *** Accoun has quit IRC () 2011-03-07T15:09:06 *** chris___0076 has quit IRC (Ping timeout: 246 seconds) 2011-03-07T15:19:45 janzert: it appears submissions where stored on the server uncompressed, then compressed when the worker requested it 2011-03-07T15:20:25 yes 2011-03-07T15:20:53 *** Accoun has joined #aichallenge 2011-03-07T15:21:10 with compilation all done on the workers though the main server should be able to just always hand out the original submission file 2011-03-07T15:22:31 yep 2011-03-07T15:22:53 but still test the unzip to get to status 20? 2011-03-07T15:22:57 or not 2011-03-07T15:23:10 I think skip that 2011-03-07T15:23:25 it doesn't seem like it adds much value 2011-03-07T15:24:18 the worker can always report back that it's invalid 2011-03-07T15:31:58 *** amstan has joined #aichallenge 2011-03-07T15:31:58 *** ChanServ sets mode: +o amstan 2011-03-07T15:32:21 actually, it looks like the get_submission zipped up the zip file 2011-03-07T15:38:01 it sent everything that was in the submission's directory I believe? including the original submission file yes 2011-03-07T15:40:04 what's going on? 2011-03-07T15:41:00 I see, I'm not running compile_daemon, so it was never unzipped. 2011-03-07T15:43:44 the compile daemon unzipped and cleaned stuff up, I'm thinking it should be an unzip daemon now. 2011-03-07T15:44:07 Also, can the workers send emails? 2011-03-07T15:44:33 yes, I'm hoping they can send the success/rejection emails 2011-03-07T15:45:15 amazon just introduced an email sending service 2011-03-07T15:46:05 janzert: after unpacking, the original zip was kept around 2011-03-07T15:46:12 right 2011-03-07T15:46:41 so, I'm thinking, the server will unzip, clean and make a separate tarball for the workers 2011-03-07T15:47:06 ok. clean in what way? 2011-03-07T15:47:38 I believe we have to keep all the files in case they are data files the bot depends on 2011-03-07T15:47:40 whatever unpack does in the compile daemon 2011-03-07T15:48:00 it did a clean because we included tools in the starter packs 2011-03-07T15:48:25 ahh, yeah I do kind of remember that now 2011-03-07T15:48:32 if we change that, we don't need to clean 2011-03-07T15:48:43 but it would be nice if everything was a tgz 2011-03-07T15:49:08 yeah, it does seem rather nice 2011-03-07T15:49:40 but on the other hand if we don't nothing on main server ever needs to touch submissions directly 2011-03-07T15:50:02 hmm, I guess I'm happy either way 2011-03-07T15:51:25 I just need to make sure I send the right headers for the worker download. 2011-03-07T15:52:02 tgz is tar.gz? 2011-03-07T15:52:06 yes 2011-03-07T15:52:11 ok 2011-03-07T15:52:25 McLeopold: can you review this? https://github.com/aichallenge/aichallenge/issues#issue/18 2011-03-07T15:55:07 amstan: I'll get to it later today. 2011-03-07T15:57:19 *** iFire` has joined #aichallenge 2011-03-07T16:01:06 *** iFire has quit IRC (Ping timeout: 276 seconds) 2011-03-07T16:01:26 lavalamp: umm.. are you aware that you're cherry picking commits from multiple branches at the same time? 2011-03-07T16:01:36 lavalamp: they're not merged they, they shouldn't be together 2011-03-07T16:01:53 I just realized that I somehow screwed up my fork actually 2011-03-07T16:02:12 I don't know what went wrong, I thought I just pulled some stuff down from the main repository 2011-03-07T16:02:15 lavalamp: hold on, i might have a fix 2011-03-07T16:02:32 I was just about to ask in here what I should do to fix it, lol 2011-03-07T16:02:43 lavalamp: this is the only commit that you did, right? https://github.com/lavalamp/aichallenge/commit/46d2cdd2f1ac66973d789629235a0b4a72c0cc10 2011-03-07T16:03:15 I did three or four :/ 2011-03-07T16:03:17 https://github.com/lavalamp/aichallenge/commit/9df9a96f30cad00cf277486d70227715fda5399b 2011-03-07T16:03:33 Is another one. 2011-03-07T16:03:43 They are interspersed, unfortunately. 2011-03-07T16:03:53 Should I just delete my fork and recreate it? 2011-03-07T16:04:38 lavalamp: hmm.. that could work.. but don't delete the local one yet 2011-03-07T16:05:17 I discovered there was a problem when looking at the pull request interface... that and the fact that I wanted to add some documentation is why I haven't made a pull request yet... 2011-03-07T16:05:40 yeah, np, it happens to all of us 2011-03-07T16:05:53 ok I won't be able to do anything about this until tonight or tomorrow unfortunately 2011-03-07T16:06:22 yeah I've never gone through a fork/pull request cycle on github before... 2011-03-07T16:07:50 On the plus side the debugging .png images the go starter pack can now make are pretty cool :) 2011-03-07T16:08:12 lavalamp: well.. ping me when you can do this, i can guide you through it 2011-03-07T16:08:24 amstan: ok, will do, thanks 2011-03-07T16:08:58 janzert: if we don't unpack, how should we calc the hash? 2011-03-07T16:09:28 just use the hash of the submission file (on both sides of course) 2011-03-07T16:10:33 it's just a double check that the worker actually ended up with the same thing the main server has 2011-03-07T16:13:46 how would you hash the file in python? 2011-03-07T16:14:56 McLeopold: how big? how often? 2011-03-07T16:15:20 see submission_hash.py 2011-03-07T16:16:10 specifically the function hash_file_sha takes a filename and returns the sha hash 2011-03-07T16:18:20 although that also includes the filename in the hash which probably isn't needed or maybe even wanted for how you're using it 2011-03-07T16:19:47 btw, if you decide to do any speed testing on this be sure to clear your filesystem caches prior to each test 2011-03-07T16:33:55 janzert: can you make the worker setup pull the submission_hash.py file from the manager dir? That way we don't maintain 2 copies. Or some github magic. 2011-03-07T16:34:52 yeah, I was wondering what to do about that sort of thing in passing the other day 2011-03-07T16:37:14 I think the cleanest thing would be to make a separate python package for all the common code to live in 2011-03-07T16:37:48 but I'm not really enthused about that either 2011-03-07T16:46:04 *** Palmik has quit IRC (Remote host closed the connection) 2011-03-07T16:50:39 *** delt0r___ has joined #aichallenge 2011-03-07T16:52:01 *** delt0r_ has quit IRC (Ping timeout: 246 seconds) 2011-03-07T17:05:49 *** sigh has joined #aichallenge 2011-03-07T17:11:13 http://www.not-equal.eu/myrmedrome/main_en.html 2011-03-07T17:11:31 *** amstan has quit IRC (*.net *.split) 2011-03-07T17:11:32 *** Ttech has quit IRC (*.net *.split) 2011-03-07T17:11:32 *** sente has quit IRC (*.net *.split) 2011-03-07T17:11:32 *** greghaynes has quit IRC (*.net *.split) 2011-03-07T17:11:48 *** amstan has joined #aichallenge 2011-03-07T17:11:48 *** ChanServ sets mode: +o amstan 2011-03-07T17:12:26 *** mega1 has quit IRC (Ping timeout: 248 seconds) 2011-03-07T17:23:07 anyone good at regex? i'm having some problems with this: http://pastebin.com/VLn93YXD 2011-03-07T17:23:30 *** Ttech has joined #aichallenge 2011-03-07T17:24:17 *** Mathnerd314 has joined #aichallenge 2011-03-07T17:25:04 amstan: I'll take a look 2011-03-07T17:25:23 well.. i got some help from #regex, it's all good now: 2011-03-07T17:25:30 >>> re.split(r"<([^>]+)>",a) 2011-03-07T17:25:31 ['[16:37] ', 'janzert', " but I'm not really enthused about that either"] 2011-03-07T17:29:47 *** sigh has quit IRC (Read error: Connection reset by peer) 2011-03-07T17:31:47 *** sigh has joined #aichallenge 2011-03-07T17:38:58 McLeopold: so.. i got this now: http://pastebin.com/EGwtMmtt 2011-03-07T17:40:46 *** lavalamp has quit IRC (Quit: Page closed) 2011-03-07T17:46:06 *** CIA-89 has quit IRC () 2011-03-07T17:53:28 what is the goal? 2011-03-07T17:56:11 *** CIA-33 has joined #aichallenge 2011-03-07T17:56:15 amstan: where's our cia? I don't see my push? 2011-03-07T17:56:25 janzert: to split something like this: 2011-03-06T00:07:00 McLeopold: the only constraint there that encourages it from what I see is the no repeat matches one 2011-03-07T17:56:36 janzert: into date, nick and msg 2011-03-07T17:56:52 in python? 2011-03-07T17:56:54 ideally with some validation, but not too strict on the date, the date should just go until it hits a space char 2011-03-07T17:56:56 I'd skip regex altogether 2011-03-07T17:57:00 yeah 2011-03-07T17:57:18 ideally something like this: http://pastebin.com/nJX5X5TT 2011-03-07T17:57:29 that's how i'll use it 2011-03-07T17:57:33 but mine doesn't work yet 2011-03-07T17:58:17 str.split(' ', 2) 2011-03-07T17:58:44 McLeopold: i need it not to match lines like: 2011-03-06T16:46:55 *** McLeopold has left #aichallenge 2011-03-07T17:58:47 and it has to be fast 2011-03-07T17:59:01 str.split should be plenty fast 2011-03-07T17:59:15 ok.. 2011-03-07T17:59:29 I would be a bit surprised if it's slower than a regex 2011-03-07T17:59:56 basically just need "date, name, msg = line.split(None, 2)" 2011-03-07T18:00:11 then you'll need to strip the <>'s off the name 2011-03-07T18:00:22 or reject it if it is ***** 2011-03-07T18:02:28 btw, use ' ' for the first argument to split if you really want to split on each space character 2011-03-07T18:03:14 janzert: yeah.. got it.. 2011-03-07T18:03:35 *** Kingpin13 has joined #aichallenge 2011-03-07T18:03:56 use None if you want to use the algorithm split uses with no arguments 2011-03-07T18:04:05 which is a little more involved 2011-03-07T18:04:44 *** jmpespxo1eax has joined #aichallenge 2011-03-07T18:05:49 *** jmpespxoreax has quit IRC (Read error: Connection reset by peer) 2011-03-07T18:08:51 *** closedbracket has quit IRC (Ping timeout: 255 seconds) 2011-03-07T18:09:08 amstan: if my branch is ahead of origin/epsilon-new-schema by 3 commits, then I need to push? 2011-03-07T18:09:17 yes 2011-03-07T18:09:21 well... you don' 2011-03-07T18:09:25 don't need to.. 2011-03-07T18:09:27 but.. lol 2011-03-07T18:09:36 how do I see the differences? 2011-03-07T18:10:04 git log? 2011-03-07T18:10:13 git log --stats 2011-03-07T18:10:30 and you can also do git diff origin/epsion-new-schema 2011-03-07T18:10:47 will compare current local commit with the one in origin/epsilon 2011-03-07T18:11:04 aichallenge: McLeopold epsilon-new-schema * r4e7ab13 / (17 files in 5 dirs): Merge branch 'epsilon-new-schema' of https://github.com/aichallenge/aichallenge into epsilon-new-schema - http://bit.ly/fOHRVY 2011-03-07T18:12:02 * amstan does something with /me to test 2011-03-07T18:12:18 * McLeopold makes the test harder 2011-03-07T18:12:58 ***McLeopold continues to make the test harder 2011-03-07T18:13:10 lol 2011-03-07T18:14:38 *** Kingpin13 has quit IRC (Quit: You're a kitty!) 2011-03-07T18:14:50 amstan: okay, I've got a conflict, now what? 2011-03-07T18:15:01 McLeopold: you follow the instructions 2011-03-07T18:15:07 maybe man git merge 2011-03-07T18:15:31 the instructions say, "fix". how do I see the 2 versions? 2011-03-07T18:15:55 tldr: do "git status", then explore every file in there that's not merged and open it manually, merge it manually, then git add, git commit -m "merged things" 2011-03-07T18:16:27 the 2 versions are inside the unmerged files, you'll quickly see them 2011-03-07T18:16:41 0_schema.sql, but I only see 1 file 2011-03-07T18:17:21 open it 2011-03-07T18:17:51 oh, there it is. I missed the first time 2011-03-07T18:19:39 *** amstan is now known as amstan2 2011-03-07T18:19:41 *** amstan2 is now known as amstan 2011-03-07T18:20:21 @what about contestbot? 2011-03-07T18:20:21 McLeopold: Error: No factoid matches that key. 2011-03-07T18:20:32 McLeopold: what about him? 2011-03-07T18:20:44 @did you want to filter him? 2011-03-07T18:20:45 McLeopold: User error -- Replace user. 2011-03-07T18:20:52 McLeopold: hmm.. good point... maybe later 2011-03-07T18:21:18 @roulette 2011-03-07T18:21:18 McLeopold: *click* 2011-03-07T18:21:51 McLeopold: i'm making this: http://www.jibble.org/piespy/ 2011-03-07T18:22:18 *** mceier has quit IRC (Quit: leaving) 2011-03-07T18:22:30 my nodes are a set of nicks 2011-03-07T18:22:54 i'm wondering if i can do a find on each line for all elements of the set 2011-03-07T18:22:57 probably too slow 2011-03-07T18:24:39 you could track the entry and exit messages, then narrow the list of nicks? 2011-03-07T18:25:04 McLeopold: i'm only tracking messages now 2011-03-07T18:25:14 for now* 2011-03-07T18:26:07 aichallenge: McLeopold epsilon-new-schema * r8efe6a6 / sql/0_schema.sql : 2011-03-07T18:26:07 aichallenge: Merge branch 'epsilon-new-schema' of github.com:aichallenge/aichallenge into epsilon-new-schema 2011-03-07T18:26:07 aichallenge: Conflicts: 2011-03-07T18:30:34 *** Zannick has quit IRC (Ping timeout: 240 seconds) 2011-03-07T18:30:39 *** Zannick has joined #aichallenge 2011-03-07T18:43:19 *** amstan is now known as rr 2011-03-07T18:43:26 contestbot: hi 2011-03-07T18:43:26 hi rr 2011-03-07T18:43:32 contestbot: echo rrgfd 2011-03-07T18:43:32 rrgfd 2011-03-07T18:43:35 contestbot: echo fdrrgfd 2011-03-07T18:43:35 fdrrgfd 2011-03-07T18:43:38 *** rr is now known as amstan 2011-03-07T18:43:39 hmm\ 2011-03-07T18:43:42 how does that work? 2011-03-07T18:44:00 i don't think it's just a simple line.find(currentnick) 2011-03-07T19:00:50 *** kaemo has quit IRC (Ping timeout: 240 seconds) 2011-03-07T19:13:44 *** greghaynes has joined #aichallenge 2011-03-07T19:18:53 *** sente has joined #aichallenge 2011-03-07T19:24:02 amstan: for highlighting? depends on the client and the highlighting preferences the user set 2011-03-07T19:24:11 i got a huge ass regex now 2011-03-07T19:24:16 nickre = re.compile("\\b(%s)\\b" % ("|".join(re.escape(nick.lower()) for nick in nicks))) 2011-03-07T19:24:24 \b seems to be enough 2011-03-07T19:24:47 yeah, word boundaries 2011-03-07T19:29:01 well.. my script is sloooooowww 2011-03-07T20:03:14 yay: i got something... https://github.com/amstan/IRC-Graph/blob/master/graph.jpg 2011-03-07T20:08:41 *** superflit has quit IRC (Quit: superflit) 2011-03-07T20:11:05 *** sketchyd_ has quit IRC () 2011-03-07T20:13:49 *** sketchyd_ has joined #aichallenge 2011-03-07T20:22:55 month of february: https://github.com/amstan/IRC-Graph/raw/master/graph.jpg 2011-03-07T20:31:35 amstan: is that graphviz? 2011-03-07T20:31:39 yes 2011-03-07T20:31:44 could you do the circle graph? 2011-03-07T20:31:50 ok 2011-03-07T20:32:33 circo that is 2011-03-07T20:33:26 hmm 2011-03-07T20:33:28 interesting 2011-03-07T20:34:51 also, some name squashing would make it simpler, I've got 3 boxes 2011-03-07T20:35:10 you could do a find/replace in the graphviz text 2011-03-07T20:35:51 and a twopi layout would be cool for each user... 2011-03-07T20:36:29 McLeopold: https://github.com/amstan/IRC-Graph/blob/master/graph.jpg 2011-03-07T20:37:34 McLeopold: that's january 2011-03-07T20:39:59 *** antimatroid has joined #aichallenge 2011-03-07T20:40:24 can you do feb with the circo? 2011-03-07T20:41:05 McLeopold: well.. do you want a per month thing? for all months? 2011-03-07T20:41:14 McLeopold: i could make a script to put them on my server 2011-03-07T20:42:13 just a quick feb 2011-03-07T20:42:22 McLeopold: but then i have to commit it.. 2011-03-07T20:42:28 fine.. 2011-03-07T20:42:36 *** antimatroid1 has quit IRC (Ping timeout: 248 seconds) 2011-03-07T20:43:30 McLeopold: pushing 2011-03-07T20:44:05 McLeopold: hmm... it seems like feb was already there 2011-03-07T20:44:06 lol 2011-03-07T20:44:35 *** Zepp has quit IRC (Quit: leaving) 2011-03-07T20:45:20 cool 2011-03-07T20:45:21 *** Zepp has joined #aichallenge 2011-03-07T20:45:40 *** McLeopold has left #aichallenge 2011-03-07T20:46:07 *** Zepp has quit IRC (Client Quit) 2011-03-07T20:47:28 *** Zepp has joined #aichallenge 2011-03-07T20:48:42 *** Zepp has joined #aichallenge 2011-03-07T20:50:09 *** Zepp has quit IRC (Client Quit) 2011-03-07T20:50:29 *** Zepp has joined #aichallenge 2011-03-07T20:51:06 *** Zepp has quit IRC (Client Quit) 2011-03-07T20:52:42 *** Zepp has joined #aichallenge 2011-03-07T20:53:13 *** Zepp has joined #aichallenge 2011-03-07T21:00:09 *** davidjliu has quit IRC (Ping timeout: 245 seconds) 2011-03-07T21:17:45 Anyone can explain how I tell if a player involved in a game is the seed? 2011-03-07T21:18:19 Is it game_player.rank = 0? Or, is there going to be something added to game to indicate that? 2011-03-07T21:18:55 I'd ask McLeopold directly, but he seems to be off IRC for now. 2011-03-07T21:20:15 not sure.. 2011-03-07T21:43:29 upboats pls? http://www.reddit.com/r/programming/comments/fzguk/irc_highlight_grapher/ 2011-03-07T22:01:11 http://csclub.uwaterloo.ca/~amstan/%23aichallenge%20highlight%20graph/graph%20-%202011-03.svg 2011-03-07T22:01:25 janzert, Zannick, antimatroid: look ^ 2011-03-07T22:01:46 jmcarthur is also pointed at more than others in there 2011-03-07T22:05:04 amstan: what are the edges anyway? 2011-03-07T22:05:10 antimatroid: highlights 2011-03-07T22:05:17 antimatroid: like i'm doing right now 2011-03-07T22:05:38 neat 2011-03-07T22:05:46 code is here: https://github.com/amstan/Highlight-Graph 2011-03-07T22:06:04 bss03: Does this raise my ranking? ;) 2011-03-07T22:06:19 bss03: you'll probably get an arrow to yourself 2011-03-07T22:06:40 amstan: Cute. 2011-03-07T22:07:38 antimatroid: I want one! 2011-03-07T22:07:52 antimatroid: you already have one.. 2011-03-07T22:07:56 :p 2011-03-07T22:08:13 also, it's not real time, i have to get the logs again and regenerate it 2011-03-07T22:08:45 amstan: your thing doesn't seem to handle pyro- properly 2011-03-07T22:08:47 we should make a graph like that for the contest 2011-03-07T22:08:56 i've most certainly typed "pyro-: ..." 2011-03-07T22:09:13 hmm.. 2011-03-07T22:09:24 might be backwards 2011-03-07T22:09:37 G.add_edge(nick,highlight) 2011-03-07T22:09:39 seems right.. 2011-03-07T22:09:44 unless the library is backwards 2011-03-07T22:11:12 haha, jmcarthur has an arrow pointing to himself 2011-03-07T22:12:15 hmmm... a lot of people have one 2011-03-07T22:12:27 sigh: if you post a link that has your nick in it, that counts 2011-03-07T22:12:37 my csclub link counts too 2011-03-07T22:12:55 right.. it is backwards 2011-03-07T22:13:05 ah, so the nick can be anywhere in the text 2011-03-07T22:13:44 sigh: i went to the #konversation guys, they said they handle highlights with regex("\bnick\b") 2011-03-07T22:13:58 yeah, that makes sense 2011-03-07T22:14:16 my nick will be artificially inflated by depressed people :D 2011-03-07T22:14:24 yep 2011-03-07T22:14:26 and this: 2011-03-07T22:14:28 @sigh 2011-03-07T22:14:28 i know... 2011-03-07T22:16:04 hmm 2011-03-07T22:16:10 there is something wrong with it.. 2011-03-07T22:16:31 pyro said 2011-03-03T02:11:55 again this time greghaynes ?:D 2011-03-07T22:16:37 but it didn't catch it 2011-03-07T22:16:44 pyro should have both arrows 2011-03-07T22:17:07 cia works properly, only arrows pointed away from him 2011-03-07T22:18:55 aichallenge: Marco Leise epsilon * ra18a278 / (ants/bots/d/MyBot.d ants/bots/d/ants.d): Added D starter bot - http://bit.ly/e9UTqV 2011-03-07T22:18:56 aichallenge: Marco Leise epsilon * r29ef901 / manager/map_analyzer.py : Merge branch 'epsilon' of github.com:aichallenge/aichallenge into epsilon - http://bit.ly/fgoxLr 2011-03-07T22:21:01 Why does it show the map analyzer as my commit? strange. i had some warning about some stuff that couldnt be pushed and something about fast-forward prior to that. 2011-03-07T22:24:39 @later tell McLeopold If we want to balance a user's position on the map game_player needs a "seat" or "position" column. 2011-03-07T22:24:39 bss03: Yep. 2011-03-07T22:25:24 @later tell McLeopold It also shows me who is the seed player; position = 0. 2011-03-07T22:25:24 bss03: I think that worked... 2011-03-07T22:25:34 Frontier: because you commited 2011-03-07T22:25:39 Frontier: merged* 2011-03-07T22:26:02 Frontier: usually just ignore merge commits, unless you actually had branches going 2011-03-07T22:41:41 *** McLeopold has joined #aichallenge 2011-03-07T22:42:13 bss03: give me a few minutes, and I'll send the newer schema 2011-03-07T22:44:37 I've run out of time for working on it tonight. 2011-03-07T22:44:45 I'll pick your schema up after work tomorrow. 2011-03-07T22:44:53 heh, was about to ask if you were still around 2011-03-07T22:45:54 okay, I won't rush it then 2011-03-07T22:46:09 I know you need to know about positions on a map the player has previously played, but what do you need to know the seed for? 2011-03-07T22:46:49 bss03: we can't have the player_id (aka position) also be the seed. so I've added a seed field 2011-03-07T22:46:57 Well, I'm just assuming seed player = position 0. 2011-03-07T22:47:06 I thought that at first 2011-03-07T22:47:12 That makes the most sense. 2011-03-07T22:47:14 But I'd like to make it more flexible 2011-03-07T22:47:30 what use is knowing which one was the seed player? 2011-03-07T22:47:34 that way a picking a seed is disconnected from rotating it's position 2011-03-07T22:47:42 Shrug. The way I'm writing this, the only place to put the seed is position 0. 2011-03-07T22:48:02 Well, not the only place, but... 2011-03-07T22:48:44 sigh: are you around? 2011-03-07T22:48:59 When the other players are picked, players that haven't played in the position currently being chosen are preferred. 2011-03-07T22:49:33 That naturally rotates all seats except 0. Which is the seed, and why we should rotate the seed some. 2011-03-07T22:50:02 In writing some SQL I found that issue and posted it to the wiki. 2011-03-07T22:50:20 "rotate the seed" (between different players), not re-seat the seed. 2011-03-07T22:51:37 so long as there are more players then can play in one game I think we're ok 2011-03-07T22:51:45 But, I'm fine with game having a seed_user_id column. Might reduce some queries a little bit, and does allow us to rotate players if it makes sense. 2011-03-07T22:52:57 * bss03 argees with janzert. 2011-03-07T22:53:30 I just hate breaking ties based on user_id when there does seem to be a better way to do it. 2011-03-07T22:53:45 McLeopold: yes 2011-03-07T22:54:31 *** chris__0076 has quit IRC (Ping timeout: 260 seconds) 2011-03-07T22:54:41 *** lavalamp has joined #aichallenge 2011-03-07T22:54:53 hi everyone 2011-03-07T22:55:02 I think I found a bug in playgame.py 2011-03-07T22:55:18 or I guess it's engine.py 2011-03-07T22:56:02 sigh: would you be willing to do work on the engine? 2011-03-07T22:56:10 I suppose after we choose the map, we can "move" the seed player to a seat they haven't played from before. Seems easy enough. 2011-03-07T22:56:17 *** chris__0076 has joined #aichallenge 2011-03-07T22:56:33 Anyway. Time for bed. Night all. 2011-03-07T22:56:43 night 2011-03-07T22:56:45 McLeopold: well not right now, I'm at work :) 2011-03-07T22:56:56 I mean in general :) 2011-03-07T22:57:08 I need someone to write a fair food spawning algo 2011-03-07T22:57:22 lavalamp: what's the bug? 2011-03-07T22:57:29 or maybe I misunderstand the spec... 2011-03-07T22:57:33 "If more than one ant is in a square once all moves have been made, each of these ants automatically dies. No points are assigned for these deaths and you wont see information about these dead ants." 2011-03-07T22:58:01 lavalamp: you might be right 2011-03-07T22:58:06 I take that to mean that if I move ant A onto square B and then move ant C onto A's original square, it should be fine? 2011-03-07T22:58:18 I thought it was decided to spawn points for those if an enemy was also in range? 2011-03-07T22:58:29 err, assign points 2011-03-07T22:58:36 McLeopold: ah I see... are there any clear requirements/specs yet? 2011-03-07T22:58:37 janzert: yes, it has been 2011-03-07T22:58:43 or is working them out part of it too? 2011-03-07T22:58:46 sigh: not for food spawning 2011-03-07T22:59:03 But it seems right now that it kills the ants 2011-03-07T22:59:20 I'm probably not the best person to ask then, because I haven't been following the game very closely 2011-03-07T22:59:24 sigh: my only thought was to pick an offset, then spawn 1 food per bot offset from their starting location 2011-03-07T23:00:08 lavalamp: ant's stepping on each other should kill each other 2011-03-07T23:00:27 I'm maintaining a list of ant that died in each square. 2011-03-07T23:00:57 Ants that do step on each other are taken out before regular battle, so the code is in a different area 2011-03-07T23:01:01 Imagine a 1 pixel wide corridor completely full of ants. Can I advance them all one space forward on the same turn? 2011-03-07T23:01:08 but if ant 1 moves off of square A ant 2 should be able to move on it in the same turn though right? 2011-03-07T23:01:14 The spec implies I should be able to. 2011-03-07T23:01:20 janzert: yes 2011-03-07T23:01:44 Ok. Then I'm pretty sure there's a bug in the engine. 2011-03-07T23:02:48 McLeopold: updating the spec, is death information given for ants dying by collision now? 2011-03-07T23:03:14 all ant that die for any reason should be output in the square they die at 2011-03-07T23:03:25 good :) 2011-03-07T23:03:50 actually now I'm confused at this output, hold that thought. 2011-03-07T23:04:13 McLeopold: sorry I'll have to pass, I'm really not familiar enough with the existing specifications to feel like I can do a good job with it 2011-03-07T23:04:44 if you have time, give it an hour, then let me know 2011-03-07T23:04:53 OK I think I am just confused about the row/col <-> X/Y translation 2011-03-07T23:05:31 yeah, that should be ironed out in the engine 2011-03-07T23:05:31 McLeopold: ok, let me know what part of the code I should be looking at and I'll take a look tonight 2011-03-07T23:07:05 sigh: aichallenge/ants/ants.py do_food_random, antimatroid can help with ideas 2011-03-07T23:07:06 sigh: i know how you can do fair spawning sort of 2011-03-07T23:07:28 lavalamp: you should be able to move into a square an ant is moving out of 2011-03-07T23:08:07 McLeopold: I think we should agree to use my method of placing starting ants at least 2011-03-07T23:08:23 antimatroid: false alarm! I had row/col swapped and it caused my collision detection code to fail 2011-03-07T23:08:24 actually, you guys might not like that? 2011-03-07T23:08:40 lavalamp: don't ever use x,y 2011-03-07T23:08:47 it'll only confuse the hell out of you 2011-03-07T23:08:56 clearly 2011-03-07T23:09:03 i did that in tron, lol 2011-03-07T23:09:03 maybe I should switch everything over 2011-03-07T23:09:20 if we used x,y you'd have to translate stuff, when printing/reading maps, now EVERYTHING is the same, it's the better option 2011-03-07T23:09:25 it's just so unnatural to represent a grid with the vertical element first :/ 2011-03-07T23:09:31 no it's not 2011-03-07T23:09:42 ever written on a page? 2011-03-07T23:09:44 haha to me it is, I should say 2011-03-07T23:09:47 you index the row then write along it 2011-03-07T23:09:50 ever used a matrix? 2011-03-07T23:10:06 alright, good point 2011-03-07T23:10:17 most of my "grid" work is images 2011-03-07T23:10:40 yeah, i'm surprised people don't strictly use row,col for indexing things, it ensures everything is consistent 2011-03-07T23:10:48 I'll switch things around so I don't confuse anyone else 2011-03-07T23:10:51 * janzert agrees, math nerds might be comfortable with vertical first but most of CS has done horizontal first for a very long time :P 2011-03-07T23:10:52 :) 2011-03-07T23:11:31 janzert: and i think they've been wrong in doing so, i'd be alright with it being a different standard, but due to having to translate stuff when inputting and outputting i think it's inferior 2011-03-07T23:13:12 well, i'll happily take all complaints throughout the tournament for row,col indexing :) 2011-03-07T23:13:56 hehe 2011-03-07T23:14:38 i am terrible 2011-03-07T23:14:53 i keep saying translate instead of transpose and transpose instead of translate 2011-03-07T23:19:26 * antimatroid wonders if we could find someone to make a 3d visualiser on a torus 2011-03-07T23:20:06 and you could change not only the angle you are looking at the tours, but also translate either lot of rings on the torus 2011-03-07T23:25:10 do people still prefer asymmetric maps to symmetric? 2011-03-07T23:25:38 you will need to analyze them at least :) 2011-03-07T23:25:49 i'm thinking about food spawning 2011-03-07T23:26:13 i like the way i'm currently placing ants at least, even for asymmetric maps 2011-03-07T23:27:22 and you can take rtranslate, ctranslate in the engine to be the difference between any two players starting positions for placing food symmetrically if you ensure no two players start in the same row or column, which i'm currently doing 2011-03-07T23:36:08 hehe, i get to map an "antisymmetric" map gen, which works for multiple reasons 2011-03-07T23:36:23 ant y 2011-03-07T23:51:47 *** jmpespxo1eax is now known as jmpespxoreax 2011-03-07T23:51:53 *** jmpespxoreax has joined #aichallenge 2011-03-07T23:52:23 ok I got my row/col/x/y all sorted out 2011-03-07T23:52:39 you wouldn't think it'd be so hard to swap names and order :/ 2011-03-07T23:52:57 antimatroid: https://github.com/aichallenge/aichallenge/wiki/Ants-spawning 2011-03-07T23:54:21 lavalamp: worst would have been translating your n,e,s,w move output :P 2011-03-07T23:54:29 also, I totally don't understand your "no ant in the same row" stuff. Do you have pictures? 2011-03-07T23:54:37 transposing god damnit! 2011-03-07T23:54:44 hang on 2011-03-07T23:55:01 antimatroid: let's do a klein bottle and really screw everyone up 2011-03-07T23:55:23 antimatroid: lol and yeah that was almost as bad as finding the place where I really had reversed row/col previously to get the map the right size.... XP 2011-03-07T23:56:28 http://codepad.org/Z3GqjRTN 2011-03-07T23:56:45 McLeopold: i'd be down, but it'd make distance and getlocation harder 2011-03-07T23:57:04 so, what's the benefit of the "not same row/col"? 2011-03-07T23:57:19 symmetric maps don't look so latticy 2011-03-07T23:57:30 so, just astetics? 2011-03-07T23:57:34 and you don't have any idea where the other players started 2011-03-07T23:57:39 ascetics 2011-03-07T23:57:45 aesthetics* 2011-03-07T23:57:55 yeah, spell check was failing me :) 2011-03-07T23:58:07 i don't have spellcheck for irc :( 2011-03-07T23:58:39 amstan: I'll have to sort out the damage I did to my github fork later. But the go starter package should be all done now. 2011-03-07T23:58:42 i think it's good that you don't know where your enemies started 2011-03-07T23:58:54 yes, that is good 2011-03-07T23:59:08 I always thought it was going to be more of an issue of pathfinding 2011-03-07T23:59:16 lavalamp: ugh.. ok.. let me figure it out.. 2011-03-07T23:59:22 and if you want to place food symmetrically, it then doesn't matter which two players starting locations your work out rtranslate and ctranslate from 2011-03-07T23:59:23 lavalamp: link me all commits that you want to keep 2011-03-07T23:59:40 ok hold on