←2010-03 2010-04 2010-05→ ↑2010 ↑all
00:00:08 <oerjan> oklopol: you're doomed. DOOMED!
00:00:28 <oklopol> :---------------------------------------------------------------------------------O
00:00:51 <oerjan> as would anyone with that kind of nose, mind you
00:13:19 -!- oerjan has quit (Quit: leaving).
00:15:14 <augur> oklopol: ok heres the challenge
00:16:10 <augur> i will design a trivial little universe, with very simple physics, and a small finite number of universe configurations
00:19:09 <augur> ill provide you with causal graphs of these configurations and its your job to come up with a description of the physics governing this little universe
00:19:18 <augur> hows that sound?
00:21:31 <oklopol> sounds fun.
00:25:18 -!- augur has quit (Ping timeout: 260 seconds).
00:30:55 * Sgeo still doesn't see why he shouldn't switch to Haskell for all his needs
00:31:44 <pikhq> Because you should.
00:32:04 <lament> because python is better
00:32:18 <Sgeo> forM_ somelist $ \item -> do
00:32:21 <Sgeo> Has its own charm
00:32:46 <lament> if by charm you mean it looks ugly!
00:33:10 <fax> oklopol
00:33:17 <Sgeo> It's not some magic syntax thing
00:33:41 <Sgeo> Unlike for/foreach in just about every other language
00:33:42 <fax> Sgeo, if/then/else *is* magic syntax, but it shouldn't be
00:33:49 <pikhq> Sgeo: forM_ is quite a bit more general, also.
00:36:48 <Sgeo> You know what I don't like? The emphasis that seems to need to be placed on efficiency
00:37:17 <Sgeo> The trivial quicksort that everyone talks about is apparently the wrong way to do it do to efficiency concerns, or something
00:37:29 <fax> Sgeo -- quicksort sucks
00:37:44 <fax> who needs to sort lists ?
00:37:51 <fax> seriously it's just a waste fo time
00:37:56 -!- charlls has quit (Quit: Saliendo).
00:38:16 <oklopol> who even needs lists
00:38:33 <Sgeo> Can you say that about every algorithm where the trivial implementation is inefficient?
00:38:43 <oklopol> i bet i could live for a year without a list of any kind
00:39:06 -!- oerjan has joined.
00:40:00 <fax> Sgeo most everything in haskell is inefficent
00:40:26 <lament> haskell sucks
00:40:38 <oklopol> i hate haskell
00:40:43 <fax> :D
00:40:47 <oklopol> OOP is the way
00:41:35 <lament> exactly
00:41:43 <fax> :[
00:42:18 * Sgeo wonders how you'd write a NetHack-like game in Haskell
00:42:20 <oklopol> faxes are outdated.
00:42:24 <lament> haskell is for dorks who think they're nerds
00:42:24 -!- Asztal has quit (Ping timeout: 248 seconds).
00:42:35 <fax> Sgeo easy way to find out is to do it!
00:45:12 <Sgeo> There's no nice way to use two different types of STRefs in a single ST monad ins.. whatever it's called, is there?
00:45:27 -!- Slereah has quit (Ping timeout: 260 seconds).
00:46:01 <oerjan> um what do you mean by two different types of STRefs?
00:46:27 <Sgeo> An STRef that holds an Int and an STRef that holds a String, for instance
00:46:50 <oerjan> of course you can. excuse me while i look it up...
00:50:06 -!- Slereah has joined.
00:51:50 <oerjan> !haskell import Control.Monad.ST; import Data.STref; main = runST $ do sr <- newSTRef "1"; nr <- newSTRef 2; writeSTRef sr "n is "; writeSTRef nr 3; s <- readSTRef sr; n <- readSTRef nr; return (s ++ show n)
00:52:21 <oerjan> !haskell import Control.Monad.ST; import Data.STRef; main = runST $ do sr <- newSTRef "1"; nr <- newSTRef 2; writeSTRef sr "n is "; writeSTRef nr 3; s <- readSTRef sr; n <- readSTRef nr; return (s ++ show n)
00:53:07 <oerjan> !haskell import Control.Monad.ST; import Data.STRef; main = runST $ do sr <- newSTRef "1"; nr <- newSTRef 2; writeSTRef sr "n is "; writeSTRef nr 3; s <- readSTRef sr; n <- readSTRef nr; return (putStrLn $ s ++ show n)
00:53:10 <EgoBot> n is 3
00:53:28 <oerjan> yay just three attempts needed </s>
00:54:40 <fax> !haskell "n is 3"
00:54:41 <EgoBot> "n is 3"
00:55:08 * oerjan suddenly recalls that it was not necessarily safe to use $ with runST
00:55:14 <coppro> runST?
00:55:37 <pikhq> Everything is inefficient in languages other than bits.
00:55:43 <oerjan> the function to run a command in the ST monad
00:55:47 <pikhq> coppro: runST :: St a -> a
00:55:53 <oerjan> pikhq: no!
00:55:55 <pikhq> Erm. ST a -> a.
00:56:05 <pikhq> Oh, wait.
00:56:07 <pikhq> It's ST.
00:56:08 <oerjan> it uses type magic
00:56:33 <oerjan> and that type magic means it has varied whether you could use it with $
00:56:33 <coppro> oh
00:56:45 <oerjan> runST :: (forall s. ST s a) -> a
00:56:57 <pikhq> Argh. Right.
00:57:02 -!- Slereah has quit (Ping timeout: 260 seconds).
00:57:06 <Sgeo> ST s a
00:57:09 <pikhq> It's unusual.
00:57:22 <Sgeo> I'm still confused about the forall. I know why it's there, but not what it oes
00:57:23 <Sgeo> *does
00:58:51 <oerjan> i suppose it ensures that two different invocations of runST can never know that they have the same s, and so are type incompatible and not confused
00:59:17 <Sgeo> That doesn't teach me what forall. is supposed to mean
00:59:33 <pikhq> oerjan: No, forall is not uniqueness typing.
00:59:45 <oerjan> pikhq: i didn't say that
00:59:54 <oerjan> s is a type, not a value
00:59:57 <Sgeo> There is Lady Gaga behind this window
01:00:32 <oerjan> Sgeo: the thing passed to runST must be a value that is polymorphic for _all_ possible s
01:00:55 <pikhq> Mmkay.
01:02:46 -!- Slereah has joined.
01:03:03 <pikhq> Oh, I get it.
01:03:16 <oerjan> yay
01:03:54 <pikhq> The "s" must inherently come from runST, and cannot come from anywhere else, because of that forall. So, runST is pure.
01:04:07 <pikhq> Instead of being unsafePerformIO.
01:05:59 <oerjan> Sgeo: afaict the ability to use different types for your STRef's in an ST invocation is precisely how ST _differs_ from State. if you had only one type you would be able to use State with a map or something instead to simulate your refs. but ST with several types cannot be implemented in pure haskell.
01:06:42 * Sgeo still doesn't grok how State is implemented in pure Haskell
01:07:01 <oerjan> well at least you can read the definition
01:07:20 <pikhq> Sgeo: The State monad simply keeps track of a single value called a "state" and threads that around.
01:07:43 <oerjan> newtype State s a = State { runState :: s -> (a, s) }
01:07:44 <Sgeo> How does get get a hold of that thread, if it's type is State a?
01:08:10 <pikhq> State s a.
01:08:22 <pikhq> You pass runState the initial state.
01:08:48 <pikhq> And "modification" of the state is actually replacing the state with an entirely different one.
01:09:03 <pikhq> (note: compiler may freely replace it with actual modification at will)
01:09:19 <Sgeo> And how is get defined, exactly?
01:09:39 <oerjan> instance MonadState s (State s) where get = State $ \s -> (s, s) put s = State $ \_ -> ((), s)
01:09:53 <oerjan> (line breaks got elided)
01:10:09 <oerjan> instance MonadState s (State s) where get = State $ \s -> (s, s); put s = State $ \_ -> ((), s)
01:11:02 * Sgeo needs a tutorial
01:11:28 <oerjan> so get is a State s s value that takes the threaded state and uses it _both_ for the returned value and the next threaded state
01:11:33 <coppro> oerjan: are those supposed to be uncurried?
01:11:50 <oerjan> get takes no arguments
01:12:16 <oerjan> (unless you unwrap the type first)
01:12:22 <Sgeo> What does the State function do?
01:12:30 <coppro> it's a constructor
01:12:36 <Sgeo> I know that mich
01:12:37 <Sgeo> *much
01:12:43 <pikhq> ... That's what it does.
01:12:49 <pikhq> It constructs a new value.
01:13:26 <oerjan> it builds an action in the State monad from a function describing how the threads the state and produces a result
01:13:42 <Sgeo> So get is something that would have >>= before it?
01:13:49 <Sgeo> As opposed to the more usual >>?
01:14:02 <Sgeo> Wait, no
01:14:04 <oerjan> apart from type, an action in the State monad _is_ just such a function
01:14:21 <oerjan> nope, get has no function arguments as an action
01:14:30 <oerjan> put, on the other hand, does
01:15:04 <Sgeo> So get just gives the monad a function to execute?
01:15:07 <oerjan> put s is an action that ignores the old state and uses s as the new one
01:15:33 <oerjan> Sgeo: _every_ State monad action is just a function wrapped in a State constructor
01:16:18 <oerjan> get, put s, etc.
01:17:30 <oerjan> and runState does nothing other than unwrap that constructor again. it's there for type purposes only.
01:19:23 -!- oklopol has quit (Read error: Connection reset by peer).
01:34:31 -!- wareya has quit (Remote host closed the connection).
01:47:25 <Sgeo> I keep seeing OCaml being suggested as a stepping stone to Haskell.
01:47:34 <Sgeo> Does that mean for me, OCaml would be a step backwardsa?
01:47:37 <Sgeo> *backwards?
01:49:03 <oerjan> well ocaml does have some interesting features not in haskell
01:49:58 <oerjan> like an object system but still with type inference, and an ML-like module system with functors. and better records (haskell's are generally admitted to be awful)
01:51:41 <oerjan> so it might be good to take a look at it still
01:52:21 * Sgeo shouldn't be looking at anything but C# right now
01:52:27 <oerjan> of course for me ocaml _was_ a stepping stone to haskell, so i haven't used it for years
01:52:47 <oerjan> you might look at F# which i hear is descended from ocaml
01:53:16 <oerjan> but i also think it lacks some of those interesting features
01:53:30 <oerjan> while being .NET compatible
01:55:01 <fax> Sgeo ugh no way
01:55:22 <Sgeo> fax, project, with a deadline tomorrow
01:55:30 <Sgeo> Haven't done a single line of code for it today
01:55:33 <fax> @00:47 < Sgeo> Does that mean for me, OCaml would be a step backwardsa?
01:58:02 <Sgeo> You know, I tell my dad that there are people online much smarter than me, and he doesn't believe me
02:09:13 -!- mibygl has joined.
02:19:01 -!- Halph has joined.
02:19:51 -!- coppro has quit (Disconnected by services).
02:19:57 -!- Halph has changed nick to coppro.
02:21:09 -!- cheater2 has quit (Read error: Connection reset by peer).
02:21:41 -!- cheater2 has joined.
02:40:03 -!- cal153 has joined.
02:47:26 -!- jcp has joined.
03:01:40 <Sgeo> In Haskell, there always seems to be the Haskell way, and the fast way
03:01:56 <fax> right
03:02:15 <oerjan> i hear there also an intersection, known as fusion :)
03:02:19 <Sgeo> It's really starting to get on my nerves, tbh
03:02:22 <oerjan> *+is
03:02:40 * Sgeo should be thinking in C# right now
03:10:58 -!- clog has joined.
03:10:58 -!- clog has joined.
03:18:24 -!- augur has joined.
03:18:45 <augur> heydo.
03:19:26 <mibygl> Wayat? Wayat? Wayat? Wayat?
03:19:34 <mibygl> Daygo! Daygo! Daygo! Daygo!
03:43:14 -!- mibygl has quit (Ping timeout: 252 seconds).
03:58:14 -!- zzo38 has joined.
03:59:17 -!- Asztal has joined.
03:59:37 -!- zzo38 has quit (Remote host closed the connection).
03:59:56 * Sgeo has had an incredibly unproductive day today
04:13:48 -!- oerjan has quit (Quit: Good night).
04:14:38 * fax too
04:22:27 <augur> mibygl = uorygl?
04:25:58 <Sgeo> Jes.
04:26:14 <Sgeo> (I don't know how to say yes in Lojban, so I said it in Esperanto)
04:32:29 * pikhq suggests you learn Japanese
04:34:19 <Sgeo> My computer professor seems to think I know a lot of programming languages
04:34:28 * Sgeo really only knows most on a superficial level
04:40:19 <fax> Sgeo every time I have to hand in computer work I get strange compliments about how advanced it is .. even when I try not to bed
04:40:22 <fax> be*
04:40:42 <Sgeo> Why would you bother trying not to be advanced?
04:42:14 <fax> because I don\t like it when they tell me that :<
04:44:25 * Sgeo loves being way ahead of everyone else
04:44:50 * Sgeo doesn't love the fact that there's a deadline TOMORROW, it's almost midnight, and I haven't done a single worthwhile thing today.l
04:45:10 <coppro> what's the assignment?
04:45:25 <Sgeo> coppro, project that I've been talking about for the past few months
04:45:31 <coppro> oh
04:45:40 <coppro> assume I'm stupid
04:45:43 <coppro> and haven't paid attention
04:46:04 <Sgeo> coppro, game that I'm making with a few other people [only one other programmer]
04:46:16 <Sgeo> It's on the AW platform, so it's not as much work as it sounds, but still
04:46:42 <Sgeo> The um.. financer, I guess, is giving us some stuff, but wants to see results
04:46:44 <coppro> is the deadline the due date, or a partway-through thing
04:46:54 <Sgeo> partway-through
04:46:58 <coppro> ah
04:47:03 <coppro> and I presume you aren't there yet?
04:47:29 <Sgeo> Fairly close, but if the person's expecting 100%, it's not happening
04:48:08 <Sgeo> Anyways, I'm going to restart the computer, and hopefully that will leave a clean slate to let me focus
04:49:49 <coppro> let me give you a piece of advice
04:49:55 -!- Sgeo_ has joined.
04:50:05 <coppro> do not turn on IRC when you reboot, unless its necessary for your work
04:50:10 <coppro> if it is, join only the necessary channesl
04:50:12 <coppro> *channels
04:50:55 -!- Sgeo_ has quit (Read error: Connection reset by peer).
04:52:47 -!- Sgeo has quit (Ping timeout: 260 seconds).
04:58:29 -!- Sgeo has joined.
04:59:04 -!- fax has quit (Quit: Lost terminal).
05:03:13 -!- Asztal has quit (Ping timeout: 265 seconds).
05:21:25 <augur> so, who wants to play with universes? :)
05:22:38 <Sgeo> I think I tend to seek 12 different tutorials for things
05:23:21 <Sgeo> Also, I've noticed something: I can accept learning a language because I have to. Such languages [C#, LSL] are treated as tools
05:23:54 <Sgeo> Other languages [Python, Ruby, Haskell, Scheme], it feels like they're all competing for my affection. It's as though I'll only allow myself to truly love one language.
05:32:48 -!- pikhq has set topic: This topic was correct once | Last topic change: 0 Anno Domini | http://tunes.org/~nef/logs/esoteric/?C=M;O=D.
05:37:38 <Sgeo> If Haskell can't do state, then surely it isn't Turing Complete?
05:38:21 <augur> sgeo, it can simulate state!
05:38:29 <augur> like the lambda calculus can!
05:38:43 <Sgeo> What does Calculus have to do with anything?
05:39:00 <pikhq> Sgeo: It can do more than simulate state.
05:39:13 <pikhq> ST is entirely imperative. It is also entirely pure.
05:39:14 <Sgeo> /ctcp pikhq time
05:39:15 <Sgeo> oops
05:39:26 <coppro> Sgeo: uh, please tell me that you haven't been hanging out in here for months while never once hearing of lambda calculus
05:39:30 <Sgeo> I thought Haskell can't do imperative
05:39:30 <pikhq> No joke.
05:39:38 <augur> lambda calculus
05:39:40 <pikhq> *Ah*. Right.
05:39:44 * pikhq skips forward
05:39:53 <augur> not calculus as in newton/leibniz
05:39:55 <augur> a "calculus" is a means of calculating something.
05:40:00 <pikhq> Sgeo: Well, you see, it only pretends to. With this "monad" bullshit.
05:40:09 <pikhq> Named after Monad Leibniz.
05:40:40 -!- wareya has joined.
05:41:24 <Sgeo> So, this Monad fellow.. he invented math and computers?
05:41:28 <pikhq> Used as follows: let Monad M = new template<Monad M <new template>> M(this); M.bind.return.imperative( // What follows is C++ code.
05:41:49 <pikhq> The syntax was chosen, of course, to be compatible with C++'s most brilliant design principles.
05:42:07 <augur> is SGEO being full of shit? XD
05:42:12 <pikhq> Oh, also. What follows after "//" is not a comment.
05:42:20 <pikhq> augur: The day is most certainly not 4-01.
05:42:31 <pikhq> And such a day has in no way any significance.
05:43:01 <augur> oh i see yes
05:43:03 <augur> well! one never knows
05:43:18 <augur> i dont know Sgeo much
05:43:33 <augur> i also dont participate in april fools, so it never crosses my mind
05:44:14 <Sgeo> In all seriousness, there should be an esolang based on pikhq's "code"
05:44:31 <Sgeo> [In all full seriousness, I always say that there should be an esolang]
05:44:37 <wareya> I tried five fucking different floppy drives
05:44:41 <wareya> and not a single one worked
05:45:02 * Sgeo misread that as "fucking five". For some reason, AFD is making my mind act drunk
05:45:02 <pikhq> Hmm. The SCP foundation has had a breech. It would seem that today is a good day to die.
05:55:52 <Sgeo> btw, coppro, I've been here for years
05:56:05 <Sgeo> At the latest, since late 2007, when I got started on PSOX
06:01:39 -!- Oranjer has left (?).
06:03:43 -!- wareya has quit (Ping timeout: 240 seconds).
06:10:49 <Sgeo> xkcd.com
06:10:54 <Sgeo> Not working for me in Chrome, but still
06:11:06 -!- wareya has joined.
06:13:26 <coppro> haha
06:16:19 <pikhq> Doesn't work in Firefox.
06:16:45 <coppro> works for me
06:16:57 -!- MizardX has quit (Ping timeout: 276 seconds).
06:27:06 * Sgeo is doing April Fool's stuff instead of trying to get this stuff done :(
06:28:01 <coppro> Sgeo: /quit, close your browser, reopen your browser, open exactly those pages which are required for your work
06:28:12 <Sgeo> Not going to /quit
06:28:31 <Sgeo> I need people to talk to
06:29:02 <coppro> then /part out of every channel except the ones related to your work
06:29:09 <coppro> you do not need people to converse with casually
06:29:11 <coppro> you need to work
06:31:10 <pikhq> Not necessarily.
06:31:45 <Sgeo> Can I talk to you while I work?
06:32:07 <Sgeo> I just had a semi-revelation: I don't need to actually have the bot do anything for this part
06:32:11 <Sgeo> It's pure in-AW code
06:32:23 <Sgeo> Except for persisting it, but that could be a separate part of the bot
06:43:16 * Sgeo feels like he's cutting corners by doing this
06:43:37 <Sgeo> Also, I did kind of take pikhq's statement as permission to talk casually in here
06:45:45 * pikhq shruggeth
06:53:55 <Sgeo> For all I know, I have nothing to do, and the guy will be satisfied as-is
06:54:06 -!- metaphlex has joined.
07:03:50 -!- tombom has joined.
07:04:04 <Sgeo> I should at least add the mechanism for the bot to "click" items
07:05:10 -!- metaphlex has quit (Quit: Leaving).
07:06:04 -!- rapido has joined.
07:07:26 -!- rapido has left (?).
07:15:03 * Sgeo decides that he'll just write a report on the state of the bot, then go to sleep
07:39:21 -!- kar8nga has joined.
07:49:24 -!- tombom has quit (Quit: Leaving).
07:50:03 -!- 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:09:30 -!- kar8nga has quit (Remote host closed the connection).
08:18:37 <Sgeo> Hah! This small drop of code worked perfectly the first time!
08:26:16 * coppro wonders if that sale was real or if I'm going to get an April Fools' package
08:33:47 * Sgeo writes a "State of the Bot Address"
08:34:16 * Sgeo hopes that this is enough to convince the person funding this that enough was done so far
08:35:45 <coppro> youtube wins the day
08:35:47 <coppro> http://www.youtube.com/watch?v=WccS6q8Mo-U&feature=channel&textp=fool
08:37:12 <Sgeo> flip=1 no longer works?
08:37:14 <Sgeo> :(
08:37:45 <coppro> flip=1?
08:38:09 <Sgeo> Or, what was the thing to flip it?
08:38:16 <Sgeo> Last year or something
08:39:25 <Sgeo> google.com
08:40:36 <Sgeo> They're reviving Virgle
08:42:09 <coppro> the are?
08:42:10 <coppro> I don't see it
08:42:36 <Sgeo> "And Project Virgle, our co-venture with Richard Branson and Virgin to launch the first permanent human colony on Mars, will henceforth be known as Project Vireka."
08:43:12 <coppro> http://googleblog.blogspot.com/2010/04/different-kind-of-company-name.html
08:44:33 <Sgeo> Is the death of star ratings on YouTube for real or Apr1st?
08:45:21 <coppro> unknown
08:45:44 <coppro> signs point to permanent
08:45:55 <coppro> though one can never tell with Google
08:46:32 <Sgeo> Google tends to be more "nope, it wasn't April 1st joke after all"
08:46:39 <Sgeo> Then again, that's coming from one data point
08:47:34 <coppro> exactly
08:47:41 <coppro> I also like the units of measure on the search page
08:48:17 <Sgeo> Maybe someone was using that information for something important! And now they just screw it up?
08:48:40 <coppro> "Whatever the outcome, the conclusion was clear: we aren't in Google anymore."
08:49:04 <Sgeo> lol; I think I missed that
08:52:14 <coppro> it was in the blog post I just linked
08:54:28 <Sgeo> coppro, I know, I read it before, and failed to notice that line
08:54:56 <Sgeo> Also, this "wear blue for autism on April 2nd" stuff is backed by racing4autism, which links to Autism Speaks and Generation Rescue
08:57:32 -!- lereah_ has joined.
09:28:53 <augur> dude
09:28:56 <augur> haha
09:29:11 <augur> the youtube stuff is awesome
09:30:06 <augur> i like the cosmonauty textp XD
09:32:36 -!- coppro has quit (Ping timeout: 276 seconds).
09:34:14 <myndzi> the ascii youtube video thing has actually been around a while
09:34:20 <myndzi> it was some other site that would do it
09:34:29 <myndzi> i like that youtube brought it in
09:36:23 <fizzie> For the DIY folks, it's pretty much always been possible to just plug a youtube get_video URL into mplayer, and use either the aalib or libcaca text-based video-out drivers.
09:36:24 -!- myndzi\ has joined.
09:39:14 <fizzie> Also for some reason on this work-workstation there's no TEXTp mode visible. Aw.
09:39:46 -!- myndzi has quit (Ping timeout: 264 seconds).
10:31:15 <Gregor> mynzλ
10:31:19 <Gregor> Erm
10:31:22 <Gregor> myndzλ
10:48:32 <Ilari> Does libcaca support 256-color mode? :-)
10:50:00 -!- Tritonio_GR has joined.
10:50:39 <fizzie> Ilari: I have a feeling it does, but I'm not completely certain.
10:51:30 <fizzie> Ilari: The web page just says "2048 available colours (some devices can only handle 16)". (I'm not sure where they have 2k colours... maybe using the "direct" X11 output, I think it had one too.)
10:51:50 -!- Tritonio_GR has quit (Client Quit).
10:52:08 <fizzie> Yes, there's ncurses, slang, x11 and gl drivers in it.
10:56:15 <Gregor> lawl@libcaca over gl
10:58:01 <Ilari> All kinds of "insane transports" and "insane platforms" are fun to do as an joke...
10:59:45 <Ilari> I haven't done any really crazy combos... I think the craziest was SSH inside SSH...
11:00:32 <Gregor> I remember running X11 over aalib once, don't recall what the middle layer that made that possible was though.
11:00:49 -!- Tritonio_GR has joined.
11:01:39 <Ilari> I once got Quake II using aalib by mistake...
11:02:10 -!- Tritonio_GR has quit (Client Quit).
11:03:42 <Gregor> Tritonio doesn't like that.
11:05:20 <Ilari> (SDL autofallbacks video drivers...)
11:05:23 <fizzie> Ascii-Quake never was much fun, but we spent a while playing networked 0verkill -- http://artax.karlin.mff.cuni.cz/~brain/0verkill/ -- which was pretty fun for a while.
11:15:44 -!- cal153 has quit.
11:16:29 -!- Tritonio_GR has joined.
12:11:15 -!- Tritonio_GR has quit (Read error: Connection reset by peer).
12:19:59 -!- Tritonio_GR has joined.
12:24:25 -!- oerjan has joined.
12:25:07 <oerjan> dammit and here i thought the topic would be correct today :(
12:25:39 <oerjan> come to think of it, this might not be the day to expect such a thing
12:40:26 -!- rodgort has quit (Quit: Coyote finally caught me).
12:42:06 -!- oklopol has joined.
14:05:08 -!- oerjan has quit (Quit: leaving).
14:26:33 -!- Deewiant has quit (Remote host closed the connection).
14:26:56 -!- Deewiant has joined.
15:03:54 -!- oklofok has joined.
15:04:38 -!- oklopol has quit (Ping timeout: 240 seconds).
15:28:56 -!- MizardX has joined.
15:36:31 -!- FireFly has joined.
15:47:56 -!- BeholdMyGlory has joined.
15:53:31 -!- MigoMipo has joined.
15:55:23 -!- charlls has joined.
15:58:52 -!- lereah_ has quit (Remote host closed the connection).
16:12:23 -!- Asztal has joined.
16:26:25 -!- oklofok has quit (Ping timeout: 248 seconds).
16:39:59 -!- oklopol has joined.
16:45:57 -!- oklofok has joined.
16:47:25 -!- oklopol has quit (Ping timeout: 246 seconds).
16:55:08 -!- KingOfKarlsruhe has joined.
16:55:21 -!- cheater2 has quit (Ping timeout: 258 seconds).
16:57:49 <AnMaster> hm xkcd did a very nice thing for today
16:57:53 <AnMaster> needs javascript though
17:00:51 -!- cheater2 has joined.
17:01:17 -!- cheater2 has quit (Read error: Connection reset by peer).
17:01:35 -!- cheater2 has joined.
17:04:24 -!- jcp has joined.
17:12:39 -!- tombom has joined.
17:44:13 -!- augur has quit (Ping timeout: 264 seconds).
17:50:29 <AnMaster> hah at the units in google's search result
17:50:55 <AnMaster> Results 1 - 10 of about 1,810,000,000 for google. (0.14e+43 Planck times)
17:58:02 -!- cal153 has joined.
17:58:37 -!- zzo38 has joined.
17:59:54 -!- kar8nga has joined.
18:00:16 <Slereah> Not here
18:00:23 <Slereah> Must be a google US exclusive prank
18:00:26 <AnMaster> Slereah, only on google.com
18:00:28 <AnMaster> not on google.se
18:00:35 <Slereah> or .fr
18:00:36 <AnMaster> Slereah, but I use google.com normally
18:00:42 <AnMaster> easy to switch though
18:00:51 <Slereah> I do too, but it switches automatically to .fr
18:00:52 <AnMaster> just a link near the bottom of the front page
18:00:57 <zzo38> Some people made the "Check for brainwave activity" code as short as 10 bytes in shell scripts, I cannot quite figure it out but I did reduce it to 12 bytes. After 10 days I can figure out what it is
18:01:01 <AnMaster> oh and did you see xkcd
18:01:01 <Slereah> I hate it when softwares try to second guess me
18:01:04 <AnMaster> xkcd's shell
18:01:06 <Slereah> yes
18:01:08 <AnMaster> quite nice
18:01:09 <Slereah> Also 4chan
18:01:13 <AnMaster> guest@xkcd:/$ date
18:01:13 <AnMaster> March 32nd
18:01:13 <Slereah> POST TO FACEBOOK
18:01:22 <Slereah> I hate april fool
18:01:27 <Slereah> It's always so stupid
18:01:31 <AnMaster> Slereah, ?
18:01:34 <AnMaster> what about 4chan
18:02:02 <Slereah> There's a "post to facebook" option on the post window for april fool
18:02:16 <AnMaster> Slereah, oh and maps.google.com.au gives directions in AU slang
18:02:17 <AnMaster> like:
18:02:32 <AnMaster> "Turn a smidge left when you get to South Western Mwy
18:02:33 <AnMaster> Ya might have to cough up some cash along here"
18:02:39 <Slereah> Crikey!
18:02:45 <AnMaster> Slereah, :D
18:02:58 <AnMaster> Slereah, still waiting for the RFC
18:04:22 <Slereah> RFC?
18:04:28 <zzo38> Will there be a fool RFC this year?
18:04:47 <Slereah> Roman Fatholic church?
18:04:48 <zzo38> Will INTERCAL be released this year?
18:05:07 <Slereah> Isn't it already?
18:05:13 <Slereah> Also what is RFC
18:05:36 <zzo38> RFC is short for "Request For Comment"
18:06:01 <zzo38> It is usually a specification for some internet protocol or something like that. But it can sometimes describe other stuff, too
18:07:32 <AnMaster> and there is usually joke ones on 1 April
18:07:43 <AnMaster> Slereah, are you serious about never having heard about RFCs?
18:07:57 <AnMaster> like the IRC RFC, 14xx (forgot the last two digits)
18:08:48 <AnMaster> Slereah, IP, TCP, HTTP and pretty much every other common non-vendor-specific protocol is specified in one (or more) RFC(s)
18:11:13 * Sgeo pulled a fax earlier, maybe Slereah's doing the same?
18:13:58 <oklofok> hello everyone, this morning i woke up to find i had turned into seven monkeys
18:14:25 <oklofok> and only three of those monkeys were virgins
18:19:36 <lament> congrats, you're 4/7 less of a virgin than before
18:20:16 <zzo38> Hello, this moring I woke up to find out that my bed was on the ceiling
18:20:27 <zzo38> And I had eight eyes, just like my D&D character does
18:20:36 <zzo38> But then I realized I was still sleeping
18:20:58 <oklofok> lament: i can't do the math do you mean i was a virgin before or that i wasn't or what?
18:21:03 <AnMaster> * Sgeo pulled a fax earlier, maybe Slereah's doing the same?
18:21:06 <AnMaster> what do you mean?
18:21:09 <oklofok> i'm seven monkeys you see
18:21:21 <AnMaster> oklofok, how many were using typewriters?
18:21:25 <Sgeo> AnMaster, I convinced at least two people that I was more of an idiot than I am
18:21:30 <oklofok> he's referring to the time fax said she didn't like haskell
18:21:37 <AnMaster> oklofok, this is of uttermost importance!
18:21:38 <oklofok> err
18:21:44 <oklofok> the time she said she doesn't know haskell
18:22:06 <AnMaster> Sgeo, wow. That would be like at absolute zero then?
18:22:13 * Sgeo growls
18:22:14 <AnMaster> (sorry, couldn't resist)
18:22:18 <lament> oh, today is 1st of april, which means we can all lie to each other
18:22:32 <AnMaster> lament, why should I trust that?
18:22:39 <oklofok> but i'm really monkeys
18:22:45 <AnMaster> lament, also it is March 32
18:22:48 <lament> but today is really the 1st of april
18:22:48 <AnMaster> not 1 April
18:23:03 <AnMaster> lament, go to xkcd and type date into the javascript shell on that page
18:23:06 -!- augur has joined.
18:23:07 <AnMaster> see, it must be correct
18:23:20 <lament> using xkcd in an argument instantly disqualifies you
18:23:22 <lament> from life
18:23:44 <zzo38> Match 32? My calendar says it's Arch 42 and a half.
18:24:11 <AnMaster> lament, har. But I quite liked his unix like shell that he remade the front page into today
18:24:26 <Sgeo> It has an IRC client
18:24:30 <AnMaster> Sgeo, what does?
18:24:35 <Sgeo> unixkcd
18:24:40 <AnMaster> oh didn't notice
18:24:45 <AnMaster> Sgeo, what network does it go to?
18:24:48 <Sgeo> Foonetic
18:24:58 <Sgeo> Type irc AnMaster or something
18:25:11 <augur> i think xkcd should stick with this theme forever.
18:25:13 <augur> i rather like it
18:25:15 <Sgeo> Also, `find kitten` is fun
18:25:19 <zzo38> I just tried the xkcd shell. I typed "pwd" and it responded with "You are in a maze of twisty passages, all alike."
18:25:50 <Sgeo> sudo apt-get upgrade
18:27:07 <AnMaster> Sgeo, saw that
18:27:32 <AnMaster> just tells you everything is fine or something (forgot exact message)
18:28:00 -!- cheater2 has quit (Ping timeout: 245 seconds).
18:28:55 -!- cheater2 has joined.
18:29:13 <Sgeo> AnMaster, not if you're using Firefox < 3, or IE
18:30:04 <Sgeo> AnMaster, look
18:32:01 <AnMaster> Sgeo, I'm using firefox 3.6
18:32:13 <AnMaster> Sgeo, and I doubt my other installed browsers could check it
18:32:30 <AnMaster> (because they are text only and don't support javascript)
18:32:35 <AnMaster> Sgeo, as for "look" yes I saw that
18:32:52 <AnMaster> trivial to solve that once you realised that you were already carrying the lamp
18:33:52 -!- augur has quit (Ping timeout: 258 seconds).
18:35:30 -!- cheater2 has quit (Ping timeout: 245 seconds).
18:39:41 -!- cheater2 has joined.
18:43:42 -!- coppro has joined.
18:47:49 -!- augur has joined.
19:04:27 -!- augur has quit (Ping timeout: 260 seconds).
19:06:11 -!- Tritonio_GR has quit (Ping timeout: 276 seconds).
19:09:01 -!- oklofok has quit (Ping timeout: 252 seconds).
19:10:11 -!- adam_d has joined.
19:18:46 -!- cheater2 has quit (Ping timeout: 264 seconds).
19:22:45 -!- Tritonio_GR has joined.
19:24:15 -!- cheater2 has joined.
19:36:51 <zzo38> When I write a Linux distribution I will have to do some things like, "wg" is like "wget -O -", "e" is "echo", "en" is like "echo" but each parameter is output to a separate line, and so on
19:43:58 <zzo38> I should also do it so that if the window manager's key is pushed and released by itself, it will show/hide mouse pointer (moving the mouse also shows the pointer)
19:45:36 <Gregor> So essentially, you think Linux would be better if it was cryptically difficult to use.
19:45:59 <pikhq> Those are of great confusion.
19:46:08 <zzo38> Well, this is how I would make it, anyways. There would be more two letter commands and one letter commands, for one thing.
19:46:12 <pikhq> And I note that I only recently started using a window manager that reparents.
19:46:31 <coppro> reparent?
19:46:40 -!- oklopol has joined.
19:46:46 <zzo38> I would probably write a new shell, too, with some new features and some removed, and so on
19:46:52 <pikhq> coppro: Most window managers reparent windows so they can draw title bars.
19:47:00 <pikhq> And window borders.
19:48:19 <pikhq> Ratpoison leaves the parent as root, because who needs graphics?
19:48:26 <pikhq> That's not why you're running X, is it, silly?
19:49:06 <coppro> ah
19:49:23 <zzo38> And I also have to make it be: All window manager's functions are accessed with the window manager's key and combination with keyboard and/or mouse, except for clicking the title bar and task bar, which can be done without. Which key is the window manager's key could be configured, and can be indicated "wm-" in emacs notation
19:49:40 <coppro> go ahead
19:49:57 <zzo38> For example, wm-t could show/hide taskbar and wm-tab could switch next window, and so on, like that.
19:50:12 <zzo38> It should hide the title-bar for maximized windows, so therefore I will make it to do tha.
19:50:36 <pikhq> zzo38: That sort of thing is fairly common. I assume you'd go a bit further in that you would make *all* functionality keyboard-accessible, which few WMs use, but... Yeah.
19:50:50 <pikhq> Could quite reasonably just do a few minor patches against Fluxbox for that.
19:51:43 <zzo38> Yes, ake *all* functionality keyboard-accessible. Although, a few things would work with the mouse also because some things might work better with it, for example if you want to size/move a window or select window or stuff graphically (there is three mouse buttons, and also modifier keys, so there is many combinations)
19:52:59 -!- kar8nga has quit (Ping timeout: 276 seconds).
19:52:59 <pikhq> As I said, fairly reasonable, and it would probably not take much work to add to Fluxbox.
19:53:07 <zzo38> So, ALT+mouse won't drag a window unless ALT is the window manager's key. And even if it is, you have to use the middle mouse button.
19:53:23 <zzo38> Because wm key + left mouse button would be used to resize windows instead.
19:54:11 -!- sshc has quit (Quit: leaving).
19:55:57 <zzo38> We don't need any fancy gradient title-bars and 3-D dialog boxes and stuff like that. We don't need any icons or buttons on the title-bar either, the mouse already has three buttons!
19:57:10 * Sgeo is putting his project away for the rest of today, and all of tomorrow
19:57:11 <Sgeo> :D
20:01:39 -!- hiato has joined.
20:01:59 <zzo38> Many two-letter and one-letter command names are not used yet in UNIX, and some things I don't agree how they work (such as wget sending output to the file instead of to stdout, all programs should receive their input from stdin and send their output to stdout, and then you can use < > to redirect to files or | to pipes to other programs)
20:03:12 <hiato> zzo38: rant? :P
20:12:39 <zzo38> And if "pm" is the package manager, you could install an external package with "wg http://example.org/pm/web-browser | pm" or something like that.
20:13:59 <zzo38> Or, probably more like: wg http://example.org/pm/web-browser | s pm -I
20:15:16 -!- adam_d_ has joined.
20:18:08 -!- adam_d has quit (Ping timeout: 265 seconds).
20:20:05 <zzo38> When using a package manager, the path to the install files should be send to stdout and the status information to stderr
20:20:31 <Gregor> Y'know what would be nice? A soundfont for strings that didn't suck UTTERLY.
20:21:21 <coppro> those exist
20:21:25 <coppro> somewhere over the rainbow
20:21:48 <Gregor> Lies.
20:21:51 <Gregor> Filthy, disgusting lies.
20:22:09 <hiato> q:
20:23:19 -!- hiato has quit (Quit: You've been a wonderful audience).
20:23:32 -!- ehirdiphone has joined.
20:23:39 <ehirdiphone> Lo.
20:23:47 <Gregor> Actually, what would be really wonderful is a string quartet that would play what I wanted them to for no money :P
20:24:45 <ehirdiphone> So hey, I've been discharged from the unit. After Wednesday's meeting they decided they could find no problem and that my admission was an error.
20:24:50 <ehirdiphone> :)))))))
20:25:10 <ehirdiphone> ...APRIL FOOLS HAHAHAHA :|
20:25:13 <Sgeo> Hi ehirdiphone. I wish I was certain that that wasn't.. yeah
20:26:23 -!- KingOfKarlsruhe has quit (Remote host closed the connection).
20:27:09 -!- dougx has joined.
20:27:36 * Sgeo wonders if xkcd.com works on the iphone
20:27:43 <ehirdiphone> I'm too tired to even go on the computer. Tomorrow.
20:28:19 <Sgeo> You can't check xkcd.com on the iPhone?
20:28:32 <ehirdiphone> So you'll have three days of me.
20:28:42 <ehirdiphone> Sgeo: Do http:// and maybe
20:28:51 <Sgeo> http://xkcd.com
20:29:01 <ehirdiphone> I hate xkcd, though
20:29:26 <Sgeo> Not talking about the comic
20:29:31 <ehirdiphone> Anyway, everything works on the iPhone. Except Flash.
20:30:55 <ehirdiphone> I'm just on GSM. It does not load.
20:31:11 <ehirdiphone> Fast enough for IRC, though.
20:31:30 * Sgeo is a Reddit admin!
20:31:45 <ehirdiphone> In some dubreddit
20:31:51 <ehirdiphone> Subreddit
20:31:57 <Sgeo> No, globally [mods are what's by subreddit, btw]
20:32:12 <ehirdiphone> Huh, since when?
20:32:18 <Deewiant> Everybody is, since today
20:32:31 <ehirdiphone> And are they as numerous as WP admins?
20:33:33 <Sgeo> Wait, why can't I upvote to infinity anymore?
20:33:43 <Sgeo> Oh, I don't have the admin thing active
20:34:10 <ehirdiphone> I should have known: I wondered why I never saw his posts or comments, if he is so prominent.
20:34:19 <ehirdiphone> Bloomin' Fools.
20:35:01 <ehirdiphone> Daiyen fooles.
20:35:17 <Deewiant> fooels*
20:35:28 <Sgeo> YouTube has a new TEXTp mode
20:35:38 <Deewiant> Unavailable for me
20:35:56 <ehirdiphone> TEXTp?
20:36:00 <Deewiant> http://youtube-global.blogspot.com/2010/03/textp-saves-youtube-bandwidth-money.html
20:37:10 <ehirdiphone> Wow, Epigram 2 was released!
20:37:32 <Sgeo> Epigram programming language?
20:41:19 <zzo38> The next feature they need to add is the one to automatically print out transcripts of videos, without requiring Flash
20:41:44 <zzo38> If they had that feature I would use it.
20:43:26 <ehirdiphone> Sgeo: Yes; and proof assistant. The development of its second version is going at a leisurely pace.
20:47:26 <ehirdiphone> The iPhone needs TeX.
20:47:32 -!- ehirdiphone has quit (Quit: Get Colloquy for iPhone! http://mobile.colloquy.info).
20:47:53 -!- ehirdiphone has joined.
20:48:18 -!- rodgort has joined.
20:48:21 <ehirdiphone> With some sort of drawing support, so I can write stuff and have it unicodified.
20:49:22 <lament> the iphone needs to be softer and more porous
20:49:47 <lament> for a more comfortable tactile experience and better retention of fecal matter
20:50:04 <Sgeo> Saw some article about "Youngest iPhone developer?" Apparently the person's 14
20:50:15 <Sgeo> Somehow, I don't think that sort of thing impresses ehirdiphone
20:50:43 <ehirdiphone> HE CODES FOR THE IPHOME??????22221
20:50:50 <ehirdiphone> Ifoam
20:51:27 <ehirdiphone> Inductive setoid : * := over : Pi (A:*). Pi (R:BinaryRelation A). setoid
20:51:30 <lament> after extensive experimentation, i have to say i still find regular 2-ply paper preferrable to any version of the iPhone
20:53:02 <ehirdiphone> Inductive setoidV : * -> * -> * := mask : Pi (A:*). Pi (R:BinaryRelation A). A -> setoidV A R
20:54:38 <ehirdiphone> Function setoidT : Pi (S:setoid). * := match S with over A R => setoidV A R end.
20:55:15 <ehirdiphone> + implicit argument jiggery:
20:56:21 <ehirdiphone> Type rational : * := setoidT (over (natural x natural) (too lazy))
20:56:23 <fizzie> ehirdiphone: Coincidentally, the N900 repository has texlive.
20:56:33 <ehirdiphone> Heh.
20:56:48 <fizzie> I can't imagine it being very friendly to use.
20:57:08 <ehirdiphone> I need a whiteboard :)
20:57:14 <ehirdiphone> ...and friends :(
20:57:20 <Gregor> laaaaaaaawl
20:57:51 <ehirdiphone> setoid would be better as
20:58:25 <ehirdiphone> Inductive setoid : * := over : Pi (A:*). BinaryRelation A -> setoid.
20:59:10 <ehirdiphone> My cardinality stuff was awesome
21:00:14 <ehirdiphone> Except you need to add that A -> B has cardinality \aleph_0 iff B has. I think.
21:00:21 <ehirdiphone> Yeah.
21:00:46 <ehirdiphone> Or otherwise... Hmm, more than the cardinality of B.
21:01:05 <ehirdiphone> |A| * |B|, I think.
21:01:17 <ehirdiphone> As an axio
21:01:19 <ehirdiphone> m
21:02:03 <ehirdiphone> Can't prove it, requires a bijection from A->B to naturals or finite set (naturals mod some N)
21:03:50 <ehirdiphone> Hmm. Does INF -> FIN really have infinite cardinality?
21:03:57 <ehirdiphone> Naw. Finite.
21:09:46 -!- zzo38 has quit (Remote host closed the connection).
21:10:12 <ehirdiphone> Or wait.
21:10:29 <ehirdiphone> Of course it is infinite.
21:10:46 <ehirdiphone> 0:0, 1:0, 2:0, ...
21:11:00 <ehirdiphone> 0:1, 1:0, 2:0, ...
21:11:18 <ehirdiphone> 0:1, 1:1, 2:0, ...
21:11:20 <ehirdiphone> etc
21:11:57 <ehirdiphone> Type theory has really boring cardinalities
21:12:21 <ehirdiphone> 0 <= card <= \aleph_0
21:13:08 <lament> yawn
21:13:45 -!- adam_d_ has changed nick to adam_d.
21:19:39 <ehirdiphone> It does mean that the biggest thing can be constructed trivially, though — Inductive N : * := z : N; s : N -> N.
21:20:13 <ehirdiphone> Hmm, what of Set and its ilk?
21:20:29 <coppro> red oval, green oval, blue oval
21:20:39 <ehirdiphone> I guess there are only countably infinite types.
21:20:48 <lament> let's number them!
21:20:52 <lament> i'm type 842
21:21:06 <ehirdiphone> You could easily add:
21:21:49 <ehirdiphone> bijections between functions/types tofro naturals
21:22:20 <lament> 8723 :: 23 -> 974
21:22:51 <ehirdiphone> For functions, metajustification: if you can analyse functions' in/out pairs on countably infinite sets it can never exceed their cards
21:23:12 <ehirdiphone> For sets, too lazy to come up with a real justification
21:23:43 <ehirdiphone> Actual implementation for functions could be serialise ast. It doesn't matter.
21:27:59 -!- sshc has joined.
21:37:36 -!- augur has joined.
21:40:02 -!- oerjan has joined.
21:40:50 <ehirdiphone> Hi oerjan.
21:41:17 <oerjan> hi ehirdiphone
21:41:50 <Sgeo> ehirdiphone, can you read email on that thing?
21:42:12 <ehirdiphone> pow S := sum T, forall x:T, x in T -> x in S
21:42:35 <ehirdiphone> So "in" is risky.
21:42:46 <ehirdiphone> or rather
21:42:50 <ehirdiphone> The axiom
21:43:07 <ehirdiphone> (S:*) -> pow S
21:43:11 <ehirdiphone> is risky
21:43:16 <ehirdiphone> Sgeo: Yes
21:43:47 <Sgeo> If you want, read the email I sent to agora BUS: Re: In Honor of B
21:43:56 <Sgeo> Or just http://pastie.org/private/vv0eusi1ahas50htd7w
21:44:56 <ehirdiphone> Heh
21:45:11 <ehirdiphone> No wait pow is subset
21:46:17 <ehirdiphone> pow S := sum T, forall U, (forall x, x in U -> x in S) -> U in T
21:48:56 <ehirdiphone> in : forall T, T -> * -> Prop
21:49:45 <ehirdiphone> in T x U := T === U
21:49:53 <oerjan> <lament> for a more comfortable tactile experience and better retention of fecal matter
21:49:56 <oerjan> ...right
21:50:07 <ehirdiphone> But that doesn't allow for subsets.
21:50:27 -!- dougx has quit (Ping timeout: 265 seconds).
21:54:31 <oerjan> 13:11:57 <ehirdiphone> Type theory has really boring cardinalities
21:54:32 <oerjan> 13:12:21 <ehirdiphone> 0 <= card <= \aleph_0
21:54:46 <oerjan> um i thought cantor's proof was constructively valid
21:54:53 <Ilari> Darn, netcat doesn't seem to support IPv6... :-/
21:55:05 <ehirdiphone> Inductive apart (T:*) : T -> T -> Prop := lfer : forall T, forall x:T, forall y:T, (exists P, P x /\ ~P y) -> apart x y
21:55:20 <ehirdiphone> oerjan: Yeah but you cannot construct the reals
21:55:25 <Deewiant> Ilari: There's a netcat6
21:55:30 <ehirdiphone> Only the computable reals
21:55:42 <ehirdiphone> And they're just functions on rationals
21:55:57 <oerjan> ehirdiphone: but (Integer -> Bool) can have no bijection with Integer, or whatever
21:56:09 <ehirdiphone> Why not?
21:56:12 <ehirdiphone> A
21:56:35 <ehirdiphone> And all that means is that the comp reals have no cardinality as such
21:56:39 <oerjan> (terminating (Integer -> Bool), of course)
21:56:52 <ehirdiphone> Why not?
21:57:17 <oerjan> assume you have a bijection b : Integer -> (Integer -> Bool)
21:57:18 <ehirdiphone> It's just an infinite list of books
21:57:22 <ehirdiphone> Bools
21:57:57 <oerjan> then \n -> not (b n n) gives a contradiction
21:58:09 <ehirdiphone> I think fax said something about this it is only metatheoretivally valid
21:58:16 <ehirdiphone> Theoretically
21:58:33 <ehirdiphone> oerjan: hmm why?
21:58:50 <oerjan> well if (s)he means it in the sense that there _are_ countable models, then that is true of ZFC as well
21:58:59 <ehirdiphone> she
21:59:05 <oerjan> but there can be no bijection _internal_ to the model
21:59:19 <oerjan> or surjection, for that matter
21:59:36 <ehirdiphone> anyway why is that a contradiction? Of course you have no idea what b does
22:00:09 <ehirdiphone> Mind I am really tired
22:00:21 <oerjan> well for b to be a surjection _means_ : forall f : Integer -> Bool, exists n : Integer such that b n == f
22:00:34 <ehirdiphone> Ofc
22:00:39 <ehirdiphone> And?
22:00:52 <oerjan> well let f = \n -> not (b n n)
22:01:04 <ehirdiphone> Ah
22:01:15 <ehirdiphone> Then?
22:01:35 <ehirdiphone> (f n) where b n = f?
22:01:46 <oerjan> yes
22:01:57 <ehirdiphone> Then it is _|_. I see.
22:02:10 <ehirdiphone> So the functions are strictly bigger.
22:02:24 <oerjan> yep
22:02:49 <ehirdiphone> So do we just have |R| or more?
22:03:18 <oerjan> well in ZFC they are of course equal, but here i don't know
22:03:30 <ehirdiphone> I guess R -> R must be bigger.
22:03:36 <ehirdiphone> But. Wait.
22:03:49 <ehirdiphone> oerjan: It cannot be |R| surely
22:03:58 <ehirdiphone> as we cannot constrict the reals
22:04:02 <ehirdiphone> Nstrict
22:04:04 <ehirdiphone> Construct
22:04:16 <oerjan> i assumed you meant something called the reals in your system
22:04:32 <ehirdiphone> I meant beth-one
22:04:38 -!- augur has quit (Read error: Connection reset by peer).
22:04:43 <oerjan> it is afaik _meaningless_ to compare cardinalities from ZFC with cardinalities in your system
22:05:00 <ehirdiphone> Probably.
22:05:01 <oerjan> they're not in the same fundamental theory model
22:05:10 -!- augur has joined.
22:05:15 <ehirdiphone> I wonder what the infinite cardinalities are?
22:05:38 <oerjan> and outside a model, everything can be considered countable if the axioms are (and they must be if things are finite strings)
22:06:03 <oerjan> well cantor's theorem can be iterated of course, to get a sequence of larger sets
22:06:21 <ehirdiphone> Yes. But it needs the reals.
22:06:38 <ehirdiphone> The computable reals are definitely smaller than the reals
22:06:42 <oerjan> um i'm talking about something more fundamental than the reals
22:06:51 <ehirdiphone> because almost all reals are uncomputsnle
22:07:06 <ehirdiphone> oerjan: I'm not paying much attention :)
22:07:06 <oerjan> basically, A^B is _always_ larger than B if A has at least 2 elements
22:07:19 <ehirdiphone> B -> A yeah
22:07:38 <ehirdiphone> bool -> ()
22:07:41 <ehirdiphone> only one
22:07:54 <ehirdiphone> \b.tt
22:08:09 <ehirdiphone> Or A->B?
22:08:26 <ehirdiphone> oh wait
22:08:28 <oerjan> B -> A
22:08:32 <ehirdiphone> A needs two elements
22:08:46 <ehirdiphone> \().true, \().false
22:08:49 <ehirdiphone> not bigger
22:09:25 <oerjan> of course not. for infinite cardinalities in ZFC, A^2 always has the _same_ size as A
22:09:40 <ehirdiphone> "at least" two
22:09:46 <ehirdiphone> Not more :P
22:10:09 <ehirdiphone> |unit -> A| = |A|, surely.
22:10:10 <oerjan> erm i thought you were still confused about A -> B vs. B -> A
22:10:31 <ehirdiphone> Just use arrow notation to restate it :p
22:10:34 <oerjan> A^B is a notation for (B -> A)
22:10:47 <ehirdiphone> I'm confused though.
22:11:03 <ehirdiphone> Oh larger than B
22:11:06 <ehirdiphone> ic ic
22:11:16 <ehirdiphone> Cool.
22:11:26 <oerjan> it's intuitive based on cardinalities, |B -> A| = |A|^|B| in ZFC
22:11:53 <ehirdiphone> So maybe type theory "cardsets" — canonical types of a certain card are
22:12:29 -!- augur has quit (Read error: Connection reset by peer).
22:12:42 <ehirdiphone> N mod m (Fin m), N, N -> Bool, (N -> Bool) -> Bool
22:12:46 -!- augur has joined.
22:12:55 <ehirdiphone> Except what would the last look like...
22:13:23 <oerjan> it presumably could only look at finitely many N for each function
22:13:36 <ehirdiphone> Induction?
22:13:48 <oerjan> oh maybe
22:14:13 <ehirdiphone> Admittedly that's propositions, not booleans, but...
22:14:23 <ehirdiphone> Easy enough to do afaict
22:14:37 <ehirdiphone> Just set P := (=== True)
22:14:55 <ehirdiphone> But you can't have Prop -> Bool
22:15:01 <ehirdiphone> So no not induction
22:15:36 <oerjan> oh
22:17:15 <oerjan> it just feels, intuitively, like if your (N -> Bool) -> Bool function does not recognize its argument somehow (and wouldn't something like the halting problem prevent it from doing so in general) then it cannot really do anything better than testing specific N values
22:17:40 <ehirdiphone> (P z \/ ~P z) -> (forall n, (P n -> P (s n)) /\ (~P n -> ~P (s n))) -> (forall n, P n) \/ (forall n, ~P n)
22:17:48 <ehirdiphone> Excluded middle lol
22:18:11 <ehirdiphone> oerjan: Yeah
22:18:57 <ehirdiphone> that induction would work
22:19:21 <ehirdiphone> say B x := if x then Unit else Bottom
22:19:24 <ehirdiphone> then
22:19:41 <oerjan> food ->
22:21:11 <ehirdiphone> (B (f z) \/ ~B (f z)) -> (forall n, (B (f n) -> B (f (s n))) /\ (~B (f n) -> ~B (f (s n)))) -> Bool
22:21:24 <ehirdiphone> oerjan: So we can do induction
22:22:48 <ehirdiphone> Inductive B : Bool -> Prop := yep : B true
22:23:48 -!- ehirdiphone has quit (Quit: Get Colloquy for iPhone! http://mobile.colloquy.info).
22:28:01 -!- augur has quit (Ping timeout: 248 seconds).
22:31:55 <Sgeo> This is the Epigram language?
22:32:41 -!- augur has joined.
22:36:21 -!- adam_d_ has joined.
22:40:14 -!- adam_d has quit (Ping timeout: 265 seconds).
22:40:58 -!- Sgeo_ has joined.
22:44:06 -!- Sgeo has quit (Ping timeout: 265 seconds).
22:49:23 -!- augur has quit (Read error: Connection reset by peer).
22:49:52 -!- augur has joined.
22:54:24 -!- coppro has quit (Quit: I am leaving. You are about to explode.).
23:02:18 <AnMaster> http://tools.ietf.org/html/rfc5841
23:02:53 <oerjan> sorry, you're two minutes too late. i cannot _possibly_ read this now.
23:02:58 <AnMaster> (1 april RFC this year it seems)
23:03:06 <AnMaster> oerjan, two minutes two late?
23:03:07 <AnMaster> what?
23:03:12 <AnMaster> oerjan, also hi
23:03:45 <AnMaster> "Packets do not have birthdays, so packets can be marked as surprised when they encounter unexpected error conditions."
23:04:05 <oerjan> AnMaster: it's April 2 now
23:04:23 <AnMaster> oerjan, well sure, but RFC are published in US timezones
23:04:29 <AnMaster> oerjan, also it isn't April 2 in UTC
23:04:47 <AnMaster> in UTC you have two hours - 5 minutes left
23:04:50 <AnMaster> get going
23:05:16 <oerjan> that would be _cheating_
23:08:29 -!- FireFly has quit (Quit: Leaving).
23:09:12 -!- FireFly has joined.
23:12:53 -!- charlls has quit (Ping timeout: 258 seconds).
23:18:59 -!- oerjan has quit (Quit: leaving).
23:19:56 <AnMaster> no it wouldn't
23:19:58 <AnMaster> meh
23:22:31 -!- EgoBot has quit (Ping timeout: 258 seconds).
23:22:50 -!- tombom has quit (Quit: Leaving).
23:24:03 -!- HackEgo has quit (Ping timeout: 258 seconds).
23:24:53 * Sgeo_ sends AnMaster a few packets with the user mood >:)
23:25:49 <Gregor> Hahahah, Wikipedia's being clever by using misleading wording instead of outright lies :P
23:26:27 <Gregor> "A Japanese multinational conglomerate (headquarters pictured) investigates how some of its customers were accidentally sent back in time to the year 1999."
23:26:36 <Gregor> (Sony investigating the PS3 date bug)
23:26:51 <Sgeo_> Gregor, Wikipedia always does that
23:27:01 <Gregor> Never looked before :P
23:27:22 <Sgeo_> Hulu has a 3d button
23:27:56 <Sgeo_> http://www.hulu.com/internal/confidential/the-initiative-chapter-1
23:40:59 -!- MigoMipo has quit (Remote host closed the connection).
23:47:40 -!- Oranjer has joined.
23:48:35 -!- BeholdMyGlory has quit (Remote host closed the connection).
00:00:05 -!- oerjan has joined.
00:02:00 -!- Gregor has set topic: History | News: 0 events tunes.org private sector in the beginning of Christ Foundation | http: / / / ~ 2 per year - and through Torah mandelstam. | http://tunes.org/~nef/logs/esoteric/?C=M;O=D.
00:06:08 -!- FireFly has quit (Quit: Leaving).
00:13:39 <pikhq> :)
00:14:01 -!- mibygl has joined.
00:14:19 * mibygl generates a text file containing ten web sites' Terms of Service.
00:14:44 * mibygl delimits them with "bork bork bork bork bork"
00:15:23 <pikhq> Mmm, BSV files.
00:20:41 -!- augur_ has joined.
00:21:18 -!- augur has quit (Read error: Connection reset by peer).
00:21:24 <mibygl> Now I'd like to generate a three-word Markov chain out of this.
00:23:36 <mibygl> I guess three words is too much to ask, so I'm generating a seven-character one instead.
00:24:04 <mibygl> Since the average word contains one and a third characters.
00:26:03 <lament> t a wo c o an a t ch.
00:27:13 <oerjan> ancient inca god of markov chains
00:32:22 -!- adam_d_ has quit (Ping timeout: 265 seconds).
00:37:19 <mibygl> "B. Types of Service is not changes upon the Ass, and all lawsuits brough the injury, the account integer. If a Products or goods the number of your period, The Roster"
00:45:50 -!- augur_ has quit (Ping timeout: 246 seconds).
00:58:55 <AnMaster> <Gregor> (Sony investigating the PS3 date bug) <-- link?
00:59:01 <AnMaster> oh
00:59:02 <AnMaster> front page?
00:59:08 * AnMaster looks there
00:59:16 <oerjan> that's some nice timing
01:03:59 <AnMaster> oerjan, ?
01:04:46 <oerjan> AnMaster: try reloading now
01:04:56 * oerjan whistles innocently
01:05:25 <AnMaster> oerjan, I got the old version still
01:05:28 <AnMaster> in another tab
01:05:35 <oerjan> good :D
01:23:34 <mibygl> Wow, it's surprisingly difficult to create a user from the command line in OS C.
01:23:55 <mibygl> I can't believe that in the 90 versions they've released since OS X, they still haven't fixed that.
01:26:05 <AnMaster> <mibygl> Wow, it's surprisingly difficult to create a user from the command line in OS C. <-- yeah, I heard it is all a chimera that OS .
01:26:25 <AnMaster> try OS X instead :P
01:36:17 -!- Asztal has quit (Ping timeout: 248 seconds).
01:42:01 -!- augur has joined.
02:14:21 -!- augur has quit (Ping timeout: 265 seconds).
02:27:26 -!- augur has joined.
02:32:43 -!- augur has quit (Ping timeout: 265 seconds).
02:34:46 -!- adu has joined.
03:05:00 -!- mibygl has quit (Ping timeout: 252 seconds).
03:11:51 -!- augur has joined.
03:19:27 -!- jcp has quit (Quit: I will do anything (almost) for a new router.).
03:40:36 -!- jcp has joined.
03:51:21 -!- augur_ has joined.
03:51:42 -!- augur has quit (Read error: Connection reset by peer).
04:01:30 -!- Oranjer has left (?).
04:04:33 -!- augur_ has quit (Ping timeout: 265 seconds).
04:07:57 -!- oerjan has quit (Quit: Good night).
04:42:00 <Sgeo_> Got a wireless mouse!
04:51:37 <Sgeo_> It's working
04:51:42 <Sgeo_> Feels a bit fast though
04:52:01 <Sgeo_> And randomly nonworky
05:10:37 -!- charlls has joined.
05:33:04 -!- jcp has quit (Quit: I will do anything (almost) for a new router.).
05:52:56 -!- jcp has joined.
05:57:04 -!- augur has joined.
06:40:14 -!- kar8nga has joined.
06:57:24 <Sgeo_> No one minds if I mutter to myself in the channel, right?
06:57:33 <pikhq> Not generally.
06:58:27 <Sgeo_> Ok. Going to try to work out a sane way to think about AW action scripts to see if it might be TC [given an assumption that TC means you can add more "memory" as needed]
06:59:12 <Sgeo_> So, objects have names, and can, in response to existing, in response to user input, and in response to receiving a signal, send a signal to a name
06:59:23 <Sgeo_> Names do not have to be unique
07:00:46 <Sgeo_> The receiver of a signal can have a timer such that, its "signal done" event occurs some time later. Other objects can interrupt such events and stop them from occuring
07:01:22 <Sgeo_> However, if an object receives a signal, by itself it can't decide "if this I'll do this, otherwise I'll do that"
07:01:38 <Sgeo_> However, names can be changed, and not just by sending and receiving signals
07:01:54 <Sgeo_> I have too much of a headache to think about all of this. I should really just sleep.
07:10:42 <Sgeo_> Night all
07:23:00 -!- MizardX has quit (Ping timeout: 276 seconds).
07:38:22 -!- jcp has quit (Quit: I will do anything (almost) for a new router.).
07:54:32 -!- kar8nga has quit (Remote host closed the connection).
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:07:08 -!- lament has quit (Ping timeout: 240 seconds).
08:10:02 -!- lament has joined.
08:21:35 -!- adam_d has joined.
08:48:20 -!- augur has quit (Remote host closed the connection).
08:54:45 -!- adu has quit (Quit: adu).
09:02:36 -!- augur has joined.
09:37:21 -!- lereah_ has joined.
09:51:46 -!- FireFly has joined.
10:02:25 -!- Asztal has joined.
10:12:27 -!- alise has joined.
10:14:07 <alise> 14:31:55 <Sgeo> This is the Epigram language?
10:14:09 <alise> no it's just me
10:14:26 <alise> 15:04:05 <oerjan> AnMaster: it's April 2 now
10:14:34 <alise> Then you are very late: 12 am is the end of the fools.
10:16:26 <alise> Mart
10:16:47 <alise> A dark delimitation.
10:21:36 <alise> so hey, |Sigma x:T, P| = sum x:T, P
10:21:52 <alise> this is i think one of my favourite isomorphisms ... |x op y| = |x| op |y|
10:22:09 <oklopol> what does it mean?
10:22:13 <oklopol> |.|
10:30:55 <alise> cardinality
10:30:56 <alise> although since we're talking type theory and have no |.| :: Type -> Cardinality
10:30:56 <alise> it's actually more involved
10:30:56 <alise> like |a+b|=|a|+|b| is actually
10:30:56 <alise> hc(a,n) -> hc(b,m) -> hc(a+b, n+m)
10:30:56 <alise> where hc = "has cardinality"
10:30:57 <alise> for instance the statement about sigma would require some sort of function
10:31:11 <alise> ((y:T) -> hc(P[x := y], something))
10:31:22 <alise> where x[y:=z] is variable substitution
10:31:30 <alise> as an assumption
10:34:36 <alise> oklopol: but err you know the type theory notation in general right?
10:34:42 <alise> like a+b is Either a b
10:34:47 <oklopol> no not really
10:34:49 <oklopol> ah okay
10:34:51 <oklopol> yeah i know that
10:34:57 <alise> a*b is -- cartesian product here -- a pair of a and b (cardinality |a|*|b|)
10:35:26 <alise> (non-dependent) a -> b has cardinality |b|^|a|, but using b^a for that like in set theory is ugly
10:35:32 <alise> because, you know, we like our functions
10:35:40 <alise> and having it all in hugely nested superscripts would be silly
10:36:25 <oklopol> sure
10:36:26 <alise> i wonder what the cardinality of Pi (x:T). S is...
10:36:57 <oklopol> where T and S are types?
10:36:57 <alise> product (x:T), |S|? if so that would be so perfect
10:37:00 <alise> yeah
10:37:07 <alise> well let's see
10:37:11 <alise> say cardinality of 3 -> 3
10:37:17 <alise> (a, b, c : 3)
10:37:26 <alise> |3| = 3, obviously
10:37:33 <alise> so it's 3 * 3 * 3
10:37:35 <alise> = 3^3
10:37:38 <alise> yay
10:37:39 <alise> it's right
10:38:07 <oklopol> Pi (x:T). S is basically a definition of TxS where i live
10:38:19 <oklopol> normal math that is
10:38:21 <oklopol> :P
10:39:03 <oklopol> no wait
10:39:34 <alise> oklopol: yeah but S can include x
10:40:05 <alise> refl : Pi (T : *). Pi (x : T). x = x
10:40:31 <alise> * is type of types smaller than *... I don't want to think about its cardinality right now
10:40:53 <alise> but for a given type T, Pi (x : T). x = x has the cardinality of T...
10:40:55 <alise> but you could have more complex things
10:40:55 <alise> consider
10:41:10 <alise> Pi (x : N). Pi (y : N). x = y -> ()
10:41:13 <alise> remember -> is shorthand for Pi so
10:41:20 <alise> Pi (x : N). Pi (y : N). Pi (_ : x = y). ()
10:41:33 <alise> now of course this is the same as Pi (x : N). ()
10:41:34 <oklopol> and to continue my sentence ...it's S^T
10:41:48 <alise> so it certainly isn't the obvious thing
10:42:02 <alise> also () = 1...
10:42:06 <alise> well not the number
10:42:06 <alise> but we call it 1
10:42:10 <alise> because it has one value
10:43:59 <alise> \prod_{E:n=m} -- there's only ever 1 or 0 values of type n=m
10:44:53 <oklopol> Pi (x : T). x = x <<< what does this mean, the type of functions that ...?
10:45:11 <oklopol> sorry about the asynchronicity, i'm doing two things at once and i suck at it.
10:45:51 <alise> Pi (x:T).S is like T->S, but the value of the T is bound to x in S
10:46:08 <alise> its cardinality is product (x:T). S which is fitting because the tw are the same notation
10:46:12 <alise> which is just this isomorphism again
10:47:00 <oklopol> so in Pi (x : T). x = x what does = x mean
10:47:42 <alise> oh
10:47:44 <oklopol> obviously the cardinality of Pi (x : T). x is 1
10:47:47 <alise> x = x is just nice notation for Eq x x
10:47:52 <oklopol> hmm
10:47:58 <oklopol> which is?
10:48:00 <alise> for all values x and y of the same type Eq x y is a type
10:48:10 <alise> and there is
10:48:11 <alise> refl : x -> x = x
10:48:16 <alise> (it has a more complicated type but ... that is the relevant parts)
10:48:19 <alise> (the rest is just type stuff)
10:48:32 <alise> so if we have a value of type x = y, we know that x and y are completely indistinguishable...
10:48:37 <alise> it's just equality
10:49:01 <alise> so we have m,n : N, and we know that m = n
10:49:03 <alise> so the two must be exactly the same
10:49:10 <alise> so we have \x. f x x refl
10:49:18 <alise> which is exactly the same as f, just with less stupid arguments
10:49:23 <alise> http://1.618034.com/blog_data/math/formula.3405.png
10:49:54 <alise> so the cardinality of functions (n:N) -> (m:N) -> n = m -> ()
10:49:59 <alise> is the same as the cardinality of the naturals
10:50:18 <alise> because the only function of type N -> () is \_.()
10:50:24 <alise> well
10:50:27 <alise> not quite
10:50:28 <oklopol> Pi n : N . 1 has cardinality |N|?
10:50:31 <alise> er wait
10:50:35 <alise> the last bit is wrong
10:50:47 <alise> sec
10:50:52 <alise> http://1.618034.com/blog_data/math/formula.3406.png
10:50:53 <alise> obviously
10:50:59 <alise> because 1*1*1*1*... = 1
10:51:16 <alise> note the bold 1 in the |...| denotes the type with one value, tt : 1
10:51:23 <alise> the non-bold 1s are just the regular number 1
10:51:36 <alise> also the product in the |...| denotes dependent functions...
10:51:43 <alise> whereas after it's normal numbery products
10:52:07 <oklopol> so say n : N, then Eq n n is a type? what values are of that type?
10:53:05 <alise> let me just give you the definition in pseudohaskell
10:53:28 <alise> data Eq : forall a, a -> a -> Type where
10:53:37 <alise> refl :: a -> Eq a a
10:53:39 <alise> erm
10:53:45 <alise> refl :: (x:a) -> Eq x x
10:54:29 <alise> http://1.618034.com/blog_data/math/formula.3407.png
10:54:33 <alise> generalised for non-1 result types
10:54:48 <oklopol> i thought i know that already, if x is of type a, then Eq a a is a type. i still don't see what things can be of that type
10:54:54 <alise> note that if T = Bool, |T| = 2, so we have 2^N_0, which is the cardinality of the reals...
10:54:57 <oklopol> *knew
10:55:00 <alise> actually they're the computable reals for us, but
10:55:03 <oklopol> *Eq x x
10:55:11 <alise> no, you are wrong
10:55:17 <alise> if x is of type a, and y is of type a, then Eq x y is a type
10:55:31 <alise> when I restate things it's because you said something that was wrong
10:55:42 <oklopol> x:a -> Eq x x is a type is just a special case of that
10:55:47 <alise> nope
10:55:49 <alise> that isn't even true
10:55:53 <alise> that isn't even remotely correct
10:55:56 <alise> Eq :: (A : Type) -> A -> A -> Type
10:56:05 <alise> refl :: (A : Type) -> (x : A) -> Eq x x
10:56:11 <alise> one is a type one is a value
10:56:15 <oklopol> "if x is of type a, and y is of type a, then Eq x y is a type" <<< i just instantiate this with x and y the same object
10:56:18 <alise> and Eq x y is a type for ALL x and y
10:56:24 <alise> oklopol: but it's IMPORTANT
10:56:29 <alise> because if they had to be the same it would be a useless type
10:56:31 <oklopol> and i get "if x is of type a, and x is of type a, then Eq x x is a type"
10:56:51 <oklopol> god you suck at explaining things
10:56:53 <alise> <alise> refl :: (A : Type) -> (x : A) -> Eq x x
10:56:56 <alise> I have; several billion times.
10:57:08 <oklopol> i'll ask fax at some point
10:57:17 <alise> I didn't sign up to teach type theory to someone who doesn't know it, so it's no surprise I'm not prepared for it.
10:57:23 <alise> refl does not return a type.
10:57:26 <oklopol> oh refl is a value :P
10:57:26 <alise> It returns a value of type Eq x x.
10:57:34 <alise> So is Eq, actually, because types are values. But.
10:57:35 <oklopol> okay thanks
10:57:58 <alise> So we have Eq x y, but only Eq x x is inhabited.
10:57:58 <oklopol> yeah okay i see it now
10:58:05 <alise> All the rest are uninhabited, so we can't prove (give a value) them.
11:03:31 <oklopol> yeah okay i see what Eq is now, the haskell does indeed explain it completely
11:04:26 -!- tombom has joined.
11:05:32 <oklopol> so Eq x y is inhabited by ":)" if x = y, otherwise there's no value of that type
11:06:02 <alise> pretty much yep
11:06:05 <alise> except it's refl not :)
11:06:15 <alise> so obviously if we have m,n:N and m=n, m and n are completely redundant
11:07:49 -!- MigoMipo has joined.
11:35:26 <AnMaster> <alise> 15:04:05 <oerjan> AnMaster: it's April 2 now
11:35:26 <AnMaster> <alise> Then you are very late: 12 am is the end of the fools. <-- ?
11:35:33 <AnMaster> is that UK tradition?
11:35:34 <alise> What?
11:35:42 <alise> Oh; perhaps it is only UK tradition.
11:35:51 <alise> It certainly is but I assumed it was so elsewhere too.
11:35:55 <AnMaster> I never heard of it before at least.
11:36:06 <alise> Well, it has fallen out of favour in this interblaggy world.
11:36:15 <AnMaster> I thought it went on for the whole day
11:36:28 <AnMaster> alise, oh?
11:37:19 <alise> yes
11:50:40 -!- BeholdMyGlory has joined.
11:58:46 -!- MigoMipo has quit (Quit: Konversation terminated!).
11:59:59 -!- MigoMipo has joined.
12:01:49 -!- MigoMipo has quit (Remote host closed the connection).
12:03:32 -!- MigoMipo has joined.
12:12:26 -!- BeholdMyGlory has quit (Quit: Leaving).
12:12:59 -!- BeholdMyGlory has joined.
12:38:57 -!- oerjan has joined.
12:40:50 -!- kar8nga has joined.
12:54:49 -!- MigoMipo has quit (Remote host closed the connection).
13:05:36 -!- kar8nga has quit (Remote host closed the connection).
13:06:38 -!- alise has quit (Ping timeout: 258 seconds).
13:29:32 -!- alise has joined.
13:34:38 -!- oerjan has quit (Quit: leaving).
13:36:12 -!- Tritonio_GR has quit (Read error: Connection reset by peer).
13:47:26 -!- Asztal has quit (Ping timeout: 265 seconds).
14:18:58 <AnMaster> from kernel changelog (for "We believe this is a secure hole that a none privileged user can crash the system." Interesting, err, word choice.
14:21:08 -!- Sgeo_ has quit (Read error: Connection reset by peer).
14:21:41 -!- Sgeo has joined.
14:39:53 <alise> You can access /my/ secure hole hur hur.
14:46:25 * Sgeo wonders how legal it would be to make a language based on the Active Worlds action line stuff
14:50:15 <AnMaster> alise, XD
14:51:32 <AnMaster> alise, another interesting sentence from the same changelog: "Fix this by explicitly storing the end of the biggybacked data in the decompressor, and use that to calculate the compressed image size."
14:51:32 <AnMaster> "
14:51:41 <alise> Biggybacked!
14:52:03 <AnMaster> alise, grandma, what a big back you have!
14:52:24 <alise> Get it?
14:52:26 <alise> Lie on your back?
14:52:27 <alise> Lay?
14:52:28 <alise> It's hilarious?
14:52:29 <AnMaster> augh
14:52:41 <AnMaster> alise, oh it wasn't innuendo?
14:52:42 <alise> I had no idea I was so awesome
14:52:46 <alise> AnMaster: Of course it was!
14:53:09 <AnMaster> as I thought to begin with then
14:57:02 <AnMaster> I have noticed that in the kernel changelog the most awkward English grammar in commit messages seems to be written by *.jp people (according the the email in the author line)
14:57:28 <AnMaster> this is not just in this changelog, but almost every kernel changelog I read so far, which must be quite a large number by now.
14:58:08 <AnMaster> (either that, or Japanese sounding names with an email @intel.com, that is fairly too)
14:58:12 <AnMaster> fairly common*
14:59:39 <alise> Yeah; Standard Japanese Programmer English is a strange breed.
15:00:02 <AnMaster> I wonder why, hm
15:00:30 <alise> Japanese is very different from English.
15:00:40 <alise> And Engrish is ubiquitous in Japanese culture.
15:00:55 <AnMaster> hm
15:01:18 <AnMaster> what about Hollywood movies and such on TV?
15:02:44 <AnMaster> or do they dubb those?
15:02:55 <alise> Presumably.
15:03:00 <alise> They do everywhere else :-)
15:03:05 <AnMaster> not here
15:03:12 <AnMaster> generally they just add text lines at the bottom
15:03:15 <alise> Also I'd say that Japan imports less culture from other countries.
15:03:20 <alise> Probably because we're too busy importing all theirs.
15:04:56 <AnMaster> Someone I know who once visited Germany (for an extended period of time, business stuff iirc) told me that she was bored one day and decided to see a movie at the local cinema. She decided on a Bond movie thinking "oh well, I can always understand the English and ignore the text lines". Unfortunately it turned out it was dubbed.
15:05:06 -!- lament has quit (Ping timeout: 260 seconds).
15:05:19 <AnMaster> In Sweden only movies aimed at children are generally dubbed.
15:05:52 <alise> I suppose you strongly push English there.
15:06:02 <alise> Less so in Germany I would imagine.
15:06:08 <alise> Because people actually speak German ;-)
15:06:22 <alise> Anyway, shoulda pirated it!
15:06:29 <AnMaster> we do generally speak Swedish though :P
15:06:38 <AnMaster> alise, this was during the early 1990s iirc
15:06:45 <AnMaster> so well, that would have been fun
15:06:52 <alise> Hells yeah, ZMODEM!
15:07:31 <alise> "Tarski, one of the early great researchers in set theory and logic, proved that AC is equivalent to the statement that any infinite set X has the same cardinality as the Cartesian product X x X. He submitted his article to Comptes Rendus Acad. Sci. Paris, where it was refereed by two very famous mathematicians, Frchet and Lebesgue. Both wrote letters rejecting the article. Frchet wrote that an implication between two well known truths is not a new
15:07:32 <AnMaster> har
15:07:32 <alise> result. And Lebesgue wrote that an implication between two false statements is of no interest. Tarski said that he never again submitted a paper to the Comptes Rendus."
15:08:12 <AnMaster> AC is not alternating current here right?
15:08:23 <Deewiant> Axiom of choice
15:09:03 <AnMaster> right
15:09:58 -!- lament has joined.
15:11:24 * Sgeo wonders how someone who thought that one was the truth and the other was false would react
15:13:07 <alise> I am pretty sure that is trivially contradictory.
15:13:12 <alise> After all, they were proven to be equivalent.
15:13:21 <alise> So the rejection would be "LOL you made mistake"
15:13:29 <alise> Not "Nice paper, boy. It's shit."
15:17:20 <alise> One reason why the negation of the axiom of choice is trueAs part of a complicatedtheory about a singularity, I wrote tentativelythe following :We apply set theory with urelements ZFU to physicalspace of elementary particles;we consider locations as urelements, elements of U,in number infinite. Ui is a subsetof U with number of elements n. XiUi is the infinitecartesian product and a set of paths.
15:18:01 -!- Sgeo_ has joined.
15:18:45 <AnMaster> alise, I think "LOL you made mistake" would be "somewhat" anachronistic in this case
15:19:07 <alise> STFU Cantor --Wittgenstein
15:19:15 <AnMaster> hah
15:19:33 <alise> Hilbert, you're a fag. Please commit program-suicide. --Godel
15:19:47 <AnMaster> meh
15:20:06 <AnMaster> alise, Pretty sure it was "Gödel"?
15:20:15 <alise> Lazy.
15:20:23 <AnMaster> and that should be transcribed as "Goedel" in English then, shouldn't it?
15:20:50 <alise> Yeah but nobody does.
15:20:57 <alise> lol - "Axiom of Life" = "~choice"
15:21:11 -!- Sgeo has quit (Ping timeout: 258 seconds).
15:21:15 <AnMaster> alise, that's what Hamlet said!
15:21:17 <alise> http://www.facebook.com/group.php?v=wall&gid=2243319629 group of idiots
15:21:49 <alise> well we know that 2b = 2*b
15:21:52 <alise> and as far as types go
15:21:53 <alise> 2 = bool
15:21:55 <Sgeo_> ?
15:21:56 <alise> and a*b = (a,b)
15:21:56 <alise> so
15:22:02 <AnMaster> eh?
15:22:05 <alise> (Bool,b) \/ ~(Bool,b)
15:22:12 <alise> if we interpret ~ as implication of falsehood
15:22:18 <alise> (Bool,b) \/ ((Bool,b) -> False)
15:22:34 <alise> so either you can construct a value of type (Bool,b) or you cannot
15:22:40 <AnMaster> what sort of strange syntax for "and" is (a,b)?
15:22:46 <alise> It's not and.
15:22:53 <AnMaster> oh multiplication then?
15:22:54 <alise> a*b = (a,b) in type theory
15:22:57 <AnMaster> hm
15:22:59 <alise> tuple
15:23:01 <AnMaster> right
15:23:02 <alise> because
15:23:08 <AnMaster> alise, * is somewhat overloaded :P
15:23:12 <alise> |a*b| = |a|*|b|
15:23:17 <alise> and also cartesian product
15:23:37 <AnMaster> alise, is that * = multiplication for the last one?
15:23:39 <alise> plus it meshes well with disjoint union - a+b - |a+b| = |a|+|b|
15:23:42 <alise> yes
15:23:48 <alise> if we do dependent tuples then we have
15:23:58 <AnMaster> wait, does that hold true for C? It doesn't, does it?
15:23:59 <alise> |sum x:T, P| = sum x:t, |P|
15:24:02 <alise> where P involves x
15:24:07 <alise> AnMaster: || is cardinality
15:24:08 <alise> not absolute
15:24:24 <alise> |sum x:T, P| = sum x:t, |P| --- if P is constant, i.e. doesn't involve x
15:24:26 <AnMaster> alise, in "<alise> |a*b| = |a|*|b|" ?
15:24:28 <alise> then this is just |T|*|P|
15:24:29 <alise> AnMaster: yes
15:24:43 <alise> so normal tuples are the degenerate case of dependent tuples
15:24:48 <alise> dependent function arrows:
15:24:48 <AnMaster> well the result is the same for abs() for R though
15:24:59 <alise> ???
15:25:00 <alise> cardinality
15:25:02 <alise> is about sets
15:25:04 <alise> not absolute
15:25:04 <AnMaster> well yes
15:25:08 <alise> |prod x:T, S| = prod x:T, |S|
15:25:15 <alise> if we assume that S doesn't involve x
15:25:17 <alise> then we get
15:25:18 <AnMaster> but the overloaded syntax gets confusing
15:25:22 <alise> |S|*|S|*...|T| times...
15:25:28 <alise> so |S|^|T|
15:25:37 <alise> we actually say the function arrow is S^T in set theory...
15:25:47 <alise> if we assume it involves x of course both of these are more complicated
15:25:54 <AnMaster> where ^ is?
15:25:55 <alise> but it's cool
15:25:59 <alise> AnMaster: exponentiation, obviously
15:26:24 <AnMaster> alise, not that obvious since most of the other syntax wasn't :P
15:26:38 <alise> well it is not my fault you don't know type theory :)
15:26:53 <alise> but sum/product types ar enamed that way because they're basically identical
15:26:55 <alise> *are named
15:27:07 <alise> they're how you['d define addition/multiplication on things like sets if you had to
15:27:12 <AnMaster> alise, It is just that I get confused when the line is possible to interpret sensibly as more than one thing
15:27:16 <alise> addition is obviously union - you add all the elements together
15:27:28 <alise> AnMaster: learn to disambiguate based on context
15:28:24 <AnMaster> alise, well, then ^ could have been XOR as well, not that likely but...
15:29:02 <alise> Incredibly unlikely - because |S|*|S|*...|T| times is obviously |S|^|T|.
15:29:11 <AnMaster> true
15:41:04 -!- Sgeo_ has changed nick to Sgeo.
15:45:52 -!- lereah_ has quit (Quit: Leaving).
15:55:35 <alise> I wish oerjan was here
15:58:49 <Sgeo> He was
15:58:53 <Sgeo> Don't know when
16:02:27 <alise> I mean now
16:05:33 * alise proves False from
16:05:35 <alise> Axiom func : nat -> (nat -> bool).
16:05:36 <alise> Axiom surj : forall f, exists n, forall x, func n x = f x.
16:05:39 <alise> oerjan was right, obviously
16:05:44 <alise> just felt like formalising it...
16:06:47 <Sgeo> I take it to mean that that either at least one of those axioms is self-contradictory, or they contradict eachother
16:07:11 <Sgeo> Wait, surj uses func
16:08:45 -!- MigoMipo has joined.
16:08:58 <alise> Sgeo: it's basically just one axiom
16:09:00 <alise> basically
16:09:11 <alise> if we have a surjective mapping from naturals to functions from naturals to booleans, we're fucked
16:09:12 <alise> restated:
16:09:20 <alise> there are more functions from naturals to booleans than there are naturals
16:09:59 <alise> Informal proof, due to oerjan: Say the mapping is called magic. Consider f n := not (magic n n).
16:10:10 <alise> This is a function nat -> bool.
16:10:21 <alise> We know that for every function nat -> bool, there is a natural number n such that magic n = that function.
16:10:22 * Sgeo tries to understand what surjective means, based on the code. /me fails
16:10:31 <alise> Sgeo: simply the above
16:10:37 <alise> Call f's magic number fn.
16:10:43 <alise> Now consider (f fn).
16:10:47 <alise> = not (magic fn fn)
16:10:50 <alise> magic fn = f, so this is
16:10:54 <alise> = not (f fn)
16:10:59 <alise> So, f fn = not (f fn).
16:11:03 <alise> Contradiction. Q.E.D.
16:11:55 <alise> Sgeo: basically a function A->B is surjective if for every x in B, there exists a y in A such that f(y) = x
16:12:06 <alise> otherwise our nat -> (nat->bool) mapping could just be
16:12:11 <alise> \n.\m.true
16:12:56 <alise> Sgeo: incidentally the axiom of choice is about surjective functions
16:13:18 <alise> it states that every surjective function has a right inverse
16:13:23 <alise> or rather is equivalent to such
16:13:27 <Sgeo> "right" inverse?
16:13:58 <alise> so, for every surjective function f : A -> B, there exists a function g : B -> A such that f(g(x)) = x for every x in B
16:15:39 <alise> Sgeo: The formal proof that there cannot exist a surjective function from naturals to functions from naturals to booleans: http://pastie.org/900407.txt?key=w45dbutwoqcuuxwkqnpq
16:16:04 <Sgeo> Is this Coq?
16:16:06 <alise> I had to define not myself - it seems Coq doesn't have it for booleans.
16:16:06 <alise> Yes.
16:16:31 <alise> Then the proof just went by picking out what surj says about our f - that func n x = f x
16:16:46 <alise> then expanding this to not x = x
16:16:50 <alise> tada
16:17:08 <alise> here's the steps as it goes:
16:17:11 <alise> after the destruction:
16:17:13 <alise> x : nat
16:17:14 <alise> H : forall x0 : nat, func x x0 = notb (func x0 x0)
16:17:14 <alise> ============================
16:17:14 <alise> False
16:17:20 <alise> after the notdistinct:
16:17:22 <alise> x : nat
16:17:22 <alise> H : forall x0 : nat, func x x0 = notb (func x0 x0)
16:17:23 <alise> ============================
16:17:23 <alise> func x x = notb (func x x)
16:17:27 <alise> then I just apply H and tada
16:17:35 * Sgeo needs to learn Coq before attempting to understand this
16:17:41 <alise> (we apply notdistinct because (b <> notb b) is shorthand for (b = notb b) -> False)
16:17:51 <alise> (so if we apply it, Coq realises we need to prove (b = notb b) to achieve our goal of False).
16:18:02 <alise> (which we can do: because surj tells us it is so)
16:18:25 <alise> Sgeo: This also suffices as a proof that the reals are more numerous than the naturals, btw.
16:18:52 <alise> Consider a real number as an infinite string of binary bits (it can just end in 0s if it isn't "really" infinite)
16:18:58 <alise> (nat -> bool) - f n is the bit at position n
16:19:03 <Sgeo> Reals can be treated as functions from .. ah
16:19:08 <alise> so (nat -> bool) ~~ real
16:19:17 -!- jcp has joined.
16:19:24 <alise> so the proof says that we cannot define a function from naturals to reals such that every real has a corresponding rational
16:19:25 <alise> erm
16:19:28 <alise> so the proof says that we cannot define a function from naturals to reals such that every real has a corresponding naturla
16:19:29 <alise> *natural
16:20:27 -!- lament has quit (Remote host closed the connection).
16:27:23 -!- MizardX has joined.
16:49:30 -!- MigoMipo has quit (Remote host closed the connection).
17:02:16 <alise> Agda is crazy
17:14:31 <alise> /home/ehird/code/univ.agda:16,8-11
17:14:32 <alise> □∏_ is not strictly positive, because it occurs in the 5th clause
17:14:33 <alise> in the definition of □_, which occurs in the first argument to □∏_
17:14:33 <alise> in the 5th clause in the definition of □_, which occurs to the left
17:14:33 <alise> of an arrow in the type of the constructor all in the definition of
17:14:33 <alise> □∏_.
17:14:38 <alise> AnMaster: You'd like Agda; it has nice error messages!
17:14:45 <alise> Now to figure out what that perfectly well-formed English is trying to tell me.
17:21:22 <pikhq> Hail, alise.
17:21:32 <alise> Ho.
17:21:43 <alise> You have me on Monday, too - such a special week's end this is.
17:22:24 <pikhq> Whoo.
17:27:50 <alise> I was here yesterday, too: but I was too tired to come here.
17:27:54 <alise> I was on my iPhone here, though.
17:27:57 <alise> So, yeah.
17:36:02 -!- adam_d has quit (Ping timeout: 265 seconds).
17:49:32 -!- ais523 has joined.
17:51:22 <AnMaster> alise, "□" is a square box?
17:51:27 <alise> yes.
17:51:29 <alise> hi alise
17:51:33 <AnMaster> right, not font issues then
17:51:35 <AnMaster> alise, XD
17:51:37 <AnMaster> hello ais523
17:51:42 <alise> AnMaster: it's the magical box of interpretation (I probably should have used brackets)
17:51:46 <alise> err lol hi alise
17:51:56 <ais523> hi
17:51:58 <pikhq> ... Man. Microsoft *still* gets buffer overflows.
17:52:13 <ais523> pikhq: I'm not surprised, that's inherent in C
17:52:20 <ais523> that it's hard to check for them
17:52:28 <pikhq> ais523: Not really. It's inherent in bad programmers for C.
17:52:30 <ais523> in theory, Splint can statically prove a program has no buffer overflows, but it's not very good at it
17:52:33 <AnMaster> ais523, you can avoid such data structures when possible
17:52:55 <AnMaster> of course for a binary stream there isn't any good alternative
17:53:03 <pikhq> I'd say that any programmer bad enough to do that sort of thing shouldn't be allowed to touch C when working.
17:53:15 <AnMaster> (and C doesn't really help with providing other good data structures)
17:54:12 <AnMaster> anyway, why this? Has there been a new windows exploit recently or what?
17:54:29 <pikhq> Nah, reading about how they've started doing... Fuzz testing.
17:55:27 <pikhq> And seeing bunches of buffer overflows in office.
17:56:05 <ais523> pikhq: in binary formats, or XML formats?
17:56:32 <pikhq> As it's the latest version of Office, I'm going to guess "both".
17:57:11 <ais523> buffer overflows in XML is just embarrassing
17:57:14 <AnMaster> fuzz testing can be very useful
17:57:42 * AnMaster remembers finding div by zero errors in both cfunge and ccbi early on using a fuzz tester
17:58:01 <pikhq> AnMaster: What's surprising is that they only started doing it.
17:58:07 <AnMaster> of course, such code isn't very good at finding anything but crash bugs, and only ones that aren't extremely complex to trigger
17:58:56 <ais523> hmm, I wasn't online yesterday
17:59:02 <ais523> any good April Fool's stuff I should look at?
17:59:34 <Sgeo> Two in Agora
17:59:34 <AnMaster> ais523, google used microweeks amongst other things to measure how long searches took
17:59:56 <Sgeo> One good, the other mine
18:00:13 <alise> pikhq: Programming in C is nearly impossible for a human!
18:00:18 <AnMaster> ais523, gigawatts, parsecs, "shakes of a lamb's tail" and Planck times were used too
18:00:22 <ais523> hmm, ok
18:00:27 <ais523> seems surprisingly uncreative for Google
18:00:30 <AnMaster> ais523, oh and the RFC was quite funny too
18:00:33 <AnMaster> ais523, they did other ones too
18:00:40 <Sgeo> ais523, you mean Topeka, right?
18:00:44 <ais523> what was the RFC this time?
18:00:58 <AnMaster> ais523, maps.google.com.au, did directions in Australian slang
18:01:05 <pikhq> alise: I can do it. For many cases not involving stack munging.
18:01:05 <AnMaster> s/u,/u/
18:01:11 <pikhq> (getcontext et al scares me)
18:01:16 <alise> pikhq: Yeah, with what error rate?
18:01:24 <Sgeo> Google was renamed to Topeka
18:01:26 <AnMaster> ais523, oh and the Topeka stuff too yeah
18:01:38 <Sgeo> YouTube videos had a TEXTp option
18:01:42 <AnMaster> oh yeah that
18:01:49 <Sgeo> [not Google] Reddit made everyone an admin
18:01:50 <ais523> Sgeo: ASCII art?
18:01:53 <AnMaster> Sgeo, never got that working, was it flash only?
18:01:55 <Sgeo> Fark headlines were acrostics
18:01:59 <Sgeo> AnMaster, I.. guess
18:02:01 <ais523> also, that reddit thing sounds like utter chaos
18:02:03 <Deewiant> Topeka? Missed that
18:02:09 <AnMaster> Sgeo, as in, couldn't get the html5 stuff to work for it.
18:02:22 <Sgeo> AnMaster, I imagine it might be Flash only
18:02:23 <pikhq> alise: Lower than you'd expect, actually.
18:02:32 <alise> pikhq: I doubt that highly :)
18:02:39 <pikhq> When using getcontext, nearly 100%. :P
18:02:39 <Deewiant> ais523: I think the admin-mode changes were local-only
18:02:58 <Sgeo> The admin stuff including infinite upvotes/downvotes
18:03:01 <pikhq> (which leads me to suspect that I should never, ever touch that.)
18:03:09 <AnMaster> ais523, the RFC was about a tcp option to mark packet mood
18:03:21 <ais523> hmm, as in you could perform admin actions but reddit faked the result rather than actually doing it?
18:03:30 <AnMaster> ais523, mood would be encoded as a string of ASCII chars making up a smiley
18:03:35 <Sgeo> ais523, and stored the result per user, I think
18:03:44 <AnMaster> (don't remember if IANA were supposed to assign them or not)
18:03:48 <ais523> AnMaster: ah, OK
18:03:55 <Sgeo> [unless you changed your own headline, I think]
18:03:56 <Deewiant> AnMaster: It seems that TEXTp wasn't available in parts of Europe, somebody somewhere said that it worked for him through a US proxy but not from home
18:04:07 <ais523> and putting unreasonable registration requests onto IANA is standard with April Fools' RFCs, IIRC
18:04:10 <AnMaster> ais523, anyway: http://tools.ietf.org/html/rfc5841
18:04:19 <AnMaster> Deewiant, hm
18:04:36 <alise> ais523: haha, that's great
18:04:39 <Sgeo> ais523, check Agora?
18:04:44 <ais523> Sgeo: I am
18:05:09 -!- adam_d has joined.
18:05:13 <ais523> Sgeo: the first one where you submitted half the proposal is much funnier, given what happened to Nomicapolis
18:05:35 <AnMaster> <alise> pikhq: Programming in C is nearly impossible for a human! <-- hm. That raises some interesting questions about Kernighan and Ritchie....
18:05:41 <Sgeo> What happened to Nomicapolis?
18:06:30 <ais523> Sgeo: there was an attempt to copy B's ruleset to it, but accidentally only the first half was copied
18:06:38 <AnMaster> ais523, what did reddit do?
18:06:39 <ais523> and the resulting ruleset didn't allow rule changes
18:06:44 <alise> AnMaster: They can't manage it either, they just only publish their successes
18:06:52 <AnMaster> alise, hm...
18:06:55 <ais523> AnMaster: see above, it's me who was asking rather than answering
18:07:09 <Sgeo> ais523, o.O
18:07:11 <alise> In fact almost all existing programming languages are completely infeasible for programming which is why we have so many bugs.
18:07:19 <Sgeo> That does make the accidental post funny
18:07:24 <AnMaster> ais523, I saw the discussion about it, but I was unable to locate the line where it said what they did. Something related to admin I gathered
18:07:30 <alise> But people don't want to do a little more work once than do lots and lots of not much work, so they don't use better languages with good type systems.
18:07:30 <ais523> AnMaster: they made everyone an admin
18:07:40 <ais523> or at least, to think they were, according to what I was told earlier in this channel
18:07:45 <AnMaster> ah
18:07:48 <ais523> this is all second-hand info, though, and the people who actually told me are still here
18:07:53 <ais523> which is why I'm confused as to why you're asking me
18:07:55 <AnMaster> right
18:07:55 <pikhq> alise: ButbutPOINTERS ARE MORE EFFICIENT
18:08:02 <pikhq> :P
18:08:05 <Sgeo> There was a "turn admin on" link for logged in users
18:08:20 <Sgeo> It made an [A] thingy appear next to other user's name
18:08:30 <Sgeo> Which gave options like ban, x-ban
18:08:33 <alise> AGDA I AM CONFUSED
18:08:51 <Sgeo> It randomly did things like 16.14% shill account
18:08:59 <Sgeo> Let you "edit" headlines
18:09:30 <Sgeo> Upvote and downvote a single thing repeatedly. 10 or more repeated upvotes (not sure if it was 10) made it an upvote to infinity
18:09:38 <Sgeo> Similar in the other direction
18:09:56 <Sgeo> I might be forgetting some stuff
18:10:15 <ais523> personally, I think a language which is C + a proof that it doesn't contain buffer overflows, null pointer derefs, etc. is entirely feasible
18:10:24 * ais523 continues to be annoyed at Splint
18:10:33 <ais523> for purporting to do exactly what I want, and failing at it
18:10:49 <alise> Repeated variables in left hand side: n
18:10:52 <alise> I know Agda, god damn!
18:11:01 <AnMaster> pikhq, Nowdays I seldom use C unless I'm fixing code already written in C. I guess I still use C if I need to do something low level enough that a high level language is impractical.
18:11:16 <Sgeo> Watching Ark of Truth now
18:11:56 <alise> How the hell do you do dependent pattern matching in this thing?
18:12:06 <alise> head (witness (S n) f) (successor n) = ?
18:12:09 <alise> complains about repeated ns
18:12:17 <AnMaster> ais523, splint is a good idea. In practise I found it useless. Mostly because it generates parse errors on even the most basic C99 code. And sometimes also on perfectly fine C89 code.
18:12:33 <ais523> AnMaster: even without parse errors, some of its decisions are just bizzare
18:12:43 <alise> sjgdflkgjdfhdklgfhg
18:12:54 <AnMaster> ais523, iirc I managed to get splint to segfault when running it on all C files in a directory. The problematic file was one generated by flex. Never found out what in that file caused it
18:12:57 <ais523> e.g. you can move a closing brace of an inner scope one line without changing the meaning of the program at all, but with a visible effect on splint's output (warning vs. no warning)
18:13:29 <AnMaster> ais523, huh?
18:13:33 <Deewiant> ais523: Well, lint-type things tend to be about style as much as semantics
18:13:38 <AnMaster> ais523, what is it that it warns about then?
18:13:45 <ais523> AnMaster: my guess is, it's just wrong
18:13:57 <ais523> I can't see any explanations for that behaviour other than a bug in Splint
18:14:04 <AnMaster> ais523, if it is just about indention style or something like that, it seems reasonable
18:14:14 <AnMaster> and yes, splint is buggy and unmaintained
18:14:34 <ais523> AnMaster: no, it was about memory leaks
18:15:22 <Deewiant> Well that's a bit messed up, isn't it :-P
18:16:02 <ais523> yes
18:16:29 <AnMaster> I found clang in static analyser mode moderately useful btw. Doesn't detect a lot of stuff yet and somtimes it "crashes"
18:16:34 <AnMaster> Not as in coredump, but as in assert(0 && "Message that only makes sense to a LLVM developer").
18:17:08 <AnMaster> (they seem to love assert(0 && "string") btw)
18:17:23 <Deewiant> Would you prefer assert(!"string")? :-P
18:17:56 <AnMaster> heh
18:18:10 <AnMaster> Deewiant, I would prefer never seeing either when running the program :P
18:18:18 <Deewiant> Well yeah
18:18:24 <Deewiant> But you can't have everything :-P
18:18:50 <alise> THIS DOESN'T WORK
18:20:07 <AnMaster> however, clang in static analyser mode seems to have fairly low number of false positives for me (less than splint certainly!). And it doesn't warn about completely irrelevant stuff...
18:20:40 <AnMaster> can't really tell anything about number of false negatives. A bit hard to know unless you wrote the code with intentional bugs to test the static analyser...
18:21:09 <AnMaster> alise, define "THIS"
18:21:22 <AnMaster> Deewiant, why not btw?
18:21:35 <alise> AnMaster: stuff
18:21:50 <AnMaster> alise, ah.
18:22:05 <Deewiant> AnMaster: Dunno
18:22:16 <AnMaster> alise, very precise description that
18:23:06 <AnMaster> Deewiant, so you stated that I can't have everything without having any good explanation for why that is the case?
18:23:50 <Deewiant> It seems to be the way the world works
18:23:58 <AnMaster> ah
18:24:02 <Deewiant> I can't justify why the world works that way
18:24:07 <AnMaster> right
18:24:39 <AnMaster> hm I first considered asking "why not" to that as well, but that would have been silly
18:28:25 <ais523> hmm, I don't believe the fuzz-testing Office thing, the article about it was posted on april 1 and claims Microsoft used other people's Windows computers as a botnet
18:29:04 -!- Oranjer has joined.
18:31:18 <pikhq> Hmm.
18:32:34 <ais523> Alex Brown deciding that OOXML is doomed to failure seems to be not an april fool's joke, though
18:32:55 <ais523> and that's the same sort of event as Miguel de Icaza noticing that Mono has an unclear patent situation
18:36:20 <Sgeo> "You have watched 72 minutes of video today."
18:41:34 -!- MigoMipo has joined.
18:49:20 -!- Oranjer has left (?).
18:54:42 -!- alise has quit (Ping timeout: 258 seconds).
19:00:25 * Sgeo wants to experiment with unsafeInterleaveIO
19:05:46 <ais523> what does that do?
19:06:12 <Sgeo> Deferrs the IO operation until the value it gives is needed
19:06:20 <Sgeo> Haven't actually tried it yet
19:06:45 <AnMaster> wth, I only get an usable wlan signal on my laptop atm if I hold my hand like I was about to change the angle of the lid...
19:06:48 <AnMaster> that's weird
19:07:05 <ais523> Sgeo: haha
19:07:10 <ais523> so presumably it only works on input?
19:07:43 <AnMaster> the difference is huge too, like -79 dBm vs. -90 dBm for the signal. (My card doesn't report the noise correctly, so no idea about the SNR)
19:07:45 <Sgeo> ais523, well, say, an IO Integer can be made of something that outputs then inputs, so the output SHOULD be deferred until the input is needed
19:07:48 <Sgeo> That's what I'm testing
19:07:59 <ais523> Sgeo: ah
19:08:12 <Sgeo> I'll paste the results
19:08:26 <AnMaster> ais523, I assume you will be able to explain this
19:08:38 <Ilari> AnMaster: Your hand scatters/reflects more of the signal?
19:08:47 <ais523> AnMaster: probably you're reflecting the signal
19:08:57 <ais523> human skin is pretty reflective wrt microwaves
19:09:06 <AnMaster> ais523, it doesn't work unless I actually touch the plastic on the lid though
19:09:41 <Ilari> -90dBm is 1pW and -79 dBm is ~12.6pW... So about tenfold difference...
19:10:01 <AnMaster> if I hold my hand slightly away (a few mm I guess, hard to measure), I get the bad signal
19:10:26 <AnMaster> hm
19:11:35 <AnMaster> Ilari, is that p as in pico?
19:11:46 <AnMaster> oh btw, what does the m stand for in dBm?
19:12:13 <fizzie> The "m" there denotes the reference power is 1 mW.
19:12:16 <Ilari> AnMaster: dB relative to mW. That p was supposed to be multiplier for 10^-12...
19:12:35 <ais523> Ilari: why convert? 10 dBm is a tenfold difference
19:12:39 <ais523> you don't need to convert back into watts
19:13:39 <AnMaster> fizzie, reference as in?
19:13:48 <Ilari> AnMaster: 0dBm => 1mW
19:13:50 <AnMaster> ah
19:14:08 <Sgeo> ais523, http://hpaste.org/fastcgi/hpaste.fcgi/view?id=24603#a24603
19:14:20 <AnMaster> hm, wlan signals are _extremely_ weak then...
19:14:30 <fizzie> AnMaster: Yes, dB is a dimensionless unit; -90 dB could be anything, as long as it is 10^-9 of something.
19:14:41 <Ilari> dBm is the only case I have seen where unit used as reference is not written completely (there's dBV, dBW, etc...)
19:14:47 <ais523> Sgeo: ah, it didn't work?
19:14:56 <Sgeo> ais523, it worked perfectly!
19:14:57 <Sgeo> Look at it
19:15:10 <Sgeo> It only did the interleaved one when it was needed
19:15:18 <ais523> oh, I didn't notice the first wasn't interleaved
19:15:45 <fizzie> The wikipedia dBm page has rather nice table of values; "typical received signal power from a GPS satellite" is listed as -127.5 dBm, or 178 aW. That's not a whole lot.
19:15:47 -!- alise has joined.
19:16:08 <AnMaster> fizzie, isn't dB basically "the range we want is awkwardly large, lets use something logarithmic"? ;P
19:16:16 <Sgeo> alise, I'm in love with unsafeInterleaveIO
19:16:53 <alise> Sgeo: it is as unsafe as the name suggests.
19:17:01 <Sgeo> Howso?
19:17:06 <AnMaster> fizzie, for ratios that is
19:17:14 <alise> Sgeo: it breaks Haskell's purity
19:17:22 <pikhq> It is somewhat less unsafe than unsafePerformIO, but still unsafe.
19:17:26 <AnMaster> though I wrote that above... seems I only thought it
19:17:28 <alise> Shun it.
19:17:35 <alise> getContents is acceptable in small utilities but not large programs.
19:17:52 <Sgeo> Why?
19:17:53 <pikhq> Sgeo: It means that you can suddenly have errors occuring in any function.
19:17:58 <ais523> presumably, because if you use it twice it might only run once
19:18:01 <AnMaster> what does the "interleave" in it signify?
19:18:02 <alise> Sgeo: Because it breaks Haskell's purity.
19:18:09 <alise> Why not just use unsafePerformIO if you don't care about that?
19:18:14 <Sgeo> I meant, how does it break Haskell's purity?
19:18:16 <ais523> oh, that's unsafePerformIO
19:18:17 <alise> AnMaster: basically it splits off a lazy thread of IO
19:18:17 <pikhq> AnMaster: Side effects are interleaved with pure code.
19:18:29 <alise> so unsafeInterleaveIO (... read a file byte by byte)
19:18:30 <AnMaster> alise, ah
19:18:32 <alise> produces a lazy string of the whole file
19:18:33 <Ilari> Satellite signals are usually extremely weak. That's why one usually sees modulations that have low SNR requirement (like QPSK).
19:18:36 <alise> only read as required by evaluation
19:19:02 <alise> consider an unsafePerformIO call that does output
19:19:02 <alise> then random pure code could cause unpredictable output
19:19:06 <alise> depending on the evaluation semantics of the implementation
19:19:09 <alise> all haskell specifies is non-strict
19:19:17 <pikhq> Sgeo: getContents >>= return foo -- You get errors in foo.
19:19:25 <AnMaster> pikhq/alise: and the "perform" in the other one signifies that it isn't lazy then I guess?
19:19:46 <alise> AnMaster: unsafeInterleaveIO :: IO a -> IO a
19:19:53 <alise> unsafePerformIO :: IO a -> a
19:19:57 <AnMaster> aha
19:19:59 <alise> unsafeInterleaveIO is just return (unsafePerformIO x)
19:20:08 <alise> unsafePerformIO is, of course, an abomination of the highest order.
19:20:10 <Sgeo> Wait, what's that in do notation? do { a <- getContents; return a}
19:20:21 <AnMaster> alise, ouch, unsafeInterleaveIO seems very nasty
19:20:25 <AnMaster> why does haskell even have it?
19:20:29 <alise> do {a <- getContents; return foo }
19:20:32 <alise> where foo is a pure expression
19:20:37 <alise> *do { a <-
19:20:47 <alise> AnMaster: because it is useful: consider interact :: (String -> String) -> IO ()
19:20:48 <alise> it is
19:20:58 <AnMaster> ah
19:20:59 <alise> interact f = do s <- getContents; putStr (f s)
19:21:06 <alise> AnMaster: getContents lazily returns all of stdin
19:21:08 <alise> this is convenient
19:21:12 <alise> it is a hack - but it is convenient
19:21:13 <pikhq> AnMaster: unsafeInterleaveIO is useful for various small utilities.
19:21:15 <alise> so the answer is convenience
19:21:16 <AnMaster> hm
19:21:32 <Sgeo> Oh, because while it's, with getContents, lazily going through the file, trying to get more out of the "list" may cause an IO error?
19:21:37 <AnMaster> are the usual "safe" IO facilities implemented using these unsafe ones internally?
19:21:57 <pikhq> AnMaster: No, the unsafe ones are done in terms of the safe ones.
19:22:11 <alise> AnMaster: Neither.
19:22:13 <alise> pikhq: that's nonsensical
19:22:19 <AnMaster> pikhq, err. It isn't 1 April any more...
19:22:23 <Sgeo> alise, maybe pikhq was being sarcastic?
19:22:25 <alise> AnMaster: unsafePerformIO is just an internal thing that hacks around with the uber-internal IO data structure.
19:22:28 <alise> The default IO operations are primitives.
19:22:36 <AnMaster> alise, hm
19:22:40 <alise> The IO data structure is not exposed unless you import internal GHC modules.
19:22:49 <pikhq> alise: getContents is done in terms of unsafeInterleaveIO and 'safe' IO operations. My statement of this came out confused.
19:22:54 <Sgeo> Is my unterstanding correct?
19:22:55 <alise> pikhq: Right.
19:23:02 <alise> Sgeo: pretty much
19:23:07 <alise> it's more insidious but that is one special case
19:23:18 <Sgeo> Examples of insidiousness please?
19:23:39 <AnMaster> alise, hm what language is the io primitives implemented in?
19:23:48 <AnMaster> it would be neat if it was haskell
19:23:52 <AnMaster> but I guess it can't be then
19:23:56 <pikhq> AnMaster: They're part of the Haskell runtime, I'm pretty sure.
19:24:03 <pikhq> Erm. Part of the GHC runtime.
19:24:08 <pikhq> The one bit of GHC that's not in Haskell.
19:24:11 <alise> AnMaster: what pikhq said
19:24:13 <AnMaster> ah
19:24:14 <alise> although the IO data structure is defined in haskell
19:24:20 <alise> and GHC itself is written in haskell (but the RTS is C)
19:24:24 <pikhq> (exception: random things like the evil mangler)
19:24:25 <alise> GHC is really gnarly code
19:24:31 <alise> some parts define the Monad class themselves
19:24:35 <alise> because haskell didn't have it at the time!
19:25:24 <AnMaster> I assume the stuff not implemented in haskell is kept to a minimum?
19:25:48 <alise> What, the RTS?
19:25:54 <alise> It's quite big but it's also rather good.
19:25:58 <AnMaster> hm
19:26:02 <alise> And most of the Prelude is in Haskell.
19:26:05 <alise> Almost all, in fact.
19:26:11 <alise> It's just auto-specialised behind the scenes.
19:29:20 <Sgeo> I just start experimenting with unsafeInterleaveIO, and I get told to avoid it :(
19:29:51 <alise> Well, it is bad.
19:31:24 <Sgeo> My computer just started singing "Good Morning" to me
19:32:23 <alise> :D
19:33:20 <Sgeo> Dear Megavideo: I waited 54 minutes. Now please let me continue watching my video
19:34:57 <alise> Metamath is cool
20:09:14 -!- Oranjer has joined.
20:31:41 -!- alise has quit (Ping timeout: 258 seconds).
20:37:38 <fizzie> You find the strangest things when digging through old home directories; here's a "cp" replacement that copies files by starting two processes, having the first read the input file, the second write the output file, and doing all communication between processes by using the SIGUSR1 and SIGUSR2 signals as the "dit" and "dah" symbols for morse code, and suitable pauses to distinguish words.
20:38:24 <fizzie> I'm not sure why it doesn't just use those two signals as "on" and "off" events (or just one signal to toggle) and timing for even the dit/dah distinguishement; but it's reasonably silly as-is.
20:38:57 <Sgeo> Sounds fun
20:42:10 <Ilari> Reminds me of programming assignment from one course...
20:45:06 <AnMaster> fizzie, so it doesn't work for non-text files?
20:45:28 <AnMaster> fizzie, as for using timing: would be unreliable on a non-realtime OS
20:45:29 <fizzie> AnMaster: Right. But be honest, how often do you need to copy non-text files anyway? Almost never!
20:45:43 <fizzie> Oh, but it's not a problem if you use long enough pauses.
20:45:48 <AnMaster> fizzie, more often than text files!
20:46:02 <AnMaster> only cp command today was to copy a kernel image to /boot
20:46:12 <fizzie> 20 milliseconds between bytes and 100 milliseconds between words, it seems.
20:46:26 <ais523> I don't think I've used cp for about a week now
20:46:38 <AnMaster> I use mv a lot more often than cp
20:46:40 <ais523> I don't copy very often; I did yesterday, but via the GUI
20:53:36 -!- alise has joined.
21:00:12 <pikhq> Gregor: Think maybe you could add the &butiwouldratherbereading= feature to Lonely Dino?
21:00:41 <Gregor> Shouldn't be /too/ difficult, I could cut up the images as they are ...
21:00:55 <pikhq> Mmkay.
21:02:49 -!- adam_d_ has joined.
21:06:17 -!- adam_d has quit (Ping timeout: 265 seconds).
21:06:27 <alise> butiwouldratherbereading?
21:06:35 <ais523> sounds like an April Fool's URL param
21:06:54 <alise> That was a fun April Fool's Day, you guys! To replace T-Rex and company with Reginald and Beartato from Nedroid, I used the trick of a transparent PNG file that masked out the existing graphics. Then, I was free to put any new graphics on top! The empty mask file is here, if you want to play with it.
21:06:55 <alise> And play with it you might want to, because although I've turned off the image replacement by default, it's still available on the site! Just add "&butiwouldratherbereading=nedroid" to any Dinosaur Comics URL and you'll see something like this.
21:07:03 <alise> http://www.qwantz.com/index.php?comic=290&butiwouldratherbereading=nedroid
21:07:06 <alise> amazing
21:07:42 <Gregor> http://www.qwantz.com/index.php?comic=35&butiwouldratherbereading=nedroid
21:07:45 <alise> other params: achewood, pennyarcade, wigu, pokey
21:07:56 <alise> http://www.qwantz.com/index.php?comic=&butiwouldratherbereading=pokey -- thus creating the best comic strip conceivable
21:08:17 <alise> Gregor: MISSINGNO
21:08:30 <Gregor> ...?
21:08:51 <alise> more parameters:
21:08:53 <alise> xkcd
21:08:56 <alise> problemsleuth
21:08:58 <alise> daisyowl
21:09:11 <alise> also
21:09:11 <alise> onewheretrexswearsmore
21:09:27 <alise> http://www.qwantz.com/index.php?comic=548&butiwouldratherbereading=daisyowl
21:12:06 * Sgeo decides that the best way to understand the State monad is to read the source
21:12:56 <ais523> it's pretty comprehensible anyway
21:13:08 <ais523> it's basically what you do in Haskell if you really want to make it an imperative lang
21:13:26 <ais523> although, more fun would be some sort of State variant that stored an associative array with ways to update individual elements
21:13:47 <Sgeo> Like the ST monad except with STRefs only storing one type?
21:14:14 <ais523> that way, you could compile imperative langs almost literally
21:14:25 -!- oklopol has quit (Ping timeout: 248 seconds).
21:15:43 <alise> Sgeo: It's nothing to do with ST.
21:15:49 <alise> ST is an entirely different strange beast altogether.
21:16:14 <pikhq> ST is a safe IO monad.
21:16:22 <Sgeo> alise, different from State [I know], or different from what ais523 is describing [please explain]?
21:16:25 <alise> Well, just the reference part.
21:16:27 <alise> Its semantics are odd.
21:16:30 <alise> Sgeo: oh, I see
21:16:32 -!- kar8nga has joined.
21:16:37 <pikhq> alise: Well. Yes. That's what makes it safe.
21:16:41 <alise> State is simply - you know how you could pass an extra argument to every function, Sgeo?
21:16:47 <alise> And just call with a modified argument to change state?
21:16:55 <alise> State just wraps that into a monad so you don't have to pass it around.
21:16:58 <alise> The semantics are identical,
21:16:59 <ais523> State is pretty much the purest form of a Haskell monad, I think
21:17:00 <alise> *identical.
21:17:03 <Sgeo> alise, I know what it is, I'm trying to understand how it works, which is why I'm reading the source
21:17:07 <ais523> it's a monad, and the monad chain is accessible and user-defined
21:17:36 <ais523> as opposed to most monads which are designed to stop you arbitrarily changing the underlying chain, or even determining anything about it except via accessors
21:17:59 <alise> Monads are so pass.
21:18:43 <ais523> yep, they just get all the press because they're unusual to people who don't know Haskell
21:19:33 <alise> Dependent types are the shiznit.
21:19:51 <ais523> wait, people actually use the word "shiznit"?
21:20:15 <Sgeo> In theory, I could make my own function that is in the State monad that has state and a value passed to it, without using "get" and "put"
21:20:16 <pikhq> I have talked to people who think monads are a gargantuan, subtle, and strange library.
21:20:29 <alise> ais523: Especially when talking about mathematics!
21:20:37 <pikhq> Sgeo: Yes.
21:20:37 <alise> Sgeo: Of course.
21:20:52 <ais523> Sgeo: that's what it's /for
21:20:53 <ais523> /
21:20:55 <pikhq> The State monad is a fairly simple thing. That'd be pretty easy to do.
21:21:12 <alise> ais523: no, he means
21:21:16 <alise> accessing state directly using the constructors
21:21:20 <pikhq> The only thing the State monad grants you is nice sugar for that.
21:21:37 <ais523> alise: ah
21:21:43 <Sgeo> Just to clarify my understanding quickly, a >>= b >>= c is parenthesized as a >>= (b >>= c) ?
21:21:56 <alise> Sgeo: It does not matter.
21:22:02 <alise> The monad laws require the two to be equal.
21:22:09 <pikhq> Sgeo: Yes, but it does not matter for any proper monad.
21:22:24 * Sgeo mindbreaks
21:22:41 <pikhq> That's one of the monad laws.
21:22:57 <Sgeo> Which way of thinking about it would make the definition of >>= for State easier to understand?
21:22:59 <alise> Sgeo: why do you struggle with simple identities?
21:23:02 <alise> Neither.
21:23:17 <ais523> Sgeo: think of "a >> b" as "do a then b"
21:23:25 <ais523> then it's obvious that a >> b >> c the parens don't matter
21:23:34 <ais523> and >>= is just a version where you can grab a return value
21:23:57 <Sgeo> alise, surely there was a time when you struggled with this stuff. When was that?
21:24:32 <ais523> Sgeo: I picked up monads pretty quickly
21:24:34 <Sgeo> [Not necessarily THIS stuff in particular, but Haskell in general, or specific parts of Haskell]
21:24:34 <alise> Oh, absolutely, I struggled with monads.
21:24:55 <alise> But I just seem to notice a sort of pattern where you have issues abstracting out simple laws to understand instances satisfying those laws.
21:25:02 <alise> Maybe I'm wrong.
21:25:17 <alise> Certainly I must have my own flaws in understanding that I do not myself notice.
21:25:54 <pikhq> Rule one with monads: they are simpler than you think. Rule two: they do nowhere near as much as you think. Rule three: there is no magic.
21:26:41 <Sgeo> syntactic sugar doesn't count as magic? :D
21:26:45 <Gregor> Rule four with monads: you may need more pixie dust.
21:27:33 <pikhq> Sgeo: That's no magic.
21:27:38 <pikhq> Gregor: Hah.
21:30:25 * Sgeo thinks he gets State's >>=
21:33:11 <alise> I wish fax was here
21:33:15 -!- comex has quit (Ping timeout: 268 seconds).
21:33:25 -!- comex has joined.
21:34:04 <alise> hi comex
21:34:50 <Sgeo> alise, fax is in #haskell
21:34:57 <alise> Ah.
21:35:10 <Gregor> <alise> I wish fax was here // Awwwww
21:35:19 <alise> to ask about type theory kthx
21:38:33 -!- oerjan has joined.
21:45:31 <Sgeo> Now, I need to learn to understand Functors and Arrows
21:46:04 <pikhq> Functors are trivial.
21:46:09 <pikhq> As are arrows.
21:46:09 <Sgeo> alise, about my learning, I've noticed that I like to read a lot of different tutorials
21:46:15 <oerjan> <alise> if we have a surjective mapping from naturals to functions from naturals to booleans, we're fucked <-- note that "naturals" can be replaced with any set there
21:46:27 <pikhq> Functors are objects where fmap makes sense.
21:46:33 <Sgeo> oerjan, the real numbers don't make up a set?
21:46:53 <oerjan> Sgeo: _in both places_
21:47:33 <Sgeo> >.>
21:47:48 <oerjan> it is indeed true (in ZFC) that there is no surjective mapping from reals to functions from reals to booleans.
21:48:47 <oerjan> also booleans can be replaced with any set that has a self-map without fixpoints (i.e. any set with at least 2 elements in ZFC)
21:49:17 <Sgeo> How much of that relies on the C in ZFC?
21:49:23 <oerjan> (i said it that complicatedly because i'm not sure if those are equivalent concepts in ehird's type theory stuf)
21:49:28 <oerjan> oh, nothing at all
21:49:31 <oerjan> *stuff
21:49:58 -!- pikhq has quit (Read error: Connection reset by peer).
21:50:01 * alise generalises it not to have nat; I realised it didn't need it but didn't think to formalise that
21:50:13 <oerjan> it was just my default theory for it. in fact it is essentially true for constructive set theory as well, which is why alise and i started discussing it
21:51:02 <alise> it is true in type theory of course
21:51:05 <alise> certainly so since I formalised it
21:51:40 <oerjan> in my intuition type theory is almost the same thing as constructive set theory.
21:51:50 <alise> Almost, but not quite.
21:51:54 <alise> Type theory has an equality type for instance.
21:52:09 <alise> And set theory, well, doesn't really have "dependent" sets in any meaningful sense.
21:52:13 <oerjan> i suppose you could have a simpler constructive set theory than that
21:52:15 -!- coppro has joined.
21:52:26 <alise> Plus things like quotient sets and the like - but the fundamental theories, sure.
21:52:31 <alise> oerjan: http://pastie.org/900901.txt?key=gfjqr1tonuchocnutw2dqw
21:53:23 <alise> I am surprised Coq does not already have notb/notdistinct. Or maybe it does?
21:53:30 <oerjan> in fact this is probably a theorem of pure lambda calculus, and the halting theorem, godel's incompleteness theorem and cantor's theorem are all special instantiations of it (diagonalization)
21:54:07 <alise> Oh, wait.
21:54:09 <alise> It exists.
21:54:10 <alise> negb
21:54:27 <alise> Diagonalisation is beautiful.
21:56:00 -!- coppro has quit (Client Quit).
21:58:35 <alise> oerjan: http://pastie.org/900907.txt?key=ny2be0sujqn23hvkcty1fa
21:58:45 <alise> Could generalise it from bool if you want, but...
21:59:41 <oerjan> mhm
21:59:47 -!- pikhq has joined.
22:01:44 <Sgeo> Should I consider rewriting some of my Python stuff in Haskell?
22:02:01 <Sgeo> Actually, most of it is on my old computer, so meh
22:02:20 <alise> oops =
22:02:20 <alise> let e := magic_surj in
22:02:20 <alise> match e (fun n : T => negb (magic n n)) with
22:02:20 <alise> | ex_intro x H =>
22:02:20 <alise> let n := no_fixpoint_negb in
22:02:21 <alise> match n (magic x x) (sym_eq (H x)) return False with
22:02:22 <alise> end
22:02:24 <alise> end
22:03:18 <pikhq> Hey, Internet's back!
22:06:10 -!- tombom_ has joined.
22:08:48 -!- pikhq has quit (Read error: Connection reset by peer).
22:09:02 <oerjan> yay we managed to outrun him again
22:09:12 -!- sshc has quit (Quit: leaving).
22:09:51 -!- tombom has quit (Ping timeout: 260 seconds).
22:10:55 -!- kar8nga has quit (Read error: Connection reset by peer).
22:12:19 -!- coppro has joined.
22:15:06 -!- coppro has quit (Client Quit).
22:20:08 <oerjan> <alise> unsafeInterleaveIO is just return (unsafePerformIO x)
22:20:38 <oerjan> except with a guarantee of not evaluating more than once
22:21:19 -!- coppro has joined.
22:22:35 <oerjan> i used it in Malbolge Unshackled to create an infinite lazy datastructure containing IORefs. afaik that usage is perfectly safe.
22:22:57 <Sgeo> unsafePerformIO can't get evaluated more than once?
22:23:04 <Sgeo> erm, things made with
22:23:19 <oerjan> in theory it can
22:24:50 <oerjan> haskell compilers are perfectly permitted to inline pure code in multiple places
22:34:54 <Gregor> (Hence "unsafe" PerformIO)
22:35:30 <Sgeo> I meant unsafeInterleaveIO
22:35:30 <fizzie> Heh, that's funny; if you have alsamixer open, and then unplug the (USB) sound card it's controlling, you get http://pastebin.com/NL8Sew2t
22:37:33 <coppro> ha
22:37:40 <oerjan> Sgeo: indeed, it would be useless for its purpose if it could be evaluated more than once. imagine do l <- getContents; return (l,l) returning two different lists consisting of unpredictable parts of input
22:38:18 <oerjan> and getContents uses unsafeInterleaveIO internally
22:38:29 <oerjan> (or something very close to it)
22:39:21 <Sgeo> Isn't there some function (Monad m) => m m a -> m a?
22:39:28 <oerjan> yes, join
22:39:36 <oerjan> *m (m a)
22:39:58 <oerjan> 13:21:43 <Sgeo> Just to clarify my understanding quickly, a >>= b >>= c is parenthesized as a >>= (b >>= c) ?
22:40:01 <oerjan> 13:21:56 <alise> Sgeo: It does not matter.
22:40:04 <oerjan> 13:22:02 <alise> The monad laws require the two to be equal.
22:40:27 <oerjan> no, it must be (a >>= b) >>= c, the other one isn't even well-typed
22:40:44 <oerjan> !haskell :i (>>=)
22:41:04 <oerjan> damn egobot always disappearing
22:41:06 <Sgeo> What does it do with IO, and could unsafeInterleaveIO be written without unsafePerformIO using join somehow?
22:41:18 <alise> oerjan: oh of course
22:41:32 <Sgeo> (>>=) :: (Monad m) => m a -> (a -> m b) -> m b
22:41:34 <alise> Sgeo: ?, and no
22:41:35 <Sgeo> --from memory
22:41:49 <oerjan> Sgeo: it defers running the actual action until the result is needed. no way of doing that with join.
22:42:20 <oerjan> Sgeo: it was the fixity/precedence i was looking for, actually
22:42:34 <Sgeo> Oh
22:42:49 <oerjan> infixl 1
22:42:57 <oerjan> so left as you'd expect
22:43:03 * Sgeo still gets confused by fixity
22:43:22 <oerjan> it's associativity and precedence bundled into one
22:43:37 <Sgeo> Then I'm confused by associativity
22:43:47 <oerjan> where associativity is in the syntactic sense
22:44:21 <oerjan> basically, should a >>= b >>= c mean (a >>= b) >>= c, a >>= (b >>= c) or be disallowed altogether?
22:44:37 <oerjan> those are infixl, infixr and infix, respectively
22:44:41 <Sgeo> Which is which.. oh
22:45:26 <oerjan> which side you start combining terms from, essentially
22:45:49 <Quadrescence> HASKELL HAS NO CONCEPT OF FIXITY
22:45:50 <Sgeo> What happens when you mix in other operators of equal precedency?
22:46:17 <oerjan> Sgeo: note that those first two are foldl (>>=) [a,b,c] and foldr (>>=) [a,b,c] respectively
22:46:35 <Quadrescence> actually it does, I was thinking ARITY
22:46:38 <oerjan> or would be, if they were compatible types
22:47:40 -!- tombom_ has quit (Quit: Leaving).
22:47:43 <oerjan> Sgeo: join x intuitively runs x, then runs the result immediately as an action in the same monad. no deferring involved.
22:48:03 <oerjan> and you cannot simulate it without some special function
22:48:41 <oerjan> (of course monads other than IO may not strictly obey the concept of running things immediately)
22:49:45 <Sgeo> What are Arrows?
22:49:54 <oerjan> a type class
22:51:12 <oerjan> a kind of strange bundling of features afaict
22:51:35 <oerjan> they're morphisms in a category, so functions are your main example.
22:52:00 <oerjan> you can compose them with >>> . for functions f >>> g means g . f
22:52:09 -!- Deewiant has quit (*.net *.split).
22:52:09 -!- wareya has quit (*.net *.split).
22:52:09 -!- Slereah has quit (*.net *.split).
22:52:34 <oerjan> but they also include operations to combine stuff "in parallel", using pairs
22:52:36 -!- dixon` has joined.
22:52:39 <dixon`> Haskell blows ass
22:52:42 -!- dixon` has left (?).
22:52:58 <oerjan> e.g. (f &&& g) x = (f x, g x) and (f *** g) (x,y) = (f x, g y)
22:53:11 <oerjan> (again using the function example)
22:53:14 <Sgeo> Well, I'm convinced. Let me brain bleach all my Haskell knowledge.
22:53:25 -!- Deewiant has joined.
22:53:25 -!- wareya has joined.
22:53:32 -!- Slereah has joined.
22:53:42 <Quadrescence> hey talk about the monomorphism restriction
22:53:51 <Quadrescence> also talk about how unstandard GHC is
22:54:11 <ais523> hmm, I don't understand that restriction, as it goes away if you add a type signature
22:54:21 <ais523> that says just what the compiler had inferred anyway
22:54:30 <alise> which is why you disable it
22:54:37 <Sgeo> What _is_ it?
22:54:38 <ais523> why is it there?
22:55:09 <oerjan> ais523: the basic idea is that if you have an equation of the form x = ... then you should be able to expect the right side not to be evaluated more than once, in practice
22:55:25 <ais523> I don't see how that's related...
22:55:55 <oerjan> but if the type involves type classes, then the right side can only be evaluated after you pass the actual type dictionary into it
22:56:13 <ais523> ah, OK
22:57:11 <oerjan> so it must be evaluated at least once for each type it's used with, and it may be hard for the compiler to catch all uses of the same type so even that might be duplicated
22:57:34 <oerjan> that's my understanding of the x = ... case.
22:57:58 <Sgeo> Semantically that should be equiv unless unsafePerformIO is involved, right?
22:58:34 <ais523> semantically it's irrelevant
22:59:12 <oerjan> for the (x,y) = ... and similar cases there is the additional complication that the type of x or y separately might not determine the full type dictionaries to use in the right part, so in that case you're not even allowed to override with an explicit type signature
22:59:52 <oerjan> although the compiler could try to be cleverer there, the standard does not demand it
23:00:24 <oerjan> Sgeo: yes. but someone has apparently coughed up an example where this causes exponential blowup in execution time
23:00:27 <oerjan> iirc
23:00:44 <Quadrescence> this is why I just use C
23:01:24 <oerjan> as for nonstandardness of GHC i don't know, unless you mean its heap of extensions which are optional...
23:01:34 <Quadrescence> """optional"""
23:01:52 <Sgeo> return quadrescence :: IO Chatter
23:02:38 <Quadrescence> Sgeo: that doesn't even make sense
23:02:40 <Quadrescence> nice try tho
23:03:13 <Sgeo> ??
23:04:31 <Quadrescence> oerjan: optional aka turned on by default
23:05:11 -!- fax has joined.
23:06:15 <oerjan> well i don't use ghc so i don't know, i thought you had to use a flag for almost everything
23:06:36 <Sgeo> oerjan, what do you use? Hugs?
23:07:14 <Quadrescence> Sgeo: oerjan is sane and uses Standard ML with MLton
23:07:18 <oerjan> (i've recently downloaded the Haskell Platform, but i just saw that winghci will be bundled only with the coming release so i'm waiting a bit)
23:07:28 <oerjan> other than that, winhugs
23:08:35 <oerjan> (i got seriously annoyed when ghci insisted on waiting for the gvim editor to quit and i see winghci avoids that)
23:09:18 <oerjan> (gvim _tries_ to fork itself to avoid such unless you add a flag, but ghci somehow manages to thwart it)
23:09:39 <Quadrescence> oerjan: why isn't Monad a "subtype" of Functor? (why it doesn't inherit from the Functor typeclass)
23:09:54 <oerjan> Quadrescence: hysterical raisins
23:10:00 <Quadrescence> what?
23:10:10 <oerjan> "historical reasons"
23:10:13 <Quadrescence> oh
23:10:39 -!- Deewiant has quit (*.net *.split).
23:10:39 -!- wareya has quit (*.net *.split).
23:10:44 <oerjan> Functor was invented after Haskell 98 was standardized
23:11:05 <Quadrescence> mathematical functors and monads weren't invented with Haskell
23:11:19 <alise> but at first haskell only had monads
23:11:26 <alise> anyway, I'm feeling so sick that I had better go to bed now
23:11:27 <oerjan> and they've never managed to implement the "case class" feature that is supposed to make things seamless
23:11:27 <alise> goodbye
23:11:32 -!- alise has quit (Quit: Leaving).
23:11:45 <oerjan> er it's not case class
23:11:53 * oerjan is channeling scala
23:12:42 <Sgeo> Is Scala any good?
23:12:48 <Sgeo> Or should I stick with Haskell?
23:12:56 <Quadrescence> Scala is great
23:13:06 <oerjan> i don't know i've just read about it's case classes
23:13:08 <Quadrescence> It has type safety, runs on the JVM, object oriented
23:13:16 <Quadrescence> can run on the android platform
23:13:37 <Quadrescence> still functional
23:13:47 <oerjan> Quadrescence: as of now you only need to implement (>>=) and return to make a Monad. and haskell doesn't currently have a feature that allows you to deduce a _superclass_ method (Functor's fmap) from that, that's what this class something feature would do
23:14:42 -!- wareya has joined.
23:14:44 <oerjan> they would also like to put Applicative in between, there
23:15:10 -!- adam_d_ has changed nick to adam_d.
23:16:29 -!- Deewiant has joined.
23:18:00 <oerjan> there's a lot of duplicated functionality between Control.Applicative and the older Control.Monad, in fact i once counted there were only a handful or so of functions in Control.Monad which were _not_ generalizable to Applicative
23:19:40 <oerjan> some of that is in Data.Traversable as well iirc
23:20:22 -!- MigoMipo has quit (Remote host closed the connection).
23:20:48 -!- Deewiant has quit (*.net *.split).
23:22:40 -!- Oranjer has left (?).
23:23:06 <oerjan> and a bit in Data.Foldable
23:24:00 <oerjan> *its ^^^^^
23:24:14 -!- Deewiant has joined.
23:34:50 <fax> I dont know how to compute the product of gaussian periods
23:37:18 * oerjan looks it up
23:37:39 -!- pikhq has joined.
23:39:50 * oerjan suspects a connection with harmonic analysis of finite abelian groups
23:45:22 <pikhq> INTERNET
23:46:06 -!- Oranjer has joined.
23:46:28 <oerjan> ET INTERN
23:48:44 <fax> if z^5=1 what is the value of z+2z^2+z^4 ?
23:50:00 <fax> apparentnyl it's always a rational, but it's not...
23:50:11 <pikhq> fax: What's the type of z?
23:50:25 <fax> complex number
23:50:31 <fax> complex real*
23:51:30 <fax> I think -1=(z^2+z^4)+(z^3+z^1)=x1 + x2 should mean that x1*x2 is a rational
23:52:57 <Gregor> oerjan: HAWT
23:53:33 <Gregor> It's a good thing Gore created the Internet instead of Clinton, or it would have been the Intern-net *BA-DUM CHING BAD JOKE*
23:53:38 -!- pikhq has quit (Read error: Connection reset by peer).
23:55:30 <oerjan> Data.Complex> [z+2*z^2+z^4 | let r = mkPolar 1 (pi*2/5) , z <- map (r^) [0..4]]
23:55:50 <oerjan> [4.0 :+ 0.0,(-1.0) :+ 1.17557050458495,(-1.0) :+ (-1.90211303259031),(-0.999999999999999) :+ 1.90211303259031,(-1.0) :+ (-1.17557050458495)] :: [Complex Double]
23:56:17 <fax> :S
23:56:24 <fax> what about z^2+z^3?
23:56:50 <oerjan> Data.Complex> [z^2+z^3 | let r = mkPolar 1 (pi*2/5) , z <- map (r^) [0..4]]
23:56:50 <oerjan> [2.0 :+ 0.0,(-1.61803398874989) :+ 1.11022302462516e-016,0.618033988749895 :+ (-1.11022302462516e-016),0.618033988749895 :+ (-1.11022302462516e-016),(-1.61803398874989) :+ 2.22044604925031e-016] :: [Complex Double]
23:57:06 <oerjan> seems to be real
23:57:10 <fax> what the hell
23:57:16 <oerjan> oh
23:57:25 <oerjan> z^2 is the conjugate of z^3
23:57:46 <fax> ooh
23:57:48 <oerjan> since they're inverses and on the unit circle
23:58:10 <oerjan> so it's really just Re (2*z^2)
23:58:17 -!- pikhq has joined.
00:00:28 -!- pikhq has quit (Read error: Connection reset by peer).
00:03:45 -!- pikhq has joined.
00:04:24 -!- pikhq has quit (Read error: Connection reset by peer).
00:05:04 <oerjan> apparently mkPolar 1 is also known as cis
00:05:21 <fax> yes
00:05:27 <fax> "cos + i sin"
00:05:51 <fax> im pissed off about this cyclotomics
00:06:01 <oerjan> yeah i know, i meant it was a defined haskell function
00:07:07 <oerjan> hm
00:07:23 -!- FireFly has quit (Quit: Leaving).
00:08:04 <oerjan> z^5 = 1 and not z = 1 means z^4 + z^3 + z^2 + z + 1 = 0 fwiw
00:08:25 <oerjan> i suppose that's one of the results, but it also is simply polynomial division
00:08:49 <fax> well
00:08:52 <fax> z^4 + z^3 + z^2 + z = -1
00:09:29 <fax> but we should be able to extract two sequences, x1 = z^4 + z^2, x2 = z^3 + z (say) such that x1+x2=-1 & x1*x2 = <some rational>
00:09:35 -!- BeholdMyGlory has quit (Remote host closed the connection).
00:10:13 <oerjan> ah
00:10:25 <fax> it doesn't seem to be true though :(
00:10:49 <oerjan> well z and z^4 are also conjugate, so z+z^2 and z^4+z^3 are conjugate
00:11:06 <oerjan> and multiplying conjugates at least gives a positive real
00:11:20 <fax> 2.6180339887498945
00:11:36 <fax> (that is 1+phi, which is not rational)
00:11:58 <fax> so I'm a bit lost now as for what I should do
00:12:03 <oerjan> another option would be z+z^3 and z^4+z^2
00:12:16 <fax> well that gives 0.38196601125010515
00:12:30 <fax> which is 1/2.6180339887498945
00:13:29 -!- pikhq has joined.
00:13:49 <oerjan> well i don't know this stuff, anyway
00:16:04 <Quadrescence> cyclotomic polys are easy
00:16:05 <Quadrescence> jeez
00:17:51 <fax> !hs let w = exp (2*pi*sqrt(-1)*(1/17)) :: Complex Double in (sum $ map (w^) [3,10,5,11,14,7,12,6])*(sum $ map (w^) [9,13,15,16,8,4,2,1])
00:17:55 <fax> !haskell let w = exp (2*pi*sqrt(-1)*(1/17)) :: Complex Double in (sum $ map (w^) [3,10,5,11,14,7,12,6])*(sum $ map (w^) [9,13,15,16,8,4,2,1])
00:17:59 <fax> `haskell let w = exp (2*pi*sqrt(-1)*(1/17)) :: Complex Double in (sum $ map (w^) [3,10,5,11,14,7,12,6])*(sum $ map (w^) [9,13,15,16,8,4,2,1])
00:18:02 <oerjan> egobot is not here
00:18:42 <oerjan> (-4.0) :+ (-5.06434096082401e-016) :: Complex Double
00:20:10 <oerjan> you may try privmsg'ing lambdabot. prepend with "> "
00:20:23 <fax> *Galois Data.Complex> multiplicativeGroupGenerator 52
00:20:23 <fax> *Galois Data.Complex> map(\i->2^i`mod`5)[1..4][2,4,3,1]
00:20:23 <fax> *Galois Data.Complex> let w = exp (2*pi*sqrt(-1)*(1/5)) :: Complex Double in (sum $ map (w^) [2,3])*(sum $ map (w^) [4,1])
00:20:26 <fax> (-0.9999999999999999) :+ 6.861555643110582e-17
00:20:38 <oerjan> i guess that won't show up here
00:20:53 <fax> multiplicativeGroupGenerator 5 = 2
00:21:13 <fax> orbit of 2 in multiplicative Z/5Z = [2,4,3,1]
00:21:22 <oerjan> hm
00:21:33 <fax> so the periods (w^2+w^3)(w^4+w) = -1
00:21:34 <oerjan> 3 is also a generator, i should think
00:21:37 <fax> but I thought I did this......
00:21:45 <fax> I just pick the first generator
00:22:33 <oerjan> as i said, exp (2*pi*sqrt(-1)*(1/5)) = cis (2*pi/5)
00:22:56 <fax> I don\t understand what I had wrong before
00:23:17 <Sgeo> This mouse still feels too weird
00:23:33 <oerjan> well we didn't try that splitting
00:23:34 <Sgeo> Also, changing the speed of the thing also changes the speed of the trackpad
00:23:39 <fax> (w+w^4)*(w^3+w^4) <------- augh!!!
00:23:41 <fax> im so stupid
00:25:31 * Sgeo switches back to his wired mouse
00:26:28 <oerjan> fax: i was trying to suggest things that were conjugates of each other, if the product was supposed to be negative no wonder that didn't work :D
00:26:51 <fax> oerjan, but you are right -- they are conjugates
00:27:12 <oerjan> um no
00:27:23 <oerjan> if they were conjugates their product would be positive
00:27:42 <oerjan> (w^2+w^3) and (w^4+w), that is
00:27:49 <fax> oh right I see
00:28:23 <fax> so there's a 'fast' way to calculate the value of (w^2+w^3)*(w^4+w)
00:28:31 <fax> but it's really confusind and complicaetd ;D
00:29:03 <oerjan> exactly the right kind of thing for a computer program, you'd think
00:29:46 <fax> I am trying to program this algorithm but it is really a lot harder than anything I have worked on before
00:29:53 <fax> well I guess that is the wrong way to put it
00:29:59 <Sgeo> What if you tried it imperatively?
00:30:01 <Sgeo> >.>
00:34:26 -!- coppro has quit (Ping timeout: 260 seconds).
00:40:17 <fax> this... appears to only work for fermat primes
00:40:27 <fax> but that is not good because there are other primes
00:42:28 <oerjan> oh? what goes wrong for 7, say?
00:42:48 <fax> well give me 10 mins I will try p = 7 on paper
00:43:17 <oerjan> {1,2,3,4,5,6} lessee
00:43:37 <oerjan> {2,4,1} nope
00:44:00 <fax> [3,2,6,4,5,1]
00:44:05 <fax> that's the orbit of 3
00:44:07 <oerjan> {3,2,6,
00:44:13 <oerjan> i was _getting_ there :D
00:44:15 <fax> :P
00:44:16 <fax> sorry
00:45:10 <oerjan> so do you take (w^3+z^2+w^6)*(w^4+w^5+w^1) ?
00:45:19 <oerjan> or would, if it worked
00:46:11 <oerjan> how did i get that z there
00:46:23 <fax> http://www.pasteit4me.com/312001
00:47:01 -!- ais523 has quit (Remote host closed the connection).
00:47:52 <oerjan> huh, so [3,6,5] and [2,4,1], or [3,4] and [6,1]
00:48:36 <fax> [3,4], [2,5] and [6,1]
00:48:45 <fax> so the thing splits into 2*3 or 3*x
00:48:47 <fax> so the thing splits into 2*3 or 3*2 ***
00:48:52 <oerjan> oh any two?
00:49:12 <oerjan> er wait
00:49:17 <oerjan> you multiplied all three
00:49:27 <fax> yeah
00:49:37 <fax> in general if we have an orbit that covers the whole group [a,b,c,d...]
00:50:07 <fax> it seems like you can share it out (one for me, one for you, one for him, one for me, ...) into sets which (obviously sum to -1) and multiply to make a rational number
00:50:21 <fax> but why they multiply to make a rational..... I have no idea
00:50:28 <oerjan> oh you are taking all the cosets of a subgroup?
00:50:38 <fax> hmm
00:50:43 <fax> yes I guess they are cosets aren't they
00:50:54 <fax> the group is Z/pZ by the way (multiplicative)
00:51:10 <fax> (I don'tknow if I neglected to say that earlier)
00:51:31 <oerjan> i understood that much
00:51:42 <oerjan> although i wouldn't call that Z/pZ...
00:52:04 <oerjan> wikipedia used a superscript X
00:53:03 <oerjan> hm since the multiplicative group is cyclic, i guess all subgroups are cyclic too so given by a single element
00:53:26 <fax> oerjan, ooh that explains why you can keep doing it!
00:54:34 <fax> it's a bit usesless to know that y1+y2+y3 = -1 & y1*y2*y3 = 1
00:54:36 <fax> you can't solve this equation
00:54:47 <oerjan> in fact if this is the case you don't need to find a primitive root at all, unless you want to classify everything
00:54:56 <fax> hmmm
00:55:00 <fax> p-1 is always even
00:55:11 <fax> (p > 2)
00:57:21 <augur> also, fax! :D
00:57:24 * augur glomps fax
00:57:28 <fax> hey augur :)))
00:57:40 <augur> i had an idea for a fun little challenge
00:57:46 <fax> the universe thing?
00:57:51 <augur> yeah did i mention it to you?
00:58:00 <augur> ive been modelling simple universes
00:58:08 <fax> what is a universe ?
00:59:11 <augur> ok so in this context, a universe is some topology, some number of particles that inhabit that topology (or some properties over that topology, take your pick), and some number of rules that govern the physics of those particles in that topology
00:59:59 <fax> augur WOLFRAM??
01:00:10 <augur> no.
01:00:19 <fax> this sounds like cellular automata
01:00:24 <augur> im sure you could model (some) of these universes as CAs
01:00:28 <fax> except on arbitrary topology
01:00:31 <augur> but the physics dont have to be defined CAly
01:00:36 <fax> oh there are non-CA rule sets?
01:00:38 <fax> like how
01:00:44 <augur> well you could do so if you wanted.
01:01:21 <augur> just as an example, imagine you had an infinite discrete universe with a particle occupying one position in the universe
01:01:46 <augur> you could say that it has a constant velocity in some direction and so forth
01:01:53 <augur> im sure you could also define a CA for this tho
01:06:12 <augur> so do you know the setup of the game?
01:07:39 <fax> I guess so
01:07:42 <fax> it sounds very difficult
01:08:09 <augur> it is rather, i think
01:08:15 <augur> just to reiterate, the game goes like this
01:08:44 <augur> i secretly design a (simple) universe. then i provide to you the causal graph of the universe
01:08:52 <fax> oerjan, btw -- x1 = z^3+z^6+z^5 ; x2 = z^2+z^4+z^1 gives x1 = -1/2-sqrt(-7/4) ; x2 = -1/2+sqrt(-7/4)
01:08:53 <augur> and you have to determine the design i used.
01:09:11 <fax> augur, the causal graph is a picture ?
01:09:25 <fax> augur I want to try this but I am not likely to win
01:10:08 <augur> the causal graph is basically just a directed graph, where each node is one of the possible configurations of the universe, and each directed arc connects a configuration to a "successor" confiuguration
01:10:17 <fax> so the problem is, I know that z^3+z^6+z^5 = -1/2-sqrt(-7/4) -- but that doesn't help me find any expression for z^3 or whatever
01:10:22 <augur> ie the configuration the universe would be in after running the physics one time unit forward
01:11:27 <augur> you could imagine a universe with a single point in it, and that point has a single property Energy that is one of the integers, and the "physics" is such that Energy increases by one every time step
01:11:51 <oerjan> well z^3 is a 7th root of unity, i don't know whether they can be expressed with real roots
01:12:13 <augur> so the causal graph of this universe is basically 0 -> 1 -> 2 -> 3 -> ... where each state corresponds to one of the configurations {(point, energy)} of the universe
01:12:24 <augur> does this make sense, fax?
01:12:46 <fax> vaugely :)
01:13:00 <augur> or imagine you have a universe that is a string of text
01:13:04 <augur> of length 3
01:13:23 <augur> with say 1 of 26 "particles" (letters) in each position
01:13:34 <augur> "aaa", "aab", ...
01:13:35 <fax> oerjan, well there is a theorem that every root of unity can be expressed in radicals (from Gauss)
01:13:39 <augur> these are the configurations of this universe
01:13:53 <oerjan> fax: oh
01:13:55 <fax> oerjan, but I am completely failing to see how it works for non-fermat primes
01:14:02 <augur> then theres some physics that says each "configuration" is followed by, lets say, the "next" string
01:14:13 <augur> or god only knows what the universe is, right
01:14:22 <fax> augur yeah I get that it just seems if you can choose any rule you want that it's impossible to figure it out
01:14:33 <augur> well let me give you a very simple one :)
01:14:37 <fax> ok
01:14:42 <augur> here is a simple causal graph: 1 -> 1
01:16:05 <augur> this is the simplest universe i can think of
01:16:30 <fax> that sucks
01:16:31 <fax> :/
01:16:39 <fax> idiot universe
01:16:41 <augur> cmon, think of what kinds of universes this could be :)
01:16:49 <augur> what is the universe and the physics
01:16:59 <augur> actually its a whole class of universes, but
01:17:01 <fax> the universe is {1} and the physics is I
01:17:35 <augur> basically, yeah. the universe is a 1x1 universe with no particles (or 1 particle) and no physical laws that change anything.
01:17:51 <augur> alternatively it could be seen as any universe with no particles an no physical laws that change anything
01:18:05 <augur> heres the next simplest one i can think of
01:18:08 <augur> 1 -> 1, 2 -> 2
01:18:24 <fax> the universe is {1,2} and the physics is I
01:18:28 <fax> ?
01:18:37 <augur> well, what do you mean bye {1,2}?
01:18:40 <fax> idk
01:18:47 <augur> the 1 and 2 that i used are just names for configurations
01:18:47 <Gregor> What do you mean, BYE! {1,2}
01:18:51 <fax> it's just the nodes of a graph
01:18:55 <fax> there are no edges yet
01:18:56 <Gregor> (Sorry, couldn't help myself)
01:19:10 <augur> but the nodes in the graphs are not the universe
01:19:25 <augur> the universe is a topology plus a physics that this graph describes
01:20:14 <augur> the universe envisioned is as follows:
01:20:30 <augur> a 1x2 universe with one particle (which can be in either location) and no physics
01:20:54 <augur> or, a 1x1 universe with one particle (which can be pointing in either one of two directions) and no physics
01:21:12 <oerjan> no, it's a particle which can be either red or blue!
01:21:17 <augur> the configurations for the former are: [o| ] and [ |o]
01:21:23 <augur> oerjan, :)
01:21:33 <augur> and for the latter: [<] and [>] lets say.
01:22:43 <augur> heres another universe thats similar: 1 -> 1, 2 -> 2, 3 -> 3, 4 -> 4
01:24:34 <augur> im sure you can imagine what this is
01:24:58 <oerjan> yes, it's a 1x2 universe with two particles *ducks*
01:25:04 <augur> nope :)
01:25:14 <augur> unless you hve some physics in there
01:25:24 <oerjan> well no physics
01:25:29 <oerjan> nothing changes
01:25:30 <augur> then definitely not
01:25:38 <augur> because that universe would be [o|o]
01:25:44 <augur> and would have only one state
01:25:55 <augur> making its causal graph the same as the first universe: 1 -> 1
01:25:56 <oerjan> you didn't say particles couldn't be in the same position
01:26:07 <augur> ahhaaa good thinking oerjan :)
01:26:12 <augur> then yes, you're right
01:26:15 <augur> it could be that universe
01:26:42 <oerjan> anyway i predict the number of possibilities will become hopelessly large, fast
01:26:49 <augur> or it could be a 1x1 universe with a particle that faces one of four directions, or two particles that face one of two directions, or, ...
01:26:58 <augur> well, the number of possibilities might
01:27:08 <augur> but im not looking for _my_ solution, just _a_ solution
01:27:28 <augur> so heres another universe thats kind of interesting
01:27:33 <oerjan> "faces directions" sounds similar to momentum.
01:27:47 <augur> :)
01:28:09 <augur> 1 -> 2 -> 3 -> 4 -> 5 -> 6 -> 1; 7 -> 1; 8 -> 4
01:28:15 * Sgeo wants to use Haskell for everything
01:29:07 <augur> ill even be generous and tell you the physical makeup of the universe
01:29:13 <augur> 1x2, one particle.
01:30:07 <oerjan> well we have 2^3 states, so one bit could correspond to position of particle
01:30:30 <augur> ok :)
01:30:42 <augur> thats a truism, ofcourse
01:30:52 <augur> because, modulo anything else, the particle can be in exactly two positions
01:31:03 <augur> so the universe has at least 2*n configurations
01:31:06 <oerjan> well it means the particle can have 4 inner states in each position
01:31:13 <augur> ok
01:31:27 <augur> you're veeeery close
01:31:33 -!- Oranjer has left (?).
01:31:41 <augur> now just figure out what the physics is :)
01:31:46 <oerjan> it could point in each of four directions
01:31:54 <augur> true.
01:32:44 <oerjan> hm...
01:33:01 <oerjan> i make it a rule that the particle is _always_ changing position, each step
01:33:06 <augur> ok
01:33:50 <oerjan> so 1,3,5 and 8 correspond to the same position, 2,4,6,7 to the other
01:34:02 <augur> ok
01:34:30 <oerjan> now we can say that 7 and 8 are both pointing down
01:34:35 <augur> ok
01:36:20 <augur> btw, when you interpreted 1x2, did you interpret that to be 1 high or 1 across?
01:36:38 <oerjan> the particle always rotates its pointing direction each step, but skipping the down direction
01:37:02 <oerjan> i believe this gives the required graph
01:37:15 <oerjan> 1 high
01:37:19 <augur> ok
01:37:25 <augur> thats what i intended :p
01:37:42 <oerjan> er what's what you intended
01:37:59 <augur> 1 high
01:38:37 <oerjan> 1 and 4 point left, 2 and 5 up, and 3 and 6 right
01:38:45 <oerjan> and rotation is clockwise
01:39:04 <augur> ok
01:40:27 <augur> thatll do it :)
01:41:26 <augur> now let me do one thing to my universe: expand the size to 2x2 now. the causal graph is as follows:
01:41:41 <oerjan> this analysis was made somewhat easier by the fact it contained two aspects that did not interfere with each other
01:42:00 <augur> 1 -> 2 -> 3 -> 4 -> 5 -> 6 -> 7 -> 8 -> 1; 9 -> 10 -> 1; 11 -> 12 -> 3; 13 -> 14 -> 5; 15 -> 16 -> 7
01:42:17 <augur> identical physics, one particle, just in 2x2 not 1x2
01:42:34 <oerjan> what do you mean by identical physics?
01:42:39 <augur> that is, not the physics oyu just devised, but the physics that i had in mind.
01:42:44 <oerjan> ah
01:42:49 <augur> as before.
01:42:57 <augur> so this universe and the previous one are different _only in size_
01:43:02 <oerjan> now we have 4 positions rather than 2
01:43:07 <augur> we do.
01:43:32 <oerjan> and there are still 4 inner states possible
01:43:39 <augur> indeed.
01:43:49 <oerjan> assuming those can be selected independently
01:43:53 -!- coppro has joined.
01:44:21 <augur> well they can, but the physics constraints which configurations are possible as next configurations.
01:44:51 <augur> for all of this you can assume that all properties of particles are independent of their position
01:45:44 -!- mibygl has joined.
01:45:54 -!- pikhq has quit (Read error: Connection reset by peer).
01:51:21 -!- Oranjer has joined.
01:51:48 <oerjan> this time there are 8 non-repeating states, while there were only 2 the last time
01:52:17 <augur> you mean states which, once left, are never again reached?
01:52:18 <augur> yes.
01:52:46 <augur> ill give you an even better hint
01:52:56 <augur> if you think of the particle as a robot instead, the physics makes more sense.
01:53:44 <oerjan> which means doubling the positions did not just add an extra irrelevent bit, it has to interfere with stuff
01:53:53 <augur> nope. :)
01:53:55 <oerjan> *irrelevant
01:54:12 <oerjan> otherwise, there would be only 4 non-repeating states
01:54:14 <augur> there is no constraint on the configurations that the particle can appear in
01:54:40 <augur> the particle can be found in each of the four positions in each of the four states.
01:54:46 <oerjan> i mean the new bit and the old ones have to have physical interaction
01:55:24 <augur> let me know if you want more hints
01:55:40 <oerjan> <augur> 1 -> 2 -> 3 -> 4 -> 5 -> 6 -> 7 -> 8 -> 1; 9 -> 10 -> 1; 11 -> 12 -> 3; 13 -> 14 -> 5; 15 -> 16 -> 7
01:55:52 <augur> yep :)
01:57:01 <oerjan> there is still room for one bit aspect that does nothing but flip each turn (in fact this is clearer here since you numbered things to alternate odd/even turns)
01:57:25 <augur> remember, im not using your physics but mine. so you cant assume its doing what yours did :)
01:57:30 -!- pikhq has joined.
01:57:49 <augur> want another hint?
01:57:52 <oerjan> no, but i _am_ assuming i have to come up with something that fits the previous one as well
01:58:11 <oerjan> otherwise this would be easy
01:58:14 <augur> :)
01:58:31 <augur> hint: its not always changing position, nor internal state, during each time step.
01:58:46 <augur> but it *is* at least changing one of them
01:58:59 <oerjan> um the last point is obviouas
01:59:02 <oerjan> *-a
01:59:13 <augur> just making sure that it was :P
02:00:52 <oerjan> hm...
02:02:01 <oerjan> i think i've got it, just checking
02:02:37 <oerjan> <augur> 1 -> 2 -> 3 -> 4 -> 5 -> 6 -> 1; 7 -> 1; 8 -> 4
02:02:51 <augur> what about it
02:03:00 <oerjan> just checking it gives the same
02:04:48 <oerjan> ok
02:05:57 <oerjan> each step, _if_ the particle is pointing toward another reachable position, it moves there. otherwise it rotates clockwise. this fits both universes.
02:06:07 <augur> bingo. :)
02:07:10 <oerjan> yay
02:07:58 <augur> now figure out the structure of this universe, given those physics, and 1 particle:
02:08:29 <oerjan> hm this is turning out more interesting than i expected :P
02:08:48 <augur> 1 -> 2 -> 1; 3 -> 4 -> 3; 5 -> 6 -> 5; 7 -> 8 -> 7; 9 -> 10 -> 1; 11 -> 12 -> 2; 13 -> 14 -> 3; 15 -> 16 -> 4
02:09:07 <augur> so tell me the geometry of the universe.
02:09:08 <oerjan> the same physics? ok.
02:09:46 <augur> you can already figure it must be a universe with 4 positions. but what are their arrangement, and is there more to the geometry than just that.
02:10:25 <oerjan> there is at least some toroidal stuff going on
02:10:44 <oerjan> that's the only way you could flip between two states with those physics
02:11:33 <oerjan> wait four positions...
02:11:44 <oerjan> oh wait yes
02:20:42 <fax> so I'm a bit disappointed
02:20:57 <fax> I thought this program would be able to derive solution for the cubic equation and stuff like that
02:21:03 <fax> but it seems like you have to hard code all that in :[
02:21:12 <fax> (in the roots of unity subroutine)
02:21:24 <fax> (unless I am [hopefully] missing something)
02:25:41 <augur> no ideas yet, oerjan? :)
02:25:53 <oerjan> augur: the universe is 2x2, with the left edge and right edge wrapping to each other. one (but not the only) assignment of states to positions is:
02:25:56 <oerjan> 1/6/10/15 2/5/12/13
02:25:58 <oerjan> 4/7/9/16 3/8/11/14
02:26:07 <augur> :)
02:26:09 <augur> bingo.
02:27:13 -!- adam_d has quit (Ping timeout: 265 seconds).
02:28:13 <augur> you might want to look at larger universes, and see if there are any parallels between them when you wrap one dimension
02:28:36 <augur> or see if there are parallels between when you wrap one dimension and when you wrap a second
02:29:10 <augur> oerjan, if you enjoy this, i can try to put up a site with a bunch of these
02:29:44 <oerjan> for the first, there would be 2*n final cycles where n is the number of rows
02:29:58 <oerjan> one for each going left, the other right
02:30:13 <oerjan> and each of length m
02:30:43 <augur> right
02:31:04 <augur> and each of those cycles would have m incoming paths of length n
02:31:14 <augur> well, half of them would
02:31:30 <oerjan> there are 2*m*n cycles
02:32:03 <oerjan> um no
02:32:09 <augur> there are actually 2*n cycles
02:32:16 <augur> you were right the first time
02:32:33 <oerjan> um s/cycles/states in cycles/
02:32:56 <oerjan> actually, only the top and bottom rows would have incoming paths
02:33:05 <augur> right yes, sorry :)
02:33:19 <oerjan> m*n each
02:33:50 <augur> now are there any salient relationships between the unwrapped universe and the wrapped universe?
02:34:12 <oerjan> n to each of the m states in the cycle
02:35:10 <oerjan> well the downwards and upward paths still exist in both
02:35:45 <oerjan> the unwrapped universe has only one cycle, along the border
02:36:30 <augur> true
02:36:37 <oerjan> with 2*(m+n) states in it
02:36:42 <augur> look at the state graphs
02:36:51 <augur> keeping the state labels the same in both
02:37:49 <oerjan> no idea
02:38:40 <augur> try it and see ;)
02:38:55 <oerjan> well, everything _not_ approaching a border is of course the same
02:39:11 <oerjan> edges, that is
02:39:17 <augur> you mean everything that _is_ approaching a border
02:39:23 <augur> well, half the borders
02:39:26 <augur> because half the borders remain
02:40:05 <oerjan> by approaching i mean being next to, about to collide with it or pass through
02:40:32 <oerjan> and yeah only the changed borders
02:40:48 -!- Gracenotes has quit (Quit: Leaving).
02:40:53 -!- samosa has joined.
02:40:58 <oerjan> hm
02:41:06 <samosa> Hello
02:41:19 <samosa> Im new.
02:41:21 * augur eats samosa
02:41:26 <samosa> What is this channel for?
02:41:30 <samosa> :o
02:41:43 <oerjan> augur: conclusion, only 2*n edges are actually removed and 2*n added
02:41:49 <augur> :)
02:41:51 <oerjan> esoteric programming languages
02:42:02 <samosa> ooh
02:42:20 <samosa> ??
02:42:23 <samosa> -__-
02:42:36 <samosa> lulz, i mean what does esoteric mean?
02:43:17 <oerjan> in this case it means weird and often useless
02:43:22 <pikhq> Esoteric, (adj.): unusual and not well-known.
02:43:47 <samosa> i see
02:44:40 <oerjan> ^bf >+++++++++[<++++++++>-]<.>+++++++[<++++>-]<+.+++++++..+++.>>>++++++++[<++++>-]<.>>>++++++++++[<+++++++++>-]<---.<<<<.+++.------.--------.>>+.
02:44:40 <fungot> Hello World!
02:45:35 <oerjan> also frequently unreadable
02:45:48 <mibygl> Can fungot do ///?
02:45:48 <fungot> mibygl: you don't know what is correct?) not declared in this scope points to *here*" ( or newline).
02:46:07 <oerjan> not that i know of
02:46:34 <oerjan> unfortunately a couple of our bots are missing, including the one with most esolangs in it
02:46:57 <oerjan> on the other hand, fungot is _written_ in one (and implements two others)
02:46:58 <fungot> oerjan: please note how carefully i used capitalization, rather than against mine except for locative-object ( which makes no sense
02:47:37 <mibygl> Can I ask fungot what languages e implements?
02:47:38 <fungot> mibygl: and the best, mmh.
02:47:43 <oerjan> mibygl: um, someone claimed you were == uorygl, is this correct?
02:47:48 <oerjan> ^help
02:47:48 <fungot> ^<lang> <code>; ^def <command> <lang> <code>; ^show [command]; lang=bf/ul, code=text/str:N; ^str 0-9 get/set/add [text]; ^style [style]; ^bool
02:47:52 <mibygl> Correct.
02:48:08 <mibygl> If I were not uorygl, I would be impersonating uorygl, which is not a nice thing to do.
02:48:24 <mibygl> So fungot only implements two languages? Bah.
02:48:24 <fungot> mibygl: eh what?
02:48:27 <augur> so oerjan, did you want me to put up one of those sites?
02:48:48 <oerjan> you mean having the same last 3 letters is impersonating?
02:48:58 <mibygl> If those letters are "ygl", yes.
02:49:27 <mibygl> On another network, instead of uorygl/mibygl, I'm Warrigal/Mibbigal. That's also an impersonation sort of thing.
02:49:54 <oerjan> augur: i don't think i'll be spending a lot of time on it, honestly. but who knows.
02:50:04 <augur> aww ok.
02:50:26 <augur> what if i offered a cash prize for a theory of how to infer properties of the universe from the properties of the causal graph?
02:50:27 <augur> :p
02:50:48 <oerjan> mibygl: you have to note that fungot implements those languages _in_ befunge
02:50:49 <fungot> oerjan:, so i'd like to keep the secret weapon secret!" if you eval what magic outputs in javascript, but there would be
02:51:09 <mibygl> Grr, I want a ///bot.
02:51:23 <oerjan> (it does not expose befunge itself to others than fizzie, presumably for security reasons)
02:53:22 <oerjan> hm fungot does have definable commands though
02:53:22 <fungot> oerjan: which wasn't that fnord at all
02:53:30 <oerjan> ^show
02:53:30 <fungot> echo reverb rev rot13 rev2 fib wc ul cho choo pow2 source help hw srmlebac uenlsbcmra scramble unscramble
02:53:34 -!- sshc has joined.
02:53:49 <oerjan> mibygl: just write a /// interpreter in brainfuck and you'll be all set ;D
02:54:52 <oerjan> Gregor: your bots are missed
02:55:21 -!- pikhq has quit (Read error: Connection reset by peer).
02:55:44 <Gregor> I wish I could figure out what keeps happening to 'em.
02:55:50 -!- HackEgo has joined.
02:55:51 -!- EgoBot has joined.
02:56:38 <oerjan> mibygl: did you see me mention itflabijtslwi in response to your comment about /// and input?
02:57:25 <oerjan> !slashes /*/\/.\\0\/,\\,0,\\,1\/\/.\\1\/,\\,1,\\,0\/\/,\\,\/.\//********/.//.0
02:57:31 <EgoBot> 0110100110010110100101100110100110010110011010010110100110010110100101100110100101101001100101100110100110010110100101100110100110010110011010010110100110010110011010011001011010010110011010010110100110010110100101100110100110010110011010010110100110010110
02:59:57 <mibygl> I don't know.
03:00:07 -!- sshc has quit (Quit: leaving).
03:01:54 <mibygl> !slashes /!/@@@@//@/####//#/$$$$//$/ nom/om!
03:01:55 <EgoBot> om nom nom nom nom nom nom nom nom nom nom nom nom nom nom nom nom nom nom nom nom nom nom nom nom nom nom nom nom nom nom nom nom nom nom nom nom nom nom nom nom nom nom nom nom nom nom nom nom nom nom nom nom nom nom nom nom nom nom nom nom nom nom nom nom
03:02:09 <oerjan> *itflabtijtslwi
03:02:28 <mibygl> Now I want to do /// busy beaver stuff.
03:02:46 <mibygl> Try to write the program of length N with the longest finite output.
03:02:52 <oerjan> heh
03:03:34 <mibygl> Call that length ?(N).
03:03:42 * mibygl ponders when ?(N) is first larger than N.
03:04:37 <mibygl> Let's see, /x/yyy/xxx is 10 long and outputs 9, /x/yyyy/xxx is 11 long and outputs 12.
03:05:04 -!- coppro has quit (Ping timeout: 246 seconds).
03:05:47 <mibygl> By using that trick a bunch of times, as I did in that om nom nom thing, you can achieve nearly exponential growth.
03:05:58 <oerjan> seems hard to do something fancier in that short span
03:06:16 <mibygl> Mmkay, what's the best you can do in 80 characters?
03:06:38 -!- pikhq has joined.
03:07:55 <mibygl> Here's a simple attempt: /0/1111//1/2222//2/3333//3/4444//4/5555//5/6666//6/77777//7/88888//8/99999/00000
03:08:31 <mibygl> I think it outputs 2,560,000 characters.
03:08:47 -!- pikhq has quit (Read error: Connection reset by peer).
03:08:49 <oerjan> !slashes /@/\/*\\*\/+\\+\/\/+\\+\/*\\*\\*\\*\//@@@@@@@@**
03:08:49 <EgoBot> ************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************
03:09:51 <mibygl> It would be nice if we had a Slashes unescaper.
03:11:14 <mibygl> So the result of that substitution is /*\*/+\+//+\+/*\*\*\*/?
03:11:36 <oerjan> something like that
03:14:09 <oerjan> anyway as you can see it doubles the number of **'s
03:14:27 <mibygl> So, /@/\/*\\*\/+\\+\/\/+\\+\/*\\*\\*\\*\// has 38 characters, right?
03:14:42 -!- fax has quit (Quit: Lost terminal).
03:14:43 <oerjan> if you say so :D
03:15:16 <mibygl> If you just plopped two in, you'd have four characters to spare...
03:15:35 <oerjan> what?
03:15:43 <mibygl> If you use that twice.
03:15:50 <oerjan> oh right
03:16:06 <oerjan> which should give you something 2^2^n
03:16:29 <mibygl> Using two probably doesn't help at all.
03:17:28 -!- pikhq has joined.
03:18:42 -!- pikhq has quit (Read error: Connection reset by peer).
03:19:11 <oerjan> !slashes /@/\/*\\*\/+\\+\/\/+\\+\/*\\*\\*\\*\//@/*/\/-\\-\/+\\+\/\/+\\+\/-\\-\\-\\-\//**++
03:19:56 <oerjan> oh wait
03:20:12 <oerjan> !slashes /@/\/*\\*\/+\\+\/\/+\\+\/*\\*\\*\\*\//@/*/\/-\\-\/+\\+\/\/+\\+\/-\\-\\-\\-\//**--
03:20:12 <EgoBot> --------------------------------
03:20:25 <oerjan> !slashes /@/\/*\\*\/+\\+\/\/+\\+\/*\\*\\*\\*\//@@/*/\/-\\-\/+\\+\/\/+\\+\/-\\-\\-\\-\//**--
03:20:26 <EgoBot> ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
03:20:48 <oerjan> oh we're already beyond 80
03:22:06 <oerjan> hm...
03:22:47 <oerjan> !slashes /@/\/*\\*\/+\\+\/\/+\\+\/*\\*\\*\//@@/*/\/-\\-\/+\\+\/\/+\\+\/-\\-\\-\//**--
03:22:47 <EgoBot> ---------
03:22:59 <oerjan> !slashes /@/\/*\\*\/+\\+\/\/+\\+\/*\\*\\*\//@@@/*/\/-\\-\/+\\+\/\/+\\+\/-\\-\\-\//**--
03:22:59 <EgoBot> -------------------
03:23:25 <oerjan> !slashes /@/\/*\\*\/+\\+\/\/+\\+\/*\\*\\*\//@@@@/*/\/-\\-\/+\\+\/\/+\\+\/-\\-\\-\//**--
03:23:25 <EgoBot> ---------------------------------------------------------------
03:23:27 <mibygl> Um, I'd think that the second replacement would replace * with yet anther replacer.
03:23:54 <oerjan> what?
03:24:00 <mibygl> Replace @ with * and * with something else in it.
03:24:26 <mibygl> The first one will generate a bunch of *s; the second one will turn each * into a doubler.
03:24:44 <mibygl> Oh, I see that you're doing something like that already.
03:25:02 <mibygl> Uh, put some spaces in there so I see what's going on.
03:25:27 <oerjan> !slashes /@/\/*\\*\/+\\+\/\/+\\+\/*\\*\\*\// @@@@ /*/\/-\\-\/+\\+\/\/+\\+\/-\\-\\-\// ** --
03:25:28 <EgoBot> ---------------------------------------------------------------
03:25:49 <mibygl> Brilliant.
03:26:10 <oerjan> i reduced to 3 to keep it below 80 chars
03:26:28 <mibygl> Oh, that actually is what I was looking for.
03:27:05 <oerjan> unfortunately, that causes it to take some more time to get up to speed
03:27:12 <mibygl> Why doesn't that first output a bunch of *?
03:27:20 <oerjan> !slashes /@/\/*\\*\/+\\+\/\/+\\+\/*\\*\\*\//@@@@/*/\/-\\-\/+\\+\/\/+\\+\/-\\-\\-\//**----
03:27:20 <EgoBot> ---------------------------------------------------------------------------------------------------------------------------------------------
03:27:24 <oerjan> er wait
03:27:32 <oerjan> !slashes /@/\/*\\*\/+\\+\/\/+\\+\/*\\*\\*\//@@@@@@/*/\/-\\-\/+\\+\/\/+\\+\/-\\-\\-\//**--
03:27:43 <mibygl> Since the first /@/\/... just makes the @s into *s, doesn't it?
03:28:00 <oerjan> that must have been fairly big because it doesn't print anything XD
03:28:07 <oerjan> !slashes /@/\/*\\*\/+\\+\/\/+\\+\/*\\*\\*\//@@@@@/*/\/-\\-\/+\\+\/\/+\\+\/-\\-\\-\//**--
03:28:07 <EgoBot> ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
03:28:42 <oerjan> um no, it turns the @'s into * 3/2-icaters
03:28:59 -!- pikhq has joined.
03:29:08 <mibygl> Mmkay.
03:29:55 <mibygl> So, have you beat the one that uses only one 38er yet?
03:30:10 -!- pikhq has quit (Read error: Connection reset by peer).
03:30:33 <oerjan> well, i _hope_ the thing with 6 @'s above failed to respond because it got really big
03:31:19 <mibygl> Calculate how many it makes!
03:31:45 <oerjan> the 3/2 thing makes that a little awkward :D
03:33:44 -!- pikhq has joined.
03:34:02 <oerjan> !haskell let m3h n = 3*d + r where (d,r) = n `quotRem` 2 in iterate m3h 2 !! 5
03:34:13 <EgoBot> 13
03:34:38 <oerjan> !haskell let m3h n = 3*d + r where (d,r) = n `quotRem` 2 in iterate m3h 2 !! 6
03:34:40 <EgoBot> 19
03:34:54 <mibygl> What does that mean?
03:35:22 -!- pikhq has quit (Read error: Connection reset by peer).
03:35:32 <oerjan> it means the 5 @'s produce 13 *'s and the 6 @'s produce 19 *'s
03:35:49 <oerjan> !haskell let m3h n = 3*d + r where (d,r) = n `quotRem` 2 in iterate m3h 2 !! 1
03:35:51 <EgoBot> 3
03:36:21 <oerjan> !haskell let m3h n = 3*d + r where (d,r) = n `quotRem` 2 in map (iterate m3h 2 !!) [13,19]
03:36:23 <EgoBot> [316,3597]
03:37:16 <oerjan> !haskell 6*80-9
03:37:18 <EgoBot> 471
03:37:53 <oerjan> um wait that makes no sense
03:38:37 <mibygl> If 19 is all you get, then this is worthless.
03:39:06 <oerjan> the @@@@@ one above printed more than 316 -'s, something is wrong
03:40:01 <oerjan> !haskell let m3h n = 3*d + r where (d,r) = n `quotRem` 2 in map (iterate m3h 2 !!) [1..19]
03:40:03 <EgoBot> [3,4,6,9,13,19,28,42,63,94,141,211,316,474,711,1066,1599,2398,3597]
03:41:07 <oerjan> !slashes /@/\/*\\*\/+\\+\/\/+\\+\/*\\*\\*\//@@@@@**
03:41:07 <EgoBot> *************
03:41:21 <oerjan> !slashes /@/\/*\\*\/+\\+\/\/+\\+\/*\\*\\*\//@@@@@@**
03:41:22 <EgoBot> *******************
03:43:09 <oerjan> 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789
03:43:24 <oerjan> (just checking if my terminal is really 80 wide
03:43:25 <oerjan> )
03:44:31 <oerjan> !slashes /@/\/*\\*\/+\\+\/\/+\\+\/*\\*\\*\//@@@@@/*/\/-\\-\/+\\+\/\/+\\+\/-\\-\\-\//**--
03:44:32 <EgoBot> ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
03:45:27 <oerjan> what the...
03:45:35 <oerjan> that is _not_ what egobot printed the last time
03:46:24 <oerjan> it had about another line. perhaps that 3597 long one previous caused a bug...
03:46:56 <oerjan> it never printed anything, after all.
03:47:45 <oerjan> anyway 3597 is worthless, as you say, we hadn't even filled in with @'s from the single substitution one
03:49:03 <oerjan> !slashes /@/\/*\\*\/+\\+\/\/+\\+\/*\\*\\*\\*\//@@@@@@@@@@@**
03:49:25 <oerjan> that should be 4096, although it seems to stall egobot again
03:49:33 <oerjan> !slashes Boo!
03:49:33 <EgoBot> ************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************
03:51:10 <oerjan> !slashes /-**/*-/---****************
03:51:10 <EgoBot> **---
03:51:44 <oerjan> hm wait that can be reversed :D
03:52:10 <mibygl> Ooh, it can!
03:52:10 <oerjan> !slashes /-*/**-/--------*
03:52:10 <EgoBot> ****************************************************************************************************************************************************************************************************************************************************************--------
03:52:29 <mibygl> And you can do that lots of times.
03:52:37 <oerjan> _now_ we're kicking :D
03:52:44 <mibygl> Getting something like 2^^14 of them.
03:53:45 <oerjan> !slashes /-*/**-//*-/--*/--*
03:53:51 <oerjan> oh wait
03:53:59 <oerjan> !slashes Boo!
03:54:00 <EgoBot> Boo!
03:54:14 <oerjan> !slashes /-*/**-//*-/--\*/--*
03:54:14 <EgoBot> --------------------------------****
03:55:13 <oerjan> !slashes /@/\/-*\/**-\/\/*-\/--\\*\//@-*
03:55:14 <EgoBot> ----**
03:55:52 <oerjan> !slashes /@/\/-\\*\/**\\-\/\/*\\-\/--\\*\//@-*
03:55:52 <EgoBot> ----**
03:55:58 <oerjan> !slashes /@/\/-\\*\/**\\-\/\/*\\-\/--\\*\//@@-*
03:56:04 -!- Alex3012 has joined.
03:56:10 <oerjan> !slashes Boo!
03:56:11 <EgoBot> Boo!
03:56:23 <oerjan> apparently too much to hope for
03:57:38 <oerjan> !slashes /-*/**-//*-/--\*//-\*/**\-/--*
03:57:47 <oerjan> !slashes Boo!
03:57:48 <EgoBot> Boo!
03:58:31 <oerjan> !slashes /-*/**-/----**
03:58:32 <EgoBot> ********************************----
03:58:50 <oerjan> now why didn't the previous one print the same...
04:00:00 <oerjan> i escaped every relevant *- boundary inside the substitutions that i can see...
04:00:01 <mibygl> What are we hoping for that's too much?
04:00:47 <Sgeo> Quick question about the BSD license: What do I put for "Organization", given that it's myself?
04:00:55 <oerjan> to be able to copy substitutions into @'s, and then apply them to pass - and * doubling past each other four times...
04:00:59 -!- pikhq has joined.
04:01:24 <Sgeo> ??
04:01:28 <oerjan> "No, completely chaotic"
04:01:34 <mibygl> Your name.
04:01:34 <Sgeo> lol
04:01:47 <Sgeo> "Neither the name of the Sgeo"
04:02:04 <mibygl> Last time I put an organization into an Organization box, it credited all my work to that organization.
04:02:24 <oerjan> !slashes /-*/**-//*-/--\*/--*
04:02:25 <EgoBot> --------------------------------****
04:02:29 <Sgeo> What's the MIT license like?
04:02:50 <oerjan> !slashes /-*/**-//*-/--\*/-*
04:02:51 <EgoBot> ----**
04:03:01 <Sgeo> I like it
04:03:06 <oerjan> !slashes /-*/**-//*-/--\*//-\*/**\-/-*
04:03:07 <EgoBot> ********************************----
04:03:26 <oerjan> that was better. and one more iteration would kill it XD
04:04:41 <oerjan> which means two @'s is too much to hope for again. hm...
04:09:15 <oerjan> -* => **- => ----** => 32*, 4- => 4*2^32-, 32* => 32*2^(4*2^32)*, 4*2^32- => ...
04:10:29 * Sgeo wonders if codepad.org is an inappropriate way to distribute this code
04:14:08 <Sgeo> http://codepad.org/wd8oGuUT
04:14:11 <Sgeo> Such a mess :/
04:17:43 <mibygl> What is that code?
04:20:59 <Sgeo> Python mapping of a C API
04:24:09 <Sgeo> http://forums.activeworlds.com/showthread.php?p=124425#post124425
04:32:31 <oerjan> !slashes /*1/11*//*\*/*//1*/*1+//1+/+1/*****1
04:32:44 <oerjan> !slashes Boo!
04:32:44 <EgoBot> Boo!
04:32:57 <oerjan> !slashes /*1/11*//*\*/*//1*/*\1+//1+/+1/*****1
04:32:58 <EgoBot> *++++++++++++++++++++++++++++++++11111111111111111111111111111111
04:41:24 <oerjan> !slashes /(1/11(//(\(/(//1(/(\1+//1+/+1//)/+//+1111111111/1+//11/2//21/3//22/4//41/5//42/6//61/7//44/8//81/9//++/+0+//+///(//(((((1)
04:41:25 <EgoBot> 000000000000000000000000000000023
04:44:23 <oerjan> !slashes /(1/11(//(\(/(//1(/(\1+//1+/+1//)/+//+1111111111/1+//11/2//21/3//22/4//41/5//42/6//61/7//44/8//81/9//(+/(//++/+0+//+///(//(((((1)
04:44:23 <EgoBot> 23
04:45:39 <oerjan> !slashes /(1/11(//(\(/(//1(/(\1+//1+/+1//)/+//+1111111111/1+//11/2//21/3//22/4//41/5//42/6//61/7//44/8//81/9//(+/(//++/+0+//+///(//(((((((1)
04:45:39 <EgoBot> 2
04:46:41 <oerjan> !slashes /(1/11(//(\(/(//1(/(\1+//1+/+1//)/+//+1111111111/1+/(((((((1)
04:46:42 <EgoBot> (++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++11+
04:49:28 <oerjan> !slashes /(1/11(//(\(/(//1(/(\1+//1+/+1//)/+/(((((((1)
04:49:29 <EgoBot> (++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111+
04:50:15 <oerjan> !slashes /(1/11(//(\(/(//1(/(\1+//1+/+1//)/+//+1111111111/1\+//11/2//21/3//22/4//41/5//42/6//61/7//44/8//81/9//(+/(//++/+0+//+///(//(((((((1)
04:50:15 <EgoBot> 128
04:50:32 -!- Gracenotes has joined.
04:51:59 <oerjan> !slashes /(1/11(//(\(/(//1(/(\1+//1+/+1//)/+//+1111111111/1\+//11/2//21/3//22/4//41/5//42/6//61/7//44/8//81/9//(+/(//++/+0+//+///(//(11111)
04:51:59 <EgoBot> 10
04:52:42 <oerjan> !slashes /(1/11(//(\(/(//1(/(\1+//1+/+1//)/+//+1111111111/1\+//11/2//21/3//22/4//41/5//42/6//61/7//44/8//81/9//(+/(//++/+0+//+///(//((((((((((1)
04:52:48 <EgoBot> 1024
05:01:01 -!- Oranjer has left (?).
05:04:17 -!- sshc has joined.
05:04:22 -!- sshc has quit (Changing host).
05:04:22 -!- sshc has joined.
05:04:27 <mibygl> Hey, you got it to output 1024.
05:04:41 -!- adu has joined.
05:07:45 <mibygl> !slashes /(1/11(//(\(/(//1(/(\1+//1+/+1//)/+//+111111111111/1\+//11/2//21/3//22/4//41/5//42/6//61/7//44/8//81/9//(+/(//++/+0+//+///(//((((((((((1)
05:07:52 <EgoBot> 4314
05:07:58 <mibygl> !slashes /(1/11(//(\(/(//1(/(\1+//1+/+1//)/+//+11111111111/1\+//11/2//21/3//22/4//41/5//42/6//61/7//44/8//81/9//(+/(//++/+0+//+///(//((((((((((1)
05:08:04 <EgoBot> 8231
05:08:07 <mibygl> !slashes /(1/11(//(\(/(//1(/(\1+//1+/+1//)/+//+111111111/1\+//11/2//21/3//22/4//41/5//42/6//61/7//44/8//81/9//(+/(//++/+0+//+///(//((((((((((1)
05:08:10 <mibygl> !slashes /(1/11(//(\(/(//1(/(\1+//1+/+1//)/+//+11111111/1\+//11/2//21/3//22/4//41/5//42/6//61/7//44/8//81/9//(+/(//++/+0+//+///(//((((((((((1)
05:08:12 <mibygl> !slashes /(1/11(//(\(/(//1(/(\1+//1+/+1//)/+//+1111111/1\+//11/2//21/3//22/4//41/5//42/6//61/7//44/8//81/9//(+/(//++/+0+//+///(//((((((((((1)
05:08:15 <EgoBot> 132343
05:08:18 <EgoBot> 2000
05:08:20 <EgoBot> 2662
05:08:24 <mibygl> !slashes /(1/11(//(\(/(//1(/(\1+//1+/+1//)/+//+111111/1\+//11/2//21/3//22/4//41/5//42/6//61/7//44/8//81/9//(+/(//++/+0+//+///(//((((((((((1)
05:08:26 <mibygl> !slashes /(1/11(//(\(/(//1(/(\1+//1+/+1//)/+//+11111/1\+//11/2//21/3//22/4//41/5//42/6//61/7//44/8//81/9//(+/(//++/+0+//+///(//((((((((((1)
05:08:31 <mibygl> !slashes /(1/11(//(\(/(//1(/(\1+//1+/+1//)/+//+1111/1\+//11/2//21/3//22/4//41/5//42/6//61/7//44/8//81/9//(+/(//++/+0+//+///(//((((((((((1)
05:08:31 <EgoBot> 4424
05:08:33 <EgoBot> 13044
05:08:37 <EgoBot> 100000
05:08:40 <mibygl> I must say, this function doesn't make much sense.
05:08:51 <oerjan> what?
05:09:15 <mibygl> This is what I get for trying to understand things without analyzing them.
05:09:36 <oerjan> well what you are doing is changing the output base
05:10:42 <oerjan> !haskell import Data.Char; import Numeric; main = print [showIntAtBase n intToDigit 1024 | n <- [2..10]]
05:10:57 <oerjan> !haskell import Data.Char; import Numeric; main = print [showIntAtBase n intToDigit 1024 "" | n <- [2..10]]
05:11:00 <EgoBot> ["10000000000","1101221","100000","13044","4424","2662","2000","1357","1024"]
05:11:21 * Sgeo is confused
05:11:55 <oerjan> well the parts from 2000 and down, at least
05:13:00 <oerjan> !haskell import Data.Char; import Numeric; main = print [showIntAtBase n intToDigit 1024 "" | n <- [2..12]]
05:13:02 <EgoBot> ["10000000000","1101221","100000","13044","4424","2662","2000","1357","1024","851","714"]
05:14:12 <oerjan> oh!
05:14:46 <oerjan> i need to reorder a bit
05:15:20 <oerjan> !slashes /(1/11(//(\(/(//1(/(\1+//1+/+1//)/+//+1111111111/1\+//11/2//21/3//22/4//41/5//42/6//61/7//44/8//81/9//(+/(//++/+0+//+///(//(111)
05:15:21 <EgoBot> 6
05:15:59 <oerjan> !slashes /(1/11(//(\(/(//1(/(\1+//1+/+1//)/+//+1111111111/1\+//11/2//21/3//22/4//41/5//42/6//61/7//44/8//81/9//(+/(//++/+0+//+///(//(((111111111)
05:15:59 <EgoBot> 432
05:16:39 -!- Copyleftist has joined.
05:17:13 -!- Copyleftist has quit (Client Quit).
05:17:41 <oerjan> !slashes /(1/11(//(\(/(//1(/(\1+//1+/+1//)/+//+1111111111/1\+//11/2//21/3//22/4//23/5//42/6//25/7//44/8//45/9//(+/(//++/+0+//+///(//(((111111111)
05:17:41 <EgoBot> 432
05:18:25 -!- Copyleftist has joined.
05:18:26 <oerjan> !slashes /(1/11(//(\(/(//1(/(\1+//1+/+1//)/+//+1111111111/1\+//11/2//21/3//22/4//23/5//42/6//25/7//44/8//45/9//(+/(//++/+0+//+///(//(((((((1)
05:18:26 <EgoBot> 128
05:18:40 <oerjan> !slashes /(1/11(//(\(/(//1(/(\1+//1+/+1//)/+//+1111111111/1\+//11/2//21/3//22/4//23/5//42/6//25/7//44/8//45/9//(+/(//++/+0+//+///(//(((((1)
05:18:40 <EgoBot> 32
05:18:51 <oerjan> !slashes /(1/11(//(\(/(//1(/(\1+//1+/+1//)/+//+1111111111/1\+//11/2//21/3//22/4//23/5//42/6//25/7//44/8//45/9//(+/(//++/+0+//+///(//((((((((1)
05:18:51 <EgoBot> 256
05:18:55 <oerjan> !slashes /(1/11(//(\(/(//1(/(\1+//1+/+1//)/+//+1111111111/1\+//11/2//21/3//22/4//23/5//42/6//25/7//44/8//45/9//(+/(//++/+0+//+///(//(((((((((1)
05:18:56 <EgoBot> 512
05:19:48 <oerjan> !slashes /(1/11(//(\(/(//1(/(\1+//1+/+1//)/+//+1111111111/1\+//11/2//21/3//22/4//23/5//42/6//25/7//44/8//45/9//(+/(//++/+0+//+///(//(((((111)
05:19:48 <EgoBot> 96
05:20:23 <oerjan> !slashes /(1/11(//(\(/(//1(/(\1+//1+/+1//)/+//+1111111111/1\+//11/2//21/3//22/4//23/5//42/6//25/7//44/8//45/9//(+/(//++/+0+//+///(//111()
05:20:23 <EgoBot> 3
05:21:08 <oerjan> !slashes /(1/11(//(\(/(//1(/(\1+//1+/+1//)/+//+1111111111/1\+//11/2//21/3//22/4//23/5//42/6//25/7//44/8//45/9//(+/(//++/+0+//+///(//111() 1111() 11111() 111111() 1111111() 11111111() 111111111()
05:21:08 <EgoBot> 3 4 5 6 43 8 9
05:21:21 -!- Copyleftist has quit (Client Quit).
05:21:30 <oerjan> !slashes /(1/11(//(\(/(//1(/(\1+//1+/+1//)/+//+1111111111/1\+//11/2//21/3//22/4//23/5//42/6//43/7//44/8//45/9//(+/(//++/+0+//+///(//111() 1111() 11111() 111111() 1111111() 11111111() 111111111()
05:21:31 <EgoBot> 3 4 5 6 7 8 9
05:27:07 <oerjan> !slashes /(1/11(//(\(/(//1(/(\1+//1+/+1//)/+//+111111111111/1\+//11/2//21/3//22/4//23/5//42/6//43/7//44/8//45/9//46/A//47/B//84/C//85/D//86/E//87/F//(+/(//++/+0+//+///(//1() (1) 1(1) ((1) 1((1) (1(1) 1(1(1) (((1) 1(((1) (1((1) 1(1((1) ((1(1)) 1((1(1)) (1(1(1)) 1(1(1(1)) ((((1)
05:27:07 <EgoBot> 1 2 3 4 5 6 7 8 9 A B 100 110 120 130 14
05:27:39 <oerjan> !slashes /(1/11(//(\(/(//1(/(\1+//1+/+1//)/+//+1111111111111111/1\+//11/2//21/3//22/4//23/5//42/6//43/7//44/8//45/9//46/A//47/B//84/C//85/D//86/E//87/F//(+/(//++/+0+//+///(//1() (1) 1(1) ((1) 1((1) (1(1) 1(1(1) (((1) 1(((1) (1((1) 1(1((1) ((1(1)) 1((1(1)) (1(1(1)) 1(1(1(1)) ((((1)
05:27:40 <EgoBot> 1 2 3 4 5 6 7 8 9 A B C0 D0 E0 F0 10
05:27:59 <oerjan> huh
05:28:37 <oerjan> oh
05:28:53 <oerjan> !slashes /(1/11(//(\(/(//1(/(\1+//1+/+1//)/+//+1111111111111111/1\+//11/2//21/3//22/4//23/5//42/6//43/7//44/8//45/9//46/A//47/B//84/C//85/D//86/E//87/F//(+/(//++/+0+//+///(//1() (1) 1(1) ((1) 1((1) (1(1) 1(1(1) (((1) 1(((1) (1((1) 1(1((1) ((1(1) 1((1(1) (1(1(1) 1(1(1(1) ((((1)
05:28:53 <EgoBot> 1 2 3 4 5 6 7 8 9 A B C D E F 10
05:29:08 <adu> hi
05:29:39 <oerjan> hi
05:29:43 <adu> how are you
05:30:43 <oerjan> well i should be going to bed but instead i'm apparently doing number display in /// :)
05:32:06 <oerjan> (aka slashes)
05:33:52 <adu> i see
05:33:58 <adu> i'm writing an arbitrary-precision lib
05:34:16 <adu> which i will use to write a serialization lib
05:34:28 <adu> which i will use to write a scripting language
05:34:48 <adu> which i will use to write simulation software
05:34:57 <adu> which i will use to write artificial intelligence
05:35:05 <adu> which i will use to take over the world !!!
05:35:20 <oerjan> dammit i was going to joke how this would end :D
05:35:24 <adu> lol
05:35:49 <oerjan> you missed "write an operating system" in there, though
05:36:00 <adu> no, i don't need to write an os
05:36:10 <adu> that's where the AI comes in
05:36:14 <oerjan> ah.
05:36:21 <adu> it will write all the drivers for me
05:36:51 <adu> it will crawl the web for documents about all devices ever made
05:37:25 <adu> it will also reverse engineer Win32 drivers as well
05:37:38 <adu> it will do everyone's homework
05:37:54 <oerjan> um... that's not a good thing?
05:38:07 <adu> huh?
05:38:10 <adu> which part?
05:38:15 <oerjan> doing everyone's homework
05:38:17 <adu> oh
05:38:20 <adu> ya i was jk
05:38:43 <adu> that would be like, some kinda VIP service
05:39:28 <adu> oerjan: what would you have AI do for you?
05:41:42 <oerjan> tricky
06:06:02 -!- oerjan has quit (Quit: Good night).
06:06:24 -!- mibygl has quit (Ping timeout: 252 seconds).
06:17:44 -!- samosa has quit (Quit: samosa).
06:53:09 -!- kar8nga has joined.
07:11:55 -!- jcp has quit (Quit: I will do anything (almost) for a new router.).
07:24:03 -!- MizardX has quit (Ping timeout: 276 seconds).
07:35:48 -!- adu has quit (Quit: adu).
07:43:44 -!- kar8nga has quit (Remote host closed the connection).
07:44:46 -!- kar8nga has joined.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:02:23 <Deewiant> lifthrasiir: PyFunge bug: if ; is the first character in a file, it doesn't work properly
08:16:58 -!- kar8nga has quit (Remote host closed the connection).
08:28:00 -!- kar8nga has joined.
08:40:47 -!- cheater2 has quit (Ping timeout: 258 seconds).
08:54:19 -!- kar8nga has quit (Remote host closed the connection).
09:21:56 -!- MigoMipo has joined.
09:36:14 <AnMaster> Deewiant, interesting bug
09:43:01 -!- charlls has quit (Ping timeout: 264 seconds).
09:50:50 <AnMaster> Deewiant, a bit hard to test with mycology though I imagine?
10:00:05 -!- cheater2 has joined.
10:03:19 -!- tombom has joined.
10:49:48 -!- adam_d has joined.
10:50:35 -!- Tritonio_GR has joined.
11:29:16 -!- BeholdMyGlory has joined.
11:29:19 -!- BeholdMyGlory has quit (Changing host).
11:29:19 -!- BeholdMyGlory has joined.
11:39:15 -!- alise has joined.
11:43:45 <alise> hail
11:53:21 -!- olsner_ has joined.
12:18:50 <AnMaster> alise, hi
12:18:54 <alise> Hi.
12:19:20 <AnMaster> also I found out why I was unable to use some 802.11n networks. Wrong reg domain setting.
12:19:41 <AnMaster> (that issue confused me for months)
12:20:28 <alise> dear diary
12:20:35 <AnMaster> (it was on "world" setting, which is defined as the subset of channels allowed everywhere)
12:20:49 <AnMaster> alise, wrong window :P
12:20:57 <alise> not quite
12:22:14 <AnMaster> what were you going to tell it then?
12:22:47 <alise> Actually I was being a jerk to you
12:22:51 <alise> :P
12:23:56 <AnMaster> I shouldn't be surprised
12:41:18 <alise> Now where is coppro?
12:48:52 -!- cheater2 has quit (Read error: Connection reset by peer).
12:49:45 -!- cheater2 has joined.
13:01:03 <AnMaster> bbl for the rest of the day
13:01:08 <AnMaster> (out of town, no internet)
13:06:08 -!- tombom has quit (Quit: Leaving).
13:08:27 -!- olsner_ has quit (Quit: olsner_).
13:35:38 <alise> fpqrsuvtu
13:38:52 <alise> Oh, dear; an unwinnable game of robotfindskitten.
14:09:09 <Deewiant> AnMaster: Well yes, I'd need a separate file but I won't bother with that for a bug that only shows up in one interpreter
14:20:32 -!- MigoMipo has quit (Remote host closed the connection).
14:25:31 -!- oklopol has joined.
14:38:03 -!- alise has quit (Ping timeout: 258 seconds).
14:52:52 <fizzie> My rfk86 is a bit prone to unwinnables, because the screen is smaller than is typical, but I think I generate the same amount of NKIs.
15:00:30 -!- olsner_ has joined.
15:56:35 -!- mibygl has joined.
16:33:36 -!- olsner_ has quit (Quit: olsner_).
16:43:19 -!- jcp has joined.
16:46:36 -!- BeholdMyGlory has quit (Remote host closed the connection).
17:22:52 -!- Gracenotes has quit (Remote host closed the connection).
18:04:22 -!- adam_d has quit (Ping timeout: 265 seconds).
18:05:02 -!- adam_d has joined.
18:10:35 -!- MizardX has joined.
18:21:18 * Sgeo will try walking outside a bit today
18:22:02 -!- FireFly has joined.
18:59:58 <AnMaster> <alise> Oh, dear; an unwinnable game of robotfindskitten. <-- is that possible!?
19:00:34 <AnMaster> fizzie, NKI?
19:03:04 <AnMaster> also I need to figure out how to make ubuntu call iw reg set SV on boot...
19:05:08 <AnMaster> err SE of course
19:05:09 <AnMaster> not SV
19:06:38 <AnMaster> problem is that it needs to be done before the wlan interface goes up, otherwise it won't take effect for some reason
19:06:45 <AnMaster> so thus rc.local won't work
19:17:40 -!- fax has joined.
19:29:54 -!- MigoMipo has joined.
19:51:50 -!- alise has joined.
19:52:49 <alise> Hello, hello, hello, hello!
19:53:26 <pikhq> Hellote.
19:54:33 <alise> 11:00:34 <AnMaster> fizzie, NKI?
19:54:33 <alise> non-kitten items
19:54:35 <alise> 10:59:58 <AnMaster> <alise> Oh, dear; an unwinnable game of robotfindskitten. <-- is that possible!?
19:54:38 <alise> Apparently in the flash version.
19:54:58 <fax> alise
19:54:58 <fax> alise
19:55:04 <AnMaster> alise, I thought the kitten was always generated, but I guess I was wrong
19:55:30 <alise> I am not using my laptop!; I am using the ole' desktop. Not the iMac.
19:55:41 <alise> Is a semicolon after an exclamation mark /really/ valid? I mean, honestly.
19:56:13 <pikhq> It ought to be.
19:56:38 -!- coppro has joined.
19:57:25 <AnMaster> alise, perfectly, ! is logical not, and ; is "skip to next ; in path"
19:57:45 <alise> Your wittosity is unmatched, surely.
19:57:49 <alise> In this world. Universe!
20:00:34 -!- BeholdMyGlory has joined.
20:04:07 <fizzie> AnMaster: In rfk86, at least, the kitten is always generated, but it may be unreachable.
20:04:15 <alise> xD
20:14:41 <alise> gtg
20:14:43 -!- alise has quit (Remote host closed the connection).
20:22:55 <AnMaster> fizzie, heh?
20:22:57 -!- adam_d_ has joined.
20:23:01 <AnMaster> fizzie, does that even make sense?
20:25:59 -!- adam_d has quit (Ping timeout: 265 seconds).
20:31:38 <fax> where is alise
20:31:39 <fax> fffffffffffffffff
20:44:47 <fizzie> AnMaster: Sure. You can't move diagonally in rfk86, so if you have an object that is surrounded by 4 other objects (in the corner, 2 other objects is enough), you can't ever touch that object. If it happens to be the kitten, you are out of luck.
20:47:42 <fizzie> (You can move diagonally in the official robotfindskitten, but that just means you need more stuff to block the kitten totally.)
20:49:33 <fizzie> And, after all, robot must touch items to determine if they are kitten or not.
20:51:58 <AnMaster> fizzie, true
20:52:23 <AnMaster> fizzie, I never seen an unreachable object in the "official" one
20:54:48 <fizzie> If you hve a large terminal, it's pretty unlikely. But it's still possible.
20:55:19 <fizzie> With a 20x5 terminal window (where you only get 20x2 cells of grid) it happens more often than not.
20:56:31 <fizzie> And if you make a small enough terminal window, robotfindskitten ends up in an infinite 100%-CPU loop; probably it's trying to place objects randomly and not finding any free slots.
20:58:44 <oklopol> lol
20:59:18 <oklopol> i remember when i was 8 and had that bug
20:59:24 <oklopol> in a prog
21:09:32 <AnMaster> fizzie, hm terminal is 180x41 according stty size
21:12:15 -!- augur has quit (Ping timeout: 268 seconds).
21:23:26 -!- mibygl has quit (Ping timeout: 252 seconds).
21:42:15 -!- hiato has joined.
21:42:42 -!- MizardX has quit (Ping timeout: 276 seconds).
21:42:44 -!- hiato has changed nick to sheep.
21:42:55 -!- sheep has changed nick to hiato.
21:43:05 -!- augur has joined.
21:45:14 -!- hiato has left (?).
22:05:35 -!- MizardX has joined.
22:20:49 -!- isthac has joined.
22:22:52 * isthac is no entirely satisfied with his nick, wanted something that sounded like it was straight out of lovecraft's work
22:23:46 -!- isthac has changed nick to hiato.
22:27:59 <Gregor> And you stuck with it for so long, too.
22:30:51 <hiato> I know, having withdrawel symptoms as we epeak, but my newly hired councellor says i'll get through it
22:38:34 -!- hiato has left (?).
22:41:11 <Gregor> Huh.
22:41:17 <Gregor> .za is to South Africa as .ch is to Switzerland.
22:41:26 <Gregor> In that it's not actually short for any /official/ name.
22:41:27 <Gregor> Weird.
22:42:20 <pikhq> Weird.
22:43:09 <pikhq> Though, .za would have at least made since if the TLDs were done in '65. :P
22:43:51 <pikhq> (.za is an abbreviation of Zuid-Afrika, Dutch for South Africa. Dutch was an official language there before '65.)
22:49:10 <Gregor> You'd have to go back a bit farther for .ch
22:49:27 <pikhq> Confoederatio Helvetica.
22:49:56 <pikhq> Which actually makes a *little* bit of sense. That's apparently minted on Swiss coins...
22:51:08 <pikhq> Hah. .su exists.
22:51:18 <pikhq> (TLD for the Soviet Union)
22:52:40 <Sgeo> There's someone with the email address n@ai
22:53:08 <pikhq> I'd like to see someone with the address root@.
22:53:52 <Sgeo> Well, DNS
22:54:05 <pikhq> ENTIRE. NET.
22:54:36 <Gregor> THE TUBERWEBS
22:54:42 <pikhq> YES
22:55:44 <AnMaster> rebooting, kernel upgrade
22:58:02 <pikhq> DNS TLDs are fairly ridiculous.
22:58:16 <pikhq> .cat is a gTLD.
22:58:23 <pikhq> It is reserved for sites in Catalan.
22:58:34 -!- AnMaster has quit (Read error: Connection reset by peer).
22:58:57 <pikhq> (a somewhat obscure Romance language)
23:00:26 -!- AnMaster has joined.
23:01:37 <oklopol> sometimes i like to pretend pikhq never googles anything but actually just happens to know everything
23:02:10 <pikhq> Hah.
23:02:17 <pikhq> I <3 me Wikipedias.
23:03:21 * pikhq googles "omniscience"
23:04:03 * Sgeo once tried to make a mathematical proof that no omniscient beings existed
23:04:29 <oklopol> there's this wp page about one of our professors that says he studies math and something like alien abductions. i almost asked him about this, but luckily found out that the wp page had actually confused two professors with the same name before
23:04:33 <pikhq> Sgeo: Under what axioms?
23:04:54 * Sgeo didn't QUITE grasp that Turing machines didn't take/need to take input/output, and that not being computable by a turing machine != not knowable
23:05:05 <pikhq> Hah.
23:05:43 <pikhq> Yeah, a UTM is a machine that can compute any algorithm, not a magic machine that does everything. :P
23:05:53 <pikhq> (that's a UTM + magic oracle)
23:06:13 <pikhq> Hmm. Magic oracle? Me want.
23:15:40 -!- oerjan has joined.
23:28:57 -!- oerjan has quit (Quit: Reboot).
23:31:23 -!- oerjan has joined.
23:34:51 <fizzie> Is hiato's "newly hired councellor" some sort of sneak-dig at the ehird of many names?
23:35:27 <fax> why isn't alise back
23:44:10 -!- Oranjer has joined.
23:53:08 <fax> grrrrrr
23:56:24 <coppro> Sgeo: the input and output of a TM are the tape
23:59:24 -!- FireFly has quit (Quit: Leaving).
00:00:46 -!- MigoMipo has quit (Ping timeout: 264 seconds).
00:04:01 -!- BeholdMyGlory has quit (Remote host closed the connection).
00:05:04 <AnMaster> fuck gnome 2.30. They *edited* the old icon theme for the worse. It looks ugly as fuck. And no they didn't save the old icon theme under another name as far as I can tell.
00:05:12 * AnMaster is really annoyed now
00:16:00 <AnMaster> ah here we go. Old version extracted to /usr/share/icons/gnome-previous
00:34:39 -!- jcp has quit (Quit: I will do anything (almost) for a new router.).
00:35:50 -!- jcp has joined.
01:38:32 -!- Alex3012_ has joined.
01:39:11 -!- Alex3012 has quit (Ping timeout: 265 seconds).
01:39:15 -!- Alex3012_ has changed nick to Alex3012.
01:45:32 -!- adam_d__ has joined.
01:48:22 -!- adam_d_ has quit (Ping timeout: 265 seconds).
02:01:54 -!- adam_d__ has quit (Ping timeout: 265 seconds).
02:11:47 -!- Oranjer has left (?).
02:17:37 <augur> DOCTORRRRRRRR
02:17:39 <augur> :DDDDDDDDDDDDD
02:19:09 <fax> hi augur
02:19:20 <augur> FAXXXXXX
02:19:28 <fax> help
02:19:35 <augur> i need somebody
02:19:39 <augur> HELP
02:19:42 <augur> not just anybooody
02:19:45 <fax> ;D
02:20:26 <augur> sup girly
02:21:35 <fax> idk I can't figure out what to do now
02:23:05 <augur> for?
02:23:47 <fax> for my self :S
02:23:52 <fax> hey augur
02:23:56 <augur> o.o
02:24:02 <augur> watch the new doctor who episode!
02:24:04 <fax> I understand why you can't trisect an angle :D
02:24:15 <fax> everyone talks about doctor who
02:24:16 <augur> well you CAN trisect an angle
02:24:19 <fax> I haven't been watching it
02:24:23 <augur> just not with a compass and straightedge
02:24:26 <fax> yes
02:24:30 <fax> augur want me to tell you i
02:24:31 <fax> augur want me to tell you it
02:25:55 <augur> what who how huh
02:27:16 <fax> the proof
02:36:40 <fax> augur
02:36:41 <fax> fat head
02:36:47 <augur> :|
02:36:59 * augur rapes fax
02:37:01 <augur> wait damnit
02:37:04 <augur> you're a girl
02:37:05 <augur> fuck
02:37:13 <augur> that didnt happen
02:37:15 <fax> so are you
02:37:30 <augur> am not
02:37:46 <augur> IZE A BOY
02:55:15 <fax> :/
02:58:39 <pikhq> By "rape" he of course means "scour one's existence from the earth".
02:59:08 <pikhq> And I'm not sure where that takes me, but in the end, your mom's a whore.
03:07:13 <fax> I bite off augurs hand
03:07:18 <fax> sucker
03:18:24 <Sgeo> fax, what's the proof?
03:18:42 <fax> Sgeo -- okay
03:19:17 <fax> the first thing is to notice that if we have lengths x and y on our paper -- we can also construct x+y, x-y, xy, x/y using our straightedge and compass
03:20:05 <Sgeo> How do you do xy and x/y?
03:20:12 <fax> the only other thing we can really do is draw a circle and intersect a line with it: analytically this means solving something like x^2+y^2=r^2 against a linear equation -- all in all we can take square roots this way
03:22:33 <fax> hm
03:27:05 <fax> you put x and y at right angles
03:30:06 <fax> no you don't sorry
03:30:10 <fax> you put x and 1 at right angles
03:30:17 <Sgeo> 1?
03:30:18 <fax> then you draw the hypotenuse, and exend it out (forever)
03:30:25 <fax> you need a '1' value to multiply things
03:30:39 <fax> I mean you could just use a thumbwidth or something
03:30:41 <Sgeo> Oh, you're responding to my x*y x/y question
03:30:53 <fax> so this is a triangle with sides, 1:x
03:31:24 <fax> you exend the baseline too, until you find a place where the height down is y, and that gives a (similar) triangle with is y:xy
03:31:37 <fax> to divide numbers you can just reverse this procedure
03:31:38 <Quadrescence> you can construct sqrt(x) toooooo
03:32:52 <fax> Sgeo, so in effect we have a field (have you met this structure from algebra before??)
03:33:13 <Sgeo> I've heard of fields, don't really know what they are. They define certain operations on them?
03:33:39 <fax> well a field is just something which has +,-,*,/ and stuff like (x+y)z = xz+yz
03:34:03 <fax> so we can construct every element of our field with a ruler and compass!
03:34:51 <fax> say our field so far is R, we can adjoin some square roots to get R[sqrt(x)] which is again a field
03:36:11 <fax> obviously constructing an angle is equivalent to constructing it's cosine. In the case of the angle being 360/n it's equivalent to constructing the n-gon right?
03:36:39 * Sgeo is only half paying attention, tbh
03:50:38 -!- fax has quit (Ping timeout: 240 seconds).
05:44:36 <Quadrescence> Sgeo: you pissed fax offfffffff
06:07:14 -!- oerjan has quit (Quit: Good night).
06:09:47 -!- zzo38 has joined.
06:10:43 <zzo38> I found another esolang called ModanShogi it is based on a shogi game movements
06:10:47 <zzo38> http://github.com/yhara/ShogiModan
06:20:01 <pikhq> Nice.
06:32:00 * Sgeo can easily imagine writing a Haskell implementation of BF before ever understanding a nice way to write a Python implementation of BF
06:34:01 <Sgeo> Mind you, with Haskell, I can use Parsec
06:34:43 <pikhq> Which is severe overkill for Brainfuck parsing.
06:37:20 <Sgeo> I guess it's healthier to figure out how to do without
06:58:11 <coppro> Sgeo: you saw my parser in Haskell, did you not?
06:58:12 <zzo38> Nobody expects the Spanish Inquisition.
06:58:26 <Sgeo> coppro, um, part of it
06:58:32 <Sgeo> I don't think I saw the full thing
06:58:48 <Sgeo> And at any rate, I want to process everything into BFCmds before processing
06:58:53 <zzo38> And nobody expects the big monster with three tentacles on the same ship either, unless *I* say so.
06:59:20 <Quadrescence> Sgeo: um
06:59:26 <Sgeo> http://hpaste.org/fastcgi/hpaste.fcgi/view?id=24645#a24645
06:59:27 <Quadrescence> are you dumb
06:59:50 <Sgeo> ?
07:00:14 * Sgeo obviously shouldn't have said processing in both places, if that's what you mean
07:01:09 <Sgeo> And yes, I think BFComment can be useful. Say I also want to write a simple optimizer
07:01:19 <Sgeo> Don't need to interpret to do that
07:01:26 <Sgeo> And I can leave comments in place
07:01:49 <Quadrescence> Sgeo: I hope one day you learn python and haskell and maybe even scheme
07:02:08 <Quadrescence> [and brainfuck for that matter]
07:02:11 * Sgeo knows Python fairly well
07:05:43 <Sgeo> Quadrescence, are you going to explain yourself?
07:07:47 <Quadrescence> no
07:08:02 <Quadrescence> If a good friend was here, I'd have him explain
07:09:19 -!- dixon has joined.
07:09:22 <dixon> ohai
07:09:59 <dixon> I heard someone was being stupid and wanted to use monadic parsing for brainfuck.
07:10:15 <dixon> Who gets to wear the dummy hat?
07:10:36 * Sgeo wants to see proof that dixon /= Quadrescence
07:10:49 <dixon> AWWW Sgeo GETS TO WEAR THE DUMMY HAT!
07:11:02 <dixon> Well, first you should /msg nickserv info dixon all
07:11:24 <dixon> And see that I've been registered years before Quadrescence with an entirely different account.
07:12:25 <dixon> Then you should stop using monadic parsing, which I'm guessing at least 100 people in this channel told you was a bad idea.
07:13:22 <Sgeo> Overkill == bad idea?
07:14:06 <dixon> Always.
07:14:18 <dixon> It'd be like driving your children to school in a tank.
07:14:28 <dixon> When all you really wanted was side-impact airbags.
07:15:18 <zzo38> Do you think 42 is really the proper answer to life, the universe, and everything, or do you think not?
07:15:36 <Quadrescence> zzo38: i think ur homosexual
07:17:02 <zzo38> Quadrescence: Why do you think that, please?
07:17:30 <Quadrescence> zzo38: evidence suggests so
07:18:09 <zzo38> Can you please explain what evidence and how you can come to that conclusion from the given evidence, I would like to know how
07:18:41 <Sgeo> Turing was gay, we in this channel talk about stuff that Turing did a lot, therefore we are all gay.
07:18:55 <zzo38> Sgeo: That's a dumb way.
07:19:11 <zzo38> Perhaps it was true of Turing but it doesn't make that of everyone
07:19:13 <Quadrescence> zzo38: do you mind if I finish these sun chips and mtn dew
07:19:24 <Sgeo> zzo38, no kidding?
07:19:31 <zzo38> Quadrescence: I really don't care. They aren't mine
07:19:34 <dixon> zzo38: He integrated you over a finite portion of a hypergeometric function and realized you swung the wrong way.
07:19:47 <Quadrescence> thx dixon
07:19:51 <dixon> np
07:19:53 <zzo38> I'm actually asexual
07:19:53 <dixon> (=p)
07:20:01 <dixon> (virgin)
07:21:24 <Quadrescence> zzo38: oh and i have some sixlets to eat too
07:21:48 <dixon> I have some twins to eat later. I'm waiting for them to arrive :3
07:22:02 <Quadrescence> wat
07:22:24 <Quadrescence> was that sexual innuendo
07:22:26 <Quadrescence> "eat"
07:22:47 <dixon> ;)
07:23:10 <zzo38> Why?
07:23:31 <dixon> When?
07:24:08 <zzo38> (In case you didn't know, I was asking "Why?" to Quadrescence's)
07:24:49 <Quadrescence> zzo38: oh I guess I am hungwy
07:25:12 <zzo38> Do you mean "hungry" or "hungwy"?
07:25:42 <Quadrescence> the latter
07:26:12 * Sgeo should really be sleeping
07:26:42 <dixon> Or using Python.
07:27:38 <zzo38> And I have never heard of such a word as "hungwy" and I don't know what it means
07:28:35 <dixon> It's etymologically related to "twat." I would ask if you were familiar, but it seems you've already implied not.
07:37:51 <zzo38> Do you have any idea of making spell in D&D game?
07:40:43 <zzo38> I have ideas to make spell to swap the text contents of two books or scrolls, and also to make the caster's hand fall off, and so on
07:46:04 <zzo38> The real country of freedom is "Pull down to select"
07:49:49 -!- pikhq has quit (Read error: Connection reset by peer).
07:50:36 <zzo38> And when Sevil arrives on the ship, if there is not a big monster with three tentacles arriving on the same ship, something has gone wrong and you have to figure out what's wrong.
07:50:39 -!- zzo38 has quit (Quit: zzo38).
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:01:29 -!- pikhq has joined.
08:15:08 * Sgeo was thinking about how to get the optimizer working, and it helped me figure out a bit of the parsing
08:19:05 * dixon was thinking about how to get Sgeo's brain working, and it helped me figure out that he's probably just hopeless :\
08:24:57 <dixon> I wuv you Sgeo, I do, I'd just wish you'd listen to the four people telling you that you're strangling kittens with oil pipeline.
08:25:09 <Sgeo> I'm not using Parsec
08:25:15 <dixon> You promise?
08:25:20 <Sgeo> Yes
08:25:36 <dixon> I would give you a hug, but I have a tendency to cop a feel.
08:26:02 <Sgeo> I _am_ using a data BFCmd that means I can't just write parseBFChar '+' = BFInc etc
08:27:43 <dixon> You could always try python-llvm, for the lulz.
08:28:22 * Sgeo should be sleeping
08:28:31 <Sgeo> Sleep will probably let me think better when I awake
08:28:36 <Sgeo> It's 3:26AM here
08:28:43 <dixon> 03:30 here.
08:29:14 <Sgeo> o.O
08:29:32 <Sgeo> Either you're rounding, or there's a mysterious 3min difference
08:29:47 <Sgeo> erm, *looks at timestamp* 4min
08:29:52 <Sgeo> between 3-4
08:30:25 <dixon> Well, I'm using NTP, so I hope it's not wrong.
08:34:25 <Sgeo> night
08:34:33 <dixon> nini
08:58:31 -!- FireFly has joined.
09:16:08 -!- jcp has quit (Quit: I will do anything (almost) for a new router.).
09:39:26 -!- adam_d has joined.
09:50:30 -!- tombom has joined.
09:54:31 -!- Gracenotes has joined.
10:23:39 -!- olsner_ has joined.
10:26:06 -!- MigoMipo has joined.
10:31:38 -!- Tritonio_GR has quit (Quit: Leaving.).
10:47:53 -!- BeholdMyGlory has joined.
11:47:24 -!- BeholdMyGlory has quit (Remote host closed the connection).
12:00:51 -!- olsner_ has quit (Quit: olsner_).
12:32:22 -!- cheater2 has quit (Ping timeout: 268 seconds).
12:38:20 -!- cheater2 has joined.
13:06:44 -!- olsner_ has joined.
13:14:39 -!- fax has joined.
14:17:11 -!- olsner_ has quit (Quit: olsner_).
14:30:16 -!- MigoMipo has quit (Remote host closed the connection).
14:43:14 -!- oerjan has joined.
15:30:02 -!- BeholdMyGlory has joined.
16:13:44 -!- oerjan has quit (Quit: leaving).
16:23:47 -!- MigoMipo has joined.
16:28:01 -!- adam_d has quit (Ping timeout: 265 seconds).
16:39:10 -!- hiato has joined.
16:46:15 -!- hiato has quit (Ping timeout: 276 seconds).
16:47:56 -!- hiato has joined.
16:54:21 * Sgeo goes to write a separate tape manipulation module
16:55:24 * fax does something more interesting than implement brainfuck
16:58:56 * hiato comments
16:59:54 * Sgeo wonders if he's over-engineering
17:01:21 -!- jcp has joined.
17:23:21 <AnMaster> what is that sort of "always" falling tone called now again?
17:23:25 <AnMaster> well not always falling
17:23:27 <AnMaster> it just sounds like it
17:23:47 <AnMaster> there was one in Mario64, if you went up the final stairs before collecting enough stars
17:24:06 <AnMaster> I remember hearing some name for that sort of sound once
17:25:33 <AnMaster> fizzie, do you happen to know? I think I remember you were involved in a discussion about them here ages ago?
17:31:18 <fizzie> I vaguely remember a discussion about them, but not any specific name. I think the tones themselves were mentioned on some "auditory illusions" page.
17:33:30 <fizzie> Apparently it's sometimes called Shepard’s paradox, though that name seems to be a bit ambiguous.
17:33:36 <fizzie> http://www.moillusions.com/2006/05/audio-optical-illusions.html
17:34:06 <Gregor> "Audio optical illusions"
17:34:09 <Gregor> Stupidest phrase EVER
17:34:17 <Slereah> heh
17:34:33 <fizzie> Everyone seems to call them that. :p
17:34:57 <fizzie> http://angrydylan.blogspot.com/2007/11/shepards-paradox.html is another bit, and you can obviously google more.
17:35:47 <fizzie> http://en.wikipedia.org/wiki/Shepard_tone is also related.
17:35:52 <fizzie> Phew, maybe that was enough linkery.
17:37:52 -!- olsner_ has joined.
17:39:41 <Gregor> That's a lot less of a trick than I originally assumed it might be :P
17:40:42 <AnMaster> fizzie, no! need more links!
17:40:45 <AnMaster> quick!
17:40:47 <AnMaster> XD
17:43:05 <hiato> www.www.com.com
17:43:29 <hiato> I wonder if someone owns that
17:43:51 <AnMaster> www.com.com seems to redirect to cnet
17:44:00 <AnMaster> so presumably they own www.www.com.com too
17:44:01 <hiato> hmmm
17:44:02 <Deewiant> It's a subdomain of com.com, which belongs to cnet
17:44:10 <hiato> damnit
17:44:11 <AnMaster> though it isn't in dns
17:45:14 <hiato> http://org.org/ --- wth is this place?
17:46:19 <fizzie> Someone's random photos is what it looks like.
17:46:31 <AnMaster> fizzie, why not call it audio illusions instead?
17:46:41 <AnMaster> I mean, there is no good reason to include the word optical there
17:46:57 <hiato> meh, with such n awesome name
17:47:09 <AnMaster> unlike if you were to use the Swedish word for optical illusions: "synvillor" where "syn" refers to "sight"
17:47:27 <AnMaster> calling it "ljudsynvillor" would be quite reasonable then
17:47:56 <AnMaster> (because "villor" alone means nothing related to illusions. It means "villas". Go figure)
17:48:12 <AnMaster> I guess ljudvillor would be interpretable too
17:48:23 <hiato> Was gonna ask
17:49:30 * Sgeo wonders if his decision to make moveRight :: Tape a -> Maybe (Tape a) will just confuse him beyond all home
17:49:33 <Sgeo> *hope
17:51:11 <hiato> Sgeo: BF in Haskell? I have but one question: why?
17:54:44 <oklopol> Sgeo: what's the meaning
17:55:12 <AnMaster> Sgeo, why maybe?
17:55:23 <AnMaster> Sgeo, won't moving right always be possible?
17:55:36 <AnMaster> while moving left might hit the start
17:55:41 <hiato> if there's a wrap
17:55:57 <AnMaster> hiato, then it will always be possible in both directions
17:56:20 <hiato> yeah, that's how i'd do it
17:56:50 <Sgeo> Well, I want there to be several kinds of tape
17:57:03 <Sgeo> It's possible to make tape unbounded at both ends, or bounded at both ends
17:57:40 <AnMaster> hiato, nah I would do infinite tape upwards, but finite downwards
17:57:44 <Sgeo> data Tape a = Tape [a] a [a]
17:57:45 -!- coppro has quit (Ping timeout: 276 seconds).
17:57:52 <AnMaster> thus forming an analogy to N
17:57:59 <Sgeo> With the head of each list being the element closest to the head
17:58:03 <AnMaster> while infinite in both directions would be an analogy to Z
17:58:05 <Sgeo> erm, tape head
17:58:11 <fax> uphill both ways
17:58:26 <AnMaster> your tape hiato would be an analogy to N modulo x
17:59:02 * AnMaster wonders what a tape analogous to Q or R would be
17:59:03 <hiato> I guess
17:59:16 <AnMaster> also what a finite, non-wrapping one would be
17:59:20 <AnMaster> a finite set I guess
17:59:25 <hiato> yep
17:59:26 <AnMaster> without modulo
17:59:41 <Sgeo> How would I make a tape that wraps? let the_list = [0,0,0,0,0] in Tape (reverse the_list) 0 the_liist?
18:00:01 <Sgeo> No, I don't.. think so
18:00:03 <fax> Sgeo: it's impossible
18:00:04 <AnMaster> now I want an uncountably infinite bf tape :(
18:00:12 <Sgeo> :(
18:00:15 <AnMaster> Sgeo, what is?
18:00:22 <AnMaster> wrapping around in a tape? no
18:00:29 <hiato> I donno, I just find it easier to give a generous length, then rotate tape as needed, always working on the first element
18:00:34 <AnMaster> just take the current position modulo the length of the day
18:00:39 <AnMaster> s/day/tape/
18:00:41 <AnMaster> weird typo
18:00:48 <hiato> heh
18:00:55 <hiato> OR do rotatinos
18:01:02 <AnMaster> rotatinos?
18:01:18 <hiato> rotations
18:01:21 <hiato> :P
18:01:30 <AnMaster> hiato, using a linked list?
18:01:31 <hiato> tail a ++ [head a]
18:01:44 <AnMaster> then yes it makes sense to use a circular linked list
18:02:15 <fax> no it doesn't
18:02:27 <AnMaster> hiato, if the language is single assignment that would be rather inefficient
18:02:37 <AnMaster> assuming cons style lists that is
18:02:48 <AnMaster> fax, why not?
18:02:54 <AnMaster> use a double linked circular list
18:02:59 <AnMaster> moving left or right is trivial
18:03:06 <AnMaster> just follow the pointer in the relevant direction
18:03:11 <AnMaster> of course that requires a low level language
18:03:23 <fax> if you are going to use mutable variables then you should make the values mutable rather than the cons
18:03:36 <hiato> AnMaster: yeah, true, but that's the concpt, and if mage lazy it doesn't really matter - all operationse on the first etement only
18:03:49 <AnMaster> hiato, "mage lazy"?
18:03:54 <hiato> heh
18:04:03 <hiato> I have no idea
18:04:10 <AnMaster> hiato, what the heck was "mage" a typo for...
18:04:12 <hiato> New keyboard layout
18:04:25 <hiato> made?
18:04:28 <AnMaster> aha
18:04:32 <hiato> yeah, made
18:04:37 <AnMaster> hiato, dvorsak?
18:04:44 <AnMaster> err modulo spelling
18:04:51 <hiato> Naah, my own
18:04:57 <hiato> was on colemak
18:05:12 <AnMaster> I'm perfectly happy with qwerty
18:05:24 <AnMaster> I don't type that much, I code. Meaning I think more than I type
18:05:37 <AnMaster> (becuase I don't use asm)
18:05:37 <hiato> Ah, right
18:05:49 <hiato> naah, just an experiment
18:06:00 <hiato> (I do :P)
18:06:11 <AnMaster> well okay I use inline asm in C sometimes...
18:06:38 <hiato> You're just afraid of it's power
18:06:50 <AnMaster> nah
18:06:56 <hiato> :P
18:06:56 <AnMaster> I prefer high level languages
18:07:09 <hiato> I like extremes
18:07:48 <AnMaster> because what needs 200 lines of C needs maybe 20 lines of erlang. (well usually not quite as dramatic ratio, but when the stuff is heavy on memory handling it might be)
18:08:30 <AnMaster> how many lines of C would it take you to write a program that recurse through a set of directories given on the command line, finding duplicate files
18:08:38 <AnMaster> it should avoid reading files if possible
18:08:44 <AnMaster> by checking the size of the files
18:08:57 <hiato> yeah, well, if people talk efficiency and anything other than ASM, they're just making up useless -etrics
18:09:07 <AnMaster> hiato, har.
18:09:12 <hiato> heh, 10000's
18:09:14 <AnMaster> hiato, well, efficient in programmer time
18:09:31 <AnMaster> no not 10000s
18:09:39 <AnMaster> I think maybe 1000 lines at most
18:09:45 <AnMaster> some 900 more likely
18:09:53 <AnMaster> but in erlang it took me, what, *checks*
18:10:18 <AnMaster> 232 lines, including comments and blanks
18:10:31 <hiato> Yeah, 10000's because I know no C libraries and would prob implument another language and link to bash or something
18:10:35 <AnMaster> Language Files Code Comment Comment % Blank Total
18:10:35 <AnMaster> ---------------- ----- --------- --------- --------- --------- ---------
18:10:35 <AnMaster> erlang 1 119 81 40.5% 32 232
18:10:45 <AnMaster> according to ohcount
18:10:46 <hiato> nice
18:11:04 <AnMaster> it does it in three steps
18:11:18 <hiato> yeah?
18:11:39 <AnMaster> step 1: recurse and read file info, store in a dict the size as key, and append the filename to the value
18:11:48 <AnMaster> so all files with the same size is in the same key
18:12:24 <hiato> clever start
18:13:16 <AnMaster> step 2/3: (2) for each such key it goes through and calculate the hash of each file, stores a 2-tuple {size,md5sum} with filenames (3) for each such key, now it finally checks that they are the same, and we don't have a theoretical hash collision
18:13:25 <AnMaster> step 2/3 are done interleaved to make use of disk cache
18:13:32 <AnMaster> that is, it won't need to read the files in again
18:13:48 <AnMaster> step 2 is done to not have to load as much file data into memory at once
18:13:56 <AnMaster> since I need to run this on fairly large files
18:14:02 <AnMaster> say 200-300 MB each at most
18:14:27 <AnMaster> a lot often the files will be much smaller
18:15:10 <hiato> Hmmm, but as you probably considered, tle size comparison isn't really necessary, in fact, i'm sure any decent hash takes it into account anyway
18:15:29 <hiato> but, still clever
18:15:47 <AnMaster> hiato, the size is to reduce having to read the files from disk
18:15:55 <AnMaster> if there are no two files of the same size
18:16:00 <AnMaster> it doesn't have to read those at all
18:16:10 <AnMaster> since getting the size is way faster than reading the file
18:16:19 <AnMaster> it maps to a simple stat() or such at some level
18:16:21 <hiato> Oh, right. Heh
18:16:37 <hiato> ok, cant fault you then
18:16:38 <AnMaster> hiato, I ran this on the linux source tree with a compiled kernel in it
18:16:50 <AnMaster> it was way faster than a naive bash script that I used before
18:17:07 <AnMaster> as in, 30 seconds vs. 7 minutes
18:17:14 <AnMaster> both on cold cache
18:17:22 <hiato> Really? I thought pipes and such are lazy
18:17:27 <AnMaster> eh?
18:17:30 <AnMaster> what are you talking about
18:17:31 <hiato> wow
18:17:57 <hiato> a | grep b && c
18:18:07 <hiato> or, rather
18:18:26 <hiato> eh
18:18:39 <hiato> wait, I'm slow with kbd
18:18:51 <hiato> Please hold
18:19:30 -!- iamtheobject has joined.
18:19:35 <iamtheobject> -.-
18:20:28 <AnMaster> well
18:20:42 <AnMaster> hiato, they just work concurrentlyu
18:20:45 <AnMaster> concurrently*
18:20:47 <AnMaster> not lazily
18:21:25 <AnMaster> Gregor, btw wth is up with the topic? You set it last it looks like
18:21:57 <Gregor> You don't like it? :P
18:23:19 <hiato> An efficient implementation in *sh would take into account that pipes as data flow are lazy, more specifically, if used as a source, it will only feed as much as is requested, so you could easily implement a naieve list and glob for files based on hashes andpipes that feed data only to the point that the conditional request fails
18:24:04 <AnMaster> hiato, no that is incorrect
18:24:12 <hiato> oh?
18:24:22 <AnMaster> pipes are just concurrent, not lazy
18:24:28 <hiato> damnit
18:24:30 <AnMaster> the kernel has a buffer
18:24:38 <hiato> and i did all that typing
18:24:39 <AnMaster> and writes block if that buffer is full
18:25:49 <AnMaster> theoretically I could optimise my implementation by doing the md5 calculation while data is being read in
18:25:55 <AnMaster> shouldn't be too hard in erlang
18:26:09 -!- ehirdiphone has joined.
18:26:14 * hiato wouldn't know
18:26:16 <AnMaster> hi ehirdiphone
18:26:26 <ehirdiphone> Yo
18:26:55 <Sgeo> Hi ehirdiphone
18:27:01 <Sgeo> Why are you on the iPhone?
18:27:04 <hiato> ehirdiphone: phone?
18:27:07 <hiato> Ah
18:27:19 <ehirdiphone> Meh reasons. Not important. Hello!
18:27:42 <Sgeo> I think I'm overengineering my BF interpreter
18:27:54 <hiato> Have you seen the cw input interface for the iPhone?
18:28:04 <Sgeo> BRB
18:28:19 <ehirdiphone> hiato: ?
18:28:22 <ehirdiphone> No?
18:28:44 <hiato> Morse Code iput, er, iDitDah or somesuch
18:28:50 -!- olsner_ has quit (Quit: olsner_).
18:28:54 <fax> ehird god dammit
18:30:06 <hiato> ehirdiphone: http://kb1ooo.com/iditdahtext/iDitDahText.html
18:30:51 <pikhq> Sgeo: You are *probably* overengineering it.
18:30:52 <ehirdiphone> fax: What?!
18:31:20 <fax> I was wanting to talk to you for ages
18:31:57 <ehirdiphone> fax: At most you had to wait two days.
18:32:24 <ehirdiphone> I /do/ have to pick things up from the old house.
18:32:26 <AnMaster> ehirdiphone you and fax have been missing each other with like 5 minutes for *days*
18:32:33 <ehirdiphone> hiato: Ha
18:32:44 <AnMaster> ehirdiphone, have things improved btw?
18:32:50 <ehirdiphone> AnMaster: Aha :-D
18:33:04 <pikhq> fax: Dude, some people have real lives. Granted, ehird is normally an exception. Still. :P
18:33:10 <AnMaster> pikhq, :D
18:34:32 <ehirdiphone> ais formulated me getting a girlfriend as the most ludicrous explanation for the unit absence possible. Nuff said :P
18:34:50 <fax> nuff said??
18:35:10 <oklopol> well gf's are extremely easy to get
18:35:17 <ehirdiphone> Enough. Except more nuff-y.
18:35:36 <ehirdiphone> AnMaster: Answered in MSG
18:35:37 <oklopol> oh she didn't get the nuff
18:35:42 <ehirdiphone> msg
18:36:00 * AnMaster looks
18:36:02 <fax> wnat the fucking hell is going on
18:36:07 <AnMaster> was watching that video hiato linked
18:36:16 <ehirdiphone> fax: Whaddya mean?
18:36:35 <oklopol> is "pareto optimal" in common usage?
18:36:41 <oklopol> do you all know what it means?
18:37:10 <ehirdiphone> no
18:38:01 <oklopol> okay that's enough of an answer for me
18:38:45 <fax> :C
18:39:16 <ehirdiphone> fax: Be more precise and if you want to talk do.
18:40:24 <fax> ehirdiphone do you know who I am ??
18:40:25 -!- ehirdiphone_ has joined.
18:40:26 -!- ehirdiphone has quit (Remote host closed the connection).
18:40:28 -!- ehirdiphone_ has changed nick to ehirdiphone.
18:42:14 <ehirdiphone> fax: I was under the impression you wanted to talk :P
18:42:38 <fax> hi
18:43:01 <Gregor> http://www.nuffy.net/pics/funny/toilate/toilete_signs_08.jpg Little did they know that ZW birds are female :P
18:50:10 <AnMaster> <oklopol> is "pareto optimal" in common usage? <-- what *does* it mean
18:50:49 <AnMaster> <ehirdiphone> fax: Be more precise and if you want to talk do.
18:50:49 <AnMaster> <fax> ehirdiphone do you know who I am ??
18:50:50 <AnMaster> * ehirdiphone_ (~ehirdipho@ has joined #esoteric
18:50:50 <AnMaster> * ehirdiphone has quit (Remote host closed the connection)
18:50:50 <AnMaster> * ehirdiphone_ is now known as ehirdiphone
18:50:50 <AnMaster> <ehirdiphone> fax: I was under the impression you wanted to talk :P
18:50:52 <AnMaster> <fax> hi
18:50:55 <AnMaster> ehirdiphone, in case you missed some of that
18:51:32 <ehirdiphone> fax: What do you mean, do you know who I am?
18:51:34 <AnMaster> <Gregor> http://www.nuffy.net/pics/funny/toilate/toilete_signs_08.jpg Little did they know that ZW birds are female :P <-- ZZ? ZW?
18:52:31 <AnMaster> <fax> I'm your father ehirdiphone. <ehirdiphone> NOOOOOOOOOOOOOOOOOOOOOOOOOOO!
18:52:32 <Sgeo> Bleh at there being no Integer -> Char
18:52:36 <Gregor> XX is female, ZW is female, so in fact these bathroom signs are indicating that male birds (and some insects, etc) use the same restroom as female mammals (e.g. humans :P ), and female birds (etc) use the same restroom as male mammals (e.g. humans)
18:52:46 <ehirdiphone> Sgeo: Int
18:52:54 <AnMaster> Gregor, har
18:52:56 <ehirdiphone> + fromInteger
18:53:04 <AnMaster> Gregor, "restrooms"?
18:53:05 <fax> toEnum ?
18:53:17 <Gregor> ... yes?
18:53:18 <AnMaster> Gregor, do you mean toilets?
18:53:19 <ehirdiphone> Gregor: Hawt :P
18:53:30 <Sgeo> Maybe I should just have the tape be Tape Char
18:53:37 <AnMaster> Gregor, what is the circle and the triangle symbols?
18:53:39 <AnMaster> are*
18:53:40 <Gregor> AnMaster: In the US, that's just about the only word we don't use to refer to the room :P
18:53:47 <AnMaster> Gregor, heh
18:53:48 <Sgeo> Although that complicates + and - slightly
18:53:50 <Gregor> AnMaster: That I can't answer ...
18:53:54 <Sgeo> well, not really, I guess
18:53:57 <AnMaster> Gregor, ah
18:54:11 <ehirdiphone> Sgeo: succ. pred
18:54:19 <ehirdiphone> Char will do fine.
18:55:04 <AnMaster> Gregor, why call it restrooms?
18:55:10 <AnMaster> Gregor, also what about "loo"?
18:55:20 <AnMaster> "water closet: a toilet in Britain
18:55:20 <AnMaster> wordnetweb.princeton.edu/perl/webwn"
18:55:23 <AnMaster> hm I guess not
18:55:23 <Gregor> That's a word with no meaning whatsoever here.
18:55:40 <pikhq> "Loo" is just fine. Don't think many people *use* it, but I'm pretty sure most people would understand it just fine.
18:55:53 <AnMaster> apparently Gregor didn't
18:55:58 <AnMaster> pikhq, I would use toilet?
18:56:00 <Gregor> *COMMIE
18:56:01 <pikhq> Gregor: Hah.
18:56:03 <ehirdiphone> Crapper
18:56:10 <pikhq> AnMaster: "Uh, the toilet's in the bathroom..."
18:56:17 <AnMaster> har
18:56:20 <ehirdiphone> Nobody says water closet
18:56:21 <pikhq> ehirdiphone: "Uh, the toilet's in the bathroom..."
18:56:24 <oklopol> you don't need to call them anything, just say you're gonna take a shit
18:56:29 <ehirdiphone> WC, /maybe/.
18:57:13 <oklopol> "i intend to leak fecal matter out of my ass, where should i do this"
18:57:14 <Gregor> OK, OK, so most people would know what "loo" means.
18:57:27 <AnMaster> pikhq, here in Sweden toalett can be both the room, or the equipment. When referred to as the room it is a room which contains only the equipment and handfat (English word slipped my mind, you was your hands there)
18:57:33 <Gregor> But it would be like this "loo" -> "funny British word for bathroom" -> "bathroom"
18:57:38 <Gregor> Not "loo" -> "bathroom"
18:57:40 <AnMaster> it wouldn't be used for a room that contained a bathtub or such as well
18:57:48 <Gregor> Whereas WC would just have people scratching their heads.
18:58:07 <Gregor> AnMaster: "handfat" is officially the greatest word ever.
18:58:09 <AnMaster> WC is common on signs for toilets around here
18:58:11 <Gregor> AnMaster: Sink?
18:58:14 <pikhq> AnMaster: A room with just a toilet is also a bathroom. ;)
18:58:18 <AnMaster> no one would *say* it though
18:58:22 <AnMaster> Gregor, ah yes
18:58:25 <ehirdiphone> AnMaster: yeah
18:58:28 <ehirdiphone> Exactly
18:58:31 <AnMaster> pikhq, it is not!
18:58:34 <AnMaster> well maybe in English
18:58:37 <Gregor> "restroom" and "bathroom" are used interchangeably here.
18:58:39 <pikhq> In floor plans, it's termed a "quarter bath". In spite of having 0 baths.
18:58:41 <Gregor> Not in English, in American vernacular.
18:58:50 <ehirdiphone> I always thought that abba song was about toilets when I was really young
18:58:55 <ehirdiphone> WATERLOO!
18:59:02 <AnMaster> ehirdiphone, well no one would say "water closet" in the same way as no one says "dihydrogen monoxide"
18:59:19 <AnMaster> as in, I actually heard people using it, but just as a joke
18:59:31 <AnMaster> ehirdiphone, hehe
18:59:56 <AnMaster> argh now I feel I have that tune on my head
19:01:01 <AnMaster> ehirdiphone, that "water closet: a toilet in Britain" was from define:loo btw
19:17:01 <ehirdiphone> Flood
19:17:03 -!- dixon has quit (Ping timeout: 276 seconds).
19:17:08 <ehirdiphone> Upfpdgkglc fyoddv fypf cups tx hung ufgo
19:17:35 <AnMaster> ehirdiphone, flood?
19:17:53 <ehirdiphone> Izi USB jai ow zkqodj wkdhf euwixb jdb jd dk ne fdisk zlqpxh
19:18:04 -!- jcp has quit (Quit: I will do anything (almost) for a new router.).
19:18:04 * AnMaster goes elsewhere
19:18:42 <ehirdiphone> Ozowkd abxoxbs fowoxjwj x dj jz. I icori h dj oso odj jebwkxodocidisbbaixieisoso kj jwoxppskjajco ackvpgirurvx iwospwiiqbzbc woxpfkf.
19:19:17 -!- tombom has quit (Quit: Leaving).
19:19:50 -!- dixon has joined.
19:20:43 <AnMaster> -00:01/10:33, and I'm near the end of this file
19:20:46 <AnMaster> says vlc
19:20:47 <AnMaster> near the end
19:21:02 <hiato> 19:33 < AnMaster> was watching that video hiato linked <------ er?
19:21:06 <AnMaster> funny the way it continues to count
19:21:10 <AnMaster> -00:-02
19:21:23 <AnMaster> okay now it is worse
19:21:29 <AnMaster> 01:08/01:03
19:21:46 <AnMaster> hiato, the link you linked
19:21:57 <AnMaster> had a video demoing the thing on it
19:22:11 <hiato> Ooooooh. Heh
19:22:54 <hiato> also, at least vlc can count, dont get me started about mpd and streams
19:26:28 -!- dixon has quit (Ping timeout: 240 seconds).
19:26:39 <AnMaster> hiato, oh?
19:26:51 -!- Sgeo has quit (Ping timeout: 265 seconds).
19:28:06 <hiato> It just gives seemingly random numbers. Fair enough, it cant be expected to track position in a stream, but it gives me things like 99:01:01:01
19:28:23 -!- dixon has joined.
19:28:25 <hiato> i mean, what is that? The radio station is older
19:28:44 <hiato> and I've been listening for maybe ten minutes
19:28:45 <AnMaster> hiato, possibly in the current segment?
19:28:52 <AnMaster> of something
19:29:18 <hiato> Heh, exactly
19:30:33 <AnMaster> hiato, or 99 indicates a stream
19:30:45 <hiato> se posible
19:30:50 <AnMaster> se?
19:31:02 <hiato> it is, IIRC
19:31:10 <hiato> French
19:31:15 <hiato> non?
19:31:16 <AnMaster> 99:01:01:01 <-- is 99 in hundreds of hours?
19:31:18 <AnMaster> or what
19:31:25 <hiato> No idea
19:31:33 <AnMaster> hiato, well what is the last unit in?
19:31:39 <hiato> let me connct now and show you
19:31:41 <AnMaster> seconds? centiseconds?
19:32:37 <hiato> Pfftt.... no idea
19:32:51 <hiato> 07:17:47 is the one pice of info
19:33:04 <hiato> the other is my corroct listen time
19:33:07 * AnMaster has a 3 line, 14 column lcd here
19:33:18 <AnMaster> should I make it possible to get a console on it?
19:33:21 <AnMaster> or try to at least
19:33:27 <AnMaster> would need a user space daemon for it
19:33:28 <hiato> FTW\
19:33:36 <AnMaster> since I need to program it with libusb
19:33:39 <oklopol> isn't se written c'est
19:33:42 <hiato> s/\//!
19:33:48 <AnMaster> it can only display a limited charset btw
19:34:19 <hiato> oklopol: wouldn't know, never took french
19:34:28 <oklopol> ic
19:34:44 <oklopol> ("isn't ic written i see")
19:34:53 <hiato> ;)
19:36:00 -!- MigoMipo has quit (Read error: Connection reset by peer).
19:37:19 <hiato> AnMaster: 20:30 < AnMaster> since I need to program it with libusb ---> what about a parallel port? Significantly easier
19:37:22 -!- Sgeo has joined.
19:37:54 <Sgeo> My dad stepped on the switch for the power thing that powers the cable modem
19:38:13 <hiato> Gregor: what is a "mandelstam"?
19:38:23 -!- jcp has joined.
19:38:48 <Gregor> It's a verb. "to mandelstam"
19:39:09 <hiato> Ok, and it's meaning is?
19:39:14 -!- dixon has quit (Ping timeout: 276 seconds).
19:39:25 <Gregor> Well ... it's a mandelly kind of ... stamming.
19:39:26 <hiato> *its
19:41:24 <hiato> Oh? Wouldn't have guessed that, sneaky and deceptive. So it's like like a not so frabtious way of presbiedling
19:41:52 <hiato> -like
19:47:54 <Sgeo> I think my bftape.hs is good enough
19:48:10 -!- adam_d has joined.
19:48:51 <Sgeo> http://hpaste.org/fastcgi/hpaste.fcgi/view?id=24660#a24660
19:50:39 <hiato> Sgeo: any particular reason for moveby?
19:50:52 -!- lament has joined.
19:51:05 <Sgeo> The main program stores BF commands as, e.g., BFMove 5
19:51:15 <Sgeo> Instead of just BFRight
19:51:17 <Sgeo> or something
19:51:29 <hiato> Oh, ok
19:53:20 <hiato> I like the modifyTapeHead
19:53:38 <hiato> nice thinking
19:53:49 <Sgeo> ty
19:57:24 <Sgeo> It seems like it can take a while to figure out how to write a line of Haskell, but reading it is easy
19:57:33 <Sgeo> [in general]
19:58:09 <Sgeo> And it's generally important to be able to read code later, more so than writing it now..
19:58:46 -!- dixon has joined.
19:59:07 <AnMaster> Gregor, there?
19:59:15 <Gregor> Yes?
19:59:20 <AnMaster> Gregor, I have a little request for your musical skills
19:59:24 <Gregor> Oh?
19:59:27 <AnMaster> Gregor, something I think might be interesting
19:59:54 <Gregor> Go on
19:59:57 <AnMaster> Gregor, the result of merging the internationale and some of Chopin's music
20:00:04 <AnMaster> I have no idea what it would sound like
20:00:12 <AnMaster> but it sounds interesting
20:00:18 <AnMaster> and I lack the skill to do it myself
20:01:19 <Gregor> Guhhh uhh?
20:01:27 <AnMaster> Gregor, eh?
20:02:09 <AnMaster> Gregor, is that a good or bad sign?
20:02:26 <Gregor> I don't yet know :P
20:02:35 <Gregor> However, I do believe this is probably beyond my skills.
20:03:02 <AnMaster> Gregor, ah :/
20:03:09 <Gregor> Did you have anything more specific than "Chopin's music"?
20:03:39 <AnMaster> Gregor, well, some suitable music by him. I'm not quite enough expert on him to be able to name a specific piece
20:03:46 <AnMaster> Gregor, but iirc you liked him a lot
20:04:03 <AnMaster> so I assumed you would be able to pick a suitable, slow piece that is typical Chopin
20:04:16 <Gregor> e.g. "Any Chopin Nocturne #whatever" :P
20:04:35 <AnMaster> Gregor, well yes sounds good.
20:04:46 <AnMaster> just pick the number you want
20:05:24 <AnMaster> Gregor, you see, I and some other people were discussing this in another channel (on another network).
20:05:55 <Gregor> I imagine the fact that you've ever heard The Internationale before and I have not has a lot to do with our respective positions on Earth :P
20:07:12 <AnMaster> Gregor, eh?
20:07:24 <AnMaster> Gregor, you haven't heard the Internationale?!
20:07:29 <Gregor> Well, I have now.
20:07:38 <AnMaster> (assuming that "ever" was a typo for "n&"
20:07:40 <AnMaster> )
20:07:54 <Gregor> Maybe I have before, but dismissed it as "extraordinarily generic anthem-sounding music"
20:08:03 <AnMaster> Gregor, well so it is!
20:08:08 <AnMaster> Gregor, kind of
20:08:27 <AnMaster> Gregor, it is just that it is about as far as you can get from a Chopin nocturne
20:08:34 <AnMaster> which is why we were discussing merging them
20:08:40 <Gregor> I see :P
20:09:09 <AnMaster> Gregor, I have no idea if it is possible, and if it is, if the result is interesting
20:09:11 <Gregor> So I assume you were referring to merging not so much in creating a piece of music which is a stylistic merge, but actually mixing recordings of both into some horrible mutant.
20:09:31 <AnMaster> but considered that I once heard a boogie-woogie waltz...
20:09:37 <AnMaster> I don't consider it *impossible*
20:10:22 <oklopol> i'm good at mixing X and deathcore for any value of X, if anyone's interested
20:10:30 <AnMaster> heh
20:10:46 <AnMaster> oklopol, to what ratio?
20:11:11 <oklopol> to any X/deathcore ratio less than or equal to 0.5, i suspect
20:11:48 <oklopol> that was actually mostly a joke, deathcore isn't what i usually write (although it is what i usually listen to).
20:11:56 <AnMaster> Gregor, http://www.youtube.com/watch?v=eFO0SXf4mw4 (lyrics in Swedish btw, but the music itself should be interesting, the boogie-woogie waltz)
20:12:38 <AnMaster> the composer and perfomer is the famous (in Sweden) comedian Povel Ramel
20:12:44 <AnMaster> performer*
20:15:26 <oklopol> that's some serious liquid insanity
20:17:36 -!- Alex3012 has quit (Read error: Connection reset by peer).
20:17:36 -!- Sgeo_ has joined.
20:17:36 -!- Alex3012 has joined.
20:19:05 <ehirdiphone> oklopol: set X = 0
20:19:23 <ehirdiphone> write me some nothing music
20:19:52 <oklopol> if i mix deathcore and nothing, won't the result be just deathcore
20:20:52 <oklopol> also people generally manage to name the genre of any of my music, except those who hear an electric guitar and say metal or rock
20:20:57 <oklopol> *don't
20:20:58 -!- Sgeo has quit (Ping timeout: 265 seconds).
20:21:05 <ehirdiphone> oklopol: hmm right
20:21:10 <oklopol> god i'm getting tired of inequalities
20:21:23 <ehirdiphone> X = -deathcore
20:21:48 <ehirdiphone> Don't what?
20:22:07 <ehirdiphone> X = -deathcore + i :|
20:22:13 <oklopol> there should be a don't somewhere in there
20:22:20 <dixon> X usually denotes a set
20:22:23 <oklopol> they manage not
20:22:32 <dixon> or matrix
20:22:40 <dixon> Or something that isn't a variable.
20:22:50 <oklopol> eh?
20:23:17 <oklopol> you mean in something like let (X, S, m) be a measure space, X is not a variable?
20:23:32 <oklopol> or what do you mean by variable
20:23:39 <dixon> A variable varies.
20:23:52 <oklopol> err no it doesn't, in math
20:23:57 <dixon> Yes, it does.
20:24:02 <dixon> In math.
20:24:03 <oklopol> oh
20:24:07 <oklopol> this is news to me
20:24:11 <dixon> e.g., y = 3x+6
20:24:15 <ehirdiphone> a variable is just something you plug in values for
20:24:18 <oklopol> but i believe you
20:24:24 <dixon> x \in R, thus x can VARY to be any value in R
20:24:32 -!- ehirdiphone has quit (Quit: Get Colloquy for iPhone! http://mobile.colloquy.info).
20:24:38 <oklopol> and in (X, S, m), X can VARY to be any set
20:24:51 -!- ehirdiphone has joined.
20:25:27 <dixon> Not ANY set.
20:25:34 <ehirdiphone> dixon: That's a stupid definition of change.
20:25:46 <dixon> ehirdiphone: Thanks?
20:25:53 <oklopol> absolutely any set can be made a measure space out of
20:26:01 <oklopol> x \in R has more constraints
20:26:10 <ehirdiphone> Yw
20:26:38 <oklopol> if you say let x \in R and then prove something about x, you're doing it for any value of x. similary, if you let (X, S, m) be a measure space, and prove something about it, you prove something for any measure space.
20:26:46 <oklopol> what's the difference making x a variable and X not one?
20:26:50 <dixon> oklopol: Vitali set, boiiiiii
20:27:26 <oklopol> what
20:28:06 <oklopol> i'll assume you were joking above
20:28:55 <dixon> I'll assume you're pretending not to know about non-measurable sets.
20:29:29 <oklopol> i know about non-measurable sets
20:29:45 <oklopol> i just don't see how vitali set made any sense
20:29:52 * Sgeo_ wonders if making his parser blind to too many [ is a bad idea
20:30:35 <ehirdiphone> Sgeo_: "meh"
20:30:42 <oklopol> oh you meant
20:30:46 <Sgeo_> well, too many ] will probably cause it to ignore everything after the extra [
20:30:48 <Sgeo_> erm ]
20:30:48 <ehirdiphone> Bad program = undefined behaviour :P
20:30:53 <oklopol> if X is a vitali set, then you can't make a measure space out of it?
20:30:55 <Sgeo_> ehirdiphone, heh
20:30:56 <oklopol> that's not true
20:31:04 <oklopol> obviously
20:32:16 <dixon> ...
20:32:49 <Quadrescence> ehirdiphone: wrong
20:33:14 <ehirdiphone> Quadrescence: about what
20:33:16 <Quadrescence> bad program = doesn't do what it's supposed to
20:33:26 <Quadrescence> or it does but exceedingly poorly
20:33:36 <oklopol> dixon: any set X can be made into a measure space by setting S = {{}, X} and m(a) = 0 for all a \in S
20:33:38 <Sgeo_> This parser is getting uglier by the second :/
20:33:42 <oklopol> even a vitali set
20:33:46 <ehirdiphone> Quadrescence: I meant
20:33:47 <dixon> So if a measurable space has a lebesgue measure, and the Vitali set isn't lebesgue measurable
20:33:55 <ehirdiphone> Feed nonprogram to interpreter
20:33:58 <ehirdiphone> => UB
20:34:05 <Quadrescence> oh okay
20:34:12 <Quadrescence> then you're off the hook
20:34:23 <dixon> That's wonderful, but is that making a measure space of the Vitali set itself, or a different set containing the vitali set as a subset?
20:34:25 <ehirdiphone> THE HOOK
20:34:49 <ehirdiphone> Sgeo_: Use parsec :P
20:34:57 <oklopol> it's making a measure space of the vitali set, X = vitali set. i assumed the vitali set was an example of something X can't be
20:34:59 <Sgeo_> ehirdiphone, is that a joke?
20:35:04 <oklopol> because you said X can't be *absolutely any set*
20:35:04 <Sgeo_> After several people told me NOT to?
20:35:05 <ehirdiphone> Sgeo_: no
20:35:13 <ehirdiphone> They're fucking idiots
20:35:21 <oklopol> and said this is because "vitali set boiiiiii"
20:35:24 <pikhq> ehirdiphone: Brainfuck parsing.
20:35:25 <ehirdiphone> Were they in #haskell?
20:35:31 <ehirdiphone> If not disregard them
20:35:36 <oklopol> also you can even make R^n into a measure space such that all vitali sets are measurable
20:35:42 <oklopol> i'll leave this as homework
20:35:43 <ehirdiphone> pikhq: Is a two liner in parsec
20:35:52 <Sgeo_> ehirdiphone, pikhq and Quadrescence and dixon
20:35:58 <pikhq> And 4 lines out of it. :P
20:36:10 <Sgeo_> pikhq, um, this is much much more than 4 lines
20:36:27 <ehirdiphone> Sgeo_: dixon is a moron and pikhq should be ashamed :P
20:36:38 <ehirdiphone> And Quadrescence is a fluffy bunny.
20:36:46 <ehirdiphone> Thusly he can do no wrong.
20:36:52 <ehirdiphone> He is excused.
20:37:07 <Sgeo_> How about this: I do it both ways
20:37:19 <ehirdiphone> TMI
20:37:30 <Sgeo_> rofl
20:37:47 <AnMaster> <oklopol> that's some serious liquid insanity <-- what is?
20:37:48 <Quadrescence> ehirdiphone: dixon is certainly not a moron
20:38:21 <oklopol> Quadrescence: can you explain his statement about X vs x?
20:38:45 <oklopol> i hope there's a better argument out there than vitali set boiiiii
20:38:56 <Sgeo_> Which is better: A language that's easy to write in but difficult to read, or a language that's easy to read in but difficult to write?
20:39:00 <ehirdiphone> Boiiiii
20:39:09 <Quadrescence> Sgeo_: neither
20:39:14 <ehirdiphone> Sgeo_: One that's difficult to both!
20:39:22 <Quadrescence> oklopol: I don't really remember what the argument was
20:39:41 <Sgeo_> It's just that it seems that Haskell tends to be a bit of the latter, imo
20:39:51 <oklopol> Quadrescence: then nm
20:40:07 <oklopol> or read logs, it's not a very interesting argument
20:40:14 <ehirdiphone> Sgeo_: Only because it is new to you.
20:40:26 <Quadrescence> you can reiterate the question/whatever so we are all on the same page
20:40:38 <ehirdiphone> Avoid stating informed opinions until you're informed :P
20:41:03 <oklopol> the claim was that X usually denotes matrices or sets and is therefore not a variable, unlike x which denotes things like real numbers
20:41:20 -!- Oranjer has joined.
20:41:26 <oklopol> and that in x \in R, x can *vary*, whereas if you say (X, S, m) is a measure space, X can't vary
20:41:38 <Quadrescence> dixon: do you agree with what he just said (that this was the claim, be it true or false)
20:41:51 <oklopol> i don't see how there's any distinction between those
20:41:55 <dixon> Quadrescence: I said X can't assume all values.
20:42:08 <oklopol> well X \in Set, of course
20:42:13 <dixon> e.g., a non-measurable set
20:42:27 <dixon> Assuming lebesgue measure
20:42:32 <oklopol> that statement i just find plain weird
20:42:43 <oklopol> why couldn't you make a non-measurable set into a measure space
20:42:44 <Quadrescence> oklopol: X \in Set or MeasurableSet
20:42:48 <oklopol> Set
20:43:13 <oklopol> any set made into a measure space as for instance (X, {{}, X}, m), m(a) = 0 for all a
20:43:25 <oklopol> *can be
20:43:40 <Sgeo_> Dear Notepad++: Please don't attempt to match [ and ] if they're in single quotes
20:43:57 <dixon> Any negative number can be made nonnegative by adding its inverse. That doesn't make it initially nonegative.
20:43:58 <Quadrescence> Dear Sgeo_, learn to use a decent fucking editor
20:44:13 <oklopol> also x \in R, so even if it was MeasurableSet, X would still be a variable in the same sense that we name an arbitrary element of some class
20:44:47 <oklopol> dixon: what? a vitali set is not in any way inherently non-measurable, as i said there are measures on R^n where vitali sets can be measured.
20:44:49 <Quadrescence> Actually I don't think X is a variable now
20:45:01 <oklopol> why? what's the difference?
20:45:09 <dixon> oklopol: It's not Lebesgue measurable!
20:45:16 <oklopol> we say let X \in Set, and we say x \in R
20:45:26 <oklopol> and then we talk about that one x or X that can't change during the discussion
20:45:27 <dixon> I just said "assuming Lebesgue measure" like 10000000 times
20:45:59 <oklopol> err right, the second time i missed that
20:46:01 <Quadrescence> I did for a second but now I don't. When I think variable, I think: forall X in D, f(X)
20:46:13 <oklopol> that's a weird assumption because it's not relevant that X can be non-measurable in some measure
20:46:31 <dixon> The most popular measure :\
20:46:39 <dixon> (among the ladies anyway)
20:46:51 <Quadrescence> (i thought boob size was the most pop)
20:46:53 <oklopol> it's still irrelevant if we're talking about whether X can be made into a measure space
20:47:05 <oklopol> obviously there will be some spaces where X is not a measurable set, for any X except {}
20:47:22 <oklopol> and yeah sure it's the most popular
20:47:35 <dixon> Quadrescence: Make a measure space of boobies. Get your sigma algebra all over that :3
20:48:11 <Quadrescence> oklopol: also IIRC you just interchanged "measure space" and "measurable space" a few times
20:48:22 <oklopol> Quadrescence: can you explain why "forall X in D, f(X)", as a definition for variable, makes x a variable in "x \in R", but not X in "X \in Set"
20:48:35 <oklopol> i seriously doubt that, but maybe, let's see
20:48:51 <Quadrescence> oklopol: I can explain if I add more context to the question
20:48:53 <oklopol> oh well
20:49:27 <oklopol> i did talk about non-measurable set, and meant non-lebesque measurable, that might not have been clear from context
20:49:30 <Quadrescence> idk this discussion is boring let's listen to Sgeo_ talk about stuff
20:49:31 <Sgeo_> Awesome, this parser seems to actually be working
20:49:32 <oklopol> sure add context
20:49:37 <oklopol> yes it's very boring
20:49:50 <Quadrescence> cool his parser is working
20:50:14 <Quadrescence> I wonder if his parser is parsing or if he is confusing lexing with parsing or both
20:50:28 <Sgeo_> Well, kind of. Extra ] causes it to cut off, and it seems to automatically put ] at the end if needed
20:50:40 <Quadrescence> What do you guys think?
20:51:19 <oklopol> hmm
20:51:21 <Sgeo_> It's not working
20:51:40 <Quadrescence> Ah nvm guys his parser isn't working
20:51:40 <oklopol> the fact ] is causing him trouble suggests parsing
20:52:23 <oklopol> i ate so much pizza i'm all twitchy
20:52:32 <Quadrescence> oklopol: yes I agree so I suppose he is talking about parsing and not lexing
20:52:38 <oklopol> is that healthy / even possible?
20:52:43 <oklopol> maybe it's caffeine kicking in
20:52:47 <Quadrescence> no that is not healthy and it is not possible
20:52:59 <oklopol> thought so
20:53:31 <oklopol> Quadrescence: but what do you think, is he using a separate module for the parser and the interpreter
20:54:04 <oklopol> speaking of caffeine, i should probably make some coffee before i get tired
20:54:06 <Quadrescence> probably because he seems to be the type that would overengineer the dick out of something
20:54:19 <dixon> God did that to women
20:54:21 <dixon> hence men
20:54:42 <oklopol> "out of something", so i think god did it to guys
20:54:51 <Sgeo_> I have the definition of the tape and functions that operate on it in a separate module
20:54:59 <oklopol> women are more optimal in many ways
20:55:00 <dixon> oklopol: the pizza is slowing you down
20:55:18 <dixon> I'm going to win our pseudo-argument now >:)
20:55:38 <Quadrescence> Sgeo_: so do you really have a stateful tape? or do you have a thing that generates new tapes from old ones
20:55:50 <oklopol> men are more in the direction of movie-autistic genius in that they suck and own at things more often than women
20:55:51 <Sgeo_> new tape from old ones
20:56:06 <Sgeo_> http://hpaste.org/fastcgi/hpaste.fcgi/view?id=24660
20:56:16 <oklopol> which is away from the equilibrium of perfect humanness
20:57:01 <oklopol> dixon: i never considered it a pseudo-argument, although i agree it was a complete waste of everyone's time
20:57:15 <dixon> oklopol: If we didn't have time to waste, we wouldn't be on IRC
20:57:17 <dixon> Haskell is so anti-climactic.
20:57:25 <dixon> You slave for hours and what do you have to show for it? 44 lines.
20:57:44 <Quadrescence> fuck yeah C \o/
20:57:44 <myndzi\> |
20:57:44 <myndzi\> |\
20:57:51 <Quadrescence> haha i love this bot
20:57:59 <dixon> It can't count.
20:58:12 <oklopol> counted just fine on my screen
20:58:24 <dixon> Have a monospaced font?
20:58:26 <Sgeo_> The modify lines seem to be below the 44
20:58:26 <Quadrescence> dixon: you probs have that alignment junk I hate
20:58:33 <dixon> Quadrescence: DO NOT
20:58:33 <Quadrescence> at a margin
20:58:37 <oklopol> yes, i consider non-monospace ugly
20:58:48 <dixon> oklopol: Do you read websites in monospace?
20:58:50 <oklopol> yes
20:58:55 <dixon> haHAHAHahahAHA
20:58:55 <Quadrescence> oklopol: that is terrible
20:58:56 <dixon> so weird
20:59:01 <Quadrescence> that is the worst idea i've ever heard
20:59:10 <oklopol> also i disable all features on pages, they are just white on black monospace
20:59:16 <ehirdiphone> I helped him set up windows. Everything on his screen is
20:59:20 <oklopol> ehirdiphone made the theme for me
20:59:20 <dixon> HAHahaAHaHahhahaHahahAHa
20:59:21 <Quadrescence> jk Sgeo_'s idea of using parsec to parse bf was the worst idea
20:59:21 <oklopol> yeah
20:59:23 <ehirdiphone> White on black
20:59:27 <ehirdiphone> Consolas
20:59:31 <ehirdiphone> EVERY thing
20:59:37 <dixon> You're so weird.
20:59:40 <oklopol> almost everything, some things override it
20:59:42 <ehirdiphone> NO exceptions. It is beautiful.
20:59:51 <Quadrescence> ehirdiphone: not on the internet
20:59:54 <ehirdiphone> even made an IE stylesheet for it
20:59:56 <oklopol> people are like wtf why is your computer broken
21:00:00 <ehirdiphone> Quadrescence: oh yes
21:00:01 <Quadrescence> well, that is, if you use more than 2 websites on the internet
21:00:03 <ehirdiphone> see ^
21:00:06 <dixon> oklopol: That's just because you use Windows.
21:00:21 <oklopol> what's just because? the override?
21:00:36 <Quadrescence> \o/ _o/ \o/ _o_ \o_
21:00:36 <myndzi\> | | | | |
21:00:36 <myndzi\> /'\ >\ /\ >\ |\
21:00:50 <Quadrescence> who decided to give some of these penises?
21:00:52 <ehirdiphone> oklopol: No the broken
21:00:56 <ehirdiphone> he meant
21:00:58 <Deewiant> If he used something other than Windows they'd say that because it's not Windows
21:01:01 <oklopol> oh hmm yeah maybe
21:01:25 <oklopol> well you see they don't actually say anything because i never take my computer outside and no one even visits me
21:01:31 <oklopol> i mean i meet people but never here
21:01:42 <hiato> haha
21:01:52 <dixon> oklopol: Sure you did.
21:02:07 <dixon> oklopol: You just go to your measure theory class and home to fap to it.
21:02:16 <dixon> We now know the truth!
21:02:19 <oklopol> :P
21:02:34 <oklopol> measure theory isn't really what i do, measure spaces are just the only thing i was sure everyone would know
21:02:46 <Quadrescence> Sgeo_: what is a measure space???
21:02:58 <oklopol> not like let [n, k, d]_q R be a linear code
21:02:59 <Sgeo_> ?
21:03:08 <Quadrescence> Sgeo_: What Is A Measure Space?
21:03:15 <oklopol> well where everyone = {dixon} :D
21:03:22 <Sgeo_> Why are you asking me?
21:03:30 <oklopol> Sgeo_: i said everyone knows measure spaces
21:03:37 <oklopol> and *someone* decided to take that literally
21:04:08 <Sgeo_> Can you find someone else to assume to be ignorant?
21:04:18 <Quadrescence> yeah fuuuuuuuuk taking "everyone" LITERALLY since there are so many other ways to take it
21:04:23 <Quadrescence> \o_
21:04:23 <myndzi\> |
21:04:23 <myndzi\> >\
21:04:42 <AnMaster> so broken
21:04:52 <oklopol> i never mean what i say
21:04:59 <Quadrescence> bee are bee i hav 2 pee
21:05:03 <ehirdiphone> AnMaster: only for xchat users
21:05:18 <AnMaster> ehirdiphone, and other similar clients
21:05:25 <AnMaster> I made erc format it that way too
21:05:28 <dixon> oklopol: Or because it was the highest level of knowledge you could surmount in order to battle my raging ego.
21:05:49 <AnMaster> but it uses a static value
21:05:52 <Sgeo_> Woohoo, I think it's working
21:05:53 <AnMaster> and a max column
21:05:55 <AnMaster> <Quadrescence> \o_
21:05:55 <AnMaster> <myndzi\> |
21:05:55 <AnMaster> <myndzi\> >\
21:05:56 <myndzi\> |
21:05:56 <myndzi\> |\
21:06:02 <AnMaster> is what I see
21:06:30 <pikhq> AnMaster: That is a fekking bizarre alignment thing.
21:06:50 <oklopol> no, lowest
21:06:50 <AnMaster> pikhq, well no. It is supposed to be like xchat. But Quadrescence's nick is one char longer than the max length
21:06:58 <ehirdiphone> pikhq: aligned rightwards
21:06:58 <AnMaster> pikhq, this it overflows into the other area
21:07:02 <dixon> oklopol: Uh huh!
21:07:04 <pikhq> See, that's bizarro.
21:07:11 <pikhq> ehirdiphone: See?
21:07:13 <oklopol> the linear code thing was the highest level
21:07:15 <oklopol> :P
21:07:15 <AnMaster> pikhq, rightwards is normal
21:07:17 <AnMaster> to me
21:07:20 <AnMaster> xchat does it too
21:07:23 <AnMaster> there it looks like:
21:07:27 <oklopol> i assume you don't care what they are
21:07:30 <oklopol> *know
21:07:31 <pikhq> And that's all that does that.
21:07:31 <AnMaster> <Quadrescence> \o_
21:07:32 <AnMaster> <myndzi\> |
21:07:32 <AnMaster> <myndzi\> >\
21:07:32 <myndzi\> |
21:07:32 <myndzi\> /\
21:07:34 <dixon> oklopol: I lol'd.
21:07:38 <AnMaster> pikhq, see ^
21:07:46 <AnMaster> pikhq, when I used irssi it did it too
21:07:48 <Sgeo_> http://hpaste.org/fastcgi/hpaste.fcgi/view?id=24662#a24662
21:07:52 <AnMaster> because I set irssi up that way
21:07:53 <Sgeo_> Seems to be somewhat working
21:08:01 <pikhq> AnMaster: Why do you break your IRC clients?
21:08:05 <Sgeo_> Another function will combine BFAlters and BFMoves etc.
21:08:07 <AnMaster> pikhq, I find it *WAY* easier to read
21:08:27 <pikhq> Bah.
21:08:27 * Sgeo_ wishes it wasn't so ugly
21:08:43 <dixon> Sgeo_: Use another language.
21:09:02 <AnMaster> dixon, then it wouldn't be a bf parser
21:09:03 <ehirdiphone> actually Sgeo_ just wrote it badly :P
21:09:08 <AnMaster> but, say, an intercal parser
21:09:21 <Sgeo_> ehirdiphone, any ideas for improvements?
21:09:24 <AnMaster> or do you mean the language the parser is written in?
21:09:27 <dixon> It wouldn't be in Haskell.
21:09:35 <dixon> AnMaster: The language it was written in .
21:10:12 <ehirdiphone> Sgeo_: don't mention parsing the rest twice. using god forbid a monad would avoid such duplication
21:10:25 <dixon> EWW MONADS
21:10:34 <oklopol> codes are subsets of Q^n, where Q is some set. if we take Q to be the finite field of size q then Q^n is a vector space over Q, and linear codes of type [n, k, d]_q R are just subvector fields of Q^n of dimension k (d and R are minimum distance between two codewords and max distance between a non-codeword and the code)
21:10:35 <dixon> Keep your sick functors away from my categories
21:10:53 <oklopol> so not very deep
21:11:06 <oklopol> (have to define what you mention)
21:11:06 <Slereah> Functor?
21:11:09 <Slereah> I hardly know her!
21:11:12 * Sgeo_ is not sure how he'd use a monad to help here
21:11:18 <dixon> oklopol: igi
21:11:26 <ehirdiphone> Sgeo_: Just use parsec
21:11:32 <dixon> ew.
21:11:35 <ehirdiphone> It's Easy.
21:11:49 <oklopol> ew at parsec or linear codes?
21:11:55 <dixon> Parsec.
21:12:00 <dixon> Linear codes are fine.
21:12:14 <oklopol> if you like coding theory (the theory of uniform length codes) then linear codes are very useful
21:12:31 <oklopol> ah cool
21:12:38 <dixon> I like cryptography, so some information theoretic properties of coding and error correction come into platy.
21:12:39 <dixon> play*
21:13:01 <Sgeo_> I'll also do it in Parsec
21:13:06 <Sgeo_> Both ways will be available
21:13:07 <ehirdiphone> dixon: how about whenever anyone mentions haskell you take a big gulp of shut the fuck up- in place of the current pipe the fuck up
21:13:21 <ehirdiphone> Sgeo_: now /that/ is pointless
21:13:24 <dixon> ehirdiphone: Or I could not. That works better for me.
21:13:32 <Quadrescence> ehirdiphone: was that a joke
21:13:37 <Quadrescence> "pointless"
21:13:49 <Sgeo_> ehirdiphone, the non-Parsec way teaches me stuff, the Parsec way makes it a bit more useful for checking stuff
21:13:51 <Quadrescence> because haskell can be written in pointless/POINT-FREE style
21:13:51 <ehirdiphone> Quadrescence: no, im not /that/ inanw yet
21:13:55 <ehirdiphone> *inane
21:14:15 -!- tombom has joined.
21:14:20 -!- tombom has quit (Changing host).
21:14:20 -!- tombom has joined.
21:14:31 -!- coppro has joined.
21:14:32 <oklopol> i know very little cryptography
21:14:41 <ehirdiphone> dixon: Yeah but you're the most irritating person here except me
21:15:03 <dixon> ehirdiphone: I'm also the second-coolest person here.
21:15:03 <ehirdiphone> I have an age exemption; are you royalty?
21:15:09 <dixon> You'll have to live with the paradox.
21:15:27 <oklopol> am i the coolest?!?!?
21:15:38 <oklopol> a i am i ami amiai maimaimaiamiamiamai
21:15:45 <ehirdiphone> oh i am in awe of your cool
21:15:53 <dixon> Peanut is the coolest.
21:15:53 <oklopol> AM I COOLEST I WUN BE COOLAST :<<
21:15:58 <oklopol> oh
21:16:13 <ehirdiphone> I'm peanutacus
21:16:15 <Quadrescence> http://i.imgur.com/cTSP2.jpg
21:16:27 <oklopol> ehirdiphone: you don't have an age exception for long.
21:16:30 <oklopol> *won't
21:16:36 <dixon> Queen of her domain.
21:16:40 <ehirdiphone> oklopol: orly, how about 18
21:16:43 * Sgeo_ wonders how this parser handles lazy lists
21:16:50 <Sgeo_> Erm, that was poorly phrased
21:16:55 <Quadrescence> yes that was
21:16:58 <Quadrescence> you should be embarrassed
21:16:59 <ehirdiphone> sex in USA = unirritatibg
21:16:59 <oklopol> *exemption
21:17:03 <oklopol> that may be better
21:17:06 <ehirdiphone> *unirritatibg
21:17:14 <Quadrescence> *unirritatibg
21:17:44 <ehirdiphone> My spellchecker has now learned unirritatibg.
21:17:45 <oklopol> well i don't know which country you are now, although i have my guesses, but i consider 15 enough for everyone.
21:17:49 <oklopol> and everything
21:17:50 <ehirdiphone> No joke
21:18:01 <Sgeo_> It seems to handle strings with _|_ in the middle nicely
21:18:07 <ehirdiphone> oklopol: BAH
21:18:11 <dixon> oklopol: The Swedish have a saying: If it's not in diapers, it's old enough to be stretched.
21:18:14 <tombom> oklopol: i wonder why
21:18:28 <ehirdiphone> dixon: yeah but they're perverts
21:18:35 <oklopol> yeah i'm no pervert
21:18:38 <dixon> ehirdiphone: Neutral perverts.
21:18:42 <ehirdiphone> tombom: 'cuz oklopol just turned 15
21:18:55 <tombom> yes
21:18:59 <tombom> that was what i was thinking
21:19:04 <oklopol> oh
21:19:11 <ehirdiphone> dixon: the swiss are more neutral and THEY DEFEND CATHOLICISM
21:19:15 <dixon> Or because his boyfriend just turned 15
21:19:21 <oklopol> :P
21:19:23 <dixon> And he's CATHOLIC
21:19:28 <ehirdiphone> or well they share a name with the pope's guards
21:19:33 <Quadrescence> purity brick
21:19:37 <ehirdiphone> SAME THING; BOOYAH
21:19:37 <dixon> HAHAHAHAHAHAHHA
21:19:49 <Quadrescence> pure, haskell
21:19:52 <Quadrescence> all makes sense now
21:20:04 <ehirdiphone> anyway oklopol is like 52 now
21:20:16 * oklopol calculates again
21:20:18 <dixon> That makes sense
21:20:23 <dixon> pedopedo
21:20:33 <dixon> Hitting on my young self.
21:20:35 <ehirdiphone> ;)))
21:20:36 <oklopol> well i do find 15-yo girls sexy like any normal male
21:20:39 <Quadrescence> oklopol: how old are you if you can disclose
21:20:42 <oklopol> that's not pedo
21:20:47 <oklopol> i'm 21
21:20:48 <ehirdiphone> Quadrescence: 21 iirc
21:20:53 <oklopol> just turned
21:20:56 <Quadrescence> i c
21:21:00 <dixon> oklopol: Like you are a vampire
21:21:01 <oklopol> had this big party
21:21:04 <dixon> "Just turned"
21:21:16 <oklopol> :)))))))))))))))
21:21:21 <ehirdiphone> oklopol's bf is me he's saving my penile virginity for 15
21:21:22 <Quadrescence> ehirdiphone: how old are you if you can disclose
21:21:23 <oklopol> no wait i forgot fangs
21:21:27 <ehirdiphone> tru story
21:21:48 <ehirdiphone> Quadrescence: 3
21:21:59 <Quadrescence> ehirdiphone: next time just don't answer or say you don't want to
21:22:09 <oklopol> i would tell you but it may have changed since i last heard it
21:22:20 <ehirdiphone> oklopol: Hasn't
21:22:21 <oklopol> i hate ages, should memorize years of birth instead
21:22:28 <ehirdiphone> just retina irritate Quadrescence
21:22:33 <ehirdiphone> *tryina
21:22:42 <oklopol> oh umm then i wish i hadn't said that
21:22:47 <dixon> oklopol: Birthdays. Using coding theory.
21:22:50 <oklopol> because i have two numbers for your age
21:22:55 <oklopol> 14 or 154
21:22:57 <oklopol> *15
21:23:11 <dixon> Has iPhone in his name, obv 14.
21:23:15 <ehirdiphone> birthday PARADOX mathematics is WRONG
21:23:27 <oklopol> what paradox?
21:23:28 <dixon> Because YOU ARE EDUCATED EVIL
21:23:30 <ehirdiphone> dixon: your accuracy is physically painful
21:23:34 <Quadrescence> time cube
21:23:34 <dixon> oklopol: Birthday paradox
21:23:40 <oklopol> i have heard of that
21:23:52 <oklopol> was it about time dilation or something
21:24:01 <Quadrescence> no
21:24:01 <Sgeo_> No
21:24:01 <oklopol> :P
21:24:05 <ehirdiphone> If it redeems me I bought this thing in 2007 when it was still uncool :|
21:24:09 <oklopol> i have a great memory
21:24:16 <dixon> oklopol: EARTH HAS SIMULTANEOUS FOUR 25 HOUR DAYS
21:24:22 <dixon> YOU ARE EDUCATED EVIL
21:24:23 <oklopol> ehirdiphone: and you waited until it was cool till you started using it?
21:24:23 <dixon> etc
21:24:26 <oklopol> that's... much worse
21:24:27 <dixon> http://timecube.com
21:24:28 <hiato> ALL ELSE ARE EVIL
21:24:32 <ehirdiphone> oklopol: No
21:24:34 <ehirdiphone> :P
21:24:35 <Quadrescence> gene ray 2012
21:24:45 <dixon> 100%
21:24:50 <Sgeo_> It's more likely that there are two people in a room of.. I forgot how many .. who share a birthday than you might intuitively think
21:24:58 <coppro> -1 x -1 = -1!
21:25:00 <dixon> Sgeo_: 23
21:25:03 <oklopol> oh that's the paradox?
21:25:07 <oklopol> i would never have guessed
21:25:20 <ehirdiphone> As much of a paradox as banach-tatami
21:25:24 <ehirdiphone> Tatami
21:25:27 <ehirdiphone> Tarski
21:25:30 <hiato> tarski?
21:25:31 <Sgeo_> At 23 the chance of there being two people who share a birthday is 50%
21:25:37 <Sgeo_> iirc
21:25:38 <tombom> i forget, are larouchites rather dismissive of negative numbers
21:25:48 <dixon> then as you get more than 23, that goes up rapidly.
21:26:07 <dixon> http://en.wikipedia.org/wiki/Birthday_problem for epic win
21:26:08 <Quadrescence> Sgeo_: iirc? you mean "if i just looked at wikipedia behind this window a second ago correctly"?
21:26:12 <ehirdiphone> 24 = 100% because of synchronicity
21:26:17 <Sgeo_> Quadrescence, I didn't
21:26:20 <Quadrescence> k
21:26:22 <Quadrescence> jw
21:26:27 <ehirdiphone> dixon: "epic win" oh please
21:26:30 <dixon> Quadrescence: No, because It old him from my cryptographic memory of awesome
21:26:36 <dixon> ehirdiphone: Yes dear?
21:26:36 <oklopol> i remember 23 from reading some book in like 5th grade
21:26:40 <oklopol> for that probability
21:26:47 <oklopol> not what it means, but the number in that context
21:26:47 <ehirdiphone> dixon: I want a divorce
21:26:57 <dixon> ehirdiphone: I keep the house.
21:26:59 <dixon> And your penis.
21:27:10 <dixon> You can have the kids.
21:27:11 <oklopol> i used to read all sorts of crap as akid
21:27:14 <oklopol> *a kid
21:27:20 <dixon> Me too. Like Playboy.
21:27:23 <ehirdiphone> dixon: ok how about an anullment
21:27:43 <dixon> ehirdiphone: It'd be just like you to not put out and call it quits.
21:27:53 <Quadrescence> dixon, i heard that the library you wrote years ago is becoming an official part of the standard library for the D programming language
21:28:04 <dixon> Why did I ever even think you were so much to want to than do anymore like?
21:28:07 <Quadrescence> it is so cool to meet people who know that much about crypto
21:28:18 <ehirdiphone> Quadrescence: but that means dixon will be
21:28:21 <ehirdiphone> INTERNET
21:28:24 <ehirdiphone> FAMOUS
21:28:32 <coppro> meh, it's D
21:28:33 <dixon> Less Internet-famous than Q.
21:28:48 <Quadrescence> coppro: meh it's D, why meh
21:28:49 <coppro> D is a bad attempt at fixing C++
21:28:53 <Quadrescence> wrong
21:28:58 <ehirdiphone> cpressey is more famous than walter bright :p
21:29:19 <oklopol> i'm less known than all of you put together
21:29:20 <Quadrescence> D was a very good attempt, and rather successful in terms of the language itself, but politics and everything around it was not good so etc
21:29:40 <coppro> no, D as a language is pretty bad
21:29:41 <ehirdiphone> oklopol: you're -1 famous
21:30:01 <ehirdiphone> if not for time cube just become -1 times more famous
21:30:06 <ehirdiphone> coppro: agreed
21:30:10 <dixon> coppro: D as a language is fine. It's just the implementations that suck.
21:30:17 <ehirdiphone> A hodgepodge of features
21:30:18 * Sgeo_ can't seem to copy from GTK+ applications to any other application
21:30:22 <Quadrescence> D as a language is good (pre 2.0)
21:30:27 <oklopol> no D is okay as a language and the politics is okay, but it has a crappy name
21:30:29 <ehirdiphone> all apropos nothing
21:30:39 <coppro> and the syntax, while easier to parse than C++'s, is even uglier
21:30:46 <Sgeo_> Wiat, it's working now?
21:30:50 <dixon> wat
21:30:53 <Quadrescence> wat
21:30:56 <coppro> ! for templates, wtf
21:30:59 <oklopol> Quadrescence: do you think his code is now working?
21:31:00 <ehirdiphone> wiat
21:31:05 <Quadrescence> oklopol: no
21:31:08 <ehirdiphone> oklopol: No copying
21:31:09 <dixon> coppro: Fixes issues with <<<<<<<<this>>>>>>>>.
21:31:12 <ehirdiphone> From gtk apps
21:31:16 <Sgeo_> Why is it that all-of-a-sudden, copy/paste from XChat is working. It never worked before
21:31:19 <coppro> dixon
21:31:21 <Deewiant> I think the ! is much better than <>, parsing problems or not
21:31:22 <Sgeo_> (and Pidgin)
21:31:23 <coppro> *dixon: what?
21:31:28 <ehirdiphone> dixon: Instead !(!(!(!())))
21:32:00 <dixon> ehirdiphone: Much better to parse.
21:32:01 <Quadrescence> ehirdiphone: note that << is an operator in C++, so is >>, so is <, so is >
21:32:03 -!- MizardX has quit (Ping timeout: 276 seconds).
21:32:09 <coppro> so is !
21:32:14 <coppro> dixon: yes, much better to parse. Also uglier
21:32:18 <ehirdiphone> I'd prefer SPECS
21:32:22 <Deewiant> ! is prefix
21:32:28 <ehirdiphone> Quadrescence: yes
21:33:39 <Quadrescence> anyway it's a fact that if someone thinks D is uglier than C++, then that someone also think bjarne stroopywoopy's mop head is hotter than raven riley after a shower
21:33:54 <Sgeo_> Everything should just use Haskell's type system :D
21:33:55 <Gregor> AnMaster: You've inspired me to actually try to learn to /play/ something by Chopin properly :P
21:33:56 <Deewiant> A TRUE FACT
21:34:08 <Quadrescence> Sgeo_: Yes definitely
21:34:28 <Quadrescence> Especially those things which require values to be a part of types
21:34:40 <Quadrescence> You know, like a type like Matrix(2,3)
21:34:45 <Quadrescence> haskell is totes appropriate for this
21:34:49 * Gregor looks up Raven Riley for comparison
21:34:53 <coppro> Haskell's type system is nice but hardly ideal
21:35:05 <ehirdiphone> Sgeo_: Nnnno
21:35:34 <Quadrescence> Sgeo_ is just amazed and etc after using haskell for one day and is professing wisdom and whatever he thinks he has obtained
21:35:57 <Sgeo_> I've been using Haskell for more than one day
21:36:05 <pikhq> NEEDS MORE LAMBDA
21:36:09 <Sgeo_> Just haven't written a large project in it before
21:36:13 <Quadrescence> Sgeo_: sorry 1 week
21:36:16 <Quadrescence> I mean 1/2 weeks
21:36:25 <Quadrescence> (one half)
21:36:38 <Sgeo_> How about, I started no later than September 26, 2009
21:36:47 <Sgeo_> And have made Haskell puns before then
21:36:52 <Sgeo_> (Well, one pun)
21:36:57 <ehirdiphone> HASKELL PUNNNNS
21:37:06 <ehirdiphone> It was not the best pun tbqh
21:37:07 <Quadrescence> Sgeo_: Oh it seems you've started about 1 day ago
21:37:35 <Sgeo_> ehirdiphone, execution-wise or concept-wise?
21:37:39 <Quadrescence> esp. since just yesterday you said "is it worth learning haskell?!?!?!"
21:37:50 <ehirdiphone> Sgeo_: erm both :p
21:37:57 <Sgeo_> :/
21:38:10 <ehirdiphone> ;(
21:40:26 <coppro> Sgeo_: Did you know that Haskell curries?
21:40:31 <Sgeo_> coppro, yes
21:40:35 <coppro> :P
21:40:45 <pikhq> Did you know that curry is *delicious*?
21:40:48 <Sgeo_> Is there supposed to be a pun based on someone's name in there?
21:40:52 <coppro> uh, yes
21:41:16 <dixon> Howard you figure that out?
21:41:26 <coppro> the guy the language is named after, even
21:41:33 <ehirdiphone> Haskell my anus
21:41:34 <Sgeo_> coppro, yeah yeah
21:41:42 <pikhq> Haskell Curry. Hooray.
21:41:57 <coppro> for whom both Haskell and currying are named
21:42:15 <ehirdiphone> schoenfinkeling is the proper term
21:42:49 -!- impomatic has joined.
21:42:51 <dixon> Only an iPhone user would schoenfinkel
21:42:58 <impomatic> Hi :-)
21:43:04 <ehirdiphone> dixon: wat.
21:43:24 <dixon> wat.
21:43:39 <pikhq> I think it should be "Haskelling".
21:43:47 <pikhq> "In Haskell, every function is haskelled."
21:43:56 <ehirdiphone> but schoenfinkel invented it!
21:44:09 -!- MigoMipo has joined.
21:44:13 <ehirdiphone> pikhq: untrue
21:44:16 <pikhq> Yeah, well. Schoenfinkel should change his name to Haskell.
21:44:24 <ehirdiphone> (A,B) -> C
21:44:26 <Sgeo_> Wasn't currying invented before Haskell? Haskell Curry did Currying stuff, not Haskell stuff
21:44:35 <ehirdiphone> Sgeo_: No duh
21:44:35 <dixon> I think programmers should stop sullying great mathematicians by naming shitty languages after them.
21:44:49 <ehirdiphone> Curry just popularised Schoenfinkeling.
21:45:01 <Slereah> heh
21:45:03 <ehirdiphone> dixon: oh, go away
21:45:13 <dixon> ehirdiphone: no u
21:45:32 <coppro> everyone knows that things in math and science aren't named after the discoverer, but the researcher
21:45:37 <ehirdiphone> dixon: our sole resident /actual/ mathematician has his name in the haskell98 report
21:45:47 <Slereah> http://verrahrubicon.free.fr/Combinator.pdf
21:45:58 <dixon> ehirdiphone: Much to his embarrassment, I'm sure.
21:46:03 <Quadrescence> i agree with dixon
21:46:17 <Sgeo_> ehirdiphone, who?
21:46:20 <ehirdiphone> dixon: why not ask oerjan?
21:46:28 <dixon> And he's not your sole resident mathematician.
21:46:50 * Sgeo_ thinks ais523 counts as a mathematician.
21:47:04 <dixon> Not if that's secretly alise.
21:47:14 <pikhq> Sgeo_: More of a computer scientists.
21:47:33 <Sgeo_> ais523 is multiple people now?
21:47:34 <Quadrescence> i am a journalist
21:47:39 <ehirdiphone> I dunno, the 2,3 TM work was pretty mathy
21:47:40 <pikhq> dixon: Trolltastic.
21:47:45 <pikhq> Sgeo_: Hah.
21:47:51 <dixon> pikhq: No, I'm serious.
21:48:02 <pikhq> dixon: ... Oerjan == alise wha?
21:48:11 <dixon> pikhq: ais--whatever.
21:48:14 <ehirdiphone> dixon: ais solved the 2,3 TM problem
21:48:29 <pikhq> ais523 == oerjan wha?
21:48:34 <ehirdiphone> Admittedly, only Wolfram cared about the implications
21:48:39 <ehirdiphone> pikhq: == me
21:48:44 <ehirdiphone> apparently
21:48:53 <pikhq> ehirdiphone: ... The hell?
21:49:08 <ehirdiphone> I propose we collectively ignore dixon on the grounds that he is duck-fuckingly annoying
21:49:36 <pikhq> dixon: http://en.wikipedia.org/wiki/Alex_Smith_(The_Simplest_Universal_Computer_Proof_contest_winner) Here's ais523's Wikipedia article. :P
21:49:47 <dixon> pikhq: I asked if ais was alise?
21:50:12 <ehirdiphone> dixon prolly hates wp too :p
21:51:37 <dixon> I don't hate anyone.
21:51:55 <ehirdiphone> but you hate entities
21:52:01 <oklopol> i have nothing against dixon but if everyone else ignores him i'll probably start talking to him here
21:52:07 <oklopol> *stop
21:52:25 <dixon> Yes, the world needs more sheep. Good call.
21:52:44 <ehirdiphone> ok operation Duck Fucking begins, im no longer highlighting dixon at all
21:53:16 <oklopol> nothing wrong with sheeps
21:53:33 <dixon> I find it somewhat humorous, ehirdiphone, that you equate ignoring me to bestiality.
21:53:48 * ehirdiphone Fuchs some Duchs
21:53:51 <Quadrescence> No offense to anyone, but no academic institution would really accept this as something: http://www.wolframscience.com/prizes/tm23/TM23Proof.pdf
21:53:57 <ehirdiphone> (thx iPhone spell corrector)
21:54:02 <oklopol> you wouldn't stop talking to someone if everyone else just saw your half of all your conversations?
21:54:11 <ehirdiphone> Quadrescence: he wasn't exactly trying for that
21:54:14 <oklopol> why not just talk in pm and spam your half on the channel then
21:54:24 <oklopol> well i guess that's more work
21:54:29 <ehirdiphone> he had his proof wolfram demanded shit he collated it
21:54:36 <ehirdiphone> tada money
21:54:50 <ehirdiphone> he was just playing around to find a proof
21:54:56 <oklopol> Quadrescence: why? (i haven't read it)
21:55:01 <oklopol> (well some of it)
21:55:09 * Sgeo_ doesn't ignore people
21:55:11 <Quadrescence> oklopol: idk becuz i sed so
21:55:15 <ehirdiphone> oklopol: it's not in Computer Modern
21:55:29 <pikhq> Quadrescence: Yeah, it's up to Wolfram's standards, not anyone sane's standards. :P
21:55:29 <dixon> oklopol: No, I'd keep talking just to annoy the people who were ignoring others. But I'm a bastard.
21:56:03 <oklopol> i might too, dunno
21:56:06 <ehirdiphone> Quadrescence: Amuway it's being published in Complex Systems
21:56:19 <ehirdiphone> admittedly
21:56:25 <ehirdiphone> a wolfram journa
21:56:25 <ehirdiphone> L
21:56:32 <ehirdiphone> Last I heard they keep asking him to change it
21:56:42 <ehirdiphone> Been years now
21:56:48 <ehirdiphone> Prolly won't ever get published
21:57:14 <oklopol> oh it says "I" instead of "we"
21:57:23 <oklopol> therefore unpublishable
21:58:13 <ehirdiphone> :D
21:58:24 <dixon> I think it has more to do with the Impact headings and whatnot.
21:59:28 <ehirdiphone> he just used the default openoffice style iirc :p
21:59:38 <ehirdiphone> so probably not impact
22:00:23 <dixon> Really? Looks like Impact Condensed :\
22:00:33 <Quadrescence> it looks like shit
22:00:44 <Quadrescence> (literally, look from a distance)
22:01:12 <oklopol> (well of course it looks like shit, it's not monospaced!)
22:01:43 <dixon> Quadrescence: You're just looking at the Perl code.
22:01:44 <ehirdiphone> Quadrescence: Yeah so what
22:01:44 <ehirdiphone> We're talking maths :P
22:02:02 <Quadrescence> dixon: oops yeah you're right
22:02:07 <ehirdiphone> oerjan used latex so mush
22:02:08 <ehirdiphone> *nyah
22:02:13 <dixon> Math can be beautiful.
22:02:15 <Quadrescence> ehirdiphone: actually we are talking about some computer science
22:02:15 -!- jcp has quit (Read error: Connection reset by peer).
22:02:28 <dixon> It's even more beautiful when typeset properly.
22:02:49 <ehirdiphone> Quadrescence: oerjan is no CSer you whore
22:02:57 <Quadrescence> tru
22:02:57 <ehirdiphone> :|
22:03:12 <Quadrescence> i was kidding anyway since CS is a subset of math
22:03:33 <dixon> subfield, it retains its arithmetic and is closed under... I'm kidding.
22:03:38 <ehirdiphone> yeah :P
22:03:42 <Quadrescence> also oklopol http://www.file-pasta.com/file/0/funktio_rec.pdf
22:04:07 <ehirdiphone> closed under actual physical COMPUTERS OMG
22:04:32 <oklopol> much prettier
22:05:15 -!- ehirdiphone has quit (Quit: Get Colloquy for iPhone! http://mobile.colloquy.info).
22:05:38 -!- ehirdiphone has joined.
22:06:18 <oklopol> my dream is to become such a great mathematician my papers will be published in journals even though i mandate they be printed in monospace.
22:06:45 <oklopol> well actually my dream is to ever get anything published anywhere, but anyway
22:07:18 -!- charlls has joined.
22:07:26 <ehirdiphone> submit it to Annals of Mathematics then Rejecta Mathematica
22:07:31 <ehirdiphone> infallible
22:07:41 <dixon> Keep your Masterpieces in a Personal Journal.
22:07:48 <Quadrescence> dixon++++++++++++++++++++++++
22:07:56 <ehirdiphone> dixon: you are zeilberger
22:08:00 <pikhq> oklopol: What about if you demand that they be in monospace with *unrendered* TeX?
22:08:01 <dixon> Yeah, so?
22:08:03 <ehirdiphone> this explains EVERYTHING
22:08:12 <oklopol> :D
22:08:27 <dixon> o
22:08:28 <oklopol> actually i'm fine with math notation
22:08:43 <oklopol> well most of it
22:08:46 <dixon> Me too.
22:09:00 <dixon> Except pochhammer.
22:09:09 <Quadrescence> pochhammer l o l
22:09:16 <ehirdiphone> I like it apart from the inconsistent/ambiguous bits
22:09:20 <ehirdiphone> ...wwwwait
22:11:55 <dixon> And there's some abuse of notation with matrices and unit vectors too, but nothing too bad.
22:12:37 <ehirdiphone> |x| is crappy but most of the rest is fine
22:12:58 <ehirdiphone> (1 massively ambiguous 2 starter = terminator)
22:13:05 <dixon> |x| is amazing
22:13:10 <Quadrescence> |x| is wonderful
22:13:18 <ehirdiphone> lol.
22:13:22 <dixon> ||x|| is slightly annoying
22:13:40 <dixon> Not so much when typeset, but in IRC, etc.
22:13:52 <ehirdiphone> ||x||, for all those negative cardinalities
22:14:06 <Quadrescence> wat
22:14:11 <dixon> wat
22:14:16 <ehirdiphone> Precisely!
22:14:26 <AnMaster> fungot, hi there
22:14:27 <fungot> AnMaster: c-h b c-x o c-s eval c-s etc. automatically translating scheme to human language
22:14:36 <AnMaster> <Gregor> AnMaster: You've inspired me to actually try to learn to /play/ something by Chopin properly :P <-- hahah
22:14:40 <ehirdiphone> :D
22:14:51 <AnMaster> ^style
22:14:51 <fungot> Available: agora alice c64 ct darwin discworld europarl ff7 fisher ic irc* jargon lovecraft nethack pa speeches ss wp youtube
22:14:53 <oklopol> if x is a set and its cardinality is negative, you need ||
22:14:54 <AnMaster> aha
22:14:56 <oklopol> ||.||
22:15:03 <AnMaster> oklopol, how rude :P
22:15:11 <oklopol> what is?
22:15:16 <AnMaster> never mind :P
22:15:21 <oklopol> i will
22:15:34 <AnMaster> innuendo
22:15:35 <AnMaster> there
22:16:02 <ehirdiphone> ||.|| looks like very squashed breasts obvs
22:16:18 <AnMaster> ehirdiphone, goatse?
22:16:20 <Quadrescence> ehirdiphone has never seen boobs
22:16:29 <AnMaster> you don't have enough imagination
22:16:42 <ehirdiphone> Quadrescence has never seen ||.|| shaped breasts, ha!
22:16:47 <ehirdiphone> Crazy man!
22:16:49 <AnMaster> nor have I
22:16:56 <ehirdiphone> Or have you
22:17:00 <AnMaster> no
22:17:05 <pikhq> Coreutils... GNU coreutils...
22:17:07 <Quadrescence> ehirdiphone: you have never seen boobs
22:17:18 <pikhq> I have never before seen a 782 line "cat" program.
22:17:24 <AnMaster> Quadrescence, he knows how to use internet. I doubt he hasn't.
22:17:34 <ehirdiphone> Quadrescence: Stuck in a loop there
22:17:34 <Quadrescence> AnMaster: tru
22:17:40 <ehirdiphone> USE INTERNET
22:17:42 -!- hiato has quit (Quit: underflow).
22:18:03 <AnMaster> pikhq, I have! Last time coreutils cat was mentioned in here.
22:18:17 <pikhq> Hahah.
22:18:42 <AnMaster> pikhq, tell me
22:18:45 <AnMaster> pikhq, what does it do
22:18:54 <ehirdiphone> Cats are complex creatures.
22:19:04 <pikhq> Quadrescence: Hah.
22:19:10 <AnMaster> ehirdiphone, yes, what with all the quantum state you have to emulate
22:19:13 <pikhq> AnMaster: ... Significantly more than file concatentation.
22:19:14 <ehirdiphone> Quadrescence: 782 lines? you write really bad C
22:19:16 <AnMaster> in case someone puts it in a box
22:19:25 <oklopol> i have seen more boobs online than irl
22:19:32 <pikhq> It does rather a lot of manual buffering, as well.
22:19:32 <AnMaster> pikhq, you could try mmap()ing the file if possible
22:19:36 <ehirdiphone> oklopol: shicking
22:19:37 <oklopol> hope this isn't too much of a shock
22:19:39 <AnMaster> that should add some 20 lines at least
22:19:39 <ehirdiphone> Shocking
22:19:43 -!- iamtheobject has quit (Quit: Leaving.).
22:19:52 <dixon> oklopol: That's true of anyone. The difference being you have seen boobs IRL. The same cannot be said by ehird.
22:19:56 <Quadrescence> ehirdiphone: i am v bad at c
22:19:59 <AnMaster> ehirdiphone, "shicking"? XD
22:20:02 <pikhq> AnMaster: That would be saner than what this is doing.
22:20:12 <pikhq> Manual. Buffering.
22:20:12 <AnMaster> pikhq, then what *is* it doing
22:20:17 <AnMaster> what the hell
22:20:23 <AnMaster> *why*
22:20:27 <dixon> cat is so well written
22:20:31 <pikhq> "Because."
22:20:34 <Quadrescence> There's something called *portable C*
22:20:45 <AnMaster> but libc has buffering...
22:20:51 <ehirdiphone> dixon and Quadrescence are currently embracing one another discussing their next contrarian move
22:20:55 <pikhq> Quadrescence: And then there's something called "crazy".
22:21:01 <ehirdiphone> sweet, really