←2010-03-05 2010-03-06 2010-03-07→ ↑2010 ↑all
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:22:43 <alise> he'll /maul/ you
00:23:06 <Gregor> He's Maulutheran.
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:22 <alise> that was my point
00:24:31 <pikhq> Ah.
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:24:49 <pikhq> :P
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:42 <Gregor> Uhhh
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:00 <Gregor> Ahhhhh
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 <alise> psychics
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:30:47 <pikhq> Or use ehirdOS.
00:31:01 <cpressey> Yay complexity.
00:31:08 <pikhq> ...
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:32:24 <pikhq> Uh, no?
00:33:02 <cpressey> What advantage to branches have over just forking a clone?
00:33:12 <cpressey> *do
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:42 <alise> Or interfaces...
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:33 <Gregor> pikhq: ... no.
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:15 <lament> no
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:26 <Gregor> (An era and a style)
00:37:28 <lament> that's a *different* meaning of the word "classical"
00:37:34 <cpressey> Yay
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:31 <alise_> Gregor: Shaddap
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:43:00 <pikhq> Oh?
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:05 <alise_> Take "echo | ls".
00:45:20 <alise_> That is, Write-Output | Get-SubItem.
00:45:24 <alise_> When run:
00:45:57 <alise_> cmdlet Write-Output at command pipeline position 1
00:46:15 <alise_> Supply values for the following parameters:
00:46:27 <alise_> InputObject[0]: .
00:46:38 <alise_> InputObject[1]: Music
00:46:39 <pikhq> Ah. PowerShell -- damned verbose shell, but flexible.
00:46:43 <alise_> InputObject[2]:
00:46:48 <alise_> [humdrum dir listing]
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:55:29 <alise_> Tropes.
00:57:47 -!- oerjan has quit (Quit: Later).
00:59:46 <Gregor> GUILTY!
01:03:27 <alise_> Meggricxshienneh.
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:21 <alise_> yo oklokok
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:06 <alise_> MissPiggy: why?
01:13:41 <MissPiggy> okloCOCK taught me something awesome
01:16:02 <Gregor> And that is?
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:06 <alise_> ;
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:26:02 <MissPiggy> THE diophantine book?
01:27:30 <Slereah> Yeah
01:27:34 <Slereah> Arithmetica
01:33:07 -!- oklokok has quit (Read error: Operation timed out).
01:33:44 -!- oklokok has joined.
01:35:54 <MissPiggy> ohh
01:35:57 <MissPiggy> Gauss?
01:36:24 <MissPiggy> oh it's by Diophantus
01:36:25 <MissPiggy> okay
01:36:30 <MissPiggy> Id not heard of this somehow
01:36:38 <MissPiggy> is it wort reading?
01:37:12 <alise_> x
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:35 <MissPiggy> heh
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:39:34 <MissPiggy> cool
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:41 <uorygl> Hmm...
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:51:36 <alise_> *Russell
01:51:50 <MissPiggy> (1) fuck you
01:51:53 <MissPiggy> (2) learn set theory
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:01:56 <Quadrescence> I'd love that
02:02:01 <Quadrescence> nice curvy forms
02:02:10 <Gregor> D-8
02:02:33 <Quadrescence> nice sexp character
02:03:08 * Sgeo should learn Scheme, probably
02:03:13 <Sgeo> But I'm still on a Ruby high
02:03:46 <Quadrescence> Sgeo: Ugh dump that shit and learn scheme
02:03:59 <pikhq> Ugh dump that shit and love you some Haskell.
02:04:11 <Quadrescence> No, don't listen to pikhq's fanboyism
02:04:18 <Quadrescence> All haskelletons are the same
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:10 <pikhq> (see zzo38)
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:08:35 <MissPiggy> Sgeo LERN PYTHIN
02:08:47 <MissPiggy> :x
02:09:07 <Gregor> Learn MIPS assembly
02:09:29 <Sgeo> Python is my main languag
02:09:33 <Sgeo> *language
02:09:46 <MissPiggy> that was quick
02:10:48 <Gregor> lol
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:28:55 <Gregor> NOOOOOES
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:15 <Sgeo> ??
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:08 <pikhq> Definitely MIPS.
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:33 <Quadrescence> Sgeo: NO
03:31:35 <Quadrescence> Not plt
03:31:42 <Quadrescence> Gregor is right
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:25 <Quadrescence> Yeah
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:48:25 <Sgeo> Howso?
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:05 <Quadrescence> Sgeo: Yes there are reasons
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:12 <Gregor> TOO EVIL TO MENTION
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:58:49 <Quadrescence> You don't know its idioms.
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:11:54 <pikhq> Well, of course.
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:09 <Quadrescence> Sgeo: PLT thing surely
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:14:54 <Quadrescence> they are not keywords
04:15:53 <pikhq> Keywords? Scheme?
04:16:06 <pikhq> What craziness is this?
04:16:11 <Quadrescence> PLT's
04:16:18 -!- augur has quit (Ping timeout: 245 seconds).
04:16:20 <Quadrescence> 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 <augur> sp bitches
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:31 <augur> i like drscheme
06:22:50 <lament> Quadrescence: you seem quite attached to Fisher Price My First Metaphors
06:22:58 <Quadrescence> Yeah I am
06:23:00 <Quadrescence> Two channels so far
06:23:09 <Quadrescence> Third time'll be the charm
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:24:13 <Quadrescence> lament: yeh
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:08 <pikhq> Also UNIX beards.
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:13:44 <augur> PROC
07:13:45 <augur> PROC
07:17:23 -!- oklokok has joined.
07:24:50 <Sgeo> According to R5RS, "w" is a semivowel
07:26:52 <coppro> Oo
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:43 <coppro> ah
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:12 <augur> HAY GUYS
07:37:19 <augur> 8D
07:37:35 <augur> also, w is indeed a semi vowel.
07:37:43 <augur> semivowel is another word for glide.
07:38:02 <coppro> Yeah, you lost me
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:40:51 <Gregor> (Roughly speaking)
07:45:48 <coppro> yeah, only one of those words carries any meaning to me
07:47:54 <Gregor> 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 <augur> so Gregor
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:06 <augur> hey coppro
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")
08:50:24 <augur> 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 <Quadrescence> [02:26.50] <augur> wanna learn about range concatenation grammars? :D
10:39:59 <Quadrescence> hahaha
10:52:53 -!- alise has joined.
10:53:08 <alise> yo
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:10 <alise> including r6rs?
10:56:17 <alise> you are a horrible person
10:56:22 <Quadrescence> No, the current standards
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:57:55 <Quadrescence> Why?
10:59:58 <alise> i am typing while walking down srfarirs
11:00:30 <alise> HD got parked for ages
11:00:49 <Quadrescence> what
11:01:01 -!- alise_ has joined.
11:01:11 <alise_> Quadrescence: cuz I'm an r5rs fanboi
11:01:35 <Quadrescence> Me too
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:32 <alise_> imo :P
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:00 <Quadrescence> wow okay are you hot?
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:16 <Quadrescence> (depends on how procreation occurs)
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:29 <alise_> NEVER
11:05:36 <alise_> Admittedly it turns out the 3G reception is pretty shitty in taxis
11:06:16 <oklokok> wait now quad is here?
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:06:43 <Quadrescence> oklokok: I made this channel
11:07:03 <Quadrescence> alise_: i don't get it
11:07:36 <alise_> Quadrescence: now I'm doubting whether you're actually on the committee :)
11:07:47 <Quadrescence> alise_: My name is Robert Smith
11:07:50 <Quadrescence> Go look it up
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:08:54 <Quadrescence> the whole thing
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:00 <Quadrescence> systems => programming languages
11:10:05 <Quadrescence> computing => programming
11:10:31 <alise_> system = language/OS/interface/everything
11:10:35 <alise_> they're broken at every level
11:10:49 <Quadrescence> Theoretically or practically?
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:11:41 <HackEgo> No output.
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:12:53 <Quadrescence> (let us not talk about OSes and stuff)
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:33 <alise_> Than Scheme? Sure.
11:13:58 <Quadrescence> Than Fagskell?
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:16 <Quadrescence> You will be proved wrong
11:14:30 <alise_> yes, likely
11:14:34 <alise_> what i'm trying to say is
11:14:35 <Quadrescence> Certainly
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:48 <Quadrescence> I can.
11:14:49 <alise_> imagine but not specify ofc
11:14:53 <Quadrescence> And I mean that seriously.
11:14:58 <alise_> what is it, Forth? :-)
11:15:02 <Quadrescence> Hahaha
11:15:05 <Quadrescence> No.
11:15:11 <Quadrescence> I am in the process of designing it now.
11:15:14 <alise_> INTERCAL?
11:15:20 <alise_> Quadrescence: oh R7RS?
11:15:23 <Quadrescence> No
11:15:25 <Quadrescence> Definitely not
11:15:32 <alise_> what, then?
11:15:36 <Quadrescence> This is my own project.
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:05 <alise_> *exceed
11:16:07 <Quadrescence> That's fine.
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:44 <Quadrescence> but I still see what you mean
11:16:58 <Quadrescence> what
11:17:04 <alise_> what what?
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:09 <Quadrescence> what? It can run as an environment
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:48 <alise_> *complete
11:18:57 <alise_> (module not as in module system)
11:18:58 <Quadrescence> I know the distinction you're making
11:19:01 <Quadrescence> I know
11:19:08 <alise_> alright
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:33 <Quadrescence> Yes
11:19:34 <alise_> oklokok: no, oklotalk!
11:19:36 <alise_> oklotalkclue
11:19:44 <oklokok> oh you have
11:19:50 <oklokok> oh hmm right
11:19:51 <alise_> you've abandoned oklotalk and this makes me ensaddened
11:19:58 <alise_> EN
11:20:00 <alise_> SADD
11:20:00 <alise_> ENED
11:20:09 <oklokok> i'm sorry, it got out of hand
11:20:18 <alise_> that's what she said
11:20:22 <Quadrescence> in bed
11:20:33 <oklokok> was she holding my cock but it slipped
11:21:06 <alise_> oklokok: precisely
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:26 <alise_> or, me, at least
11:21:28 <oklokok> no it doesn't
11:21:46 <alise_> does for me
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: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:36 <alise> Civilisation!
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:19 <oklokok> oh!
11:24:21 <oklokok> finally, nm
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:42 <alise> *copying
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:19 <AnMaster> alise, cya
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:27 <oklokok> *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 <oklokok> o
11:32:03 <oklokok> o
11:32:04 <oklokok> o
11:32:04 <oklokok> o
11:32:04 <oklokok> o
11:32:04 <oklokok> o
11:32:04 <oklokok> o
11:32:04 <oklokok> o
11:32:05 <oklokok> o
11:32:06 <oklokok> o
11:32:06 <oklokok> o
11:32:06 <oklokok> o
11:32:22 <oklokok> ^ a small-scale version of what it'd look like
11:59:40 -!- BeholdMyGlory has joined.
12:04:16 <AnMaster> 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 <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:34:31 <oerjan> *whoops*...
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:35:41 <oerjan> oh well
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:41:26 <oklokok> :D
13:41:36 <oklokok> seriously man
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:44:20 <oklokok> just second floor
13:45:00 <oerjan> pro tip: make sure the door isn't locked first
13:45:19 <oklokok> :D
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.
13:46:09 <oklokok> !
14:14:38 <oklokok> freecell is a fun game
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:19 <oklokok> beenm
14:34:22 <oklokok> *been
14:34:22 <Quadrescence> oklokok: What was your BS in?
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:01 <Quadrescence> PM me
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
14:36:56 <oklokok> bachelor's ...?
14:40:37 <Quadrescence> Bachelor of Science
14:46:33 <oklokok> oh!
14:46:48 <oklokok> maybe i should've known
15:19:03 -!- jcp has joined.
15:43:41 -!- FireFly[DS] has joined.
15:52:33 <scarf> `define cajole
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 <AnMaster> uorygl, also should be moonet
17:58:26 <uorygl> It's not a snowclone as far as I know.
17:58:43 <AnMaster> uorygl, snowclone?
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:35 <scarf> *networks
18:03:43 <scarf> and contrary to popular belief, there is more than one internt
18:03:46 <scarf> *internet
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:34 <fizzie> "inert net".
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:07 <scarf> *together
18:06:09 <scarf> so form one internet
18:06:45 <Gregor> Intern-net
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!
18:12:06 <uorygl> And what's that one DNS server anycast address?
18:14:04 <Gregor>
18:14:22 <Sgeo> What about ?
18:14:27 <scarf> different servers
18:15:56 <AnMaster> fizzie, hah
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:25:07 <AnMaster> that's a strange thing to say
19:25:31 <oklokok> o-qo-do.oo-qp-oo.ob-op-o
19:26:50 <uorygl> `yes
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:27:16 <oklokok> `no
19:27:17 <HackEgo> No output.
19:27:26 <uorygl> `No output.
19:27:27 <HackEgo> No output.
19:27:30 <oklokok> `cool
19:27:32 <HackEgo> No output.
19:27:33 <uorygl> Almost a quine.
19:27:43 <oklokok> ``
19:27:45 <HackEgo> No output.
19:28:29 <AnMaster> hm
19:28:42 <AnMaster> `ls
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:04 <AnMaster> huh
19:29:10 <AnMaster> `file wun*
19:29:12 <HackEgo> wun*: ERROR: cannot open `wun*' (No such file or directory)
19:29:13 <AnMaster> hm
19:29:15 <AnMaster> `run file wun*
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:22 <AnMaster> `help
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:29:52 <AnMaster> huh
19:30:42 <uorygl> `echo `echo
19:30:43 <HackEgo> `echo
19:30:50 <uorygl> So a quine is possible.
19:30:58 <oklokok> it is?
19:31:05 <uorygl> Yep.
19:31:13 <oklokok> at least there's a sequence of programs that approaches a quine
19:31:55 -!- kar8nga has joined.
19:32:21 <uorygl> `yes `echo
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:35 <uorygl> `yes `yes
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:03 <oklokok> `yes \ `yes
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:12 <oklokok> what's `yes
19:33:22 <Deewiant> man 1 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:36 <AnMaster> hm
19:34:38 <uorygl> Never mind.
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:03 <AnMaster> `run echo "$0"
19:35:05 <HackEgo> /bin/bash
19:35:10 <AnMaster> `run echo "$@"
19:35:11 <HackEgo> No output.
19:35:14 <uorygl> `run :(){ echo blah }; :; :; :
19:35:15 <HackEgo> No output.
19:35:26 <AnMaster> Gregor, how is bash invoked for `run?
19:35:26 <uorygl> Oi.
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:35:47 <HackEgo> No output.
19:35:56 <AnMaster> Gregor, huh?
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 <HackEgo> No output.
19:36:11 <uorygl> Why not it work?
19:36:11 <Gregor> AnMaster: run is a bash script
19:36:14 <Gregor> AnMaster: It just does "$@"
19:36:16 <AnMaster> `type run
19:36:18 <HackEgo> No output.
19:36:21 <AnMaster> `run type run
19:36:22 <HackEgo> No output.
19:36:26 <uorygl> `run dog run
19:36:27 <HackEgo> No output.
19:36:27 <AnMaster> `run ls */*run*
19:36:29 <HackEgo> bin/runfor
19:36:30 <Deewiant> `run 'foo(){ echo foo }; foo; echo bar'
19:36:32 <HackEgo> No output.
19:36:41 <AnMaster> Gregor, where is the script?
19:36:46 <Gregor> Built in to HackEgo.
19:36:49 <AnMaster> -_-
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:31 <Gregor> True
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:11 <Gregor> Presumably not
19:45:38 <AnMaster> Gregor, http://codu.org/projects/hackbot/fshg/ ?
19:45:45 * AnMaster can't find it run there
19:45:51 <Gregor> No, that's the filesystem in HackBot, not HackBot itself.
19:45:53 <Gregor> Remove "fs"
19:45:57 <AnMaster> ah
19:46:00 <AnMaster> well I didn't know
19:46:08 <AnMaster> and the fs one is the one in `help
19:47:01 <AnMaster> `ls .hg
19:47:02 <HackEgo> No output.
19:47:08 <AnMaster> `mkdir .hg
19:47:10 <HackEgo> No output.
19:47:10 <HackEgo> Invalid .hg directory found.
19:47:13 <AnMaster> heh
19:47:18 <AnMaster> Gregor, damn you ;P
19:47:25 <AnMaster> `ls .hg
19:47:27 <HackEgo> No output.
19:47:44 <Gregor> .hg is moved elsewhere to prevent tampering.
19:47:55 <AnMaster> `ls
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:58 <AnMaster> `ls -a
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:08 <AnMaster> Gregor, where is elsewhere?
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:48:49 <Gregor> Uhhh, OK?
19:49:03 <AnMaster> I was just confused by the name of it before
19:49:12 <Gregor> Why do I care?
19:49:34 <AnMaster> seems asi<whatever his name is, caused that dobela language>
19:49:50 <Deewiant> asiekierka
19:49:51 <AnMaster> s/$/ is behind it/
19:49:57 <Gregor> Why do I care?
19:49:57 <AnMaster> as in
19:50:06 <AnMaster> behind it being in egobot
19:50:13 <oklokok> i prefer caused
19:50:14 <Gregor> So?
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:31 <AnMaster> `uname -a
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:50:40 <AnMaster> hrrm
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 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:05 <AnMaster> pikhq, sure, so mkdir as root
19:55:09 <AnMaster> pikhq, using syscalls
19:55:12 <AnMaster> perfectly possible
19:55:16 <AnMaster> then double chroot using that
19:55:16 <pikhq> Mmm.
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:47 <AnMaster> pikhq, like /?
19:58:50 <AnMaster> inside the chroot
19:58:57 <pikhq> is already mounted.
19:58:59 <AnMaster> that is a valid mount point afaik
19:59:00 <pikhq> Erm.
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:22 <AnMaster> had to reboot it
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:05 <AnMaster> pikhq, yep
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:02:22 <AnMaster> uorygl, hm?
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:31 <pikhq> uorygl: Yeah.
20:04:32 <Gregor> uorygl: Basically.
20:04:35 <pikhq> It replaces libc.
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:01 <AnMaster> iirc
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:03 <Gregor> Or ptrace
20:06:11 <pikhq> Yeah.
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:37 <Gregor> Donno
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:09 <AnMaster> uorygl, using mmap()?
20:09:35 <oklokok> so spider solitaire, can you get good in it? looks pretty luck-based to me
20:09:37 <uorygl> How does mmap() work?
20:09:39 <AnMaster> uorygl, but point is, if two processes mmap() the same file, they should see updates
20:09:54 <AnMaster> uorygl, black magic
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:10:14 <AnMaster> mostly 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:47 <lament> play poker instead
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:14:56 <Gregor> Strip poker!
20:14:58 <AnMaster> iirc
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:16 * uorygl nods.
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:00 <AnMaster> it might need something else
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:16 <AnMaster> to force writing any changes
20:18:24 <AnMaster> I don't remember how you did that though
20:18:26 <uorygl> What's a futex?
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:34 <AnMaster> that is what a futex is
20:19:43 <AnMaster> uorygl, see man 2 futex
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:04 <AnMaster> 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 <AnMaster> why on earth
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:47 <AnMaster> as in
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:24 <AnMaster> (in here too iirc)
20:23:29 <AnMaster> maybe was a year or so ago?
20:23:46 <uorygl> Wouldn't it just be a bunch of executables and libraries?
20:23:47 -!- FireFly[DS] has joined.
20:23:52 <AnMaster> (that's a guesstimate)
20:24:00 <AnMaster> uorygl, ?
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:24:49 <AnMaster> I assume you read about them
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:03 <AnMaster> but you get the idea
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:27:55 <AnMaster> FireFly[DS], wb!
20:28:07 <AnMaster> FireFly[DS], haven't seen you for ages
20:28:25 <FireFly[DS]> Hello
20:28:32 <pikhq> AnMaster: Windows has the ability to map files into memory.
20:28:41 <FireFly[DS]> Ages, as in what, three days?
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:01 <FireFly[DS]> I think so :P
20:29:13 <AnMaster> FireFly[DS], why on DS?
20:29:35 <FireFly[DS]> Because I'm on a DS, not at home
20:29:44 <FireFly[DS]> holiday stuff, skiing
20:29:55 <uorygl> What sort of DS is this?
20:30:09 <FireFly[DS]> the Nintendo sort
20:30:14 * uorygl nods.
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:30:43 <FireFly[DS]> The phat nintendo sort, even
20:30:47 <AnMaster> it is brilliant and clever
20:30:53 <AnMaster> (how it works)
20:31:21 <AnMaster> uorygl, is there any DS except Nintendo?
20:31:24 <AnMaster> well
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:44 <pikhq> AnMaster: Yes.
20:32:58 <AnMaster> pikhq, well it seems okay I guess
20:33:02 <AnMaster> then*
20:33:16 <AnMaster> pikhq, but aren't anon mappings POSIX?
20:33:24 <pikhq> No.
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:36:13 <pikhq> It's Win32.
20:37:54 <AnMaster> true
20:37:55 <AnMaster> 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 <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:51:18 <AnMaster> hm not a good idea
20:51:27 <AnMaster> 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 <oklokok> now the question is, are all prime numbers balloon?
21:20:13 <oklokok> *balloons
21:20:22 <AnMaster> oklokok, define 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:19 <AnMaster> hm interesting
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:51 <oklokok> no, not by me
21:21:55 <Oranjer> by anyone?
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:22:50 <AnMaster> and did anyone else solve it?
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:29 <AnMaster> rather than asking us
21:23:48 <oklokok> i just wanted to ask that out loud because it sounded crazy.
21:24:37 <AnMaster> oklokok, oh?
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:14 <oklokok> :P
21:26:20 <oklokok> i have no idea what that meant
21:26:24 <AnMaster> oklokok, it does?
21:26:27 <oklokok> so i named them balloons.
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:26:59 <oklokok> "it does?"=
21:27:01 <oklokok> *?
21:27:09 <oklokok> oh err
21:27:11 <oklokok> right the problem
21:27:16 <oklokok> sorry about being slow
21:27:17 <AnMaster> oklokok, I fail to see how it is useful for building or flying heated air balloons
21:27:17 <AnMaster> ...
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:08 <oklokok> oh
21:28:08 <oklokok> cool
21:28:13 <oklokok> do you fly planes?
21:28:16 <AnMaster> (LTA = lighter than air)
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:41 <oklokok> yeah prolly
21:28:45 <oklokok> how 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:24 <AnMaster> says google
21:30:26 <oklokok> oh well if you wanna fly a plane multiple times
21:30:32 <AnMaster> oklokok, hm?
21:30:34 <oklokok> ;)
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:11 <AnMaster> forgot what said distance was
21:31:18 <oklokok> makes sense
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:41 <AnMaster> oklokok, "oops"
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:43 <oklokok> i mean math is prettier
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:39:30 * FireFly[DS] wants unicode support in his client
21:39:47 <FireFly[DS]> fizzie, what was that after "6600"?
21:40:03 <fizzie> FireFly[DS]: Probably the euro sign.
21:40:07 <FireFly[DS]> Ah
21:40:25 <FireFly[DS]> Showed up as å comma not-sign her..
21:40:33 <FireFly[DS]> here*
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:21 <oklokok> i would be near it
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:08 <fizzie> I can try, of course.
21:43:13 <AnMaster> fizzie, you could explain it
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:24 <AnMaster> heh
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:26 <lament> finnish is so weird
21:47:33 -!- cal153 has quit (Ping timeout: 240 seconds).
21:47:42 -!- cal153 has joined.
21:47:50 <AnMaster> lament, indeed
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:27 <AnMaster> uhu
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:25 <oklokok> *mostly
21:50:58 <AnMaster> oklokok, wait, is "interesting" actually a well defined rigorous mathematical term?
21:51:05 <oklokok> :P
21:51:14 <oklokok> no.
21:51:19 <AnMaster> oh
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:21 <AnMaster> oklokok, oh?
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:21 <oklokok> you wouldn't
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:19 <oklokok> eh
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:57:24 <oklokok> *measure
21:57:25 <oklokok> sorry
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:00:42 <oklokok> make that lim sup
22:00:52 <oklokok> i think that's additivie
22:00:55 <oklokok> *additive
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:21 <oklokok> to be a measure
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:53 <oklokok> ah
22:01:56 <uorygl> Take the set S of all integers n where sin(ln n) > 0, and its complement.
22:02:28 <oklokok> err
22:02:35 <oklokok> first of all what's that set?
22:02:47 <oklokok> okay somethign random
22:02:49 <oklokok> *something
22:02:54 <uorygl> Er, make that sin(ln |n|).
22:03:03 <oklokok> yeah okay you're right
22:03:06 <oklokok> needs to be lim
22:03:23 <uorygl> You've figured out what that set is?
22:03:24 <oklokok> or wait... blergh
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:49 <oklokok> no
22:03:59 <uorygl> Graph sin(ln n); it's the set of all integers that are below it.
22:04:19 <uorygl> sin(ln |n|), even.
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:16 <oklokok> ah true
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:07:50 <oklokok> yep
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:19 <uorygl> No.
22:16:23 <AnMaster> hm
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:17:55 <oklokok> *-good
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:13 <AnMaster> uorygl, oh
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:36 <AnMaster> uorygl, oh.
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:39 <AnMaster> same as normal limit?
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 <uorygl> Yep.
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:14 <AnMaster> what is it's limit superior?
22:22:27 <oklokok> it's obviously 1
22:22:34 <AnMaster> the normal limit I *suspect* would approach 0
22:22:40 <oklokok> i mean on reals
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:10 <AnMaster> but hm
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:44 <AnMaster> oklokok, ah
22:24:46 <AnMaster> interesting!
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:20 <AnMaster> ah
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:33 <oklokok> tan is a partial function
22:26:43 <AnMaster> oklokok, you mean it isn
22:26:50 <AnMaster> isn't* well defined everywhere
22:26:56 <AnMaster> ?
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:11 <oklokok> so lim sup = infinity
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:00 <AnMaster> !!
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:31 <AnMaster> if that is wrong
22:30:36 <AnMaster> then what is a word for both
22:30:46 <AnMaster> it has to be pretty concise
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:34 <AnMaster> uorygl, that's silly
22:31:38 <AnMaster> but sure
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:42 <oklokok> ...
22:31:44 <AnMaster> as silly as oklokok is
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:04 <AnMaster> is false
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:42 <AnMaster> uorygl, yes. and y=x is too!
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:40 <AnMaster> ais523, yay!
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:33:58 <ais523> 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 <oklokok> :D
22:34:29 <oklokok> i like that
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:24 <oklokok> hmm
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:24 <oklokok> in the topological sense?
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:06 <oklokok> :P
22:37:07 <oklokok> okay
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:12 <AnMaster> oh
22:42:18 <AnMaster> like (0,4)?
22:42:28 <AnMaster> (as opposed to [0,4])
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 <uorygl> No, not really.
22:42:52 <oklokok> AnMaster: nothing, we can define anything to be open
22:42:59 <AnMaster> oklokok, -_-
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:05 <AnMaster> uorygl, paradox?
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:44:56 <AnMaster> mhm
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:47 <AnMaster> oklokok, oh?
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:03 <AnMaster> uorygl, define neighborhood
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:12 <oklokok> so yeah
22:48:21 <oklokok> that's how we define it
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:48:42 <AnMaster> uorygl, I noticed that
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:05 <uorygl> Really?
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:50:57 <oklokok> oh
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:27 <uorygl> True.
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:06 <AnMaster> what about complex numbers
22:52:09 <uorygl> Seriously?
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:53:28 <AnMaster> ais523, ^
22:53:42 <AnMaster> only works for numbers
22:54:20 <AnMaster> oh and +- ⁺⁻
22:57:38 -!- Oranjer has joined.
23:20:11 <Oranjer> I do!
23:20:19 <augur> oh ok
23:20:21 <augur> so!
23:20:24 <Oranjer> yes!
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:21:47 <augur> S(e) -> e
23:22:01 <augur> which just says if you apply S to the empty string, you get back the empty string
23:22:09 <augur> and the rule
23:22:16 <augur> S(aXb) -> S(X)
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:06 <Oranjer> why the 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:22 <Oranjer> ahh
23:23:32 <augur> or more accurately
23:23:44 <augur> success is defined as reducing S(...) to the empty string
23:23:55 <AnMaster> oh no
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:14 <augur> anmaster: yes!
23:24:15 <Oranjer> I want to learn about music!
23:24:16 <AnMaster> meh
23:24:18 <AnMaster> too busy
23:24:22 <Oranjer> >:(
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:27 <augur> S(e) -> e
23:25:31 <AnMaster> Oranjer, number of played notes per time unit. Commonly 1/4 notes per minute
23:25:38 <Oranjer> and what is a note
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:14 <AnMaster> Oranjer, but
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:20 <AnMaster> hm
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:08 <AnMaster> yes
23:28:30 <AnMaster> Oranjer, just got confused over language there
23:28:34 <Oranjer> also, "<=>" <=> "is analogous to"
23:28:50 <augur> but
23:28:51 <augur> but
23:28:55 <Oranjer> but
23:28:57 <AnMaster> Oranjer, no <=> means "is equivalent"
23:28:57 <augur> i have to understand <=> before i can understand <=>
23:28:58 <augur> D:
23:29:04 <Oranjer> I know, augur
23:29:07 <Oranjer> that's the thing
23:29:07 <augur> D:
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:29:50 <AnMaster> noooo!
23:30:20 <Oranjer> augur: "<=>" is analogous to "is analogous to"
23:30:23 <Oranjer> hahahaha
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:23 <AnMaster> or iff
23:31:30 <AnMaster> but then iff <=> "<=>"
23:31:33 <augur> Oranjer: yes but, is '"is analogous to" is analogous to' analogous to '"<=>" is analogous to'
23:31:41 <AnMaster> (except grammatically)
23:31:45 <augur> no no <-> is iff
23:31:50 <augur> <=> is mutually derives!
23:31:54 <AnMaster> augur, what?
23:32:04 <augur> iff is a single arrow
23:32:09 <augur> <->
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:42 <AnMaster> augur, in math I mean
23:32:43 <AnMaster> ...
23:32:47 <Oranjer> in maths
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:22 <AnMaster> augur, x+2 = 4 <=> x=2
23:33:31 <Oranjer> ahhh
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:43 <AnMaster> Gregor, haha
23:33:49 <augur> spaceship!
23:33:51 <Oranjer> oh, you Gregor!
23:33:58 <Gregor> Actually, D does have such an operator.
23:34:01 <Gregor> It means "comparable"
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:38 <Gregor> Raw, and snort it.
23:34:42 <Oranjer> so why can't I say x + 2 = 4 = x = 2, or x + 2 <=> 4 <=> x <=> 2?
23:34:45 <AnMaster> Gregor, :D
23:34:46 <Oranjer> oh, I get it now
23:34:48 <Oranjer> yay
23:34:49 <augur> Gregor: if only!
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:32 <AnMaster> which means 4=2
23:35:35 <AnMaster> which is absurd
23:35:45 <Oranjer> ( x+2=4 ) = ( x=2 ) !
23:35:54 <Gregor> It's true in the right modular arithmetic :P
23:35:57 <AnMaster> Oranjer, that has no meaning
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:11 <Oranjer> oh, I get it now
23:38:12 <Oranjer> hmmmm
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:14 <Oranjer> 2 ≡ 4 (mod 2) yay
23:40:16 <augur> AnMaster: shut your fast
23:40:19 <augur> face
23:40:22 <augur> :|
23:40:23 <augur> bye
23:40:34 <Gregor> Shut your fast face!
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:29 <AnMaster> er?
23:41:38 <AnMaster> Oranjer, how is iff directed?
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:16 <AnMaster> Oranjer, yes
23:45:21 <Oranjer> okay
23:45:40 <Oranjer> it's just a wee bit confusing for me, as I always use it as "is analogous to"
23:45:50 <AnMaster> Oranjer, but iff => <=> iirc
23:46:04 <Oranjer> and "=>" <=> ?
23:46:21 <AnMaster> Oranjer, ?
23:46:33 <Oranjer> what does "=>" mean?
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:47:49 <Oranjer> sure
23:48:00 <AnMaster> x = 2 => x^2 = 4
23:48:04 <AnMaster> the reverse is not true
23:48:07 -!- tombom has quit (Quit: Leaving).
23:48:10 <AnMaster> that is
23:48:26 <AnMaster> x^2 = 4 => x = 2 is false
23:48:32 <AnMaster> since x could be equal to -2
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:49:45 <Oranjer> they use iff, not <=>
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:31 <AnMaster> (and that is Swedish btw)
23:50:53 <Oranjer> endast ==(English)==> only?
23:51:01 <Gregor> `translate endast
23:51:07 <AnMaster> Oranjer, yes
23:51:11 <Oranjer> okay
23:51:11 <HackEgo> only
23:51:26 <AnMaster> Oranjer, or my irc notation of that would be: sv:endast = en:only
23:51:33 <Oranjer> ah, okay
23:51:38 <AnMaster> Oranjer, which I don
23:51:45 <AnMaster> don't* think is used for anything else
23:51:47 <AnMaster> ;P
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:54:37 <Oranjer> basically, yeah
23:54:48 <Oranjer> "row equivalence"?
23:55:01 <AnMaster> Oranjer, he teaches linear algebra
23:55:03 <AnMaster> guess
23:55:10 <Oranjer> hmmm
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:36 <AnMaster> but wikipedia says
23:56:38 <AnMaster> "A~B means that B can be generated by using a series of elementary row operations on A"
←2010-03-05 2010-03-06 2010-03-07→ ↑2010 ↑all