11:22 <@matricks> wolfandroid: dude... 11:23 <@minus> matricks: get a better irc client 11:23 <@matricks> minus: that does what? 11:23 <@minus> hide joins/quits 11:23 <@matricks> but I wanna see joins and quits 11:23 <@minus> why 11:24 <@matricks> so I can see certain people come online etc 11:24 <@minus> :| 11:24 <@matricks> and when they do... so I can stalk em 11:24 <@minus> :P 11:24 <@minus> yeah, i hid joins n quits and haven't missed them 11:25 * matricks screems a bit 11:25 <@matricks> delivery times suuuuuck 11:25 <@minus> delivery truck late? 11:25 <@minus> actually my new RAM hasn't been shipped yet :( 11:26 <@matricks> well no.. I ordered stuff in beginning of january... expected delivery is in may 11:26 <@minus> ouch 11:26 <@minus> paragliding stuff? 11:26 <@matricks> yeah 11:26 <@matricks> new harness, it seems like it will become widly popular :) 11:26 <@minus> should've picked another hobby :P 11:26 <@matricks> normally delivery times on stuff are 6-8 weeks 11:26 <@matricks> if they need to produce it 11:26 <@minus> that's pretty bad 11:27 <@matricks> they usually don't stock the big items 11:28 <@matricks> too many different SKUs and they might wanna do custom stuff so 11:28 <@matricks> and too much money in each item so 12:01 < janot> Hi, can smbdy help me with tearing artifacts in teeworlds in Ubuntu, please? 12:02 <@matricks> disable the compositor 12:02 <@matricks> try that 12:02 < janot> thx 12:03 <@minus> and enable vsync 12:03 <@matricks> and clean the guck out of the mouse 12:03 < janot> i have 1k fps with vsync enabled >< 12:03 <@minus> haven't had a ball mouse in over 10 years 12:04 <@matricks> minus: you should still clean your ball(s) 12:04 <@matricks> huehuhuhuhuh 12:04 <@matricks> janot: then something is inhibiting vsync from workin' 12:06 < janot> yep, I've already tried a lot of shit to enable it.. no luck( I thought nvidia gt555m isn't too old or too new... 12:07 <@matricks> sw issue, not hardware 12:08 < janot> yep, but tried a lot of driver versions, using env variables and etc.. still no luck 12:09 < janot> tried to use builtin Intel hd3000, but it causes lags in teeworlds 15:14 < JulianAssange> i still don't know why while(*p) p++; is bad btw 15:15 <@matricks> JulianAssange: you are not showing intent 15:15 <@matricks> if you are iterating over something, you should use for 15:17 < JulianAssange> http://codepad.org/u3lgjJZ0 15:17 < JulianAssange> oh 15:17 < JulianAssange> but just because it doesnt show intent, doesn't mean it's bad 15:17 < JulianAssange> if it's well documented then it shouldn't be a problem 15:18 <@matricks> and what the hell is secure with that function???? 15:18 <@matricks> that's a memory stomper if I've ever seen one 15:18 < JulianAssange> it overwrites memory with 0 15:19 < JulianAssange> so it can't be recovered after it's been used 15:19 < JulianAssange> it's used when handling passcodes, etc. 15:19 <@matricks> yeah.. and just continues until it hits a zero... 15:19 < JulianAssange> yes 15:19 < JulianAssange> what's the problem? 15:20 <@matricks> it requires the data to be formatted correctly.. such as a string or so... one step wrong and it will go haywire 15:20 < JulianAssange> oh yes 15:20 < JulianAssange> and to be correctly nul terminated 15:21 < JulianAssange> that is taken care of when allocating the string 15:21 <@matricks> then you should take a char pointer into the function atleast 15:22 < JulianAssange> http://codepad.org/Hv9U2pCC <- this can be rewritten a little bit bettere, which I'll do soon 15:24 < JulianAssange> I'm unsure of what I want to do if it can't allocate memory yet, however 15:24 <@matricks> return null? :) 15:25 <@matricks> like alloc functions usually does 15:25 < JulianAssange> yes 15:25 < JulianAssange> yes that's what I thought of doing originally, but if we can't allocate memory at one stage, then the whole program will probably die 15:25 < JulianAssange> PHP dies' if it can't allocate memory 15:26 <@matricks> that what applications usually does :) 15:26 < JulianAssange> what does teeworlds do? 15:26 <@matricks> krashes and dies :) 15:27 <@matricks> not that many allocations occurs 15:27 <@matricks> and some of em should be removed 15:29 < JulianAssange> guessing the majority is graphics stuff? 15:30 < EastByte> all the entities for example 15:30 <@matricks> yeah, sound and gfx-loading (could be removed)... and then some network stuff (should be static ring-buffers) 15:30 <@matricks> EastByte: well.. not all of em 15:31 <@matricks> players isn't for an example 15:31 <@matricks> then map resources 15:31 < EastByte> I mean entities of the linked list (gameworld?) 15:31 <@matricks> yah 15:32 < JulianAssange> how about server list 15:32 <@matricks> dynamic as well 15:32 < JulianAssange> is that dynamic or static? (e.g. is there a maximum?) 15:32 < JulianAssange> ok 15:32 <@matricks> incheap if I remember correctly 15:34 < JulianAssange> has anyone ever seen the movie Solitary Man? 15:36 < JulianAssange> but, you were right about the while() for the int array matricks : unless I zero'd the array beforehand 15:36 <@matricks> not just zeroed, it has to be unnessesary large 15:37 <@matricks> and you used twice the size.. in an calculation that didn't make sense 15:37 < JulianAssange> 4 times the size 15:37 < JulianAssange> wait no, it was unsigned short 15:37 < JulianAssange> so yes twice 15:37 <@matricks> and that calculation didn't make sense or show intent 15:40 < JulianAssange> this is why I don't like working with int array's 15:41 <@matricks> you need to learn pointer arithmetic 15:42 < JulianAssange> probably 15:42 <@matricks> and prefer for-loops over while 15:43 <@matricks> because showing intent is really really important 15:53 <@minus> i honestly think JulianAssange is just trolling all the time when asking code questions 15:53 <@matricks> no, I think he just is bad, but he is trying atleast 16:07 < JulianAssange> BTW: The reason I used void, was before void free(void *ptr); 16:19 < EastByte> your secure_zero() func does only work for null terminated char arrays 16:19 < JulianAssange> yes 16:19 < EastByte> whereas free() simple frees a memory area 16:19 < EastByte> simply* 16:19 < JulianAssange> how about memset? 16:19 < JulianAssange> void *memset(void *s, int c, size_t n); 16:20 < EastByte> I guess void* is used to prevent warnings and keep backward compatibility to older stuff 16:21 <@matricks> well, he probably want those warnings :) 17:01 < JulianAssange> matricks: I imagine the next thing I want to do, must be using dynamic memory 17:01 < JulianAssange> erm 17:01 < JulianAssange> nevermind 18:29 < JulianAssange> ok matricks 18:30 < JulianAssange> http://pastebin.com/raw.php?i=7zN84jhX 18:31 < JulianAssange> it forces the 0 to the last in the pointer, so while(*p) is acceptable 18:33 < JulianAssange> forces the 0 terminator* 18:55 < JulianAssange> i guess it's not really called a nul terminator when handling strings, but just 0 21:02 * minus hands JulianAssange std::vector 23:19 * matricks just got home 23:23 <@matricks> JulianAssange: why do you rebuild the portlist into an short null-terminated array?