2011-03-04T00:01:06 *** me0w has joined #aichallenge 2011-03-04T00:23:43 *** _flag <_flag!~flag@69-165-173-172.dsl.teksavvy.com> has quit IRC (Quit: Lost terminal) 2011-03-04T00:25:26 Frontier: i just get a blue line in chrome and ie 2011-03-04T00:25:52 you are too late :o) i already changed that page 2011-03-04T00:26:42 it should display nothing though... 2011-03-04T00:26:47 he okay 2011-03-04T00:26:55 i just had an interesting few hours aha 2011-03-04T00:27:26 my friend dragged me along to "some information thing about some charity thing", turns out it was a group interview for volunteers positions 2011-03-04T00:27:46 so i spent a few hours doing ridiculous things in groups with complete strangers for something i haven no real interest in doing 2011-03-04T00:30:08 oh a recursion -.- 2011-03-04T00:30:39 oh funny situation 2011-03-04T00:31:02 i mean: you were in a funny situation and i had a recursion in my code 2011-03-04T00:33:54 :p 2011-03-04T00:34:06 call the web page again, what does it say? 2011-03-04T00:34:23 lolz 2011-03-04T00:34:27 1 call? 2011-03-04T00:34:34 ? 2011-03-04T00:34:39 or no message box 2011-03-04T00:35:01 no message box? 2011-03-04T00:35:12 is there NO message box when you load the page? Oo 2011-03-04T00:35:17 in chrome it keeps part of what was on the window above when i go back to chrome 2011-03-04T00:35:27 i just see lolz 2011-03-04T00:36:09 and ie? 2011-03-04T00:37:01 ie just shows lolz 2011-03-04T00:37:12 no problem with going back to the window and having something left therer 2011-03-04T00:37:16 why doesn't it show a message box :( 2011-03-04T00:37:47 are there errors? 2011-03-04T00:38:48 nope 2011-03-04T00:39:08 "there should be a message box" 2011-03-04T00:39:24 strange. in opera and ff i see a message box. it means that the applet has been initialized. 2011-03-04T00:40:13 i changed something. is it better now? 2011-03-04T00:41:23 finally loaded after 1 calls 2011-03-04T00:41:48 :D allright 2011-03-04T00:41:54 you're good in both my browsers now 2011-03-04T00:43:41 *** smelylhippy has joined #aichallenge 2011-03-04T00:43:49 *** smelylhippy has quit IRC (Changing host) 2011-03-04T00:43:49 *** smelylhippy has joined #aichallenge 2011-03-04T00:44:20 but it is a bitter hack right now. i can't just stop script execution for 1 ms and expect the applet to be usable then :p 2011-03-04T00:45:40 *** smellyhippy has quit IRC (Ping timeout: 240 seconds) 2011-03-04T00:46:53 *** delt0r___ has joined #aichallenge 2011-03-04T00:48:21 *** delt0r_ has quit IRC (Ping timeout: 252 seconds) 2011-03-04T00:48:52 it doesnt always work in opera. as soon as i call a method of the applet that isn't initialized i enter an endless loop 2011-03-04T01:16:31 *** sigh has left #aichallenge ("Leaving") 2011-03-04T01:17:41 *** me0w has quit IRC (Ping timeout: 252 seconds) 2011-03-04T02:11:26 *** Palmik has joined #aichallenge 2011-03-04T02:39:25 *** sigh has joined #aichallenge 2011-03-04T03:34:53 *** Palmik has quit IRC (Read error: Connection reset by peer) 2011-03-04T04:09:04 *** Naktibalda has joined #aichallenge 2011-03-04T04:42:27 *** mega1 has joined #aichallenge 2011-03-04T05:25:40 *** JackyAlcine has quit IRC (Ping timeout: 240 seconds) 2011-03-04T05:27:36 *** JackyAlcine has joined #aichallenge 2011-03-04T05:33:32 *** amstan has quit IRC (Ping timeout: 240 seconds) 2011-03-04T05:35:30 *** JackyAlcine has quit IRC (Ping timeout: 252 seconds) 2011-03-04T05:38:07 *** JackyAlcine has joined #aichallenge 2011-03-04T06:23:14 *** smelylhippy is now known as smellyhippy 2011-03-04T06:56:43 *** chris__0076 has joined #aichallenge 2011-03-04T06:59:29 *** chris___0076 has quit IRC (Ping timeout: 252 seconds) 2011-03-04T07:20:55 *** sigh has quit IRC (Remote host closed the connection) 2011-03-04T08:13:41 *** helo has joined #aichallenge 2011-03-04T08:21:11 *** mceier has joined #aichallenge 2011-03-04T08:34:27 *** Mathnerd314 has quit IRC (Ping timeout: 252 seconds) 2011-03-04T08:39:51 *** DanielVF has quit IRC (Quit: Bye!) 2011-03-04T08:46:59 *** delt0r_ has joined #aichallenge 2011-03-04T08:48:04 *** delt0r___ has quit IRC (Ping timeout: 240 seconds) 2011-03-04T09:03:51 *** me0w has joined #aichallenge 2011-03-04T09:11:47 *** JackyAlcine has quit IRC (Remote host closed the connection) 2011-03-04T09:14:25 *** JackyAlcine has joined #aichallenge 2011-03-04T09:32:09 *** choas has joined #aichallenge 2011-03-04T09:58:28 *** helo has quit IRC (*.net *.split) 2011-03-04T10:07:01 *** Apophis_ has quit IRC (*.net *.split) 2011-03-04T10:07:02 *** Ttech has quit IRC (*.net *.split) 2011-03-04T10:09:00 *** Guest16489 has joined #aichallenge 2011-03-04T10:14:35 *** Zannick has quit IRC (Ping timeout: 250 seconds) 2011-03-04T10:15:16 *** me0w has quit IRC (Read error: Connection reset by peer) 2011-03-04T10:15:35 *** ZanniqlcKzxkq has joined #aichallenge 2011-03-04T10:17:22 *** choas_ has joined #aichallenge 2011-03-04T10:25:14 *** choas has quit IRC (*.net *.split) 2011-03-04T10:25:14 *** Naktibalda has quit IRC (*.net *.split) 2011-03-04T10:27:31 *** Apophis_ has joined #aichallenge 2011-03-04T10:27:50 *** Naktibalda has joined #aichallenge 2011-03-04T10:46:57 huzza, my symmetric map gen now only makes maps where no two players start in the same row or col 2011-03-04T10:47:38 turns out of order(rtranslate) != order(ctranslate) then you get a problem 2011-03-04T10:47:54 if* 2011-03-04T10:48:40 *** ali1` has joined #aichallenge 2011-03-04T11:08:46 *** rebelxt1 has left #aichallenge 2011-03-04T11:10:17 *** nann has joined #aichallenge 2011-03-04T11:11:57 *** Kingpin13 has joined #aichallenge 2011-03-04T11:17:27 *** ali1`_ has joined #aichallenge 2011-03-04T11:17:58 *** ali1` has quit IRC (*.net *.split) 2011-03-04T11:17:58 *** Apophis_ has quit IRC (*.net *.split) 2011-03-04T11:18:00 *** jmcarthur has quit IRC (*.net *.split) 2011-03-04T11:18:01 *** ZanniqlcKzxkq has quit IRC (*.net *.split) 2011-03-04T11:18:01 *** chris__0076 has quit IRC (*.net *.split) 2011-03-04T11:18:44 *** ZanniqlcKzxkq has joined #aichallenge 2011-03-04T11:18:45 *** chris__0076 has joined #aichallenge 2011-03-04T11:18:45 *** ali1`_ is now known as ali1` 2011-03-04T11:22:37 *** jbroman_ has joined #aichallenge 2011-03-04T11:23:25 *** jbroman has quit IRC (Ping timeout: 252 seconds) 2011-03-04T11:23:59 *** delt0r___ has joined #aichallenge 2011-03-04T11:24:17 *** ZanniqlcKzxkq has quit IRC (*.net *.split) 2011-03-04T11:24:17 *** chris__0076 has quit IRC (*.net *.split) 2011-03-04T11:25:18 *** jmcarthur has joined #aichallenge 2011-03-04T11:25:26 *** politik__ has joined #aichallenge 2011-03-04T11:28:28 *** politik_ has quit IRC (Ping timeout: 264 seconds) 2011-03-04T11:30:35 *** ZanniqlcKzxkq has joined #aichallenge 2011-03-04T11:30:35 *** chris__0076 has joined #aichallenge 2011-03-04T11:33:25 jmcarthur: i'm still beating you on speed i assume? :P 2011-03-04T11:33:42 antimatroid1: i went to bed and woke back up only a few minutes ago 2011-03-04T11:33:52 antimatroid1: and today will be a busy day 2011-03-04T11:34:00 but i have a couple optimizations in mind to try 2011-03-04T11:34:24 *** superflit has joined #aichallenge 2011-03-04T11:34:52 i am making my symmetric maps better 2011-03-04T11:35:04 i think water should block attacking and spawning 2011-03-04T11:36:03 *** ali1` has quit IRC (*.net *.split) 2011-03-04T11:36:03 *** nann has quit IRC (*.net *.split) 2011-03-04T11:36:04 *** delt0r_ has quit IRC (*.net *.split) 2011-03-04T11:36:05 *** AlliedEnvy has quit IRC (*.net *.split) 2011-03-04T11:37:55 that's a bit more complexity though 2011-03-04T11:38:16 i kind of agree. i just think it's a hard sell 2011-03-04T11:40:41 *** AlliedEnvy has joined #aichallenge 2011-03-04T11:44:52 *** KP13 has joined #aichallenge 2011-03-04T11:46:36 *** superflit has quit IRC (Ping timeout: 240 seconds) 2011-03-04T11:46:36 *** greghaynes has quit IRC (Ping timeout: 240 seconds) 2011-03-04T11:47:06 *** choas_ has quit IRC (Ping timeout: 240 seconds) 2011-03-04T11:47:36 *** Kingpin13 has quit IRC (Ping timeout: 240 seconds) 2011-03-04T11:47:53 i don't think it's any harder 2011-03-04T11:48:10 when you're painting outwards to find things, don't look on/past a water square 2011-03-04T11:48:18 it's like changing part of an if statement 2011-03-04T11:48:47 *** McLeopold has joined #aichallenge 2011-03-04T11:49:13 painting outwards? 2011-03-04T11:49:22 so this isn't just euclidean distance then 2011-03-04T11:49:31 *** choas has joined #aichallenge 2011-03-04T11:49:56 well yeah, but you want to paint outwards when calculating that 2011-03-04T11:50:17 it's the fastest and easiest way to do it 2011-03-04T11:51:18 McLeopold: i'm back to thinking spawning/battle should be blocked by water, at the very least spawning 2011-03-04T11:51:36 this sounds like a rogue-like algorithm 2011-03-04T11:51:48 (those are very involved, actually) 2011-03-04T11:52:12 spawning should be easiest to change, births are simple: for each food square, paint outwards (not over water) and find ants inside range 2011-03-04T11:52:33 jmcarthur: it's a queue of locations, it's really simple 2011-03-04T11:52:56 simple enough to go in the spec? 2011-03-04T11:53:02 *** superflit has joined #aichallenge 2011-03-04T11:53:08 what do you mean? 2011-03-04T11:53:17 the spec doesn't even cover how to calculate what squares you can see 2011-03-04T11:53:20 are people going to understand it? 2011-03-04T11:53:31 the spec *should* cover that 2011-03-04T11:53:38 i plan to cover the painting algorithm for view in the tutorial and give examples of where else it's useful 2011-03-04T11:53:42 not an algorithm, mind you, but at least a spec 2011-03-04T11:53:54 "a square is visible if..." 2011-03-04T11:53:55 in more of a pseudo code format anyway 2011-03-04T11:54:00 *** amstan has joined #aichallenge 2011-03-04T11:54:05 water doesn't block visibility 2011-03-04T11:54:12 "a square is attackable if..." 2011-03-04T11:54:17 *** ChanServ sets mode: +o amstan 2011-03-04T11:54:20 all you need to say in the spec is that water blocks this, this and this, but not visibility and ... 2011-03-04T11:54:57 it's not that simple 2011-03-04T11:55:00 h/o i'll get a link 2011-03-04T11:55:01 water blocks movement already 2011-03-04T11:55:12 http://roguebasin.roguelikedevelopment.org/index.php?title=Comparative_study_of_field_of_view_algorithms_for_2D_grid_based_worlds 2011-03-04T11:55:30 i know this isn't about what's visible, but the same principles apply 2011-03-04T11:55:47 if we have water block attacks/spawns, we have to decide in what way they do so 2011-03-04T11:56:11 you mean by going "around" water? 2011-03-04T11:56:22 i would have allowed that, but i guess it's not intuitive again then 2011-03-04T11:56:37 look at the link. maybe read some of the pages describing the algorithms 2011-03-04T11:56:41 http://roguebasin.roguelikedevelopment.org/index.php?title=Category:FOV 2011-03-04T11:56:47 i understand what you mean 2011-03-04T11:56:58 what is the "shape" of a position, for example? 2011-03-04T11:57:16 ? 2011-03-04T11:57:40 e.g. do you have to be able to see the "center" of a square in order to see it, or can you just see a corner of it? 2011-03-04T11:57:52 do you have to see if from your center, or from any part of your square? 2011-03-04T11:57:54 etc. 2011-03-04T11:58:18 yeah okay 2011-03-04T11:58:20 do the corners of square block? 2011-03-04T11:58:24 *squares 2011-03-04T11:58:39 %a 2011-03-04T11:58:42 b 2011-03-04T11:58:44 ^^ what happens there? 2011-03-04T11:59:09 my very first proposal would have allowed you to go around walls 2011-03-04T11:59:18 but that would have been ridiculous 2011-03-04T11:59:32 i retract my proposal, that's far too messy 2011-03-04T11:59:52 i have better arguments when people raise the issue now though :P 2011-03-04T12:00:01 heh 2011-03-04T12:00:20 i ran into these same issues when writing my line of sight stuff for my modified tron game idea 2011-03-04T12:00:29 i never found an algorithm i really liked 2011-03-04T12:00:37 *** rebelxt has joined #aichallenge 2011-03-04T12:00:40 or that wasn't really really slow 2011-03-04T12:00:55 i mean, i found fast ones i didn't like and slow ones i liked 2011-03-04T12:01:39 I'm against water blocking attacks and spawning. 2011-03-04T12:01:56 McLeopold: i've changed my mind again anyway, don't worry :) 2011-03-04T12:02:11 http://codepad.org/eI2uiMrI here's a daily dose of maps, any complaints other than i'm still not using perlin noise? 2011-03-04T12:02:32 it now ensures players start at least x distance apart and makes sure no two players begin in the same row or column 2011-03-04T12:02:33 *** amstan has quit IRC (Ping timeout: 252 seconds) 2011-03-04T12:03:15 oh, and you can have regions blocked off by water, but i think that's bad if you can spawn over water, did we agree on that mcleopold? 2011-03-04T12:03:26 or show i allow blocked off regions that people could potentially spawn into 2011-03-04T12:03:33 shall* 2011-03-04T12:03:47 all land should be connected 2011-03-04T12:03:53 i think blocked off regions are fine, but you shouldn't be able to spawn into them 2011-03-04T12:04:07 you could just flood fill from the ants and make sure they can get to each other 2011-03-04T12:04:22 hmm... 2011-03-04T12:04:37 blocked off regions could become problematic if you can spawn across them 2011-03-04T12:04:43 The engine will find all disconnected sections and fill in all but the largest with water. 2011-03-04T12:04:49 i guess your opponent could do the same though 2011-03-04T12:04:53 jmcarthur: water regions can fill themselves now if they want anyway 2011-03-04T12:05:11 nah i don't mind spawning into them i think 2011-03-04T12:05:15 jmcarthur: they could too, but it might lead to fairly dull games if people are separated and not easily able to cross to each other 2011-03-04T12:05:23 Unless a game is considered over when each disconnected region only has one bot on it. 2011-03-04T12:05:25 it would just be in your best interest to get into those regions early 2011-03-04T12:05:37 it might not go along with fast games 2011-03-04T12:05:51 filling in the blocked off regions sounds good 2011-03-04T12:06:09 g2g breakfast 2011-03-04T12:06:13 no need for that, it can generate blocked off regions now without having to flood fill them 2011-03-04T12:07:59 i haven't actually proved it, but i'm pretty sure at least two players start in the same row or column (possibly both) if rows/gcd(rtranslate, rows) == cols/gcd(ctranslate, cols) 2011-03-04T12:08:27 *** ZanniqlcKzxkq is now known as Zannick 2011-03-04T12:10:01 and when at least two players start in the same row or col, if the engine tried to get rtrans and ctrans from two arbitrary players starting positions, it could fail, with my new method, doing it between any two players should always cycle back to the same position after exactly n translations 2011-03-04T12:10:26 *** iFire` has quit IRC (Read error: Connection reset by peer) 2011-03-04T12:10:39 *** iFire has joined #aichallenge 2011-03-04T12:12:45 there are a lot of groups one can define with this discrete torus, it's quite cool 2011-03-04T12:12:58 it's actually surprisingly well suited to symmetry 2011-03-04T12:31:55 *** Naktibalda has quit IRC (Quit: ChatZilla 0.9.86 [Firefox 3.6.8/20100722155716]) 2011-03-04T12:37:44 antimatroid1: so nice to see a (currently) non-haskeller talking maths intelligently 2011-03-04T12:39:42 janzert: how easy is it to implement DanvielVF's idea of removing the jail_users table? 2011-03-04T12:42:39 jmcarthur: i'm technically now a post grad maths student, one would hope i knew at least a little bit :P 2011-03-04T12:42:58 antimatroid: map files will have the extension ".map" 2011-03-04T12:43:07 McLeopold: :) 2011-03-04T12:43:39 i'll update the wiki right now, as i need to fix that ordering of info on the last turn too 2011-03-04T12:43:42 let's stuff that in the spec 2011-03-04T12:43:54 did you read my new replay format? 2011-03-04T12:45:47 no? 2011-03-04T12:46:02 i just updated input info and added the .map thing 2011-03-04T12:46:27 jmcarthur: want to check the sample input on the specs page for me? 2011-03-04T12:48:55 * jmcarthur peeks 2011-03-04T12:48:56 McLeopold: it'll take reworking the worker tournament runner and manager 2011-03-04T12:49:26 Can you just throw it out of the main sql and add a worker.sql in the worker directory with just the jail_user table for now? 2011-03-04T12:49:56 or just reduce the schema.sql that is in the worker directory to just the jail_user table would be fine 2011-03-04T12:50:09 antimatroid1: looks good to me 2011-03-04T12:50:44 if it was up to me the i/o protocol wouldn't have "end" or "players" at all. it would just skip straight to scores 2011-03-04T12:52:41 jmcarthur: i want the number of players 2011-03-04T12:52:49 i wouldn't mind if it was given on the scores line, but i want it 2011-03-04T12:53:12 and without end the winner is going to try and make an extra lot of moves 2011-03-04T12:53:21 i think end could be instead of go though 2011-03-04T12:53:31 rather than instead of turn 2011-03-04T12:53:47 it would also make end the last line of input always 2011-03-04T12:54:23 antimatroid1: if the scores show up then you know the game is over. no need for "end" 2011-03-04T12:54:37 true 2011-03-04T12:55:08 also, the number of players is implicit from the score 2011-03-04T12:55:10 i still want noPlayers somewhere before the actual score values :P 2011-03-04T12:55:23 jmcarthur: it means more effort for me to handle the input 2011-03-04T12:55:28 heh 2011-03-04T12:55:34 it's more effort for me with it being there :P 2011-03-04T12:55:41 not as much as for me 2011-03-04T12:56:02 it's minimal extra effort for you, whereas i need to read a whole line, correctly read the endline then and take stuff out of a stringstream 2011-03-04T12:56:13 it's a reasonable amount of extra work, i imagine c could be even worse? 2011-03-04T12:56:27 that's not true. you can read the line incrementally 2011-03-04T12:56:37 just take scores until you hit an endline 2011-03-04T12:56:53 hmmm, maybe? 2011-03-04T12:57:03 it's what i was doing before my parser rewrite 2011-03-04T12:57:28 now i'm just grabbing lines from stdin whole and then going over them again 2011-03-04T12:57:54 i'd still prefer to just get given the number of players, it also means i can create the vector and read values straight in, rather than read a value somewhere and add it to the vector :P 2011-03-04T12:57:56 anyway, i have to go. i will be back later 2011-03-04T12:58:05 okay, bye, i should go to bed anyway 2011-03-04T12:58:11 silly C programmer :P 2011-03-04T13:00:50 *** amstan has joined #aichallenge 2011-03-04T13:00:51 *** ChanServ sets mode: +o amstan 2011-03-04T13:01:37 antimatroid: players is before score 2011-03-04T13:02:22 janzert: use sqlite3 if you really need a db 2011-03-04T13:03:38 McLeopold: where did i have players after score? 2011-03-04T13:05:12 McLeopold: jmcarthur is right, end is redundant, i think that should go back to turn, if you really wanted, replace the last go with end 2011-03-04T13:08:58 McLeopold: I don't believe sqlite will do proper locking which is all we're actually using the database for 2011-03-04T13:11:30 it will 2011-03-04T13:11:32 just get rid of it from the main sql files and you don't need to even touch anything about it in the worker stuff for now 2011-03-04T13:12:41 janzert: how did you generate maps before? on the server, then copy them to the workers? 2011-03-04T13:13:12 actually locally then commit them to svn and check them out on all the servers 2011-03-04T13:13:23 antimatroid1: end is redundant in this game, but maybe not for all games 2011-03-04T13:13:34 hmm... 2011-03-04T13:14:27 I think I'll just write an api.php page for getting the map 2011-03-04T13:14:52 yeah, that would be pretty easy and be better 2011-03-04T13:15:01 k 2011-03-04T13:15:03 keep the maps out of the repository all together 2011-03-04T13:15:34 you'll notice I moved the maps and submission directories out of the repository area in the worker build script 2011-03-04T13:15:43 so, I'm not going to touch the worker directory. but anything db related can be taken out 2011-03-04T13:17:47 the worker directory has it's own schema.sql so you can get rid of the jail_user stuff from the main schema file in the sql directory without any changes needed to the worker 2011-03-04T13:17:48 janzert: what is los_data? 2011-03-04T13:18:01 likely hood of superiority 2011-03-04T13:18:20 what's it for? 2011-03-04T13:18:21 something bayeselo could give you but was much to expensive to generate during the contest 2011-03-04T13:18:50 just stats? did we need it for anything? 2011-03-04T13:18:54 janzert: is it like mu for trueskill? 2011-03-04T13:18:58 gives you a matrix for the likelihood of any bot being superior to any other given bot 2011-03-04T13:19:07 janzert: oh.. that 2011-03-04T13:19:13 *** rebelxt has left #aichallenge 2011-03-04T13:19:32 it's an actual percentage of how likely bot 1 is better than bot 2 2011-03-04T13:20:08 It doesn't look like we need the file. It doesn't really hook into anything 2011-03-04T13:20:09 I don't know the statistics behind it but I think it's generally over confident though 2011-03-04T13:20:45 McLeopold: since bayeselo is going away it won't be useful at all 2011-03-04T13:21:09 i.e. yes it can go away 2011-03-04T13:21:30 well, we may do the next one with beyeselo, so I really want to know if it was a needed part of the system, and how we used the results 2011-03-04T13:22:02 the results were just served as a static file and posted in the forums is all 2011-03-04T13:22:14 not an integral part of the system in any way 2011-03-04T13:22:22 ok, thx 2011-03-04T13:22:59 just bayeselo author recommended it as better than using confidence intervals to help gauge superiority 2011-03-04T13:24:30 just looking at the new sql file... 2011-03-04T13:24:50 it looks like countries.sql and user_status.sql should just go away 2011-03-04T13:25:51 but I think the organization data should be moved kept in organizations.sql permanently and moved out of the schema file 2011-03-04T13:26:25 since this will hopefully be directly changeable through the website 2011-03-04T13:27:08 although the Other organization should probably stay in the schema since there is code that directly depends not only on it existing but also being organization 0 2011-03-04T13:27:39 janzert: for a submission, we have active, latest and cleanup_status. I'm guessing there is some redundancy there. 2011-03-04T13:28:40 I don't actually remember what active is used for 2011-03-04T13:28:41 janzert: okay, I'll do the split of the main_sql file 2011-03-04T13:28:50 it looks like latest? 2011-03-04T13:29:23 latest is used a lot of places to filter for just the submissions currently in use 2011-03-04T13:29:25 *** me0w has joined #aichallenge 2011-03-04T13:29:44 according to grep, active is not being used 2011-03-04T13:30:13 cleanup_status is used by the cleanup_script to mark old submissions after they've been deleted 2011-03-04T13:30:50 I want to add a version field, that would start at 1 for each user 2011-03-04T13:31:01 I think I'll get rid of active and cleanup_status 2011-03-04T13:31:22 I'm re-writing delete_some_old... right now. 2011-03-04T13:31:36 getting rid of cleanup_status is my first instinct but there are some advantages to splitting it out of status 2011-03-04T13:32:29 what are they? 2011-03-04T13:32:50 wait, status is for compiling status and such? 2011-03-04T13:32:54 if you fold cleanup_status into the general status code you lose the ability to tell if the submission was ever successfully submitted, compiled, etc 2011-03-04T13:32:59 yes 2011-03-04T13:33:32 *** greghaynes has joined #aichallenge 2011-03-04T13:33:34 not sure if being able to tell the final status is actually important or not though 2011-03-04T13:33:55 the cleanup script can just cleanup anything not marked as latest 2011-03-04T13:34:16 yeah, it could 2011-03-04T13:34:48 the idea was to leave a few old submissions from each person so you could do forensics on them if needed 2011-03-04T13:34:59 but I don't know that it was ever done 2011-03-04T13:35:50 cleanup_status is really just a way of not doing a directory listing though so seems unneeded 2011-03-04T13:37:03 I think the current script approaches the problem from the wrong direction basically 2011-03-04T13:37:15 *** Zannick has quit IRC (*.net *.split) 2011-03-04T13:37:15 *** chris__0076 has quit IRC (*.net *.split) 2011-03-04T13:37:54 it should probably get all the submissions that currently exist then query the database to see which ones can be deleted, instead of trying to do it all from a database query 2011-03-04T13:37:56 *** me0w has quit IRC (Quit: Quitte) 2011-03-04T13:39:05 *** kaemo has joined #aichallenge 2011-03-04T13:39:56 *** Zannick has joined #aichallenge 2011-03-04T13:39:56 *** chris__0076 has joined #aichallenge 2011-03-04T13:41:35 doing it that way the cleanup_status shouldn't be needed at all 2011-03-04T13:42:02 *** Apophis_ has joined #aichallenge 2011-03-04T13:42:10 *** greghaynes has quit IRC (Ping timeout: 240 seconds) 2011-03-04T13:42:35 janzert: did the workers cleanup old submissions? 2011-03-04T13:42:35 no they don't currently 2011-03-04T13:42:38 they never lasted long enough for it to be a problem :/ 2011-03-04T13:42:41 ha 2011-03-04T13:42:44 I might write something anyway. 2011-03-04T13:42:49 and if they did it would be simple to kill it and start up a new one 2011-03-04T13:43:19 I think it would be better if a worker can stay up as long as possible. 2011-03-04T13:43:20 don't over extend yourself right off :) 2011-03-04T13:43:33 workers are expendable :P 2011-03-04T13:49:47 but spinup time can be costly 2011-03-04T13:50:18 somewhat yes, but once a week or so isn't that big of a cost 2011-03-04T13:51:03 semaphore_cleanup is workers only? 2011-03-04T13:51:19 not until compilation is moved to the workers 2011-03-04T13:51:49 it uses the jail users 2011-03-04T13:51:57 so the main server had jail users too? 2011-03-04T13:52:09 yeah, it used to 2011-03-04T13:52:34 the main server used to be the only server, i believe 2011-03-04T13:52:59 right 2011-03-04T13:53:49 for the first few weeks of planetwars and always before that 2011-03-04T13:55:24 so, the pairing_cutoff is the lowest rank that will be considered for matchups? 2011-03-04T13:55:43 yes 2011-03-04T13:56:01 it's going in the database now 2011-03-04T14:14:22 *** McLeopold1 has joined #aichallenge 2011-03-04T14:16:06 *** pyro-_ has joined #aichallenge 2011-03-04T14:16:17 *** pyro- has quit IRC (Ping timeout: 250 seconds) 2011-03-04T14:16:17 *** javagamer has quit IRC (Ping timeout: 250 seconds) 2011-03-04T14:16:43 *** McLeopold has quit IRC (Ping timeout: 250 seconds) 2011-03-04T14:17:06 *** McLeopold1 is now known as McLeopold 2011-03-04T14:17:10 *** JackyAlcine has quit IRC (Ping timeout: 250 seconds) 2011-03-04T14:17:53 *** mega1 has quit IRC (Ping timeout: 276 seconds) 2011-03-04T14:20:20 any php guys here? 2011-03-04T14:23:31 *** boegel has joined #aichallenge 2011-03-04T14:25:15 McLeopold: how much phpness do you need? 2011-03-04T14:30:13 *** javagamer has joined #aichallenge 2011-03-04T14:32:10 amstan: I found that my windows had short_open_tag = Off 2011-03-04T14:32:26 yeah, don't use I've fixed it in a few places. 2011-03-04T14:32:57 so Ubuntu must default to on 2011-03-04T14:33:08 assume it's off, that way it'll work either way 2011-03-04T14:33:12 Which the server_build script ought to turn off 2011-03-04T14:33:46 is the php code suppose to create the directory? all I see is a commented out mkdir? 2011-03-04T14:33:53 a new submission 2011-03-04T14:34:59 nvm, I just saw the "hidden" database error 2011-03-04T14:35:07 it's written weird but I believe it does 2011-03-04T14:37:04 yo guys, check this game out: http://oilrush-game.com/ 2011-03-04T14:37:24 if you didn't find it yet, it's actually created at line 80 of check_submit.php 2011-03-04T14:37:25 it's a full game, works on linux too, it works pretty much like planet wars 2011-03-04T14:37:42 *** JackyAlcine has joined #aichallenge 2011-03-04T14:38:19 *** acieroid` has joined #aichallenge 2011-03-04T14:38:36 *** ali1` has joined #aichallenge 2011-03-04T14:39:55 janzert: that is weird. it also produces the wrong error message 2011-03-04T14:41:05 yeah, that whole submission handling seemed like a mess and I touched it as little as possible :) 2011-03-04T14:41:46 *** JackyAlcine has quit IRC (Client Quit) 2011-03-04T14:41:47 *** boegel has quit IRC (Read error: Connection reset by peer) 2011-03-04T14:43:36 janzert: errored with status 10, but the has_recent_submission comes back true 2011-03-04T14:49:13 status 10 isn't an error 2011-03-04T14:49:25 it means the submission is in progress 2011-03-04T14:49:50 only status 30 or larger than 40 are errors 2011-03-04T14:50:24 but if it got stuck at status 10 it certainly means something else went wrong 2011-03-04T14:50:48 *** acieroid has quit IRC (Disconnected by services) 2011-03-04T14:50:54 *** acieroid` is now known as acieroid 2011-03-04T14:51:29 bad database code, should ever happen 2011-03-04T14:51:39 shouldn't 2011-03-04T14:57:21 *** Erika_ has joined #aichallenge 2011-03-04T14:57:36 hello 2011-03-04T14:57:49 *** Erika_ is now known as Epona 2011-03-04T14:58:20 *** boegel has joined #aichallenge 2011-03-04T15:02:58 *** boegel has quit IRC (Read error: Connection reset by peer) 2011-03-04T15:07:32 *** JackyAlcine has joined #aichallenge 2011-03-04T15:07:43 *** superflit_ has joined #aichallenge 2011-03-04T15:07:56 *** superflit has quit IRC (Ping timeout: 276 seconds) 2011-03-04T15:07:57 *** superflit_ is now known as superflit 2011-03-04T15:08:02 Epona: hi 2011-03-04T15:08:11 whats new? 2011-03-04T15:09:02 well.. just people coding their stuff 2011-03-04T15:12:28 *** Accoun has quit IRC () 2011-03-04T15:26:44 *** Accoun has joined #aichallenge 2011-03-04T15:30:12 i see 2011-03-04T15:30:20 im gonna be working on pygame soon 2011-03-04T15:30:34 i just found out thenewboston has tutorials out on it 2011-03-04T15:30:39 what a coincidence 2011-03-04T15:36:48 *** KP13 is now known as Kingpin13 2011-03-04T15:41:48 *** chris___0076 has joined #aichallenge 2011-03-04T15:42:40 *** chris__0076 has quit IRC (Read error: Operation timed out) 2011-03-04T16:09:13 *** Epona has quit IRC (Quit: Leaving) 2011-03-04T16:10:35 *** superflit has quit IRC (Ping timeout: 264 seconds) 2011-03-04T16:25:37 *** boegel has joined #aichallenge 2011-03-04T16:28:24 *** _flag <_flag!~flag@69-165-173-172.dsl.teksavvy.com> has joined #aichallenge 2011-03-04T16:34:54 *** superflit has joined #aichallenge 2011-03-04T16:35:04 *** Mathnerd314 has joined #aichallenge 2011-03-04T16:40:22 *** boegel has quit IRC (Quit: Leaving) 2011-03-04T16:42:52 amstan: I just realized that the starter packs were being uploaded in their entirety, map and example bots and all. 2011-03-04T16:43:12 McLeopold: that's fine, we can make the makefile add them 2011-03-04T16:43:15 or at least it was exceptable to do so 2011-03-04T16:44:25 I'm talking about submissions and looking at the compile_daemon unzipping part 2011-03-04T16:45:40 McLeopold: yeah, it's acceptable to upload anything 2011-03-04T16:45:47 IMO there should be a subdirectory in the starter packs which is what is actually submitted 2011-03-04T16:45:58 it would be a little nicer, at least 2011-03-04T16:46:49 yes it would 2011-03-04T16:47:04 but I understand that jeff wanted the 1 2 3 setup guide for idiots 2011-03-04T16:47:31 *** delt0r_ has joined #aichallenge 2011-03-04T16:47:57 amstan: can we up the barrier to entry to "must be able to unzip a file"? 2011-03-04T16:48:03 this is an ai competition. there's a point where you have to hope that those writing intelligent code are themselves intelligent 2011-03-04T16:48:04 *** boegel has joined #aichallenge 2011-03-04T16:48:30 McLeopold: we're going to have a few confused ppl in the forums 2011-03-04T16:48:37 *** delt0r___ has quit IRC (Ping timeout: 240 seconds) 2011-03-04T16:48:40 "what folder do i have to zip???" 2011-03-04T16:49:02 if they are writing code, that is unavoidable 2011-03-04T16:49:20 or we make them download two separate zips 2011-03-04T16:49:24 if they just download the starter pack and upload it, as per the guide, we can change the guide 2011-03-04T16:49:40 Zannick: that's the better idea 2011-03-04T16:50:18 python.zip and tools.zip, experts can unpack python.zip into the tools dir 2011-03-04T16:51:00 Zannick: yeah, that seems like a better idea 2011-03-04T16:51:22 plus we don't have to rerelease all the starters whenever a bug is fixed in tools 2011-03-04T16:52:23 okay, Makefile tzar, do your stuff 2011-03-04T16:53:02 it looks like jeff just flattens the entire zipped directory structure, then compiles 2011-03-04T16:53:19 ugh.. 2011-03-04T16:53:26 <_flag> Hello 2011-03-04T16:53:49 Hi capper 2011-03-04T16:54:01 find . -name ${main_file} 2011-03-04T16:54:14 would get you the location of their source code 2011-03-04T16:54:40 <_flag> I noticed you guys were adding starter packs to the main repository, my C one is here is here if you want it: https://github.com/flagcapper/GoogleAI-Ants-Starter-Pack 2011-03-04T16:55:14 I might have already copied an older version in. 2011-03-04T16:55:29 McLeopold: -.- copied? 2011-03-04T16:55:38 _flag: is it done? 2011-03-04T16:55:40 no 2011-03-04T16:55:46 I download his files before 2011-03-04T16:55:51 no git magic 2011-03-04T16:56:15 *** boegel has quit IRC (Quit: This computer has gone to sleep) 2011-03-04T16:56:50 <_flag> amstan: I don't see a requirement list anywhere, but it contains a simple bot that follows walls in a circle 2011-03-04T16:58:21 _flag: good enough, is it finished? can i pull? 2011-03-04T16:58:56 <_flag> I'm going to quickly check it against the newest version of the engine, but other than that it's complete 2011-03-04T16:59:13 <_flag> I don't think it's changed recently but just to make sure 2011-03-04T16:59:24 _flag: ok, though you'll have to remember to inform us on updates 2011-03-04T16:59:44 <_flag> amstan: okay 2011-03-04T17:00:29 _flag: the start bot should be simpler 2011-03-04T17:00:48 for each ant: attempt to go n, then e, then w, then s 2011-03-04T17:01:12 Just rename the wall bot something else, and create a MyBot.c with that logic 2011-03-04T17:01:48 *** pgpaskar_ has joined #aichallenge 2011-03-04T17:01:56 amstan: out of curiosity, I want to know how you are pulling it in? 2011-03-04T17:02:01 depending on how you interpret that logic, all ants will gather in the upper right 2011-03-04T17:02:08 yes they will 2011-03-04T17:02:11 ah 2011-03-04T17:02:22 It's the correct level of dump 2011-03-04T17:02:28 dumb 2011-03-04T17:02:32 okay 2011-03-04T17:02:40 then i guess wallbot is a sample bot? 2011-03-04T17:02:52 McLeopold: in the repository, i will git remote add hisrepo 2011-03-04T17:02:53 Yeah, I called mine Lefty 2011-03-04T17:02:57 *** greghaynes has joined #aichallenge 2011-03-04T17:03:02 McLeopold: then fetch, checkout his branch 2011-03-04T17:03:17 will it be linked so you can pull again? 2011-03-04T17:03:20 McLeopold: checkout the epsilon branch again, then merge his branch in, put it in the right place, then push to aichallenge 2011-03-04T17:03:28 McLeopold: yeah... but only from my repo 2011-03-04T17:03:30 McLeopold: oh! 2011-03-04T17:03:32 There was a bot that justed shuffeled the directions before making the movement checks, wasnt that still dumb enought? ^^ 2011-03-04T17:03:37 McLeopold: i'm an idiot.. i should just use submodules 2011-03-04T17:03:51 <_flag> McLeopold: okay then, I'll rewrite it and it should be ready in about an hour 2011-03-04T17:04:06 Frontier: that was mine, and I'm going to change it. It was randombot 2011-03-04T17:04:44 RandomBot is probably more effective than the starter 2011-03-04T17:05:00 depending on the map 2011-03-04T17:06:51 McLeopold: http://pastebin.com/sjcSVPUw 2011-03-04T17:08:01 submodules are pretty cool 2011-03-04T17:08:30 i haven't heard of them before. what is cool about them? 2011-03-04T17:08:33 aichallenge: Alexandru Stan epsilon * rf600cd1 / (.gitmodules ants/bots/c): added flag's c starter package - http://bit.ly/fJEmH6 2011-03-04T17:08:54 Frontier: notice the little icon: https://github.com/aichallenge/aichallenge/tree/epsilon/ants/bots 2011-03-04T17:08:54 it is like having a repository in your repository 2011-03-04T17:09:02 Frontier: for c, at the bottom... click it 2011-03-04T17:09:04 that looks easy 2011-03-04T17:09:54 the downside is a pull doesn't fill it on its own, i believe 2011-03-04T17:09:56 haha lolcode is in roflmao 2011-03-04T17:10:17 _flag: so.. yeah.. just remind me when you update you package, i have to change the referrence to point to the new version 2011-03-04T17:10:31 McLeopold: amazing ascii art 2011-03-04T17:11:00 :) 2011-03-04T17:11:08 I take it you like my lolcode? 2011-03-04T17:11:54 sure, especially how your lol cat thinks: I HAS A Chance ITZ WIN 2011-03-04T17:12:12 the lolz just write themself in that language 2011-03-04T17:12:21 indeed they do 2011-03-04T17:12:50 amstan: if I git pull, it says I will lose untracked files. I there an "I don't care" switch? 2011-03-04T17:13:08 McLeopold: git add ., git reset --hard 2011-03-04T17:13:12 McLeopold: then the pull should work 2011-03-04T17:13:29 k 2011-03-04T17:13:32 i g2g watch a movie 2011-03-04T17:13:33 cya 2011-03-04T17:14:12 bye 2011-03-04T17:16:43 what is the fastest algorithm to calculate a fog of war bitmap for a player? 2011-03-04T17:17:11 um, I just lost all my changes 2011-03-04T17:17:23 :'( 2011-03-04T17:18:24 I suppose I should have specified I don't care what happens in the 'c' dir, but I do care what happens everywhere else. 2011-03-04T17:18:49 can anyone give me hope? 2011-03-04T17:19:30 doubtful, unless you have the files still open in editors 2011-03-04T17:19:30 I backed up my modified file before executing any of amstans commands ^^, ...no hope. all your file belong to nirvana 2011-03-04T17:19:53 git reset --hard is the "nuke everything" command 2011-03-04T17:20:16 Well the only hope i have is that you did not loose to many hours of work. 2011-03-04T17:21:17 I did 2011-03-04T17:21:25 :( 2011-03-04T17:21:44 For some reason I thought I was only operating in the 'c' dir. 2011-03-04T17:24:20 yeah this is not svn 2011-03-04T17:26:19 *** McLeopold has left #aichallenge 2011-03-04T17:29:28 *** choas has quit IRC (Quit: leaving) 2011-03-04T17:41:45 *** Kingpin13 has quit IRC (Quit: You're a kitty!) 2011-03-04T17:45:00 *** McLeopold has joined #aichallenge 2011-03-04T17:45:25 @later tell amstan feel my pain! http://pastebin.com/C6h8bUxr 2011-03-04T17:45:25 McLeopold: OK 2011-03-04T17:55:43 McLeopold: you had a lot of changes when you did that reset --hard... 2011-03-04T17:57:23 i would have done 'git stash; git pull; git stash apply' 2011-03-04T17:57:24 or something to that effect 2011-03-04T17:57:24 <_flag> amstan: The starter pack is ready. 2011-03-04T17:57:24 i hate that git doesn't like you pulling a lot of the time when you have uncommited changes 2011-03-04T17:57:24 git stash apply would have probably had some conflicts, but at least then it would have just been a matter of cleaning them up 2011-03-04T17:58:16 *** pyro-_ is now known as pyro- 2011-03-04T17:59:39 hm 2011-03-04T17:59:48 it was probably just something weird with the folder itself 2011-03-04T18:00:33 i would have tried rmdir it, then pull 2011-03-04T18:00:36 or pull -f 2011-03-04T18:01:05 though those might not have worked either 2011-03-04T18:01:49 oh i see 2011-03-04T18:01:59 at least I had that git status in a command window 2011-03-04T18:02:14 it isn't looking as bad as it felt 2011-03-04T18:02:22 so the issue was that you had some local C stuff and then needed to merge in flag's stuff? 2011-03-04T18:02:23 but know I know, git stash is my friend 2011-03-04T18:02:39 yeah, I just wanted to pull the 'c' dir changes 2011-03-04T18:03:01 so now you can point to this and say "i learned the hard way about git reset --hard"? ;) 2011-03-04T18:03:16 I didn't actually have changes in 'c' that should have caused an issue. 2011-03-04T18:03:27 but did you make the folder yourself? 2011-03-04T18:03:59 if you look at the status, it says the directory itself was untracked? but I thought git didn't track directories 2011-03-04T18:04:03 yeah it looked like that wasn't even a part of the repo 2011-03-04T18:04:09 it doesn't, but it pretends to 2011-03-04T18:04:15 submodules are weird in git 2011-03-04T18:04:29 if it's tracking a file, it says it's tracking the directory the file is in 2011-03-04T18:04:48 submodules are weird in any VCS 2011-03-04T18:04:53 i think they use different commands 2011-03-04T18:04:55 git submodule init or somesuch 2011-03-04T18:05:02 IMO, there isn't much point in them if things are properly packaged as libraries and stuff 2011-03-04T18:06:05 so is there a better way to do what I wanted, which was ignore the errors from the pull only? 2011-03-04T18:06:17 line 71 of my pastebin 2011-03-04T18:06:33 McLeopold: let me make sure i understand things right first 2011-03-04T18:06:45 McLeopold: was the 'c' directory something of your own creation that just wasn't in the repo? 2011-03-04T18:06:46 McLeopold: i would only know if i understood the error itself 2011-03-04T18:07:33 McLeopold: or maybe more explicitly, were any of the files in it not in the repo *and* named the same as one of the new files in flag's commit? 2011-03-04T18:10:11 no, it was in the repo 2011-03-04T18:10:22 I created it, added all the files and check it in awhile ago 2011-03-04T18:10:37 amstan removed the dir, and put a submodule in its place 2011-03-04T18:11:05 i don't see the dir in the tree before amstan's commit 2011-03-04T18:11:15 https://github.com/aichallenge/aichallenge/tree/cbe9a4dba22a80bc8a4adf57a613bea46c597b6a/ants/bots 2011-03-04T18:11:23 so amstan didn't remove it 2011-03-04T18:11:38 oh, so I guess I didn't add it 2011-03-04T18:11:41 still, if it was checked in then it shouldn't have been a problem 2011-03-04T18:12:13 McLeopold: if it was checked in then a git reset --hard would have left it there, too 2011-03-04T18:12:42 s/checked in/commited/ 2011-03-04T18:13:07 s/checked in/pushed to remote HEAD/ 2011-03-04T18:13:23 no, wouldn't need to be 2011-03-04T18:13:43 oh, i figured that was what reset did 2011-03-04T18:13:47 not local head 2011-03-04T18:13:47 if it had to be pushed then that would defeat the purpose of a DVCS anyway 2011-03-04T18:13:59 git reset --hard HEAD resets to the local HEAD 2011-03-04T18:14:18 i assume without the HEAD it does the same 2011-03-04T18:14:21 * Zannick still mostly new to git 2011-03-04T18:15:00 you would have to say something like git reset --hard remotes/epsilon to reset to the remote HEAD 2011-03-04T18:15:00 I would have been okay if eclipse wasn't set to auto load changed files. 2011-03-04T18:15:10 doh! 2011-03-04T18:15:24 well there are two ways this could have been prevented 2011-03-04T18:15:28 git stash is one of them 2011-03-04T18:15:29 I was pretty freaky to switch back to code I was writting and see it disappear 2011-03-04T18:15:44 ouch 2011-03-04T18:15:52 the other is: your work should have been in a different branch from your master, and you should only pull remote commits to your master 2011-03-04T18:15:53 *** superflit has quit IRC (Quit: superflit) 2011-03-04T18:15:53 yeah, editors should always ask 2011-03-04T18:16:17 jmcarthur: the third is knowing not to use reset --hard unless you're really really sure ;) 2011-03-04T18:16:30 Zannick: that's the rule of thumb yes 2011-03-04T18:16:30 so, why didn't my "untracked" files show up in the list of untracked files in the git status? 2011-03-04T18:16:43 i have no freaking clue 2011-03-04T18:16:54 i stopped using git a couple years ago :) 2011-03-04T18:17:17 McLeopold: what had you added to .gitignore? 2011-03-04T18:17:25 server_info.py 2011-03-04T18:17:40 should be specific to the environment 2011-03-04T18:18:05 luckly I kept the files I didn't git add 2011-03-04T18:18:37 which still leaves a mystery with the 'c' dir 2011-03-04T18:19:22 * jmcarthur checks out the tree from before flag's stuff and tries to set up the same situation 2011-03-04T18:20:28 McLeopold: you ok then? 2011-03-04T18:21:01 McLeopold: huh, i checked out cbe9a4dba22a80bc8a4adf57a613bea46c597b6a, made a c directory, moved into it, touched a file called "foo", and it doesn't show up in git status 2011-03-04T18:21:05 McLeopold: don't do this: C:\Users\scott\git\aichallenge\ants\bots\c>git add . 2011-03-04T18:22:07 McLeopold: you don't actually want to add the files from inside the submodule 2011-03-04T18:22:10 amstan: you told me too 2011-03-04T18:22:16 what? when? 2011-03-04T18:22:23 amstan: that wasn't within the submodule 2011-03-04T18:22:27 2011-03-04T17:13:08 McLeopold: git add ., git reset --hard 2011-03-04T18:22:34 wait what? 2011-03-04T18:22:37 McLeopold: of.. for that's fine 2011-03-04T18:23:00 when i git add ., git reset --hard, it pretty much deletes all uncommited files 2011-03-04T18:23:02 *** sigh has joined #aichallenge 2011-03-04T18:23:12 there's probably a better way, but that's the way i do it 2011-03-04T18:23:17 *** mceier has quit IRC (Quit: leaving) 2011-03-04T18:23:36 I'm mostly ok now, just rewriting 2 script mainly. 2011-03-04T18:23:43 Most of my work was figuring stuff out. 2011-03-04T18:23:49 McLeopold: what's with that uncommited website? 2011-03-04T18:23:56 the php changes were just find replace stuff 2011-03-04T18:24:04 McLeopold: why don't you commit them>? 2011-03-04T18:24:12 i think amstan was suggesting adding all untracked files, committing them, and resetting 2011-03-04T18:24:29 Zannick: no... he asked how he can pull without caring about his changes.. 2011-03-04T18:24:38 he missed the git commit in his instructions then 2011-03-04T18:24:59 yeah, but I meant not caring what the pull would clobber 2011-03-04T18:25:00 well, i don't know what the point of the add was, then 2011-03-04T18:25:02 Zannick: you just add them to the index, then reset them, that way everything will be nothing to commit (working directory clean) 2011-03-04T18:25:16 Zannick: reset only resets staged stuff 2011-03-04T18:25:37 git pull -f 2011-03-04T18:25:56 http://pastebin.com/E7nW9uKJ 2011-03-04T18:26:06 wtf i figured out why it wasn't showing 2011-03-04T18:26:13 omg i have to pastebin this. h/o 2011-03-04T18:27:07 *** Cyndre_ is now known as Cyndre 2011-03-04T18:27:18 Cyndre: hello 2011-03-04T18:27:22 hi 2011-03-04T18:28:14 check this retarded shit out: http://pastebin.com/sgJqgau6 2011-03-04T18:28:43 the 'c' directory originally has nothing tracked in it 2011-03-04T18:28:55 weird 2011-03-04T18:29:09 anyone have any exp with curl + php? 2011-03-04T18:29:14 also, if you do 'cd ..; git status' it shows the 'c' directory 2011-03-04T18:29:22 if there are no tracked files but files exist, instead of listing any, it lists the directory only 2011-03-04T18:29:27 jmcarthur: yes.. that's why it's a submodule 2011-03-04T18:29:37 amstan: i'm not in the HEAD 2011-03-04T18:29:39 git doesn't track for file changes inside submodules 2011-03-04T18:29:44 amstan: i'm in the commit right before that one 2011-03-04T18:29:58 there's no c folder in the commit before that one 2011-03-04T18:29:59 amstan: there is no submodule there 2011-03-04T18:30:02 right i added it 2011-03-04T18:30:04 oh i get it 2011-03-04T18:30:16 because git isn't tracking the directory because it isn't tracking any files in it 2011-03-04T18:30:19 Zannick: it's because git only tracks files, but it pretends to track directories 2011-03-04T18:30:27 so it's really saying c/* 2011-03-04T18:30:42 git is deceptive 2011-03-04T18:30:53 *** amstan has quit IRC (Remote host closed the connection) 2011-03-04T18:34:42 *** ali1` has quit IRC (Quit: ali1`) 2011-03-04T18:38:36 *** sigh has quit IRC (Remote host closed the connection) 2011-03-04T18:39:51 * McLeopold is consoling himself with loud techno... 2011-03-04T18:42:15 * janzert is rewriting the worker build script in python so we can hopefully make it a little more flexible for people 2011-03-04T18:45:03 which worker build script? 2011-03-04T18:45:24 the one that sets a worker instance up 2011-03-04T18:45:28 ah 2011-03-04T18:45:39 worker/game_server_build.sh 2011-03-04T18:46:54 *** davidd has quit IRC (Ping timeout: 260 seconds) 2011-03-04T18:53:23 *** davidd has joined #aichallenge 2011-03-04T18:54:08 janzert: if someone uploads 2 submissions before the compile_daemon, the both get set to latest 2011-03-04T18:54:35 that shouldn't be possible though 2011-03-04T18:54:52 wait, yeah, that's my database hacking again 2011-03-04T18:55:03 has_recent_submission should always stop that 2011-03-04T19:04:23 *** Guest16489 has quit IRC (Changing host) 2011-03-04T19:04:23 *** Guest16489 has joined #aichallenge 2011-03-04T19:04:32 *** Guest16489 is now known as Ttech 2011-03-04T19:10:50 antimatroid1: i just figured out why i'm not getting the speedups from converting to CPS form that i expected. ghc 7.0 has a 60% performance regression with CPS! man, i wish i had heard about this before i destroyed all my CPS work. apparently it should be fine with ghc 6.12 and with the recently released ghc 7.0.2 2011-03-04T19:12:18 so i guess some time tomorrow i will be re-adding that stuff... 2011-03-04T19:12:27 i was so confused! 2011-03-04T19:27:22 = continuation passing style? 2011-03-04T19:28:00 yesh 2011-03-04T19:28:24 you were writing it that way manually? 2011-03-04T19:28:57 i have a pretty large monad transformer stack. sticking a bit Cont monad on top of it means it can avoid inspecting a lot of intermediate values 2011-03-04T19:29:06 no, the cont monad gets rid of most of the need to do it manually 2011-03-04T19:29:14 *sticking a big 2011-03-04T19:29:20 oh i see :D 2011-03-04T19:29:35 s/monad/transformer/ 2011-03-04T19:29:50 one day i will understand what is these monad things :D 2011-03-04T19:30:05 and anyway, manual CPS isn't that hard 2011-03-04T19:30:13 i didn't find any reasonable explaination on the internet yet :| 2011-03-04T19:30:13 the type system pretty makes guarantees you can't mess up 2011-03-04T19:30:29 you don't need an explanation. you use them all the time and don't even know it 2011-03-04T19:30:32 but its ugly and silly 'cause it can be done automatically? 2011-03-04T19:30:51 it's ugly and silly unless you're trying to superoptimize (i'm not) 2011-03-04T19:31:06 but even then 2011-03-04T19:31:12 ghc is pretty good at figuring it out foryou 2011-03-04T19:31:14 *for you 2011-03-04T19:31:18 *** iFire` has joined #aichallenge 2011-03-04T19:31:38 many scheme implementations tend to use cps under the hood (i.e. for everything) 2011-03-04T19:31:39 it's really just this one specific case that i *know* ghc isn't catching 2011-03-04T19:32:08 and its a common case? :( 2011-03-04T19:32:11 because it's basically that without CPS it's doing tons of conditional branches 2011-03-04T19:32:17 nah not a common case 2011-03-04T19:32:21 :D 2011-03-04T19:33:11 basically just free monads (monads derived from tree-like structures that have branches most of the time) 2011-03-04T19:33:51 incomprehensible words ^ D: 2011-03-04T19:34:30 here's a very loose explanation 2011-03-04T19:34:40 say you need to concatenate a ton of lists 2011-03-04T19:34:43 linked lists, i mean 2011-03-04T19:35:07 *** iFire has quit IRC (Ping timeout: 252 seconds) 2011-03-04T19:35:07 if you associate the concatenation wrong, you end up traversing the accumulated list over and over every time you append another list 2011-03-04T19:35:30 yes 2011-03-04T19:35:31 the same kind of thing can happen with tree-like monads in the "bind" operation 2011-03-04T19:35:52 applying the ContT transformer to that monad enforces the proper associativity to make it just one pass 2011-03-04T19:36:07 jmcarthur: are you good at sql? http://pastebin.com/ZkFdTBWK 2011-03-04T19:36:18 not as good as i used to be 2011-03-04T19:37:05 heh, i'm not even familiar with that @ and := stuff 2011-03-04T19:37:21 I'm gonna start with old submissions being removed after 2 days 2011-03-04T19:37:37 that stuff is mysql specific, it's giving me a unique counter 2011-03-04T19:37:41 ah 2011-03-04T19:37:46 so, the seq is just counting from 1 2011-03-04T19:37:59 the rank is counting from 1 only if it is a latest submission 2011-03-04T19:38:18 so we can pepper the list with retired bots 2011-03-04T19:38:36 okay i get it 2011-03-04T19:39:49 yeah that query is kind of blowing my mind right now 2011-03-04T19:40:04 sql is a strong point of mine 2011-03-04T19:40:08 it may eventually be better performance to look at the submissions currently still around and then see which ones qualify for deletion 2011-03-04T19:41:00 janzert: this is for a ranking snapshot, what are you trying to do? 2011-03-04T19:41:30 ahh I thought you were working deleting old submissions 2011-03-04T19:42:13 no, that was easy, get list of dirs, get list of latest, do a diff 2011-03-04T19:42:29 python magical sets 2011-03-04T19:42:39 yep, so long as you're not trying to save any old versions 2011-03-04T19:42:49 are we? 2011-03-04T19:43:07 only the latest get matches, right? 2011-03-04T19:43:13 we were before but I don't think we ever had a situation that we needed it 2011-03-04T19:43:26 well, the delete can then just be an archive 2011-03-04T19:43:45 or, we just don't run the script 2011-03-04T19:43:59 that'd be fine as long as your archive system doesn't get overloaded too 2011-03-04T19:44:01 :) 2011-03-04T19:44:11 how much space will the server have? 2011-03-04T19:44:50 that's the only reason they started getting deleted in the first place a directory on whatever filesystem the server is using could only hand 16bits worth of entries apparently 2011-03-04T19:45:55 I didn't think about that... 2011-03-04T19:46:34 we'll track versions this time, so we can archive to version directories, then there will only be as many dirs as their are contestants 2011-03-04T19:46:50 that would work fine 2011-03-04T19:47:11 also, if we want users to be able to revert to versions, we would need to keep them 2011-03-04T19:47:14 so long as we don't get over 4x growth at least 2011-03-04T19:47:29 or right around 4 times anyway 2011-03-04T19:47:58 eg. $user/$submission 2011-03-04T19:48:05 ugh, right around 8 times rather 2011-03-04T19:48:45 how about $user_id/%version 2011-03-04T19:48:59 I don't know what that % means... 2011-03-04T19:49:26 8 times growth seems like it would be pretty unlikely although just barely possible 2011-03-04T19:49:50 I think ants is a crappier game, so you might just stay even 2011-03-04T19:50:07 Unless Frontier pulls off the best visualizer ever. 2011-03-04T19:50:27 that wouldn't really surprise me too much either 2011-03-04T19:50:34 if we're really worried about running out of space for users, we could hash the username to something from a small set, like [a-z]{4}, then use $hash/$user/$version 2011-03-04T19:50:45 actually it would surprise me much less than >8x growth 2011-03-04T19:53:08 Zannick: how does that help if we want to keep all submissions? 2011-03-04T19:53:33 McLeopold: reduces the number of entries at each level 2011-03-04T19:53:58 the problem in pw was one directory had X subdirectories, for X > max_entries 2011-03-04T19:54:04 oh, so you're just making the dir tree look nicer 2011-03-04T19:55:07 so, I got another git question 2011-03-04T19:55:31 I've made a bunch of changes, and I want to turn all of it into a branch. 2011-03-04T19:55:45 git stash; git checkout -b mybranch; git stash apply 2011-03-04T19:56:05 there are other ways 2011-03-04T19:56:07 then a commit 2011-03-04T19:56:12 but lacking documentation, that's how i'd do it 2011-03-04T19:56:16 yes, then commit 2011-03-04T19:56:39 there's probably one command for making a new branch with current changed 2011-03-04T19:56:50 git checkout -b mybranch might even do it, but i don't know 2011-03-04T19:56:58 s/changed/changes/ 2011-03-04T19:58:45 should I git add new files first? 2011-03-04T19:59:05 don't know. doesn't hurt 2011-03-04T20:00:27 git stash; git stash branch ? 2011-03-04T20:01:55 git makes me sad 2011-03-04T20:03:04 does stash stash commits or just local uncommitted changes? 2011-03-04T20:03:53 local uncommitted changes. i'm not sure what you mean by stashing commits anyway 2011-03-04T20:04:09 if you want to bring commits to a new branch you just make the new branch 2011-03-04T20:04:21 i guess that doesn't make sense 2011-03-04T20:04:21 the files are modified, but not committed 2011-03-04T20:04:33 because I don't want to commit them to the current branch 2011-03-04T20:04:39 stash holds on to them and resets them locally 2011-03-04T20:04:52 i always think of my repo as diffed against remote 2011-03-04T20:04:54 every time you do 'git stash' it pushes local changes to a stack 2011-03-04T20:05:18 and git stash apply applies the changes at the top of the stack 2011-03-04T20:05:19 McLeopold: so i believe git stash; git stash branch will do the right thing 2011-03-04T20:05:49 but, uh. 2011-03-04T20:06:56 in darcs i would just commit the changes and not push them upstream 2011-03-04T20:06:57 it looks like that does a git stash pop, which discards the stash after it's applied 2011-03-04T20:06:57 that would be okay 2011-03-04T20:06:57 so long as the changes are left locally 2011-03-04T20:07:00 "Creates and checks out a new branch named starting from the commit at which the was originally created, applies the changes recorded in to the new working tree and index." 2011-03-04T20:07:13 that doesn't sound like it pops... 2011-03-04T20:07:22 "If that succeeds, and is a reference of the form stash@{}, it then drops the . When no is given, applies the latest one." 2011-03-04T20:07:25 ah 2011-03-04T20:07:39 ambiguous 2011-03-04T20:08:13 i just read the docs 2011-03-04T20:08:18 if taken literally, i would assume that it doesn't drop the stash unless you specify which one 2011-03-04T20:08:32 oh, hm. 2011-03-04T20:08:38 but git docs kind of suck anyway 2011-03-04T20:08:47 so much knowledge assumed of the reader already 2011-03-04T20:09:03 well, one could try that command 2011-03-04T20:09:17 then commit and switch back to the first branch 2011-03-04T20:09:20 and git stash show 2011-03-04T20:09:36 to see if it's still there 2011-03-04T20:10:29 *** amriedle has joined #aichallenge 2011-03-04T20:11:40 *** chemuduguntar has joined #aichallenge 2011-03-04T20:13:35 *** McLeopold has quit IRC (Ping timeout: 255 seconds) 2011-03-04T20:41:03 *** McLeopold has joined #aichallenge 2011-03-04T20:41:30 just after my git stash branch, I bsod'd. 2011-03-04T20:47:28 the engine sends no information regarding either foggyness or land so to detirmine what is actually land and what is unkown i must manually calculate which squares are in view? 2011-03-04T20:51:19 as far as i can see from just a glance all of the ants bots in the repo simply assume stuff is land if no information is given about it. correct me if im wrong but in fact we dont know if they are ants or land? am confused 2011-03-04T21:01:02 pyro-: that is correct 2011-03-04T21:01:27 if you don't know, assume land 2011-03-04T21:02:04 *** acieroid` has joined #aichallenge 2011-03-04T21:02:05 *** acieroid has quit IRC (Read error: Operation timed out) 2011-03-04T21:03:01 so the bot asks a quastion of the form is (row, col) land and the answer can change from turn to turn even if the contents of the square hasn't changed 2011-03-04T21:05:04 gross 2011-03-04T21:31:51 *** amstan has joined #aichallenge 2011-03-04T21:31:51 *** ChanServ sets mode: +o amstan 2011-03-04T21:32:03 hey, what's new? 2011-03-04T21:32:25 amstan: that game looked awesome 2011-03-04T21:32:29 the one you linked sort of like pw 2011-03-04T21:32:33 antimatroid1: oil rush? 2011-03-04T21:32:36 yeah 2011-03-04T21:32:46 antimatroid1: yes.. however i'm having some bad luck with it 2011-03-04T21:32:52 seems to have a memory leak, at least on linux 2011-03-04T21:33:03 ruined 2011-03-04T21:33:22 http://home.hypertriangle.com/~alex/oilrush-error3/terminal.txt 2011-03-04T21:33:32 i ran it with gdb 2011-03-04T21:37:22 oilrush ? 2011-03-04T21:37:27 i have not been around for a while 2011-03-04T21:37:30 any fillers? 2011-03-04T21:37:46 amriedle: it's an cool game, that's not related to the contest 2011-03-04T21:37:57 amriedle: works on linux 2011-03-04T21:38:05 http://oilrush-game.com/screenshots/ 2011-03-04T21:44:38 neato 2011-03-04T21:44:39 *** Frontier has quit IRC (Read error: Connection reset by peer) 2011-03-04T21:44:48 grrr pptp ... 2011-03-04T21:44:57 *** Frontier has joined #aichallenge 2011-03-04T22:10:19 pyro-: "so the bot asks a quastion of the form is (row, col) land and the answer can change from turn to turn even if the contents of the square hasn't changed" what 2011-03-04T22:10:20 ? 2011-03-04T22:12:02 antimatroid1: i think hes on drugs :P 2011-03-04T22:14:48 amriedle: what do you think of these? :P http://codepad.org/gD0VHAVH 2011-03-04T22:15:11 looks like drugs to me 2011-03-04T22:15:29 doesn't mean anything without context :) 2011-03-04T22:15:31 they're symmetric 2011-03-04T22:15:41 they're my current maps for my mapgen for ants 2011-03-04T22:15:44 McLeopold: i was going over the log... you don't necessary need git stash 2011-03-04T22:15:52 . = land, % = water, a-z = ant 2011-03-04T22:16:07 amstan: git stash is a nice feature 2011-03-04T22:17:16 j3camero: I want you to see these too, http://codepad.org/gD0VHAVH 2011-03-04T22:17:26 that kind of symmetry looks way less aweful than the previous ones i had 2011-03-04T22:17:34 awful* 2011-03-04T22:18:06 antimatroid1: he's not here.. 2011-03-04T22:18:34 his username is on the right,meh :P 2011-03-04T22:18:37 antimatroid1: what symmetry? 2011-03-04T22:18:49 amstan: each player starts with the same outlook 2011-03-04T22:18:52 antimatroid1: it is.. but he probably forgot about his screen session and will close it 2011-03-04T22:19:00 if you come across an enemy at the start, it's done so asymmetrically 2011-03-04T22:19:34 antimatroid1: i don't get it.. 2011-03-04T22:19:54 look at the water around each a-z square for each map, it's the same for each of them 2011-03-04T22:21:06 should i call up rogers once again and complain about my shitty internet speed 2011-03-04T22:21:07 umm 2011-03-04T22:21:12 amriedle: yes 2011-03-04T22:21:22 it will be the 3rd time in 2 months lol 2011-03-04T22:21:24 amriedle: i have ipv6 support now actually 2011-03-04T22:21:24 amstan: ? 2011-03-04T22:21:36 antimatroid1: i see, you have it kinda tiled 2011-03-04T22:21:48 yes, it's tesselated 2011-03-04T22:22:14 antimatroid1: though.. i don't think wrapping is a good idea, what about non wrapping maps? 2011-03-04T22:22:23 basically it's finding rows, cols, trans, ctrans and noPlayers such that if you take any location, translate it by rtrans and ctrans noPlayers times you get back to the same location 2011-03-04T22:22:48 you don't think wrapping is a good idea? 2011-03-04T22:22:54 it's rather confusing 2011-03-04T22:22:56 everything is set up around the game having wrapped edges 2011-03-04T22:23:05 and it is surprisingly well suited to symmetry 2011-03-04T22:23:10 why can't you have a non wrapping map? 2011-03-04T22:23:19 how is it confusing? you walk off the top, you come out on the bottom 2011-03-04T22:23:23 you can easily fit 8 players in it, symmetrical 2011-03-04T22:23:39 not as easily 2011-03-04T22:23:54 and this can do any number of players 2011-03-04T22:24:24 antimatroid1: well.. still.. what about non wrapping maps? 2011-03-04T22:24:34 antimatroid1: wait.. what? 2011-03-04T22:24:45 computerwiz_222: maps wrap: http://codepad.org/gD0VHAVH 2011-03-04T22:24:47 how do you walk off the top and coe out the bottom? 2011-03-04T22:24:48 what about them? they could be done, but wrapped maps are cooler 2011-03-04T22:25:00 computerwiz_222: the edges are wrapped 2011-03-04T22:25:10 ah okay, maked sense 2011-03-04T22:25:10 antimatroid1: yeah.. i do like your teselation, i'm just saying that the other ones shouldn't be misrepresented 2011-03-04T22:25:12 makes* 2011-03-04T22:25:30 amstan: i thought everyone had agreed on wrapped maps :\ 2011-03-04T22:25:32 antimatroid1: remember what happened last time when ppl didn't account for a type of map 2011-03-04T22:25:50 antimatroid1: it's not an extra variable to make it non-wrappable 2011-03-04T22:25:56 antimatroid1: you just have to surround it by a wall 2011-03-04T22:26:08 yeah i know, i'll whack one together at some point 2011-03-04T22:26:17 but playing in a torus is way cooler 2011-03-04T22:26:21 on* 2011-03-04T22:27:08 antimatroid1: http://pastebin.com/5rp0KKtj 2011-03-04T22:27:39 antimatroid1: also.. wrapped around one axis.. 2011-03-04T22:28:05 you could wrap top left to bottom right and play on a mobius strip 2011-03-04T22:28:42 antimatroid1: umm.. what? 2011-03-04T22:29:11 I demand Klein bottle maps. 2011-03-04T22:29:17 *** jbroman_ is now known as jbroman 2011-03-04T22:29:28 antimatroid1: you're changing the engine then, if you have to reflect the wrapping 2011-03-04T22:29:29 amstan: that's how you make a mobius strip, you can do it with a piece of paper if you like 2011-03-04T22:29:38 amstan: it was a joke :P 2011-03-04T22:29:44 oh, right.. 2011-03-04T22:30:11 that would be awful to calculate locations from after translating too 2011-03-04T22:30:36 you would probably want to make your own % operation :\ 2011-03-04T22:30:44 anyway, bbs going to work out lunch 2011-03-04T22:31:00 antimatroid1: have both axis mirror when you wrap 2011-03-04T22:31:01 well, we could make 1xn maps 2011-03-04T22:31:05 antimatroid1: that'll mess you up 2011-03-04T22:31:10 they're functionally mobius strips 2011-03-04T22:31:10 say what? 2011-03-04T22:31:23 amstan: that's a klein bottle 2011-03-04T22:31:27 Zannick: oh.. ok 2011-03-04T22:31:58 oh i see 2011-03-04T22:32:03 yeah that'd be messy 2011-03-04T22:32:03 i remember that from a topography class ^^, 2011-03-04T22:32:15 topography or topology? 2011-03-04T22:32:26 topology 2011-03-04T22:32:28 lol 2011-03-04T22:32:33 :p 2011-03-04T22:32:48 had trouble remembering the name in the first place 2011-03-04T22:32:53 with that sort of topography, I think I'll stay away from wherever Zannick lives 2011-03-04T22:33:07 What, you don't have non-orientable mountains over there? 2011-03-04T22:34:23 * amstan 's mind is blown 2011-03-04T22:35:48 i have no idea what you guys are talking about all sounds like bs to me lol 2011-03-04T22:36:03 amriedle: http://en.wikipedia.org/wiki/Orientability 2011-03-04T22:36:45 hey, i live on a surface where if i keep going east far enough i end up west 2011-03-04T22:37:30 Zannick: Lies. You'll fall off the end of the earth! 2011-03-04T22:37:48 jbroman: well, yeah. but i'll land on the other end 2011-03-04T22:37:55 it's earth all the way down 2011-03-04T22:38:19 they should make a cassete player with a mobius strip 2011-03-04T22:38:30 that way you don't have to switch the sides 2011-03-04T22:38:36 it just starts playing the other side automatically 2011-03-04T22:38:47 amstan: There is no other side to a moebius strip. 2011-03-04T22:38:58 some tape players just reverse 2011-03-04T22:39:28 *** amriedle has quit IRC (Quit: Lost terminal) 2011-03-04T22:41:45 Also: http://www.youtube.com/watch?v=2s4ySkR48cI (it's faking non-Euclidean geometry, but you get the idea). 2011-03-04T22:48:30 *** JackyAlcine has quit IRC (Read error: No route to host) 2011-03-04T22:56:16 *** chris__0076 has joined #aichallenge 2011-03-04T22:59:20 *** chris___0076 has quit IRC (Ping timeout: 250 seconds) 2011-03-04T23:00:08 amstan: they really should do that! 2011-03-04T23:01:30 it would be a bit messy trying to get it to wrap, but you could surely do it around something 2011-03-04T23:02:08 *** chris___0076 has joined #aichallenge 2011-03-04T23:04:37 *** chris__0076 has quit IRC (Ping timeout: 255 seconds) 2011-03-04T23:10:36 amstan: what are my other options besides git stash, git stash branch blah? 2011-03-04T23:10:59 McLeopold: stash just saves what you have uncommited yet, for later use 2011-03-04T23:12:15 *** kaemo has quit IRC (Ping timeout: 276 seconds) 2011-03-04T23:15:05 so, did you have other ways you were going to suggest? 2011-03-04T23:17:12 McLeopold: yeah.. no need for stashing, you can git checkout -b at any time 2011-03-04T23:17:23 to switch to another branch 2011-03-04T23:17:38 will it create the branch and keep my changes? 2011-03-04T23:17:44 yes 2011-03-04T23:17:46 i just tested it 2011-03-04T23:17:48 ok 2011-03-04T23:17:51 good to know 2011-03-04T23:17:59 I'm learning so much today. :) 2011-03-04T23:24:36 *** kaemo has joined #aichallenge 2011-03-04T23:24:59 yeah i just don't trust git enough with things like that. i always have to make a dummy repo and test things first 2011-03-04T23:27:46 any mysql experts? 2011-03-04T23:28:06 Why the hell can't I insert a 0 for a primary key on an auto_increment field! 2011-03-04T23:33:47 McLeopold: because 0 is considered you don't want to fill that particular field, so it's automatic 2011-03-04T23:33:57 McLeopold: i think.. 2011-03-04T23:34:28 I'm doing an insert with id 1, then an update to move it to 0, then I full insert of the rest of my data 2011-03-04T23:35:14 McLeopold: ask in #mysql 2011-03-04T23:35:20 they're very helpful over there 2011-03-04T23:35:28 just don't tell them that we're not hashing passwords 2011-03-04T23:35:35 but we are? 2011-03-04T23:35:41 :< 2011-03-04T23:35:43 nope 2011-03-04T23:35:45 just md5 2011-03-04T23:36:00 we could use password() 2011-03-04T23:36:03 we should probably fix that 2011-03-04T23:36:26 McLeopold: is that hashed? and does it have work to do? can you tweak it to be slower? 2011-03-04T23:37:36 *** chris__0076 has joined #aichallenge 2011-03-04T23:38:27 slower? 2011-03-04T23:38:39 yeah 2011-03-04T23:38:49 so attackers can't try so many? 2011-03-04T23:38:50 ideally you want your hashing function to take a lot to compute 2011-03-04T23:38:54 like 100ms 2011-03-04T23:38:56 exactly 2011-03-04T23:39:19 bah, kids these days and there misunderstanding of even slightly older tech. 2011-03-04T23:39:19 here's instructions for making your own cassette loop tape that shouldn't be too hard for you to modify 2011-03-04T23:39:19 http://www.instructables.com/id/Audio-Cassette-Loop/ 2011-03-04T23:39:22 md5 is becoming easier and easier to break since it was designed to be fast to begin with, and now computers are faster than 2011-03-04T23:39:24 so.. 2011-03-04T23:39:31 but I'll warn you it's not going to work like you expect :P 2011-03-04T23:39:47 how it will actually work I'll leave as an exercise 2011-03-04T23:40:09 janzert: i know how tapes work.. i didn't touch audio cds till like 2004 2011-03-04T23:40:10 the problem isn't the hash (md5) the problem is we aren't salting them 2011-03-04T23:40:11 *** chris___0076 has quit IRC (Ping timeout: 255 seconds) 2011-03-04T23:40:35 janzert: even if we're salting them, it's still rather easy, ideally we should get something designed for passwords 2011-03-04T23:40:38 not for a ton of data 2011-03-04T23:41:01 yes, you need to salt it correctly and we really shouldn't roll our own 2011-03-04T23:41:20 but you can use md5 as your underlying hash and still be fine 2011-03-04T23:41:39 janzert: yeah, there's ones that already do this 2011-03-04T23:42:35 if we salt the hash, we should be fine 2011-03-04T23:42:36 yeah, I wouldn't be surprised to find out that php even had a good built in method to do it 2011-03-04T23:43:32 i hate websites that spread something that should be on one page over many 2011-03-04T23:43:38 not as much as i hate nyt though 2011-03-04T23:44:18 i refuse to register to their site just to see a story, that sets a very horrible precedence for other websites 2011-03-04T23:44:40 i saw an article once explaining what you can do to store passwords, comparing plaintext, encryption, md5, md5+salt, then something with a work load like bcrypt 2011-03-04T23:44:43 amstan: for zeta, how about openid? 2011-03-04T23:45:12 McLeopold: i tried openid, i didn't really get the concept, tried making my own with hypertriangle.com 2011-03-04T23:45:55 md5 is usually pretty quickly beaten with a rainbow table, even with salts 2011-03-04T23:46:00 basically, if I logged in with google, ai-contest would trust when google says "it's mcleopold" 2011-03-04T23:46:29 here's a good one: http://blankfield.net/proper-password-storage/ 2011-03-04T23:46:43 McLeopold: i got how it worked.. but... the setup is complicated, the system is too complex 2011-03-04T23:46:48 well, i should clarify 2011-03-04T23:47:11 amstan: that is recommending an insecure method of salting 2011-03-04T23:47:13 i've *seen* rainbow tables beat md5 very quickly, even with salts, but the salts may have been kind of small 2011-03-04T23:47:30 you shouldn't salt by doing hash(salt + password) 2011-03-04T23:47:32 good salts are different for each user 2011-03-04T23:47:54 I've been trying to find an article that explains that but I'm not having a lot of luck at the moment 2011-03-04T23:48:26 basically, you want two fields in the db. one should be the salted and hashed password. the other should be a unique salt for that user. 2011-03-04T23:48:46 jmcarthur: you can store it in the same field 2011-03-04T23:48:53 well yeah, but it's logically separate 2011-03-04T23:49:26 jmcarthur: django does this: sha1$0b2e9$c14994cd6b1e82a2f6d04b9eb72d 2011-03-04T23:50:06 that's reasonable 2011-03-04T23:50:31 i still don't like it, i was reading this article.. and it totally made me only use bcrypt or something with a workload 2011-03-04T23:51:26 huh, i just read about key stretching. that's an interesting one 2011-03-04T23:51:54 I'm going to add salt, at least. We can beef it up over time. 2011-03-04T23:51:59 wait... 2011-03-04T23:52:03 jmcarthur: yeah.. that 2011-03-04T23:52:07 We would need to have everyone reset 2011-03-04T23:52:16 so long as you do salt per user it'll be fine 2011-03-04T23:52:27 use a randomly generated salt, but *don't* store it. then you must brute force it, even if legitimate. 2011-03-04T23:52:30 McLeopold: we don't have anyone.. 2011-03-04T23:52:33 ^^ key stretching 2011-03-04T23:52:34 McLeopold: we're not keeping the users 2011-03-04T23:52:35 yes, if it isn't per user, it's not salt 2011-03-04T23:52:47 oh 2011-03-04T23:52:54 What about zeta? 2011-03-04T23:53:09 I thought we wanted leaderboard for contests themselves 2011-03-04T23:53:12 McLeopold: zeta will use what django uses.. which i think is sha1+peruser salt 2011-03-04T23:53:23 McLeopold: though, i'm sure that can be changed 2011-03-04T23:53:33 McLeopold: what do you mean by contest leaderboard? 2011-03-04T23:53:39 okay, I'm just going to salt with the confirmation code 2011-03-04T23:53:40 as in pw > tron? 2011-03-04T23:54:18 like, who's done the best across contests 2011-03-04T23:54:24 ah yeah 2011-03-04T23:54:39 i want to actually rank countries/organisations again too 2011-03-04T23:55:07 just remember guys.. we have an issue tracker.. anything that you want to be done.. add it there 2011-03-04T23:55:28 label it ants-epsilon, or launch if it must be done before launch 2011-03-04T23:55:47 django can be sha, md5 or crypt 2011-03-04T23:57:55 here's django's code for password hashing http://code.djangoproject.com/browser/django/trunk/django/contrib/auth/models.py 2011-03-04T23:57:57 janzert: decent 2011-03-04T23:58:08 the first two functions in that file 2011-03-04T23:58:26 there is this new art thing in tasmania, which is basically some rich guys own art, and he took a bunch of mould of peoples vaginas, titled it wall of cunts and people act as though it's something amazing, whenever I say cunt people look at me as though i killed a kitten 2011-03-04T23:58:41 janzert: there doesn't seem to be a workload.. 2011-03-04T23:58:41 hmm, actually it just sha and md5 2011-03-04T23:58:54 janzert: it has crypt.. just saw it 2011-03-04T23:58:59 oh yeah it does 2011-03-04T23:59:05 my eyes skipped over that 2011-03-04T23:59:14 yeah, they're just using a salt + password 2011-03-04T23:59:32 it's not strong enough, they crypt they're using 2011-03-04T23:59:48 which from what I've read isn't the absolute best but apparently the feel is good enough