[15:53] <LB> anyone know of an object good at letting you make nested structures?[16:04] <Jacob> There really isn't one[16:04] <Jacob> other than Tree Control[16:05] <LB> and you can't really attacch much information to each item in the tree[16:05] <Jacob> Looki get on it[16:06] <Jacob> Nested Data extension[16:06] <LB> lol I was going to make it[16:06] <LB> to compliment Format Object[16:06] <LB> which supports nesting a bit[16:06] <LB> but it's all for saving and loading files[16:06] <LB> not for representing it at memory[16:07] <Jacob> Internal Tree object?[16:07] <Jacob> could work[16:08] Jacob is now watching Final Destination
[16:09] <LB> Node Structure Object, Jacob?[16:09] <LB> NSO[16:09] <Jacob> Hmm[16:09] <Jacob> I think the nesting part is important[16:09] <Jacob> It should have Nested in the title[16:09] <LB> it'll support recursive nesting[16:10] <LB> how about[16:10] <LB> Nested Node Object?[16:10] <Jacob> Yeah[16:10] <LB> k[16:10] <Jacob> or Nested Data or Nested List[16:10] <Jacob> not List actually, if the nodes can have data attached[16:10] <Jacob> attributes[16:11] <LB> Nested Data Node?[16:11] <Jacob> That sounds like a single node[16:11] <LB> and Nested Node doesn't?[16:11] <Jacob> Nested Node Object doesn't[16:11] <LB> Nested Data Node Object[16:11] <Jacob> But Nested Data Node Object is too long[16:12] <LB> Structured Data Object[16:12] <LB> SDO[16:12] <Jacob> Sounds good[16:14] LB begins coding
[16:14] <Jacob> Are you done yet?[16:15] <LB> no[16:15] <Jacob> I expected better from you u_ u[16:16] <LB> what are you working on, jacob?[16:16] <Jacob> Nothing[16:16] <Jacob> I quit everything[16:16] <Jacob> I'm watching a movie[16:16] <LB> I expected better from you[16:16] <Jacob> :P[16:17] Adam has entered the room
[16:17] Adam has left the room
[16:17] Adam has entered the room
[16:18] <Jacob> hi[16:23] Adam has left the room
[16:23] Adam has entered the room
[16:24] <LB> wb Adam[16:27] Adam has left the room
[16:27] Adam has entered the room
[16:32] Adam has left the room
[16:36] Danny has left the room
[16:39] <ProdigyX> hi guys[16:39] <ProdigyX>
[16:40] ColdFire has entered the room
[16:40] ColdFire has left the room
[16:40] <LB> random hello?[16:52] ProdigyX has left the room
[17:18] Burfelt has left the room
[17:18] <LB> Bye, Burfelt!
[17:18] <LB> dang that smiley still isn't fixed[17:18] <LB> Jacob[17:18] <Jacob> not my fault[17:18] <Jacob> I drew them all[17:18] <LB> I thought you said you didn't make it?[17:18] <LB> the D : one?[17:18] <Jacob> I did[17:18] <LB> oh[17:18] <Jacob> Simon didn't get it he said[17:19] <LB> oh[17:19] <LB> Simon[17:27] ProdigyX has entered the room
[17:27] <ProdigyX> pew pew pew[17:27] <ProdigyX> random hellos ftw[17:31] <LB> Jacob[17:31] <LB> http://pastebin.com/gxgKgRcP[17:31] <LB> I'm making progress
[17:33] LB hopes Looki doesn't see >_>
[17:33] <LB> not my best coding[17:33] <Looki> I already have[17:34] <LB> I don't normally use typeid comparisons[17:34] <LB> but when I do, I prefer to hide that fact from you[17:35] <LB> typeid just feels silly in a nonreflective language like C++[17:36] <Looki> yeah[17:38] <LB> so do function pointers and member pointers though :p[17:38] <LB> but I'll take C++ for all its oddness because it's still pretty cool[17:38] <ProdigyX> lol[17:44] ColdFire has entered the room
[17:44] ColdFire has left the room
[17:52] <Looki> what do you mean LB?[17:52] <Looki> function pointers are extremely handy[17:52] <LB> yeah, but they're more of a reflective language feature[17:52] <LB> the ability to pass functions[17:52] <Looki> I disagree[17:53] <LB> ok[17:53] <LB> I use function references anyway[17:53] <LB> same behavior in my case[17:53] <Looki> function references? what's the point of that?[17:53] <Looki> you have to initialize the reference with a function... you can't assign it later[17:54] <LB> yeah[17:54] <LB> free const pointer[17:55] <LB> ofc if I needed to change what function it refererred to I'd use function pointers[17:55] <LB> but in my case function reference is syntactically nice enough[17:55] <Looki> ah[17:56] Looki has left the room
[17:56] Looki has entered the room
[17:56] <LB> wb[17:58] <Looki> ty[17:58] <Jacob> Is there a benefit to declaring a constant rather than a variable other than to make sure it doesn't change ever?[17:59] <Looki> I think it makes most sense when applied to function arguments[17:59] <Looki> to ensure parameters are read-only[17:59] <Jacob> Ah, that makes sense[17:59] <Looki> generally, "const" is a bit of a "completely unnecessary feature" :P[17:59] <Jacob> basically for setting up a framework to code the rest of a project on[17:59] <Looki> just like the private keyword in OOP[18:00] <Jacob> They're private by default?[18:00] <Looki> no, I mean, it's not a crucial feature[18:00] <Jacob> Oh[18:00] <Looki> it helps you structure your code etc.[18:00] <Jacob> Yeah, you could just not reference it from other classes[18:00] <Looki> but it doesn't add anything at all, feature-wise[18:00] <Jacob> but if you have private functions then you should be able to use the same names in different classes[18:00] <Jacob> which could make code more readable[18:00] <Looki> it's pretty counterintuitive sometimes.... people totally overuse "private"[18:00] <Looki> it's really annoying[18:03] <LB> how do people overuse private?[18:03] <ProdigyX> how dont they???[18:03] <ProdigyX> people are too protective[18:03] <ProdigyX> and thats all ima say[18:03] <LB> lol[18:03] <ProdigyX> :I[18:03] <Looki> LB I had to modify the flash sdk's source files to make my new extension work
[18:03] <LB> haha[18:04] <Looki> I needed to access one variable but it was private[18:04] <ProdigyX> ^[18:04] <ProdigyX> variable "X"[18:04] <LB> in Java you can reflectivly access it and set its accesibility to true[18:04] <LB>
[18:04] <ProdigyX> java is java[18:04] Looki has left the room
[18:04] Looki has entered the room
[18:04] <LB> I crashed Looki[18:04] <ProdigyX> lol[18:04] Looki has left the room
[18:04] Looki has entered the room
[18:04] <ProdigyX> he couldnt compute[18:04] <ProdigyX> :3[18:04] <LB> wb[18:05] <ProdigyX> 3rd time's the charm[18:05] <LB> but yeah looki the diea is that private members can change or dissapear[18:06] <LB> other than that[18:06] <LB> you're free to use them if you also don;t care about poor coding style[18:06] <LB>
[18:07] <LB> I make stuff private because it's a helper function[18:07] <LB> most people make stuff private because it actually DOES something[18:10] <ProdigyX> ^[18:10] <ProdigyX> 2+6+42[18:10] liquixcat has entered the room
[18:10] <ProdigyX> ==??[18:10] <ProdigyX> speak of athe devi[18:10] <ProdigyX> devil[18:10] <Looki> 84?[18:10] <LB> Hello, liquixcat[18:10] <ProdigyX> and he shall come[18:10] <Looki> hi[18:10] <ProdigyX> 84 ftl[18:10] <liquixcat> Hey LB[18:10] <liquixcat> hey Looki[18:10] <liquixcat> stfu ProdigyX[18:10] <LB> looki says that private vars are overused[18:10] <LB> I think they're misused[18:11] <ProdigyX> i think both[18:11] <ProdigyX> overly misused[18:11] <liquixcat> lol, private[18:11] <ProdigyX>
[18:11] <Looki> well, yeah[18:11] <Looki> misused is the better word...[18:11] <liquixcat> Or "can't be used"[18:11] <ProdigyX> tomato potato[18:11] <LB> ah[18:11] <liquixcat> xD[18:11] <ProdigyX> potato tomato[18:12] <LB> looki wants to access private vars and only get deprecation warnings in his output[18:12] <LB> becaquse really why should compilation fail if it's only private because it isn't recommended?[18:12] <LB> (I agree here)[18:12] ProdigyX has left the room
[18:12] <Looki> lol[18:12] <Looki> I didn't say that[18:12] <Looki> but I mean[18:12] <LB> that[18:13] <LB> well[18:13] ProdigyX has entered the room
[18:13] <Looki> sometimes you want to access variables that people only made private[18:13] <LB> I'm extrapolating your point beyond what you said[18:13] <liquixcat> Well, because, it defeats the purpose of 'private'[18:13] <LB> the purpose of "private" is to hide implementation details[18:13] <liquixcat> if you want to access...[18:13] <liquixcat> use....[18:13] <liquixcat> public?[18:13] <liquixcat> lol[18:13] <Looki> what?[18:13] <LB> o_O[18:13] <Looki> you know how people release code online?[18:13] <Looki> they call them libraries[18:14] <Looki> they use "private" you know[18:14] <Looki> >_>[18:14] <liquixcat> Probably because they don't want you to access them >_>[18:14] <Looki> sometimes it's really minor stuff[18:14] <Looki> anyway, they can't keep you from doing so[18:14] <Looki> I mean the library is open source, I can just edit the code[18:14] <Looki> or, better yet[18:15] <Looki> I can just have a pointer tothe object, apply the member's offset[18:15] <Looki> read from there[18:15] <Looki> it's not like the memory is actually protected by the computer[18:15] <LB> lol Java is much more complicated[18:15] <LB> you have to .class it[18:15] <Looki> ah, true :P[18:15] <LB> find the field by name[18:15] <liquixcat> Yeah, instead of complaining about the core concept of a variable being unaccessible...being unaccessible...[18:15] <LB> setAccessible(true)[18:15] <liquixcat> true, that DOES make more sense[18:15] <LB> then get the field'[18:15] <Looki> I have no idea what you just said liquixcat[18:16] <LB> me neither[18:16] <liquixcat> you're complaining about the core feature of something using that core feature[18:16] <liquixcat> it's silly...[18:16] <LB> ...[18:16] <liquixcat> ...[18:16] <LB> he's complaining about things being private when they really shouldn't be[18:16] <LB> from a design perspective[18:16] <Looki> ...yeah[18:16] <liquixcat> So blame the developer, not the compilation error[18:16] <Looki> I am!?[18:17] <LB> he is[18:17] <liquixcat> I'm argueing LB then[18:17] <liquixcat> not Looki[18:17] <Looki> he too[18:17] <LB> I said 'private' is often abused[18:17] <LB> you're arguing your imagination
[18:17] <liquixcat> No, you said it shouoldn't throw an error[18:17] <liquixcat> accessing it[18:17] <ProdigyX> :O[18:17] <liquixcat> I say it should[18:17] <ProdigyX> :U[18:17] <ProdigyX> :I[18:17] <ProdigyX> :C[18:18] <ProdigyX>
[18:18] <ProdigyX> : )[18:18] <ProdigyX> [18:18] <LB> it should give a deprecation warning[18:18] <ProdigyX> :¦|[18:18] <liquixcat> And allow you to access it anyways?[18:18] <LB> because it is frowned upon to access private fields[18:18] <LB> yeah[18:18] <LB> you can use deprecated methods right?[18:18] <LB> you just get warned[18:18] <LB> and they still let you use it[18:18] <liquixcat> sure[18:18] <LB> why not private things?[18:18] <LB> just get a warning[18:18] <liquixcat> because too many people will abuse that[18:18] <LB> "hey that's not how it normally works"[18:19] <liquixcat> developers want it to be private[18:19] <liquixcat> it should be[18:19] <LB> sometimes it shouldn't be[18:19] <liquixcat> well, not your decision[18:19] <liquixcat> devs decision[18:19] <LB> nope[18:19] <LB> not a single language I've found can fully prevent access of private members[18:19] <LB> Java has a function to get around it[18:19] <LB> C++ has pointers[18:19] <liquixcat> Python doesn't even have them[18:20] <LB> yep[18:20] <liquixcat> Well it "does"[18:20] <liquixcat> but you can get around it[18:20] <LB> in that you have to guess the name[18:20] <liquixcat> and it sucks lol[18:20] <Looki> Mathias told me Python doesn't have private like 2 days ago[18:20] <liquixcat> It does, but not really[18:20] <LB> so really the dev decides how to influence your design with his design[18:20] <LB> but he never restricts you completely[18:20] <liquixcat> and you can still call it if you know the name[18:21] <Mathias> all attributes of a class are public in Python[18:21] <liquixcat> with some syntax sugar[18:21] <liquixcat> _attribute[18:21] <liquixcat> is not Mathias[18:21] <liquixcat> it's hidden[18:21] <Mathias> the _ prefix is not syntatic sugar[18:21] <liquixcat> like I said it's *kinda* private[18:21] <liquixcat> no no, the accessing it is[18:21] <LB> o_o[18:21] <LB> liquixcat[18:21] <LB> it's not syntax[18:21] <LB> it's just style[18:21] <Mathias> it's a way to say "this attribute should be considered private"[18:21] <Mathias> it's only a hint for the developer[18:21] <LB> it;s a notation[18:21] <Looki> "but cool people are allowed to mess with it"[18:22] <liquixcat> not that LB, I mean the syntax to access it[18:22] <LB> is the same syntax to access public fields[18:22] <liquixcat> no, it's not[18:22] <LB> show me both then[18:22] <Mathias> I think the __ (double _ _) adds some name mangling[18:22] <Mathias> but absolutely nobody uses that prefix[18:22] <ProdigyX> pew pew pew[18:22] <liquixcat> LB, no[18:22] <Mathias> *the __ prefix[18:22] <liquixcat> just trust me on it[18:22] <liquixcat> I don't know it though, I don't use it[18:22] <LB> I can't :p[18:23] <LB> not when Mathias is saying different[18:23] <ProdigyX> pep pew lew pew\[18:23] <liquixcat> he isn't saying different[18:23] <ProdigyX> pew pe le pew[18:23] <liquixcat> ....[18:23] <Mathias> the syntax is the same :p[18:23] <LB> liquixcat are you readin what each of us is saying and then comprehending it correctly?[18:23] <LB> *reading[18:23] <liquixcat> [09:22] Mathias: I think the __ (double _ _) adds some name mangling
[09:22] Mathias: but absolutely nobody uses that prefix
[18:23] <liquixcat> pretty open and shut case doctor[18:24] <Mathias> you were talking about the _ prefix[18:24] <Mathias> i.e. single _[18:24] <ProdigyX> __[18:24] <liquixcat> yeah but it mutates it like you said[18:24] <ProdigyX> _ _[18:24] <ProdigyX> --[18:24] <ProdigyX> -_-[18:24] <liquixcat> to access it's weird[18:24] <LB> mutates?[18:24] <Mathias> not for single _[18:24] <ProdigyX> _-_[18:24] <ProdigyX> "D[18:24] <ProdigyX>
[18:24] <liquixcat> __class__._foo[18:24] <liquixcat> or...something[18:24] <Mathias> what?[18:24] <Mathias> no[18:24] <liquixcat> I could look it up, but I can't be bothered[18:24] <Mathias> for single _, nothing is done[18:24] <LB> it doesn't matter whether a member's name is "foo" or "_foo"[18:24] <Mathias> for double __, some name mangling is done[18:24] <LB> you still do object.foo and object._foo[18:25] <liquixcat> Right, anyways....[18:25] <Mathias> double underscore attribute access is frowned upon[18:25] <Mathias> iirc[18:25] <Mathias> I never see people actually use it[18:25] <ProdigyX> :P[18:25] <liquixcat> Yes, which is why I say Python doesn't support private[18:25] <liquixcat> but, it kind of does...[18:25] <liquixcat> a little[18:26] <LB> o_o[18:26] <liquixcat> I'd more call it "hidden"[18:26] <LB> name mangling != change of syntax[18:26] <LB> it just changes the name a little[18:26] <liquixcat> ok[18:26] <Mathias> single underscore attributes aren't hidden[18:26] <Mathias> in reality, pure-python classes uses a dict to manage its instance variables[18:27] <liquixcat> Yes, I know[18:27] <Mathias> check with instance.__dict__[18:27] <LB> it's a dict...ing[18:28] ProdigyX has left the room
[18:28] <liquixcat> I'm too tired and it's Monday morning to argue what I've read several times over[18:28] <Mathias> if you ask me, private attributes are stupid[18:28] <liquixcat> since I'm on book 4 now....[18:28] <Mathias> I don't like the single underscore notation to say something is 'private'[18:28] ProdigyX has entered the room
[18:28] <LB> Hello, surround-sound ProdigyX![18:28] <LB> that join sound playd in surround sound for some reason[18:28] <liquixcat> Private isn't stupid, but considering Python is scripting, there is no need for it[18:29] <liquixcat> imho, but since you all like to argue over every damn thing, I'm leaving it at that[18:29] <LB> Mathias you just mean they;re stupid in Python right?[18:29] <Mathias>
[18:29] <Mathias> LB, especially in Python it doesn't make sense[18:29] <LB> k[18:30] <liquixcat> It is dumb in Python[18:30] <LB> liquixcat weren't you leaving it at "that"?[18:30] <LB>
[18:30] <Mathias> if you really want to let your user know not to change an attribute, do it in the documentation[18:30] <Mathias> or even better, let the user know what attribute to change[18:30] <liquixcat> Well, it's easier to state an opinion everyone agrees on[18:30] <Mathias> *what attributes he can change[18:30] <liquixcat> I mean I don't want to argue[18:31] <liquixcat> so...so tired of argueing[18:31] <LB> some people have the belief that many of their users will not read the docs and use their intellisense to see what they can do and then send angry emails and confused questions unless they make it impossible to do things the wrong way[18:31] <liquixcat> and dentists[18:31] <Mathias> it's ok[18:31] <Mathias> LB, you can't do much against PEBKAC[18:31] <liquixcat> Although I'll admit Mathias knows more and has more experience in Python[18:31] <LB> some people still try to[18:32] <liquixcat> I am quite good at it, I learn it 8 hours a day, 5 days a week, for months mow[18:32] <liquixcat> have read 3 books[18:32] <liquixcat> going on 4[18:32] <liquixcat> I know my shiz[18:32] <LB> that's why languages have compile errors for things like accessing private data[18:32] <Mathias> reading books
[18:32] <liquixcat> I read books, I program, I watch videos, I do it all[18:32] <liquixcat> I know Python[18:32] <Mathias> imho, books/videos0 are awfully verbose[18:32] <liquixcat> Which is why I program[18:33] <liquixcat> I have about 50 programs or so[18:33] <liquixcat> some big, some small[18:33] <liquixcat> all work
[18:33] <Mathias> LB, ask Looki what he thinks about private attributes/methods[18:33] <LB> we just discussed that...?[18:33] <Mathias> oh[18:33] <Mathias> sorry[18:33] <liquixcat> Mathias I have 78 books from the internet[18:33] <LB>
[18:33] <Mathias> didn't read the backlog[18:33] <liquixcat> I skim the crappy ones[18:33] <LB> he and I mostly agree[18:33] <liquixcat> and read the ones that cover the topics I feel weak in[18:33] <LB> lol liquixcat[18:34] <LB> M:"didn't read the backlog" L:"I skim the crappy ones"[18:34] <Mathias> in any case, I've had to change something that was considered private multiple times[18:34] <Mathias> both in C++/Python[18:34] <Mathias> in Python, it's not a problem, you can monkeypatch your way out of anything[18:34] <Mathias> but in C++, you have to change the library or whatever[18:34] <liquixcat> right now my weakest area is in objects[18:34] <LB> Mathias what?[18:35] <LB> lol[18:35] <LB> just use pointers[18:35] <LB> :p[18:35] <LB> cheat around it[18:35] <LB> changing it in the text is silly[18:35] <liquixcat> I mean OOP is easy, but the principles behind it, I wanna make sure I have right[18:35] <liquixcat> so, book 4: Object Orientated Design Patterns[18:35] <liquixcat> weeeeeee[18:35] <ProdigyX> lol[18:35] <Mathias> LB, if there's no vtable entry for the private method, you can't do anything[18:35] <liquixcat> it's so dman boring[18:35] <LB> liquixcat Oriented or Orientated?[18:36] <Mathias> you can't even hack your way around it[18:36] <liquixcat> Oriented lol[18:36] <LB> oooh[18:36] <LB> I'd just add friend declarations
[18:36] <LB> friend class MyClass;[18:36] <liquixcat> Although I do like to orientate my objects o_o[18:37] <LB> friend void MyFunc(int, int);[18:37] <liquixcat> I hate crooked objects[18:37] <Mathias> LB, in the case of MMF2, you can't do anything[18:37] <LB> yeah[18:37] <LB> have you seen how many goddamn times it calls some functions[18:37] <Mathias> of course, if your framework/library is open-source, there's no problem[18:37] <Looki> [01:34] <Mathias> but in C++, you have to change the library or whatever[18:38] <Looki> just do some pointer magic[18:38] <LB> I told him[18:38] <Looki> oh[18:38] <LB> he pointed me out[18:38] <LB> [18:35] <Mathias> Looki, if there's no vtable entry for the private method, you can't do anything[18:38] <Looki> yes I saw[18:38] ProdigyX has left the room
[18:39] <LB> well Mathias, in the MMF2 SDK Help file, they said you could ask for accessor functions and such[18:39] <LB> and they would make an update for you[18:39] ProdigyX has entered the room
[18:39] <liquixcat> lol...[18:39] <LB> which is at least workable[18:39] <LB>
[18:39] ProdigyX has left the room
[18:39] <liquixcat> everytime?[18:39] <LB> if it was well worth it[18:39] <liquixcat> why not make them all public then lol[18:39] ProdigyX has entered the room
[18:40] <LB> liquixcat because it's a waste of time[18:40] <liquixcat> "yeah, we'll make it public, but you gotta ask"[18:40] <liquixcat> 0_O[18:40] <LB> the way it is set up, the functions are often provided via function pointers in data structures[18:40] <LB> *structures[18:40] <liquixcat> lol, pointers...[18:40] <LB> they have to write the code for every data structure and every function to copy the pointer in[18:41] <liquixcat> I like Muffins[18:41] <liquixcat> is about all I can take from that[18:41] <liquixcat> I gotta learn C...[18:41] <LB> you're muffin needs more fiber[18:41] <LB> mine too apparently[18:41] <liquixcat> truth[18:41] <LB> that was a fail of me[18:41] <LB> I was making fun of your brain and I wrote "you're"[18:41] <LB> derp[18:42] <liquixcat> my brain?
[18:42] <LB> your muffin = your brain[18:42] <liquixcat> I'm not a grammar nazi[18:42] <LB> well I still feel derpy because I shouldn't have been making fun of you anyhow[18:43] <liquixcat> I pretty much know what pointers are[18:43] <liquixcat> like in files and databases I probably use something just like it[18:43] <Looki> yep, and that's why it's good practice to store pointers in files[18:43] <Looki> so you can load them back later[18:43] <LB> low level way to access memory directly and interpret it in any way you want[18:43] <liquixcat> but, since PHP, Python and Java all have built-in garbage collecting, I've never had any experience in it[18:43] <LB> lol looki[18:43] <LB>
[18:44] <Mathias> btw, http://mp2.dk/ace/newpretty.png[18:44] <LB> I found that out the hard way with the EDITDATA struct[18:44] <Looki> nice mat[18:44] <Looki> that is some nice ambient occlusion on the weapons :O[18:44] <LB> Mathias who is the lead developer for AOS?[18:44] <Mathias> LB, me[18:44] <LB>
[18:45] <LB> that makes sense[18:45] <LB> when you showed that server list a while back[18:45] <liquixcat> Pretty cool little game you have there[18:45] <LB> and you said yours was the most popular[18:45] <Mathias> bcoolface has been maintaining 0.xx[18:45] <LB> that gave me the idea[18:45] <LB> that you were just 3rd party[18:45] <Mathias> but 1.0 is mostly me with bcoolface chipping in[18:45] <Mathias> oh[18:45] <liquixcat> Is it mostly coded in C++?[18:45] <Mathias> I used to develop pyspades[18:46] <LB> AH[18:46] <Mathias> which was this open-source server for the game[18:46] <Mathias> (I still do, but it's the native server in 1.0)[18:46] <LB> yeah[18:46] <Mathias> it's now the server pretty much everyone uses also[18:46] <Mathias> liquixcat, mostly Python with some C++[18:46] <LB> I saw a video on youtube of someone complaining about how easy it is to hack the game to get infinite ammo on servers[18:46] <liquixcat> is it open?[18:46] <LB> was that fixed?[18:47] <Mathias> LB, yeah[18:47] <Mathias> liquixcat, open? nope[18:47] <liquixcat> kk[18:47] <liquixcat> which reminds me, I need ideas for some simple anaconda extensions[18:47] <liquixcat> nothing too crazy as I work out the API[18:48] <LB> well you're an incredible guy mathias[18:48] <LB> I had no idea you developed AOS[18:48] <liquixcat> What's even more incredible is him being so damn young[18:48] <LB> I thought MMF2 stuff was hard enough[18:49] <LB>
[18:49] <liquixcat> incredible: yes, annoying: yes[18:49] <Mathias> lol[18:49] <Mathias> ageism[18:49] <liquixcat> lol[18:49] <Mathias> LB, MMF2 is unnecessarily hard for bigger games :p[18:49] <Mathias> at least if you ask me[18:49] <Mathias> it is a very nice prototyping tool though[18:50] <LB> I mean I thought MMF2 extension & ext SDK development was hard enough that you didn;t have much free time[18:50] <Mathias> oh[18:50] <Mathias> I don't do extension dev[18:50] <Mathias> I do Anaconda dev[18:50] <LB> yeah[18:50] <LB> but you have to port exts[18:50] <liquixcat> I think he means anaconda exts/[18:50] <Mathias> it's fun with Python[18:50] <Mathias> and with a sane API[18:50] <LB>
[18:50] <liquixcat> I admit, Python is fun[18:50] <liquixcat> I actually use it at home[18:51] <liquixcat> which is a first for me[18:51] <LB> you should see Minecraft[18:51] <LB> just from the outside you can tell[18:51] <LB> it was never designed to do what it does now[18:51] <liquixcat> lol[18:51] <Mathias> I've had a look[18:51] <Mathias> it's very... Java and intricate[18:51] <LB> well from a Java standpoint it's still very poorly done[18:51] <LB> but there would be so much to change[18:52] <LB> so they just work with iut[18:52] <Mathias> from a Java standpoint, it's "ok"[18:52] <Mathias> haha[18:52] <Mathias> sorry[18:52] <LB> not really :p[18:52] <Mathias> :p[18:52] <liquixcat> I don't understand, with the foundation it had why it wasn't rewritten already[18:52] <Mathias> rewriting software is stupid[18:52] <LB> liquixcat[18:52] <LB> the game is huge[18:52] <Mathias> refactor refactor refactor[18:52] <liquixcat> I understand it's huge[18:52] <LB> you try rewriting it[18:52] <liquixcat> but it's so limited by Java[18:52] <liquixcat> at least, what Java supports doing[18:52] <liquixcat> as far as I've seen[18:52] <LB> uh no?[18:52] <Mathias> Java doesn't have any limits[18:53] <LB>
[18:53] <Mathias> neither does Python[18:53] <Mathias> neither does Haskell[18:53] <Mathias> etc. etc.[18:53] <LB> Minecraft is limited by early design choices, liquixcat[18:53] <LB> not by java[18:53] <liquixcat> neither does an unarmed gimp in the army.....[18:53] <liquixcat> but, man his life is gonna be harder[18:53] <liquixcat> and by unarmed[18:53] <liquixcat> I mean...he has no arms[18:54] <liquixcat> I've heard your philosophy before on programming languages and their limits, Mathias[18:54] <liquixcat> and, I just think concept and practice are too different[18:55] <LB> if a language is turing complete it has no limits, essentially[18:55] <Mathias> Java is lame for productivity, compared to Python maybe[18:55] <LB> Mathias can you program better in java than in python?[18:55] <Mathias> but in terms of functionality, libraries, etc., there are no limits - you can always write a binding[18:56] <Mathias> LB, is that a trick question[18:56] <LB> yes[18:56] <LB> well[18:56] <LB> only if you asnwer no[18:56] <liquixcat> having to write a binding means you found its limit...[18:56] <liquixcat> imho[18:56] <Mathias> I wonder where bindings come from[18:56] <Looki> does saying you can always write a lib apply to MMF too?[18:56] <Mathias> hnm[18:56] <Mathias> magic wonder fairydust[18:56] <Looki> just write the whole game in c++ and render it in the mmf window, yay[18:57] <LB> because I'd say that you shouldn't claim to know the productivity of a language compared to another unless you can program just as well in both[18:57] <LB> and you can;t know that can you?[18:57] <LB> Looki yeah lol[18:57] <liquixcat> If you have to use C++ to make Python do something[18:57] <liquixcat> then Python didn't do it[18:57] <liquixcat> C++ did[18:57] <LB> even better looki: do it all in EditorDisplay[18:57] <LB> so it's during the frame editor[18:57] <Looki> lol[18:58] <Mathias> liquixcat, with that mindset, C++ didn't do anything, it was the native raw machine code that did it![18:58] <Mathias> :p[18:58] <liquixcat> shh[18:58] <LB> haha[18:58] <LB> computers don;t do anything[18:58] <liquixcat> brb[18:58] <LB> it's the men who invented them that do[18:58] <LB> they run the numbers[18:58] <LB> and manage your heap space[18:58] <LB> and sometimes they make a mistake[18:58] <LB> and crash[19:00] <LB> Mathias Minecraft is using the same format now as it did back at the start of Indev[19:00] <LB> they only made one change in 1.2[19:00] <Mathias> .schematic?[19:00] <LB> no[19:00] <LB> NBT[19:00] <LB> http://www.minecraftwiki.net/wiki/NBT_Format[19:00] <Mathias> iirc, their format compresses fairly well[19:00] <LB> it's all text[19:01] <LB> so, yeah[19:01] <LB> well text and binary[19:01] <Mathias> not the raw map data[19:01] <LB> http://www.minecraftwiki.net/wiki/Chunk_format#Entity_Format example tree structures[19:02] <LB> but my point is[19:02] <LB> they're using really really old code[19:02] <LB> making minor changes to acomodate new features[19:02] <LB> and it shows[19:02] <LB> one time there was a bugfix update that fixed over 100 bugs[19:02] Looki has left the room
[19:02] Looki has entered the room
[19:02] <LB> it added over 200 new ones[19:02] <LB> all completely unrelated[19:03] <LB> unless you knew how the game worked[19:03] <LB> and then they were totally related[19:03] <Mathias> I guess it's closely related to software dev in general[19:03] <liquixcat> but![19:03] <LB> the thing I'm impressed by is the multithreading[19:03] <Mathias> the balance between rewriting/refactoring/maintenance[19:03] <liquixcat> they fixed 100 bugs
[19:03] <LB> net gain 100 more bugs[19:04] <liquixcat> 100  more adventures![19:04] <LB> lol[19:04] <Looki> LB why is the MT impressive?[19:04] <Looki> minecraft's multithreading seems really simple to me at least[19:04] <LB> because it's a nightmarish beast[19:04] <LB> but it works nicely[19:04] <Looki> like, the most basic thing MT is available for :P[19:05] <Mathias> hnm, minecraft multithreading? I thought it was singlethreaded[19:05] <Looki> doesn't it just generate world parts in the background?[19:05] <Mathias> does it generate the vertex data in another thread?[19:05] <LB> it must[19:05] <LB> because sometimes you can walk on invisible area[19:05] <LB> the terrain works and you can interact[19:05] <LB> but can't see it[19:06] <LB> other times it just doesn;t load[19:06] <Mathias> could also be limited in terms of blocks/frame[19:06] <LB> the game distincly loads in 16x16x16 segments[19:06] <LB> you can see it[19:06] <Mathias> like, if the game spends too much time generating vertex data, it would lag[19:06] <LB> I dunno[19:06] <Mathias> I know it makes display lists for 16x16x16 chunks yeah[19:07] <LB> entities are separate from blocks[19:07] <Mathias> but whether or not it's multithreaded, I don't know[19:07] <LB> tile entities are tied to blocks but saved like entities[19:07] <Mathias> ok good night bed time[19:07] <Mathias> ciao[19:07] <Looki> night[19:07] <LB> 'night Mathias![19:07] <Looki> Mathias you have school again right[19:07] <liquixcat> night[19:07] <Mathias> Looki, yep[19:07] <Looki> I pity the fool[19:07] <Mathias> are you still looking for uni?[19:07] <Looki> nope, I got accepted
[19:07] <Mathias> or did you get accepted into one[19:07] <Mathias> oh woo[19:07] <LB> I have school starting tomorrow[19:07] <Mathias> comp. sci eh[19:07] <Looki> yeap[19:08] <Looki> pretty far away from here too[19:08] <Looki> like 300 km[19:08] <LB> I'm going into comp sci 3[19:08] <Looki> it will be an ADVENTURE[19:08] <LB> because I got a 5 on my ap test[19:08] <Looki> but I've got at least one friend there so[19:08] <Looki> night![19:08] <LB> sleep tight mathias[19:08] <Mathias> I need sleep right good night bye bye[19:08] Mathias has left the room
[19:21] Eliyahu has entered the room
[19:21] <LB> Hello, Eliyahu![19:21] <LB>
[19:21] <Eliyahu> hello[19:21] <Eliyahu> "Welcome to ClickConverse! Today is ClickJam!"[19:22] <Eliyahu> Really now...[19:22] <Eliyahu> how long have I been asleep?[19:22] <LB> lol really?[19:23] <LB> I've been hear 3-4 hours Eliyahu[19:23] <LB> I don;t think you were in here before now[19:23] Rushino has entered the room
[19:23] <LB> Hello, Rushino![19:24] <Rushino> Hello![19:24] <Rushino> Yo LB[19:24] <Rushino> Yo Progidy[19:24] <Rushino> Prodigy*[19:24] <Rushino> Sorry.[19:28] <Eliyahu> lb i was using sarcasm.[19:28] <Eliyahu> ClickJam has been over for days.[19:28] <LB> lol[19:28] <LB> I see[19:28] <LB> you were suggesting you'd slept a year[19:28] <Eliyahu> yea[19:34] Looki has left the room
[19:34] Looki has entered the room
[19:35] <LB> wb looki
[19:35] <Jacob> Yeah Eli that Space Miner game is abandonware now :3[19:36] <liquixcat> what spaceminer game?[19:36] <Rushino> space miner game ?[19:36] <Jacob> Because Looki isn't going to port Surface to iOS and XNA and everything else I want him to do u_ u[19:36] <Jacob> Have you ever played Motherlode?[19:36] <Jacob> It's an old flash game[19:36] <Jacob> I was going to make one like that but in space[19:36] <Jacob> and you mined planets[19:36] <Rushino> same creator of miner ?[19:36] <Rushino> deep miner[19:36] <Jacob> and as you mined, your mass was built up and physics would affect you differently[19:37] <Jacob> http://www.miniclip.com/games/motherload/en/[19:37] liquixcat has left the room
[19:37] liquixcat has entered the room
[19:37] <LB> wb liquixcat
[19:41] <Rushino> nice game[19:43] <Eliyahu> lol jacob you're abandoning it?[19:43] <Jacob> I was using surface to render everything[19:43] <Eliyahu> I can make it, but not with the rotatey stuff you want from surface[19:43] <Jacob> it wouldn't be the same without it[19:43] <Eliyahu> hm[19:43] <Eliyahu> I think I could come up with something[19:43] <Rushino> here ya go[19:43] <Rushino> viva mmf2[19:43] <Rushino> lol[19:44] <Eliyahu> can I take the idea then? lol[19:44] <Rushino> the idea...[19:44] ProdigyX has left the room
[19:44] <Rushino> there a lots of similar game on android[19:44] <Rushino> its too late dude[19:44] ProdigyX has entered the room