Tuesday, 2010-07-13

*** tpb has joined #tp00:00
*** ChanServ sets mode: +o tpb00:00
llnzwell... do what you can00:00
* llnz starts skiming the asio tutorials00:07
epyon-kitsunellnz: if you never coded asio before, then it will take a while :P00:10
llnzi've read them before, just reminding myself00:11
epyon-kitsuneunfortunately my initail plan turned out impossible00:11
epyon-kitsuneinitially I wanted to reimplement the connections using only the asio socket layer00:11
epyon-kitsunebut it turns out you can't use the socket layer without running the asio loop00:11
epyon-kitsuneI wasted a lot of time trying to make that work :/00:12
epyon-kitsuneI'm still trying to find a way that it can be achieved without a gigantic commit00:14
llnzthe superclasses should make it fairly small00:16
llnzshouldn't it?00:17
llnzif you have to do a big commit, then do it00:17
epyon-kitsuneNot exactly. The problem is that sockets are now represented by int's00:20
epyon-kitsuneAnd they're copied around.00:20
epyon-kitsuneasio sockets are non-copyable00:20
epyon-kitsuneSo first a connection needs to be created, and then the acceptor needs to get the socket of the connection passed.00:20
epyon-kitsuneThat changes the existing order drastically00:21
llnzso basically, you are going to need to rewrite the network class (i think you might have been going to call it the Server class)00:21
epyon-kitsuneYes, and actually that's the easiest part00:21
llnzmodify the listensockets to extend acceptor_00:21
epyon-kitsunethe harder part is rewriting the connections00:21
epyon-kitsuneI already started to write a new base connection class.00:22
epyon-kitsuneIt's in the 2) point00:22
epyon-kitsuneOh no, extending any asio classes is dangerous00:22
epyon-kitsuneAlso with asio there's no much need to have separate listensockets00:23
llnzother than manage them00:23
epyon-kitsunethe current acceptor class just takes a callback00:23
epyon-kitsunehey, listen sockets don't manage anything even in the current design :)00:23
llnzhaving the ability to close the player listener sockets when needed00:23
StrangerDangerCould anyone help me install TP on ubuntu 9.04 ?00:23
llnzthe network stop command closed the player connections and and player listener sockets00:24
epyon-kitsuneThe server class currently holds 5 acceptors00:24
epyon-kitsuneUnfortunately we can't rely on the asio loop to take ownage of the connections as I initially planned, because we need to be able to send something to all open connections.00:24
epyon-kitsuneOn the bright side, I found a nice way to insert the timer events into the asio loop also :)00:25
epyon-kitsune... too much research to little code :/00:28
epyon-kitsune... I need to brainlessly try to get the current idea onto code I guess.00:29
llnzwhy not commit the server class now?00:44
epyon-kitsunecan't01:03
epyon-kitsunethe names of some files (connection.h) are in conflict01:03
epyon-kitsuneI've always lived by the rule of not commiting something that doesn't compile01:04
llnzok, i generally do too01:05
epyon-kitsunetommorow I need to go to the police... maybe I'll find time but for sure I'll send you the new core prototype the day after01:05
llnzok01:06
llnzfeel free to email the files to me if you want me to have a look before it's ready01:06
*** StupidIncarnate has joined #tp01:14
*** mithro has joined #tp01:40
llnzhi mithro01:44
tansellStrangerDanger, what help do you need?01:46
StrangerDangerWell01:47
StrangerDangerThe sudo apt-get command does not work01:47
StrangerDangerAnd the other help I am confused on01:47
*** nash has joined #tp02:15
*** verhoevenv has quit IRC02:55
*** bisc has joined #tp03:47
bisctansell:ping04:18
tansellbisc, pong04:18
bisctansell: so, let's start with this one http://codereview.mithis.com/5400204:20
tpbTitle: Issue 54002: Saving of users server choice. - Code Review (at codereview.mithis.com)04:20
tansellokay...04:25
bisctansell: then, this one http://codereview.mithis.com/79001. I hope I correctly understood your words about 'getting information from network thread'04:28
tansellbisc, so don't you need a patch for libtpclient-py?04:29
bisctansell: no, why?04:30
tansellhow else will the network thread contain the information you need?04:30
bisctansell: it already has what I need -- in network.connection.hoststring and network.connection .port04:31
tansellyou can't do the following04:32
tansellgame = self.application.network.connection.games()[0]04:32
bisctansell: why not? not safe?04:33
tansellyeah04:33
biscany other way to do it? From cache?04:33
bisctansell: or just move it to thread-safe method?04:35
tansellusing the cache is safe04:35
biscand can I do such thing: self.application.network.connection (see lower)?04:37
llnzbbl04:37
*** llnz has quit IRC04:37
bisctansell: I don't see how to extract Game objects from cache. I guess it doesn't contain them. So, I need to take them from network anyway, right?04:45
tansellbisc, you can't call any methods on the network class04:46
bisctansell: but I can access its instance variables?04:48
tansellyes04:48
bisctansell: but I need to add @thread_safe decorator to do it?04:49
tansellno04:50
tansellonly to methods04:50
tanselland you should only do that if you are a 100% sure the method is threadsafe04:50
bisctansell: yes, I meant adding it to methods, in which I access other thread's variables. "100% sure the method is threadsafe" - what does this exactly mean?04:52
tansellbisc, it means that it doesn't do something which isn't threadsafe04:53
bisctansell: like what? Calling other thread's methods?04:54
tanselldoing things which modify the threads state in unsafe ways04:54
bischmm, I see.04:55
bisctansell: so I'll fix it. Now, about this one http://codereview.mithis.com/68001. Last thing was talking about removing the word 'Getting'. I said that it breaks layout by taking too much space.04:58
tanselldone05:00
bisctansell: thanks. Now, this one http://codereview.mithis.com/84001. I've applied logic 'show only queues that have possible order types or existing orders. No queues - hide panel's internals'05:02
tanselldone05:03
bisctansell: ok. Here I've edited order's parameters for Orders panel, which are incorrect (as you said) http://codereview.mithis.com/8600105:05
tpbTitle: Issue 86001: Order panel: params for Order fixed. - Code Review (at codereview.mithis.com)05:05
tanselldoes it work?05:05
bisctansell: nothing has changed visually. Orders are added successfully as well as in current version.05:08
tansellawesome05:08
tanselldone!05:08
*** glew has quit IRC05:09
bisctansell: great. In this patch http://codereview.mithis.com/59001 you told me to check what happens with long labels. It's a problem -- big labels will make buttons disappear, and I can't suggest any quick and stable decision for this. I think we just shouldn't place big labels there ourselves.05:12
tpbTitle: Issue 59001: Information panel: improving buttons. - Code Review (at codereview.mithis.com)05:12
tansellthe values should wrap05:13
biscI've tried it and it didn't work for some reason. Let me check again05:14
bisctansell: in some panels, there's a class variable 'toplevel = []'. Doesn't it mean that we're supposed to use this variable instead of [] when we speak about toplevel objects, for the sake of code readability?05:18
tansellhrm?05:18
bisctansell: oh, sorry, not panels -- overlays. For instance, in Paths and Systems there's toplevel = [] declaration in the beginning of class. Shall we write code like 'self.active = toplevel' instead of 'self.active = []' ?05:21
tansellbisc, no05:22
tansellthat is empty list having two different meanings05:22
bisctansell: well, maybe this exact example with self.active isn't the right one. I'm speaking about places where we mean [] is sense of 'Top level object'. Because I don't see any uses of toplevel variable at all.05:24
tansellbisc, i'm not sure that toplevel is used anymore - I think it uses something in object utils to determine top level objects now05:25
bisctansell: ok, I understand now. Yes, there's something like 'IsTopLevel' in objectutils. So, just remove this toplevel variable?05:27
tansellbisc, probably05:27
*** mithro has quit IRC05:32
bisctansell: let's get back to an old issue with filter frame. The last thing was removal of freeze and thaw. http://codereview.mithis.com/5300105:33
tpbTitle: Issue 53001: One more option for Filter frame appearance. - Code Review (at codereview.mithis.com)05:33
tanselldone05:34
biscToday's we have 'approve everything' day :)05:35
bisctansell: now, a complicated one  http://codereview.mithis.com/85001. I've been reducing nesting in code by adding a new function there. Still, I'm not sure in how the order is formed (but it works).05:38
*** mithro has joined #tp05:46
biscmithro, tansell: can you please look at 85001, as I'm going to leave for some time.05:59
tansellokat06:04
*** bisc has quit IRC06:11
*** cahirwpz has joined #tp07:07
*** bisc has joined #tp07:46
bisctansell: ping07:49
tansellbisc, pong07:49
bisctansell: anything about http://codereview.mithis.com/85001?07:50
tpbTitle: Issue 85001: Halfway patch for right click menu. - Code Review (at codereview.mithis.com)07:50
*** cahirwpz has quit IRC08:00
bisctansell: also, I'm experiencing some problems with text wrapping. When wrapping is turned on, the text control starts growing vertically and takes a lot of space. Dunno what to do with it.08:11
*** Epyon has quit IRC08:20
*** Epyon has joined #tp08:21
*** shenki has quit IRC08:30
*** shenki has joined #tp08:38
*** cahirwpz has joined #tp09:37
*** nash has quit IRC09:56
*** mithro has quit IRC09:59
*** Epyon has left #tp11:35
*** mithro has joined #tp12:53
*** verhoevenv has joined #tp12:59
*** null_000 has joined #tp13:28
*** bisc has quit IRC13:54
*** mithro has quit IRC13:57
*** null_000 has quit IRC14:04
*** null_000 has joined #tp15:33
null_000alanp: ping15:34
alanphello15:36
null_000so how's progress on the colonisation?15:37
null_000alanp: ping16:06
*** StrangerDanger has quit IRC16:20
*** StrangerDanger has joined #tp16:23
*** glew has joined #tp17:09
ezodglew: ping17:36
alanpnull_000: hello17:36
glewezod: pong17:37
ezodhey17:37
ezodi see recent work on sqlite - how is that going?17:37
glewwell, I was able to run a single player game with the sqlite persistence last night17:37
glewit was outputting to the database17:38
ezodawesome17:38
glewI guess i need to compare the results to the mysql module17:38
ezodok17:38
ezodcan you write a blog post detailing a test procedure for us?17:38
glewum, i guess i could17:39
glewi'm not 100% sure what i should test though17:39
glewor how to go about testing each feature17:39
ezodwell that's mainly up to you17:39
glewor should i just do test cases?17:39
ezodthat's fine17:39
glewok17:40
ezodbasically, we want to be confident that it will do the necessary stuff for single-player game saving17:40
glewright17:40
ezodso how you convince us of that is your call ;)17:40
ezodneeds to be this week17:40
glewyeah17:40
glewi'll try to have it by the end of thursday latest so you can read it before friday's deadline of the midterm review17:41
ezodif there are any issues (broken/outstanding parts, etc.) just detail what they are and the plan for fixing/finishing them17:41
glewok17:41
ezodso your "midterm report" is a blog post of the above 2 things (test procedure and plan for remaining issues)17:42
ezodand a revised timeline for the 2nd half, if necessary17:42
glewok, sounds good17:42
*** null_000 has quit IRC17:59
*** Agon has joined #tp18:14
*** StupidIncarnate has quit IRC19:14
*** Agon has quit IRC19:23
*** StrangerDanger has quit IRC19:55
*** StrangerDanger has joined #tp20:10
*** Agon has joined #tp20:29
*** StrangerDanger has quit IRC20:38
*** StrangerDanger has joined #tp20:40
*** cahirwpz has quit IRC20:46
*** llnz has joined #tp21:20
llnzmorning all21:20
*** Agon has quit IRC21:38
*** Agon-laptop has joined #tp21:43
llnzAgon-laptop: looks like things are going well21:57
llnzi should get some time to compile and run it tonight21:57
Agon-laptopllnz: hello, yes, I did a bit of work today and yesterday. But a lot of work is still a head of me.22:19
Agon-laptopI will continue work, tomorrow.22:20
*** llnz has quit IRC22:24
*** llnz has joined #tp22:49

Generated by irclog2html.py 2.17.2 by Marius Gedminas - find it at https://mg.pov.lt/irclog2html/!