<- Previous Log Select Different Log Next Log ->  
Log from 2008-02-01:
--- Day changed Fri Feb 01 2008
00:39 -!- Mixnetwork [n=chatzill@91.66.227.92] has quit ["ChatZilla 0.9.80 [Firefox 2.0.0.11/2007112718]"]
00:48 -!- z-man [n=manuel@p50871B97.dip0.t-ipconnect.de] has quit [Read error: 113 (No route to host)]
01:02 -!- deja_vu [n=deja_vu@HSI-KBW-085-216-060-101.hsi.kabelbw.de] has quit ["leaving"]
01:10 -!- xfroggy [n=xfroggy@adsl-163-163-198.mia.bellsouth.net] has joined #armagetron
01:11 -!- xfroggy [n=xfroggy@adsl-163-163-198.mia.bellsouth.net] has quit [Client Quit]
01:11 -!- xfroggy [n=xfroggy@unaffiliated/xfroggy] has joined #armagetron
01:14  * pippijn can't sleep
01:15 <luke-jr> …
01:15 <pippijn> luke-jr: why is there a tArray class?
01:16  * luke-jr sneaks away
01:16 <pippijn> stay!
01:16 <pippijn> :O
01:16 <luke-jr> <.<
01:17 <pippijn> what is this class good for?
01:19 <ct|kyle> pippijn: luke-jr won't tell you anything.
01:19 <pippijn> ct|kyle: will you?
01:19 <ct|kyle> I don't know anything
01:19 <pippijn> ah great
01:20 <xfroggy> :|
01:21 <ct|kyle> luke-jr won't tell you anything because he does not know anything either
01:21 <pippijn> okay
01:38 <pippijn> luke-jr: http://pip.one09.net/files/txt/69aa0fa38ac2f5ea7d68afafd39086ac.txt
01:43 <pippijn> looks like some people like using classes prefixed with 't' :-\
01:45 <pippijn> you would think a latency-sensitive game would use efficient data structures..
01:48 <pippijn> by the way.. using reinterpret_cast<T *> (void *) is a bit overkill..
01:49 -!- Stewie-arma [n=Stewie-a@cpe-76-88-47-247.san.res.rr.com] has joined #armagetron
01:54 <pippijn> http://pip.one09.net/files/txt/eadfdaad1b70f14e40da8d1e72b75a49.txt <- lively
01:55 <pippijn> this might win an obfuscation contest
01:56 <luke-jr> lol
01:56 <pippijn> lovely*
01:56 <luke-jr> you want obfuscating, check out my path sanitizer
01:56 <pippijn> luke-jr: who can tell me what tArray is good for?
01:56 <luke-jr> pippijn: z-man maybe
01:56 <luke-jr> I'd check out the svn blame
01:56 <pippijn> it has less functionality than vector and for most operations, it is vastly slower
01:56 <luke-jr> lol
01:57 <luke-jr> maybe it was some idiocy of Visual C++ 4 or something
01:57 <pippijn> you mean std::vector being slow?
01:57 <luke-jr> try typedef std::vector tArray
01:57 <pippijn> not going to work
01:58 <luke-jr> no idea, I wouldn't be surprised if VC++4 didn't HAVE vector
01:58 <pippijn> hm
01:58 <pippijn> tArray doesn't have a standard interface
01:58 <luke-jr> we don't care for VC++ support anymore tho ☺
01:58 <luke-jr> o
01:58 <pippijn> tArray::Insert <-> vector::push_back
01:58 <luke-jr> #define Insert push_back
01:58 <luke-jr> <.<
01:58 <pippijn> tArray::RemoveAt <-> vector::erase
01:59 <pippijn> luke-jr: no, then tList will break
01:59 <luke-jr> sigh
01:59 <luke-jr> what is tList?
01:59 <pippijn> I don't know..
01:59 <pippijn> some other data structure
01:59 <pippijn> // a usefull class of lists
01:59 <luke-jr> well, turn tArray into a wrapper and see what breaks then
02:00 <pippijn> okay
02:00 <luke-jr> if nothing breaks, build a Perl script to turn tArray use into vector users
02:00 <pippijn> that's extremely hard
02:00 <pippijn> because it requires semantic analysis
02:01 <pippijn> grrrr
02:01 <luke-jr> ☺
02:02 <pippijn> this whole code is so badly designed :-(
02:02 <pippijn> almost every template class inherits from some xyzBase class
02:02 <pippijn> why!?
02:03 <pippijn> inheriting means creating an is-a relation which is useless in most cases in arma
02:03 <pippijn> has-a would be more sensible and could be.. about 300 times faster
02:03 <pippijn> if done well
02:04 <luke-jr> nobody knows how vValue works if that's what you're talking about
02:04 <pippijn> I'm talking about all templates I have seen up to now
02:04 <pippijn> the blahPTRs, tArray, tList, ..
02:04 <pippijn> template<class T, bool MALLOC=false> class tArray: public GrowingArrayBase {
02:07 <pippijn> luke-jr: http://pip.one09.net/files/txt/f6c667debe6f7fff4ff820d9aafa25af.txt
02:07 <pippijn> luke-jr: what is the semicolon doing at the end of a function definition? :-S
02:07 <luke-jr> pippijn: it makes it look pretty
02:07 <pippijn> oh?
02:07 <luke-jr> lol
02:07 <pippijn> it makes it look ambiguous
02:07 <luke-jr> pippijn: if you have time to refactor all our code, please do so
02:08 <pippijn> first fix trunk
02:08 <pippijn> I don't know what you broke and I don't know how to fix it
02:08 <luke-jr> that's all ph does when he has time
02:08 <pippijn> or give me something I can work on
02:08 <luke-jr> pippijn: you could work on XMPP support-- that'd make me happy :þ
02:09 <pippijn> but you can assume that if I really do refactor all the code, then it will be very very incompatible with all the old code
02:09 <luke-jr> so we should merge all branches first, you mean
02:09 <pippijn> XMPP is easy, but I can't work with this..
02:10 <pippijn> I don't mean anything.. but if I am going to do changes to some codebase, merges will become tedious and eventually virtually impossible
02:12 <luke-jr> I'm not sure what development branches are unmerged
02:12 <luke-jr> other than UTF-8, which is simple once XMPP is done
02:13 <pippijn> oh a nice little useless unused function from tArray: T* operator+(int i) const
02:13 <pippijn> one less to wrap
02:13 <pippijn> what kind of semantics is this? adding a number to an array
02:13 <pippijn> that makes zero sense
02:14 <luke-jr> lol
02:26 <pippijn> oh noes
02:26 <pippijn> template <class T, bool MALLOC=false, bool REFERENCE=false> class tList:public tArray<T *, MALLOC> {
02:26 <pippijn> tList inherits from tArray
02:26 <pippijn> oh no..
02:29 -!- ghableska [n=ghablesk@12-214-219-145.client.mchsi.com] has joined #armagetron
02:30 <pippijn> luke-jr: tArray's design is inherently broken
02:30 <pippijn> luke-jr: and everything that uses it is broken as a result
02:30 <pippijn> as soon as I fix tArray, all the broken code that depends on its brokenness fails to compile
02:31 <pippijn> it will have to be gradually phased out
02:34 <pippijn> luke-jr: why doesn't armagetron use gettext?
02:35  * pippijn thinks arma developers have a high degree of the NIH syndrom
02:35 <pippijn> or had..
02:46 <luke-jr> pippijn: broken how?
02:46 <luke-jr> as far as i18n, that's pre-me
02:46 <pippijn> http://pip.one09.net/files/txt/aec3fc66d7a9c801d2934b6866b91067.txt <- this function is broken for example
02:47 <pippijn> think about it.. what does that do?
02:47 <pippijn> it returns a nonconst reference to an element of a supposed-to-be-const array
02:47 <pippijn> and arma code depends on it
02:47 <pippijn> it modifies a const array
02:47 -!- spidey [n=spidey@adsl-065-006-218-226.sip.mem.bellsouth.net] has quit [Read error: 104 (Connection reset by peer)]
02:47 <luke-jr> …
02:49 -!- spidey [n=spidey@adsl-065-006-218-226.sip.mem.bellsouth.net] has joined #armagetron
02:51 -!- liberweesco [n=libervis@78-1-103-173.adsl.net.t-com.hr] has joined #armagetron
02:52 <pippijn> luke-jr: http://pip.one09.net/files/up/arma_array.cpp.txt
02:52 <pippijn> luke-jr: http://pip.one09.net/files/up/unordered_vector.h.txt
02:53 <pippijn> luke-jr: the second one is about 3 times faster (sometimes even faster, sometimes maybe 2 times) and is 50 lines of code instead of 300
02:53 <pippijn> luke-jr: and it's not broken..
02:54 <luke-jr> pippijn: wonderful
02:54 <pippijn> luke-jr: and it has the exact same functionality
02:54 <pippijn> except for one useless function (operator +)
02:55 -!- liberweesco [n=libervis@78-1-103-173.adsl.net.t-com.hr] has quit [Remote closed the connection]
02:57 <luke-jr> pippijn: you use BSD by any chance?
02:57 <luke-jr> or any other oddball OS?
02:57 <pippijn> no, linux
02:57 <pippijn> why?
02:57 <luke-jr> looking for people to test me RC3
02:57 <luke-jr> so I can make it final
03:07 -!- libervisco [n=libervis@tuxhacker/libervisco] has quit [Read error: 110 (Connection timed out)]
03:25 <flex> luke any update on nexus9? :p
03:29 -!- ghableska [n=ghablesk@12-214-219-145.client.mchsi.com] has quit [Read error: 104 (Connection reset by peer)]
03:32 <luke-jr> flex: …
03:32 <pippijn> luke-jr: what about the network code?
03:32 <pippijn> how efficient is it? any idea?
03:32 <luke-jr> what?
03:32 <luke-jr> no clue
03:33 <luke-jr> we stole it from Quake3
03:33 <luke-jr> I think
03:33 <luke-jr> maybe Quake1
03:35 <pippijn> luke-jr: clients tell the server their version, right?
03:35 <luke-jr> somehow
03:35 <pippijn> you don't know how?
03:35 <luke-jr> ☺
03:36 <pippijn> ?
03:36 <pippijn> what character encoding are you using?
03:40 <luke-jr> current code is Latin-1
03:40 <pippijn> okay
03:41 -!- xfroggy [n=xfroggy@unaffiliated/xfroggy] has quit [Remote closed the connection]
03:45 <pippijn> armagetron code makes me sad
03:45  * pippijn gives up
04:03 <flex> luke-jr: fu xxx
04:05 -!- flex [n=savas@unaffiliated/savas] has quit ["bye"]
04:13 <luke-jr> pippijn: ☹
04:13 <pippijn> luke-jr: what was that?
04:14 <luke-jr> pippijn: what, you complain about Latin-1 and then can't handle non-Latin-1 yourself? :þ
04:15  * P4 is now playing: Björk - I love to love (2:20)
04:15 <P4> ^^
04:15 <pippijn> luke-jr: partially, I can
04:15 <pippijn> but not all of it
04:15 <pippijn> I assume it was a smiley
04:15 <luke-jr> :þ
04:15 <luke-jr> a frowny
04:15 <pippijn> sec..
04:16 <pippijn> luke-jr: can you do it again?
04:16 <P4> if anyone wants to hear that old music by 10yo girl :) http://boomp3.com/m/227fee547aac
04:16 <luke-jr> ☹
04:16 <P4> 'gnight
04:16 <pippijn> hm
04:16 <pippijn> can't see it
04:17 -!- telnet [n=telnet@pD9E9ECA5.dip.t-dialin.net] has joined #armagetron
04:17 <pippijn> luke-jr: again please :)
04:17 <luke-jr> ☹☹☹
04:17 <pippijn> hrm
04:17 <pippijn> oh well
04:18 <telnet> ☺
04:18 <pippijn> ☺
04:18 <pippijn> I'm missing a font probably
04:20 -!- telnet [n=telnet@pD9E9ECA5.dip.t-dialin.net] has quit [Client Quit]
04:23 <pippijn> wrtlprnft: http://www.xinutec.org/armagetronad-pippijn/ <- this is my 0.3.0 + perl
04:24 <pippijn> wrtlprnft: I didn't feel like integrating the wrapper stuff with automake
04:24  * pippijn detests automake
04:36 <ct|kyle> pippijn: why fon't you use #tell later wrtlprnft  http://www.xinutec.org/armagetronad-pippijn/ <- this is my 0.3.0 + perl ; I didn't feel like integrating the wrapper stuff with automake
04:41 <pippijn> #later tell http://www.xinutec.org/armagetronad-pippijn/ <- this is my 0.3.0 + perl ( I didn't feel like integrating the wrapper stuff with automake)
04:41 <armabot> pippijn: Error: 'http://www.xinutec.org/armagetronad-pippijn/' is not a valid nick.  That nick is too long for this server.
04:41 <pippijn> #later tell wrtlprnft http://www.xinutec.org/armagetronad-pippijn/ <- this is my 0.3.0 + perl ( I didn't feel like integrating the wrapper stuff with automake)
04:41 <armabot> pippijn: The operation succeeded.
04:42 -!- ghableska [n=ghablesk@12-214-219-145.client.mchsi.com] has joined #armagetron
04:42 -!- ghableska [n=ghablesk@12-214-219-145.client.mchsi.com] has left #armagetron []
04:43 -!- xfroggy [n=xfroggy@unaffiliated/xfroggy] has joined #armagetron
05:21 -!- spidey [n=spidey@adsl-065-006-218-226.sip.mem.bellsouth.net] has quit [Read error: 104 (Connection reset by peer)]
05:23 -!- spidey [n=spidey@adsl-065-006-218-226.sip.mem.bellsouth.net] has joined #armagetron
05:34 -!- xfroggy [n=xfroggy@unaffiliated/xfroggy] has quit [Remote closed the connection]
06:13 -!- epsy [n=epsy@mar75-4-82-227-65-72.fbx.proxad.net] has joined #armagetron
06:15 <ct|kyle> n00ber
06:15 <ct|kyle> i mean epsy
06:19 <epsy> what?
06:24 -!- xfroggy [n=xfroggy@unaffiliated/xfroggy] has joined #armagetron
06:25 -!- Goodygumdrops [n=Goodygum@h112.42.21.98.ip.windstream.net] has quit [Read error: 113 (No route to host)]
06:27 -!- xfroggy [n=xfroggy@unaffiliated/xfroggy] has quit [Remote closed the connection]
06:28 -!- xfroggy [n=xfroggy@unaffiliated/xfroggy] has joined #armagetron
06:30 -!- xfroggy [n=xfroggy@unaffiliated/xfroggy] has quit [Remote closed the connection]
06:31 -!- xfroggy [n=xfroggy@unaffiliated/xfroggy] has joined #armagetron
06:32 -!- xfroggy [n=xfroggy@unaffiliated/xfroggy] has quit [Client Quit]
06:37 -!- xfroggy [n=xfroggy@unaffiliated/xfroggy] has joined #armagetron
07:11 -!- MrBougo [n=MrBougo@66.241-242-81.adsl-dyn.isp.belgacom.be] has joined #armagetron
07:14 <MrBougo> http://xkcd.com/
07:14 <MrBougo> hahahhahahaha the last comic
07:24 <wrtlprnft> pippijn, ct|kyle: I usually check my awaylog. It's not really necessary for me to get the same message four times ;)
07:25 <ct|kyle> would you like them 5 times instead wrtlprnft :D
07:29 -!- epsy [n=epsy@mar75-4-82-227-65-72.fbx.proxad.net] has quit [Remote closed the connection]
07:31 -!- z-man [n=manuel@p50871B97.dip0.t-ipconnect.de] has joined #armagetron
07:32 -!- MrBougo [n=MrBougo@66.241-242-81.adsl-dyn.isp.belgacom.be] has quit []
07:40 -!- ct|kyle [n=kyle@pool-71-97-157-191.aubnin.dsl-w.verizon.net] has quit ["Leaving."]
08:53 -!- Stewie-arma [n=Stewie-a@cpe-76-88-47-247.san.res.rr.com] has quit ["Leaving"]
08:58 <spidey> end of the world = 2012
08:59 <luke-jr> …
08:59 <spidey> the aliens are gonna invade on 2012
08:59 <spidey> duh.
08:59 <luke-jr> retard
09:00 <spidey> u
09:00 <spidey> it's all in the xfiles!
09:00 <spidey> bahah
09:00 <spidey> ok i really need sleep
09:00 <spidey> #night
09:00 <armabot> Good night spidey!
09:00 <luke-jr> me too
09:21 -!- z-man [n=manuel@p50871B97.dip0.t-ipconnect.de] has quit [Read error: 113 (No route to host)]
09:25 -!- ohka|quad [n=quad@82-47-202-172.cable.ubr05.shef.blueyonder.co.uk] has joined #armagetron
10:05 -!- libervisco [n=libervis@tuxhacker/libervisco] has joined #armagetron
10:11 -!- epsy [n=epsy@mar75-4-82-227-65-72.fbx.proxad.net] has joined #armagetron
10:54 -!- z-man-work [n=moos@l23.thp.uni-koeln.de] has joined #armagetron
11:01 <pippijn> hi all
11:08 <pippijn> z-man-work: are you there?
11:14 <z-man-work> yeah, sort of, what's up?
11:14 <pippijn> http://pip.one09.net/files/txt/69aa0fa38ac2f5ea7d68afafd39086ac.txt
11:15 <z-man-work> You didn't do this with a debug build?
11:15 <pippijn> no
11:15 <pippijn> fully optimised
11:16 <z-man-work> Well, of course, in the Trunk, we wanted to get rid of tArray at one point or another anyway.
11:16 <pippijn> replacing it by what?
11:16 <z-man-work> For 0.2.8, too many parts of the system rely on tArray's quirks.
11:17 <pippijn> indeed
11:17 <pippijn> that's the problem
11:17 <z-man-work> well, std::vector would have been our prime candidate
11:17 <pippijn> the entire system relies on tArray being broken by design
11:17 <z-man-work> We've already kicked it  out of tString.
11:17 <pippijn> std::vector is unlikely to be a good alternative
11:18 <pippijn> RemoveAt() is very slow for std::vector
11:18 <pippijn> I used rona's adt::unordered_vector
11:18 <z-man-work> Well, yeah, but our arrays are either small or unsorted.
11:18 <pippijn> for this benchmark
11:18 <z-man-work> aha, that's kind of unfair :)
11:18 <pippijn> no it's not
11:19 <pippijn> it merely subclasses std::vector, adding unordered erase
11:19 <z-man-work> It is if you feed it with data sets the game usually does not use.
11:20 <z-man-work> Ah, so this class basically does what we already do when we remove an element?
11:20 <pippijn> I tried with both <int> and <ePlayerNetID>
11:20 <pippijn> yep
11:20 <pippijn> but it inherits std::vector's speed :)
11:21 <z-man-work> In my defense, std:: wasn't really usable yet back when I started the project :)
11:21 <pippijn> yes, so I heard
11:21 <pippijn> I think it's quite important to phase out the old data structures
11:22 <pippijn> because the longer they stay in, the more code is written that depends on their brokenness
11:22 <z-man-work> Well, I'll have to admit you're right.
11:23 <z-man-work> We'll need to wait for branch 0.2.8 to die almost completely, though, otherwise merging moves one level lower in hell still.
11:23 <z-man-work> (we're currently on about level 3 of merge hell)
11:23 <pippijn> okay
11:24 <pippijn> I'll wait for you to finish hell, so I can start helping out :)
11:24 <z-man-work> heh
11:24 <pippijn> I've been in hell two years ago while reviving and rewriting another game
11:25 <z-man-work> I was a bit surprised (pleasantly, by your courtesy) that you did not complain about our data structures at day 1 :)
11:25 <z-man-work> which game?
11:25 <pippijn> deliantra.net
11:26 <pippijn> used to be crossfire
11:26 <z-man-work> ah, I have heard of that one.
11:27 <pippijn> how long do you think it will take to finish mergehell?
11:29 <z-man-work> We plan 0.2.8.3 to be the last release there. After that's out, there will only be bugfixes.
11:30 <pippijn> m
11:30 <pippijn> what will 0.2.8.3 contain that 0.2.8.2.1 does not contain?
11:30 <pippijn> rotation?
11:30 <z-man-work> I'd say in about two months, we're done. We've got to keep the long time benefit in mind, so if you want to start earlier, we'll freeze earler. We're feature creeping way too much already.
11:30 <z-man-work> No, not rotation, unless someone requests to have it backported.
11:30 <z-man-work> The code isn't that risky, so I would not object.
11:31 <pippijn> "We're feature creeping way too much already" <- what does this mean?
11:31 <z-man-work> Shall I count the guy you're constantly helping here (thanks, btw) as a vote for the backport of rotation?
11:31 <z-man-work> feature creep: adding tons of small stuff just because you can.
11:31 <pippijn> yes, but I would opt for a rewrite of rotation
11:32 <pippijn> the way it currently works is ugly imo
11:32 <z-man-work> Yeah, it's a hack, no doubt about that.
11:32 <pippijn> but really..
11:32 <pippijn> before adding features, I would like to see one codebase that's clean
11:32 <pippijn> and then redo the features, using knowledge from the first attempt of implementation
11:33 <z-man-work> And I'd like to see a codebase without half finished bits.
11:33 <pippijn> and using a correct and clean codebase
11:33 <pippijn> yes, that's a prerequisite for the cleaning activity
11:33 <z-man-work> Sound engine and zone system are in a very sorry state
11:33 <z-man-work> scripting, don't get me started about that.
11:33 <pippijn> scripting should be backed out
11:34 <pippijn> armagetron should stop adding features
11:34 <pippijn> after all, I don't see users crying for feature X and Y
11:34 <z-man-work> Well, a plan to make the codebase cleaner and remove some maintenance nightmares would be to outsource them to scripts.
11:34 <pippijn> armagetron should be finished, then frozen
11:35 <pippijn> and then cleaned
11:35 <z-man-work> Have you had a look at gGame.cpp?
11:35 <pippijn> and then scripting should be added
11:35 <pippijn> uhm.. parts, yes
11:35 <pippijn> only relevant parts for rotation
11:35 <z-man-work> Those are the good bits.
11:36 <z-man-work> Look at the logic that decides when a round/match is over.
11:36 <pippijn> critical features currently under development should be finished
11:37 <pippijn> features that have just been started should be stopped
11:38 <pippijn> in the end, the C++ code should be the part that does the heavy work and everything else, including configuration loading, should be in scripts
11:38 <z-man-work> Yeah, we had some chat about making configuration files basically script files that only do simple things.
11:38 <z-man-work> btw, are you registered at the forum?
11:38 <pippijn> but before we think about scripting, the core should be finished
11:38 <pippijn> then cleaned
11:39 <pippijn> I'm not, no
11:39 <pippijn> http://forums.armagetronad.net/ <- here?
11:39 <z-man-work> yep.
11:40 <z-man-work> It's rather low activity, 5-10 posts per day. Not much of a read.
11:40 <z-man-work> But really important decisions are made there, not here on IRC.
11:41 <z-man-work> That's partly because Lucifer isn't really active on this channel because of his feud-thing with luke, and partly because IRC chat logs are really a bad way to archive decisions, they're so painful to read.
11:42 <z-man-work> And yes, I would support the cleanup project.
11:42 <pippijn> registered
11:44 <z-man-work> And of course, I would support getting you into the team, only in case you want to join, of course.
11:45 <pippijn> I don't know if I have time to be an active member of the team
11:46 <pippijn> if I was a member of every project I have helped out with, I would be coding 24/7
11:48 <pippijn> besides.. when I see that a project is doing well, I usually leave it
11:48 <z-man-work> Ah, we don't mind about that very much. As long as you finish those bits that you start, or see to it that others finish them, any level of activity is fine.
11:48 <z-man-work> oh, a firefigher :)
11:48 <pippijn> yes ;)
11:49 <pippijn> I like cleaning up messes
11:49 <pippijn> I especially like optimising algorithms
11:51 <pippijn> xmpp can be done through scripting
11:51 <z-man-work> That can be quite satisfying. I myself enjoy bugfixing more, though.
11:51 <pippijn> user authentication and server information propagation is not time-critical
11:51 <z-man-work> I don't mind whether it is my code or someone elses, when there is a problem, I like to find the cause.
11:51 <pippijn> yes, so do I
11:52 <pippijn> I also like adding features, but only if the codebase is clean :)
11:52 <pippijn> I've got to go in 3 minutes.. I too have work to get done
11:52 <z-man-work> Yeah
11:52 <pippijn> today is deadline for a project of mine
11:52 <pippijn> I have it almost finished
11:52 <pippijn> it's lovely :)
11:53 <z-man-work> heh, what is it?
11:53 <pippijn> do you know mathcad?
11:53 <pippijn> it's a computer algebra system
11:54 <z-man-work> yeah
11:54 <pippijn> the problem with it is that there is no way of automatically adding formulae
11:54 <pippijn> so I wrote a tool that generates a mathcad worksheet out of a string
11:55 <pippijn> the string must be provided in RPN
11:55 <z-man-work> Eek
11:55 <pippijn> mathcad actually stores its formulae in normal prefix notation
11:55 <pippijn> but an RPN parser takes 20 lines of code
11:56 <pippijn> I initially wanted to write a parser for natural notation
11:56 <pippijn> but there was no time
11:56 <pippijn> okay, I'm 2 minutes late
11:56 <pippijn> cya later
11:56 <z-man-work> cu
12:39 -!- Mixnetwork [n=chatzill@91.66.227.92] has joined #armagetron
12:46 -!- hoop_tron [n=john@ip-195-14.sn2.eutelia.it] has joined #armagetron
12:46 <hoop_tron> hi there
12:47 <hoop_tron> I have a question about SDL
12:47 <hoop_tron> when i move the mouse over my window, it makes the event handling delayed
12:49 <hoop_tron> how do I fix that?
12:57 <StickyNoob> stop movin the mouse over it</unusefull jokes>
12:57 <hoop_tron> oO
12:58 <z-man-work> Is it on OSX?
12:58 <hoop_tron> linux
12:58 <z-man-work> Jonathan is constantly complaining about the event queue on OSX.
12:58 <z-man-work> Does it work in fullscreen mode?
12:58 <hoop_tron> no, same problem
12:58 <z-man-work> And if you don't move the mouse?
12:59 <hoop_tron> it works then
13:00 <hoop_tron> it's not a great problem, since i'm not gonna use the mouse in my program, but I'm curious about it
13:00 <hoop_tron> it tells me tha probably I'm doing something bad
13:00 <z-man-work> Ah, it's your own program?
13:00 <hoop_tron> yea, sorry
13:00 <z-man-work> Do you maybe just pull one event out of the queue per frame?
13:00 <StickyNoob> can you not tell your program not to generate events for the mouse?
13:01 <z-man-work> You need to pull them all.
13:01 <hoop_tron> StickyNoob: I dont think so
13:02 <hoop_tron> i use this -> if (SDL_PollEvent (&iEvent))
13:02 <z-man-work> You can install an event filter that discards useless events, but that may not be of much help. The events will still get generated.
13:02 <z-man-work> Try while() instead :)
13:02 <hoop_tron> :S
13:03 <hoop_tron> hmm, i don't get how
13:03 -!- libervisco [n=libervis@tuxhacker/libervisco] has quit ["I'll be back!"]
13:04 <hoop_tron> I call a function that polls evens every frame
13:04 <hoop_tron> *events
13:04 <z-man-work> You need to call it more often, or replace your if( with while(.
13:04 -!- libervisco [n=libervis@78-1-103-173.adsl.net.t-com.hr] has joined #armagetron
13:04 <z-man-work> If you move the mouse, SDL generates more events than you handle currently.
13:05 <hoop_tron> I see
13:05  * z-man-work is hungry
13:06 <hoop_tron> should i poll events continuously or is better to do that every x range of ticks?
13:07 <hoop_tron> oh, never mind ^^
13:07 <hoop_tron> ok thanks much
13:07 <hoop_tron> haha I must rewrite everything now XD
13:12 <pippijn> z-man-work
13:13 <pippijn> z-man-work: I just looked at tString which subclasses std::string and defines several member functions that are already present with a different name in std::string
13:14 <pippijn> z-man-work: also, some of those algorithms probably don't belong in the class itself (for example the "getextension" thing) but rather in a string algorithm library
13:14 <pippijn> z-man-work: I don't have an opinion on that, though, so they might as well stay inside the string class
13:15 <pippijn> z-man-work: many functions in the string return copies of the string where in-place modification would often make more sense
13:15 <pippijn> z-man-work: clients of that code can always create a copy themselves if they wanted copies
13:16 <pippijn> z-man-work: do you have any ideas on current functionality and future changes regarding this?
13:16  * pippijn goes back to work
13:20 -!- Mixnetwork [n=chatzill@91.66.227.92] has quit ["ChatZilla 0.9.80 [Firefox 2.0.0.11/2007112718]"]
13:34 <hoop_tron> z-man-work: wellll, it works now thank you again ))
13:39 <z-man-work> pippijn: yeah, my instincts today would also tell me to factor all of these functions that don't NEED to be members out of the class.
13:40 <z-man-work> It's again a merging hell thing, the code in 0.2.8 still relies on these functions the way they work now, so if we refactor them now, half (the other half) of the merges would fail on compilation.
13:40 <z-man-work> And of course, I'd rather get rid of the string manipulation via << and + and force clients to just use stringstreams, much better performance that way.
14:06 -!- libervisco [n=libervis@tuxhacker/libervisco] has quit [Connection reset by peer]
14:06 -!- libervisco [n=libervis@tuxhacker/libervisco] has joined #armagetron
15:16 <guru3> z-man-work: the authentication.armagetronad.net should return the usernames now
15:16 <guru3> i'm off to lunch
15:17 -!- deja_vu [n=deja_vu@HSI-KBW-085-216-060-101.hsi.kabelbw.de] has joined #armagetron
15:31 -!- flex [n=savas@host81-158-124-194.range81-158.btcentralplus.com] has joined #armagetron
16:09 -!- libervisco is now known as voice_on_wwf_ple
16:10 -!- voice_on_wwf_ple is now known as libervisco
16:21 <z-man-work> guru3: thanks!
16:21 -!- MrBougo [n=MrBougo@230.195-241-81.adsl-dyn.isp.belgacom.be] has joined #armagetron
16:21 -!- Bougo [n=MrBougo@230.195-241-81.adsl-dyn.isp.belgacom.be] has joined #armagetron
16:22 <Bougo> wth?
16:22 -!- Bougo [n=MrBougo@230.195-241-81.adsl-dyn.isp.belgacom.be] has quit [Client Quit]
16:44 -!- ct|kyle [n=kyle@pool-71-97-157-191.aubnin.dsl-w.verizon.net] has joined #armagetron
17:38 -!- MrBougo [n=MrBougo@230.195-241-81.adsl-dyn.isp.belgacom.be] has quit []
17:43 -!- Stewie-arma [n=Stewie-a@cpe-76-88-47-247.san.res.rr.com] has joined #armagetron
18:06 <epsy> just got my new headphones
18:06 <epsy> dumbass fucking good sound :D
18:07 <xfroggy> O.o
18:07 -!- Manta [n=gentoo@ip24-253-246-242.ok.ok.cox.net] has joined #armagetron
18:09 <xfroggy> well there's someone you don't see so often, especially on #armagetron. Hello Manta.
18:09 <luke-jr> :o
18:09 <xfroggy> O.o
18:09 <Manta> hey :)
18:09 <xfroggy> :D
18:14 -!- Manta [n=gentoo@ip24-253-246-242.ok.ok.cox.net] has quit ["Leaving."]
18:15 <xfroggy> that was fast
18:15 <epsy> haha
18:15 <xfroggy> luke-jr probably scared him off
18:15  * luke-jr shoots at xfroggy
18:15 <xfroggy> :D
18:15  * xfroggy is a matrix material and dodges a bullet
18:16 <luke-jr> "liar!
18:16 <xfroggy> :D
18:16 <z-man-work> One minute after it was fired, that doesn't do too much good.
18:16 <xfroggy> there no I and hence there is no bullet
18:16 <luke-jr> lol
18:19 <Stewie-arma> can I be made of quantum material?
18:20 <z-man-work> Sure. You are.
18:20 <Stewie-arma> yay!!!
18:20 <z-man-work> Just don't try to go around a lamppost both ways.
18:20 <Stewie-arma> awww...
18:20 <Stewie-arma> please can I?
18:21 <z-man-work> You can try, but don't say I haven't warned you.
18:22 <z-man-work> If you succeed, watch out that you interfere with yourself constructively, not destructively.
18:35 -!- K-Yo [n=K-Yo@unaffiliated/k-yo] has joined #armagetron
18:56 <guru3> do you suppose it'd be hard to write something like xterm?
18:57 <luke-jr> guru3: depends
18:57 <luke-jr> if you're using Xlib itself, probably
18:57 <luke-jr> with something like Qt, nah
18:57 <guru3> i specifically wanted something to work with sdl
18:57 <luke-jr> O.o
18:58  * guru3 is thinking of trying to do something very, very specific
19:23 <epsy> what is a « new client » ?
19:23 <epsy> lastet 0.2.8 branch?
19:29 <epsy> lastet 0.2.8-auth ?
19:30 <luke-jr> …
19:34 <epsy> luke-jr, was that adressed to me ?
19:34 <wrtlprnft> epsy: what context?
19:36 <epsy> http://wiki.armagetronad.net/index.php?title=Authentication_for_Players
19:37 <wrtlprnft> latest 0.2.8 branch probably
19:37 <wrtlprnft> --enable-authentication doesn't do anything on the client i think
19:37 <epsy> i guessed so
19:41 <luke-jr> z-man-work: are auth servers aware of their shorthand?
19:41 <luke-jr> or will 'forums' get expanded to 'forums.authentication.armagetronad.net' in the username?
19:42 <luke-jr> (which, btw, is a good reason to support a redirect!)
19:42 <luke-jr> (so I could setup eg 'p.authentication.armagetronad.net' which lets players redirect to any account they like :þ)
19:46 <luke-jr> z-man-work: what if the server doesn't know its own IP?
19:49 <epsy> luke-jr, maybe does the client know it ?
19:49 <luke-jr> not in the case of a badmin attack
19:49 <epsy> ah
19:51 -!- z-man [n=manuel@p508717F8.dip0.t-ipconnect.de] has joined #armagetron
19:52 <luke-jr> z-man: "I found no source for it, but I remember a while back Tank produced a modified client that was able to authenticate over the Krawall protocol with accounts on the forums."
19:52 <luke-jr> didn't we determine that was impossible without the bmd5 hash addition to the forums?
19:53 <z-man> That's why Tank had to modify the client :)
19:54 <luke-jr> ah!
19:54 <z-man> Now, we have the hash addition, so it also works with unmodified old clients.
19:54 <luke-jr> ☺
19:54 <luke-jr> did you see my other comments?
19:54 <luke-jr> [12:46:50] <luke-jr> z-man-work: are auth servers aware of their shorthand?
19:54 <luke-jr> [12:47:07] <luke-jr> or will 'forums' get expanded to 'forums.authentication.armagetronad.net' in the username?
19:54 <luke-jr> [12:47:30] <luke-jr> (which, btw, is a good reason to support a redirect!)
19:54 <luke-jr> [12:48:09] <luke-jr> (so I could setup eg 'p.authentication.armagetronad.net' which lets players redirect to any account they like :þ)
19:55 <luke-jr> [12:51:42] <luke-jr> z-man-work: what if the server doesn't know its own IP?
19:55 <z-man> The master servers tell them what it is.
19:55 <epsy> hm, that's not it :P
19:55 <luke-jr> does everything blow up if TALK_TO_MASTER is 0?
19:56 <luke-jr> or if the player connects over LAN?
19:56 <epsy> z-man, what is a « new client » ? :)
19:56 <z-man> There is special code for the LAN.
19:56 <z-man> new client == one with support for md5, not just bmd5
19:56 <luke-jr> z-man: ah, does it whitelist link-local IPs?
19:56 <z-man> Yes, if you tell it to.
19:57 <luke-jr> i c
19:57 <epsy> and, in practise, i should use a  recent client from 0.2.8-auth ?
19:57 <z-man> By default, it doesn't, but when authentication fails because of an unknown IP, you get an error message telling you you should enable the setting if you trust users on the LAN.
19:57 <luke-jr> z-man: an idea might be to allow any IP on local interfaces too?
19:58 <luke-jr> possibly requiring the client to identify its own local IP and checking that
19:58 <z-man> The standard private IPs are recognized.
19:58 <z-man> Umm, I don't know what you mean then.
19:59 <luke-jr> allowed "I am connecting to" = { master-server-says-this-is-my-IP, eth0 IP, eth1, IP, … }
19:59 <z-man> epsy: currently, it does not matter. The 0.2.8-auth client should prove to be more secure
19:59 <epsy> ok
19:59 <luke-jr> and if "I am connecting to" is link-local, require the client verify that "I am connecting from" matches the remote client's real IP
20:00 <z-man> How should the client know to which interface on the server it is connecting?
20:00  * luke-jr hopes the IP verification is outside the hashing
20:00 <luke-jr> the client doesn't need to ☺
20:00 <z-man> And how would one generally detect "local" clients?
20:00 <luke-jr> local clients won't go through NAT
20:00 <z-man> yes, the IP is also transmitted verbatim, so you don't just get an "PASSWORD_FAIL" error :)
20:01 <z-man> That requires there being a NAT in the first place.
20:01 <z-man> Go away with your odd network setups :)
20:01 <luke-jr> client: I am connecting to 2.4.3.2; server: ok, that's me, use it in the hash
20:01 <luke-jr> client: I am connecting to 192.168.1.1 from 192.168.2.3; server: ok, that's me and you, use it in the hash
20:02 <z-man> Ahhh, yes, that works already :)
20:02 <z-man> You just have to use SERVER_IP accordingly.
20:03 <luke-jr> it won't read the IPs it binds?
20:03 <z-man> No, how could it?
20:03 <luke-jr> …
20:03 <luke-jr> however ifconfig does ☺
20:03 <z-man> You bind to either a specific IP or to all IPs.
20:03 <luke-jr> or to 0.0.0.0
20:03 <z-man> ifconfig is doing some linux-specific stuff.
20:03 <z-man> Isn't that all IPs?
20:03 <luke-jr> we could go Linux-only on that feature :þ
20:03 <z-man> Yes :)
20:03 <luke-jr> 0.0.0.0 is ANY, IIRC
20:03 <z-man> That's what I mean.
20:04 <z-man> The one generic way to enumerate all IPs of a system is to look up its own hostname.
20:04 <luke-jr> and when there's no NAT involved (link-local subnets), it would be sensible to verify that remote-host is what the client says its IP is
20:04 <luke-jr> so the client should send and hash its source IP too
20:05 <z-man> That's what we do for "SERVER_IP ALL", currently. It requires a proper setup, however, which not all standard installations supply.
20:06 <luke-jr> even if we don't code the server side of the client-IP-check, the client can send/hash it for such future checking
20:07 <z-man> Umm, I don't understand how what you're suggesting differs from what happens now.
20:07 <z-man> The client already tells the server what IP it think the server has.
20:07 <luke-jr> I know
20:07 <luke-jr> but what i'm suggesting is
20:07 <luke-jr> the client tells the server what IP it thinks itself (the client) has
20:07 <z-man> Ah, but it doesn't usually know that.
20:07 <luke-jr> why not?
20:08 <z-man> For the same reason the server usually doesn't know :)
20:08 <luke-jr> once you send a packet, your source IP should be accessible
20:08 <z-man> Nope.
20:08 <z-man> Only to the remote end.
20:08 <luke-jr> I know Winsock supports it!
20:08 <luke-jr> what are we using for networking?
20:09 <luke-jr> BSD sockets?
20:09 <z-man> On Unix, of course :)
20:09 <luke-jr> we have different code for Windows?
20:09 <z-man> Marginally different, yes.
20:10 <z-man> The translation from BSD to Winsock is mostly just different names (handled by #defines) and different error reporting.
20:11 <luke-jr> 1 min, looking for the API
20:12 <luke-jr> getsockname I think
20:13 <luke-jr> yeah
20:14 <z-man> guru3: sure you added the username thing correctly? I just get "PASSWORD_OK\n" as a response, still.
20:14 <luke-jr> O.o
20:15 <z-man> yes, getsockname will usually return the address you bound to.
20:15 <luke-jr> which occurs when you connect() IIRC
20:15 <luke-jr> or maybe when you send for UDP
20:16 <luke-jr> should tell you which IP you sent the packet from
20:16 <z-man> that "maybe" probably rather is a "not" :)
20:16  * z-man goes to test it
20:28 <z-man> As expected, a "no".
20:28 <z-man> UDP is fire and forget all through.
20:30 <luke-jr> hrm
20:30 <luke-jr> pretty sure there is some way
20:30 <luke-jr> are we calling connect()?
20:32 <z-man> No, it's a NOP for UDP.
20:33 <luke-jr> http://support.microsoft.com/kb/129065
20:33 <luke-jr> not on windows
20:33 <luke-jr> nm
20:34 <luke-jr> BSD-derived have connect() work
20:34 <z-man> Oh yeah, it's not a NOP, but it's also definitely not what we want on the server.
20:34 <luke-jr> it'd be the client doing it
20:35 -!- Mixnetwork [n=chatzill@91.66.227.92] has joined #armagetron
20:35 <Mixnetwork> hi all
20:35 <luke-jr> (could always create a dummy socket just to get this info too)
20:36 <z-man> Well, and most our clients are Windows, where your procedure does not work.
20:36 <z-man> And it also does not work for servers/clients behind a NAT or port forwarding thingie.
20:36 <z-man> In other words, it almost never works.
20:37  * luke-jr notes it only says Windows NT/98
20:39 <luke-jr> z-man: also, do authorities pay attention to the IPs at all? wouldn't want to make this be a problem when/if we get IPv6 support ;)
20:40 <z-man> The authorites don't look at IPs, they have no reason to :)
20:40 <luke-jr> ☺
20:40 <z-man> The article also says "This behavior is by design."
20:40 <luke-jr> well, I know back on Windows 98 I was getting source IPs from the Winsock OCX in Visual Basic :þ
20:42 -!- Mixnetwork_ [n=chatzill@91.66.227.92] has joined #armagetron
20:43 <Mixnetwork_> ooops my inet got lost
20:43 <Mixnetwork_> hi
20:43 <Mixnetwork_> again
20:43 <Mixnetwork_> lol
20:43 <Mixnetwork_> anyone experience with server version 3
20:44 <luke-jr> no such thing
20:44 <Mixnetwork_> i installed it her lcal but after a while it crashes always, i have maprotation activated, its the windows version
20:54 <xfroggy> fish
20:54  * luke-jr doesn't support old versions or windows
20:55 <xfroggy> or anything at all :D
20:55 <luke-jr> xfroggy: stfu
20:55 <xfroggy> lmfao
20:58 <pippijn> good evening
20:59 -!- Mixnetwork [n=chatzill@91.66.227.92] has quit [Read error: 110 (Connection timed out)]
21:02 <z-man> luke-jr: you mean, you don't support FUTURE versions :)
21:02 <luke-jr> z-man: that either
21:02 <luke-jr> nor fictional versions
21:03 <z-man> Anyway, what good would it be if the client knew its IP?
21:03 <luke-jr> since 3.0 will probably be once Windows is defeated
21:03 <luke-jr> z-man: allows the server to validate that too
21:03 <z-man> That's no additional security :)
21:04 <z-man> A malevolent client can just send a fake IP, and the server already knows the client because the client is the one knowing the secret password.
21:04 <luke-jr> it is
21:04 <luke-jr> oh
21:04 <luke-jr> but
21:04 <luke-jr> if the client says it is 192.168.1.6
21:04 <z-man> Give one attack that can be thwarted by the client sending its IP.
21:04 <luke-jr> and the server knows that it isn't…
21:05 <z-man> My bad client will just tell the server what it wants to hear.
21:05 <luke-jr> badmin that can be a man in the middle only partially
21:05 <luke-jr> your bad client would need to hash that too
21:06 <z-man> I need details of your attack.
21:06 <pippijn> what are you discussing?
21:06 <Stewie-arma> your mom'
21:07 <z-man> Luke thinks the client should send the IP it think it has to the server for added security.
21:07 <z-man> I say it adds no real new security, and only makes things more complicated.
21:07 <z-man> Especially in those many cases where the client can't know its own IP.
21:07 <pippijn> such as in my case
21:08 <Stewie-arma> and also if their IP changes...
21:08 <z-man> So I'm challenging luke to give an example attack that can be prevented if the client also sends its IP.
21:08 <z-man> Stewie-arma: then the connection is lost :)
21:08 <Stewie-arma> exactly...
21:09 <z-man> That's not a security problem, and can't be fixed properly, not with much more effort than YOU JUST MAKING SURE YOUR IP DOES NOT CHANGE while you play :)
21:09 <pippijn> connection..
21:09 <Stewie-arma> lol
21:10 <pippijn> what is a connection in terms of datagram protocols?
21:10 <Stewie-arma> but my ip does change while I play...
21:11 <z-man> Stewie-arma: that's your problem, then. Even here, we get forced IP resets by a retarded ISP only once every 24 hours.
21:12 <z-man> pippijn: well, arma server and client build a connection with a protocol that sits on top of datagrams.
21:12 <pippijn> and the IP is used to tell apart clients?
21:12 <z-man> And yes, it would be possible to move this connection to a new IP on one end if that changes, but it would not be possible to do so securely without true cryptography.
21:12 <z-man> IP and port, yes.
21:12 <pippijn> okay
21:13 <pippijn> cryptography would likely slow everything down
21:13 <z-man> Precisely. And blow up packets; you can't truly encrypt packets that are too small.
21:13 <pippijn> yes
21:13 <pippijn> indeed
21:15 <z-man> Of course, only parts of it would need to be encrypted, and it would be a good idea to have encryption with public/private key pairs for truely secure logins.
21:15 <z-man> But right now, our logins are already more secure (the design is, the code may not) than the web login procedure to our forums, so why bother?
21:24 -!- deja_vu [n=deja_vu@HSI-KBW-085-216-060-101.hsi.kabelbw.de] has quit ["brb"]
21:24 -!- deja_vu [n=deja_vu@HSI-KBW-085-216-060-101.hsi.kabelbw.de] has joined #armagetron
21:26 <guru3> z-man: no, i'm not sure
21:26 <luke-jr> wow, does arma really support players with IPs changing like that?
21:26 <guru3> i shall double check
21:27 <z-man> No, it doesn't support that :)
21:27 <z-man> It could, but only with a lot of extra error prone coding.
21:28 <deja_vu> MWAHAHA
21:28  * deja_vu just hotplugged his wacom tablet >:D
21:28 <armabot> armagetronad: z-man * r7714 /armagetronad/branches/0.2.8-auth/armagetronad/src/engine/ePlayer.cpp: Client compiled with --enable-armathentication compiles again (why would a sane person do that?)
21:28 <guru3> z-man: try it now
21:28 <z-man> We're all proud of you, deja_vu!
21:29 <deja_vu> thank you, z-man :)
21:33 <z-man> guru3: works. Is it on purpose that the name is returned in lowercase?
21:33  * z-man needs to adapt the code, it actually expects the full authority name, while it should be content with the short version.
21:33  * z-man wants to be Z-Man, not z-man, *sob*
21:33 <guru3> z-man: it's running what you wrote
21:34 <guru3> i know nothing of problems with case
21:34 <z-man> It's not a problem per se :)
21:34 <z-man> It's a question of defining what the real username of a forum user should be.
21:34 <guru3> i don't remember seeing anything that would change the case
21:34 <guru3> i would try it
21:35 <guru3> if firefox hadn't lost my one working login line
21:35 <guru3> oh wait
21:35 <guru3> i may have it
21:35  * guru3 switches seats
21:37 <z-man> It doesn't matter whether the name is returned uppercase, lowercase or exactly as the user entered it when he registered, as long as it is consistent and never changes.
21:37 <guru3> hmmm
21:38 <guru3> z-man: it's got you in the database
21:38 <guru3> as lowercase
21:38 <z-man> oh, odd.
21:39 <guru3> i changed it
21:39 <guru3> try it now
21:39 <z-man> You can't run around and change everyone's name in the database!
21:39 <guru3> no
21:39 <z-man> Oh, heh, my bad :)
21:39 <guru3> but you wanted it to be Z-Man
21:39 <guru3> so i changed your name specifically
21:40 <z-man> I thought it was Z-Man, odd.
21:41 <z-man> Yep, it's Z-Man now.
21:41  * z-man hopes nobody notices the change
21:41 -!- Mixnetwork__ [n=chatzill@91.66.227.92] has joined #armagetron
21:41 -!- Mixnetwork__ is now known as Mixnetwork
21:42  * z-man sings to distract everyone
21:42 <guru3> lol
21:42 <z-man> Thanks, by the way :)
21:42 <guru3> np
21:42  * pippijn is thinking of ways to create more efficient data structures
21:43 <epsy> omg omg
21:43 <pippijn> glibcxx's std::vector is quite fast but it's not at its fastest
21:43 <epsy> omg omg
21:43 <epsy> z-man renamed to Z-Man
21:43 <epsy> huh
21:43 <z-man> LA-LA-LA
21:43 <epsy> :D
21:43  * epsy presses next song button
21:43 <z-man> pippijn: don't get lost in details.
21:43 <guru3> Hardly.
21:44 <pippijn> z-man: I have nothing to do
21:44 <z-man> Isn't it one of the requirements of std::vector that the elements must lie in memory one after the other?
21:45 <pippijn> yes
21:45 <z-man> Leaving very little room for data structure optimization?
21:46 <pippijn> insertion is not at its fastest
21:46 <pippijn> I wrote a vector that is about 7 times faster on insertion
21:46 <pippijn> (push_back)
21:46 <z-man> Ok....
21:47 <z-man> (never argue with results)
21:49 <epsy> wondering if pressing the play/pause next soung /previous song buttons will work on my pc
21:50 -!- Mixnetwork [n=chatzill@91.66.227.92] has quit [Read error: 104 (Connection reset by peer)]
21:50 -!- rebel_eclipsed [i=PureSimp@S01060050bf781fb9.ed.shawcable.net] has joined #armagetron
21:59 -!- Mixnetwork_ [n=chatzill@91.66.227.92] has quit [Read error: 110 (Connection timed out)]
21:59 <pippijn> z-man: std::vector does some copying that is not strictly necessary
22:01 <z-man> For example? (just curious)
22:03 <pippijn> push_back makes a copy of its argument
22:03 <pippijn> besides, push_back is quite efficient, but it was written to be general
22:03 <pippijn> or uhm.. generic
22:03 <armabot> armagetronad: z-man * r7715 /armagetronad/branches/0.2.8-auth/armagetronad/src/network/ (nAuthentification.cpp nKrawall.h nKrawallPrivate.cpp): Correctly check for the shorthand authority name when checking the authentication server's response.
22:04 <pippijn> it uses insert(iterator, T const &) with end () as iterator
22:05 -!- xfroggy [n=xfroggy@unaffiliated/xfroggy] has quit [Remote closed the connection]
22:05 <pippijn> std::reverse_iterator is also generic
22:05 <pippijn> it could have been specialised and optimised for std::vector
22:05 <pippijn> which is what I did
22:06 <pippijn> stdlib is good.. it's generic and relatively efficient
22:06 <pippijn> but for highest performance, it's not so good
22:06 <pippijn> vector should be a thin wrapper around a T*
22:09 <z-man> Ah yes.
22:10 <pippijn> stdlib allocators are an interesting aspect
22:12 -!- rebel_eclipsed [i=PureSimp@S01060050bf781fb9.ed.shawcable.net] has quit []
22:13 <pippijn> my vector doesn't use them
22:42 -!- flex [n=savas@unaffiliated/savas] has quit [Read error: 104 (Connection reset by peer)]
23:06 <luke-jr> http://www.w3.org/Protocols/HTTP/AsImplemented.html
23:39 -!- flex [n=savas@host86-143-115-123.range86-143.btcentralplus.com] has joined #armagetron
23:43 <flex> wrtlprnft here?
23:46 <cusco> http://reddit.com/r/programming/info/675jj/comments/
23:46 <cusco> rms has his own version of chucknorris facts
23:46 <cusco> Richard Stallman's compiler is afraid to report errors
23:46 <cusco> rms can program chuck norris' death
23:46 <cusco> Richard Stallman wrote the compiler God used. The Big Bang  was the Universe's first segfault.
23:46 <cusco> That's because Stallman never showers: he runs 'make clean'.
23:48 <pippijn> is merge sort supposed to be fast?
23:48 <pippijn> I implemented quicksort and merge sort..
23:49 <pippijn> maybe my implementation of merge sort sucks
23:49 <pippijn> but it's 400 times slower than my quicksort
23:50 <cusco> I would say
23:50 <cusco> tar it all up
23:50 <cusco> then use split
23:50 <cusco> ppp[s
23:50 <cusco> sorry
23:50 <cusco> it was not here
23:51 <luke-jr> wtf
23:53 <cusco> the rms list?

View entire month
DISCLAIMER: These logs of public chat may contain some content which may not be appropriate for all audiences. Use at your own risk.
Logs from 2006-2009 pulled from wrtlprnft
Format changes at: 2015-08-25, 2017-02-20, and 2020-03-23. Times (2015 and later) should be Eastern.


 
 
 ArmaNelgTron.tk
 © NelgTron 2014-2024. Made for . [About this site] [Credits]