--- Log opened Thu Sep 22 00:00:21 2016 |
00:01 | <@celticminstrel> | Vornotron: Any idea why the order tl-tr-bl tr-br-bl produces crosses but tl-tr-bl tl-br-bl doesn't? |
00:02 | < Vornotron> | misnaming? |
00:02 | <@celticminstrel> | Hmm... |
00:03 | <@celticminstrel> | Well, tl is {x1,y1,z1} and tr is {x2,y1,z1}... |
00:03 | <@celticminstrel> | And bl is {x2,y2,z3} and br is {x1,y2,z4}, and (x1,y1) is (x*quad_size,y*quad_size) while (x2,y2) is (x1+quad_size,y1+quad_size)... |
00:04 | < Vornotron> | ah ah ah |
00:04 | < Vornotron> | look at bl and br's X coordinates |
00:05 | <@celticminstrel> | Oh. |
00:05 | <@celticminstrel> | Because at some point I switched the order of definition of those two. |
00:05 | <@celticminstrel> | Okay, if I swap those names, it works. \o/ |
00:06 | <@celticminstrel> | I have short folds apparently. Not too worried about it. |
00:06 | <@celticminstrel> | I can always change it later if I decide to. |
00:18 | <@celticminstrel> | These implementations are one-liners. I can't believe SFML thinks its simpler not to have them. :/ |
00:20 | | Kylo-Ren [cmnd@Nightstar-7i6ec2.dyn.optonline.net] has joined #code |
00:27 | <@celticminstrel> | So now I have normals, but I still can't see any contours. I guess first thing to do is check that the normals are correct... |
00:29 | <@celticminstrel> | I suppose the normal for a flat,level surface should be (0,0,1) rather than (0,0,484), but apart from that it looks okay... |
00:31 | <@celticminstrel> | Vector norm is x . x if I recall correctly... |
00:33 | <@celticminstrel> | Wait no, that's not right. |
00:34 | <@celticminstrel> | Square root of that. |
00:35 | | Kindamoody is now known as Kindamoody[zZz] |
00:36 | <@celticminstrel> | Still no shading after normalizing the normals though... |
00:39 | | catadroid [catadroid@Nightstar-ig7mi6.dab.02.net] has joined #code |
00:39 | <@celticminstrel> | Something is giving a GL error. Maybe that's the reason this isn't working. |
00:43 | <@celticminstrel> | glDrawArrays, apparently. :| |
00:48 | <@celticminstrel> | ...it's an error that's not even defined in GL.h. |
00:48 | <@celticminstrel> | But basically it looks like it's too big. |
00:58 | <@celticminstrel> | I don't really get this. It seems to work fine, yet it sets an error flag, and drawing in batches doesn't change anything. |
01:00 | <@celticminstrel> | Negating all my normals makes everything darker. o.o |
01:00 | < Vornotron> | of course. negated normals are pointing the wrong way |
01:01 | | Kylo-Ren [cmnd@Nightstar-7i6ec2.dyn.optonline.net] has quit [[NS] Quit: - nbs-irc 2.39 - www.nbs-irc.net -] |
01:01 | <@celticminstrel> | Well, I tried it in case I already somehow had them pointing the wrong way, but I guess that's a sign that I didn't. |
01:02 | < Vornotron> | that shouldn't be an error source anyway. |
01:03 | <@celticminstrel> | Some of the normals do have -0, but I'd expec that to be irrelevant. |
01:03 | < Vornotron> | also irrelevant, yes |
01:04 | <@celticminstrel> | They're now primarily (0,0,1)... *skipping through the debugger* |
01:04 | < Vornotron> | that's what they should be for a predominantly flat thing |
01:05 | <@celticminstrel> | Here's one that's (-0.83205, 0, 0.5547). |
01:06 | < Vornotron> | slope is -1.5 |
01:07 | <@celticminstrel> | I also see a (-0.639602, 0.639602, 0.426401). Nothing seems out of place to me... |
01:08 | <@celticminstrel> | That one's a quad with the top right corner raised. |
01:08 | <@celticminstrel> | Well, I'm calling it "top right", not sure if that's how it appears in the actual rendering. |
01:09 | <@celticminstrel> | (I seem to recall that "northwest" seems to be straight up and "northeast" to the left, so I probably need to change my coordinate systems or something.) |
01:10 | <@celticminstrel> | Not gonna step through every single vertex, since they number in the thousands. |
01:13 | <@celticminstrel> | Commenting out the light position gives black artifacts? |
01:14 | <@celticminstrel> | I'm actually wondering if I should use a sphere with emission rather than glLight. |
01:19 | < Vornotron> | that sounds like it wouldn't work at all? |
01:20 | <@celticminstrel> | It does? Okay then. |
01:20 | < Vornotron> | like, opengl doesn't do raycasting typically |
01:20 | <@celticminstrel> | Okay. |
01:22 | <@celticminstrel> | Aha! I need to have non-zero diffuse. |
01:23 | < Vornotron> | ...yes |
01:23 | <@celticminstrel> | Okay now I just need to figure out good parameters, I guess. |
01:24 | < Vornotron> | I can't remember all the ones but there's ambient (dependent on no lights at all), diffuse (dependent on incoming light normal vs surface), and then specular & phong which are subtle enough difference that I don't remember what they are, but they depend on camera direction as well |
01:25 | <@celticminstrel> | I think phong isn't built-in to OpenGL... |
01:25 | <@celticminstrel> | Specular just seems to make the whole scene bright. |
01:26 | <@celticminstrel> | From what I've been reading it seems like it's supposed to have something to do with reflectivity. |
01:27 | <@celticminstrel> | Not sure what it means when applied to the light source rather than the material, though. |
01:28 | <@celticminstrel> | Hills still blend with the flat ground beyond them, but this is progress. |
01:29 | <@celticminstrel> | beyond -> behind |
01:31 | < Vornotron> | for that you may try: keep a bit of wireframe, to give reference-object perspective; mild depth fog; edge detection like borderlands.. |
01:32 | <@celticminstrel> | Not sure what you mean by the last one. |
01:32 | <@celticminstrel> | I'd imagine a wireframe would help, yes. |
01:32 | <@celticminstrel> | I'm not sure if the problem would go away once textures are applied. |
01:33 | <@celticminstrel> | Didn't think of fog.,, |
01:34 | < Vornotron> | borderlands has this system |
01:34 | <@celticminstrel> | Normalizing 0..255 to floats - divide by 255 or by 256? |
01:34 | < Vornotron> | 256 |
01:35 | < Vornotron> | https://images-na.ssl-images-amazon.com/images/G/01/videogames/detail-page/borde rlands.01.lg.jpg it's clearest around Brick there. |
01:37 | <@celticminstrel> | Not sure what I'm looking for. |
01:38 | < Vornotron> | see the black edge around people? |
01:38 | < Vornotron> | especially the character on the left? |
01:38 | <@celticminstrel> | Ah. Yeah. |
01:39 | < Vornotron> | It's done, iirc, with a shader, checking nearby depth values |
01:41 | < Vornotron> | though I saw a thing once where they described how you could do it pre-shaders. Loooong time ago |
01:55 | | * ToxicFrog looks at his code |
01:56 | <&ToxicFrog> | How does this possibly work? |
01:56 | <&ToxicFrog> | Ever? |
01:57 | <&ToxicFrog> | Like, here's the only code in the whole thing that sets the 'killed' field: |
01:57 | <&ToxicFrog> | match = re.match(r' was .* by (a|an|the) (.*) (on level|at the)', line) |
01:57 | <&ToxicFrog> | if match: |
01:57 | <&ToxicFrog> | mortem['killed'] = match.group(2) |
01:58 | <&ToxicFrog> | And yet somehow, a mortem containing " nuked the Mastermind at the Hell Fortress." ends up with mortem['killed'] == "nuked the Mastermind" |
01:58 | < Vornotron> | :( |
01:59 | <&ToxicFrog> | And I cannot figure out how |
02:00 | < Vornotron> | what's the full line |
02:00 | <&ToxicFrog> | That is the full line. |
02:00 | < Vornotron> | what. |
02:00 | <&ToxicFrog> | Here's an example: http://phobos.ancilla.ca/players/Roonespism/1.mortem |
02:01 | | gizmore [kvirc@Nightstar-0jicpq.dip0.t-ipconnect.de] has joined #code |
02:01 | <&ToxicFrog> | " completed 100 levels of torture on level 100 of Hell." also properly shows up as "completed 100 levels" |
02:01 | <&ToxicFrog> | (http://phobos.ancilla.ca/players/ToxicFrog/163.mortem) |
02:29 | | catadroid` [catadroid@Nightstar-r2ptdr.dab.02.net] has joined #code |
02:33 | | catadroid [catadroid@Nightstar-ig7mi6.dab.02.net] has quit [Ping timeout: 121 seconds] |
02:46 | <&ToxicFrog> | Ahahahahahahaha IT'S ALIIIIIIIIVE |
03:41 | <&ToxicFrog> | wow |
03:41 | <&Derakon> | Za? |
03:41 | <&ToxicFrog> | I have been working on getting this thing centered on the page for an hour now |
03:41 | <&ToxicFrog> | CSS delenda est |
03:42 | <&Derakon> | Ah yes, centering woes. |
03:42 | <&Derakon> | A.k.a. why I'm glad I'm not a web dev any more. |
04:26 | <@celticminstrel> | I wonder if there's any way to obtain a list of global symbols in my program... |
04:26 | <@celticminstrel> | Variables, not types. |
04:26 | <@celticminstrel> | Wait, XCode has a list? |
05:00 | | gizmore [kvirc@Nightstar-0jicpq.dip0.t-ipconnect.de] has quit [Ping timeout: 121 seconds] |
05:00 | <&ToxicFrog> | Derakon: could you do me a quick favour? |
05:00 | <&Derakon> | Where's the server again? |
05:00 | | gizmore [kvirc@Nightstar-3bt752.dip0.t-ipconnect.de] has joined #code |
05:00 | <&ToxicFrog> | http://phobos.ancilla.ca/tty.html |
05:00 | <&Derakon> | ...oh, you sly bastard, you built a tty server into the browser. |
05:00 | <&ToxicFrog> | Tell me if that gives you the doomrl-server banner and guest prompt |
05:00 | <&ToxicFrog> | Yeah, that's what I've been working on the past few days |
05:00 | <&ToxicFrog> | Hence my CSS woes |
05:00 | <&Derakon> | It does, and also warns me that my terminal size is 0x0, which is smaller than recommended. |
05:01 | <&ToxicFrog> | Yeah, that's expected |
05:01 | <&ToxicFrog> | xterm in the browser doesn't properly report terminal size |
05:01 | <&ToxicFrog> | It will in fact work correctly if you 'replay'. I haven't tried actually playing a game in it yet, I just got it working. |
05:03 | <&Derakon> | Well, I have a little time before bed. Let's kick the tires. |
05:03 | <&ToxicFrog> | Thanks! |
05:04 | <&ToxicFrog> | I'm on my way to bed; I mostly just wanted to see if the page loaded correctly for people outside my LAN. But if you want to take it for a spin, please do :) |
05:04 | <&ToxicFrog> | (Note that this thing is a gruesome Rube Goldberg machine cobbled together from ancient machines I do not understand and can barely control. It is not just possible but likely that it will crap out in some exciting and unforseen way and eat your character.) |
05:06 | <&Derakon> | First notable thing is that the Escape key doesn't register reliably. |
05:07 | <&Derakon> | Or maybe it's just that I have to hit Esc twice for it to count. |
05:07 | <&Derakon> | Yeah, it's the latter. |
05:17 | <&Derakon> | Whelp, ded. |
05:17 | <&Derakon> | I am rusty as fuck. |
05:17 | <&Derakon> | Should probably have started with SoB instead of Reloader. |
05:37 | | Derakon is now known as Derakon[AFK] |
05:47 | | VirusJTG [VirusJTG@Nightstar-6i5vf7.sta.comporium.net] has quit [Connection closed] |
05:47 | | VirusJTG [VirusJTG@Nightstar-6i5vf7.sta.comporium.net] has joined #code |
05:47 | | mode/#code [+ao VirusJTG VirusJTG] by ChanServ |
06:10 | | Kindamoody[zZz] is now known as Kindamoody |
06:13 | | Vornotron [Vorn@ServerAdministrator.Nightstar.Net] has quit [Ping timeout: 121 seconds] |
06:53 | | celticminstrel [celticminst@Nightstar-f4fn3d.dsl.bell.ca] has quit [[NS] Quit: And lo! The computer falls into a deep sleep, to awake again some other day!] |
07:18 | | Vornotron [Vorn@ServerAdministrator.Nightstar.Net] has joined #code |
07:20 | | catadroid` [catadroid@Nightstar-r2ptdr.dab.02.net] has quit [[NS] Quit: Bye] |
07:24 | | Vornotron [Vorn@ServerAdministrator.Nightstar.Net] has quit [Ping timeout: 121 seconds] |
07:41 | | Kindamoody is now known as Kindamoody|afk |
08:23 | | macdjord|wurk is now known as macdjord|slep |
--- Log opened Thu Sep 22 09:52:43 2016 |
09:52 | | TheWatcher [chris@GlobalOperator.Nightstar.Net] has joined #code |
09:52 | | Irssi: #code: Total of 37 nicks [32 ops, 0 halfops, 0 voices, 5 normal] |
09:52 | | mode/#code [+o TheWatcher] by ChanServ |
09:52 | | Reiver [quassel@Nightstar-ksqup0.co.uk] has joined #code |
09:52 | | mode/#code [+ao Reiver Reiver] by ChanServ |
09:53 | | You're now known as TheWatcher[lab] |
09:53 | | Irssi: Join to #code was synced in 54 secs |
10:42 | | catadroid [catadroid@Nightstar-e0ar9i.dab.02.net] has joined #code |
10:42 | < catadroid> | Python does not let me naturally format my code |
10:42 | < catadroid> | I wish to end it |
10:42 | < catadroid> | That is all |
11:33 | <@abudhabi> | "naturally format"? |
11:35 | < catadroid> | The fact that whitespace is significant makes it very hard to concatenate text format templates together in the way I would consider natural, since line breaks require more syntax |
11:44 | <&[R]> | Ugh |
11:44 | <&[R]> | Don't use templates to generate code please |
11:44 | <&[R]> | D: |
11:45 | | * [R] has flashbacks from $CCP |
11:54 | | You're now known as TheWatcher |
11:57 | <&ToxicFrog> | Derakon[AFK]: the escape key bug is a bug in doomrl itself and not in the terminal emulator. |
12:22 | < catadroid> | Templates to generate code? I'm using concatenating strings to output into files |
12:22 | < catadroid> | I'm concatenating* |
12:24 | <&[R]> | "concatenate text format templates" |
12:24 | <&[R]> | Eitherway, I'm pretty sure there has to be another way? |
12:32 | | ToxicFrog [ToxicFrog@ServerAdministrator.Nightstar.Net] has quit [Ping timeout: 121 seconds] |
12:35 | < catadroid> | I could spend days learning an xml writing framework or I could just write the text I know I need out |
12:36 | < catadroid> | In that case, building the text before outputting it is handy |
12:37 | < catadroid> | I would like to spread the lines of xml over multiple lines without duplicating syntax |
12:37 | < catadroid> | Syntactically significant whitespace is just awful :< |
12:46 | <@abudhabi> | Hrm. |
12:47 | <@abudhabi> | MySQL. I'm getting a list of numbers from a table A. I have table B, where there are numbers also, and I want to fetch some associated data. |
12:47 | <@abudhabi> | What I want is to get a list of numbers from table A, with the first associated hit on a field from table B. |
12:48 | <@abudhabi> | So if I've got 1234 from A, and I have [herp, derp] in B, then what I want to get is [1234, herp]. |
12:48 | <@abudhabi> | I do NOT want to get [[1234,herp],[1234,derp]] which a join would get me. |
12:49 | <@abudhabi> | Hm. A subselect maybe. |
12:49 | <@abudhabi> | Select number, whatever from B where number is in A. |
12:52 | | Emmy-werk [NSkiwiirc@Nightstar-41pbej.static.chello.nl] has joined #code |
13:07 | | Vornicus [Vorn@ServerAdministrator.Nightstar.Net] has joined #code |
13:07 | | mode/#code [+qo Vornicus Vornicus] by ChanServ |
13:11 | <&[R]> | Yeah, you'll either need a sub-select or multipe queries |
13:34 | | ToxicFrog [ToxicFrog@ServerAdministrator.Nightstar.Net] has joined #code |
13:34 | | mode/#code [+ao ToxicFrog ToxicFrog] by ChanServ |
13:37 | < Emmy-werk> | Hmmmmh. Somewhat worried my current headache and ensuing difficulty concentrating will introduce bugs. |
13:40 | <@TheWatcher> | Do all the work on a new git "headache" branch, easier to isolate all the changes then~ |
13:41 | < Emmy-werk> | heh. |
13:42 | < Emmy-werk> | would be a fun idea. that said, i still need to implement git some time. :/ |
13:43 | < Emmy-werk> | Oh well. i quite methodically document changes i made, it'll be alright i think. |
13:51 | <@TheWatcher> | Eeeeh, "implement git" can just be a few minutes work, but |
13:51 | <@TheWatcher> | meh |
13:52 | < Emmy-werk> | indeed. |
13:52 | < Emmy-werk> | at the current scale of the project, and the amount of people working on it, (1: me) it's not that critical |
13:52 | <@TheWatcher> | I'd very strongly argue that, myself |
13:53 | <@TheWatcher> | There's a bunch of projects I work on, as the sole dev, from really simple single-script things up to 100,000 line monsters, and I wouldn't be without git for any of them. Saved my arse multiple times |
13:56 | < Emmy-werk> | Eh. It does automate a lot of things. at the moment i do these things by hand. does have its' advantages as well. |
13:58 | < catadroid> | I should learn how to git |
13:58 | < catadroid> | I just use subversion generally |
13:58 | <@TheWatcher> | I'm sorry~ |
13:59 | < Emmy-werk> | no, your mom |
14:03 | <@TheWatcher> | (It's quite simple really, you just have to get used to thinking about the state of your repository as a point in high-dimensional code-space in which branches are represented as n-dimensional membranes mapping the spatial loci of successive commits onto the projected manifold of each cloned repository!) |
14:06 | <@gnolam> | A simple subset of analytical algebraic topology of local Euclidean metrization of infinitely differential Riemannian manifolds. |
14:12 | <@TheWatcher> | Only for Lobachevsky's version of git~ |
14:48 | | catadroid` [catadroid@Nightstar-g84906.dab.02.net] has joined #code |
14:49 | <&ToxicFrog> | catadroid: you shooooooould |
14:49 | | * ToxicFrog snuggles catadroid |
14:52 | | catadroid [catadroid@Nightstar-e0ar9i.dab.02.net] has quit [Ping timeout: 121 seconds] |
14:53 | <&ToxicFrog> | Emmy-werk: re git for single-person projects: I strongly recommend it; even for small things it's a convenient safety net. |
15:34 | | macdjord|slep is now known as macdjord|wurk |
15:55 | | mac [macdjord@Nightstar-tol.t6i.225.24.IP] has joined #code |
15:55 | | mode/#code [+o mac] by ChanServ |
15:58 | | macdjord|wurk [macdjord@Nightstar-r9vt2h.mc.videotron.ca] has quit [Ping timeout: 121 seconds] |
15:59 | | Emmy-werk [NSkiwiirc@Nightstar-41pbej.static.chello.nl] has quit [[NS] Quit: http://www.kiwiirc.com/ - A hand crafted IRC client] |
16:31 | | catadroid` is now known as catadroid |
18:22 | | celticminstrel [celticminst@Nightstar-f4fn3d.dsl.bell.ca] has joined #code |
18:22 | | mode/#code [+o celticminstrel] by ChanServ |
19:08 | <&McMartin> | The thing is, given your latest obsessions, the non-joke version of Watcher's line might actually help |
19:08 | <&McMartin> | A git repository is an evolving purely-functional graph |
19:09 | <&McMartin> | With each commit name as a reference to some version of it, unmodified by later changes. Anything that requires you alter those nodes instead creates new independent commits representing them, etc |
19:09 | <&McMartin> | That also said, for small single-person projects, git is being used as an on-site backup system, not as a DVCS |
19:10 | <&McMartin> | It has not escaped my notice that in the vast majority of cases, git scales to medium-sized organization scale largely by clumsily reinventing subversion~ |
19:14 | <&ToxicFrog> | I would argue that even when you're reinventing svn with it, git is better at being svn than svn is |
19:14 | | Pink [user1@Nightstar-g7hdo5.dyn.optonline.net] has quit [Connection reset by peer] |
19:14 | <&ToxicFrog> | And also that even for single person use, being a VCS implies different things than being a backup system, like easy patching/diffing |
19:16 | <&McMartin> | Yeah, I'm familiar with this argument |
19:17 | <&McMartin> | git is still so hopeless for blobs that if your system requires blobs the best way to deal with it is to maintain a separate svn repo just for blobs |
19:18 | <&[R]> | Blobs are horrible anyways. |
19:18 | <&McMartin> | Depending on what the blobs are you may be able to get away with a carefully structured, non-version-controlled, mountable disk partition that is occasionally added to but never has files removed or modified |
19:18 | <&McMartin> | R: Right, getting to say that drastically restricts the space of problems you are solving |
19:18 | <&McMartin> | Like, if you're making a commercial game program, you're out of luck |
19:19 | <&[R]> | Why are you versioning art assets though? |
19:19 | <&McMartin> | Saying "Well, assets shouldn't be synced to code revisions in the first place" is just insisting that this fatal problem isn't a problem, and there is a sneaking suspicion in the listener that this isn't a problem because git doesn't solve it |
19:19 | <@gnolam> | McMartin: thank you. |
19:19 | <&McMartin> | ... for the same reason you version anything. |
19:20 | <&McMartin> | Art assets is in fact one of the cases where the non-version-controlled super disk doesn't work, in fact. |
19:20 | <&McMartin> | (That one works for "Every possible version of a precompiled third-party library you have ever relied upon" for languages that aren't Java) |
19:20 | | Derakon[AFK] is now known as Derakon |
19:20 | <&[R]> | Okay, that's fair |
19:21 | | Pink [user1@Nightstar-g7hdo5.dyn.optonline.net] has joined #code |
19:22 | | * [R] hasn't had to deal with a situation where binary data had to be shipped with code. Has had situations where SQL would've been nice to include in the repo... |
19:22 | <&McMartin> | (I say "that aren't Java" because if you are using Java, Maven solves this problem better than manually provisioning a squintillion USB drives to everyone) |
19:44 | <@celticminstrel> | Maven seemed painful to use when I looked at it. |
20:00 | | gizmore [kvirc@Nightstar-3bt752.dip0.t-ipconnect.de] has quit [Ping timeout: 121 seconds] |
20:01 | | gizmore [kvirc@Nightstar-ofjk5v.dip0.t-ipconnect.de] has joined #code |
20:26 | | catalyst [catalyst@Nightstar-bt5k4h.81.in-addr.arpa] has joined #code |
20:27 | <&McMartin> | Maven is incredibly painful to use |
20:27 | <&McMartin> | However, if you get it properly integrated into a development system, it is an invisible package manager that magically makes exactly what whatever it is you are building's dependencies mysteriously appear as needed and only ever downloads them once. |
20:27 | <&McMartin> | I freely admit that 'properly integrated' is doing a lot of heavy lifting in that sentence |
20:28 | <&McMartin> | But setting up a project to use maven transparently is nevertheless less work than maintaining a master list of versioned libraries independent of your project and updating it by hand. |
20:42 | | Kindamoody|afk is now known as Kindamoody |
21:03 | | Derakon_ [chriswei@Nightstar-5mvs4e.ca.comcast.net] has joined #code |
21:05 | | Derakon [chriswei@Nightstar-5mvs4e.ca.comcast.net] has quit [Ping timeout: 121 seconds] |
21:18 | | catadroid` [catadroid@Nightstar-eopd2k.dab.02.net] has joined #code |
21:21 | | catadroid [catadroid@Nightstar-g84906.dab.02.net] has quit [Ping timeout: 121 seconds] |
22:04 | | Kindamoody is now known as Kindamoody[zZz] |
22:20 | | Alek [Alek@Nightstar-cltq0r.il.comcast.net] has quit [[NS] Quit: bbl] |
22:33 | | ion [Owner@Nightstar-6grqph.vs.shawcable.net] has quit [Ping timeout: 121 seconds] |
22:35 | | Alek [Alek@Nightstar-cltq0r.il.comcast.net] has joined #code |
22:35 | | mode/#code [+o Alek] by ChanServ |
22:35 | | Derakon_ is now known as Deraekon |
22:35 | | Deraekon is now known as Derakon |
22:35 | | mode/#code [+ao Derakon Derakon] by ChanServ |
23:39 | | ion [Owner@Nightstar-6grqph.vs.shawcable.net] has joined #code |
23:39 | | mode/#code [+o ion] by ChanServ |
--- Log closed Fri Sep 23 00:00:44 2016 |