Sunday, 2007-11-18

*** tpb has joined #tp00:00
*** ChanServ sets mode: +o tpb00:00
CIA-10mithro tpserver-cpp * r1560bf6821b7 /modules/games/minisec/ (minisec.cpp minisec.h):00:02
CIA-10Added a better way for name generation.00:02
CIA-10Added support so that the generator continues even if it runs out of predefined names.00:02
CIA-10Added support for reading system names from a file.00:02
CIA-10mithro tpserver-cpp * r0d6f214bac8d / (5 files in 2 dirs): Merge with git://git.thousandparsec.net/git/tpserver-cpp.git00:02
mithrollnz: take a look at that?00:13
llnzback, looking00:30
CIA-10llnz tpserver-cpp * r0fbab3059690 /modules/games/minisec/ (minisec.cpp minisec.h sample.conf):00:34
CIA-10Moved Names class decl to minisec.cpp, documented new setting.00:34
CIA-10Just a little clean up.00:34
mithrollnz: How can the createSystems method know about the Names class decl if it's not defined in minisec.hpp?00:38
llnzit knows it's a pointer00:38
llnzand the name of the class00:38
llnzand it still sees the decl before the method itself is compiled00:39
llnzas do all calling methods/functions00:39
mithrookay00:40
mithrothose classes probably make sense for a number of rulesets00:40
llnzi know00:40
llnzi will add it to my list of things to do00:41
llnzmithro: does tpserver-py store a copy of each object each turn?01:12
mithrollnz: no01:13
llnzonly when it changes?01:13
mithroyes01:13
mithroand then only the changes01:13
llnzindexed on the turn number?01:14
llnzoh01:14
mithrowell it will :)01:14
mithroit uses smart sql01:14
mithroso that it only gets the latest "version" of each attribute01:15
mithroplayers then point to the latest "version" they can see01:15
mithrobut this is all in theory01:16
mithrollnz: does that make sense?01:18
llnzyeah01:18
mithroI got part way though implimenting it when I had the accident with rm -rf about 4-5 months ago01:18
llnzhehe01:19
llnzin the short term, i think i'll store a whole copy for changed object01:19
mithrollnz: you can now have much bigger universes on tpserver-cpp with those patches01:19
mithrollnz: it would be nice if you didn't touch every fleet each turn01:20
* llnz notes it doesn't take much for an object to change01:20
llnzevery fleet each turn?01:20
llnzif the fleet has no orders, then it won't be touched01:20
llnzif an object changes container, then the object, the previous parent, and the new parent all change01:22
mithrollnz: even static fleets with no orders seem to be touched01:24
llnzhumm... i wonder if they get recontainerised each turn...01:24
mithroit's not hugely important at the moment01:25
CIA-10mithro tpclient-pywx-development * r8948f520b391 /extra/wxFloatCanvas/FloatCanvas.py: Always use the older method which doesn't seem to segfault.01:26
CIA-10llnz tpserver-cpp * r04e8ebf5fd91 /modules/persistence/mysql/ (5 files):01:31
CIA-10Removing dead files from TpMysql module.01:31
CIA-10Please re-run autogen.sh and configure. TpMysql module still not compiling.01:31
CIA-10llnz tpserver-cpp * rfe79be1d884a /tpserver/ (object.cpp object.h):01:39
CIA-10Added getter/setter for IGObject's description.01:39
CIA-10Needed to persist the description. Would also be helpful to set it.01:39
mithrollnz: I wasn't sure where those std::string helper functions should go either01:40
llnzi saw from the comments01:41
llnzi don't really have a place for it currently01:41
llnzwill have to think about it01:41
mithroI have a bunch more like "rstrip", "lstrip", "endswith"01:41
mithromakes working with std::strings that little bit easier01:42
llnzok01:43
mithroit's a bit frustrating that the std::string doesn't have these type of methods01:44
CIA-10mithro tpclient-pywx-development * rd07ecc4c1ef2 /windows/main/overlays/ (Path.py Systems.py): Put things in the background so that hittesting is suitable fast with 1000's of systems.01:49
mithrollnz: did you hear that nash is coming to lca?01:49
llnznope, cool!01:52
mithrollnz: so I think we can finalise tp04 at LCA02:01
mithroby then we should have better information about how the object parameter stuff is working02:01
mithrohrm - I think i have found a bug in tpserver-cpp02:04
llnzok, cool02:04
llnzoh?02:04
mithro1 ai seems to run fine with 500 systems (each with 1 planet)02:05
mithrobut if I get 5 to connect at once, they never seem to be able to download the universe02:05
llnzwhat appears to be the problem?02:06
mithroand then if I kill the tpsai-py's tpserver-cpp seems to just sit at 100%02:06
llnzanything on tpserver-cpp's console?02:07
mithrojust02:07
mithro2007-11-18 17:40:05 < Error > underlying write, tcp, error is: Bad file descriptor02:08
mithro2007-11-18 17:40:05 < Error > Socket error writing02:08
mithroI think you are flooding the outgoing buffers?02:08
llnzhow many of those pairs of lines do you see?02:09
llnzmaybe, but i wouldn't thought so02:09
llnzshould be 5 pairs of lines02:10
mithroway more then that02:10
llnzok02:10
mithroseems to be spending a load of time in02:15
mithro#15 0x0810a6f0 in PlayerAgent::processGetObjectById (this=0x8199e10, frame=0x8415dc8) at playeragent.cpp:22902:15
CIA-10llnz tpserver-cpp * r4006b3d4cdb3 /tpserver/playertcpconn.cpp:02:16
CIA-10Fix mithro's Bad file descriptor on write bug.02:16
CIA-10Keeps trying to send data after the client has disconnected and incorrect02:16
CIA-10file descriptor set (along with status =0)02:16
llnzi think you might be pipelining too much02:16
mithrollnz: hrm?02:16
llnzbut that should help02:16
mithrowhy does one tpsai-py take about 5-10 seconds02:18
mithrowhile 5 ai's never seem to finish?02:18
llnzif all the requests arrive at the same time, then the first request from each client is processed02:18
llnzreturn frames are queued if they can't be sent immediately (non-blocking write)02:19
llnzin the next cycle (select loop), the next client request is processed and the writes done, if possible02:19
llnzetc02:19
* llnz wonders if the writes happen first, or the reads02:19
mithrollnz: but it should still only take a minute or two right?02:20
llnzyeah02:20
mithroare you dequeueing a bunch of packets at once02:20
llnzwrite queue is processed first...02:20
mithroor just a single one?02:20
mithrotpserver-cpp isn't consuming a massive amount of memory or anything02:21
llnzas many as possible, until given EWOULDBLOCK02:21
mithrollnz: shouldn't you be using a stl list rather then a stl set?02:22
llnzorder is not important, but uniqueness is, hence 'set'02:23
mithroit seems to be spending a lot of time balancing the red-black tree that impliments a set02:23
mithroa set is a log(n) insertion and removal02:23
llnzwhereas list is O(n) for insertion and removal where uniqueness is important02:24
mithrowhy is uniqueness important?02:25
llnzbtw: which set are we talking about?02:25
mithro#15 0x080cdb48 in _Rb_tree (this=0xbfeaa9d0, __x=@0x81833ac) at /usr/include/c++/4.1.3/bits/stl_tree.h:57002:26
mithro#16 0x080cdbe0 in set (this=0xbfeaa9d0, __x=@0x81833ac) at /usr/include/c++/4.1.3/bits/stl_set.h:20802:26
mithro#17 0x08113b7c in PlayerView::getVisibleObjects (this=0x81833a8) at playerview.cpp:10802:26
mithro#15 0x080cdfd8 in _Rb_tree (this=0xbfd42050, __x=@0x82b1e6c) at /usr/include/c++/4.1.3/bits/stl_tree.h:57002:29
mithro#16 0x080ce070 in set (this=0xbfd42050, __x=@0x82b1e6c) at /usr/include/c++/4.1.3/bits/stl_set.h:20802:29
mithro#17 0x0811488c in PlayerView::getVisibleObjects (this=0x82b1e68) at playerview.cpp:10802:29
mithroeverytime I do a ctrl-C it seems to end up there02:31
mithroany idea why?02:32
llnzodd02:34
llnzoh, it returns a copy of the set02:36
llnzthat method is hit everytime there is something to do with getting an object, or the list of object ids02:36
CIA-10llnz tpserver-cpp * r06bd5bb5371e /tpserver/playeragent.cpp:02:40
CIA-10Don't grab a copy of the list if you can just ask if the object exists.02:40
CIA-10In PlayerAgent::processGetObjectById, don't get the list of visible object02:40
CIA-10ids to see if the object is visible, just directly ask PlayerView if it is02:40
CIA-10visible. Should make Get Object (by id) frames faster.02:40
llnztry that, should help02:41
mithrollnz: testing now02:43
mithrollnz: you could test locally to see if you can get the same results?02:45
mithrollnz: I'm wondering if maybe there is a bug in the libtpproto-py code which is causing it to continually re-send the frame02:46
llnzwill test here shortly02:55
mithrookay02:56
mithrollnz: atleast it isn't getting stuck in the same place...02:56
llnzok02:57
mithroohh... got a segfault03:01
mithroweird03:01
mithro2007-11-18 18:35:06 < Info  > Accepting new tp (tcp) connection03:01
mithrotpserver-cpp> turn end03:01
mithroProgram received signal SIGSEGV, Segmentation fault.03:01
mithro[Switching to Thread -1212881216 (LWP 14735)]03:01
mithro0x082de46d in ?? ()03:01
mithro(gdb) bt03:02
mithro#0  0x082de46d in ?? ()03:02
mithro#1  0x080c172f in Network::masterLoop (this=0x813c278) at net.cpp:32503:02
mithro#2  0x080b1d44 in main (argc=3, argv=0xbfd46494) at main.cpp:13503:02
mithro(gdb) cont03:02
llnzfun03:02
llnzok, normal number of planets is working ok for me03:04
mithronormal numbers work fine03:05
mithroit's just with 500 planets or more03:05
mithroand a single ai works fine03:06
mithroit's just 5 ais03:06
llnzhehe, have a look at the metaserver :-)03:07
mithroOkay I turned on debugging on the ai03:11
mithroand it seems something to do with the order downloads03:11
llnzone of the libraries tries getting the orders for *every* object03:12
llnzoh03:14
mithrooh?03:14
llnzand i think you are trying to get all the objects at the same time03:14
llnzmyabe?03:14
mithroit is sending an order request for every object03:15
mithrobut again, 1 ai works03:15
llnzie, a getObjectsById with every id in it03:15
mithromultiple don't03:15
llnzhehe, tpserver-cpp using 1059M virt, 871M res03:16
llnztpsai-py 80-104M virt, 28-35M res03:17
llnzswap *is* being used03:17
mithrowhy?03:20
llnzi don't know what's going on03:20
mithrowhen I sort by memory tpserver-cpp doesn't even show up on my laptop03:21
llnzodd03:24
llnzi've restarted with just one ai this time, and it's really up to 1GB03:24
llnz(res)03:24
mithronot seeing that at all locally03:26
mithrohow many planets/systems?03:26
llnzodd03:26
mithroI have 500 planets, 1 per system03:26
llnz500 systems, 1 or 2 planets per system03:26
llnzi'm seeing a lot of "Read data not the length needed, delaying read" messages03:29
mithrowhere?03:30
llnznetstat -l suggests that tpserver-cpp is reading data quicker than tpsai-py is sending03:31
llnztpserver-cpp log messages03:31
mithrollnz: maybe I should turn on debugging03:31
mithro(on tpserver-cpp)03:31
llnzyeah, maybe03:31
llnzouch, over 327678 frames in the send queue03:36
mithrowow :P03:37
llnzyeah03:37
mithrowhy is there that many?03:37
*** peres has joined #tp03:37
llnztakes a while to delete them03:37
llnzhumm... no iidea03:37
llnzmaybe an  EOT starrtedd the process again03:37
mithroI'm seeing some strange results03:40
llnzso am i03:40
llnzthe send queue isn't getting smaller over time03:41
mithrolike I have all the objects and still have many kilobytes of data still in the buffer03:41
mithro[01;31mReceived: \xff\xebo\xb7\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00k\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00G\x3f\xf6\x24\x00\x00\x00\x00\x00\x00\x00\x00TP03\x00\x00\x00\x29\x00\x00\x00\x07\x00\x00\x00\x7b\x00\x00\x00k\x00\x00\x00\x03\x00\x00\x00\x13System 47\x2c Planet 1\x00\x00\x00\x00\x00\x00\x00\x02\xff\xff\x03:44
mithroff\xffkY0\xc0\xff\xff\xff\xff\xebo\x2f\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0003:44
mithro[0mRecieved Left: 15298503:44
mithro_recvBytes-s 168 False 15298503:44
mithro_recvBytes-e 168 False 15281703:44
mithro[01;31mReceiving: <Fleet @ 1012>03:44
mithrowhy would I be receiving things which reference "System 47 Planet 1" when I have just recieved Fleet 1012?03:45
peresstupid suggestion: are you guys using tcp or udp for connection?03:46
llnztcp03:46
peresok, so it's reliable order03:47
llnzyes03:47
perescan it be overflowing (and thus overwriting) previous stuff in the circular buffer?03:48
llnzshouldn't be03:48
llnzthe frames appear to be arriving intact03:48
pereswell, overflowing should happen on your side, not on server's03:49
peresso packets would arrive in good health03:49
mithrooh, I think I may have found atleast one bug in libtpproto-py03:50
mithroyeah, I have found a bug in libtpproto-py03:52
mithroif frames are bigger then the buffer length03:52
* peres feels so proud of his intuition :P03:53
mithroperes: well, it's unrelated to overflowing/underflowing03:55
peresok ok, just trying to pretend03:55
mithrojust a stupid logic error03:55
mithrollnz: it appears it was my fault03:55
pereson the other way, if your frame doesn't fit in your buffer, that is called overflow :P03:55
mithroperes: the problem was the following code03:58
mithrollnz: give that a shot03:59
CIA-10mithro libtpproto-py * r99c9176347e3 /tp/netlib/common.py: Always remove a packet when we queue it (instead only if we sent enough data).03:59
mithroperes: I put the pop from a queue in the wrong place04:00
peresi see04:00
mithroI queued the frame, checked to see if I had space to queue more frames and then poped the queued frame04:02
mithroinstead of04:02
mithroI queued the frame, poped the queued frame, checked to see if I had space to queue more frames04:02
mithrollnz: ping?04:09
llnzpong04:10
peresi was looking at the video in the subject: are those changing lights planets being conquered by different races?04:11
llnzmithro: that made a big difference04:15
llnzperes: each colour is a different player, and when an area is lit up, the planet in the middle is controlled by the player who's colour it is04:16
llnzso, yet04:16
llnzs/yet/yes/04:16
mithrollnz: cool04:16
peresis it on fast forward? or is the game so fast?04:16
mithrollnz: i want to do a 1000 planet battle with 5 ai soon04:17
mithrowith recording the positions04:17
mithroperes: it's on 10 turns per second04:17
llnzmithro: cool04:17
llnzi have started 5 ai on my 500 system (approx 750 planets)04:17
mithrookay04:19
llnzwill (either) tpclient-pywx handle that universe?04:21
mithroyeah, both should04:22
mithrotpclient-pywx stable looks very cluttered04:22
mithrotpclient-pywx-dev seems to work a bit better, but it quite a bit slower (i'm yet to optomise it)04:23
llnzvery cluttered is a bit of an understatement04:23
mithrollnz: just zoom in a bit :)04:23
llnzyeah04:23
mithrothe dev client is a bit better to use in that regard04:24
*** _peres_ has joined #tp04:26
*** peres has quit IRC04:26
*** _peres_ is now known as peres04:26
peresi'm trying the python client, but i get an error from requirement.py04:29
peresNameError: name 'system' is not defined04:29
peresi'm on windows04:29
mithroperes: from git?04:35
peresno, website04:35
mithroexe file?04:38
mithroor source?04:38
mithroif you are trying source then you should probably use git/cvs04:39
peresi downloaded the source code04:39
mithroyeah, the source code probably doesn't run on windows04:40
mithrohttp://www.thousandparsec.net/wiki/Win_Setup04:40
tpbTitle: Win Setup - Thousand Parsec Wiki (at www.thousandparsec.net)04:40
mithrogive that a try?04:40
mithrobblr dinner04:40
llnz196 planets conquered so far04:45
llnz23004:46
llnz26004:49
llnz30004:52
llnzit takes a few seconds to do the end of turn now04:54
llnz35004:55
llnzturn started :3204:59
llnzmove processing finished :3405:00
llnzcombat started :3605:00
llnzturn finished :3605:00
llnz41005:00
llnz4 seconds to do the end of turn05:02
llnzjust had the turn length longer as the AI's don't appear to be keeping up05:02
llnz(from 90 to 120 seconds)05:02
llnz46005:03
llnz53005:10
llnznearly 2000 objects in play05:10
mithrollnz: yeah, the tpsai-py is not very efficent05:15
llnzneither is tpserver-cpp05:15
mithroanyway, gf is over so have to run05:15
llnzok, cya05:15
mithrotpsai-py is very inefficent :P05:15
mithrotpclient-pywx isn't too bad05:15
llnz580 planets05:16
mithrotpserver-py is pretty good (apart from turn processing)05:16
llnzturn processing is getting slower and slower05:16
llnzespecially the setup for combat (finding the combat areas)05:17
mithroit should only be order n?05:18
llnzabout nlogn i think05:20
llnzit's basically a massive search05:20
llnza lot of the time, the result is thrown away because there is no combat05:21
llnzgoing to have to think about it some more05:21
llnz"The Universe currently has 2072 objects"05:22
llnz620 planets05:24
llnzoh, i have a pywx-dev screen shot, btw05:25
mithroupload it to your public_html :P06:21
llnzwill do06:21
llnzhttp://code.thousandparsec.net/~lee/tpserver-cpp-starmap-pywx-dev-500-sys.png06:23
tpb<http://ln-s.net/1-C6> (at code.thousandparsec.net)06:23
llnzhttp://code.thousandparsec.net/~lee/tpserver-cpp-starmap-pywx-dev-500-sys2.png06:23
tpb<http://ln-s.net/1-C7> (at code.thousandparsec.net)06:23
llnz"The Universe currently has 2432 objects"06:25
llnz(according to the metaserver)06:26
*** peres has quit IRC06:29
* llnz wanders off06:35
llnzlater all06:35
*** llnz has quit IRC06:35
mithrohttp://www.thousandparsec.net/~tim/tparsec-llnz-58.png07:13
tpb<http://ln-s.net/1-CM> (at www.thousandparsec.net)07:13
*** TBBle_ has joined #tp08:24
*** TBBle has quit IRC08:25
*** TBBle_ is now known as TBBle08:29
*** mithro has quit IRC09:05
*** TBBle has quit IRC11:10
*** TBBle has joined #tp11:10
CIA-10jezuch libtpproto-java-experimental * r9cc9b9a678be /src/net/thousandparsec/netlib/PipelinedConnection.java:11:40
CIA-10Improve exception handling in PipelinedConnection. Distinguish between protocol errors and I/O errors - the latter are final while the former leave a chance that the connection can continue.11:40
CIA-10As a bonus, close the connection when the receiver quits.11:40
CIA-10jezuch libtpproto-java-experimental * rdacf6e344c77 /build.xml: Compile with debugging information.11:40
CIA-10jezuch libtpproto-java-experimental * r6fe3144eeec0 /src/net/thousandparsec/netlib/PipelinedConnection.java:11:40
CIA-10Use correct close() method and try to avoid deadlock when the receiver task is exiting (not tested!) (but rare, I hope for some unlucky guinea pig to hit this ;))11:40
CIA-10And in the process remove InterruptedException from throws clause of PipelinedConnection.close().11:40
CIA-10jezuch libtpproto-java-experimental * r21ac29101c72 /src/net/thousandparsec/netlib/PipelinedConnection.java: The receiver task's ExecutorService does not need to be stroed in an instance field.11:40
CIA-10jezuch libtpproto-java-experimental * r5bf6739281f9 /src/net/thousandparsec/netlib/PipelinedConnection.java: final frenzy!11:40
CIA-10jezuch libtpproto-java-experimental * rdc5b79d7113c /src/net/thousandparsec/netlib/PipelinedConnection.java: Barf if the PipelinedConnection's pipeline is closed and someone tries to use it.11:40
CIA-10jezuch libtpproto-java * r12d01ae2ff76 /src/net/thousandparsec/netlib/PipelinedConnection.java:11:41
CIA-10Improve exception handling in PipelinedConnection. Distinguish between protocol errors and I/O errors - the latter are final while the former leave a chance that the connection can continue.11:41
CIA-10As a bonus, close the connection when the receiver quits.11:41
CIA-10jezuch libtpproto-java * rdb0843cea2ee /build.xml: Compile with debugging information.11:41
CIA-10jezuch libtpproto-java * r7024984e118b /src/net/thousandparsec/netlib/PipelinedConnection.java:11:41
CIA-10Use correct close() method and try to avoid deadlock when the receiver task is exiting (not tested!) (but rare, I hope for some unlucky guinea pig to hit this ;))11:41
CIA-10And in the process remove InterruptedException from throws clause of PipelinedConnection.close().11:41
CIA-10jezuch libtpproto-java * r95b14f9fec33 /src/net/thousandparsec/netlib/PipelinedConnection.java: The receiver task's ExecutorService does not need to be stroed in an instance field.11:41
CIA-10jezuch libtpproto-java * r84650ce3a930 /src/net/thousandparsec/netlib/PipelinedConnection.java: final frenzy!11:41
CIA-10jezuch libtpproto-java * r3339c674f883 /src/net/thousandparsec/netlib/PipelinedConnection.java: Barf if the PipelinedConnection's pipeline is closed and someone tries to use it.11:41
*** peres has joined #tp12:00
*** peres has quit IRC13:47
*** peres has joined #tp14:38
CIA-10jlp libtpproto-cpp * rdea149e30c4b /tpproto/message.cpp: Fixed compilation14:52
*** JLP has joined #tp15:19
JLPahoy all, long time no see15:21
*** nash has joined #tp16:21
*** peres has left #tp16:56
*** mithro has joined #tp16:59
*** mithro has quit IRC17:42
*** mithro has joined #tp18:14
mithro~seen ll18:16
tpbmithro: I have not seen ll.18:16
mithro~seen llnz18:16
tpbmithro: llnz was last seen in #tp 11 hours, 41 minutes, and 6 seconds ago: <llnz> later all18:16
mithro~seen JLP18:16
tpbmithro: JLP was last seen in #tp 2 hours, 54 minutes, and 46 seconds ago: <JLP> ahoy all, long time no see18:16
mithroJLP: ping?18:16
mithrohey nash18:16
mithrogood to see the status report18:16
mithroso you have a new toy that you are not allowed to talk about?18:16
JLPmithro: pong18:17
mithroJLP: did you ever get anywhere with the qtopia stuff?18:18
JLPmithro: looks like it's cursed18:18
mithroJLP: :(, what happened this time?18:19
nashHeyo mithro18:19
nashmithro: Thanks18:19
nashI take it it got through then18:20
mithronash: yeah, got through fine - apart from my mail server sitting at a load of 22 :/18:20
JLPmithro: the phone died on me, i left it connected to USB port and the battery drained out18:20
mithroJLP: ouch :(18:20
JLPmithro: so i had to order a new battery18:21
mithrocan you develop just using the sdk?18:21
JLPmithro: yeah it would be possible but i also didn't and this is another story keepinf me away from developing18:23
JLPmithro: i've had problems with my new medications for epilepsy, so ifor the last week or two i was feeling quite dizzy all day, so I had to be at the hospital for most of the days for observations18:24
JLPmithro: now they gave me the drugs that don't have strange effects on me and the blood tests are fine so i hope all will be fine from now on18:24
mithronash: btw, did you see that I fixed minisec so you can have larger universes?18:25
nashYeah18:25
nashTesting with large universes will begin again I'm sure...18:25
mithrodang, looks like llnz's server crashed....18:25
mithrohe had about 2700 objects last time I checked18:25
mithrohttp://www.thousandparsec.net/~lee/tpserver-cpp-starmap-pywx-dev-500-sys.png18:26
tpb<http://ln-s.net/1-HJ> (at www.thousandparsec.net)18:26
mithrohttp://www.thousandparsec.net/~lee/tpserver-cpp-starmap-pywx-dev-500-sys2.png18:26
tpb<http://ln-s.net/1-HK> (at www.thousandparsec.net)18:26
mithrohttp://www.thousandparsec.net/~tim/Screenshot.png18:26
tpb<http://ln-s.net/Z2z> (at www.thousandparsec.net)18:26
mithrohttp://www.thousandparsec.net/~tim/tparsec-llnz-58.png18:26
tpb<http://ln-s.net/1-CM> (at www.thousandparsec.net)18:26
mithroJLP: you see the movie in the topic?18:26
JLPmithro: yup, looks very cool18:27
JLPmithro: holy crap now that's a lot of objects18:27
mithrotpclient-pywx seems to handle it okay - but not as well as I would like18:28
JLPmithro: this stuff would overload the phone i guess :)18:29
mithroJLP: what type of memory do you have? tpsai-py is happily sitting at 14mb with the whole universe in memory18:31
JLPmithro total memory:62304 kB18:32
mithroI think if you where clever it would work okay18:34
mithronash: found a nasty bug in libtpproto-py which was causing it to send a frame multiple times18:34
nashLovely18:34
nashAny frame, or just some?18:34
mithrobut only under very heavily load18:34
mithronash: it occurs when you managed to flood the outgoing tcp socket buffer18:35
nashHmm...18:35
nashI'm surprised I didn't hit it18:36
mithrohttp://git.thousandparsec.net/gitweb/gitweb.cgi?p=libtpproto-py.git;a=commitdiff;h=99c9176347e35c7d607c7cf1b7ed7f22e8ca550e18:36
tpb<http://ln-s.net/1-HS> (at git.thousandparsec.net)18:36
mithronash: I'm a supprised that people have not hit it before18:36
JLPmithro: i doubt i would be clever enough, but with help from more experinced people here it's another story :)18:37
nashmithro: Well most of galaxie doesn't care if it gets the same frame twice18:37
mithronash:  it took 5 ais with 2700 objects in the universe before that bug appeared18:37
mithronash: it's a bug in the client not the server18:38
nashAhh18:38
nashThen I'd never hit it ;-)18:38
JLPhmm i get this error when i try to push:18:38
JLPfatal: '/git/parsek.git#objectsmodel': unable to chdir or not a git archive18:38
JLPfatal: The remote end hung up unexpectedly18:38
JLPerror: failed to push to 'git+ssh://[email protected]/git/parsek.git#objectsmodel18:38
mithrohrm...18:40
JLPor maybe i forgot how to push to a remote branch or something18:41
mithroJLP: did you remeber to load you ssh key?18:42
JLPfrom local branch i just did "git-push r-objectsmodel" if that is ok18:43
JLPmithro: it did ask me for Passkey and accepted it18:43
mithrooh, the #<branchname> is a cogito only thing18:43
JLPmithro: oooh, damn, so i forgot i was using cogito, let's try with it18:44
JLPit looks like it worked, i can see it on the web, despite there was this line "XML-RPC Error:" printed out 8 times18:52
CIA-10nash galaxie * r9851009d4c70 /ewl/gewl_object.c: Basic listing of possible orders in the order list19:07
CIA-10nash galaxie * rf4e9ae8250c3 /ewl/gewl_object.c:19:07
CIA-10Commented out functiosn for toggling resource list when not in use.19:07
CIA-10Unfortunately it appears EWL is broken for this.19:07
CIA-10nash galaxie * r7bfcdcdb48e6 /server.c: Add some extra asserts to server magic.19:07
CIA-10nash galaxie * r3d92276182e1 /tpe_comm.c: Don't free server structure on turn end... that's bad.19:07
CIA-10nash galaxie * r77bc57b988a4 /tpe_event.c: Assert before shooting myself in the foot.19:07
CIA-10nash galaxie * r3f94a41edb3b /ewl/gewl_object.c: First generation handler for selection planets.19:07
CIA-10nash galaxie * r84c384668df4 /tpe_gui.c: Fix ghandling of time remaining messages in the GUI.19:07
CIA-10nash galaxie * rfa4528294827 / (tpe_orders.c tpe_orders.h): Move order desc to public interface of tpe_orders.19:07
CIA-10nash galaxie * rc67d28b6866f /ewl/gewl_object.c: Start of work on args for orders.19:07
CIA-10nash galaxie * r8aadf1640c8c /ewl/gewl_object.c: Make selection of tree possible.19:07
CIA-10nash galaxie * rdccf051c4324 /ewl/gewl_object.c: Add basic handling for most order types.19:07
mithroJLP: yeah, first time you push a branch everything goes a bit skiso19:12
mithronash: so is galaxie at a stage where others can start testing it?19:13
nashmithro: Not yet19:15
nashAt the end of the week, hopefully19:15
mithrowow, no wonder tpclient-pywx is slow19:15
mithroit's drawing the starmap about 400 times on a click19:16
mithroyay for broken code19:18
nashCan't be great19:20
mithrowell, I FloatCanvas has been shown to handle drawing around 50,000 objects pretty easily19:23
mithroand we are only up to about 3000-4000 objects19:23
mithroand getting annoying flicker19:23
mithronash: you see the starmapper email?19:25
nashthe new version one19:25
nashmithro: As for galaxie.. it is stable again.  Any crashes now are unexpected19:58
nashAnd it can be used to browse the map happily19:58
nashthe AIs are all disabled19:59
CIA-10jlp parsek-objectsmodel * re60bd160bab9 /src/CMakeLists.txt: Removed kde4_automoc() - not needed anymore20:33
CIA-10jlp parsek-objectsmodel * r0fa2fed26435 /src/ (loggerwidget.cpp loggerwidget.h):20:33
CIA-10Compile with libtpproto-cpp from git20:33
CIA-10Arguments in virtual functions in logger are now const20:33
mithroyay JLP :)20:36
JLPmithro: just keeping TP on the list of most active projects today on CIA :)20:41
nashJLP: So... smaller commits hey?20:44
JLPnash: yup, a little cleaning before i move on20:48
nashJLP: Question: Why are you removing 'const' from teh char*?  Gengeally you want add them21:02
JLPnash: i don't remember removing it21:07
nashJLP: The last commit message jsut before mithro said "yay JLP"21:08
JLPnash: in this one i just added it, the last time i compiled with libtpproto-cpp downloaded from the site and back then there were no consts there, now in git version consts are there so i also had to add them otherwise it wouldn't match21:11
* nash slaps self21:11
nashSorry, misread the patch21:11
nashYou are gith21:12
nashs/right/21:12
JLPnash: ok then, i was afraid i did something stupid again21:12
mithromuhahaha -> http://www.hugeurl.com/ :P21:12
tpbTitle: HugeURL (at www.hugeurl.com)21:12
JLPnash: if you look at the about 3 commits back, a bit larger one, there you will rpobably find lots of silly things :)21:13
nashJLP: Nah... then you'd look at mine, and it would be much worse ;-)21:14
nashAnyway... lunch!21:26
mithrowhy is it so hard to do simple things in C++?23:16
*** nash has quit IRC23:17
*** nash has joined #tp23:25

Generated by irclog2html.py 2.5 by Marius Gedminas - find it at mg.pov.lt!