00:09:03 -!- jcp has quit (Read error: Connection reset by peer).
00:10:12 -!- jcp has joined.
00:16:14 <fizzie> 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 <alise> 10:42:18 <hiato> 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 <alise> ssh -- pikhq is a christian
00:23:22 <alise> 10:47:38 <hiato> ah, so this is one of those places that hg >> bza >> svn >> cvs == True
00:23:27 <alise> no, that is just anmaster.
00:24:12 <pikhq> alise: That was discussing *my code* you know. :P
00:24:46 <pikhq> I freely admit my C lambda macros are an affront to all that is good in the world.
00:24:46 <alise> 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:26:03 * Sgeo wonders what #esoteric 's opinion on git is. I kind of like the existance of GitHub
00:26:22 <MissPiggy> i don't see what github has to do with git
00:26:29 * cpressey is a distributed version control luddite
00:26:30 <MissPiggy> there could easily be svnhub or whatever..
00:26:44 <pikhq> Git is rather user-unfriendly, but it sucks less than non-distributed version control things, so. *shrug*
00:26:58 <cpressey> If there are multiple repos, why are there still multiple branches?
00:27:34 <cpressey> The multiple repos I've got checked out on my filesystem are 96+% identical -- why aren't they sharing their data?
00:27:43 <Sgeo> MissPiggy, but there isn't, is there?
00:27:57 <pikhq> cpressey: Because filesystems suck.
00:28:06 <cpressey> Oh sorry, I mean, I've got *cloned*
00:28:11 <MissPiggy> I'm just saying that there needn't be any 'git' in github
00:28:20 <MissPiggy> I agree that it's a good site though
00:28:27 <cpressey> pikhq: That's no reason for hg to not understand the concept though
00:28:43 <pikhq> cpressey: File systems make data sharing difficult.
00:28:44 <cpressey> It knows its data is immutable
00:28:46 <Gregor> They are hardlinked in hg
00:28:53 -!- dev_squid has joined.
00:28:53 <pikhq> UNIX ones less so than most others.
00:29:01 <pikhq> And Gregor says hg does hardlinks, so.
00:29:17 <Gregor> The .hg directory's contents are hardlinked when you hg clone.
00:29:40 <cpressey> 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 <Gregor> cpressey: ... uhh, yes?
00:29:54 <Gregor> How else could it possibly work?
00:29:55 <cpressey> I'm cloning multiple copies of the same remote repo
00:30:02 <cpressey> It should still be able to figure that out :)
00:30:03 <Gregor> Well, it's not psychic.
00:30:12 <pikhq> cpressey: ... It's not going to magically figure out that you're doing data sharing.
00:30:14 <cpressey> Well, it should have a way for me to tell it
00:30:16 <alise> psychic control system
00:30:26 <alise> cpressey: see this is just the kind of thing you need my OS for :P
00:30:28 <pikhq> Clone from your clones.
00:30:31 <Gregor> cpressey: There's a very simple way: Clone the remote one once, then clone that multiple times.
00:30:39 <Gregor> cpressey: That tells it exactly what you want to tell it.
00:31:23 <cpressey> Well, I'll try it, and see if it makes my life any easier.
00:32:07 <cpressey> But now the argument for supporting branches is even weaker :)
00:33:02 <cpressey> What advantage to branches have over just forking a clone?
00:33:39 <alise> ehirdOS certainly makes your life easier, as long as you have no attachment to existing software suites whatsoever :P
00:33:50 <alise> Or languages, or APIs.
00:34:17 <pikhq> A branch notes that the branch was made, allows you to merge things more readily, and... Yeah.
00:34:37 <alise> 12:11:39 <AnMaster> the vulgar sense of "classical" music
00:34:49 <alise> 12:11:44 <AnMaster> I call "art music"
00:35:14 <pikhq> I'm pretty sure that's called "concert music".
00:35:16 <cpressey> ...and makes my life hell during merges, is all I'm sayin' :)
00:35:31 -!- alise_ has joined.
00:35:42 <pikhq> Gregor: No? Okay then.
00:35:56 <pikhq> "Art music" is really a rather arrogant phrase. Particularly since... Other music is (or at least can be) an art.
00:36:23 <alise_> Orchestral music, maybe? Although there's orchestral rock, even.
00:36:34 <alise_> Let's just call it composer music, because composers are the only ones who listen to it :)
00:36:49 <Gregor> alise_: Definitely no on both counts.
00:36:54 <lament> why not call it classical music?
00:36:59 <lament> what's wrong with that?
00:37:10 <pikhq> Because that's music from a specific period with a very specific style.
00:37:19 <alise_> lament: Because AnMaster is a pretentious fuck who lives in the 1800s who is also a gigantic prescriptivist.
00:37:22 <Gregor> Because classical is an era. By calling all music of the form classical music, you've removed the name from that era.
00:37:28 <lament> that's a *different* meaning of the word "classical"
00:37:39 <cpressey> 'Night folks. Have a good weekend.
00:37:45 -!- cpressey has left (?).
00:37:55 <lament> it's ok to have multiple meanings if there's no confusion
00:37:58 <lament> and there's no confusion
00:38:01 <Gregor> There is MUCH confusion.
00:38:13 <lament> which is why people call classical music classical music, and they call classical music classical music, and nobody is confused.
00:38:18 <alise_> Only amongst yourselves.
00:38:25 <alise_> Just call it the classical period.
00:38:30 <alise_> Classical period music.
00:38:31 <lament> everybody knows that "classical music" means two different things
00:38:44 <lament> "classical" refers to ancient greece anyway
00:38:49 <lament> so there're at least 3 meanings
00:38:50 <Gregor> 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 <pikhq> The problem is there's not a term for the music in question here.
00:39:36 <pikhq> I suggest ucodnawg.
00:41:20 <alise_> You're the man now, ucodnawg
00:41:47 <alise_> also, it turns out windows 7 ships with something genuinely interesting
00:41:52 <alise_> (As opposed to morbidly curious)
00:42:23 <alise_> what's more, it's programming-related
00:44:08 <alise_> Yes. PowerShell, in particular. Take, for instance, the seemingly-trivial "type | ls".
00:44:26 <alise_> Dealiased, Get-Content | Get-SubItem.
00:44:32 <alise_> But what happens when you run it?
00:44:53 <alise_> Erm. Failure, because I made a mistake X-D
00:45:20 <alise_> That is, Write-Output | Get-SubItem.
00:45:57 <alise_> cmdlet Write-Output at command pipeline position 1
00:46:15 <alise_> Supply values for the following parameters:
00:46:39 <pikhq> Ah. PowerShell -- damned verbose shell, but flexible.
00:46:57 <alise_> The interesting thing is the flexibility.
00:47:07 <alise_> echo doesn't just print some strings to standard output.
00:47:23 <alise_> It uses a generalised object input mechanism - command-line or interactive - and sends those objects along the pipeline.
00:47:38 <alise_> Get-SubItem actually takes a legitimate resource, not just a path name, and lists its subitems. Not just directories, either.
00:47:56 <alise_> It strikes me as similar to concatenative languages.
00:48:58 -!- dev_squid has quit (Ping timeout: 248 seconds).
00:49:01 <alise_> ChildItem, not SubItem.
00:49:24 -!- Gracenotes has joined.
00:49:59 <alise_> In fact the input/output UI + behind the scenes, rich objects idea is tempting for my OS.
00:50:17 <alise_> interfaces are composable because they're just functions with seasoning
00:50:33 <alise_> (and even unannotated functions get simple "default" UIs)
00:54:55 <alise_> 13:25:21 <AnMaster> btw, has anyone invoked rule 34 on rule 34?
00:55:03 <alise_> yes; was fulfilled with wolfram elementary automation 34
00:55:29 <alise_> 13:27:11 <AnMaster> (be aware of that tvtroupes is highly addictive!)
00:57:47 -!- oerjan has quit (Quit: Later).
01:07:56 <alise_> 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:45 <MissPiggy> I should stop worrying about ehird
01:12:34 -!- BeholdMyGlory has quit (Remote host closed the connection).
01:12:41 <Gregor> Worry about okloCOCK instead.
01:13:41 <MissPiggy> okloCOCK taught me something awesome
01:16:20 <MissPiggy> Gregor, kind of like combinator logic excep they don't reduce
01:16:37 <MissPiggy> this word problem stuff which I had never actaully encountered
01:16:56 <MissPiggy> it feels a little bit like diophantine equations too
01:18:39 <Slereah> I tried reading the Diophante book once
01:18:46 <Slereah> 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:33:07 -!- oklokok has quit (Read error: Operation timed out).
01:33:44 -!- oklokok has joined.
01:37:25 <Slereah> Well, I only found a version in greek with a latin translation
01:37:30 <Slereah> So it's a bit hard to follow
01:37:42 <Slereah> I can read the equations now, but not much else
01:38:44 <Slereah> I tried making this : http://esolangs.org/wiki/User:Slereah/Arithmetica
01:42:05 <uorygl> `translate Ang. plass til barnevogner:
01:42:18 <HackEgo> Regarding space for prams:
01:42:26 <Slereah> `swedish Ang. plass til barnevogner:
01:42:27 <HackEgo> Ung. pless teel bernefugner:
01:42:33 <uorygl> `translate Tro meg, plassen er et betraktelig større problem enn å få vognen inn og ut.
01:42:35 <HackEgo> Believe me, the place is a considerably larger problem than to get the cart in and out.
01:42:51 <uorygl> `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 <HackEgo> because the vast majority of newer buses here are step-less.
01:43:24 <Gregor> I wish somebody who was totally not me would fix translatefromto and translateto :P
01:43:35 <uorygl> We just need to make a copy of Gregor.
01:43:46 <uorygl> Gregor, I would like to be a copy of you.
01:43:46 <Gregor> That person would not be "totally not me"
01:43:50 <Gregor> That person would be "mostly me"
01:44:00 <uorygl> You may commence sending yourself.
01:48:00 <alise_> A truly set language would be fun.
01:48:35 <alise_> { {x,{x,x}} | x <- a } is id
01:49:18 <alise_> { {x,{x,{{y,{y,y}}}}} | x <- a, y <- b } is K
01:49:45 <alise_> where (x,y) = {x,{x,y}} and \x.y is {{x',y'},...} for all values
01:51:13 <MissPiggy> alis lool enjoy your russles paradox
01:51:14 <alise_> { {n} U n | n <- a } is succ (U=union, I probably got it the wrong way around again :))
01:51:34 <alise_> MissPiggy: uh you can have inductively defined sets without russel's paradox, idiot
01:53:43 <Gregor> I'll fuck set theory right into your skull?
01:55:58 -!- alise_ has quit (Ping timeout: 252 seconds).
01:57:19 <Quadrescence> (3) realize lisp is really just analogous to all that was just said
01:59:13 <Gregor> (4) fuck lisp right into your skull
02:03:08 * Sgeo should learn Scheme, probably
02:03:13 <Sgeo> But I'm still on a Ruby high
02:03:59 <pikhq> Ugh dump that shit and love you some Haskell.
02:04:35 <pikhq> ... Morphisms on the category Hask?
02:04:38 <Sgeo> Fuck it, I'll learn PHP. You all lose.
02:04:52 <pikhq> Sgeo: No, only you lose in this case.
02:04:55 <Sgeo> (With me included in "you all", obviously)
02:04:57 <pikhq> ... Lose all remaining humanity, that is.
02:05:54 <Sgeo> "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 <Sgeo> Hm, maybe I should skip this tutorial
02:09:29 <Sgeo> Python is my main languag
02:10:49 -!- MissPiggy has quit (Quit: Lost terminal).
02:11:37 -!- Asztal has quit (Ping timeout: 264 seconds).
02:26:52 <Sgeo> Hm, should I use PLT-Scheme?
02:29:08 -!- dev_squid has joined.
02:29:48 <Gregor> More so than any other Scheme, PLT stands for Pretentious Little Troglodytes
02:29:58 -!- MizardX has quit (Ping timeout: 276 seconds).
02:30:37 <Gregor> Sorry, I've had ... dealings ... with some of the major PLT Scheme folks.
02:30:57 <Sgeo> Yeah, um, right now I'm more focused on the language than the communuty
02:31:17 * Sgeo has already downloaded PLT
02:31:30 <Gregor> 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:44 <Sgeo> Quadrescence, why not?
03:32:01 <Quadrescence> And I have the authority to say this since I am on both Scheme standards committees
03:32:13 <Gregor> Pretentious Little Troglodytes ...
03:32:40 <Sgeo> So the people suck. Who cares?
03:32:47 <Quadrescence> Sgeo: Go with Chicken Scheme or Chibi Scheme if you want more or less friendly, general purpose use
03:32:59 <Quadrescence> Ikarus or Larceny for fast-code-generating compilers
03:34:08 <Sgeo> Is there a reason other to, other than the devs being obnoxious?
03:43:02 <pikhq> Well, Chicken Scheme has a very cool implementation.
03:49:08 <Sgeo> Ok, is this infix convention a PLT thing, or a Scheme thing?
03:50:03 <pikhq> 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 <pikhq> 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:47 <Quadrescence> 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 <Sgeo> Quadrescence, ok, what are these reasons?
03:57:36 <Quadrescence> Sgeo: I don't really feel like justifying it to you
03:57:51 <Quadrescence> 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 <Sgeo> This seems... familiar
03:58:43 <Quadrescence> I couldn't explain to you because you don't know scheme.
03:58:47 <Sgeo> Are you going to supposedly torture me if I don't take the "money"?
03:59:02 <Quadrescence> You don't know how compiling it works, you don't know how interpreting it works.
03:59:14 <Quadrescence> 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 <Quadrescence> 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 <oerjan> <Slereah> The notation is pretty old school
04:06:15 <oerjan> understatement of the year? (no i've never seen it, i think)
04:10:06 -!- oklokok has joined.
04:11:36 <oerjan> 18:04:18 <Quadrescence> All haskelletons are the same
04:11:36 <oerjan> 18:04:35 <pikhq> ... Morphisms on the category Hask?
04:11:46 <oerjan> on the skeleton category of Hask, naturally
04:13:00 <Quadrescence> With a pullback on the foreskin of my cock lifted into YourAss hole monad
04:13:51 <Sgeo> Are keywords a Scheme thing or a PLT thing?
04:14:05 <oerjan> Quadrescence: that's a really remarkable combination of offense and category theory
04:14:40 <Quadrescence> Sgeo: I told you to not use it, because now you're turning stupider and stupider about scheme
04:14:44 <oerjan> also a common lisp thing iirc
04:16:06 <pikhq> What craziness is this?
04:16:18 -!- augur has quit (Ping timeout: 245 seconds).
04:20:55 -!- oklokok has quit (Read error: Operation timed out).
04:21:41 -!- oklokok has joined.
05:51:46 -!- augur has joined.
06:13:43 -!- oerjan has quit (Quit: leaving).
06:14:33 -!- lifthrasiir has quit (Ping timeout: 240 seconds).
06:17:19 <lament> Quadrescence: people who hate PLT
06:19:58 -!- dev_squid has quit (Ping timeout: 264 seconds).
06:20:28 <Sgeo> Quadrescence, if I switch DrScheme to R5RS, will we both be happy?
06:21:19 <Quadrescence> 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:50 <lament> Quadrescence: you seem quite attached to Fisher Price My First Metaphors
06:23:21 <lament> also, people who hate PLT
06:23:32 <lament> are the same people who don't shower
06:23:44 -!- dev_squid has joined.
06:23:53 <augur> and who stab babies
06:23:57 -!- lifthrasiir has joined.
06:25:58 <lament> 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:14 * pikhq strokes his UNIX beard
06:27:37 <pikhq> 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 <Sgeo> (procedure? procedure?)
07:12:44 -!- oklokok has quit (Read error: Operation timed out).
07:17:23 -!- oklokok has joined.
07:24:50 <Sgeo> According to R5RS, "w" is a semivowel
07:26:59 <coppro> why does that matter? (I know nothing of Scheme)
07:27:39 <Sgeo> It doesn't. It was just in an example
07:27:48 <coppro> anyways, maybe they're Welsh?
07:33:33 <Gregor> "w" is to "oo" (as in tool) as "t" is to "s"
07:34:12 <Gregor> 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:18 <augur> WANNA KNOW ABOUT A COOL GRAMMAR FORMALISM?
07:37:35 <augur> also, w is indeed a semi vowel.
07:37:43 <augur> semivowel is another word for glide.
07:38:06 <coppro> 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 <Gregor> "glide" is the word I couldn't find there.
07:40:45 <Gregor> Glides are to vowels as plosives are to fricatives.
07:45:48 <coppro> yeah, only one of those words carries any meaning to me
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:26 <augur> about these range concatenation grammars
08:20:36 <augur> they're basically a bunch of prolog predicates, in many ways
08:20:51 <augur> only instead of having the values true or false, or whatever
08:20:57 <augur> they have string values
08:21:08 <augur> where "true" is the empty string
08:24:19 -!- MigoMipo has joined.
08:26:16 -!- coppro has joined.
08:27:14 <augur> wanna learn about range concatenation grammars? :D
08:38:23 -!- kar8nga has joined.
08:47:42 <Sgeo> (display "Good night all")
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 <Quadrescence> [02:26.50] <augur> wanna learn about range concatenation grammars? :D
10:52:53 -!- alise has joined.
10:56:05 <alise> 19:32:01 <Quadrescence> And I have the authority to say this since I am on both Scheme standards committees
10:56:17 <alise> you are a horrible person
10:56:55 <Quadrescence> The small scheme and big scheme, in development
10:57:25 <alise> you are still a horrible person :p
10:57:54 -!- oklokok has joined.
10:59:58 <alise> i am typing while walking down srfarirs
11:00:30 <alise> HD got parked for ages
11:01:01 -!- alise_ has joined.
11:01:11 <alise_> Quadrescence: cuz I'm an r5rs fanboi
11:01:48 <Quadrescence> Which is why the plan is to ditch r6rs entirely
11:02:30 <alise_> yeah, but "big scheme" is still a fundamental misunderstanding
11:02:40 <alise_> but then I'm even worse than a haskell fag, I'm a dependent-types fag
11:03:19 <alise_> 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 <Quadrescence> alise_: Actually I am a dependent type fag too
11:03:52 <alise_> Sweet! Let's procreate.
11:04:06 <alise_> (Note: I am actually male.)
11:04:20 <alise_> (If you have been mislead, this was entirely intentional. Have a nice day!)
11:04:22 <Quadrescence> (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 <alise_> (is it technically procreation?)
11:04:52 -!- alise has quit (Ping timeout: 252 seconds).
11:05:28 <alise_> I appear to be fulfilling my prophecy that once I obtain a laptop, I will never turn it off while moving.
11:05:36 <alise_> Admittedly it turns out the 3G reception is pretty shitty in taxis
11:06:36 <alise_> 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:07:36 <alise_> Quadrescence: now I'm doubting whether you're actually on the committee :)
11:08:44 <alise_> now that depends on me trusting your claim "My name is Robert Smith", which amounts to exactly the same trust issue :)
11:08:48 <alise_> also, what bit don't you get?
11:09:22 <alise_> ok, what error message did your mind spit back?
11:09:32 <alise_> this is like "I tried (f x2) and it didn't work"
11:09:52 <Quadrescence> are you saying all current systems are not optimal for computing?
11:10:31 <alise_> system = language/OS/interface/everything
11:10:35 <alise_> they're broken at every level
11:11:16 <Quadrescence> If you say theoretically, this conversation will have become uninteresting
11:11:37 <alise_> `well, theoretically yes, but practically mostly
11:12:03 <alise_> Quadrescence: i.e. some things I've invested theoretically
11:12:05 <alise_> but the motivation is wholly practical means
11:12:23 <alise_> not that the resulting system is /practical/ since its sheer novelty means that... nothing existing works pretty much
11:12:46 <Quadrescence> Okay, so do you think there can be a much, much better programming language?
11:13:13 <alise_> Well, that's the thing: I make no distinction between the running language environment (think Smalltalk) and the OS.
11:13:24 <alise_> But if you mean the actual little snippets of code at the bottom...
11:13:29 <alise_> "Maybe". Much, much better than C? Hell yes.
11:13:59 <alise_> Than Agda, say (although it has many foibles) or Epigram? Not much, much, *much* better. Not for humans, at least.
11:14:01 <alise_> That's all speculation though and I'll probably be proved wrong.
11:14:10 <alise_> Quadrescence: Well let's not get into that :P
11:14:34 <alise_> what i'm trying to say is
11:14:43 <alise_> i cannot /imagine/ a much, much, *much* better language than those
11:14:45 <alise_> much, much better sure
11:14:49 <alise_> imagine but not specify ofc
11:14:58 <alise_> what is it, Forth? :-)
11:15:20 <alise_> Quadrescence: oh R7RS?
11:15:49 <alise_> 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:18 <alise_> also, IRCing in a taxi, doo doo doo. god dammit a corner, doo doo AAAAAAAAAH
11:16:20 <Quadrescence> But if I stand on their shoulders, then I can still reach higher
11:16:30 <alise_> i guess this is why people use the suspend feature on laptops
11:16:34 <alise_> Quadrescence: okay fine
11:16:44 <alise_> Quadrescence: you probably still want it stored as utf-8 text in files on posix though
11:16:48 <alise_> FOR WHICH YOU ARE ABOMINABLE
11:17:09 <Quadrescence> The language is being specified purely theoretically first.
11:17:21 <alise_> Yes, with a syntax based on streams of characters.
11:17:40 <alise_> And as running-as-a-process rather than living-environment (think Smalltalk in the 70s when it was actually the OS)
11:18:09 <alise_> (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:28 <alise_> Quadrescence: ok, so you don't define "program"? as in a cmplete "module" of code?
11:18:45 <alise_> in an environment I guess you could say all values are part of one gigantic program, but...
11:18:57 <alise_> (module not as in module system)
11:19:22 <oklokok> "Quadrescence: Okay, so do you think there can be a much, much better programming language?" <<< have you heard of clue?
11:19:34 <alise_> oklokok: no, oklotalk!
11:19:51 <alise_> you've abandoned oklotalk and this makes me ensaddened
11:20:09 <oklokok> i'm sorry, it got out of hand
11:20:33 <oklokok> was she holding my cock but it slipped
11:21:09 <alise_> because it's so small you understand
11:21:21 <alise_> note: using laptops in cars makes you carsick
11:21:54 <AnMaster> <pikhq> 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 <alise_> i am living proof right now
11:21:58 <oklokok> ONLY WEAKLINGS GET CARSICK
11:22:14 <AnMaster> hm hardlinks only work within a single file system
11:22:26 <AnMaster> bzr doesn't depend on that for it to work
11:23:20 <AnMaster> 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 <alise> 3G -> enter city -> GPRS
11:23:41 <AnMaster> alise, that seems backwards indeed!
11:23:51 <AnMaster> and nowdays you don't need a shared repo for data sharing when doing local clones
11:24:13 <oklokok> can someone link me directly to today's log, it'll take me ages to get there
11:24:27 <alise> http://tunes.org/~nef/logs/esoteric/10.03.06
11:24:36 <alise> lol we hit a bump when I was cpoying
11:24:40 <alise> so I bashed the keys randomly
11:24:54 <AnMaster> (you need to provide some option to bzr branch for that to happen for the latter situation)
11:25:10 <alise> see you guys for a bit
11:25:35 <AnMaster> alise, also, doesn't roaming work between 3G and GPRS?
11:25:48 <AnMaster> seems backwards if it doesn't hm
11:26:11 <oklokok> 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:30 -!- alise_ has quit (Ping timeout: 252 seconds).
11:29:26 -!- alise has quit (Ping timeout: 252 seconds).
11:32:22 <oklokok> ^ a small-scale version of what it'd look like
11:59:40 -!- BeholdMyGlory has joined.
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 <oklokok> 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 <oerjan> just as well you never realized breathing is a cliche
13:35:25 <oklokok> 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:37:46 <oklokok> now i kinda wish i'd played dead.
13:37:53 <oklokok> that would've been so cool
13:38:38 <oerjan> dead people are generally cool. it's that lack of metabolism.
13:41:15 -!- kar8nga has quit (Remote host closed the connection).
13:43:06 <oerjan> i'm serious. it's a very grave matter.
13:43:54 <oklokok> no i mean you're seriously funny, or maybe i'm just abnormally high on life today
13:44:17 <oklokok> tbh it feels like an awesome idea to jump out of the window naked
13:45:00 <oerjan> pro tip: make sure the door isn't locked first
13:45:28 <oklokok> well i could put the keys in my meat pockets
13:45:59 <oklokok> running outside naked is awesome, but i'm too chicken to ever actually do it
13:45:59 <oerjan> ...in which it is revealed that oklokok is actually a kangaroo.
14:14:39 -!- scarf has joined.
14:17:07 <oklokok> 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 <scarf> heh, seems typical
14:29:44 <oklokok> actually not even just bureaucratical, but also political reasons
14:31:22 <oerjan> cellular automata are communist!
14:31:41 <oklokok> 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 <oklokok> 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 <oklokok> if only i'd born on a different year of the cycle
14:34:47 <oklokok> i haven't finished it yet, but it's in the it dep and it's about fully polynomial approximations to knapsack
14:35:31 <oklokok> that's another thing, i'm not officially a math student yet
14:36:49 <oklokok> actually now i'm wondering what BS is short for exactly
15:19:03 -!- jcp has joined.
15:43:41 -!- FireFly[DS] has joined.
15:52:39 <HackEgo> * 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 <uorygl> This exists: "Mooix: Where unix is the MOO."
17:56:55 <uorygl> This does not exist: "InterMOO: Where the Internet is the MOO."
17:57:39 <uorygl> So, I might change that.
17:58:01 <AnMaster> uorygl, is that based on some meme?
17:58:26 <uorygl> It's not a snowclone as far as I know.
17:59:01 <uorygl> A snowclone is a meme based on a phrase.
17:59:12 <uorygl> Like "X is the new Y".
18:01:34 <uorygl> Calling it Moonet would continue the Mooix pattern, but I don't want to do that.
18:02:04 <uorygl> "Internet" was originally an adjective meaning "between the nets"; we can pretend "InterMOO" was originally an adjective meaning "between the MOOs".
18:03:34 <scarf> an internet is a network of network
18:03:43 <scarf> and contrary to popular belief, there is more than one internt
18:03:50 <scarf> just, only one of them is big and famous
18:04:01 <scarf> and that's the one that's called "the Internet"
18:04:23 <uorygl> Arguably, there are two of them that are called the Internet: the Internet version 4 and the Internet version 6.
18:04:58 <uorygl> A net made out of glass would be a pretty inert net.
18:05:47 <scarf> uorygl: umm, IPv4 is "Internet Protocol version 4"
18:06:05 <scarf> and the bits of the Internet that use version 4 and version 6 of the protocol are definitely connected togetgher
18:06:09 <scarf> so form one internet
18:07:05 <Gregor> (If Clinton had invented it instead of Gore)
18:07:16 <uorygl> 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 <fizzie> AnMaster: Your comments on the FRTH fingerprint made me want to write something in Forth. You should be ashamed of yourself.
18:09:00 <uorygl> Anyway, an InterMOO protocol would be based on an RPC protocol.
18:09:20 <pikhq> uorygl: IPv4 Internet and IPv6 Internet are linked.
18:09:25 <pikhq> Thus, what we have is an InterInternet.
18:10:14 <pikhq> (IIRC, they're linked through various forms of tunneling, as well as hosts being on both)
18:10:26 <uorygl> Hmm, maybe an RPC protocol is actually the sole thing we need.
18:10:30 <Gregor> The tunneling is only possible due to the hosts that are on both :P
18:11:13 <uorygl> Thank goodness for 192.88.99.1!
18:12:06 <uorygl> And what's that one DNS server anycast address? 4.3.2.1?
18:14:22 <Sgeo> What about 8.8.8.8 ?
18:29:29 <Gregor> uorygl: How much MOO would a moo-cow moo if a moo-cow would moo MOO?
18:29:59 <uorygl> 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 <Sgeo> I want to like Scheme
19:26:51 <HackEgo> 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:28:44 <HackEgo> 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 <AnMaster> uorygl, does that explain it ;P
19:29:12 <HackEgo> wun*: ERROR: cannot open `wun*' (No such file or directory)
19:29:16 <HackEgo> 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:23 <HackEgo> Runs arbitrary code in GNU/Linux. Type "`<command>", or "`run <command>" for full shell commands. "`fetch <URL>" downloads files. Files saved to $PWD are persistent, and $PWD/bin is in $PATH. $PWD is a mercurial repository, "`revert <rev>" can be used to revert to a revision. See http://codu.org/projects/hackbot/fshg/
19:29:46 <AnMaster> `run tar tf wunderbar_emporium-3.tgz
19:29:47 <HackEgo> wunderbar_emporium/ \ wunderbar_emporium/pwnkernel.c \ wunderbar_emporium/tzameti.avi \ wunderbar_emporium/wunderbar_emporium.sh \ wunderbar_emporium/exploit.c
19:30:50 <uorygl> So a quine is possible.
19:31:13 <oklokok> at least there's a sequence of programs that approaches a quine
19:31:55 -!- kar8nga has joined.
19:32:22 <HackEgo> `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:36 <HackEgo> `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 <uorygl> That's not going to work.
19:33:04 <HackEgo> \ `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:34 <uorygl> `yes is a command that outputs its input forever.
19:33:35 <HackEgo> 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 <uorygl> So if it weren't for those darn line breaks...
19:34:19 <Gregor> If it wasn't for those darn line breaks then what ...?
19:34:32 <AnMaster> `run yes is a command that outputs its input forever. | head -n1
19:34:33 <HackEgo> is a command that outputs its input forever.
19:34:42 <AnMaster> uorygl, any bash quine should work
19:34:54 <AnMaster> if you can add `run to the start of it
19:35:14 <uorygl> `run :(){ echo blah }; :; :; :
19:35:26 <AnMaster> Gregor, how is bash invoked for `run?
19:35:43 <Gregor> AnMaster: IIRC, it's just that the run shell script does "$@"
19:35:46 <uorygl> `run foo(){ echo blah}; foo
19:36:04 <AnMaster> Gregor, does it use bash -c or what?
19:36:09 <Deewiant> `run foo(){ echo foo }; foo; echo bar
19:36:11 <Gregor> AnMaster: run is a bash script
19:36:14 <Gregor> AnMaster: It just does "$@"
19:36:30 <Deewiant> `run 'foo(){ echo foo }; foo; echo bar'
19:44:03 <Gregor> I suppose, in retrospect, that there is no reason for run to be built in.
19:44:23 <AnMaster> Gregor, except that it would be a pain of someone overwrote that file
19:44:47 <Gregor> Anywho, it's in the HackBot hg repo
19:45:04 <AnMaster> Gregor, that is a different repo than in `help?
19:45:38 <AnMaster> Gregor, http://codu.org/projects/hackbot/fshg/ ?
19:45:51 <Gregor> No, that's the filesystem in HackBot, not HackBot itself.
19:46:08 <AnMaster> and the fs one is the one in `help
19:47:10 <HackEgo> Invalid .hg directory found.
19:47:44 <Gregor> .hg is moved elsewhere to prevent tampering.
19:47:56 <HackEgo> 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:59 <HackEgo> 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:31 <Gregor> Why would I make it accessible if it was moved to PREVENT TAMPERING >_<
19:48:41 <AnMaster> Gregor, oh btw googling suggests "wunderbar_emporium" is some old exploit for pre-2.6.29 kernels or such
19:49:03 <AnMaster> I was just confused by the name of it before
19:49:34 <AnMaster> seems asi<whatever his name is, caused that dobela language>
19:50:25 <Gregor> AFAIK it hasn't worked, so why do I care?
19:50:27 <AnMaster> Gregor, I presume you have a new enough kernel?
19:50:32 <HackEgo> Linux codu.org 2.6.26-1-xen-amd64 #1 SMP Sat Jan 10 20:39:26 UTC 2009 x86_64 GNU/Linux
19:51:04 <Gregor> Don't you think Codu would have been a little bit more ... pwned if it worked inside of plash? :P
19:51:20 <AnMaster> Gregor, I have no idea if it worked, but considering it uses a bug in a system call..
19:51:28 <AnMaster> I don't think plash helps against that
19:51:40 <AnMaster> of course, one can hope the kernel is patched
19:51:57 <AnMaster> looks like the sock_sendpage root exploit
19:52:38 <AnMaster> hm... "Versions prior to the Linux kernel 2.4.37.5 and 2.6.31-rc6 are vulnerable."
19:52:49 <AnMaster> Gregor, I suggests you investigate this, just in case
19:53:36 <pikhq> It hands you root.
19:53:52 <pikhq> Which in Plash gets you nowhere.
19:54:06 <AnMaster> pikhq, afaik if you have root you can break out of chroot still
19:54:19 <AnMaster> pikhq, you are aware of the double chroot I assume?
19:54:42 <pikhq> AnMaster: ... *If you have commands*.
19:54:52 <AnMaster> pikhq, it is enough to have syscalls
19:54:57 <pikhq> Plash runs in an empty chroot.
19:55:01 <AnMaster> pikhq, since that is all those commands use
19:55:03 <pikhq> Completely. And utterly. Empty.
19:55:42 <Gregor> It is sufficient to have syscalls, as root.
19:55:45 <AnMaster> pikhq, my point is that if you have root inside a chroot on linux you can always break out
19:55:48 <Gregor> I still doubt highly that this worked.
19:55:58 <AnMaster> Gregor, I hope that is the case
19:56:45 <Gregor> Of course, I don't know what the result was supposed to be :P
19:57:08 <pikhq> Clearly the Plash chroot should be on a read-only filesystem.
19:57:38 <AnMaster> pikhq, even so you can circumvent that as root
19:58:02 <AnMaster> pikhq, I'm pretty sure remounting would be possible as root even with no access to any sort of /dev
19:58:15 <Gregor> Don't even need to, just mount a tmpfs somewhere.
19:58:29 <pikhq> Gregor: Requires a mountpoint.
19:58:44 <pikhq> AnMaster: Requires a filesystem that is capable of being mounted r/w.
19:58:57 <pikhq> is already mounted.
19:58:59 <AnMaster> that is a valid mount point afaik
19:59:06 <AnMaster> pikhq, you can mount something on top can't you?
19:59:11 <pikhq> / is already mounted.
19:59:19 <AnMaster> pikhq, I once managed to mount /dev on / on a freebsd system
19:59:56 <uorygl> I just got a spiffy idea.
20:00:01 <pikhq> Hrm. You can in fact mount on top of a mount.
20:00:24 <AnMaster> pikhq, you need kernel patches to prevent this if you want to do that
20:00:29 <uorygl> RawLinux: a program where you simply type system calls in base64, and it tells you the results in base64.
20:03:03 <uorygl> That's my spiffy idea.
20:03:26 <AnMaster> pikhq, just accept that plash depend on there being no local root exploits
20:03:54 <AnMaster> uorygl, that would be somewhat messy due to system calls that take pointers and so on
20:04:02 <Gregor> 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 <pikhq> AnMaster: What about the PtraceJail?
20:04:23 <uorygl> So, Plash works by putting something in an empty chroot, and giving it alternative file system accessors?
20:04:28 <AnMaster> uorygl, you would need a way to pointers to structs and so on
20:04:55 <uorygl> 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 <AnMaster> uorygl, it uses IPC to talk through the chroot with a process that handles file system for it and so on
20:05:07 <AnMaster> <pikhq> AnMaster: What about the PtraceJail? <-- I don't know
20:05:16 <AnMaster> but I guess there could be exploits for that as well
20:05:34 <Gregor> There could always be exploits.
20:05:41 <Gregor> No matter how many layers you put between.
20:05:42 <pikhq> Plash could hypothetically monitor *all* the system calls.
20:05:56 <pikhq> Which would leave the exploits being issues in Ptrace.
20:05:58 <Gregor> pikhq: Then it would just take a bug in plash *shrugs*
20:06:58 <AnMaster> or in a system call allowed by plash
20:07:47 <AnMaster> (it need to allow some, like those for growing the stack or heap)
20:08:03 <AnMaster> (or mmaping anonymous memory or whatever)
20:08:25 <AnMaster> Gregor, I wonder how plash emulates mmap()ing of files
20:08:45 <AnMaster> I mean, it needs to actually be mapped into the process for it to have the correct semantics
20:08:59 <uorygl> How does memory mapping files work at all?
20:09:06 <Gregor> uorygl: Satan's magic.
20:09:35 <oklokok> so spider solitaire, can you get good in it? looks pretty luck-based to me
20:09:39 <AnMaster> uorygl, but point is, if two processes mmap() the same file, they should see updates
20:09:59 <oklokok> i used to play freecell but after 300 games it's sort of hard to find challenge in it
20:10:06 <AnMaster> uorygl, or rather, go read glibc and kernel sources
20:11:00 <Gregor> oklocock: You should get some friends and play Hydra!
20:11:20 <uorygl> 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 <uorygl> What's Hydra? Is it that game where you try to grow as many heads as possible before time's up?
20:12:01 <Gregor> uorygl: Well, sort of :P
20:12:10 <Gregor> http://codu.org/wiki/Hydra
20:14:02 <AnMaster> uorygl, it reads file in during page faults
20:14:12 <AnMaster> uorygl, meaning, it won't actually read the data in until you try to read it
20:14:51 <lament> you'll go broke, it's fun
20:14:52 <AnMaster> 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:15:01 <Gregor> 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 <lament> strip poker is a very asymmetric game for the men and women involved
20:16:00 <AnMaster> uorygl, oh and if several processes mapped the same file, the same page is mapped into both processes
20:16:09 <AnMaster> uorygl, so it can be used for IPC
20:16:40 <AnMaster> uorygl, I won't promise it works for futexes or such because that is even more black magic than mmaping
20:17:16 <AnMaster> (and no that wasn't a typo for mutexes)
20:17:33 -!- Asztal has quit (Ping timeout: 245 seconds).
20:18:11 <AnMaster> uorygl, oh and I think there is some call similar to fflush() for mmaped pages too
20:18:24 <AnMaster> I don't remember how you did that though
20:18:37 <uorygl> Can you do mutexes with mmaping?
20:19:26 <AnMaster> 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:57 <AnMaster> uorygl, oh and man 7 futex too
20:20:08 <AnMaster> the latter seems more like an introduction to the concept
20:20:35 <AnMaster> uorygl, of course now we are linux specific. These details can and does vary widely between different OSes
20:20:57 <AnMaster> though the mmap is probably implemented in a similar manner on most *nix
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:27 <AnMaster> uorygl, also these mmap semantics are probably *not* valid for cygwin
20:22:29 <uorygl> The same reason we create esoteric programming languages.
20:22:45 <AnMaster> uorygl, also iirc it doesn't work
20:22:54 <AnMaster> cygwin doesn't run properly under wine
20:23:07 <uorygl> I would expect running Cygwin under Wine to be the easy part.
20:23:21 <AnMaster> uorygl, well it might have changed since last time I heard someone try it
20:23:46 <uorygl> Wouldn't it just be a bunch of executables and libraries?
20:23:47 -!- FireFly[DS] has joined.
20:24:14 <AnMaster> FireFly[DS], hi there, long time no c?
20:24:28 <uorygl> Isn't that pretty much what Cygwin is?
20:24:40 <AnMaster> uorygl, except it does some weird stuff
20:24:45 <AnMaster> uorygl, like it's fork() semantics
20:25:33 <uorygl> I know very little about Cygwin.
20:25:43 -!- cal153 has joined.
20:26:40 <pikhq> Cygwin implements UNIX semantics on Windows.
20:26:47 <AnMaster> 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 <pikhq> 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 <AnMaster> iirc it was slightly more complex than that
20:27:06 <pikhq> Fork is probably the weirdest.
20:27:18 <AnMaster> pikhq, I suspect mmap would also be very weird
20:27:27 <AnMaster> unless it can map it fairly straight to some windows system call
20:27:49 -!- FireFly[DS] has joined.
20:28:07 <AnMaster> FireFly[DS], haven't seen you for ages
20:28:32 <pikhq> AnMaster: Windows has the ability to map files into memory.
20:28:43 <AnMaster> pikhq, sure, but what are the semantics for that?
20:28:50 <AnMaster> FireFly[DS], hm? maybe I misremember then
20:28:58 <pikhq> Complex, but possible to wrap sanely.
20:29:55 <uorygl> What sort of DS is this?
20:30:20 <pikhq> 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 <AnMaster> wow, man 7 futex is interesting
20:31:21 <AnMaster> uorygl, is there any DS except Nintendo?
20:31:29 <AnMaster> that one could possibly IRC from I mean
20:31:39 <pikhq> Doesn't give you odder things like anonymous mappings, but that's not needed for straight POSIX semantics.
20:32:08 <uorygl> I think I've heard of other DSs in the past.
20:32:10 <AnMaster> pikhq, are changes reflected in other processes that mapped the same file?
20:32:28 -!- oklokok has joined.
20:32:58 <AnMaster> pikhq, well it seems okay I guess
20:33:16 <AnMaster> pikhq, but aren't anon mappings POSIX?
20:33:40 <pikhq> Anonymous mappings are a common extension.
20:34:44 <pikhq> Oh, whaddya know. There's a way to get anonymous mappings in Win32, too.
20:35:11 <pikhq> You attempt to map an INVALID_HANDLE_VALUE, and voila.
20:35:23 <AnMaster> indeed, can't find it in POSIX.1-2008 even
20:35:44 <AnMaster> pikhq, that seems like a messy way to do it
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 <AnMaster> and, without causing a huge overhead
20:44:00 <AnMaster> read and update should be lockless, and it should be fast in case of no collision between multiple threads
20:44:37 <AnMaster> balacing I guess might pose some problems... But preferably not
20:45:07 <pikhq> Make it immutable and all your problems go away.
20:48:43 <AnMaster> pikhq, well that would be annoying since the use case would be ATHR when porting to a non-erlang befunge implementation
20:48:55 <AnMaster> pikhq, such as might happen at some point in the future
20:49:07 <AnMaster> pikhq, the tree needs to be modified a lot if it represents funge space
20:49:24 <AnMaster> alternative is a hash table, but that sounds even worse to update without locks
20:49:45 <AnMaster> plus hash tables has a worse worst-case
20:50:07 -!- Oranjer has joined.
20:50:58 <AnMaster> pikhq, perhaps a RCU implementation?
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 <oklokok> now the question is, are all prime numbers balloon?
21:20:48 <oklokok> 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 <oklokok> it's simple to show balloons are closed under multiplication, but what's less simple is to show primes are
21:21:43 <AnMaster> oklokok, and this has not yet been solved?
21:21:45 <oklokok> 1, 2, 3 and 5 are easily shown to be balloons
21:21:59 <oklokok> in fact i didn't even show they are closed under multiplication
21:22:08 -!- Oranjer has left (?).
21:22:15 <oklokok> that was MissPiggy's work, or at least she used that idea in her proof of a special case
21:22:43 <AnMaster> oklokok, is there any prize attached to this question?
21:22:45 <oklokok> she asked me whether 100 is a balloon, i couldn't solve it (should've)
21:23:04 <oklokok> i wonder where you got the impression this is even a hard problem
21:23:26 <AnMaster> oklokok, well, otherwise you would just have consulted a text book to figure out how to prove it
21:23:48 <oklokok> i just wanted to ask that out loud because it sounded crazy.
21:24:38 <oklokok> 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 <AnMaster> oklokok, why are they called balloons btw?
21:25:49 <oklokok> 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 <oklokok> AnMaster: i asked mp what the problem was about, and she said "it has applications in hot air ballooning"
21:26:20 <oklokok> i have no idea what that meant
21:26:43 <oklokok> it would've been an in-joke for her, i wasn't actually going to start talking about this here.
21:27:17 <AnMaster> oklokok, I fail to see how it is useful for building or flying heated air balloons
21:27:45 <oklokok> 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 <oklokok> who cares what it's used for
21:28:02 <AnMaster> oklokok, and I'm somewhat of an aerodynamics geek. Though admittedly I'm more interested in non-LTA aircrafts
21:28:22 <AnMaster> oklokok, only in simulator alas
21:28:34 <oklokok> flying a plane would be awesome
21:28:35 <AnMaster> oklokok, a flight certificate is frigging expensive
21:28:46 <AnMaster> much more than a driving license
21:29:01 <AnMaster> oklokok, well, depends on what type of aircraft
21:29:19 <AnMaster> oklokok, for a small sports plane, 90 000 SEK or so a year ago when I checked
21:29:54 <oklokok> oh well i wouldn't call that "frigging" expensive if you have a job
21:29:59 <AnMaster> oklokok, excluding fuel cost and so on
21:30:19 <AnMaster> 90 000 Swedish kronor = 9 293.20938 Euros
21:30:26 <oklokok> oh well if you wanna fly a plane multiple times
21:30:38 <oklokok> yeah i know how much a sek is
21:31:00 <AnMaster> oklokok, oh you need to fly a minimum distance every year to not loose your certificate after you finally have it
21:31:39 <AnMaster> oklokok, they should do the same for driving licences
21:32:17 <oklokok> 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 <oklokok> which makes it sort of fascinating
21:33:08 <AnMaster> oklokok, thank you for reminding me why I took CS instead of math ;)
21:33:14 -!- Oranjer has joined.
21:33:26 <oklokok> yeah, my friend has lost most of his sight after getting a driver's licence, and doesn't use glasses
21:33:47 <oklokok> but is still allowed to drive
21:34:11 <AnMaster> oklokok, also bi-yearly eye check or such for driving licenses would be a good idea
21:34:16 <AnMaster> or maybe every 5 years or such
21:34:39 <AnMaster> would have to find a reasonable interval to make it feasible yet actually be useful
21:36:08 -!- coppro has joined.
21:37:06 <fizzie> 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 <oklokok> so... why did you take cs instead of math?
21:38:45 <fizzie> 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:40:03 <fizzie> FireFly[DS]: Probably the euro sign.
21:40:37 <fizzie> There's also a glider aircraft course for "1500 - 2200" eur, plus "miscellaneous costs (beer, sausages etc.)".
21:41:08 <fizzie> Too bad the joke in the description doesn't really translate.
21:41:39 <oklokok> why can't the university of turku be in helsinki :<
21:41:56 <oklokok> you have such a cool university there
21:41:56 <AnMaster> <oklokok> so... why did you take cs instead of math? <-- math people say thing like "<oklokok> 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 <oklokok> which makes it sort of fascinating"
21:42:06 <AnMaster> an interest which I don't share
21:42:51 <AnMaster> <fizzie> Too bad the joke in the description doesn't really translate. <-- what is that joke?
21:43:00 <fizzie> Well, it doesn't translate. :p
21:43:48 <fizzie> It's not much of a joke, really. But, here goes.
21:43:55 <fizzie> "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 <fizzie> 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:56 <AnMaster> fizzie, combining sail and engine in one word is quite weird :)
21:45:23 <fizzie> 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 <fizzie> 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 <fizzie> fi:kone is quite a generic word; it can be en:engine, or en:machine, or en:device, or whatever.
21:47:14 <fizzie> "kone s 1 engine, apparatus, appliance 2 contrivance 3 machine" says the dictionary.
21:47:33 -!- cal153 has quit (Ping timeout: 240 seconds).
21:47:42 -!- cal153 has joined.
21:48:00 <oklokok> 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 <oklokok> it doesn't actually mean this is interesting mathematics
21:48:34 <AnMaster> oklokok, you said it was fascinating even
21:50:17 <oklokok> oh right. true, that's not a technical term, that just means i really think the problem is interesting
21:50:22 <oklokok> most because i've been working on it
21:50:58 <AnMaster> oklokok, wait, is "interesting" actually a well defined rigorous mathematical term?
21:51:44 <AnMaster> oklokok, I always found it funny that "almost all" is actually rigorously defined
21:52:11 <oklokok> ah yeah kinda like "group" is rigorously defined
21:52:31 <oklokok> oh you don't know what a group is
21:52:31 <AnMaster> oklokok, I can't see why "group" is funny
21:52:39 <uorygl> Almost all integers between 1 and 1,000,000,000 are prime.
21:52:57 <AnMaster> uorygl, I have no idea if that is true or not
21:53:11 <oklokok> uorygl: why would you use the lebesque measure on integers?
21:53:18 <uorygl> Well, "almost all", applied to discrete things, means "all but finitely many", aye?
21:53:53 <AnMaster> uorygl, that is true for composites too!
21:53:58 <oklokok> 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 <uorygl> What would you say "almost all" means in that context?
21:55:16 <oklokok> almost all x \in S have property P w.r.t. measure m always means m({x \in S | P(x)}) = 0
21:55:33 <oklokok> *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 <uorygl> Wikipedia says that "almost all" sometimes means "all but finitely many".
21:56:10 <oklokok> if you leave the measure implicit with integers, it's cardinality, because the restriction of the lebesque measure is identically zero
21:57:13 <oklokok> okay so we'd be using a metric m s.t. m(S) = 0 iff S is finite
21:58:08 <oklokok> i don't know such measures
21:58:20 <oklokok> (this is not exactly area)
21:58:32 <uorygl> Are there any restrictions on what's a measure?
21:58:58 <uorygl> If not, m(S) = 0 when S is finite, m(S) = 1 when S is infinite
21:59:09 <uorygl> Maybe the disjoint union of finitely many sets must be the sum.
21:59:17 <oklokok> 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 <uorygl> Modulo saying that right.
21:59:32 <uorygl> But it doesn't have to give a measure to every set, right?
21:59:46 <uorygl> m(S) = 0 when S is finite, m(S) is undefined otherwise. :P
21:59:53 <oklokok> no, in a measure space we have a subset of measurable sets, usually
22:00:27 <oklokok> yeah that works, that's probably called the trivial measure
22:00:27 <uorygl> 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 <oklokok> yeah i actually thought that might be a nice definition
22:01:05 <uorygl> Hmm, I'm sure I could make it non-additive.
22:01:09 <oklokok> oh well i guess you could just say sets are measurable iff the limit exists
22:01:18 <oklokok> well it has to be additive
22:01:30 <uorygl> I mean if it's lim sup, I'm sure I could find where it's not additive.
22:01:51 <oklokok> also the measure of the empty set needs to be 0, but that's all we require about a measure, i think
22:01:56 <uorygl> Take the set S of all integers n where sin(ln n) > 0, and its complement.
22:02:35 <oklokok> first of all what's that set?
22:02:54 <uorygl> Er, make that sin(ln |n|).
22:03:23 <uorygl> You've figured out what that set is?
22:03:32 <oklokok> maybe tell me why that's a counterexample
22:03:42 <uorygl> Well, do you know what that set looks like?
22:03:59 <uorygl> Graph sin(ln n); it's the set of all integers that are below it.
22:05:22 <uorygl> A mental graph will probably work better than an actual one. :P
22:05:40 <uorygl> It's a set where if you zoom out, it still looks pretty much the same.
22:05:53 <AnMaster> <oklokok> i think that's additivie <-- read that as "addictive" first time XD
22:06:21 * Sgeo uses Wolfram Alpha
22:06:24 <uorygl> So the thing you're taking the limit of fluctuates between some number and some other number.
22:06:48 <Sgeo> What isi it supposed to be?
22:07:36 <uorygl> 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 <oklokok> yeah i realized lim sup might not work because of that, i now realize why sin ln works
22:08:02 <uorygl> Sgeo: it's supposed to be what it is, and it is pretty much what it looks like.
22:08:24 <Sgeo> It looks like female..>.>
22:08:33 <uorygl> And it looks like this: http://en.wikipedia.org/wiki/File:Topologist%27s_sine_curve.svg
22:15:59 <AnMaster> <uorygl> Graph sin(ln n); <-- was that supposed to be CAS code for some CAS?
22:16:34 <uorygl> Though I wouldn't be surprised if it were valid CAS code for some CAS.
22:17:06 <AnMaster> uorygl, why is sin(ln x) interesting?
22:17:11 <oklokok> it's valid wolframalpha code
22:17:23 <AnMaster> oklokok, it isn't valid mathematica code I know
22:17:38 * AnMaster plots the function on his calculator
22:17:47 <oklokok> because it's a nice way to explain why lim sup is not a good measure
22:18:03 <uorygl> 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 <oklokok> who said anything about mathematica
22:18:28 <AnMaster> uorygl, how does "limit superior" differ from "limit"?
22:18:31 <oklokok> it would make all sets measurable
22:18:38 <AnMaster> oklokok, well iirc w|a is based on that syntax?
22:18:46 <oklokok> but it clearly isn't a measure
22:19:10 <Sgeo> What's a measure?
22:19:11 <uorygl> AnMaster: the limit superior of sin(x) as x approaches infinity is 1.
22:19:46 <uorygl> AnMaster: essentially, it's the highest value that a function exceeds repeatedly forever.
22:19:47 <AnMaster> uorygl, how is limit superior defined then?
22:20:12 * Sgeo needs a tutorial for math :/
22:20:26 <AnMaster> uorygl, what about limsup y=x x→+inf ?
22:20:34 <oklokok> 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:50 <uorygl> AnMaster: I would say that that is positive infinity.
22:21:01 <AnMaster> uorygl, same as normal limit then
22:21:06 -!- Oranjer has left (?).
22:21:29 <oklokok> 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 <uorygl> This is bound to have some definitions: http://en.wikipedia.org/wiki/Limit_superior
22:22:03 <AnMaster> uorygl, and this sin log thing?
22:22:34 <AnMaster> the normal limit I *suspect* would approach 0
22:22:53 <oklokok> it's not obvious that it's 1 on integers
22:23:36 <oklokok> AnMaster: there's no normal limit for it
22:23:36 <uorygl> The normal limit exists iff the limit superior equals the limit inferior.
22:23:39 <AnMaster> oklokok, are there cases where limsup is not defined?
22:23:56 <AnMaster> oklokok, hm. for sin(x) there indeed isn't
22:24:09 <uorygl> The limit superior as something approaches infinity is always defined, as long as the function is defined everywhere.
22:24:27 <oklokok> 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:57 <uorygl> 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:21 <oklokok> oh well right they always exist in the extended reals
22:25:35 <AnMaster> 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 <oklokok> all functions are completely defined
22:25:45 <AnMaster> or at least, it might not work if it isn't
22:25:58 <AnMaster> oklokok, what is limsup tan(x) x->+inf?
22:26:50 <AnMaster> isn't* well defined everywhere
22:27:07 <oklokok> but if we skip the parts where it's not defined, then still arbitrarily far away you can find arbitrarily big values
22:27:35 <uorygl> The Warrigal function isn't completely defined!
22:27:50 <oklokok> AnMaster: that's not what well-defined means, tan just isn't defined there.
22:28:06 <AnMaster> oklokok, you just said "<oklokok> all functions are completely defined"
22:28:37 <AnMaster> which isn't actually correct it seems, at least not with the definition of function that I heard
22:28:41 <oklokok> well-defined is when we have a definition, but it's wrong, tan's domain is just not the whole R
22:28:43 <AnMaster> like ln(x) is not defined for x<0
22:28:56 <oklokok> just like it isn't defined if x is an apple
22:28:57 <AnMaster> oklokok, well I was confused by that line "<oklokok> all functions are completely defined"
22:29:20 <oklokok> every function is completely defined *on its domain*
22:29:27 <oklokok> otherwise it's a partial function.
22:30:05 <oklokok> 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 <AnMaster> oklokok, to me "function" includes both partial ones and normal ones
22:30:56 <oklokok> "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 <AnMaster> "functions and partial functions" is not an acceptable answer
22:31:25 <uorygl> Call it an MPF, for maybe-partial function. :P
22:31:41 <oklokok> we don't need a word for functions and partial functions, because one is the subset of the other
22:31:55 <AnMaster> oklokok, if one is the subset of the other
22:32:03 <AnMaster> oklokok, then "<oklokok> all functions are completely defined"
22:32:10 <oklokok> if you have a function that might be partial, say it's a partial function
22:32:27 <AnMaster> oklokok, or do you mean the reverse?
22:32:29 <uorygl> So the sine function is a partial function?
22:32:31 -!- scarf has quit.
22:32:34 <AnMaster> that functions are a subset of partial functions?
22:32:43 <oklokok> 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 <AnMaster> uorygl, now you see why I took CS instead of math!
22:33:19 <oklokok> uorygl: of course it's a partial function, it's just not a proper partial function ;)
22:33:21 <AnMaster> uorygl, we don't do silly things like that
22:33:22 <uorygl> Eh, all this is terminology.
22:33:27 <uorygl> oklokok: ah, of course.
22:33:31 <ais523> nick changed back by popular demand!
22:33:54 <AnMaster> ais523, except someone is bound to ask "where is scarf" soon
22:33:55 <ais523> if I have three different communities of people all yelling at me, what else can I do?
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:48 <AnMaster> uorygl, ooh better idea: a point is a triangle, but not a proper one
22:34:55 <AnMaster> (all three corners in the same point)
22:35:07 <uorygl> All real numbers are irrational numbers, but some of them are not proper irrational numbers.
22:35:27 <uorygl> Hmm. The opposite of "proper" is "degenerate", I believe.
22:35:34 <uorygl> So a point is in fact a degenerate triangle, as is a line segment.
22:35:53 <AnMaster> uorygl, now if we just could say that "all integers are negative, but some are not proper negative" :/
22:36:11 <uorygl> Alas, my intuition says that integers are a closed set.
22:36:25 <uorygl> (In fact, they are a closed set. Yay for intuition!)
22:36:32 <uorygl> No, in the intuitive sense.
22:36:48 <oklokok> i don't have an intuition, closed under what operation?
22:37:00 <uorygl> In the intuitive version of the topological sense.
22:37:28 <uorygl> 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 <uorygl> So every blah is either a degenerate blah or a proper blah.
22:37:45 <uorygl> All integers are degenerate integers.
22:38:48 <uorygl> 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 <uorygl> The surface of a drop of liquid consists of degenerate liquid.
22:40:57 <AnMaster> what does closed mean in the topological sense?
22:41:07 <oklokok> AnMaster: the complement is open
22:41:17 <AnMaster> oklokok, I don't know that either
22:41:27 <AnMaster> assume I know next to nothing about topology
22:41:31 <oklokok> in topology, we just call some subsets open.
22:41:37 <uorygl> 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 <AnMaster> (except that a coffee cup and a doughnut are equivalent)
22:41:52 <oklokok> we have a space containing points, and we say some arbitrary subsets are open
22:42:04 <uorygl> Intuitively speaking, a set is open if it contains none of its boundary.
22:42:05 <AnMaster> oklokok, what makes a given subset open?
22:42:11 <uorygl> And a set is closed if it contains all of its boundary.
22:42:34 <AnMaster> if so, why didn't you just say it
22:42:37 <uorygl> Right. (0,4) is open and [0,4] is closed.
22:42:47 <AnMaster> uorygl, is that all there is to it?
22:42:52 <oklokok> AnMaster: nothing, we can define anything to be open
22:43:10 <AnMaster> oklokok, I define closed to be open!
22:43:39 <uorygl> 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:07 <uorygl> In the topological space of integers, every set is both closed and open.
22:44:28 <uorygl> It happens that "closed" and "open" aren't opposites at all in the topological sense.
22:45:13 <AnMaster> uorygl, on the reals I find this hard..
22:45:36 <oklokok> the natural topology of reals does have nice properties
22:45:48 <uorygl> 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 <oklokok> the same properties the natural topology of every metric space has
22:46:14 <AnMaster> uorygl, (that term makes me think of GOL)
22:46:27 <uorygl> Intuitively, a neighborhood is a set containing a point and its immediate surroundings.
22:46:41 <oklokok> in the natural topology of a metric space, a set is closed iff it contains its own boundary
22:47:08 <uorygl> Formally, a neighborhood is a superset of an open set containing a point.
22:47:10 <oklokok> in a general topological space, boundary becomes meaningless
22:47:32 <uorygl> Can't you generally define the boundary as the difference between the interior and the closure?
22:48:11 <oklokok> the boundary is the thing that's not in the interior of the set or the interior of its complement
22:48:34 <uorygl> 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:49:25 <AnMaster> 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 <oklokok> all the intuition uorygl gave you about topologies is actually just properties the natural topology of a metric space has
22:49:43 <AnMaster> (unless there are other ways to define cones that I don't know about)
22:49:51 <oklokok> because in general those need not be true
22:50:11 <uorygl> I thought they were always true.
22:50:19 <oklokok> well obviously you can just permute the reals and take the topology of the permuted version
22:51:01 <uorygl> Well, if you use one topology for one part of the intuition and another topology for other parts of it, sure.
22:51:19 <oklokok> well umm, "immediate surroundings", that doesn't really mean much
22:51:51 <uorygl> In the real numbers, a point does not have even one surrounding that is immediate. :P
22:51:58 <oklokok> AoC => a set is open iff all its points have an open set around them
22:52:12 <AnMaster> how is open and closed defined on those?
22:52:25 <oklokok> AnMaster: same way as in R^2, as the product topology of R and R
22:52:41 <AnMaster> oklokok, I don't know how open is defined in R²
22:52:54 <uorygl> A set of complex numbers is open if and only if all its vertical and horizontal cross sections are open.
22:52:56 <oklokok> 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 <AnMaster> wow ^2 produced ²!!! (^ is a dead key here)
22:53:19 <AnMaster> whatever program ensured that happened: I love it
22:53:23 <oklokok> well okay i guess you could also say R^2 is a metric space so we can do the ball thing there too
22:57:38 -!- Oranjer has joined.
23:19:49 <augur> Quadrescence: WANNA LEARN ABOUT RANGE CONCATENATION GRAMMARS? 8D
23:20:29 -!- MigoMipo has quit (Remote host closed the connection).
23:20:50 <augur> a range concatenationgrammar is basically a context free grammar, but instead of non-terminal symbols you have pattern-matched "function applications"
23:21:09 <augur> so it might be best to give you an example
23:21:30 <augur> lets consider the language { a^n b^n : n >= 0 }
23:21:38 <augur> we could have the start symbol S
23:21:41 <augur> and the following rules:
23:22:01 <augur> which just says if you apply S to the empty string, you get back the empty string
23:22:35 <augur> 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 <augur> e.g. S(amb) => S(m) => fail
23:23:14 <augur> because theres no rule for S applied to m
23:23:19 <augur> just S(e) and S(aXb)
23:23:32 <augur> or more accurately
23:23:44 <augur> success is defined as reducing S(...) to the empty string
23:23:58 <augur> so since theres no rule that reduces S(m) to the empty string, its a faulure.
23:24:07 <AnMaster> augur, want to learn about music?
23:24:15 <Oranjer> I want to learn about music!
23:24:35 <augur> so for the sentence aaabbb, you have the steps S(aaabbb) => S(aabb) => S(ab) => S(e) => e
23:24:39 <augur> so aaabbb must be an S
23:24:40 <AnMaster> just wanted to derail the linguistics
23:24:51 <augur> AnMaster: this isnt linguistics this is formal language theory
23:25:01 <Oranjer> hey AnMaster, what is tempo
23:25:17 <augur> you can also generate the language { a^n b^n c^n : n >= 0 } which is not CF
23:25:22 <augur> using the following grammar:
23:25:31 <AnMaster> Oranjer, number of played notes per time unit. Commonly 1/4 notes per minute
23:25:40 <augur> S(aXbYcZ) -> S(XYZ)
23:25:54 <Sgeo> Is there any reason that I should be learning Scheme over Common Lisp?
23:25:59 <AnMaster> Oranjer, uh. How to explain it?
23:26:06 <augur> Sgeo: scheme is more elegant
23:26:10 <augur> and it has awesomemacros
23:26:10 <AnMaster> Oranjer, I assume you are just being silly
23:26:35 <Sgeo> And no real "standard library" for practical use. Although I don't know if CL has that or not
23:26:36 <Oranjer> silly in that I do not know the definition, but I know how it's used?
23:26:40 <AnMaster> Oranjer, know what happens when you press one (1) key on a piano? Well one note is played
23:26:45 <augur> as far as i can tell, RCGs are practically, not not exactly, Prolog. lol
23:26:50 <AnMaster> Oranjer, I don't know definition either
23:27:02 <augur> Sgeo: depends on what you mean by standard library. Scheme has a shittonne of standard stuff.
23:27:02 <AnMaster> Oranjer, I do know how to read scores however
23:27:29 <AnMaster> wait that sounds wrong. what are they called in English now again
23:27:56 <Oranjer> written music <=> scores, I believe
23:28:30 <AnMaster> Oranjer, just got confused over language there
23:28:34 <Oranjer> also, "<=>" <=> "is analogous to"
23:28:57 <AnMaster> Oranjer, no <=> means "is equivalent"
23:28:57 <augur> i have to understand <=> before i can understand <=>
23:29:26 <augur> i had a funky dream
23:29:35 <Oranjer> did it break at the seams?
23:29:42 <Gregor> Oh please, tell us of your funky dream :P
23:30:20 <Oranjer> augur: "<=>" is analogous to "is analogous to"
23:30:38 <augur> 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 <AnMaster> Oranjer, it doesn't actually mean that normally
23:31:13 <AnMaster> Oranjer, normally it means "is equivalent with"
23:31:33 <augur> Oranjer: yes but, is '"is analogous to" is analogous to' analogous to '"<=>" is analogous to'
23:31:50 <augur> <=> is mutually derives!
23:32:04 <augur> iff is a single arrow
23:32:13 <augur> but <=> is a double arrow
23:32:27 <AnMaster> augur, <=> "is equivalent with"
23:32:27 <augur> double arrows are used for other things, for instance, the derives relation in formal language theory
23:32:38 <Gregor> augur: Sounds like a pretty bad submarine if it's full of water :P
23:32:47 <augur> Gregor: all submarines have water in them
23:32:50 <augur> ballast tanks, and such
23:33:07 <Gregor> OK, it sounds like a bad submarine if you had to go through ballasts to get to vital chambers X_X
23:33:09 <augur> but this one was presumably on its way towards being fucked
23:33:18 <Oranjer> so, AnMaster, in these maths of yours, what is the difference between "=" and "<=>"?
23:33:32 <augur> i also had a dream of some sort involving aliens
23:33:33 <AnMaster> augur, you don't write <-> there
23:33:39 <Gregor> Does <=> mean "less than, equal to or greater than"? :P
23:33:58 <Gregor> Actually, D does have such an operator.
23:34:06 <AnMaster> Oranjer, anyway, = is "is equal"
23:34:19 <AnMaster> Oranjer, and equal is not the same as equivalent
23:34:24 <augur> oh man, i need some caffeine
23:34:31 <augur> im gonna go buy caffeine
23:34:42 <Oranjer> so why can't I say x + 2 = 4 = x = 2, or x + 2 <=> 4 <=> x <=> 2?
23:35:23 <Oranjer> but what if I said ( x+2=4 ) = ( x=2 )
23:35:24 <AnMaster> Oranjer, because 4 = x = 2 and = has the property that you can reoder around it. Which means you get x = 4 = 2
23:35:54 <Gregor> It's true in the right modular arithmetic :P
23:36:04 <AnMaster> Gregor, sure but then you need to write that out!
23:36:33 <Oranjer> and my client doesn't support the three-bar equal sign thing anyway
23:36:55 <AnMaster> just copy and paste it from wikipedia's excellent list of math operators
23:36:58 <Oranjer> what about ( x+2<=>4 )<=>( x = 2 ) ?
23:37:10 <AnMaster> Oranjer, again I don't know what that means
23:37:28 -!- oklokok has quit (Ping timeout: 276 seconds).
23:37:39 <Oranjer> *oops, the last "=" was supposed to be "<=>"
23:38:00 <AnMaster> Oranjer, don't know what it means that way either
23:38:02 <Oranjer> well, is x + 2 equivalent to 4?
23:38:36 -!- oklokok has joined.
23:38:51 <Oranjer> very well, I guess there'd have to be a different symbol for "is equivalent to" and "is equal to"
23:39:07 <AnMaster> augur, wikipedia claims both <-> and <=> are used for iff
23:39:10 <AnMaster> http://en.wikipedia.org/wiki/If_and_only_if
23:40:16 <augur> AnMaster: shut your fast
23:40:36 <AnMaster> augur, well, I have never seen <-> used for iff before
23:41:14 <Oranjer> indeed, does it make sense to have a symmetrical symbol for a directed relation?
23:41:52 <Oranjer> it has a condition, and the result, right?
23:42:38 <AnMaster> Oranjer, but if the condition is true then the result is. And if the condition is false, so is the result
23:42:47 <AnMaster> thus you could just as well turn it around
23:43:03 <AnMaster> in fact <-> makes kind of sense. Since → is implies
23:43:22 <AnMaster> and iff <=> → in both directions
23:45:08 <Oranjer> so in that latter statement, you're using "<=>" as "is equivalent to"?
23:45:40 <Oranjer> it's just a wee bit confusing for me, as I always use it as "is analogous to"
23:46:44 <AnMaster> forgot the name for it, let me look it up.
23:47:42 <AnMaster> Oranjer, taking an example might be best
23:48:07 -!- tombom has quit (Quit: Leaving).
23:48:43 <Oranjer> explicitly one-directional equivalence
23:49:14 <AnMaster> 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 <AnMaster> Oranjer, don't the math teachers at your university use these kind of symbols all the time?
23:50:17 <Oranjer> 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 <AnMaster> 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:53 <Oranjer> endast ==(English)==> only?
23:51:26 <AnMaster> Oranjer, or my irc notation of that would be: sv:endast = en:only
23:51:45 <AnMaster> don't* think is used for anything else
23:52:00 <Oranjer> I guess I should have made aware the originating language
23:52:16 <Oranjer> endast ==(Swedish --> English)==> only
23:52:56 <AnMaster> Oranjer, oh and <=> as "is equivalent" seems to generally be used between equations
23:53:13 <AnMaster> especially when writing them on one line
23:53:44 <Oranjer> see? my college has enough paper to not have to do that, ha
23:54:05 <AnMaster> Oranjer, big enough whiteboards?
23:54:16 <AnMaster> Oranjer, also is college <=> university?
23:54:37 <AnMaster> and ~ seems to be used for row equivalence by at least one teacher
23:55:01 <AnMaster> Oranjer, he teaches linear algebra
23:55:14 -!- kar8nga has joined.
23:55:14 <Oranjer> nope, nothing's coming to me
23:55:43 <AnMaster> Oranjer, http://en.wikipedia.org/wiki/Table_of_mathematical_symbols lists it as "row equivalence" amongst other things
23:56:04 <AnMaster> that link redirects to an article that doesn't mention that word explicitly
23:56:22 <AnMaster> Oranjer, but on that meaning I'm somewhat confused. Generally it is used when row reducing a matrix
23:56:38 <AnMaster> "A~B means that B can be generated by using a series of elementary row operations on A"