--- Log opened Sun Sep 07 00:00:13 2008 |
00:23 | | Vornicus [~vorn@ServicesOp.Nightstar.Net] has quit [Ping Timeout] |
00:30 | | Vornicus [~vorn@64.252.178.ns-13935] has joined #code |
00:30 | | mode/#code [+o Vornicus] by ChanServ |
00:59 | | Thaqui [~Thaqui@121.98.137.ns-13370] has left #code [He was a wise man who invented beer - Plato] |
01:24 | | * McMartin whips up a hundred lines or so of example to make sure it actually works. It does, hooray. |
01:25 | <@McMartin> | Now to see if I remember enough of the STL from memory to do the filter chain. |
01:27 | | * Consul is back... |
01:28 | <@McMartin> | Give me a second to upload this stuff, then |
01:28 | <@McMartin> | a "g++ -o DSPTest *.cc" should compile it into something runnable basically anywhere. |
01:29 | <@McMartin> | http://www.stanford.edu/~mcmartin/DSPTest/ |
01:30 | <@McMartin> | This is actually probably a decent test of your C++-fu, too, actually. This sample code more or less covers all the non-STL important bits of C++. |
01:30 | <@McMartin> | So if there's anything in those files you don't understand, pipe up so I can explain it. |
01:30 | < Consul> | Wow... |
01:31 | < Consul> | I really didn't mean for you to go this far on my behalf... |
01:31 | <@McMartin> | I've been a pro C++ programmer for the past month now; this was like 30 minutes. |
01:31 | <@McMartin> | (Feel free to adapt any of this if it turns out handy) |
01:31 | < Consul> | Well, it certainly runs fine. |
01:32 | <@McMartin> | And the filter chain thing is a good test of my ability to use STL (and which isn't there yet). |
01:32 | <@McMartin> | Also, the main program here was kind of what I was originally imagining being a mode of operation for your tools |
01:32 | <@McMartin> | You'd give it binary files representing the input streams, and it would give you an output stream that you could turn into AIFF or WAV or whatever. |
01:33 | <@McMartin> | Lists of samples to lists of samples, basically. |
01:35 | < Consul> | That's exactly what I was hoping for. |
01:35 | <@McMartin> | I'd gotten the impression that there was also a "generator" aspect which this doesn't touch |
01:36 | <@McMartin> | Though I *suppose* you could shoehorn it in by having a "transformer" that ignores its input and does whatever it wants. |
01:36 | <@McMartin> | It's probably better to actually have a generator though. |
01:37 | < Consul> | A generator would have an input at the sample rate, though: the exact phase at which to generate an output sample. |
01:37 | <@McMartin> | Hmm. Good point. |
01:38 | < Consul> | So the input would be phase in radians, and the output would be the sample. |
01:38 | < Consul> | Of course, beyond that, you'd need a phasor, which generates the phase info. |
01:38 | < Consul> | That would also have an input, which is the frequency to generate phase info for. |
01:39 | < Consul> | But that is more of an event or control input than a signal. |
01:39 | <@McMartin> | Right. Not that you couldn't script such things in a file format of there own (hi there, MIDI Sequence format) |
01:39 | <@McMartin> | *their |
01:40 | < Consul> | Actually, things like that is where I want to bring in Lua. :-) |
01:40 | <@McMartin> | Heh. Fair enough. |
01:40 | <@McMartin> | Though I would totally squee at a Timidity Of Doom. |
01:40 | < Consul> | A DSP engine with integrated scripting would be the bomb diggity! |
01:41 | < Consul> | Oh, what we want to do will go far beyond Timidity of Doom. |
01:43 | < Consul> | Imagine being able to build a graph of DSP components on the fly, all under the control of scripting... |
01:43 | <@McMartin> | For something like that - where the components are treated by the implementation as black boxes - you'll need to be pushing pointers to Component around. |
01:43 | <@McMartin> | More of a breadboard than an IC, as you will. |
01:44 | < Consul> | Yeah |
01:45 | < Consul> | Mind if I pass the link to your code to my project partner? |
01:45 | <@McMartin> | Not at all, but hang on a sec first so I can get this other bit working first |
01:45 | < Consul> | 'k |
01:45 | < Consul> | I'll BRB, actually... |
01:46 | <@McMartin> | Especially if scripting is your goal, the FilterChain thing is much closer to what you'll eventually need, so the sample code is a bit misleading |
01:49 | <@McMartin> | There we go |
01:50 | < Consul> | The graph will also need to be able to handle serial and parallel paths, with splits and merges. |
01:50 | < Consul> | I'm thinking a matrix would do the job. |
01:50 | <@McMartin> | Well, that really means Component.h needs a different top-level class for each "kind" of black box. |
01:50 | <@McMartin> | Essentially, in that sample code, simplelinear is the "ICs", and blackboxlinear is the "breadboard". |
01:51 | <@McMartin> | You can stick ICs on the breadboards, or breadboards on the breadboard, but you'd need different kinds of Black Box depending on what the, er, pinouts look like. |
01:52 | <@McMartin> | OK. |
01:52 | < Consul> | Well, if every higher-order component, like a filter, is made up of lower-order components, like delay lines and integrators, then ultimately, everything is a black box, one in, one out. |
01:52 | <@McMartin> | Same URL, main.cc has changed and there's two new files. |
01:52 | <@McMartin> | Right, but it sounds like there'd be stuff in the middle that would look a little different. |
01:53 | <@McMartin> | But yeah, that's domain-specific stuff. |
01:53 | <@McMartin> | e.g., your job |
01:53 | < Consul> | Heh |
01:53 | <@McMartin> | Also stoked because I mostly remembered how to do std::list<> right with only one error the compiler had to catch. |
01:53 | < Consul> | Shoot, if we can break everything down into sets of black boxes, this might actually work! |
01:54 | <@McMartin> | So yeah, do check out the new main.cc for "whipping up a custom filter at run time from other components". |
01:54 | <@McMartin> | d2_2 |
01:55 | <@McMartin> | This also means, as I understand it, that you also have a much more limited bit of C++ you have to personally deal with |
01:55 | <@McMartin> | The stuff you were doing in Python basically translates to various different subclasses of DSP::Component, right? |
01:55 | < Consul> | Oh, the python thing was just a brute-force attempt to make a cubic-interpolated table. |
01:56 | < Consul> | No classes were used. |
01:56 | < Consul> | That would be another black box, actually, with one in and out. |
01:56 | <@McMartin> | Which means that if you translated it into C++ as an subclass you'd be able to drop it righ tin. |
01:57 | < Consul> | Pretty much, probably. I'd like to try to clean up the math, though. |
01:57 | <@McMartin> | Good times. |
01:58 | <@McMartin> | Anyway, it looks pretty likely that this design will give you the division of labor that you were trying to sort out when you first joined. |
01:59 | < Consul> | I'm actually kinda annoyed that I didn't think of the black-box approach to begin with. :-P |
01:59 | < Consul> | But yes, I think this will work well. |
02:00 | <@McMartin> | There's a famous adage to the effect that a problem well-stated is a problem half-solved. |
02:02 | < Consul> | I'm just hoping that I can re-state it just as well in this email I'm writing to our list (which goes out to all of two other people, BTW). |
02:20 | < Consul> | Ack, can someone give me voice, please? |
02:21 | | mode/#code [+o Consul] by McMartin |
02:21 | <@Consul> | http://www.native-instruments.com/index.php?id=reaktor5basics&L=1 -- Here's an example of a graph-based DSP builder application, which is something we'd ultimately like to make. |
02:21 | <@Consul> | Thanks |
02:21 | <@Consul> | http://www.native-instruments.com/index.php?id=coretechnology&L=1 -- Here's the lower-level of Reaktor. |
02:22 | <@Consul> | The pictures should help show what I'm on about. |
02:24 | <@McMartin> | So yeah, basically a Circuit CAD kind of thing, but with way more dials. |
02:25 | <@McMartin> | Eventually you're probably going to end up with a more complicated basic component, because you'll want your top level view to be not merely "signal in, signal out" but "signal in, signal out, and a bunch of dials" |
02:25 | <@Consul> | With a more limited problem domain (audio), yeah. |
02:25 | <@McMartin> | Nod |
02:25 | <@Consul> | Well, controls (dials) will be boxes with an input and output as well. :-) |
02:26 | <@Consul> | Just that the input comes from OSC instead of some other box. |
02:26 | <@McMartin> | If I were running such a project, I'd probably start with monolithic "IC" devices and then start refactoring to make more of it manageable and buildable at run time. |
02:26 | | Reiver [~reaverta@Admin.Nightstar.Net] has quit [Ping Timeout] |
02:27 | | DiceBot [~Reiver@Nightstar-22137.xdsl.xnet.co.nz] has quit [Ping Timeout] |
02:27 | <@Consul> | Well, A Reaktor-like application is something we want in the future. |
02:28 | <@Consul> | We're aiming to make a sampler in the shorter term. |
02:28 | <@Consul> | But they'll both have the same DSP core, no doubt. |
02:28 | <@Consul> | I also want to make a guitar amp sim. |
02:28 | <@McMartin> | Nod nod |
02:29 | <@McMartin> | What I mean is, if you don't immediately need the all-singing, all-dancing script-controllde edition you can get stuff out the door faster that does cool stuff. |
02:29 | <@Consul> | I am worried that some of our black boxes will need more than one input and/or output. Especially to represent some things graphically, like multipliers and adders. |
02:29 | <@McMartin> | I bet the amp could be a monolith with dials, frex. |
02:29 | <@McMartin> | Yeah |
02:29 | <@McMartin> | Or flangers (?). |
02:30 | <@McMartin> | That's why I named my classes "Linear", though. |
02:30 | <@Consul> | Oh, we could have a different base class for, say, two in one out? |
02:30 | <@McMartin> | Yeah. |
02:30 | <@McMartin> | Different class, of course, because it's not drop-in replacable |
02:30 | <@McMartin> | But that's all the stuff that would go in component.h |
02:31 | <@McMartin> | More than one out is a little messier |
02:31 | <@Consul> | Yeah, I don't think we'll need that. |
02:31 | <@McMartin> | I think I'd do that with "n in, ZERO out" as the process(), and then "current_out_1" and "current_out_2" or w/e as the readers. |
02:31 | <@Consul> | Some breadboards will have more than one out, but that's just how we're using the black boxes within. |
02:32 | <@McMartin> | Basically, your top level classes mean "anything that inherits from this class could replace anything else that does so without rewiring." |
02:32 | <@McMartin> | "It might not *do* what you want anymore, but the wiring is still sensible" |
02:32 | <@Consul> | I'm trying to fit all of this into my email... |
02:32 | <@McMartin> | So a one-in-one-out can't replace a two-in-one-out component, so, different base classes |
02:33 | <@McMartin> | There are horrific things you can do with templates to have this all in one nominal class, but please don't. |
02:33 | <@Consul> | I doubt I have the skill to know what. :-P |
02:33 | <@Consul> | Anyway, I was about to say... |
02:33 | <@McMartin> | (Then you'd have, say, a Component<4, 2> class that was 4-in, 2-out) |
02:33 | <@Consul> | I have some ideas on how to process audio non-linearly to try to re-create all of those spacey 70s sounds. |
02:34 | <@McMartin> | "Linear" is probably the wrong word there |
02:34 | <@Consul> | Oh, I think we'll avoid that. |
02:34 | <@McMartin> | I meant just "you could arrange them in a line" |
02:34 | <@Consul> | I know. :-) |
02:34 | <@McMartin> | Not "this is a function of the form Ax+B" |
02:34 | <@Consul> | We have five different definitions of the word linear floating around. |
02:35 | <@McMartin> | When I said "wrong word there" I meant in my sample code |
02:35 | <@Consul> | In the audio world, "non-linear" basically means distortion. |
02:35 | <@McMartin> | Nod |
02:35 | <@McMartin> | Though I guess that does match the "not an Ax+B function" =) |
02:36 | <@McMartin> | ... along with pretty much everything else that isn't amplification. |
02:42 | <@Consul> | I think we could get away with 1 in:1 out when we're coding our processes directly. |
02:42 | <@McMartin> | If so, all the better |
02:42 | <@McMartin> | But if you can't, it doesn't end up being fatal. |
02:42 | <@Consul> | It's when we need to graphically represent things like adders and multipliers that we need the different base class. |
02:43 | <@Consul> | So people can drag a multplier onto the breadboard they're working on. |
02:43 | <@McMartin> | Yeah. I'm thinking one base class for each pinout. |
02:44 | <@Consul> | Well, email sent. |
02:45 | <@Consul> | http://groups.google.com/group/nuclear-project/browse_thread/thread/ec516ff2e335 74da -- Last email in the thread. |
02:46 | <@McMartin> | Looks about right. |
02:46 | <@McMartin> | There's a couple of minor caveats |
02:46 | <@Consul> | He'll look at the code. |
02:46 | <@McMartin> | The abstraction won't be optimized away from the breadboards, just from the "black boxes". |
02:46 | <@Consul> | Oh, did I miss that part? |
02:47 | <@McMartin> | I think so |
02:48 | <@McMartin> | Essentially (and this is really Too Much Detail, but what the heck, I'm a compilers guy) when you have a local or member like "AnyDelay ad(5)", when it sees "ad.process(3)", it'll be smart enough to directly call AnyDelay::process as a function call |
02:48 | <@Consul> | Okay, I added a correcting email. |
02:49 | <@McMartin> | In FilterChain, when it's going through it has to look at each entry and work out what it is and thus what to call |
02:49 | <@McMartin> | (Which is, admittedly, like two additional pointer lookups, so in practice, whatever) |
02:49 | <@McMartin> | (Which is why most other languages don't bother with this optimization explicitly) |
02:51 | <@McMartin> | Er, argh |
02:51 | <@McMartin> | I was unclear |
02:51 | <@McMartin> | Blackboxes can be treated as components so you can build them out of each other |
02:52 | <@McMartin> | Argha gain |
02:52 | | Doctor_Nick [~Doctor_Ni@Nightstar-12626.tampfl.fios.verizon.net] has quit [Operation timed out] |
02:52 | <@McMartin> | the "takes great advantage of the strengths of C++" part only applies to the ICs, not the breadboards |
02:52 | <@McMartin> | Breadboards can include other breadboards. |
02:52 | <@McMartin> | In fact, blackboxes can include breadboards |
02:52 | <@McMartin> | Too many BBs. |
02:52 | <@Consul> | Darn, I'm going to have to send another email. |
02:54 | <@McMartin> | I should probably look into dinner soon |
02:54 | <@McMartin> | Anyway, glad to be of service |
02:54 | <@Consul> | Yes, thank you much. |
02:55 | <@Consul> | I just sent another email saying to ignore my correction. :-/ |
02:56 | <@Consul> | Enjoy your dinner. |
02:57 | <@Consul> | I think I'll go get a popsicle. |
02:57 | | gnolam [lenin@Nightstar-1382.A163.priv.bahnhof.se] has quit [Quit: Z?] |
02:59 | | Doctor_Nick [~Doctor_Ni@Nightstar-12626.tampfl.fios.verizon.net] has joined #code |
02:59 | | Attilla [~The.Attil@92.22.195.ns-12776] has quit [Quit: <Insert Humorous and/or serious exit message here>] |
03:18 | | Derakon [~Derakon@Nightstar-4879.hsd1.ca.comcast.net] has joined #code |
03:18 | | mode/#code [+o Derakon] by ChanServ |
03:29 | | androsch [~androsch@Nightstar-3933.pools.arcor-ip.net] has quit [Connection reset by peer] |
05:27 | | DiceBot [~Reiver@Nightstar-9734.xdsl.xnet.co.nz] has joined #Code |
05:28 | | Reiver [~reaverta@Nightstar-9734.xdsl.xnet.co.nz] has joined #Code |
05:28 | | mode/#code [+o Reiver] by ChanServ |
05:39 | | Thaqui [~Thaqui@121.98.137.ns-13370] has joined #code |
05:39 | | mode/#code [+o Thaqui] by ChanServ |
05:41 | | Reiver [~reaverta@Nightstar-9734.xdsl.xnet.co.nz] has quit [Quit: Changing servers] |
05:41 | | Reiver [~reaverta@Admin.Nightstar.Net] has joined #Code |
05:41 | | mode/#code [+o Reiver] by ChanServ |
06:19 | | Derakon [~Derakon@Nightstar-4879.hsd1.ca.comcast.net] has quit [Quit: Derakon] |
06:34 | | Thaqui [~Thaqui@121.98.137.ns-13370] has quit [Quit: He was a wise man who invented beer - Plato] |
07:38 | | AnnoDomini [AnnoDomini@Nightstar-29657.neoplus.adsl.tpnet.pl] has joined #Code |
07:38 | | mode/#code [+o AnnoDomini] by ChanServ |
07:51 | | Doctor_Nick is now known as drnick |
08:57 | | RBot [~Reiver@Nightstar-9734.xdsl.xnet.co.nz] has joined #Code |
08:58 | | DiceBot [~Reiver@Nightstar-9734.xdsl.xnet.co.nz] has quit [Ping Timeout] |
08:58 | | Reiver [~reaverta@Admin.Nightstar.Net] has quit [Ping Timeout] |
08:58 | | Thaqui [~Thaqui@121.98.137.ns-13370] has joined #code |
08:58 | | mode/#code [+o Thaqui] by ChanServ |
08:59 | | RBot is now known as DiceBot |
09:00 | | You're now known as TheWatcher |
09:05 | | Reiver [~reaverta@Admin.Nightstar.Net] has joined #Code |
09:05 | | mode/#code [+o Reiver] by ChanServ |
10:11 | | Attilla [~The.Attil@92.22.195.ns-12776] has joined #code |
10:11 | | mode/#code [+o Attilla] by ChanServ |
10:36 | | gnolam [lenin@Nightstar-1382.A163.priv.bahnhof.se] has joined #Code |
10:36 | | mode/#code [+o gnolam] by ChanServ |
11:37 | | Thaqui [~Thaqui@121.98.137.ns-13370] has left #code [He was a wise man who invented beer - Plato] |
12:18 | <@Reiver> | hey, gnolam. How goes the work on the island generator? |
12:50 | | organmonkey [joseph@Nightstar-6872.dynamic.tiki.ne.jp] has joined #code |
13:02 | <@gnolam> | Haven't really had time to work on it lately. :-/ |
13:02 | <@gnolam> | But I'll see what I can do tonight. |
13:14 | <@gnolam> | But I won't promise anything though. |
13:16 | | Attilla_ [~The.Attil@92.22.195.ns-12776] has joined #code |
13:17 | | Attilla [~The.Attil@92.22.195.ns-12776] has quit [Ping Timeout] |
13:26 | | Attilla_ is now known as Attilla |
13:37 | | Brother_Willibald [lenin@Nightstar-1382.A163.priv.bahnhof.se] has joined #Code |
13:37 | | gnolam is now known as NSGuest-927 |
13:37 | | Brother_Willibald is now known as gnolam |
13:37 | | NSGuest-927 [lenin@Nightstar-1382.A163.priv.bahnhof.se] has quit [Ping Timeout] |
13:40 | | RBot [~Reiver@Nightstar-9734.xdsl.xnet.co.nz] has joined #Code |
13:41 | | DiceBot [~Reiver@Nightstar-9734.xdsl.xnet.co.nz] has quit [Ping Timeout] |
13:42 | | RBot is now known as DiceBot |
13:53 | | RBot [~Reiver@Nightstar-9734.xdsl.xnet.co.nz] has joined #Code |
13:55 | | DiceBot [~Reiver@Nightstar-9734.xdsl.xnet.co.nz] has quit [Ping Timeout] |
13:55 | | Reivles [~reaverta@Admin.Nightstar.Net] has joined #Code |
13:55 | | RBot is now known as DiceBot |
13:56 | | Reiver [~reaverta@Admin.Nightstar.Net] has quit [Local kill by Reivles (sod off ghost)] |
14:03 | | Reivles is now known as Reiver |
14:43 | | organmonkey [joseph@Nightstar-6872.dynamic.tiki.ne.jp] has quit [Client exited] |
17:35 | | RBot [~Reiver@Nightstar-9734.xdsl.xnet.co.nz] has joined #Code |
17:36 | | Reiver [~reaverta@Admin.Nightstar.Net] has quit [Ping Timeout] |
17:36 | | DiceBot [~Reiver@Nightstar-9734.xdsl.xnet.co.nz] has quit [Ping Timeout] |
17:37 | | RBot is now known as DiceBot |
17:38 | | Reiver [~reaverta@Admin.Nightstar.Net] has joined #Code |
17:38 | | mode/#code [+o Reiver] by ChanServ |
18:21 | | AnnoDomini is now known as Elizabeth |
18:22 | | Reivles [~reaverta@Admin.Nightstar.Net] has joined #Code |
18:22 | | EvilDarkLord is now known as Rico |
18:22 | | Reiver [~reaverta@Admin.Nightstar.Net] has quit [Ping Timeout] |
18:37 | | DiceBot [~Reiver@Nightstar-9734.xdsl.xnet.co.nz] has quit [Ping Timeout] |
18:38 | | Reivles [~reaverta@Admin.Nightstar.Net] has quit [Ping Timeout] |
18:44 | | Reiver [~reaverta@Admin.Nightstar.Net] has joined #Code |
18:44 | | mode/#code [+o Reiver] by ChanServ |
18:45 | | DiceBot [~Reiver@Nightstar-9734.xdsl.xnet.co.nz] has joined #Code |
18:51 | | gnolam [lenin@Nightstar-1382.A163.priv.bahnhof.se] has quit [Ping Timeout] |
18:57 | | gnolam [lenin@Nightstar-1382.A163.priv.bahnhof.se] has joined #Code |
18:57 | | mode/#code [+o gnolam] by ChanServ |
19:27 | <@McMartin> | Yay, the game that used my conversation extension won IntroComp this year~ |
19:29 | <@Vornicus> | woot |
19:32 | < GeekSoldier> | grats! |
19:35 | <@Consul> | I had to google IntroComp, but good going! |
19:39 | <@McMartin> | Heh |
19:39 | <@McMartin> | That means you should have turned up my actual claim to fame therein~ |
19:40 | <@Consul> | I found the site, but didn't see the name you use in here... |
19:40 | <@Consul> | Or I didn't look hard enough. |
19:40 | <@McMartin> | Oh |
19:40 | <@McMartin> | I was the first person to complete an actual full-length game in the Comp, back from '05. |
19:40 | <@Consul> | Oh, I found the 2007 page |
19:40 | <@McMartin> | http://www.ifwiki.org/index.php/IntroComp |
19:41 | <@McMartin> | Since Thornton's FotR was a ROM hack on the Atari 2600 I consider mine the first real completed IntroComp game. =P |
19:42 | <@Consul> | Ah, I've seen this page before... |
19:42 | <@Consul> | I also remember that distinct art style... |
19:42 | <@McMartin> | Yes. |
19:42 | <@McMartin> | That's Josh Phillips. |
19:43 | <@McMartin> | Of Avalon, er, fame. |
19:43 | <@Consul> | Indeed. |
19:44 | <@Consul> | I seem to remember being the one who founded his channel on this network. I then turned it over to him when he showed up. |
19:44 | <@McMartin> | Possible. |
19:45 | <@McMartin> | I don't think I was a Locust Of #avalon until a while after the Nightstar move. |
19:45 | <@McMartin> | Anyway |
19:45 | <@McMartin> | Mountain View Art and Wine Festival |
19:45 | <@McMartin> | Later, all |
19:45 | <@Consul> | Heh. Have fun. |
20:13 | | * gnolam hands McMartin a beret. |
20:35 | | Rico is now known as EvilDarkLord |
20:35 | | Elizabeth is now known as AnnoDomini |
21:00 | | Vornicus is now known as Finerty |
21:01 | | DiceBot [~Reiver@Nightstar-9734.xdsl.xnet.co.nz] has quit [Ping Timeout] |
21:02 | | Reiver [~reaverta@Admin.Nightstar.Net] has quit [Ping Timeout] |
21:08 | | Reiver [~reaverta@Admin.Nightstar.Net] has joined #Code |
21:08 | | mode/#code [+o Reiver] by ChanServ |
21:10 | | DiceBot [~Reiver@Nightstar-9734.xdsl.xnet.co.nz] has joined #Code |
21:20 | <@gnolam> | Reiver: nope, no coding on the island generator tonight. Too tired. |
21:21 | <@gnolam> | Been comatose on the couch since I got home. |
21:48 | | Reiver [~reaverta@Admin.Nightstar.Net] has quit [Ping Timeout] |
21:50 | | androsch [~androsch@Nightstar-4653.pools.arcor-ip.net] has joined #code |
21:53 | | Finerty [~vorn@Admin.Nightstar.Net] has quit [Connection reset by peer] |
21:54 | | Finerty [~vorn@64.252.178.ns-13935] has joined #code |
21:54 | | Reiver [~reaverta@Admin.Nightstar.Net] has joined #Code |
21:54 | | mode/#code [+o Reiver] by ChanServ |
21:59 | | GeekSoldier [~Rob@Nightstar-8573.midstate.ip.cablemo.net] has quit [Connection reset by peer] |
21:59 | | GeekSoldier [~Rob@Nightstar-8573.midstate.ip.cablemo.net] has joined #code |
22:49 | | Frechemaus [~Frechemau@Nightstar-2016.adsl.alicedsl.de] has joined #code |
23:18 | | AnnoDomini [AnnoDomini@Nightstar-29657.neoplus.adsl.tpnet.pl] has quit [Quit: Out of the night and into the fight it's BIXBY!!] |
23:48 | | Frechemaus [~Frechemau@Nightstar-2016.adsl.alicedsl.de] has quit [Quit: ] |
23:55 | | You're now known as TheWatcher[T-2] |
23:57 | | You're now known as TheWatcher[zZzZ] |
23:59 | | DiceBot [~Reiver@Nightstar-9734.xdsl.xnet.co.nz] has quit [Ping Timeout] |
--- Log closed Mon Sep 08 00:00:22 2008 |