*** tpb has joined #tp | 00:00 | |
*** ChanServ sets mode: +o tpb | 00:00 | |
mithro | nash: ping? | 00:01 |
---|---|---|
mithro | dmpayton: ping? | 00:01 |
dmpayton | mithro: pong | 00:01 |
mithro | hey dmpayton | 00:01 |
mithro | so how goes everything? | 00:01 |
Epyon | ping all | 00:01 |
Epyon | xP | 00:01 |
mithro | hey Epyon | 00:01 |
mithro | what is the time where you are? | 00:01 |
dmpayton | mithro: Everything's alright. Finally gonna get health insurance. :D | 00:02 |
Epyon | 6 in the morning. High time to get some sleep :) | 00:02 |
mithro | dmpayton: oh? Health Insurance is so weird in the US | 00:02 |
dmpayton | mithro: Seriously. Atleast our plan is gonna be relatively cheap. $200/mo for my fiance and I. | 00:03 |
mithro | dmpayton: I seem to remeber most people get health insurance through their job? | 00:03 |
* mithro 's health insurance means it only costs me $100 for new glasses each year | 00:04 | |
dmpayton | mithro: Not all jobs offer health coverage...depends on if the company can afford it, which, in the case of my current employer, they can't | 00:05 |
nash | mithro: pong | 00:09 |
mithro | nash: I got disconnected when I was at uni | 00:09 |
mithro | did you manage to get anywhere? | 00:10 |
nash | mithro: No, as I said - are you sure it is not a compilation issue? | 00:10 |
mithro | dmpayton: so when will we start seeing code? | 00:10 |
mithro | compilation issue? | 00:10 |
nash | Yes - or magic variable iussues | 00:12 |
mithro | possibly | 00:12 |
mithro | actually I just did a diff on the binaries and think I know what the issue is now | 00:13 |
nash | okay | 00:15 |
mithro | nash: and could you see how I could can the execv to execv_git_cmd ? | 00:16 |
nash | i assume you meant change execv -> execv_git_command | 00:18 |
nash | And the short answer is... not particularly easily... unless you paste a git- on the front, and let execv_git_command peel it off... | 00:19 |
mithro | you mean "git-git-cvsserver"? | 00:21 |
mithro | dmpayton: your have gone very quiet :) | 00:24 |
nash | No, when execv_git_command executes, it turns git-foo into git foo | 00:32 |
mithro | oh | 00:33 |
mithro | i don't think that would work very well | 00:33 |
mithro | nash: anyway to get past needing to have the full path in execv? | 00:34 |
nash | execvp | 00:35 |
nash | searchs $PATH | 00:35 |
mithro | nash: can you check that you can still pull and push? | 00:41 |
nash | trying to pull now | 00:42 |
nash | I can fetch | 00:43 |
mithro | okay seems cvs is working too | 00:50 |
nash | sweetness & light | 00:54 |
mithro | light? | 00:55 |
dmpayton | mithro: Sorry for the lack of reply. Just got hit with some really bad news. | 00:56 |
mithro | dmpayton: damn :/ | 00:57 |
mithro | nash: does the parent bug effect galaxie in anyway? | 01:22 |
nash | Not directly, but it makes the UI strange | 01:23 |
mithro | okay - was preventing the AI playing on tpserver-py atm? | 01:24 |
nash | Issues with orders last I saw - but I was having an issue with tpserver-cpp as well, so I must have broken something I think | 01:26 |
mithro | orders where completely not working until last nights commit | 01:26 |
mithro | the server was just throwing away all the arguments | 01:27 |
nash | Okay - I'll give it a burl tonight if I can, and see if it is working now | 01:27 |
mithro | okay - that would be good | 01:30 |
* pschulz01 wonders if his 100 battleships have been built yet? | 01:32 | |
mithro | eventually I'm going to need to write some tests | 01:32 |
mithro | it would be really good if you could do a "tp-server-test" and it would run through and test all the differnet parts | 01:32 |
nash | I agree... Also need some tpclient tests as well ;-) | 01:34 |
mithro | i have no idea how to do tests for tpclient-pywx | 01:34 |
nash | heh | 01:36 |
mithro | Testing UI's suck :/ | 01:36 |
nash | I can look at some for galaxie. There are somethings that are easy to do | 01:36 |
mithro | then of course you have the fact that libtpproto-py dynamically builds the order classes | 01:37 |
nash | heh | 01:41 |
mithro | hopefully, when I get back to libtpproto2-py I can acutally have some tests | 01:42 |
*** dmpayton has quit IRC | 02:02 | |
mithro | nash: i'm not quite sure but I think this parent bug is a sqlite bug | 03:15 |
nash | mithro: Okay... sqlite being used by many many people in many applications, tpserver-py being used by 2... I'll agree with that | 03:16 |
mithro | nash: well - I'm getting strange results in my sql query (which is a rather evil query) | 03:17 |
mithro | where = (((c.size+bp_s)*(c.size+bp_s)) >= \ | 03:17 |
mithro | ((c.posx-bp_x) * (c.posx-bp_x)) + \ | 03:17 |
mithro | ((c.posy-bp_y) * (c.posy-bp_y)) + \ | 03:17 |
mithro | ((c.posz-bp_z) * (c.posz-bp_z))) | 03:17 |
mithro | can see see a problem with that? | 03:18 |
nash | Are the types right? | 03:18 |
mithro | seems so | 03:18 |
nash | no overflow etc? | 03:18 |
nash | So it's supposed to be pythag in 3d? | 03:19 |
mithro | nash: yeah | 03:19 |
mithro | have I stuffed up? | 03:19 |
mithro | hrm - it could be overflowing I guess | 03:19 |
nash | Should it really be c.size+bp_s or c.size-pb_s, having NFI what | 03:20 |
nash | c.size and bp_s is | 03:20 |
nash | And yes, these numbers will overflow happily | 03:20 |
nash | Is there a hypot function? | 03:20 |
mithro | nash: not that I can see | 03:21 |
mithro | there is no pow function | 03:22 |
mithro | otherwise it would be | 03:22 |
nash | Most objects are either really close, or really far - so use a linear difference formula - delta x + delta y + delta z, and see what happens | 03:22 |
mithro | (c.size+bp_s)**2 >= (c.posx-bp_x)**2 + (c.posy-bp_y)**2 + (c.posz-bp_z)**2 | 03:23 |
mithro | still occuring with the following | 03:28 |
nash | Well yeah. | 03:29 |
nash | As I said use (c.size+bp_s) (c.posx-bp_x) + (c.posy-bp_y) + (c.posz-bp_z) | 03:29 |
nash | As I said use (c.size+bp_s) >= (c.posx-bp_x) + (c.posy-bp_y) + (c.posz-bp_z) | 03:29 |
nash | Not correct but it will avoid overflow | 03:30 |
mithro | nash: yeah - it seems to work | 03:30 |
mithro | must be an overflow issue? | 03:30 |
nash | Most likely | 03:31 |
nash | Which is not a bug in sqllite really | 03:31 |
nash | where clauses aren't meant for complex maths | 03:31 |
mithro | nash: i know - but I can't see an easier way to do it? | 03:34 |
mithro | I guess I could select all of them into a numeric array | 03:34 |
nash | Use the linear version, then do a second filter when it comes over | 03:35 |
nash | using hypotll or the equiv in python | 03:38 |
mithro | nash: I'm pretty sure one exists :P | 03:41 |
nash | Or turn that into a SQL function | 03:41 |
mithro | that isn't portable | 03:42 |
nash | long double hypotl(long double x, long double y) { | 03:44 |
nash | 03:44 | |
nash | long double ax, ay; | 03:44 |
nash | 03:44 | |
nash | /* If x or y is a +-Inf, return +Inf. */ | 03:44 |
nash | if (isinf(x) || isinf(y)) | 03:44 |
nash | return (-1.L / zero); | 03:44 |
nash | 03:44 | |
nash | /* If x or y is a NaN, return NaN. */ | 03:44 |
nash | if (isnan(x) || isnan(y)) | 03:44 |
nash | return (x*x+x) + (y*y+y); | 03:44 |
nash | 03:44 | |
mithro | nash: umm? | 03:44 |
nash | ax = fabsl(x); | 03:44 |
nash | ay = fabsl(y); | 03:44 |
nash | 03:44 | |
nash | /* Special case if x and/or y is zero. */ | 03:44 |
nash | if (ax == zero || ay == zero) | 03:44 |
nash | return (ay + ax); | 03:44 |
nash | 03:44 | |
nash | /* Avoid overflow in sqrtl(x*x + y*y) */ | 03:44 |
nash | if (ax >= ay) { | 03:44 |
nash | ay /= ax; | 03:44 |
nash | ax = ax * sqrtl(1.0L + ay * ay); | 03:44 |
nash | } else { | 03:44 |
nash | ax /= ay; | 03:44 |
nash | ax = ay * sqrtl(ax * ax + 1.0L); | 03:44 |
nash | } | 03:44 |
nash | 03:44 | |
nash | return ax; | 03:45 |
nash | ahh | 03:45 |
nash | bugger | 03:45 |
nash | if (ax >= ay) { | 03:45 |
nash | ay /= ax; | 03:45 |
nash | ax = ax * sqrtl(1.0L + ay * ay); | 03:45 |
nash | } else { | 03:45 |
nash | ax /= ay; | 03:45 |
nash | ax = ay * sqrtl(ax * ax + 1.0L); | 03:45 |
nash | } | 03:45 |
nash | That bit there can be done as a where clause | 03:45 |
nash | where (ax > ay && ...) or (ay < ax && ...) | 03:45 |
mithro | that could be done as | 03:46 |
mithro | where (ax > ay && (ax*sqrt(1.0L+(ay/ax)*(ay/ax)) > (s+s)) .... | 03:48 |
nash | may help | 03:49 |
nash | ANyway - I'm off home | 03:49 |
nash | talk to you later... | 03:49 |
*** nash has quit IRC | 03:49 | |
CIA-3 | mithro tpserver-py * r10e07b64c902 /tp/server/ (__init__.py bases/SQL.py): Fixes for the changes introduced in the libtpproto-py cleanup. | 03:55 |
CIA-3 | mithro tpserver-py * rc5d64c3fc4e9 /tp/server/db/__init__.py: | 03:55 |
CIA-3 | Better way of doing the DB proxy. | 03:55 |
CIA-3 | Should now support all the different ways you can call execute. | 03:55 |
CIA-3 | mithro tpserver-py * r8cc5cbf0f613 /tp/server/bases/Order.py: No longer need to parse the extra value. | 03:55 |
CIA-3 | mithro tpserver-py * r8eba7a6daed9 /tp/server/bases/Object.py: Use 64 bit Integers. Use a linear calculation for positioning. | 03:55 |
*** pschulz01 has quit IRC | 04:24 | |
*** nash has joined #tp | 04:38 | |
mithro | wb nash | 05:02 |
*** llnz has joined #tp | 05:30 | |
*** pschulz01 has joined #tp | 05:44 | |
mithro | wb pschulz01 | 05:47 |
mithro | hey llnz | 05:47 |
pschulz01 | mithro: I'm discussing packaging in #ubuntu-motu | 05:48 |
mithro | pschulz01: okay cool | 05:48 |
* mithro pokes TBBle | 05:48 | |
*** llnz2 has joined #tp | 05:49 | |
mithro | wb llnz :P | 05:50 |
*** llnz has quit IRC | 05:50 | |
*** llnz2 is now known as llnz | 05:50 | |
llnz | hi mithro | 05:50 |
mithro | how is everything? | 05:52 |
*** pschulz01 has quit IRC | 05:53 | |
*** jotham has quit IRC | 05:53 | |
TBBle | Anime Society computer died. >_< | 05:54 |
*** pschulz01 has joined #tp | 05:54 | |
*** jotham has joined #tp | 05:54 | |
mithro | TBBle: ? | 05:54 |
mithro | TBBle: pschulz01 has been working on some debs | 05:55 |
mithro | jotham: ping? | 05:55 |
mithro | nash: ping? | 05:56 |
nash | mithro: pont? | 06:15 |
nash | s/t/g | 06:15 |
mithro | pont has a cool sound to it | 06:16 |
nash | shame it means nothing | 06:19 |
mithro | nash: just trying to get galaxie issuing orders to tpserver-py | 06:21 |
*** tuna-fish has quit IRC | 06:22 | |
nash | It seems to be having grief with order names | 06:23 |
nash | ANywya - I need to go for a while | 06:26 |
nash | I should have more TP time on the weekend. | 06:26 |
pschulz01 | nash: I'm on my way to pulverise 'nash Star System' | 06:26 |
*** tuna-fish has joined #tp | 06:29 | |
*** tuna-fish has quit IRC | 06:35 | |
TBBle | Oh, goody. | 06:48 |
pschulz01 | TBBle: Just figured out some stuff!!! Expect code debian packages for tpserver-cpp shortly. | 06:49 |
TBBle | Excellent. You're working on the git tree or the tarballs? | 06:55 |
pschulz01 | TBBle: git | 06:55 |
pschulz01 | TBBle: .. but there is no reason that it won't apply to the tarballs. | 06:56 |
mithro | TBBle has been working on packaging the python stuff | 06:56 |
*** Demitar has quit IRC | 06:56 | |
pschulz01 | TBBle: If it's in git then guy guys can edit package descriptions etc. :-) | 06:56 |
pschulz01 | you guys | 06:57 |
pschulz01 | Eg.. what should tpserver-cpp-scheme-guile contain? | 06:57 |
*** tuna-fish has joined #tp | 06:59 | |
*** tuna-fish has joined #tp | 07:02 | |
pschulz01 | back in a little while.. | 07:04 |
*** tuna-fish has quit IRC | 07:23 | |
*** tuna-fish has joined #tp | 07:23 | |
*** llnz2 has joined #tp | 07:25 | |
mithro | llnz: connection playing | 07:28 |
llnz2 | yeah | 07:39 |
*** llnz has quit IRC | 07:39 | |
*** llnz2 is now known as llnz | 07:39 | |
mithro | hrm.... | 07:57 |
pschulz01 | How do I capture a planet? | 08:00 |
mithro | pschulz01: bomb the hell out of it | 08:01 |
mithro | pschulz01: then recolonise | 08:02 |
pschulz01 | so.. 20 battleships's arn't enough? | 08:02 |
mithro | pschulz01: that should be enough | 08:03 |
mithro | you need a frigate to colonise however | 08:03 |
pschulz01 | mithro: Oh. | 08:03 |
mithro | battleships can't colonise | 08:03 |
pschulz01 | I'll have to stop my '100 battleship build'.. or can I insert a 'frigate build order before it? | 08:04 |
pschulz01 | That seems to hav eworked. | 08:05 |
mithro | pschulz01: you can insert before in theory :P | 08:05 |
mithro | nash: ping? | 08:05 |
pschulz01 | In practice too.. | 08:06 |
nash | mithro: ? | 08:11 |
nash | I found the orders bug | 08:11 |
mithro | nash: you send order probes right? | 08:12 |
nash | Yeah.. | 08:12 |
mithro | where they broken too? | 08:12 |
mithro | either there is a problem in my decoding - or your sending something wrong | 08:13 |
nash | The probes are working | 08:13 |
nash | But I'm getting a problem on the first turn | 08:13 |
mithro | nash: they aren't occuring here | 08:14 |
nash | Auto fixes on 2nd and later turns... but tpserver-py never sends a 'new turn' message | 08:14 |
mithro | s/occouring/working | 08:14 |
mithro | nash: you need to send it a sigusr1 | 08:14 |
nash | There now... | 08:15 |
nash | sending a sigusr1 solves the issue. | 08:15 |
mithro | ? | 08:15 |
nash | I'm about to send a patch up | 08:15 |
mithro | okay | 08:16 |
CIA-3 | nash galaxie * r2ec6992d6df0 / (tpe_orders.c tpe_sequence.c): Fix sequence bug with UINt32 and UINT64 confusion. | 08:18 |
CIA-3 | nash galaxie * rd6f4d24fa914 /tpe_ship.c: Same bug in ship designs too. | 08:18 |
nash | Try that | 08:19 |
mithro | Data: '\x00\x00\x00\x02\xff\xff\xff\xff\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' Structure: [ISI][II] Extra Data found: '\x00\x00\x00\x00\x00\x00\x00\x00' | 08:20 |
mithro | do you actually look at OrderDescs or just assume buildfleets are the same? | 08:22 |
nash | At this point I just assume | 08:25 |
nash | Haven't fixed that yet | 08:25 |
nash | hmm... ** Error: Seq 17: Err 4: No such <class 'tp.server.bases.Order.Order'>. | 08:25 |
mithro | ? | 08:25 |
mithro | nash: when did you do the last pull of tpserver-py and libtpproto-py ? | 08:26 |
nash | yesterday | 08:27 |
mithro | can you try an update? | 08:27 |
mithro | any luck? | 08:31 |
mithro | what format do you use for BuildFleet? | 08:34 |
nash | Umm.. | 08:41 |
nash | It was what was documented in one of the places... | 08:42 |
mithro | it's documented? | 08:42 |
nash | What I send is: | 08:42 |
nash | <objid><slot><build id><0><0><0><N items (<type>,<number>)... >> | 08:43 |
mithro | hrm.... | 08:45 |
mithro | nash: seems to work if I add the extra ARG_STRING | 08:47 |
nash | One of those zeros is that string... | 08:48 |
nash | oh... also there is the name at the end | 08:49 |
nash | mithro: For the AI comp I just got it to work with tpserver-cpp ;-) | 08:50 |
nash | Dynamic order parsing is on the list todo - but I haven't figured out how to do it sanely for things like AIs... there is no semantic meaning in the protocol | 08:50 |
CIA-3 | mithro tpserver-py * r36f3ecd431db /tp/server/rules/minisec/orders/BuildFleet.py: Added name attribute. | 08:51 |
mithro | :P | 08:51 |
nash | mithro: I still have build in the quere however | 08:52 |
nash | Oh... now it is 'Unknown' | 08:53 |
mithro | how do I check? | 08:53 |
nash | Click on the object... | 08:53 |
nash | (So <x> Solar System, then down the bottom click on the <x> Planet | 08:54 |
nash | You will see the order queue there. | 08:54 |
nash | mithro: Anywya - I'm heading to be shortly | 08:54 |
mithro | okay | 08:54 |
nash | Talk to you tomorrow | 08:54 |
pschulz01 | mithro: Which guile packages do I need to build tpserver-cpp guile files? | 09:02 |
mithro | you mean mzscheme? | 09:02 |
llnz | pschulz01: guile-1.6-dev | 09:02 |
pschulz01 | I have mzscheme building OK. | 09:02 |
pschulz01 | .. just need guile now. | 09:03 |
llnz | or maybe guile-1.8-dev | 09:03 |
pschulz01 | llnz: ta | 09:03 |
pschulz01 | llnz: Just the file(s) in usr/share/tpserver/tpscheme/guile in guile package? | 09:06 |
llnz | not just them, also usr/lib/tpserver/tpscheme/libguile* | 09:08 |
llnz | ie, library and the static data file | 09:09 |
pschulz01 | is there an equivalent usr/lib/tpserver/tpscheme/libmzscheme* | 09:10 |
llnz | yes | 09:11 |
llnz | usr/lib/tpserver/tpscheme/libtpguile* | 09:11 |
*** _JLP_ is now known as JLP | 09:25 | |
JLP | ahoy people | 09:26 |
llnz | hi JLP | 09:26 |
mithro | hey JLP | 09:28 |
mithro | can't figure out how to solve this problem | 09:34 |
mithro | ahh huh! | 09:57 |
CIA-3 | mithro libtpproto-py * rf0ceb19064a8 /tp/netlib/xstruct.py: Make the error message a bit more informative. | 10:06 |
CIA-3 | mithro libtpproto-py * rbf7f13f42264 /tp/netlib/objects/OrderDesc.py: Make the error message easier to figure out. | 10:06 |
CIA-3 | mithro libtpproto-py * r78ef55e7c72d /tp/netlib/objects/Description.py: More informative messages. | 10:06 |
CIA-3 | mithro libtpproto-py * r157d5c2f6801 /tp/netlib/objects/Order_Probe.py: Fix the Order Probe message for the new order stuff. | 10:06 |
CIA-3 | mithro libtpproto-py * r533856fdc77e /tp/netlib/objects/OrderDesc.py: Start with an empty substruct. | 10:06 |
CIA-3 | mithro libtpproto-py * r1fc3532cfb32 /tp/netlib/server.py: | 10:07 |
CIA-3 | Use the type given by the number. | 10:07 |
CIA-3 | Fixes problem trying to differentiate probe and insert order packets. | 10:07 |
CIA-3 | mithro libtpproto-py * rc2ca77367d60 /tp/netlib/objects/Order.py: Allow the number of turns to be -1. | 10:07 |
CIA-3 | mithro tpserver-py * r5803ae769484 /tp/server/rules/minisec/orders/BuildFleet.py: Fixed the default value. Unpack the value. | 10:08 |
CIA-3 | mithro tpserver-py * r1b6e82022220 /tp/server/rules/minisec/objects/Fleet.py: Small cosmetic fix. | 10:08 |
pschulz01 | llnz: still around? | 10:12 |
pschulz01 | llnz: See http://git.mawsonlakes.org/cgi-bin/gitweb.cgi?p=tp/tpserver-cpp | 10:15 |
tpb | <http://ln-s.net/YBr> (at git.mawsonlakes.org) | 10:15 |
pschulz01 | lI need to find out what all the dependancies are as I'm still not building the mzscheme and guile libraries... | 10:16 |
pschulz01 | Good night all. | 10:16 |
llnz | pschulz01: cool | 10:20 |
llnz | good night | 10:20 |
* llnz wanders off | 10:20 | |
llnz | later all | 10:21 |
*** llnz has quit IRC | 10:26 | |
*** Demitar has joined #tp | 10:31 | |
*** Demitar has quit IRC | 10:34 | |
CIA-3 | mithro libtpproto-py * rb4403b352d59 /tp/netlib/xstruct.py: Catch when people do stupid things like give you to many arguments. | 10:36 |
CIA-3 | mithro libtpproto-py * rc3ba1f07710c /tp/netlib/objects/OrderDesc.py: | 10:36 |
CIA-3 | Should set substruct to empty, not struct. | 10:36 |
CIA-3 | Remove extra prints. | 10:36 |
CIA-3 | mithro tpclient-pytext * r3a6b3629ff7c /tpclient-pytext: | 10:36 |
CIA-3 | Fixed up some str's. | 10:36 |
CIA-3 | Move to the new apply python syntax. | 10:36 |
CIA-3 | mithro tpclient-pytext * rce47f7aeff99 /.gitignore: GIT Ignore file. | 10:36 |
tpb | aloril has quit worldforge (Ping timeout: 620 seconds) | 11:29 |
tpb | aloril has joined on worldforge | 11:41 |
tpb | aloril has quit worldforge (Remote host closed the connection) | 11:46 |
tpb | aloril has joined on worldforge | 11:51 |
tpb | aloril has quit worldforge (Read error: Connection reset by peer) | 12:03 |
tpb | aloril has joined on worldforge | 12:03 |
*** dmpayton has joined #tp | 12:23 | |
mithro | hey dmpayton | 12:55 |
dmpayton | Hey mithro | 14:17 |
*** dmpayton has quit IRC | 16:47 | |
*** xdotx has joined #tp | 16:53 | |
*** Demitar has joined #tp | 17:08 | |
*** nash has quit IRC | 17:42 | |
*** nash has joined #tp | 18:33 | |
*** pschulz01 has quit IRC | 18:41 | |
*** mithro has quit IRC | 19:17 | |
*** mithro has joined #tp | 19:31 | |
mithro | morning people | 19:33 |
mithro | ~seen niphree | 19:33 |
tpb | mithro: niphree was last seen in #tp 2 days, 10 hours, 22 minutes, and 15 seconds ago: <niphree> mithro: brb - another project meeting :]. I'll be back in few hours | 19:33 |
mithro | :/ | 19:33 |
mithro | hey nash | 19:52 |
mithro | o so quiet | 20:32 |
mithro | ~seen jotham | 20:32 |
tpb | mithro: jotham was last seen in #tp 1 week, 5 days, 20 hours, 13 minutes, and 9 seconds ago: <jotham> cool | 20:32 |
mithro | jotham: ping? | 20:32 |
nash | heyo mithro | 20:38 |
mithro | bblr | 21:07 |
*** mithro has quit IRC | 21:27 | |
*** xdotx has quit IRC | 22:19 | |
nash | tpb: seen dystopicfro | 22:25 |
tpb | nash: dystopicfro was last seen in #tp 3 weeks, 1 day, 20 hours, 46 minutes, and 25 seconds ago: <DystopicFro> nash: I'll email you the location that you can clone from when I get it up | 22:25 |
Generated by irclog2html.py 2.5 by Marius Gedminas - find it at mg.pov.lt!