<< 18-08-2013 >>

00:47:19dom96aww
00:47:42dom96well that was fun
00:48:19dom96Time to sleep
00:48:20dom96good night
00:50:55EXetoCgg bye
00:50:57*EXetoC quit (Quit: WeeChat 0.4.1)
02:13:30*q66 quit (Quit: Leaving)
03:14:13*Associat0r quit (Quit: Associat0r)
03:35:21*rubino123 joined #nimrod
03:39:16*rubino123 quit (Quit: Leaving)
04:08:35reactormonkdom96, so how do I add my babel lib to my project
04:46:56*OrionPK quit (Read error: Connection reset by peer)
09:32:26*BitPuffin_ joined #nimrod
09:55:50*BitPuffin_ quit (Ping timeout: 240 seconds)
10:09:05*Associat0r joined #nimrod
10:09:06*Associat0r quit (Changing host)
10:09:06*Associat0r joined #nimrod
10:32:57*[2]charles quit (Ping timeout: 276 seconds)
10:39:53*q66 joined #nimrod
11:03:23dom96reactormonk: https://gist.github.com/dom96/6261117
11:03:45dom96put that in nim-kwin-tiling's root and run 'babel build'
11:08:12BitPuffinwait you can use babel to build?
11:08:13BitPuffingahhhh
11:08:29dom96of course!
11:08:41BitPuffinyou should make it so that you can use babel to run
11:08:49BitPuffinthat would be awesome when making a software
11:08:56BitPuffinbabel run
11:09:00BitPuffinand it compiles and run
11:09:01BitPuffins
11:10:15dom96is it so hard to do: babel build && ./app? :P
11:10:54BitPuffinyes ;_;
11:11:52dom96also what should that do when there are multiple binaries?
11:12:07BitPuffinwell then you could pass an argument
11:12:10BitPuffinbabel run server
11:12:12BitPuffinbabel run clien
11:12:13BitPuffint
11:12:57BitPuffinso in the config you could specify an alias for all the binaries or otherwise just use the binary name as a param
11:13:03dom96yeah, ok. Submit an issue then to remind me I guess.
11:13:19BitPuffinso if my client is awesomecoolgame I want to alias that to "game"
11:13:34BitPuffinand maybe the server is awesomecoolgame-server I want to alias that to "server"
11:13:44dom96gah, just rename it to server then
11:13:51BitPuffinnever!
11:13:57dom96I'm trying to keep it simple.
11:14:04dom96I haven't even released the damn thing yet!
11:14:06BitPuffinit is very simple
11:14:15BitPuffinyou don't HAVE to alias
11:14:19BitPuffinit should just be an option
11:14:41BitPuffinif no alias is defined (or even if it is) you should be able to do babel run exenam
11:14:41BitPuffine
11:14:44dom96it's not that easy
11:15:01BitPuffina hash map and you are done
11:15:02dom96specifying the aliases in the .babel file will require some extra parsing or something
11:15:25BitPuffinit reads .babel file and it hashes "server" to the value "myawesomecoolsuperspecialgame-server"
11:19:57BitPuffindom96: https://github.com/nimrod-code/babel/issues/10
11:19:59dom96yeah, ok. Maybe in version 0.2
11:20:28BitPuffinyou mean run? or just the alias part?
11:20:41dom96both probably
11:21:04BitPuffinokay
11:21:14*BitPuffin is trying to grasp matrix cofactor
11:22:08*EXetoC joined #nimrod
11:23:49BitPuffinah
11:23:51BitPuffinwell it's simple
11:25:40*BitPuffin was confused by the notation
11:27:37BitPuffinokay so tomorrow when I finish linagl
11:27:57BitPuffinshoud I call the minor proc "minor" or "min"?
11:28:11BitPuffinmin kind of sounds like it would be the minimum value is the matrix
11:28:30dom96"minor"; "min" means "minimum" :P
11:28:43BitPuffinbut then should cofactor be cof? or cofactor?
11:29:03dom96the latter
11:29:10BitPuffincofactor?
11:29:48dom96y
11:30:22BitPuffinbut then shouldn't det be renamed determinant and sub subtract, mul mulitiply?
11:30:26BitPuffinetc
11:31:04dom96'sub' should be `-` and 'mul' should be `*`
11:31:06dom96I guess?
11:31:12dom96'det' I have no idea
11:31:14BitPuffindom96: they are too, there are aliases
11:31:17EXetoCsome names are more common than others
11:31:18BitPuffinhttps://bitbucket.org/TheLonelyByte/linagl/src/c0315f2199e5bf514af2245be402f8f374093a37/src/linagl/matrix.nim?at=default
11:31:38BitPuffinit just feels like calling it "minor" destroys all the established convention
11:32:50dom96why do you have all these aliases?
11:33:03EXetoCthough I'd probably be fine with 'cof' if I knew all the linalg terms, but min is often 'minimum' indeed
11:33:03dom96Why not just have `==` instead of an equal proc and an equals alias?
11:33:04BitPuffinzahary: how is the separating generic value stuff going? it would be super useful to have it when finishing all of linagl tomorrow
11:33:38BitPuffindom96: because some people likes having those aliases
11:33:47BitPuffindom96: I am one of those people
11:33:59EXetoCbut then again I don't think 'minimum' for matrices would make sense, so that reduces the confusion somewhat
11:34:21BitPuffindom96: for example in a line with a lot of ?-*(&%/ stuff going on "mul" is more distinguishing than *
11:34:22EXetoCdom96: it's a time consuming game, but yeah it was fun
11:34:51BitPuffinEXetoC: why wouldn't it? it could return the smallest element in the matrix
11:34:54dom96what does 'minor' actually do?
11:35:02BitPuffinnot that I am sure tha's even useful
11:35:20BitPuffindom96: it deletes row i and column j and then does the determinant of that
11:36:10dom96hrm, well I dunno. Do whatever feels right for you. But most people when they see 'min' will think 'minimum'
11:36:23BitPuffinmaybe
11:36:26dom96Unless they learned to think of it as 'minor' in this context.
11:36:35BitPuffinbut in the context of a matrix I am not sure
11:36:35dom96I have no experience with libraries like these.
11:38:05BitPuffinactually I wonder if minor should even be a part of the public interface
11:38:14BitPuffinit might only be useful when constructing other operations
11:38:55BitPuffinlike when computing determinants and inverse
11:39:06zaharyBitPuffin, I'll probably commit the fixes today
11:39:33BitPuffinzahary: amazing, thank you
11:40:01BitPuffinzahary: notify me if you do please :)
11:41:40BitPuffinwould casting a [N][N] array no an [N*N] array be safe?
11:41:58BitPuffinI mean the memory should be identical
11:45:29BitPuffinmight be useful when people are using arbitrary matrices
11:45:37BitPuffinI'll have a squarematrix type that is optimized
11:47:12BitPuffinso if they for example multiply a 3x48 by a 48x3 matrix and get a 3x3 matrix back and then pass that to a squarematrix proc, then it should be temporarily cast to a squarematrix and do the operation in the optimized way and then cast back
11:47:24BitPuffinor just return a squarematrix type
11:56:53BitPuffinhmm, actually the sub proc coud be confused with a submatrix
12:08:53dom96hrm, this looks fun: http://aishowdown.com/
12:11:05zaharynimrod should provide the same guarantees as C (regarding the matrices). but weren't your library using a fixed sized matrices? the generic procs will be compiled for each value of M and N (so you can put the optimized code behind a simple when statement in the generic proc)
12:12:42BitPuffinzahary: you mean hardcoded sizes? no, they are arbitrarily sized, you can have an RxC matrix
12:13:19zaharyI meant they are not dynamically sized (M and N are fixed parameters for the generic type)
12:13:41BitPuffinOh you mean you can't append to them etc?
12:14:01BitPuffinlike dynamically expanding the dimensions
12:14:32zaharye.g. an analogy would be arrays vs sequences - arrays are fixed size, sequences are dynamically resizable
12:14:37BitPuffinzahary: but yeah I was thinking about using a when statement for that
12:14:40BitPuffinzahary: exactly
12:16:28BitPuffinzahary: when R == C: cast[TSquareMatrix[T, C*C] m or whetever the syntax is
12:16:37BitPuffinah
12:16:52BitPuffincast[TSquareMatrix[T, R*C], m] ?
12:18:03zaharywhat I meant is that you don't need a separate type for TSquareMatric
12:18:04BitPuffinzahary: actually a when isn't even needed, I can just make a proc that takes a TMatrix[T, N, N]
12:18:31BitPuffinzahary: I do though, because TSquareMatirx is a single dimensional array
12:18:39BitPuffinzahary: and TMatrix is arbitrarily sized
12:18:51BitPuffinit is the indexing that is optimized
12:18:59EXetoCit's in the manual. cast[T](x)
12:19:05zahary… because all optimisations you can think of can be applied as code behind when statements in the generic TMatrix[T, N, M] type
12:19:14BitPuffinEXetoC: I know, I just didn't wanna look it up now, too much time
12:20:09BitPuffinzahary: well a single dimensional array for a TSquareMatrix is indexed like m[d*c + row]
12:20:23BitPuffinso I can optimize by storing the d*c calculation for each column
12:20:43BitPuffinI can't do that with a multidimensional array
12:20:52BitPuffinit will do the d*c calculation for each index
12:21:23zaharythis kind of thinking should apply for any case - not just square matrices
12:21:24BitPuffinzahary: or do you mean that I should cast after the when? do the optimization and then cast back?
12:22:12BitPuffinwait it is true for RxC dimensional matrices too?
12:22:51BitPuffincrap it is..
12:23:18BitPuffinwell then TMatrix will be refactored to be a single dimensional array!
12:23:25zaharyunless I miss something, yes. the C compiler is likely to produce the same optimization behind your back even with regular 2-diminsional indexing, but that's another story
12:23:46BitPuffinzahary: it might, but should I trust that it will?
12:24:33zaharythe array implementation is not bad for a such a library - gives you more control indeed
12:25:14zaharywould you support changing row-major and column-major layouts at compile time?
12:25:40BitPuffinzahary: not unless someone really wants it like that
12:25:57BitPuffinzahary: but then how do I know when a matrix that is passed it is a row major or column major?
12:26:44BitPuffinzahary: although I do want to be able to give the option to write a literal as a row major (because it looks better in code) and then store it column major internally
12:26:44zaharyI guess, it should be an additional generic parameter - my commit will also feature default param values so most users that don't care won't have to specify it
12:27:18BitPuffinoh okay cool
12:27:24BitPuffinwell depending on how much time I have I will add it
12:27:34BitPuffinif I don't have enough time now it will be added later
12:27:36EXetoCzahary: for type params?
12:27:42BitPuffinEXetoC: yeah
12:27:50BitPuffinanyways
12:27:52BitPuffinback to reading
12:28:11EXetoCI guess it's just parsed now, but ignored
12:28:24zaharyEXetoC, yes (and the params are not necessary types anymore, they could be anything)
12:28:55BitPuffinalso I found a bug with generics
12:29:13BitPuffinhttps://bitbucket.org/TheLonelyByte/linagl/src/c0315f2199e5bf514af2245be402f8f374093a37/src/linagl/matrix.nim?at=default#cl-140
12:29:38BitPuffinthese two matrices shouldn't even try to multiply each other because it should be guaranteed at compile time
12:30:05BitPuffinbecause they don't have the same value for N
12:30:14BitPuffinyet it goes ahead anyways and tries to do it
12:30:40BitPuffinand throws some error regarding the dot product because it can't dot product a 3d vector by a 2d vector or something
12:31:05BitPuffinwhich should btw also be guaranteed at compile time that it doesn't even try
12:31:20zaharyprobably range types are compared properly
12:31:24zaharyare not
12:31:43BitPuffinmight be yeah
12:32:54BitPuffinwell I cannot refactor TMatrix until tomorrow anyways because I can't multiply ranges
12:33:19BitPuffinor well I guess I might be able to do high(R)*high(C) (assuming that they start from 0)
12:34:04zaharybtw, some of the functions can be written in a simpler style
12:34:04zaharyfor example, you could have equal like this:
12:34:04zaharyproc equal*(a, b: TMatrix): bool {.noSideEffect.} =
12:34:32zaharyyou can read the section about type classes in the manual for explanation
12:35:39BitPuffinreally? and they would both be of the same size?
12:36:06BitPuffinI did kind of think to myself that there is probably a better way because it was kind of redundant
12:36:47zaharyyes, they will be the same type unless you say
12:36:48zaharyproc equal(a, b: distinct TMatrix)
12:37:11BitPuffinand that would allow them to be different?
12:37:14BitPuffinI see
12:37:14BitPuffincool
12:37:27BitPuffininc(productivity) # in the future
12:37:47zaharythe same applies for add(a, b: TMatrix): TMatrix (the return type is also the same)
12:38:22BitPuffinahaa
12:39:04BitPuffinalthough however it wouldn't be all that bad to be able to do i in 0..N-1 or whatever or actually I guess high(a) looks better
12:39:59zaharyinside the proc, you can have TMatrix.N and TMatrix.M which will be the generic param values
12:40:30zaharybut yeah, high and low are even nicer here
12:40:44BitPuffinright! forgot about that!
12:41:42EXetoCis that use of distinct not implemented yet?
12:42:43zaharyeverything I mentioned should work
12:44:20BitPuffinhmm, I'll probably be able to get away with checking the magnitude of the determinant for checking if a matrix is non-singular, I'll add a todo for using a condition number
12:51:17EXetoCdidn't work when I first tried it. will try again later
13:02:18EXetoCzahary: were you going to implement something related to constraints also?
13:10:03zaharythere was a bug related to constraints in my branch - it's not visible on master
13:44:05EXetoCok
13:44:39EXetoCdom96: up for a game or two today?
13:44:44EXetoCor ten
13:44:49dom960 A.D.?
13:45:01EXetoCyeah
13:45:38dom96sure, but later.
13:45:47EXetoCgonna pwn you this time, by rushing right from the start, just so you know
13:46:04dom96You gave up way too early yesterday!
13:47:28dom96As soon as I finish my little blog generator I will play, or probably earlier if I get annoyed with HTML heh
13:47:44EXetoCwhat do you mean? my military units died in about 30 seconds
13:48:14dom96So? I still had a long way to go. I wouldn't have been able to destroy you with that little army.
13:49:13EXetoCmight take some time to destroy the buildings, that's all
13:50:35EXetoCand any newly recruited fighter would've been faced with a quick and painful death :>
13:50:42dom96I don't think so.
13:51:11dom96and didn't you have a second city centre?
13:53:49BitPuffingosh 0ad is fun
13:53:55EXetoCthat didn't really help
13:55:05dom96BitPuffin: You wanna play? :D
13:55:39BitPuffindom96: I DO! but I have to ship this game you know :( stop enticing me!
13:55:57BitPuffinfrom now on this discussion happens in #nimrod-gaming lol
13:56:04dom96Come on, you can take a break :P
13:56:11dom96You know you want to :P
13:56:12BitPuffinI cannot!
13:56:31EXetoCnimrod-ot :>
13:56:47BitPuffinonly 622 pages to go!
13:56:53BitPuffinthis day
13:57:26dom96Off topic talk is fine here I think. It's not like this channel is super busy with on topic talk currently anyway
13:58:31BitPuffinwell yes it is, but you guys are alluring me with all that fun talk :(
13:59:15dom96I really want to play this game! http://www.youtube.com/watch?v=iAcAd1fUiy8
13:59:35BitPuffindom96: ME TOO! It is going to be amazing!
13:59:47dom96:D
14:00:16BitPuffinyou a horror fan too?
14:00:34dom96Wouldn't say a fan. But I do enjoy it.
14:02:09dom96This game looks like it has a good back story and I enjoy games with good sci-fi storylines
14:02:19BitPuffinfunny how an indie title like that has better graphics than most other AAA UE games
14:02:38dom96hah, so true. And this is only an Alpha!
14:03:22BitPuffinhonestly that is not far from photoreal for the most part
14:07:39dom96You can really do amazing things with games like Routine which take place in space. I can just imagine walking into a part of Routine's moonbase which shows you the whole moon, that would be an amazing view.
14:08:01BitPuffinindeed
14:08:20BitPuffintalk about dear esther in space! lol
14:08:58dom96Haven't played Dear Esther yet, even though I own it lol
14:09:05BitPuffindo it
14:09:10BitPuffindoesn't take much time
14:10:25*dom96 will
14:10:38Associat0rElite: Dangerous is gonna be the ultimate game
14:10:43EXetoCnew games are overrated. day of defeat ftw :>
14:12:04dom96Associat0r: ooh, awesome. Reminds me of Freelancer.
14:12:17*dom96 loves space games
14:12:37Associat0rFreelancer is nothing like Elite: Dangerous
14:13:08BitPuffindoesn't mean it can't remind him of the game though
14:13:21Associat0rdom96: https://www.youtube.com/playlist?list=PL9E1E1F7AA6193498
14:13:27dom96indeed. But I am curious how it is different.
14:14:08Associat0rhttp://www.youtube.com/user/Isinona?feature=watch
14:14:36Associat0rwell ED is based on scientifically based realistic galaxy
14:14:50Associat0rwith freeform interplanetary flight
14:15:03Associat0rand utilitarian ship design that's more believable
14:15:19dom96cool.
14:15:39Associat0rcheck the newsletters here http://us2.campaign-archive1.com/home/?u=dcbf6b86b4b0c7d1c21b73b1e&id=eb767c006f
14:16:50Associat0rand dev diaries http://www.youtube.com/playlist?list=PL7glm5rbPHKyBblUEjmm2PFkwJ4ykuz6s
14:18:23Associat0rthey did an AMA to some time ago http://www.reddit.com/r/IAmA/comments/15od2s/i_am_david_braben_cocreator_of_elite_creator_of/
14:18:46dom96Even Elite 2 looks very impressive.
14:19:05Associat0ryeah, this game left a mark on me
14:19:15Associat0rI haven't been impressed by a game ever since
14:20:36Associat0r3 was nice too with procedural textures but was quite buggy http://www.youtube.com/watch?v=sUn4hQdpfPc
14:33:02*OrionPK joined #nimrod
15:09:08Associat0rhmm that previous devdiary link doesn't cover the latest ones seen here http://www.youtube.com/user/FrontierDevelopments/videos
17:19:45EXetoCdom96: not annoyed by html yet? enjoying it?
17:20:09EXetoCthe web 2.0 rox, aiiiiight
17:21:07*dom96 is close to being done
17:21:40dom96My blog looks sexy, and the blog generator generates the correct things.
17:23:30dom96And i've got mac & cheese cooking :D
17:40:27EXetoCnom
18:06:16dom96And done! https://github.com/dom96/ipsumgenera
18:08:28dom96EXetoC: so, wanna play?
18:08:45EXetoCgreat
18:08:58EXetoCI don't know. have I done anything useful today?
18:09:07EXetoCno I haven't, but let's play anyway
18:09:11dom96lol
18:09:28EXetoC:p
18:09:49EXetoChow was it sluggish? unstable frame rate?
18:10:07dom96moving the camera just feels sluggish
18:11:08dom96I am playing in windowed mode though
18:11:10dom96Maybe that's why
18:11:32dom96Anyway: 94.14.112.201
18:11:53EXetoCyeah it might be a little choppy
18:12:23dom96The game actually uses amazingly little memory.
18:13:51EXetoCgood
18:14:29reactormonkdom96, kk, thanks
18:31:56*Mat2 joined #nimrod
18:31:59Mat2hi @ all
18:38:45*BitPuffin quit (Ping timeout: 245 seconds)
18:39:43*BitPuffin joined #nimrod
18:47:59*zahary quit (Read error: Connection reset by peer)
18:48:13*zahary joined #nimrod
18:57:50*Mat2 wahthcing: https://www.youtube.com/watch?v=QGw-cy0ylCc
18:58:08Mat2^watching
19:09:29BitPuffindoes nimrod have atan2? (no time to check sorry)
19:09:54Mat2hi BitPuffin
19:10:02BitPuffinhey Mat2
19:10:14BitPuffinMat2: if schedule happens then linagl will be done tomorrow :)
19:11:11Mat2nice :)
19:17:29dom96woo, I win :P
19:18:17Mat2hi dom96, ehm, you win what ?
19:18:49dom96A game of 0 A.D versus EXetoC :D
19:19:09Mat2*g* ok
19:28:03EXetoCstill don't have a clue how to manage things
19:28:26Mat2hi EXetoC
19:28:49EXetoChi
19:32:18Araqseriously?
19:32:32Araq"origin" cannot pause&continue a 10GB download?
19:32:41Araqwtf
19:32:44BitPuffinorigin?
19:32:53Araqnever mind
19:33:05AraqI'm wrong, it did pick up where it left finally
19:33:17EXetoCoh good. 56k nightmare otherwise :>
19:34:01Araqhi Mat2
19:34:10Araqever implemented a tracing JIT?
19:36:15EXetoCdom96: rematch later?
19:37:36EXetoCI told you my strategy before, but I didn't feel like executing it this time
19:37:45dom96yeah, sure.
19:38:08EXetoCit's true
19:38:24dom96no, I mean. Yeah, sure, rematch later heh
19:38:30EXetoCha
19:38:33EXetoCalright
19:39:55EXetoCI hope there's a way to select only a certain type of unit
19:40:24EXetoCbut I guess you can just select some units, and then deselect some by clicking on any of the icons
19:40:43dom96Yeah, you can also double click a unit
19:40:51dom96Although it currently selects all of that type
19:41:00dom96It should really select them if they're close
19:41:32EXetoCyou could zoom in first
19:44:32BitPuffinthere we go arctan2 did exist
19:45:06AraqBitPuffin: you know about the index, right?
19:45:40BitPuffinthe index?
19:45:46BitPuffinyou mean to the left?
19:46:01Araqhttp://nimrod-code.org/theindex.html
19:46:11Araqctrl+F on it
19:46:26BitPuffinsweet
19:49:54*BitPuffin always misses such things
19:49:59BitPuffinoverlooks*?
20:24:28EXetoCbooyakasha
20:24:43BitPuffinmakes sense to say I would imagine
20:27:06EXetoCI gS o
20:35:27*XAMPP-8 joined #nimrod
20:56:14*XAMPP-8 quit (Ping timeout: 240 seconds)
20:56:36*XAMPP-8 joined #nimrod
21:08:28*XAMPP-8 quit (Ping timeout: 268 seconds)
21:10:22BitPuffinwtf
21:10:31BitPuffinhow does this wrap an angle within 0..twopi
21:10:48BitPuffina -= floor(a/twopi) * twopi
21:11:16BitPuffinisn't that nearly equal to a -= a
21:11:37BitPuffinexcept it doesn't have the same amount of fractions
21:12:38BitPuffini tjust rounds down to the nearsest integer
21:15:11EXetoCI just validated it in python
21:16:06BitPuffinEXetoC: and the result?
21:17:50EXetoCBitPuffin: it seems to do exactly that
21:17:56BitPuffinEXetoC: how the fuck
21:22:21Mat2well, angular funtions define only a distingt range, so the multiply n of a fraction number m by n maps naturally near the fraction n itself
21:22:25Associat0rdom96: https://www.youtube.com/watch?feature=player_detailpage&v=GJLCyfJr4cI&t=340
21:22:30BitPuffinEXetoC: math.floor(blah/twopi) * twopi just returns twopi for me
21:23:19BitPuffinactually it seems to vary on input
21:23:31BitPuffinapparently my arbitrary test case 9.3 screwed me over lol
21:24:30Mat2if the range is exceeded
21:25:44BitPuffinI am starting to see what's going on
21:25:50BitPuffinbut I am not positive I understand why it works
21:26:12BitPuffinoooh
21:26:13BitPuffinof course
21:26:49BitPuffindividing by twopi will give us the amount of revolutions when we floor it
21:27:01BitPuffinthen we multiply that by twopi in order to get the amount to subtract
21:27:10BitPuffinclever mr math book, very clever
21:28:47EXetoCneat
21:29:10BitPuffinEXetoC: indeed, definitely a nice trick
21:38:58EXetoCthis reminded me to use plotting applications more often
21:39:10EXetoCor at all :>
21:39:33BitPuffinhmm?
21:40:19EXetoClike gnuplot, for visualizing the relations of individual terms for example
21:40:52BitPuffinnever used such software
21:40:57BitPuffinseems very useful though
21:41:34EXetoC"plot sin(x)/x". pretty straightforward
21:44:47BitPuffinhmm well actually I have used one a bit I guess
21:45:26BitPuffingeogebra
21:47:20*XAMPP-8 joined #nimrod
21:50:06*shevy left #nimrod ("I'll be back ... maybe")
21:54:48*XAMPP-8 quit (Ping timeout: 276 seconds)
21:59:51*XAMPP-8 joined #nimrod
22:04:23Mat2ciao
22:04:33*Mat2 quit (Quit: Verlassend)
22:31:11*XAMPP_8 joined #nimrod
22:35:25*XAMPP-8 quit (Ping timeout: 268 seconds)
23:30:09*XAMPP_8 quit (Ping timeout: 264 seconds)
23:32:46*XAMPP-8 joined #nimrod
23:34:45*EXetoC quit (Quit: WeeChat 0.4.1)
23:44:54*XAMPP-8 quit (Ping timeout: 264 seconds)
23:46:22*XAMPP-8 joined #nimrod