--- 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 |