2012-12-31T00:27:33 *** foRei has quit IRC (Quit: Bye) 2012-12-31T01:02:17 *** mceier has quit IRC (Ping timeout: 255 seconds) 2012-12-31T01:11:29 *** MissingNo1 has quit IRC (Quit: Leaving.) 2012-12-31T01:43:19 *** MissingNo1 has joined #aichallenge 2012-12-31T01:57:10 *** treg has joined #aichallenge 2012-12-31T01:57:19 hi 2012-12-31T02:08:55 *** MissingNo1 has quit IRC (Ping timeout: 276 seconds) 2012-12-31T02:10:38 *** treg has quit IRC (Quit: Page closed) 2012-12-31T02:58:09 *** thestinger has quit IRC (Quit: WeeChat 0.3.9.2) 2012-12-31T03:02:06 *** epicmonkey has joined #aichallenge 2012-12-31T03:04:05 *** thestinger has joined #aichallenge 2012-12-31T03:14:43 *** pairofdice has joined #aichallenge 2012-12-31T03:21:58 *** mceier has joined #aichallenge 2012-12-31T04:11:08 *** thestinger has quit IRC (Quit: WeeChat 0.3.9.2) 2012-12-31T04:15:33 *** MissingNo1 has joined #aichallenge 2012-12-31T04:26:05 *** epicmonkey has quit IRC (Read error: Operation timed out) 2012-12-31T04:38:27 *** awly has joined #aichallenge 2012-12-31T05:11:35 *** ikaros has joined #aichallenge 2012-12-31T05:17:15 *** MissingNo1 has quit IRC (Read error: Connection reset by peer) 2012-12-31T05:23:15 *** smiley1983 has joined #aichallenge 2012-12-31T06:09:46 *** MissingNo1 has joined #aichallenge 2012-12-31T06:24:45 *** MissingNo1 has quit IRC (Quit: Leaving.) 2012-12-31T06:26:37 *** Scooper has joined #aichallenge 2012-12-31T06:38:28 *** dvladim has joined #aichallenge 2012-12-31T06:43:51 *** dvladim has quit IRC (Read error: Operation timed out) 2012-12-31T07:35:17 *** foRei has joined #aichallenge 2012-12-31T07:55:16 *** xScooper has joined #aichallenge 2012-12-31T07:55:22 *** Scooper has quit IRC (Read error: Connection reset by peer) 2012-12-31T08:08:01 *** smiley1983 has quit IRC (Ping timeout: 245 seconds) 2012-12-31T08:10:12 *** smiley1983 has joined #aichallenge 2012-12-31T08:22:27 *** smiley1983 has quit IRC (Ping timeout: 265 seconds) 2012-12-31T08:24:11 *** smiley1983 has joined #aichallenge 2012-12-31T08:34:34 *** MissingNo1 has joined #aichallenge 2012-12-31T08:41:34 *** MissingNo1 has left #aichallenge 2012-12-31T08:45:40 *** MissingNo1 has joined #aichallenge 2012-12-31T08:46:09 *** MissingNo1 has left #aichallenge 2012-12-31T09:19:37 *** ikaros has quit IRC (Read error: Connection reset by peer) 2012-12-31T09:19:38 *** ikaros_ has joined #aichallenge 2012-12-31T09:34:36 *** AlliedEnvy has joined #aichallenge 2012-12-31T09:54:52 *** smiley1983 has quit IRC (Ping timeout: 244 seconds) 2012-12-31T09:56:53 *** smiley1983 has joined #aichallenge 2012-12-31T10:04:57 *** AlliedEnvy has quit IRC (Read error: Connection timed out) 2012-12-31T10:05:32 *** kilae has joined #aichallenge 2012-12-31T10:26:40 *** smiley1983 has quit IRC (Ping timeout: 265 seconds) 2012-12-31T10:28:09 *** smiley1983 has joined #aichallenge 2012-12-31T10:32:45 *** MissingNo1 has joined #aichallenge 2012-12-31T10:36:40 *** Accoun has quit IRC () 2012-12-31T10:42:18 *** MissingNo1 has left #aichallenge 2012-12-31T10:46:19 *** dvladim has joined #aichallenge 2012-12-31T11:05:03 *** foRei has quit IRC (Quit: Bye) 2012-12-31T11:15:35 *** dvladim has quit IRC (Ping timeout: 276 seconds) 2012-12-31T11:18:02 *** loglog has quit IRC (Ping timeout: 252 seconds) 2012-12-31T11:39:39 *** Accoun has joined #aichallenge 2012-12-31T11:46:05 *** yoden has joined #aichallenge 2012-12-31T11:46:34 *** thestinger has joined #aichallenge 2012-12-31T12:26:56 *** ikaros_ is now known as RagingDave 2012-12-31T12:29:33 *** RagingDave is now known as ikaros 2012-12-31T12:32:02 *** ikaros has quit IRC (Quit: Ex-Chat) 2012-12-31T12:32:16 *** RagingDave has joined #aichallenge 2012-12-31T12:33:03 *** RagingDave is now known as RagingDave_ 2012-12-31T12:33:15 *** RagingDave_ is now known as RagingDave 2012-12-31T12:40:37 *** RagingDave has quit IRC (Quit: Ex-Chat) 2012-12-31T12:40:56 *** RagingDave has joined #aichallenge 2012-12-31T14:29:16 *** RagingDave has quit IRC (Quit: Ex-Chat) 2012-12-31T14:41:25 *** mcstar has joined #aichallenge 2012-12-31T14:41:54 i expected a party here... 2012-12-31T14:45:55 \o 2012-12-31T14:46:32 o/ 2012-12-31T14:56:54 thestinger: do you know of any free implementation of the jpeg2000 part 10 standard? 2012-12-31T14:57:14 the one that deals with volumetric images 2012-12-31T14:57:20 nope. 2012-12-31T14:57:52 what's a volumetric image? is it what I think it is? (3D) 2012-12-31T14:59:08 yes 2012-12-31T14:59:09 google seems to think they are lab flasks ;) 2012-12-31T14:59:20 just imagine voxels 2012-12-31T14:59:30 hey janzert 2012-12-31T14:59:42 * janzert waves 2012-12-31T15:00:34 mcstar: I've been doing half-useful stuff :) 2012-12-31T15:00:41 gmp? 2012-12-31T15:00:52 well, rust-related stuff 2012-12-31T15:01:00 I've actually had a few pull requests merged 2012-12-31T15:01:08 i meant the rust binding to gmp 2012-12-31T15:01:21 did you mean that or something else? 2012-12-31T15:01:28 mcstar: https://github.com/mozilla/rust/commits/master/src/libstd/priority_queue.rs a few things like that 2012-12-31T15:01:49 thats nice 2012-12-31T15:01:51 * thestinger has rust-magic, rust-gmp and rust-snappy libs too 2012-12-31T15:01:57 but those are just boring bindings 2012-12-31T15:02:07 nice way to find rough spots where I can contribute though 2012-12-31T15:02:18 github doesnt have rust hilight 2012-12-31T15:02:48 yeah, it uses pygments and it's not in there yet (well actually it might be in git - but it's outdated anyway, the keywords have changed a lot) 2012-12-31T15:03:24 the code looks a bit ugly imho 2012-12-31T15:03:31 ofc im not used to seeing rust at all 2012-12-31T15:04:30 i was thinking of making a haskell binding to nvml 2012-12-31T15:04:43 but ffi is ugly... 2012-12-31T15:09:00 mcstar: http://ompldr.org/vZ3djNw/priority_queue.rs.html looks better highlighted 2012-12-31T15:09:49 whats unsafe? 2012-12-31T15:10:24 and what does the pure qualifier mean? 2012-12-31T15:10:41 pure means you don't call any impure functions or mutate arguments 2012-12-31T15:11:08 so you need to escape that? 2012-12-31T15:11:21 mcstar: yes, for now - but that's going to be fixed 2012-12-31T15:11:52 i finished LYAH btw 2012-12-31T15:11:55 some functions are impure because they mutate their arguments 2012-12-31T15:12:05 but they don't really have to be 'impure' 2012-12-31T15:12:08 started it a year ago, at christmas... 2012-12-31T15:12:16 the type system knows they can mutate those, it's part of the signature 2012-12-31T15:12:47 also use unsafe in the siftup/siftdown methods, but only as a micro-optimization 2012-12-31T15:13:07 <-> is a swap, but for those you really just need to shift stuff in one direction 2012-12-31T15:13:42 ive never seen a laguage with a built in swap except assembly 2012-12-31T15:14:00 mcstar: it will go away 2012-12-31T15:14:04 there was a <- operator too 2012-12-31T15:14:06 (move) 2012-12-31T15:14:13 a <- b; 2012-12-31T15:14:21 but it was removed in favour of a move expression 2012-12-31T15:14:23 a = move b; 2012-12-31T15:14:26 f(move b); 2012-12-31T15:14:32 but now the move expression is deprecated 2012-12-31T15:14:50 flux 2012-12-31T15:14:56 a = b; is always a move for non-implicitly-copyable types 2012-12-31T15:15:10 a = copy b; is a copy 2012-12-31T15:15:12 :P 2012-12-31T15:15:15 and copy will probably go away 2012-12-31T15:15:16 so, anything is nullable? 2012-12-31T15:15:19 mcstar: no 2012-12-31T15:15:23 you can't use after a move 2012-12-31T15:15:27 you can't use before an initialization 2012-12-31T15:15:33 a: int; 2012-12-31T15:15:39 foo(a); // won't compile 2012-12-31T15:15:48 but is that checked at compile time? 2012-12-31T15:15:50 yes 2012-12-31T15:16:13 there's also no way to have a null reference, dangling reference or a memory leak (at least without storing stuff in some container by accident...) 2012-12-31T15:16:21 it has region pointers 2012-12-31T15:16:23 'a' should be a reference to 'b' 2012-12-31T15:16:30 rather than move it, no? 2012-12-31T15:16:34 no 2012-12-31T15:16:38 why? :) 2012-12-31T15:16:45 because if you want a reference, you can take one 2012-12-31T15:16:47 a = &b; 2012-12-31T15:16:55 and it enforces that b must outlive a (liveness and borrow checks) 2012-12-31T15:17:10 foo(&a) can't do anything with the reference that could outlive a 2012-12-31T15:17:23 & is for borrowed pointers (essentially what C++ references are - but safe) 2012-12-31T15:17:46 ~ is like unique_ptr, @ is garbage collection semantics (for persistent data structures) 2012-12-31T15:17:52 @ has per-task gc like erlang 2012-12-31T15:17:53 thestinger: No! 2012-12-31T15:17:58 contestbot: nou 2012-12-31T15:17:59 thestinger: No! 2012-12-31T15:18:04 :| 2012-12-31T15:18:29 weird 2012-12-31T15:18:46 it has full memory safety (no dangling pointers) and no nulls, without requiring gc 2012-12-31T15:18:53 pure fn top(&self) -> &self/T { &self.data[0] } 2012-12-31T15:18:56 this method for example 2012-12-31T15:18:58 yeah, at the expense of complexity 2012-12-31T15:19:11 mcstar: but it also makes the compiler help you more 2012-12-31T15:19:20 even for logic stuff - you are very clear about resource ownership, etc. 2012-12-31T15:19:23 it isn't just for memory 2012-12-31T15:19:31 you can enforce that files are closed and no used after close 2012-12-31T15:19:57 static fn open_resource() -> Option 2012-12-31T15:20:02 and implement the Drop trait for it 2012-12-31T15:20:10 none of the methods can be accidentally used after it's closed 2012-12-31T15:20:37 could add fn close(self) {} too (taking self by-value takes ownership of it - so you need no body in {}) 2012-12-31T15:20:54 can also use it for a state machine, or similar 2012-12-31T15:21:01 to enforce state transitions properly 2012-12-31T15:21:14 every time we talk you hung up on rust 2012-12-31T15:21:18 :) 2012-12-31T15:22:28 mcstar: the to_sorted_vec/to_vec are essentially 'state transitions 2012-12-31T15:22:36 they consume it and it can't be used after 2012-12-31T15:23:09 and you can't have a reference to something that gets consumed that way, it won't compile (you have to drop the ref first) 2012-12-31T15:23:21 o.O 2012-12-31T15:23:33 it's simpler than it sounds... 2012-12-31T15:23:39 it's a lot simpler than doing it in C or C++ 2012-12-31T15:23:40 why doesnt it leave the prique alone? 2012-12-31T15:23:52 mcstar: it does 2012-12-31T15:23:55 it takes self by-value 2012-12-31T15:24:06 as in, the caller chooses to a) move or b) copy 2012-12-31T15:24:14 "they consume it and it can't be used after" <- what does this mean then? 2012-12-31T15:24:49 let mut a = ~[1,2,3,4,5]; 2012-12-31T15:24:52 a.push(10); 2012-12-31T15:24:53 that's fine 2012-12-31T15:25:14 let b = PriorityQueue::from_vec(a); // from_vec takes by-value, and this does a move 2012-12-31T15:25:26 a.push(10); // won't compile, it was consumed 2012-12-31T15:25:32 you'd use 'copy a' if you wanted to keep using it 2012-12-31T15:25:38 the expensive option is explicit 2012-12-31T15:26:20 you could also have a reference to a, but you'd have to get rid of it before that from_vec or it wouldn't compile 2012-12-31T15:26:20 hm 2012-12-31T15:26:41 shouldnt the destruction/move be explicit? 2012-12-31T15:26:41 pure fn top(&self) -> &self/T { &self.data[0] } 2012-12-31T15:26:49 mcstar: there isn't a destruction 2012-12-31T15:26:56 ownership is transferred 2012-12-31T15:26:59 well, a binding is destroyed 2012-12-31T15:27:11 mcstar: yes, but no destructor is called 2012-12-31T15:27:23 the type of that method is &self/T 2012-12-31T15:27:33 im just saying, that should be explicit 2012-12-31T15:27:34 just &T wouldn't compile - because it's a reference to something in self 2012-12-31T15:27:37 imho 2012-12-31T15:27:45 a copy should be implicit 2012-12-31T15:27:52 mcstar: it was that way 2012-12-31T15:28:08 it was changed based on consensus among pretty much all the developers + users :P 2012-12-31T15:28:15 thats ok 2012-12-31T15:28:19 im not using rust 2012-12-31T15:28:21 a move is never unsafe 2012-12-31T15:28:41 move vs copy is performance only - no semantic difference (except that you can't keep using the moved value) 2012-12-31T15:28:50 and moves are much more common that copies 2012-12-31T15:28:57 so the uncommon and slow case is explicit 2012-12-31T15:29:22 copying might go away completely anyway - in favour of the Clone trait 2012-12-31T15:29:44 no reason for copying to be special (there aren't constructors for example) 2012-12-31T15:30:02 a = copy b; vs. a = b.clone(); 2012-12-31T15:30:13 there can be default implementations of clone for any implicitly copyable type 2012-12-31T15:31:11 <-> will go away too once the purity issues with mutable arguments are sorted out 2012-12-31T15:32:44 mcstar: anyway it's explicit about ownership - so that it can have safe pointers 2012-12-31T15:32:53 let a = b.top(); // reference 2012-12-31T15:33:18 consume(b); // won't compile, because the type of a is &self/T - it depends on b existing 2012-12-31T15:33:39 i put my yesod project to github 2012-12-31T15:34:01 and i actually started using git 2012-12-31T15:34:05 :D 2012-12-31T15:34:16 like, for real, i change simething, i commit 2012-12-31T15:37:18 mcstar: http://ix.io/3Os for example 2012-12-31T15:37:31 http://ix.io/3Ot it's not like the error is hard to understnad 2012-12-31T15:38:07 understand* 2012-12-31T15:38:26 what with ix.io? 2012-12-31T15:38:32 sprunge is not hip enough? 2012-12-31T15:38:37 yep 2012-12-31T15:39:03 i dont want to be too blunt, but.. 2012-12-31T15:39:11 i really dont care much about rust 2012-12-31T15:39:30 pfft 2012-12-31T15:39:31 im quite sold on functional programming + haskell 2012-12-31T15:39:38 you can do functional programming in rust 2012-12-31T15:39:50 immutable variables is the default, and it has the concept of purity 2012-12-31T15:39:58 maybe, but im quite sure i dont want to learn another language 2012-12-31T15:40:05 not much to learn 2012-12-31T15:40:21 it's C++ and haskell, with concurrency from erlang 2012-12-31T15:40:32 traits are the same as type classes 2012-12-31T15:40:37 if you have a lot of things to do, you have to settle with some things, and maybe learn them better, than to always turn to a new thing 2012-12-31T15:40:50 static methods in a trait are the same as a haskell type class 2012-12-31T15:41:06 but you can also have actual methods (which is just sugar for a function that takes the type as the first arg) 2012-12-31T15:41:18 mcstar: I don't find haskell practical enough 2012-12-31T15:41:27 I don't need python if I have rust 2012-12-31T15:41:34 i do 2012-12-31T15:41:38 more than ever 2012-12-31T15:41:59 i think im gonna write a solver in python 2012-12-31T15:42:03 opencl + mpi 2012-12-31T15:42:09 https://github.com/thestinger/rust-magic/blob/master/magic.rs I mean, look at how trivial a binding is 2012-12-31T15:42:27 and you'll be able to make bindings for C++ libs too, thanks to LLVM 2012-12-31T15:43:12 its great that you like it 2012-12-31T15:43:24 but that doesnt mean everyone will jump on the bandwagon 2012-12-31T15:43:37 they will if I hit them with a wrench hard enough :) 2012-12-31T15:44:00 it must feel great to contribute to a new language though 2012-12-31T15:46:41 lots of low-hanging fruit to tackle, which is nice 2012-12-31T15:46:57 not many open-source projects where I can actually think of dozens and dozens of things I can contribute (that aren't boring bugs) 2012-12-31T15:48:18 and it's nice that I can pester the mozillians on irc :) 2012-12-31T16:13:52 *** MissingNo1 has joined #aichallenge 2012-12-31T16:51:42 well guys, happy new year 2012-12-31T16:51:49 *** mcstar has quit IRC (Quit: mcstar) 2012-12-31T16:52:15 *** MissingNo1 has quit IRC (Quit: Leaving.) 2012-12-31T16:56:54 *** pairofdice has quit IRC (Quit: In girum imus nocte et consumimur igni.) 2012-12-31T17:24:36 *** MissingNo1 has joined #aichallenge 2012-12-31T17:49:50 *** mceier has quit IRC (*.net *.split) 2012-12-31T17:50:10 *** mceier has joined #aichallenge 2012-12-31T18:05:05 *** MissingNo1 has quit IRC (Ping timeout: 276 seconds) 2012-12-31T18:48:02 *** xScooper has quit IRC (Quit: Leaving) 2012-12-31T18:53:02 *** MissingNo1 has joined #aichallenge 2012-12-31T19:00:25 *** amstan has joined #aichallenge 2012-12-31T19:00:25 *** ChanServ sets mode: +o amstan 2012-12-31T19:01:01 jbroman: lol, nice slogan on google+ 2012-12-31T19:01:10 hi amstan 2012-12-31T19:01:18 MissingNo1: hi 2012-12-31T19:01:29 *** smiley1983 has quit IRC (Ping timeout: 245 seconds) 2012-12-31T19:01:34 whatsup? 2012-12-31T19:02:22 *** smiley1983 has joined #aichallenge 2012-12-31T19:09:42 *** smiley1983 has quit IRC (Ping timeout: 245 seconds) 2012-12-31T19:15:43 *** smiley1983 has joined #aichallenge 2012-12-31T19:24:49 *** kilae has quit IRC (Quit: ChatZilla 0.9.89 [Firefox 17.0.1/20121128204232]) 2012-12-31T19:30:52 MissingNo1: planning new year miniparty 2012-12-31T19:30:59 where n=3 2012-12-31T19:38:34 *** amstan has quit IRC (Ping timeout: 245 seconds) 2012-12-31T19:42:14 *** thestinger has quit IRC (Ping timeout: 252 seconds) 2012-12-31T19:56:40 *** thestinger has joined #aichallenge 2012-12-31T20:05:36 *** smiley1983 has quit IRC (Ping timeout: 260 seconds) 2012-12-31T20:06:13 *** smiley1983 has joined #aichallenge 2012-12-31T20:13:32 *** smiley1983 has quit IRC (Ping timeout: 260 seconds) 2012-12-31T20:14:06 *** smiley1983 has joined #aichallenge 2012-12-31T20:18:39 *** MissingNo1 has quit IRC (Quit: Leaving.) 2012-12-31T20:19:17 *** AlliedEnvy has joined #aichallenge 2012-12-31T20:35:28 *** foRei has joined #aichallenge 2012-12-31T20:39:51 *** AlliedEnvy has quit IRC (Read error: Connection timed out) 2012-12-31T21:41:32 *** smiley1983 has quit IRC (Ping timeout: 276 seconds) 2012-12-31T21:41:42 *** smiley1983 has joined #aichallenge 2012-12-31T21:55:17 *** amstan has joined #aichallenge 2012-12-31T21:55:17 *** ChanServ sets mode: +o amstan 2012-12-31T22:07:58 *** thestinger has quit IRC (Quit: WeeChat 0.3.9.2) 2012-12-31T23:02:44 *** awly has quit IRC (Ping timeout: 245 seconds) 2012-12-31T23:28:46 *** antimatroid has joined #aichallenge