00:00:05 C C# D D# E F F# G G# A B B# if that is right in English. 00:00:20 almost 00:00:37 Or do they use H for B# too? 00:00:41 C C# D D# E F F# G G# A A# B is english 00:00:44 no 00:00:48 oh 00:00:51 sorry :) 00:00:54 they do 00:00:58 too many standards 00:01:02 wait, I got that backwards 00:01:07 and all of them too crappy to use 00:01:18 better look it up 00:01:19 wow... I didn't even realize there was another standard. 00:01:24 aah 00:01:27 Bb B 00:01:31 Bb is A# 00:01:39 right. 00:01:41 it was you who misguided me :P 00:01:47 why don't we just use like... 12 letters? 00:01:59 so we don't have to deal with those missing half-tones. 00:02:05 in Norwegian at least, for historical reasons Bb is B while B is H 00:02:05 because pythagoras was an idiot 00:02:09 or pascal 00:02:12 i can't remember :) 00:02:15 typographical reasons, in fact. 00:02:26 in finnish too 00:02:31 i don't know the reasons 00:02:35 please tell me 00:03:03 They were written as different font versions of B, and one of them resembled H... 00:03:18 so eventually turned into it. 00:03:20 base 24 if we wanted to include some microtones.. 00:03:37 you hear them? 00:04:00 eh... there's a subtle difference. 00:04:04 it's common in Indian music 00:04:09 i don't hear clearly other than 12, since i didn't hear them early enough 00:04:09 i know 00:04:29 note ear i one thing you only learn young (note ear?) 00:04:55 It's 7 because that is how many there are in a single scale 00:05:11 yeah, but it's a stupid system 00:06:49 i should make my music language... then i could start playing with automatic music generation 00:06:59 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 that's pretty no-man's-land 00:07:18 yeah... Western music is based on harmony. 00:07:43 wouter's page has a nice article on that 00:07:45 yeah... I had an idea for a rhythm-based language... that broke up a beats into infinitely-divisible sub beats... 00:07:48 i mean 00:07:51 the scales 00:08:04 even on a finite tape of memory its theoretically infinite due to fractional divisions 00:08:19 but the whole scale thing is just a too-far-gone abstraction... 00:08:40 hm... brainfuck with an infinitely divisible tape might be something 00:09:05 well.. 00:09:27 you could use the numbers to represent microtones. 00:09:37 and have a finite limit to the tape. 00:10:02 divisions just "expand" the tape... as things kind of break down 00:14:13 You mean http://wouter.fov120.com/rants/hertz_12notes.html ? 00:14:35 yeah 00:14:51 the only rational thing i've heard said about numbers 00:14:56 okay 00:14:59 not the only on 00:15:00 *on 00:15:03 *one 00:15:13 but most musicians have no idea... about anything 00:15:50 it's hard explaining why a riff is good if ppl can't understand it's mathematical idea 00:16:09 wouter of course talked about a different thing that riffs etc 00:16:18 but scales instead 00:16:34 though it's a lot similat 00:16:36 *r 00:19:28 well, of course what has a good idea always sounds good 00:22:37 it's a fairly context sensitive means of expression... 00:23:02 If we just used instruments capable of bending across any number of frequencies... you'd have the full range of options... 00:23:25 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:23:42 stalbe means? 00:24:23 ...stable 00:24:45 the frets serve as landmarks... but most of the tones are somewhere inbetween. 00:25:03 can't do that with a piano... which always has an exact tone for an exact position. 00:25:21 you can do that with most instruments 00:25:24 but you never do 00:25:30 in western music 00:25:41 yeah. 00:26:05 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 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 styles, I guess... both genres center heavily on the penatonic. 00:27:41 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 that's true... istars are usually one note at a time, with the resonating strings usually doing octaves. 00:28:38 indeed, it gets too complicated otherwise 00:28:41 -!- wooby has quit. 00:28:41 for the ear 00:28:53 i've always liked dissonance though 00:28:54 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 my piano teacher always yelled at me when i played tritonus all the time in my compositions 00:29:41 hmm... 00:30:06 it would be interesting to find some way to represent near-human-like performances via something like a programming language. 00:30:34 you mean like... make the computer sound like a human playing? 00:30:42 like... you could create frequency abstractions... rhythm abstractions... melodic patterns (and a way to make slight changes to that pattern)... 00:30:51 yeah. 00:31:16 dl quitar pro 5 and see how good the technology is today... 00:31:19 very minute changes patterns. 00:31:37 everything is recorded from real instruments and it sounds terrible 00:31:40 ( 00:31:54 (though prolly not the best possible program for it...) 00:31:55 * SevenInchBread is kind of fuzzy on how sound is encoded. 00:32:04 wav 00:32:12 uses 0...255 values 00:32:15 just raw in there 00:32:27 and there is this tiny thingie in the loudspeaker 00:32:38 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:32:45 ah... so wav is like the bitmap of sound files. :) 00:33:00 and at certain intervals it takes the next number and moves the thingien in there in the right place 00:33:01 yes 00:33:05 exactly 00:33:31 mp3 uses something very mathematical and clever, but everything is always reduced to wav when playing 00:33:50 since the physical way to represent sound in a loudspeaker is done like that 00:34:02 with a moving thingie 00:34:04 hmm... so if you could make abstractions of all the various musical patterns (rhythm, harmony, melody, timbre(?)) 00:34:40 i don't care about sound that much, i'm more interested in melody 00:34:49 i mean, mathematically at least 00:35:01 but 00:35:11 I want to create worthwhile music with nothing but a computer program... basically. 00:36:02 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:03 sorry 00:36:06 880 times a second 00:36:28 since 0 255 is one wave only 00:36:41 you get it? 00:36:49 usually it's 44000 b/s 00:36:53 *B 00:37:24 so you do 50 0's, then 50 255's, then 50 0's etc to make the "a" note 00:37:41 but it wouldn't sound very good... 00:37:55 if you don't like square 00:38:19 you would need very very very subtle changes in the frequency... to make it sounds good. 00:38:22 square is used in old games and a the base of a few soloish tunes of a synthesizer 00:38:29 *tunes -> sounds 00:38:43 and i like it, but 00:38:49 you can use a sine wave 00:38:55 I'm looking for natural sounds. :) 00:38:59 so yeah 00:39:01 a sine wave 00:39:04 that is done - suprisingly - with a sin() 00:39:12 or like... some sort of imaginary number oscillator thing? 00:39:20 sin(t*something) 00:39:21 yeah 00:39:43 t meaning we are playing the t:t'h time step of the note 00:39:52 but even then... that's going to be a very very steady wave... hardly "the real deal". 00:40:02 natural sounds are done with addition of sine waves and random generation 00:40:10 and i don't care about it that much 00:40:16 so i can't tell you a lot about is 00:40:18 *it 00:40:22 maybe some dynamical systems stuff? 00:40:28 ? 00:40:47 chaos theoy, fractals, etc? 00:40:57 you can't make natural sounds since NO ONE has EVER been able to do them 00:41:00 period. 00:41:12 ...then I'll make unnatural natural sounds. 00:41:16 :) 00:41:18 you can record them and clone them as you wish 00:41:25 but it's the same as cloning humans 00:41:41 it works but how it really works is unknown 00:41:59 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 simulate the release of air from vocal chords pressing against a microphone.. etc 00:42:28 you can make a continuation in python that returns values for the thingie (0-255) one step at the time 00:42:36 and use it to fill a wav file 00:42:38 and play it 00:42:40 yeah yeah... I get how that would work. 00:42:57 with some couroutinal crap you could send in some input for mild alterations based on surrounding stuff. 00:43:03 i did a random music generator once :P 00:43:11 it randomized the tone and the melody 00:43:11 ....how'd that go? 00:43:25 i liked the melodies... no one else did 00:44:13 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:19 so i made it in a bad way 00:44:24 It would be cool to apply some fractal-like mathematic stuff... 00:44:28 that's vague but... 00:44:29 yeah 00:44:44 i randomized a sequence for the thingie, not a mathematical formula for the sine waves 00:44:51 so it rarely randomised good tones 00:45:14 ah 00:45:25 you used a random sample of some typical tones? 00:45:32 like... the notes? 00:45:43 or was it just... totally random byte values? 00:46:12 yeah, oklopol is just really fond of white noise :) 00:46:15 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 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 so it has some coolness in it 00:47:18 but, i must confess, i like white noice 00:48:16 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:20 and i like it 00:48:24 I don't know why it never occured to me that I could play around with sound using programs. 00:48:25 mmmmmmh it's nice 00:48:28 being the huge music nut I am... 00:48:44 * SevenInchBread goes off to learn some basic stuff. 00:48:50 yeah, i love to find out i've actually done stuff in the past 00:49:11 with a bad memory like me you often get a feeling you've wasted 17 years and archieved nothing 00:49:16 hmmm... maybe a BF-like language that does something with sine waves? 00:49:35 i've been designing brainsick 00:49:49 brAInSICk that is 00:50:00 *BrAinSICk 00:50:03 anyway 00:50:23 brainfuck with everything in it, music, 3d graphics, networking, gui, etc 00:50:27 but only brainfuck 00:51:23 eh 00:51:24 actualy 00:51:26 *ll 00:51:48 i once made a language for creating music... i don't think i ever finished it 00:53:02 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 just now == 4 months or smth 00:53:48 i've done a lot of interpreters, always used one data class with a void pointer and enum for type :D 00:53:55 very oo... 00:54:09 maybe i'll stop the monolog and go to sleep 00:54:13 -----------------------> 00:56:08 ...I don't like C++ 00:56:36 hrm... I'm a bit rusty on my wave physics / mathematical represenatations of that. 00:57:11 hmm 00:57:22 if you have two wave functions going over the same medium... they usually add together right? 00:57:36 if the mediam is at 0 00:57:51 superposition, yes i think so 00:57:59 yeah... that's right 00:58:02 yes 00:58:44 of course.... there's more to it than that. 00:59:02 what? 00:59:14 string instruments produce standing waves, harmonics, fundamental frequency, partial tones etc 00:59:30 hmm 00:59:38 standing waves are the same thing 00:59:53 because we only consider the wave, not how it begins 00:59:56 *is created 01:00:14 harmonics -> result of the addition 01:00:16 ah yeah... 01:00:33 fundamental frequency 01:00:34 hmm 01:00:36 the standing wave is the result of the original wave being plcuked and reflrected across the string. 01:00:41 i don't know what that is 01:00:42 which results in... all of that occuring naturally. 01:00:59 yes, it results in a wave in air :) 01:01:28 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 partial tones: actual_note sin(n) = sin(n) + 1/2*sin(n*2^(7/12)) + 1/4*sin(2n) 01:02:29 ...I don't know Haskell.. 01:02:45 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:52 that wasn't haskell 01:02:55 hmmm... oh that's neat... Haskell can define functions implicitly? 01:03:01 haskell couldn't understand that 01:03:12 but, yes 01:03:28 if i understand what you mean 01:04:05 well see... I'm trying to get more than just the note here.. 01:04:09 it's nearly correct Haskell, just change ^ to ** and add a missing * I think 01:04:22 yeah, prolly 01:04:29 but it's not what i meant :) 01:04:32 hmm 01:04:32 you start off with a simple wave... from plucking... which oscilates and reflects over itself. 01:04:37 might be haskellish :P 01:04:39 indeed 01:05:02 I want the sound of that initial startoff too... not just the result of it. 01:05:55 partial tones is essentially the result of Fourier transforming any period signal - it is pure mathematics. 01:06:02 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 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:40 did i miss a lot? 01:08:45 -!- oklofok has changed nick to oklopol. 01:08:56 you may have missed: 01:08:58 partial tones is essentially the result of Fourier transforming any period signal - it is pure mathematics. 01:09:01 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:08 yeah 01:09:16 that's what i was trying to say earlier 01:09:54 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 yes, unsurprisingly, the mathematics behind music is pure mathematics... however there's obviously something missing from a mathematical model. 01:10:18 there is a lot missing from it 01:10:37 there is no mathematics behind music yet, i mean no popular theories 01:10:41 -!- crathman has quit (Connection reset by peer). 01:10:44 i've not found at least 01:10:55 -!- crathman__ has joined. 01:10:57 -!- crathman__ has changed nick to crathman. 01:10:59 there is wave theory but that's trivial 01:11:35 anyways, functions can't represent waves that well 01:11:44 i have a brilliant idea for the music lang 01:11:53 but it's not in it's final form yet 01:12:02 and requires some learning 01:12:15 heh the earlier mention of list slicing syntax: 01:12:31 it's basically you can use a function as a list of all it's values... but a bit different 01:12:47 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 You _could_ do map (list !!) [10..20] in Haskell, but it would be horribly inefficient. 01:12:54 makes certain things handy... i wish i had more time :\ 01:13:14 SevenInchBread yeah, it's kinda like that 01:13:24 you do a continuation for the wave 01:13:29 then generalize it into a note 01:13:46 since these things are always used the same way i'll insert them into the language 01:14:12 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 if you know the language well, it's a perfect composition tool assuming i get the playing without wav files working 01:14:30 so you feed values into the coroutine to create that change. 01:14:38 but you can also play with harmonics etc easily 01:14:46 yeah 01:14:59 that's basically what i'll insert into the language 01:15:14 you have maths for sine wave so that basically you only change the derivative 01:15:27 as if you were just calcing more values to a list 01:15:28 BUT 01:15:45 it's all calculated to a simple sine function that just changes over time 01:15:52 hmm 01:16:13 i don't know if that makes sence, i'm not good at explaining my thoughts 01:16:38 heh... OO SHALL SAVE US 01:16:41 MAKE WAVE OBJECTS 01:16:48 AND ADD THEM TOGETHER WITH THE __ADD__ FUNCTION 01:17:05 and to handle the addition we shall isntantiate WaveHandlerHandlers. 01:17:21 to the WaveHandlerHandlerMetaclass as a metaclass 01:17:23 you know the bad thing is you have to understand math to make a wave gradually decrease in pinch 01:17:37 sounds like a square root. 01:17:40 but with changing the derivative only it's a trivial mental task 01:18:04 SevenInchBread what does? 01:18:05 a square root function thing over the amplitude. 01:18:09 eh 01:18:11 hmm 01:18:21 i'd need paper at this point... 01:18:24 anyway 01:18:39 http://en.wikipedia.org/wiki/Image:Square_root.png 01:18:47 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:13 amplitude... not pitch. 01:19:29 amplitude is trivial 01:19:35 it needs no language support 01:20:02 that you can do with power or 1/x 01:20:26 changing pitch at a rapid rate on the other hand is complicated 01:20:33 ....what are you talking about? 01:20:39 I'm just talking about in general... making waves. 01:20:42 and i have _some_ methods of making it easy to do 01:21:06 i'm saying it is complex to make pitch change over time 01:21:15 well... lets's figure out why the change in pitch occurs. 01:21:20 amplitude is of course not 01:21:51 ...because the programmer wants it to? 01:22:24 I think you could use a combination of math and some randomality to make it sound more natural. 01:22:44 yes, randomality is another thing of complexity 01:22:53 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 the best way is to simply look at some waves in action. :) 01:23:33 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 well, you can deduce the math for changing pitch on the fly 01:24:39 i've been designing this 2d-music generator where you make blocks more in patterns you specify 01:24:46 og... duh. 01:24:52 they're totally different waves. 01:25:07 depending on the instrument... and how you transition between notes. 01:25:08 and little circles bounce around making waves that - when hit the ceiling - produce sound 01:25:16 there's going to be some interplay of multiple pitches going on 01:25:28 yes, as oerjan said earlier 01:26:08 partial tones exactly 01:27:11 you mean when changing pitch? 01:27:24 hmmm... I bet Erland would be good for this kind of job... 01:27:30 ...Erlang 01:27:38 :P 01:27:48 yeah... when changing pitch. 01:27:50 like... notes 01:27:57 yeah, same thing 01:28:22 OH. 01:28:24 hmm... 01:28:41 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 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:03 not always... but something close to that. 01:30:09 pitch n = 440 * (2^(n/12)), where n is the distance between "a" and the wanted note in half-steps 01:30:25 that's the difference 01:30:36 assuming we're on guitar... the pitches would change in stair-case like manner... 01:30:50 yeah 01:30:51 because of well... the frets. 01:31:28 heh... and then there's the squeek. :) 01:31:35 hmm? 01:31:47 guitar squeeks :) 01:32:02 aah 01:32:05 harmonics 01:32:15 when you slide across the strings really fast.. it makes a shrill little screech. 01:32:17 confusing term 01:32:23 oh 01:32:30 that i'm not familiar with 01:32:33 ah 01:32:34 okay 01:32:37 now i see 01:32:47 that's not really a guitar thing... random noise 01:32:49 It's just background noise. 01:33:03 you could implement smashing the quitar then as well :P 01:33:08 *into a wall 01:33:37 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:33:45 you could. 01:34:14 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:14 yes 01:34:21 ... 01:34:30 * SevenInchBread is obviously stumbling off into semi-sarcasm. 01:34:49 well, i don't care about real life 01:35:14 it does not have to sound like a guitar if you ask me 01:35:23 or natural 01:35:34 by the way... sleep -> 01:35:59 sweet dreams 01:36:06 sure! -> 01:36:07 -> 01:56:18 -!- ihope has joined. 02:18:51 crappy day 02:19:20 Stop using the calendar as toilet paper. 02:19:22 (...) 02:19:38 and stay away from fans. 02:19:42 just in case. 02:20:12 Especially if you're in North Korea. 02:20:13 justin case is a loser 02:20:25 Justin Case, eh? 02:22:39 Anyway, about those ordinal numbers... 02:25:13 oh god 02:26:04 :-P 02:26:24 yes? 02:26:48 Well, grok them yet? 02:27:08 i don't know and i don't care right now 02:27:39 i already know enough 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:50:43 Y = SII(\f.\g.g ((f f) g)) right? 03:51:50 seems right 03:54:37 alternatively, \g.SII(\f.g (f f)) 03:56:07 no 03:56:32 ? 03:58:12 oh 03:58:14 yeah 03:58:17 sorry 04:08:14 -!- ooooo has quit (Nick collision from services.). 04:15:02 !bf ++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.>+.+++++++..+++.>++.<<+++++++++++++++.>.+++.------.--------.>+.>. 04:15:05 Hello World! 04:15:29 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 Uryyb rirelbar! V whfg znqr n EBG13 rapbqre/qrpbqre :Q 08:02:30 man ROT13 is fun once you have a decoder/encoder 08:03:03 :Q is a funny emote 08:03:27 person holding magnifying glass to mouth / person smoking 08:03:28 -!- puzzlet has joined. 08:03:28 so :D is a funny emote in ROT13? 08:04:07 indeed 08:07:01 http://pastebin.ca/363217 <-- my encoder/decoder 08:07:41 Should we talk in ROT13 for now? 08:07:54 Fubhyq jr gnyx va EBG13 sbe abj? 08:09:26 yays 08:09:53 29 lines of C code. converts fast apart from the console routines 08:11:07 GreaseMonkey: nice 08:11:11 i shall attempt a shorter one :) 08:11:16 oh, and btw, i managed to beat hackthissite.org's permanent programming challenge 08:11:49 excluding includes and blank lines, 25 lines of code. 08:12:01 sorry 08:12:04 21 lines 08:12:10 there's those commented-out lines 08:12:27 which is Z<->A, Y<->B, X<->C, etc 08:12:53 sadly, the console routines suck :\ 08:13:06 indeed 08:14:34 the algorithm itself is quite good though. 08:15:36 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:16:12 the code will expire in 20 secs 08:16:25 i stuck a 10 minute timer on pastebin.ca 08:21:16 k 08:22:14 -!- nazgjunk has joined. 08:22:17 -!- nooga has joined. 08:22:23 hi 08:22:45 Terrgvatf anmtwhax naq abbtn!!! 08:23:32 Zmglvgs bvvamgrt ;p 08:23:35 yby 08:26:10 Smngro amnrr pu? 08:28:33 -!- puzzlet has quit (Read error: 104 (Connection reset by peer)). 08:28:51 -!- puzzlet has joined. 08:48:49 oh here we go 08:49:28 http://pastebin.ca/363277 08:53:13 -!- GreaseMonkey has quit (Read error: 110 (Connection timed out)). 09:01:31 an attempt without a lookup table 09:07:11 simple rot13? ;p 09:07:50 ;) 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:21 whoa 10:08:22 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 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 http://koti.mbnet.fi/yiap/programs/miscellaneous/SUM.PRM 13:41:23 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 nooga, finally, i made the quicksort 13:44:48 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 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 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:07:57 * SimonRC has been working hard 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:29:16 * SevenInchBread is making a do-hickey for obfuscating Python. 19:35:46 -!- FabioNET has quit (Remote closed the connection). 19:57:54 bargle 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"). 20:54:49 hahaha http://fukung.net/v/720/school.gif 21:07:43 hahahaha 21:07:53 that's pretty funny. 21:08:35 -!- kxspxr has joined. 21:12:42 pfft... if he weren't writing it in C he would have saved some time. :P 21:12:52 with its... almost-low-levelness 21:22:19 -!- UpTheDownstair has changed nick to nazgjunk. 21:23:28 for i in range(500): print "I will not throw paper airplanes in class" 21:24:28 one line bitches 21:24:42 hehe 21:25:02 for i as integer = 0 to 500:print "I will not throw paper airplanes in class":next 21:25:09 ^^ FreeBASIC :p 21:25:13 lame 21:25:27 no xD 21:26:01 more like.. sophisticated and elegant :p 21:26:25 print "I will not throw paper airplanes in class" * 500 21:26:29 print "I will not throw paper airplanes in class\n" * 500 21:26:45 clevar 21:27:27 hurray for string multiplication and its aid to spammers worldwide. 21:27:45 ~exec sys.stdout("I will not throw paper airplanes in class\n" * 3) 21:27:47 I will not throw paper airplanes in class 21:27:47 I will not throw paper airplanes in class 21:27:47 I will not throw paper airplanes in class 21:28:08 ~ps 21:28:08 None 21:28:40 what is the bot that logs this channel? 21:29:03 do:var i=0:print "I will not throw paper airplanes in class":i+=1:loop while i<500 21:29:30 ~exec print self 21:29:40 ~exec sys.stdout(self+"\n") 21:29:40 self 21:29:41 print doesn't work 21:29:55 and join #bsmnt_bot_errors 21:29:56 ~exec sys.stdout.write(self+"\n") 21:30:12 ~exec sys.stdout(self) 21:30:13 <__main__.IRCbot instance at 0xb7c3206c> 21:30:25 oh... duh. :OP 21:30:53 lol 21:30:57 ~exec sys.stdout(dir(self)) 21:30:57 ['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 ort', 'print_callbacks', 'raw', 'raw_regex_queue', 'readbuffer', 'realname', 'register_raw', 'save_callbacks', 'socket', 'sockfile', 'verbose'] 21:31:12 ~exec self.print_callbacks() 21:31:23 ooh idea 21:33:00 ~quit 21:33:01 -!- bsmnt_bot has quit. 21:33:05 -!- bsmnt_bot has joined. 21:33:11 ~exec self.print_callbacks(sys.stdout) 21:33:12 [('^PING (.*)$', 'pong'), 21:33:13 ('^:bsmntbombdood!\\S*gavin@\\S* PRIVMSG \\S* :~quit ?(.*)', 'do_quit'), 21:33:13 ('^:bsmntbombdood!\\S*gavin@\\S* PRIVMSG \\S* :~raw (.*)', 'do_raw'), 21:33:13 ('^\\S+ PRIVMSG \\S+ :~ctcp (\\S+) (.+)', 'do_ctcp'), 21:33:14 ('^:bsmntbombdood!\\S*gavin@\\S* PRIVMSG (\\S*) :~pexec (.*)', 'do_exec'), 21:33:15 ('\\S+ PRIVMSG (#esoteric|#baadf00d|#bsmnt_bot_errors) :~exec (.*)', 21:33:16 'do_exec'), 21:33:17 ('\\S+ PRIVMSG \\S+ :~ps', 'do_ps'), 21:33:19 ('^:bsmntbombdood!\\S*gavin@\\S* PRIVMSG \\S* :~kill (.*)', 'do_kill'), 21:33:21 ('^ERROR :Closing Link:.*', '')] 21:33:25 perfec 21:33:27 t 21:33:49 ~exec self.print_callbacks(sys.stderr) 21:38:24 ~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 ~exec sys.stdout.write(self.AAAAAAAA("bsmnt is a terrible bucket cleaner!?")) 21:39:39 ~exec sys.stdout.write(self.AAAAAAAAA("bsmnt is a terrible bucket cleaner!?")) 21:40:27 bsmntboobdood, your hackish thread thing doesn't update the global scope. 21:40:40 nope 21:40:52 or... for that matter... it's making closures mess up. 21:40:52 that's intentional 21:41:10 it doesn't have to do with the threads though 21:42:12 ~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 ~exec sys.stdout.write(self.AAAAAAAAA("bsmnt is a terrible bucket cleaner!?")) 21:42:52 ~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 ~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 ~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:48:42 ~ps 21:49:07 -!- bsmnt_bot has quit (Excess Flood). 21:49:10 -!- bsmnt_bot has joined. 21:53:41 ~exec self.foo = "" 21:54:10 ~exec for i in range(100): self.foo += "%s\n" % i 21:54:23 ~exec sys.stdout(len(foo)) 21:54:30 ~exec sys.stdout(len(self.foo)) 21:54:31 290 21:54:39 ~exec sys.stderr(self.foo) 21:55:27 ~exec for i in range(10999): self.raw("PDASD") 21:55:28 -!- bsmnt_bot has quit (Excess Flood). 21:55:30 -!- bsmnt_bot has joined. 21:56:35 i'm bored 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 Y'know what would be awesome? 23:41:13 A pneumatic computer. 23:42:27 make one! 23:42:54 Pneumatic AND/OR gates are possible, right? 23:43:21 i don't see why not. 23:43:35 one great computer