00:00:05 <oerjan> C C# D D# E F F# G G# A B B# if that is right in English.
00:00:37 <oerjan> Or do they use H for B# too?
00:00:41 <oklopol> C C# D D# E F F# G G# A A# B is english
00:01:02 <oerjan> wait, I got that backwards
00:01:07 <oklopol> and all of them too crappy to use
00:01:19 <SevenInchBread> wow... I didn't even realize there was another standard.
00:01:41 <oklopol> it was you who misguided me :P
00:01:59 <SevenInchBread> so we don't have to deal with those missing half-tones.
00:02:05 <oerjan> in Norwegian at least, for historical reasons Bb is B while B is H
00:02:05 <oklopol> because pythagoras was an idiot
00:02:15 <oerjan> typographical reasons, in fact.
00:03:03 <oerjan> They were written as different font versions of B, and one of them resembled H...
00:03:18 <oerjan> so eventually turned into it.
00:04:09 <oklopol> i don't hear clearly other than 12, since i didn't hear them early enough
00:04:29 <oklopol> note ear i one thing you only learn young (note ear?)
00:04:55 <oerjan> It's 7 because that is how many there are in a single scale
00:05:11 <oklopol> yeah, but it's a stupid system
00:06:49 <oklopol> i should make my music language... then i could start playing with automatic music generation
00:06:59 <oerjan> i mean, the scales are harmonic. it's only when you want to mix scales and use dissonances that you need more notes.
00:07:07 <oklopol> that's pretty no-man's-land
00:07:43 <oklopol> wouter's page has a nice article on that
00:07:45 <SevenInchBread> yeah... I had an idea for a rhythm-based language... that broke up a beats into infinitely-divisible sub beats...
00:08:04 <SevenInchBread> even on a finite tape of memory its theoretically infinite due to fractional divisions
00:08:19 <oklopol> but the whole scale thing is just a too-far-gone abstraction...
00:08:40 <oerjan> hm... brainfuck with an infinitely divisible tape might be something
00:10:02 <SevenInchBread> divisions just "expand" the tape... as things kind of break down
00:14:13 <oerjan> You mean http://wouter.fov120.com/rants/hertz_12notes.html ?
00:14:51 <oklopol> the only rational thing i've heard said about numbers
00:15:13 <oklopol> but most musicians have no idea... about anything
00:15:50 <oklopol> it's hard explaining why a riff is good if ppl can't understand it's mathematical idea
00:16:09 <oklopol> wouter of course talked about a different thing that riffs etc
00:19:28 <oklopol> well, of course what has a good idea always sounds good
00:22:37 <SevenInchBread> it's a fairly context sensitive means of expression...
00:23:02 <SevenInchBread> If we just used instruments capable of bending across any number of frequencies... you'd have the full range of options...
00:23:25 <SevenInchBread> sitars do something like this... you can tune them to some stalbe notes... while having quite a bit of leeway with bending the strings.
00:24:45 <SevenInchBread> the frets serve as landmarks... but most of the tones are somewhere inbetween.
00:25:03 <SevenInchBread> can't do that with a piano... which always has an exact tone for an exact position.
00:25:21 <oklopol> you can do that with most instruments
00:26:05 <SevenInchBread> For blues and jazz guitar... nothing quite sounds right if it's not somewhere near (or slightly off of) the penatonic scale.
00:26:40 <oklopol> in western music you always have more than one note playing at the same time, the division to twelwe maintains a nice set of harmonical chords
00:26:57 <SevenInchBread> styles, I guess... both genres center heavily on the penatonic.
00:27:41 <oklopol> well, subsetting the 12 notes can be done but it's merely a way of abstraction and only helpful for a composer
00:28:15 <SevenInchBread> that's true... istars are usually one note at a time, with the resonating strings usually doing octaves.
00:28:38 <oklopol> indeed, it gets too complicated otherwise
00:28:41 -!- wooby has quit.
00:28:53 <oklopol> i've always liked dissonance though
00:28:54 <SevenInchBread> I was suggesting that the solution to the "perfect" musical system is that there isn't one... you just pick your frequencies for the song.
00:29:12 <oklopol> my piano teacher always yelled at me when i played tritonus all the time in my compositions
00:30:06 <SevenInchBread> it would be interesting to find some way to represent near-human-like performances via something like a programming language.
00:30:34 <oklopol> you mean like... make the computer sound like a human playing?
00:30:42 <SevenInchBread> like... you could create frequency abstractions... rhythm abstractions... melodic patterns (and a way to make slight changes to that pattern)...
00:31:16 <oklopol> dl quitar pro 5 and see how good the technology is today...
00:31:37 <oklopol> everything is recorded from real instruments and it sounds terrible
00:31:54 <oklopol> (though prolly not the best possible program for it...)
00:32:27 <oklopol> and there is this tiny thingie in the loudspeaker
00:32:38 <oklopol> that can be up (255) or down (0)
00:32:42 * oerjan only now went to the logs. Good grief how you have been talking!
00:33:00 <oklopol> and at certain intervals it takes the next number and moves the thingien in there in the right place
00:33:31 <oklopol> mp3 uses something very mathematical and clever, but everything is always reduced to wav when playing
00:33:50 <oklopol> since the physical way to represent sound in a loudspeaker is done like that
00:34:04 <SevenInchBread> hmm... so if you could make abstractions of all the various musical patterns (rhythm, harmony, melody, timbre(?))
00:34:40 <oklopol> i don't care about sound that much, i'm more interested in melody
00:34:49 <oklopol> i mean, mathematically at least
00:35:11 <SevenInchBread> I want to create worthwhile music with nothing but a computer program... basically.
00:36:02 <oklopol> to make a square wave (the simplest wave) with note "a" you make the wave change the position 440 times in a second and put in a file 0 255 0 255 0 255...
00:36:28 <oklopol> since 0 255 is one wave only
00:37:24 <oklopol> so you do 50 0's, then 50 255's, then 50 0's etc to make the "a" note
00:38:19 <SevenInchBread> you would need very very very subtle changes in the frequency... to make it sounds good.
00:38:22 <oklopol> square is used in old games and a the base of a few soloish tunes of a synthesizer
00:39:04 <oklopol> that is done - suprisingly - with a sin()
00:39:12 <SevenInchBread> or like... some sort of imaginary number oscillator thing?
00:39:43 <oklopol> t meaning we are playing the t:t'h time step of the note
00:39:52 <SevenInchBread> but even then... that's going to be a very very steady wave... hardly "the real deal".
00:40:02 <oklopol> natural sounds are done with addition of sine waves and random generation
00:40:10 <oklopol> and i don't care about it that much
00:40:16 <oklopol> so i can't tell you a lot about is
00:40:57 <oklopol> you can't make natural sounds since NO ONE has EVER been able to do them
00:41:18 <oklopol> you can record them and clone them as you wish
00:41:25 <oklopol> but it's the same as cloning humans
00:41:41 <oklopol> it works but how it really works is unknown
00:41:59 <SevenInchBread> heh... you'd basically need to simulate a recording... at which point you might as well just go record someone.
00:42:08 -!- sebbu has quit ("@+").
00:42:26 <SevenInchBread> simulate the release of air from vocal chords pressing against a microphone.. etc
00:42:28 <oklopol> you can make a continuation in python that returns values for the thingie (0-255) one step at the time
00:42:36 <oklopol> and use it to fill a wav file
00:42:57 <SevenInchBread> with some couroutinal crap you could send in some input for mild alterations based on surrounding stuff.
00:43:03 <oklopol> i did a random music generator once :P
00:43:11 <oklopol> it randomized the tone and the melody
00:43:25 <oklopol> i liked the melodies... no one else did
00:44:13 <oklopol> and i was like 14 then (okay.. you're that age now and better than me so fuck you but anyway) annnnnnnnnnnnnd i didn't understand the wave things
00:44:24 <SevenInchBread> It would be cool to apply some fractal-like mathematic stuff...
00:44:44 <oklopol> i randomized a sequence for the thingie, not a mathematical formula for the sine waves
00:44:51 <oklopol> so it rarely randomised good tones
00:46:12 <oerjan> yeah, oklopol is just really fond of white noise :)
00:46:15 <oklopol> i used [int(random.random()*256) for i in range(10000)] and then put those values in slower or faster according to the current pitch
00:46:53 <oklopol> oerjan i can send you some, it sounds terrible though, prolly, but i could create random tones and play them at varying pitches :)
00:47:06 <oklopol> so it has some coolness in it
00:47:18 <oklopol> but, i must confess, i like white noice
00:48:16 <oklopol> i have this experimental project called - who'd've thank it - brainfuck, i make white noiceish pieces using random generated tones and misuse of audacity
00:48:24 <SevenInchBread> I don't know why it never occured to me that I could play around with sound using programs.
00:48:50 <oklopol> yeah, i love to find out i've actually done stuff in the past
00:49:11 <oklopol> with a bad memory like me you often get a feeling you've wasted 17 years and archieved nothing
00:49:16 <SevenInchBread> hmmm... maybe a BF-like language that does something with sine waves?
00:49:35 <oklopol> i've been designing brainsick
00:50:23 <oklopol> brainfuck with everything in it, music, 3d graphics, networking, gui, etc
00:51:48 <oklopol> i once made a language for creating music... i don't think i ever finished it
00:53:02 <oklopol> i've always been a big fan of c++, but realized just now i could actually use inheritance with it too and avoid having to make manual memory handling to get different datatypes to work :)
00:53:13 <oklopol> just now == 4 months or smth
00:53:48 <oklopol> i've done a lot of interpreters, always used one data class with a void pointer and enum for type :D
00:54:09 <oklopol> maybe i'll stop the monolog and go to sleep
00:56:36 <SevenInchBread> hrm... I'm a bit rusty on my wave physics / mathematical represenatations of that.
00:57:22 <SevenInchBread> if you have two wave functions going over the same medium... they usually add together right?
00:57:51 <oerjan> superposition, yes i think so
00:59:14 <SevenInchBread> string instruments produce standing waves, harmonics, fundamental frequency, partial tones etc
00:59:38 <oklopol> standing waves are the same thing
00:59:53 <oklopol> because we only consider the wave, not how it begins
01:00:14 <oklopol> harmonics -> result of the addition
01:00:36 <SevenInchBread> the standing wave is the result of the original wave being plcuked and reflrected across the string.
01:00:59 <oklopol> yes, it results in a wave in air :)
01:01:28 <SevenInchBread> if you can simulated a string stretched across frets... and a point of pressure from a finger... then you can simply create all of that without knowing what it is exactly.
01:02:02 <oklopol> partial tones: actual_note sin(n) = sin(n) + 1/2*sin(n*2^(7/12)) + 1/4*sin(2n)
01:02:45 <oklopol> partial tones mean for a wave with a certain pitch there are always weaker one with a pitch that is a certain factor of it
01:02:55 <SevenInchBread> hmmm... oh that's neat... Haskell can define functions implicitly?
01:03:01 <oklopol> haskell couldn't understand that
01:03:28 <oklopol> if i understand what you mean
01:04:05 <SevenInchBread> well see... I'm trying to get more than just the note here..
01:04:09 <oerjan> it's nearly correct Haskell, just change ^ to ** and add a missing * I think
01:04:29 <oklopol> but it's not what i meant :)
01:04:32 <SevenInchBread> you start off with a simple wave... from plucking... which oscilates and reflects over itself.
01:05:02 <SevenInchBread> I want the sound of that initial startoff too... not just the result of it.
01:05:55 <oerjan> partial tones is essentially the result of Fourier transforming any period signal - it is pure mathematics.
01:06:02 <SevenInchBread> and a harmonic is caused by the vibrations of the string on the other side of your finger... which may or may not happen (and has a very likely chance of occuring on certain frets)
01:06:21 -!- oklopol has quit (Read error: 104 (Connection reset by peer)).
01:06:50 <oerjan> essentially any periodic signal is the sum of a series of sine-like waves with periods that are fractions of the big one.
01:07:23 -!- oklofok has joined.
01:08:45 -!- oklofok has changed nick to oklopol.
01:08:58 <oerjan> partial tones is essentially the result of Fourier transforming any period signal - it is pure mathematics.
01:09:01 <oerjan> essentially any periodic signal is the sum of a series of sine-like waves with periods that are fractions of the big one.
01:09:02 -!- crathman has joined.
01:09:16 <oklopol> that's what i was trying to say earlier
01:09:54 <oklopol> i just don't know fourier... except it's another trivial thing someone named after themselves because they were the first to publish the idea
01:10:06 <SevenInchBread> yes, unsurprisingly, the mathematics behind music is pure mathematics... however there's obviously something missing from a mathematical model.
01:10:18 <oklopol> there is a lot missing from it
01:10:37 <oklopol> there is no mathematics behind music yet, i mean no popular theories
01:10:41 -!- crathman has quit (Connection reset by peer).
01:10:55 -!- crathman__ has joined.
01:10:57 -!- crathman__ has changed nick to crathman.
01:10:59 <oklopol> there is wave theory but that's trivial
01:11:35 <oklopol> anyways, functions can't represent waves that well
01:11:44 <oklopol> i have a brilliant idea for the music lang
01:11:53 <oklopol> but it's not in it's final form yet
01:12:02 <oklopol> and requires some learning
01:12:15 <oerjan> heh the earlier mention of list slicing syntax:
01:12:31 <oklopol> it's basically you can use a function as a list of all it's values... but a bit different
01:12:47 <SevenInchBread> I think you could use coroutines to effect the iteration of the wave function in subtle ways... based on certain conditions (i.e. previous notes).
01:12:52 <oerjan> You _could_ do map (list !!) [10..20] in Haskell, but it would be horribly inefficient.
01:12:54 <oklopol> makes certain things handy... i wish i had more time :\
01:13:14 <oklopol> SevenInchBread yeah, it's kinda like that
01:13:24 <oklopol> you do a continuation for the wave
01:13:29 <oklopol> then generalize it into a note
01:13:46 <oklopol> since these things are always used the same way i'll insert them into the language
01:14:12 <SevenInchBread> like for string instruments there's a natural descrease in amplitute... it starts off very sharp and then dies down in profressively more gradual steps.
01:14:26 <oklopol> if you know the language well, it's a perfect composition tool assuming i get the playing without wav files working
01:14:30 <SevenInchBread> so you feed values into the coroutine to create that change.
01:14:38 <oklopol> but you can also play with harmonics etc easily
01:14:59 <oklopol> that's basically what i'll insert into the language
01:15:14 <oklopol> you have maths for sine wave so that basically you only change the derivative
01:15:27 <oklopol> as if you were just calcing more values to a list
01:15:45 <oklopol> it's all calculated to a simple sine function that just changes over time
01:16:13 <oklopol> i don't know if that makes sence, i'm not good at explaining my thoughts
01:17:05 <SevenInchBread> and to handle the addition we shall isntantiate WaveHandlerHandlers.
01:17:23 <oklopol> you know the bad thing is you have to understand math to make a wave gradually decrease in pinch
01:17:40 <oklopol> but with changing the derivative only it's a trivial mental task
01:18:21 <oklopol> i'd need paper at this point...
01:18:47 <oklopol> if the wave slows down at a certain rate, there are errors if you only change the pitch
01:19:02 -!- crathman has quit ("Chatzilla 0.9.77 [Firefox 2.0.0.1/2006120418]").
01:19:35 <oklopol> it needs no language support
01:20:02 <oklopol> that you can do with power or 1/x
01:20:26 <oklopol> changing pitch at a rapid rate on the other hand is complicated
01:20:42 <oklopol> and i have _some_ methods of making it easy to do
01:21:06 <oklopol> i'm saying it is complex to make pitch change over time
01:21:15 <SevenInchBread> well... lets's figure out why the change in pitch occurs.
01:21:20 <oklopol> amplitude is of course not
01:21:51 <oklopol> ...because the programmer wants it to?
01:22:24 <SevenInchBread> I think you could use a combination of math and some randomality to make it sound more natural.
01:22:44 <oklopol> yes, randomality is another thing of complexity
01:22:53 <SevenInchBread> I mean... what occurs in the instrument to make rapid pitch changes... and how does it effect the wave if we were to slow it down.
01:23:03 <SevenInchBread> the best way is to simply look at some waves in action. :)
01:23:33 <oklopol> because not only separate values of the wave change randomly - that leads to white noise on the backround - you have to change the pitch and amplitude randomly
01:24:06 <oklopol> well, you can deduce the math for changing pitch on the fly
01:24:39 <oklopol> i've been designing this 2d-music generator where you make blocks more in patterns you specify
01:25:07 <SevenInchBread> depending on the instrument... and how you transition between notes.
01:25:08 <oklopol> and little circles bounce around making waves that - when hit the ceiling - produce sound
01:25:16 <SevenInchBread> there's going to be some interplay of multiple pitches going on
01:25:28 <oklopol> yes, as oerjan said earlier
01:27:11 <oklopol> you mean when changing pitch?
01:27:24 <SevenInchBread> hmmm... I bet Erland would be good for this kind of job...
01:28:41 <oklopol> except of course notes refer to an abstraction of pitch where the growth has been changed to fit the working of the human ear
01:28:45 -!- ShadowHntr has joined.
01:29:37 <SevenInchBread> the speed of change in a slurred note from one pitch to the next would be based on the physical distance between the two notes and when the next note needs to played.
01:30:09 <oklopol> pitch n = 440 * (2^(n/12)), where n is the distance between "a" and the wanted note in half-steps
01:30:36 <SevenInchBread> assuming we're on guitar... the pitches would change in stair-case like manner...
01:32:15 <SevenInchBread> when you slide across the strings really fast.. it makes a shrill little screech.
01:32:30 <oklopol> that i'm not familiar with
01:32:47 <oklopol> that's not really a guitar thing... random noise
01:33:03 <oklopol> you could implement smashing the quitar then as well :P
01:33:37 <SevenInchBread> the only way to produce natural-sounding music is to take into the account the dynamics between notes... and the transitions... rather than having a single value for each note.
01:34:14 <SevenInchBread> and the clicking of the pick... a function of the picks density, the material used, the speed of the thrust, the thickness and the number of the strings.
01:34:49 <oklopol> well, i don't care about real life
01:35:14 <oklopol> it does not have to sound like a guitar if you ask me
01:56:18 -!- ihope has joined.
02:19:20 <ihope> Stop using the calendar as toilet paper.
02:19:38 <oerjan> and stay away from fans.
02:20:12 <ihope> Especially if you're in North Korea.
02:22:39 <ihope> Anyway, about those ordinal numbers...
02:26:48 <ihope> Well, grok them yet?
02:46:36 -!- oerjan has quit ("leaving").
03:09:50 -!- SevenInchBread has quit (Read error: 113 (No route to host)).
03:10:52 -!- ihope has quit (Read error: 54 (Connection reset by peer)).
03:42:38 -!- meatmanek has joined.
03:44:45 -!- oerjan has joined.
03:54:37 <oerjan> alternatively, \g.SII(\f.g (f f))
04:08:14 -!- ooooo has quit (Nick collision from services.).
04:15:02 <bsmntbombdood> !bf ++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.>+.+++++++..+++.>++.<<+++++++++++++++.>.+++.------.--------.>+.>.
04:15:29 <oerjan> hey egobot, long time no see
05:01:26 -!- wooby has joined.
05:42:42 -!- oerjan has quit ("leaving").
05:51:59 -!- ShadowHntr has quit ("End of line.").
05:57:57 -!- Sgeo has quit (Remote closed the connection).
06:20:38 -!- Arrogant has joined.
06:22:33 -!- digital_me has quit (Read error: 110 (Connection timed out)).
06:25:35 -!- goban has quit ("Konversation terminated!").
06:29:15 -!- goban has joined.
06:44:19 -!- goban has quit ("Konversation terminated!").
06:48:24 -!- goban has joined.
06:51:05 -!- Arrogant has quit ("Leaving").
07:17:37 -!- goban has quit (Remote closed the connection).
07:18:04 -!- goban has joined.
07:50:13 -!- puzzlet has quit (Read error: 145 (Connection timed out)).
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:01:14 -!- GreaseMonkey has joined.
08:01:47 <GreaseMonkey> Uryyb rirelbar! V whfg znqr n EBG13 rapbqre/qrpbqre :Q
08:02:30 <GreaseMonkey> man ROT13 is fun once you have a decoder/encoder
08:03:03 <wooby> :Q is a funny emote
08:03:27 <wooby> person holding magnifying glass to mouth / person smoking
08:03:28 -!- puzzlet has joined.
08:07:01 <GreaseMonkey> http://pastebin.ca/363217 <-- my encoder/decoder
08:09:53 <GreaseMonkey> 29 lines of C code. converts fast apart from the console routines
08:11:07 <wooby> GreaseMonkey: nice
08:11:11 <wooby> i shall attempt a shorter one :)
08:11:16 <GreaseMonkey> oh, and btw, i managed to beat hackthissite.org's permanent programming challenge
08:11:49 <GreaseMonkey> excluding includes and blank lines, 25 lines of code.
08:15:36 <GreaseMonkey> my code for perm programming challenge 1 basically got a count of every instance of every letter in every word in the wordlist and the 10 strings, and compared them one-by-one
08:22:14 -!- nazgjunk has joined.
08:22:17 -!- nooga has joined.
08:23:32 <nooga> Zmglvgs bvvamgrt ;p
08:28:33 -!- puzzlet has quit (Read error: 104 (Connection reset by peer)).
08:28:51 -!- puzzlet has joined.
08:49:28 <wooby> http://pastebin.ca/363277
08:53:13 -!- GreaseMonkey has quit (Read error: 110 (Connection timed out)).
09:01:31 <wooby> an attempt without a lookup table
10:02:29 -!- UpTheDownstair has joined.
10:02:53 -!- nazgjunk has quit (Read error: 54 (Connection reset by peer)).
10:03:42 -!- UpTheDownstair has changed nick to nazgjunk.
10:08:22 <wooby> main(a){while(a=~getchar())putchar(~a-1/(~(a|32)/13*2-11)*13);}
10:15:42 -!- nazgjunk has quit ("Bi-la Kaifa").
10:22:48 -!- voodooattack has joined.
11:12:48 -!- oklofok has joined.
11:23:31 -!- oklopol has quit (Read error: 110 (Connection timed out)).
12:02:35 -!- wooby has quit.
13:37:45 -!- Keymaker has joined.
13:40:28 <Keymaker> if anyone's interested (at some time someone here was, can't remember who), here's a solution to the prolan/m problem in IOI 1990, sum.prm :) i finally got around finishing it
13:40:30 <Keymaker> http://koti.mbnet.fi/yiap/programs/miscellaneous/SUM.PRM
13:41:23 <Keymaker> oh, run it in that javascript interpreter, the c interpreter has some weird bug in it
13:44:11 -!- Keymaker has left (?).
13:44:30 <oklofok> nooga, finally, i made the quicksort
13:44:48 <oklofok> and the other thing... don't remember
13:44:51 -!- oklofok has changed nick to oklopol.
13:50:09 -!- Keymaker has joined.
13:58:31 <Keymaker> i just noticed that the program also works with more than two numbers it was designed to work with (as the competition required it to sum only two numbers)! this is completely unintentional, yet of course a good thing. :) all my tests with more input numbers worked, but can't say everything works, as it wasn't designed so. however every two-number input should work
13:59:41 -!- anonfunc has joined.
14:00:04 <Keymaker> and yeah, the input is given like "43+51=?", as defined in that competition
14:00:22 -!- Keymaker has quit.
14:55:02 -!- nazgjunk has joined.
14:58:16 -!- anonfunc has quit.
14:58:53 -!- jix__ has joined.
15:35:33 -!- crathman has joined.
16:02:37 -!- helios24 has quit ("Leaving").
16:02:40 -!- helios24 has joined.
16:27:46 -!- UpTheDownstair has joined.
16:36:11 -!- UpTheDownstair has quit (Operation timed out).
16:40:05 -!- jix__ has changed nick to jix.
16:44:23 -!- nazgjunk has quit (Connection timed out).
16:55:22 -!- nazgjunk has joined.
17:00:32 -!- tgwizard has joined.
17:02:13 -!- goban has quit (Read error: 104 (Connection reset by peer)).
17:02:28 -!- goban has joined.
17:12:40 -!- goban has quit (Read error: 104 (Connection reset by peer)).
17:12:55 -!- goban has joined.
17:16:59 -!- goban has quit (Connection reset by peer).
17:17:14 -!- goban has joined.
17:20:27 -!- SevenInchBread has joined.
17:56:03 -!- FabioNET has joined.
17:58:45 -!- digital_me has joined.
18:02:56 -!- goban has quit (Connection timed out).
18:06:01 -!- goban has joined.
18:23:07 -!- Sgeo has joined.
18:27:51 -!- calamari has joined.
18:45:05 -!- ShadowHntr has joined.
18:45:21 -!- sebbu has joined.
18:49:21 -!- sebbu2 has joined.
19:00:47 -!- sebbu has quit (Read error: 104 (Connection reset by peer)).
19:05:38 -!- _FabioNET_ has joined.
19:06:05 -!- _FabioNET_ has quit (Read error: 104 (Connection reset by peer)).
19:09:41 -!- FabioNET has quit (Read error: 110 (Connection timed out)).
19:18:25 -!- FabioNET has joined.
19:22:33 -!- helios_ has joined.
19:22:34 -!- helios24 has quit (Read error: 54 (Connection reset by peer)).
19:28:42 -!- helios_ has changed nick to helios.
19:28:51 -!- helios has changed nick to helios24.
19:35:46 -!- FabioNET has quit (Remote closed the connection).
19:59:26 -!- tgwizard has quit (Read error: 110 (Connection timed out)).
20:07:58 -!- calamari has quit ("Leaving").
20:11:37 -!- UpTheDownstair has joined.
20:11:41 -!- nazgjunk has quit (Read error: 54 (Connection reset by peer)).
20:20:15 -!- FabioNET has joined.
20:34:46 -!- helios24 has quit ("Leaving").
21:08:35 -!- kxspxr has joined.
21:12:42 <SevenInchBread> pfft... if he weren't writing it in C he would have saved some time. :P
21:22:19 -!- UpTheDownstair has changed nick to nazgjunk.
21:23:28 <bsmntbombdood> for i in range(500): print "I will not throw paper airplanes in class"
21:25:02 <voodooattack> for i as integer = 0 to 500:print "I will not throw paper airplanes in class":next
21:26:25 <SevenInchBread> print "I will not throw paper airplanes in class" * 500
21:26:29 <SevenInchBread> print "I will not throw paper airplanes in class\n" * 500
21:27:27 <SevenInchBread> hurray for string multiplication and its aid to spammers worldwide.
21:27:45 <bsmntbombdood> ~exec sys.stdout("I will not throw paper airplanes in class\n" * 3)
21:27:47 <bsmnt_bot> I will not throw paper airplanes in class
21:27:47 <bsmnt_bot> I will not throw paper airplanes in class
21:27:47 <bsmnt_bot> I will not throw paper airplanes in class
21:29:03 <voodooattack> do:var i=0:print "I will not throw paper airplanes in class":i+=1:loop while i<500
21:30:13 <bsmnt_bot> <__main__.IRCbot instance at 0xb7c3206c>
21:30:57 <bsmnt_bot> ['COMMAND_CHAR', 'THREADING', '__doc__', '__init__', '__module__', 'chan', 'commands_running', 'commands_running_lock', 'connect', 'connected', 'disconnect', 'do_callbacks', 'do_ctcp', 'do_exec', 'do_kill', 'do_ps', 'do_quit', 'do_raw', 'errorchan', 'exec_execer', 'get_message', 'host', 'ident', 'ihope', 'listen', 'load_callbacks', 'message_re', 'nick', 'owner', 'pong', 'p
21:30:58 <bsmnt_bot> ort', 'print_callbacks', 'raw', 'raw_regex_queue', 'readbuffer', 'realname', 'register_raw', 'save_callbacks', 'socket', 'sockfile', 'verbose']
21:33:01 -!- bsmnt_bot has quit.
21:33:05 -!- bsmnt_bot has joined.
21:33:13 <bsmnt_bot> ('^:bsmntbombdood!\\S*gavin@\\S* PRIVMSG \\S* :~quit ?(.*)', 'do_quit'),
21:33:13 <bsmnt_bot> ('^:bsmntbombdood!\\S*gavin@\\S* PRIVMSG \\S* :~raw (.*)', 'do_raw'),
21:33:13 <bsmnt_bot> ('^\\S+ PRIVMSG \\S+ :~ctcp (\\S+) (.+)', 'do_ctcp'),
21:33:14 <bsmnt_bot> ('^:bsmntbombdood!\\S*gavin@\\S* PRIVMSG (\\S*) :~pexec (.*)', 'do_exec'),
21:33:15 <bsmnt_bot> ('\\S+ PRIVMSG (#esoteric|#baadf00d|#bsmnt_bot_errors) :~exec (.*)',
21:33:17 <bsmnt_bot> ('\\S+ PRIVMSG \\S+ :~ps', 'do_ps'),
21:33:19 <bsmnt_bot> ('^:bsmntbombdood!\\S*gavin@\\S* PRIVMSG \\S* :~kill (.*)', 'do_kill'),
21:33:21 <bsmnt_bot> ('^ERROR :Closing Link:.*', '<lambda>')]
21:38:24 <SevenInchBread> ~exec shouldA = lambda char: char in __import__("string").letters; trans = {"?":"!?!?", "!":"!!!",".":"!"}; Achar = lambda char: trans.get(char, (char,"A")[shouldA(char)]); self.AAAAAAAAA = lambda stuff: "".join(map(Achar, stuff)) + "!"
21:38:25 -!- goban has quit (Remote closed the connection).
21:38:34 -!- goban has joined.
21:39:21 <SevenInchBread> ~exec sys.stdout.write(self.AAAAAAAA("bsmnt is a terrible bucket cleaner!?"))
21:39:39 <SevenInchBread> ~exec sys.stdout.write(self.AAAAAAAAA("bsmnt is a terrible bucket cleaner!?"))
21:40:27 <SevenInchBread> bsmntboobdood, your hackish thread thing doesn't update the global scope.
21:40:52 <SevenInchBread> or... for that matter... it's making closures mess up.
21:42:12 <SevenInchBread> ~exec self.shouldA = lambda char: char in __import__("string").letters; self.trans = {"?":"!?!?", "!":"!!!",".":"!"}; self.Achar = lambda char: self.trans.get(char, (char,"A")[self.shouldA(char)]); self.AAAAAAAAA = lambda stuff: "".join(map(self.Achar, stuff)) + "!"
21:42:15 <SevenInchBread> ~exec sys.stdout.write(self.AAAAAAAAA("bsmnt is a terrible bucket cleaner!?"))
21:42:52 <SevenInchBread> ~exec self.shouldA = lambda self,char: char in __import__("string").letters; self.trans = {"?":"!?!?", "!":"!!!",".":"!"}; self.Achar = lambda self,char: self.trans.get(char, (char,"A")[self.shouldA(char)]); self.AAAAAAAAA = lambda self,stuff: "".join(map(self.Achar, stuff)) + "!"
21:42:54 <SevenInchBread> ~exec sys.stdout.write(self.AAAAAAAAA("bsmnt is a terrible bucket cleaner!?"))
21:44:05 -!- jix has quit ("Bitte waehlen Sie eine Beerdigungnachricht").
21:47:34 <bsmntbombdood> ~exec for i in xrange(100): self.raw("PRIVMSG #bsmnt_bot_errors :%s" % i); time.sleep(1)
21:47:34 -!- goban has quit (Operation timed out).
21:47:37 -!- goban has joined.
21:49:07 -!- bsmnt_bot has quit (Excess Flood).
21:49:10 -!- bsmnt_bot has joined.
21:55:28 -!- bsmnt_bot has quit (Excess Flood).
21:55:30 -!- bsmnt_bot has joined.
22:04:12 -!- calamari has joined.
22:06:03 -!- voodooattack has quit.
22:24:49 -!- goban has quit (Read error: 60 (Operation timed out)).
22:28:33 -!- goban has joined.
22:29:08 -!- ShadowHntr has quit (Read error: 104 (Connection reset by peer)).
22:43:24 -!- goban has quit (Operation timed out).
22:43:34 -!- goban has joined.
23:02:13 -!- calamari has quit ("Leaving").
23:04:30 -!- FabioNET has quit (Client Quit).
23:08:16 -!- UpTheDownstair has joined.
23:08:28 -!- nazgjunk has quit (Read error: 104 (Connection reset by peer)).
23:10:17 -!- UpTheDownstair has changed nick to nazgjunk.
23:37:31 -!- crathman has quit (Read error: 113 (No route to host)).
23:37:34 -!- nazgjunk has quit (Read error: 104 (Connection reset by peer)).
23:41:10 <GregorR> Y'know what would be awesome?
23:42:54 <GregorR> Pneumatic AND/OR gates are possible, right?