00:22:55 -!- Phantom_Hoover has quit (Read error: Connection reset by peer). 00:25:22 -!- clog has quit (Ping timeout: 246 seconds). 00:27:54 -!- clog has joined. 00:42:02 Do you know that most Z-machine interpreters are defective? I have tried them and all of them, including Infocom's own interpreters, are defective. 00:51:12 How so? 00:51:19 -!- copumpkin has quit (Ping timeout: 240 seconds). 00:51:52 -!- copumpkin has joined. 01:11:10 -!- mnoqy has quit (Quit: hello). 01:14:21 I don't know everything about it, but testing it, they all seem defective, although my own interpreter "Aimfiz" seems to be the most accurate one. 01:16:53 It seems other interpreters try to cache things they shouldn't cache, make incorrect assumptions, and do other wrong things. Infocom's interpreter seems to be second most accurate, as far as I can tell. 01:21:25 * Sgeo wonders if Aimfiz has defects that others don't 01:21:44 Sgeo: It is possible. 01:21:54 See if there are some that I missed; if so then I will fix it. 01:22:41 I don't have enough knowledge of either Z-machines or Aimfix 01:23:50 Unfortunately the documentation for the Z-machine is also defective; I had to look at both Infocom's and Graham's documentation, as well as Infocom's interpreters, and their story files, to figure out the correct way; a few things that have never been used or implemented are still unknown, however. 01:25:07 this sure sounds like a fascinating definition of "correct" and "defective" 01:25:33 by which i mean, i don't think you're going to get those coherently out of weird docs and implementations. 01:35:13 What does correct mean? 01:38:45 Sgeo: I don't really know for sure, so I study everything and make the best guess, and it turns out it works; I am highly confident that I did it correctly. 01:44:31 However what I am somewhat less confident of is that my interpreter lacks defects. 01:49:03 `slist 01:49:04 slist: Taneb atriq Ngevd Fiora nortti Sgeo ThatOtherPerson alot 01:56:44 One thing that is unknown is the MIDI format for Z-machine. All of Infocom's MIDI files play a single note, and their interpreters all implement MIDI in a klugy way, so I don't know what is correct. But I have looked at them and partially figured it out. 02:01:42 They seem to be a series of ordinary MIDI commands, although 0xFF seems to be some kind of delay; I don't know what units it is in, though. 02:02:40 -!- sacje has quit (Ping timeout: 246 seconds). 02:02:45 -!- copumpkin has quit (Ping timeout: 248 seconds). 02:03:21 -!- copumpkin has joined. 02:16:01 -!- sacje has joined. 02:19:27 So is fix totally computable? 02:24:34 sure 02:24:38 it spits out _|_ a lot though. 02:25:29 > fix (**2) 02:25:33 mueval-core: Time limit exceeded 02:25:40 like not that. 02:26:53 well, it's not going to find numeric fixpoints. 02:27:01 unless you use a really weird number type or something I guess 02:27:23 well i meant fix "the function" not fix "the thing in haskell" i guess. 02:27:29 well, that is fix the function 02:27:33 _|_**2 = _|_ 02:27:41 it's a legitimate fixed point from the perspective of haskell's denotational semantics 02:27:58 how about something that returns all fixed points, then. 02:28:36 imo equalizers 02:28:41 wassat 02:28:50 that's turing complete 02:28:52 > [undefined, 1, 2] !! 1 -- derp 02:28:53 1 02:28:56 k cool. 02:30:52 i guess "all" is a lot harder semantically to describe 02:31:43 fix itself is not computable. 02:31:50 \n -> whether a program terminates at the nth step 02:31:55 Bike: the limit of a diagram that looks like •⇉• hth 02:32:26 comex: like with 1 = true? 02:32:35 i guess n if it terminates, some other value otherwise 02:32:51 any algorithm that runs in finite time has the possibility of returning the wrong value 02:33:01 (which is the number of steps or _|_) 02:33:57 fix is computable... 02:34:21 oh, except running for an infinite amount of time counts as a return value, right? 02:34:23 defining _|_ as wrong as a result is as wrong as defining 123 as wrong as a result :/ 02:34:26 right 02:34:30 _|_ is "first-class" 02:34:43 f (fix f) = fix f is always obeyed 02:34:47 even when (fix f) is _|_ 02:34:55 that is not a particularly useful definition of computability 02:35:02 every function is computable 02:35:04 yeah fix f = undefined is boring. 02:35:15 well, that's not it. whatever 02:35:27 fix = fix 02:35:43 * elliott sigh... 02:36:07 elliott: what? 02:36:08 > fix \x -> 1 02:36:08 :1:5: parse error on input `\' 02:36:13 > fix (\x -> 1) 02:36:14 1 02:36:44 is it not true that allowing _|_ as a "return value", every function is computable? 02:37:05 > (\x -> 1) undefined -- right right 02:37:06 1 02:37:38 comex: it's not 02:38:07 fix gives the least ("least" according to definedness, imagine the lattice in your head, etc.) fixed-point of any function 02:38:10 zzo38: did you write a Z-machine fuzzer? 02:38:21 which is what it's supposed to do, and does 02:38:30 there's no "gaps" where it gives _|_ but should be giving something else 02:38:46 no, i realized that 02:39:20 and i guess the other thing isn't true either... I think it might be true for any boolean function 02:40:03 I mean even if you allow _|_ as a return value generally, I can still insist that you compute a function which doesn't return _|_ ever 02:40:30 what you said is true if you consider _|_ to be just as good as any particular answer, which makes it useless 02:40:42 kmc: sure 02:40:55 but fix doesn't do that, it does exactly what it's supposed to :P 02:41:06 and that doesn't mean that every function is computable 02:41:22 if you made fix arbitrarily give _|_ on one function (ignoring that this breaks RT and everything) it'd be a different function 02:42:04 i realize i was unclear, but i'm not really concerned with haskell here. 02:42:49 elliott: i claim that every function with a finite number of possible return values is computable 02:43:14 halting oracle? 02:43:39 bah, except _|_ isn't *that* first-class 02:43:43 ignore me 02:43:49 Bike: but I'm not arguing with you any more!! 02:43:53 i know 02:43:59 new and exciting arguments 02:44:27 however, you can represent a halting oracle as a function that returns a finite number of possible return values and is computable 02:44:33 namely, return _|_ if it doesn't halt 02:45:14 -!- sacje has quit (Ping timeout: 256 seconds). 02:45:15 so, halts = (flip seq) True? 02:45:41 flip :-( 02:45:53 halts x = x `seq` True -- so much simpler 02:46:01 Or halts = (`seq` True) 02:46:09 -!- sacje has joined. 02:46:10 or, like, anything, man 02:46:59 god damn it, i try to write pointlessly one time 02:47:57 imo flip is the devil 02:48:04 one time 02:48:32 "don't worry, everything you write is pointless" 02:49:00 wow rude 02:49:06 no it was in quotes 02:49:12 "wow rude" 02:49:16 better 02:54:41 So: is there a total function that, given the encoding of a partial function, returns a recursive set of its fixed points? Or just r.e.? 02:54:44 how's that elliott. 02:54:49 made me break out the naturals. fuck 'em. 02:54:58 wow rude 02:55:19 i even wrote "r.e.". reducing me to kleene dude. reducing me to kleene. 02:55:28 what's the domain and codomain of the function :P 02:55:41 N >: 02:55:45 imo computability is overrated 02:56:05 here's a nickel kid, buy yourself a hypercomputer 02:56:47 costs 1 + 1/2 + 1/3 + 1/4 + ... dollars 02:56:47 how much do nickel kids go for 02:56:51 is that like a tin soldier 03:02:27 Maybe fix fix fucks it up. 03:04:23 I guess it could be the empty set indicator, or something. 03:05:06 well, no, that wouldn't work. it has to include itself. 03:06:16 -!- oerjan has quit (Quit: Gnoyt). 03:07:07 fix f = let r = f undefined in seq r r 03:09:22 @pl fix f = let r = f undefined in seq r r 03:09:25 fix = id (fix ((ap seq id .) . (. (const . ($ undefined))))) 03:09:26 optimization suspended, use @pl-resume to continue. 03:09:33 elegant. 03:15:20 I guess returning the empty set is fine... 03:35:04 -!- sacje has quit (Ping timeout: 276 seconds). 03:37:00 -!- Guest50012 has joined. 03:42:36 -!- NihilistDandy has quit (Quit: NihilistDandy). 03:43:33 -!- Bike has quit (Ping timeout: 248 seconds). 03:44:27 I have a list here of Dungeons&Dragons spells I wanted to make up. It is "Light of Gxxyuxihuvxi", "Curse of Gxxyuxihuvxi", "Blessing of Gxxyuxihuvxi", "Eye of Gxxyuxihuvxi", "Mouths of Gxxyuxihuvxi", "Tentacles of Gxxyuxihuvxi", "Random Contintency", "Quantum Entanglement", and "Quantum Teleportation". 03:46:02 Do you have some ideas related to this? 03:50:07 -!- carado has quit (Ping timeout: 246 seconds). 03:55:31 -!- Bike has joined. 04:00:41 -!- Guest50012 has quit (Quit: Guest50012). 04:05:12 Quantum Gxxyuxihuvxi 04:07:41 "has no fixed points" is a nontrivial property, so I think the set of partial functions with no fixed points isn't recursive? 04:09:53 ion: What is that supposed to be? Another aspect of that deity? (These spells aren't supposed to be necessarily all related; they are just a bunch of different ideas, some of which are related.) 04:18:15 by rice. 04:18:21 which is a hell of a theorem now that i actually look at it. 04:20:00 rice's theorem <3 04:20:25 imo, dang. 04:21:58 the simplicity is great. it's not even like "okay well your condition on programs has to have this and that and the other" 04:22:04 it's just "hi. you can't decide anything" 04:22:12 you can tell it's simple because i can understand it 04:22:34 it's like a generalisation of the halting problem 04:22:44 yeah, i noticed. very cool. 04:23:23 isn't it exactly a generalization of the halting problem? since "defined on x" is obviously nontrivial 04:23:42 Do you believe in two kinds of free will? My philosophy is two kinds of free will. 04:23:44 well, right. 04:24:01 I guess the proof is even a generalisation of the halting problem proof 04:24:27 oh, and you can easily use the halting problem proof to prove it right okay. 04:26:37 -!- Sprocklem has joined. 04:31:58 These proofs are great, they're basically programming 04:32:19 OK, I can see Rice's theorem now on Wikipedia 04:32:43 [something ignorant about coq] 04:37:54 The atmosphere at the time must have been something like a hacker meeting 04:38:30 "Now Kurt is going to talk about how we can break Hilbert's program, no matter how well it is patched" 04:39:31 "Of course, you can avoid this attack if you keep your system very simple" 04:40:14 A proof that a program would be vulnerable no matter how much it was patched would be funny. 04:43:44 Continuous research since the genesis of the field has produced increasing experimental evidence for this proposition. 04:44:17 that it would be funny? 04:45:40 On that note, why do hacker talks always sound like comedy acts 04:45:46 Experimental evidence is not perfect; only mathematics is perfect. 04:49:17 this laptop fits in my trouser pockets which is rad 04:49:25 it has a 900 MHz single core processor which is less rad 04:49:36 Lapside 04:49:41 Bike: do you know coq 04:50:39 haha not even slightly 04:50:56 calculus of qonstructions is all i know 04:51:48 do you wanna learn 04:51:58 i think i should learn a CAS first 04:52:22 cause http://www.cis.upenn.edu/~bcpierce/sf/ is super fun 04:52:33 plus my "'«interests'»" are more on the end of continous stuff 04:52:50 it's a PL theory text in the form of an addictive puzzle game 04:52:51 oh, free? well i can't turn that down 04:53:11 yep 04:53:14 also nice quotation marks 04:53:30 gotta keep balanced 04:53:46 you didn't tho 04:54:13 what if my quotation mark is "any permutation of other quotation marks" 04:54:46 I hear cpdt is better than sf for learning coq 04:54:52 ok 04:55:00 or at least mnoqy said something like that to me because he doesn't like the messy proofs in sf 04:55:06 is cpdt an addictive puzzle game 04:55:25 "in-progress textbook" yeah whatever 04:55:27 will "written by a guy permabanned from #haskell" substitute 04:55:36 what isn't in-progress these days 04:55:54 well like, at least the hott book looks pretty. 04:55:57 some things are important. 04:56:11 -!- sacje has joined. 04:56:13 anyway i can use coq on random shit like the properties of linear recurrences mod a constant, right 04:56:23 probably 04:56:30 also arent all coq proofs messy 04:56:38 on account of the tactics language being a crime againsst humanity 04:56:53 whos permabanned from #haskell? smerdyakov? 04:56:58 yeah 04:57:04 and well, have you seen the proofs in CPDT 04:57:06 really not feeling y'all's reviews of this book 04:57:09 they all look like "crush." 04:57:12 or language 04:57:17 thingie 04:58:56 What's criminal about tactics 05:01:18 i made a shirt for lexande that says "Beweis: klar. \qed" except the \qed is the proper LaTeX box 05:01:26 so the coq version would be "Proof. crush... Qed." 05:01:37 They're a bunch of non-contextual commands arranged in an inscrutable sequence to manipulate hidden state in a manner only obvious to the original writer 05:01:41 So, just like programming 05:03:28 $ ls sf/ \\ $ rmdir sf/ \\ rmdir: failed to remove 'sf/': Directory not empty <-- linux is great 05:03:44 alias rmdir='rm -r' 05:05:47 "On the Unusual Effectiveness of Logic in Computer Science" oh, this sounds cute 05:06:06 kind of hard to imagine it being as true as what it's named after, though 05:07:15 If you don't like coq, isar has logically structured proof syntax eg. "proof - have ?thesis by metis (...) auto qed" 05:07:38 ls -a sf/ 05:08:06 yeah, i did already. just thought the way that works out is kinda funny. 05:08:33 allegedly the dot => hidden file thing was accidental 05:08:40 like, they wanted to hide . and .. and were lazy 05:08:40 so i've heard 05:09:41 alias ls='ls -A' 05:10:23 alias ls=sl 05:12:37 Well actually, I alias it to l 05:12:58 truly what problems can't be solved with enough alias commands 05:15:03 I wonder if you can make an alias for 'command' 05:15:26 Apparently you can 05:15:28 alias = 05:16:12 alias A=A 05:21:03 I do not have completely idea of what the Dungeons&Dragons spells I named should do; I only have partially idea. 05:22:17 what are the names 05:24:03 I wrote them above, but I can repeat. 05:24:05 It is "Light of Gxxyuxihuvxi", "Curse of Gxxyuxihuvxi", "Blessing of Gxxyuxihuvxi", "Eye of Gxxyuxihuvxi", "Mouths of Gxxyuxihuvxi", "Tentacles of Gxxyuxihuvxi", "Random Contintency", "Quantum Entanglement", and "Quantum Teleportation". 05:25:10 those are some good names for spells 05:25:15 I hope you think of good spells for them 05:25:36 who is Gxxyuxihuvxi? 05:25:50 Some deity. 05:27:52 The patron deity of my character. 05:28:26 I was thinking "Quantum Teleportation" would be something like quantum teleportation so you can just tell the signal to make the teleport, somehow 05:30:20 I also intended "Random Contingency" to be a bit like Contengency spell, you can make other spell contingent to a trigger, but using events you don't have control over and having random effects, but with some control over the casting of the spell, somehow; I am not sure how to make it, though. 05:38:36 -!- zzo38 has quit (Remote host closed the connection). 05:44:53 -!- Taneb has joined. 05:48:08 -!- sacje has quit (Ping timeout: 241 seconds). 05:49:22 -!- sacje has joined. 05:59:23 fizzie: Where are all your #esoteric graphs? 06:00:02 (Or anyone else, if you have a link?) 06:20:04 shachaf: http://zem.fi/ircvis/esoteric/ 06:20:20 (Good timing, just woke up.) 06:26:06 huh. bike, kmc, and elliott mention me a lot (surppriiise) 06:26:23 or wait, maybe that's the other way around 06:26:27 that I mention them a lot. 06:26:29 I'm bad at charts 06:30:27 -!- Bike_ has joined. 06:30:30 what if it's both... 06:31:38 hi 06:31:54 -!- Bike has quit (Ping timeout: 264 seconds). 06:32:13 um. hi 06:32:25 what 06:33:19 -!- Bike_ has changed nick to Bike. 06:33:33 sorry 06:34:25 The mention chart is hard to read. 06:35:45 I made a graph version (threshod the matrix with some value that leaves K ones, treat as an adjacency matrix of a digraph, render with graphviz) of it, but it wasn't so nice. 06:38:19 -!- sacje has quit (Ping timeout: 264 seconds). 06:41:16 -!- Bike has quit (Quit: journey!!). 06:53:42 -!- MindlessDrone has joined. 06:54:55 kmc: hm, do new episodes show up on netflix straight away, or how does one typically watch them 06:56:33 of what 06:57:06 i don't have netflix 07:02:07 of breaking bad 07:05:46 -!- Taneb has quit (Remote host closed the connection). 07:09:07 `achewoodlist 07:09:10 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: achewoodlist: not found 07:09:12 (thanks kmc) 07:41:24 -!- copumpkin has quit (Ping timeout: 276 seconds). 07:41:54 -!- copumpkin has joined. 08:08:52 -!- Sprocklem has quit (Ping timeout: 264 seconds). 08:15:10 -!- epicmonkey has joined. 08:15:28 -!- nooodl^ has quit (Ping timeout: 264 seconds). 08:34:39 -!- katla has joined. 08:51:02 -!- conehead has quit (Quit: Textual IRC Client: www.textualapp.com). 08:56:11 -!- conehead has joined. 09:05:05 -!- Taneb has joined. 09:12:27 -!- yorick has joined. 09:38:34 -!- Sgeo has quit (Read error: Connection reset by peer). 09:42:38 -!- Taneb has quit (Ping timeout: 240 seconds). 09:43:09 -!- conehead has quit (Quit: Textual IRC Client: www.textualapp.com). 09:43:12 -!- augur has quit (Ping timeout: 260 seconds). 09:44:12 -!- augur has joined. 09:47:00 -!- augur has quit (Remote host closed the connection). 09:47:26 -!- augur has joined. 09:47:54 -!- augur has quit (Read error: Connection reset by peer). 09:48:17 -!- augur has joined. 09:54:45 hjoj 09:55:28 -!- Taneb has joined. 10:01:50 -!- nooodl has joined. 10:03:02 -!- nooodl_ has joined. 10:03:56 -!- nooodl has quit (Disconnected by services). 10:04:00 -!- nooodl_ has changed nick to nooodl. 11:15:26 -!- nooodl_ has joined. 11:15:36 -!- nooodl has quit (Ping timeout: 260 seconds). 11:32:47 -!- Phantom_Hoover has joined. 12:40:30 “A common way of setting a register to zero is XOR EAX,EAX or SUB EBX,EBX. The Core2 and Nehalem processors recognize that certain instructions are independent of the prior value of the register if the source and destination registers are the same.” 12:40:48 So this is what happens to your billion transistors 12:42:48 -!- Tod-Autojoined has joined. 12:44:25 I think that kind of feature's been around for a looong while? like since early OOE things if I remember right 12:44:45 -!- ka7la has joined. 12:45:05 -!- mnoqy has joined. 12:50:57 -!- katla has quit (Ping timeout: 246 seconds). 12:50:58 -!- TodPunk has quit (Ping timeout: 246 seconds). 13:39:35 -!- nooodl_ has changed nick to nooodl. 13:48:16 -!- carado has joined. 14:10:28 -!- nooodl_ has joined. 14:13:15 Heh, calloc doesn't actually zero out pages from mmap. Linux creates the pages on-demand. So calloc gives you memory that doesn't exist. 14:13:28 Benchmarking with -O3 is fun 14:14:30 -!- nooodl has quit (Ping timeout: 264 seconds). 14:16:57 -!- ka7la has changed nick to katla. 14:18:38 s/mmap/mmap\/sbrk/ 14:27:00 -!- zzo38 has joined. 14:41:56 -!- zzo38 has quit (Remote host closed the connection). 14:50:03 -!- nooodl has joined. 14:50:16 -!- nooodl_ has quit (Ping timeout: 264 seconds). 14:53:56 -!- NihilistDandy has joined. 15:20:09 -!- Vorpal has joined. 15:22:27 -!- katla has quit (Remote host closed the connection). 15:33:04 -!- copumpkin has quit (Ping timeout: 256 seconds). 15:33:34 -!- copumpkin has joined. 15:44:28 -!- ap3x has joined. 15:46:04 -!- ap3x has left ("Leaving"). 15:50:07 -!- katla has joined. 15:51:41 -!- Sprocklem has joined. 15:57:00 -!- Vorpal has quit (Quit: ZNC - http://znc.sourceforge.net). 16:26:47 hmm, X seems to have leaked a lot of memory ... went from ~100MB to 677MB after disabling swap 16:28:37 (and why does nothing seem to display the amount of swap space used by a process?) 17:03:20 -!- katla has quit (Quit: Leaving). 17:05:09 -!- tswett has set topic: When the zetas fill the skies, will our leaders tell us why? | Хммм, тхис стуфф реаллы сеемс то ворк | 22nd IOCCC is open: http://ioccc.org/2013/rules.txt | jsvine is doing an esolang survey! https://docs.google.com/forms/d/1OvEsdBioOFcXFAiscO34kctUWKs3dWQs5-ZouXdwy9Q/viewform | http://codu.org/logs/_esoteric. 17:05:20 The text I just added to the topic is, of course, in English. 17:10:47 -!- nooodl_ has joined. 17:14:30 -!- nooodl has quit (Ping timeout: 264 seconds). 17:26:35 of course 17:32:29 Anybody have an idea about how to ssh into a machine where creating a process doesn't work because of a low default ulimit? 17:33:06 There's an sshd running, I have other ssh processes there 17:34:18 Yeah, I dunno. My only ideas are "kill stuff" and "reboot it". 17:34:46 I could kill stuff but I don't want to 17:35:54 You can also have fun with people by setting their login shells to false 17:35:54 And I couldn't reboot it even if I wanted to because I don't have root 17:36:36 I could raise the ulimit if I got in but I guess what I'd need to do here is remotely raise the ulimit of the sshd process 17:36:49 And that doesn't seem particularly possible 17:37:00 Ask the server's owner to do something? 17:37:34 I doubt the admins are interested in a little request like this on a weekend evening 17:37:46 What is the default ulimit? 17:37:46 (It's a machine on one of the clusters at work) 17:37:52 ulimit -u 1024 17:38:31 Why can't you start a shell with that. 17:38:45 Because I'm running a thing that starts up more threads than that 17:49:29 -!- sacje has joined. 17:51:15 I had ulimit-process-etc-issues when running that tournament that one time, but I don't recall if I had any terribly clever solutions. 17:52:43 -!- heroux has quit (Ping timeout: 264 seconds). 17:52:50 Write a modern kernel 17:52:54 I did end up using a some really silly thing to get the process count down, but I didn't quite have a can't-login issue. 17:54:31 -!- heroux has joined. 17:57:35 Apparently, using 16G of swap in a user program causes X to segfault 18:00:03 interesting... do you know why? 18:00:08 Sillier than RLIMIT_MPROC, fizzie? 18:00:14 olsner: X sucks 18:01:54 Or, it could be the VBoxVideo driver, which also sucks 18:03:40 I guess vboxvideo_drv.so is not really prepared to handle thrashing. 18:06:48 -!- BlueShark has left ("Bye."). 18:10:16 -!- mnoqy has quit (Quit: hello). 18:27:09 what's a pirate's favorite posix system call 18:31:40 is the answer a very good/bad pun? 18:37:35 probably 18:38:29 cool 18:44:39 is it sendfile? 18:46:05 atoll 18:46:35 carg 18:46:51 it's a trick question because posix doesn't actually specify which things are system calls or library functions (or even macros???) 18:47:17 I was just about to ask "hmm, does posix even have system calls?" 18:47:36 fork(3p) at least mentions system calls, though only in the rationale 18:47:47 are they C APIs? 18:48:20 kmc 18:48:22 kmc, is that the joke 18:48:24 this joke is the worst 18:48:32 it's not just the worst 18:48:35 it's the most worst 18:48:42 morst 18:48:50 like I'm laughing 18:48:52 but I wish I wasn't 18:55:01 -!- MindlessDrone has quit (Quit: MindlessDrone). 18:58:36 -!- variable has changed nick to constant. 19:17:27 Jafet: There was a (low) hard limit forced by some PAM scheme, it's not like you could do much about that. 19:18:43 Jafet: IIRC, the silly thing was just that the soft limit (used by sshd) was a bit lower than the hard limit, so I had some form of ssh-reverse-tunnel-and-netcat thingie to start my tasks in a shell with the limit raised up to the hard one. 19:19:30 (Java creates quite a few threads when running; the limit was something very low.) 19:21:37 -!- oerjan has joined. 19:33:02 Do you folks happen to know/have the specs on ST3's (or ProTracker, I think it's compatible) vibrato effect? I mean, more than "vibrato with speed of x and depth of y"; in particular, what are the units of x/y. (AIUI, it's a direct adjustment to the "period" value, I guess at every tick? I guess I could try having a look at some existing module players.) 19:35:06 (Or is it really just an adjustment of [-y, y] directly?) 19:39:58 ST3.DOC doesn't seem to say, but I guess you knew that since that's quoted from there. 19:40:30 And TECH.DOC seems to have only file format stuff. 19:43:33 PT.HELP doesn't say either. 19:44:04 Yes, it's very confusing. 19:44:53 http://wiki.multimedia.cx/index.php?title=Protracker_Module#4xy seems to suggest it's at most +y (directly) to the period, and xmp's source seems to concur. 19:45:26 (Also that the speed is given so that on each tick, the vibrato position is incremented by x, and the full waveform is 64 ticks.) 19:49:13 (Except that IT manual says "old effects" (S3M-style mode) updates vibrato only on non-row ticks.) 19:50:19 -!- copumpkin has quit (Ping timeout: 264 seconds). 19:50:47 (Also the TECH.DOC explanation of mixing, esp. the posttable[...] stuff, looks really confuzzling.) 19:50:48 -!- copumpkin has joined. 19:56:13 -!- conehead has joined. 20:31:27 kmc: i found the mölkky game! 20:36:38 got mölk? 21:05:30 -!- mnoqy has joined. 21:07:29 -!- nortti_ has joined. 21:08:46 do you know any lighter-for-network way of remote IRC than ssh that would still be more secure than telnet? 21:11:31 this is coming trough, right? 21:14:17 I think people use mosh a lot for flaky connections. 21:14:36 Don't know about lightness, but it's got all that prediction stuff and aliveness-staying stuff. 21:15:31 does it work well over very bad latency? 21:15:42 I'm not a mosh user. But it's what it's designed for. 21:16:17 See http://mosh.mit.edu/ (if you can manage with that connection). 21:16:45 ok, thanks 21:16:55 you have to roll your own authentication if you don't want to use ssh though. 21:17:05 (it uses ssh for auth only by default.) 21:17:40 Also, heh: there's a typo in Skaven's 2nd_reality.s3m. (Pattern 13, channel 4 starts with a "DD7" which, I think, should really be a D07 -- based on the fact that channel 5 has a D07 slide, and ST3 doesn't define a meaning for DD7.) 21:18:42 -!- epicmonkey has quit (Ping timeout: 264 seconds). 21:20:56 -!- epicmonkey has joined. 21:22:40 oh, the source code to 2nd reality has been released: https://github.com/mtuomi/SecondReality 21:22:45 apparently quite recently 21:24:08 -!- copumpkin has quit (Ping timeout: 260 seconds). 21:24:33 olsner: Yes, and there's an amusing "encryption"/obfuscation applied to the S3M files in that distribution. (Tried to use them first.) 21:24:36 -!- copumpkin has joined. 21:25:33 -!- epicmonkey has quit (Ping timeout: 256 seconds). 21:27:04 olsner: Basically, each byte of the packed-pattern data has been xor'd with v, where v is what you get when you take the offset of that byte modulo 256, for each set bit take the binary value 101 shifted so that the rightmost 1 is at the set bit, and then xor all those values together. 21:28:27 hmm, but why? 21:28:51 I have no idea. It could be just to discourage ripping off the songs from the demo, but it leaves all the S3M headers and such in place. 21:29:14 I mean, you still get an unplayable file, but it'd have been just as easy to apply the above to the entire file instead of just the pattern data. 21:30:05 it's probably easier to do to the whole file rather than change specific pieces of an S3M 21:30:11 -!- katla has joined. 21:32:33 (There's quite a lot of Finnish in file names there. 21:33:02 I'd say "less so in the comments", but I haven't really found any comments yet. 21:33:15 the DESIGN file is almost entirely finnish 21:33:46 Grepping for /\* in *.c found a couple of comments in Finnish too. 21:34:13 It seems to be the "script". 21:41:40 -!- Luis1 has joined. 21:44:41 looks like someone is making an android port of it 21:44:59 -!- atriq has joined. 21:45:41 -!- katla has quit (Quit: Leaving). 21:46:38 -!- Taneb has quit (Ping timeout: 240 seconds). 21:47:28 olsner: A faithful one or a "HD remake" kind of thing? (Though for the latter the sources are I guess mostly irrelevant.) 21:48:33 faithful afaict, something like letting the demo code write to a frame buffer then blitting that to the screen in the "did someone press escape yet?" function 21:50:19 That sounds reasonably reasonable, except for all the inline asm. 21:50:33 (And out-of-line, too.) 21:50:38 (according to the readme at https://github.com/Falken42/SecondReality) 21:52:01 I guess you could just plop in qemu's x86 emulator (or rewrite those bits in C, or make an offline x86-to-c translator to run on asm bits) 21:54:01 From what I recall, Second Reality runs in dosbox up to some degree. (Don't know about ARM dosbox, though.) 21:54:19 -!- Luis1 has left. 21:54:50 -!- atriq has changed nick to Taneb. 21:55:18 -!- Taneb has quit (Quit: Leaving). 21:57:50 It's a scrying hame that out of the three Android DosBox ports, two cost money (DosBox Turbo, AnDOSBox) and one is kinda dead and slow (aDosBox). 21:59:24 hmm, wikipedia says that "The demo used its own memory manager which accessed the MMU directly in a way which is not compatible with modern operating systems" ... but the code I've seen is plain real-mode 21:59:53 "accessing the MMU" doesn't really make sense for x86 anyway 22:00:37 olsner: Well, it does talk some EMS, it might be what they mean. 22:01:11 (It's for the non-GUS music.) 22:02:17 -!- nortti_ has quit (Quit: got). 22:03:24 -!- epicmonkey has joined. 22:04:48 (Though "accessing -- directly" is quite a stretch for just calling int 67h.) 22:05:38 (In related news: fopen("*EMMXXXX0","rb"); -- kinda funny.) 22:11:13 and apparently (http://en.wikipedia.org/wiki/Expanded_memory) early EMS implementations were in hardware (i.e. not-VM86-based), I had no idea 22:14:03 Oh yes, software EMS is very much just a cheat. 22:15:06 In particular, AIUI, there's quite a lot of copying involved in emulating the bank switching. 22:16:46 Hmm, Internet claims that the EMM386 approach is done by paging. 22:17:05 Possibly I'm remembering some older software EMS emulation. 22:25:35 "OS/2 has no native computer viruses, and is invulnerable by design to native viruses due to the fact that it runs everything in a vm (virtual machine) mode, and all program data and caches exist in that virtual machine." 22:26:33 Someone needs to tag that [citation needed]. 22:28:45 http://virus.wikidot.com/arelocs "Arelocs also known as Aep is one of a few viruses for IBM's OS/2 operating system. It is considered "the first known virus that affects OS/2 files in the 'right way'" as it writes itself to the file and modifies the NewEXE header and other system areas." 22:34:31 finally a virus that affects the 'right way' 22:38:29 -!- epicmonkey has quit (Ping timeout: 248 seconds). 22:52:19 -!- nooodl has joined. 22:56:16 -!- nooodl_ has quit (Ping timeout: 264 seconds). 23:05:17 -!- conehead has quit (Quit: Computer has gone to sleep.). 23:22:04 -!- bicyclidine has joined. 23:38:57 -!- AndChat-469104 has joined. 23:40:08 -!- AndChat-469104 has changed nick to Bike. 23:41:25 -!- bicyclidine has quit (Ping timeout: 248 seconds). 23:45:19 -!- Bike_ has joined. 23:45:21 -!- Bike has quit (Quit: [spurious input; ignoring]). 23:45:40 -!- Bike_ has changed nick to Bike.