2012-11-07T00:07:21 *** coius has joined #aichallenge 2012-11-07T00:07:32 *** coius is now known as Guest96162 2012-11-07T00:09:44 *** coeus_ has quit IRC (Ping timeout: 260 seconds) 2012-11-07T00:11:45 *** epicmonkey has joined #aichallenge 2012-11-07T00:25:31 *** epicmonkey has quit IRC (Ping timeout: 246 seconds) 2012-11-07T00:30:56 *** coeus_ has joined #aichallenge 2012-11-07T00:33:34 *** Guest96162 has quit IRC (Ping timeout: 246 seconds) 2012-11-07T00:51:29 *** Chris_0076 has joined #aichallenge 2012-11-07T01:06:14 *** coius has joined #aichallenge 2012-11-07T01:06:19 *** coeus_ has quit IRC (Read error: Operation timed out) 2012-11-07T01:06:25 *** coius is now known as Guest79691 2012-11-07T01:11:20 *** mceier has quit IRC (Quit: leaving) 2012-11-07T01:26:52 *** coeus_ has joined #aichallenge 2012-11-07T01:30:03 *** Guest79691 has quit IRC (Ping timeout: 264 seconds) 2012-11-07T01:52:39 *** antimatroidl has joined #aichallenge 2012-11-07T01:53:10 *** coeus has joined #aichallenge 2012-11-07T01:55:18 *** coeus_ has quit IRC (Ping timeout: 252 seconds) 2012-11-07T01:59:14 *** coeus_ has joined #aichallenge 2012-11-07T02:02:24 *** coeus has quit IRC (Ping timeout: 255 seconds) 2012-11-07T02:07:43 *** coius has joined #aichallenge 2012-11-07T02:07:54 *** coius is now known as Guest18451 2012-11-07T02:10:35 *** coeus_ has quit IRC (Ping timeout: 252 seconds) 2012-11-07T02:15:38 *** mceier has joined #aichallenge 2012-11-07T02:21:39 *** Guest18451 has quit IRC (Ping timeout: 264 seconds) 2012-11-07T02:25:27 *** elGringo has joined #aichallenge 2012-11-07T02:35:24 On the free-for-all server, many-player games should now be much more common, at the cost of sometimes having to wait for the current game to finish so they currently-active players can join in the next game: http://li414-97.members.linode.com:2080/ 2012-11-07T02:35:35 they -> the 2012-11-07T02:48:45 *** thestinger has quit IRC (Read error: Connection reset by peer) 2012-11-07T03:14:41 *** smiley1983 has quit IRC (Ping timeout: 246 seconds) 2012-11-07T03:14:54 *** smiley1983 has joined #aichallenge 2012-11-07T03:30:53 *** ramn[mba] has joined #aichallenge 2012-11-07T03:33:36 *** Wren80_ has joined #aichallenge 2012-11-07T03:41:08 *** amstan has quit IRC (Quit: Konversation terminated!) 2012-11-07T03:44:41 *** ramn[mba] has quit IRC (Quit: ramn[mba]) 2012-11-07T03:49:58 *** epicmonkey has joined #aichallenge 2012-11-07T04:08:08 *** smiley1983 has quit IRC (Read error: Operation timed out) 2012-11-07T04:08:57 *** smiley1983 has joined #aichallenge 2012-11-07T04:10:27 *** pairofdice has joined #aichallenge 2012-11-07T04:11:27 Server now has a 'home' page linking to the webserver for each game, and the headers of those pages link back to home: http://li414-97.members.linode.com:2086/home 2012-11-07T04:24:13 smiley1983: nice with the home page 2012-11-07T04:25:06 smiley1983: tho, could it be on port 80 so we can access it on http://li414-97.members.linode.com 2012-11-07T04:25:28 otherwise we still have to remember a port number.. :) 2012-11-07T05:00:10 *** smiley1983 has quit IRC (Ping timeout: 265 seconds) 2012-11-07T05:00:56 *** smiley1983 has joined #aichallenge 2012-11-07T05:11:17 *** sigh has joined #aichallenge 2012-11-07T05:15:26 *** smiley1983 has quit IRC (Ping timeout: 246 seconds) 2012-11-07T05:16:21 *** smiley1983 has joined #aichallenge 2012-11-07T05:25:32 *** smiley1983 has quit IRC (Ping timeout: 245 seconds) 2012-11-07T05:26:41 *** smiley1983 has joined #aichallenge 2012-11-07T05:37:54 *** tsc has joined #aichallenge 2012-11-07T05:44:37 *** antimatroidl has quit IRC (Ping timeout: 260 seconds) 2012-11-07T05:52:49 *** antimatroidl has joined #aichallenge 2012-11-07T05:59:15 Something is wrong now on http://li414-97.members.linode.com:2086/home - it doesn't work 2012-11-07T06:02:59 *** Scooper has joined #aichallenge 2012-11-07T06:13:31 Yeah it went down for a moment and I got a couple socket.error: [Errno 10060] on my bot 2012-11-07T06:15:52 Sorry, I've finished editing and restarting things on the server 2012-11-07T06:16:03 it should stay up for a while now 2012-11-07T06:16:26 Ah, no worries, that explains it. Thought maybe something was wrong :) 2012-11-07T06:16:53 I was trying to route traffic from port 80 to 2086 by two different means, neither worked straight up and I'll leave it alone for a while now 2012-11-07T06:17:25 You may have noticed that you actually get some games with more than two players now 2012-11-07T06:17:59 Yes, you made it wait longer? 2012-11-07T06:18:03 Intermediate server has just had the same update, so now that one and ffa should both have multiplayer games 2012-11-07T06:18:56 Waiting longer is a side effect; it decides on how many players it's going to have for the next game before it has the players; 2012-11-07T06:19:11 it chooses a max_players value based on how many are currently connected to the server 2012-11-07T06:19:18 Previously it was n/2, now it's n-1 2012-11-07T06:19:39 Aha. So it randomly selects a size up to that? 2012-11-07T06:20:00 Yes, and then chooses a map, and then waits for the appropriate number of players to connect 2012-11-07T06:21:11 Cool. My bot should get owned proper then. It's not very good with multiple bots 2012-11-07T06:35:34 *** antimatroidl1 has joined #aichallenge 2012-11-07T06:37:19 *** antimatroidl has quit IRC (Ping timeout: 265 seconds) 2012-11-07T06:51:56 *** Wren80_ has quit IRC (Quit: Wren80_) 2012-11-07T08:04:24 *** epicmonkey_ has joined #aichallenge 2012-11-07T08:05:44 *** epicmonkey has quit IRC (Ping timeout: 246 seconds) 2012-11-07T08:13:18 *** dici has joined #aichallenge 2012-11-07T08:26:08 *** Wren80_ has joined #aichallenge 2012-11-07T08:37:45 *** sh4wn has quit IRC (Ping timeout: 246 seconds) 2012-11-07T08:39:26 *** sh4wn has joined #aichallenge 2012-11-07T08:46:57 *** Dici_ has joined #aichallenge 2012-11-07T08:46:57 *** dici has quit IRC (Disconnected by services) 2012-11-07T08:46:58 *** Dici_ is now known as dici 2012-11-07T09:17:14 Uhm, I think I broke something. It just says INFO: tsc is already queued for game 1881 now and seems to have stopped running games 2012-11-07T09:17:56 I'm not running another one in the background or anything, but I did ctrl+c it 2012-11-07T09:19:31 Maybe it's just running a long game, and won't recognize that I disconnected until it starts the next one 2012-11-07T09:27:30 tsc: it has probably become stuck because I disconnected a whole lot of bots suddenly 2012-11-07T09:27:35 I'll see if I can unstick it 2012-11-07T09:28:14 *** amstan has joined #aichallenge 2012-11-07T09:28:14 *** ChanServ sets mode: +o amstan 2012-11-07T09:29:06 tsc: any luck now? 2012-11-07T09:48:10 smiley1983: Works now :) 2012-11-07T09:54:50 Great - if you have the same problem again, you can probably unstick the game queue but connecting another bot under a different name (or maybe a few, in some cases) 2012-11-07T09:55:34 My machine is tied up with a processing job at the moment, I should be able to run bots against the server again in a couple of hours 2012-11-07T09:55:44 I've just left one connected for now 2012-11-07T09:56:27 are you using the comp for actual work 2012-11-07T09:56:59 no, encoding media files for hardware player :) 2012-11-07T09:58:44 u had me worried there 2012-11-07T10:03:37 *** smiley1983 has quit IRC (Ping timeout: 260 seconds) 2012-11-07T10:04:24 *** smiley1983 has joined #aichallenge 2012-11-07T10:15:28 *** sigh has quit IRC (Remote host closed the connection) 2012-11-07T10:15:34 *** tsc has quit IRC (Ping timeout: 245 seconds) 2012-11-07T10:34:07 *** epicmonkey_ has quit IRC (Ping timeout: 246 seconds) 2012-11-07T10:45:47 *** epicmonkey_ has joined #aichallenge 2012-11-07T10:59:11 *** mcstar has joined #aichallenge 2012-11-07T11:01:47 *** mceier has quit IRC (Quit: leaving) 2012-11-07T11:02:02 *** tsc has joined #aichallenge 2012-11-07T11:32:22 Did anyone here ever play AT-Robots 2? Old programming game - ran assembly-like code in a simulated processor, ensuring equal clock cycles to all bots : necrobones.com/atrobots/ 2012-11-07T11:32:37 Code looked like this: http://pastebin.com/ueLx6UT0 2012-11-07T11:32:54 I chopped the big data table from the beginning of the code 2012-11-07T11:38:19 I've tried Corewars a little 2012-11-07T11:38:37 also assembly 2012-11-07T11:39:45 I looked at corewars some years ago but never had any idea of how to write a good bot 2012-11-07T11:40:11 I thought about it a lot for a while, but never actually did any coding 2012-11-07T11:40:44 beyond very basic tutorial bots 2012-11-07T11:41:09 *** g0llum has joined #aichallenge 2012-11-07T11:45:14 daunting task to write 2012-11-07T11:45:33 if doing by hand 2012-11-07T11:45:40 perhaps one could write some smart code generator 2012-11-07T11:45:43 *** amstan has quit IRC (Quit: Konversation terminated!) 2012-11-07T11:45:57 *** amstan has joined #aichallenge 2012-11-07T11:45:57 *** ChanServ sets mode: +o amstan 2012-11-07T11:46:16 *** amstan has quit IRC (Read error: Connection reset by peer) 2012-11-07T11:46:29 this is corewars? 2012-11-07T11:46:36 *** amstan has joined #aichallenge 2012-11-07T11:46:36 *** ChanServ sets mode: +o amstan 2012-11-07T11:48:05 hm? 2012-11-07T11:49:21 you were saying corewars code was daunting to write? Or the ATR2 code? 2012-11-07T11:49:28 I guess both are somewhat :) 2012-11-07T11:50:34 doing ai stuff is hard enough, why do it in esoteric languages? 2012-11-07T11:50:46 corewars 2012-11-07T11:50:48 sounds really backwards to me 2012-11-07T11:50:56 yes but it is an old game 2012-11-07T11:51:00 from 1984 2012-11-07T11:51:38 why not basic or pascal? 2012-11-07T11:52:30 blade runner came out in 82, and it doesnt have any cgi 2012-11-07T11:52:35 i didnt know that 2012-11-07T11:55:37 Also, corewars was a novel sort of AI game - your instruction codes were competing to take over a processor which was simultaneously running several of these virus-like programs 2012-11-07T11:55:51 so it had to be done with low-level instruction codes 2012-11-07T11:56:55 ATR2 had a different excuse - old DOS game where your AI was running in a simulated processor at about 50Hz, so you didn't get many instructions per meter of movement 2012-11-07T11:58:10 so it gave a good incentive to learn to optimize assembly by hand 2012-11-07T12:04:01 *** thestinger has joined #aichallenge 2012-11-07T12:16:19 *** mceier has joined #aichallenge 2012-11-07T12:18:09 *** Wren80_ is now known as Wren80[work] 2012-11-07T12:18:34 *** Wren80[work] has quit IRC (Quit: Wren80[work]) 2012-11-07T12:30:40 *** smiley1983 has quit IRC (Ping timeout: 264 seconds) 2012-11-07T12:31:01 *** smiley1983 has joined #aichallenge 2012-11-07T12:33:52 why didnt i know about pushd/popd before 2012-11-07T12:35:12 Huh. Indeed, that is a very useful tool, and I had no idea of its existence 2012-11-07T12:38:18 mcstar: setopt autopushd 2012-11-07T12:38:27 makes cd always push onto the stack 2012-11-07T12:38:33 also cd -, goes to last dir :P 2012-11-07T12:38:37 thats not good 2012-11-07T12:38:42 pfft 2012-11-07T12:38:54 thestinger: you surely dont want to always push 2012-11-07T12:39:07 I like the dir stack as a dir history 2012-11-07T12:39:34 mcstar: hash -d wiki=~/projects/wiki 2012-11-07T12:40:54 mcstar: and then you can reference it like ~wiki 2012-11-07T12:41:07 oh and goddamn fuzzy completion. 2012-11-07T12:41:11 cat /v/l/X 2012-11-07T12:42:14 zsh <3 2012-11-07T12:43:25 *** amstan has quit IRC (Quit: Konversation terminated!) 2012-11-07T12:43:40 *** amstan has joined #aichallenge 2012-11-07T12:43:40 *** ChanServ sets mode: +o amstan 2012-11-07T12:44:10 i dont get this hash 2012-11-07T12:44:19 it messes up tab completion 2012-11-07T12:44:32 hm 2012-11-07T12:44:49 i see, zsh didnt want to complete on wrong syntax 2012-11-07T12:45:04 ~username is already a syntax, so they just expanded it 2012-11-07T12:45:18 *** Accoun has quit IRC (Remote host closed the connection) 2012-11-07T12:45:24 but thats not zsh specific 2012-11-07T12:45:29 right? 2012-11-07T12:45:51 not zsh specific 2012-11-07T12:46:02 but ~ expansion is somewhat zsh specific 2012-11-07T12:46:30 ~$var will expand to ~value and then do tilde completion 2012-11-07T12:46:37 bash expands ~ first 2012-11-07T12:46:45 tilde expansion* 2012-11-07T12:47:04 why does that matter? 2012-11-07T12:47:42 more useful if you abuse hashing dirs a lot :) 2012-11-07T12:47:58 bash doesn't have hashing dirs though 2012-11-07T12:48:05 *** Accoun has joined #aichallenge 2012-11-07T12:52:53 *** amstan has quit IRC (Read error: Connection reset by peer) 2012-11-07T12:53:06 *** amstan has joined #aichallenge 2012-11-07T12:53:07 *** ChanServ sets mode: +o amstan 2012-11-07T12:53:51 *** smiley1983 has quit IRC (Ping timeout: 252 seconds) 2012-11-07T12:55:37 *** smiley1983 has joined #aichallenge 2012-11-07T13:12:14 *** foRei has joined #aichallenge 2012-11-07T13:14:05 *** ramn[mba] has joined #aichallenge 2012-11-07T13:17:02 thestinger: have you witnessed a member of Anonymous? 2012-11-07T13:17:11 I guess not 2012-11-07T13:17:20 "This is Anonymous. We defecated the fucking European Union Chamber of Commerce in China Member Database" 2012-11-07T13:17:25 *** smiley1983 has quit IRC (Ping timeout: 255 seconds) 2012-11-07T13:17:37 happened couple of minutes ago on #haskell 2012-11-07T13:17:49 theres an accompanying pastebin 2012-11-07T13:19:05 http://i.imgur.com/Xq3xW.png 2012-11-07T13:20:42 wat 2012-11-07T13:22:02 *** Apophis has quit IRC (Read error: Connection reset by peer) 2012-11-07T13:22:24 thestinger: wat wat? 2012-11-07T13:22:36 i hate when someone says what? and it is not clear what what 2012-11-07T13:22:49 *** ramn[mba] has quit IRC (Ping timeout: 255 seconds) 2012-11-07T13:23:34 what's wrong with that guy? * 2012-11-07T13:24:46 you know him? 2012-11-07T13:25:20 :P 2012-11-07T13:29:21 *** Apophis has joined #aichallenge 2012-11-07T13:30:30 *** ramn[mba] has joined #aichallenge 2012-11-07T13:37:13 *** epicmonkey_ has quit IRC (Ping timeout: 255 seconds) 2012-11-07T13:41:26 I don't get what he even wants to say 2012-11-07T13:41:40 Sounds like random words put together 2012-11-07T13:41:48 *** ramn[mba] has quit IRC (Quit: ramn[mba]) 2012-11-07T13:42:07 commerce, china, defecate, europe, chamber, buy, sleep, work, obey 2012-11-07T13:42:15 nono, it has a structure 2012-11-07T13:42:18 did they hack something? 2012-11-07T13:43:30 you can see tha paste yourself 2012-11-07T13:43:39 email addresses 2012-11-07T13:43:43 I cannot click on the link :p 2012-11-07T13:45:11 I still don't know what these addresses would tell me. 2012-11-07T13:45:22 they are email addresse 2012-11-07T13:45:25 s 2012-11-07T13:45:28 you can send email to them 2012-11-07T13:45:33 you know, email? 2012-11-07T13:45:42 electronic mail 2012-11-07T13:46:42 mleise: if its not clear, you can spam them 2012-11-07T13:47:09 I can spam innocent people now, alright 2012-11-07T13:47:25 depends how you define innocence 2012-11-07T13:47:37 what are they convicted of ? 2012-11-07T13:47:37 according to thunder, they are not 2012-11-07T13:47:46 idk 2012-11-07T13:47:57 i dont even know what that above institution is for 2012-11-07T13:48:56 I guess there are some so-called-experts making plans on how all European countries trade with China ? 2012-11-07T13:49:20 E.g. laws, regulations, types of goods, ... 2012-11-07T13:49:40 idk idc 2012-11-07T13:50:29 *** jacob_strauss has joined #aichallenge 2012-11-07T13:50:44 but there are chineese compaies copying german motor saws and sell them back to europe :p 2012-11-07T13:51:41 <3 chine 2012-11-07T13:51:45 chile 2012-11-07T13:51:48 china 2012-11-07T13:55:58 Oh no, Walter woke up with an idea and added annotations to D without knowing anything about them. 2012-11-07T13:56:48 walter matthau? 2012-11-07T13:57:20 No Walter Bright, the creator of that nice language. He still treats it as his toy language in a way ^^ 2012-11-07T13:57:42 hm? 2012-11-07T13:57:52 i thought D was created bu that romanian c++ expert 2012-11-07T13:57:56 by* 2012-11-07T13:57:59 And all the open source contributers bashed him for that 2012-11-07T13:58:35 Andrei, well he uses it as a platform to try his design ideas like ranges instead of iterators, etc. 2012-11-07T13:59:52 But yeah, they are both the heads behind the language 2012-11-07T14:00:41 The funny thing is, now we can annotate any symbol with anything, like for example a 2 or a 'b'. 2012-11-07T14:01:18 And there is no justifiable use case for that since what is a library to do when it finds a number as an annotation ? 2012-11-07T14:01:33 *** Accoun has quit IRC () 2012-11-07T14:02:32 I don't know if you use any language with annotations, mcstar. Python maybe? 2012-11-07T14:03:51 annotations? python only has silly useless function annotations 2012-11-07T14:04:52 def foo(bar : any_valid_expression) -> any_valid_expression: 2012-11-07T14:04:54 o_o 2012-11-07T14:05:20 there is no defined use, it just becomes part of the function object 2012-11-07T14:05:34 * thestinger shrugs 2012-11-07T14:06:00 Go has struct annotations which they actually use, kinda a weird feature 2012-11-07T14:06:10 thestinger: it is difficult to add something useful when the language doesn't come with AST manipulation features ^^ 2012-11-07T14:06:19 well it does 2012-11-07T14:06:21 import ast 2012-11-07T14:06:23 :P 2012-11-07T14:06:26 you mean D? 2012-11-07T14:06:29 yes 2012-11-07T14:06:47 Rust does that IIRC 2012-11-07T14:06:59 yeah rust has what are essentially macros 2012-11-07T14:07:13 (lisp macros) 2012-11-07T14:08:19 but it is still better to be able to query a symbol for annotations at compile-time and act upon it than to use ugly hacks 2012-11-07T14:08:43 macros aren't ugly hacks :P 2012-11-07T14:08:51 C macros are, since they're text-based useless crap 2012-11-07T14:09:11 mleise: Go's are really strange runtime stuff 2012-11-07T14:09:12 I mean the ugly hacks to implement the semantics of simple annotations in D 2012-11-07T14:09:15 ah 2012-11-07T14:09:33 python's function annotations sounded useful at first but since there was no defined use.... they are 100% useless 2012-11-07T14:09:36 I never needed them much myself though 2012-11-07T14:09:37 they should just be removed imo 2012-11-07T14:10:08 I guess for serialization/ORM/marshalling it is useful 2012-11-07T14:10:28 mleise: http://dl.rust-lang.org/doc/0.4/rust.html#syntax-extensions 2012-11-07T14:12:05 not really that powerful 2012-11-07T14:13:36 but you can do something to the sourrounding block with that ? 2012-11-07T14:13:50 e.g. add some instructions to the end ? 2012-11-07T14:14:18 don't think so 2012-11-07T14:14:19 like when you open a file with a C function and want to close it at scope exit 2012-11-07T14:14:36 you could write closeAtExit!fopen(...) 2012-11-07T14:14:57 then it is not that powerful, indeed ^^ 2012-11-07T14:15:00 well you could do that 2012-11-07T14:15:29 just with destructors 2012-11-07T14:16:29 rust has erlang-style tasks and supervision trees which is pretty cool 2012-11-07T14:17:00 I don't have a reason to ever use that crappy Go language again :) 2012-11-07T14:17:40 and the big thing is that it has memory safety and no dangling/null pointers - even though it doesn't use gc 2012-11-07T14:17:51 magical compilers 2012-11-07T14:19:01 no gc ? 2012-11-07T14:19:29 Are you still talking about Rust? Because I was convinced it has a GC 2012-11-07T14:20:07 but it has 3 pointer types to separate between C style memory, GC memory and unique pointers that don't have to be tracked 2012-11-07T14:20:57 But the point was using C functions and they don't come with destructors, right ? :) 2012-11-07T14:23:56 And while the D compiler has scope(exit) and foreach() which are a kind of AST macro and flatten to try/finally and for() respectively, some of this could be implemented in a more generic ways if the compiler offered manipulation of the AST in some form. 2012-11-07T14:27:35 *** Accoun has joined #aichallenge 2012-11-07T14:32:32 mleise: ~, @ and & correspond to unique_ptr, shared_ptr and a reference in C++ 2012-11-07T14:32:52 ~ is just ownership, and can be moved around 2012-11-07T14:33:32 @ is (per-task) refcounting, and there will be a *per-task* cycle collector (so you could call that gc) 2012-11-07T14:33:33 thestinger: Run as fast as you can and don't look back. 2012-11-07T14:33:53 & is just like a C++ reference 2012-11-07T14:34:04 except you can never compile code that could leave a dangling reference 2012-11-07T14:34:14 mleise: idk, maybe mathematica 2012-11-07T14:34:21 you can associate anything with symbols 2012-11-07T14:34:30 UpValues, DownValues, etc... 2012-11-07T14:34:39 subscripts, superscripts... 2012-11-07T14:34:46 its a mess 2012-11-07T14:35:14 mleise: but since there's static typing, it can know when it needs to use a cycle collector for an @ type 2012-11-07T14:35:23 atm it just doesn't, and you just can't make types that can have cycles 2012-11-07T14:35:25 mcstar: alright, that's a different purpose then I think 2012-11-07T14:35:40 idk 2012-11-07T14:35:43 maybe not 2012-11-07T14:35:46 whats the use of it in d? 2012-11-07T14:36:05 seeing if it would be a useful addition to other languages? :P 2012-11-07T14:36:43 oh 2012-11-07T14:36:44 I don't know, but it is in Java, C#, Delphi, Python (*cough*) and other languages already, so D needs it 2012-11-07T14:36:55 then, CL and clojure has annotations too 2012-11-07T14:36:56 it's like the cloud 2012-11-07T14:37:26 in clojure you can annotate variables for example, with types 2012-11-07T14:37:30 or any other meta data 2012-11-07T14:37:34 mleise: python really shouldn't have added it :P 2012-11-07T14:37:43 guido thought it was stupid and should have done his dictator thing 2012-11-07T14:37:56 now it's just useless cruft no one will ever use. 2012-11-07T14:38:06 the python community is full of wussies 2012-11-07T14:38:07 * thestinger sighs 2012-11-07T14:38:09 they dont fork 2012-11-07T14:38:11 well to be fair, c# uses it on parameters that call into managed code for example to map a C# string to a char pointer. they just add this info to the parameter as MarshallsAs(LPSTR) 2012-11-07T14:38:34 [],[<>] 2012-11-07T14:38:39 fsharp inherints those 2012-11-07T14:38:47 you can use it for docs in python though 2012-11-07T14:38:52 lol south parck obout president dick 2012-11-07T14:38:54 it appears in the help()/pydoc output 2012-11-07T14:38:55 other uses are database ORMs where you want to annotate a field of a struct as being the primary key or something 2012-11-07T14:39:10 fuck ORMs :P 2012-11-07T14:39:14 Accoun: did you park south to the president's dick? 2012-11-07T14:39:22 lol south parck obout president dick, why u love obama? he print dollars 2012-11-07T14:39:37 duck 2012-11-07T14:39:39 oh how I missed that ^^ 2012-11-07T14:39:40 I forget who Accoun is 2012-11-07T14:39:43 :( 2012-11-07T14:39:47 i didnt 2012-11-07T14:39:48 loke chicke byt can swim 2012-11-07T14:40:05 loke chicken byt can swim= duck 2012-11-07T14:40:09 AttributeError: '_True' object has no attribute '_hide_froms' 2012-11-07T14:40:09 Accoun: how often do you make love to putin? 2012-11-07T14:40:09 it is 2012-11-07T14:40:11 wat 2012-11-07T14:40:16 *** Wren80[work] has joined #aichallenge 2012-11-07T14:40:27 pitin it pustin - pbamam prsiden of world 2012-11-07T14:40:39 putin it pustin - obamam prsiden of world 2012-11-07T14:40:54 this guy is the worst troll of the world 2012-11-07T14:40:58 he is dislexic 2012-11-07T14:41:01 jesus 2012-11-07T14:41:19 Accoun: you code like type 2012-11-07T14:41:23 fuck off 2012-11-07T14:41:39 u don se any of my code 2012-11-07T14:41:47 ive seen it all 2012-11-07T14:41:53 what language do you write code in, Accoun ? 2012-11-07T14:41:54 yesterday, i hacked your box 2012-11-07T14:41:58 and wiped your porn too 2012-11-07T14:42:00 loser 2012-11-07T14:42:31 mcstar from usa? 2012-11-07T14:42:45 mcstar from country that swears a lot 2012-11-07T14:42:52 u seen soth park about president duck? 2012-11-07T14:43:18 thestinger: well, i guess they dont need that useless function annotation, since everyone uses docstrings 2012-11-07T14:43:26 so you know what the parameters are 2012-11-07T14:43:31 i seen south park about peruanian pan fluete bands 2012-11-07T14:43:39 mcstar: well it's somewhat convenient for the return value, sometimes 2012-11-07T14:43:49 def(a, b, c, *args) -> dict: 2012-11-07T14:44:06 because it's a convention to say what the return value is in the docstring 2012-11-07T14:44:11 but that shows up in help/pydoc too 2012-11-07T14:44:58 you could even say -> dict or int: 2012-11-07T14:44:58 and only 5 pepeles in world more perfect than me 2012-11-07T14:45:17 but it has no actual meaning 2012-11-07T14:45:18 thestinger: in a future version of python, they are going to add proper ad-hoc type annotations 2012-11-07T14:45:20 tell that to your English teacher 2012-11-07T14:45:27 only convention-enforced 2012-11-07T14:45:42 they will follow haskell's syntax 2012-11-07T14:46:00 mcstar: but it only really works if you used OOP, and you can use isinstance() to check it 2012-11-07T14:46:06 otherwise it makes duck typing not work 2012-11-07T14:46:20 bla bla bla 2012-11-07T14:46:27 haskel- useles 2012-11-07T14:46:35 uhoh 2012-11-07T14:46:36 oh now I remember who Accoun is 2012-11-07T14:46:48 he is that useless piece of crap 2012-11-07T14:46:53 he's the one who claimed he made the best bot after the contest was over and they had been open-sourced? 2012-11-07T14:46:59 yeah 2012-11-07T14:47:07 haskel hase only 3 finctions for list processind and monadas 2012-11-07T14:47:25 i dont follow 2012-11-07T14:47:30 monadas it classes 2012-11-07T14:47:35 monadas it classes like in C++ 2012-11-07T14:47:39 dont monad my classes! 2012-11-07T14:47:43 no, not really at all like classes 2012-11-07T14:47:58 without monadas haskel cant do any useful 2012-11-07T14:48:10 sure it can, you just use continuation-passing-style for I/O 2012-11-07T14:48:13 except, it already did, when it didnt have monads... 2012-11-07T14:48:16 and manadas it calssa witj useless extentions 2012-11-07T14:48:24 and manadas it calsses with useless extentions 2012-11-07T14:48:27 monads are a library feature, other than 'do' notation 2012-11-07T14:48:39 algebraic mtodos lol 2012-11-07T14:48:47 in the same way that iterators/containers are entirely a library feature in C++ other than for (a : b) 2012-11-07T14:48:48 set teary mare lol 2012-11-07T14:48:54 it complaty useless 2012-11-07T14:49:03 mcstar: hard to understand what he says. 2012-11-07T14:49:08 and can make errors 2012-11-07T14:49:09 thestinger: wtf, are you teaching him or something? 2012-11-07T14:49:16 mcstar: :P 2012-11-07T14:49:40 dont tryst haskep optimiser he may make erorors 2012-11-07T14:49:57 mare == donkey ? 2012-11-07T14:50:06 just dont define wrong substitution rules 2012-11-07T14:50:10 all computer scainse complaty useless sh-t 2012-11-07T14:50:24 Accoun: now, something that we agree upon 2012-11-07T14:50:35 on all time computer caainse dont born any useful 2012-11-07T14:50:35 mcstar: https://github.com/thestinger/util/blob/master/either.hh not a monad but it does use pattern matching :P 2012-11-07T14:50:53 mcstar: I still need to figure out how to make boost::variant in C++11 without their hacks 2012-11-07T14:50:57 that was a halfway point 2012-11-07T14:51:24 ololol recyrse paern maching- it very very slow and take all memory and crach then 2012-11-07T14:51:34 great, you are passing arguments to new :( 2012-11-07T14:51:37 chuld play 2012-11-07T14:51:42 mcstar: that's placement new 2012-11-07T14:51:49 mcstar: it constructs an object in memory you already have 2012-11-07T14:51:53 all CS chuld play 2012-11-07T14:51:59 hackel child play 2012-11-07T14:52:17 CS professors - retarded childs 2012-11-07T14:52:17 Accoun: use the D programming language. you can use the cyrillic alphabet for identifiers. 2012-11-07T14:52:22 mcstar: new (address) T(construct_type_T); 2012-11-07T14:52:34 but don't troll on the news group, k? thx. bye. 2012-11-07T14:52:35 yeah, ive seen it 2012-11-07T14:52:43 russians have avesome 1c.ru 2012-11-07T14:52:48 i just didnt pay too much attention to advanced memory allocation 2012-11-07T14:52:57 mcstar: so if a function returns either 2012-11-07T14:53:13 *** epicmonkey_ has joined #aichallenge 2012-11-07T14:53:14 can just foo().match([](int i) {}, [](error e) {}) 2012-11-07T14:53:20 and it passes through the return value :P 2012-11-07T14:53:24 values* 2012-11-07T14:53:43 http://li414-97.members.linode.com:2080/ why it stoped? 2012-11-07T14:53:44 anyway just stack-based tagged union with no extra allocations 2012-11-07T14:54:37 what u talkind about? 2012-11-07T14:54:41 Accoun: ask smiley. but the page loads for me 2012-11-07T14:54:43 u snd gardae pples? 2012-11-07T14:54:46 to make something like boost's variant it has to use TMP to make a storage type 2012-11-07T14:55:02 C++11 added std::aligned_union to do that for me.... but it's not in libstdc++ *or* libc++ yet :( 2012-11-07T14:55:07 last game 07.11.2012 14:00:48 2012-11-07T14:55:09 that's the easy part though 2012-11-07T14:55:13 Accoun, there's probably no bot besides your one. you scared the m all away ... 2012-11-07T14:55:37 hard part is figuring out how the hell to store the type and call functions based on it 2012-11-07T14:55:46 thestinger: why the branched destructor? 2012-11-07T14:55:52 he stoped system_* botes 2012-11-07T14:56:02 mcstar: because if a Left is stored, it needs to call Left's destructor and vice versa 2012-11-07T14:56:22 why does it even has a destructor 2012-11-07T14:56:25 have* 2012-11-07T14:56:34 mcstar: because otherwise it would leak resources 2012-11-07T14:56:39 destructors for retardeses- true wey is mass distruction! 2012-11-07T14:56:44 it shouldnt allocate 2012-11-07T14:56:48 mcstar: it doesn't. 2012-11-07T14:56:52 mcstar: union { A a; B b; }; 2012-11-07T14:56:58 mcstar: the destructors can't automatically be called 2012-11-07T14:57:02 it can be *either* an A or a B 2012-11-07T14:57:26 thestinger> destructors for retardeses- true wey is mass distruction! i newer prite obgests especialy distructors 2012-11-07T14:57:31 for example with either - without a destructor, the string's destructor would never get called 2012-11-07T14:57:40 only hand made OOP if need only hardcore! 2012-11-07T14:58:13 mcstar: https://github.com/thestinger/util/blob/master/maybe.hh#L126 that's a better example 2012-11-07T14:58:13 thestinger> destructors for retardeses- true wey is mass distruction! i newer write obgects especialy distructors 2012-11-07T14:58:31 mcstar: represents an object which may not be initialized, so the memory has to be wrapped in union {} to avoid automatically calling the destructor 2012-11-07T14:58:32 thestinger: if something was allocated on the stack, it will b ecalled 2012-11-07T14:58:37 thestinger> only hand made OOP if need only hardcore! 2012-11-07T14:58:40 mcstar: nope 2012-11-07T14:58:42 Accoun: stop shooting that stuff, it makes yuo eevil.. 2012-11-07T14:58:55 mcstar: if it was, it would be buggy 2012-11-07T14:59:08 hit 2 retardeses dont listen me 2012-11-07T14:59:08 mcstar: how would it know if it should call Left's destructor or Right's destructor? 2012-11-07T14:59:13 it 2 retardeses dont listen me 2012-11-07T14:59:30 mcstar: the memory is on the stack, but I'm using placement new to construct the object in it 2012-11-07T14:59:33 he talk obout hes retarded problems of hes retarded world 2012-11-07T14:59:37 ok 2012-11-07T14:59:46 it not ok to be so retarded 2012-11-07T14:59:53 yeah, union is a whole in the typesystem 2012-11-07T14:59:57 mcstar: for example with maybe, if I just put 'T memory' as a member - it would always call the destructor 2012-11-07T15:00:18 thestinger> destructors for retardeses- true wey is mass distruction! i newer write obgects especialy distructors 2012-11-07T15:00:19 whole? 2012-11-07T15:00:20 wtf 2012-11-07T15:00:21 mcstar: which would be undefined behavior (and would crash pretty much every time) 2012-11-07T15:00:29 Accoun: my english is getting worse because of you 2012-11-07T15:00:31 stfu 2012-11-07T15:00:44 mcstar: well C++11 actually made it so you could put non-primitive types in union { } 2012-11-07T15:00:47 now any wey to make OOP without garbage collector 2012-11-07T15:01:01 what? 2012-11-07T15:01:06 static typing and OOP incomporable 2012-11-07T15:01:14 what? 2012-11-07T15:01:24 mcstar: but for maybe, either 'alignas(T) char memory[sizeof (T)]' or 'union { T memory; }' accomplish the same 2012-11-07T15:01:27 static typing and OOP incompotable 2012-11-07T15:01:30 mcstar: gcc doesn't implement alignas yet though. 2012-11-07T15:02:04 mcstar: https://github.com/thestinger/util/commit/fe2c644e58c7b6bc0ce35088cf9c5f2c188c14c9 you can see I made it simpler when I realized I could use 'unrestricted unions' 2012-11-07T15:02:33 amstan: can you just ban Accoun :P 2012-11-07T15:02:42 amstan: signal-to-noise ratio and all that jazz 2012-11-07T15:03:32 anyway back to implementing a cache for my wiki 2012-11-07T15:07:05 im, fo free, teaching em- he want bun me 2012-11-07T15:07:11 retarded pples 2012-11-07T15:07:16 apples? 2012-11-07T15:08:36 peples 2012-11-07T15:09:01 u and thestinger 2012-11-07T15:09:40 Accoun: ah, sorry then, i thought you were making no sense 2012-11-07T15:10:15 but, in fact, you were teaching me 'how to act like an idiot in 21 seconds' 2012-11-07T15:10:35 mcstar> im techeng u whow to write programs 2012-11-07T15:10:53 we already conceded, that you code like you type 2012-11-07T15:11:01 mcstar> u complety do i wrind and dont want to stop 2012-11-07T15:11:17 what? 2012-11-07T15:11:20 mcstar> u dont se any of my code 2012-11-07T15:11:34 thestinger: what does "new(&memory) T(std::forward(args)...);" do ?? 2012-11-07T15:11:46 mleise: cplusplus.com 2012-11-07T15:11:48 dont use "new" 2012-11-07T15:11:53 :P 2012-11-07T15:11:54 mleise: new (&memory) T(arguments, to, constructor); 2012-11-07T15:12:00 dont use templates 2012-11-07T15:12:11 mleise: std::forward just forwards arguments to a function, and keeps rvalues as rvalues 2012-11-07T15:12:21 so for example I can write 2012-11-07T15:12:23 Accoun: shut the fuck up, I use templates 2012-11-07T15:12:37 maybe m('c', 10); 2012-11-07T15:12:42 and it will pass them to the string constructor 2012-11-07T15:12:43 Oh my, variadic templates! 2012-11-07T15:12:51 crazy shit 2012-11-07T15:12:55 the reason it has the alternate version with an initializer list is to make 2012-11-07T15:12:56 mleise> cose u retard, use PHP like preprocessor it math mo beter 2012-11-07T15:12:57 where? 2012-11-07T15:13:02 maybe> m {1,2,3}; work 2012-11-07T15:13:04 but also keep 2012-11-07T15:13:10 maybe> m(1, 10); 2012-11-07T15:13:12 :P 2012-11-07T15:13:18 so magical enable_if 2012-11-07T15:13:43 thestinger: can you add brac-enclosed initializers to custom classes? 2012-11-07T15:13:47 brace 2012-11-07T15:13:47 mcstar: yes 2012-11-07T15:14:01 i guess, theres a special name for the constructor? 2012-11-07T15:14:08 mcstar: look at that maybe type 2012-11-07T15:14:21 all Compyter Scantist and Stroust Trup extrymly retarded- but in this world very many retardeses like em 2012-11-07T15:14:23 initializers too.. I'm still waiting for vc++ to implement these features 2012-11-07T15:14:34 mcstar: https://github.com/thestinger/util/blob/master/maybe.hh#L22 2012-11-07T15:14:43 tsc: gcc works fine on windows :) 2012-11-07T15:14:45 and "is_init == false" means Nothing, right? 2012-11-07T15:14:51 mleise: yes 2012-11-07T15:14:59 I prefer clang over gcc :) 2012-11-07T15:15:14 tsc: well clang works too on windows - kind of :P 2012-11-07T15:15:24 tsc> http://li414-97.members.linode.com:2080/ run u bot 2012-11-07T15:15:36 It's running 2012-11-07T15:15:47 oh 2012-11-07T15:15:52 mcstar: you just take a std::initializer_list 2012-11-07T15:15:53 tsc> why no new games? 2012-11-07T15:15:56 i see 2012-11-07T15:16:02 i didnt expect that 2012-11-07T15:16:06 There is one going on right now, wait for it to finish. 2012-11-07T15:16:28 tsc> C++ useless shit 2012-11-07T15:16:32 mcstar: the reason for enable_if is that it will break uniform initialization syntax for types without a std::initializer_list constructor 2012-11-07T15:16:44 like std::string a {'c', 5} 2012-11-07T15:16:45 tsc> from C++ i use only namespases 2012-11-07T15:16:56 lol 2012-11-07T15:17:14 mcstar: but that's only needed because it wraps types 2012-11-07T15:17:15 so you program in another language, but you use c++ namespaces in it? 2012-11-07T15:17:17 all C++ useless shit 2012-11-07T15:17:18 I disagree. C++ is my preferred language of choice :) 2012-11-07T15:17:21 how does that work out for you, Accoun 2012-11-07T15:17:29 tsc: have you seen rust btw? it's pretty awesome 2012-11-07T15:17:43 rust? What's that? 2012-11-07T15:17:45 tsc> u have memory leak 2012-11-07T15:17:46 tsc: just use haskell 2012-11-07T15:17:50 mcstar: you mean how he uses ONLY namespaces ? :p 2012-11-07T15:17:53 tsc: http://www.rust-lang.org/ mozilla is making it to rewrite gecko in 2012-11-07T15:17:56 mleise: hehe 2012-11-07T15:18:06 haskell- extryly useless shit 2012-11-07T15:18:13 haskell- extrimly useless shit 2012-11-07T15:18:13 tsc: well 'mozilla is making it' might not really be true anymore, it became a pretty big project 2012-11-07T15:18:20 Oh, a language, of course 2012-11-07T15:18:38 best is C# but C for max perfomanse 2012-11-07T15:19:03 perl for fastest coding easy things 2012-11-07T15:19:05 true, c# is the king 2012-11-07T15:19:14 Personally I almost only use c++ and lua. 2012-11-07T15:19:32 lus it vary goo, uses 2012-11-07T15:19:35 well, the guy who made awesome regrets the choice of lua 2012-11-07T15:19:35 lus it vary good, uses 2012-11-07T15:19:39 lua it vary good, uses 2012-11-07T15:19:41 well it has lightweight tasks + supervision trees, which will never be in C++ :P 2012-11-07T15:19:42 lua it very good, uses 2012-11-07T15:19:47 lua it very good, yes 2012-11-07T15:19:48 ah, there I've a new victim to try to convert to D 2012-11-07T15:19:54 mleise: heh 2012-11-07T15:19:59 mleise: you mean Accoun or tsc? 2012-11-07T15:20:04 tsc :) 2012-11-07T15:20:26 Accoun doesn't like templates, that is 100% incompatible with D's stdlib ^^ 2012-11-07T15:20:28 Hehe :) I like working low level and c/c++ is best for that 2012-11-07T15:20:43 also, i dont think you shorten 'have' to 've when it expresses possession 2012-11-07T15:20:44 sure, but have you heard of that cool language, D2 ? 2012-11-07T15:20:51 except, when you say I've got 2012-11-07T15:20:59 thestinger: can you correct me? 2012-11-07T15:20:59 mleise> u like destructors- it diagnoz 2012-11-07T15:21:03 mleise: rust has language features and type classes instead of templates :P 2012-11-07T15:21:07 tsc: It is like an improved C++ 2012-11-07T15:21:15 mcstar: you never have to use contractions 2012-11-07T15:21:25 No, never heard of d2 2012-11-07T15:21:28 thestinger: im asking about the opposite 2012-11-07T15:21:40 thestinger: it sounds weird, when you say i've a book 2012-11-07T15:21:42 "new", constructors - useless thing 2012-11-07T15:21:43 Accoun: D has very few destructors 2012-11-07T15:21:49 mcstar: "they've been naughty" 2012-11-07T15:21:54 you say i have a book, or i've got a book 2012-11-07T15:21:59 tsc: dlang.org 2012-11-07T15:22:02 mleise> D for retarded mastrubators 2012-11-07T15:22:03 thestinger: that doesnt express possession 2012-11-07T15:22:11 "also, i dont think you shorten 'have' to 've when it expresses possession" 2012-11-07T15:22:19 mcstar: oh, I don't think you can't use it for possession 2012-11-07T15:22:20 Accoun: oh, that hurts my feelings ^^ 2012-11-07T15:22:21 hmm 2012-11-07T15:22:31 mleise> mast hurt 2012-11-07T15:22:36 You guys really like discussing programming languages, huh 2012-11-07T15:22:39 it feels really weird to me, but it might be ok 2012-11-07T15:22:44 mleise> u complaty retard in fact 2012-11-07T15:22:52 tsc: just ignore Accoun 2012-11-07T15:23:00 tsc: he's the channel's village idiot :) 2012-11-07T15:23:04 mleise> waite u time for sh-t 2012-11-07T15:23:06 thestinger: Yup, my brain is automatically filtering out his lines. 2012-11-07T15:23:09 mleise> waste u time for sh-t 2012-11-07T15:23:19 nooo, he is funny <3 2012-11-07T15:23:37 i like to tease him 2012-11-07T15:23:43 Accoun: you are a retard 2012-11-07T15:24:04 mcstar> you are a retard, geneticaly damages 2012-11-07T15:24:06 mcstar> you are a retard, geneticaly damaged 2012-11-07T15:24:09 like some oracle on drugs. you can often interpret what he says in many ways 2012-11-07T15:24:18 haha 2012-11-07T15:24:19 mcstar> you are a retard, geneticaly damaged, u mom and pop retarded and u the same 2012-11-07T15:24:23 *** cyphase has quit IRC (Ping timeout: 240 seconds) 2012-11-07T15:24:50 for example what does 'pop' mean in this sentense? does it mean daddy or to pop ? 2012-11-07T15:24:59 parents 2012-11-07T15:25:00 I don't really feel like learning any new languages. My brain can barely fit all the complicated c++11 stuff already 2012-11-07T15:25:24 tsc: Just forget about C++ and embrace D 2012-11-07T15:25:30 tsc> C++ it wasting time 2012-11-07T15:25:31 ;p 2012-11-07T15:25:35 Accoun: agreed! 2012-11-07T15:25:38 just forget about D and learn a functional language! 2012-11-07T15:25:47 D has std.functional 2012-11-07T15:25:57 i thought you were going to say that 2012-11-07T15:26:31 look at this amazing Sudoku solver: http://dpaste.dzfl.pl/c76b9423 2012-11-07T15:26:40 C woth namespases, PHP like preprocessor, LUA for dinamick shit, or jast C# for all this if u dont nees be prefect 2012-11-07T15:26:43 C woth namespases, PHP like preprocessor, LUA for dinamick shit, or jast C# for all this if u dont need be prefect 2012-11-07T15:26:50 C with namespases, PHP like preprocessor, LUA for dinamick shit, or jast C# for all this if u dont need be prefect 2012-11-07T15:26:57 it's all in perfect cryptic functional style 2012-11-07T15:26:58 Accoun: now i see, why you like c# 2012-11-07T15:27:05 since you dont want to be perfect 2012-11-07T15:27:07 I find functional languages so hard to read. 2012-11-07T15:27:08 or anything close... 2012-11-07T15:27:24 It's like... code! 2012-11-07T15:27:26 tsc: thats a misconception! 2012-11-07T15:27:31 functional languages- wasting time 2012-11-07T15:27:33 (hehe kidding) 2012-11-07T15:28:01 wait, Account likes C# but not C++? 2012-11-07T15:28:11 Accoun*, my apologies 2012-11-07T15:28:15 he cant deal with manual memory management 2012-11-07T15:28:17 thats why 2012-11-07T15:28:32 his codes frequently leak memory 2012-11-07T15:28:38 So he likes c instead? 2012-11-07T15:28:42 hi c++ ones 2012-11-07T15:29:12 well, it doesnt have OO 2012-11-07T15:29:29 also, he doesnt like the C preprocessor 2012-11-07T15:29:34 tsc: well C++ takes years to learn - you can learn a sane language in a day :P 2012-11-07T15:29:36 all c++ featyres over C uselees 2012-11-07T15:29:37 so he uses PHP as his preprocessor 2012-11-07T15:29:43 he must have made a parser 2012-11-07T15:29:55 tsc: yay backwards compatibility :( 2012-11-07T15:29:57 and probably, he embeds lua in all his applications 2012-11-07T15:30:03 does the preprocessor correct spelling mistakes ? 2012-11-07T15:30:05 thestinger: hehe :) 2012-11-07T15:30:32 If it takes years to learn, it must be that much better, right? ;P 2012-11-07T15:30:37 dont use PHP for all code, use where it realy need 2012-11-07T15:31:01 PHP only as C preprocessor. 2012-11-07T15:31:10 ues 2012-11-07T15:31:24 Yeah, that makes alot of sense. 2012-11-07T15:31:36 I don't ever *need* PHP. There are other web frameworks/toolkits/languages 2012-11-07T15:31:51 *** pairofdice has quit IRC (Quit: In girum imus nocte et consumimur igni.) 2012-11-07T15:31:52 no, he uses it for general C code 2012-11-07T15:31:56 not for webdev 2012-11-07T15:32:13 PHP-C metaprogramming 2012-11-07T15:32:22 thats the title of an O'riley book 2012-11-07T15:32:24 Accoun: can you give an example of what you can do with PHP preprocessors? 2012-11-07T15:32:25 I've actually done that 2012-11-07T15:32:33 the mascot is a naked accoun, eating his own.. 2012-11-07T15:32:36 silly python operator precedence 2012-11-07T15:32:48 php -t sourse.c.php >sourse.c (forgot keys) 2012-11-07T15:32:51 dunno why they had to copy making &, etc. lower precedence than == from C 2012-11-07T15:32:53 :( 2012-11-07T15:33:08 see? he can even lose his keys 2012-11-07T15:33:11 and php fixes it 2012-11-07T15:33:25 thx for the example then 2012-11-07T15:33:30 I fuck up operator precedence all the time. Some of them don't make a whole lot of sense. 2012-11-07T15:33:33 that's very valuable 2012-11-07T15:33:52 tsc: I agree 2012-11-07T15:34:16 use () 2012-11-07T15:34:20 use () more 2012-11-07T15:34:30 Luckily the compiler usually warns me that I probably made a mistake... 2012-11-07T15:34:39 use () more 2012-11-07T15:34:47 yes, we understood 2012-11-07T15:34:51 wont waste u live for sh-t 2012-11-07T15:35:05 I don't like using excessive parantheses, might be just a stupid personal preference 2012-11-07T15:35:18 makes your code look like LISP 2012-11-07T15:35:23 i dont 2012-11-07T15:35:32 function application binds the strongest 2012-11-07T15:35:34 it just a stupid personal preference 2012-11-07T15:35:34 I use space instead of parantheses and pretend very hard they act the same way. 2012-11-07T15:35:36 you don't don't like ? 2012-11-07T15:35:43 otherwise, if its not clear, parenthesize 2012-11-07T15:36:47 :D 2012-11-07T15:36:52 :P 2012-11-07T15:36:57 hi antimatroidl 2012-11-07T15:37:00 hello 2012-11-07T15:37:20 antimatroidl1: want to talk to my pet? 2012-11-07T15:37:26 it is learning to speak 2012-11-07T15:37:34 you might understand its answer 2012-11-07T15:37:36 Oh no, my bot is getting owned by Accoun. I need to go make it more aggressive so it will start winning 1v1s again! 2012-11-07T15:37:43 if u born like a fool u alweys in good company 2012-11-07T15:38:07 tsc> need more games 2012-11-07T15:38:10 tsc: he will kick your ass :P 2012-11-07T15:38:29 is this for tron? 2012-11-07T15:38:39 Nah, ants. 2012-11-07T15:38:40 Accoun is a foul mouthed bastard, but his bots rock most of the time 2012-11-07T15:39:06 sorry, but i cant take him seriously 2012-11-07T15:39:15 mleise - is retrede retard and he is retard 2012-11-07T15:39:22 lol 2012-11-07T15:39:24 ??? 2012-11-07T15:40:09 thestinger: union.cpp:18:10: error: member ‘Class1 Un::c1’ with destructor not allowed in union 2012-11-07T15:40:27 mcstar: -std=c++11 2012-11-07T15:40:32 i had to see it for myself :) 2012-11-07T15:40:36 mcstar: unrestricted unions are a C++11 feature 2012-11-07T15:40:54 why don't you use D, it has http://dlang.org/phobos/std_typecons.html#Nullable 2012-11-07T15:40:58 before that you couldn't make either, maybe, variant, etc. with defined behavior for any type 2012-11-07T15:41:05 i didnt know unions didnt support non primitive types before 2012-11-07T15:41:13 http://planetwars.aichallenge.org/visualizer.php?game_id=9518797, http://planetwars.aichallenge.org/visualizer.php?game_id=9489278, http://planetwars.aichallenge.org/visualizer.php?game_id=9461624, http://planetwars.aichallenge.org/visualizer.php?game_id=9547997 woo aha 2012-11-07T15:41:15 mleise: does D have variant v(5.5); v = "foobar"; built-in too? :P 2012-11-07T15:41:24 wait a minute, what?! 2012-11-07T15:41:30 mleise: anyway I could just use rust - which has algebraic data types as *language features* 2012-11-07T15:41:56 mleise: you can make stack-based sum types 2012-11-07T15:42:28 algebraic data types for complex and matrix only and exclysive 2012-11-07T15:42:35 oh you mean algebraic types e.g. variants with a fixed set of options. no, but there was a recent discussion in the news groups. i wonder if that was a topic that came up on the interwebs 2012-11-07T15:42:37 i dont find PW too interesting 2012-11-07T15:42:49 mleise: D has variadic templates, right? 2012-11-07T15:42:54 I assume so 2012-11-07T15:43:01 1 targed lagiage feature 2012-11-07T15:43:03 yes, it may be easily implementable 2012-11-07T15:43:17 mleise: as long as you can store values in a way that you can manually call destructors 2012-11-07T15:43:19 D must be more advanced in every aspect than c++ is 2012-11-07T15:43:34 c++ is best language 2012-11-07T15:43:40 otherwise, what would be its reason d'etre? 2012-11-07T15:43:43 mleise: and it has to be aligned for each type - dunno if D is high enough level that alignment doesn't matter 2012-11-07T15:43:48 ah there it is: http://dlang.org/phobos/std_variant.html#Algebraic 2012-11-07T15:43:57 mleise: yeah that :) 2012-11-07T15:44:08 c++ useless D the same- select where have beter compiler, it c++ 2012-11-07T15:44:12 great, antimatroidl is here, and we are back to c++ is best 2012-11-07T15:44:20 mleise: it's the nicest way to interact with json in C++ 2012-11-07T15:45:30 mleise: does it have a way to do pattern matching though? 2012-11-07T15:45:32 hmm 2012-11-07T15:45:36 Accoun: D has a GCC backend, too. If that's what you mean. 2012-11-07T15:46:02 thestinger: no pattern matching, no. and it isn't planned. 2012-11-07T15:46:06 *** Wren80[work] has quit IRC (Quit: Wren80[work]) 2012-11-07T15:46:16 Planet Wars doesn't seem much fun to spectate. Could be that I've no idea what's going on... 2012-11-07T15:46:24 Just arrows flying around 2012-11-07T15:46:34 mleise: auto v = Algebraic!(int, double, string)(5);, what would be the proper type of v? 2012-11-07T15:46:35 tsc: oh it was big fun back then 2012-11-07T15:46:50 play galcon for a while and you'll get it quickly 2012-11-07T15:47:10 it is still not very comprehensible for a human 2012-11-07T15:47:18 mcstar: Algebraic!(int, double, string) of course ^^ 2012-11-07T15:47:20 PW that is 2012-11-07T15:47:33 mleise: is that the correct type? 2012-11-07T15:47:37 yes 2012-11-07T15:47:38 mcstar: http://sprunge.us/MJfE?cpp 2012-11-07T15:47:39 ok 2012-11-07T15:47:41 Shame I wasn't around for this contest previous years. I played in ants but only heard about it a few days ahead so I had no time to make a good bot. 2012-11-07T15:47:49 mcstar: ghetto C++03 pattern matching :P 2012-11-07T15:48:22 can also use the exception-based get methods but those are stupid. 2012-11-07T15:48:39 they're slower anyway 2012-11-07T15:48:58 but the visitor pattern has the same restrictions as pattern matching on sum constructors 2012-11-07T15:49:02 mcstar: it is a template/struct with probably a tag field and a union over the listed types 2012-11-07T15:49:13 in haskell, you can move a level up, with typeclasses 2012-11-07T15:49:17 *** tsc_ has joined #aichallenge 2012-11-07T15:49:26 mleise: yeah an aligned bit of memory on the stack, and a tag 2012-11-07T15:49:28 a lot of structs get generated through templates at compile time in D 2012-11-07T15:49:28 though, that has problems too, but it solved the expression problem better 2012-11-07T15:49:54 solves* 2012-11-07T15:49:57 mcstar: well rust doesn't need this crap - it just has type classes and ADTs 2012-11-07T15:50:08 no 2012-11-07T15:50:18 yes :P 2012-11-07T15:50:20 well, what do i mean by 'no' 2012-11-07T15:50:29 you dont get my point, that what i mean 2012-11-07T15:50:30 tsc: I think most people liked Planet Wars best 2012-11-07T15:50:53 thestinger: adt is not the solution to extensibility 2012-11-07T15:50:54 mleise: I see 2012-11-07T15:50:55 666 turns 2012-11-07T15:50:58 It was a little easier than Ants with the limited count of planets to issue orders from 2012-11-07T15:51:04 *** g0llum has quit IRC (Read error: Connection reset by peer) 2012-11-07T15:51:07 do you mean abstract or algebraic? 2012-11-07T15:51:27 algebraic, but I didn't mean it solved extensibility 2012-11-07T15:51:27 also, neither is 2012-11-07T15:51:36 but thats what i was talking about 2012-11-07T15:51:50 *** tsc has quit IRC (Ping timeout: 245 seconds) 2012-11-07T15:51:53 I meant it didn't have to be as hideous as defining nested structs every time you want to safely extract a value :P 2012-11-07T15:52:00 is here planet wars? 2012-11-07T15:52:08 is here planet wars server? 2012-11-07T15:52:34 thestinger: well, it still looks awkward 2012-11-07T15:53:03 you cant define functions nicely in an equational manner 2012-11-07T15:53:27 but sure, boost provides a lot of great stuff 2012-11-07T15:53:32 i just dont want to care 2012-11-07T15:53:37 when ill need it, ill use it 2012-11-07T15:54:43 Intrusive containers aren't in c++11, are they? 2012-11-07T15:54:46 AGT was a big disappointement 2012-11-07T15:54:52 olate dogs won the contest 2012-11-07T15:54:57 stupid dogs 2012-11-07T15:55:07 tsc_: not in the stdlib 2012-11-07T15:55:12 tsc_: but boost has them 2012-11-07T15:55:40 Right. I think that's the only thing I've used boost for that is not also in c++11 then, iirc 2012-11-07T15:55:56 I use boost's iterator adapters now too for lazy iterators 2012-11-07T15:56:03 i used boost's CLI flag handling 2012-11-07T15:56:12 getopt is really painful, good move 2012-11-07T15:56:17 and its async serial io 2012-11-07T15:56:18 lazy iterators? what's that? 2012-11-07T15:56:38 Oh, I've also used boost's command line stuff 2012-11-07T15:56:38 tsc_: well stuff like std::transform runs the whole iterator at once 2012-11-07T15:56:39 thestinger: D adopted getopt unfortunately :-/ 2012-11-07T15:56:52 tsc_: but boost has lazy iterators that you can compose, for a lazy stream/generator 2012-11-07T15:57:07 yay, streams coming for c++ 2012-11-07T15:57:10 how exciting 2012-11-07T15:57:30 i bet, theres gonna be a functional reactive framework frmo boost, too 2012-11-07T15:57:54 Oh, it's to make iterators easier to write? 2012-11-07T15:58:04 auto new_range = some_range | transformed([](int x) { return x + 1; }; 2012-11-07T15:58:08 no, make them only do the necessary work 2012-11-07T15:58:14 you can make a network of them 2012-11-07T15:58:15 and now if you iterate through new_range, it lazily maps that lambda against it 2012-11-07T15:58:28 like, a dataflow 2012-11-07T15:58:40 tsc_: you just write normal lazy iterator classes, and it lets you compose them like that 2012-11-07T15:58:40 ok, now you should really use D, which is based from the ground up on (lazy) ranges 2012-11-07T15:59:12 now add concurrency 2012-11-07T15:59:16 wut? 2012-11-07T15:59:18 hehe 2012-11-07T15:59:31 std.concurrency? its there 2012-11-07T15:59:37 no, for streams 2012-11-07T15:59:39 Oh, I see now 2012-11-07T15:59:50 ERROR: does not compute 2012-11-07T16:00:43 D doesn't have lightweight tasks though :P 2012-11-07T16:00:57 *** tsc_ is now known as tsc 2012-11-07T16:01:10 thestinger: go away with these lighweight tasks, green threads... 2012-11-07T16:01:15 neither does C++ though. 2012-11-07T16:01:21 lol :) 2012-11-07T16:01:34 Environmental friendly threads 2012-11-07T16:01:39 probably worth a read 2012-11-07T16:01:42 http://twanvl.nl/blog/haskell/conduits-vs-pipes 2012-11-07T16:01:46 mleise: it's really a fundamental change to not have to use an event-loop with callbacks, and split up any cpu-intensive algorithms into many callbacks 2012-11-07T16:02:32 oh, snoyman makes conduit, who makes yesod also 2012-11-07T16:02:35 interesting 2012-11-07T16:03:29 mleise: http://elm-lang.org/learn/Escape-from-Callback-Hell.elm :P 2012-11-07T16:03:31 thestinger: "auto new_range = some_range | transformed([](int x) { return x + 1; };" looks a bit long for adding 2012-11-07T16:03:35 +1 to each element 2012-11-07T16:03:40 mleise: it was an example 2012-11-07T16:03:44 and it doesn't add +1 to each element 2012-11-07T16:03:49 it does nothing at all 2012-11-07T16:03:55 it adds them as you iterate over it 2012-11-07T16:04:15 http://106.187.94.97:2080/ - See, I just made my bot slightly more aggressive, and it starts winning 1v1s again 2012-11-07T16:04:25 a tokenizer can expose a lazy stream of tokens 2012-11-07T16:04:27 etc. 2012-11-07T16:04:39 it's just really painful to work with lazy streams in C++ without boost range + range adapters 2012-11-07T16:04:47 millions of nested loops 2012-11-07T16:04:47 thestinger: that is simple reactive programming 2012-11-07T16:05:11 it doesnt concern resource handling 2012-11-07T16:05:25 mcstar: where did I mention resources? :P 2012-11-07T16:05:27 that is under big debate in the haskell community 2012-11-07T16:05:39 oh you mean pipes vs conduits? 2012-11-07T16:05:46 you didnt, but we were speaking of streams 2012-11-07T16:05:54 ah 2012-11-07T16:06:57 mleise: anyway D has that built-in 2012-11-07T16:08:26 well, it is shorter at least: auto new_range = some_range.map!"a+1"; 2012-11-07T16:08:46 *** jacob_strauss has quit IRC (Remote host closed the connection) 2012-11-07T16:09:13 mleise: and that's lazy, right? 2012-11-07T16:09:18 correct 2012-11-07T16:09:20 it is noteworthy, that rutger hauer himself, came up with his lines: all those moments will be lost in time, like tears in rain 2012-11-07T16:09:22 *** iglo has joined #aichallenge 2012-11-07T16:09:45 mleise: or map (+1) xs 2012-11-07T16:09:47 Most noteworthy. 2012-11-07T16:09:47 :P 2012-11-07T16:09:57 so beautiful 2012-11-07T16:10:11 │ wentam 2012-11-07T16:10:15 wfuck 2012-11-07T16:10:20 "a+1" 2012-11-07T16:10:22 wtf? 2012-11-07T16:10:25 :D 2012-11-07T16:10:29 Andrei's idea 2012-11-07T16:10:57 if only they had currying instead 2012-11-07T16:11:33 the less wtf version is: auto new_range = some_range.map!(x => x + 1); 2012-11-07T16:12:31 well, ghc doesnt have a call stack 2012-11-07T16:12:43 thestinger: there is a function for currying but I don't think it does what functional programmers expect 2012-11-07T16:12:57 so, in a sense, you can more confidently throw functions in the code 2012-11-07T16:13:06 mleise: well in python you have to do 2012-11-07T16:13:22 partial(add, 1) 2012-11-07T16:13:34 that is partial application, not currying 2012-11-07T16:13:36 lambda x: x + 1 is not really any longer 2012-11-07T16:13:39 (+1) also 2012-11-07T16:13:39 mcstar: yeah I know 2012-11-07T16:13:48 it is just called, 'section' 2012-11-07T16:13:49 currying means they all take 1 arg, right? 2012-11-07T16:14:04 well, yeah, every function is basically of arity 1 2012-11-07T16:14:35 thats why the typesig in haskell is so nice 2012-11-07T16:14:50 and right associative 2012-11-07T16:15:06 c++11's bind function is amusing 2012-11-07T16:15:37 baz = bind(foo, _2, "bar", _1) 2012-11-07T16:15:53 baz(5, 8) is foo(8, "bar", 5) 2012-11-07T16:15:54 :P 2012-11-07T16:15:56 This is true. 2012-11-07T16:16:28 why weird? 2012-11-07T16:16:38 mcstar: because of the weird template magic they use 2012-11-07T16:16:50 but thats hidden 2012-11-07T16:17:00 or what do you mean? 2012-11-07T16:17:02 not really since you have placeholder types 2012-11-07T16:17:12 _1, _2, ..., _n are actual types 2012-11-07T16:17:14 bind is actually more flexible that haskell's partial application 2012-11-07T16:17:22 than* 2012-11-07T16:17:32 mcstar: but haskell has a lambda syntax that's shorter than bind in C++ 2012-11-07T16:17:56 it has case in lambda now 2012-11-07T16:18:05 you can pattern match with a lambda 2012-11-07T16:18:13 i.e. you can branch on them 2012-11-07T16:18:33 (pattern matching was always possible, but it could have failed before) 2012-11-07T16:18:38 funny how c++ only has pattern matching at compile-time 2012-11-07T16:18:52 mcstar: did you ever do template metaprogramming stuff? 2012-11-07T16:19:01 in c++? 2012-11-07T16:19:06 yes 2012-11-07T16:19:14 only trivial stuff 2012-11-07T16:19:26 generics don't count as meta programming ;) 2012-11-07T16:19:46 why? 2012-11-07T16:20:04 too little meta 2012-11-07T16:20:14 *** epicmonkey_ has quit IRC (Ping timeout: 246 seconds) 2012-11-07T16:20:22 mcstar: like, did you ever do stuff like fold/filter over typelists? 2012-11-07T16:20:32 noway 2012-11-07T16:20:35 how dare you 2012-11-07T16:21:00 it was enough, that i read about it 2012-11-07T16:21:32 theres a blog somewhere that compares c++ template system to haskell, as a pure functional language 2012-11-07T16:21:59 it is simply too weird, too many fallacies 2012-11-07T16:22:03 too too everything 2012-11-07T16:22:18 i cant be bothered to try to learn something that was retrofitted 2012-11-07T16:22:47 thestinger: you have to keep in mind, that im not, and i dont want to be a programmer 2012-11-07T16:22:49 mcstar: http://sprunge.us/cRUO prettier than actual C++ :P 2012-11-07T16:23:29 anyway I have a generic fold lying around 2012-11-07T16:23:46 used it for finding the max sizeof and alignof 2012-11-07T16:23:56 for my incomplete variant 2012-11-07T16:24:41 makes sense 2012-11-07T16:24:46 The nice thing about c++ is the performance. If you don't need performance, there are probably prettier ways to solve alot of problems 2012-11-07T16:24:47 also, too much effort 2012-11-07T16:25:06 well, thestinger will tell you that you can write slow c++ code 2012-11-07T16:25:09 and he would be right 2012-11-07T16:25:52 Though with that said, it's possible to for instance JIT compile dynamic languages in ways that would result in equal or better performance than c++ 2012-11-07T16:25:58 thestinger: consider lisp though, you can use the SAME language for metaprogramming, that you program in 2012-11-07T16:26:00 how elegant 2012-11-07T16:26:23 mcstar: but I can't make zero-cost abstractions there. 2012-11-07T16:26:25 You can write slow anything if you really want. There are limits to how fast you can make something go, however 2012-11-07T16:26:37 thestinger: but do you really need to?? 2012-11-07T16:26:47 and not every abstraction is zero cost 2012-11-07T16:26:49 the whole reason anyone (sane) uses C++ is because you can make high-level abstractions that are essentially free 2012-11-07T16:27:03 obsessing over this, will only hurt you in the long run 2012-11-07T16:27:03 as long as you avoid the actual true OOP stuff completely, it lends itself well to that 2012-11-07T16:27:10 not free! 2012-11-07T16:27:14 mcstar: well that's why I write everything in python. 2012-11-07T16:27:21 except that aichallenge bot 2012-11-07T16:27:24 not free in runtime, not free in development time 2012-11-07T16:27:46 mcstar: maybe is "free", it's 2 bytes instead of 1 byte 2012-11-07T16:27:46 thestinger: doesn't that sum template work with const_expr now ? 2012-11-07T16:28:05 mleise: yes 2012-11-07T16:28:09 I think... 2012-11-07T16:28:22 mleise: it's not really any prettier though 2012-11-07T16:28:23 Ooh, const_expr... Another feature vc++ holds me back from :( 2012-11-07T16:28:34 wc++? 2012-11-07T16:28:37 constexpr is kinda overrated 2012-11-07T16:28:53 I don't find TMP that bad 2012-11-07T16:29:00 if it's bad, it's probably misuse :) 2012-11-07T16:29:02 microsoft visual c++ 2012-11-07T16:29:14 i know 2012-11-07T16:29:23 of course >.< 2012-11-07T16:29:46 i had to remove my range based for loops to compile with it 2012-11-07T16:30:03 vs2012 has range based for loops 2012-11-07T16:30:47 I just started using them a few days ago actually... Feels good 2012-11-07T16:31:00 http://clang.llvm.org/cxx_status.html :P 2012-11-07T16:31:14 libc++ is also awesome - it supports *only* C++11 2012-11-07T16:31:36 Clang is *actually* my preferred compiler, but I like to stay compatible with vc++ 2012-11-07T16:32:06 gcc has most implemented too 2012-11-07T16:32:09 but libstdc++ is crap. 2012-11-07T16:33:01 they even added sane error/warning output in 4.8 2012-11-07T16:33:11 clang forced them to improve 2012-11-07T16:33:12 LLVM is such an awesome project. I've written several backends for it 2012-11-07T16:34:04 little hobby of mine. Design microcontrollers on FPGAs and port LLVM to them 2012-11-07T16:34:30 uuoo 2012-11-07T16:34:31 So I can write c++11 code and run it on my own little chip! 2012-11-07T16:34:33 a low level guy 2012-11-07T16:34:37 i better stay away 2012-11-07T16:34:58 mcstar: go write some forth 2012-11-07T16:34:59 :P 2012-11-07T16:35:03 jesus 2012-11-07T16:35:12 what a headache that language would give to me 2012-11-07T16:35:26 words are obviously the correct abstraction level 2012-11-07T16:35:40 haha 2012-11-07T16:35:41 tsc: now offense inteded 2012-11-07T16:35:56 mcstar: linus mentioned how he started programming in a talk he gave, it's quite funny 2012-11-07T16:36:01 None taken, I prefer easy to read languages 2012-11-07T16:36:06 he didn't have an assembler, so he started coding in machine code 2012-11-07T16:36:11 he used an intel book as a reference 2012-11-07T16:36:26 o_O 2012-11-07T16:36:37 poor kid 2012-11-07T16:36:46 thestinger: why is that funny? 2012-11-07T16:36:49 he wrote himself an assembler though, don't feel too bad 2012-11-07T16:36:51 I guess that's one way to get into programming 2012-11-07T16:36:58 mcstar: because... he wrote in machine code. 2012-11-07T16:37:06 that must have sucked 2012-11-07T16:37:12 Imagine writing a compiler using a hex editor 2012-11-07T16:37:23 Or assembler whatever you want to call it. 2012-11-07T16:37:26 thestinger: but he had a reference? 2012-11-07T16:37:35 and he programmed on 1 architecture 2012-11-07T16:37:37 mcstar: yes, a reference to say what the numbers meant 2012-11-07T16:37:49 but he coded in fucking binary :P 2012-11-07T16:37:52 yeah, but you can immediately give names to numbers 2012-11-07T16:38:02 no you can't really 2012-11-07T16:38:05 why? 2012-11-07T16:38:09 you know nothing about asm :-( 2012-11-07T16:38:11 You should try coding x86 assembly in a hex editor. 2012-11-07T16:38:14 because he was writing in opcodes 2012-11-07T16:38:21 not in a language like x86 assembly 2012-11-07T16:38:28 they have different lengths 2012-11-07T16:38:28 x86 has the most retarded binary structure of the instructions 2012-11-07T16:38:37 i still dont understand 2012-11-07T16:38:43 just give things names 2012-11-07T16:38:48 even the same instruction may change if you use a value >= 16-bit versus one below 2012-11-07T16:38:54 mcstar: assembly compiles to opcodes, just bits of binary 2012-11-07T16:38:57 he didn't have an assembler 2012-11-07T16:38:59 and write a sort of textual substitution language 2012-11-07T16:39:05 mcstar: he did - he wrote an assembler. 2012-11-07T16:39:09 great 2012-11-07T16:39:14 whats the problem? 2012-11-07T16:39:36 x86 instructions are variable length and very hard to decipher/assemble manually 2012-11-07T16:39:49 what did he write his assembler in? 2012-11-07T16:39:49 Now if it was PowerPC, it'd be a different story. That's entirely possible 2012-11-07T16:39:55 mcstar: raw opcodes 2012-11-07T16:40:02 in a hex editor, I assume 2012-11-07T16:40:04 are you sure? 2012-11-07T16:40:05 I hope 2012-11-07T16:40:06 yes 2012-11-07T16:40:13 crazy bastard 2012-11-07T16:40:19 XD 2012-11-07T16:40:23 he probably didn't have a great text editor either 2012-11-07T16:40:34 he had no internet access ofc 2012-11-07T16:40:46 im sure he used emacs for dos edition 2012-11-07T16:40:50 XD 2012-11-07T16:41:05 (yes, im kidding) 2012-11-07T16:41:26 my crappy cache works 2012-11-07T16:41:32 also, i dont really understand 2012-11-07T16:41:34 hurray 2012-11-07T16:41:37 what os did he use? 2012-11-07T16:41:53 when was this? dos most likely? 2012-11-07T16:41:57 and really, why would he write anything in 'opcodes'? 2012-11-07T16:42:20 mcstar: because he couldn't afford an assembler 2012-11-07T16:42:22 he was a kid 2012-11-07T16:42:23 why not write an assembler in a high level language, like basic? 2012-11-07T16:42:24 because he can and people will forever talk about him 2012-11-07T16:42:32 mcstar: because basic didn't exist 2012-11-07T16:42:36 noway 2012-11-07T16:42:41 when was this? 2012-11-07T16:42:49 basic is crazy old 2012-11-07T16:42:51 oh I guess basic existed 2012-11-07T16:42:53 basic was on those early IBM computers' BIOSes, right? 2012-11-07T16:42:54 1985 if i had to guess? 2012-11-07T16:42:55 but he didn't have a compiler at all 2012-11-07T16:43:04 *random guess* 2012-11-07T16:43:04 mcstar: you had to buy this stuff 2012-11-07T16:43:10 mcstar: this was before GNU 2012-11-07T16:43:17 what kind of computer did he use then? 2012-11-07T16:43:18 tsc: well this was when he was a kid, not while he was a uni student 2012-11-07T16:43:23 that requires no money... 2012-11-07T16:43:33 mcstar: well his parents bought him some computer... 2012-11-07T16:43:35 thestinger: So uh how old is he? 2012-11-07T16:43:36 ok, i get it 2012-11-07T16:43:40 tsc: dunno 2012-11-07T16:43:47 it must have been like, when i built an oscilloscope from a TV 2012-11-07T16:43:56 he is full of shit 2012-11-07T16:43:56 lol 2012-11-07T16:44:04 born in 1969 2012-11-07T16:44:04 Possibly. :p 2012-11-07T16:44:33 Though I imagine it is possible to build a rudimentary assembler using a hex editor, and work from there 2012-11-07T16:44:36 thestinger: im sure that computer had basic 2012-11-07T16:44:38 Even in x86... 2012-11-07T16:44:45 tsc: well he did, he never wrote a real compiler 2012-11-07T16:44:59 mcstar: it didn't. 2012-11-07T16:45:05 I don't think he's a liar 2012-11-07T16:45:57 Commodore VIC-20 2012-11-07T16:45:58 It would be a bitch to patch up all those jumps manually though.... 2012-11-07T16:46:22 actually, in highschool i had a book on commodore 2012-11-07T16:46:28 it is quite easy to program 2012-11-07T16:46:41 i forgot everything i read from it 2012-11-07T16:46:41 I guess you could do mov eax, $someaddress ; jmp eax 2012-11-07T16:46:44 but it fascinated me 2012-11-07T16:46:46 instead of jmp $someaddress 2012-11-07T16:46:49 that would make it much much easier 2012-11-07T16:47:07 since jmp instructions are instruction address relative 2012-11-07T16:47:24 except jmp to register of course 2012-11-07T16:47:35 A young Linus Torvalds, the eventual creator of Linux, was given a VIC-20 as his first computer 2012-11-07T16:47:48 it had basic 2012-11-07T16:48:10 Don't spoil the fantasy :( 2012-11-07T16:48:13 well he still wrote his own assembler, and claims he didn't have one 2012-11-07T16:48:23 and claims he wrote it in machine code 2012-11-07T16:48:25 ROM-resident BASIC interpreter 2012-11-07T16:48:44 * thestinger shrugs 2012-11-07T16:48:50 So he could have written an assembler in basic then 2012-11-07T16:49:10 also, these things were really really simplictic 2012-11-07T16:49:25 im not saying he didnt do great 2012-11-07T16:49:46 well it wasn't supposed to be something "great" he did 2012-11-07T16:49:54 ok 2012-11-07T16:50:28 it's supposed to be funny, it got the audience to laugh at least - and I believe the story 2012-11-07T16:51:22 I can believe someone is too stubborn to not reinvent the wheel themselves in the hardest way possible, because they don't want to pay for an assembler or write it the easy way 2012-11-07T16:51:51 thestinger: what i dont understand, is the intel manual? 2012-11-07T16:52:05 It was lying around? 2012-11-07T16:52:27 it used a motorola chip.. 2012-11-07T16:52:33 How old is intel? 2012-11-07T16:52:49 That thing wasn't even running x86, was it 2012-11-07T16:52:54 *** meth has joined #aichallenge 2012-11-07T16:52:55 mcstar: no he doesn't specify 'intel manual', he said 'reference' and I assumed 2012-11-07T16:53:05 and I was wrong 2012-11-07T16:53:11 he's older than I thought he was 2012-11-07T16:53:11 Shame on you! 2012-11-07T16:53:17 *** meth is now known as Guest92944 2012-11-07T16:53:23 he is around 40 2012-11-07T16:53:27 little over, i think 2012-11-07T16:53:51 *** Guest92944 has quit IRC (Client Quit) 2012-11-07T16:54:26 intel founded July 18, 1968 2012-11-07T16:54:39 @google calc age linus 2012-11-07T16:54:40 thestinger: Linus Torvalds - Wikipedia, the free encyclopedia 2012-11-07T16:54:44 useless bot 2012-11-07T16:54:47 @google calc 1 + 1 2012-11-07T16:54:48 thestinger: 1 + 1 = 2 2012-11-07T16:54:51 Oh, old company 2012-11-07T16:55:08 but they used to make chipsets and memory, didn't they? 2012-11-07T16:55:18 idk, idc that much XD 2012-11-07T16:55:31 "Intel was an early developer of SRAM and DRAM memory chips, and this represented the majority of its business until 1981." 2012-11-07T16:55:33 yeah 2012-11-07T16:56:37 Do they still make them? :) 2012-11-07T16:57:07 well they make SSDs now :P 2012-11-07T16:57:38 oh cpu caches are sram 2012-11-07T16:58:45 *** coeus has joined #aichallenge 2012-11-07T17:00:59 my mommy sais cpu caches are fast 2012-11-07T17:01:51 I can tell from experience they are faster than USB 2012-11-07T17:01:52 there is some paradigm shift in systems programming towards making algorithms cache efficient rather than 'fast' in the common sense 2012-11-07T17:01:56 *** coeus has quit IRC (Client Quit) 2012-11-07T17:02:08 *** coeus has joined #aichallenge 2012-11-07T17:02:09 *** sigh has joined #aichallenge 2012-11-07T17:02:17 amd and intel have on-die gpus that share the l3 cache with the cpu now too 2012-11-07T17:02:34 mleise: this is true. Making code run effectively on complicated chips can naturally get quite complicated 2012-11-07T17:02:37 my laptop with IVB integrated graphics is 5x-10x faster than my high end discrete gpu at 2d. 2012-11-07T17:02:48 ofc it's like 2000x slower at 3d... 2012-11-07T17:03:16 hehe, I almost hoped that animated meshes would benefit a lot from this L3 sharing 2012-11-07T17:03:31 well amd has actual radeon gpus on-die now 2012-11-07T17:03:37 intel just has to catch up more 2012-11-07T17:04:03 they only have 16 gpu cores, the next generation (haswell) has 40 2012-11-07T17:04:05 on-die gpus that share the l3 cache is quite interesting, since gpu access to main memory is typically quite slow 2012-11-07T17:08:33 *** mleise1 has joined #aichallenge 2012-11-07T17:08:41 *** SJRvanSchaik has joined #aichallenge 2012-11-07T17:09:15 *** bqf_ has joined #aichallenge 2012-11-07T17:09:58 *** mleise has quit IRC (Ping timeout: 264 seconds) 2012-11-07T17:09:59 *** SJRvanSc1aik has quit IRC (Ping timeout: 264 seconds) 2012-11-07T17:09:59 *** bqf has quit IRC (Ping timeout: 264 seconds) 2012-11-07T17:15:39 how big is l3? 2012-11-07T17:15:44 1-2GB? 2012-11-07T17:15:46 no 2012-11-07T17:16:06 memory manufacturers are pussies 2012-11-07T17:16:25 not just them 2012-11-07T17:17:57 i have ambivalent feelings about computer-human interfaces 2012-11-07T17:18:13 on one hand, im wishing for true VR 2012-11-07T17:18:23 it can help with a lot of stuff 2012-11-07T17:18:29 but on the other hand 2012-11-07T17:18:43 i would be addicted to it, and play games my whole life 2012-11-07T17:18:58 id play SWAT games in VR 2012-11-07T17:19:15 or, some kinf of Run for Your Life kind of games 2012-11-07T17:19:31 id play all my favorite science fiction stories... 2012-11-07T17:19:37 not jut them 2012-11-07T17:19:49 id actually play 1920's mob stories too 2012-11-07T17:19:57 or private detective stories 2012-11-07T17:20:17 i always enjoyed those holodeck stories, when pickard played Dick's role 2012-11-07T17:20:30 picard, i know, no k 2012-11-07T17:21:14 now im a bit afraid, that i wont live to see such a VR game 2012-11-07T17:22:36 Private Dick, how funny 2012-11-07T17:24:17 http://www.startrek.com/legacy_media/images/200303/tng-113-data-and-picard-in-the/320x240.jpg 2012-11-07T17:24:24 dont they look slick? 2012-11-07T17:25:19 *** sigh has quit IRC (Remote host closed the connection) 2012-11-07T17:25:52 then, id play my life 2012-11-07T17:25:55 ' 2012-11-07T17:26:10 how would your own life turned out, if you didnt like this kind of shit' 2012-11-07T17:26:34 'what if, you had gone outside, and met real people' 2012-11-07T17:29:27 I can smell... the Matrix 2012-11-07T17:34:17 what a great movie 2012-11-07T17:34:35 also, you could smell the thirteenth floor too 2012-11-07T17:34:48 or, there was many such stories 2012-11-07T17:34:51 were* 2012-11-07T17:35:35 i wonder how my life would have turned out 2012-11-07T17:35:49 if i understood Blade Runner at highschool 2012-11-07T17:36:21 i was attenting a, how should i say, course, that dealt with motion and still pictures, journalism 2012-11-07T17:36:52 and they showed us blade runner once 2012-11-07T17:37:04 i found it to be absolutely terrible 2012-11-07T17:37:09 it was dubbed, also 2012-11-07T17:37:30 and i was very anxious to get on the bus and get home, didnt pay much attention to the movie 2012-11-07T17:37:37 i later rediscovered it 2012-11-07T17:37:52 needless to say, it is my 2nd favorite movie, probably 2012-11-07T17:41:40 monologue 2012-11-07T17:42:22 *** Scooper has quit IRC (Quit: Leaving) 2012-11-07T17:43:13 i dont have a diary, so.. 2012-11-07T17:43:24 im lactose intolerant 2012-11-07T17:50:25 *** iglo has quit IRC (Remote host closed the connection) 2012-11-07T17:52:11 problems with the server? 2012-11-07T17:52:15 game doesnt start 2012-11-07T17:57:02 *** ramn[mba] has joined #aichallenge 2012-11-07T17:57:54 which server? might just be no bots playing 2012-11-07T17:58:12 I connected 2 bots 2012-11-07T17:58:22 saw them get some commands, 2012-11-07T17:58:23 ready 2012-11-07T17:58:48 ants or tron? 2012-11-07T17:58:51 ants 2012-11-07T17:59:21 I'm playing ants on port 2081 right now 2012-11-07T17:59:31 and my bot is crashing, haah 2012-11-07T17:59:43 ok I went on 2085 noob server 2012-11-07T18:00:12 visual studio crashed too when i tried to debug it 2012-11-07T18:00:23 think my computer might just be fucked 2012-11-07T18:01:15 c# bot? 2012-11-07T18:01:32 so there's at least 2 in here running windows! 2012-11-07T18:02:04 c++ 2012-11-07T18:02:37 Yeah, I run Windows workstation 2012-11-07T18:05:39 I do run linux in vmware and X server on windows (XMing) however 2012-11-07T18:06:25 why that way around? 2012-11-07T18:07:07 Well, only need linux for the shell, and I like KDE's Konsole 2012-11-07T18:07:35 Don't really need it that often either, but good to have 2012-11-07T18:08:03 I only needed Windows for games, 2012-11-07T18:08:05 but not anymore really 2012-11-07T18:09:00 Meh, I find Windows to work better as a workstation for pretty much anything 2012-11-07T18:09:06 ok! 2012-11-07T18:09:24 I live my life between the terminal and firefox 2012-11-07T18:09:37 windows has one of those 2012-11-07T18:09:53 Yeah, I run alot of windows apps 2012-11-07T18:10:01 *** antimatroidl1 has quit IRC (Quit: Leaving.) 2012-11-07T18:10:10 ok, besides VS and games? 2012-11-07T18:10:15 And if I need a linux console, I have a few linux VPS' and such in addition to vmware 2012-11-07T18:11:12 uhm, ida pro? :) 2012-11-07T18:12:54 Aren't most graphical software primarily developed for windows? 2012-11-07T18:13:10 dunno never use them 2012-11-07T18:13:16 don't know what exists out there 2012-11-07T18:13:47 graphical software? 2012-11-07T18:13:49 ida pro seems to exist for linux 2012-11-07T18:14:03 Yeah, but I beleive the GUI is windows only 2012-11-07T18:14:33 erything is developed for everything 2012-11-07T18:14:52 Well that's just not true :p 2012-11-07T18:15:00 but there are some high-qulity end user applications that are osx and windows only 2012-11-07T18:15:32 Everything I need Linux for, I can do in a terminal 2012-11-07T18:15:47 its not like linux is bad at gui 2012-11-07T18:15:53 I don't need to run a Linux workstation just for the terminal 2012-11-07T18:15:57 if you have such a misconception, thats too bad 2012-11-07T18:16:43 im much happier under linux with a minimalistic tiling wm setup, than i ever was on windows or osx 2012-11-07T18:16:57 it just gets out of your way 2012-11-07T18:17:00 I run blackbox on windows btw 2012-11-07T18:17:21 Not the standard taskbar and uhm stuff 2012-11-07T18:17:42 I love KDE 4 2012-11-07T18:18:06 Used that for a while 2012-11-07T18:18:50 I dunno, I feel like I can do anything with my current setup so I'm happy :p 2012-11-07T18:21:28 My preferred Linux distro is also Gentoo. JFYI :) 2012-11-07T18:25:13 window manager was the word i was looking for 2012-11-07T18:25:18 words* 2012-11-07T18:26:35 what, who said Gentoo? 2012-11-07T18:26:54 ssssh, it is his window manager 2012-11-07T18:26:59 *raises hand*? 2012-11-07T18:27:10 I maintain an ebuild for D on Gentoo, so its very easy to try out the language there. 2012-11-07T18:27:17 It is in the sunrise overlay 2012-11-07T18:27:41 *** mleise1 is now known as mleise 2012-11-07T18:28:23 Doesn't gcc compile D? or something >.< 2012-11-07T18:28:46 tsc: It will, but the earliest will be some 4.8 release 2012-11-07T18:29:02 mleise: Oh, I see. 2012-11-07T18:29:18 mleise: what is the preferred window manager and music player, that works best with D? also, what kind of shoes go well with it? 2012-11-07T18:29:26 for now you have to manually clone a git repo and follow manual steps that are not 100% fail safe 2012-11-07T18:30:02 :) 2012-11-07T18:30:03 whats the state of the D garbage collector 2012-11-07T18:30:04 that said, I use GCC to compile D, but I use a script to update it 2012-11-07T18:30:34 garbage co... oh my connection is pretty ...ad.. can. ere.... 2012-11-07T18:30:49 D: 2012-11-07T18:31:17 *** mleise has quit IRC (Read error: Connection reset by peer) 2012-11-07T18:31:26 *** mleise has joined #aichallenge 2012-11-07T18:31:48 I feel so stupid after running 'qsearch d' 2012-11-07T18:32:16 http://gdcproject.org/wiki/Installation 2012-11-07T18:32:38 hehe, listed quite a few packages, didn't it ? 2012-11-07T18:32:46 *** yoden has joined #aichallenge 2012-11-07T18:32:56 layman -a sunrise; emerge dmd 2012-11-07T18:33:21 dev-lang/dmd-bin Digital Mars D Compiler 2012-11-07T18:33:24 aha, I found one 2012-11-07T18:33:44 that may be the old one in the tree 2012-11-07T18:33:57 you should go for 2.060 2012-11-07T18:34:27 dmd-bin-2.008-r1 2012-11-07T18:34:44 O.o ... that's _very_ old 2012-11-07T18:34:58 even older than the one in the defunct d-overlay 2012-11-07T18:35:12 that's even a 32 bit x86 binary package 2012-11-07T18:35:24 there is even a dmd-bin-1.016 :p 2012-11-07T18:35:36 *** antimatroidl has joined #aichallenge 2012-11-07T18:36:03 Wonderful :D. They should clean that up. Add the sunrise overlay, it is in there. 2012-11-07T18:36:30 welllll... I'm not gonna be arsed with it anyways, sorry :P 2012-11-07T18:36:52 D is too short a name for a programming language 2012-11-07T18:36:59 makes it impossible to search 2012-11-07T18:37:29 that's true, we decided to search for d-programming 2012-11-07T18:37:43 that's arguably long enough... 2012-11-07T18:37:50 d-lang is saner 2012-11-07T18:37:59 or dee! 2012-11-07T18:38:02 nowadays everything is named that way 2012-11-07T18:38:07 hmm let's see what gets more hits 2012-11-07T18:38:19 it should be deeeeeee 2012-11-07T18:38:51 d-lang has to many false positives with people's names 2012-11-07T18:39:29 hey, that language sort of looks like c 2012-11-07T18:39:41 maybe the similiar name isn't just a coincidence after all... 2012-11-07T18:39:59 yes, it is very easy to fall addict when you know C++ 2012-11-07T18:40:25 it offers built-in dynamic arrays and hashes 2012-11-07T18:40:45 heh you convinced him? :P 2012-11-07T18:40:47 *** ramn[mba] has quit IRC (Quit: ramn[mba]) 2012-11-07T18:41:03 thestinger: wait a sec, this is the critical moment 2012-11-07T18:41:41 mleise: I'll take a look at it sometime, but no promises right now :) 2012-11-07T18:42:40 mleise: D is a nice language, I'll give you that :) 2012-11-07T18:42:41 there are many rainy weekends in autumn 2012-11-07T18:43:28 It compiles to native code, right? 2012-11-07T18:43:44 yes 2012-11-07T18:44:08 The critical aspect for me is the assembly code that is generated :p 2012-11-07T18:44:22 similar performance to idiomatic C++, except for the fact that it requires gc if you actually use the library :P 2012-11-07T18:44:39 what do you want the assembly to look like ? 2012-11-07T18:44:45 ponies 2012-11-07T18:44:52 Pink ones 2012-11-07T18:45:12 Does it have determinism like c++? 2012-11-07T18:45:20 Scoped destructors and such 2012-11-07T18:45:29 for structs on the stack 2012-11-07T18:46:05 That's one thing I dislike about garbage collected languages, that they're not deterministic like so 2012-11-07T18:46:06 and you can call clear to invoke the destructor of objects, but not the GC 2012-11-07T18:46:44 That said there is GC.free(...) to forcefully free some memory block 2012-11-07T18:48:01 *** antimatroidl has quit IRC (Quit: Leaving.) 2012-11-07T18:48:17 The specifics of the garbage collection algorithm is also interesting, but I can probably read up on that 2012-11-07T18:49:10 I think I'm gonna go work on my Starcraft brood war ai... I think I almost got it to make workers. Major breakthrough. 2012-11-07T18:50:40 tsc: well GC.free() is really just that. it doesn't run any GC algorithm. good luck with your AI. it's probably challenging with so many different units 2012-11-07T18:52:14 mleise: no mark and sweep or anything? no reference counting or something? How does it determine which objects are unreachable? 2012-11-07T18:53:04 tsc: it uses a standard gc for dynamically allocated stuff 2012-11-07T18:53:04 mark and sweep, and free just frees that one block. I assume you thought it would initiate the whole collection cycle 2012-11-07T18:53:17 *** dici has quit IRC (Read error: Connection reset by peer) 2012-11-07T18:54:33 afaik D itself doesn't require gc, it's just the standard library that ends up making it required 2012-11-07T18:55:03 thestinger: that is correct, then again new Object() can be considered part of the language 2012-11-07T18:55:10 I see, I see 2012-11-07T18:55:17 and I assume you can just return-by-value and avoid dynamic allocations 99% of the time (as with C++) 2012-11-07T18:55:58 sure we use classes when we need polymorphism and structs for everything else. 2012-11-07T18:56:35 mleise: so is there an equivalent to move semantics and unique_ptr? 2012-11-07T18:56:36 with "alias ... this" it is even possible to extend structs like classes 2012-11-07T18:57:07 I don't know, I'm not so familiar with those topics 2012-11-07T19:00:56 well for D's objects it's not relevant since those are always COW references afaict 2012-11-07T19:04:18 they are like Java references if that is what you mean 2012-11-07T19:04:22 yeah 2012-11-07T19:04:32 and python's objects 2012-11-07T19:04:37 everything is usually a reference into GC heap 2012-11-07T19:05:05 thus there are no owners 2012-11-07T19:05:14 ah 2012-11-07T19:05:27 unique_ptr is basically the concept of an owner, for heap memory 2012-11-07T19:06:50 and moves are just shallow copies with the references to resources moved too 2012-11-07T19:07:38 maybe this is what you look for ? http://dlang.org/phobos/std_typecons.html#Unique 2012-11-07T19:07:55 yeah, that 2012-11-07T19:08:00 I wonder why I never felt a need for it 2012-11-07T19:08:04 because of gc :P 2012-11-07T19:08:33 and also because D libraries are going to already implement destructors for resources 2012-11-07T19:08:58 even before that in C++ 2012-11-07T19:09:04 and because D has scope guards built-in 2012-11-07T19:09:06 or Delphi 2012-11-07T19:09:24 mleise: well you can just use value copy/move semantics 99% of the time 2012-11-07T19:09:30 you can just return a value and it gets moved 2012-11-07T19:10:43 rust has stack-allocated variables, and then ~ (unique), @ (shared - refcounting) and & (lightweight refs) 2012-11-07T19:11:07 which is basically just ideas taken from C++11/boost, and turned into a memory-safe subset 2012-11-07T19:11:32 except rust will use a per-task cycle collector for @ stuff 2012-11-07T19:11:35 which is gc 2012-11-07T19:12:29 anyway I've never needed shared_ptrs or similar for anything other than GUI toolkits 2012-11-07T19:12:40 * thestinger shrugs 2012-11-07T19:13:24 alright, so they are really for corner cases in a GC language 2012-11-07T19:13:33 yeah 2012-11-07T19:13:40 and shared_ptr is even just for corner cases in C++ 2012-11-07T19:13:58 GC won't really be any more costly than what shared_ptr does. 2012-11-07T19:14:35 what I find a bit annoying is that to allocate an object on the stack in D you have to write: auto obj = scoped!Object(); 2012-11-07T19:15:48 LLVM has some cool optimization though that turns new Object() into a stack allocation if the reference doesn't escape 2012-11-07T19:16:24 a rare example of the "sufficiently smart compiler" 2012-11-07T19:18:24 think they call that escape analysis 2012-11-07T19:18:35 http://li414-97.members.linode.com:2080/ down? 2012-11-07T19:18:40 Go has a really, really crappy implementation of it which is why it's slower than java :P 2012-11-07T19:19:19 jvm ends up using the stack more than go 2012-11-07T19:19:38 well, Java _is_ a milestone in the history of fast byte-code languages 2012-11-07T19:19:44 luajit :) 2012-11-07T19:20:21 +1 for luajit 2012-11-07T19:20:38 * thestinger likes how rust does the allocation stuff :P 2012-11-07T19:20:47 if only it was more mature :( 2012-11-07T19:20:52 * mleise agrees silently 2012-11-07T19:21:36 they made a clear distinction that hopefully helps more than it harms 2012-11-07T19:21:44 [1, 2, 3] (stack allocated), &[1, 2, 3] (stack allocated, but you're given a reference), ~[1, 2, 3] (heap, unique ownership), @[1, 2, 3] (shared - with refcounting/gc) 2012-11-07T19:21:50 it could also make working with generic code harder, I don't know 2012-11-07T19:21:58 mleise: well it has less distinction than C++ - where you have all those but also raw pointers 2012-11-07T19:22:45 Whoever posted this link yesterday or whenever it was - http://www.youtube.com/watch?v=inwAc-ZBpx0&feature=related - I've been listening to it on repeat since 2012-11-07T19:23:01 Unsure if that's good or bad 2012-11-07T19:24:22 Accoun: Looks like it's down, yes. Or very slow to respond 2012-11-07T19:27:34 mleise: also in C++ you can end up with dangling refs, have to think about all the ownership stuff yourself 2012-11-07T19:27:41 it has mental overhead 2012-11-07T19:27:52 rust won't compile a program that could have a dangling/null ptr 2012-11-07T19:28:03 +1 for that 2012-11-07T19:28:31 will be a long time before it's as mature as D though 2012-11-07T19:28:33 afaict 2012-11-07T19:28:51 they are writing servo in it, so at least they have real-world feedback already 2012-11-07T19:29:07 It does have some payed programmers/designers though, right? 2012-11-07T19:29:18 yes 2012-11-07T19:29:51 mleise: well it was originally a pet project, maybe for a master's thesis? 2012-11-07T19:30:02 it's been around a few years, but was 1 person playing with ideas 2012-11-07T19:30:16 it became an actual serious mozilla project not too long ago 2012-11-07T19:32:24 tsc: im glad you like it 2012-11-07T19:33:50 mleise: https://github.com/mozilla-servo the assorted projects 2012-11-07T19:34:00 tsc: the american version's clip is different 2012-11-07T19:34:06 maybe it is better, check it out 2012-11-07T19:34:12 oh rust itself isn't listed there :P 2012-11-07T19:34:44 or servo... 2012-11-07T19:34:47 wat 2012-11-07T19:34:48 gn 2012-11-07T19:34:52 *** mcstar has quit IRC (Quit: mcstar) 2012-11-07T19:35:10 * thestinger shrugs 2012-11-07T19:35:54 hehe, what am I supposed to do with that list. Read all the source code ;) 2012-11-07T19:37:01 mleise: well it gives you an idea of the activity 2012-11-07T19:37:19 https://github.com/mozilla/rust https://github.com/mozilla/servo are the main ones 2012-11-07T19:37:31 they don't really work in the servo repo though, because they need to write libraries first 2012-11-07T19:37:33 a lot of that are bindings 2012-11-07T19:39:06 953 bugs! 2012-11-07T19:39:12 :) 2012-11-07T19:39:57 if tag == ~"a" 2012-11-07T19:40:41 you can write "foo" == ~"bar" so... 2012-11-07T19:40:48 not sure why they used ~ there 2012-11-07T19:41:15 but they bikeshedded that stuff 100 times 2012-11-07T19:41:23 for a while you couldn't write [1,2,3] 2012-11-07T19:41:57 same story in D. for a loooong while now [1,2,3] allocates on the heap 2012-11-07T19:42:07 I don't know if that got fixed recently 2012-11-07T19:42:30 omg someone is screaming and shouting outside 2012-11-07T19:42:33 rust is at the stage where they can just break compatibility though 2012-11-07T19:42:37 mleise: here too :0 2012-11-07T19:42:42 except I think it's the neighbours 2012-11-07T19:43:17 mleise: what they did is *ban* [1,2,3] for a while, and then added the new meaning where it's a stack-allocated array 2012-11-07T19:43:42 and it was from 0.2 -> 0.3 (banned) -> 0.4 (fixed) 2012-11-07T19:44:10 haha, they'll have their bikeshedding when someone calls for a stabilization of the language 2012-11-07T19:44:30 they moved a lot towards that with 0.4 2012-11-07T19:44:37 I don't think they'll reinvent the entire type system again :) 2012-11-07T19:44:45 i see that every day. "if we don't fix that now, it will be a wart forever", "if we change it, it will piss of people who rely on it" 2012-11-07T19:44:54 yeah 2012-11-07T19:45:04 they're the only people using it though at this point 2012-11-07T19:45:18 beyond random people trying it for fun 2012-11-07T19:47:01 I can imagine how mad someone relying on a language would be if the type system totally changed 2012-11-07T19:47:15 sure, they exist. the best live D projects I've seen so far (e.g. public, not corporate internal) are: http://vibed.org/ and http://charged-miners.com/ 2012-11-07T19:47:30 mleise: I meant no one is using rust yet 2012-11-07T19:47:37 people do use D - they have to worry about compatibility 2012-11-07T19:48:01 ah screw those and gain twice as many users tomorrow! 2012-11-07T19:48:33 exactly 2012-11-07T19:48:43 ruby and python will be like perl in 10 years 2012-11-07T19:49:04 C is special, because of C APIs 2012-11-07T19:49:17 other languages have to evolve or die :P 2012-11-07T19:49:36 it has an easy time. like LISP for that matter. it has that bare minimum feeling. 2012-11-07T19:50:36 maybe that's what makes many successful languages. Java was also simple in a way. 2012-11-07T19:52:17 yeah but java people are desperate to escape to scala/clojure/* 2012-11-07T19:52:45 C++ was/is successful too, and it's far from simple :P 2012-11-07T19:53:10 usage went down because of java/C# but now microsoft is pushing C++ again 2012-11-07T19:53:42 The success of C++ is a mystery to me :) 2012-11-07T19:54:08 maybe OOP was all the fuzz back then 2012-11-07T19:54:46 and people were mostly used to C 2012-11-07T19:56:49 well C++ is all about 'pay for what you use' 2012-11-07T19:56:56 which appeals to the video game industry a lot 2012-11-07T19:58:04 *** amstan has quit IRC (Ping timeout: 268 seconds) 2012-11-07T20:14:06 *** mleise has quit IRC (Ping timeout: 252 seconds) 2012-11-07T20:37:32 *** mleise has joined #aichallenge 2012-11-07T20:40:39 Damn, my flow water heater doesn't work anymore 2012-11-07T21:00:52 *** mleise has quit IRC (Ping timeout: 256 seconds) 2012-11-07T21:01:27 *** amstan has joined #aichallenge 2012-11-07T21:01:27 *** ChanServ sets mode: +o amstan 2012-11-07T21:06:56 *** mleise has joined #aichallenge 2012-11-07T21:20:51 *** smiley1983 has joined #aichallenge 2012-11-07T21:25:10 *** tsc has quit IRC (Ping timeout: 245 seconds) 2012-11-07T21:25:10 *** elGringo has quit IRC (Ping timeout: 245 seconds) 2012-11-07T21:29:20 *** Cyndre has quit IRC (Ping timeout: 268 seconds) 2012-11-07T21:42:12 *** thestinger has quit IRC (Ping timeout: 246 seconds) 2012-11-07T21:45:44 *** antimatroidl has joined #aichallenge 2012-11-07T21:58:53 *** smiley1983 has quit IRC (Ping timeout: 264 seconds) 2012-11-07T21:59:37 *** smiley1983 has joined #aichallenge 2012-11-07T22:06:30 *** sevikkk has quit IRC (Ping timeout: 260 seconds) 2012-11-07T22:11:09 *** sevikkk has joined #aichallenge 2012-11-07T22:24:30 *** thestinger has joined #aichallenge 2012-11-07T22:33:55 *** cyphase has joined #aichallenge 2012-11-07T22:37:22 *** smiley1983 has quit IRC (Ping timeout: 240 seconds) 2012-11-07T22:38:27 *** smiley1983 has joined #aichallenge 2012-11-07T22:43:43 *** smiley1983 has quit IRC (Ping timeout: 246 seconds) 2012-11-07T22:44:42 *** smiley1983 has joined #aichallenge 2012-11-07T22:52:07 *** smiley1983 has quit IRC (Ping timeout: 246 seconds) 2012-11-07T22:52:57 *** smiley1983 has joined #aichallenge 2012-11-07T23:20:53 *** smiley1983 has quit IRC (Ping timeout: 260 seconds) 2012-11-07T23:21:38 *** smiley1983 has joined #aichallenge 2012-11-07T23:27:00 *** smiley1983 has quit IRC (Ping timeout: 255 seconds) 2012-11-07T23:59:32 *** yoden has quit IRC (Read error: Connection reset by peer)