Thursday, 2009-03-26

*** tpb has joined #tp00:00
*** ChanServ sets mode: +o tpb00:00
*** konr has joined #tp00:01
*** rsisnett has left #tp00:02
*** whacky has quit IRC01:19
*** tansell-laptop has quit IRC01:22
*** tansell-laptop has joined #tp01:25
VadtecJLP: you active?01:31
Vadtecor anyone who actively uses the wiki01:31
Vadteceither im getting tired or im missing the link for creating articles in the wiki01:32
Vadtecmithro: are you active?01:52
*** llnz has joined #tp01:58
Vadtecllnz: hi01:58
*** peres has joined #tp02:04
llnzhi Vadtec02:05
tpb<> (at
Vadteci just posted my proposal to the wiki02:07
Vadtecand im working on improving it now02:07
Vadtecllnz: if you have time, i have a question that i havent been able to answer via google or the like about unit testing02:07
Vadtecthough i imagine its a semantic issue rather than technical02:08
*** tansell-laptop has quit IRC02:13
*** nash has quit IRC02:24
llnzsorry, have been busy fixing a broken server 300km away02:45
llnzwill look shortly02:45
Vadtecllnz: no worries02:46
tpb<> (at
Vadtecllnz: in case you missed the link before hand, I am going to bed, i look forward to seeing what changes i can make to improve my proposal03:20
*** Gaurav__ has quit IRC03:36
*** tansell-laptop has joined #tp03:50
*** peres has left #tp04:37
*** Noughmad has joined #tp04:58
BarryCarlyonMornin all.05:29
llnzhi BarryCarlyon05:30
BarryCarlyonHow are we today?05:48
skiffcz-gsocholy chocolate jesus05:53
llnzi'm sorting out the dist-upgrade of a server 300km away05:53
skiffcz-gsocsemi signed what integer is the first thing in the morning I trip over?05:55
skiffcz-gsocnah, Im still dreaming :D05:56
skiffcz-gsocanyway, morning to all05:58
BarryCarlyonMorning :-P06:00
CIA-65llnz tpserver-cpp * r2ada83cc109b /
CIA-65Added missing files to tarball creation06:22
CIA-65Quickstart for tae and risk, and default map for risk will be in06:22
CIA-65the next release.06:22
shenkillnz: is libtool2 libtool version >= 2, or is it a different piece of software entirely?06:33
llnzversion >= 206:34
llnzin debian because of package versioning it's called libtool206:34
shenki$ apt-cache policy libtool06:34
shenkilibtool: Installed: 2.2.6a-1ubuntu106:34
shenkino such thing as libtool2 tho06:35
llnzshenki: sorry i haven't gotten to shave yet06:35
llnzoh... maybe it's just me that calls it that06:35
shenkillnz: no worries bout shave :) just as long as you know where to find it, for when you get around to it06:35
llnzthat server upgrade took me much longer than i hoped06:36
llnzshould have been an hour, took 406:36
shenkiwhat server?06:36
llnzdebain web/mail/etc server for a non-profit org i used to help out with06:38
llnzit's about 300km away and i rebooted it twice06:38
llnzfingers crossed and everything06:39
llnzhoping it comes back up06:39
llnz(it did)06:39
shenkigood work :)06:39
shenkiyou did better than mithro and his server in germany06:39
mithroshenki: I blame you06:40
llnz6 hours to alarm, i should sleep06:41
* llnz wanders off06:42
llnzlater all06:42
*** llnz has quit IRC06:42
shenkihmm, does llnz read scrollback?06:46
shenkiremoving recursive from the libtoolize line in breaks the build for me06:46
mithroshenki: yes and no06:48
mithroshenki: did he push the change?06:48
mithroI think we want to do a06:49
mithrolibtool xxx --resursive || libtool xxxx06:49
*** Gaurav__ has joined #tp06:51
mithrowell I'm going to head home06:54
mithrosee ya!06:54
shenkiok, cya06:56
*** mithro has quit IRC07:12
*** mithro has joined #tp07:37
JLPgood morning everyone08:05
*** Noughmad___ has joined #tp08:14
totehow many did apply for tp last year?08:23
JLPtote: if i remember correctly there were about 5008:24
Patrick`don't suppose you'd be able to tell us how many spaces there are this year?08:25
toteJLP: ok :)08:25
totePatrick`: they dont know that yet i think08:25
BarryCarlyonThe number of spaces is loosly based on project ideas and how many people apply.08:26
BarryCarlyonI was reading something about it recently.08:26
JLPyup and also depends on hoe man people apply to other otgs08:26
toteJLP: how many did get in last year?08:26
BarryCarlyonI didnt realise so many people applyed to TP last year.08:27
BarryCarlyonIt will make applying this year more interesting I imagine.08:27
Patrick`I should probably make more than one application this year08:27
BarryCarlyonI'm planning on applying for working on the web based client project.08:27
toteBarryCarlyon: me 2 :)08:27
BarryCarlyonPatrick`, I did two last year and got accepted on both, which was good fun.08:27
BarryCarlyontote, what language you want to use? Im a PHP coder.08:28
totepython :)08:28
Patrick`I thought the orgs decided which would get you, without you knowing08:28
BarryCarlyonPatrick`, both orgs approached me saying I'd been accepted on both, which do you want.08:28
Patrick`oh cool08:28
Patrick`was that kamaelia?08:29
Patrick`I can't remember if it was you or someone else08:29
BarryCarlyonAnd PHP.08:29
Patrick`cool, what was your project for K?08:29
Patrick`er, proposal08:29
BarryCarlyonThe white board I think.08:29
BarryCarlyonI ended up on PHP.08:29
Patrick`ah yeah, needed a bit of work08:29
BarryCarlyonKamaelia isnt mentoring this year is it?08:29
Patrick`no, or I'd have gone back08:30
BarryCarlyonBut since tote is going for the same thing I am, gonna be interesting application writing wise.08:30
*** Noughmad has quit IRC08:30
toteBarryCarlyon :)08:31
BarryCarlyonEspecially since we are different core languages.08:31
BarryCarlyonIf I knew enough python I would do it in python since TP is python based itself.08:31
toteBarryCarlyon: which javascript framework? :)08:32
BarryCarlyonEither my own or jquery.08:32
BarryCarlyonIve never used a framework js wise.08:32
BarryCarlyonBut I hear good things about jquery.08:33
BarryCarlyonI've used prototype and scriptaculous for their effects tho.08:33
BarryCarlyonI like to generate custom javascript on the fly with my php.08:33
Landonsounds painful08:33
BarryCarlyonNot paticularly Landon good fun.08:33
Landonlet me rephrase then :P sounds like good funin the way programming assembly is good fun08:34
totehaha :)08:34
BarryCarlyonI think its becuase I tend to make php do most of the work and javascript for shunting stuff into the DOM.08:35
totejust finished a course in assembly :) it was fun but hard work08:35
BarryCarlyonIm more of a web coder so not much on programming coding.08:35
BarryCarlyonBut I still remember my BASIC and some C and C++08:35
BarryCarlyonUsed to program on a Dragon32 back in the day.08:36
*** Gaurav__ has quit IRC08:44
Patrick`can I ask about some details of tp and rulesets?09:10
Patrick`pretty obvious questions09:10
Patrick`specifically, I *imagine* that rulesets are described in some metafile way09:12
Patrick`and its the job of the servers to implement specific things that the rulesets call on09:12
Patrick`e.g. planets having stats09:12
Patrick`so it's not that a ruleset has to be recreated, just that all the hooks it uses need to be supported09:13
JLPPatrick`: as far as i know you have to code each ruleset separately for each server, there is no common file that could be then used by both09:17
Patrick`ok, that also works09:17
Patrick`it also makes my job easier to break down09:17
Patrick`I've decided to stick firmly to "updating and improving tpserver-py"09:17
skiffcz-gsocJLP: that would also interest me .. is there any deeper design idea behind coding each ruleset separately, rather than having a common framework and basket of objects and actions available? or is that just because minisec came first, and the other were just cloned & something added to them ...09:22
JLPskiffcz-gsoc: hm i wouldn't know if this is by design or not, i wasn't with TP when this has been decided09:24
JLPskiffcz-gsoc: porbably it is thi way because it is less complicated and there is more flexibility on how you make ruleset09:25
JLPskiffcz-gsoc: but to be sure why this is so mithro ro llnz would sure know more about it09:25
skiffcz-gsocI can imagine that you can have some objects (planets, ships, fleets, missiles etc) and actions (couple, decouple, create, destroy, damage) and when creating new ruleset you will just throw the objects into one pot and define which actions apply to which of them. Sort of like stl containers (those objects) and stl algorithms (actions)...09:27
skiffcz-gsocJLP: ok, ill ask them when they are back.09:27
Patrick`at a certain point though, abstracting and separating things out can just end up making a lot more work09:28
*** Gaurav__ has joined #tp09:30
JLPwell i imagine it this way, if you are a game design company and you would like to use TP for your next 4X game, TP would be some kind of a glue and framework to make things easier to get started, but the game (ruleset) you would be designing would be the bigger part of your work, together with graphics and sound09:30
JLPso you would probably decide on one server and then just start coidng the ruleset for it and making the prettey graphics and sounds09:31
JLPthen you package it all together nicely and you releae your game :)09:32
skiffcz-gsochmm, Ive just had a quick look into the cpp server ruleset module, and it really looks like there are some common parts09:34
Patrick`ok, so it currently looks like rulesets are implemented pretty much just as they are09:35
Patrick`and the backbone of the code from the server handles things like the networking, the database, the authentication and so on09:35
Patrick`but the question is, does the python server simply support less rulesets or are the actual tools/framework less polished as well?09:36
JLPyeah, the ruleset is the actual game logic, and all the other stuff is provided by server so you don't need to fiddle with it much and you can concentrate on ruleset09:36
Patrick`mithro: ping09:36
JLPPatrick`: i don't think python server supports less or couldn't support some ruleset c++ server does09:38
Patrick`ok, that seems sound09:38
JLPas long as all the stuff that is defined in protocol is supported they should both support the same things09:38
Patrick`even if e.g. MTSec would need to be rewritten from scratch09:39
Patrick`or ported with a magical tool09:39
Patrick`now when you say protocol, are we talking the actual network protocol files? I recall there is some meta stuff about that which uses XML09:39
skiffcz-gsocJLP: eh, just one question, the rulesets got developed over the whole time, is it possible that they have basically the same files (some), but each differ from each other becouse some rulesets are newer than others?09:40
skiffcz-gsocso i.e. colonise class is  in all of them09:40
JLPwhen i say protocol i mean what is possible, for example if all orders stuff is supported then you can use the same stuff in both servers, if all in-universe object stuff is supported you can use this anywhere09:41
skiffcz-gsocbut it differs a bit in each of them, except minisec and mtsec, which are identical09:41
skiffcz-gsocbut some are called coloniZe09:41
JLPon the other hand if some server would support diplomacy part and other not then you couldn port diplomacy stuff from one to another09:41
skiffcz-gsocsome are in their own namespace, some not09:41
JLPcolonise is just one function in the ruleset which you can export through the orders framework/hooks in the server09:42
*** [1]BCarlyon has joined #tp09:42
*** jmtan has joined #tp09:43
JLPbasicly you write functions for any order you would need in a ruleset, and then you define on which object this order can act09:43
Patrick`ok, and the server would already support colonisation, combat09:43
Patrick`but maybe not trading09:43
JLPof course you can have the same order name in two different rulesets, and they can act the same or not09:43
Patrick`I'm gonna have to write a ruleset to see how it works!09:44
JLPwell the server itself only knoes what order is and how to send it over network and how to handle them09:45
JLPall the specifics about an order are handlede by ruleset inself, with a specific function09:46
JLPand on the client side, the client also only has to know what an order is and then the client writer decides how to represent that order in the client09:46
Patrick`ok, so the server's more towards the minimalist side of things09:46
skiffcz-gsocit just sends and recieves frames, unpack them for the ruleset and it then decides what to do with it09:47
Patrick`server says "hey ruleset, I got told to colonise. what does that mean?" and the ruleset is all "well, this planet has changed owners"09:47
JLPyeah, server si like a post office09:48
JLPor postal service09:48
Patrick`hmm :/09:48
Patrick`sounds as if both servers are small and feature-complete, thenceforth not requiring my attention09:49
skiffcz-gsocim starting to get it ... so if you want to implement new order, you first write new frame type in protocol09:49
skiffcz-gsocand then you can use it in ruleset09:49
JLPskiffcz-gsoc: well you don't have to make a new frame, you only use the existing order frame09:50
skiffcz-gsoc*quick look into proto spec*09:50
JLPserver only has to know what something is, in which category it belongs, and ruleset and clients need to bother how this thing works and how it should be represented09:52
Patrick`but the server does track planets, fleets, and owners?09:52
JLPruleset does this09:53
Patrick`this would probably be easier if I just read the server's files then :)09:53
Patrick`it sounds quite tidy09:53
skiffcz-gsocah, so it would not be *THAT* hard to add research for example? you will just send order frame lasting 3 rounds which says "plasma cannons for player 2" and if there is a function in the ruleset to handle it, it would work09:54
Patrick`ok, right, there seem to be some common ruleset functions stored in "base"09:55
Patrick`but most of them are specialised09:55
JLPskiffcz-gsoc: hm yeah, but then again orders framework wouldn't be the right "tool" for reserach concepts, as they differ quite a bit09:56
Patrick`ok, the server supports types of frames09:57
Patrick`objects, orders09:57
skiffcz-gsocwhy .. you build research units like you build ships, just they cant be destroyed, you can research them only once, and they have some prereq units. I dont see a difference between building a ship and advancing in research tree.09:58
toteis the ruleset in the client and/or the server? should a client be able to play to all games that a server support?09:59
Patrick`I imagine so, within reason09:59
Patrick`but obviously I have no idea09:59
JLPwell yeah, a client should be able to visualise an order, even if it has no specific knowledge about what it does10:00
Patrick`ooh, I have a good toy example - a self-destruct order10:01
JLPit might not be the best representation of order, but it should at least be usable10:01
Patrick`the client should be able to pick it from a list without the client knowing what it actually is10:01
Patrick`the server will send it merrily as an Order10:02
Patrick`and it'll be the ruleset that deletes your fleet and damages everyone else in range10:02
JLPof course when a game company would do it, they would only make one complex ruleset and tune their client to do the best possible visualisations for that specific ruleset10:02
skiffcz-gsocand then client redownloads current state of the universe from the server10:02
Patrick`and says "fleet destroyed!" or whatever, even if it didn't grok what had happened10:03
Patrick`ok, so now that I actually understand what's going on, I know it wouldn't be particularly worthwhile of me to do another ruleset ATM10:04
JLPand if client would be stupid it would just show wthat some ships are no there anymore10:04
Patrick`or reimplement e.g. MTSec in python10:04
JLPand if the client knew what happend it could animate an explosion10:04
skiffcz-gsocJLP: is there any way in the current/planned protocol for client to ask server for list of avail order frame types etc?10:05
Patrick`so where does the Scheme come into it?10:05
Patrick`it seems to be ... pervasive10:06
JLPskiffcz-gsoc: rulesets already define what orders are possible and which objects/orders can be combined10:06
JLPPatrick`: scheme is used in ship designing, so you can set some constrants for cost/slots/types of tech...10:07
skiffcz-gsocno, I mean, if I wanted to make this "stupid" client with no clue what an order means, it just knows it can send them .. but he wans to ask server "hey, send me a list, ill show it to my user, he will pick one, he prolly knows what it does" ..10:08
JLPand scheme comes into play when server has to validate that the user defined ship design is sound10:08
skiffcz-gsocjust out of curiosity, I dont even know why I want to know :)10:08
Patrick`ok, cool10:08
Patrick`custom ship designs is something that some rulesets do or is it a server-supported?10:10
JLPskiffcz-gsoc: there is some way to send a list of destinations (if you mean this), just as in risk ruleset or RFTS ruleset, where you can select the destionation from a dropdown10:10
JLPPatrick`: ruleset defined10:11
Patrick`k, thought so10:11
JLPit is just the same as with order, server and protocol provide this concept and then ruleset has to use it if it wants10:11
* JLP is almost sure mithro and llnz will correct some of my explanations I gave here, as he also doesn't know everythng in detail yet10:13
Patrick`yeah, sorry :)10:13
skiffcz-gsochm, i start to like this project more and more :) It is now pretty stupid for me to say its pretty clever, but its pretty clever nevertheless.10:13
Patrick`Right, I've done a bit of unit -testing, and mostly on network code but only a few handfuls of pages. Reckon it's not enough to base a whole proposal on?10:14
Patrick`I know I can pick it up easy enough, but obviously I can't convey that on a bit of paper10:14
*** jmtan has quit IRC10:19
*** tansell-laptop has quit IRC10:19
*** Greywhind has quit IRC10:19
*** Erroneous has quit IRC10:19
*** shenki has quit IRC10:19
*** BarryCarlyon has quit IRC10:19
*** Vadtec has quit IRC10:19
*** JLafont has quit IRC10:19
*** Demitar has quit IRC10:19
*** welterde has quit IRC10:19
*** [1]BCarlyon has quit IRC10:19
*** Noughmad___ has quit IRC10:19
*** skiffcz-gsoc has quit IRC10:19
*** ezod has quit IRC10:19
*** konr has quit IRC10:19
*** cherez has quit IRC10:19
*** gau_veldt has quit IRC10:19
*** tansell has quit IRC10:19
*** Patrick` has quit IRC10:19
*** Knio has quit IRC10:19
*** mithro has quit IRC10:19
*** BCarlyon has quit IRC10:19
*** JLP has quit IRC10:19
*** zzorn has quit IRC10:19
*** tote has quit IRC10:19
*** Gaurav__ has quit IRC10:19
*** shrink has quit IRC10:19
*** Landon has quit IRC10:19
*** DTRemenak has quit IRC10:19
*** mhilmi has quit IRC10:19
*** CIA-65 has quit IRC10:19
*** Epyon has quit IRC10:19
*** zzorn_work has quit IRC10:19
*** gau_veldt has joined #tp10:22
*** tansell has joined #tp10:22
*** tote has joined #tp10:22
*** zzorn has joined #tp10:22
*** Knio has joined #tp10:22
*** Vadtec has joined #tp10:22
*** ezod has joined #tp10:22
*** cherez has joined #tp10:22
*** welterde has joined #tp10:22
*** Demitar has joined #tp10:22
*** JLP has joined #tp10:22
*** skiffcz-gsoc has joined #tp10:22
*** JLafont has joined #tp10:22
*** Patrick` has joined #tp10:22
*** BCarlyon has joined #tp10:22
*** konr has joined #tp10:22
*** mithro has joined #tp10:22
*** Noughmad___ has joined #tp10:22
*** [1]BCarlyon has joined #tp10:22
*** Epyon has joined #tp10:22
*** zzorn_work has joined #tp10:22
*** bddebian has joined #tp10:22
*** shenki has joined #tp10:22
*** BarryCarlyon has joined #tp10:22
*** [1]BCarlyon is now known as BCarlyon|Server10:23
Patrick`my downstairs neighbour has killed his PC10:24
Patrick`so much for SoC day10:24
Patrick`someone email me a spare psu, I'm out10:27
BCarlyon|Serverill email the plans in a moment if I can find them10:28
*** Gaurav__ has joined #tp10:29
*** shrink has joined #tp10:29
*** Landon has joined #tp10:29
*** DTRemenak has joined #tp10:29
*** mithro has quit IRC10:33
*** mhilmi has joined #tp10:35
*** CIA-65 has joined #tp10:35
*** mhilmi has quit IRC10:36
*** CIA-65 has quit IRC10:36
*** mhilmi has joined #tp10:41
*** CIA-65 has joined #tp10:41
*** jmtan has joined #tp10:41
*** tansell-laptop has joined #tp10:41
*** Greywhind has joined #tp10:41
*** Erroneous has joined #tp10:41
*** Greywhind has quit IRC10:47
*** tansell-laptop has quit IRC10:47
*** jmtan has quit IRC10:47
*** Erroneous has quit IRC10:47
*** jmtan has joined #tp10:47
*** tansell-laptop has joined #tp10:47
*** Greywhind has joined #tp10:47
*** Erroneous has joined #tp10:47
*** Greywhind has quit IRC10:47
*** tansell-laptop has quit IRC10:47
*** jmtan has quit IRC10:47
*** Erroneous has quit IRC10:47
*** mhilmi has quit IRC10:47
*** CIA-65 has quit IRC10:47
*** Noughmad___ is now known as Noughmad10:55
*** mhilmi has joined #tp10:56
*** CIA-1 has joined #tp10:56
*** jmtan has joined #tp11:12
*** tansell-laptop has joined #tp11:12
*** Greywhind has joined #tp11:12
*** Erroneous has joined #tp11:12
Patrick`ok, so I'm going to test my PSU in his machine11:18
Patrick`I might kill both of them11:18
Patrick`stupid no-spare-having antihoarder11:18
*** Gaurav__ is now known as Gaurav_dinner11:21
*** Noughmad has quit IRC11:43
*** Noughmad has joined #tp11:43
*** Greywhind has quit IRC11:43
*** tansell-laptop has quit IRC11:43
*** jmtan has quit IRC11:43
*** Erroneous has quit IRC11:43
*** jmtan has joined #tp11:44
*** tansell-laptop has joined #tp11:44
*** Greywhind has joined #tp11:44
*** Erroneous has joined #tp11:44
*** Greywhind has quit IRC12:03
*** tansell-laptop has quit IRC12:03
*** jmtan has quit IRC12:03
*** Erroneous has quit IRC12:03
*** jmtan has joined #tp12:05
*** tansell-laptop has joined #tp12:05
*** Greywhind has joined #tp12:05
*** Erroneous has joined #tp12:05
*** Gaurav_dinner is now known as Gaurav__12:08
*** Greywhind has quit IRC12:08
*** tansell-laptop has quit IRC12:08
*** jmtan has quit IRC12:08
*** Erroneous has quit IRC12:08
*** Erroneous has joined #tp12:09
*** Greywhind has joined #tp12:09
*** tansell-laptop has joined #tp12:09
*** jmtan has joined #tp12:09
*** jmtan has quit IRC12:13
*** tansell-laptop has quit IRC12:13
*** Greywhind has quit IRC12:13
*** Erroneous has quit IRC12:13
*** Erroneous has joined #tp12:13
*** Greywhind has joined #tp12:13
*** tansell-laptop has joined #tp12:13
*** jmtan has joined #tp12:13
*** jmtan has quit IRC12:14
*** tansell-laptop has quit IRC12:14
*** Greywhind has quit IRC12:14
*** Erroneous has quit IRC12:14
*** jmtan has joined #tp12:15
*** tansell-laptop has joined #tp12:15
*** Greywhind has joined #tp12:15
*** Erroneous has joined #tp12:15
*** Gaurav__ has quit IRC12:17
*** Hololo has joined #tp12:21
*** Hololo has left #tp12:21
*** Gaurav__ has joined #tp12:24
*** Greywhind has quit IRC12:29
*** tansell-laptop has quit IRC12:29
*** jmtan has quit IRC12:29
*** Erroneous has quit IRC12:29
*** jmtan has joined #tp12:29
*** tansell-laptop has joined #tp12:29
*** Greywhind has joined #tp12:29
*** Erroneous has joined #tp12:29
Patrick`ezod, llnz, tansell/mithro - what would be more useful, unit testing in libtpproto/client or porting to twisted?12:33
Patrick`and, er, anyone I've forgotten12:34
ezodPatrick`: porting to twisted?12:36
Patrick`the python networking12:36
Patrick`I've looked in it12:36
ezodyeah, was there already discussion about that?12:36
Patrick`I know it was described as a daunting task12:36
Patrick`I reckon that either of them is within my grasp12:37
ezodok - i know a strong unit testing proposal has really good chances12:38
Patrick`I haven't got years with twisted but I understand the principles, I've written networking stuff from scratch before12:38
Patrick`ditto for unit testing - probably a little weaker12:38
ezodso could you outline briefly what we gain from porting to twisted?12:39
ezod(and have you already gone over this with others?)12:39
Patrick`not explicitly yet12:39
ezodi'm only superficially familiar with twisted (although i'd like to learn more) so i don't think i have a clear picture12:40
Patrick`My understanding is that you just have a lot more flexibility to do more with the network, run dameonized, have "proper" logging12:41
Patrick`as far as I can see it's not even using a select loop or asyncore, but polling.12:44
Patrick`now granted, this is Fine For Us12:45
Patrick`(because it's not like 100ms of latency will really mess up a game that generates one turn every 10 minutes)12:45
Patrick`I'd probably rate my own skills slightly higher with Twisted than with unit testing, but I'm capable of getting up to speed in time12:46
*** gab32 has joined #tp12:46
*** Greywhind has quit IRC12:46
*** tansell-laptop has quit IRC12:46
*** jmtan has quit IRC12:46
*** Erroneous has quit IRC12:46
*** peres has joined #tp12:47
ezodPatrick`: so how would porting to twisted affect the non-python protocol components?12:59
Patrick`ah, well I wouldn't know much about that, it's outside my area of expertise13:00
*** tansell has quit IRC13:00
Patrick`but I presume since they're already either meshed with python or part of the cpp server, they'd just keep doing what they were doing unless some of the actual network code was non-python13:00
ezodwell there are protocol libraries for c++, ruby, php, and java as well13:01
Patrick`learning another language is not something I'd attempt in the timeframe, I'd fail13:02
ezodthat's not what i'm suggesting13:02
Patrick`ok, but yeah, ok, it would enable more cross-language stuff?13:03
ezodin any case it seems to me the unit testing would be higher priority13:04
Patrick`what my thought is, though, is that if the networking code got a test suite, and then it got replaced with twisted, a lot of the low-level stuff would have to be rewritten13:05
Patrick`but yeah, I agree13:05
*** jmtan has joined #tp13:05
*** tansell-laptop has joined #tp13:05
*** Greywhind has joined #tp13:05
*** Erroneous has joined #tp13:05
Patrick`I think I might actually have test code from my own networking code I wrote that should be my-paradigm-agnostic, I can probably reuse it and whip up a demo tonigth13:05
*** gab32 has quit IRC13:06
Patrick`... unless my neighbours new PSU doesn't work13:07
Patrick`--> later13:07
ezodPatrick`: true, but i have no reason to suspect that that is going to happen any time soon, hence why i'm asking if you had this conversation with someone else and know something i don't :)13:08
BarryCarlyonIll hopefully be throwing some ideas round ala web client project later too!13:10
ezodBarryCarlyon: cool13:10
BarryCarlyonFirst home time for the Student Radio Office13:11
Patrick`ok, no, you're right13:13
*** Greywhind has quit IRC13:19
*** tansell-laptop has quit IRC13:19
*** jmtan has quit IRC13:19
*** Erroneous has quit IRC13:19
*** Erroneous has joined #tp13:19
*** Greywhind has joined #tp13:19
*** tansell-laptop has joined #tp13:19
*** jmtan has joined #tp13:19
*** peres has quit IRC13:31
*** adrian_mo16 has joined #tp14:16
adrian_mo16Hi to all, i'm one of the future applicants for GSoC and would like to talk about tpserver-cpp with one of the mentors if that is possible14:17
ezodadrian_mo16: hey, llnz is the guy to talk to, but i've worked on tpserver-cpp too, so i can try to answer your questions14:27
adrian_mo16the main question i had is if the shorter projects in the comination 'calendar timer', 'module system', 'change to Boost.Random' and 'statistics command' would qualify as a whole project for the summer14:28
ezodwell, here is my somewhat indirect answer:14:30
*** Gaurav__ has quit IRC14:30
ezod1. we are definitely looking to improve existing stuff this year, so those projects are relatively good ones to pick14:31
ezod2. it is certainly possible to have a multi-part proposal like that, but if possible give something to tie them together better than just "general tpserver-cpp improvements"14:33
ezod3. if you write a good proposal that includes time estimates for each part, you can convince us that your proposal involves the right amount of total work14:34
ezodso, short answer, yes - but strong proposal required :)14:34
*** whacky has joined #tp14:35
adrian_mo16About the second point, i don't understand exactly what 'something to tie them together' means, meaning that they are quite separate ideas for the project. Perhaps some some other optimizations for the tpserver-cpp including these?14:36
adrian_mo16Sorry about the double 'some' :)14:36
ezodwhat i mean is that usually proposals have some single overall goal (which can be more or less specific)14:38
ezodso rather than just saying "improve tpserver-cpp in these 4 ways," you might be able to present a more convincing case as to why your proposal is valuable if you can give a more unified reason14:39
*** Noughmad has quit IRC14:39
adrian_mo16i see, thanks for the info14:39
ezodwhich probably requires more research about TP and stuff, and talking to llnz14:39
ezodbut really the underlying project could still be those 4 improvements14:40
adrian_mo16yeah, i got the idea, thanks again14:40
ezodcool, np, feel free to stick around and chat with llnz when you get a chance14:41
Patrick`I feel like a monster14:41
adrian_mo16sure, i'll do that14:41
ezodPatrick`: what kind?14:41
Patrick`to crowbar tp's python net stuff into the tests I wrote last year, I have to totally butcher and gut them in software :)14:41
Patrick`it's like ripping out an animals still-beating heart and replacing it with a block of wood with "thumpa thumpa" carved into it14:42
ezodbonus points if you include that analogy in your proposal :P14:43
Patrick`I think that one will be on the cutting room floor14:43
Patrick`nobody shall ever know14:44
Patrick`I took my socket wrappers and gave them a fake socket to uselessly pound thier fists on14:46
Patrick`never actually just connected two sockets together14:46
Patrick`and did loopback testing14:47
Patrick`anyway, gotta run, I'll be around later on if mithro's back14:49
Patrick`let's talk testing! woo! yeah!14:49
*** adrian_mo16 is now known as adrian_m14:53
*** adrian_m is now known as adrian_m_afk14:54
*** Epyon_ has joined #tp15:01
*** llnz has joined #tp15:03
*** adrian_m_afk is now known as adrian_m15:06
*** adrian_m has quit IRC15:08
skiffcz-gsoc(07:41:55 PM) Patrick`: to crowbar tp's python ..... epic15:14
*** konr has quit IRC15:28
*** adrian_mo16 has joined #tp15:30
*** llnz has quit IRC15:31
Patrick`I just know as soon as I write code to access "private" variables I'm doing something wrong15:32
*** llnz has joined #tp15:36
llnzmorning all15:38
ezodhey llnz15:38
llnzhi ezod15:39
ezodadrian_mo16 was wondering about some tpserver-cpp stuff for gsoc a little while ago15:39
adrian_mo16i'm still wondering about it :P, though i'm looking through the codebase right now15:40
llnzshenki: yes i do read the logs sometimes :-)15:42
adrian_mo16the compiling is taking quite longer than i previously expected16:02
adrian_mo16of tpserver-cpp i mean ;)16:02
*** Gaurav__ has joined #tp16:11
*** Gaurav__ is now known as Gaurav__away16:27
llnzDon't ask to ask, just ask16:37
*** sashee has joined #tp16:43
*** sashee has joined #tp16:43
*** sashee has joined #tp16:44
*** adrian_mo16 has quit IRC16:49
*** bddebian has quit IRC17:07
*** shrink has quit IRC17:12
*** Epyon_ has quit IRC17:20
*** BCarlyon|Server has quit IRC17:27
*** BCarlyon|Server has joined #tp17:27
*** sashee has quit IRC17:41
Epyonllnz, JLP, any ideas on the secondary C++ proposal?18:00
Epyonie., a C++ related task that'd be "nice to have"18:00
llnzEpyon: there is a list of them for tpserver-cpp on the Ideas for Programmers page18:01
llnzfor libtpproto-cpp...18:01
llnzi don't remember18:01
Epyonhmm, doing EliteSec, I'd need to touch the Persistence issues anyway...18:04
llnzlibtpproto-cpp doesn't have any small issues because there are some big ones still be be resolved18:04
llnzthe tpserver-cpp shorter projects are good intros and time fillers18:04
Epyonbtw, what do you use as the network interface?18:05
Epyoneg. what libraries?18:05
llnzpersistence is bigger than it looks18:05
llnzEpyon: what in? tpserver-cpp?18:05
* Epyon hopes Boost.ASIO18:05
llnzno library, all network interfacing is built in18:06
llnznot asynchronous yet, using select loop though18:06
EpyonHow about a project "Boostification of tpserver-cpp" :>18:06
* Epyon is working full-time till summer as a linux server developer for Nokia, and learned to value server performance...18:07
llnzi've been meaning to look at ASIO18:07
EpyonIt's... beautiful18:07
EpyonYet if to go the boost way, one would have to do it all way down.18:07
llnzthe basic network stuff is async, but it's the higher managers and persistence that is not18:08
EpyonA proper design for the system would be great, however, I can't do such a design withough browsing through the whole tpserver code -- and that I do not have time at the moment ://18:08
llnzbtw, why do you think you would need to change the persistence for EliteSec?18:09
EpyonIt stores a *lot* of data18:10
EpyonUnless I'd generate it on demand18:10
llnzpersistence can handle a lot of data18:10
llnzthe visibility of the data to the clients is up to the ruleset18:10
EpyonBTW, there was a web client developed, what's its status?18:11
llnzstudent dropped out before really starting :-(18:11
Epyonawww D:18:12
llnzmaybe this year...18:12
EpyonWhat are the general submission picking guidelines? This year I'd finally like to get into TP...18:13
llnzin general, we are looking for clear, well explained, well researched, achivable proposals that are of the greatest importance (where the importance is fairly wide)18:15
llnzwe aren't just looking in a few narrow areas18:16
Epyon"that are of the greatest importance" <-- this is what I'd like to have explained :)18:16
*** nash has joined #tp18:16
llnzwell... at a guess its:18:17
Epyonhi nash :)18:17
llnzgetting more people to play18:17
llnzgetting more people to develop18:17
nashHeyo Epyon18:17
llnzadvancing the framework overall18:17
llnzmaking what we have already better18:18
EpyonI think EliteSec would help #1, #3 and #4 :>18:20
llnz(in no particular order)18:20
llnzjust for example, the single player mode stuff is basically for #1, with flow on to #2 and #418:21
Epyon#1 because it'd be a cool game that'd apply not only to hardcore turn-based game players, #3 because I'd do all the neccessary changes to the server and a picked client, and #4 because there'd be reusable media and client/server modifications :>18:21
Epyonnash, any tips what to include in the EliteSec proposal?18:22
nashEpyon: A playable implementation18:23
nashEpyon: Or a players manual18:23
nashor any thing else that shows you have really started it and not just writng a proposal18:23
nashEpyon: That would apply to any SoC applicant however18:24
nashEpyon: I personally would rather fund someone who is doing it for free then fund someone who is only doing it for hte money18:24
Epyonnash, quite unrealistic considering that I have a full-time job currently :/. I'd probably be glad to do it for free if you gave me the free time + food and lodging :P18:25
llnzEpyon: maybe not full time development, but even doing little bits of documentation over the years would have been a good idea18:26
nashEpyon: So... if you are working full time, how do you propose to do DoC?18:26
llnzsee the "Designs in progress" rulesets on the wiki homepage18:27
nashEpyon: llnz is correct18:27
llnzfor example, Codename Elvis is my game, just the little bit of docs is helpful18:27
nashEpyon: The more I know how it works and plays the more likely I am to be willing to do it18:28
llnzEpyon: don't be discouaged, you have an idea that could be very interesting18:30
EpyonWell, I can do some documentation before the evaluation deadline, but there are poor chances for a prototype...18:33
llnzEpyon: do what you can18:34
llnzan engaging description of gameplay would help you18:34
EpyonThere are also some question about server capabilities that I'd need to have answered18:35
nashEpyon: The biggest barrier for me is quite simply: I love elite, I like the idea, but I'm not sure how it work as a game... So if I'm convinced it would work, I'm all happy18:35
EpyonFor example, how is actually turn length controlled?18:35
nashOr at least reasonable confident it woudl work18:36
llnzEpyon: pluggable methods, currently either fixed time, or turn ends when all players signalled that they are finished18:36
llnz(or by threshold in between)18:37
llnzit's going to be simplified a little soon18:37
EpyonThe latter would be pretty annoying when we have more than a few players.18:37
EpyonWhat about support for a mixed version? Each turn ends either when all participants do a turn, or an hour passes?18:38
llnzhence the thresholding, fixed max time, if threshold (x%) finish, then shorter time18:39
llnzagain, because they are pluggable, can be changed easily18:39
*** konr has joined #tp18:40
EpyonOk, and waht about a fine turn granularity ( like one turn per 10 minutes ) but some actions taking lot more time ( fleet movement, ETA 1h20...)18:40
llnzactions (orders) can take many turns18:41
llnzfor example, in minisec moving from one star system to another18:41
EpyonGreat, that'd be the way to go with elite18:41
llnzin TAE and Risk and RftS different turns do different things18:42
llnzrfts in particular18:42
EpyonAnd what about the current combat implementations?18:44
EpyonHow are they executed, reported, what ( and if at all ) decision factor is there?18:44
llnzcombat is totally up to the ruleset18:44
llnzbattle XML support should come sometime soon18:45
llnz(maybe SoC)18:45
EpyonI'm just judging the engine/protocol restrictions18:45
EpyonAs for the current version of TP18:45
llnzsee rpscombat in minisec18:45
llnzand similar things in the other rulesets18:46
Epyoncode or coc?18:46
llnzboth, see how they match up18:46
Epyonis there anywhere a documentation of a combat protocol outside of the code?18:46
llnzthere is no combat protocol18:47
llnzbattle xml is a representation of what when on in the combat after it has occured18:47
EpyonI meant documentation of an examplish combat implementation :>18:47
llnzno documentation of combat implementation, as it is totally up to the ruleset18:48
Epyonafair I understand that 1) turn-end 2) combat on server 3) turn-begin 4) message with combat report?18:49
llnzbbs, lunch19:01
*** DTRemenak|RDP has joined #tp19:01
*** DTRemenak|RDP_ has joined #tp19:03
*** DTRemenak|RDP has quit IRC19:03
*** Erroneous has quit IRC19:04
*** DTRemenak|RDP_ has quit IRC19:04
*** DTRemenak|RDP_ has joined #tp19:04
*** DTRemenak|RDP_ is now known as Erroneous19:04
Epyon'm retirin' for the day, see ya tommorow19:05
Patrick`so yeah19:39
Patrick`anyone tim-shaped around?19:39
* llnz is back19:53
*** gimpster has joined #tp20:00
Patrick`dinnae suppose you could comment on python network unit testing20:01
llnznot really, sorry20:06
Patrick`no worries20:08
Patrick`I just looked over my calendar and I thought the student deadline was early next week, but it's later than that20:08
Patrick`so I still have a decent amount - including drafts20:09
skiffcz-gsocOk, so there is just one proposal yet? thats poor .. time to start a slow painful journey towards mine. Its about time.20:10
gimpsterlast year the deadline was extended also20:19
gimpstercould happen again this year20:19
gimpsterbut i wouldnt bet on it..20:19
Patrick`it was during the extension in 2007 that my mate convinced me to start thinking about soc20:20
Patrick`so it's an improvement20:20
llnzthe earlier it's in either the soc webapp or our wiki, the more feedback you will receive20:21
*** tansell-laptop has quit IRC20:22
gimpsterIm having trouble building libtpproto , are there any special dependancies I need?20:23
*** tansell-laptop has joined #tp20:23
gimpsterWhen trying to build I get errors all over buffer.cpp, any ideas?20:28
llnzgimpster: odd20:32
llnzwhich version of libtpproto-cpp?20:32
gimpsterI downloaded 0.1.1, out of date?20:33
llnzalso, you could paste the errors into a pastebin for me to look at20:33
gimpsterSure, one moment20:33
ezodtansell-laptop: ping?20:35
tansell-laptopezod, pong20:35
gimpstereep, this is way old. i'll get back to you when I download the new version llnz :P20:36
llnzgimpster: ok20:36
ezodhey, i got stuck on a bit of the py2exe thing for daneel-ai, could probably figure it out but it's the busy end of the week so i haven't had time20:36
ezodthinking you might know20:36
llnzit appears that SF doesn't have the lastest version (which is slightly incomplete but working)20:36
gimpsterill grab the version off of git20:38
llnzgimpster: 0.1.9 is new enough20:38
llnzin fact that currently is the latest git version too20:38
ezodit has libtp{client,proto}-py as submodules like tpclient-pywx20:39
Patrick`tansell-laptop: just a quick opinion if I may20:40
Patrick`(to ask for one, that is)20:40
tansell-laptopezod, yeah py2exe doesn't like that20:41
tansell-laptopyou need to copy everything into a single tp directory20:41
Patrick`it's been suggested that out of the two options of "porting to twisted" and "writing unit testing for the existing python network code" the tests would be more useful20:41
tansell-laptopsee the tpclient-pywx setup.py20:41
ezodtansell-laptop: yeah i tried basically exactly what you do in tpclient-pywx, no luck either20:41
tansell-laptopPatrick`, you could actually do the two together20:41
ezodit builds the exe, but doesn't (apparently) build in the deps20:41
tansell-laptopezod, oh?20:41
tansell-laptopdid you tell it to build in the tp directory?20:41
Patrick`I figure that twisted would obsolete all the low-level tests (obviously)20:42
Patrick`and I can't decide which one to actually do a bit of work on just now20:42
*** Gaurav__away has quit IRC20:42
ezodtansell-laptop: how would i do that?20:42
Patrick`networking and testing's about the only two bits of experience I have :)20:42
tansell-laptopezod, modules section20:42
tansell-laptopPatrick`, which low level tests?20:42
ezodtansell-laptop: i think i do that the same as the tpclient-pywx does, although it's now been more than a day, maybe i just need to look at it again20:43
Patrick`well, things like making sure that all the stuff twisted handles works20:43
tansell-laptopPatrick`, things like the data serialiser is going to continue to need tests20:43
Patrick`like reassembling fragmented frames20:43
tansell-laptopPatrick`, twisted isn't going to magically support reassembling tp frames20:43
Patrick`but yeah20:43
tansell-laptopyou'll have to write that code20:43
tansell-laptopand hence have to test it20:43
Patrick`yeah, ok20:44
Patrick`that's actually a fair point20:44
Patrick`ok, aha!20:44
Patrick`write tests first20:44
Patrick`then that'll help port it to twisted without breaking it20:44
Patrick`since, python networking == how the main client works20:44
Patrick`it's important to get it Totally Right20:45
Patrick`you mentioned 2 prior attempts, of which 1 is shipped as example code20:46
Patrick`right, I'll have time on saturday to go back into it with what you said20:49
Patrick`--> sleep20:50
skiffcz-gsocPatrick`: good night20:52
tpbTitle: general pastebin - daneel-ai - post number 1373557 (at
ezodthat's the latest attempt20:53
tansell-laptopbtw - porting the stuff to twisted is only for the server20:53
tansell-laptopnot for the client20:53
tansell-laptopezod, that looks like it should work20:53
ezodnote i added the "console" bit to setup so that it would actually build an exe - not sure what that means for the rest of it...20:54
tansell-laptopwhat happens?20:54
ezodtansell-laptop: could it have something to do with setuptools vs. distutils20:54
tansell-laptopyou should be able to drop in setuptools without problem20:54
ezodrefer to comment at top of file ;)20:54
tansell-laptop(just change the import)20:54
tansell-laptopyeah it breaks it under Linux20:55
tansell-laptopezod, I can't really test until I get home tonight20:55
tansell-laptopwhats the actual error?20:55
ezodso what happens as it stands is, it builds the daneel-ai.exe, but when i try to run it, it complains it can't find libtpproto-py (i.e. does, i guess)20:56
ezodwhich of course implies that libtpclient is not there either20:56
ezodthe last 2 lines are "The following requirements were not found: libtpproto-py" (or close enough, windows pc is at other end of apartment)20:57
ezodi could see if setuptools makes it work20:58
tansell-laptopworth giving a try20:58
tansell-laptopyou could extract the file and see if tp stuff is in it20:59
ezodyeah hadn't thought of that, i just assumed it wouldn't be21:00
ezodlike i said, very limited time to investigate thus far21:00
ezodso it's probably not that big of a deal21:00
tansell-laptoptote, couple of things21:01
tansell-laptoptote, tpclient-pywx keeps a connection open all the time21:02
tansell-laptoptote, there is no game currently which has fog of war, but it's 100% possible with tp0321:02
totetansell-laptop: okey, which means that a universe needs to be downloaded for every user of the web client and a cache of some sort must be implementet to reduce the network traffic21:04
tansell-laptoptote, correct21:04
tansell-laptoptote, libtpclient-py has a inbuilt cache so it doesn't download the whole universe earch connection21:05
tansell-laptopbut even checking the "freshness" of the cache is an expensive operation21:05
*** JLP has quit IRC21:06
totebut that has to be done? if a server allows both web clients and non web clients21:06
totethere is no way to know what another client did except to ask the server about it21:06
*** JLP has joined #tp21:07
tansell-laptoptote, yes21:08
tansell-laptopthe client makes an assumption that only one user is conencted to an account at one time21:09
tansell-laptoptote, btw tpserver-py supports virtual hosting21:10
tansell-laptoptote, so you can have multiple games on a single server21:10
toteshouldn't all servers support that? i got that feeling from the game input field in tpclient-pywx21:11
tansell-laptoptpserver-cpp doesn't21:12
llnzwhile it doesn't actually, it acts though it could21:14
*** Erroneous has quit IRC21:14
totedoes it matter if i submit my application directly using the gsoc system, or do you want to read it before?21:19
ezodtote: the gsoc system lets us review it and lets you make changes21:21
toteok great21:21
ezodi.e. the first draft won't be set in stone or anything21:21
Vadtecevening all21:32
Vadtecllnz: have you had a chance to look at my proposal on the wiki?21:33
*** tansell-laptop has quit IRC21:45
*** tansell-laptop has joined #tp21:47
llnzVadtec: i had a quick read earlier22:05
Vadtecllnz: ok, just wanted to make sure you hadnt forgotten22:06
totefirst draft submitted :)22:14
llnztote: cool22:15
*** mithro has joined #tp22:48
Greywhindmithro: ping?22:52
*** alanp has joined #tp22:56
*** tansell_laptop has joined #tp23:05
*** llnz has quit IRC23:05
tansell_laptopGreywhind, pong23:06
*** whacky has quit IRC23:10
*** peres has joined #tp23:11
Greywhindtansell_laptop: still there?23:18
tansell_laptopGreywhind, sure23:18
Greywhindwant to talk about GSOC for a bit?23:18
*** gimpster is now known as mhilmi223:19
*** tansell-laptop has quit IRC23:19
tansell_laptopGreywhind, sure23:19
*** mhilmi2 has quit IRC23:30
*** q00u has joined #TP23:35
*** Gaurav__ has joined #tp23:49
ezodmithro: is persistence modules for tpserver-cpp something we'd like to see a gsoc proposal for?23:54
ezodtansell_laptop: ^23:54
mithroezod: it's a low priority in my eyes23:57
mithroand not quite a full GSoC project23:57
mithrobut if we got a good application for it23:57
mithroand llnz is supportive of it23:58
*** tansell has joined #tp23:59

Generated by 2.13.1 by Marius Gedminas - find it at!