00:03:44 -!- BeholdMyGlory has joined. 00:35:21 -!- BeholdMyGlory has quit (Remote closed the connection). 00:38:17 -!- BeholdMyGlory has joined. 00:38:52 -!- Corun has quit ("This computer has gone to sleep"). 00:51:02 -!- BeholdMyGlory has quit (Remote closed the connection). 01:01:00 -!- BeholdMyGlory has joined. 01:01:28 -!- BeholdMyGlory has quit (Client Quit). 01:01:34 -!- FireFly has quit ("Later"). 02:59:21 -!- Slereah2 has quit (Read error: 60 (Operation timed out)). 03:06:51 -!- Slereah2 has joined. 04:30:28 -!- Sgeo has joined. 06:04:46 -!- whoppix has quit ("Verlassend"). 06:32:03 -!- Sgeo has quit ("Leaving"). 06:46:43 -!- bsmntbombdood_ has changed nick to bsmntbombdood. 06:47:49 -!- impomatic has joined. 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:24:26 -!- CakeProphet has quit (Read error: 110 (Connection timed out)). 08:25:18 -!- CakeProphet has joined. 08:58:40 -!- oerjan has joined. 09:01:14 Please put some thought before attempting humour. 09:01:20 There is no humour. 09:12:56 -!- GreaseMonkey has quit ("Client Excited"). 09:32:55 -!- oerjan has quit ("leaving"). 09:36:29 -!- jix has joined. 09:40:35 -!- jix has quit (Client Quit). 09:40:46 -!- jix has joined. 09:48:33 -!- ais523 has joined. 09:53:35 (ehird : how about , , then ?) 10:04:47 -!- ais523 has quit (Read error: 60 (Operation timed out)). 10:06:51 -!- ais523 has joined. 10:19:22 Hi ais523 10:19:26 hi 10:19:57 I've just written an underload interpreter and wondered why []<> are reserved? 10:20:06 historical reasons 10:20:12 Ah, okay 10:20:14 although having a few reserved characters is useful 10:20:27 when you're writing interps in esolangs 10:20:41 It's at http://corewar.co.uk/assembly/underload.htm 10:20:52 yep, I noticed the link added to the wiki 10:21:03 anyway, it's always nice to see more Underload interps 10:21:25 especially as they help inform the Underlambda Project, which is mostly Underload-based 10:21:59 how does Redcode do I/O? By character code? 10:28:21 -!- jix has quit ("Computer has gone to sleep"). 10:29:45 * ski__ thought recode had no I/O 10:30:47 Someone added i/o opcodes 10:30:51 well, S appears to be implemented in that interp impomatic linked 10:30:54 but I can't figure out how it works 10:31:27 sts for output, lds for input (only implemented in exmars streams) 10:31:48 there's also input output in ARES which has a screen buffer mapped into memory 10:31:49 ah 10:32:06 but in each case, you can output a character just by knowing its character code? 10:32:20 I'm trying to design a completely general I/O model that all esolangs with general I/O can use 10:32:22 and it's not trivial 10:35:40 I'm wondering which Esolang to implement next 10:35:54 have you done a rewriting language? 10:35:57 have a go at Thue 10:36:06 I've look at about 50 at random, but not seen anything I fancy 10:36:27 also, I'd be interested at how short you can get a MiniMAX interpreter 10:38:26 That sounds like a challenge :-) 10:38:47 it is, I designed MiniMAX to have the shortest interpreter possible 10:38:58 and I've done some crazily short ones as DOS COM files 10:39:03 but Redcode might be able to manage it even shorter 10:51:19 4 instructions for the main loop: mov }ptr, >ptr / add.ba }ptr, ptr / mov.x ptr, ptr / jmp -3 10:51:37 pretty impressive 10:52:15 If the pointer is put in the third instruction and set to the initial values, no extra instructions are required for setup 10:52:32 and you're explicitly allowed to do that 10:53:59 Yes 10:54:22 looks like Redcode beats x86 by one instruction 10:54:25 Are the i/o extensions documented anywhere? 10:54:36 no, because I can't figure out how they work myself 10:55:26 basically they just let you do DOS interrupts by executing a 0 10:55:26 Just change the third line to ptr mov.x #2,2 - the program should be directly after the jmp 10:59:02 The 8086 interpreter can align the pointer to either an odd or even byte, but works on words 10:59:25 That behavior isn't portable to the redcode version 10:59:44 hmm... IIRC the 8086 program only makes aligned accesses, though 10:59:54 at least, if you fill memory with even numbers to start with, and you're supposed to 11:00:05 :-) 11:00:38 choosing what form of input works best is part of the fun of MiniMAX, I didn't compromise in trying to get it as short as possible 11:01:05 although there are various crazily short langs that did, I think there's a 36-bit interpreter in DOS for a TC language with I/O and programs only contain printable characters 11:01:10 it's on Esolang somewhere 11:01:26 ah, MinISCule 11:03:36 Back later 12:12:13 hi 12:12:59 hi 12:13:08 * AnMaster tries to figure out what the convo is about without reading it 12:13:33 well, you need something to give you a clue as to what it's about 12:13:41 yes the last few lines 12:13:56 I/O, ASM, old x86? 12:14:16 it's about very short interps for TC languages 12:14:24 impomatic wrote a MiniMAX interp in 4 words of Redcode 12:14:29 machine code consisting of only printable chars? 12:14:46 also what is Redcode? 12:14:46 no, I was talking about some of the other golfed langs 12:14:59 AnMaster: programming language used by Core Wars 12:15:02 it resembles asm, mostly 12:16:16 AnMaster: http://vyznev.net/corewar/guide.html is a good guide, if you haven't seen it before 12:16:34 um 12:16:34 hm 12:16:51 what are the commands in MiniMAX? 12:17:02 or have I misundestood the wiki page 12:17:12 AnMaster: there are no commands 12:17:15 ah 12:17:23 it's an OISC variant, and the command takes no arguments 12:17:26 so you don't write it at all 12:17:29 "A MiniMAX program consists of a series of 3-word commands" 12:17:38 well, you set up initial memory 12:17:40 ah 12:17:41 to control the command 12:17:51 so as a command is described entirely by its arguments 12:18:04 (which are taken from memory, not in the program) 12:18:10 you can think of the arguments as the command 12:25:33 yes and I still think it is strange OISC can be TC... 12:25:47 I don't, just about anything can be TC 12:26:08 * AnMaster refrains from jokes about that 12:34:04 * impomatic has been playing with various OISC this week 12:34:39 we're going to have to invent a ZISC now 12:34:44 if that even makes sense, it probably doesn't 12:34:53 ais523, I already suggested that some time ago 12:35:02 do you have any idea about how it could work? 12:35:05 and the term was in use 12:35:11 there's Wait I suppose, but that doesn't count 12:35:12 for some ANN thing 12:35:23 meh, we can reuse it if we want to 12:35:37 we're esolangers, things like name uniqueness shouldn't get in our way 12:36:02 right, lets call the ZISC interpreter "MSVC"? 12:36:29 heh 12:37:16 besides, the command-line name for the real MSVC is cl, so there wouldn't even be a conflict 12:38:16 ais523, well good point, we should make MSVC the ZISC IDE, and the compiler ICC? 12:38:32 interpreter could be, uh, sh? 12:38:40 let's just come up with a spec first 12:38:43 yeah 12:38:47 and I have no idea 12:38:52 and I really like the idea of calling an esolang interpreter sh 12:39:09 ais523, csh would be better, no one use THAT 12:39:16 There's a few references to ZISC about 12:39:32 I've been looking at them this week 12:39:38 I'm still not entirely sure how you'd do an esolang with no instructions, though 12:39:40 ais523, well something not based on instructions is the only way I can think of 12:39:47 as soon as you make it do anything, that's arguably an instruction 12:39:55 so yes, it would have to not be instruction-based 12:39:57 such as based on ANN 12:40:00 ANN? 12:40:05 oh, neural networks 12:40:08 yes 12:40:24 ais523, http://en.wikipedia.org/wiki/Zero_Instruction_Set_Computer 12:40:26 *shrug* 12:41:06 meh, pattern matching's an instruction 12:41:22 in fact, in a lang like Thue I tend to think of each pattern as an instruction 12:41:41 * AnMaster curses tvtroupes 12:41:47 tropes* 12:45:42 Can bf programs be self-modifying? 12:45:46 no, but see BrainTwist 12:46:00 it's BF, but with an X command that swaps the code and the data arrays 12:46:24 ais523, how does it handle unbalanced loops? 12:46:32 not sure, I've never tried to use it 12:46:46 * ais523 tries to remember how FYB handles unbalanced loops 12:46:55 IIRC, it ignores unmatched [s and ]s 12:47:25 * impomatic goes to look at BrainTwist 12:47:27 I would have implemented FukYorBrane in Redcode, but there was something tricky that put me off 12:47:49 there are all sorts of weirdnesses in FYB 12:48:02 the modulo-17 arithmetic, for one (IIRC it was 17, it might have been some other odd number) 12:52:18 The spec doesn't make clear some points. I think to do with commit, uncommit, threads and defect 12:53:06 ah yes, I have no idea what happens if both bots try to commit into the same thread, for instance 12:53:18 there's a reference interp lying around somwhere, I suppose we could find out by experiment 12:53:22 s/thread/tape/ 12:55:56 There's some kind of Corewar game which uses a function language. Called struggle I think 12:56:36 there was a BF-based game inspired by Corewars running on Agora for a while, and it's just starting back up again I think 12:56:43 not FYB, actual BF 12:56:49 you didn't disrupt enemy code, but enemy data 12:57:07 it got boring after a bit though as people found the best strategies 13:02:59 Do you have a URL? I haven't found anything in google 13:03:13 let me try to find it 13:04:20 Here's the spec for struggle http://tr.im/eqhy 13:04:55 http://faculty.washington.edu/kerim/nomic/bf/index.php is the hill 13:05:05 everything else was done via email 13:05:36 but the basic rules were ordinary BF without I/O, both programs use the same tape but < for one program is > for the other, each program starts at their left end of the tape 13:05:51 initial cell is initialised to 128, you lose if you fall off the tape or the cell you started on becomes 0 13:05:56 and random tape length 13:07:45 Thanks 13:09:30 the problem I think was that the tape was too wide to write a defensive program 13:09:42 if it had been randomized in, say, the range 30-60, it would have been more interesting 13:23:59 I'm still scoring 0! 13:24:10 what tactics are you trying? 13:25:11 -!- ais523 has quit ("lunch, will be back later"). 13:31:18 Tactic: keep moving right, until something non-zero is found. Then set it to zero and repeat 13:31:18 >+[>[-]+] 13:32:00 Heh, I just did [>[-]+]; that's #3 when I run it against joust0..9. Don't feel like thinking about anything nontrivial. 13:49:06 -!- ais523 has joined. 13:50:30 I've got the hang of it now. #1 against the first 15 programs on the list :-) 13:51:09 well done 13:51:26 I can beat all except some of the last few, if the tournament were still going I'd be about 5th 13:52:42 Is there some way I can submit programs by email? 13:52:53 not any more, there was but the tournament ended 13:53:12 there's a new one planned, with different rules, but it hasn't been finalised 13:53:43 hi 13:53:47 hi 13:55:24 Hi Ehird :-) 14:26:16 lo 14:31:56 Challenger vs. joust12 - Wins: -1 14:32:06 ? 14:32:16 How can I have -1 win :-/ 14:32:18 I didn't write that, but a negative win count seems unlikely 14:36:42 impomatic: o_O 14:36:58 [[>+++++[-]-]-] get -1 wins against joust12 15:17:55 -!- BeholdMyGlory has joined. 15:18:34 -!- FireFly has joined. 15:26:40 -!- Judofyr has joined. 15:27:50 -!- jix has joined. 15:32:07 -!- jix has quit (Client Quit). 15:32:22 -!- jix has joined. 15:57:10 -!- ktne has joined. 15:57:33 would a continuation implementation require that the entire stack be copied in order to save the local variables along the call path? 15:59:28 No, not if you use CPS. 15:59:41 Can I say Cheney on the MTA again? I like saying that. 16:00:00 CPS = Continuation Passing Style, google it 16:00:07 Then continuations are free, 0-cons 16:00:14 i checked Cheney on the MTA 16:00:23 but it looks like the stack has a fixed max size 16:00:41 when you jump off the cliff i mean 16:01:26 yes 16:01:30 but since you use CPS 16:01:30 the whole stack is there 16:01:36 google continuation passing style, you'll see 16:02:17 what happens if i have huge local variables? 16:02:31 What do you mean 16:02:32 ? 16:02:52 with stack-based calls, the calling mechanism is agnostic to huge stack sizes 16:03:06 ummmm? 16:03:30 i mean, if you call a function, the performance of the call itself is not related to how large the local variables are 16:04:07 but it looks like that if you copy the live objects when jumping off the cliff then you get a serious performance hit if the cliff is very large 16:04:17 You don't copy the objects. 16:04:20 hmm 16:04:22 then? 16:04:32 how do you clean up the unused stack frames? 16:04:38 Setjmp. 16:04:43 + a call trampoline 16:04:45 + CPS 16:04:51 well, wouldn't that clean all stack frames? 16:04:59 hmm 16:05:03 No, longjmp cleans all stack frames up to the point of setjmp. 16:05:07 ktne: look up CPS 16:05:09 what you do is 16:05:11 when you're calling a function 16:05:29 do i have to allocate all local variables on heap? 16:05:31 instead you set the function & args (where the continuation is one of the arguments, remember) into a thread local variable 16:05:35 then longjmp 16:05:38 and the trampoline does the call 16:05:40 ktne: no 16:05:42 if you remember i said yesterday that i want only specially marked local variables 16:05:43 with cheney on the mta, 16:05:46 you put it all on the stack 16:05:47 to be allcoated on heap 16:05:50 all variables go on the stack 16:05:54 there is no heap 16:06:03 yes but what happens if the local variables are very large? 16:06:09 the stack is large 16:06:11 if for example in a classic stack you do this: 16:06:18 ktne: try it with chicken scheme 16:06:22 if it works, look at how it does it 16:06:22 call_large_function(),call_large_function(),call_large_function(),call_large_function() 16:06:23 :P 16:06:28 but you can do things like that in chicken yes 16:06:31 then the used stack space is constant 16:06:35 -!- Hiato has joined. 16:06:38 because the stack is cleaned after each return 16:06:47 but in cheney's mta it's not 16:07:07 so if the local variables are like several hundred mb large 16:07:29 then you get a lot of stack space required, because you need one of that PER stack frame 16:07:41 unlike the classical method where you would get that only once in the case above 16:08:02 look, I made a suggestion, CPS+cheney on the MTA, chicken uses it, and it works fine for what you're saying, if you don't want to use it then don't 16:09:37 it's not in fedora repositories 16:09:55 so... compile it yourself? 16:17:58 -!- MigoMipo has joined. 16:27:07 -!- KingOfKarlsruhe has joined. 16:27:59 -!- Hiato has quit ("Leaving."). 16:29:32 -!- Hiato has joined. 16:39:27 Does anyone do anything clever in BF Joust? 16:39:42 I assume everyone makes a decoy to slow down the opponent. 16:40:00 YEah. 16:40:18 pretty much everyone creates decoys, and there are various strategies to remove them 16:40:30 Do any opponents figure out whether it's quicker to increment or decrement the decoy? 16:40:40 I don't think that's possible 16:40:42 without doing it 16:40:50 impomatic: yes, to some extent 16:41:05 one of the well-doing submissions decrements a bit, and if that doesn't get anywhere increments the rest of the way 16:41:07 It's possible if someone has a regular decoy 16:41:28 I don't know of any that memorise the opponent's decoy pattern, but I haven't seen the source for all of them 16:41:29 Yes, mine does that :-) 16:42:24 I can score 254 against the last 5 opponents on the list 16:43:24 it's also common to exploit the range in which the opponent's flag could be 16:43:32 which I can't remember offhand, which is why I didn't tell you 16:43:39 but if you know where to start looking, it makes things faster 16:44:53 I linked him to the post 16:49:33 * ehird considers a haskell implementation with reallyUnsafeCallWithCurrentContinuation# :: ((a -> b) -> a) -> a 16:49:39 Wonder if that'd actually _work_ 16:49:49 who knows? 16:49:58 I don't see why it couldn't in theory 16:50:05 Well, laziness. 16:50:07 possibly only with a single unsafe 16:50:09 How would that work? 16:50:15 same way unsafe IO works 16:51:04 I guess. 16:51:35 Looks like I have to implement Haskell to find out, ay? 16:57:37 I'm giving up of 254. I beat everything apart from two of the Woggle entries 16:58:21 -!- ktne has quit ("Leaving."). 16:58:35 hmm... I should tell the contest's author of my ideas for doing something similar for the next round 16:58:44 and note that you can join Agoran contests without playing the game as a whole 17:02:15 -!- Hiato has quit ("Leaving."). 17:17:41 -!- Hiato has joined. 17:18:40 -!- MizardX has quit (Read error: 104 (Connection reset by peer)). 17:18:43 -!- MizardX has joined. 17:22:10 -!- MizardX- has joined. 17:22:12 -!- MizardX has quit (Nick collision from services.). 17:22:14 -!- MizardX- has changed nick to MizardX. 17:27:19 hi MizardX 17:27:37 now that I think about it your name sounds like a gangsta 17:27:43 MizzleizzardX in da house. Shiznit. 17:35:06 so. 17:36:30 -!- Corun has joined. 17:39:15 http://esolangs.org/wiki/RUM 17:39:21 ais523: could we delete the retarded, trivial BF dialects 17:39:34 i don't think anyone but their creators ever find any joy in them at all 17:39:46 ideally, you'd make a separate namespace for them 17:39:49 to keep them off random page 17:39:58 why 17:39:59 I don't like the idea of deleting information like that, inane as it may be 17:40:00 nobody wants to look a them 17:40:02 t 17:40:11 at least ESME was nonsensically amusing 17:40:14 these are just boring 17:40:18 and dilute the wiki's usefulness 17:40:39 http://github.com/irskep/rum/blob/bdef9c84909a260df137dcb57840620d6c492f05/getch.py 17:40:42 it even has a broken , 17:40:48 (gets from the terminal before enter, and doesn't print to screen) 17:40:56 that's not a BF superset 17:41:12 Comment out lines until the next LF with #. Please use discretion when putting punctuation in comments, as I have not 17:41:13 tested it at all. 17:41:16 Please use discretion when putting punctuation in comments, as I have not 17:41:17 tested it at all. 17:41:19 ARE YOU SERIOUS 17:41:28 wtf is brainf*ck 17:42:04 brainfuck put through the idiot filter. 17:48:26 "I often hang out on the #esoteric IRC channel on freenode.net with the nick kipple. " 17:48:28 no you don't :P 17:51:54 lcccccccccccccc.n 17:51:55 ^!dlrow ,olleH 17:51:57 I wish I knew how that worked 18:22:28 -!- alex89ru has joined. 18:22:36 hi 18:22:41 hi 18:26:47 hi 18:28:38 * impomatic is still looking for a language to implement! I've looked at about 100 random wiki pages now 18:28:58 impomatic: have you implemented a functional language yet? 18:29:03 -!- neosisani has joined. 18:29:13 -!- neosisani has left (?). 18:29:15 Not yet 18:29:26 Unlambda's famous, but also famously difficult to implement 18:30:25 unlambda is trivial 18:30:28 compiling, not so 18:30:53 ehird: I wouldn't call implementing c trivial, especially if you don't know the relevant tricks 18:31:03 oh, I'd do it in a real language 18:31:18 Is there a minimal language similar to minus? 18:31:19 -!- alex89ru has quit (Remote closed the connection). 18:31:27 minus? 18:31:28 :P 18:31:47 you might want to implement Thue at some point, too, it's another of the classics 18:34:21 Minus has far too many special variables 18:40:16 -!- Mony has joined. 18:42:29 plop 18:42:37 dlod? 18:42:46 heh 18:48:16 dold 18:50:33 -!- oerjan has joined. 18:52:23 drod! 18:56:26 -!- BeholdMyGlory has quit (Remote closed the connection). 18:57:40 Hm I don't think this program actually worked 18:58:01 -!- BeholdMyGlory has joined. 18:58:27 ehird: i wrote my program without sdl ultimately :( 18:58:31 lament: :< 18:58:33 so now it's mac-only 18:58:36 what did you use 18:58:45 quartz api 18:58:55 via HOC or sth? 18:59:09 it's a C api 18:59:12 ah 18:59:23 lament: could you not sdl to work? 18:59:28 no 18:59:31 not on cygwin 18:59:46 and then i read the readme file for hsdl and it said that there're difficulties getting it to work on os x as well 18:59:52 so i just decided to not bother 19:00:03 on the other hand i could just use sdl from c 19:01:23 i don't -really- care about cross-platform portability, it's not like anyone else would ever use this program :) 19:01:36 -!- MigoMipo has quit ("QuitIRCServerException: MigoMipo disconnected from IRC Server"). 19:01:36 what does it do 19:02:06 it lets you play the computer keyboard like the right-hand accordion keyboard 19:02:18 you get almost three octaves of range 19:02:31 awwwwwwwwweeeeeeeeeesome 19:02:34 GIVE ME IT 19:02:39 -!- KingOfKarlsruhe has quit (Remote closed the connection). 19:04:37 ehird: you have mac? 19:04:51 err yes :P 19:04:55 lament: yes, he does 19:05:00 i'm sure you knew that./ 19:05:03 one moment, let me tar it 19:05:16 haven't I complained with you simultaneously about a guy who was dissing os x? :P 19:05:20 i'm sure that happened like months ago 19:05:26 not that people remember what happened heremonths ago 19:05:29 except me 19:07:14 how do you tar a directory? 19:07:25 lament: umm 19:07:26 tar cvf tarball.tar directoryname 19:07:28 like normal 19:07:28 :P 19:07:29 thanks 19:07:37 or cvzf if you want it as a zipped tarball 19:07:39 you could also just zip it in finder, I know that's not hardcore. 19:07:48 oh, cvzf 19:08:37 ehird: dcc 19:08:42 ya 19:08:44 you need the hmidi package installed 19:08:46 lemme fig how to accept 19:08:48 How much would have to add to Underload to make it functional? 19:08:51 YAY I DID IT 19:08:53 impomatic: it is functional 19:09:07 impomatic: technically speaking, it isn't functional, but all writing in it seems to be functional in practice 19:09:12 Hmmm... not much then 19:09:13 lament: firewall probs I think :x 19:09:16 use filebin.ca? 19:09:39 -!- KingOfKarlsruhe has joined. 19:09:44 impomatic: it's functional in the same sense as Joy, a mainstream concatenative functional language 19:09:45 moment 19:09:52 So technically speaking, would I need to ad much to make it functional? 19:10:00 No. 19:10:03 You would need to add nothing. 19:10:05 It's functional. 19:10:22 impomatic: you need to add nothing but a debate amongst esolangers as to whether it's functional or not 19:10:24 impomatic: it's functions from stacks to stacks 19:11:31 -!- M0ny has joined. 19:11:32 ehird: http://filebin.ca/vcfm/haccordion.tar.gz 19:11:48 so this uses the ffi, ey? 19:12:13 it's mostly in C really 19:12:33 that's a shame 19:12:43 "mostly" is just two functions though 19:12:43 lament: keycodes.c... couldn't that just be in haskell? 19:12:46 it's not a very big program 19:13:01 keys.c could also be in haskell 19:13:03 What's Underlambda? Empty page on the wiki 19:13:03 ehird: it's an existing c source code that i modified 19:13:06 ah 19:13:21 yeah that's a x program :( 19:13:22 *c 19:13:25 {- #LANGUAGE ForeignFunctionInterface -} 19:13:27 that should be 19:13:30 {-# LANGUAGE ForeignFunctionInterface #-} 19:13:36 oh 19:14:25 impomatic: ais523's vaporware language 19:14:54 not vaporware on my computer 19:15:04 just an I-want-to-make-absolutely-sure-I-get-it-right lang 19:15:08 besides, vaporware is fun 19:15:10 if it's not on the wiki, it's vaporware 19:15:12 lament: 19:15:14 you can replace your makefile with 19:15:19 DO YOU HEAR oklopol? 19:15:22 wait no 19:15:23 well 19:15:24 * impomatic grabs a few books about functional programming 19:15:28 lament: the gcc calls are unneeded 19:15:30 if it is on the makefile, poeple will get upset when I change it arbitrarily every 5 minutes 19:15:32 you can give ghc c files 19:15:33 s/makefile/wiki/ 19:15:49 also it generates play_note, not ha 19:15:50 c 19:16:30 ais523: it's not like you would be the first :D 19:16:37 yes, but I like to have style about such things 19:17:10 lament it doesn't work :< 19:17:17 {- If you don't hear anything or no midi devices are found, here's how to use GarageBand's 19:17:17 synth: Open Audio-MIDI setup and make sure IAL is online. Then turn on garageband and 19:17:19 create a software instrument track. 19:17:21 oh. 19:18:13 wait 19:18:16 lament: where's audio midi setup 19:19:03 hmm 19:19:08 it isn't capturing my keystrokes 19:21:26 lament: how are you meant to use it :P 19:21:52 -!- seveninchbread has joined. 19:22:05 oerjan: i hear the red lines. 19:23:02 ehird: is IAL online? 19:23:12 IAL 19:23:12 ? 19:23:19 did you open Audio-MIDI setup? 19:23:32 where is that 19:23:34 :-| 19:23:35 it's in Applications/Utilities 19:23:35 AnMaster: ehird, All ur memes iz belongz to ur momma! <<< i'm so gonna use this 19:23:39 all the time 19:24:09 lament: okay it says 19:24:12 OUTPUT IS NOT SUPPORTED 19:24:16 ehird: huh 19:24:18 is this bad 19:24:20 oklopol: bah, selective hearing 19:24:30 ehird: it says that when you try to bring IAL online? 19:24:50 what is IAL and how do I try and bring it online 19:24:51 <_< 19:24:54 open audio-midi setup, click on midi, click on IAL 19:25:06 sorry 19:25:07 IAC 19:25:15 * oerjan keeps reading that as I Am Lawyer 19:25:17 not IAL 19:25:20 but IAC 19:25:25 okay i think it worked 19:25:28 yay 19:25:33 now 19:25:38 how do I use this software product of yours 19:25:43 just running and typing does naught 19:25:50 does it say 'played a note' 19:25:58 no 19:26:00 it just sits there. 19:26:03 um 19:26:14 that's when you run play_note? 19:26:19 it just sits there? 19:26:48 yes. 19:26:51 hrmrm 19:26:58 what could explain that? 19:27:10 the LHC ate your program 19:27:12 i've compiled it on two macs, works on both 19:27:24 most unusual 19:27:51 lament: maybe I am doing something wrong 19:27:54 [ehird:~/Desktop/haccordion 2] % ./play_note 19:27:55 a 19:27:56 g 19:27:57 -!- Mony has quit (Connection timed out). 19:27:58 s 19:28:00 goijfoisajflsdjkafg 19:28:03 mm 19:28:19 i dunno, put some printfs inside mainloop() in keys.c to make sure it is actually running 19:28:32 and then 19:28:33 um 19:28:46 since it doesn't say played a note, that means the callbacks aren't run 19:29:02 so CGEventSourceKeyState must not return anything useful? 19:29:09 hrm 19:29:23 maybe you need to be superuser or something? 19:29:31 does your password work for sudo? 19:29:44 sudo does nothing 19:30:22 in keys.c there's a line bool keystate = CGEventSourceKeyState(... 19:30:36 i guess that is always returning false 19:30:47 i have no idea why it would do that 19:30:58 can you check that? 19:32:11 okay 19:32:17 -!- Hiato has quit ("Leaving."). 19:32:46 ... 19:32:49 lament: no output whatsoever 19:32:54 bool keystate = CGEventSourceKeyState(kCGEventSourceStateHIDSystemState, keyindex); 19:32:54 printf("%i\n",keystate); 19:32:57 [ehird:~/Desktop/haccordion 2] % make 19:32:58 gcc -c keys.c 19:33:00 ghc -framework ApplicationServices -fglasgow-exts --make play_note.hs keys.o keycodes.o 19:33:02 Linking play_note ... 19:33:04 [ehird:~/Desktop/haccordion 2] % ./play_note 19:33:06 a 19:33:08 b 19:33:10 mmm 19:33:11 barg? 19:33:16 barg? 19:33:26 barg! 19:33:32 barg :( 19:33:34 what 19:33:43 um 19:33:52 check that mainloop runs 19:34:04 but how would it not run?? 19:34:15 Yes it does: 19:34:16 % ./play_note 19:34:17 L O L!!! BUTTS!! 19:34:23 lament: 19:34:24 for (keyindex=0;keyindex { 19:34:27 That'll never be looping 19:34:30 For some reason 19:34:31 O_O 19:34:32 what the fuck 19:34:38 is wrong with your c compiler? :) 19:34:38 well its the only thing left 19:34:39 CODES_TO_TRACK == 0? 19:34:42 Deewiant: nope 19:34:42 #define CODES_TO_TRACK 50 // approximately equals what we need 19:34:48 um 19:34:59 well, uh, i dunno? 19:34:59 WAIT 19:35:00 lament: 19:35:01 bool keystate = CGEventSourceKeyState(kCGEventSourceStateHIDSystemState, keyindex); 19:35:01 -!- MizardX has quit (Nick collision from services.). 19:35:02 -!- MizardX- has joined. 19:35:03 this must be hanging 19:35:05 forever 19:35:06 ahhh 19:35:21 -!- MizardX- has changed nick to MizardX. 19:35:25 put a check before it 19:36:00 printf butt-debuggign confirms it 19:36:00 % ./play_note 19:36:01 into butt land i delve -> 19:36:05 CGEventSourceKeyState is hanging 19:36:12 well. 19:36:21 that certainly gives another reason to port it to SDL instead :) 19:36:32 apple docs say nothing about it hanging 19:37:06 lament: i'm on tiger 19:37:09 could that have something to do with it 19:37:25 -!- alex89ru has joined. 19:37:53 yes 19:38:02 fuck. 19:38:12 apple sucks! 19:38:16 -!- Corun_ has joined. 19:38:37 lament: what was it 19:39:12 um, i don't know 19:39:16 upgrade to leopard 19:39:25 i mean i know, it must be a bug in apple api 19:39:34 but that doesn't really help! 19:40:07 :< 19:40:09 :<<<<<<<<<<<<< 19:40:22 lament: it lets you play the computer keyboard like the right-hand accordion keyboard <<< beepiano 19:40:26 give me a dvd big enough to hold a burned leopard disk and I will lament :P 19:40:32 www.vjn.fi/s/beepiano.py 19:40:37 -!- CakeProphet has quit (Read error: 110 (Connection timed out)). 19:40:48 import winsound 19:40:49 Fail 19:40:55 hahaha 19:41:02 ok 19:41:02 mmkay 19:41:19 that's kinda beside the point, worked on xp => not fail. 19:41:53 if you can show me another lib with as nice an interface, i can change it. 19:43:19 thought so. 19:43:28 it's more that neither I nor lament can use your program 19:43:35 so pointing us to it is rather... pointless 19:43:46 but you can read the order of characters 19:44:25 wat 19:44:30 my point was i'd definitely use that keyboard layout for playing, in case i understood correctly what lament meant. 19:44:57 keys=['1','q','a','z2','w','s','x3','e','d','c4','r','f','v5','t','g','b6','y','h','n7','u','j','m8','i','k',',9','o','l','.0','p'] 19:45:20 this was the point; and also just that it was a program of mine if lament didn't know that; not that you could test it. 19:45:48 i'm disappointed at your lack of ability to read my mind once again. 19:46:25 oklopol: i knew you were going to say that 19:46:27 oklopol: that seems like the right layout 19:46:29 -!- Corun has quit (Read error: 110 (Connection timed out)). 19:46:51 i read your mind oklopol, I just wanted to annoy you 19:46:54 lament: have you heard me play black diamond in it? i've linked it at least 3 times 19:47:20 oklopol: no 19:47:34 well sure link 19:47:36 * oklopol linkssss! 19:47:57 http://www.vjn.fi/s/black.mp3 19:48:15 (i play the piano better!) 19:48:42 hahahahahahahahah that's awesome 19:48:58 oklopol: so we wrote the exact same fucking program? 19:48:59 that was about 5 hours of practise at the whole concept, i would love to hear you do something with the same layout 19:49:12 sure, i'm learning a mozart piece 19:49:12 lament: sure. except mine uses an incredibly ugly gui. 19:49:18 oh, mine doesn't have a gui 19:49:22 right. 19:49:27 mine neither, really 19:49:32 lament: Garageband has a keyboard player, y'know 19:49:34 i can always use this as a gui http://www.thecipher.com/CBA_Csys_Spell.gif 19:49:38 ehird: yes. It's utter shit. 19:49:41 AnMaster: ehird, All ur memes iz belongz to ur momma! <<< i'm so gonna use this <-- :D 19:49:42 lament: tru dat 19:49:55 AnMaster: he was being ironicastic, i.e., he's gonna use it because it's so stupid 19:50:01 oklopol, what about replacing "ur momma" with "Chuck Norris" 19:50:04 that would work too 19:50:10 AnMaster: that's still 3. 19:50:18 chuck norris' momma? 19:50:21 maybe 19:50:27 oklopol, could work 19:50:47 ehird, also I was being ironic when I said it.... 19:51:01 AnMaster: yes, he was saying your joke failed and that was amusing 19:51:02 so he'd use it. 19:51:07 one should _never_ joke about chuck norris' momma. 19:51:12 what I'm trying to say is that he was laughing at you, 19:51:13 not with you. 19:51:19 i think. 19:51:23 :) 19:51:29 ehird, no he didn't 19:51:32 I checked scrollback 19:51:37 oerjan, good point 19:51:45 AnMaster: no, that's what his line meant 19:52:01 ehird, that is a matter of interpretation. 19:52:10 ehird: well, tbh i often consider AnMaster fairly hilarious; agreed, sometimes his unjokes are just ...too much. 19:52:16 oklopol: please say ehird is wrong. he is so annoying when he tells what other people mean. 19:52:23 oerjan: too late 19:52:23 :D 19:52:57 oerjan: well he was wrong, i'm just too polite to tell him that directly. 19:52:57 oklopol: your keyboard is so quie 19:52:58 t 19:53:05 also I was wrong on purpose 19:53:09 I can read oklopol's mind, remember 19:53:25 ehird: i think i taped the mic on the speaker or smth :D 19:59:11 oklopol, ehird: you are using audio communication? 19:59:19 ... no. 19:59:22 currently not 19:59:36 what then awere those lines about... 19:59:37 http://www.vjn.fi/s/black.mp3 19:59:41 were* 19:59:45 ah 20:00:23 cool 20:00:48 oklopol, the beepy melody sounds very good 20:01:10 I assume it is produced by the keyboard that you hear too 20:01:20 but what sort of keyboard? 20:01:21 http://www.youtube.com/watch?v=lNLdTfwx5ZQ 20:01:28 umm? 20:01:28 * AnMaster checks 20:01:33 it's played with beepiano 20:01:42 "beepiano"? 20:01:48 a python program of mine 20:01:59 AnMaster: he presses keys and it plays noats 20:02:03 you use the keyboard as an accordion 20:02:03 on the computer keyboard 20:02:05 oklopol, cool, sounds hard to use though 20:02:15 yeah but oklopol is a machine 20:02:22 AnMaster: if i played piano that bad, i would *not* link it. 20:02:37 I had a program like that once... I used it solely for annoyance value though 20:02:43 because, you know, lament would kickban me. 20:02:51 oklopol, um? 20:02:58 lament plays piano. 20:02:59 obsessively. 20:03:06 day and night. Non-stop. 20:03:13 NSFW 20:03:18 well, oklopol as bad as what? 20:03:19 I take it to the bathroom with me. 20:03:34 the video? I'm still downloading it 20:03:37 lament is pianophillac 20:03:39 AnMaster: the mp3 20:03:41 he linked 20:03:41 ah 20:03:49 also, the video is just the metal song he was playing 20:03:52 oklopol: sorry can't listen to mp3 i'm at work :( 20:03:54 my piano playing consists of sitting down, making up something completely random, and playing it obsessiely until it turns into a nice short snippet of music, then leaving the piano 20:03:55 it doesn't really sound like it :P 20:03:57 rock? hm? 20:04:04 AnMaster: no, metal, we've been over this before :P 20:04:20 dammit I have to write my own bleeper now 20:04:21 (also sometimes is actually compose something that makes sense, point is i only play my own songs) 20:04:24 DAMN YOU ALL TO HELLHECKDAMN 20:04:35 in the mp3 it sounded more like something that could have been fast classic music 20:04:53 lament: if you don't know stratovarius, as a finn i must suggest you check out at least some of it. 20:04:55 some subgenres of metal draw from classical music, AnMaster 20:05:15 ehird, yes, I much prefer oklopol's recording over that youtube video 20:05:16 ok 20:05:29 though don't worry, song smith is worse ;P 20:05:30 AnMaster: yeah, the youtube video has an ELECTRIC GUITAR in. how awful 20:05:35 * ehird cabal install SDL 20:05:56 ehird, I don't like the sound of electric guitar no 20:06:08 oklopol's recording sounded like an electric guitar :P 20:06:12 lament: well, most of it is pretty basic metal stuff. probably not your style; then again, i'm not saying you should *not* listen to it ofc. 20:06:21 ehird, no it sounded like a PC speaker 20:07:04 the sound of an electric guitar is absolutely beautiful; of course hitting the low piano keys hard is even sexier. 20:07:15 you know octaves so low you make your ass vibrate. 20:07:20 *they 20:08:33 lament: maybe i should take that suggestion back, it's clear i should suggest you to listen to finnish metal as a finn, but i'm not sure i should use up my one suggestion point for stratovarius. 20:08:49 what about using a church organ? You could go even lower! 20:08:59 AnMaster: yes, but it's not nearly as manly. 20:09:10 the sound doesn't... umm... break? 20:09:21 uh? 20:09:29 you know low piano notes have distortion, in a sense. 20:09:35 and distortion is good. 20:09:46 that partly depends on the quality of the piano 20:09:56 and type 20:10:09 bad pianos are HARDCORE 20:10:32 ehird, I mean, compare an upright piano to a grand piano 20:10:34 i'm talking grand piano, everything else just tries to mimic it 20:10:43 or compare your mom to your mom. 20:10:46 oklopol, large or small grand piano? 20:10:48 you decide 20:10:54 AnMaster: the bigger the better, naturally 20:11:08 ehird, you seriously don't hear any difference between them?! 20:11:21 between your mom and your mom? 20:11:28 nope, they both moan the same. 20:11:31 ehird, between upright piano and grand piano 20:11:31 * ehird deports to #misinterpretation 20:11:32 BYE GUYYS 20:11:59 hah hah 20:12:00 okay let's see how you MAIN LOOP WITH SDL FUCK YEAH 20:12:01 i'm not sure i'd hear the difference between them, unless playing myself. 20:12:25 Waits indefinitely for the next available event. 20:12:26 SEEMS RITE 20:12:30 o 20:12:30 o 20:12:34 i'd prefer an infinite list of events 20:12:36 o k o 20:12:37 that's just more... pure 20:12:46 oklopol, well what if you were playing with a curtain that hid everything but the keys? would you still hear any difference 20:13:01 or with a blindfold, though that would be hard 20:13:20 ehird: you're rewriting my thing with sdl? 20:13:21 AnMaster: sure. 20:13:28 lament: i'm writing my own thing with sdl 20:13:38 ehird: hsdl or just sdl? 20:13:41 oklopol, you would *feel* the difference I bet, but *hear* it? 20:13:41 hsdl 20:13:52 ehird: was it difficult to get hsdl working on mac? 20:13:57 /usr/bin/ld: Undefined symbols: 20:13:57 _SDL_main 20:13:59 collect2: ld returned 1 exit status 20:14:01 Vwat 20:14:09 Suicide commit time lol 20:14:16 let's google on how you ACTUALLY USE THIS THING 20:14:19 ehird: -lSDLmain? 20:14:38 Deewiant: didn't do anything 20:14:50 put it before/after -lSDL 20:14:50 AnMaster: my playing is fairly aggressive, if you hit the keys hard, a grand piano will respond differently than an upright one. 20:15:11 Deewiant: % ghc --make bleep.hs 20:15:12 now what :-D 20:15:20 i usually hit them as hard as i can for maximum satisfaction 20:15:20 oklopol, yes, but part of that is in the feeling, and part in the sound 20:15:25 -!- ktne has joined. 20:15:30 hello 20:15:32 i don't believe in feeling 20:15:32 hi ktne 20:15:32 ehird: what do you mean now what :-P 20:15:39 Deewiant: no -lsdl 20:15:40 :P 20:15:41 oklopol, I mean tactile feeling 20:15:42 A beepiano is a piano made out of bees. Very painful to play. 20:15:46 does anyone know how optional parameters are implemented in compiled languages? 20:15:51 fizzie, :) 20:16:04 ehird: cabal knows to tell ghc to add those 20:16:10 i know 20:16:11 (well, on non-Windows systems anyway) 20:16:12 ktne, depends 20:16:15 so whydi get dis error 20:16:20 fizzie: in fact, actually it's from beep+piano, the p just fell out. 20:16:27 ktne, getopt 20:16:31 ktne, I assume compiler just resolves it at compile time to pass the extra args 20:16:34 alex89ru: uh, no. 20:16:35 he means to functions 20:16:40 in foo(int a = 2) or such 20:16:41 fizzie: quite an embarrassing misunderstanding, i'd expect more from you 20:16:44 AnMaster: what is the arity of a function that has optional parameters? required parameters + 1 extra parameter pointing to a struct? 20:17:00 ah lol 20:17:03 ktne, good question 20:17:04 my f ault sry, 20:17:09 fizzie: lately several beepianos have collapsed i hear 20:17:19 ktne, what is the arity if printf()? 20:17:43 (in C that is) 20:17:47 I think C++ compilers usually do it simply so that the calling function provides the default values of parameters if you don't specify them. 20:17:48 hmm 20:17:51 okay, enough irc for today, see you later... ally... gate... err 20:17:52 umm 20:17:52 -> 20:17:58 fizzie: i see.. 20:18:02 fizzie: great idea 20:18:14 ehird, that's a common question. Not sure if anyone has solved it but the channel logs should contain lots of references. 20:18:18 Dammit. 20:18:21 ktne, and what I said above....... 20:18:24 So the arity is the sum of normal and "optional" arguments; which in that sense aren't really optional at all, they just have default values provided. 20:18:26 ktne, I assume compiler just resolves it at compile time to pass the extra args 20:18:28 20:17 ktne, what is the arity if printf()? 20:18:28 20:18 (in C that is) 20:18:32 It just passes all args on the stack 20:18:32 AnMaster: i see, thansk 20:18:33 which is same as fizzie 20:18:37 ehird, indeed 20:18:37 and the va_arg functions pops them 20:18:40 if you mess up the printf vs args 20:18:43 you blow the stack 20:18:55 ehird, I know this, I just answered ktne's question with another question 20:18:58 if you read the contex 20:18:59 ah. 20:19:00 context* 20:20:08 ehird, you know, get him thinking for himself, "if you give a man a fish he has a food for one day, if you teach how to fish he has food for the rest of his life" 20:20:15 what about dynamic languages? 20:20:17 not sure if that is the correct form in English 20:20:49 ktne, I guess they just resolve it at runtime using metadata about the function? 20:20:57 is there any dynamic language that differentiates between two functions that have same name but different arity? 20:21:02 AnMaster: optional arguments are not the same as variable length list of arguments, necessarily 20:21:04 I have a feeling you could (with some difficulty) make a standards-conforming C++ implementation where (in case of functions with default values) the calling site provides just the number of arguments provided, and the function prologue handles the default values. 20:21:11 ktne, yes, erlang 20:21:18 ktne, no optional args though 20:21:32 AnMaster: that was the catch i was wondering about, they don't look compatible 20:21:45 io:format(A, B, C) and io:format(A, B) would be two different functions 20:21:59 i'm thinking about distinguishing between function using function name, arity, and number of return values 20:22:11 would that be sensible? 20:22:29 (ktne: actually it is io:format("string here: ~s integer: ~p~n", ["my string", 42]).) 20:22:50 i see, so it's two parameters 20:22:50 (thus passing a cons-style list with the arguments 20:22:58 right 20:22:59 ktne, well that specific function 20:23:18 ktne: probably, note prolog also does this and it uses arguments for return values 20:23:22 ktne, erlang use the notation: module:name/arity, so io:format/2 20:23:34 that's where erlang got it from too 20:23:43 oerjan, yes they are related in syntax 20:23:54 that's what i plan to, except that i also want to consider return values 20:23:59 Why would you ever have functions that take more than one argument? 20:24:02 io:format/2/1 20:24:03 erlang returns a value 20:24:07 i think mercury may do like prolog but with i/o declarations in addition 20:24:11 ktne, wow you mean more than one return value? cool 20:24:22 except 20:24:23 (statical) 20:24:28 that is basically returning a tuple 20:24:41 well, i'm thinking in a more low level thing 20:24:42 {someatom, someotheratom} 20:24:50 any language in which functions take more than one argument is clearly completely flawed. 20:24:53 i could return the multiple values directly 20:25:04 lament: :) 20:25:05 Lemmih: you made hSDL, right? :) how do I fix that error? any ideas? ehird: Install Linux. 20:25:08 ktne, well you can do that in erlang: 20:25:11 lament: the closure? 20:25:12 go to hell, library author. 20:25:16 lament: SHARE IN MY ANGER. 20:25:23 SDL's cross-platform! 20:25:23 ehird: hahaha 20:25:23 {MyVar, MyOtherVar} = my_func(), 20:25:24 AnMaster: yes but i want to avoid tuple allocation on return 20:25:33 ktne, erlang is based on pattern matching :) 20:25:53 ehird: first of all, note that hsdl has readme files about win32 and osx, and those are NOT written by lemmih. 20:25:55 although returning a tuple is sensible because you might just want to assign that tuple as a whole to some other variable 20:26:07 lament: okie? 20:26:16 ehird: so maybe you should bug those people instead 20:26:23 although returning a tuple is sensible because you might just want to assign that tuple as a whole to some other variable <-- or a list, or whatever 20:26:33 ehird: second, just do that part in C 20:26:34 ktne, and erlang isn't an esolang, so it is *sensible* 20:26:37 mostly 20:26:39 ok, done, i'm going to consider function name and arity, optional parameters if any will be sent using a hidden parameter, is this ok? 20:26:42 lament: the hackage package: 20:26:43 ehird: and third, see, this is why haskell sucks! 20:26:46 Copyright2004-2008, Lemmih 20:26:46 AuthorLemmih (lemmih@gmail.com) 20:26:48 MaintainerLemmih (lemmih@gmail.com) 20:26:55 ehird: how does that contradict anything i've said? 20:26:57 how could I possibly misinterpret that :D 20:27:01 ktne, what about using a list of tuples? 20:27:10 ktne: if you want the function to depend on number of return values then obviously the number of return values must be decided _before_ calling it, say by syntax 20:27:11 AnMaster: where a list of tuples? 20:27:39 ktne, like foo(arg, arg2, [{optionalargumentname, Value}, ...]) 20:27:44 erlang uses that way 20:27:51 but then I love erlang :) 20:27:54 AnMaster: that would be slow 20:27:55 maybe something such as python's tuple assignments 20:28:03 AnMaster: i want to avoid unnecesary list processing 20:28:08 ktne, well depends... 20:28:44 ktne, erlang seems to manage it fine, compiling to bytecode and then running under the vm 20:29:04 I believe it optimises stuff like constructing tuples too 20:29:09 /usr/bin/ld: warning -L: directory name (/sw/lib) does not exist 20:29:10 ehird: see, lemmih directed you to the same readme file as i 20:29:15 Just freaking hardcode for Fink. 20:29:16 Why don't you 20:29:26 ktne, after all it can just prepare one statically, it is single assignment, so no need to copy the stuff around 20:29:36 sure you need to parse it yes 20:29:53 i want to avoid parsing the list for arguments 20:30:03 ehird: i strongly suggest avoiding hsdl 20:30:05 oh well 20:30:16 ehird: that undefined reference to sdl_main is the same error i got yesterday on cygwin, by the way 20:30:18 although it would have the advantage of reducing memory usage if you have tons of optional parameters 20:30:28 lament: i'm gonna get thsi working. 20:30:29 no mattre what 20:30:34 ehird, what if this "Lemmih" doesn't own any OS X system he can test on? 20:30:34 /usr/bin/ld: multiple definitions of symbol _main 20:30:35 /opt/local/lib/libSDLmain.a(SDLMain.o) private external definition of _main in section (__TEXT,__text) 20:30:37 dist/build/Graphics/UI/SDL/General_hsc_make.o definition of _main in section (__TEXT,__text) 20:30:38 make a patch! 20:30:39 man what. 20:30:40 to help 20:30:48 AnMaster: what are you on about? 20:30:58 ehird, " Lemmih: you made hSDL, right? :) how do I fix that error? any ideas? ehird: Install Linux." 20:31:00 I suggest you take the resulting binaries, and change the first 3B to 3D 20:31:00 that 20:31:12 ais523, um? 20:31:25 AnMaster: yeah it was more saying "Install Linux" as a sarcastic flamebait response as opposed to "I don't know, I don't use OS X" 20:31:36 AnMaster: ok, this time you have missed a joke 20:32:11 ehird, after all, OS X has a non-traditional file system structure 20:32:27 AnMaster: what the heck has that got to do with anything 20:32:30 nothing 20:32:47 ehird, with things not being where a *bsd or linux developer expects them to be 20:32:48 AnMaster: that's probably not why you get the same undefined reference error as you do on cygwin 20:32:53 and the "framework stuff" then 20:33:07 lament, true, that is likely due to windows 20:33:09 call me when you're coherent, mon. 20:33:31 ehird, AWWWK! The pencil! ARGH! 20:34:50 3B or not 3B, that's the question 20:35:13 oerjan, Mr Jelly Beans! Spoon! 20:35:42 lament: ha, I think it's working 20:35:53 * oerjan does not get the reference 20:35:53 ehird: how did you fix it 20:35:59 wait, no it isn't working. 20:36:12 and google fails me 20:36:16 oerjan, the first one: no reference. The second: Discworld. 20:37:00 oerjan, oh and don't use " around... 20:37:13 since I'm pretty sure I didn't quote exactly 20:37:25 hm 20:37:32 it almost works. 20:37:47 * AnMaster noticed a lot of people here never noticed all the Discworld references he used throughout the year. 20:37:53 oerjan: 0xbfb830a3 20:38:02 I guess around 20%-30% were noticed 20:38:11 AAAAAAAAAAAAA 20:38:15 oerjan, ? 20:38:19 that's a genuine reference, I even wrote a C++ program to generate it 20:38:25 no references in C 20:38:25 ais523, what? 20:38:31 oh 20:38:32 right 20:38:38 well, to be precise it's a pointer to a reference, but I had to convert it to hex somehow 20:38:48 ais523, gdb? 20:38:53 printf 20:38:56 * oerjan swats ais523 -----### 20:39:01 * ais523 dodges 20:39:08 ais523, you could probably get the value using gdb 20:39:42 -!- Judofyr has quit ("raise Hand, 'wave'"). 20:39:58 ok, I don't get it 20:40:02 ais523: bfb830a3? 20:40:02 -!- ktne has left (?). 20:40:09 AnMaster: i'm only up to "Eric" 20:40:21 oerjan, oh I don't even know what book this was in 20:40:28 maybe Hogfather? 20:40:29 comex: well, to be precise it's a pointer to a reference, but I had to convert it to hex somehow 20:40:33 someone about the UU though 20:40:52 where Hex got infected by Busariness(sp? forget it...) 20:41:26 oh wait, ehird would suggest that I use "have" not "got" there 20:41:31 s/got/have/ 20:41:32 lament: 20:41:33 But we can fake it. In Core/Examples/MacOSX, I've included the Core/Examples/Test.hs example and a small Cabal definition to build it. Our actual 'main' is Test.sdl_main. We provide a Main.main, 'foreign export'ed as 'hs_main', which we will call from C. (We indirect so that the file Main_stub.o need not be rebuilt every time we modify module Test.) We provide our own 'SDL_main' in c_main.c, which initializes the Haskell runtime and calls 'hs_main', 20:41:38 running Test.main in an environment with SDL available. Finally, libSDLmain will find our C 'SDL_main' and call it, starting the whole process. 20:41:41 I vomited 20:41:53 ehird: yes, i've read that file 20:42:03 well, I'll try it 20:42:03 that was when i decided for sure to not bother with hsdl 20:42:10 AnMaster: i don't think "have" is correct there 20:42:16 oerjan, nor do I :) 20:42:18 it's not like using sdl is terribly hard 20:42:21 in C 20:42:25 AnMaster: probably you want "was" 20:42:29 you don't really win any points by doing everything in haskell 20:42:37 ais523, ouch 20:42:44 AnMaster: why ouch? 20:42:59 ais523, because I thought "got" was correct there 20:43:04 -!- GreaseMonkey has joined. 20:43:09 got is sort of correct there 20:43:17 lament: LIES 20:43:18 just it's a word you rarely hear adults using 20:43:41 oerjan, wait the first line also had a Discworld reference 20:43:48 "AWWWK!" -> Thud 20:44:15 Thud is one of the most recent ones 20:44:26 what about "seeed!" ? 20:44:32 but that one I didn't think about in advance 20:44:37 oerjan, hah 20:45:21 oerjan, well it is clear to me that the person ended up this way due to using sed for something non-trivial 20:45:32 like writing an RPN calculator 20:45:44 amazing clarity 20:45:46 so of course he would want awk 20:46:31 oerjan, "AWWWK!" is a cry for help in this case. 20:46:46 (Help! I'm stuck in a sed script!) 20:46:57 AWWWK! *THUD* sounds plausible 20:47:18 oerjan, no, the book is Thud, but Awwwk isn't related to that 20:47:45 AWWWK! *WHOOSH* even more so 20:47:46 the book is named after the table top game Thud that is quite important to the plot 20:47:51 Thud is somewhat like chess 20:48:00 oerjan, mhm.... 20:49:27 % ghc --make -no-hs-main bleep.hs main.c -o bleep 20:49:27 [1 of 1] Compiling Bleep ( bleep.hs, bleep.o ) 20:49:29 Linking bleep ... 20:49:31 lament: that was _easy_ 20:49:47 13 lines of trivial c in main.c, then just instead of main in haskell, do: 20:49:52 foreign export ccall sdl_main :: IO () 20:49:53 sdl_main :: IO () 20:50:20 i guess this program is bleeping annoying 20:50:59 ehird: can you send me it? 20:51:04 lament: yep 20:51:33 ehird, does it work on Linux? 20:51:39 yes 20:51:56 ehird, gave up haskell kernel? 20:51:57 lament: here you go: http://pastie.org/private/b4humfcteprzojcrqhcq 20:51:59 AnMaster: nope 20:52:02 :D 20:52:24 lament: you can rename sdl_main to sdlMain 20:52:27 and call it as sdlMain() in C 20:52:29 that's more haskelly 20:52:57 er well actually 20:52:59 I'm not sure that works :P 20:53:55 ehird: i don't get it 20:54:05 lament: SDL.h defines the macro "main" 20:54:08 to rewrite to SDL_main and stuff 20:54:11 first, how does #include "SDL/SDL.h" work? 20:54:16 err, how doesn't it 20:54:28 like this: main.c:1:21: SDL/SDL.h: No such file or directory 20:54:33 okay, well 20:54:40 where's your SDL includes? 20:54:40 shouldn't that be ? 20:54:44 that works too 20:54:44 :P 20:54:54 they're in /usr/include 20:55:53 lament: actually, in main.c 20:55:56 don't import bleep_stub.h 20:55:57 instead, do this: 20:56:34 extern void hs_init(int *, char ***); 20:56:34 extern void hs_add_root(void (*)(void)); 20:56:35 extern void __stginit_Bleep(void); 20:56:37 extern void sdlMain(void); 20:56:39 extern void hs_exit(void); 20:56:41 then you can compile them in one go 20:56:43 ugh 20:56:43 (before I had compiled them separately) 20:56:47 lament: it's ugly, but 20:56:49 you only have to write it once 20:56:55 in fact 20:56:58 you can make it even less changey 20:57:03 change Bleep to Main 20:57:05 it doesn't work anyway, i can't even get it to find SDL/SDL.h 20:57:08 and remove the module statement from bleep.hs 20:57:11 then you never have to touch the c file 20:57:23 lament: well, do 20:57:34 ghc --make -no-hs-main -L/usr/include main.c bleep.hs -o bleep 20:57:36 i guess 20:58:21 i think my ghc is fucking retarded 20:58:26 i don't think it accepts cygwin paths 20:58:47 then give it c paths :P 20:58:55 btw I was wrong, it can't be called main 20:58:56 oh well 20:58:59 call it SDLMain 20:59:15 * AnMaster leans back and notice no issue on Linux with such stuff. :D 20:59:15 afk 20:59:17 i am utterly confused 20:59:26 AnMaster: it's hsdl's fault 20:59:26 AnMaster: there isn't such an issue on any platform 20:59:29 lament: ok, what are you doing 20:59:32 except when you're using this broken library 20:59:43 ehird: i dunno, i can't get it to find SDL.h 20:59:48 paste the command + error 21:00:17 $ ghc --make -no-hs-main -L/usr/include bleep.hs main.c -o bleep 21:00:17 main.c:1:21: SDL/SDL.h: No such file or directory 21:00:53 can you make ghc output the list of header paths searched? 21:00:56 not sure 21:01:00 try -LC:\real\path 21:02:03 nope 21:02:20 -!- impomatic has quit ("http://impomatic.blogspot.com :-)"). 21:02:40 on the other hand "$ gcc -L/usr/include main.c" works 21:02:45 (but dies when linking of course) 21:03:08 now -that's- odd 21:03:11 lament: as a hack, change the include to 21:03:14 it's my ghc 21:03:17 #include "/usr/include/SDL/SDL.h" 21:03:18 i'm sure 21:03:20 ugly as fuck? yes. 21:03:21 but works? yes. 21:03:47 actually it doesn't, trying the c path instead 21:04:11 yep, now it found it 21:04:14 you think that was ugly 21:04:15 use ghc to generate C output then link it? 21:04:21 AnMaster: no... 21:04:25 stop making wild guesses all the time kthx 21:04:25 THIS is ugly: #include "C:\cygwin\usr\include\SDL\SDL.h" 21:04:34 ehird, you do that too 21:04:35 but it actually worked \o/ 21:04:41 AnMaster: uh huh 21:04:43 lament: \o/! 21:04:46 lament, don't you need to escape the \ ? 21:04:51 now what was all that other stuff i was supposed to do 21:05:01 nothing, it's fine 21:05:06 do you want an updated version though? 21:05:13 technically speaking, strings in a #include can be parsed however the compiler wants 21:05:18 they aren't ordinary C strings 21:05:28 ehird: yay, it actually workes 21:05:34 the only thing i had to do with add -XCPP 21:05:39 they don't even technically have to refer to filenames, although every compiler I've met does that 21:05:43 since otherwise i get 21:05:44 Graphics/UI/SDL/RWOps.hs:21:1: lexical error at character 'i' 21:05:48 lament: woot 21:06:33 ehird: but this is fucking ugly 21:06:48 lament: not really 21:06:49 -!- BeholdMyGlory has quit (Remote closed the connection). 21:06:50 you don't have to think about the c 21:06:52 since this program doesn't use much sdl, it seems just using C would be cleaner 21:06:53 it's static, forever 21:06:57 all you modify is your haskell 21:06:59 and just copy the c file around 21:07:16 it's static until you need to modify it 21:07:21 eg when it can't find SDL.h 21:07:32 that's when you realize you have a horrible bitrotten mess. 21:07:38 WFM without that hack 21:07:38 :P 21:07:50 WFM? 21:07:59 Windows Foundation Metaclasses 21:08:01 "Well Fuck Me"? 21:08:06 Works For me. 21:08:19 -!- M0ny has quit ("Quit"). 21:08:23 right, but it's supposed to be crossplatform 21:08:29 it should be 21:08:33 your system is fucked 21:08:33 well, it isn't 21:08:33 :P 21:08:36 clearly 21:08:43 the SDL itself is cross-platform 21:08:46 no, it doesn't work on your system because your ghc or something is broken 21:08:49 ais523: thanks cpt obv 21:08:59 -!- BeholdMyGlory has joined. 21:09:17 ehird: i used windows, then i switched to linux, then i switched to mac 21:09:21 i use windows and mac at work 21:09:27 yes, and? 21:09:27 new oses come out all the time 21:09:30 fix your cygwin environment 21:09:33 new version of os x comes out, everything breaks 21:09:37 no 21:09:39 that code is perfectly fine 21:09:41 my point is, bitrot is a real problem 21:09:43 it's your cygwin environment 21:09:51 and the C file is 13 bloody lines, man 21:09:52 and everything that helps avoid bitrot is good 21:09:54 it's hard to bitrot 13 lines. 21:10:08 it's not about the size 21:10:15 it's about the number of possible points of failure 21:10:29 in this case, hsdl is an extra point of failure, and this hacky c file is another point of failure 21:10:56 i sent the files to you because they're simple and worked for me and you asked 21:11:00 i trust SDL not to bitrot 21:11:11 they don't work on your weird-ass broken cygwin environment 21:11:12 i don't really trust hsdl not to bitrot, especially since it already requires hacks to run 21:11:14 don't complain about that to me 21:11:29 it's not weird-ass broken, it's a regular cygwin environment 21:11:40 except your ghc is broken 21:12:04 it's a standard install of ghc for windows 21:12:08 ais523: thanks cpt obv <-- you would have been a lot nastier towards me 21:12:18 AnMaster: no I would not have 21:12:23 stop whining about how horrible I am to you all the time 21:12:28 *sob* 21:12:32 lament: mixing cygwin + non-cygwin always fails 21:12:46 ok, this _is_ odd... 21:12:46 KeyDown (Keysym {symKey = SDLK_a, symModifiers = [], symUnicode = '\NUL'}) 21:12:50 why on earth is symUnicode nul 21:15:14 lament: link to haccordion? I lost the source 21:15:27 http://filebin.ca/vcfm/haccordion.tar.gz 21:15:30 if it's still there 21:15:54 does it use haskore? 21:16:21 no, it uses hmidi 21:16:27 haskore looks cooler :-P 21:16:32 but hmidi is better. 21:16:40 why 21:17:29 i don't even know if haskore has a midi interface 21:17:39 but it seems a huge library designed for something completely different from what i need 21:17:42 -!- alex89ru has quit ("Verlassend"). 21:18:05 http://www.haskell.org/haskellwiki/Haskore 21:18:09 you just compose chords and play them as midi 21:18:47 i don't need to compose any chords. Look at play_note.hs. 21:18:58 ehird, what about playing style? attack? 21:19:07 lament: haskore doesn't require you to create a garageband instrument? 21:19:08 :P 21:19:23 ehird: that's a -feature- 21:19:28 not a garageband instrument 21:19:34 haccordion is a midi device 21:19:39 you connect it to any midi synth 21:19:44 oh, that's why it didn't work then 21:19:46 that's a good thing (tm) 21:20:01 i could connect it to my external midi keyboard for example 21:20:04 i thought you typed into the program and it played 21:20:13 you type into the program, it sends midi events 21:20:22 it doesn't play anything 21:20:44 you didn't make that clear 21:21:23 it should be pretty obvious from the requirement to open garageband and create a midi track :) 21:21:44 lament: how do I set that midi track to the program 21:22:21 turn on IAC 21:22:23 IAC is like a loopback 21:22:30 how do I use it after doing that 21:22:49 it should just work after that, because garageband seems to take all midi input 21:23:14 1 midi inputs detected, it says 21:23:17 yes 21:23:17 you didn't make that clear <-- why? 21:23:18 so it;'s the keyboard that's the problem 21:23:21 yes 21:23:22 I mean we all have midi set up 21:23:25 so it would just work 21:23:41 you know nothing about what you're talking, AnMaster. please stop. 21:23:44 using your midi hardware :) 21:24:25 err 21:24:31 lament when trying that app 21:24:37 keys.c:2:53: error: ApplicationServices/ApplicationServices.h: No such file or directory 21:24:39 it's os x only. 21:24:40 ? 21:24:41 like he said. 21:24:43 oh crap 21:24:53 * AnMaster rm -rfs it 21:25:03 what about wxwidgets 21:25:10 wow you're an idiot. 21:25:27 * oerjan watches AnMaster accidentally press return after ~ 21:25:40 AnMaster: does wx provide a way to monitor keyup/keydown events? 21:25:48 lament, SDL then 21:25:52 ... 21:25:54 nice 21:25:54 HE TRIED SDL 21:25:57 HAVE YOU BEEN LISTENING?!?!?! 21:26:01 ehird, yes 21:26:04 evidently not 21:26:07 AnMaster: now you're only like three hours behind the conversation :) 21:26:07 and I can't see the issue with SDL here 21:26:13 since I know sdl works for that 21:26:16 almost catching up 21:26:18 I used sdl myself for that 21:26:25 yes 21:26:27 oh just shut up 21:26:28 i will probably do that too 21:26:30 (use sdl) 21:26:41 lament, I admit it was from C, not haskell 21:26:43 so *shrug* 21:26:43 lament: but BITROT :-P 21:26:54 ehird: i trust SDL more than apple api 21:26:58 oh OS X == bitrot 21:26:59 indeed 21:27:02 especially since apple api doesn't work for you! 21:27:10 lament, exactly 21:27:12 SDL is not gonna bitrot any time soon 21:27:14 AnMaster: do you think you could just jump off a cliff? that'd help this conversation immensely. thanks x 21:27:22 brb. 21:28:33 ehird, permission denied 21:29:46 ENOCLIFF 21:30:02 :) 21:40:28 i need some music 21:40:42 listen to Marvin Gaye "What's going on" 21:40:47 i don't know what that is, never heard it 21:41:35 sounds pretty gay 21:42:24 fine then, listen to mozart - piano concerto no. 21 - andante 21:43:08 no 21:43:44 fine then, go fuck yourself with a toilet plunger 21:44:07 yes please 21:44:20 please, the atmosphere in here is deteriorating 22:06:11 -!- KingOfKarlsruhe has quit (Remote closed the connection). 22:10:19 back 22:10:22 hi lament 22:10:32 ais523: wah 22:10:48 lament: want the updatd main.c? 22:11:55 lament: http://pastie.org/private/nks52uzi3kpvb22vqxzba 22:12:01 it'll work as long as it can find sdl/sdl.h 22:12:04 so, just use -L or w/e 22:12:05 err 22:12:06 -I 22:12:13 -Ic:\path\to\include 22:17:44 lament: hmidi works 22:17:46 as i'm using i 22:17:47 t 22:24:41 lament: you there? 22:28:32 lament: does your program support all keys or just alfabettycal? 22:29:40 hmm, how does it handle qwerty? it just seems to use the key codes 22:29:48 ah, positionForKeyCode? 22:29:49 ugly 22:30:52 yes 22:30:54 you mean pretty 22:31:01 since i'm using dvorak and it still works 22:31:10 wait, how does it work on both? 22:31:21 because scan code is based on location on the keyboard 22:31:24 yep 22:31:30 not on the keycap 22:31:32 ah 22:31:37 well now I gotsa figure out how to get the scancode from sdl 22:32:17 hmm, it has .scancode 22:32:27 but it asys it's hardware-specific 22:32:27 :< 22:32:34 and hsdl doesn't seem to have it 22:32:42 h mhm 22:34:12 hrrm 22:34:44 yeah 22:34:50 it ought to be hardware specific, makes sense :\ 22:35:33 but yeah, wonder how I get to that 22:36:04 -!- oerjan has quit ("What about circular keyboards?"). 22:36:21 fuck circular keyboards 22:36:39 well, at least if it's a mac you probably have a standard mac keyboard 22:36:46 so we need to figure out the most useful language for which the halting problem is solvable 22:36:50 that's quite an assumption, ais523 22:36:55 bsmntbombdood: total FP langs 22:36:58 ehird: but macs are designed for mac hardware 22:37:08 so the programs you write for them can be too 22:37:08 ais523: not in the realm of keyboards and mice. stop trolling please 22:37:36 ehird: is that the first time you'v accused me of trolling? 22:37:41 a momentous occasion, if so 22:37:46 I don't think so 22:37:50 bsmntbombdood: Haskell, with the condition that every program terminates automatically after a thousand years. 22:37:53 -!- bsmntbombdood has quit. 22:38:02 I don't think that's for turing machines lament 22:38:03 :P 22:38:05 clearly bsmntbombdood didn't like that idea... 22:38:10 oh, wait 22:38:11 ha 22:38:24 ehird: he didn't say for turing machines. 22:38:27 what about Haskell running on a typical desktop supercomputer? 22:38:28 -!- bsmntbombdood has joined. 22:38:36 the halting problem's soluble then, as you have infinite memory 22:38:37 typical, desktop, supercomputer 22:38:38 *finite memory 22:38:40 "VWAT" 22:38:49 ehird: there has to be one, surely? 22:38:56 "soluble"? 22:39:26 sorry, all this is evidence that it's late and I should go home 22:39:28 ais523: a typical desktop supercomputer without any peripherals! 22:39:46 he said "the most useful" 22:39:55 an environment without internet access doesn't qualify! 22:40:01 well, a desktop supercomputer is more useful than a mainframe supercomputer 22:40:10 and more useful than a desktop ordinary computer 22:40:11 he said the most useful 22:40:15 not just more useful 22:40:19 it has to be provably the best 22:40:21 i.e. Haskell 22:40:27 and being typical is useful, as it helps you find other people who know how to use it on IRC 22:40:37 haskell is pretty typical. 22:40:52 it has sdl bindings, just like any other language. 22:41:15 too bad they rely on a nasty hack to work. 22:42:35 no 22:42:36 only on OS X 22:42:40 oother platforms don't have that sdlmain shit 22:43:11 I should go home, anyway 22:43:12 -!- ais523 has quit. 22:43:18 ehird: OS X and Windows. 22:43:25 well, fine 22:43:26 "other platforms" are Linux in this case. 22:43:27 but that hack is only 13 lines 22:43:28 and it's trivial 22:51:24 -!- Corun_ has quit ("This computer has gone to sleep"). 23:02:49 -!- jix has quit ("..."). 23:06:57 guys, who wants to chip into my fund to buy a lisp machine. I'll give everyone shell access to it. 23:10:32 Lithp mathineth have nethworking? 23:10:36 :P 23:11:28 He didn't say anything about networking 23:12:11 GregorR: I believe so, if not, I can hook another machine up to it as a proxy. 23:12:12 Deewiant: *g* 23:15:00 but it would be so awesome./ 23:15:35 Just get the keyboard, that's 50% of the awesome 23:15:44 More like 30% 23:15:49 The actual lisp system is the rest. 23:15:57 Then putting it online is 1000000% more. 23:15:58 I value the keyboard higher than that :-P 23:16:01 Especially an HTTP server. 23:16:08 I'd run helloiamalispmachine.com 23:17:24 also, I have a Symbolics 3640 (l-machine, TTL logic, some bit-slice) and a XL1200 (i-machine, "Ivory" custom cpu). Both run and are capable of working on the network. 23:17:24 so yep 23:17:26 network 23:35:13 so 23:35:22 have i mentioned i'm a microsoft fan now 23:35:27 ... 23:35:28 why 23:35:51 microsoft songsmith has a feature where you can sing a song, and it generates the backgrounds automatically 23:36:00 umm that's the whole point of songsmith 23:36:03 retard for brains 23:36:04 :P 23:36:25 mmkay, i thought it was a garageband replica. 23:36:33 but that's kinda beside the point, holy shit that's cool 23:36:45 it's also worthless 23:36:47 it's shite :D 23:36:58 shite as in how? 23:37:04 as in... it works terribly 23:37:08 i've heard three songs 23:37:25 one failed, two were just fine 23:37:38 i don't think a human could do better 23:37:39 oklopol: http://www.youtube.com/watch?v=k8GIwFkIuP8 23:39:30 and that's bad? 23:39:43 dude are you blind and deaf 23:39:48 that advert is awful personified 23:40:00 sounds absolutely perfect to me, which chord sounds bad exactly? 23:40:06 i sense sarcasm 23:40:10 yeah the advert is stupid 23:40:11 so? 23:40:19 that's kinda beside the point 23:40:22 http://www.youtube.com/watch?v=j7qyjLuWVU8 23:40:22 -!- FireFly has quit ("Later"). 23:40:58 -!- BeholdMyGlory has quit (Remote closed the connection). 23:41:16 i'd just heard existing songs backgrounded by it, in britney's toxic it actually failed pretty badly. 23:41:41 oklopol: try this 23:41:41 http://music.metafilter.com/2943/Runnin-With-The-Songsmith 23:42:45 yeah that fails too 23:43:11 the verse that is, the chords fit the screams pretty well though 23:43:50 but who cares if it can't do songs where the singer sounds like a tractor stuck in mud 23:44:13 i doubt i could make good backgrounds for that, without listening to the original first 23:44:50 i can't believe people don't see how great that is 23:45:32 dude you're fucking deaf 23:45:36 lament: oklopol likes songsmith 23:45:42 kick, ban 23:45:46 8| 23:46:00 http://www.youtube.com/watch?v=22AWPW5s4EA <<< example of a perfect fit 23:46:00 kick whom? ban whom? 23:46:08 lament: me, i like songsmith 23:46:15 in fact, i consider it absolutely amazing. 23:46:27 but songsmith is by microsoft research 23:46:31 and haskell is by microsoft research 23:46:39 guilt by association! oh noes! 23:46:40 lament: yeah but it's songsmith 23:46:46 ehird: you like haskell! 23:46:50 okay, it fails further down the road. 23:46:52 songsmith, man 23:46:53 therefore you like songsmith! 23:46:57 kick, ban 23:47:00 but still, not bad. 23:47:07 lament: haskell existed before MS research sucked up spj 23:47:25 they probably got songsmith from somewhere too 23:47:26 lament: please give sensical comments, as i'm thinking you might actually agree with me, not being a retard. 23:47:40 lament: nope 23:47:43 team at MS research 23:47:43 oklopol: i've never seen any songsmith videos 23:47:45 I read their freaking forums 23:47:48 oklopol: and i'm at work so i can't watch them 23:47:54 (right now) 23:48:03 lament: they're awful. bastardizing music. kickban oklopol quick >:| 23:48:06 ehird: you read songsmith forums? 23:48:12 i did when I found out about it 23:48:15 lament: please comment on it when you can, you're the only human i know who knows both computers and music 23:48:25 ehird: i think i should get an ircop to ban you from the network! 23:48:29 http://www.youtube.com/watch?v=uBajcshfTTM 23:48:41 oklopol: i think it's awesome! 23:48:46 but i still haven't seen any videos 23:50:00 lament: well, all you really need to know is it makes backgrounds given just the song track - and it actually does it well in some cases. 23:50:10 amazing 23:50:22 lament you like classical 23:50:25 you cannot possibly like songsmith 23:50:29 i mean as well as an average songmaker. 23:50:45 ehird: at least i don't read their forums, fanboi! 23:50:50 it comes up with the same kinda stuff i would come up with, if i just started backing up a singer. 23:50:54 lol 23:51:32 lament: please leave work so you can listen and comment. 23:51:50 http://www.youtube.com/watch?v=2-BZfFakpzc 23:53:02 wow 23:53:24 i don't remember ever being this amazed at a program 23:54:14 oklopol i so hope you're drunk or something 23:54:15 :D 23:55:00 i hope you're being annoying just to be annoying 23:55:09 :P 23:55:25 oklopol: http://www.youtube.com/watch?v=ypycpKQxXR0&feature=PlayList&p=33C9533F899548DD&playnext=1&index=3 23:57:36 http://www.youtube.com/watch?v=e1e_h1OJfS4 Wow, it actually improves oasis 23:57:53 oh my god, transposition. 23:58:17 amazing how well it actually understands western song structure 23:58:30 understands = was hardcoded in :P 23:58:55 that's possible too, and that might be simpler to do than i think, just haven't heard anyone do it before. 23:59:05 similar products exist. 23:59:15 as good? 23:59:42 would love to hear 23:59:43 better 23:59:44 :P 23:59:46 link 23:59:46 but they cost a lot. 23:59:50 band in a box, is one 23:59:53 songsmith is based on it