00:00:04 unfortunately, that makes it more likely to pass than if a politician proposed it 00:01:02 Thankfully, it was proposed by the FCC. 00:01:23 Who can tell them to go suck a dick without fear of repercussion (because loud morons won't complain about it). 00:01:31 Erm. Proposed *to* the FCC. 00:15:57 I need a DHT expert. 00:15:59 You, pikhq! Be a DHT expert. 00:19:19 Ha-hem. 00:19:29 nooga: sane style or stupid style? 00:19:29 stupid 00:19:32 i mean dfa/nfa etc 00:19:35 or crappy 00:21:28 * alise decides that the only way to get aliseOS done is to split it into tiny, tiny little research experiments of different components 00:23:36 -!- Leonidas has quit (Ping timeout: 265 seconds). 00:24:58 -!- Leonidas has joined. 00:26:17 alise: This is probably the best way of getting any large project done. 00:26:42 pikhq: Except at the end I can't combine them all, since they'll be custom-built. Of course, this doesn't matter -- there is no end! 00:26:55 Never has there been a more NIH and more slow-paced project than aliseOS. 00:27:13 Even Feather has the beginnings of an implementation and a preliminary syntax. 00:28:37 -!- Mathnerd314 has quit (Disconnected by services). 00:28:54 -!- Mathnerd314_ has joined. 00:29:07 pikhq: Anyway, you're Consultant #1. I have decided to start numbering my consultants, as I have discovered I am too ridiculous to name them. 00:29:30 -!- Mathnerd314_ has changed nick to Mathnerd314. 00:32:00 -!- augur has quit (Ping timeout: 252 seconds). 00:42:08 I wonder if it is physically possible for anyone to read everything Mencius Moldbug has written. 00:47:58 -!- BeholdMyGlory has quit (Remote host closed the connection). 00:54:51 well, I imagine Mencius Mlodbug did 00:55:02 *Moldbug 01:02:45 ais523: i think he multitasks 01:02:53 making toast, tap on the keyboard a little 01:10:18 -!- FireFly has quit (Quit: swatted to death). 01:16:37 -!- augur has joined. 01:24:17 -!- Sgeo has joined. 01:25:34 Are logfiles compatible across different versions of ddrescue? 01:25:44 I'm thinking of using Parted Magic's ddrescue to finish it 01:26:02 Also: If I use my old computer, there is a risk that, if there's a blackout, it will stop 01:26:10 The logfile will still be intact, right? 01:29:30 -!- ais523 has quit (Remote host closed the connection). 01:31:32 * Sgeo wonders if alise is awake and if so, if alise is simply refusing to talk about this issue 01:32:53 -!- augur has quit (Ping timeout: 272 seconds). 01:33:42 i didn't notice 01:38:37 My current plan: Wait to get an external HD mount. Set up old computer to do the ddrescue 01:38:44 Be patient 01:41:55 -!- trinithis has quit (Quit: Leaving). 01:42:15 -!- trinithis has joined. 01:57:01 goodnight 01:57:02 bye 01:57:07 -!- alise has quit (Quit: Leaving). 01:57:18 -!- alise has joined. 01:57:23 Sgeo: although one last thing. 01:57:33 think hard about whether the things on that drive truly make you happier. 01:57:37 bye 01:57:38 -!- alise has quit (Client Quit). 02:00:04 -!- augur has joined. 02:06:01 ...? 02:19:10 My passwords. 02:19:12 My favorites 02:19:25 Chat logd 02:19:27 *chat logs 02:27:51 -!- lament has joined. 02:38:58 -!- bsmntbombdood has joined. 04:12:22 :-/ 04:29:23 Current battle plan: Help rebuild my dad's 2002 computer. Do not accidentally fry motherboard. Use computer to finish the ddrescue 04:32:11 alise, I'm forcibly undeferring you 04:37:56 -!- augur has quit (Remote host closed the connection). 04:38:10 -!- augur has joined. 04:41:52 -!- augur has quit (Remote host closed the connection). 04:42:27 -!- augur has joined. 04:50:42 -!- augur has quit (Remote host closed the connection). 04:51:03 -!- augur has joined. 05:02:37 -!- sshc has quit (Ping timeout: 265 seconds). 05:03:23 -!- sshc has joined. 05:25:55 My busy message on my IM accounts: "Do Sgeos dream of electric esolangs?" 05:30:32 -!- wareya_ has joined. 05:33:39 -!- wareya has quit (Ping timeout: 240 seconds). 05:49:04 -!- augur has quit (Remote host closed the connection). 05:49:17 -!- augur has joined. 06:00:50 -!- augur has quit (Remote host closed the connection). 06:00:59 -!- augur has joined. 06:09:47 -!- calamari has joined. 06:20:24 -!- calamari has quit (Quit: Leaving). 06:54:48 -!- webquint has joined. 06:55:25 someone suggest me a language on the wiki that I haven't looked at yet and isn't the same old thing. 07:00:10 -!- tombom has joined. 07:04:28 webquint: Glass? 07:05:01 "developed by Gregor Richards" :D 07:05:14 OK, I could be biased :P 07:06:02 At least I didn't say "Glass, 2L, ORK and FYB!" 07:08:03 well, I was just looking at the *L's so that would be impertinent anyway 07:08:59 what's the most unique thing about glass? what's the thing i never saw before? or is it just the way things i've seen before have been putted together? 07:12:38 it hasn't been long since i looked at fyb either 07:18:59 anyone familiar enough with scheme's call/cc to answer some questions? 07:19:10 hopefully everybody in the channel 07:19:13 :p 07:19:52 lament: assumie (define (f return) (return 2) 3) 07:20:00 (display (call/cc f)) ; displays 2 07:20:03 from wikipedia 07:21:42 i got lost on (define (f return) (return 2) 3) 07:22:37 is that valid syntax? 07:22:53 is that an implicit begin block? 07:26:02 -!- augur has quit (Ping timeout: 265 seconds). 07:26:19 nooo my favourite gay person is gone 07:27:00 * Gregor reappears. 07:27:28 webquint: Glass is OO, which is rare for esolangs (although certainly not rare for real languages). Glass is stack-based, which is rare both for OO and for real languages. 07:28:22 -!- augur has joined. 07:29:35 lament: There, he's back. 07:29:42 lament: Celebrate! 07:29:45 Gregor: ORK amused me more. 07:29:47 yay celibation 07:30:05 lament: That's nothing to yay about :P 07:30:08 But not as much as Schrodilang. That one wins the night for me. 07:30:20 :( 07:30:23 my client is all wonky 07:31:21 augur: (define (f return) (return 2) 3) 07:31:26 is that an implicit begin block? 07:31:30 lament: http://pastebin.org/1016674 07:31:35 from similar askings in #haskell 07:32:48 uh 07:33:01 your "explanation" is more like an attempt to make things more confusing than they are 07:33:10 it's not that it's wrong 07:33:17 lament: maybe. its very clear and sensible to me :) 07:33:27 but i can't understand it despite knowing what call/cc does 07:33:43 ok, can you explain then how call/cc works, implementation-ish-wise? 07:34:11 (call/cc f) calls f with the current continuation, right? 07:34:21 just like the name says 07:34:22 sure, but i dont know what the current continuation is 07:34:30 ok then that's the important bit 07:34:32 im trying to understand how thats built up 07:34:40 continuations are still a concept in absence of call/cc 07:34:57 a continuation is the rest of your program 07:35:03 ok first let me just try this right 07:35:23 it's easiest to understand them in an imperative language without any state 07:35:25 using f from before 07:35:36 just a bunch of statements 07:35:39 print "hi" 07:35:40 (+ 1 (* 2 (call/cc f))) == ??? 07:35:41 print "blah" 07:35:49 then the continuation is literally the rest of your program 07:36:06 when you're on the line print "hi", your continuation is just print "blah" 07:36:33 but because scheme has expressions and not statements, it gets slightly more complicated 07:37:12 the continuation of (call/cc f) in (+ 1 (* 2 (call/cc f))) is (+ 1 (* 2 ...)) 07:37:17 it's the unevaluated bit 07:37:22 ok but 07:37:41 and normally ... is replaced by whatever (call/cc f) is evaluated to right? 07:37:43 so its the highest possible thing being evaluated at any given moment? 07:37:51 or the smallest? 07:37:54 i mean 07:37:55 it's the rest of your program 07:37:59 ok 07:38:11 so its genuinely program-scope 07:38:22 yes 07:38:31 ok 07:38:38 so then what happens is... 07:38:41 now what call/cc does is 07:38:53 it allows you to pass anything to the continuation 07:38:54 you say (eval '(+ 1 (* 2 (call/cc f)))) ... 07:39:01 unwind this evaluation for me, if you can 07:39:12 i said that conceptually the continuation is (+ 1 (* 2 ...)) 07:39:16 right 07:39:20 but specifically in scheme 07:39:38 it's a function that takes a parameter and places it in the ... 07:39:46 right 07:39:50 (lambda (x) (+ 1 (* 2 x))) 07:39:53 sure 07:40:10 so that's what f gets called with 07:40:26 right 07:40:27 except it's not just (lambda (x) (+ 1 (* 2 x))) 07:40:33 it's actually the outer expression 07:40:42 the outer expression? 07:40:52 yes 07:40:56 when it is evaluated 07:41:01 it is the (+ 1 (* 2 (call/cc f))) that was evaluated 07:41:15 not some new lambda 07:41:59 in terms of control flow 07:42:01 ok, so .. what does that mean? how can it be the ... that was evaluated? 07:42:08 you mean like in terms of environments or what? 07:42:11 what this means in terms of control flow 07:42:19 (define (f return) (return 2) 3) 07:42:27 (display (call/cc f)) 07:42:42 we call f with the current continuation which is (display ...) 07:42:43 -!- webquint has quit (Quit: Page closed). 07:43:02 we start executing f and have to evaluate (return 2) 07:43:37 return is the continuation 07:44:03 -!- calamari has joined. 07:44:04 when we call it control flow returns into (display ...) 07:44:14 the outer expression of your program 07:44:23 and ... becomes 2 07:44:47 evaluation of f abruptly terminates 07:44:56 well hold up tho 07:44:57 we never actually finish evaluating it 07:45:03 because eval isnt just going to say aha call f! 07:45:07 3 never gets evaluated 07:45:18 call/cc calls f 07:45:40 its going to say ok, '(display (call/cc f)) thats an application, so thats (apply (eval (car that)) (map eval (cdr that)) env) 07:45:42 etc etc 07:45:52 or whatever the interpreter is doing there 07:46:09 sure 07:46:25 so unwind it from there if possible 07:47:00 (map eval (cdr that)) env) returns 2 07:47:05 at the moment that return gets called 07:47:53 but why is it going to return 2 07:48:04 i don't understand the question 07:48:11 itll just be (eval '((call/cc f))) 07:48:12 that's how call/cc works? 07:48:16 yes 07:48:23 and? 07:48:27 call/cc is a magical function 07:48:30 so whats going on with the stack and so forth 07:48:34 well i KNOw its magical 07:48:38 i want to UNDERSTAND the magic! 07:48:50 call/cc calls f 07:48:57 and passes it the current continuation :( 07:49:07 the current continuation is a magical object 07:49:19 how does call/cc get it, by magic 07:49:21 lament: I'm not sure if this was answered yet, but (define (f return) (return 2) 3) = (define f (lambda (return) (return 2) 3)) and lambda's have "an implicit begin block" in the sense that you can put multiple expressions in, and it works like in a begin. I've seen at least some implementations (incl. my own) that actually translate multi-expression lambdas into single-begin-block lambdas for convenience. 07:49:32 fizzie: thanks 07:49:46 augur: the current continuation really is magical 07:49:57 it is created by magical means 07:50:05 it encapsulates the state of the execution 07:50:11 so it pretty much has to be magical 07:50:19 you're useless :| 07:50:31 no that's how it works 07:50:45 call/cc does magic 07:50:52 it collects all the state, stores it somewhere 07:50:57 ok sure 07:51:16 so it starts evaling (+ 1 (* 2 (call/cc f))) 07:51:20 in such a way that it becomes possible to return to that moment of execution 07:51:23 builds up some call stacks or whatever 07:51:26 hits (call/cc f) 07:51:27 then what 07:51:45 call/cc is evaluated, does its magic 07:51:48 which involves 07:51:55 copying those call stacks somewhere 07:51:58 copying the envs 07:52:10 -!- tombom has quit (Quit: Leaving). 07:52:12 and packaging this as a nice callable object, the current continuation 07:52:19 ok 07:52:35 I'm probably going to confuse this even more, but it doesn't necessarily involve any copying, just additional references, if your stack is just a garbage-collected heap. 07:52:44 fizzie: sure, thats fine 07:52:59 so it packages it all up as a pseudoprocthingybopper called the current continuation 07:53:00 right 07:53:06 yes 07:53:20 then it calls (f that-current-continuation) 07:53:27 now for as long as the continuation object exist, you can effectively return to that moment in time 07:53:32 by calling the continuation 07:53:44 -!- calamari has quit (Quit: Leaving). 07:53:49 right ok 07:53:50 call stack and everything else gets restored 07:54:05 and (call/cc f) itself returns the value that the continuation was called with 07:54:56 it's pretty awesome, you travel back in time but bring new information with you 07:55:03 you could win the lottery this way 07:57:18 Can't resist pasting the full call/cc primitive code (5 lines) in my silly little scheme-course-programming-project implementation: 07:57:21 mov rax, rdx 07:57:21 mov rdx, rdi 07:57:21 shl rdx, 8 07:57:21 mov dl, ITcont 07:57:21 jmp apply 07:57:25 That's not very much magic at all. 07:57:53 i meant magic in the sense of not being anything like scheme code 07:58:40 strange incantations in assembly don't have to be long to be powerful :) 07:59:01 lament: what would happen with (define (f return) (return 2) (return 3)) 07:59:20 augur: (return 3) never gets evaluated, just like 3 never got evaluated before 07:59:29 could it ever get evaluated 07:59:34 no 07:59:46 return returns 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:00:36 ok, so its not a yield, its an actual return here 08:00:49 well the stack and everything else gets replaced 08:00:57 by the continuation inside return 08:01:11 Oh, I'm sure you could sort-of do a pure Scheme call/cc implementation, with some pretty hairy macros to CPS everything else, after which call/cc is just (define (call/cc f k) (f k k)), assuming f gets turned into (define (f return k) (return 2) (k 3)). 08:02:24 ugh :) 08:03:42 augur: the next step on the path of enlightenment for you is to figure out how CPS compares with GOTOs 08:03:52 fizzie: how hairy would the macros be? i mean, i presume you mean scheme macros, not some magic compiler macros, yeah? 08:04:19 scheme macros, pretty damn hairy 08:04:23 ok. 08:04:32 so in theory maybe some non-scheme macro would work nicely then? 08:04:33 like 08:04:34 a macro like 08:04:41 fizzie: and how would this help with envs 08:05:02 global variables 08:05:47 ? 08:05:50 /(.*)\(call/cc (.+)\).*/ => "(\2 (lambda (x) (\1 x)))" 08:06:03 that would literally rewrite the code 08:06:11 CPS conversion is a perfectly valid way to implement continuations, but I don't think I'd start doing it to Scheme before simplifying lets and such. 08:06:14 modulo unnecessary details 08:06:35 augur: call/cc doesn't rewrite the code it replaces the execution state 08:06:55 augur: do you know CPS? 08:07:09 lament: im saying hypothetically if you were implementing a transformation based approach 08:08:24 well again imagine your language was statements instead of expressions 08:08:35 1. foo 08:08:38 2. call/cc whatever 08:08:41 3. bar 08:08:44 yes 08:08:53 then the continuation is literally 3. bar 08:09:01 so you could shove that somewhere 08:09:04 right ok 08:09:13 er, 3. bar followed by 4. terminate 08:09:24 so you know when to terminate 08:09:48 you can do this in scheme, with CPS. 08:09:54 do you know CPS? 08:10:00 In full CPS, your simple (* (+ 1 2) 3) would turn into something like (lambda (k) (+ 1 2 (lambda (v1) (* v1 3 (lambda (v2) (k v2))))), modulo something to deal with +/* taking a variable amount of args. 08:17:38 lament: maybe. full explicit CPS im ok with, i think 08:17:51 fizzie: also it was (+ 1 (* 2 ...)) not the other way :P 08:18:26 augur: full explicit CPS just makes continuations explicit, so there you go 08:18:35 they're the same continuations 08:18:49 lament: but im not trying to understand CPS, im trying to understand call/cc! 08:19:06 all call/cc does is call something with the current continuation 08:19:13 which is explicit with CPS and implicit otherwise 08:19:14 thats useless :P 08:21:35 The community-scheme-wiki has two explanations of continuations; one with the usual "explain escape continuations first, then show you can jump back in, then give a coroutine-style example" and another for C programmers comparing with setjmp/longjmp: http://community.schemewiki.org/?call-with-current-continuation 08:24:27 -!- sftp has quit (Read error: Connection reset by peer). 08:25:48 (I'm not claiming either introduction is an especially good one.) 08:30:57 -!- atrapado has joined. 08:34:31 -!- nooga has quit (Ping timeout: 272 seconds). 09:27:25 -!- lament has quit (Ping timeout: 264 seconds). 14:03:53 -!- oerjan has joined. 14:07:05 -!- ais523 has joined. 14:18:17 -!- ais523 has quit (Read error: Connection reset by peer). 14:22:19 -!- ais523 has joined. 14:46:01 Hypothesis: all operating system ads are so obnoxious that the rage of people watching them could be used for power. Discuss. <-- I can't remember seeing an ad for an OS the last 5 years, but then I use adblock. Anyway I have no idea what they look like these days 14:46:35 I'M A MAC 14:46:39 AND I'M A PC 14:46:55 http://membres.multimania.fr/bewulf/Apple/1180113117597.jpg 14:49:08 http://membres.multimania.fr/bewulf/Apple/1180111599456.jpg 14:49:10 heheheh 14:49:25 http://membres.multimania.fr/bewulf/Apple/pic_5580970011890947492.jpg 14:49:45 http://membres.multimania.fr/bewulf/Apple/1180111599456.jpg <-- not since a few years 14:50:35 Slereah, the last one: is it about architectures or OSes? 14:51:06 It is about humor. 14:51:18 Slereah, the last one doesn't really work 14:51:32 Maybe for NERDS 14:51:36 I still like it :3 14:52:15 Slereah, like mac used to be RISC. PPC after all 14:52:39 and most (all?) Dell's are x86 PCs. Plus iirc some x86 servers 14:52:54 and um, GNU would be GNU/Hurd? 14:53:08 NEEEEEEEEEEERD 14:53:21 yeah the whole thing just doesn't work 14:53:22 Also, SGI and Sun (Solaris I assume) and a few of the others are all UNIX. 14:53:28 Gregor, indeed 14:53:31 Gregor, I was getting to that 14:53:45 I like BeOS though :P 14:53:59 GN/ERD 14:54:12 I don't get the DEC one as a dinosaur... 14:54:29 I don't get most of them 14:54:29 Vorpal: But ... a DEC machine ... is a dinosaur. 14:54:35 Though the Amiga, I got :3 14:54:41 Vorpal: Are you unfamiliar with the expression "X is a dinosaur"? 14:55:05 Gregor, no, but um, Amigas are also dinosaurs. So are probably the Amstrads and a few more 14:55:32 Yeah, but DECs are dinosaurs in that they're still around being old. 14:55:40 The amiga joke is that there is a furry dude who is big on Amigas. 14:55:46 Eric Schwartz 14:55:57 oh, I was wondering about that 14:56:18 anyway, so what? There are probably a ton more furries using windows 14:56:34 Yes, but how many people are known for using amigas? 14:56:45 Slereah, today? Zero 14:56:57 Well, one. 14:57:09 I never heard of him before 14:57:19 I have :P 14:57:26 And he said "known", not "known to Vorpal" 14:57:31 Well, if you're not a furry or amiga enthusiast, it is not too surprising. 14:57:39 He made this : http://www.youtube.com/watch?v=9mg6wrYCT9Q 14:58:03 He's famous enough to have a not-a-complete-stub wikipedia page, anyway -- http://en.wikipedia.org/wiki/Eric_W._Schwartz 14:58:44 He made this : http://www.youtube.com/watch?v=9mg6wrYCT9Q <-- wtf? 14:58:53 I don't know! 14:59:00 is it a portal reference as well? 14:59:05 Nah 14:59:09 He just liked the song 14:59:13 And made it fit to Amiga 14:59:17 said "aperature science" somewhere in there 14:59:26 Yes, because the song is from Portal 14:59:29 ah 14:59:30 never played portal to end 14:59:33 (Also "Black Mesa") 14:59:35 I got bored quite quickly 14:59:36 You should 14:59:40 Quickly? 14:59:48 The game takes like an afternoon to finish 15:00:07 Slereah, well, about a bit after the last test room it got very boring 15:00:50 You should try to finish it. 15:00:52 Great ending. 15:00:59 And not very long. 15:01:03 Slereah, not my genre. Puzzle isn't just my style 15:01:14 Slereah, nor the first person perspective 15:01:26 What is your style? 15:01:39 Slereah, third person RPG or non-3D RPG 15:01:44 oh and rougelike 15:01:49 Did you play Torment? 15:02:02 Slereah, never even heard the name. 15:02:06 Slereah, I love NWN1 btw 15:02:20 Go play it 15:02:23 RIGHT NOOOOW 15:02:27 Slereah, ? 15:02:30 Slereah, I never heard of it 15:02:36 Torment is widely considered the best RPG :3 15:02:37 Planescape: Torment. 15:02:41 Yes, it is the good. 15:02:43 ah that is a bit more info 15:02:56 Slereah, maybe next holiday, if it runs on low end systems 15:03:07 The game is 12 years old 15:03:09 It should. 15:03:09 It was released in '99. 15:03:12 ah no problem then 15:03:18 PROTIP 15:03:22 Buy the DVD version. 15:03:23 wine or what? 15:03:31 CD version is very hard to run on modern systems 15:03:32 (I'm not going to install windows) 15:03:46 Wine it is, I guess 15:03:48 It hasn't always been very Wine-friendly in all Torment/Wine version pairs, but it should be doable. 15:04:06 well, then I might just as well skip it 15:04:11 Well, the DVD version runs fine on modern systems, so I guess it should run 15:04:34 Slereah, my cpu is from 2006 15:04:42 Slereah, or was it 2004? 15:04:51 early 64-bit sempron anywayt 15:04:52 anyway* 15:05:04 It is not a very demanding game 15:05:11 Slereah, so why would a dvd version be better 15:05:15 Er, well, the official system requirements call for "200MHz CPU w/ MMX, 32MB RAM"; I really don't think that should be a problem. 15:05:17 It had good graphics for the era, but well, that was 99. 15:05:22 and um, I don't have any money to spend on it 15:05:32 The CD version was made for windows 98. 15:05:36 And old computers 15:05:39 hm okay 15:05:47 It fucks up a lot on recent video cards 15:05:57 So they rereleased it recently as a DVD 15:06:00 Also you can 15:06:01 and what made the newer version want a DVD? 15:06:02 PIRATE IT 15:06:16 I mean, does it take more space? 15:06:17 Because nowadays nobody uses CDs anymore for games 15:06:33 Also IIRC the original came on 2 CDs 15:06:38 Or 4 for one version 15:07:01 "It takes place in Planescape, an Advanced Dungeons & Dragons (AD&D) fantasy campaign setting. The game's engine is a modified version of the Infinity Engine, which was also used for BioWare's Baldur's Gate, a previous AD&D game set in the Forgotten Realms." <--- okay *that* looks promising 15:07:11 You can probably play Torment with GemRB (a portable open-source Infinity Engine replacement) some day, but not with the current beta, which only does BG1/BG2/Icewind Dale. 15:07:12 Yeah. 15:07:19 hm I forgot, did NWN1 use that engine too? 15:07:19 It is very story-oriented 15:07:26 No, NWN went with 3D. 15:07:34 Slereah, good, but something to save for when I don't have lots of deadlines looming ahead 15:07:41 k 15:07:44 fizzie, oh so this is isometric? 15:07:50 Yeah. 15:07:54 apparently, the amount of text in Planescape: Torment's dialog trees is about the same amount of text as is found in one volume of the Encyclopedia Britannica 15:07:59 Also, if you want another good RPG : Arcanum 15:08:03 Slereah, ever played any game from the avernum series? 15:08:06 also, you can complete the entire game with only two combats 15:08:12 Doesn't ring a bell 15:08:14 Slereah, a mix of RPG/adventure 15:08:20 Torment is I think widely considered best, or at least most interesting, of the Infinity Engine games. 15:08:24 Slereah, probably only well known on classic mac os 15:08:31 Slereah, spiderwebsoftware 15:08:36 HUGE gameworld 15:08:38 isometric 15:08:51 Huge gameworld isn't necessarily a good thing. 15:08:56 Wasn't that the continuation of Exile stuff? 15:08:59 Slereah, it is for avernum 15:09:01 fizzie, so it was 15:09:02 Arena was like the size of Britain 15:09:09 But most of it was randomly generated 15:09:10 fizzie, remake and continuation 15:09:17 Slereah, not much random in avernum 15:09:38 avernum 2 is on the top 3 of RPG list of all time for me 15:09:49 runs well in sheepshaver under OS 9 15:10:07 avernum 3 sadly doesn't work in sheepshaver, works fine on real classic mac though 15:10:15 I played Exile.. I think it was number 2, back then; I have good memories about that, although I don't quite recall much about the game itself. 15:10:59 fizzie, I found exile a bit unbalanced and exile 1 had terrible keyboard controls... the avernum series remake of 1/2/3 were a lot more balanced a better than the original exile games 15:11:18 s/a better/and better/ 15:11:40 http://tvtropes.org/pmwiki/pmwiki.php/Main/PlanescapeTorment is a nice "four paragraphs and a line" introduction to Torment. 15:11:57 fizzie, and isometric is a lot nicer than a weird mix of top-down/sideways/whatever-works 15:11:58 Oh, sorry, I guess a tvtropes link is a bit of a netiquette violation. 15:12:40 now bbl 15:13:14 I seem to recall there being some Torment references sneakily sneaked into NWN 1 or 2. 15:13:31 -!- cpressey has joined. 15:13:41 Or maybe the Mask of the Betrayer extension thing. 15:14:49 Vorpal 15:14:53 Did you at least play 15:14:55 MORROWING 15:14:58 D 15:15:54 I think we have had a talk about Morrowind here before. 15:16:07 It wasn't something he played, if I recall correctly. 15:16:30 fizzie, back for a sec, was the dvd release on one? 15:16:34 Slereah, not familiar. 15:16:49 Morrowind is the one that came before Oblivion. 15:17:04 Vorpal: Which DVD release? 15:17:10 fizzie, planescape 15:17:43 I would sure guess so. I don't quite recall how many CDs the CD version had, and I haven't had the DVD one ever. 15:17:45 Morrowind is pretty good. 15:17:45 At least officially. 15:17:52 Original settings, good story 15:18:08 I bought the DVDs a few months ago 15:18:11 Runs smoothly 15:18:19 Unlike those lousy CD versions 15:18:24 Morrowind was fun-ish, but it's quite different in gameplay-style from something like BG and friends. 15:18:25 They choked on my mighty cock 15:18:28 I mean video card 15:18:34 Yeah. 15:18:38 Still, pretty good. 15:18:56 It was nice to see an RPG that wasn't medieval England. 15:19:12 Much like Planescape and Arcanum by the way :3 15:19:13 fizzie, lets say: I'm unable to find a dvd one. 15:19:17 also wtf is .nrg 15:19:24 fizzie: I SEE NOTHING BAD WITH TVTROPES LINKS. ALSO, MWAHAHAHA 15:19:24 That's a disc image. 15:19:32 fizzie, what can open it... 15:19:37 ENERGY 15:19:48 Vorpal : On linux, no idea 15:19:52 Vorpal: There was some sort of a converter; it's from the Nero tool. 15:19:53 hello sweethearts 15:20:03 Try finding a virtual DVD player 15:20:14 "nrg2iso" is in Ubuntu's repo, at least. 15:20:30 And "iat". 15:20:51 hm 15:20:56 oerjan: hello 15:20:58 ("BIN, MDF, PDI, CDI, NRG, and B5I, -- into ISO-9660.") 15:21:02 fizzie, timeout on tracker -_- 15:21:06 oerjan: you have been marked as being away 15:21:11 oerjan: where have you been 15:21:22 By the way 15:21:29 If you try Planescape 15:21:30 Protip 15:21:38 Invest heavily in intellectual stats. 15:21:41 It pays off. 15:21:58 mhm 15:22:16 Yeah, it's not a very hack-and-slash game. 15:22:19 Slereah, I'm, um, acquiring it now, won't play it until later though 15:22:34 fizzie, nor is NWN 15:22:41 (And some of the interesting dialogue options have stats checks, as can be expected.) 15:22:46 well I guess it might be if playing fighter 15:22:57 not as rouge or any spell caster though 15:23:11 Well, you can be a fighter 15:23:13 Vorpal: NWN is in the sense of lots of combat 15:23:17 Just be a philosophing fighter. 15:23:34 As said, you don't need to do a lot of combat, be it physical or magic 15:23:34 just because you're fireballing things rather than stabbing them doesn't prevent it being hack-and-slash 15:23:42 Planescape: Torment is... different 15:23:54 ais523, well... with good stats in hiding related stuff you can use different tactics quite often 15:23:55 Well, you can play it as a hack and slash 15:23:59 But it is rather boring 15:24:15 Although there are very hack-and-slashy parts in the game. 15:24:24 Vorpal: are you using a henchman? they normally spoil any attempt to stealth through the game 15:24:39 although admittedly, the NWN 1 speedrun does pretty much all of chapter 1 via invisibility potions 15:25:14 ais523, I'm aware, and I try to avoid henchman sometimes, though, hiding tactics doesn't work for all subquests, so often a mix of leaving henchmen for some parts and using them for other 15:25:16 Like fucking Baator 15:25:21 Baator was a nightmare 15:25:26 Though it was supposed to be 15:25:42 MOUNDS OF SKULLS 15:29:40 oerjan: you have been marked as being away <-- erm that's a technical term in irc, and as far as i know hasn't been true of me in a while 15:30:09 well, technically it's just a convention that's almost universally honoured, IIRC 15:30:21 it's not in the main IRC standard, it's in one of the supplements I think 15:30:36 -!- ais523 has quit (Read error: Connection reset by peer). 15:32:00 -!- ais523 has joined. 15:34:23 cheater: in _other_ news which may be relevant to my absense, first the new nvg server that they set up to replace the one that died itself died, temporarily, on friday it may have been. it got back online sunday evening. monday afternoon the neigbors managed to dig through our phone cable (again). 15:37:41 ais523: well, it's an actual command 15:37:54 oerjan: yes 15:38:38 "With the AWAY message, clients can set an automatic reply string for any PRIVMSG commands directed at them (not to a channel they are on). The automatic reply is sent by the server to client sending the PRIVMSG command." (RFC1459) 15:38:40 and i rarely use it anyway 15:38:55 I have auto-away set up nowadays 15:40:54 I have as XLock.startCmd: a Python script to tell X-Chat (via DBus) to set an away message; just to be different, you see. (In fact, I think I'll actually go away now.) 15:41:09 oerjan, "again"? 15:41:26 oerjan, you think that since it would cost quite a bit for them to have it repaired, they would learn to avoid it 15:41:26 Vorpal: happened in the spring as well 15:42:10 well this time it may not have been them personally, there's been some major digging all throughout the neighborhood 15:42:17 hm 15:42:30 but it was in approximately the same spot as last time :D 15:43:07 it looks like they're renovating the sewers or something 15:44:45 the first time it was them just moving in and replacing part of the lawn with stones 15:45:27 *stone tiles 15:48:11 -!- alise has joined. 15:49:38 01:11:05 16:47:01 which is why the Singularity is defined at precisely the point where we have no fucking idea what will happen ← true, but you presuppose many things about it which aren't as certain as made out. 15:49:51 I may have speculated wildly while stating that I was. 15:50:00 But nothing I've said as fact is controversial at all, really. 15:50:30 20:32:11 alise, I'm forcibly undeferring you 15:50:40 i have no wish to help you further as i know you ignore my advice 15:50:52 ...whatever undeferring means 15:51:47 23:34:22 sure, but i dont know what the current continuation is 15:51:55 the current continuation is the return address 15:51:58 except it's the return closure 15:52:09 (f (g x)), the call to g has the continuation (lambda (g-result) (f g-result)) 15:52:11 the end 15:52:33 alise: hmm, an interesting way to define it 15:52:40 http://www.youtube.com/watch?v=IJyUQ7zarS8&feature=related 15:52:46 for some reason, I only mentally define the current continuation during a call to call/cc 15:52:50 Planescape made you think your spells were tits :3 15:52:51 ais523: well, it's the easiest way to explain it to someone who groks some basic return stack assembly 15:52:59 ais523: also, some of the best scheme implementations do CPS 15:53:06 so in that case it's entirely continuation-based 15:53:09 yep 15:53:18 but I'm thinking in a world where things aren't necessarily CPS 15:53:31 not Scheme's native world :) 15:54:04 I wasn't assuming Scheme 15:54:08 augur was 15:54:14 ah, OK 15:54:52 i actually get kind of annoyed at people who don't get monads or continuations as i can't help but think they're the simplest things in the world :P 15:55:06 Monads aren't simple >:| 15:55:10 they are. 15:55:19 I understood quantum mechanics before I understood monads. 15:55:35 that just means you're a physicist, not a computer scientist 15:55:38 the programming concept of a monad is relatively simple 15:55:39 also, you don't understand quantum mechanics 15:55:40 nobody does :) 15:56:02 you can, say, understand a useful subset of quantum electrodynamics, though 15:56:03 You only say that because you're a computer scientist, not a physicist. 15:56:09 or enough quantum mechanics to know how a transistor works 15:56:21 Slereah: actually, i'm quoting a physicist from memory. 15:56:32 Yes, you're quoting Richard Feynman. 15:56:35 I know 15:56:39 Because I'm a physicist. 15:56:52 *puts on labcoat* 15:57:01 * Gregor imagines Slereah in a lab coat saying, "Yes, but /I'm/ a physicist!" then the crowd gasps in amazement. 15:57:02 (it's to avoid getting neutron stains on my jacket) 15:57:02 COMPUTER SCIENTISTS CAN WEAR LABCOATS 15:57:05 we're still scientists! 15:57:08 Damn, you labcoated before me :P 15:57:16 I should totally wear a lab coat. 15:57:17 we can still have test tubes 15:57:24 filled with liquid data storage 15:57:24 They have DATA in them! 15:57:26 ... 15:57:34 Gregor: Pre-emptively, I do. 15:57:37 http://www.phdcomics.com/comics/archive.php?comicid=1361 15:57:47 alise: I'm not a pedophile D-8 15:58:05 I guess unless that's super-preemptively :P 15:58:14 Maybe you could build one of those old school hydrolical calculator 15:58:15 And then 15:58:18 1) It's been ephebophilia for at least three years! 15:58:21 The water would be full of data 15:58:25 2) WHO SAID MARRIAGE MEANS YOU HAVE TO LIKE THE OTHER PERSON 16:00:52 My C implementation of Pixley is fully CPS now :) 16:01:05 Full of CPs? 16:01:08 C Pixley System 16:01:11 My CPS implementation of C is fully Pixley now :) 16:01:14 He was the pedophile all along 16:03:16 And he would've gotten away with it too if it wasn't for you meddling kids! 16:03:27 ...waaaaaaaaaaaaaaaiiiiit 16:03:49 http://www.thedailyshow.com/watch/tue-february-2-2010/story-hole---children-s-cartoons-from-hamas 16:04:03 And I would(ve gotten away with it too if it wasn't for those meddling jews! 16:04:32 And I would've gotten away with it too if it weren't for you meddles! 16:04:35 *medals! 16:04:38 Although meddles works too! 16:04:47 oerjan: you have been marked as being away in my HUMAN REGISTRY which you are an element of. 16:04:54 muddles 16:05:01 -!- Phantom_Hoover has joined. 16:05:02 muggles 16:05:09 alise: It's largely *because* monads and continuations are so simple that people find them hard to understand. 16:05:34 cpressey: I'm not entirely convinced you understand monads, though :P 16:05:40 Or, well, not in the conventional manner. 16:05:55 if monads are so simple 16:06:01 explain them to me in 5 minutes 16:06:03 alise: I admit that I don't, quite. 16:06:11 IN ONE SENTENCE 16:06:14 One word. 16:06:18 One character. 16:06:23 Zero character. 16:06:24 no, just in 5 minutes. 16:06:25 go on. 16:06:33 00:01:11 Oh, I'm sure you could sort-of do a pure Scheme call/cc implementation, with some pretty hairy macros to CPS everything else, after which call/cc is just (define (call/cc f k) (f k k)), assuming f gets turned into (define (f return k) (return 2) (k 3)). 16:06:36 you mean: 16:06:55 (define (call/cc f k) (f (lambda (x k2) (k x)) k)) 16:07:04 I do understand continuations pretty well, though. 16:07:17 (define (f return k) (return 2 (lambda (x) (k 3)))) 16:07:21 The y combinator, I also admit, I do not fully understand. 16:07:26 alise/cpressey: back up your claim 16:07:33 cpressey: I didn't understand the y combinator until about two days ago 16:07:41 cheater: unfortunately i'm sure you're not intelligent enough to understand it, unlike the towering minds we have in this channel. 16:07:44 when suddenly something clicked with me 16:07:49 ais523: Surely you're joking, Mister Smith! 16:07:51 alise: that's not nice 16:07:58 alise: I'd never really tried to understand it before then 16:08:07 ais523: I've seen it demonstrated, so I have a "feel" for what it does, but that's about all 16:08:14 ais523: Isn't it obvious? I guess if you haven't toyed with the lambda calculus a lot. 16:08:20 alise: also, my iq is fairly high, you just dislike me because i'm different, and the fact that i'm different makes you immediately assume that i'm also wrong 16:08:34 but my latest problem for my job has pretty much been to see to what extent it's possible to implement Y in hardware 16:08:50 it's clearly impossible in general, but we're trying to see if there are any useful special cases, and it looks like there are 16:08:53 ais523: whew 16:09:10 alise: which is fairly ironic coming from someone who's not understood well by the powers-that-be around them. 16:09:13 cheater: actually, I was just trying to (a) shut you up and (b) see how stupid you'd get under that insult 16:09:43 I now know that the answer to (b) is "claim that (a) your IQ was measured correctly (which is rare) and (b) implicitly claim that IQ is a measurement of intelligence". 16:09:47 incidentally, many monads (mostly the lightweight statey ones) have a really nice implementation in hardware 16:09:52 ais523: Y in hardware? ha 16:09:53 for what? 16:09:58 alise: completeness, really 16:10:11 * Phantom_Hoover understood the Y combinator after quite a bit of effort. 16:10:16 alise: silly strategies like that don't usually work with me 16:10:21 given that we can do more or less everything /else/ 16:10:29 cheater: well, half of it worked. 16:10:34 It's basically the omega combinator with an extra argument. 16:10:37 alise: i think if you once got off your high horse and tried being friendly, you would save a lot of grief and energy 16:10:52 alise: and then you could possibly even get something positive out of interacting with me 16:11:03 being friendly to people who i don't like takes more energy than it's worth. 16:11:04 alise: instead of painting yourself into the corner of negative relationships 16:11:05 ais523: hmm 16:11:10 in hardware, a monad is simply an extra wire/set of wires that go alongside the rest of the circuitry, and are used by individual components 16:11:11 ais523: Can you do SKI in hardware, then? 16:11:24 alise: i don't do anything on purpose for you to dislike me 16:11:24 alise: no, for the same reason you can't do it in Haskell 16:11:29 at least with the formulation we're using 16:11:31 alise: it is only your own mind block 16:11:35 ais523: ah 16:11:39 ais523: SKI still type, though 16:11:41 they're just not very useful 16:11:42 it'd require an infinite number of wires to construct the infinite type 16:11:44 alise: well, yes 16:11:50 alise: you can give it up, or you can continue to have someone around that you force yourself to dislike, your choice 16:11:53 i am interested in this research! 16:11:54 but more to the point, they type an infinite number of different ways 16:11:58 ah 16:11:59 no forall? 16:12:06 not in hardware 16:12:10 Are you wacky boffins talking about a purely-functional computer? 16:12:15 you need to know the exact type to konw how many wires you need 16:12:21 I thought the reduceron already counted. 16:12:29 no, ais523 is just implementing combinators directly in silicon 16:12:33 i think 16:12:41 (ais523 is an acceptable substitute for ais523 et al.) 16:12:45 ok, cpressey explains monads (wrong again). You write your function as a bunch of little functions and they get called, generally but not necessarily in sequence, by a bit of infrastructure which does some stuff for you, for example tracking state or aborting early. 16:12:46 (as a name) 16:12:53 cpressey: incorrect! 16:13:01 alise: you just love saying that. 16:13:07 besides, i am clearly NOT being technical 16:13:11 "ais523" is short for "ais" then a 523-character sequence of other names. 16:13:31 alise: http://portal.acm.org/citation.cfm?id=1190216.1190269 is the first paper in the series, written by my supervisor before I started working on the project 16:13:42 a monad is a type m of one argument for which the following functions have total (always-terminating) implementations: return :: a -> m a ; bind :: m a -> (a -> m b) -> m b (or join :: m (m a) -> m a, instead of bind), that obey the following identities: 16:13:53 "Left identity": return a >>= f ≡ f a 16:13:53 "Right identity": m >>= return ≡ m 16:13:53 "Associativity": (m >>= f) >>= g ≡ m >>= (\x -> f x >>= g) 16:13:54 alise: way too technical for this audience 16:13:54 the second's been accepted for publication but not published yet (with me as a coauthor), the third's been submitted but there's been no feedback yet (also with me as a coauthor) 16:13:55 alise: also, to answer your other "insult", i do not feel i said anything stupid. if you feel so, your loss, you're missing the value of things given to you. i guess that's closer to stupidity than what you implied. 16:13:58 >>= being bind 16:14:14 alise: heh, that's far from the way I understand monads, despite being the actual definition 16:14:26 cpressey: aha 16:14:39 ais523: it becomes a lot more useful when you start doing hopelessly theoretical things with them 16:14:40 ais523: the actual definition tells you NOTHING that helps you understand them, is what burns me 16:14:55 e.g. I know monads are associative, but mostly because they'd have the wrong semantics otherwise, not because being associative is part of what they are 16:14:59 alise, doing the monad laws without Kleiski arrows is ugly as hell. 16:15:02 cpressey: yep 16:15:10 Phantom_Hoover: not really 16:15:15 alise: that sort of definition is useful for proofs, but proofs can be far from understanding 16:15:22 Well, the 3rd one. 16:15:28 ais523: err, nothing like proofs 16:15:31 understanding the list monad 16:15:32 for instance 16:15:36 that's the first step 16:15:45 *Maybe monad 16:15:47 (you then generally need to know *why* instead of *how*, but it's the how) 16:15:48 alise: understanding the list monad for me is /miles/ from the theoretical definition 16:15:48 Phantom_Hoover: We still need to settle a question here. 16:15:54 It's the easiest non-trivial one. 16:15:56 ais523: not understanding the use; understanding 16:16:07 cpressey, a showdown! Count me in! 16:16:11 Phantom_Hoover: nah, read-only state is the easiest nontrivial one 16:16:34 ais523, for Maybe: 16:16:50 data Maybe a = Nothing | Just a 16:16:54 return = Just 16:17:06 cpressey: so why do you need those functions to be "many" and "small"? 16:17:15 do you need to break up your functionality somehow? 16:17:15 Phantom_Hoover: Do you really need a type system to have monads? If so, does it mean that, you can't have monads in (e.g.) the untyped lambda calculus? I don't believe that. 16:17:26 cpressey, you do in the strictest sense. 16:17:33 no, you don't 16:17:34 Since monads are by definition functors. 16:17:49 Functor? 16:17:53 I hardly know her! 16:18:06 *clap clap* 16:18:49 Phantom_Hoover: the category-theoretical definition of monads doesn't depend on types existing 16:19:00 or even any concepts from programming at all 16:19:12 and you can fit untyped LC into a category just as easily as typed LC 16:19:23 Well, I suppose. 16:19:40 cpressey's description is still just one possible practical usecase of monads, though 16:19:42 that isn't even tied to monads 16:19:50 and the concept of some supervising thing that calls your functions is wrong 16:19:57 I think my view is that if you want to prove that something is a monad, you need a type system in which to do so, just as if you want to prove something is an integer. But just to program them, well, like Church integers, if you can build it, there it is, even if you don't have a way of proving that it's that. 16:20:15 the issue with monads is, they're too general to really be useful 16:20:22 err, not reallty 16:20:23 *really 16:20:30 "It's too general! Nooooooooooooooooo!" 16:20:31 alise: what would you call bind and return if not infrastructure? 16:20:33 I mean, the concept of monads in general 16:20:37 "I can do things I didn't think I could do! Nooooooooooooooooo!" 16:20:39 rather than particular monads 16:20:45 cpressey: I would call them... bind and return. 16:20:52 return and join is the more common category-theoretical definition, though. 16:20:56 cpressey: do you call addition infrastructure? 16:20:56 cpressey: but a constructive proof is a proof too. 16:21:20 personally, I'm annoyed at return being necessary in the definition of monads, as even without return, you still have a pratically useful concept 16:21:29 cpressey: take a look at abstract algebra 16:21:30 is there a name for that one? 16:21:35 addition, multiplication -- 16:21:37 alise: if i were encouraged to make it implicit, i might, like in sum() 16:21:39 they're not infrastructure 16:21:49 they're part of the definition of a number 16:21:59 algebraic structures are defined *very similarly* to a monad 16:22:12 -!- BeholdMyGlory has joined. 16:22:13 Group: (G,*) where (G,*) is a monoid and [conditions] 16:22:15 first you say they're not structure then you call them structure 16:22:19 alise: there are a bunch of ways to define that sort of thing 16:22:21 Monad: (M,return,join) where [conditions] 16:22:30 and (the usage of) monads definitely encourages making the monad functionality implicit 16:22:38 after all, comultiplication isn't inherent in the definition of numbers, nor even definable for them 16:22:44 this conversation is boring 16:22:48 we've had it before at least three times 16:22:59 But it's for a noble cause! 16:23:08 Phantom_Hoover: :) 16:23:08 i.e. getting cpressey to understand monads! 16:23:42 hmm, interesting question: can all monads be implemented in terms of multithreading plus state (regardless of how inefficient or pointless it would be to actually implement them that way)? 16:23:56 ais523: eh? :P 16:24:00 * ais523 realises in horror that C-INTERCAL actually implements continuations that way 16:24:02 i'd like to see you do the continuation monad that way 16:24:08 alise: already have 16:24:10 ...ouch 16:24:18 ais523: well, continuations != the continuation monad 16:24:21 well 16:24:23 yep, I know 16:24:26 the usual implementation of continuations, that is 16:25:03 C-INTERCAL's implementation is nothing like the usual one 16:25:08 partly because it's such a stateful language 16:25:10 OK. Well, I should probably get some work done instead of boring y'all. 16:25:12 -!- cpressey has quit (Quit: leaving). 16:25:17 ais523: they can be implemented in terms of continuation and state (felleisen) 16:25:28 i wish cpressey would stop taking "this conversation is boring" to mean "you, personally, are a boring person" 16:25:41 oerjan: ah, OK, and continuations can be implemented in terms of multithreading, so they can be 16:26:11 I'm trying to figure out how to do continuations with multithreading. 16:26:14 alise: that's what happens when you hate on people 16:26:23 What happens is, I go to my thinking bank, and it beeps, and says "TOO PAINFUL TO CONSIDER". 16:26:49 you might be confused, i think it says "$this->ASSHOLE()" 16:26:58 IS THAT PERL 16:27:02 (or rather iirc, with delimited continuations, which can be implemented using ordinary continuations and a single stateful variable) 16:27:03 no, it's php. 16:27:09 legal Perl too 16:27:18 with probably pretty much the same meaning 16:27:37 alise: to create a continuation, fork a thread, lock it in an infinite loop 16:27:39 yeah, php is like perl with a few C extensions 16:27:48 to go back to the continuation, let it out of the infinite loop, kill the currently executing thread 16:27:51 ais523: ah, then break it out? 16:27:51 heh 16:27:57 you have to store all closed state in it, though 16:28:02 java-style final inner class problem 16:28:12 ais523: can you explain this "extra wire" analogy that you mentioned earlier? 16:28:15 theoretically possible, though, I guess 16:28:19 ais523: that sounded very interesting 16:28:46 cheater: unfortunately, it doesn't model all monads, just the large subset that correspond to just the one computation at a time (as opposed to 0-or-1 like Maybe, or 0..n like List) 16:29:01 ais523: yeah 16:29:03 ais523: go on though 16:29:09 00:05:50 /(.*)\(call/cc (.+)\).*/ => "(\2 (lambda (x) (\1 x)))" 16:29:10 ouch 16:29:42 so the idea is, you have an existing function; you can see it sort-of like a computation, give it input, you get output after a bit, and you can then connect that output to some other function 16:29:54 ais523: that's a shame -- Maybe and List being some of the most useful monads :P 16:29:58 alise: yep 16:30:01 so let's say this function is something like an addressable memory 16:30:04 err, what? 16:30:13 you feed it 8 bits of address and the output is 8 bits of data 16:30:18 oh, I see 16:30:30 it is a computation 16:30:31 a LUT 16:30:42 06:46:01 Hypothesis: all operating system ads are so obnoxious that the rage of people watching them could be used for power. Discuss. <-- I can't remember seeing an ad for an OS the last 5 years, but then I use adblock. Anyway I have no idea what they look like these days 16:30:52 Area Man Constantly Implicitly Mentions He Doesn't Own a TV 16:30:53 TV ads. 16:30:55 OK, so let's say it's an 8-bit-address ROM or something; what the function actually is hardly matters 16:31:10 Phantom_Hoover: Vorpal said that <-- 16:31:12 stuff 16:31:17 ok go on 16:31:19 alise: was that an onion title? 16:31:27 I was clarifying for him... 16:31:42 oerjan: "Area Man Constantly Mentioning He Doesn't Own A Television" 16:31:46 I adapted it to the situation. 16:32:00 ok 16:32:09 http://www.theonion.com/articles/area-man-constantly-mentioning-he-doesnt-own-a-tel,429/ 16:32:10 a classic 16:32:16 now, you can sort of think of the function as a component in a pipeline, or something like that, UNIX-style; you can run function after function after function, each of which takes its input from somewhere (could be the output of the previous function, could be a constant, could be an output from some earlier function) and produces output 16:32:27 yes 16:32:28 in such a way that when you run each function, you have enough information to know what input you plan to give it 16:32:44 -!- MigoMipo has joined. 16:32:55 now, suppose for each of these functions, you give it an extra piece of information of a given type (an extra integer or something), and it returns an extra piece of information of the same type 16:33:11 ok 16:33:14 gah, my boss has called just as it was getting interesting, I'll be back later 16:33:15 ais523: maybe you want Arrows rather than Monads? 16:33:22 aw 16:33:41 although every Monad is an Arrow afair 16:33:43 oerjan: you should be able to pick up where ais523 left off! 16:34:16 "ais523" -- people call him that in real life, you see -- "We're cancelling the 'monadia in silico' project. Instead, we're going to be doing 'Java in silico'. That will be all." 16:34:25 the worst phone call 16:35:48 -!- oerjan has quit (Quit: Good night). 16:39:34 alise, "We have invented nFAI." 16:39:36 Worse. 16:39:39 Qed. 16:41:17 "We have killed a kitten." 16:41:19 Wrose. 16:48:30 sorry about that 16:50:05 ais523: back? :) 16:50:07 yep 16:50:10 ais523: ok go on! 16:50:12 that was cunning 16:50:45 well, let's say we modify these functions to take an extra piece of input - which they don't have to use if they don't want to - an produce an extra piece of output, of the same type 16:50:54 yes 16:50:57 a sort of sideband 16:50:59 the easiest way to do this is just to ignore the input, except we copy it to the output 16:51:02 yep 16:51:14 so let's call it sideband 16:51:14 and we can connect these functions together by connecting this new output to the new input 16:51:20 yes 16:51:29 so you have a connected sideband, and everything is doing just what it was doing before otherwise 16:51:39 sort of like 'self' in object oriented languages 16:51:52 yep. (Hmm, I wonder if that /is/ a monad?) 16:52:00 or global scope in many languages 16:52:17 ok go on 16:52:27 now, it's clear that we can mix functions that actually use the sideband, and do something with it, with these original functions that we added a sideband to just for the sake of giving them a sideband 16:52:39 yes 16:52:41 and connect them all together 16:53:03 OK, monad terminology: adding a sideband that does nothing to a function = "return"; connecting the sideband of one function to the sideband of the next = "bind" 16:53:22 aha 16:53:28 when a monad models just one computation, that's pretty much all it is 16:53:38 what about a function that does something with the sideband? 16:53:46 that's a function in the monad 16:53:49 what is that in monadsp34k? 16:53:55 but you can't produce it using return 16:53:58 no 16:54:02 so how do you produce it? 16:54:12 normally, you find it lying around in a standard library or something 16:54:22 you need to know details of how the monad's implemented in order to make one 16:54:27 aha 16:54:42 yes, just like you need to know the signaling format of the sideband 16:54:47 but assuming i know that 16:55:15 then you can use that in order to make something that uses the sideband 16:55:43 can you give an example? 16:55:58 say in haskell, a monad that starts out just plugging 0 every time 16:55:58 so for instance, the State monad is one of the simplest that fits this idea 16:56:08 where the sideband is the state you're trying to manage 16:56:11 but then i have a function that NOT's it 16:56:14 if you don't care about the state at all, it just stays the same 16:56:19 ok go on 16:56:40 but you have functions like the one that sets the state (I've forgotten its name), which just discards the old sideband and creates a new one, from its argument 16:56:52 and the function that gets the state, which just takes a copy of the sideband 16:56:54 ok so what would the type be of a function that wants to modify state? 16:57:15 setState, or whatever it's called, would have type a -> State a 16:57:41 err, no 16:57:46 a -> (State a) () 16:57:52 if you give it input of type a 16:58:09 then you get something that outputs (), with a sideband of type a 16:58:46 ok 16:58:56 even though outputting () is normally useless in Haskell, it isn't here in the monad, because it's still modifying the sideband, and so still doing something 16:59:06 that's why people say that monads are used to deal with side effects 16:59:21 likewise, getting the state would have type (State a) a 16:59:35 even without an argument, it can look at the sideband and return something of the same type 16:59:38 why can't it model Maybe and List? 16:59:46 you need to generalise it a bit 16:59:58 now, so far, we've been looking at functions which model just one computation 17:00:00 setState, or whatever it's called, would have type a -> State a 17:00:01 set 17:00:03 we have one function, plus the sideband 17:00:06 alise: thanks 17:00:29 I seem to remember that on my last Haskell project, I had so much problems trying to remember the name that I eventually reimplemented it rather than trying to find it in the standard library 17:00:31 there's also "modify f", which is "x <- get; set (f x)" 17:00:42 ais523: wow, why not just look up Control.Monad.State? 17:00:49 I wasn't Internet-connected at the time 17:00:54 it installs locally 17:00:58 knowing that I had to import Control.Monad.State would have helped 17:01:21 hmm, this is the stupid reason for NIH ever 17:01:34 "I reimplemented the State monad because I couldn't remember its name" 17:01:38 :-D 17:01:40 yeah heh 17:01:41 :) 17:01:42 (*stupidest, forgive me) 17:01:55 ais523: "I reimplemented GHC because I forgot its name" 17:02:02 "-- one afternoon" 17:02:07 what's worse is: i reimplemented the state monad but i couldn't download it from the internet! 17:02:21 s/but/because 17:02:28 cheater: so, at the moment we have each function producing just the one output+sideband 17:02:29 ais523: so why can't Maybe work? 17:02:45 now, there's no conceptual reason why we couldn't have the function producing 0 output+sideband pairs, or more than 1 17:02:48 Maybe would produce either 1 output or 0 outputs yes? 17:02:50 yep 17:03:03 what does the sideband do here? 17:03:05 what you need to do is, you need to copy everything from then on 17:03:12 copy? 17:03:21 oh, Maybe doesn't have a particularly useful sideband, it just carries () everywhere 17:03:23 like IO does 17:03:27 ok 17:03:29 go on 17:03:35 but it's still necessary because you need to know what order things are in 17:03:41 ais523: IO has state 17:03:42 IORefs 17:03:51 alise: ah, I didn't know that 17:03:53 but it arguably shouldn't 17:03:55 well, and RandomRIO too 17:03:56 it's just that 17:03:59 you can't have IOT or STT 17:04:00 but that's just an implementation detail 17:04:08 so since you often want ST-style references in IO 17:04:12 there's no real other option 17:04:17 IOT would require inventing new IO subsystems on the fly... 17:04:23 (note: anachronism; I'm pretty sure ST postdates IORefs) 17:04:28 ais523: IOT Cont == TwoDucks 17:04:41 hmm, I think STT might be theoretically possible 17:04:42 but it hurts my brain 17:04:52 cheater: well, suppose we run our monad function, and get two outputs, each with their own sideband 17:04:53 so what is the equivalent of Maybe in our circuit topology here? 17:04:57 and try to bind it to another monad function 17:05:08 ok go on 17:05:11 then, we need to make two copies of the second one, and connect one of them to each of the possible outputs 17:05:32 so you sort-of need to imagine a circuit which you can dynamically make copies of runtime, as you don't know in advance how many outputs you're going to get 17:05:39 with Maybe, you either get an output, or you don't 17:05:48 if you don't, then you connect 0 copies of the next element in the chain 17:06:02 if you do, you connect 1 copy? 17:06:36 yep 17:06:36 so Maybe effectively ends up halting the entire computation if you get Nothing as your output 17:06:47 ok so 17:07:03 !haskell (Maybe 1) >>= (\x -> Maybe x) 17:07:05 in fact if your chain is f g h i j 17:07:13 and f has type x-> Maybe x 17:07:16 then f, g, h, i, j run in sequence until one fails 17:07:20 yes 17:07:24 and say f fails 17:07:25 then the rest run 0 times each 17:07:30 and it doesn't output 17:07:46 yep, and you get Nothing at the end 17:07:47 then what you in fact want to do is to short circuit g h i j yes? 17:07:51 yep 17:07:58 and they are short-circuited in practice 17:08:01 but 17:08:06 that can be modeled easily 17:08:10 agreed 17:08:15 with exactly the side band 17:08:23 what gets a bit conceptually hairier is when you get to List 17:08:30 now, it's possible for f to output 0, 1, or more times 17:08:35 since g h i j do not have side effects outside of the small world called "g h i j", you can put info in the side band that says "fail" 17:08:39 you can 17:08:45 and that's how it's implemented in practice, actually 17:08:48 and at the very end you have a small Maybe-failure block 17:08:51 ok 17:08:51 I was wrong earlier, Maybe doesn't have a sideband of () 17:08:57 instead, it has a sideband of Just/Nothing 17:09:07 aha! 17:09:11 with Just matching up to a normal output, Nothing matching up to no output 17:09:15 i really like your analogy 17:09:22 that has helped me look into monads a little bit 17:09:30 still not far enough but that's a great explanation 17:09:33 for List, your sideband can match up to /multiple/ outputs 17:09:42 so, say you run f and it returns both 1 and 2 17:09:49 wait 17:09:59 so what does the list monad do blockwise 17:10:05 it takes our computation unit 17:10:06 it forks the chain, effectively 17:10:14 say f returns twice, g, h, i, j each return once 17:10:14 hm 17:10:26 so g h i j need to be copied 17:10:27 yes? 17:10:31 then f conncets up to /two/ sequences of g,h,i,j 17:10:33 yep 17:10:36 but that's easy too 17:10:42 have the sideband contain the list index for f 17:10:43 and thats why you can't really do List as a circuit in hardware, even though it's conceptually easy 17:10:49 and at the end you have a demultiplexer 17:10:53 nono 17:10:55 it's easy 17:11:08 it's easy if you know you're only going to get two outputs 17:11:14 no 17:11:18 also, easy if you happen to own an infinite-ways demultiplexer 17:11:22 it's easy with any amount of outputs 17:11:27 yes 17:11:31 but 17:11:37 the thing is 17:11:44 instead of the multiplexer you can have a memory 17:11:46 well, I think you're missing something, slightly; say f outputs [1 2], and g's input is connected to f's output 17:12:01 then, g will have to be run with both 1 and 2 as inputs 17:12:03 the sideband contains the address (i.e. the index), and the chan ghij ends up writing into the data lines 17:12:16 ah 17:12:18 so the sideband contains a set of addresses, really 17:12:24 ok 17:12:24 or a set of possible inputs 17:12:32 and then h is run with output of g 17:12:33 ok 17:12:41 SO, 17:12:55 !haskell ([1 2]) >>= (\x -> [x+10 x+20]) 17:13:07 err, forgot the commas 17:13:11 !haskell ([1, 2]) >>= (\x -> [x+10, x+20]) 17:13:12 the question is what does it mean that a computation block can get an arbitrary amount of inputs 17:13:13 [11,21,12,22] 17:13:40 cheater: well, you make a copy of the block for each input, run it on that input, then combine all the outputs into one long list of outputs at the end 17:13:50 you are right now talking about serial rather than parallel computation 17:13:51 that's all 17:14:07 well, List really models parallel computation 17:14:07 before you were describing everything as a parallel interface 17:14:13 but in fact 17:14:20 you can model that with serial computation 17:14:23 and the sideband says: 17:14:38 let's say the left thing is the sideband and the right thing is in-band 17:14:55 (start, 1) (continue, 5) (end, 2) 17:15:10 !haskell ([1, 5, 2]) >>= (\x -> [x+10, x+20]) 17:15:13 [11,21,15,25,12,22] 17:15:23 hmm, that's one way to implement it 17:15:27 yes 17:15:35 yep, I think we're agreeing with each other generally here 17:15:40 so in fact 17:15:46 you can do those two monads in silicon now :) 17:15:49 fun times 17:15:53 yep 17:16:00 well, that's all monads are, really 17:16:11 sorry that it took a bit longer than 5 minutes, but I didn't make such grandiose claims as alise did 17:16:21 now i expect you to put my full name on the silicon so that i can make a microscopic photo of it 17:16:24 ;) 17:16:36 it was a really really good explanation 17:16:39 monads are sidebands 17:16:41 that's pretty cool 17:16:52 -!- Phantom_Hoover has quit (Ping timeout: 252 seconds). 17:17:03 i was having some sort of similar idea already, as in, only have been toying a tiny bit with haskell 17:17:04 ais523: i specialise in grandiose claims! 17:17:24 but what i ended up figuring out is that you can't fit the IO-shaped block through the non-OI-shaped hole 17:17:36 cheater: congratulations, you invented TV 17:17:37 (IO/OI) 17:17:40 (UI/IU) 17:17:41 it's interesting that I think of State as being the simplest monad, as opposed to Maybe which is what many other people claim 17:17:50 sorry? 17:17:51 probably reflects a difference in how we think 17:17:52 note: obscure reference of obscure references 17:18:00 cheater: I was referencing what someone (alise) said eariler 17:18:02 *earlier 17:18:03 ais523: Identity is the simplest monad 17:18:10 err, simplest nontrivial 17:18:12 return x = x; join x = x 17:18:14 ais523: i was confused about alise 17:18:22 ah 17:18:22 or return x = x; bind x f = f x 17:18:27 with Haskell you need data Identity = Identity a 17:18:27 alise: well, OK 17:18:29 but it's the same thing 17:18:44 clearly, if you're not going to actually use the sideband, why bother having a monad in the first place? 17:18:49 ais523: ok, that's pretty cool 17:18:56 ais523: that was a great explanation 17:19:00 is there a log of this somewhere? 17:19:05 yep, it's in the topic 17:19:22 gr8 17:19:22 hi clog! 17:19:55 alise: http://codu.org/projects/trac/egobot/browser/multibot_cmds/interps/c-intercal/pit/continuation.i?rev=42%3A3e7fe826dddf if you want to see the implementation of continuations in terms of threading, btw 17:19:58 you were asking earlier 17:20:22 ais523: i thought of haskell's monads as the "block shape" 17:20:50 just like in OO languages you'll have 100000000000 extensions of Exception 17:20:58 heh 17:20:59 and each is just an empty class 17:21:07 yep, that's a good analogy too 17:21:09 i think the same way monads work in haskell don't they? 17:21:25 well, everything works like that in Haskell, including monads 17:21:38 ais523: I was the first one to see it :P 17:21:41 Area Man Constantly Implicitly Mentions He Doesn't Own a TV <-- um I do own one 17:21:43 Although I got straight to work on forgetting it. 17:21:47 Vorpal: Onion reference. 17:21:58 hmm, I don't own a TV 17:22:04 cheater: monads aren't usually empty... 17:22:06 I have access to TVs, but I think all of them are technically owned by someone else 17:22:12 alise, but we have public service... which doesn't show ads. And the channels with ads are mostly crap sitcoms 17:22:16 ais523: but you don't not-own-a-TV as an active thing like dear old Area Man 17:22:21 ais523: so, are you actually implementing this stuff in silicon? 17:22:26 alise: ok 17:22:38 cheater: not in general; some special cases, perhaps 17:22:44 there was something of a flame war in a seminar 17:22:50 cheater: because you have to define return/bind 17:22:52 ais523: what did they say? 17:23:00 when my supervisor invented the "clock monad", and we had a row about whether it was technically a read only state monad or not 17:23:05 I have access to TVs, but I think all of them are technically owned by someone else ais523: so, are you actually implementing this stuff in silicon? <-- at first this looked hilarious 17:23:08 alise: but you can define it "trivially" can't you? 17:23:15 cheater: no 17:23:17 for instance, the list monad 17:23:17 (they were using the monad sidebands to carry clock signals, which makes sense) 17:23:18 @src [] return 17:23:18 return x = [x] 17:23:18 @src [] (>>=) 17:23:18 xs >>= f = concatMap f xs 17:23:22 this is what defines the actual monad, it's important 17:23:29 unlike the irrelevant contents of an exception glass 17:23:44 return and bind are what make do notation work, they're what make the fancy operators work 17:23:44 alise: but can't you define a monad which doesn't do anything? 17:23:46 they are the monad 17:23:52 cheater: yes, but only on one type (Identity) 17:23:54 cheater: you can, he did above 17:23:56 and it's literally useless 17:24:00 as opposed to something you'd actually do 17:24:09 alise: you can define an infinite number of identity monads 17:24:12 which don't connect to each other 17:24:16 doesn't make them any less useless, though 17:24:29 ais523: well, not from a mathematical point of view 17:24:39 alise: agreed; but yes from a programming point of view 17:24:40 there's only one identity type, naturally, 17:24:48 and only one implementation of return/bind for it 17:25:02 just like you can have HTMLStrings and SQLStrings and UnescapedStrings which are all really just strings, but you don't want to mix 17:25:18 ais523: i'm not sure; there's a push in quite a few language communities to make structurally identical types equal in some manner 17:25:27 alise: I don't think I like that 17:25:30 I mean, it makes sense in theory 17:25:37 ais523: it makes sense for a more mathematically-oriented language 17:25:39 but in practice, you often want to model things in types that the type system just doesn't handle 17:25:43 where things like "constructors" aren't actually assumed to exist 17:25:54 ais523: it's also usually done in communities that favour rather... advanced type systems 17:26:05 also: ok, separation of identity monads for security; I know now what the craziest thing ever is 17:26:06 yep, that would make sense 17:26:22 alise: tricycling along a tightrope? that's pretty crazy 17:26:39 ais523: tricycling along a tightrope while writing code that separates identity monads for security 17:26:41 NEW CIRCUS ACT 17:27:01 ais523: wait, *tri*cycling? 17:27:08 alise: yep, exactly 17:27:17 * alise 's brain explodes 17:27:24 if you try to put more than one of the wheels on the rope, going in the right direction, the thing is completely unbalanced 17:27:33 -!- impomatic has joined. 17:29:19 ais523: or just scrape the back end awkwardly 17:29:20 unless you put the rear axle on the rope 17:29:27 in which case the back wheels work to stabilize you 17:29:30 while riding the most badly-weighted unicycle ever made 17:29:32 in the front 17:29:37 which means the act becomes trivial. just have leaden wheels. 17:30:03 cheater: but then, the front wheel would have no actual grip on the rope 17:30:05 pentacycle; discuss 17:30:11 so you wouldn't be able to move 17:30:11 ais523: it would 17:30:20 ais523: why would it not? 17:30:23 hmm, well a bit, I suppose 17:30:29 but the centre of gravity would be a long way back 17:30:29 ais523: it would have the exact same grip 17:30:38 ais523: except, the axle would also have grip, which would be blocking 17:30:45 hmm, I suppose so 17:30:51 but you make the housing of the axle out of teflon and smear it with butter 17:31:04 and you're suddenly copperfield 17:32:51 teflon cycle; I approve 17:32:59 wow, I just noticed how hacky (8205) is 17:33:49 heh 17:34:03 "It seemed idiomatic when I wrote it!" 17:34:07 Idiomatic INTERCAL. 17:34:17 I propose it be called idiotic in INTERCAL circles instead. 17:34:25 "Wow, your code is really idiotic for a beginner! Good job!" 17:34:27 alise: well, there's idiotism.oil 17:34:42 which is a filename based on that sort of pun 17:34:54 really, anything that remotely works is considered idiomatic 17:39:01 what's 8205? 17:39:28 Anarch [~olaf@c-67-171-37-107.hsd1.wa.comcast.net] has quit [Quit: WILL TROLL FOR FOOD] 17:40:06 cheater: a line number in the INTERCAL program I linked above 17:40:22 generally, numbers in parens wax/wane pairs indicates line numbers in INTERCAL programs 17:42:04 you know i have INTERCAL on my CV 17:42:12 really? 17:42:15 in what respect? 17:42:42 it is listed as one of my professional skills 17:42:50 also i have a list of skills on the back of my visit card 17:42:55 do you actually know INTERCAL? 17:42:57 and the last one is "Munctional" 17:43:02 i read the manual 17:43:04 and if someone decided to actually give you a test of your INTERCAL knowledge, could you pass it? 17:43:05 isn't that bad enough? 17:43:08 that's definitely not the same thing 17:43:12 great 17:43:12 also, which manual? 17:43:17 presumably INTERCAL-72 17:43:18 there are two 17:43:23 the one with the select operator 17:43:36 which, even if you were the most amazing interpreter ever, doesn't even come close to explaining anything :D 17:43:47 that's a really pointless characterisation, given that both the manuals explain about the select operator 17:43:52 given that it is, you know, fundamental to INTERCAL 17:43:52 I should list Redcode on my CV :-) 17:44:05 yes but the original one has a nice drawing 17:44:09 hmm, I'm vaguely confused 17:44:16 as I remember writing Redcode, but I can't remember the context 17:44:25 or if I ever ran it, or did anything other than interpreting it in my head 17:44:27 It couldn't possibly be Core Wars? :-P 17:44:35 i should put unrealscript on my cv 17:44:42 haha 17:44:45 alise: it wasn't a core wars entry, I don't think 17:44:45 i forgot all about it. 17:44:51 i should put underload on my cv (despite not being a good underload programmer, but I'm better at it at brainfuck) 17:44:54 it may have been related in some other way 17:45:07 come to think of it, Brainfuck may be my favourite satire on current computer design 17:45:08 alise: *than!!!!!!!!!! 17:45:25 cheater: nonsense, i only use prime numbers of exclamation marks 17:45:32 lol :( 17:45:36 1 is prime? 17:45:38 (note: not even *vaguely* accurate) 17:45:45 ais523: yes!! as is 2!! 17:45:58 and 3!! 17:46:01 and 4!!!! 17:46:02 2! is the only prime factorial 17:46:08 heh 17:46:35 alise: 10 has the interesting property that it is a sum of prime numbers. 17:46:59 22, too 17:47:02 also 3 17:47:04 cheater: are you aware of the Goldbach conjecture? 17:47:08 (note: none of this is even vaguely true) 17:47:14 (except for the parts that are) 17:47:25 I used Goldbach's conjecture for something the other day! 17:47:36 how do you use a conjecture for something? 17:47:44 fun fact: 4 is the first number greater than two that is not a Goldbach conjecture 17:47:54 ais523: writing an algorithm that always returns correct results iff the conjecture is true, presumably 17:47:56 ais523: to make a conditional theorem 17:48:00 and may not halt if it isn't true 17:48:03 yes 17:48:11 ah, OK 17:48:14 like a lot of CASes do 17:48:20 Goldbach's is tested up to a certain value and the problem I had was below that bound 17:48:38 * ais523 vaguely remembers a theorem that was proved both if the Riemann hypothesis was true, and if it was false, in completely different ways 17:48:41 impomatic: heh 17:48:43 I suppose that's a different way to use a conjecture 17:49:05 ais523: [PAH EXCLUDED MIDDLE etc.; someone has to be the malcontent] 17:49:19 although Riemann is quite obviously either true or false 17:49:33 unless ZFC is even crazier than i realise 17:49:35 alise: invoking the law of the excluded middle is normally considered an acceptable thing to do in proofs of theorems 17:49:48 what if riemann is undecidable 17:49:51 ais523: not if you're an intuitionist :P 17:49:52 is the theorem proven then? 17:49:57 cheater: it can't be proved undecidable 17:50:04 because doing so would be a proof that there were no counterexamples 17:50:04 why? 17:50:05 cheater: if riemann is true, there exists a real x such that etc. if it is false, no such real exists 17:50:07 it cannot be independent 17:50:15 and thus contradict the original proof that it was undecidable 17:50:16 consider ZFC+Riemann and ZFC~Riemann 17:50:22 the zeta function is the same in both 17:50:26 but this "x" exists in the former 17:50:29 consider zeta(x) in the latter 17:50:31 I think it might theoretically be possible for it to be undecidable, but unprovably so 17:50:37 erm 17:50:39 swap former/latter 17:50:42 anyway, yeah, it must be 0 in the other 17:50:48 but we've said it's not; that system is contradictory 17:50:57 ais523: hmm, agreed 17:51:07 although don't you mean independent? 17:51:13 I'm not sure 17:51:19 there are no "undecidable theorems" 17:51:25 in case you haven't gathered by now, I tend to be incredibly bad at technical terminology 17:51:47 independent theorem = neither x or ~x is provable in the axiom system; adding either x or ~x to the axiom system produces a system consistent iff the system without it is 17:51:51 for instance, ZF and Choice 17:51:58 alise: yes, there are 17:52:00 Choice is not provable in ZF, ZFC is consistent, ZF~C is consistent 17:52:09 cheater: by what definition? 17:52:20 alise: goedel's incompleteness theorem 17:52:39 isn't that theorem just true? 17:52:50 i mean the theorem as the definition 17:52:52 anyways 17:52:58 errr... 17:53:03 *err... 17:53:10 "undecidable" is one of the accepted outcomes of field's if i recall correctly 17:53:36 as in, you can prove something's undecidable, and you get a medal 17:53:38 alise: that is one of the most pointless IRC corrections I've ever seen 17:53:52 you could prove that it is impossible to prove either X or ~X in ZFC, where X = (it is impossible to prove either Riemann or ~Riemann in ZFC) 17:53:56 http://en.wikipedia.org/wiki/Decidability_(logic) 17:53:56 but that would just be *ridiculous* 17:54:08 and probably cause me to commit suicide as a protest against how illogical logic is 17:54:22 alise: don't, just leave the field altogether if that happens 17:54:25 Indeed, the proof that a logical system or theory is undecidable will use the formal definition of computability to show that an appropriate set is not a decidable set, and then invoke Church's thesis to show that the theory or logical system is not decidable by any effective method 17:54:26 become a bricklayer or something 17:54:26 (note: not true; stop worrying ais523) 17:54:38 i'm not exactly in the field of logic :P 17:55:11 are you in that case alogical? 17:55:47 Some undecidable theories 17:55:50 oh, I know I'm illogical 17:55:54 The first-order theory of the natural numbers with addition, multiplication, and equality, established by Tarski and Andrzej Mostowski in 1949. 17:56:01 but it's more a comforting thought 17:56:01 i have some books by mostowski and tarski 17:56:03 back in poland 17:56:07 a logical alogical: quite illogical 17:56:08 being completely logical would be an awful burden on anyone 17:56:10 in a damp cellar somewhere 17:56:32 ais523: probably impossible for a human 17:56:34 due to reflex actions 17:56:47 can reflex actions be considered illogical, though? 17:56:50 you don't decide to perform them 17:57:01 yes, if you're in a situation where performing the reflex action isn't the most logical action 17:57:07 performing it would constitute an illogical action 17:57:20 and being absolutely logical is best defined as "performing the logical action in any situation, no matter what it is" 17:57:34 The first-order theory of groups, established by Mal'cev in 1961. Mal'cev also established that the theory of semigroups and the theory of rings are undecidable. Robinson established in 1949 that the theory of fields is undecidable. 17:57:38 great 17:57:41 all the usefull stuff sucks. 17:57:43 -!- impomatic has left (?). 17:58:00 might as well kill myself now 17:58:03 mathematics has basically become an endeavour in rigorously laughing at the idea of mathematics :) 17:58:38 yes 17:59:14 alise: I mean, though, failing to perform an action you're physically incapable of performing isn't illogical, no matter how logical it would be to perform the action otherwise 17:59:24 so why is performing an action you're physically incapable of not performing? 17:59:34 ais523: well, you certainly aren't a logical agent 17:59:43 imagine an agent that universally does stupid things and nothing else 17:59:47 but inside is a perfectly rational mind 17:59:54 it's just that the connections to the outside invert any decision it makes 17:59:58 is it really a rational agent? 18:00:05 i'd say that's a ridiculous definition 18:00:23 surely it would figure that out after a while, and invert its own outputs? 18:00:37 ais523: no, because the inputs are also reversed 18:00:45 even so 18:00:47 but a rational agent would be able to rationally tell in which cases they would be unable to act upon the situation by failing to perform actions 18:00:52 it sees itself being wonderful and logical and great while it, i don't know, repeatedly hits its head against a brick wall 18:00:56 inverse outputs don't always cause inverse effects on the environment 18:00:56 therefore removing those actions from the pool of considered actions 18:01:02 and performing the next best possible action 18:01:10 ais523: well, ok, fixed output 18:01:15 (do something stupid, pick one) 18:01:18 that's a better example 18:01:21 for example: it is impossible for me to explode into a gamma burst therefore killing the whole planet 18:01:28 even though it would be the most logical action 18:01:36 why is that a logical action? 18:01:38 for some definition of logical. 18:01:46 ^ 18:01:48 ais523: well, it is, under the "I hate Earth" system of morals and ethics 18:02:00 just an example 18:02:07 if anyone powerful actually had that system, I'd recommend killing them :P 18:02:13 somewhere on TVTropes there's a ranking of how thorough apocalypses are 18:02:14 (powerful = more than a human.) 18:02:23 but following that example, the next logical action could end up being "move into hut and build bombs to send to people" 18:02:25 (although POTUS is probably a bad one to go by that system, too.) 18:02:43 ais523: url! 18:02:44 from local devastation, all the way up to the complete and irreversible eradication of all of reality 18:02:45 ais523: I thought the one at the end of H2G2 was pretty good, but they managed to stuff that up by releasing a sequel not written by Douglas Adams. 18:02:50 ais523: You've read H2G2, right? 18:02:58 cheater: it's TVTropes, linking to it is pretty evil 18:03:01 alise: the first four books 18:03:08 ais523: tryyyy 18:03:17 ais523: ah. i won't spoil the fifth for you, then. 18:03:30 cheater: more to the point, I'm at work and so won't visit the site to get the URL 18:03:38 but I think the page name is "ApocalypseHow", use its search engine 18:03:47 ais523: How did you not finish reading the series? 18:03:58 because my parents own an anthology book of the first four 18:04:03 pah 18:04:04 presumably bought before the fifth was written 18:04:13 ais523: ok :p 18:04:16 the fifth brings it all together wonderfully 18:04:18 strangely, I've read other stuff by Douglas Adams and don't really like it 18:04:24 H2G2 is good, the rest, not so much 18:04:31 ais523: what did you read? 18:04:37 Dirk Gently's Holistic Detective Agency is very good. 18:04:38 I can't remember now 18:04:51 oh, I read The Meaning Of Liff, but that one actually is pretty clever, if rather shallow 18:06:15 the fifth book basically ties together the entire series and then puts a big lock on it so nobody can ever make it work again 18:06:32 (which was then promptly broken in only 17 years) 18:08:10 Class Z: Total Irreversible Destruction Of All Of Reality - THE DESTRUCTION OF REALITY ITSELF! The theoretical ultimate goal of the Omnicidal Maniac. 18:17:26 -!- ais523 has quit (Remote host closed the connection). 18:22:03 -!- tombom has joined. 18:25:01 -!- proff4egg has joined. 18:26:17 -!- proff4egg has quit (Client Quit). 18:31:14 -!- atrapado has quit (Quit: Abandonando). 18:54:49 the fifth book basically ties together the entire series and then puts a big lock on it so nobody can ever make it work again <-- which series? 18:55:03 oh, you mean hhgtg? 18:55:17 I haven't read the new book 18:55:27 the new one is 6 18:55:28 not 5 18:55:32 6 sucks. 18:55:39 5 is Mostly Harmless 18:55:44 alise, yes 18:55:55 alise, you misunderstood me 18:56:03 I was commented on the book that broke the lock 18:56:10 when I said I hadn't read the new one 18:56:18 alise, I know 5 is mostly harmless 18:56:47 right 18:56:52 i meant breaking the lock in a bad sense 18:57:07 alise, indeed, I heard as much 18:57:51 alise, anyway, you could write side stories, like Adams did himself. Thinking of that short one about Zaphod. 18:57:53 alise: http://paste.pocoo.org/show/263554/ 18:58:03 alise, which is iirc set before the first book 18:58:17 well, "before" is a bit tricky in any series that has time travel 18:58:23 in a non-paradoxical way 18:59:03 or rather, it points out some of the paradoxes, and them promptly ignores them 18:59:35 cheater: ow. 18:59:37 Vorpal: /msg 18:59:43 * Vorpal looks 19:01:25 cheater, wait a second, the same file is mentioned several times after each other? Also "included from"? 19:01:43 cheater, isn't java's importing stuff more like that of, say, python? 19:02:34 alise: thanks for trying x3 19:03:44 augur: Trying? 19:03:46 augur: oh right that 19:05:42 alise: i think i understand the issue, i just needed to see how it played out in an actual program 19:05:49 i learn be seeing evaluations and stuff 19:15:06 fizzie, or Slereah: there? 19:16:02 fizzie, Slereah do you think planescape would work in winxp in virtualbox? 19:16:08 http://appdb.winehq.org/objectManager.php?sClass=application&iId=294 doesn't look too reassuring 19:16:23 oh wait, different versions hm 19:26:25 I seem to recall I've succesfully played with wine. 19:27:25 I am there 19:27:34 Nigga I don't know shit about Linux 19:27:50 wine is p cool 19:28:10 i should see if the world of goo demo runs in wine 19:29:10 -!- sftp has joined. 19:29:21 Vorpal: if Slereah is right, then i'd run win98 with the original version put on one hard drive 19:29:35 failing that, xp with the dvd version 19:30:13 As I said, I think the problem with the CD version is mostly modern video cards 19:30:26 alise, I have not been able to find the dvd version 19:30:35 -!- FireFly has joined. 19:30:48 Vorpal: then run win98 19:30:53 no need to run all of xp if you don't have to, right? 19:31:08 alise, I have xp x64 in a vm already 19:31:10 and finding a win98 cd is super easy on torrents 19:31:11 thus... less work? 19:31:15 Vorpal: well it's unlikely to work with 64-bit... 19:31:20 alise, and I can get win98 legally :P 19:31:22 msdnaa has it iirc 19:31:26 do that, then 19:31:31 XP x64 has pretty bad compatibility with things like games 19:31:34 and it'll be a lot heavier 19:31:48 plus as Slereah says the old version probably wouldn't even run on 32-bit XP 19:31:58 alise, that means playing it on my laptop though, desktop lacks hw virtualisation 19:32:11 why laptop? 19:32:20 alise, because it has hw virtualisation 19:32:23 you said you had it in a vm 19:32:24 unlike desktop 19:32:27 so... 19:32:30 you'd be doing that anyway 19:32:33 alise, yes... and xp is in the vm on the laptop 19:32:35 besides, dude 19:32:39 alise, I meant "as opposed to wine" 19:32:39 software virtualisation is fast 19:32:41 in fact 19:32:49 virtualbox for 32-bit windows was faster than hardware virtualisation 19:32:51 at least for a time 19:32:55 erm 19:32:58 mhm 19:32:58 virtualbox running 32-bit windows 19:32:59 that is 19:33:02 ah 19:33:10 so i'd just use put win98 in virtualbox on the desktop 19:33:17 hm disk space on laptop 19:33:19 *hrrm* 19:33:28 how much does it take? 19:33:35 windows 98 that is 19:33:38 not the game 19:33:42 I found those numbers already 19:34:22 Vorpal: not much 19:34:29 Vorpal: 200 mb installed or so 19:34:31 i'd say 19:35:27 hm 19:36:18 -!- augur has quit (Ping timeout: 240 seconds). 19:36:52 alise, oh hm I have MS DOS 6.2 and MS-DOS 6.0, and Windows 3.1 for worksgroup, and all the modern ones from XP and onwards. Just not 9x 19:37:04 on msdnaa I mean 19:37:45 alise, oh well, trying in wine first... then we will see 19:37:53 i like windows 95 :) 19:38:27 win95 was easily the best OS of its time 19:38:50 how did MS sink so low as to then produce WinME 19:38:59 quintopia, nah, I would say contemporary *nix beat it. Sun OS and such 19:39:15 spoken like someone who's never used Sun OS 19:39:17 *SunOS 19:39:27 alise, I have used solaris, sure not quite the same 19:39:30 (or read an old usenet FAQ that was 90% workarounds for SunOS' stupidity) 19:39:58 alise, anyway BSD4.3 would have been around back then iirc? 19:40:07 if not even later versions 19:40:17 linux was not really usable yet back then 19:41:12 the thing about Win95 that made it so great was how much frickin effort they put into making every little thing they could think of compatible with it 19:41:24 Vorpal: buying anything other than an x86 box was an expensive proposition... 19:41:25 it wasn't like "here's the OS make software for it" 19:41:34 quintopia: also, it was the last version to ship with a usable Explorer 19:41:39 it was more "alright, here's the software we want to continue to support, here's the OS for it" 19:42:30 alise, well yes 19:42:44 alise, I was just arguing against " win95 was easily the best OS of its time" 19:42:45 Vorpal: 386BSD... maaybe 19:42:47 i don't think they had X 19:42:48 maybe they did 19:42:50 if they did it was a pain 19:42:51 twm fuck yeah 19:42:55 or fvwm, i guess 19:42:58 but still, very slapdash 19:43:15 hmm 19:43:19 wait 19:43:20 alise, hey people still use twm. Like the teacher in the programming course. twm without the green colours 19:43:23 Free/NetBSD were around then 19:43:34 just use them :P 19:43:39 lol 19:43:41 when I asked he said something, "it worked in 1995, it still does" 19:43:42 but anyway, windows 95 had actually useful applications and games. 19:43:46 something like* 19:43:56 unlike the others 19:44:01 anyway it wasn't more crashy than classic mac os 19:44:03 alise, games certainly 19:44:05 it wasn't a buggy OS 19:44:10 it just let every program do what the fuck it wanted 19:44:13 alise, not sure about programs. Depends on what you were doing I guess 19:44:16 like the Amiga, classic Mac OS, etc. 19:44:34 alise, SunOS did *not* let every program do what they wanted 19:44:37 that was my point 19:45:13 alise, hm was NT 4 around back then? 19:48:17 1996 19:48:22 and besides, it didn't have DirectX 19:49:44 Vorpal: actually, planescape: torment may work on win95. 19:49:56 win95 lacks IE explorer.exe, so i heartily recommend it. also, it installs smaller. 19:51:14 alise, installing in wine, lets see if this works well or not 19:51:50 alise, less work than the alternative if it works 19:52:02 and it is supposed to work for some versions, no report for wine 1.3.x 19:52:06 which seems to be what I have 19:53:30 alise, http://sprunge.us/TDMA 19:53:50 I want a bunch old machiiiiines 19:53:52 *bunch of old 19:54:31 alise, who doesn't 19:55:41 nazis 19:55:56 i'd like 19:55:59 have a whole room of them 19:56:07 "Over here, this is the Plan 9 cluster..." 19:56:15 "...the Windows 95 beowulf..." 19:56:37 "...here's my complete collection of all Symbolics Lisp Machine models..." 19:56:45 "...a pony..." 19:56:55 windows95 beowulf? I doubt it 19:57:13 well it doesn't work well in wine I can say. Oh well 19:57:28 "Windows XP Embedded, commonly abbreviated "XPe", is a componentized version of the Professional edition of Windows XP. An original equipment manufacturer is free to choose only the components needed thereby reducing operating system footprint and also reducing attack area as compared with XP Professional. Unlike Windows CE, Microsoft's operating system for portable devices and consumer electronics, XP Embedded provides the full Windows API, and support for 19:57:28 the full range of applications and device drivers written for Microsoft Windows. The system requirements state that XPe can run on devices with at least 32MB Compact Flash, 32MB RAM and a P-200 microprocessor. XPe was released on November 28, 2001. As of October 2008, the newest release is Windows XP Embedded Service Pack 3." 19:57:29 *Well.* 19:57:38 Looks like MiniXP has found a way to become even smaller. 19:58:14 was worth a try anyway 19:58:29 "XPe adds a USB boot option to Windows. An XPe embedded device can be configured to boot from a USB drive." 19:58:30 Awesome. 20:03:23 alise, did the 0000-0000 and so one work in 98? 20:03:26 or just in 95? 20:03:50 Vorpal: the what? key? 20:03:53 dunno 20:03:54 alise, yeah 20:03:58 there were no keys, dude 20:04:01 in 95 20:04:03 ah 20:04:10 then it was 98 that it worked with 20:04:10 hm 20:04:20 I have an OEM 98 key somewhere 20:04:24 just no working cd 20:04:30 wonder if that will work 20:04:56 unlikely 20:04:59 95! 95! woo hoo hoo! 20:05:04 95! 95! woo hoo hoo! 20:05:42 -!- augur has joined. 20:05:47 -!- Phantom_Hoover has joined. 20:06:06 -!- ais523 has joined. 20:07:29 alise, meh 20:07:43 ais523: here, chant for 95 with me! 20:07:56 as in Windows 95? 20:08:16 yes 20:08:23 over 98 20:08:25 the chant is: 95! 95! woo hoo hoo! 20:08:44 it was good for its time, so long as you didn't let it into contact with the outside world 20:09:12 it's not any less safe than classic mac os :P 20:10:15 interesting how virtualbox tries to guess the type of OS from the name you are about to give the VM 20:11:59 1995 was before the Internet really took off, wasn't it? 20:12:11 as in, it was around, and people were aware of it, but didn't really see how it applied to them 20:12:50 ais523, 1995 or maybe 1996 was when my dad got internet 20:13:02 28 kbps dialup 20:13:08 I was /born/ in 1995. 20:13:14 Late 1995, at that. 20:13:32 alise, yeah you are too young to remember how it was before internet I expect 20:13:50 when if you didn't know something you went to check the encyclopedia 20:13:53 and that was one in paper 20:13:55 not wiki based 20:14:02 Vorpal, I had no internet access at all during my formative years! 20:14:06 and if you didn't find it there: tough shit 20:14:24 Phantom_Hoover, I hardly had internet access as such, I mean, it was expensive "pay per connected minutes" 20:14:38 I had *nothing*. 20:14:39 by the time i was looking things up i had the internet yeah 20:14:40 Phantom_Hoover, I watched dad use it to send mail for work stuff sometimes 20:14:48 Phantom_Hoover, I remember macpaint, on the old classic 20:15:04 vaguely 20:24:50 -!- ais523_ has joined. 20:25:25 alise, not 95 btw, for the simple reason of no ACPI -> idle loop is a busy loop 20:25:47 windows98 can do it as HLT with some trickery 20:26:17 What *is* ACPI? 20:27:09 -!- ais523 has quit (Ping timeout: 252 seconds). 20:27:18 Phantom_Hoover, ... google? 20:27:30 I can't be arsed to explain something I know have a good wikipedia page 20:32:26 ive attempted to increase my britishness by eating a ploughmans lunch. 20:38:33 I don't think I've ever eaten a ploughman's lunch. 20:38:44 nor i 20:38:55 ais523_, and you? 20:39:13 well its not bad 20:39:18 wouldn't fit within my diet 20:39:33 mine is as emulative of the one on the wikis 20:39:48 that is, cheese, onion, and buttered bread 20:41:10 augur, I conclude that you have made yourself less British with respect to this channel by eating a ploughman's lunch. 20:41:27 Phantom_Hoover: well this channel isnt very british, so that can only be a good thing 20:42:03 By "with respect to this channel" I mean "with respect to the channel's British regulars". 20:42:20 theyre not very british either 20:42:29 i am deeply offended 20:42:40 well, alise is. alise is the epitome of britain, in that he's a tiny version of david deutsch 20:42:47 and david deutsch is especially british 20:42:51 especially english, even 20:43:32 augur, I strongly suspect you to be conflating "British" with "upper-class English". 20:43:56 im not, im just being liberal in my use of the word british :D 20:44:13 Waitaminute, Deutsch is Israeli. 20:44:50 an israeli citizen maybe 20:45:04 http://www.edge.org/3rd_culture/deutsch/deutsch_index.html 20:45:08 but look at that man 20:45:13 how much more english can you get 20:46:18 That page does not have a single mention of the word "tea". 20:46:21 QED. 20:46:31 its an Edge.org page 20:46:40 deutsch's books are nothing but tea 20:47:23 "Quantum computers could theoretically be used to create the perfect cup of tea." 20:47:57 well we know what happens when an englishman tries to use quantum magic to get tea 20:48:37 Schrödinger's teacup. 20:48:47 It is broken and not broken at once. 20:49:07 When you try to pour tea into it, you get scalded and not scolded. 20:49:11 *scalded 20:49:13 Oops. 20:56:54 alise, I'm selecting to install microsoft chat. Just for the laughs 20:57:33 Vorpal: It works for Jerkcity. 20:57:40 alise, hm? 20:57:45 http://www.jerkcity.com/ 20:57:46 The only webcomic. 20:58:00 Jerkcity is a webcomic published almost daily since 17 August 1998. It follows the adventures of its four main characters — Pants, Rands, Deuce, and Spigot — and their nonsensical adventures within the Jerkcity universe. The strip's backgrounds and the appearance of its characters are generated with the long-defunct application Microsoft Comic Chat, which features the artwork of Jim Woodring. The spirit of the strip is summed up in its official motto, " 20:58:00 Slurping and drooling and hurrrr."[1]. 20:58:06 ouch 20:58:20 Basically they say "cocks" on IRC and then it gets posted as a comic. 20:58:36 The guy who invented it is also http://randsinrepose.com/, which is rather more intellectual. 20:58:41 Well, "invented"; started. 20:59:39 "The primary themes of Jerkcity include [list of sins]; also, cocks[35]." -- Wikipedia; reference 35 is http://www.jerkcity.com/jerkcity4184.html. 20:59:41 Brilliant. 21:00:19 someone actually came in IRC using that program, IIRC 21:00:30 every line they said had a bunch of random characters in square brackets at the start of it 21:00:34 heh 21:00:35 which they couldn't see 21:00:53 " character could express a specified emotion, possibly making IRC chatting a more emotive and expressive experience" 21:00:54 I think it was in #irp 21:00:55 perhaps that 21:00:57 *"this character 21:01:06 Although Comic Chat could be used in text-based chat rooms as well, it added a code at the beginning of every message to communicate the character's expression to other chat clients. This had a somewhat annoying effect on non-Comic Chat users (although it could be disabled). 21:01:07 yep 21:01:08 alise, I wonder if win98 will now *overestimate* the tiem for once 21:01:11 ah it seems so 21:01:16 it jumped from 40 minutes to 28 21:01:19 !!! 21:01:20 Microsoft Comic Chat installed a custom font, Microsoft Comic Sans, that users could use in other applications and documents. 21:01:25 I remember it used to underestimate it 21:01:29 THE ORIGIN OF THE EVIL 21:01:32 alise: did you not know that it was that that invented Microsoft Comic Sans? 21:01:33 Well, Bob is the origin. 21:01:33 alise, didn't you know it came from there? 21:01:35 But this is the spreader. 21:01:37 ais523_: wrong 21:01:42 Vincent Connare designed it for Bob 21:01:47 well 21:01:47 that 21:01:49 explains 21:01:50 it was designed too late for Bob 21:01:51 MY GOD 21:01:51 so much 21:01:54 but 21:01:59 he gave them it anyway 21:02:01 Vorpal, GET OUT BEFORE IT'S TOO LATE 21:02:02 ah, you know about what happened before it was released 21:02:08 Phantom_Hoover, what? 21:02:10 I should look up what Microsoft Bob was some time 21:02:24 you mean you don't know? 21:02:35 no 21:02:40 Vorpal, it's the origin of Comic Sans! 21:02:40 I hereby present the canonical comic about Comic Sans. 21:02:41 http://achewood.com/index.php?date=07052007 21:02:42 although apparently it's pretty horrific 21:02:54 It's pure, irredeemable typographical evil! 21:02:55 what little I've heard of it almost makes me not want to know 21:02:59 ("WHAT DO YOU THINK YOU'RE RUNNING FROM?! THE DISEASE IS INSIDE OF YOU!") 21:03:38 http://en.wikipedia.org/wiki/Vincent_Connare 21:03:41 THIS IS HE 21:03:42 "Comic Sans 2010 continues to take the world media by storm 21:03:42 Ascender Corporation (Illinois, USA): Ascender releases new OpenType font pack for Microsoft Office 2010 with Expanded Super Comic Sans 2010" 21:03:45 It's NOT EVEN A JOKE 21:03:49 AAAAAAAAAAAH 21:03:53 KILL ME NOW 21:04:03 "Because the Comic Sans you had before WASN'T ENOUGH" 21:04:10 http://www.connare.com/whycomic.htm 21:04:15 In which he tries to defend himself 21:04:15 oklopol isn't even here to give us his delightfully Philistine views on typography. 21:04:27 Comic Sans is INDEFENSIBLE 21:04:31 "Comic Sans was NOT designed as a typeface but as a solution to a problem with the often overlooked part of a computer program's interface, the typeface used to communicate the message. 21:04:31 There was no intention to include the font in other applications other than those designed for children when I designed Comic Sans. The inspiration came at the shock of seeing Times New Roman used in an inappropriate way." 21:04:40 Phantom_Hoover: "philistine"; I prefer "post-". 21:04:47 oklopol is a post-modern post-typographer. 21:04:53 -!- ais523_ has changed nick to ais523. 21:05:53 *post-aesthetics 21:06:15 he has aesthetics, they're just more minimalist than minimalism 21:06:20 i'm not sure he thinks anything should exist at all 21:07:02 alise, when this is done installing and I get more than 640x480 screen res (found a thread on vbox forums about that) I will bring ms comic chat into here 21:07:32 Vorpal: But Planescape is 640x480. 21:07:40 also, you use that bear program 21:07:43 alise, anyway it seemed windows 98 installer managed to underestimate time even on virtualbox 21:07:48 driver 21:07:50 the vesa driver 21:07:52 alise, indeed 21:07:57 alise, that is what I'm going to install 21:07:58 my favourite program <3 21:08:03 alise, why is that? 21:08:13 i used it to use win 95 in the vm :P 21:08:17 hah 21:08:18 i liked those bears! 21:08:24 now i can't find the site 21:08:24 alise, where did it show bears? 21:08:26 Vorpal: on the website 21:08:28 there are bears 21:08:29 at the top 21:08:32 or the bottom, or both; I forget 21:08:33 What is that bear program? 21:08:40 Phantom_Hoover: VESA driver for Windows 9x 21:08:41 alise, VBEMP? 21:08:44 (and also XP but nobody uses that) 21:08:51 http://navozhdeniye.narod.ru/vbemp.htm 21:08:54 where are the bears... 21:08:57 E-Mail: bearwindows_at_operamail_dot_com | Last update: July 09th 2010 21:09:09 bearwindows.boot-land.net? 21:09:12 VESA? 21:09:12 is the one I have 21:09:14 there are bears somewhere 21:09:19 aha, indeed 21:09:23 http://bearwindows.boot-land.net/ 21:09:25 look at the bears 21:09:37 Phantom_Hoover: generic graphics interface 21:09:39 alise, at the top yeah 21:09:42 like super-super-VGA 21:09:51 no 2D acceleration, but it gets you a decent range of resolutions on basically all graphics hardware 21:09:56 so it's often used as a default driver 21:09:58 Vorpal: and bottom! 21:10:06 WOOO BEARS!!! 21:10:26 "Old adapters support like EGA, CGA, Hercules etc. for testing purposes only :)" 21:10:29 Windows 95 on Hercules. Now. 21:11:00 hm 21:11:10 http://upload.wikimedia.org/wikipedia/commons/8/83/Arachne_CGA_Mode.png ;; 640x200: this is an actual CGA resolution. 21:11:30 alise, how awkwardly wide screen 21:11:38 640x1 21:11:41 fuck Euclid! 21:12:14 Vorpal: VBEMP's one flaw is that it can't set widescreen resolutions 21:12:17 even with PowerStrip 21:12:19 (various versions) 21:12:29 but i think it is technically possible to ask for wide resolutions using VESA 21:12:31 just nobody does it 21:12:41 Noneuclidean display modes! 21:12:56 Phantom_Hoover: "Here we view an image of Cthulhu AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 21:13:01 alise, I plan to run it in windowed mode anyway 21:13:06 alise, so not much of a problem for me 21:13:12 windowed games are rubbish 21:13:31 alise, I meant windowed mode for virtualbox 21:13:33 not for the game in it 21:13:48 alise, anyway I can get virtualbox to add black borders around 21:13:53 if I just maximise the thing 21:14:17 alise, also if windowed games are rubbish, are you suggesting the classical mine sweeper is? 21:14:32 that's hearsay! 21:14:38 minesweeper isn't exactly immersive 21:14:44 Vorpal: try scaling. it works. seriously. 21:14:51 as long as it's a multiple 21:14:52 alise, hm 21:15:14 (there are quite good smoothing scalers but they only work on really low-res stuff; 320x200 adventure games etc.) 21:15:21 (not in the realms of dithering and the like) 21:15:59 alise, they work great on zsnes games 21:18:04 fuck Euclid! <-- ? 21:19:31 alise, win95 with orthogonal persistence. Highly unrealistic but do you like the idea? 21:19:43 How would it *work*? 21:20:14 All existing OSes rely on the disk/memory separation fundamentally. 21:20:46 Phantom_Hoover, I don't know, I was just asking about the *idea* 21:22:57 I've indoctrinated Phantom_Hoover so wonderfully! 21:23:33 Praise be to alise, for he is almighty. 21:23:47 *(s)h/it 21:23:52 alise, from what I remember palm OS has orthogonal persistence 21:24:04 Vorpal: quite likely. 21:24:12 alise, so not all current OSes rely on it 21:24:21 on fs that is 21:24:24 large parts of the stock iPhone set do orthogonal persistence too -- Notes, for instance 21:24:28 persisted to the FS internally, but 21:24:40 the real thing with orthogonal persistence is that it has to be automatic, from a code perspective 21:24:52 alise, I don't know if that is the case for palm os or not 21:25:06 unlikely 21:26:35 damn, virtualbox crashed on windows 98 post-setup configuration 21:26:56 lets see if it is recoverable 21:27:49 perhaps 21:28:47 I'll just leave it, at least it is alternating between reading/writing disk in an irregular pattern, so probably not just locked up 21:29:32 ah a dialog! 21:29:33 hm 21:29:39 enter password for MS networking huh 21:29:46 * Vorpal clicks OK 21:30:18 then nothing much...? 21:30:34 irregular disk access, so still hope 21:31:33 "Lisp Machine keyboard to PS/2 Converter - PIC16F84A firmware" 21:31:35 https://code.google.com/p/lmkbd/ 21:31:40 From the man who brought you LoperOS. 21:31:46 Or, rather -- failed to bring you, so far. 21:31:47 *Loper OS. 21:32:09 ah it restarts the whole post install thing, mostly 21:32:12 not quite the same 21:32:46 alise, https://code.google.com/p/lmkbd/source/browse/trunk/README 21:32:48 considering that 21:32:51 I don't know... 21:32:59 Hey, it has code. 21:33:05 now it is again at the phase it previously crashed in 21:33:11 And that file's a year older than the assembly. 21:33:34 https://code.google.com/p/lmkbd/source/list 21:33:39 very useful commit messages XD 21:35:10 alise, the only change in 2008 was "update email address" 21:35:11 so um 21:35:20 meh 21:39:00 alise, classic mac had way better backward compat than windows 21:39:17 err what 21:39:26 windows 7 still runs almost all windows 3.1 programs 21:39:37 i think there's like one that doesn't run 21:40:14 er wait 21:40:15 what about the planescape cd 21:40:18 windows 7 runs *all* windows 3.1 programs, 21:40:24 XP even runs Windows 1.01 programs: 21:40:24 http://toastytech.com/guis/miscwin1xp.png 21:40:30 iirc windows 7 broke support for one or two of the 1.01 programs 21:40:34 beat that 21:40:39 alise, yeah but what about planescape? 21:40:58 Vorpal: the transition from 9x to NT was painful. games tend to access hardware in a quite low-level fashion. 21:41:01 even directx may have had some issues 21:41:09 hm 21:41:19 ooh win98 startup sound 21:41:20 anything poking around the internal mac stuff wouldn't have liked a new mac model 21:41:25 windows 95's is bette 21:41:27 *better 21:41:27 huh, not as I remembered it 21:41:29 indeed 21:41:29 composed by brian eno, bitch 21:41:50 alise, "who"? 21:41:56 ... 21:42:12 basically invented ambient music? 21:42:22 Music for Airports? 21:42:25 Discreet Music? 21:42:34 blank 21:43:13 you fail 21:43:19 he's amazing 21:43:42 alise, "Heitor Villas-Lobos"? 21:43:45 Vorpal: he managed to convince microsoft to give him royalties 21:43:48 for the 95 sound 21:43:49 imagine how that went :) 21:43:57 alise, "not him in 98" 21:44:02 is how it went I imagined 21:44:04 alise, "Heitor Villas-Lobos"? 21:44:05 imagine* 21:44:06 what? 21:44:16 i never said /his/ name. 21:44:17 alise, Choros? 21:44:34 alise, do you not know who I'm talking about? 21:44:36 I don't see the relevance. 21:44:37 if so: you fail 21:44:44 that is the relevance :O 21:44:47 s/O/P/ 21:44:55 brian eno is actually famous for being amazing, though. 21:45:02 -!- Mathnerd314 has quit (Ping timeout: 265 seconds). 21:45:02 brb. 21:45:15 alise, so is the name I mentioned. In the right places 21:47:33 (Better places) 21:48:24 Gregor, you know him? 21:48:27 of him* 21:48:41 Gregor, good 21:49:13 Gregor, I have right in front of me a 7-cd box with his complete works 21:50:00 unless I'm mistaken. Complete Choros and Bachianas Brasilerias anyway + complete solo guitar music 21:53:16 -!- Mathnerd314 has joined. 21:57:21 -!- Sgeo has quit (Ping timeout: 252 seconds). 21:58:18 alise, it wants to setup dialup, how do I get it to use ethernet 21:58:21 it sees the interface! 21:58:23 so wtf 21:59:41 huh windows crashed 22:04:05 -!- Gracenotes has quit (Ping timeout: 272 seconds). 22:11:24 -!- Sgeo has joined. 22:11:32 o.O at The Guild 22:11:35 amazing episode 22:12:49 alise, what advice have I been ignoring? 22:14:02 -!- MigoMipo has quit (Quit: Quit). 22:16:44 Sgeo: "recover it *now*" 22:17:15 I want to do that 22:17:59 But I can't comply, unless it's 100% safe to leave a computer with a power supply from 2000 running for over a week, sometimes unsupervised... 22:19:29 alise, that bearvideo driver makes stuff crash 22:19:37 I wonder if qemu will do better 22:19:56 works fine with win95 in virtualbox for me. 22:20:03 hm 22:20:06 Sgeo: Of course it's safe ... 22:20:17 And no, you didn't do that. 22:20:18 It can't catch fire or anything? 22:20:21 As soon as you reported it we told you to. 22:20:22 You waited days. 22:20:25 Sgeo: ... 22:24:51 alise, he is an incurable idiot, just accept it and give up. Saves on head desking 22:25:23 Sgeo: you're being stupid, but i'm not one to blatantly insult people in a public message addressed to someone else. Vorpal is retarded. 22:25:56 * Sgeo assumes that that was intentional hypocracy 22:27:18 <3 SGU 22:30:48 "yep, i'll be more worried about a old CRT monitor catching fire then any computer/computer psu 22:30:49 " 22:30:54 Then again, that's one random person 22:31:54 My dad said that power supplies do short out... 22:32:03 your dad says a lot of stupid stuff. 22:33:52 I'm going to want evidence, one way or another 22:33:58 I want to see a trustworthy source 22:34:55 I never seen a PSU fail, I had one suspected PSU failure years ago, turned out it was mobo. It was not violent in any way 22:35:00 just didn't boot 22:35:03 and that was desktop 22:35:29 The computer I want to use is a desktop 22:35:37 well, no issue really 22:35:51 PSUs do generally not fail 22:36:03 Even ones from a decade ago? 22:36:09 hmm 22:36:38 Sgeo, just check for dust and blow it away if possible if you are really worried, but seriously nothing to be worried about 22:36:51 it isn't like copying disk data will be a heavy task anyway 22:37:09 I won't need to copy this CD if I make a GRUB CD 22:37:27 That would also make starting this computer much more convenient 22:37:34 Sgeo, or why not just restore from your backups 22:37:39 that might be easier 22:37:42 I don't have backups... 22:37:58 Sgeo, will you at least start with backups from now on? 22:38:01 On the other hand, is there any way to just locate and pull out the stuff I care about? 22:38:08 Sgeo, no there isn't 22:38:11 Vorpal, I guess... don't know where I'd back up to 22:38:15 pull the disk image then work on that 22:38:23 Sgeo, get an external 250 GB disk or such 22:38:25 that's cheap 22:38:36 -!- FireFly has quit (Quit: swatted to death). 22:38:47 What happens when I get a 2TB drive for a new computer? 22:39:04 Sgeo, well, then you would presumably need to grow backup device as well 22:39:09 but I wouldn't get a 2 TB one 22:39:24 large disks are not as reliable from what I heard 22:39:30 1 TB is about max I would get 22:39:38 if I needed more I would get several and use in RAID5 or such 22:40:34 -!- GreaseMonkey has joined. 22:40:35 and of course backups 22:40:35 -!- GreaseMonkey has quit (Changing host). 22:40:35 -!- GreaseMonkey has joined. 22:41:27 Sgeo, but in general backing up documents is probably more important than downloaded movies and programs. Programs can be reinstalled. TV shows could be re-downloaded 22:42:41 Sgeo, also a cool trick for hot backup that I seen is that if you have 3 disks, you constantly have two in RAID1, and then add a third one and let it sync, then deattach one. Now it is a backup. 22:42:47 I haven't tried it myself 22:43:28 but with hardware RAID with dirty bitmap it is probably quite nice (such bitmaps in linux software raid have abysmal performance) 22:51:29 -!- tombom has quit (Quit: Leaving). 22:58:33 -!- augur has quit (Ping timeout: 272 seconds). 23:00:25 -!- nooga has joined. 23:00:28 berk 23:02:41 Ok 23:02:47 Now I just need to convince my dad... 23:02:58 When he wakes up 23:08:00 alise, have I ever been madly in love with Haskell? 23:08:21 I think falling in love is how I learn languages, unless I have to learn the language for some other reason 23:13:22 is therea way to write a perl regexp that matches strings that DO NOT contain specified substring? 23:13:39 (straightforward way) 23:14:09 Now I just need to convince my dad... When he wakes up <-- how old is he? 23:14:17 and how old are you? 23:14:30 I assume 70 and <18 23:14:41 since otherwise there would be no need to convince him 23:15:01 I'm 21 :/ 23:15:17 Sgeo, then why the fuck do you need to care about what your dad thinks 23:15:27 you are an adult! 23:16:50 swedes are weird 23:16:56 nooga, how so? 23:17:06 nooga, if it is something specific maybe I can help explain it 23:17:09 you turn 18, ding, you're an adult 23:17:23 Vorpal: (/msg) 23:17:25 leave home 23:17:27 nooga, well, you can't buy alcohol until 21 23:17:33 really? 23:17:41 i guess you guys are a bit weird with alcohol 23:17:43 so? 23:17:43 state-owned stores and stuff 23:17:50 alise, well you can at restaurants. 23:17:55 just not in the state owned stores 23:17:58 or such 23:18:09 alise, or beer (sold in normal supermarkets) 23:18:26 my 17yo brother was buying cider all the time ;D 23:18:37 in supermarkets 23:18:41 Vorpal: haha really? 23:18:43 beer but no wine? 23:23:47 As a reference point, the Finnish state-owned alcohol monopoly sells beer/wine at 18 but "strong" drinks (>22 vol-%) at 20. 23:24:21 and i sell heroin to kids at 12! 23:25:21 Oh, and that was retail; for restaurants and such it's just 18 in general. 23:25:26 alise: Less weird than the US. 23:25:54 Where if you're under 21, you basically cannot have alcohol pass your lips. 23:28:39 beer but no wine? <-- is sold in supermarkets yes 23:28:47 the 21 year age applies to both 23:29:32 -!- Mathnerd314 has quit (Ping timeout: 240 seconds). 23:29:39 alise, the only thing it doesn't apply to is consumption at a place with legal right to serve alcohol, such as many (but not all) restaurants, in which case the age limit is iirc 18 or such. 23:33:52 -!- BeholdMyGlory has quit (Remote host closed the connection). 23:37:06 Vorpal: http://toastytech.com/guis/miscbapps.png 23:37:09 windows 95 23:37:47 http://toastytech.com/guis/miscbmultimedia.png 23:37:54 http://toastytech.com/guis/miscbnetwork.png (flash!!) 23:38:08 (more: http://toastytech.com/guis/miscb.html) 23:38:19 even Tux Racer 23:41:55 (Yes, that's OS X running on Windows 95) 23:48:51 -!- Gracenotes has joined. 23:52:27 alise, planescape seems to work fine in XP 23:53:01 probably because it uses virtualbox graphics drivers 23:53:04 rather than actual hardware 23:53:07 -!- GreaseMonkey has quit (Quit: Welcome honored guest. I got the key you want! would you like onderves. of Yourself). 23:53:17 Microsoft brought the "ribbon" interface to Pain & WordPad as well. 23:53:18 *vomit* 23:53:57 -!- augur has joined. 23:54:27 Is the ribbon that bad? 23:55:44 Yes. 23:56:07 Really? 23:56:23 Truly. 23:56:28 It's an exercise in defying the law of least surprise. 23:56:31 the ribbon is like toolbars, except it takes an extra click 23:56:55 so it's usable, just slower 23:56:58 pikhq, I have never used it, so I can't say. 23:57:03 Toolbars. Instead of the menu. That are "context-sensitive". With a dynamic hierarchy. 23:57:15 also, it requires you to memorise where everything is, because it's generally less discoverable than menus 23:57:38 at least, it's slower to scroll over every ribbon to see which one a particular item is on, than it is to scroll over every menu to see which one a particular item is on 23:57:48 alise, hw accel support is active in xp x64 here so hm 23:57:57 The arrangement of the ribbon is dependent on the window dimensions. 23:58:00 apparently, the reason Microsoft invented ribbons is that they kept getting feature requests for features that were in their applications already 23:58:04 just nobody had found them on the menu 23:58:20 I'd call that reason to start paring out features. 23:58:38 Microsoft brought the "ribbon" interface to Pain & WordPad as well. 23:58:39 Pain :-D 23:58:44 alise: Hah. 23:59:09 http://toastytech.com/guis/win7appuis.png Windows 7: now with 3 completely different UI conventions! 23:59:24 First they brought Pain to the ribbon interface ... then they brought the ribbon interface to Pain.