00:12:05 There seem some effects of MCK which are not possible in Impulse Tracker or any other tracker formats, such as desynchronized loops, or activating multiple effects for one note 00:13:54 Although for desynchronized loops I could have the program expand the loops until they are synchronized when compiling it 00:21:12 MegaZeux cannot play .NSF files so to create music for MegaZeux game require other program; it can play .MOD, .S3M, .IT, .XM, .OGG, .WAV formats, and maybe a few others too. 00:22:11 Do you know if there is any MML compilers for these formats? 00:24:37 -!- MoALTz_ has quit (Ping timeout: 252 seconds). 00:25:00 -!- nortti_ has quit (Ping timeout: 244 seconds). 00:30:34 -!- MoALTz has joined. 00:43:47 -!- PatashuXantheres has joined. 00:43:47 -!- Patashu has quit (Disconnected by services). 00:43:52 -!- Gregor has quit (Remote host closed the connection). 00:45:18 -!- ion_ has joined. 00:45:52 -!- Vorpal has quit (Ping timeout: 265 seconds). 00:48:21 -!- esowiki has joined. 00:48:22 -!- glogbot has joined. 00:48:23 -!- glogbackup has left. 00:48:23 -!- HackEgo has joined. 00:48:24 -!- EgoBot has joined. 00:48:25 -!- esowiki has joined. 00:48:26 -!- esowiki has joined. 00:50:08 -!- glogbackup has joined. 00:50:14 -!- Gregor has joined. 00:50:25 -!- ion_ has changed nick to ion. 00:51:01 lambdabot: Oh shit you're not here. 00:51:17 Gregor: Oh shit you're here. 00:51:44 Only momentarily. I'm still in China, I just wanted to check how much SHIT WENT DOWN while I was gone. 00:51:47 As it turns out: a lot. 00:52:06 the logs weren't working at one point; i haven't checked them since. 00:52:55 -!- PatashuXantheres has quit (Read error: Connection reset by peer). 00:52:58 well looks like you just got them working 00:53:16 -!- Patashu has joined. 00:53:37 Did glogbackup figure it out? >_> 00:53:53 I may have to implement proper log merging. I'll solicit logs if I need them. 00:54:15 Gregor: no, glogbot was still here, just not logging 00:54:17 Gregor: glogbackup was here, I think. 00:54:22 Oh. 00:54:29 Gregor: tunes.org logged everything. 00:54:30 So. 00:54:33 You can merge that in. 00:54:41 Okidoke. 00:54:42 Piffle. 00:54:46 I blame China. 00:55:10 Gregor: May I suggest having glogbackup always present? 00:55:47 'snot a terrible idea *shrugs* 00:55:56 snot, a terrible idea 00:56:49 anyway we won't see Gregor again, now that he's blamed China. 00:57:06 Even more dangerously, I'm blaming China from WITHIN CHINA. 00:57:11 right. 00:57:18 Gregor: I suspect it might have been a software failure, anyway. 00:57:24 Some line caused it to break or something. 00:57:38 No, it was a much more retarded software failure. 00:57:43 Brog likes rocks! 00:58:26 any relation to Thog? 00:59:08 * oerjan learns that Thog is also a muppet 00:59:45 hi Gregor 00:59:56 Gregor: Just so long as you don't say it in Mandarin. 01:00:14 *nods* 01:00:44 if he had said it in Mandarin, he'd been automatically disconnected already. or wait, that is if _we_ said it in Mandarin. 01:00:48 and dont ask them about their grass mud horses 01:00:51 also gregor 01:00:59 when are you coming home we miss you 01:01:13 I'll be back on the 19th. 01:01:19 In fact, I'll make it better for you. 01:01:57 大中華人民共和国最良! 01:02:17 also, http://brog.engrish.com/ 01:02:29 (~= "The great People's Republic of China is the best!") 01:02:54 wait, did i just ruin it again 01:03:03 -!- lambdabot has joined. 01:03:41 second item on that site says yes 01:04:12 lambdabot: Messages? 01:04:38 -!- zzo38 has left. 01:04:56 @tell Gregor you dont have any messages 01:04:56 Consider it noted. 01:05:29 Gregor: Did you know you can say 01:05:30 @messages? 01:05:30 Sorry, no messages today. 01:05:31 ? 01:06:21 共産主義! 01:06:47 @massages 01:06:47 You don't have any new messages. 01:06:57 @massages? 01:06:58 Sorry, no messages today. 01:07:04 Sorry. 01:07:05 ("Communism!") 01:07:24 pikhq_: Do you know how good a game _Zork: Grand Inquisitor_ is? 01:07:29 shachaf: 01:07:32 shachaf: No 01:07:44 pikhq_: You should find out! 01:08:54 I stumbled upon this page: http://www.mu6.com/catalan_numbers_growth.html Which seems to show a relationship between the numbers of pascal's triangle and the catalan numbers. However, with pascal's triangle going on forever and ever, I was wondering if you could find such a relationship between pascal's triangle and any series of numbers... 01:09:18 Patashu: I have not even scrolled down that page and I can tell you it's the work of a crank. 01:09:32 yeah 01:09:33 it is 01:09:43 http://www.mu6.com/images_catalan_numbers/catalan_pascal-208012.jpg picture in question 01:21:59 @time 01:22:00 Local time for elliott is Sat Jun 16 02:23:22 01:22:35 how is @time coded 01:22:39 I'd like that for my own bot 01:22:57 * Received a CTCP TIME from lambdabot 01:23:04 oh 01:23:04 ok 01:23:15 @time Patashu 01:23:17 Local time for Patashu is Sat Jun 16 11:23:09 2012 01:23:26 yes, I see it now 01:27:47 hm wp has formulas for catalan numbers based on binomials, so obviously there is _some_ connection 01:28:34 binom(2n,n) - binom(2n, n+1) for example 01:30:04 i was waiting for oerjan to get on the case :P 01:31:45 well the picture _does_ seem to spread them a bit randomly around 01:42:25 oh what am i doing, i bet here's a great place to ask about parsers huh? :P 01:42:29 -!- david_werecat has quit (Read error: Connection reset by peer). 01:42:30 -!- davidwerecat has joined. 01:44:21 i'm trying to figure out what kinds of parser methods are available, which are best and what constraints they operate under 01:44:26 so i can read about one that suits me and implement it 01:44:27 :P 01:45:25 LALR(1), packrat, monadic parsing combinators... 01:45:44 ..., recursive descent, ... 01:46:05 ..., pratt parsers, ... 01:47:32 haha yeah, i can get more specific 01:47:32 ;) 01:47:59 i just got sidetracked by wikipedia 01:48:43 so right, i have a sequence of either html tags or text values; i want to be able to create rules to match sections of the input sequence to identify specific text values with specific meanings and store that data 01:48:51 i don't know enough to know what's best suited to the job 01:48:55 google hasn't been helping much 01:52:01 what i'm trying to figure out is: which kind of parsing is most desirable for speed? what are the restrictions that i have to work in? 02:03:09 (looking at lalr now..) 02:03:29 seems about right i think 02:13:58 elliott: I heard kmc doesn't even own a television. 02:34:28 -!- Patashu has quit (Read error: Connection reset by peer). 02:36:44 -!- Patashu has joined. 02:43:30 kmc: Is it just me or is gcc's inline assembly syntax really badly documented? 02:45:03 shachaf: Yes. 02:50:09 OK, so %ebp is "p". 02:50:14 I wonder how I would've found that out. 02:54:36 -!- oerjan has quit (Quit: leaving). 02:55:58 huh that's not even in http://gcc.gnu.org/onlinedocs/gcc/Machine-Constraints.html#Machine-Constraints 02:56:21 what's worse is that apparently the constraints for %r8 through %r16 simply don't exist 02:58:08 myndzi: ask edwardk about packrat parsing 02:58:11 if you can handle it 02:58:34 er that's "%r8 through %r15" 02:59:48 probably these don't exist because the gcc machine descriptions have not needed them, seeing as they aren't special to particular x86 instructions 03:00:42 (whereas, for example, %rax and %rdx are special, because they implicitly hold the result of IMUL or RDTSC) 03:01:18 but this is a poor excuse for a lack of uniformity 03:01:45 this annoyed me when writing a generic syscall function for amd64 Linux 03:02:05 ideally it would just be asm("syscall" : pile of constraints) 03:03:28 and then, if the function is inlined, the compiler can arrange for the arguments to be already present in %r10 and %r8 and such, rather than moving them there 03:03:46 did you all see http://blog.xen.org/index.php/2012/06/13/the-intel-sysret-privilege-escalation/ 03:04:19 I saw that! 03:04:31 Pretty neat. 03:06:04 -!- pikhq_ has quit (Ping timeout: 246 seconds). 03:06:13 -!- pikhq has joined. 03:06:24 yeah, good times 03:06:40 kmc: I was writing asm("syscall" : ...) for 32-bit x86, in fact. 03:06:59 not asm("int $0x80")? 03:07:03 Er, yes. 03:07:18 (I *was* writing asm("syscall"), in fact, but then I was reminded not to do that.) 03:08:14 Is syscall() the only assembly function you really need to write libc-less C in Linux? 03:08:42 I guess there are a some other parts of libc that you couldn't implement. 03:08:59 By the way, I found out that gdb allocates memory by calling malloc(). 03:09:17 So if you p foo("abc") it'll malloc space for that string. 03:09:57 it looks up the symbol "malloc" in the target process's address space and calls it?? 03:10:05 So it would seem. 03:10:07 what if you don't have malloc, or just don't have symbols? 03:10:19 The symbol comes from libc, I guess. 03:10:32 If you don't have malloc then it can't do p foo("abc") 03:11:04 I was trying to figure out how gdb does syscalls by unmapping various pages and seeing if it could still manage it. 03:11:10 But I guess gdb doesn't directly do syscalls at all. 03:11:18 shachaf: in my most recent libc-less project, I wrote syscall1 through syscall5, rdtsc, and mfence 03:11:41 I just wrote a varargs syscall. 03:11:52 Well, this was 32-bit, which I guess is a bit simpler. 03:11:55 But actually not really? 03:12:06 varargs :( 03:12:07 You can always load junk from the stack into the argument registers. 03:12:17 i wanted the nice inlining behavior 03:12:17 kmc: Hey, I was implementing the spec here! 03:12:22 because i was ricing the code 03:12:25 #include 03:12:33 kmc: You know what you'd do if you wanted syscall performance? 03:12:34 Not have syscalls. 03:12:35 @ 03:13:04 You know what you'd do if you wanted syscall performance? 03:13:07 Not have syscalls. 03:13:10 MS-DOS 03:13:27 also i wrote asm for a specific use case of mmap, so i could load immediates into %r10, %r8, %r9 directly 03:13:27 I guess they have syscalls. But you don't *need* to use them. 03:13:56 i,i iopl(2) 03:14:01 Did it turn out to be mmap2 instead of mmap, or is that just for i386? 03:14:08 People used syscalls on MS-DOS. 03:14:18 elliott: But they didn't *need* to! 03:14:28 shachaf: I used __NR_mmap 03:14:39 that's a hack to allow >32-bit offsets on 32-bit linux, right? 03:14:50 kmc: Can you write @ for me? 03:14:51 No, it's a hack because mmap has 6 arguments. 03:15:00 The old ABI only allowed 4 or 5 arguments or something. 03:15:12 a lot of "numbered syscalls" reset to 1 on amd64 because the newer versions predate the amd64 ABI 03:15:25 "The mmap2() system call provides the same interface as mmap(2), except that the final argument specifies the offset into the file in 4096-byte units (instead of bytes, as is done by mmap(2))." 03:15:45 Maybe it does both, I don't know. 03:16:00 so how did the old ABI work with 5 arguments? 03:16:08 By passing a pointer to some memory. 03:17:28 "to get to the other side" 03:17:35 kmc: Oi. 03:17:50 ? 03:18:55 shachaf: Did you know there's a patron saint of drug smugglers? http://en.wikipedia.org/wiki/Jes%C3%BAs_Malverde 03:19:18 (fake saint, kind of like the "Nobel Prize" in Economics) 03:19:38 Patron Memorial Saint 03:19:46 He is not recognized as a saint by the Roman Catholic Church. 03:20:09 *shock* 03:20:10 Gregor: You have 5 new messages. '/msg lambdabot @messages' to read them. 03:20:13 ... 03:20:27 @ask Gregor What are all those messages? 03:20:27 Consider it noted. 03:20:37 @messages 03:20:37 shachaf asked 10s ago: What are all those messages? 03:20:46 Mostly people saying "AGG UR BOT BORKED" 03:20:49 kmc: Are you ad rug smuggler? 03:20:59 bash: fork: Cannot allocate memory 03:21:01 FFFFFFFFFF 03:21:15 you got punked 03:21:41 shachaf: not by trade 03:21:51 I have transported illegal drugs through zones in which they are illegal 03:21:54 which is everywhere 03:22:18 shachaf: syscall isn't the only function you'll need to write in C... 03:22:31 Erm, asm. 03:22:35 shachaf: It's just the only function that's really something you care about. 03:22:36 pikhq: It is to write the thing I was writing! 03:22:51 Yes, there are a bunch of others. kmc mentioned some of them and there are others. 03:22:52 I assume you don't care about setjmp, longjmp, et al. 03:23:11 i also cheated by using a few GCC builtin functions 03:23:24 memset, memcpy, strlen, fmodf, ia32_shufps 03:23:24 I wish setjmp had an equivalent of makecontext(). 03:23:52 Is this considered bad C style? { int (*hd2i)(char) = hexdigit2int; ...hd2i()...hd2i()...; } 03:24:00 Ah, yes, another good example of something you won't care much about. 03:24:16 pikhq: Userspace threading is the future! 03:24:27 these all (in my use case) expand to inline assembly 03:24:29 kmc: Did your network server do userspace threading? 03:24:39 shachaf: I think more accurately that's considered "C style you wouldn't even realise exists". 03:24:44 no, it uses clone(2) 03:25:02 And you call yourself a ricer! 03:25:04 shachaf: Anyways. The thing taht sucks about *context most is they're relatively high overhead. 03:25:11 shachaf: i wanted to use multiple cores 03:25:31 pikhq: I know! I spent a while optimizing a low-overhead version of them. 03:25:43 What I ended up with was very close to *jmp. 03:25:45 memset, memcpy, strlen, fmodf, ia32_shufps 03:25:50 you don't need asm for most of those 03:25:51 "need" 03:25:53 right 03:25:56 "knead" 03:25:58 I've just compared bsnes with libco in asm and libco using *context. 03:26:26 (bsnes cooperatively multitasks each CPU in its emulated systems) 03:26:36 pikhq: You don't actually need assembly, I think -- you can get away with *jmp if you set up your stacks carefully. 03:27:12 shachaf: You need asm to change the stack pointer to a newly allocated stack, though. 03:27:37 (I assume you're not messing with the jmpbuf, which you cannot do without relying on implementation details) 03:27:49 420 rely on implementation details everyday 03:28:06 pikhq: Yes, you have to rely on implementation details. 03:28:11 Well, I guess the asm would do the same. 03:28:15 It's not as if you're not -- right. 03:28:31 Though the asm would only depend on the defined system ABI, rather than whatever the hell the libc is doing. 03:28:32 On the other hand using the assembly yourself is probably nicer. 03:28:36 Right. 03:28:38 Which *might* change in different versions of the libc. 03:28:40 shachaf: isn't it great how growing pot in your own backyard and then smoking it yourself in your own house counts as interstate commerce? 03:29:08 It does? 03:29:16 Yes. 03:29:22 That is how a drug ban is constitutional. 03:29:25 yep, Gonzales v. Raich 03:29:35 What about tobacco? 03:29:37 Because it's interstate commerce, and therefore Congress has the power to regulate it. 03:29:41 shachaf: Likewise. 03:29:44 back in 1920 you needed a constitutional amendment to ban a drug 03:30:08 but in the days since then, the supreme court has decided that "interstate commerce" means "absolutely fucking anything" 03:30:24 so the federal government can pass laws pertaining to anything it likes 03:30:31 which, honestly, might be a more reasonable system in this day and age 03:30:32 "The government also contended that consuming one's locally grown marijuana for medical purposes affects the interstate market of marijuana, and hence that the federal government may regulate—and prohibit—such consumption." 03:30:50 [[The environmentalist group Community Rights Council also filed a brief for the government, fearing limitation of federal power would undermine their agenda.[4]]] 03:30:53 lovely 03:31:08 but it's blatantly not what's in the constitution 03:31:17 Yes, they really think that friggin' *butterfly effects* on the interstate market count. 03:31:26 elliott: That's a long [[Wikipedia:Article title]! 03:31:29 well they don't really think that 03:31:40 they just want this law to be valid and so they invent a justification out of whole cloth 03:32:05 Okay, yes, they don't *think* it, they just claim that it does. 03:32:24 Is it the growing or consuming part or both? 03:32:29 shachaf: Yes. 03:36:29 Roe v. Wade is another example of this 03:36:43 i'm totally in favor of abortion rights, but the argument used by SCOTUS to get there is pretty fucking dodgy 03:37:12 -!- ion has quit (Ping timeout: 244 seconds). 03:37:49 Also look at some of the arguments used in favor of DOMA (don't think any have hit SCOTUS though) 03:38:58 Honestly, the precedents in place start making the UK look sane. 03:39:11 And the set of UK laws is no longer knowable! 03:39:12 kmc: Whta was the dodgingness there? I'm not too familiar. 03:39:58 elliott: they invented a constitutional "right to privacy" based on the due process clause of the 14th Amendment and a general gut feeling about the rest of the Constitution 03:40:25 elliott: They ruled that abortion bans are unconstitutional because it violates the right to privacy implied by the 9th amendment and due process stated by the 14th. 03:40:37 right 03:40:39 i think Lawrence v. Texas is a similar argument 03:40:48 well frankly the US constitution is pretty draconian :P 03:40:57 attributing that to due process seems pretty circular 03:40:59 so it's not surprising it's bent so much 03:41:12 "you have this civil right because the constitution says we have to respect the civil rights you have" 03:41:29 elliott: really? what do you think is draconian, about the constitution as written? 03:41:32 elliott: I should note that the 9th amendment only states that the listing of rights is not comprehensive. 03:41:38 i think it just omits a lot of stuff that's important today 03:41:46 kmc: draconian in terms of what the government is allowed to do/provide/etc. 03:42:01 i guess that's an idiosyncratic use of "draconian" 03:42:11 anyway obviously it's bent for good and bad causes and probably more the latter 03:42:18 nex ttime take a tip from us 03:42:22 don't write the bloody thing down 03:42:25 saves so much trouble 03:42:31 ah SCOTUS "declined to adopt the district court's Ninth Amendment rationale" 03:42:39 == elliott 03:42:48 i'm kmc? 03:43:08 sorry 03:43:10 it's a weird idiom 03:43:16 weirdiom 03:43:24 so yeah 03:43:29 Historically, "No Act of Parliament can be unconstitutional, for the law of the land knows not the word or the idea."[3] 03:43:32 i think the right wing in the USA kind of has a point about "judicial activism" 03:43:39 but i think it's the lesser of two evils, in many if not most cases 03:43:54 is judicial activism worse than the normal process of amending laws :P 03:44:08 it's all kind of fucked up 03:44:19 the us is weird 03:44:43 you guys should have just turned into 50 separate countries 03:45:04 they tried that first 03:45:17 http://en.wikipedia.org/wiki/Articles_of_Confederation 03:45:21 kmc: They also complain about legit uses of the courts as "judicial activism". 03:45:22 it didn't work 03:45:47 kmc: it's not my fault you guys are incompetent 03:45:49 aiui becuase nobody could force the states to pony up some coin 03:45:51 look 03:45:53 we're trying 03:46:01 To the point where I've heard that merely *knocking down laws* is "judicial activism". 03:46:02 we could just kick the South out of the country 03:46:08 that would solve many if not most problems 03:46:24 anyway this is what happens when you stray from the queen and god 03:46:36 hope you take this lesson on board in your next reincarnation 03:46:45 I'm of the opinion that the US would function much better as a few different countries. 03:46:50 pikhq: so these people reject Marbury v. Madison? 03:46:52 Perhaps one for each major reason. 03:47:01 kmc: do you expect they even know what that is 03:47:07 no 03:47:12 kmc: They would if they knew it! 03:47:13 anyway circlejerking about some imagined strawman right-winger is tedious 03:47:20 there's too many real ones to bother doing that 03:47:21 == elliott 03:47:33 circlejerking is tedious 03:48:25 http://upload.wikimedia.org/wikipedia/commons/thumb/1/1a/Royal_Coat_of_Arms_of_the_United_Kingdom_%28HM_Government%29.svg/743px-Royal_Coat_of_Arms_of_the_United_Kingdom_%28HM_Government%29.svg.png 03:48:31 do you guys have anything this trippy 03:48:38 (im joking when i say) 03:48:39 (trippy) 03:48:42 (dont take me seriously) 03:48:42 (please) 03:48:46 (i could feel it about to happen) 03:48:48 (dont) 03:48:59 circlejerking is tedious, have sex or go home 03:49:02 -!- MDude has changed nick to MDoze. 03:49:03 http://en.wikipedia.org/wiki/File:US_Great_Seal_Reverse.svg Well, there's the reverse of the Great Seal, I guess. 03:49:26 take a look at the lions in the middle 03:49:28 they're so chill 03:49:43 http://en.wikipedia.org/wiki/File:Great_Seal_of_United_States.jpg 03:50:03 pikhq: that thing has always struck me as inviting conspiracy theories 03:50:09 it just looks evil 03:50:10 yeah 03:50:17 elliott: It does just that. 03:50:18 original trolls 03:50:43 Especially the "Novus Ordo Seclorum", which can be interpreted by people not good at Latin as "New world order". 03:57:02 "For me Gentoo is perfect. For you, perhaps not. What is really strage about Gentoo is this: people who like it or dislike it keep constantly refering to Gentoo-when in reality we are refering to Linux. With othert distro's when you have problems they are problems with Redhat or with SuSE or with Lindows. But if you have problems with Gentoo you have problems with Linux. That's because with Gentoo you have returned to the source." 03:59:12 shachaf: Such a bad thing. 03:59:20 They'd almost have a point if it were Slackware. 04:33:38 -!- zzo38 has joined. 04:35:03 -!- MDoze has quit (Ping timeout: 252 seconds). 04:44:15 Is there any audio format that has a header specifying sample rate and stereo but does not include file idenfication or length (so that length is based on the length of the file instead)? 04:45:07 No, but honestly there should be. 04:45:50 I could invent one and suggest supporting in SoX; it should be not too complicated to invent 04:46:35 zzo38: Aren't there streaming audio formats that are like that? 04:48:19 shachaf: Maybe; I don't know. I also don't know if SoX supports them. 04:53:45 Address 0x00: bit0 and bit1 = number of channels (1, 2, 4, or 6); bit2 and bit3 = bits (4, 8, 16, or 32); bit4 = signed/unsigned; bit5 = endian; bit6 and bit7 = unused (set to zero). 04:53:53 Address 0x01: track number. 04:54:04 Address 0x02 and 0x03: video syncrhonization number or album number. 04:54:14 Address 0x04 to 0x07: sample rate in decihertz. 04:54:27 The rest of the data: raw uncompressed audio data. 04:55:34 Is this good? 04:55:49 don't pack bits like that 04:56:02 kmc: Why? 04:56:18 cause it's annoying to encode and decode 04:56:35 ideally the header would be a sequence of numbers all the same size 04:56:51 It isn't annoying to encode and decode 04:56:58 it's more annoying than not doing it 04:57:09 also you might want a magic number at the beginning 04:57:16 also it's kind of bad to design a format without any extension mechanism 04:57:20 no matter how trivial it seems now 04:57:32 My whole point is not to have a magic number at the beginning or any length specifier 04:57:35 for example it's not ridiculous to have more than 7 channels 04:57:44 magic number has nothing to do with a length specifier 04:57:48 why do you want no magic number 04:57:53 it just helps identify the file type 04:58:19 wait, you aren't even encoding the number of channels 04:58:22 And there *is* an extension mechanism; there are two unused bits. 04:58:29 that's... not what i mean, at all 04:58:52 is there really no standard container format which is suitable to express this information 04:59:03 mv file file.zzo # extension mechanism 04:59:20 As far as I know all of them require the length in the header too, which is one thing I am trying to avoid 04:59:33 what do people use for streaming audio then? 04:59:35 Since the data may be piped from another program which does not yet know the length 04:59:38 i know there are mp3 streams of indefinite length 04:59:50 and mpeg transport streams generally 04:59:50 kmc: He's wanting raw audio, though... 04:59:58 well anyway 05:00:03 even if you roll your own format 05:00:10 don't do something silly like this 1,2,4,6 enumeration 05:00:20 Apparently .wav doesn't have a file length. 05:00:31 the header should be an array of 16-bit little endian numbers 05:00:33 for simplicity 05:00:37 It has chunks which have lengths, but you can have as many of them as you want. 05:00:41 shachaf: The data itself doesn't but it is in a RIFF container which does include length 05:00:44 it should start with a magic number, a version number, and the length of the header itself 05:01:00 zzo38: Maybe I misread. 05:01:39 this way new headers can have more fields, and yet old programs will just ignore those fields 05:01:40 OK, I did. 05:01:57 shachaf: A RIFF file is a single RIFF chunk that can contain chunks. 05:02:10 this is something almost every format should do, imo 05:02:10 I don't want to include such redundant things as magic number and the length of the header itself. I might change it but I don't want to add version number either; I want to keep the four byte sample rate and the rest of the header also being exactly four bytes. 05:02:12 but like i'm no expert 05:02:26 zzo38: from where do you get all these arbitrary constraints? 05:02:44 zzo38: The magic number thing is fairly standard UNIX convention. 05:02:46 i mean if you're designing "format to satisfy zzo38's particular aesthetic requirements" then go ahead 05:02:51 kmc: It is going to become too complicated otherwise 05:02:58 zzo38: What about ogg? 05:03:01 if you're designing "a good format, which won't pointlessly waste programmer time in the future" then please do not go ahead 05:03:09 sigh 05:03:31 it's "too complicated" to have channel number be its own field instead of some wacky bit-packed enumeration? 05:03:42 i don't understand 05:03:44 kmc: why are you arguing with zzo38 05:03:49 this seems like absolutely terrible engineering to me 05:03:50 zzo38: Magic number makes things simpler. 05:03:53 what benefit are you trying to extract from this energy exertion 05:04:00 I do not want extra metadata. (The reason I included the track number is just because there is room left over; I want eight bytes header so that it will be aligned; instead of using seven bytes or something like that) 05:04:02 elliott: kmc is addicted to IRC arguments. 05:04:04 not bit-packing also makes things simpler 05:04:04 alternatively what harm are you trying to prevent 05:04:06 elliott: We all are. 05:04:17 zzo38: 16 or 32 byte header would also be aligned 05:04:22 shachaf: yeah :( 05:04:28 i don't know 05:04:29 kmc: Yes it would be, but I don't want it too long 05:04:30 i will argue with you if it makes my questions get answered 05:04:35 16 bytes is "too long"? 05:04:36 i'm happy to perform this service 05:04:40 what fucking planet are you from 05:04:49 are you planning to store your audio files on punched cards? 05:04:51 The Earth 05:05:02 zzo38: It seems what you want is an analog of PNM for audio. 05:05:02 somehow real formats get designed with these flaws 05:05:04 kmc: You should charge people for arguing with them. 05:05:06 somebody must be responsible 05:05:14 somebody must have had the opportunity to stop it 05:05:17 kmc: why are you arguing with zzo38 what benefit are you trying to extract from this energy exertion alternatively what harm are you trying to prevent 05:05:22 pikhq: PNM has a magic header! 05:05:22 zzo38: Magic number is reasonable for this. 05:05:27 shachaf: Yes, I know. 05:05:33 it's unlikely zzo38's format will catch on, but I think i have some minimal responsibility to try to stop this madness 05:05:39 No of course I will not store them on punched cards; the header is small compared to the audio itself which would be already too large to store on punched cards 05:05:52 kmc: don't you think the world would be less interesting without zzo38's designs in them 05:05:53 zzo38: you really have no sense of irony do you 05:05:58 elliott: it's true 05:06:02 therefore stop 05:06:08 i mean i joined this channel largely to argue with crackpots 05:06:13 kmc: Well, you should have free of speech to say what you like and argue what you like, whether some people agree/disagree 05:06:38 unfortunately i think there is only one active crackpot in the channel 05:06:41 Free as in free of speech. 05:06:48 elliott: Is it: Me? 05:06:54 shacrackpot 05:06:58 i'm an idle crackpot 05:07:05 itidus21: Good point. 05:07:15 kmc: anyway instead of arguing with zzo38 implement @ for me 05:07:24 it makes sense that esoteric languages would attract the "zomg your program uses 1 MB of RAM" people 05:07:36 I intend for one thing the format to be use as is pipe from one program to another if some header information is still needed (such as sample rate and so on); not to store in a file, although it still can be stored in a file if wanted 05:07:40 kmc: Since when is this channel about esoteric languages? 05:07:54 but it makes me really super irrationally angry when this wanking over unrealistic size constraints crosses over into practical non-esoteric designs 05:08:13 zzo38: magic number and header size are still important there 05:08:16 kmc: are you ever not annoyed at something 05:08:26 again, header size preserves compatibility between versions of the format 05:08:27 I wonder whether elliott has me on /ignore again. 05:08:37 i don't 05:08:42 put another way, are you certain you've just now thought of every field you will ever want 05:09:13 so, usefulness of my argument aside 05:09:19 do other people agree with what i'm saying 05:09:20 or am i crazy 05:09:37 i would personally design it the way you suggest 05:09:38 kmc: Can I choose both? 05:09:44 i don't think zzo38 is under any particular obligation to 05:09:48 and he can design whatever format he wants 05:09:50 i won't use it though 05:09:52 Some of the fields I have I think are not even needed 05:10:07 right i don't think zzo38 is under any "obligation" either 05:10:15 zzo38 is free to design a bad format if they like 05:10:26 but really it's pointless arguing with someone who clearly has a different value system for these goals than you here 05:10:30 but this started with the question 05:10:32 Is this good? 05:10:36 and my answer is 05:10:37 "no" 05:10:41 so that's that 05:10:47 Yay! 05:11:20 There could be three bytes for indicating number of channels (rather than enumeration) and signed/unsigned and endian and number of bits and then one more for video synchronization number or track number. 05:11:54 "When the going gets tough, you don't want a criminal lawyer, you want a *criminal* laywer, know what I'm saying?" 05:12:10 The format is not meant to change 05:12:14 kmc: why haven't you coded any @ yet 05:12:26 stop being a jerk 05:12:30 it's rude to not code @ 05:14:23 kmc: Sometimes, I do get offended at programs using 1 MiB of RAM. 05:14:36 ... When that's actually only doable via bad code. 05:14:49 /bin/cat shouldn't use 1 MiB. 05:14:50 :) 05:15:13 Does it actually? 05:15:16 pikhq: I agree it shouldn't require that much RAM to run 05:16:01 shachaf: I doubt it. 05:16:15 shachaf: Just using it as an example of something that would be bloated if it were using that much. 05:16:49 mightn't cat have a big buffer? 05:17:22 cat on Linux can probably just use something like splice, can't it? 05:17:24 Maybe this way better: Address 0x00 = magic number; Address 0x01 = four bits for number of channels (1 to 16), four bits for number of bits (1, 2, 4, 8, 16, 32, ..., 32768); Address 0x02 = one bit for endian, one bit for signed/unsigned, rest unused should be set to zero; Address 0x03 = track number or video synchronization number; Address 0x04 to 0x07 = sample rate in decihertz. Is this way better? Now it has magic number 05:17:56 shachaf: Doesn't splice only work between files? 05:18:15 elliott: Does it? 05:18:35 It only works stupidly/. 05:18:38 kmc: Anyway, write @. 05:18:53 splice() moves data between two file descriptors without copying between kernel address space and user address space. It transfers up to len bytes of data from the file descriptor fd_in to the file descriptor fd_out, where one of the descriptors must refer to a pipe. 05:19:18 If you want extensions for new version, make the high six bits at address 0x02 to be the number of additional four-byte pieces of heading. 05:19:20 Right, well, I knew it was stupid somehow. 05:21:59 Is this way better now? 05:26:00 Actually I think magic number really is not needed. Let's address 0x00 = track number or video synchronization number; address 0x01 = four bits for number of channels (1 to 16), four bits for number of bits (1, 2, 4, 8, 16, 32, ..., 32768); Address 0x02 = one bit for endian, one bit for signed/unsigned, rest unused should be set to zero (reserved for future use); address 0x03 = additional header (after sample rate) 05:26:43 Now I think it is better. 05:29:47 Now you can have more than six channels 05:31:17 zzo38: Why are you worrying about the number of header bits when you'll be sending an uncompressed audio stream over the pipe? 05:33:44 shachaf: I just want to omit redundancy 05:35:30 kmc: ⟿ 05:35:33 Isn't that great? 05:37:05 The data can now be from 1 to 16 channels with from 1 to 32768 bits for the data, and there is still some space left over for future expansion 05:38:47 You're worried about bits in the header. 05:38:47 nice arrow bro 05:38:52 I have trillions of them. 05:41:40 If the sample rate is set to zero then it means that there is no setting for the sample rate 05:53:17 -!- calamari has quit (Quit: Leaving). 09:44:41 -!- esowiki has joined. 09:44:43 -!- glogbot has joined. 09:44:43 -!- glogbackup has left. 09:44:45 -!- esowiki has joined. 09:44:45 -!- EgoBot has joined. 09:44:45 -!- esowiki has joined. 09:44:48 The sample audio data compression format is, as far as I know, not really documented anywhere. But if you're writing files, you can just opt to not use it; there's a flag in the sample header that says compressed/not. (I've written my decompression code -- because real Impulse Tracker files *do* use it -- based on the code in libmikmod.) 09:46:26 I have seen tat yes, you can use uncompressed samples. And I am doing writing; I am trying to make "ITMCK", like "PPMCK" and "XPMCK" and so on but for .IT output 09:52:12 (I suppose if the user tells it to load a "IMPS" sample file, it can simply load that and not worry about compression) 09:59:18 Why doesn't the volume/panning column support tremolo? 10:02:07 -!- Phantom_Hoover has joined. 10:03:59 That's a question probably only whoever wrote it can answer. (It does have those effects for the effect column.) 10:05:31 (There's even some unused values for the volume/panning column it could use.) 10:09:32 Yes I did see that 10:13:06 -!- sebbu2 has joined. 10:13:07 -!- sebbu2 has quit (Changing host). 10:13:07 -!- sebbu2 has joined. 10:16:12 -!- sebbu has quit (Ping timeout: 265 seconds). 10:21:19 -!- sebbu2 has changed nick to sebbu. 10:23:18 -!- asiekierka has joined. 10:25:51 -!- zzo38 has quit (Remote host closed the connection). 10:44:01 -!- azaq23 has joined. 11:05:26 -!- derdon has quit (Remote host closed the connection). 11:05:54 -!- derdon has joined. 11:10:08 -!- derdon has quit (Ping timeout: 240 seconds). 11:13:33 -!- augur has quit (Remote host closed the connection). 11:16:52 -!- augur has joined. 11:26:42 -!- TodPunk has quit (Read error: Connection reset by peer). 11:26:57 -!- TodPunk has joined. 11:39:32 -!- john_metcalf has joined. 11:44:18 -!- john_metcalf has left. 11:44:23 -!- john_metcalf has joined. 12:03:14 -!- zzo38 has joined. 12:16:30 How to calculate what tone-portamento speed is required for a specified note in a specified number of frames? 12:29:35 -!- sebbu2 has joined. 12:29:36 -!- sebbu2 has quit (Changing host). 12:29:36 -!- sebbu2 has joined. 12:30:14 -!- sebbu has quit (Ping timeout: 246 seconds). 13:04:40 -!- david_werecat has joined. 14:37:24 -!- esowiki has joined. 14:37:26 -!- glogbot has joined. 14:37:26 -!- glogbackup has left. 14:37:27 -!- HackEgo has joined. 14:37:28 -!- esowiki has joined. 14:37:29 -!- EgoBot has joined. 14:37:29 -!- esowiki has joined. 14:44:38 -!- nooga has joined. 14:51:47 welcome back codu 14:54:53 -!- nooga_ has joined. 14:57:11 -!- nooga has quit (Ping timeout: 245 seconds). 15:01:41 -!- Patashu has quit (Ping timeout: 248 seconds). 15:33:45 -!- azaq23 has quit (Remote host closed the connection). 15:34:12 -!- ais523 has joined. 15:45:18 hi 15:46:57 -!- Gregor has joined. 15:51:22 hi 16:03:17 -!- aloril has quit (Ping timeout: 260 seconds). 16:14:14 -!- nooga_ has quit (Ping timeout: 246 seconds). 16:16:11 -!- aloril has joined. 16:17:35 -!- david_werecat has quit (Ping timeout: 252 seconds). 16:26:09 -!- aloril has quit (Ping timeout: 260 seconds). 16:27:59 -!- function has changed nick to constant. 16:28:14 -!- variable has changed nick to Guest24216. 16:28:38 -!- constant has changed nick to variable. 16:38:52 -!- aloril has joined. 16:43:34 `quote 16:43:35 `quote 16:43:35 `quote 16:43:35 `quote 16:43:38 `quote 16:44:01 62) oohhh ha heh and what are your other characteristics? oh, many, madbrain but it's hardly worth it to go on with listing that list here 16:44:43 569) Phantom_Hoover: Sort of a monadic human centipede. 16:44:43 825) i just whacked it whacking is fine 16:44:43 82) bi is like sqrt(2)/2 * straight + i * sqrt(2)/2 * gay 16:44:43 403) i never meta turing. he died before i was born. 16:45:34 thems some high quality quotes 16:45:45 -!- aloril has quit (Ping timeout: 260 seconds). 16:52:35 -!- Nisstyre has quit (Quit: Leaving). 16:56:09 -!- Nisstyre has joined. 16:58:11 -!- aloril has joined. 17:07:52 -!- david_werecat has joined. 17:09:26 -!- pikhq_ has joined. 17:12:10 -!- pikhq has quit (Ping timeout: 260 seconds). 17:25:24 What a good selection. 17:25:49 62's weak. 17:29:16 i don't like 569 a lot but thats probably because i'm not such a big haskell fan 17:29:32 but it's got substance, even if i can't appreciate that substance 17:31:28 82 is weaker 17:31:33 825 is kind of lame too 17:31:39 569 could use more context 17:31:41 but 403 is ok 17:33:43 so i'm getting more used to the idea i am actually mentally ill 17:36:30 and back to the topic 17:37:06 ahh i just got 403 17:37:17 take a mentally pill for your mentally ill and you mentally get better will, i'm sure 17:37:34 what u ppl up to 17:38:12 I am at a social happening, and it's weird. 17:38:37 is there food? 17:38:43 what happening? 17:39:01 A spontaneousish thing. 17:39:18 An "after-party" of sorts. You know, that sort of thing. 17:39:26 ooh 17:39:46 I am just sitting home on irc and programming 17:39:48 i tend to prefer the food to the drink 17:39:49 -!- Taneb has joined. 17:39:54 im vamire 17:39:59 -!- asiekierka has quit (Remote host closed the connection). 17:40:04 How odd, I'm alive 17:40:07 Hello! 17:41:45 those mini spinach quiche finger foods 17:41:57 (Actually, it's tangentially related to this "ALT" thing that I've mentioned.) 17:42:04 quiche isn't finger food 17:42:35 is there an image equivalent of @google? 17:42:43 silly question i guess 17:42:44 ! 17:43:00 @google image hat 17:43:02 http://imagehat.com/ 17:43:02 Title: imagehat studio - a web design company just outside of madison, wisconsin 17:43:05 Awww 17:43:39 http://metroespresso.com.au/wp-content/uploads/2012/04/Salmon-and-Leek-Mini-Quiche.jpg 17:44:13 this is what i have in mind approximately 17:44:34 but not only that 17:45:06 i'm gonna go exchange money for goods 17:45:23 http://www.gourmetdelish.com.au/images/Bacon%20and%20Egg%20Finger%20food.jpg 17:47:41 for every day spent hungry, tired, lost, depressed.. may there be a day of delighting in finger foods 17:55:21 -!- azaq23 has joined. 18:06:03 finger foods are great 18:11:31 -!- DHeadshot has quit (Ping timeout: 244 seconds). 18:13:09 -!- KingOfKarlsruhe has joined. 18:18:16 -!- oerjan has joined. 18:22:37 DMM seems to be writing about half of the comments on a postcard these days. 18:23:27 also http://www.irregularwebcomic.net/197.html explains how he has so much time, i think 18:23:45 (even he uses it all up) 18:23:49 *even if 18:24:59 -!- oklopol has quit (Read error: Connection reset by peer). 18:30:41 -!- MDude has quit (Ping timeout: 252 seconds). 18:37:19 -!- DHeadshot has joined. 18:43:28 -!- monqy has joined. 18:44:11 monqy: hi 18:44:43 hhelo 18:44:44 monqy: You have 15 new messages. '/msg lambdabot @messages' to read them. 18:45:29 11:45:19 Plugin `tell' failed with: thread killed 18:45:36 Popular guy monqy 18:45:47 hi 18:45:55 hi 18:50:22 "Only wimps use tape backup; real men just upload their important stuff on ftp and let rest of the world mirror it" --Linus Torvalds 18:51:57 Where wimps == people with no friends 18:53:03 What kind of physical media backup work best? 18:53:15 Stone slab 18:53:23 Expensive and slow, though 18:53:27 But fireproof! 18:54:45 zzo38: Depends on your needs. I’ve backed up some files as QR code on paper with a laser printer. 18:54:45 clay is also fireproof, i think 18:54:49 I have access to a fireproof safe. 18:55:07 zzo38: Currently, several hard drives. 18:55:17 (fire actually makes it _more_ long-lived) 18:55:48 And yes, I guess you could glaze in QR codes. :) 18:55:52 pikhq_: All of my data will probably not even fill one hard drive 18:56:07 zzo38: The "several" bit is for redundancy. 18:56:21 Just put a “0.” in front of the number representing your entire data and put a mark at that exact point on a wooden plank. 18:56:39 How many are needed for good enough redundancy? 18:57:28 ion: I think that is impossible; no tools are exact enough, the wood can rot, and Heisenberg's uncertainty principle also gets in the way. 18:57:45 lim_{redundancy→good} numDisks = ∞ 18:57:53 Either that or you would need big wood 18:58:00 zzo38: OH, REALLY? 18:59:12 ion: I think so. 18:59:33 "In short: just say NO TO DRUGS, and maybe you won't end up like the Hurd people." 19:07:55 -!- KingOfKarlsruhe has quit (Quit: ChatZilla 0.9.88.2 [Firefox 13.0/20120601045813]).