2013-03-28T00:06:31 *** lahwran has quit IRC (Ping timeout: 264 seconds) 2013-03-28T00:16:39 *** lahwran- has joined #aichallenge 2013-03-28T00:35:21 *** ghave has quit IRC () 2013-03-28T01:24:56 *** lahwran- is now known as lahwran 2013-03-28T02:13:13 *** amstan has quit IRC (Ping timeout: 258 seconds) 2013-03-28T02:28:59 *** mceier has quit IRC (Quit: leaving) 2013-03-28T02:45:39 *** Garf has joined #aichallenge 2013-03-28T03:08:16 *** Cyndre_ has joined #aichallenge 2013-03-28T03:10:49 *** Cyndre has quit IRC (Read error: No route to host) 2013-03-28T03:16:10 *** mceier has joined #aichallenge 2013-03-28T03:35:32 *** epicmonkey has joined #aichallenge 2013-03-28T03:50:32 *** epicmonkey has quit IRC (Ping timeout: 272 seconds) 2013-03-28T04:25:07 *** thestinger has quit IRC (Quit: sleep) 2013-03-28T04:51:57 *** epicmonkey has joined #aichallenge 2013-03-28T05:10:58 *** sigh has joined #aichallenge 2013-03-28T06:09:59 *** Wren80[work] has joined #aichallenge 2013-03-28T06:33:11 *** HornyReaper has joined #aichallenge 2013-03-28T06:56:13 *** foRei has joined #aichallenge 2013-03-28T07:22:38 *** epicmonkey has quit IRC (*.net *.split) 2013-03-28T07:22:42 *** lahwran has quit IRC (*.net *.split) 2013-03-28T07:22:53 *** foRei has quit IRC (*.net *.split) 2013-03-28T07:22:54 *** HornyReaper has quit IRC (*.net *.split) 2013-03-28T07:22:59 *** floWenoL has quit IRC (*.net *.split) 2013-03-28T07:23:02 *** yoden has quit IRC (*.net *.split) 2013-03-28T07:23:16 *** ramn[work] has quit IRC (*.net *.split) 2013-03-28T07:23:22 *** Chris_0076 has quit IRC (*.net *.split) 2013-03-28T07:23:22 *** mviel has quit IRC (*.net *.split) 2013-03-28T07:23:24 *** JamesMG_ has quit IRC (*.net *.split) 2013-03-28T07:23:25 *** aerique has quit IRC (*.net *.split) 2013-03-28T07:23:28 *** wentam_ has quit IRC (*.net *.split) 2013-03-28T07:23:29 *** rofer has quit IRC (*.net *.split) 2013-03-28T07:23:33 *** binw has quit IRC (*.net *.split) 2013-03-28T07:23:46 *** sigh has quit IRC (*.net *.split) 2013-03-28T07:23:47 *** mceier has quit IRC (*.net *.split) 2013-03-28T07:23:57 *** AlliedEnvy has quit IRC (*.net *.split) 2013-03-28T07:24:01 *** cyphase has quit IRC (*.net *.split) 2013-03-28T07:24:04 *** Wren80[work] has quit IRC (*.net *.split) 2013-03-28T07:24:10 *** mattswe has quit IRC (*.net *.split) 2013-03-28T07:24:16 *** raedwulf has quit IRC (*.net *.split) 2013-03-28T07:24:20 *** Cyndre_ has quit IRC (*.net *.split) 2013-03-28T07:24:20 *** Garf has quit IRC (*.net *.split) 2013-03-28T07:24:25 *** ermau has quit IRC (*.net *.split) 2013-03-28T07:24:34 *** bqf has quit IRC (*.net *.split) 2013-03-28T07:24:38 *** loglog has quit IRC (*.net *.split) 2013-03-28T07:24:52 *** smiley1983 has quit IRC (*.net *.split) 2013-03-28T07:24:54 *** Redgis has quit IRC (*.net *.split) 2013-03-28T07:25:04 *** swabbles has quit IRC (*.net *.split) 2013-03-28T07:25:20 *** heinrich5991 has quit IRC (*.net *.split) 2013-03-28T07:25:23 *** jmcarthur has quit IRC (*.net *.split) 2013-03-28T07:25:29 *** ivan`` has quit IRC (*.net *.split) 2013-03-28T07:25:34 *** Accoun has quit IRC (*.net *.split) 2013-03-28T07:25:38 *** KokaKiwi has quit IRC (*.net *.split) 2013-03-28T07:25:45 *** laumars has quit IRC (*.net *.split) 2013-03-28T07:25:51 *** skyj has quit IRC (*.net *.split) 2013-03-28T07:25:51 *** SoldierAntEater has quit IRC (*.net *.split) 2013-03-28T07:25:53 *** a1k0n has quit IRC (*.net *.split) 2013-03-28T07:28:04 *** contestbot has joined #aichallenge 2013-03-28T07:28:04 *** ChanServ sets mode: +o contestbot 2013-03-28T07:28:30 *** sevikkk has quit IRC (*.net *.split) 2013-03-28T07:28:31 *** Zannick has quit IRC (*.net *.split) 2013-03-28T07:31:37 *** sevikkk has joined #aichallenge 2013-03-28T07:31:37 *** Zannick has joined #aichallenge 2013-03-28T08:13:17 *** smiley1983 has quit IRC (Read error: No route to host) 2013-03-28T08:26:24 *** Wren80[work] has quit IRC (Quit: Wren80[work]) 2013-03-28T09:08:14 *** mcstar has joined #aichallenge 2013-03-28T09:28:13 *** HornyReaper has quit IRC (Ping timeout: 240 seconds) 2013-03-28T09:33:02 *** HornyReaper has joined #aichallenge 2013-03-28T09:34:08 *** ramn[work] has quit IRC () 2013-03-28T09:35:54 *** Wren80[work] has joined #aichallenge 2013-03-28T09:39:48 *** HornyReaper has quit IRC (Ping timeout: 264 seconds) 2013-03-28T10:03:03 *** HornyReaper has joined #aichallenge 2013-03-28T10:29:57 *** sigh has quit IRC (Read error: Connection reset by peer) 2013-03-28T10:30:30 *** sigh has joined #aichallenge 2013-03-28T10:32:14 *** Cyndre_ has quit IRC (Ping timeout: 246 seconds) 2013-03-28T10:34:35 *** sigh has quit IRC (Ping timeout: 240 seconds) 2013-03-28T10:35:27 *** Cyndre has joined #aichallenge 2013-03-28T10:40:50 *** HornyReaper has quit IRC (Quit: Ex-Chat) 2013-03-28T10:41:15 *** HornyReaper has joined #aichallenge 2013-03-28T10:48:49 *** Wren80[work] has quit IRC (Quit: Wren80[work]) 2013-03-28T10:52:05 *** Wren80[work] has joined #aichallenge 2013-03-28T10:57:02 *** Wren80[work] has quit IRC (Quit: Wren80[work]) 2013-03-28T11:19:09 *** Uvs has joined #aichallenge 2013-03-28T11:36:49 *** mceier has quit IRC (Quit: leaving) 2013-03-28T12:16:15 *** HornyReaper has quit IRC (Quit: Ex-Chat) 2013-03-28T12:23:22 *** mceier has joined #aichallenge 2013-03-28T12:36:50 *** ermau has quit IRC (Ping timeout: 246 seconds) 2013-03-28T12:37:11 *** ermau has joined #aichallenge 2013-03-28T13:09:13 *** foRei has quit IRC (Ping timeout: 240 seconds) 2013-03-28T13:59:27 *** thestinger has joined #aichallenge 2013-03-28T14:13:11 *** coeus_ has joined #aichallenge 2013-03-28T14:14:44 *** ermau has quit IRC (Ping timeout: 255 seconds) 2013-03-28T14:16:36 *** mattswe has quit IRC (Ping timeout: 252 seconds) 2013-03-28T14:22:11 *** NoxiaZ^ has joined #aichallenge 2013-03-28T14:24:33 *** mviel has quit IRC (Remote host closed the connection) 2013-03-28T15:17:49 *** kilae has joined #aichallenge 2013-03-28T15:44:22 ipython developers are very helpful 2013-03-28T15:46:45 mcstar: they helped you? :P 2013-03-28T15:46:52 yep 2013-03-28T15:47:04 why else would i say that? :P 2013-03-28T15:47:21 * thestinger shrugs 2013-03-28T15:48:06 *** epicmonkey has quit IRC (Ping timeout: 272 seconds) 2013-03-28T15:48:25 someone said: 'rust looks interesting' in #haskell 2013-03-28T15:48:41 he hasnt got any reply 2013-03-28T15:49:04 why would he? he didn't provide any reason ;p 2013-03-28T15:49:16 true 2013-03-28T15:49:37 i was tempted to say 'it has region pointers!' 2013-03-28T15:49:50 and when i were asked 'wha are those?' 2013-03-28T15:50:00 i would have answered: 'i have no idea!' 2013-03-28T15:50:19 C pointers that are made safe at compile-time 2013-03-28T15:50:22 simple enough. 2013-03-28T15:50:33 how? the compiler enforces that they outlive what they point at 2013-03-28T15:50:52 how? lifetimes - both inferred and explicitly annotated (since they form part of a function signature) 2013-03-28T15:50:56 :P 2013-03-28T15:51:15 thestinger: http://media.tumblr.com/tumblr_m1aybpUIXM1r05erp.png 2013-03-28T15:51:40 ^ thats one of the memes i like 2013-03-28T15:51:43 mcstar: http://ompldr.org/vaHd6dw super generic function so... not really the simplest example 2013-03-28T15:51:47 <'r, N: Eq + IterBytes + Hash, M: Map> 2013-03-28T15:51:47 the other one is with jackie chan 2013-03-28T15:51:51 that's like a type annotation in haskell 2013-03-28T15:52:00 Eq, IterBytes, Hash and Map are type classes (traits, in rust) 2013-03-28T15:52:21 'r is a lifetime parameter 2013-03-28T15:52:23 so 2013-03-28T15:52:25 you cann 2013-03-28T15:52:27 call* 2013-03-28T15:52:38 'bfs(&graph, &start_node, closure)' 2013-03-28T15:52:52 there is already a good ML language with mutability, called ocaml 2013-03-28T15:52:56 the graph and start parameters both use 'r, so it's the intersection of their lifetimes 2013-03-28T15:53:06 mcstar: ocaml doesn't have good control of mutability 2013-03-28T15:53:12 it has 2013-03-28T15:53:18 it can't freeze objects at compile-time or represent immutable references 2013-03-28T15:53:23 things are mutable that arent immutable 2013-03-28T15:53:37 well, thats not true 2013-03-28T15:53:46 it can freeze objects 2013-03-28T15:53:52 at compile-time? 2013-03-28T15:54:12 no runtime failures from trying to mutate a frozen object 2013-03-28T15:54:14 you can change type so that something mutable will not be mutable at some point 2013-03-28T15:54:28 yeah, no runtime failure 2013-03-28T15:54:29 mcstar: without a copy? 2013-03-28T15:54:41 well, it is the same object 2013-03-28T15:54:48 so no, no copy 2013-03-28T15:54:55 how does it enforce that there are no mutable references to the old object? 2013-03-28T15:55:01 does it not have references? 2013-03-28T15:55:14 it cant enforce that 2013-03-28T15:55:25 so there are runtime failures 2013-03-28T15:55:30 what if you take a mutable reference, then freeze it 2013-03-28T15:55:40 then you shouldnt mutate it 2013-03-28T15:55:46 i mean you cant 2013-03-28T15:55:55 but you dont want to mutate it through the old reference 2013-03-28T15:56:05 the mutable reference doesn't know that though, so you can try 2013-03-28T15:56:10 and I assume that's a runtime failure? 2013-03-28T15:56:14 yeah, i think you can 2013-03-28T15:56:27 but if you copy it, thats alright 2013-03-28T15:56:31 when you freeze it 2013-03-28T15:56:33 rust knows who owns the object and the lifetime of the references so it enforces that at compile-time 2013-03-28T15:56:41 you can freeze/unfreeze with full safety 2013-03-28T15:56:56 you can convert A -> B (consuming it) and know that there are no references left to A 2013-03-28T15:57:20 ok, but as i said, you can just copy it too 2013-03-28T15:57:34 yeah but then you have no way of knowing nothing is accessing A 2013-03-28T15:57:48 you can't copy a file or a socket, you can only have more references 2013-03-28T15:58:09 does rust target ral time applications? 2013-03-28T15:58:12 real* 2013-03-28T15:58:20 yes 2013-03-28T15:58:47 gc isn't required, and it can move owned types without a copy between tasks 2013-03-28T15:59:14 does it have an STM? 2013-03-28T15:59:27 shared memory isn't part of the core language 2013-03-28T15:59:30 it's like erlang 2013-03-28T16:00:01 there are garbage collected boxes (@, @mut) but the gc is task-local 2013-03-28T16:00:15 owned types can be sent between tasks, gc'ed ones can't be 2013-03-28T16:00:21 thestinger: what do you mean 'shared memory isn't part of the core language'? are there no threads? 2013-03-28T16:00:22 because they aren't uniquely owned 2013-03-28T16:00:35 mcstar: there are tasks, which are mapped to threads 2013-03-28T16:00:43 threads share memory 2013-03-28T16:01:00 mcstar: implementation detail 2013-03-28T16:01:05 you can't share memory in rust between tasks 2013-03-28T16:01:09 only with unsafe {} 2013-03-28T16:01:10 why wouldnt they share immutable stuff? 2013-03-28T16:01:20 mcstar: because gc is task-local 2013-03-28T16:01:23 like erlang 2013-03-28T16:01:30 i dont like erlang 2013-03-28T16:01:34 (pun) 2013-03-28T16:01:34 by immutable I assume you mean persistent data structure 2013-03-28T16:01:47 mcstar: you can implement a shared memory type with unsafe {} 2013-03-28T16:02:06 so you have some kind of message passing between tasks? 2013-03-28T16:02:15 queues? 2013-03-28T16:02:35 i guess everything is lockless? 2013-03-28T16:02:37 mcstar: when you spawn a task, you can move objects into it 2013-03-28T16:02:43 how is concurrent IO handled? 2013-03-28T16:02:50 you can use various types of communication channels 2013-03-28T16:03:15 mcstar: owned types can be moved (the same as a C++ moved), including between tasks 2013-03-28T16:03:35 otherwise you have to copy 2013-03-28T16:03:54 unless you use some data structure that's implemented with unsafe {} under the hood and shares memory 2013-03-28T16:04:21 but that's not really idiomatic anyway, and there currently aren't any mutable shared data structures included 2013-03-28T16:05:14 so i guess there arent plans to implement a software transactional memory? 2013-03-28T16:05:54 mcstar: no, because it would never be used in safe rust code anyway 2013-03-28T16:07:02 mcstar: there will be low-level atomic types for implementing the low-level bits of a mutable shared data structure 2013-03-28T16:07:08 well, I should say "there are" :P 2013-03-28T16:07:28 there will be an 'atomically' keyword or something? 2013-03-28T16:07:44 mcstar: no because it's not something that will *ever* be done in most rust code 2013-03-28T16:07:58 it's only a low-level detail 2013-03-28T16:08:03 like writing a C binding for a library 2013-03-28T16:08:13 a binding around a C library* 2013-03-28T16:08:13 C is a high level language 2013-03-28T16:08:18 XD 2013-03-28T16:09:20 mcstar: for example you can have a task that reads in chunks of bytes, and sends them over a channel 2013-03-28T16:09:31 it doesn't have to *copy* to send them, it can just move them (ptr copy) 2013-03-28T16:10:08 so you are relying on the scheduler or a buffered channel to do a good job, but most of the time that's what you really want 2013-03-28T16:11:37 ptr ownership change 2013-03-28T16:11:41 hm 2013-03-28T16:11:52 well, im sure it is interesting 2013-03-28T16:12:01 let xs = ~[1, 2, 3, 4]; 2013-03-28T16:12:04 that's a vector on the heap 2013-03-28T16:12:11 let mut ys = xs; 2013-03-28T16:12:18 moves out of xs, and unfreezes it (ptr copy) 2013-03-28T16:12:26 and xs is no longer usable (enforced at compile-time) 2013-03-28T16:12:34 and you can't move out if a borrow (reference to it) is active 2013-03-28T16:12:39 what if you made a closure with xs? 2013-03-28T16:12:47 *** mattswe has joined #aichallenge 2013-03-28T16:12:52 mcstar: it moves it into the closure 2013-03-28T16:12:56 well 2013-03-28T16:13:13 there are different closure types 2013-03-28T16:13:45 just like you have 5, ~5 and @5, there's fn, ~fn and @fn 2013-03-28T16:14:01 @fn is like a closure in python/haskell - it has an environment, and it's garbage collected 2013-03-28T16:14:01 thestinger: User error, it's not my fault. 2013-03-28T16:14:22 ~fn is owned and on the heap (can be moved between tasks, for one thing) 2013-03-28T16:14:33 fn and ~fn are identical, except fn is local to a scope 2013-03-28T16:15:14 *** ermau has joined #aichallenge 2013-03-28T16:15:25 anyway, ~fn takes ownership of the environment you give it, @fn can take references, fn can do whatever 2013-03-28T16:15:59 well, @fn can do everything fn can do I guess 2013-03-28T16:16:26 mcstar: anyway, example from before http://ompldr.org/vaHd6dw 2013-03-28T16:16:39 so 'r becomes the intersection of the lifetime of graph/start 2013-03-28T16:17:08 a pointer marked with 'r has to be outlived by both graph/start 2013-03-28T16:17:21 that bfs function doesn't do any copies itself, it just passes around pointers 2013-03-28T16:17:37 and passes the nodes to the closure it's given (with the 'r region) 2013-03-28T16:17:48 so the caller is free to keep those references as long as start/graph can be proven to live 2013-03-28T16:19:19 can write the same thing in C++, but you have no way of communicating the lifetime beyond docs and it's not enforced 2013-03-28T16:19:39 "iterator invalidation" 2013-03-28T16:19:52 how much time does this add relative to a C compilation model? 2013-03-28T16:21:13 mcstar: compile-time you mean? 2013-03-28T16:21:24 yes 2013-03-28T16:21:28 not much 2013-03-28T16:21:44 mcstar: I can time the passes for you 2013-03-28T16:21:45 sec 2013-03-28T16:21:52 noooooooooooooooooooooooooooooooooooooooooooooooo 2013-03-28T16:21:54 thestinger: ^ 2013-03-28T16:21:59 in optimized builds, 90% of the time is spent in LLVM optimization 2013-03-28T16:21:59 dont bother 2013-03-28T16:29:47 *** Uvs has quit IRC (Quit: Uvs) 2013-03-28T16:32:15 mcstar: http://ix.io/4VU an example 2013-03-28T16:32:26 type checking is the overhead from stuff like regions and traits 2013-03-28T16:32:36 but in comparison to the time LLVM optimizes.... it's nothing ;p 2013-03-28T16:32:54 oh and the HM-like type inference 2013-03-28T16:32:55 time: 5.274 sevikkk type checking 2013-03-28T16:33:09 sevikkk wtf 2013-03-28T16:33:09 since C/C++ already know all the types as soon as a variable is declared 2013-03-28T16:33:13 mcstar: from tabs 2013-03-28T16:33:14 weechat? 2013-03-28T16:33:16 it's evil 2013-03-28T16:33:19 oh 2013-03-28T16:33:20 paste tab -> autocompletes 2013-03-28T16:33:22 :D 2013-03-28T16:33:32 didnt know it would work that way 2013-03-28T16:33:33 XD 2013-03-28T16:34:23 thestinger: how long was the source file? 2013-03-28T16:34:36 50s is an extremely long compilation for a file 2013-03-28T16:34:44 compile_and_link: x86_64-unknown-linux-gnu/stage0/lib/rustc/x86_64-unknown-linux-gnu/lib/libsyntax.so 2013-03-28T16:34:52 mcstar: 30k or something? 2013-03-28T16:34:54 * thestinger shrugs 2013-03-28T16:35:05 ok, thats not small 2013-03-28T16:35:11 but still, overall it is quite long 2013-03-28T16:35:14 mcstar: I just compiled the rust compiler with TIME_PASSES=1 and pasted from one of the libs 2013-03-28T16:35:26 but yes - it does generate a lot of LLVM IR (more than it should) atm, so optimization takes a long time 2013-03-28T16:35:55 for example [5, ..1000] makes an array of 1000 integers (initialized to 5) 2013-03-28T16:36:06 until very recently, it generated 2x 1000 LLVM instructions 2013-03-28T16:36:07 thestinger: anyway, do you realize, that you could spend your time better, by talking to someone you might actually convince of using/learning rust? 2013-03-28T16:36:09 now it makes a loop 2013-03-28T16:36:14 mcstar: ;p 2013-03-28T16:38:42 mcstar: anyway, LLVM is built to be fast with clang's output 2013-03-28T16:38:52 rustc has a long way to go before it can stay on fast paths 2013-03-28T16:39:04 it ends up generating good machine code, but LLVM takes forever to do it 2013-03-28T16:39:18 for example clang does dead-code elimination itself - rustc just relies on LLVM 2013-03-28T16:39:26 LLVM decides to compile and optimize the dead code before removing it 2013-03-28T16:40:13 heh 2013-03-28T16:49:00 *** sevikkk1 has joined #aichallenge 2013-03-28T16:51:39 *** sevikkk has quit IRC (Read error: Operation timed out) 2013-03-28T16:57:23 thestinger: hm, they say Stalin uses region based memory management 2013-03-28T16:57:55 mcstar: using regions for optimization is different than regions in a type system though 2013-03-28T16:58:06 i guess 2013-03-28T16:58:11 it's like escape analysis in a gc language vs. owned types (T, std::unique_ptr) in C++ 2013-03-28T16:58:13 you program differently 2013-03-28T16:58:24 it uses it for whole program optimization 2013-03-28T16:58:29 while keeping everything scheme 2013-03-28T16:58:33 schemey 2013-03-28T16:58:36 schemy 2013-03-28T16:58:43 mcstar: yeah, which is much different than rust's region pointer 2013-03-28T16:58:51 rust only uses it for borrowed pointers 2013-03-28T16:59:11 thestinger: someone said, he would like to see something actually written in rust 2013-03-28T16:59:15 *** epicmonkey has joined #aichallenge 2013-03-28T16:59:16 when i said, the compiler 2013-03-28T16:59:19 he said, something else 2013-03-28T16:59:27 well, i dont know anything else :) 2013-03-28T16:59:38 https://github.com/pcwalton/sprocketnes 2013-03-28T17:00:01 or servo, which is what mozilla is using it for 2013-03-28T17:00:04 a browser engine 2013-03-28T17:00:09 but browsers are boring 2013-03-28T17:00:11 ;p 2013-03-28T17:01:01 your link is on #haskell 2013-03-28T17:01:09 response: 2013-03-28T17:01:11 the unsafe code in sprocketnes is workarounds for the borrow checking not being flow-sensitive yet btw 2013-03-28T17:01:11 'ah nice' 2013-03-28T17:01:24 it doesn't yet understand that code has an order/branches 2013-03-28T17:01:44 thestinger: me neither, but feel free to discuss this with them :) 2013-03-28T17:01:50 for example &mut references are unique, so it doesn't understand that two patterns in a match statement can take mut references (it doesn't know they are unique branches) 2013-03-28T17:04:28 mcstar: like this http://ix.io/4VX 2013-03-28T17:04:32 it should compile 2013-03-28T17:04:37 foo.rs:5:20: 5:30 error: loan of tuple content as mutable conflicts with prior loan 2013-03-28T17:04:38 foo.rs:5 (ref mut x, ref mut y) => { *x += 2; *y += 2 } 2013-03-28T17:04:40 ^~~~~~~~~~ 2013-03-28T17:04:42 foo.rs:5:9: 5:19 note: prior loan as mutable granted here 2013-03-28T17:04:44 foo.rs:5 (ref mut x, ref mut y) => { *x += 2; *y += 2 } 2013-03-28T17:04:51 one of the two bugs in the compiler that really annoys me ;p 2013-03-28T17:07:19 or { borrow_immutable(y); y = 5 } 2013-03-28T17:07:28 it doesn't know the immutable borrow happens and ends first yet 2013-03-28T17:07:33 have to wrap it in { } 2013-03-28T17:07:46 oh well ;p, new borrowck lands soon 2013-03-28T17:46:55 *** kilae has quit IRC (Quit: ChatZilla 0.9.90 [Firefox 19.0.2/20130307023931]) 2013-03-28T17:56:54 *** sigh has joined #aichallenge 2013-03-28T18:14:46 *** janzert has joined #aichallenge 2013-03-28T18:19:32 *** mcstar has quit IRC (Quit: mcstar) 2013-03-28T18:26:17 *** wafflesncheese has joined #aichallenge 2013-03-28T18:26:27 so is ai challenge dead? 2013-03-28T18:26:38 i mean...is there ever going to be another one? 2013-03-28T18:32:32 potentially 2013-03-28T18:32:34 not definitely 2013-03-28T18:34:52 what does it depend upon? 2013-03-28T18:35:19 most of the previous contributors don't have much time anymore 2013-03-28T18:35:57 and i don't know the state of the nonprofit org that was supposed to be set up so we could have money to rent cpu time 2013-03-28T18:37:04 Are the previous contributors not willing to let others step in? I'm sure you could find plenty of volunteers... 2013-03-28T18:38:03 no, that's not it at all. all the code is open source on github 2013-03-28T18:39:49 That is what I seemed to recall...so basically it comes down to no one has stepped up and the previous volunteers backed out 2013-03-28T18:40:22 i mean, i have lots of ideas but no real time 2013-03-28T18:40:47 i do recall people being interested in working on it but they have either stopped or are working in the shadows 2013-03-28T18:41:21 So if I understand right...the code for accepting submissions, running in sandbox, etc is all on github 2013-03-28T18:41:37 You would need someone to write a new game for the challenge 2013-03-28T18:41:57 and someone to find a couple servers 2013-03-28T18:42:08 um, maybe, yeah 2013-03-28T18:42:16 i've been wanted to redo the infrastructure for awhile 2013-03-28T18:42:27 wanting * 2013-03-28T18:43:01 What does it look like now? 2013-03-28T18:45:22 i forget 2013-03-28T18:45:34 i wasn't working on the last contest either 2013-03-28T18:52:50 not pretty, that's all i know :) 2013-03-28T18:55:21 hmm 2013-03-28T18:55:50 ill prolly be just like everyone else who is "working in the shadows" 2013-03-28T18:55:56 but maybe ill take a look at it... 2013-03-28T18:56:37 if people would be okay with stratego i could definiatly contribute a game engine 2013-03-28T18:56:46 since ive already got some simple python code lying around 2013-03-28T18:58:34 i think we usually frown on games with small move spaces like stratego since it usually becomes "whose alpha-beta is optimized the best?" 2013-03-28T18:58:57 the space isn't too small 2013-03-28T18:59:12 and the uncertainty adds a whole new element not seen in a previous challenge 2013-03-28T18:59:36 sure, it could be interesting 2013-03-28T19:01:48 Then again, there are probabilistic versions of the basic min-max algorithm...maybe it is too small 2013-03-28T19:02:04 I wonder what current state of the art ai for stratego do... 2013-03-28T19:11:39 dang 2013-03-28T19:11:51 turns out people have used min-max with alpha-beta pruning for stratego... 2013-03-28T19:12:05 *** epicmonkey has quit IRC (Ping timeout: 248 seconds) 2013-03-28T19:12:11 and frankly an alpha-beta pissing contest sounds boring... 2013-03-28T19:24:48 space battles! :P 2013-03-28T19:25:12 do you mean redo planets or something else? 2013-03-28T19:25:47 no I mean take a 2d plane without a grid and have little ships with 2 engines each 2013-03-28T19:25:53 and you control the thrust on both 2013-03-28T19:25:54 * thestinger shrugs 2013-03-28T19:26:33 that could be fun 2013-03-28T19:27:01 certainly fun to watch anyways 2013-03-28T19:27:37 youd get a butt load of kalman filters for aiming 2013-03-28T19:28:10 if you give people more than 1 ship it gets too complex to have a simple solution 2013-03-28T19:28:14 that's what I liked about ants 2013-03-28T19:28:30 everyone used similar low-level algorithms, but there was a lot of high-level abstract strategy 2013-03-28T19:28:52 and no obvious "right" way to do things 2013-03-28T19:29:00 if you substitute ship for tank 2013-03-28T19:29:11 ive got code that does a team-based capture the flag 2013-03-28T19:29:16 with tanks having to control rate of turn 2013-03-28T19:29:22 and rate of acceleration 2013-03-28T19:29:24 that sounds fun :) 2013-03-28T19:29:30 its way fun 2013-03-28T19:29:49 they use the code base in the intro to ai class here at my university 2013-03-28T19:30:02 ive ta'd for the class and my advisor is one of the profs that teaches it 2013-03-28T19:30:10 i bet i could get him to open source the codebase 2013-03-28T19:30:47 the code base has all sorts of fun options 2013-03-28T19:30:59 you can generate mazes forcing players to do pathfinding 2013-03-28T19:31:12 you can give tanks imperfect sensors for obstacles and other tanks 2013-03-28T19:31:24 forcing some sort of probabilistic mapping technique 2013-03-28T19:31:33 youve got to take into account aiming 2013-03-28T19:31:56 and the number of strategies possible for even small teams is staggering 2013-03-28T19:32:23 you can also turn on "hovertanks" which lets tanks accelerate in any direction 2013-03-28T19:32:42 although we typcially make it just forward-backward and angular rotation... 2013-03-28T19:34:10 plus its got a sweet visualizer 2013-03-28T19:34:24 end of the year we run a big tournament with all the students bots 2013-03-28T19:34:41 and we project the matches onto the wall 2013-03-28T19:37:15 as an added bonus, the protocol for our tank game is all text - you would have to modify it to be over stdin/stdout rather than giving an ip address to the game server, but that is pretty trivial... 2013-03-28T19:38:11 it would be cool to have a game with opportunities to use stuff like localization 2013-03-28T19:41:05 i think ill ask tommorow about opensourcing it 2013-03-28T19:41:36 with permission it would be easy - its just a git repo sitting on our fileserver 2013-03-28T20:08:04 *** mceier has quit IRC (Ping timeout: 240 seconds) 2013-03-28T20:08:20 *** wafflesncheese has quit IRC (Quit: Page closed) 2013-03-28T20:10:19 *** mceier has joined #aichallenge 2013-03-28T20:52:13 *** rofer has quit IRC (Ping timeout: 245 seconds) 2013-03-28T20:59:47 *** rofer has joined #aichallenge 2013-03-28T23:15:39 *** sigh has quit IRC (Remote host closed the connection) 2013-03-28T23:16:11 *** sigh has joined #aichallenge 2013-03-28T23:20:43 *** sigh has quit IRC (Ping timeout: 260 seconds) 2013-03-28T23:43:14 *** dvladim has joined #aichallenge