00:09:03 -!- jcp has quit (Read error: Connection reset by peer). 00:10:12 -!- jcp has joined. 00:16:14 We got continuations on the second half of our Scheme course; and the course was dropped pretty much immediately after I had done it. They arranged it as a summer special once, but it might well be that we currently don't have any courses with continuations in them. 00:22:29 -!- alise has joined. 00:22:31 10:42:18 Lambdas in C? Coincidentally, I have just discovered a marvellous little proof that no god can exist, written in CLambda, which this magin is too narrow to contain 00:22:35 ssh -- pikhq is a christian 00:22:43 he'll /maul/ you 00:23:06 He's Maulutheran. 00:23:22 10:47:38 ah, so this is one of those places that hg >> bza >> svn >> cvs == True 00:23:27 no, that is just anmaster. 00:24:12 alise: That was discussing *my code* you know. :P 00:24:22 that was my point 00:24:31 Ah. 00:24:46 I freely admit my C lambda macros are an affront to all that is good in the world. 00:24:46 it's like using the cross to molest a baby: only kosher if you're simultaneously catholic and jewish (otherwise you don't care about kosherosity) 00:24:49 :P 00:26:03 * Sgeo wonders what #esoteric 's opinion on git is. I kind of like the existance of GitHub 00:26:22 i don't see what github has to do with git 00:26:29 * cpressey is a distributed version control luddite 00:26:30 there could easily be svnhub or whatever.. 00:26:44 Git is rather user-unfriendly, but it sucks less than non-distributed version control things, so. *shrug* 00:26:58 If there are multiple repos, why are there still multiple branches? 00:27:34 The multiple repos I've got checked out on my filesystem are 96+% identical -- why aren't they sharing their data? 00:27:43 MissPiggy, but there isn't, is there? 00:27:57 cpressey: Because filesystems suck. 00:28:06 Oh sorry, I mean, I've got *cloned* 00:28:11 I'm just saying that there needn't be any 'git' in github 00:28:20 I agree that it's a good site though 00:28:27 pikhq: That's no reason for hg to not understand the concept though 00:28:42 Uhhh 00:28:43 cpressey: File systems make data sharing difficult. 00:28:44 It knows its data is immutable 00:28:46 They are hardlinked in hg 00:28:53 -!- dev_squid has joined. 00:28:53 UNIX ones less so than most others. 00:29:01 And Gregor says hg does hardlinks, so. 00:29:17 The .hg directory's contents are hardlinked when you hg clone. 00:29:40 Gregor: Ah. I see. I need to be cloning from a local repo in order for it to do that. 00:29:43 * pikhq notes that COW is a good idea for any sort of on-hard disk serialisation scheme to have. 00:29:50 cpressey: ... uhh, yes? 00:29:54 How else could it possibly work? 00:29:55 I'm cloning multiple copies of the same remote repo 00:30:00 Ahhhhh 00:30:02 It should still be able to figure that out :) 00:30:03 Well, it's not psychic. 00:30:12 cpressey: ... It's not going to magically figure out that you're doing data sharing. 00:30:14 psychics 00:30:14 Well, it should have a way for me to tell it 00:30:16 psychic control system 00:30:26 cpressey: see this is just the kind of thing you need my OS for :P 00:30:28 Clone from your clones. 00:30:31 cpressey: There's a very simple way: Clone the remote one once, then clone that multiple times. 00:30:39 cpressey: That tells it exactly what you want to tell it. 00:30:47 Or use ehirdOS. 00:31:01 Yay complexity. 00:31:08 ... 00:31:23 Well, I'll try it, and see if it makes my life any easier. 00:32:07 But now the argument for supporting branches is even weaker :) 00:32:24 Uh, no? 00:33:02 What advantage to branches have over just forking a clone? 00:33:12 *do 00:33:39 ehirdOS certainly makes your life easier, as long as you have no attachment to existing software suites whatsoever :P 00:33:42 Or interfaces... 00:33:50 Or languages, or APIs. 00:34:17 A branch notes that the branch was made, allows you to merge things more readily, and... Yeah. 00:34:37 12:11:39 the vulgar sense of "classical" music 00:34:49 12:11:44 I call "art music" 00:35:14 I'm pretty sure that's called "concert music". 00:35:16 ...and makes my life hell during merges, is all I'm sayin' :) 00:35:31 -!- alise_ has joined. 00:35:33 pikhq: ... no. 00:35:42 Gregor: No? Okay then. 00:35:56 "Art music" is really a rather arrogant phrase. Particularly since... Other music is (or at least can be) an art. 00:36:23 Orchestral music, maybe? Although there's orchestral rock, even. 00:36:34 Let's just call it composer music, because composers are the only ones who listen to it :) 00:36:49 alise_: Definitely no on both counts. 00:36:54 why not call it classical music? 00:36:59 what's wrong with that? 00:37:10 Because that's music from a specific period with a very specific style. 00:37:15 no 00:37:19 lament: Because AnMaster is a pretentious fuck who lives in the 1800s who is also a gigantic prescriptivist. 00:37:22 Because classical is an era. By calling all music of the form classical music, you've removed the name from that era. 00:37:26 (An era and a style) 00:37:28 that's a *different* meaning of the word "classical" 00:37:34 Yay 00:37:39 'Night folks. Have a good weekend. 00:37:45 -!- cpressey has left (?). 00:37:55 it's ok to have multiple meanings if there's no confusion 00:37:58 and there's no confusion 00:38:01 There is MUCH confusion. 00:38:13 which is why people call classical music classical music, and they call classical music classical music, and nobody is confused. 00:38:18 Only amongst yourselves. 00:38:25 Just call it the classical period. 00:38:30 Classical period music. 00:38:31 everybody knows that "classical music" means two different things 00:38:44 "classical" refers to ancient greece anyway 00:38:49 so there're at least 3 meanings 00:38:50 Classical music is the style of music from the classical period, classical music does not need to be from the classical period. 00:39:20 -!- alise has quit (Ping timeout: 252 seconds). 00:39:30 The problem is there's not a term for the music in question here. 00:39:36 I suggest ucodnawg. 00:41:20 You're the man now, ucodnawg 00:41:31 Gregor: Shaddap 00:41:47 also, it turns out windows 7 ships with something genuinely interesting 00:41:52 (As opposed to morbidly curious) 00:42:23 what's more, it's programming-related 00:43:00 Oh? 00:44:08 Yes. PowerShell, in particular. Take, for instance, the seemingly-trivial "type | ls". 00:44:26 Dealiased, Get-Content | Get-SubItem. 00:44:32 But what happens when you run it? 00:44:53 Erm. Failure, because I made a mistake X-D 00:45:05 Take "echo | ls". 00:45:20 That is, Write-Output | Get-SubItem. 00:45:24 When run: 00:45:57 cmdlet Write-Output at command pipeline position 1 00:46:15 Supply values for the following parameters: 00:46:27 InputObject[0]: . 00:46:38 InputObject[1]: Music 00:46:39 Ah. PowerShell -- damned verbose shell, but flexible. 00:46:43 InputObject[2]: 00:46:48 [humdrum dir listing] 00:46:57 The interesting thing is the flexibility. 00:47:07 echo doesn't just print some strings to standard output. 00:47:23 It uses a generalised object input mechanism - command-line or interactive - and sends those objects along the pipeline. 00:47:38 Get-SubItem actually takes a legitimate resource, not just a path name, and lists its subitems. Not just directories, either. 00:47:56 It strikes me as similar to concatenative languages. 00:48:58 -!- dev_squid has quit (Ping timeout: 248 seconds). 00:49:01 ChildItem, not SubItem. 00:49:24 -!- Gracenotes has joined. 00:49:59 In fact the input/output UI + behind the scenes, rich objects idea is tempting for my OS. 00:50:17 interfaces are composable because they're just functions with seasoning 00:50:33 (and even unannotated functions get simple "default" UIs) 00:54:55 13:25:21 btw, has anyone invoked rule 34 on rule 34? 00:55:03 yes; was fulfilled with wolfram elementary automation 34 00:55:29 13:27:11 (be aware of that tvtroupes is highly addictive!) 00:55:29 Tropes. 00:57:47 -!- oerjan has quit (Quit: Later). 00:59:46 GUILTY! 01:03:27 Meggricxshienneh. 01:07:56 Welcome to the Tableauic Home of the Emigrants. 01:09:18 -!- oklokok has quit (Remote host closed the connection). 01:09:42 -!- oklokok has joined. 01:10:21 yo oklokok 01:10:45 I should stop worrying about ehird 01:12:34 -!- BeholdMyGlory has quit (Remote host closed the connection). 01:12:41 Worry about okloCOCK instead. 01:13:06 MissPiggy: why? 01:13:41 okloCOCK taught me something awesome 01:16:02 And that is? 01:16:20 Gregor, kind of like combinator logic excep they don't reduce 01:16:37 this word problem stuff which I had never actaully encountered 01:16:56 it feels a little bit like diophantine equations too 01:18:06 ; 01:18:39 I tried reading the Diophante book once 01:18:46 The notation is pretty old school 01:18:46 -!- angstrom_ has changed nick to angstrom. 01:18:53 -!- oklokok has quit (Read error: Operation timed out). 01:25:59 -!- oklokok has joined. 01:26:02 THE diophantine book? 01:27:30 Yeah 01:27:34 Arithmetica 01:33:07 -!- oklokok has quit (Read error: Operation timed out). 01:33:44 -!- oklokok has joined. 01:35:54 ohh 01:35:57 Gauss? 01:36:24 oh it's by Diophantus 01:36:25 okay 01:36:30 Id not heard of this somehow 01:36:38 is it wort reading? 01:37:12 x 01:37:25 Well, I only found a version in greek with a latin translation 01:37:30 So it's a bit hard to follow 01:37:35 heh 01:37:42 I can read the equations now, but not much else 01:38:44 I tried making this : http://esolangs.org/wiki/User:Slereah/Arithmetica 01:39:34 cool 01:42:05 `translate Ang. plass til barnevogner: 01:42:18 Regarding space for prams: 01:42:26 `swedish Ang. plass til barnevogner: 01:42:27 Ung. pless teel bernefugner: 01:42:33 `translate Tro meg, plassen er et betraktelig større problem enn å få vognen inn og ut. 01:42:35 Believe me, the place is a considerably larger problem than to get the cart in and out. 01:42:51 `translate Nå har riktignok mange kvinner kommet frem til en eller annen "vedtatt sannhet" om at det ikke er mulig å bære en liten vogn opp tre trappetrinn alene, selv når det gjelder små triller som man lett får grep på, men det er et forsvinnende problem ettersom de aller fleste nyere busser her er trappeløse. 01:42:53 because the vast majority of newer buses here are step-less. 01:43:24 I wish somebody who was totally not me would fix translatefromto and translateto :P 01:43:35 We just need to make a copy of Gregor. 01:43:41 Hmm... 01:43:46 Gregor, I would like to be a copy of you. 01:43:46 That person would not be "totally not me" 01:43:50 That person would be "mostly me" 01:44:00 You may commence sending yourself. 01:48:00 A truly set language would be fun. 01:48:35 { {x,{x,x}} | x <- a } is id 01:49:18 { {x,{x,{{y,{y,y}}}}} | x <- a, y <- b } is K 01:49:45 where (x,y) = {x,{x,y}} and \x.y is {{x',y'},...} for all values 01:51:13 alis lool enjoy your russles paradox 01:51:14 { {n} U n | n <- a } is succ (U=union, I probably got it the wrong way around again :)) 01:51:34 MissPiggy: uh you can have inductively defined sets without russel's paradox, idiot 01:51:36 *Russell 01:51:50 (1) fuck you 01:51:53 (2) learn set theory 01:53:43 I'll fuck set theory right into your skull? 01:55:58 -!- alise_ has quit (Ping timeout: 252 seconds). 01:57:19 (3) realize lisp is really just analogous to all that was just said 01:59:13 (4) fuck lisp right into your skull 02:01:56 I'd love that 02:02:01 nice curvy forms 02:02:10 D-8 02:02:33 nice sexp character 02:03:08 * Sgeo should learn Scheme, probably 02:03:13 But I'm still on a Ruby high 02:03:46 Sgeo: Ugh dump that shit and learn scheme 02:03:59 Ugh dump that shit and love you some Haskell. 02:04:11 No, don't listen to pikhq's fanboyism 02:04:18 All haskelletons are the same 02:04:35 ... Morphisms on the category Hask? 02:04:38 Fuck it, I'll learn PHP. You all lose. 02:04:52 Sgeo: No, only you lose in this case. 02:04:55 (With me included in "you all", obviously) 02:04:57 ... Lose all remaining humanity, that is. 02:05:10 (see zzo38) 02:05:54 "There will be no in-depth pedagogy; no dwelling on the semantic appeal of Scheme; no metacircular interpreters; no discussion of the underlying implementation; and no evangelizing about Scheme's virtues" 02:06:04 Hm, maybe I should skip this tutorial 02:08:35 Sgeo LERN PYTHIN 02:08:47 :x 02:09:07 Learn MIPS assembly 02:09:29 Python is my main languag 02:09:33 *language 02:09:46 that was quick 02:10:48 lol 02:10:49 -!- MissPiggy has quit (Quit: Lost terminal). 02:11:37 -!- Asztal has quit (Ping timeout: 264 seconds). 02:26:52 Hm, should I use PLT-Scheme? 02:28:55 NOOOOOES 02:29:08 -!- dev_squid has joined. 02:29:48 More so than any other Scheme, PLT stands for Pretentious Little Troglodytes 02:29:58 -!- MizardX has quit (Ping timeout: 276 seconds). 02:30:15 ?? 02:30:37 Sorry, I've had ... dealings ... with some of the major PLT Scheme folks. 02:30:57 Yeah, um, right now I'm more focused on the language than the communuty 02:31:08 Definitely MIPS. 02:31:17 * Sgeo has already downloaded PLT 02:31:30 I'm not referring to the community, I'm referring to the developers. 02:51:45 -!- angstrom has left (?). 03:06:13 -!- augur has joined. 03:31:33 Sgeo: NO 03:31:35 Not plt 03:31:42 Gregor is right 03:31:44 Quadrescence, why not? 03:32:01 And I have the authority to say this since I am on both Scheme standards committees 03:32:13 Pretentious Little Troglodytes ... 03:32:25 Yeah 03:32:40 So the people suck. Who cares? 03:32:47 Sgeo: Go with Chicken Scheme or Chibi Scheme if you want more or less friendly, general purpose use 03:32:59 Ikarus or Larceny for fast-code-generating compilers 03:34:08 Is there a reason other to, other than the devs being obnoxious? 03:43:02 Well, Chicken Scheme has a very cool implementation. 03:48:25 Howso? 03:49:08 Ok, is this infix convention a PLT thing, or a Scheme thing? 03:50:03 It compiles everything using continuation-passing style into C (without TCO), and uses the C stack as a generation in the Scheme heap. 03:50:52 When the C stack is about to overflow, it longjmps to the trampoline, which copies live objects on the stack into the heap, and then goes back to the Scheme program in process. 03:53:05 Sgeo: Yes there are reasons 03:53:47 Sgeo: Anyway I'm sure you just love the gui of dr scheme or something and that's the reason you're not motivated to change 03:56:43 Quadrescence, ok, what are these reasons? 03:57:12 TOO EVIL TO MENTION 03:57:36 Sgeo: I don't really feel like justifying it to you 03:57:51 You can either take the money I'm giving you, or continue to question if the money is real and not take it. 03:58:16 This seems... familiar 03:58:43 I couldn't explain to you because you don't know scheme. 03:58:47 Are you going to supposedly torture me if I don't take the "money"? 03:58:49 You don't know its idioms. 03:59:02 You don't know how compiling it works, you don't know how interpreting it works. 03:59:14 You don't know what macro expansion is, you probably don't even know the evaluation semantics 03:59:33 -!- oklokok has quit (Remote host closed the connection). 03:59:51 So why should I bother taking 384 hours explaining the faults of PLT Scheme to you relative to the language at hand when you don't know anything about it except it uses a fuckton of parentheses? 04:03:59 -!- oerjan has joined. 04:05:58 The notation is pretty old school 04:06:15 understatement of the year? (no i've never seen it, i think) 04:10:06 -!- oklokok has joined. 04:11:36 18:04:18 All haskelletons are the same 04:11:36 18:04:35 ... Morphisms on the category Hask? 04:11:46 on the skeleton category of Hask, naturally 04:11:54 Well, of course. 04:13:00 With a pullback on the foreskin of my cock lifted into YourAss hole monad 04:13:51 Are keywords a Scheme thing or a PLT thing? 04:14:05 Quadrescence: that's a really remarkable combination of offense and category theory 04:14:09 Sgeo: PLT thing surely 04:14:40 Sgeo: I told you to not use it, because now you're turning stupider and stupider about scheme 04:14:44 also a common lisp thing iirc 04:14:54 they are not keywords 04:15:53 Keywords? Scheme? 04:16:06 What craziness is this? 04:16:11 PLT's 04:16:18 -!- augur has quit (Ping timeout: 245 seconds). 04:16:20 But Sgeo insists on PLT 04:20:55 -!- oklokok has quit (Read error: Operation timed out). 04:21:41 -!- oklokok has joined. 05:51:46 -!- augur has joined. 06:04:54 sp bitches 06:13:43 -!- oerjan has quit (Quit: leaving). 06:14:33 -!- lifthrasiir has quit (Ping timeout: 240 seconds). 06:17:19 Quadrescence: people who hate PLT 06:19:58 -!- dev_squid has quit (Ping timeout: 264 seconds). 06:20:28 Quadrescence, if I switch DrScheme to R5RS, will we both be happy? 06:21:19 I'm happy. I won't feel bad for you being attached to the GUI and Fisher Price My First Programming Language tutorials. 06:22:31 i like drscheme 06:22:50 Quadrescence: you seem quite attached to Fisher Price My First Metaphors 06:22:58 Yeah I am 06:23:00 Two channels so far 06:23:09 Third time'll be the charm 06:23:21 also, people who hate PLT 06:23:32 are the same people who don't shower 06:23:44 -!- dev_squid has joined. 06:23:53 and who stab babies 06:23:57 -!- lifthrasiir has joined. 06:24:13 lament: yeh 06:25:58 for example, this guy clearly hates PLT, just look at his printer: http://www.gearfuse.com/wp-content/uploads/2007/10/nerd.jpg 06:27:08 Also UNIX beards. 06:27:14 * pikhq strokes his UNIX beard 06:27:37 It's both a fashion accessory *and* a way of detracting ladies! 06:29:20 * Gregor strokes his lack of facial hair. 06:40:33 -!- coppro has joined. 07:02:42 -!- Asztal has joined. 07:09:40 (procedure? procedure?) 07:12:44 -!- oklokok has quit (Read error: Operation timed out). 07:13:44 PROC 07:13:45 PROC 07:17:23 -!- oklokok has joined. 07:24:50 According to R5RS, "w" is a semivowel 07:26:52 Oo 07:26:59 why does that matter? (I know nothing of Scheme) 07:27:39 It doesn't. It was just in an example 07:27:43 ah 07:27:48 anyways, maybe they're Welsh? 07:33:33 "w" is to "oo" (as in tool) as "t" is to "s" 07:34:12 Being effectively a plosive makes it usable only as a consonant (it can't be held like a vowel), but it is fundamentally produced as a vowel sound. 07:37:12 HAY GUYS 07:37:18 WANNA KNOW ABOUT A COOL GRAMMAR FORMALISM? 07:37:19 8D 07:37:35 also, w is indeed a semi vowel. 07:37:43 semivowel is another word for glide. 07:38:02 Yeah, you lost me 07:38:06 linguistics is not a long suit 07:39:59 -!- jcp has quit (Quit: I will do anything (almost) for a new router.). 07:40:06 "glide" is the word I couldn't find there. 07:40:45 Glides are to vowels as plosives are to fricatives. 07:40:51 (Roughly speaking) 07:45:48 yeah, only one of those words carries any meaning to me 07:47:54 Poor pooppy :P 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:02:02 -!- cheater2 has quit (Read error: Connection reset by peer). 08:02:28 -!- cheater2 has joined. 08:09:16 -!- dev_squid has quit (Ping timeout: 276 seconds). 08:19:34 -!- coppro has quit (Ping timeout: 268 seconds). 08:20:20 so Gregor 08:20:26 about these range concatenation grammars 08:20:36 they're basically a bunch of prolog predicates, in many ways 08:20:51 only instead of having the values true or false, or whatever 08:20:57 they have string values 08:21:08 where "true" is the empty string 08:24:19 -!- MigoMipo has joined. 08:26:16 -!- coppro has joined. 08:27:06 hey coppro 08:27:14 wanna learn about range concatenation grammars? :D 08:38:23 -!- kar8nga has joined. 08:47:42 (display "Good night all") 08:50:24 night you 09:00:29 -!- MigoMipo has quit (Remote host closed the connection). 09:03:18 -!- MigoMipo has joined. 09:07:33 -!- tombom has joined. 09:59:05 -!- kar8nga has quit (Remote host closed the connection). 10:24:13 -!- oklokok has quit (Ping timeout: 264 seconds). 10:39:58 [02:26.50] wanna learn about range concatenation grammars? :D 10:39:59 hahaha 10:52:53 -!- alise has joined. 10:53:08 yo 10:56:05 19:32:01 And I have the authority to say this since I am on both Scheme standards committees 10:56:10 including r6rs? 10:56:17 you are a horrible person 10:56:22 No, the current standards 10:56:55 The small scheme and big scheme, in development 10:57:25 you are still a horrible person :p 10:57:54 -!- oklokok has joined. 10:57:55 Why? 10:59:58 i am typing while walking down srfarirs 11:00:30 HD got parked for ages 11:00:49 what 11:01:01 -!- alise_ has joined. 11:01:11 Quadrescence: cuz I'm an r5rs fanboi 11:01:35 Me too 11:01:48 Which is why the plan is to ditch r6rs entirely 11:02:30 yeah, but "big scheme" is still a fundamental misunderstanding 11:02:32 imo :P 11:02:40 but then I'm even worse than a haskell fag, I'm a dependent-types fag 11:03:19 I get to be holier-than-thou in both programming (to... everyone else) and logic (to everyone (well I think there's about 3 other constructivists in the world so)) 11:03:44 alise_: Actually I am a dependent type fag too 11:03:52 Sweet! Let's procreate. 11:04:00 wow okay are you hot? 11:04:06 (Note: I am actually male.) 11:04:20 (If you have been mislead, this was entirely intentional. Have a nice day!) 11:04:22 (me too, doesn't mean we can't procreate, right?) 11:04:23 -!- MigoMipo has quit (Quit: When two people dream the same dream, it ceases to be an illusion. KVIrc 3.4.2 Shiny http://www.kvirc.net). 11:04:49 (is it technically procreation?) 11:04:52 -!- alise has quit (Ping timeout: 252 seconds). 11:05:16 (depends on how procreation occurs) 11:05:28 I appear to be fulfilling my prophecy that once I obtain a laptop, I will never turn it off while moving. 11:05:29 NEVER 11:05:36 Admittedly it turns out the 3G reception is pretty shitty in taxis 11:06:16 wait now quad is here? 11:06:36 Quadrescence: ok then maybe you'll hate me more for the fact that I'm an everything-in-computing-is-broken-and-my-system-that-breaks-every-existing-thing-will-make-it-right charlatan 11:06:43 oklokok: I made this channel 11:07:03 alise_: i don't get it 11:07:36 Quadrescence: now I'm doubting whether you're actually on the committee :) 11:07:47 alise_: My name is Robert Smith 11:07:50 Go look it up 11:08:44 now that depends on me trusting your claim "My name is Robert Smith", which amounts to exactly the same trust issue :) 11:08:48 also, what bit don't you get? 11:08:54 the whole thing 11:09:22 ok, what error message did your mind spit back? 11:09:32 this is like "I tried (f x2) and it didn't work" 11:09:52 are you saying all current systems are not optimal for computing? 11:10:00 systems => programming languages 11:10:05 computing => programming 11:10:31 system = language/OS/interface/everything 11:10:35 they're broken at every level 11:10:49 Theoretically or practically? 11:11:16 If you say theoretically, this conversation will have become uninteresting 11:11:37 `well, theoretically yes, but practically mostly 11:11:41 No output. 11:12:03 Quadrescence: i.e. some things I've invested theoretically 11:12:05 but the motivation is wholly practical means 11:12:23 not that the resulting system is /practical/ since its sheer novelty means that... nothing existing works pretty much 11:12:46 Okay, so do you think there can be a much, much better programming language? 11:12:53 (let us not talk about OSes and stuff) 11:13:13 Well, that's the thing: I make no distinction between the running language environment (think Smalltalk) and the OS. 11:13:24 But if you mean the actual little snippets of code at the bottom... 11:13:29 "Maybe". Much, much better than C? Hell yes. 11:13:33 Than Scheme? Sure. 11:13:58 Than Fagskell? 11:13:59 Than Agda, say (although it has many foibles) or Epigram? Not much, much, *much* better. Not for humans, at least. 11:14:01 That's all speculation though and I'll probably be proved wrong. 11:14:10 Quadrescence: Well let's not get into that :P 11:14:16 You will be proved wrong 11:14:30 yes, likely 11:14:34 what i'm trying to say is 11:14:35 Certainly 11:14:43 i cannot /imagine/ a much, much, *much* better language than those 11:14:45 much, much better sure 11:14:48 I can. 11:14:49 imagine but not specify ofc 11:14:53 And I mean that seriously. 11:14:58 what is it, Forth? :-) 11:15:02 Hahaha 11:15:05 No. 11:15:11 I am in the process of designing it now. 11:15:14 INTERCAL? 11:15:20 Quadrescence: oh R7RS? 11:15:23 No 11:15:25 Definitely not 11:15:32 what, then? 11:15:36 This is my own project. 11:15:49 let me just say that I'm doubtful your language designing skills so greatly exceeds those of every other language designer in the history of the universe :P 11:16:05 *exceed 11:16:07 That's fine. 11:16:18 also, IRCing in a taxi, doo doo doo. god dammit a corner, doo doo AAAAAAAAAH 11:16:20 But if I stand on their shoulders, then I can still reach higher 11:16:30 i guess this is why people use the suspend feature on laptops 11:16:34 Quadrescence: okay fine 11:16:44 Quadrescence: you probably still want it stored as utf-8 text in files on posix though 11:16:44 but I still see what you mean 11:16:48 FOR WHICH YOU ARE ABOMINABLE 11:16:58 what 11:17:04 what what? 11:17:09 The language is being specified purely theoretically first. 11:17:21 Yes, with a syntax based on streams of characters. 11:17:40 And as running-as-a-process rather than living-environment (think Smalltalk in the 70s when it was actually the OS) 11:18:09 (Note: Most "AST editing nao! ASCII code sux!" people are blowhards without a coherent idea for a good interface. Please do not count me among them, lest I be sad.) 11:18:09 what? It can run as an environment 11:18:28 Quadrescence: ok, so you don't define "program"? as in a cmplete "module" of code? 11:18:45 in an environment I guess you could say all values are part of one gigantic program, but... 11:18:48 *complete 11:18:57 (module not as in module system) 11:18:58 I know the distinction you're making 11:19:01 I know 11:19:08 alright 11:19:22 "Quadrescence: Okay, so do you think there can be a much, much better programming language?" <<< have you heard of clue? 11:19:33 Yes 11:19:34 oklokok: no, oklotalk! 11:19:36 oklotalkclue 11:19:44 oh you have 11:19:50 oh hmm right 11:19:51 you've abandoned oklotalk and this makes me ensaddened 11:19:58 EN 11:20:00 SADD 11:20:00 ENED 11:20:09 i'm sorry, it got out of hand 11:20:18 that's what she said 11:20:22 in bed 11:20:33 was she holding my cock but it slipped 11:21:06 oklokok: precisely 11:21:09 because it's so small you understand 11:21:21 note: using laptops in cars makes you carsick 11:21:26 or, me, at least 11:21:28 no it doesn't 11:21:46 does for me 11:21:54 cpressey: File systems make data sharing difficult. <-- if I understood that convo correctly, cpressy was saying that hg can't share common data between branches? That seems strange. bzr for example is fully capable to do so if you want it. 11:21:57 i am living proof right now 11:21:58 ONLY WEAKLINGS GET CARSICK 11:22:14 hm hardlinks only work within a single file system 11:22:26 bzr doesn't depend on that for it to work 11:23:20 and yes bzr can if you use a "shared repo" for the branches figure out that thing when cloning related (or the same) remote branch 11:23:24 -!- alise has joined. 11:23:31 3G -> enter city -> GPRS 11:23:36 Civilisation! 11:23:41 alise, that seems backwards indeed! 11:23:51 and nowdays you don't need a shared repo for data sharing when doing local clones 11:24:13 can someone link me directly to today's log, it'll take me ages to get there 11:24:19 oh! 11:24:21 finally, nm 11:24:27 http://tunes.org/~nef/logs/esoteric/10.03.06 11:24:36 lol we hit a bump when I was cpoying 11:24:40 so I bashed the keys randomly 11:24:42 *copying 11:24:54 (you need to provide some option to bzr branch for that to happen for the latter situation) 11:25:10 see you guys for a bit 11:25:19 alise, cya 11:25:35 alise, also, doesn't roaming work between 3G and GPRS? 11:25:48 seems backwards if it doesn't hm 11:26:11 in my dream, two people told me almost the same thing in pm almost simultaneously, and i tried to cp it to both of them to ask for their explanations, but accidentally cp's a thousand lines of o's on one query window, and couldn't see my keyboard anymore, so i couldn't stop it. what a horrible nightmare. 11:26:27 *cp'd 11:26:30 -!- alise_ has quit (Ping timeout: 252 seconds). 11:29:26 -!- alise has quit (Ping timeout: 252 seconds). 11:32:03 o 11:32:03 o 11:32:04 o 11:32:04 o 11:32:04 o 11:32:04 o 11:32:04 o 11:32:04 o 11:32:05 o 11:32:06 o 11:32:06 o 11:32:06 o 11:32:22 ^ a small-scale version of what it'd look like 11:59:40 -!- BeholdMyGlory has joined. 12:04:16 oklokok, strange one 12:45:19 -!- oerjan has joined. 12:51:50 -!- zzo38 has joined. 12:52:36 -!- zzo38 has quit (Remote host closed the connection). 13:09:34 -!- kar8nga has joined. 13:22:42 -!- MigoMipo has joined. 13:25:32 -!- MizardX has joined. 13:33:18 when i was a kid i always thought i'd be in big trouble if i dropped into a well or something, because crying for help would be so cliche i couldn't do it 13:34:18 just as well you never realized breathing is a cliche 13:34:31 *whoops*... 13:35:25 i'd play dead but it'd take weeks on irc, so i'll just say "luckily people don't notice it so it doesn't matter" 13:35:41 oh well 13:37:46 now i kinda wish i'd played dead. 13:37:53 that would've been so cool 13:38:38 dead people are generally cool. it's that lack of metabolism. 13:41:15 -!- kar8nga has quit (Remote host closed the connection). 13:41:26 :D 13:41:36 seriously man 13:43:06 i'm serious. it's a very grave matter. 13:43:54 no i mean you're seriously funny, or maybe i'm just abnormally high on life today 13:44:17 tbh it feels like an awesome idea to jump out of the window naked 13:44:20 just second floor 13:45:00 pro tip: make sure the door isn't locked first 13:45:19 :D 13:45:28 well i could put the keys in my meat pockets 13:45:59 running outside naked is awesome, but i'm too chicken to ever actually do it 13:45:59 ...in which it is revealed that oklokok is actually a kangaroo. 13:46:09 ! 14:14:38 freecell is a fun game 14:14:39 -!- scarf has joined. 14:17:07 i was just told i'm the preferred candidate for a summer job about cellular automata, but i will probably not be chosen because of bureaucratical reasons :) 14:28:18 heh, seems typical 14:29:44 actually not even just bureaucratical, but also political reasons 14:31:22 cellular automata are communist! 14:31:41 they usually take people who are currently doing their master's degree, which i only start @ fall, and the prof X whose position this is will probably take another prof Y's student, because Y took X's student last year 14:33:32 i'm so unlucky, first the cellular automata, formal languages, graph theory and tilings and patterns (tm's in tiles) courses are all given just before i realize i should switch to math, and then the CA prof takes a student for a summer job just before i start my master's :< 14:34:15 if only i'd born on a different year of the cycle 14:34:19 beenm 14:34:22 *been 14:34:22 oklokok: What was your BS in? 14:34:47 i haven't finished it yet, but it's in the it dep and it's about fully polynomial approximations to knapsack 14:35:01 PM me 14:35:31 that's another thing, i'm not officially a math student yet 14:36:49 actually now i'm wondering what BS is short for exactly 14:36:56 bachelor's ...? 14:40:37 Bachelor of Science 14:46:33 oh! 14:46:48 maybe i should've known 15:19:03 -!- jcp has joined. 15:43:41 -!- FireFly[DS] has joined. 15:52:33 `define cajole 15:52:39 * wheedle: influence or urge by gentle urging, caressing, or flattering; "He palavered her into going along" \ [13]wordnetweb.princeton.edu/perl/webwn \ * To encourage or persuade by effort; to coax 16:36:47 -!- FireyFly[DS] has joined. 16:36:50 -!- FireFly[DS] has quit (Read error: Connection reset by peer). 16:39:37 -!- FireyFly[DS] has quit (Client Quit). 16:54:34 -!- sebbu2 has joined. 16:55:17 -!- sebbu has quit (Ping timeout: 260 seconds). 16:55:17 -!- sebbu2 has changed nick to sebbu. 17:19:28 -!- oerjan has quit (Quit: Good night). 17:56:44 This exists: "Mooix: Where unix is the MOO." 17:56:55 This does not exist: "InterMOO: Where the Internet is the MOO." 17:57:39 So, I might change that. 17:58:01 uorygl, is that based on some meme? 17:58:26 uorygl, also should be moonet 17:58:26 It's not a snowclone as far as I know. 17:58:43 uorygl, snowclone? 17:59:01 A snowclone is a meme based on a phrase. 17:59:12 Like "X is the new Y". 18:01:34 Calling it Moonet would continue the Mooix pattern, but I don't want to do that. 18:02:04 "Internet" was originally an adjective meaning "between the nets"; we can pretend "InterMOO" was originally an adjective meaning "between the MOOs". 18:03:34 an internet is a network of network 18:03:35 *networks 18:03:43 and contrary to popular belief, there is more than one internt 18:03:46 *internet 18:03:50 just, only one of them is big and famous 18:04:01 and that's the one that's called "the Internet" 18:04:23 Arguably, there are two of them that are called the Internet: the Internet version 4 and the Internet version 6. 18:04:34 "inert net". 18:04:58 A net made out of glass would be a pretty inert net. 18:05:47 uorygl: umm, IPv4 is "Internet Protocol version 4" 18:06:05 and the bits of the Internet that use version 4 and version 6 of the protocol are definitely connected togetgher 18:06:07 *together 18:06:09 so form one internet 18:06:45 Intern-net 18:07:05 (If Clinton had invented it instead of Gore) 18:07:16 So, if the Internet Protocol was developed to transfer data between the nets, does that mean that a protocol developed to transfer stuff between the Internet version 4 and the Internet version 6 is an Interinternet Protocol? :P 18:07:22 AnMaster: Your comments on the FRTH fingerprint made me want to write something in Forth. You should be ashamed of yourself. 18:09:00 Anyway, an InterMOO protocol would be based on an RPC protocol. 18:09:20 uorygl: IPv4 Internet and IPv6 Internet are linked. 18:09:25 Thus, what we have is an InterInternet. 18:10:14 (IIRC, they're linked through various forms of tunneling, as well as hosts being on both) 18:10:26 Hmm, maybe an RPC protocol is actually the sole thing we need. 18:10:30 The tunneling is only possible due to the hosts that are on both :P 18:11:13 Thank goodness for 192.88.99.1! 18:12:06 And what's that one DNS server anycast address? 4.3.2.1? 18:14:04 4.2.2.1 18:14:22 What about 8.8.8.8 ? 18:14:27 different servers 18:15:56 fizzie, hah 18:29:29 uorygl: How much MOO would a moo-cow moo if a moo-cow would moo MOO? 18:29:59 If it's my MOO, then about a hundred megabytes of it. 19:12:26 -!- jcp has quit (Read error: Connection reset by peer). 19:13:33 -!- jcp has joined. 19:16:05 -!- MizardX- has joined. 19:18:09 -!- MizardX has quit (Ping timeout: 260 seconds). 19:18:34 -!- MizardX- has changed nick to MizardX. 19:23:31 I want to like Scheme 19:25:07 that's a strange thing to say 19:25:31 o-qo-do.oo-qp-oo.ob-op-o 19:26:50 `yes 19:26:51 y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y 19:27:16 `no 19:27:17 No output. 19:27:26 `No output. 19:27:27 No output. 19:27:30 `cool 19:27:32 No output. 19:27:33 Almost a quine. 19:27:43 `` 19:27:45 No output. 19:28:29 hm 19:28:42 `ls 19:28:44 bin \ cube2.base64 \ cube2.jpg \ hack_gregor \ hello.txt \ help.txt \ huh \ netcat-0.7.1 \ netcat-0.7.1.tar.gz \ paste \ poetry.txt \ quotes \ share \ test.sh \ tmpdir.16443 \ wunderbar_emporium \ wunderbar_emporium-3.tgz \ wunderbar_emporium-3.tgz.1 19:28:50 uorygl, does that explain it ;P 19:29:04 huh 19:29:10 `file wun* 19:29:12 wun*: ERROR: cannot open `wun*' (No such file or directory) 19:29:13 hm 19:29:15 `run file wun* 19:29:16 wunderbar_emporium: directory \ wunderbar_emporium-3.tgz: gzip compressed data, from Unix, last modified: Fri Aug 14 14:01:51 2009 \ wunderbar_emporium-3.tgz.1: gzip compressed data, from Unix, last modified: Fri Aug 14 14:01:51 2009 19:29:22 `help 19:29:23 Runs arbitrary code in GNU/Linux. Type "`", or "`run " for full shell commands. "`fetch " downloads files. Files saved to $PWD are persistent, and $PWD/bin is in $PATH. $PWD is a mercurial repository, "`revert " can be used to revert to a revision. See http://codu.org/projects/hackbot/fshg/ 19:29:46 `run tar tf wunderbar_emporium-3.tgz 19:29:47 wunderbar_emporium/ \ wunderbar_emporium/pwnkernel.c \ wunderbar_emporium/tzameti.avi \ wunderbar_emporium/wunderbar_emporium.sh \ wunderbar_emporium/exploit.c 19:29:52 huh 19:30:42 `echo `echo 19:30:43 `echo 19:30:50 So a quine is possible. 19:30:58 it is? 19:31:05 Yep. 19:31:13 at least there's a sequence of programs that approaches a quine 19:31:55 -!- kar8nga has joined. 19:32:21 `yes `echo 19:32:22 `echo \ `echo \ `echo \ `echo \ `echo \ `echo \ `echo \ `echo \ `echo \ `echo \ `echo \ `echo \ `echo \ `echo \ `echo \ `echo \ `echo \ `echo \ `echo \ `echo \ `echo \ `echo \ `echo \ `echo \ `echo \ `echo \ `echo \ `echo \ `echo \ `echo \ `echo \ `echo \ `echo \ `echo \ `echo \ `echo \ `echo \ `echo \ `echo \ `echo \ `echo 19:32:35 `yes `yes 19:32:36 `yes \ `yes \ `yes \ `yes \ `yes \ `yes \ `yes \ `yes \ `yes \ `yes \ `yes \ `yes \ `yes \ `yes \ `yes \ `yes \ `yes \ `yes \ `yes \ `yes \ `yes \ `yes \ `yes \ `yes \ `yes \ `yes \ `yes \ `yes \ `yes \ `yes \ `yes \ `yes \ `yes \ `yes \ `yes \ `yes \ `yes \ `yes \ `yes \ `yes \ `yes \ `yes \ `yes \ `yes \ `yes \ `yes \ `yes 19:32:50 That's not going to work. 19:33:03 `yes \ `yes 19:33:04 \ `yes \ \ `yes \ \ `yes \ \ `yes \ \ `yes \ \ `yes \ \ `yes \ \ `yes \ \ `yes \ \ `yes \ \ `yes \ \ `yes \ \ `yes \ \ `yes \ \ `yes \ \ `yes \ \ `yes \ \ `yes \ \ `yes \ \ `yes \ \ `yes \ \ `yes \ \ `yes \ \ `yes \ \ `yes \ \ `yes \ \ `yes \ \ `yes \ \ `yes \ \ `yes \ \ `yes \ \ `yes \ \ `yes \ \ `yes \ \ `yes \ \ `yes \ 19:33:12 what's `yes 19:33:22 man 1 yes 19:33:34 `yes is a command that outputs its input forever. 19:33:35 is a command that outputs its input forever. \ is a command that outputs its input forever. \ is a command that outputs its input forever. \ is a command that outputs its input forever. \ is a command that outputs its input forever. \ is a command that outputs its input forever. \ is a command that outputs its input forever. 19:33:44 So if it weren't for those darn line breaks... 19:34:19 If it wasn't for those darn line breaks then what ...? 19:34:32 `run yes is a command that outputs its input forever. | head -n1 19:34:33 is a command that outputs its input forever. 19:34:36 hm 19:34:38 Never mind. 19:34:42 uorygl, any bash quine should work 19:34:54 if you can add `run to the start of it 19:35:03 `run echo "$0" 19:35:05 /bin/bash 19:35:10 `run echo "$@" 19:35:11 No output. 19:35:14 `run :(){ echo blah }; :; :; : 19:35:15 No output. 19:35:26 Gregor, how is bash invoked for `run? 19:35:26 Oi. 19:35:43 AnMaster: IIRC, it's just that the run shell script does "$@" 19:35:46 `run foo(){ echo blah}; foo 19:35:47 No output. 19:35:56 Gregor, huh? 19:36:04 Gregor, does it use bash -c or what? 19:36:09 `run foo(){ echo foo }; foo; echo bar 19:36:11 No output. 19:36:11 Why not it work? 19:36:11 AnMaster: run is a bash script 19:36:14 AnMaster: It just does "$@" 19:36:16 `type run 19:36:18 No output. 19:36:21 `run type run 19:36:22 No output. 19:36:26 `run dog run 19:36:27 No output. 19:36:27 `run ls */*run* 19:36:29 bin/runfor 19:36:30 `run 'foo(){ echo foo }; foo; echo bar' 19:36:32 No output. 19:36:41 Gregor, where is the script? 19:36:46 Built in to HackEgo. 19:36:49 -_- 19:44:03 I suppose, in retrospect, that there is no reason for run to be built in. 19:44:23 Gregor, except that it would be a pain of someone overwrote that file 19:44:31 True 19:44:47 Anywho, it's in the HackBot hg repo 19:45:04 Gregor, that is a different repo than in `help? 19:45:11 Presumably not 19:45:38 Gregor, http://codu.org/projects/hackbot/fshg/ ? 19:45:45 * AnMaster can't find it run there 19:45:51 No, that's the filesystem in HackBot, not HackBot itself. 19:45:53 Remove "fs" 19:45:57 ah 19:46:00 well I didn't know 19:46:08 and the fs one is the one in `help 19:47:01 `ls .hg 19:47:02 No output. 19:47:08 `mkdir .hg 19:47:10 No output. 19:47:10 Invalid .hg directory found. 19:47:13 heh 19:47:18 Gregor, damn you ;P 19:47:25 `ls .hg 19:47:27 No output. 19:47:44 .hg is moved elsewhere to prevent tampering. 19:47:55 `ls 19:47:56 bin \ cube2.base64 \ cube2.jpg \ hack_gregor \ hello.txt \ help.txt \ huh \ netcat-0.7.1 \ netcat-0.7.1.tar.gz \ paste \ poetry.txt \ quotes \ share \ test.sh \ tmpdir.18069 \ wunderbar_emporium \ wunderbar_emporium-3.tgz \ wunderbar_emporium-3.tgz.1 19:47:58 `ls -a 19:47:59 bin \ cube2.base64 \ cube2.jpg \ hack_gregor \ hello.txt \ help.txt \ huh \ netcat-0.7.1 \ netcat-0.7.1.tar.gz \ paste \ poetry.txt \ quotes \ share \ test.sh \ tmpdir.18110 \ wunderbar_emporium \ wunderbar_emporium-3.tgz \ wunderbar_emporium-3.tgz.1 19:48:08 Gregor, where is elsewhere? 19:48:31 Why would I make it accessible if it was moved to PREVENT TAMPERING >_< 19:48:41 Gregor, oh btw googling suggests "wunderbar_emporium" is some old exploit for pre-2.6.29 kernels or such 19:48:49 Uhhh, OK? 19:49:03 I was just confused by the name of it before 19:49:12 Why do I care? 19:49:34 seems asi 19:49:50 asiekierka 19:49:51 s/$/ is behind it/ 19:49:57 Why do I care? 19:49:57 as in 19:50:06 behind it being in egobot 19:50:13 i prefer caused 19:50:14 So? 19:50:25 AFAIK it hasn't worked, so why do I care? 19:50:27 Gregor, I presume you have a new enough kernel? 19:50:31 `uname -a 19:50:32 Linux codu.org 2.6.26-1-xen-amd64 #1 SMP Sat Jan 10 20:39:26 UTC 2009 x86_64 GNU/Linux 19:50:40 hrrm 19:51:04 Don't you think Codu would have been a little bit more ... pwned if it worked inside of plash? :P 19:51:20 Gregor, I have no idea if it worked, but considering it uses a bug in a system call.. 19:51:28 I don't think plash helps against that 19:51:40 of course, one can hope the kernel is patched 19:51:57 looks like the sock_sendpage root exploit 19:52:38 hm... "Versions prior to the Linux kernel 2.4.37.5 and 2.6.31-rc6 are vulnerable." 19:52:49 Gregor, I suggests you investigate this, just in case 19:53:36 It hands you root. 19:53:52 Which in Plash gets you nowhere. 19:54:06 pikhq, afaik if you have root you can break out of chroot still 19:54:19 pikhq, you are aware of the double chroot I assume? 19:54:42 AnMaster: ... *If you have commands*. 19:54:52 pikhq, it is enough to have syscalls 19:54:57 Plash runs in an empty chroot. 19:55:01 pikhq, since that is all those commands use 19:55:03 Completely. And utterly. Empty. 19:55:05 pikhq, sure, so mkdir as root 19:55:09 pikhq, using syscalls 19:55:12 perfectly possible 19:55:16 then double chroot using that 19:55:16 Mmm. 19:55:42 It is sufficient to have syscalls, as root. 19:55:45 pikhq, my point is that if you have root inside a chroot on linux you can always break out 19:55:48 I still doubt highly that this worked. 19:55:58 Gregor, I hope that is the case 19:56:45 Of course, I don't know what the result was supposed to be :P 19:57:08 Clearly the Plash chroot should be on a read-only filesystem. 19:57:38 pikhq, even so you can circumvent that as root 19:58:02 pikhq, I'm pretty sure remounting would be possible as root even with no access to any sort of /dev 19:58:15 Don't even need to, just mount a tmpfs somewhere. 19:58:29 Gregor: Requires a mountpoint. 19:58:44 AnMaster: Requires a filesystem that is capable of being mounted r/w. 19:58:47 pikhq, like /? 19:58:50 inside the chroot 19:58:57 is already mounted. 19:58:59 that is a valid mount point afaik 19:59:00 Erm. 19:59:06 pikhq, you can mount something on top can't you? 19:59:11 / is already mounted. 19:59:19 pikhq, I once managed to mount /dev on / on a freebsd system 19:59:22 had to reboot it 19:59:56 I just got a spiffy idea. 20:00:01 Hrm. You can in fact mount on top of a mount. 20:00:05 pikhq, yep 20:00:24 pikhq, you need kernel patches to prevent this if you want to do that 20:00:29 RawLinux: a program where you simply type system calls in base64, and it tells you the results in base64. 20:02:22 uorygl, hm? 20:03:03 That's my spiffy idea. 20:03:26 pikhq, just accept that plash depend on there being no local root exploits 20:03:54 uorygl, that would be somewhat messy due to system calls that take pointers and so on 20:04:02 Yes, plash does of course depend on that, it would be silly to think you could work around the possibility of root exploits :P 20:04:09 AnMaster: What about the PtraceJail? 20:04:23 So, Plash works by putting something in an empty chroot, and giving it alternative file system accessors? 20:04:28 uorygl, you would need a way to pointers to structs and so on 20:04:31 uorygl: Yeah. 20:04:32 uorygl: Basically. 20:04:35 It replaces libc. 20:04:55 AnMaster: are there any system calls that use pointers for anything other than taking variable-size input and providing variable-size output? 20:04:58 uorygl, it uses IPC to talk through the chroot with a process that handles file system for it and so on 20:05:01 iirc 20:05:07 AnMaster: What about the PtraceJail? <-- I don't know 20:05:16 but I guess there could be exploits for that as well 20:05:34 There could always be exploits. 20:05:41 No matter how many layers you put between. 20:05:42 Plash could hypothetically monitor *all* the system calls. 20:05:56 Which would leave the exploits being issues in Ptrace. 20:05:58 pikhq: Then it would just take a bug in plash *shrugs* 20:06:03 Or ptrace 20:06:11 Yeah. 20:06:58 or in a system call allowed by plash 20:07:47 (it need to allow some, like those for growing the stack or heap) 20:08:03 (or mmaping anonymous memory or whatever) 20:08:25 Gregor, I wonder how plash emulates mmap()ing of files 20:08:37 Donno 20:08:45 I mean, it needs to actually be mapped into the process for it to have the correct semantics 20:08:59 How does memory mapping files work at all? 20:09:06 uorygl: Satan's magic. 20:09:09 uorygl, using mmap()? 20:09:35 so spider solitaire, can you get good in it? looks pretty luck-based to me 20:09:37 How does mmap() work? 20:09:39 uorygl, but point is, if two processes mmap() the same file, they should see updates 20:09:54 uorygl, black magic 20:09:59 i used to play freecell but after 300 games it's sort of hard to find challenge in it 20:10:06 uorygl, or rather, go read glibc and kernel sources 20:10:14 mostly kernel sources 20:11:00 oklocock: You should get some friends and play Hydra! 20:11:20 Does it copy the file into memory and then copy it back when it's done? Does it trap memory access and replace it with filesystem access? 20:11:44 What's Hydra? Is it that game where you try to grow as many heads as possible before time's up? 20:12:01 uorygl: Well, sort of :P 20:12:10 http://codu.org/wiki/Hydra 20:14:02 uorygl, it reads file in during page faults 20:14:12 uorygl, meaning, it won't actually read the data in until you try to read it 20:14:47 play poker instead 20:14:51 you'll go broke, it's fun 20:14:52 uorygl, if you changed the file, it is written back when the file is either unmapped or when the (underlying physical) page is unmapped by the vm 20:14:56 Strip poker! 20:14:58 iirc 20:15:01 That way, you'll just go naked. 20:15:04 -!- oklokok has quit (Read error: Operation timed out). 20:15:43 -!- Azstal has joined. 20:15:52 strip poker is a very asymmetric game for the men and women involved 20:16:00 uorygl, oh and if several processes mapped the same file, the same page is mapped into both processes 20:16:09 uorygl, so it can be used for IPC 20:16:16 * uorygl nods. 20:16:40 uorygl, I won't promise it works for futexes or such because that is even more black magic than mmaping 20:17:00 it might need something else 20:17:16 (and no that wasn't a typo for mutexes) 20:17:33 -!- Asztal has quit (Ping timeout: 245 seconds). 20:18:11 uorygl, oh and I think there is some call similar to fflush() for mmaped pages too 20:18:16 to force writing any changes 20:18:24 I don't remember how you did that though 20:18:26 What's a futex? 20:18:37 Can you do mutexes with mmaping? 20:19:26 uorygl, something the linux kernel provides and that glibc pthreads and such then uses to implement mutexes, semaphores and most (all?) of the other pthreads sync thingies 20:19:34 that is what a futex is 20:19:43 uorygl, see man 2 futex 20:19:57 uorygl, oh and man 7 futex too 20:20:08 the latter seems more like an introduction to the concept 20:20:35 uorygl, of course now we are linux specific. These details can and does vary widely between different OSes 20:20:57 though the mmap is probably implemented in a similar manner on most *nix 20:21:04 s/the // 20:21:43 -!- cal153 has quit (Ping timeout: 256 seconds). 20:22:04 * uorygl ponders running Cygwin under Wine under Cygwin under Wine. 20:22:13 why on earth 20:22:27 uorygl, also these mmap semantics are probably *not* valid for cygwin 20:22:29 The same reason we create esoteric programming languages. 20:22:45 uorygl, also iirc it doesn't work 20:22:47 as in 20:22:54 cygwin doesn't run properly under wine 20:23:07 I would expect running Cygwin under Wine to be the easy part. 20:23:21 uorygl, well it might have changed since last time I heard someone try it 20:23:24 (in here too iirc) 20:23:29 maybe was a year or so ago? 20:23:46 Wouldn't it just be a bunch of executables and libraries? 20:23:47 -!- FireFly[DS] has joined. 20:23:52 (that's a guesstimate) 20:24:00 uorygl, ? 20:24:14 FireFly[DS], hi there, long time no c? 20:24:28 Isn't that pretty much what Cygwin is? 20:24:40 uorygl, except it does some weird stuff 20:24:45 uorygl, like it's fork() semantics 20:24:49 I assume you read about them 20:25:33 I know very little about Cygwin. 20:25:43 -!- cal153 has joined. 20:26:40 Cygwin implements UNIX semantics on Windows. 20:26:47 uorygl, to emulate fork it does something like: "start new process, make parent wait on mutex, child wakes up parent and waits on mutex, most of the address space (except read only stuff from the binary) is copied to the child, both processes are resumed" 20:26:49 To do this, it has to do some *very* weird stuff. 20:26:59 -!- FireFly[DS] has quit (Read error: Connection reset by peer). 20:27:00 iirc it was slightly more complex than that 20:27:03 but you get the idea 20:27:06 Fork is probably the weirdest. 20:27:18 pikhq, I suspect mmap would also be very weird 20:27:27 unless it can map it fairly straight to some windows system call 20:27:49 -!- FireFly[DS] has joined. 20:27:55 FireFly[DS], wb! 20:28:07 FireFly[DS], haven't seen you for ages 20:28:25 Hello 20:28:32 AnMaster: Windows has the ability to map files into memory. 20:28:41 Ages, as in what, three days? 20:28:43 pikhq, sure, but what are the semantics for that? 20:28:50 FireFly[DS], hm? maybe I misremember then 20:28:58 Complex, but possible to wrap sanely. 20:29:01 I think so :P 20:29:13 FireFly[DS], why on DS? 20:29:35 Because I'm on a DS, not at home 20:29:44 holiday stuff, skiing 20:29:55 What sort of DS is this? 20:30:09 the Nintendo sort 20:30:14 * uorygl nods. 20:30:20 You "create a file mapping object", which is kinda like fopen, and you then "create a file view", which actually sticks the section of the file you want into virtual memory. 20:30:36 wow, man 7 futex is interesting 20:30:43 The phat nintendo sort, even 20:30:47 it is brilliant and clever 20:30:53 (how it works) 20:31:21 uorygl, is there any DS except Nintendo? 20:31:24 well 20:31:29 that one could possibly IRC from I mean 20:31:39 Doesn't give you odder things like anonymous mappings, but that's not needed for straight POSIX semantics. 20:32:08 I think I've heard of other DSs in the past. 20:32:10 pikhq, are changes reflected in other processes that mapped the same file? 20:32:28 -!- oklokok has joined. 20:32:44 AnMaster: Yes. 20:32:58 pikhq, well it seems okay I guess 20:33:02 then* 20:33:16 pikhq, but aren't anon mappings POSIX? 20:33:24 No. 20:33:40 Anonymous mappings are a common extension. 20:34:44 Oh, whaddya know. There's a way to get anonymous mappings in Win32, too. 20:35:11 You attempt to map an INVALID_HANDLE_VALUE, and voila. 20:35:23 indeed, can't find it in POSIX.1-2008 even 20:35:44 pikhq, that seems like a messy way to do it 20:36:13 It's Win32. 20:37:54 true 20:37:55 but still 20:42:57 * AnMaster wonders if it is possible to make a balanced tree that can be updated concurrently without locking things 20:43:07 and, without causing a huge overhead 20:44:00 read and update should be lockless, and it should be fast in case of no collision between multiple threads 20:44:37 balacing I guess might pose some problems... But preferably not 20:45:07 Make it immutable and all your problems go away. 20:48:43 pikhq, well that would be annoying since the use case would be ATHR when porting to a non-erlang befunge implementation 20:48:55 pikhq, such as might happen at some point in the future 20:49:07 pikhq, the tree needs to be modified a lot if it represents funge space 20:49:24 alternative is a hash table, but that sounds even worse to update without locks 20:49:45 plus hash tables has a worse worst-case 20:50:07 -!- Oranjer has joined. 20:50:58 pikhq, perhaps a RCU implementation? 20:51:18 hm not a good idea 20:51:27 read is cheap, write is not 20:56:21 -!- kar8nga has quit (Remote host closed the connection). 21:06:08 -!- dougx has joined. 21:13:02 -!- dougx has left (?). 21:13:21 -!- coppro has quit (Ping timeout: 260 seconds). 21:20:09 now the question is, are all prime numbers balloon? 21:20:13 *balloons 21:20:22 oklokok, define balloon 21:20:48 a number n is a balloon iff in every set of 2n-1 numbers there are n that sum to 0 (mod n) 21:21:08 it's simple to show balloons are closed under multiplication, but what's less simple is to show primes are 21:21:19 hm interesting 21:21:43 oklokok, and this has not yet been solved? 21:21:45 1, 2, 3 and 5 are easily shown to be balloons 21:21:51 no, not by me 21:21:55 by anyone? 21:21:59 in fact i didn't even show they are closed under multiplication 21:22:08 -!- Oranjer has left (?). 21:22:15 that was MissPiggy's work, or at least she used that idea in her proof of a special case 21:22:43 oklokok, is there any prize attached to this question? 21:22:45 she asked me whether 100 is a balloon, i couldn't solve it (should've) 21:22:50 and did anyone else solve it? 21:23:04 i wonder where you got the impression this is even a hard problem 21:23:26 oklokok, well, otherwise you would just have consulted a text book to figure out how to prove it 21:23:29 rather than asking us 21:23:48 i just wanted to ask that out loud because it sounded crazy. 21:24:37 oklokok, oh? 21:24:38 easy enough to show they're closed under multiplication, but i wonder if it's possible to show they are closed under addition (that is, "can we prove all n are balloons by induction") 21:24:51 oklokok, why are they called balloons btw? 21:25:49 usually when you say you're proving a property of naturals by induction, you mean P(n) => P(s(n)), but you can also do induction on multiplication, the problem is you have an infinite number of base cases.... 21:26:13 AnMaster: i asked mp what the problem was about, and she said "it has applications in hot air ballooning" 21:26:14 :P 21:26:20 i have no idea what that meant 21:26:24 oklokok, it does? 21:26:27 so i named them balloons. 21:26:43 it would've been an in-joke for her, i wasn't actually going to start talking about this here. 21:26:59 "it does?"= 21:27:01 *? 21:27:09 oh err 21:27:11 right the problem 21:27:16 sorry about being slow 21:27:17 oklokok, I fail to see how it is useful for building or flying heated air balloons 21:27:17 ... 21:27:45 i have no idea what applications it has, if it has applications there, i just quoted, and followed with "i have no idea what that meant". 21:28:01 who cares what it's used for 21:28:02 oklokok, and I'm somewhat of an aerodynamics geek. Though admittedly I'm more interested in non-LTA aircrafts 21:28:08 oh 21:28:08 cool 21:28:13 do you fly planes? 21:28:16 (LTA = lighter than air) 21:28:22 oklokok, only in simulator alas 21:28:34 flying a plane would be awesome 21:28:35 oklokok, a flight certificate is frigging expensive 21:28:41 yeah prolly 21:28:45 how expensive? 21:28:46 much more than a driving license 21:29:01 oklokok, well, depends on what type of aircraft 21:29:19 oklokok, for a small sports plane, 90 000 SEK or so a year ago when I checked 21:29:54 oh well i wouldn't call that "frigging" expensive if you have a job 21:29:59 oklokok, excluding fuel cost and so on 21:30:19 90 000 Swedish kronor = 9 293.20938 Euros 21:30:24 says google 21:30:26 oh well if you wanna fly a plane multiple times 21:30:32 oklokok, hm? 21:30:34 ;) 21:30:38 yeah i know how much a sek is 21:31:00 oklokok, oh you need to fly a minimum distance every year to not loose your certificate after you finally have it 21:31:11 forgot what said distance was 21:31:18 makes sense 21:31:39 oklokok, they should do the same for driving licences 21:32:17 oh btw 2n-1 isn't just a random number, in fact all numbers have the property that there are 2n-2 numbers that don't have a subset summing to 0 mod n 21:32:25 which makes it sort of fascinating 21:33:08 oklokok, thank you for reminding me why I took CS instead of math ;) 21:33:14 -!- Oranjer has joined. 21:33:26 yeah, my friend has lost most of his sight after getting a driver's licence, and doesn't use glasses 21:33:41 oklokok, "oops" 21:33:47 but is still allowed to drive 21:34:11 oklokok, also bi-yearly eye check or such for driving licenses would be a good idea 21:34:16 or maybe every 5 years or such 21:34:39 would have to find a reasonable interval to make it feasible yet actually be useful 21:36:08 -!- coppro has joined. 21:37:06 They have this student-association-thing for people interested in flying planes here; I think they have some sort of special dealie so that you can get the certification a bit cheaper, though not by much. 21:37:31 so... why did you take cs instead of math? 21:38:43 i mean math is prettier 21:38:45 Apparently "4700 - 6600 €" for the thing with a motor on it; and I think that includes fuel costs. (At least it says that fluctuation in fuel prices will affect that price.) 21:39:30 * FireFly[DS] wants unicode support in his client 21:39:47 fizzie, what was that after "6600"? 21:40:03 FireFly[DS]: Probably the euro sign. 21:40:07 Ah 21:40:25 Showed up as å comma not-sign her.. 21:40:33 here* 21:40:37 There's also a glider aircraft course for "1500 - 2200" eur, plus "miscellaneous costs (beer, sausages etc.)". 21:41:08 Too bad the joke in the description doesn't really translate. 21:41:39 why can't the university of turku be in helsinki :< 21:41:56 you have such a cool university there 21:41:56 so... why did you take cs instead of math? <-- math people say thing like " oh btw 2n-1 isn't just a random number, in fact all numbers have the property that there are 2n-2 numbers that don't have a subset summing to 0 mod n which makes it sort of fascinating" 21:42:06 an interest which I don't share 21:42:21 i would be near it 21:42:51 Too bad the joke in the description doesn't really translate. <-- what is that joke? 21:43:00 Well, it doesn't translate. :p 21:43:08 I can try, of course. 21:43:13 fizzie, you could explain it 21:43:48 It's not much of a joke, really. But, here goes. 21:43:55 "Opintojakson tavoitteena on oppia lentämään laitteella, jossa ei ole purjetta, eikä myöskään konetta. Laitetta kutsutaan siitä huolimatta purjelentokoneeksi, sillä sen siipi toimii kuin purje." 21:43:57 Translated, that says: "The goal of the course is to learn fly a device, that does not have a sail, and neither does it have an engine. The device is still called sail-air-engine [literal translation of the components of the Finnish word for sailplane/glider aircraft], as its wing works like a sail." 21:44:24 heh 21:44:56 fizzie, combining sail and engine in one word is quite weird :) 21:45:23 I guess sail-flight-engine would've been more literal. 21:45:41 -!- FireFly[DS] has quit (Read error: Connection reset by peer). 21:46:01 The fi:lentokone (literally "flight-engine" or "flight-machine", but the joke works better with "-engine") is the general term for aircraft, they've just added fi:purje ("sail") in front. 21:46:43 fi:kone is quite a generic word; it can be en:engine, or en:machine, or en:device, or whatever. 21:47:14 "kone s 1 engine, apparatus, appliance 2 contrivance 3 machine" says the dictionary. 21:47:26 finnish is so weird 21:47:33 -!- cal153 has quit (Ping timeout: 240 seconds). 21:47:42 -!- cal153 has joined. 21:47:50 lament, indeed 21:48:00 AnMaster: well interesting is a bit of a technical term :P i say 2n-1 is interesting because 2n-2 isn't, there's a reason to choose just that particular number 21:48:10 it doesn't actually mean this is interesting mathematics 21:48:27 uhu 21:48:34 oklokok, you said it was fascinating even 21:50:17 oh right. true, that's not a technical term, that just means i really think the problem is interesting 21:50:22 most because i've been working on it 21:50:25 *mostly 21:50:58 oklokok, wait, is "interesting" actually a well defined rigorous mathematical term? 21:51:05 :P 21:51:14 no. 21:51:19 oh 21:51:44 oklokok, I always found it funny that "almost all" is actually rigorously defined 21:52:11 ah yeah kinda like "group" is rigorously defined 21:52:21 oklokok, oh? 21:52:31 oh you don't know what a group is 21:52:31 oklokok, I can't see why "group" is funny 21:52:39 Almost all integers between 1 and 1,000,000,000 are prime. 21:52:57 uorygl, I have no idea if that is true or not 21:53:11 uorygl: why would you use the lebesque measure on integers? 21:53:18 Well, "almost all", applied to discrete things, means "all but finitely many", aye? 21:53:21 you wouldn't 21:53:53 uorygl, that is true for composites too! 21:53:58 you would use cardinality as the measure, and it would not be true that almost all elements in that set are prime. 21:54:11 What would you say "almost all" means in that context? 21:55:16 almost all x \in S have property P w.r.t. measure m always means m({x \in S | P(x)}) = 0 21:55:19 eh 21:55:33 *almost all x \in S have property P w.r.t. measure m always means m({x \in S | not P(x)}) = 0 21:56:07 Wikipedia says that "almost all" sometimes means "all but finitely many". 21:56:10 if you leave the measure implicit with integers, it's cardinality, because the restriction of the lebesque measure is identically zero 21:57:13 okay so we'd be using a metric m s.t. m(S) = 0 iff S is finite 21:57:24 *measure 21:57:25 sorry 21:58:08 i don't know such measures 21:58:20 (this is not exactly area) 21:58:32 Are there any restrictions on what's a measure? 21:58:58 If not, m(S) = 0 when S is finite, m(S) = 1 when S is infinite 21:59:09 Maybe the disjoint union of finitely many sets must be the sum. 21:59:17 it has to be additive, if you have two sets with empty intersection, then their union's measure is the sum of their measures 21:59:17 Modulo saying that right. 21:59:32 But it doesn't have to give a measure to every set, right? 21:59:46 m(S) = 0 when S is finite, m(S) is undefined otherwise. :P 21:59:53 no, in a measure space we have a subset of measurable sets, usually 22:00:27 yeah that works, that's probably called the trivial measure 22:00:27 Better: m(S) is the limit as n approaches infinity of (the cardinality of the intersection of S with [-n..n])/(2n) 22:00:39 yeah i actually thought that might be a nice definition 22:00:42 make that lim sup 22:00:52 i think that's additivie 22:00:55 *additive 22:01:05 Hmm, I'm sure I could make it non-additive. 22:01:09 oh well i guess you could just say sets are measurable iff the limit exists 22:01:18 well it has to be additive 22:01:21 to be a measure 22:01:30 I mean if it's lim sup, I'm sure I could find where it's not additive. 22:01:51 also the measure of the empty set needs to be 0, but that's all we require about a measure, i think 22:01:53 ah 22:01:56 Take the set S of all integers n where sin(ln n) > 0, and its complement. 22:02:28 err 22:02:35 first of all what's that set? 22:02:47 okay somethign random 22:02:49 *something 22:02:54 Er, make that sin(ln |n|). 22:03:03 yeah okay you're right 22:03:06 needs to be lim 22:03:23 You've figured out what that set is? 22:03:24 or wait... blergh 22:03:32 maybe tell me why that's a counterexample 22:03:42 Well, do you know what that set looks like? 22:03:49 no 22:03:59 Graph sin(ln n); it's the set of all integers that are below it. 22:04:19 sin(ln |n|), even. 22:05:22 A mental graph will probably work better than an actual one. :P 22:05:40 It's a set where if you zoom out, it still looks pretty much the same. 22:05:53 i think that's additivie <-- read that as "addictive" first time XD 22:06:21 * Sgeo uses Wolfram Alpha 22:06:24 So the thing you're taking the limit of fluctuates between some number and some other number. 22:06:48 What isi it supposed to be? 22:07:16 ah true 22:07:36 The complement of the set will likewise fluctuate, but out of phase; add the two, and you get something that is less than the sum of its parts. 22:07:42 yeah i realized lim sup might not work because of that, i now realize why sin ln works 22:07:50 yep 22:08:02 Sgeo: it's supposed to be what it is, and it is pretty much what it looks like. 22:08:24 It looks like female..>.> 22:08:33 And it looks like this: http://en.wikipedia.org/wiki/File:Topologist%27s_sine_curve.svg 22:15:59 Graph sin(ln n); <-- was that supposed to be CAS code for some CAS? 22:16:19 No. 22:16:23 hm 22:16:34 Though I wouldn't be surprised if it were valid CAS code for some CAS. 22:17:06 uorygl, why is sin(ln x) interesting? 22:17:11 it's valid wolframalpha code 22:17:23 oklokok, it isn't valid mathematica code I know 22:17:38 * AnMaster plots the function on his calculator 22:17:47 because it's a nice way to explain why lim sup is not a good measure 22:17:55 *-good 22:18:03 AnMaster: because it's involved in a counterexample to oklokok's claim that using the limit superior in a certain place results in a measure. 22:18:06 who said anything about mathematica 22:18:13 uorygl, oh 22:18:28 uorygl, how does "limit superior" differ from "limit"? 22:18:31 it would make all sets measurable 22:18:38 oklokok, well iirc w|a is based on that syntax? 22:18:46 but it clearly isn't a measure 22:19:10 What's a measure? 22:19:11 AnMaster: the limit superior of sin(x) as x approaches infinity is 1. 22:19:36 uorygl, oh. 22:19:46 AnMaster: essentially, it's the highest value that a function exceeds repeatedly forever. 22:19:47 uorygl, how is limit superior defined then? 22:20:12 * Sgeo needs a tutorial for math :/ 22:20:26 uorygl, what about limsup y=x x→+inf ? 22:20:34 the lim sup of a sequence of numbers is the lim of sups of {xi | i = n,n+1,...} as n goes to infinity 22:20:39 same as normal limit? 22:20:50 AnMaster: I would say that that is positive infinity. 22:21:01 uorygl, same as normal limit then 22:21:06 Yep. 22:21:06 -!- Oranjer has left (?). 22:21:29 for sin you'd take the limit as x goes to infinity of the sups of the sets {sin(y) | y >= x} 22:21:30 This is bound to have some definitions: http://en.wikipedia.org/wiki/Limit_superior 22:22:03 uorygl, and this sin log thing? 22:22:14 what is it's limit superior? 22:22:27 it's obviously 1 22:22:34 the normal limit I *suspect* would approach 0 22:22:40 i mean on reals 22:22:53 it's not obvious that it's 1 on integers 22:23:36 AnMaster: there's no normal limit for it 22:23:36 The normal limit exists iff the limit superior equals the limit inferior. 22:23:39 oklokok, are there cases where limsup is not defined? 22:23:56 oklokok, hm. for sin(x) there indeed isn't 22:24:09 The limit superior as something approaches infinity is always defined, as long as the function is defined everywhere. 22:24:10 but hm 22:24:27 okay i was gonna say earlier that lim sup and lim inf always exist on reals and lim exists iff lim sup = lim inf, but thought AnMaster wouldn't be interested 22:24:44 oklokok, ah 22:24:46 interesting! 22:24:57 Heck, if the function isn't defined everywhere, you might say that the limit superior is negative infinity. I don't really know. 22:25:20 ah 22:25:21 oh well right they always exist in the extended reals 22:25:35 oklokok, you mean the function must all be completely defined then? 22:25:42 -!- coppro has quit (Quit: I'd love to discuss this, but matters press. Onwards!). 22:25:44 all functions are completely defined 22:25:45 or at least, it might not work if it isn't 22:25:58 oklokok, what is limsup tan(x) x->+inf? 22:26:33 tan is a partial function 22:26:43 oklokok, you mean it isn 22:26:50 isn't* well defined everywhere 22:26:56 ? 22:27:07 but if we skip the parts where it's not defined, then still arbitrarily far away you can find arbitrarily big values 22:27:11 so lim sup = infinity 22:27:35 The Warrigal function isn't completely defined! 22:27:50 AnMaster: that's not what well-defined means, tan just isn't defined there. 22:28:06 oklokok, you just said " all functions are completely defined" 22:28:37 which isn't actually correct it seems, at least not with the definition of function that I heard 22:28:41 well-defined is when we have a definition, but it's wrong, tan's domain is just not the whole R 22:28:43 like ln(x) is not defined for x<0 22:28:56 just like it isn't defined if x is an apple 22:28:57 oklokok, well I was confused by that line " all functions are completely defined" 22:29:00 !! 22:29:20 every function is completely defined *on its domain* 22:29:27 otherwise it's a partial function. 22:30:05 sometimes we call these functions too, and just say "oh it's actually not defined here", i just don't happen to like that 22:30:29 oklokok, to me "function" includes both partial ones and normal ones 22:30:31 if that is wrong 22:30:36 then what is a word for both 22:30:46 it has to be pretty concise 22:30:56 "uorygl: Heck, if the function is ..." <<< obviously you'd define the lim sup of a partial function as the lim sup of the function's restriction on the part of its domain where it's defined. 22:30:56 "functions and partial functions" is not an acceptable answer 22:31:25 Call it an MPF, for maybe-partial function. :P 22:31:34 uorygl, that's silly 22:31:38 but sure 22:31:41 we don't need a word for functions and partial functions, because one is the subset of the other 22:31:42 ... 22:31:44 as silly as oklokok is 22:31:55 oklokok, if one is the subset of the other 22:32:03 oklokok, then " all functions are completely defined" 22:32:04 is false 22:32:10 if you have a function that might be partial, say it's a partial function 22:32:27 oklokok, or do you mean the reverse? 22:32:29 So the sine function is a partial function? 22:32:31 -!- scarf has quit. 22:32:34 that functions are a subset of partial functions? 22:32:42 uorygl, yes. and y=x is too! 22:32:43 no it's not, because it's functions that's a subset of partial functions, it's the subset containing functions that are completely defined on their domain 22:33:02 -!- ais523 has joined. 22:33:09 uorygl, now you see why I took CS instead of math! 22:33:19 uorygl: of course it's a partial function, it's just not a proper partial function ;) 22:33:21 uorygl, we don't do silly things like that 22:33:22 Eh, all this is terminology. 22:33:27 oklokok: ah, of course. 22:33:31 nick changed back by popular demand! 22:33:40 ais523, yay! 22:33:54 ais523, except someone is bound to ask "where is scarf" soon 22:33:55 if I have three different communities of people all yelling at me, what else can I do? 22:33:58 AnMaster: haha 22:34:12 * uorygl decides to be silly by saying that 0 is a positive number and a negative number, but not a proper positive number or a proper negative number. 22:34:24 :D 22:34:29 i like that 22:34:48 uorygl, ooh better idea: a point is a triangle, but not a proper one 22:34:55 (all three corners in the same point) 22:35:07 All real numbers are irrational numbers, but some of them are not proper irrational numbers. 22:35:24 hmm 22:35:27 Hmm. The opposite of "proper" is "degenerate", I believe. 22:35:34 So a point is in fact a degenerate triangle, as is a line segment. 22:35:53 uorygl, now if we just could say that "all integers are negative, but some are not proper negative" :/ 22:36:11 Alas, my intuition says that integers are a closed set. 22:36:24 in the topological sense? 22:36:25 (In fact, they are a closed set. Yay for intuition!) 22:36:32 No, in the intuitive sense. 22:36:48 i don't have an intuition, closed under what operation? 22:37:00 In the intuitive version of the topological sense. 22:37:06 :P 22:37:07 okay 22:37:28 Let's say that for all concepts "blah", "degenerate blah" is the boundary of "blah" and "proper blah" is the interior of "blah". 22:37:39 So every blah is either a degenerate blah or a proper blah. 22:37:45 All integers are degenerate integers. 22:38:48 All tall people are proper tall people, except for the shortest possible person X such that only tall people are taller than X, who is a degenerate tall person. 22:40:17 The surface of a drop of liquid consists of degenerate liquid. 22:40:57 what does closed mean in the topological sense? 22:41:07 AnMaster: the complement is open 22:41:17 oklokok, I don't know that either 22:41:27 assume I know next to nothing about topology 22:41:31 in topology, we just call some subsets open. 22:41:37 All ice is freezing cold, and most ice is proper freezing cold, but ice at its melting point is degenerate freezing cold. Some liquid water is degenerate freezing cold, but none of it is proper freezing cold. 22:41:46 (except that a coffee cup and a doughnut are equivalent) 22:41:52 we have a space containing points, and we say some arbitrary subsets are open 22:42:04 Intuitively speaking, a set is open if it contains none of its boundary. 22:42:05 oklokok, what makes a given subset open? 22:42:11 And a set is closed if it contains all of its boundary. 22:42:12 oh 22:42:18 like (0,4)? 22:42:28 (as opposed to [0,4]) 22:42:34 if so, why didn't you just say it 22:42:37 Right. (0,4) is open and [0,4] is closed. 22:42:47 uorygl, is that all there is to it? 22:42:52 No, not really. 22:42:52 AnMaster: nothing, we can define anything to be open 22:42:59 oklokok, -_- 22:43:10 oklokok, I define closed to be open! 22:43:39 There are, in fact, topological spaces where something is closed if and only if it is open. 22:43:42 * AnMaster leaves cleaning up the mess that caused to oklokok 22:44:05 uorygl, paradox? 22:44:07 In the topological space of integers, every set is both closed and open. 22:44:28 It happens that "closed" and "open" aren't opposites at all in the topological sense. 22:44:56 mhm 22:45:13 uorygl, on the reals I find this hard.. 22:45:36 the natural topology of reals does have nice properties 22:45:47 oklokok, oh? 22:45:48 Another "definition" of openness: a set is open if for every point within the set, that point has a neighborhood that is also within the set. 22:45:51 the same properties the natural topology of every metric space has 22:46:03 uorygl, define neighborhood 22:46:14 uorygl, (that term makes me think of GOL) 22:46:27 Intuitively, a neighborhood is a set containing a point and its immediate surroundings. 22:46:41 in the natural topology of a metric space, a set is closed iff it contains its own boundary 22:47:08 Formally, a neighborhood is a superset of an open set containing a point. 22:47:10 in a general topological space, boundary becomes meaningless 22:47:32 Can't you generally define the boundary as the difference between the interior and the closure? 22:48:11 the boundary is the thing that's not in the interior of the set or the interior of its complement 22:48:12 so yeah 22:48:21 that's how we define it 22:48:34 AnMaster: now, you may notice that every time we try to define openness, we then define the terms we used in terms of openness. Fundamentally, openness is whatever the topological space defines it to be; different topological spaces are different ways of defining openness on a set. 22:48:42 uorygl, I noticed that 22:49:25 uorygl, at least it isn't like the circle being a specific conical section, but when you think about it, a cone is defined in terms of a circle 22:49:25 all the intuition uorygl gave you about topologies is actually just properties the natural topology of a metric space has 22:49:43 (unless there are other ways to define cones that I don't know about) 22:49:51 because in general those need not be true 22:50:05 Really? 22:50:11 I thought they were always true. 22:50:19 well obviously you can just permute the reals and take the topology of the permuted version 22:50:57 oh 22:51:01 Well, if you use one topology for one part of the intuition and another topology for other parts of it, sure. 22:51:19 well umm, "immediate surroundings", that doesn't really mean much 22:51:27 True. 22:51:51 In the real numbers, a point does not have even one surrounding that is immediate. :P 22:51:58 AoC => a set is open iff all its points have an open set around them 22:52:06 what about complex numbers 22:52:09 Seriously? 22:52:12 how is open and closed defined on those? 22:52:25 AnMaster: same way as in R^2, as the product topology of R and R 22:52:41 oklokok, I don't know how open is defined in R² 22:52:54 A set of complex numbers is open if and only if all its vertical and horizontal cross sections are open. 22:52:56 R is a metric space, so we define the natural topology by taking the open balls as a base for the topology 22:53:03 wow ^2 produced ²!!! (^ is a dead key here) 22:53:19 whatever program ensured that happened: I love it 22:53:23 well okay i guess you could also say R^2 is a metric space so we can do the ball thing there too 22:53:28 ais523, ^ 22:53:42 only works for numbers 22:54:20 oh and +- ⁺⁻ 22:57:38 -!- Oranjer has joined. 23:19:49 Quadrescence: WANNA LEARN ABOUT RANGE CONCATENATION GRAMMARS? 8D 23:20:11 I do! 23:20:19 oh ok 23:20:21 so! 23:20:24 yes! 23:20:29 -!- MigoMipo has quit (Remote host closed the connection). 23:20:50 a range concatenationgrammar is basically a context free grammar, but instead of non-terminal symbols you have pattern-matched "function applications" 23:21:09 so it might be best to give you an example 23:21:30 lets consider the language { a^n b^n : n >= 0 } 23:21:38 we could have the start symbol S 23:21:41 and the following rules: 23:21:47 S(e) -> e 23:22:01 which just says if you apply S to the empty string, you get back the empty string 23:22:09 and the rule 23:22:16 S(aXb) -> S(X) 23:22:35 which says if you apply S to something that looks like aXb, where X is a variable, then you get back S applied to X 23:22:54 e.g. S(amb) => S(m) => fail 23:23:06 why the fail? 23:23:14 because theres no rule for S applied to m 23:23:19 just S(e) and S(aXb) 23:23:22 ahh 23:23:32 or more accurately 23:23:44 success is defined as reducing S(...) to the empty string 23:23:55 oh no 23:23:58 so since theres no rule that reduces S(m) to the empty string, its a faulure. 23:24:07 augur, want to learn about music? 23:24:14 anmaster: yes! 23:24:15 I want to learn about music! 23:24:16 meh 23:24:18 too busy 23:24:22 >:( 23:24:35 so for the sentence aaabbb, you have the steps S(aaabbb) => S(aabb) => S(ab) => S(e) => e 23:24:39 so aaabbb must be an S 23:24:40 just wanted to derail the linguistics 23:24:51 AnMaster: this isnt linguistics this is formal language theory 23:25:01 hey AnMaster, what is tempo 23:25:17 you can also generate the language { a^n b^n c^n : n >= 0 } which is not CF 23:25:22 using the following grammar: 23:25:27 S(e) -> e 23:25:31 Oranjer, number of played notes per time unit. Commonly 1/4 notes per minute 23:25:38 and what is a note 23:25:40 S(aXbYcZ) -> S(XYZ) 23:25:54 Is there any reason that I should be learning Scheme over Common Lisp? 23:25:59 Oranjer, uh. How to explain it? 23:26:06 Sgeo: scheme is more elegant 23:26:10 and it has awesomemacros 23:26:10 Oranjer, I assume you are just being silly 23:26:14 Oranjer, but 23:26:35 And no real "standard library" for practical use. Although I don't know if CL has that or not 23:26:36 silly in that I do not know the definition, but I know how it's used? 23:26:40 Oranjer, know what happens when you press one (1) key on a piano? Well one note is played 23:26:45 as far as i can tell, RCGs are practically, not not exactly, Prolog. lol 23:26:50 Oranjer, I don't know definition either 23:27:02 Sgeo: depends on what you mean by standard library. Scheme has a shittonne of standard stuff. 23:27:02 Oranjer, I do know how to read scores however 23:27:20 hm 23:27:29 wait that sounds wrong. what are they called in English now again 23:27:56 written music <=> scores, I believe 23:28:08 yes 23:28:30 Oranjer, just got confused over language there 23:28:34 also, "<=>" <=> "is analogous to" 23:28:50 but 23:28:51 but 23:28:55 but 23:28:57 Oranjer, no <=> means "is equivalent" 23:28:57 i have to understand <=> before i can understand <=> 23:28:58 D: 23:29:04 I know, augur 23:29:07 that's the thing 23:29:07 D: 23:29:26 i had a funky dream 23:29:35 did it break at the seams? 23:29:42 Oh please, tell us of your funky dream :P 23:29:50 noooo! 23:30:20 augur: "<=>" is analogous to "is analogous to" 23:30:23 hahahaha 23:30:38 that i was playing a video game where i was a guy working on a submarine and in order to get around parts of the sub you had to put on these big suits that would act to keep water out and to provide life support and propulsion 23:31:06 Oranjer, it doesn't actually mean that normally 23:31:13 Oranjer, normally it means "is equivalent with" 23:31:23 or iff 23:31:30 but then iff <=> "<=>" 23:31:33 Oranjer: yes but, is '"is analogous to" is analogous to' analogous to '"<=>" is analogous to' 23:31:41 (except grammatically) 23:31:45 no no <-> is iff 23:31:50 <=> is mutually derives! 23:31:54 augur, what? 23:32:04 iff is a single arrow 23:32:09 <-> 23:32:13 but <=> is a double arrow 23:32:27 augur, <=> "is equivalent with" 23:32:27 double arrows are used for other things, for instance, the derives relation in formal language theory 23:32:38 augur: Sounds like a pretty bad submarine if it's full of water :P 23:32:42 augur, in math I mean 23:32:43 ... 23:32:47 in maths 23:32:47 Gregor: all submarines have water in them 23:32:50 ballast tanks, and such 23:33:07 OK, it sounds like a bad submarine if you had to go through ballasts to get to vital chambers X_X 23:33:09 but this one was presumably on its way towards being fucked 23:33:18 so, AnMaster, in these maths of yours, what is the difference between "=" and "<=>"? 23:33:22 augur, x+2 = 4 <=> x=2 23:33:31 ahhh 23:33:32 i also had a dream of some sort involving aliens 23:33:33 augur, you don't write <-> there 23:33:39 Does <=> mean "less than, equal to or greater than"? :P 23:33:43 Gregor, haha 23:33:49 spaceship! 23:33:51 oh, you Gregor! 23:33:58 Actually, D does have such an operator. 23:34:01 It means "comparable" 23:34:06 Oranjer, anyway, = is "is equal" 23:34:19 Oranjer, and equal is not the same as equivalent 23:34:24 oh man, i need some caffeine 23:34:31 im gonna go buy caffeine 23:34:38 Raw, and snort it. 23:34:42 so why can't I say x + 2 = 4 = x = 2, or x + 2 <=> 4 <=> x <=> 2? 23:34:45 Gregor, :D 23:34:46 oh, I get it now 23:34:48 yay 23:34:49 Gregor: if only! 23:35:23 but what if I said ( x+2=4 ) = ( x=2 ) 23:35:24 Oranjer, because 4 = x = 2 and = has the property that you can reoder around it. Which means you get x = 4 = 2 23:35:32 which means 4=2 23:35:35 which is absurd 23:35:45 ( x+2=4 ) = ( x=2 ) ! 23:35:54 It's true in the right modular arithmetic :P 23:35:57 Oranjer, that has no meaning 23:36:04 Gregor, sure but then you need to write that out! 23:36:33 and my client doesn't support the three-bar equal sign thing anyway 23:36:55 just copy and paste it from wikipedia's excellent list of math operators 23:36:58 what about ( x+2<=>4 )<=>( x = 2 ) ? 23:37:10 Oranjer, again I don't know what that means 23:37:28 -!- oklokok has quit (Ping timeout: 276 seconds). 23:37:39 *oops, the last "=" was supposed to be "<=>" 23:38:00 Oranjer, don't know what it means that way either 23:38:02 well, is x + 2 equivalent to 4? 23:38:11 oh, I get it now 23:38:12 hmmmm 23:38:36 -!- oklokok has joined. 23:38:51 very well, I guess there'd have to be a different symbol for "is equivalent to" and "is equal to" 23:39:07 augur, wikipedia claims both <-> and <=> are used for iff 23:39:10 http://en.wikipedia.org/wiki/If_and_only_if 23:40:14 2 ≡ 4 (mod 2) yay 23:40:16 AnMaster: shut your fast 23:40:19 face 23:40:22 :| 23:40:23 bye 23:40:34 Shut your fast face! 23:40:36 augur, well, I have never seen <-> used for iff before 23:41:14 indeed, does it make sense to have a symmetrical symbol for a directed relation? 23:41:29 er? 23:41:38 Oranjer, how is iff directed? 23:41:52 it has a condition, and the result, right? 23:42:38 Oranjer, but if the condition is true then the result is. And if the condition is false, so is the result 23:42:47 thus you could just as well turn it around 23:43:03 in fact <-> makes kind of sense. Since → is implies 23:43:22 and iff <=> → in both directions 23:45:08 so in that latter statement, you're using "<=>" as "is equivalent to"? 23:45:16 Oranjer, yes 23:45:21 okay 23:45:40 it's just a wee bit confusing for me, as I always use it as "is analogous to" 23:45:50 Oranjer, but iff => <=> iirc 23:46:04 and "=>" <=> ? 23:46:21 Oranjer, ? 23:46:33 what does "=>" mean? 23:46:44 forgot the name for it, let me look it up. 23:47:42 Oranjer, taking an example might be best 23:47:49 sure 23:48:00 x = 2 => x^2 = 4 23:48:04 the reverse is not true 23:48:07 -!- tombom has quit (Quit: Leaving). 23:48:10 that is 23:48:26 x^2 = 4 => x = 2 is false 23:48:32 since x could be equal to -2 23:48:43 explicitly one-directional equivalence 23:49:14 Oranjer, yes, in the case above I used it because I got confused over if you could always replace <=> with iff (but the reverse should work) 23:49:35 Oranjer, don't the math teachers at your university use these kind of symbols all the time? 23:49:45 they use iff, not <=> 23:50:17 when I started using "<=>" to mean "is analogous to", I just assumed it was a free (or at least obscurely-used) symbol 23:50:24 Oranjer, mine use omm or <=> (omm "om och endast om", no I'm not sure how that phrase ends up with that abbrev either!) 23:50:31 (and that is Swedish btw) 23:50:53 endast ==(English)==> only? 23:51:01 `translate endast 23:51:07 Oranjer, yes 23:51:11 okay 23:51:11 only 23:51:26 Oranjer, or my irc notation of that would be: sv:endast = en:only 23:51:33 ah, okay 23:51:38 Oranjer, which I don 23:51:45 don't* think is used for anything else 23:51:47 ;P 23:52:00 I guess I should have made aware the originating language 23:52:16 endast ==(Swedish --> English)==> only 23:52:56 Oranjer, oh and <=> as "is equivalent" seems to generally be used between equations 23:53:13 especially when writing them on one line 23:53:44 see? my college has enough paper to not have to do that, ha 23:54:05 Oranjer, big enough whiteboards? 23:54:16 Oranjer, also is college <=> university? 23:54:37 and ~ seems to be used for row equivalence by at least one teacher 23:54:37 basically, yeah 23:54:48 "row equivalence"? 23:55:01 Oranjer, he teaches linear algebra 23:55:03 guess 23:55:10 hmmm 23:55:14 -!- kar8nga has joined. 23:55:14 nope, nothing's coming to me 23:55:43 Oranjer, http://en.wikipedia.org/wiki/Table_of_mathematical_symbols lists it as "row equivalence" amongst other things 23:56:04 that link redirects to an article that doesn't mention that word explicitly 23:56:22 Oranjer, but on that meaning I'm somewhat confused. Generally it is used when row reducing a matrix 23:56:36 but wikipedia says 23:56:38 "A~B means that B can be generated by using a series of elementary row operations on A"