code logs -> 2015 -> Thu, 09 Apr 2015< code.20150408.log - code.20150410.log >
--- Log opened Thu Apr 09 00:00:42 2015
00:02 himi-cat [fow035@Nightstar-v37cpe.internode.on.net] has quit [Ping timeout: 121 seconds]
00:11 thalass is now known as Thalass|afk
00:34 Meatyhandbag [sebastianfe@Nightstar-97p.j8k.224.136.IP] has quit [Ping timeout: 121 seconds]
00:34 Meatyhandbag [sebastianfe@Nightstar-dk0.5eb.224.136.IP] has joined #code
01:04 Derakon[AFK] is now known as Derakon
01:17 Reiver is now known as Orth
01:51 himi [fow035@Nightstar-dm0.2ni.203.150.IP] has joined #code
01:51 mode/#code [+o himi] by ChanServ
02:24 Checkmate [Z@Nightstar-484uip.cust.comxnet.dk] has quit [Ping timeout: 121 seconds]
02:29 Reiv [NSwebIRC@ServerAdministrator.Nightstar.Net] has quit [Ping timeout: 121 seconds]
03:15 Reiv [NSwebIRC@Nightstar-q8avec.kinect.net.nz] has joined #code
03:15 mode/#code [+o Reiv] by ChanServ
03:15
< [R]>
How does one find out the statistical difference between "1d20, reroll if 5 or less" and "1d15+5"?
03:18
<~Vornicus>
[R]: there isn't one.
03:19
<~Vornicus>
Well -- okay, the difference is that the former takes geometric time
03:20
<@Reiv>
Every roll of the die is independant of the prior one.
03:20
<@Reiv>
Thus it's simply 'try again if you roll five or lower'; it doesn't change the odds of any given number showing up.
03:22
<@Reiv>
Hey Vorn, I have some annoying math for you if you are willing to help with it
03:22
<@Reiv>
It is annoying because it is normal binomial distributions, but I keep fiddling the results depending on die outcomes
03:23
<@Reiv>
Eg, 4 attack dice (50% chance of a hit, 25% of an eye, 25% of a blank); what is the average damage if you roll, reroll all non-hits, then add a hit if you have any blanks left >_>
03:24
<~Vornicus>
Ok, so that's - each die independently consists .75 expected hits
03:27
<~Vornicus>
3/4. So then: 0 points before the +hit is (1/4)^4 = 1/256; 1 is 4 * (1/4)^3 * (3/4)^1 = 12/256; 2 is 54/256; 3 is 108/256; 4 is 81/256. Adjusting for +hit, you get 0 -> 0, 1 -> 1/256, 2 -> 12/256, 3 -> 54/256, 4 -> 189/256.
03:27
<@Reiv>
right
03:27
<@Reiv>
Next question
03:28
<@Reiv>
Is the word 'average' the correct term for the, uh, "You are 50% likely to do this well" mark
03:29
<~Vornicus>
median and mode are 4; mean is (1 + 24 + 162 + 756)/256 = 943/256 ~= 3.68
03:29
<~Vornicus>
"average" is a relatively imprecise term
03:29
<@Reiv>
Yeah, that's what was bothering me with it
03:30
<@Reiv>
And the correct way to read that mean is that you're 68% likely to land 4 damage vs 3 or less?
03:30
<~Vornicus>
"you are 50% likely to do at least this well" is median; in this case it is 4.
03:30
<@Reiv>
Yeah, which isn't very helpful, because you might also be 90% likely to do 4, or only barely 50%; it's too chunky (even if perfectly accurate)
03:31
<~Vornicus>
No; the mean is, if you do thousands upon thousands upon thousands of trials, your total will be (number of trials) * mean, to a high degree of confidence
03:31
<@Reiv>
Right
03:31
<@Reiv>
I am, hm
03:32
<~Vornicus>
In this case, your mode is 4, with probability 0.738
03:32
<@Reiv>
Trying to find the statistical measure for getting a feel for where a halfway point 'sits'
03:32
<@Reiv>
Yeah, /that/
03:33
<~Vornicus>
The difficulty here is that you've got a weird, highly discrete distribution
03:33
<@Reiv>
Of course that's convinient because your highest number is also your mode number; if it were possible to hit 5 and so you were on a normal curve that mode value becomes less useful
03:33
<@Reiv>
That is exactly my problem, yes
03:33
<~Vornicus>
Because of this, your typical tools don't work all that well.
03:34
<@Reiv>
Were it vastly more granular, you could throw around whole numbers and probably be OK; when you're only ever talking up to 5 values, "What's my most common result" "5" "Right, but how /likely/ is 4 vs worse" gets messy
03:34
<@Reiv>
hm.
03:34
<~Vornicus>
I might go quartiles or deciles
03:34
<@Reiv>
Is there a better tool to build?
03:35
<@Reiv>
I mean, what I'd love to know is... if 50%+ is going to be 4, I then want to know what percentage odds I'm going to get 4 - in this case, mode is perfect
03:35
<@Reiv>
It would be less perfect if I were rolling four unmodified 50/50 dice, etc
03:35
<~Vornicus>
http://en.wikipedia.org/wiki/Seven-number_summary there's this guy
03:35
<~Vornicus>
but it'll sneak up on you too, in this case, actually
03:36
<@Reiv>
... speaking of, why do I never see box plots these days ;_;
03:36
<@Reiv>
They are phenominally useful and no-one seems to bother
03:36
<@Reiv>
Are they just too hard to do pretty drop-shadows on?
03:37
<@Reiv>
Everyone bangs on about 'average life expectancy' etc
03:37
<@Reiv>
Give me a bunch of box plots please
03:38
<~Vornicus>
You must be reading the wrong stuff, I see box plots pretty often
03:39
<@Reiv>
general consumption
03:39
<@Reiv>
And I've never seen one in business since I started ;_;
03:39
<@Reiv>
You'd think it would be helpful for showing demographic data or something.
03:40
<@Reiv>
But they just do masses of bar charts instead.
03:41
<~Vornicus>
actually one of my favorite chart types nowadays
03:42
<@Reiv>
box plots?
03:42
<@Reiv>
What do you use them for
03:42
<~Vornicus>
http://imgur.com/uvLWKvF
03:42
<~Vornicus>
is that.
03:42
<~Vornicus>
no, I haven't actually been in a situation where a box plot is useful.
03:45
<@Reiv>
why is that sort of chart your favourite
03:47
<~Vornicus>
It presents all the data, and it does so in a way that makes it easy to get a sense of the effect.
03:51
<@Reiv>
Which is indeed the intended purpose of a chart.
03:51
<@Reiv>
The best part of that particular chart is that it's a modification of the histogram or area charts or whatever, so you can read it really quickly
03:51 Turaiel[Offline] is now known as Turaiel
03:52
<@Reiv>
I actually wrote one of those.
03:52
<@Reiv>
The SQL behind it was a pain in the ass~
05:04 Derakon is now known as Derakon[AFK]
05:26 Thalass|afk [thalass@Nightstar-h1qmno.eastlink.ca] has quit [Ping timeout: 121 seconds]
05:28 * Reiv eyes his current code, which at this point comprises 2/3rds commented-out by linecount.
05:28
<@Reiv>
You shall be cleansed with fire when this is over, ho yez.
05:47 Vornicus [vorn@ServerAdministrator.Nightstar.Net] has quit [[NS] Quit: Leaving]
05:51 Checkmate [Z@Nightstar-484uip.cust.comxnet.dk] has joined #code
05:51 mode/#code [+o Checkmate] by ChanServ
06:20 Checkmate [Z@Nightstar-484uip.cust.comxnet.dk] has quit [Ping timeout: 121 seconds]
06:22 Turaiel is now known as Turaiel[Offline]
06:28 Kindamoody[zZz] is now known as Kindamoody
07:52 * McMartin dives into his new C++ book, tries to make sense of rvalue references
07:52
<&McMartin>
These are *unclean*. It's particularly embarassing reading this after messing with Rust
07:53
<&McMartin>
Overall I am grasping that these are a way to do by hand what Rust did automatically, and I have a sinking suspicion they're only marginally safer than the justly-derided std::auto_ptr<>
07:53
<&McMartin>
But perhaps reading more context will improve things.
08:09
< Shiz>
C++ is unclean
08:09
< Shiz>
:)
08:11
<&McMartin>
Well, move semantics (of which rvalue references are the core component) are intended to clean up certain dumb aspects of C++ where, like, even Haskell was more efficient
08:16 Vash [Vash@Nightstar-uhn82m.ct.comcast.net] has quit [[NS] Quit: Quit]
08:21 himi [fow035@Nightstar-dm0.2ni.203.150.IP] has quit [Ping timeout: 121 seconds]
08:30 Checkmate [Z@Nightstar-484uip.cust.comxnet.dk] has joined #code
08:30 mode/#code [+o Checkmate] by ChanServ
08:51 Kindamoody is now known as Kindamoody|afk
09:05
<@froztbyte>
McMartin: you've probably had to, at one point or another, do some gdb around in vtables/struct instances for a C program?
09:06
<@froztbyte>
especially when things aren't syncing up
09:13
<&McMartin>
What do you mean by "vtables" in this case when talking about C?
09:14
<@froztbyte>
err, I might be using the wrong name
09:14
<&McMartin>
Yeah, can you unpack that so I can be sure we're on the same page here?
09:14
<@froztbyte>
vtables are the C++ object->...method(?) reference thingy?
09:14
<&McMartin>
virtual method, yeah
09:14 * McMartin handwaves MI for now
09:15
<@froztbyte>
I mean the C-style shit that you see with something like...uh, gobject, I guess?
09:15
<@froztbyte>
although that again is a bad example
09:15
<@froztbyte>
but that kind of pattern
09:15
<&McMartin>
function pointers hanging out in structs
09:15
<&McMartin>
jamming function pointers into structs is totally a legit thing to do
09:15
<&McMartin>
Makes you more Pythonic than C++ic though
09:16
<@froztbyte>
I read "C++ic" as "cholic"
09:16
<@froztbyte>
not sure if unfitting..
09:16
<@froztbyte>
anyway, yeah; debugging that kind of shit by hand is pretty damn painful
09:16
<&McMartin>
C++leric~
09:16
<@froztbyte>
hah
09:16
<@froztbyte>
okay this dude finally got here
09:16
<&McMartin>
When you say mismatch do you mean "These two object files disagree about this struct's layout despite thinking they are using the same header file"?
09:17 * froztbyte disappears
09:17
<&McMartin>
Oop.
09:17
<@froztbyte>
McMartin: uhm, that was one
09:17
<&McMartin>
Excelsior.
09:17
<@froztbyte>
McMartin: another was "why is my socket close exploding"
09:17
<@froztbyte>
I'll rant details a bit later
09:17
<&McMartin>
I usually try to catch it doing something "impossible" and then start digging into the assembly
09:17
<&McMartin>
But C is normally vastly better behaved about this than C++, tbh
09:54 Meatyhandbag [sebastianfe@Nightstar-dk0.5eb.224.136.IP] has quit [Client exited]
10:01
<@froztbyte>
haha
10:19
<@Tarinaky>
Today in politics: Trident! UKIP! Trident! UKIP! Trident! UKIP!
10:30 * TheWatcher eyes this
10:30
<@TheWatcher>
int res; if(foo == 0) { res = 1 } else { res = 0 } return res;
10:32
<@TheWatcher>
Well, it can't be accused of being opaque about what it's doing.
11:04
<@Tarinaky>
Home project status: failed to do any work last night, boyfriend's are distracting.
11:05
<@TheWatcher>
My normal response to the incorrect use of the apostrophe would be to say "<subject>'s what?", but in this case I think I'll give that a miss....
11:06 * Tarinaky recreates Monty Python's fork sketch over the apostrophe.
11:14
<&McMartin>
Tarinaky: re: last night: I can now say with confidence that when C++11 is talking about "rvalue references" they're using a wacky meaning of rvalue
11:14
<&McMartin>
But I can't say much else yet.
11:14
<&McMartin>
I have a 3kg book to leaf through. Maybe this weekend. :)
11:18
<@Tarinaky>
Yeah, they mean temporary/anonymous values.
11:18
<@Tarinaky>
Or something like that.
11:20
<&McMartin>
Yeah, almost
11:20
<&McMartin>
std::forward messes with that some
11:20
<&McMartin>
and so does std::move. I get that one - probably because I've been Rust-ing, and Rust is all about what std::move does and enforces more things about it - but std::forward requires additional meditation.
11:24
<@Tarinaky>
I... don't understand std::forward.
11:25
<@Tarinaky>
I didn't bother learning Rust because it looked like a betamax.
11:25
<&McMartin>
I understand its use case, which is why it's called that
11:25
<&McMartin>
Rust isn't, technically, released yet.
11:25
<&McMartin>
And it isn't intending world conquest
11:25
<&McMartin>
It's intending to enforce that the authors Were This Tall Before Riding
11:25
<&McMartin>
They aren't claiming that outright, but that's going to be the effect
11:25
<@Tarinaky>
What does that mean?
11:26
<&McMartin>
It is nearly impossible to write code that compiles in it, because most errors that everyone makes in their reasoning about their programs result in compiler errors instead of buffer-overflow or use-after-free exploits.
11:26
<@Tarinaky>
Ahh
11:26
<&McMartin>
So if you can actually wrestle the memory checker into submission, a huge class of errors doesn't exist.
11:26
<@Tarinaky>
Neat.
11:28
<&McMartin>
It has a place, but that place might be the proof-of-concept.
11:29
<@Tarinaky>
"When used according to the following recipe in a function template, forwards the argument to another function with the value category it had when passed to the calling function. "
11:29
<@Tarinaky>
Well... o... kay then.
11:30
<@Tarinaky>
Oh!
11:30
<@Tarinaky>
I get it.
11:30
<&McMartin>
Yeah, the book gives implementations, too~
11:30
<&McMartin>
I know why you want to
11:30
<&McMartin>
And the recipe is clean
11:30
<&McMartin>
I think the contract there is "never touch that argument"
11:30
<@Tarinaky>
You pass in an rvalue into a function and want to pass it to a subfunction /as/ an rvalue even though it's an lvalue in the scope of the function?
11:30
<&McMartin>
Yeah.
11:30
<@Tarinaky>
That makes sense!
11:30
<&McMartin>
So I'm a function that intervenes in front of something that takes rvalues
11:31
<&McMartin>
I want to pass it on "quietly"
11:31
<&McMartin>
So I cast a spell and that happens
11:31
<&McMartin>
I know the spell
11:31
<&McMartin>
I don't get what the, er, reagents are doing precisely though~
11:31
<@Tarinaky>
Heh.
11:31
<&McMartin>
That's the bit I need to meditate upon~
11:32
<@Tarinaky>
iirc the pre-C++11 behavior is preserved with passing rvalues to lvalue references... So does that mean an rvalue can be promoted to an lvalue by the compiler?
11:33
<@Tarinaky>
Or is the compiler doing Magic?
11:34
<&McMartin>
In C++98 it would be calling copy constructors.
11:34
<&McMartin>
rvalue references give it the opportunity in C++11 to call move constructors instead, which are faster and make promises about how it's OK to destroy certain thins.
11:34
<&McMartin>
8things
11:34
<&McMartin>
I get that for std::move()
11:34
<&McMartin>
I don't get that for std::forward() yet
11:35
<&McMartin>
Because while std::forward results in rvalue references, they don't destroy anything, and I'm not sure how that works.
11:35
<@Tarinaky>
I'm just reading std::move right now.
11:35
<@Tarinaky>
std::forward doesn't always result in rvalue references.
11:35
<@Tarinaky>
std::forward returns the same r/l-ness as the original argument.
11:35
<&McMartin>
std::move is "I promise to never use this lvalue again; you can save a few copies by doing otherwise destructive operations to it"
11:36
<&McMartin>
That's what std::swap uses internally, and I think std::map::emplace and friends too.
11:36
<@Tarinaky>
So if you pass std::forward an lvalue it stays an lvalue (I think)
11:37
<&McMartin>
Or gets copyconstructed in place, and the result of that copy constructor is, itself, an rvalue reference since it is never bound.
11:38
<@Tarinaky>
The description I'm reading for std::forward explicitly says: "forwards the argument to another function with the value category it had when passed to the calling function."
11:38
<@Tarinaky>
Whereas std::move always creates an xvalue by hook or crook.
11:38
<&McMartin>
Oh!
11:39
<&McMartin>
The template system will be involved here
11:39
<&McMartin>
OK, I'm starting to see the wires
11:39
<&McMartin>
It is 0340. I'm going to have *very strange dreams*
11:39
<@Tarinaky>
What's the significance of the template system?
11:40
<&McMartin>
It's, uh, one of the reagents.
11:40
<&McMartin>
(The book I got today includes reference implementations of move and forward. Templates are involved)
11:40
<@Tarinaky>
Ah.
11:49 himi [fow035@Nightstar-v37cpe.internode.on.net] has joined #code
11:49 mode/#code [+o himi] by ChanServ
12:03 * TheWatcher fingertappity
12:03
<@TheWatcher>
A new project, because I don't have enough to do already. Le sigh.
12:11 Checkmate [Z@Nightstar-484uip.cust.comxnet.dk] has quit [Connection closed]
12:11 Checkmate [Z@Nightstar-ajg.slu.72.87.IP] has joined #code
12:11 mode/#code [+o Checkmate] by ChanServ
12:39
<@Tarinaky>
Why does it feel like there isn't enough caffiene in the world to get me through this afternoon?
12:39
<@Tarinaky>
I had an early night and everything o.o
12:48 Meatyhandbag [sebastianfe@Nightstar-dk0.5eb.224.136.IP] has joined #code
13:00
<@TheWatcher>
On a vaguely related note, how is it only 1pm?
13:00
<@TheWatcher>
Feels like 4.
13:00
<@Tarinaky>
Also: volatile's usefulness in the context of preventing caching when using std::thread is extremely confusing because C++ gurus like to be pedantic.
13:00
< [R]>
Because it's actually 6 AM.
13:00
<@Tarinaky>
Assuming I am understanding the entrails correctly.
13:01
< [R]>
Why are you Europeans always so bad with time?
13:01
< [R]>
Geez.
13:01
<@Tarinaky>
You're wrong.
13:01
<@Tarinaky>
It's definitaly 1pm.
13:01
<@Tarinaky>
Geez, you Americans think you're right all the time.
13:02
< [R]>
Ha, I'm not even american.
13:02
<@Tarinaky>
You're 7 hours behind. That puts you somewhere in the 'Americas'
13:02
< [R]>
Fair
13:03
<@TheWatcher>
WEll, really, it's @544~
13:04
<@Tarinaky>
Wow. Menzies Campbell is still alive?
13:08
< [R]>
Yes
13:08
< [R]>
SIT FTW
13:09 * TheWatcher eyes OpenLDAP's documentation on schema syntax
13:11 Meatyhandbag [sebastianfe@Nightstar-dk0.5eb.224.136.IP] has quit [Client exited]
13:11
<@TheWatcher>
I think it would be possible to write less helpful documentation, but only with concerted effort.
13:15
<@Tarinaky>
http://www.developingandstuff.com/2013/07/grep-too-slow-tired-of-waiting-for-it. html
13:33 grindhold [quassel@Nightstar-0ona3l.cyan.servdiscount-customer.com] has quit [Connection closed]
13:37 Meatyhandbag [sebastianfe@Nightstar-dk0.5eb.224.136.IP] has joined #code
13:43
<@Wizard>
So for someone who has just finished K&R, what's a good place to turn to to get a more up-to-date idea of C programming and best practices?
13:45
< [R]>
github
13:45
< [R]>
cprogramming.com too
13:46
<@Wizard>
Cheers
13:46
<@TheWatcher>
Wait
13:47
<@TheWatcher>
Someone asks for somewhere to look for best practices, and you point htem at /github/?
13:47
<@Wizard>
Yeah I kind of glossed over that too :P
13:48
< [R]>
He asked for up-to-date C programming: github; and best practices: cprogramming.com
13:48
< [R]>
I fail to see how that was bad advice.
13:50
<@TheWatcher>
Hm, how shall I put it?
13:50
<@Tarinaky>
I'm not sure that looking at other people's C code is a good way to learn 'modern' best practices in C code.
13:50
<@Tarinaky>
Unless said collections have been carefully curated to extract those examples based on older best practices.
13:51
<@TheWatcher>
Quite.
13:51
<@Tarinaky>
Same for C++... The best trending tutorial on 'modern' OpenGL is conspicious for its lack of 'modern' C++
13:51
<@TheWatcher>
It is an excellent way to tell people how to pick up horrendous coding practices and shit you really should never do in decent code.
13:52 Meatyhandbag [sebastianfe@Nightstar-dk0.5eb.224.136.IP] has quit [Client exited]
13:56
<@TheWatcher>
Wizard: I'd second the http://www.cprogramming.com/ recommendation, you might also want to look at http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-087-pra ctical-programming-in-c-january-iap-2010/ (yeah, it's not incredibly recent, but it's decent)
14:12
<@Tarinaky>
Meanwhile: I verymuch like unique_ptr but wish it had an easier to type name.
14:13
<@TheWatcher>
editor macro time?
14:15
<@Tarinaky>
Maybe.
14:15
<@Tarinaky>
But that'd be obtuse.
14:15
<@Tarinaky>
And I'm not sure if it's possible to typedef a template name.
14:16
<@Tarinaky>
I'd really rather not enter the realm of using the preprocessor to define a domain specific language ;)
14:16
<@TheWatcher>
No, you shouldn't - it harms readability
14:17
<@TheWatcher>
(although IIRC template<class T> using uptr = std::unique_ptr<T>; should work...)
14:17
<@Tarinaky>
I'll try it when I get home.
14:20 Meatyhandbag [sebastianfe@Nightstar-dk0.5eb.224.136.IP] has joined #code
15:00 Thalass|afk [thalass@Nightstar-h1qmno.eastlink.ca] has joined #code
15:00
<@Tarinaky>
UK Politics Today: https://twitter.com/NickBolesMP/status/586072307673726976
15:01
<@Tarinaky>
Conservative MP Candidate: "As yourself this, who would Vladimir Putin want running the country after [the general election]?"
15:01
<@Tarinaky>
And the winner is... Vladimir Putin!
15:36 Thalass|afk is now known as Thalass
15:36 mode/#code [+o Thalass] by ChanServ
15:51 Meatyhandbag [sebastianfe@Nightstar-dk0.5eb.224.136.IP] has quit [Client exited]
16:02 Meatyhandbag [sebastianfe@Nightstar-tbp.ilc.224.136.IP] has joined #code
16:51 Meatyhandbag [sebastianfe@Nightstar-tbp.ilc.224.136.IP] has quit [Client exited]
17:38 Meatyhandbag [sebastianfe@Nightstar-dk0.5eb.224.136.IP] has joined #code
19:35 Checkmate [Z@Nightstar-ajg.slu.72.87.IP] has quit [Ping timeout: 121 seconds]
19:51 Vash [Vash@Nightstar-uhn82m.ct.comcast.net] has joined #code
19:51 mode/#code [+o Vash] by ChanServ
20:30 Kindamoody|afk is now known as Kindamoody
20:31 Checkmate [Z@Nightstar-ev6.6um.94.83.IP] has joined #code
20:31 mode/#code [+o Checkmate] by ChanServ
20:48 Meatyhandbag [sebastianfe@Nightstar-dk0.5eb.224.136.IP] has quit [Client exited]
20:51 Meatyhandbag [sebastianfe@Nightstar-dk0.5eb.224.136.IP] has joined #code
20:52 Turaiel[Offline] is now known as Turaiel
21:08 [R] [rstamer@genoce.org] has quit [Ping timeout: 121 seconds]
21:10 [R] [rstamer@Nightstar-d7h8ki.org] has joined #code
21:19 [R] [rstamer@genoce.org] has quit [Ping timeout: 121 seconds]
21:24 Thalass [thalass@Nightstar-h1qmno.eastlink.ca] has quit [Ping timeout: 121 seconds]
21:35 [R] [rstamer@Nightstar-d7h8ki.org] has joined #code
21:37 VirusJTG [VirusJTG@Nightstar-6i5vf7.sta.comporium.net] has quit [[NS] Quit: Leaving]
21:37 VirusJTG [VirusJTG@Nightstar-6i5vf7.sta.comporium.net] has joined #code
21:38 VirusJTG [VirusJTG@Nightstar-6i5vf7.sta.comporium.net] has quit [Connection closed]
21:38 VirusJTG [VirusJTG@Nightstar-6i5vf7.sta.comporium.net] has joined #code
21:39 [R] [rstamer@genoce.org] has quit [Operation timed out]
21:44 Kindamoody is now known as Kindamoody[zZz]
21:44
<@gnolam>
http://shoutcloud.io/
21:48 * VirusJTG sniffs the .io
21:48
<@Wizard>
VirusJTG: Don't sniff the io
21:48
<@Wizard>
You'll get an std
21:49 * VirusJTG infects Wizard
21:52 Turaiel is now known as Turaiel[Offline]
22:06 Thalass [thalass@Nightstar-h1qmno.eastlink.ca] has joined #code
22:06 mode/#code [+o Thalass] by ChanServ
22:12 Thalass [thalass@Nightstar-h1qmno.eastlink.ca] has quit [Ping timeout: 121 seconds]
22:37 Thalass [thalass@Nightstar-h1qmno.eastlink.ca] has joined #code
22:37 mode/#code [+o Thalass] by ChanServ
23:02 grindhold [quassel@Nightstar-0ona3l.cyan.servdiscount-customer.com] has joined #code
23:17 Turaiel[Offline] is now known as Turaiel
23:41 Vornicus [vorn@ServerAdministrator.Nightstar.Net] has joined #code
23:41 mode/#code [+qo Vornicus Vornicus] by ChanServ
23:55 himi [fow035@Nightstar-v37cpe.internode.on.net] has quit [Ping timeout: 121 seconds]
23:55 Checkmate [Z@Nightstar-ev6.6um.94.83.IP] has quit [Ping timeout: 121 seconds]
--- Log closed Fri Apr 10 00:00:58 2015
code logs -> 2015 -> Thu, 09 Apr 2015< code.20150408.log - code.20150410.log >

[ Latest log file ]