←2011-06-06 2011-06-07 2011-06-08→ ↑2011 ↑all
00:00:08 <elliott> -- | A variant of '<*>' with the arguments reversed.
00:00:09 <elliott> (<**>) :: Applicative f => f a -> f (a -> b) -> f b
00:00:09 <oerjan> elliott: what? that would be useless
00:00:11 <CakeProphet> so.... 4hu is -4?
00:00:19 <elliott> oerjan: well it's an aesthetic thing...
00:00:30 <elliott> CakeProphet: no, luhu is -4
00:00:38 <CakeProphet> oh
00:00:48 <oerjan> > [1,2] <**> [(+5), (+10)]
00:00:48 <lambdabot> [6,11,7,12]
00:01:03 <oerjan> > flip (<*>) [1,2] [(+5), (+10)]
00:01:04 <lambdabot> [6,7,11,12]
00:01:11 <oerjan> elliott: nope i was right :)
00:01:25 <CakeProphet> ah ookay, because with liftA2 or whatever you're doing when you call <**>, you're chaining the two monads together with >>
00:02:02 <CakeProphet> ...somewhere.
00:02:37 <elliott> oerjan: um i am quoting from the code itself here
00:02:44 <elliott> -- | A variant of '<*>' with the arguments reversed.
00:02:44 <elliott> (<**>) :: Applicative f => f a -> f (a -> b) -> f b
00:02:44 <elliott> (<**>) = liftA2 (flip ($))
00:02:51 <elliott> crock of shit documentation
00:02:54 <oerjan> CakeProphet: well another way to say it, is x <**> f = flip ($) <$> x <*> f
00:03:11 <elliott> oerjan: oh i think it means the arguments to the _function_
00:03:11 <elliott> right
00:03:40 <oerjan> elliott: yeah it also reverses the intuitive execution order, which is why <**> is useful here...
00:03:59 <CakeProphet> oerjan: I was basically forgetting that, since Parsecs matching semantics are carried through >>=, when you use things like applicative functions you're still chaining together the parsers. I'm not entirely sure what I thought was going on before.
00:06:04 <oerjan> CakeProphet: well this is sort of because by convention when you make monads into applicatives you let <*> have a left-to-right execution order
00:06:24 <oerjan> it occurs to me that would be an entirely correct Applicative instance to do it reversely, actually.
00:06:37 <oerjan> in fact you could make a newtype for it, does it exist?
00:06:53 <elliott> ?hoogle liftM3
00:06:53 <lambdabot> Control.Monad liftM3 :: Monad m => (a1 -> a2 -> a3 -> r) -> m a1 -> m a2 -> m a3 -> m r
00:06:54 <elliott> ?hoogle liftA3
00:06:55 <lambdabot> Control.Applicative liftA3 :: Applicative f => (a -> b -> c -> d) -> f a -> f b -> f c -> f d
00:08:11 <oerjan> i don't find it, but it would be like
00:08:22 <CakeProphet> okay with fundeps, saying a -> b is basically saying that a decides what b is yes?
00:08:29 <elliott> "If the function returns, this is an expression, otherwise it is a statement."
00:08:33 <elliott> insert vomiting
00:09:01 <CakeProphet> I'm not entirely sure what that DOES, but I think I understand the /concept/
00:09:15 <CakeProphet> elliott: lol. if a function doesn't return, it's probably not a function.
00:09:41 <oerjan> instance Applicative a => Applicative (Reverse a) where pure x = Reverse (pure x); (Reverse f <*> Reverse x) = Reverse (x <**> f)
00:09:43 <monqy> elliott: from what is that
00:09:46 <elliott> monqy: [[SyL]]
00:09:47 <monqy> (I'm vomiting too)
00:10:01 <monqy> strapping young lad?
00:10:03 <oerjan> newtype Reverse x = Reverse x
00:10:13 <oerjan> erm
00:10:17 <elliott> monqy: on the esowiki
00:10:23 * elliott complains on the talk page
00:10:28 <oerjan> newtype Reverse a x = Reverse (a x)
00:11:19 <oerjan> CakeProphet: ^ i believe that would give you a modified Applicative which did all execution chaining in the opposite direction
00:11:31 <oerjan> but still fulfilled all the laws (i assume)
00:12:15 <monqy> so is this language's special thing purely based on what names it uses for things
00:12:32 <monqy> pardon my highly technial terminology
00:12:59 <elliott> monqy: well it's kind of neat to have every program be fully pronouncable
00:13:17 <elliott> if you remove all the whitespace you can have, like, full function definitions be "words"
00:13:19 <elliott> which is nice aesthetically
00:13:23 <elliott> but yes the semantics are nothing special
00:13:40 <elliott> i'm just implementing it because i'm bored
00:14:10 <oerjan> it's not precisely the first pronunciation-based language
00:14:16 <monqy> implement speech to text for it
00:14:20 <oerjan> (Ook!)
00:14:35 <elliott> oerjan: true, but that's not really the same thing :P
00:14:50 <monqy> where by speech to text I mean speech to program
00:15:22 <elliott> I confess that the main reason I'm implementing it is because I can call the implementation sylladex
00:15:32 <monqy> :(
00:15:52 <elliott> monqy is disappointed in my shallow reference-based reasons for implementing languages.
00:15:58 <monqy> always
00:18:33 -!- calamari has joined.
00:18:49 <elliott> maharba is a bad person
00:20:15 -!- calamari has quit (Client Quit).
00:20:18 <oerjan> you should see his evil twin mwahaharba
00:21:37 <oerjan> elliott: were there any remaining functions to prettify?
00:22:50 <elliott> oerjan: not yet, but there will be as soon as maharba replies :D
00:36:31 <elliott> does anyone know of a hash function that optimises for the size of the resulting hash?
00:36:35 <elliott> like crc but less... useless
00:36:38 <elliott> like
00:36:41 <elliott> a dynamic-length hash i guess...
00:36:50 <monqy> right now I'm imagining maharba meant "if the function terminates, it is an expression; otherwise, it is a statement". makes everything better.
00:36:50 <elliott> hmm i'm not thinking right
00:36:58 <elliott> monqy: xD
00:37:04 <elliott> beautiful
00:43:38 <elliott> ais523
00:43:38 <elliott> it's amazing how inconsistent Crawl's interface actually is, it's much worse than NetHack's
00:43:39 <elliott> -- http://crawl.develz.org/learndb/index.html
00:43:43 <elliott> wisdom
00:44:07 -!- GreaseMonkey has quit (Quit: The Other Game).
00:45:11 -!- GreaseMonkey has joined.
00:45:11 -!- GreaseMonkey has quit (Changing host).
00:45:11 -!- GreaseMonkey has joined.
00:50:10 <elliott> ?pl \x -> "gah" ++ [x]
00:50:10 <lambdabot> ("gah" ++) . return
00:51:12 <CakeProphet> elliott: cheating.
00:51:36 <oerjan> pure is shorter than return...
00:51:48 <elliott> oerjan: xD
00:52:06 <CakeProphet> oerjan: but import Control.Applicative is not shorter than an empty string.
00:52:36 <oerjan> CakeProphet: i was assuming he had it imported already
00:53:17 <oerjan> :t optional
00:53:18 <lambdabot> forall (f :: * -> *) a. (Alternative f) => f a -> f (Maybe a)
00:53:39 <oerjan> > optional [1]
00:53:40 <lambdabot> [Just 1,Nothing]
00:53:55 <CakeProphet> however if n*2 > 26 where n is the number of uses of return, then you will save bytes overall.
00:54:19 <CakeProphet> assuming you don't already have Control.Applicative imported, which you probably do. :P
00:55:03 <elliott> this isn't about golfing :P
00:55:14 <CakeProphet> IT'S ALWAYS ABOUT GOLFING.
00:55:15 <oerjan> > reverse.(:"hag")$'i'
00:55:16 <lambdabot> "gahi"
00:55:25 <oerjan> SAYS YOU
00:55:54 <elliott> grossly, SyL is not whitespace-irrelevant
00:56:08 <elliott> lack of unambiguous number terminators :(
00:56:11 <CakeProphet> angry square mouth man is angry that you never use him and always use his pure counterpart (:[])
00:56:51 <oerjan> @hoogle x -> f x
00:56:51 <lambdabot> Data.Generics.Aliases unGM :: GenericM' m -> a -> m a
00:56:51 <lambdabot> Prelude return :: Monad m => a -> m a
00:56:51 <lambdabot> Control.Monad return :: Monad m => a -> m a
00:57:20 <oerjan> hm...
00:57:28 <CakeProphet> @hoogle a -> b -> c -> d -> e -> f -> g -> h -> i -> j -> k -> l -> m
00:57:43 <lambdabot> thread killed
00:58:02 <oerjan> > (<$"a") 1
00:58:03 <lambdabot> [1]
00:58:14 <monqy> CakeProphet: what
00:58:34 <CakeProphet> monqy: I don't know, ask lambdabot.
00:58:43 <monqy> no I mean
00:58:45 <monqy> why would you do that
00:58:47 <CakeProphet> or angry square mouth man, depending on what you're referring to.
00:58:55 <monqy> ????
00:59:22 <CakeProphet> monqy: why do we do anything? why can I answer questions with more vague generic questions that apply to any situation?
00:59:23 <elliott> SHUT UP STUPID FLY
00:59:40 <monqy> why would you search for that function
00:59:45 <CakeProphet> to find it.
00:59:50 <monqy> I mean
00:59:51 <CakeProphet> it's a quest.
00:59:54 <CakeProphet> OF KNOWLEDGE
01:00:05 <monqy> it's pretty obvious that it doesn't exist
01:00:08 <monqy> if you think about it
01:00:17 <monqy> also what's this about (: [])
01:00:17 <CakeProphet> ...why?
01:00:24 <elliott> it does exist obviously
01:00:27 <elliott> oh wait
01:00:29 <elliott> no it doesn't
01:00:32 <elliott> i mean, apart from nudefined
01:00:41 <elliott> because it returns a polymorphic parameter it isn't given
01:01:08 <oerjan> :t zipWith13
01:01:09 <lambdabot> Not in scope: `zipWith13'
01:01:12 <oerjan> :t zipWith9
01:01:12 <lambdabot> Not in scope: `zipWith9'
01:01:15 <oerjan> :t zipWith5
01:01:15 <lambdabot> forall a b c d e f. (a -> b -> c -> d -> e -> f) -> [a] -> [b] -> [c] -> [d] -> [e] -> [f]
01:01:31 <elliott> oerjan: ban maharaba plz he is crime of no replying
01:01:40 <elliott> now why does zipWith5 even exist...
01:01:55 <CakeProphet> because sometimes you've got to zip 5 lists, I mean come on.
01:02:16 <elliott> but never 9
01:02:17 <elliott> NEVER
01:02:29 <oerjan> :t (,,,,,,,,,,,,)
01:02:29 <lambdabot> forall a b c d e f g h i j k l m. a -> b -> c -> d -> e -> f -> g -> h -> i -> j -> k -> l -> m -> (a, b, c, d, e, f, g, h, i, j, k, l, m)
01:02:45 <monqy> define tuples in template haskell, make generic zipwith
01:02:57 <oerjan> :t zap
01:02:57 <CakeProphet> oerjan for the win.
01:02:57 <lambdabot> Not in scope: `zap'
01:03:00 <elliott> monqy: there's that proposal for hlists as tuples
01:03:07 <elliott> (a,b,c) == a :- b :- c :- HNil or whatever
01:03:08 <oerjan> :t zapp
01:03:09 <lambdabot> Not in scope: `zapp'
01:03:14 <elliott> which I guess you define like
01:03:18 <oerjan> hm didn't it get added recently
01:03:30 <oerjan> @hoogle [a -> b] -> [a] -> [b]
01:03:30 <lambdabot> Control.Applicative (<*>) :: Applicative f => f (a -> b) -> f a -> f b
01:03:30 <lambdabot> Control.Monad ap :: Monad m => m (a -> b) -> m a -> m b
01:03:30 <lambdabot> Control.Applicative (<**>) :: Applicative f => f a -> f (a -> b) -> f b
01:03:38 <elliott> hmm wait
01:03:41 <elliott> I could use that in Shiro...
01:04:26 <oerjan> (zapp? being the equivalent of ap / <*> for zipping, naturally)
01:05:02 <elliott> data CZ = CZ
01:05:02 <elliott> data CS r = (:-) {-# UNPACK #-} !Value {-# UNPACK #-} !r
01:05:04 <elliott> wonder if that would work
01:05:08 -!- FireFly has quit (Quit: swatted to death).
01:05:13 <elliott> i.e. two-dimensional is CS (CS CZ)
01:06:29 <oerjan> i'm pretty sure unpacking / unboxing only works with fields of fixed size, possibly even fixed type
01:07:01 <elliott> oerjan: hmm, right
01:07:04 <Lymia> :t ((,,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,))
01:07:05 <lambdabot> forall a b c d e f g h i j k l m a1 b1 c1 d1 e1 f1 g1 h1 i1 j1 k1 l1 m1 a2 b2 c2 d2 e2 f2 g2 h2 i2 j2 k2 l2 m2 a3 b3 c3 d3 e3 f3 g3 h3 i3 j3 k3 l3 m3 a4 b4 c4 d4 e4 f4 g4 h4 i4 j4 k4 l4 m4 a5 b5 c5
01:07:05 <lambdabot> d5 e5 f5 g5 h5 i5 j5 k5 l5 m5 a6 b6 c6 d6 e6 f6 g6 h6 i6 j6 k6 l6 m6 a7 b7 c7 d7 e7 f7 g7 h7 i7 j7 k7 l7 m7 a8 b8 c8 d8 e8 f8 g8 h8 i8 j8 k8 l8 m8 a9 b9 c9 d9 e9 f9 g9 h9 i9 j9 k9 l9 m9 a10 b10 c10
01:07:05 <lambdabot> d10 e10 f10 g10 h10 i10 j10 k10 l10 m10 a11 b11 c11 d11 e11 f11 g11 h11 i11 j11 k11 l11 m11 a12 b12 c12 d12 e12 f12 g12 h12 i12 j12 k12 l12 m12. (a -> b -> c -> d -> e -> f -> g -> h -> i -> j -> k -
01:07:05 <lambdabot> > l -> m -> (a, b, c, d, e, f, g, h, i, j, k, l, m), a1 -> b1 -> c1 -> d1 -> e1 -> f1 -> g1 -> h1 -> i1 -> j1 -> k1 -> l1 -> m1 -> (a1, b1, c1, d1, e1, f1, g1, h1, i1, j1, k1, l1, m1), a2 -> b2 ->
01:07:05 <lambdabot> c2 -> d2 -> e2 -> f2 -> g2 -> h2 -> i2 -> j2 -> k2 -> l2 -> m2 -> (a2, b2, c2, d2, e2, f2, g2, h2, i2, j2, k2, l2, m2), a3 -> b3 -> c3 -> d3 -> e3 -> f3 -> g3 -> h3 -> i3 -> j3 -> k3 -> l3 -> m3 -> (
01:07:07 <lambdabot> [7 @more lines]
01:07:10 <elliott> ?more
01:07:10 <lambdabot> a3, b3, c3, d3, e3, f3, g3, h3, i3, j3, k3, l3, m3), a4 -> b4 -> c4 -> d4 -> e4 -> f4 -> g4 -> h4 -> i4 -> j4 -> k4 -> l4 -> m4 -> (a4, b4, c4, d4, e4, f4, g4, h4, i4, j4, k4, l4, m4), a5 -> b5 ->
01:07:11 <Lymia> @more
01:07:11 <lambdabot> c5 -> d5 -> e5 -> f5 -> g5 -> h5 -> i5 -> j5 -> k5 -> l5 -> m5 -> (a5, b5, c5, d5, e5, f5, g5, h5, i5, j5, k5, l5, m5), a6 -> b6 -> c6 -> d6 -> e6 -> f6 -> g6 -> h6 -> i6 -> j6 -> k6 -> l6 -> m6 -> (
01:07:12 <elliott> ?more
01:07:13 <elliott> ?more
01:07:13 <lambdabot> a6, b6, c6, d6, e6, f6, g6, h6, i6, j6, k6, l6, m6), a7 -> b7 -> c7 -> d7 -> e7 -> f7 -> g7 -> h7 -> i7 -> j7 -> k7 -> l7 -> m7 -> (a7, b7, c7, d7, e7, f7, g7, h7, i7, j7, k7, l7, m7), a8 -> b8 ->
01:07:13 <elliott> ?more
01:07:14 <elliott> ?more
01:07:15 <elliott> ?more
01:07:15 <lambdabot> c8 -> d8 -> e8 -> f8 -> g8 -> h8 -> i8 -> j8 -> k8 -> l8 -> m8 -> (a8, b8, c8, d8, e8, f8, g8, h8, i8, j8, k8, l8, m8), a9 -> b9 -> c9 -> d9 -> e9 -> f9 -> g9 -> h9 -> i9 -> j9 -> k9 -> l9 -> m9 -> (
01:07:17 <lambdabot> a9, b9, c9, d9, e9, f9, g9, h9, i9, j9, k9, l9, m9), a10 -> b10 -> c10 -> d10 -> e10 -> f10 -> g10 -> h10 -> i10 -> j10 -> k10 -> l10 -> m10 -> (a10, b10, c10, d10, e10, f10, g10, h10, i10, j10, k10,
01:07:19 <lambdabot> l10, m10), a11 -> b11 -> c11 -> d11 -> e11 -> f11 -> g11 -> h11 -> i11 -> j11 -> k11 -> l11 -> m11 -> (a11, b11, c11, d11, e11, f11, g11, h11, i11, j11, k11, l11, m11), a12 -> b12 -> c12 -> d12 ->
01:07:21 <lambdabot> e12 -> f12 -> g12 -> h12 -> i12 -> j12 -> k12 -> l12 -> m12 -> (a12, b12, c12, d12, e12, f12, g12, h12, i12, j12, k12, l12, m12))
01:07:23 <elliott> yea verily this is a good use of the channel
01:07:33 <Lymia> :t (((,,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,)),((,,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,)),((,,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,,
01:07:34 <Lymia> ,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,)),((,,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,)),((,,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,
01:07:34 <lambdabot> parse error (possibly incorrect indentation)
01:07:35 <Lymia> ,,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,),(,,,,,,,,,,,,)))
01:07:38 <elliott> lol.
01:07:39 <Lymia> `-`
01:07:41 <HackEgo> No output.
01:07:55 <Lymia> :t (.............................................................................................................................................................................................................................................................................................................................................................................................................................)
01:07:57 <lambdabot> Not in scope:
01:07:57 <lambdabot> `................................................................................................................................................................................................
01:07:57 <lambdabot> .......................................................................................................................................................................................................
01:07:57 <lambdabot> ......................'
01:08:02 <Lymia> :(
01:08:04 <monqy> good job
01:08:15 <oerjan> :t let a x = (,,,,,,,,,,,,) x in (a,a,a,a,a,a,a,a,a,a,a,a)
01:08:16 <lambdabot> forall a b c d e f g h i j k l m a1 b1 c1 d1 e1 f1 g1 h1 i1 j1 k1 l1 m1 a2 b2 c2 d2 e2 f2 g2 h2 i2 j2 k2 l2 m2 a3 b3 c3 d3 e3 f3 g3 h3 i3 j3 k3 l3 m3 a4 b4 c4 d4 e4 f4 g4 h4 i4 j4 k4 l4 m4 a5 b5 c5
01:08:16 <lambdabot> d5 e5 f5 g5 h5 i5 j5 k5 l5 m5 a6 b6 c6 d6 e6 f6 g6 h6 i6 j6 k6 l6 m6 a7 b7 c7 d7 e7 f7 g7 h7 i7 j7 k7 l7 m7 a8 b8 c8 d8 e8 f8 g8 h8 i8 j8 k8 l8 m8 a9 b9 c9 d9 e9 f9 g9 h9 i9 j9 k9 l9 m9 a10 b10 c10
01:08:16 <lambdabot> d10 e10 f10 g10 h10 i10 j10 k10 l10 m10 a11 b11 c11 d11 e11 f11 g11 h11 i11 j11 k11 l11 m11. (a -> b -> c -> d -> e -> f -> g -> h -> i -> j -> k -> l -> m -> (a, b, c, d, e, f, g, h, i, j, k, l, m),
01:08:16 <lambdabot> a1 -> b1 -> c1 -> d1 -> e1 -> f1 -> g1 -> h1 -> i1 -> j1 -> k1 -> l1 -> m1 -> (a1, b1, c1, d1, e1, f1, g1, h1, i1, j1, k1, l1, m1), a2 -> b2 -> c2 -> d2 -> e2 -> f2 -> g2 -> h2 -> i2 -> j2 -> k2 ->
01:08:16 <lambdabot> l2 -> m2 -> (a2, b2, c2, d2, e2, f2, g2, h2, i2, j2, k2, l2, m2), a3 -> b3 -> c3 -> d3 -> e3 -> f3 -> g3 -> h3 -> i3 -> j3 -> k3 -> l3 -> m3 -> (a3, b3, c3, d3, e3, f3, g3, h3, i3, j3, k3, l3, m3),
01:08:18 <lambdabot> [6 @more lines]
01:08:25 <Lymia> :t (,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)
01:08:26 <lambdabot> forall a b c d e f g h i j k l m n o p q r s t u v w x y z t28 t29 t30 t31 t32 t33 t34 t35 t36 t37 t38 t39 t40 t41 t42 t43 t44 t45 t46 t47 t48 t49 t50 t51 t52 t53 t54 t55 t56 t57 t58 t59 t60 t61 t62
01:08:26 <lambdabot> t63 t64 t65 t66 t67 t68 t69 t70 t71 t72 t73 t74 t75 t76 t77 t78 t79 t80 t81 t82 t83 t84 t85 t86 t87 t88 t89 t90 t91 t92 t93 t94 t95 t96 t97 t98 t99 t100 t101 t102 t103 t104 t105 t106 t107 t108 t109
01:08:26 <lambdabot> t110 t111 t112 t113 t114 t115 t116 t117 t118 t119 t120 t121 t122 t123 t124 t125 t126 t127 t128 t129 t130 t131 t132 t133 t134 t135 t136 t137 t138 t139 t140 t141 t142 t143 t144 t145 t146 t147 t148
01:08:26 <lambdabot> t149 t150 t151 t152 t153 t154 t155 t156 t157 t158 t159 t160 t161 t162 t163 t164 t165 t166 t167 t168 t169 t170 t171 t172 t173 t174 t175 t176 t177 t178 t179 t180 t181 t182 t183 t184 t185 t186 t187
01:08:28 <lambdabot> t188 t189 t190 t191 t192 t193 t194 t195 t196 t197 t198 t199 t200 t201 t202 t203 t204 t205 t206 t207 t208 t209 t210 t211 t212 t213 t214 t215 t216 t217 t218 t219 t220 t221 t222 t223 t224 t225 t226
01:08:30 <lambdabot> [16 @more lines]
01:08:42 <monqy> woohoo
01:09:08 <CakeProphet> needs moar zipWith
01:09:14 <oerjan> eek ghc defines that many?
01:09:17 <Lymia> :t let a x = (,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,) x in (a,a,a,a,a,a,a,a,a,a,a,a,a,a,a)
01:09:20 <lambdabot> forall a b c d e f g h i j k l m n o p q r s t u v w x y z t28 t29 t30 t31 t32 t33 t34 t35 t36 t37 t38 t39 t40 t41 t42 t43 t44 t45 t46 t47 t48 t49 t50 t51 t52 t53 t54 t55 t56 t57 t58 t59 t60 t61 t62
01:09:20 <lambdabot> t63 t64 t65 t66 t67 t68 t69 t70 t71 t72 t73 t74 t75 t76 t77 t78 t79 t80 t81 t82 t83 t84 t85 t86 t87 t88 t89 t90 t91 t92 t93 t94 t95 t96 t97 t98 t99 t100 t101 t102 t103 t104 t105 t106 t107 t108 t109
01:09:20 <lambdabot> t110 t111 t112 t113 t114 t115 t116 t117 t118 t119 t120 t121 t122 t123 t124 t125 t126 t127 t128 t129 t130 t131 t132 t133 t134 t135 t136 t137 t138 t139 t140 t141 t142 t143 t144 t145 t146 t147 t148
01:09:20 <lambdabot> t149 t150 t151 t152 t153 t154 t155 t156 t157 t158 t159 t160 t161 t162 t163 t164 t165 t166 t167 t168 t169 t170 t171 t172 t173 t174 t175 t176 t177 t178 t179 t180 t181 t182 t183 t184 t185 t186 t187
01:09:20 <lambdabot> t188 t189 t190 t191 t192 t193 t194 t195 t196 t197 t198 t199 t200 t201 t202 t203 t204 t205 t206 t207 t208 t209 t210 t211 t212 t213 t214 t215 t216 t217 t218 t219 t220 t221 t222 t223 t224 t225 t226
01:09:22 <lambdabot> [379 @more lines]
01:09:28 <oerjan> (i think the haskell report only requires up to 15 or something)
01:09:29 <Lymia> :t let a x = (,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,) x in (a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a)
01:09:34 <lambdabot> forall a b c d e f g h i j k l m n o p q r s t u v w x y z t28 t29 t30 t31 t32 t33 t34 t35 t36 t37 t38 t39 t40 t41 t42 t43 t44 t45 t46 t47 t48 t49 t50 t51 t52 t53 t54 t55 t56 t57 t58 t59 t60 t61 t62
01:09:34 <lambdabot> t63 t64 t65 t66 t67 t68 t69 t70 t71 t72 t73 t74 t75 t76 t77 t78 t79 t80 t81 t82 t83 t84 t85 t86 t87 t88 t89 t90 t91 t92 t93 t94 t95 t96 t97 t98 t99 t100 t101 t102 t103 t104 t105 t106 t107 t108 t109
01:09:34 <lambdabot> t110 t111 t112 t113 t114 t115 t116 t117 t118 t119 t120 t121 t122 t123 t124 t125 t126 t127 t128 t129 t130 t131 t132 t133 t134 t135 t136 t137 t138 t139 t140 t141 t142 t143 t144 t145 t146 t147 t148
01:09:34 <lambdabot> t149 t150 t151 t152 t153 t154 t155 t156 t157 t158 t159 t160 t161 t162 t163 t164 t165 t166 t167 t168 t169 t170 t171 t172 t173 t174 t175 t176 t177 t178 t179 t180 t181 t182 t183 t184 t185 t186 t187
01:09:34 <lambdabot> t188 t189 t190 t191 t192 t193 t194 t195 t196 t197 t198 t199 t200 t201 t202 t203 t204 t205 t206 t207 t208 t209 t210 t211 t212 t213 t214 t215 t216 t217 t218 t219 t220 t221 t222 t223 t224 t225 t226
01:09:36 <lambdabot> [889 @more lines]
01:09:39 <CakeProphet> ......
01:09:44 <Lymia> :t let a x = (,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,) x in (a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a)
01:09:52 <lambdabot> forall a b c d e f g h i j k l m n o p q r s t u v w x y z t28 t29 t30 t31 t32 t33 t34 t35 t36 t37 t38 t39 t40 t41 t42 t43 t44 t45 t46 t47 t48 t49 t50 t51 t52 t53 t54 t55 t56 t57 t58 t59 t60 t61 t62
01:09:52 <lambdabot> t63 t64 t65 t66 t67 t68 t69 t70 t71 t72 t73 t74 t75 t76 t77 t78 t79 t80 t81 t82 t83 t84 t85 t86 t87 t88 t89 t90 t91 t92 t93 t94 t95 t96 t97 t98 t99 t100 t101 t102 t103 t104 t105 t106 t107 t108 t109
01:09:52 <lambdabot> t110 t111 t112 t113 t114 t115 t116 t117 t118 t119 t120 t121 t122 t123 t124 t125 t126 t127 t128 t129 t130 t131 t132 t133 t134 t135 t136 t137 t138 t139 t140 t141 t142 t143 t144 t145 t146 t147 t148
01:09:52 <lambdabot> t149 t150 t151 t152 t153 t154 t155 t156 t157 t158 t159 t160 t161 t162 t163 t164 t165 t166 t167 t168 t169 t170 t171 t172 t173 t174 t175 t176 t177 t178 t179 t180 t181 t182 t183 t184 t185 t186 t187
01:09:52 <lambdabot> t188 t189 t190 t191 t192 t193 t194 t195 t196 t197 t198 t199 t200 t201 t202 t203 t204 t205 t206 t207 t208 t209 t210 t211 t212 t213 t214 t215 t216 t217 t218 t219 t220 t221 t222 t223 t224 t225 t226
01:09:54 <monqy> why would you do this
01:09:54 <lambdabot> [1569 @more lines]
01:10:04 <Lymia> OK
01:10:06 <Lymia> I'll take it to PM~
01:10:07 <Lymia> >:3
01:10:19 <elliott> yes we need no filthy lambdabotsex here in public
01:10:21 <elliott> get a room
01:10:46 <Lymia> OR NOT
01:10:48 <Lymia> :t let a x = (,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,) x in (a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,) x in (a,a,a,a,a,a,a)
01:10:49 <lambdabot> parse error on input `in'
01:10:51 <Lymia> :<
01:10:59 <Lymia> :t let a x = (,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,) x in (a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a)
01:11:00 <lambdabot> A 71-tuple is too large for GHC
01:11:01 <lambdabot> (max size is 62)
01:11:01 <lambdabot> Workaround: use nested tuples or define a data type
01:11:04 <Lymia> :<
01:11:12 <Lymia> Disappointing.
01:11:15 <Lymia> :t let a x = (,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,) x in (a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a)
01:11:16 <lambdabot> A 70-tuple is too large for GHC
01:11:17 <lambdabot> (max size is 62)
01:11:17 <lambdabot> Workaround: use nested tuples or define a data type
01:11:24 <Lymia> :t let a x = (,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,) x in (a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a)
01:11:31 <lambdabot> forall a b c d e f g h i j k l m n o p q r s t u v w x y z t28 t29 t30 t31 t32 t33 t34 t35 t36 t37 t38 t39 t40 t41 t42 t43 t44 t45 t46 t47 t48 t49 t50 t51 t52 t53 t54 t55 t56 t57 t58 t59 t60 t61 t62
01:11:32 <lambdabot> t63 t64 t65 t66 t67 t68 t69 t70 t71 t72 t73 t74 t75 t76 t77 t78 t79 t80 t81 t82 t83 t84 t85 t86 t87 t88 t89 t90 t91 t92 t93 t94 t95 t96 t97 t98 t99 t100 t101 t102 t103 t104 t105 t106 t107 t108 t109
01:11:32 <lambdabot> t110 t111 t112 t113 t114 t115 t116 t117 t118 t119 t120 t121 t122 t123 t124 t125 t126 t127 t128 t129 t130 t131 t132 t133 t134 t135 t136 t137 t138 t139 t140 t141 t142 t143 t144 t145 t146 t147 t148
01:11:32 <lambdabot> t149 t150 t151 t152 t153 t154 t155 t156 t157 t158 t159 t160 t161 t162 t163 t164 t165 t166 t167 t168 t169 t170 t171 t172 t173 t174 t175 t176 t177 t178 t179 t180 t181 t182 t183 t184 t185 t186 t187
01:11:32 <lambdabot> t188 t189 t190 t191 t192 t193 t194 t195 t196 t197 t198 t199 t200 t201 t202 t203 t204 t205 t206 t207 t208 t209 t210 t211 t212 t213 t214 t215 t216 t217 t218 t219 t220 t221 t222 t223 t224 t225 t226
01:11:33 <lambdabot> [1711 @more lines]
01:11:37 <Lymia> :t let a x = (,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,) x in (a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a,a)
01:11:39 <CakeProphet> I love how they suggest a workaround. As though anyone needs a 72-tuple.
01:11:51 <lambdabot> forall a b c d e f g h i j k l m n o p q r s t u v w x y z t28 t29 t30 t31 t32 t33 t34 t35 t36 t37 t38 t39 t40 t41 t42 t43 t44 t45 t46 t47 t48 t49 t50 t51 t52 t53 t54 t55 t56 t57 t58 t59 t60 t61 t62
01:11:51 <lambdabot> t63 t64 t65 t66 t67 t68 t69 t70 t71 t72 t73 t74 t75 t76 t77 t78 t79 t80 t81 t82 t83 t84 t85 t86 t87 t88 t89 t90 t91 t92 t93 t94 t95 t96 t97 t98 t99 t100 t101 t102 t103 t104 t105 t106 t107 t108 t109
01:11:51 <lambdabot> t110 t111 t112 t113 t114 t115 t116 t117 t118 t119 t120 t121 t122 t123 t124 t125 t126 t127 t128 t129 t130 t131 t132 t133 t134 t135 t136 t137 t138 t139 t140 t141 t142 t143 t144 t145 t146 t147 t148
01:11:51 <lambdabot> t149 t150 t151 t152 t153 t154 t155 t156 t157 t158 t159 t160 t161 t162 t163 t164 t165 t166 t167 t168 t169 t170 t171 t172 t173 t174 t175 t176 t177 t178 t179 t180 t181 t182 t183 t184 t185 t186 t187
01:11:51 <lambdabot> t188 t189 t190 t191 t192 t193 t194 t195 t196 t197 t198 t199 t200 t201 t202 t203 t204 t205 t206 t207 t208 t209 t210 t211 t212 t213 t214 t215 t216 t217 t218 t219 t220 t221 t222 t223 t224 t225 t226
01:11:55 <elliott> CakeProphet: what workaround
01:11:58 <Lymia> CakeProphet, yep.
01:11:59 <elliott> Lymia: i thought you were taking it to pm
01:12:02 <Lymia> elliott, couldn't.
01:12:07 <Lymia> lambdabot didn't respond. >:(
01:12:08 <elliott> CakeProphet: oh i see
01:12:17 <elliott> Lymia: you need ?type or @type
01:12:17 <elliott> not :t
01:12:21 <CakeProphet> elliott: 21:11 < lambdabot> Workaround: use nested tuples or define a data type
01:12:25 <elliott> Lymia: also, take pics
01:12:32 <Lymia> @more
01:12:33 <elliott> CakeProphet: right
01:12:33 <lambdabot> t227 t228 t229 t230 t231 t232 t233 t234 t235 t236 t237 t238 t239 t240 t241 t242 t243 t244 t245 t246 t247 t248 t249 t250 t251 t252 t253 t254 t255 t256 t257 t258 t259 t260 t261 t262 t263 t264 t265
01:12:33 <lambdabot> t266 t267 t268 t269 t270 t271 t272 a1 b1 c1 d1 e1 f1 g1 h1 i1 j1 k1 l1 m1 n1 o1 p1 q1 r1 s1 t1 u1 v1 w1 x1 y1 z1 t281 t291 t301 t311 t321 t331 t341 t351 t361 t371 t381 t391 t401 t411 t421 t431 t441
01:12:33 <lambdabot> t451 t461 t471 t481 t491 t501 t511 t521 t531 t541 t551 t561 t571 t581 t591 t601 t611 t621 t631 t641 t651 t661 t671 t681 t691 t701 t711 t721 t731 t741 t751 t761 t771 t781 t791 t801 t811 t821 t831
01:12:33 <lambdabot> t841 t851 t861 t871 t881 t891 t901 t911 t921 t931 t941 t951 t961 t971 t981 t991 t1001 t1011 t1021 t1031 t1041 t1051 t1061 t1071 t1081 t1091 t1101 t1111 t1121 t1131 t1141 t1151 t1161 t1171 t1181
01:12:33 <lambdabot> t1191 t1201 t1211 t1221 t1231 t1241 t1251 t1261 t1271 t1281 t1291 t1301 t1311 t1321 t1331 t1341 t1351 t1361 t1371 t1381 t1391 t1401 t1411 t1421 t1431 t1441 t1451 t1461 t1471 t1481 t1491 t1501 t1511
01:12:35 <lambdabot> [1938 @more lines]
01:12:58 <Lymia> I need to learn more Haskell...
01:13:07 <CakeProphet> ..I need to get op privs.
01:13:57 <oerjan> XD
01:14:06 <elliott> CakeProphet++
01:14:13 <oerjan> CakeProphet: i was slightly tempted there
01:14:30 <CakeProphet> at least a kick.
01:14:37 <CakeProphet> not a kickban :P
01:14:39 <elliott> `addquote [after a long string of Lymia getting lambdabot to spit out huge, meaningless type signatures] <Lymia> I need to learn more Haskell... <CakeProphet> ..I need to get op privs.
01:14:40 <HackEgo> ​441) [after a long string of Lymia getting lambdabot to spit out huge, meaningless type signatures] <Lymia> I need to learn more Haskell... <CakeProphet> ..I need to get op privs.
01:14:46 <elliott> possibly the backstory lessens the humour of that one :D
01:14:53 -!- foocraft_ has joined.
01:15:01 <monqy> what humour
01:15:02 <monqy> it's all gone
01:15:14 <CakeProphet> monqy: there is no humour because I AM NOT ENGLISH.
01:15:15 <elliott> foocraft_: stop crafting foos
01:15:15 <oerjan> dissected with the frog
01:15:36 <oerjan> or we'll put you behind bars
01:15:49 <CakeProphet> ohhh snap!
01:16:57 <CakeProphet> ^ http://www.youtube.com/watch?v=y8m3wC5pH-8
01:17:28 <monqy> oh snap
01:17:39 -!- foocraft has quit (Ping timeout: 240 seconds).
01:17:40 <elliott> oerjan: can you ban Maharba[exclamation mark][asterisk]@[asterisk] preemptively for not replying
01:17:42 <CakeProphet> yes, a 3 second youtube video.
01:19:03 <oerjan> yes, i can.
01:19:12 <elliott> maybe i'll implement some other language but still call the implementation sylladex
01:19:13 <elliott> mwahahaha
01:19:54 <elliott> meanwhile, the loper blog has now completely degenerated into idiocy
01:20:06 * CakeProphet is devising one of those self modifying thingamajiggers.
01:20:14 <monqy> fascinating
01:20:17 <monqy> what's loper now
01:20:22 <elliott> loper-os.org
01:20:27 <monqy> oh that
01:20:34 <elliott> it used to be interesting if you could get past stanislav's... stanislavosity
01:20:37 <elliott> now it's... not
01:20:40 <CakeProphet> consisting of the self-modifying language and a sister ESOTERIC REGULAR EXPRESSION LANGUAGE.
01:20:49 <elliott> CakeProphet: latter already exists (cyclexa)
01:22:03 <CakeProphet> but is it awesome?
01:22:13 <CakeProphet> the key here is that mine will be awesome.
01:22:18 <elliott> it's tc :)
01:22:23 <elliott> it's an ais lang
01:22:28 <CakeProphet> -yawwwwn-
01:22:35 <elliott> it's actually really interesting
01:22:38 <elliott> ask him about it sometime.
01:22:58 <CakeProphet> perhaps I shall.
01:22:59 <monqy> only time I heard of loper was in a conversation about laughing at the losethos guy I forget his name
01:23:12 <elliott> monqy: stanislav is like the losethos guy but less insane
01:23:14 <elliott> and more coherent
01:23:34 <Sgeo> It makes sense that some hypotheticals are unanswerable
01:23:47 <elliott> oh, sgeo is here.
01:23:51 <Sgeo> But not things like what if the sun stopped existing, would we still orbit
01:24:07 <monqy> hi sgeo
01:24:09 <Sgeo> Hi
01:25:08 <monqy> wow I'm trying to read the loper blog
01:26:15 <oerjan> Sgeo: um that's because "the sun stopped existing" is a violation of energy conservation, so it reduces to "if this thing ruled out by the laws of physics happens, what would the laws of physics say about this intuitively related thing"
01:27:33 -!- zzo38 has joined.
01:30:14 <oerjan> to make the sun "disappear" _without_ violating energy conservation and general relativity, you would have to actually _move_ the energy at lower-than-light-speed somewhere, at which point you could try to calculate the results
01:31:10 <pikhq> oerjan: There's another means.
01:31:29 <elliott> oerjan: except that it's more like freeze-framing the universe in a debugger, and removing the sun itself
01:31:29 <pikhq> oerjan: The sun could exhibit an exceptionally improbable instance of quantum teleportation.
01:31:40 <elliott> sure, the laws of physics don't actually allow this, except maybe as pikhq said
01:31:43 <elliott> but we can model it conceptually
01:31:55 <oerjan> pikhq: hm
01:32:01 <pikhq> (assuming that wave-particle duality holds for such large objects, which is admittedly an open question)
01:32:01 <elliott> just have a special "event" sun-disappears which has those effects on state, in the laws of physics
01:32:10 <elliott> and evaluate it to the point where you can be sure that sun-disappears never interacts with the earth
01:32:12 <elliott> i'm explaining this badly
01:32:14 <elliott> but basically
01:32:26 <elliott> you can "implement" things that don't interact with everything else in the universe, in the laws of physics
01:32:35 <elliott> and as long as you can prove that no such unevaluatable interaction occurs
01:32:41 <elliott> you can say what the effects would be without actually reconciling this paradox
01:33:02 <elliott> which is why we can give a perfectly satisfactory answer to the question "what would happen to our orbit if the sun disappeared instantly?"
01:33:50 <pikhq> And that answer is, of course, "Nothing, until the lack-of-gravity and lack-of-light propogates (about 8 minutes)".
01:33:59 <oerjan> elliott: um i interpret "unanswerable" as there is no answer that can be deduced from anything we can plausibly do
01:34:15 <elliott> oerjan: you mean we can't test it?
01:34:19 <oerjan> of course one could make up hypotheses
01:34:21 <elliott> that's not what's being asked, the question is one of theory
01:34:57 <pikhq> oerjan: We can make very highly plausible hypotheses from our understanding of valid theories.
01:34:59 <elliott> oerjan: the question is actually -- "If the laws of physics had a special-case mechanism which made a special state transition at this particular arbitrary point, then what would happen?"
01:35:19 <elliott> oerjan: now, this is answerable as long as the specific scenario doesn't actually cause some kind of logical contradiction in the theory
01:35:24 <elliott> even if the theory as a whole has "impossible" scenarios
01:35:37 <pikhq> oerjan: Which is the only reasonable way to interpret questions about such hypotheticals.
01:35:45 <elliott> oerjan: i mean /any/ hypothetical question is like this
01:36:34 <Sgeo> I don't see where RRC made such a comment to someone who asked such a question, link?
01:36:36 <pikhq> Doesn't matter if the hypothetical situation itself could, likely, never be tested without an infinite improbability drive.
01:36:51 <elliott> Sgeo: see log
01:37:08 <elliott> Help me understand (self.askscience)
01:37:08 <elliott> submitted 5 hours ago by Numerous1
01:37:09 <elliott> If humans are NOT supposed to be monogamous, and are supposed to find the best genes, survival of the fittest and all that, why do humans fall in love?
01:37:14 <elliott> totes question for /r/askscience
01:38:03 <elliott> "The other way of quantifying distance is to imagine freezing time at some instant, and then physically measuring the distance between A and B using a series of rulers. Of course, you can't freeze time and physically measure cosmological distances. But you can compute what those instantaneous distances are, using inferences gleaned from astronomical observations and some maths."
01:38:12 <elliott> why robotrollcall, it looks like you're using a hypothetical impossible scenario here
01:39:07 <Sgeo> It's not on http://www.reddit.com/r/askscience/comments/hsrsq/what_would_happen_in_terms_of_gravity_if_you/ as far as I can tell, or her userpage
01:39:07 <Sgeo> Did she delete it?
01:39:17 <elliott> its linked from that thread
01:39:19 <oerjan> didn't einstein explain this measuring distance stuff pretty thoroughly
01:39:37 <elliott> http://www.reddit.com/r/askscience/comments/hai2t/does_the_gravity_of_one_object_affect_attract/
01:39:45 <elliott> oerjan: i'm just mocking
01:40:15 <elliott> "Personally, I think the #1 reason to distrust Bitcoin is that both the libertarian nuts and the gold nuts love it." hmm... this person isn't thinking right
01:41:07 <Sgeo> Ah, ty
01:42:35 <Sgeo> RRC: "Okie doke, so let's say something accelerated the sun very quickly
01:42:35 <Sgeo> No, let's not. Let's consider only things that are actually possible."
01:43:05 <elliott> yeah, that's the objectionable comment IMHO
01:44:20 <Sgeo> http://www.reddit.com/r/askscience/comments/hai2t/does_the_gravity_of_one_object_affect_attract/c1tvm5c well, this does make sense
01:44:23 <elliott> three days without homestuck update, starting to lose ability to metabolise
01:44:40 <Sgeo> elliott, SJAHJ update recently.
01:44:47 <elliott> Sgeo: the situation is not comparable
01:44:50 <elliott> and i'm aware of the sbahj update
01:52:10 <elliott> http://www.nbcnewyork.com/news/local/123187958.html
01:52:14 <elliott> >how dose i tor
02:00:11 <monqy> It's more brazen than anything else by lightyears.
02:00:32 <Sgeo> Is Shumer utterly unaware that Tor is also being used to keep the website anonymous?
02:00:37 <Sgeo> *Schumer
02:01:46 <monqy> "It's an online form of money laundering used to disguise the source of money, and to disguise who's both selling and buying the drug" - Schumer on Bitcoins
02:02:26 -!- _foocraft has joined.
02:05:44 -!- foocraft_ has quit (Ping timeout: 250 seconds).
02:07:04 <CakeProphet> elliott: cyclexa is indeed interesting.
02:08:02 <CakeProphet> I now have some new ideas for my own language. But I'll be focusing more on the ability to define new matching/zero-width operators.
02:11:27 <CakeProphet> so the language I'm brainstorming currently resembles a traditional language designed for pattern matching more than it resembles a regular expression language. I guess that makes it esoteric. :P
02:15:53 <Lymia> CakeProphet, you mean Perl?
02:16:00 <CakeProphet> No. :P
02:16:06 <Lymia> #!/bin/perl -sp0777i<X+d*lMLa^*lN%0]dsXx++lMlN/dsM0<j]dsj $/=unpack('H*',$_);$_=`echo 16dio\U$k"SK$/SM$n\EsN0p[lN*1 lK[d2%Sa2/d0$^Ixp"|dc`;s/\W//g;$_=pack('H*',/((..)*)$/)
02:16:11 <Lymia> Perl in a nutshell.
02:16:53 <CakeProphet> it's still a regular expression language, it's just slightly more verbose.
02:16:59 <CakeProphet> and has more operators.
02:17:08 <CakeProphet> that do things not related to matching patterns in text.
02:17:39 <CakeProphet> essentially they're treated as zero-width assertions.
02:18:11 <oerjan> are you talking about perl or your new language now? >:)
02:18:17 <CakeProphet> new language.
02:19:24 -!- Lymia has set topic: PEANUTS FOR THE PPLEASURE | Logs: http://codu.org/logs/_esoteric/ and http://tunes.org/~nef/logs/esoteric/?C=M;O=D | #!/bin/perl -sp0777i<X+d*lMLa^*lN%0]dsXx++lMlN/dsM0<j]dsj $/=unpack('H*',$_);$_=`echo 16dio\U$k"SK$/SM$n\EsN0p[lN*1 lK[d2%Sa2/d0$^Ixp"|dc`;s/\W//g;$_=pack('H*',/((..)*)$/).
02:19:38 <CakeProphet> but yes, step one will the regular expression language. step two is the self-modifying language. Because the second one will be able to use pattern matching constructs in the first.
02:19:38 -!- elliott has set topic: PEANUTS FOR THE PPLEASURE | Logs: http://codu.org/logs/_esoteric/ and http://tunes.org/~nef/logs/esoteric/?C=M;O=D.
02:19:47 <Lymia> :<
02:19:57 <elliott> you can bash any lang w/ obfuscated code.
02:19:57 <monqy> perl out of a nutshell
02:20:36 <CakeProphet> you can even bash bash with obfuscated code.
02:21:30 <CakeProphet> and in the above example of obfuscated Perl, you can even obfuscate code with bash and bash that too.
02:22:27 <Sgeo> There is a result of my experiment that is not according to my theory, though
02:22:43 <CakeProphet> Sgeo: time to revise the theory.
02:22:51 <Sgeo> At low enough gravity, the test object higher up never responded to gravity, but the one nearer the ground did
02:23:01 <CakeProphet> ...woah.
02:23:07 <CakeProphet> some kind of field?
02:23:26 <Sgeo> I did predict such an effect, but not that low down, and didn't think strength of gravity could affect it
02:23:44 <Sgeo> This is in Second Life, btw
02:24:10 <Sgeo> My current hypothesis for an explanation is that terminal velocity is lower for lower gravity
02:24:26 <Lymia> elliott, golfed code vs obfuscated code.
02:24:26 <CakeProphet> oh. lol. well, in actual physics, the strength of gravity most certainly determines the effective radius of the field (even though it's theoretically infinite iirc).
02:25:19 <CakeProphet> and by "strength of gravity" I actually mean the mass of the object.
02:25:22 <Lymia> Sgeo, just break out the disassembles.
02:25:43 <elliott> that doesn't help for serverside
02:27:06 <CakeProphet> Sgeo: try adjusting the gravity and see if the inverse square law applies. If it does you should be able to calculate some kind of cutoff distance for a given mass to not be affected by the gravity.
02:27:33 <Sgeo> cutoff distance?
02:28:10 <Sgeo> Hmm, test if gravity is as strong in the air as near the surface?
02:28:30 <Lymia> What is big G on Second Life?
02:28:46 <CakeProphet> yes, basically. and test if it's inversely proportional to the square of the distance, specifically.
02:29:40 -!- _foocraft has quit (Ping timeout: 240 seconds).
02:29:48 <oerjan> um note in ordinary gravity it's distance to the earth's _center_, not the surface
02:29:52 <Sgeo> I doubt it, but I'll try it
02:29:56 <CakeProphet> oerjan: right.
02:30:09 -!- Kustas has joined.
02:30:17 <CakeProphet> Sgeo: yeah I'm probably expecting too much from Second Life there. :P
02:30:35 <Sgeo> I think it's easier to test terminal velocity first, though
02:30:52 <CakeProphet> but it would explain why objects off the ground wouldn't be affected by a low gravity.
02:31:03 <elliott> i should do that in elliottcraft
02:31:03 <CakeProphet> *higher off the ground
02:31:19 <elliott> infinite threedee plane OBVIOUSLY HAS A CENTRE
02:31:23 <Sgeo> CakeProphet, I have a diferent explanation
02:31:58 <CakeProphet> elliott: is that going to be like a crazy physics playground?
02:32:07 <CakeProphet> because I would totally play that.
02:32:16 <Sgeo> If terminal velocity is not enough to pull the object down 1 representable float within 1 frame, then gravity can't do anything
02:32:19 <CakeProphet> something that like updated Garry's Mod would be awesome.
02:32:48 <CakeProphet> Sgeo: ah. That makes some sense.
02:32:58 <Sgeo> Then again, the oberved approximate cutoff suggests, under my model, that in low gravity, terminal velocity is reached in about a second, so that seems a bit... um, weird
02:33:03 <CakeProphet> but does it explain why the elevation matters?
02:33:07 <elliott> CakeProphet: minecraft done right. by which i mean: completely differently/
02:33:09 <Sgeo> But I should just measure it already
02:33:18 <elliott> more similar to dwarf fortress, even.
02:33:25 <CakeProphet> elliott: it should be an awesome physics playground..
02:33:25 <Sgeo> CakeProphet, yes. Higher elevation == representable floats are more distant
02:33:40 <CakeProphet> elliott: ...text based?
02:34:26 <CakeProphet> or more similar in that it's more complex.
02:34:42 <elliott> CakeProphet: no, threedee
02:34:50 <elliott> :p
02:35:53 <CakeProphet> elliott: Make it first-person style with AWESOME PHYSICS GUNS that can do things like shoot a projectile through the air and remote detonate it to produce a sustained gravity field at the center of the blast point.
02:36:10 <Sgeo> I like to call representable floats of altitude "cosmic shells"
02:36:13 <Sgeo> It's more fun
02:36:38 <CakeProphet> elliott: and a gun that dilates time in a region of space.
02:36:48 <elliott> no.
02:37:00 <CakeProphet> ..and then make it a puzzle game.
02:37:05 <CakeProphet> FINE. I'll just make my own game.
02:37:07 <elliott> that's for asteroids ii
02:37:12 <elliott> (time dilation)
02:37:38 <CakeProphet> I think time dilation would be an excellent element to a puzzle game. Along with a gravity field generating thing.
02:37:41 <Sgeo> It's theoretically possible that the gravitational delay I observed is a measuring artifact, I guess.
02:37:52 <Sgeo> But the fact that gravity stopped at higher altitudes is not an artifact.
02:37:58 <Sgeo> (for low enough gravity)
02:38:13 <elliott> asteroids ii is a shooter though. but the engine could be reused. :p
02:38:18 <CakeProphet> Sgeo: perhaps you've discovered a theory of special Second Life relativity.
02:39:10 <CakeProphet> that has nothing to do with the real one..
02:39:28 <monqy> are you suggesting second life isn't real
02:39:42 <CakeProphet> what? of course not.
02:39:52 <CakeProphet> I am a second life character, after all.
02:42:56 -!- _foocraft has joined.
02:47:06 <oerjan> beware of the crafty foos
03:14:20 -!- pikhq_ has joined.
03:14:48 -!- pikhq has quit (Ping timeout: 260 seconds).
03:14:54 <CakeProphet> odd, for some reason my mouse just decides to not work for several seconds at a time.
03:23:29 <Kustas> if it does not affect the keyboard the same way, then it's something esoteric
03:31:24 <elliott> CakeProphet: after typing?
03:38:59 -!- Sgeo_ has joined.
03:39:11 -!- Sgeo has quit (Ping timeout: 255 seconds).
03:51:30 <CakeProphet> elliott: sometimes. But that's a different problem related to me accidentally brushing the touchpad, which somehow interferes with the mouse I believe.
03:53:33 <elliott> CakeProphet: system -> preferences -> mouse -> touchpad, disable "disable touchpad while typing"
03:53:35 <elliott> (ubuntu)
03:53:42 <elliott> that might help. very annoying behaviour.
03:57:06 -!- Sgeo has joined.
03:58:16 <elliott> god i feel ill
03:59:19 -!- Sgeo_ has quit (Ping timeout: 240 seconds).
03:59:58 <elliott> still no homestuck update. world as we know it starting to decompose. suicide imminent.
04:00:58 <elliott> "I certainly sat in lots of Scheme design meetings where I pushed for obvious things like branch cuts, error handling, and other "useful" things and was told that such things would ... make the language "too useful" [thus meaning too many people would flock to it and it would be the end of the designers' ability to do the things to the language that _they_ wanted to do]."
04:01:00 <elliott> --Kent Pitman
04:01:31 <pikhq_> Ah, yes, avoid success at all costs.
04:02:05 -!- olsner_ has joined.
04:02:11 <elliott> To be fair, in Haskell that's achieved by trying to pack in as much abstraction as possible, rather than omitting useful things. :p
04:02:44 <elliott> It's definitely a sentiment I can get behind, though; god knows how many ideas are ruined because the thinker starts considering other people.
04:03:31 <elliott> http://christian-success-institute.org/ DEVELOPING SUCCESSFUL CHRISTIAN ENTREPRENEURS THROUGH BIBLICAL SUCCESS PRINCIPLES
04:04:02 * elliott checks if Eigenclass has updated lately.
04:04:07 <elliott> Nope.
04:05:18 -!- olsner has quit (Ping timeout: 252 seconds).
04:12:27 <elliott> hey pikhq_
04:12:30 <elliott> how much does everything suck
04:14:07 -!- Lymia_ has joined.
04:14:07 -!- Sgeo has quit (Ping timeout: 276 seconds).
04:14:40 -!- Lymia has quit (Disconnected by services).
04:14:42 -!- Lymia_ has changed nick to Lymia.
04:14:44 -!- Lymia has quit (Changing host).
04:14:44 -!- Lymia has joined.
04:16:46 <oerjan> current suckage level: 62.8%
04:17:28 <elliott> you forgot "and rising"
04:17:36 <elliott> also, that's far too low a value
04:18:06 <elliott> Sturgeon's law would imply that only an infinitesimal percentage of things do not suck
04:18:28 <CakeProphet> Woah, I'm like... writing a language spec.
04:18:35 <CakeProphet> it's been like 3 years or so I think?
04:18:37 <Lymia> CakeProphet, you are?
04:18:46 <CakeProphet> yes, I'm working on a regular expression language.
04:18:55 <CakeProphet> that like, makes sense and stuff.
04:18:56 <elliott> I usually just write troll languages nowadays.
04:19:01 <elliott> http://esolangs.org/wiki/Befunge/index.php
04:19:01 <elliott> http://esolangs.org/wiki/Brainfuck/w/index.php%3Ftitle%3DTalk:Brainfuck/index.php
04:19:33 <elliott> (both named after talk pages spambots repeatedly created; I made the article versions so that the admins couldn't legitimately keep the talk pages protected to prevent vandalism :D)
04:21:12 <pikhq_> Well, that was astounding.
04:21:26 <pikhq_> Somehow, Firefox was causing swap thrashing without having any pages in swap.
04:21:54 <pikhq_> I do believe that's a whole new level of fail.
04:23:01 <CakeProphet> ewww swap. groooss.
04:23:57 <CakeProphet> I have no idea why my computer decided to allocate 244 KBs of swap when it's only used 1.6 gigs of memory out of 3.7
04:24:09 <pikhq_> It had 0 swap. And thrashing.
04:24:20 <pikhq_> *And it was fucking swap thrashing*.
04:24:32 <pikhq_> At least, that's what iotop showing kswapd using a bunch of IO tells me.
04:24:53 * CakeProphet uses Chrome, has no problems other than Flash crashing occasionally.
04:25:18 <elliott> Chrome actually uses more virtual memory than Firefox, although I think less real memory
04:25:24 <elliott> Since all the code can be shared, pretty much
04:25:29 <elliott> Of course, virtual memory is irrelevant on sixtyfour-bit
04:25:51 <elliott> The thing with Chrome for me is that it scales much better with large numbers of tabs whereas Firefox doesn't.
04:26:41 <CakeProphet> elliott: also see: frequent crashing in Firefox
04:27:17 <elliott> A program written in an unsafe language crashing? I'm shocked.
04:27:26 <elliott> Chrome crashes semi-often too, but it's at least usually localised to a tab or a few.
04:44:46 -!- CakeProphet has quit (Ping timeout: 250 seconds).
04:44:55 -!- CakeProphet has joined.
04:44:56 -!- CakeProphet has quit (Changing host).
04:44:56 -!- CakeProphet has joined.
04:45:12 -!- CakeProphet has changed nick to Kallisti.
04:45:22 <pikhq_> Yeah, virtual memory is basically a non-issue. Heck, mmap the entire address space and it doesn't even matter.
04:45:54 <pikhq_> (well, except that your page table might hate you if you don't madvise to tell Linux to use huge pages)
04:46:21 -!- Kallisti has changed nick to CakeProphet.
04:48:52 <elliott> night
04:49:19 <CakeProphet> sleep well.
04:51:36 -!- oerjan has quit (Quit: Good night).
04:54:19 -!- CakeProphet has quit (Ping timeout: 240 seconds).
04:54:25 -!- elliott has quit (Ping timeout: 276 seconds).
04:57:32 -!- CakeProphet has joined.
04:57:32 -!- CakeProphet has quit (Changing host).
04:57:32 -!- CakeProphet has joined.
04:58:36 -!- Sgeo has joined.
05:21:59 -!- Patashu has joined.
05:31:22 <pikhq_> And now, the comic is technically no longer Dresden Codak's full-time job.
05:31:32 <pikhq_> Let's see if this changes anything at all with the update schedule.
05:34:30 <CakeProphet> pikhq_: nonsense.
05:36:38 <pikhq_> CakeProphet: Previous observations seem to suggest this will be utterly unnoticable.
05:37:12 -!- augur has quit (Remote host closed the connection).
05:42:23 -!- Kustas has quit (Quit: disco out of the blues).
05:46:27 <oklopol> "<elliott> has rodgerthegreat ever actually said anything that's true? i'm honestly curious" <<< i cannot quite recall such a miracle
05:46:43 <oklopol> then again i recall very few concrete things he has said and many of them you just pasted
05:49:10 -!- pikhq has joined.
05:49:20 -!- pikhq_ has quit (Ping timeout: 240 seconds).
05:49:38 <oklopol> "<elliott> 05:31:04: <RodgerTheGreat> Many diseases, conditions and other types of deviations work like this." <<< also what he says about homosexuality sounds correct enough in the sense that the correct modern explanation to everything is "it's complicated"
05:50:40 <oklopol> but i guess you were more worried about his calling gays diseased, so to speak.
05:51:53 <pikhq> It amuses me somewhat that, for a while, I could have probably been called a Christian deist...
05:52:06 <pikhq> Which is such a contradiction in terms I can't help but giggle.
05:52:38 <oklopol> why is it a contradiction?
05:53:09 <pikhq> oklopol: Typically, Christianity holds that there is a large amount of divine intervention in the world.
05:53:16 <pikhq> Deism holds that there is none.
05:54:10 <oklopol> oh that was deism hu
05:54:29 <oklopol> i guess i'm a deist then!
05:54:43 <pikhq> Yeah, deism is the belief that there was a deity who created the world and has since not intervened.
05:55:11 <oklopol> well you know i get this nice feeling in my balls if i think the big bang had a beard and liked marshmellows.
05:55:32 <pikhq> It's perhaps the only theistic claim that doesn't directly contradict known empirical evidence.
05:55:45 <oklopol> *allows
05:55:55 <pikhq> Though, having no basis *in* empirical evidence, it is most likely bullshit.
05:56:31 <oklopol> well it makes it rather meaningless and thus the adult thing is not to talk about it
05:56:33 <coppro> let's go weak atheism!
05:56:40 <CakeProphet> Buddhism has some theistic claims that are supported by empirical evidence. Particularly the positive effects of meditation on the brain.
05:56:46 <CakeProphet> though
05:56:48 <pikhq> CakeProphet: That's not a theistic claim.
05:56:53 <CakeProphet> that might stretch the definition--yes, that.
05:56:55 <pikhq> CakeProphet: A theistic claim is a claim that there is a deity.
05:57:18 <oklopol> yeah because prayer certainly never has effects on the brain
05:57:29 <CakeProphet> I interpreted theistic as meaning "something that concerns religious practice", but that's not quite right.
05:57:34 <pikhq> The common subset of the beliefs termed "Buddhism" does not contain a theistic claim.
05:57:36 <coppro> meditation is different from prayer
05:57:55 <pikhq> Supernatural claims, sure, but not theistic ones.
05:57:55 <CakeProphet> pikhq: Is Therevada the most common subset?
05:58:16 <pikhq> Not "the most common subset". "The common subset".
05:58:39 <pikhq> As in, the set of beliefs that is common to all beliefs which are called "Buddhism".
05:58:44 <CakeProphet> ah
05:59:00 <CakeProphet> INTERSECTION
05:59:12 <pikhq> Though, actually, I'm pretty sure Therevada is fairly close to that.
05:59:19 <CakeProphet> somewhat.
05:59:22 <oklopol> coppro: i'm not saying they're the same thing, i'm saying i doubt meditation is better
05:59:53 <pikhq> You've got to be pretty damned careful when discussing Buddhism, though. It makes Christianity look homogenous. :P
06:01:03 <pikhq> coppro: Whoo, weak atheism!
06:01:09 <oklopol> what's weak atheism
06:01:20 <pikhq> oklopol: The belief that there is *probably* no deity.
06:01:28 <CakeProphet> Therevada is at least the most traditional. The common subset would be parts of the Pali Canon I think.
06:01:36 <CakeProphet> the teachings therein, that is.
06:01:55 <pikhq> And that, even if there is, there is no reason to think *that* there is currently.
06:02:14 <pikhq> As opposed to strong atheism, the belief that there absolutely, positively, IS NOT a deity.
06:02:21 <oklopol> mm
06:02:36 <coppro> and has as much logical foundation as any theistic claim
06:02:49 <pikhq> Strong atheism is not a very common position.
06:02:50 <oklopol> i'm sure it does
06:03:19 <pikhq> Though it is a commonly held position of strawmen.
06:03:36 <CakeProphet> From now on, all atheists will be assigned fuzzy atheism values determining their strength of belief in a lack of a deity.
06:04:05 -!- _foocraft has quit (Ping timeout: 255 seconds).
06:04:36 -!- augur has joined.
06:04:38 <pikhq> There's also the belief that atheists... Hate $DEITY (typically YHWH).
06:04:42 <pikhq> That one confuses me greatly.
06:04:54 <CakeProphet> I can't hate something that I don't believe in.
06:05:01 <coppro> pikhq: that one's not special to atheists
06:05:02 <pikhq> Yeah, precisely.
06:05:12 <pikhq> coppro: Oh?
06:05:14 <pikhq> coppro: Oh dear.
06:05:32 <CakeProphet> pikhq: though it's possible to hate that other people believe such a thing. Or to hate the concept itself. So that's not out of the question, and would be very similar to hating the deity itself for someone who believes these things.
06:05:36 <coppro> Any person not of $RELIGION hates $DEITIES[$RELIGION]
06:05:37 <coppro> duh
06:06:08 <pikhq> CakeProphet: Distinct from hating the deity personally, though.
06:06:26 <coppro> I CLEARLY DESPISe EVERY DEITY EVER
06:06:26 <CakeProphet> * @{$DEITIES{$RELIGION}} if this is Perl.. of course. :D
06:06:32 <CakeProphet> pikhq: right.
06:06:32 <coppro> BANJO CAN SUCK MY COCK
06:06:47 <oklopol> there should be a term for people who love to talk about this stuff, that's really all that matters. maybe theist should mean that.
06:07:02 <oklopol> i'd be the only atheist in town
06:07:21 <oklopol> then again i love telling people how annoying these talks are when they occur, so i guess i'm just as bad
06:07:41 <CakeProphet> I enjoy my stance of agnosticism, primarily because I don't have to explain much.
06:07:53 <pikhq> CakeProphet: Do you believe that there is a deity?
06:08:10 <CakeProphet> pikhq: I believe that I can't know the answer to that question.
06:08:22 <coppro> What's your best guess?
06:08:25 <CakeProphet> no
06:08:34 <coppro> weak atheis
06:08:39 <coppro> s/$/t/
06:08:39 <pikhq> CakeProphet: I'm not asking "Do you think there is a deity, or do you think there is not a deity?"
06:08:45 -!- oklopol has quit.
06:08:53 <pikhq> CakeProphet: I'm asking "Do you think 'There is a deity' is definitely a true statement?"
06:09:20 <CakeProphet> pikhq: I know exactly what you asked. :P There are multiple questions I can't know the answer to.
06:09:28 <Patashu> Applying aristolean binary on/off logic to deities and religion is a GREAT idea guys!!!
06:09:39 <Patashu> Let's argue about undecidable questions
06:09:48 <Patashu> eeh eeh eeh! do do do!
06:09:51 * Patashu smug
06:09:53 <pikhq> Patashu: Fuck you and your lack of reading comprehension.
06:10:22 <CakeProphet> I prefer to apply nine-valued vdhl logic to logical statements about deities.
06:10:44 <CakeProphet> I believe that the truth of "There is a deity" is U (uninitialized)
06:10:49 <Patashu> http://www.abelard.org/category/category.php
06:10:52 <Patashu> this guy will free ur mind
06:10:57 <pikhq> CakeProphet: Then you're an atheist. Congrats.
06:11:15 <pikhq> CakeProphet: BTW, 9-valued VHDL logic is definitely a good choice for this. :P
06:11:25 <CakeProphet> pikhq: well, sure. Atheism and agnosticism aren't mutually exclusive believes.
06:11:28 <Patashu> what's VHDL logic again? high, low, don't know, don't care, error...
06:11:29 <CakeProphet> *beliefs
06:11:32 <pikhq> CakeProphet: Quite true.
06:12:35 <CakeProphet> Patashu: I believe there are two for "true" and "false" with no high and low impedence quality.
06:13:00 <Patashu> so that's...six in total?
06:13:04 <Patashu> if you meant no/high/low
06:13:11 <pikhq> Patashu: I'm going to insist on a proof that this person has attended an "Intro to Logic" course.
06:13:26 <CakeProphet> or a Philosophy class would do.
06:13:32 <CakeProphet> Patashu: http://en.wikipedia.org/wiki/IEEE_1164
06:13:36 <CakeProphet> there. :D
06:14:07 <pikhq> CakeProphet: Well, yes. Any course with a satisfactory treatment of deductive logic would work, really.
06:14:29 <Patashu> ty cakeprofit
06:14:33 <Patashu> err, prophet
06:14:34 <Patashu> O:)
06:15:12 <CakeProphet> there's 6 for (weak|strong) (true|false|unknown), then high impedence, don't care, uninitialized
06:15:20 -!- Vorpal has joined.
06:15:21 <Patashu> interesting
06:15:45 <pikhq> Patashu: Also, this discussion seems to start off with wrong *premises*.
06:15:50 <CakeProphet> the true, false, unknown bit is also a ternary logic system in itself.
06:16:02 <CakeProphet> and then the strong weak stuff comes from four-valued logic used in circuits.
06:16:04 <Patashu> yeah, though not a useful one I think?
06:16:09 <Patashu> right
06:16:09 <CakeProphet> things that, I don't know anything about. (circuits, that is)
06:16:22 <CakeProphet> Patashu: ternary logic can be useful.
06:16:26 <pikhq> Patashu: Categorical logic is not commonly used these days, due to being a relatively weak system of logic.
06:16:30 <Patashu> I agree it can be useful
06:16:43 <Patashu> but if one of the values is 'unknown'...unless that's a specific value, not the value is unknown?
06:16:59 <CakeProphet> in programming languages, it's not common to have a real ternary logic system though. Most languages simply treat the undefined value as false.
06:17:09 <CakeProphet> unknown is a specific value.
06:17:17 <CakeProphet> representing the case where the truth is unknown.
06:17:28 <Patashu> mmk
06:17:39 <pikhq> It's truth-functional propositional logic that's commonly used, and the discussion you linked to doesn't even make any claims against it.
06:17:41 <CakeProphet> (true or unknown) = true; (false or unknown) = false
06:17:50 <pikhq> (though, the claims it *does* make are non-sense)
06:17:57 <pikhq> s/non-sense/nonsense/
06:18:02 <CakeProphet> (true|false) and unknown = unknown
06:18:10 <CakeProphet> it all makes intuitive sense.
06:20:22 <CakeProphet> not unknown = unknown
06:21:11 <Patashu> what about fuzzy logic?
06:21:12 <CakeProphet> I'm not sure how conditional statements work, or anything like that. I assume you just construct everything with (and|or) and not
06:21:15 <Patashu> true and 0.6*true = 0.6*true
06:21:16 <CakeProphet> Patashu: what about it?
06:21:30 <CakeProphet> fuzzy logic doesn't really work that way, I think.
06:21:55 <Patashu> well, if it has a 60% chance of being true and a thing that is always true, the and is 60% too
06:22:03 <CakeProphet> that's not the same as fuzzy logic
06:22:19 <CakeProphet> that's probability logic.
06:22:30 <CakeProphet> fuzzy logic is a "degree" of truth.
06:22:57 <Patashu> x AND y = minimum(truth(x), truth(y))
06:23:03 <Patashu> according to wikipedia
06:23:17 <Patashu> although that's just one way of defining it
06:23:35 <CakeProphet> okay that makes sense.
06:23:45 <CakeProphet> or is max I'd imagine.
06:23:59 <CakeProphet> and not is 1-p
06:25:01 <CakeProphet> you could also define it as with probability. With and as multiplication, and or as addition with a maximum value of 1.
06:25:36 <CakeProphet> depends on the application.
06:25:39 -!- jcp has quit (Ping timeout: 244 seconds).
06:26:41 <CakeProphet> :t (||)
06:26:42 <lambdabot> Bool -> Bool -> Bool
06:26:52 <CakeProphet> honestly the boolean operators should be typeclass methods.
06:27:55 <Patashu> http://www.captchart.com/post/2546187692/corgling-good-submitted-by-stammsternenstaub I want one
06:28:02 <CakeProphet> :t min
06:28:03 <lambdabot> forall a. (Ord a) => a -> a -> a
06:28:19 <Patashu> > min True False
06:28:20 <lambdabot> False
06:28:22 <Patashu> thought so
06:28:26 <Patashu> is there an Unknown in haskell?
06:28:32 <CakeProphet> not in Bool no
06:28:40 <CakeProphet> there's Nothing, which is of type Maybe t
06:28:46 <CakeProphet> which can act as an unknown value.
06:28:52 <monqy> there's undefined
06:28:55 <CakeProphet> or a number of things. But it doesn't fit into the ternary logic model.
06:28:55 <pikhq> One could define a Trivalue type just fine.
06:29:27 <CakeProphet> though you'd have to give true and false a different name
06:29:33 <pikhq> data Trivalue = Unknown | True | False -- Note: will need a qualified import
06:29:43 <pikhq> CakeProphet: Or do a qualified import of Prelude.
06:29:44 <CakeProphet> ah, or do that.
06:30:16 <CakeProphet> undefined is something quite different from unknown in this sense.
06:30:28 <pikhq> Yeah, bottom is very different.
06:30:45 <monqy> I wasn't paying attention so I didn't know what you were talking about
06:30:52 <pikhq> monqy: Trivalue logic.
06:31:02 <monqy> mm
06:31:08 <CakeProphet> Perl employs a kind of three-valued logic between true, false, and undefined
06:31:18 <monqy> how does it work there
06:31:19 <Patashu> damnit I have all these tabs open but everyone is talking about things on IRC and they are interesting
06:31:20 -!- jcp has joined.
06:31:58 <CakeProphet> undef is considered false in a boolean context, but many functions will return undef to signify something different than true and false.
06:32:05 <CakeProphet> usually "another kind" of false.
06:32:27 <CakeProphet> and then there's defined(x), which returns true for both true and false values, but false for undef.
06:32:39 <Patashu> I think SQL does ternary logic
06:32:44 <Patashu> with true/false/null
06:33:26 <CakeProphet> is true or null = true?
06:33:47 <Patashu> think so...let me try and find out
06:33:48 <CakeProphet> or is it like most languages where null/nil/undef is a special kind of false value.
06:34:03 <CakeProphet> None in the case of Python.
06:34:05 <Patashu> according to ye wikipedia: http://en.wikipedia.org/wiki/Three-valued_logic#Applications
06:34:13 <pikhq> You could rather easily do trivalue logic in Java.
06:34:41 <monqy> Note that a missing value is not the same as either a numeric value of zero, or a string value of zero length.
06:34:45 <pikhq> Though you'd have to do the operators manually. I'm at least pretty sure that trying to do an operator on a Null will get you an exception.
06:35:00 <Patashu> huh, operator on a null/
06:35:04 <Patashu> in java only objects can be null
06:35:07 <Patashu> and primitives won't work on objects iirc
06:35:14 <pikhq> Oh? Fuck Java even more.
06:35:15 <Patashu> because you can't define operators for things
06:35:30 <Patashu> well except for the capital letter object versions of primitives and strings, of course
06:35:31 <Patashu> which are Special
06:35:39 <CakeProphet> one of my favorite things about Perl logic is that the boolean operators also serve as control flow statements. and/or return the last parameter evaluated.
06:35:47 <Patashu> iirc the biginteger class has a big ass list of add(biginteger a, big integer b) type methods
06:35:55 <pikhq> I was, of course, referring to the objected version of Bool...
06:36:01 <Patashu> hmmmm
06:36:02 <Patashu> one second
06:36:10 <CakeProphet> yes a boxed Bool can be set to null.
06:36:10 <monqy> I hate it when people use boolean operators as control flow
06:36:18 <pikhq> CakeProphet: That's actually fairly common in imperative languages...
06:36:19 <monqy> bugs me so much
06:36:27 <pikhq> CakeProphet: As typically, the boolean operators short-circuit.
06:36:39 <CakeProphet> monqy: why? it's not very difficult to follow and makes things very convenient.
06:36:41 <Patashu> Boolean has compareTo, equals, booleanValue
06:37:00 <pikhq> CakeProphet: You can, in fact, do it in C, though not as usefully without GNU expression statements.
06:37:03 <Patashu> compareTo throws nullpointerexception
06:37:03 <monqy> CakeProphet: it's not very difficult to follow until it gets difficult to follow
06:37:04 <Patashu> oh lord
06:37:12 <Patashu> equals does not thank god
06:37:13 <CakeProphet> pikhq: but in C for example they return bool. Perl literally returns whatever the parameter was. Perl doesn't actually have boolean data types.
06:37:42 <pikhq> CakeProphet: No they don't.
06:37:44 <monqy> lots of languages are like that aren't they
06:37:47 <pikhq> CakeProphet: They return int.
06:38:01 <CakeProphet> pikhq: er, right.
06:38:02 <pikhq> CakeProphet: C doesn't actually have boolean data types.
06:38:11 <monqy> scheme and lua, for two
06:38:16 <pikhq> (well, there's _Bool, but that's just an integer type)
06:38:18 <CakeProphet> pikhq: bool is a kind of synonym for int, yes.
06:38:44 <monqy> haskell is lazily evaluated so you never need that nonsense
06:38:55 <CakeProphet> ...I'm not talking about short-circuiting.
06:39:12 <monqy> well then
06:39:18 <monqy> haskell is functional so you never need that nonsense
06:39:41 <CakeProphet> I'm saying. you can do things like: function($x || 4) and it will return 4 if $x is false.
06:40:28 <CakeProphet> monqy: that was more directed to above statements that I didn't have time to respond to.
06:40:52 <pikhq> Aaaah, bad type systems.
06:40:56 <monqy> heheheh
06:41:04 <CakeProphet> more like "almost no type system"
06:41:11 <monqy> I must say I do like a good type system
06:41:14 <Vorpal> CakeProphet, that example sounds perlish
06:41:25 <CakeProphet> it is very perlish.
06:41:44 <pikhq> CakeProphet: You see, bad!
06:41:50 <CakeProphet> $x //= 3 will give $x a value of 3 if it's currently holding undef (which it does by default)
06:41:56 <Vorpal> CakeProphet, what does it do in perl?
06:42:03 <pikhq> And it definitely has an extensive type system. Those damned sigels would have no meaning otherwise.
06:42:11 <Vorpal> the $x || 4 one I mean
06:42:35 <Vorpal> same sort of thing as || does in shell?
06:42:44 <monqy> anyway in haskell you'd probably use the maybe monad for that sort of thing
06:42:46 <CakeProphet> Vorpal: function is just a dummy name. || returns the last value evaluated by short-circuiting or.
06:42:50 <CakeProphet> Vorpal: I think so.
06:42:54 <Vorpal> ah
06:42:57 <Vorpal> yes sounds like it
06:43:11 <monqy> and <|>
06:43:19 <Vorpal> CakeProphet, it would just equal 1 in C. I have to say that is somewhat saner
06:43:27 <monqy> at least I think you'd use <|> and Maybe
06:43:28 <Vorpal> well, 1 or 0
06:43:35 <Vorpal> that sort of construct that is
06:44:01 <Patashu> which language has more operators. haskell or perl?
06:44:04 <CakeProphet> Vorpal: it's the exact same effect, except you can now pass the original value to outer expressions.
06:44:22 <monqy> haskell operators are just functions
06:44:25 <Vorpal> Patashu, I would assume haskell, though maybe not if you limit yourself to prelude
06:44:28 <monqy> dunno about perl
06:44:33 <CakeProphet> Vorpal: because if $x || 0 returns 0, that is false in boolean context. $x || 4 would return 4, which is true.
06:44:45 <Vorpal> Patashu, and only count those that you don't need ` for
06:45:00 <Vorpal> CakeProphet, hm
06:45:03 <Patashu> yeah when I say operator I mean 'funny symbol string'
06:45:09 <Patashu> :D
06:45:26 <pikhq> Patashu: Then Haskell.
06:45:28 <CakeProphet> Haskell has more operators for sure.
06:45:35 <monqy> > let (~~!~~) = (++) in "look " ~~!~~ "operator"
06:45:37 <pikhq> Patashu: Because there are infinitely many possible such things.
06:45:39 <lambdabot> mueval-core: Time limit exceeded
06:45:42 <monqy> oops
06:45:44 <Patashu> lol
06:45:45 <Patashu> nice
06:45:45 <monqy> oh
06:45:48 <Vorpal> does perl let you define your own operators?
06:45:49 <monqy> I used a bad thing
06:45:53 <pikhq> Vorpal: No.
06:46:02 <Vorpal> ah, definitely haskell then
06:46:04 <monqy> > let (.+.) = (++) in "look " .+. "operator"
06:46:04 <CakeProphet> you can however overload existing operators OO-style.
06:46:06 <lambdabot> "look operator"
06:46:09 <monqy> :)
06:46:10 <Patashu> there's a library for perl that lets you define new operators
06:46:13 <Patashu> by chaining unambiguous ones together
06:46:24 <Vorpal> eww
06:46:29 <Vorpal> so... perlish!
06:46:34 <monqy> haha perl
06:46:35 <Patashu> yep!
06:46:48 <Patashu> and there's a template system for C++ that lets you define constants by drawing cubes
06:46:58 <Vorpal> Patashu, *blink*
06:46:58 <Patashu> because it's an unambigous series of operators once all the whitespace is removed
06:47:03 <Patashu> let's see if I can find it again
06:47:03 <Vorpal> Patashu, care to link me?
06:47:19 <monqy> wow what
06:47:19 <CakeProphet> but anyways, Perl's boolean operators are awesome because I don't have to pull out if statements to do something very very simple, like return a default value in the case that something is false/undefined.
06:47:23 <Patashu> http://weegen.home.xs4all.nl/eelis/analogliterals.xhtml ah ha!
06:47:40 <pikhq> Vorpal: It used a similar trick to that IOCCC entry that computed pi by examining its own area.
06:48:05 <Vorpal> pikhq, that one depended on K&R CPP iirc?
06:48:20 <pikhq> Vorpal: I don't think it was anything inherent.
06:48:30 <pikhq> CakeProphet: Perhaps you should use a better language.
06:48:38 <Vorpal> pikhq, hm.
06:49:30 <monqy> CakeProphet: what languages do you know, anyway
06:50:51 <Vorpal> <Patashu> http://weegen.home.xs4all.nl/eelis/analogliterals.xhtml ah ha! <-- ew
06:50:53 <CakeProphet> Perl, Python, C, Java, C#, Haskell (though it escapes me very quickly), sh. Those are the ones I'm pretty comfortable with.
06:51:13 <monqy> so you're comfortable with haskell but it escapes you?
06:51:19 <CakeProphet> yep.
06:51:24 <Vorpal> haskell is definitely complex to learn. I know some of it. But there is so much of it.
06:52:07 <CakeProphet> I now Haskell. Syntax and semantics. All of the abstract modules that most Haskell programs rely on? No.
06:52:14 <CakeProphet> *know (I also know English)
06:52:31 <pikhq> CakeProphet: I find the abstractions to be utterly simple, personally.
06:52:50 <pikhq> Of course, I'm a freak who picked up Haskell in a week.
06:52:51 <pikhq> :P
06:53:28 <Vorpal> pikhq, haskell has a vast standard library. I only know a fraction of it yet.
06:53:41 <pikhq> Vorpal: Prelude really isn't that large.
06:53:52 <pikhq> Some of the other stuff that comes in GHC is, though.
06:54:13 <Vorpal> pikhq, I meant stuff like Control.Whatever and so on
06:54:29 <coppro> Control.CategoryTheoreticalAbstractionNumberFourteen
06:54:35 <pikhq> Yeaaah, that's not standard stuff.
06:54:36 <Vorpal> coppro, :D
06:54:43 <Vorpal> pikhq, well, it is used quite a bit
06:54:44 <pikhq> Some of it ships in the Platform, though.
06:54:51 <Vorpal> pikhq, if we keep to prelude I'm quite okay
06:54:54 <CakeProphet> Languages I don't know as well (I'll be constantly referring to reference material, but I know the language itself): C++, PHP, Javascript, Scheme
06:54:56 <pikhq> That "some" is relatively easy, though.
06:54:56 <Patashu> I know C++ and java and I can pretend to know haskell, bash and python
06:54:57 <Patashu> aw yeah!!!
06:55:00 <Patashu> I need to learn more languages
06:55:17 <monqy> I try not to know php
06:55:17 <CakeProphet> Patashu: I can pretend to know Ruby. :)
06:55:19 <coppro> (The misuse of Theoretical instead of Theoretic was a design mistake that was standardized early and no one has since bothered attempting to correct in order to maintain backwards compatibility)
06:55:22 <pikhq> CakeProphet: Pretty much all C++ programmers will need to keep a reference manual handy.
06:55:23 <Patashu> hehe
06:55:24 <CakeProphet> monqy: me too.
06:55:29 <pikhq> CakeProphet: C++ is just too big to keep in your head.
06:55:42 <Patashu> couldn't you do some kind of aliasing thing to let you use either?
06:56:01 <CakeProphet> either of?
06:56:10 <Patashu> theoretic or theoretical
06:56:43 <coppro> Patashu: it's a highly contentious issue
06:56:49 <Patashu> haha
06:56:50 <Vorpal> I know C very well. Bash I know intimately. Haskell I know some of. And then there is a crapload of other languages which I knew but haven't used much or know some of and so on, including everything from pascal and vhdl to python and scheme.
06:57:49 <CakeProphet> monqy: the main trying to not know PHP is a good idea is because it's a very poorly designed subset of Perl with a standard library that makes absolutely no sense.
06:57:53 <CakeProphet> *main reason
06:57:56 <monqy> python is easy to pretend to know
06:58:19 <CakeProphet> Python was the first language I completely mastered.
06:58:30 <CakeProphet> wasn't difficult.
06:58:31 <pikhq> There's a lot of languages where you can hum a bar and I can fake it.
06:58:35 <monqy> CakeProphet: I am the sort of awful person who dislikes it when people like php
06:58:42 <Vorpal> monqy, I actually coded in it though (python that is)
06:58:50 <Vorpal> mostly university stuff
06:58:54 <monqy> python is easy to code in
06:58:58 <Vorpal> yes
06:59:11 <Vorpal> oh erlang, I know that fairly well. Better than haskell definitely.
06:59:14 <CakeProphet> I used to think Python was a good language. I have since learned better.
06:59:33 <monqy> I can pretend to know erlang but I don't know any of the standart guard/function/whatever names
06:59:35 <Vorpal> CakeProphet, I'm mostly annoyed at python's abysmal speed.
06:59:41 <Vorpal> even pypy is utterly slow
06:59:57 <monqy> I don't judge languages based on implementation speed
07:00:06 <monqy> I don't see what's so special about python though
07:00:07 <Patashu> what kind of person thinks -python- is a bad language
07:00:10 <Patashu> ?_?
07:00:11 <Vorpal> monqy, true, but I have yet to see a fast python implementation
07:00:38 <CakeProphet> monqy: someone who exects more and doesn't enjoy being treated like a child from the perspective of the language designer.
07:00:41 <CakeProphet> er
07:00:44 <CakeProphet> ^ Patashu
07:00:49 <monqy> heheheheh
07:00:54 <pikhq> Patashu: If nothing else, there's the bit about van Rossum being convinced that TCO is a misfeature.
07:00:55 <Vorpal> Patashu, come on, dynamically typed, and not pattern matching. At least erlang has the latter.
07:01:15 <Patashu> okay guys
07:01:16 <Patashu> this is it
07:01:19 <Patashu> what is The Best Language
07:01:24 <monqy> all languages suck
07:01:26 <Patashu> yep
07:01:30 * Patashu goes home
07:01:32 <Vorpal> Patashu, that depends on what you plan to use it for
07:01:32 <pikhq> Haskell has the lowest level of suck.
07:01:40 <CakeProphet> I have to agree with pikhq on that one.
07:01:42 <Patashu> I think I'll learn python next anyway, can't be worse than java
07:01:46 <Vorpal> pikhq, haskell would not be very good for programming FPGAs in
07:01:52 <CakeProphet> Patashu: you should learn Perl because it is the best thing ever.
07:01:56 <Patashu> I should huh
07:01:58 <pikhq> Vorpal: I was giving a statement about the general case.
07:02:00 <CakeProphet> Patashu: and Python is much better than Java.
07:02:11 <Vorpal> pikhq, I'm saying it is domain dependent which is the best language
07:02:12 <Patashu> I know python has a module for making GUIs/graphics stuff in it somewhere
07:02:14 <Patashu> does perl? haskell?
07:02:22 <pikhq> Vorpal: Most languages do.
07:02:23 <Patashu> imagining using opengl from within haskell gives me a shiver
07:02:24 <monqy> haskell is good until I get really annoyed with what it lacks and how it's a pain to metaprogram
07:02:25 <Vorpal> there are some things where sed is excellent.
07:02:25 <pikhq> Erm.
07:02:26 <pikhq> Patashu: ^
07:02:28 <CakeProphet> Patashu: uh, what?
07:02:34 <Vorpal> doesn't make sed a good language for most tasks
07:02:52 <monqy> also I have a gripe about infix operators but that is just me
07:02:59 <Vorpal> Patashu, yes, I think the existing opengl bindings for haskell are pretty much a direct mapping
07:03:00 <pikhq> Patashu: The only issue with the OpenGL binding in Haskell, for instance, is that it's all in IO, and hence not that Haskelly.
07:03:02 <Vorpal> which... sucks
07:03:08 <Patashu> yeah that's what I mean
07:03:12 <Patashu> opengl is a global variable state machine
07:03:14 <Patashu> haskell is not
07:03:19 <CakeProphet> Python is actually pretty good at metaprogramming. But, so is any decently made dynamically typed and interpreted language
07:03:50 <pikhq> The only languages that are "pretty good" at metaprogramming are Lisps.
07:03:57 <Vorpal> indeed
07:04:00 <monqy> yep
07:04:40 <CakeProphet> easy to metaprogram, yes. I was talking about pure capability.
07:04:58 <monqy> pure capability: do it by hand
07:06:53 <monqy> as I see it, at a certain point, languages are all about making things nice (in a general enough sense to encompass safety and friends)
07:07:40 <CakeProphet> Even more generally, languages are all about making things good.
07:07:54 <CakeProphet> insert definition of good.
07:08:05 <monqy> I'll equate nice and good here so we can agree
07:08:27 <CakeProphet> oh yes, we were always in agreement.
07:08:49 <Vorpal> languages are about communication, be it between humans, between a human and a compiler, between two programs or whatever.
07:09:13 <monqy> but is it nicegood communication
07:09:20 <Vorpal> monqy, possibly
07:09:29 <Vorpal> monqy, but why does English exist then? ;P
07:09:34 <monqy> :'(
07:09:46 <Vorpal> okay, French is harder to learn, definitely.
07:09:51 <monqy> is french better
07:09:56 <Vorpal> what
07:10:00 <monqy> than english
07:10:04 <Vorpal> I said harder to learn, that means worse
07:10:06 <monqy> oh
07:10:23 <monqy> I meant in terms of elegance, power, lack of ambiguity, and friends
07:10:27 <pikhq> "Harder to learn" is not an objective statement regarding languages.
07:10:31 <Vorpal> of course, all natural languages suck apart from lojban possiblyu
07:10:34 <Vorpal> possibly*
07:10:40 <pikhq> Lojban is not a natural language.
07:10:41 <monqy> lojban is very natural
07:10:42 <pikhq> It's a conlang.
07:10:48 <Vorpal> true
07:10:49 <monqy> of course I jest
07:11:23 <Vorpal> pikhq, what is a generic term for languages used to communicate between humans then?
07:11:31 <Patashu> verbal?
07:11:32 <monqy> human languages?
07:11:36 <Vorpal> hm
07:11:36 <monqy> not necessarily verbal
07:11:39 <Patashu> yeah true
07:11:57 <Patashu> do you need a more generic term?
07:12:06 <Vorpal> I guess "human languages" work
07:12:06 <Patashu> (less generic?)
07:12:23 <Vorpal> though it *does* exclude aliens.
07:12:24 <fizzie> "Natural languages" is a term but only if you exclude constructed ones.
07:12:40 <Vorpal> fizzie, constructed ones should be included. That was the point.
07:12:46 <pikhq> There's not a commonly used generic term.
07:12:48 <fizzie> Didn't bother to read backscroll, and it shows, yes.
07:13:05 <Vorpal> fizzie, speaking of which. Hi.
07:13:05 <pikhq> "Spoken language" doesn't include sign languages, "natural language" doesn't include conlangs, ...
07:13:17 <pikhq> "Human language" probably includes programming languages.
07:13:22 <Patashu> afaik language only referred to how humans communicated until programming came along
07:13:30 <monqy> I meant human languages as in meant for human communication
07:13:34 <Vorpal> hm I should learn to *speak* Lisp.
07:13:42 <monqy> programming language would be meant primarily for communication with machines
07:13:42 <Vorpal> just to fuck up the term "spoken languages"
07:13:47 <Patashu> so you'd verbalize a program that outputs the result you want to communicate?
07:13:53 <pikhq> Patashu: And then came Chomsky.
07:13:54 <Patashu> Open bracket open bracket...
07:14:02 <Vorpal> Patashu, no that is it rendered in English
07:14:15 <Patashu> Or would you come up with a syllable for each symbol
07:14:19 <Patashu> So ( would be like weoop
07:14:23 <Patashu> and ) is deeoop
07:14:30 <Vorpal> you need to speak the *actual* language. Presumably somehow speaking the AST.
07:14:37 -!- sebbu has quit (Ping timeout: 276 seconds).
07:14:43 <Vorpal> hm
07:14:51 <monqy> well then you can't use sugar can you :(
07:15:00 <Vorpal> oh good point
07:15:10 <Patashu> if you want to learn to speak a programming language, learn to speak golf script
07:15:16 <Patashu> it'll take you the least amount of time
07:15:22 <Vorpal> good point
07:15:26 <monqy> speaking perl would be pretty great
07:15:48 <Vorpal> monqy, oh god, I wonder what a typical JAPH would sound like XD
07:16:33 <monqy> how would a human interpret something like erlang
07:16:38 <coppro> http://spikedmath.com/272.html
07:16:50 <Vorpal> monqy, hm...
07:16:59 <monqy> assuming actual use of concurrency and friends
07:17:38 <monqy> generally, interpretation of any sort of complicated control/flow would be interesting
07:18:02 <pikhq> monqy: There is no requirement that concurrency be implemented by many *actual* simultaneous threads of execution.
07:18:10 <Vorpal> monqy, using Petri nets you could understand them I guess.
07:18:11 <pikhq> It's sufficient to merely keep track of multiple program counters.
07:18:16 <Vorpal> but that is not what you asked
07:18:52 <Vorpal> pikhq, and registers. erlang compiles to a register machine byte code iirc.
07:19:26 <pikhq> Ah, right, it does.
07:19:30 <monqy> pikhq: right, but for a human to keep track of it at all (in common conversation) would be nice
07:19:38 <monqy> where by nice I mean hilarious
07:20:26 <monqy> where by hilarious I mean interesting
07:21:17 <Vorpal> monqy, where by interesting you mean nice?
07:21:25 <monqy> possibly
07:23:32 <monqy> a language with really crazy flow and necessitation of a lot of memory
07:23:53 <monqy> designed to be difficult for human communication
07:24:21 <Sgeo> I need to find a way to ethically measure terminal velocity
07:24:30 <monqy> ethically?
07:25:12 <CakeProphet> you're still talking about second life right?
07:25:15 <Sgeo> Yes
07:25:16 <monqy> always
07:25:31 <CakeProphet> Can you explain second life ethics?
07:25:33 <Sgeo> I'm dropping stuff off of high heights
07:25:40 <Sgeo> I set it up so that they're "temporary"
07:25:45 <Sgeo> After some time, they die
07:25:46 <monqy> alternatively, an extremely straightforward language where nearly all remembering is done as part of learning it
07:25:48 <Sgeo> But they're dying too soon
07:25:51 <monqy> designed to be easy for humans to use
07:25:59 <Sgeo> They're dying too soon
07:26:08 <CakeProphet> Sgeo: why not make them something other than temporary?
07:26:09 <Vorpal> monqy, which language is that
07:26:11 <Sgeo> Disabling the temporary might mean accidentally leaving litter all over the place
07:26:25 <Sgeo> CakeProphet, I'll probably set them up to respond to a simwide command to die
07:26:31 <monqy> Vorpal: purely hypothetical, as far as I know :(
07:26:49 <Vorpal> monqy, ah. <monqy> a language with really crazy flow and necessitation of a lot of memory <-- that one likely does exist though
07:26:50 <CakeProphet> Sgeo: is it you that enjoys MUDs/text-based-games?
07:27:07 <Sgeo> SL isn't text-based
07:27:11 <CakeProphet> I know.
07:27:14 <monqy> sgeo is the virtual worlds guy
07:27:18 <monqy> he enjoys virtual worlds
07:27:20 <Vorpal> monqy, I would suggest something based on malbolge
07:27:28 <CakeProphet> Sgeo: do you enjoy MUDs?
07:27:39 <CakeProphet> since they are very much like virtual worlds.
07:27:39 <Sgeo> CakeProphet, MUSHes, a little
07:27:41 <Sgeo> and MOOs
07:27:47 <Vorpal> Sgeo, what about table top rpgs?
07:27:54 <CakeProphet> Sgeo: well, right, I use MUD as a general term for all of those things.
07:27:54 <Sgeo> Vorpal, I do like Paranoia
07:27:59 <Vorpal> oh my
07:28:16 <Vorpal> Sgeo, what about the classical ADnD?
07:28:21 <CakeProphet> the problem with MUSH is it has awful syntax. MOO is a little better.
07:28:44 <Vorpal> s/n/\&/
07:28:51 <monqy> does malbolge have crazy control flow
07:29:00 <Vorpal> monqy, very. Check the esolang wiki
07:29:03 <monqy> ooh
07:29:18 <Lymia> Paranioa?
07:29:19 <Sgeo> CakeProphet, I like MOO coding, at least from what I understand of it, but LambdaMOO may as well be dead, there's no one there
07:29:22 <Lymia> Paranoia*
07:29:25 <CakeProphet> Vorpal: no need to escape things in the replacement string of a substition. ;)
07:29:26 <Lymia> The RPG?
07:29:30 <Lymia> Oh, yes.
07:29:30 <Sgeo> Lymia, yes
07:29:33 <Lymia> I should host that.
07:29:34 <Lymia> :D
07:29:41 <Vorpal> CakeProphet, you fail at sed
07:29:48 <Vorpal> CakeProphet, & means "the match"
07:30:01 <Vorpal> CakeProphet, so *yes* I need to escape it
07:30:05 <CakeProphet> Vorpal: so..... s/n/n/?
07:30:17 <Vorpal> CakeProphet, that is what s/n/&/ would do yes
07:30:23 <CakeProphet> ah.
07:30:25 <Vorpal> CakeProphet, which is quite pointless
07:30:28 <CakeProphet> yes.
07:30:58 <CakeProphet> yes, I do fail at sed. Because I use Perl instead. oh ho!
07:31:12 <CakeProphet> master of rhyme.
07:31:20 <monqy> ooh "Set code pointer to the value pointed to by the current data pointer." always good
07:31:41 <Patashu> variable goto considered harmful
07:32:11 <Vorpal> monqy, malbolge still?
07:32:17 <monqy> malbolge always
07:32:35 <Vorpal> Patashu, you are talking about malbolge. I would just say "malbolge considered harmful"
07:32:51 <Patashu> is there variable goto in non-malbolge languages?
07:33:06 <olsner_> gcc c has it
07:33:20 <Vorpal> Patashu, most assemblers have it
07:33:27 <Patashu> thought so
07:33:31 <Vorpal> indirect jump or so
07:34:20 <monqy> ridiculous continuation usage such as to emulate variable goto
07:34:28 <monqy> a favorite pasttime
07:34:37 <Vorpal> ew
07:36:49 <Patashu> the fakest thing in the world is freddiew beating stacker: http://www.youtube.com/watch?v=-e_NiwPz-MQ
07:37:20 <Sgeo> My terminal velocity hypothesis is slowly being debunked
07:41:17 <Lymia> Sgeo, so Second Life does inverse square law?
07:41:41 <Sgeo> Lymia, wasn't trying to measure that
07:41:58 <Sgeo> Wasn't taking notes on exact velocities either
07:52:16 -!- zzo38 has quit (Remote host closed the connection).
08:01:42 <CakeProphet> I enjoy this IOCCC entry: http://www0.us.ioccc.org/2000/primenum.c
08:03:31 <CakeProphet> though it's not very obfuscated...
08:19:32 <Vorpal> CakeProphet, I like the one that is shaped like an aircraft
08:19:32 <CakeProphet> OR IS IT?
08:19:36 <Vorpal> forgot which year
08:19:57 <Vorpal> that is some absurd timing. Quiet for many minutes, and then we spoke within a second of each othjer
08:20:00 <Vorpal> other*
08:20:05 <CakeProphet> 1998
08:20:12 <CakeProphet> it's a flight simulator.
08:20:32 <Vorpal> CakeProphet, calling it a simulator is stretching it
08:21:00 <Vorpal> CakeProphet, I mean, it doesn't even stall. Or behave reasonably in any way
08:21:12 <CakeProphet> well... I don't actually run any of this code I just go by the description.
08:21:14 <CakeProphet> http://www0.us.ioccc.org/1994/schnitzi.c
08:21:20 <CakeProphet> this is by far my favorite one that I've seen so far.
08:22:16 <CakeProphet> it opens a file and mirrors it along a diagonal. Running it on itself produces a program that does the same thing.
08:25:59 <olsner_> wow, that's neat
08:28:24 <Patashu> my thoughts too
08:28:26 -!- Vorpal has quit (Ping timeout: 248 seconds).
08:28:53 <CakeProphet> though I don't believe running it a second time will work.
08:29:07 <CakeProphet> according to the .hint file
08:31:55 <CakeProphet> well no, that would be impossible I think. applying the program twice to itself should produce the original. I think I misread.
08:32:09 <CakeProphet> ah, it's not perfectly symmetrical.
08:33:12 -!- olsner_ has quit (Quit: Leaving).
08:49:46 <CakeProphet> Oh hey, the author of that program lives in Marietta, GA too
08:50:19 <CakeProphet> I wonder if he still does.
09:01:11 <CakeProphet> heh, there's an entry that is: #include "/dev/tty"
09:01:32 <CakeProphet> won best abuse of the rules.
09:05:39 <monqy> nice
09:16:30 -!- monqy has quit (Quit: hello).
09:16:41 -!- myndzi has quit (Ping timeout: 255 seconds).
09:22:05 -!- myndzi has joined.
09:25:10 -!- pikhq_ has joined.
09:25:13 -!- pikhq has quit (Ping timeout: 260 seconds).
09:28:18 <Lymia> CakeProphet, so...
09:28:21 <Lymia> It's a C compiler?
09:28:21 <Lymia> =p
09:31:56 <Lymia> CakeProphet, link to the /dev/tty thing?
09:31:59 <Lymia> Also, the rule added to stop it.
09:32:48 -!- GreaseMonkey has quit (Quit: The Other Game).
09:33:04 <CakeProphet> Lymia: http://www0.us.ioccc.org/1988/spinellis.hint
09:33:20 <CakeProphet> ...change .hint to .c to see the source code. But I have no idea why you would do that since I told you what it was.
09:34:13 <Patashu> wait
09:34:17 <Patashu> #include "/dev/tty"
09:34:18 <Patashu> ...
09:34:19 <Patashu> oh my god
09:34:22 <Patashu> it includes whatever you type
09:34:30 <Lymia> Yes.
09:34:33 <Patashu> O_O
09:39:29 -!- Tritonio has joined.
09:51:40 <CakeProphet> `run head -c 10 /dev/random
09:51:44 <HackEgo> No output.
09:51:52 <CakeProphet> `run ls /dev/random
09:51:54 <HackEgo> No output.
09:52:55 <CakeProphet> aw
09:54:10 -!- Vorpal has joined.
09:56:26 <lifthrasiir> CakeProphet, hm, the IOCCC is dead now however?
09:56:27 <Patashu> what other horrible things could you include
09:56:33 <Patashu> include a socket, have C code streamed from other computer?
09:56:44 <lifthrasiir> Patashu, #include "/dev/urandom"
09:56:49 <Patashu> thought of that
09:56:52 <Patashu> but it'd never generate code
09:56:54 <Patashu> or end for that matter
09:56:54 <lifthrasiir> wait, no, it cannot be used
09:56:55 <lifthrasiir> yes
09:57:26 <CakeProphet> I often sit and stare at /dev/urandom seeing if it will ever output a C program...
09:57:36 <Patashu> can you include a named pipe?
09:58:02 <cheater_> CakeProphet: but all it does is perl, right?
09:58:16 <Patashu> lol
10:02:08 <Vorpal> <Patashu> but it'd never generate code
10:02:09 <Vorpal> well
10:02:16 <Vorpal> unlikely
10:02:19 <Patashu> 'never'
10:02:20 <Vorpal> but it *could* happen
10:02:21 <Patashu> you know what I mean
10:02:36 <Vorpal> Patashu, I'm still catting it waiting to get a free copy of every book written
10:02:47 <Patashu> how would you know when you had it?
10:02:48 <CakeProphet> it would be interesting to attempt to express as a probability.
10:02:52 <CakeProphet> also, extremely complicated.
10:03:07 <Vorpal> Patashu, well, some sort of sense when interpreting it as ascii? ;P
10:03:20 <Patashu> what's the shortest possible C program?
10:03:35 <CakeProphet> with some compilers the null string is an acceptable C program.
10:03:41 <cheater_> &
10:03:43 <cheater_> er
10:03:47 <cheater_> what he said.
10:03:55 <cheater_> i was gonna do ^ :p
10:04:25 <CakeProphet> otherwise I think it would be like...
10:04:40 <CakeProphet> int main();
10:04:41 <CakeProphet> ?
10:04:44 <CakeProphet> no.
10:05:03 <Patashu> it needs to have -something-, right?
10:05:04 <CakeProphet> you'd basically just declare an empty main.
10:05:21 <Patashu> int main(){return 0;}
10:05:22 <Vorpal> CakeProphet, const char main[] = "\0"; <-- likely to segfault
10:05:23 <CakeProphet> no it can be empty I believe. Just { }
10:05:31 <Vorpal> if it even compiles
10:05:37 <Patashu> doesn't it -have- to return something? guess it depends on the standard
10:05:57 <Vorpal> Patashu, main? not in C99. Then main has an implicit return 0 at the end
10:06:02 <Vorpal> stupid change IMO
10:06:22 <CakeProphet> can't main be void as well?
10:06:43 <Vorpal> CakeProphet, not in standard C afaik
10:08:05 <Patashu> this might be of interest: http://golf.shinh.org/p.rb?Timeout
10:08:20 <Patashu> according to whatever (probably extremely lax) compiler golf.shinh.org uses, this is a valid C program
10:08:24 <Patashu> main=-277;
10:08:33 <Patashu> and so is this
10:08:33 <Patashu> main='\xfe\xeb';
10:08:42 <CakeProphet> > (1/256)**(length "int main {}")
10:08:43 <lambdabot> No instance for (GHC.Float.Floating GHC.Types.Int)
10:08:43 <lambdabot> arising from a use of...
10:08:51 <CakeProphet> bah
10:08:58 <CakeProphet> > (length "int main {}")
10:08:59 <lambdabot> 11
10:09:06 <CakeProphet> > (1/256)**11
10:09:07 <lambdabot> 3.2311742677852644e-27
10:10:19 <CakeProphet> there is your probability of randomly picking 11 bytes and getting that string.
10:11:41 <CakeProphet> however, if you combine that probability with several hundred variations of short C programs you might get some more reasonable odds.
10:12:14 <Lymia> http://moonbase.rydia.net/mental/blog/programming/zipperfs
10:12:26 <CakeProphet> but anything more than a few bytes becomes effectively indistinguishable from 0
10:12:39 <Lymia> "one can cd into a lambda-term in bash."
10:12:41 <Lymia> wtf
10:12:45 <Deewiant> > ((1/) . genericLength . group . sort $ "int main {}") ^ (length "int main {}")
10:12:47 <lambdabot> 1.1641532182693481e-10
10:13:22 <CakeProphet> Deewiant: hmmm?
10:13:48 <Lymia> Patashu, so, wait.
10:13:51 <Deewiant> CakeProphet: Filtering out bytes that don't exist in "int main {}"
10:13:57 <Lymia> You could submit a string that looks like main='[binary blob]';
10:14:18 <Lymia> And.. win.
10:14:19 <Lymia> With C.
10:14:20 <CakeProphet> Deewiant: er, why?
10:14:25 <Patashu> well, of course
10:14:26 <Patashu> good luck
10:15:21 <Deewiant> CakeProphet: Just to see how much it would increase the odds
10:15:35 <CakeProphet> ah okay.
10:16:20 <CakeProphet> > (1/256)^(length "main=-277;")
10:16:21 <lambdabot> 8.271806125530277e-25
10:17:10 <CakeProphet> so yeah, effectively not ever going to happen.
10:17:54 <Deewiant> > ((^).(1/).genericLength.nub)<*>length $ "main=-277;"
10:17:56 <lambdabot> 2.8679719907924403e-10
10:18:37 <CakeProphet> perhaps the odds of generating /any/ valid C program is significant... but still most valid C programs are going to have /tiny/ probabilities of occuring randomly, so I don't think their summation will be much better.
10:19:44 <Lymia> What about the odds of getting any valid Perl program?
10:19:48 <Lymia> </bad joke>
10:20:33 <CakeProphet> considering it's based entirely on program length there's probably a better chance because Perl has a larger number of valid, small programs.
10:20:44 <CakeProphet> still very small though.
10:20:47 <Sgeo> Did this conversation start on Reddit? I remember seeing something like this before
10:21:04 <CakeProphet> No this conversation started with weird #includes
10:22:17 <Sgeo> Weird #includes were mentioned on Reddit
10:22:20 -!- Tritonio has quit (Quit: Leaving).
10:22:23 <cheater_> how the fuck:
10:22:24 <cheater_> ubuntu@ubuntu:~$ cat /dev/urandom | strings | tr "\n" " " | while read -d -n1 s; do echo -n $s; sleep 0.1; done
10:22:24 <cheater_> ,J[g? 3 +! ?krNQAudiobooks Desktop Documents Downloads imazing Music Pictures Podcasts Public Templates Ubuntu One VideosR ML7AkM:X %X_8Pl OC@U #D|
10:22:41 <Sgeo> Moth decided to fly into my eye
10:24:51 <CakeProphet> lolwhut
10:25:05 <fizzie> if "$s" happens to be "*", echo $s will list all non-dot files in current dir.
10:25:25 <CakeProphet> ah, yes.
10:25:50 <cheater_> ahhh
10:26:07 <cheater_> how do i prevent it from happening?
10:26:21 <fizzie> echo -n "$s", perhaps.
10:26:23 <Deewiant> echo -n "$s"
10:26:44 <CakeProphet> does "$s" not fix it?
10:26:54 <CakeProphet> or is globbing still on with double quotes?
10:27:32 <cheater_> seems to have worked
10:27:44 <CakeProphet> indeed.
10:27:48 <CakeProphet> `run ls "*"
10:27:50 <HackEgo> No output.
10:28:08 <CakeProphet> `run ls "*" 2>&1
10:28:10 <HackEgo> ​/bin/ls: cannot access *: No such file or directory
10:32:31 <Vorpal> btw /dev/urandom is quite good at generating befunge programs
10:32:46 <Vorpal> :P
10:33:34 <cheater_> `run echo *
10:33:35 <HackEgo> ​1 babies bin bluhbluh env foo paste ps quine.pl quine2.pl quine3.pl quotes quotese tekst tmpdir.11854 тэкст
10:59:06 <CakeProphet> `run cat quine3.pl
10:59:07 <HackEgo> ​syntax error at quine3.pl line 2, at EOF. \ Execution of quine3.pl aborted due to compilation errors..
10:59:13 <CakeProphet> `run cat quine2.pl
10:59:15 <HackEgo> ​#!/bin/perl \ open 0; print while <0>
10:59:18 <CakeProphet> `run cat quine1.pl
10:59:20 <HackEgo> No output.
10:59:25 <CakeProphet> `run cat quine.pl
10:59:27 <HackEgo> ​open 0; print <0>
11:02:08 <Patashu> what happens if a control character is in a befunge program?
11:02:13 <Patashu> compile fail? interpreter fail? ignored?
11:02:21 <Patashu> no compiler rather
11:02:29 <Patashu> well, maybe 'when loaded into memory' fail
11:02:36 <Vorpal> Patashu, it reflects off it when running
11:02:40 <Patashu> really?
11:03:15 <Vorpal> yes
11:03:24 <Patashu> how come though? I guess it's a good behaviour for \0
11:03:35 <Deewiant> Invalid commands do that
11:03:39 <Vorpal> yeah
11:03:59 <Vorpal> I'm not sure if any interpreter does UTF-8, if so I guess you could get invalid code points
11:04:02 <Vorpal> other than that however
11:06:12 <Vorpal> Patashu, I used somewhat filtered output from /dev/urandom for fuzz testing. Filtered to reduce reflecting since I wanted to test the behaviour of actual commands. Found a few crash bugs that way (division by zero in a fingerprint, and a few other things)
11:06:22 <Patashu> does befunge expect windows or unix style line breaks?
11:06:29 <Patashu> vorpal: yeah that's a good use of it
11:06:34 <Vorpal> Patashu, both!
11:06:38 <Vorpal> Patashu, mac style too
11:06:46 <Patashu> does it look at the first one it finds and use that?
11:07:02 <Deewiant> Mixed should work
11:07:06 <Vorpal> mixed works
11:07:09 <Vorpal> yeah
11:07:18 <Patashu> ah ok
11:08:08 <Vorpal> Patashu, for cfunge at least the only way you can get a loading error would be a system call for reading failing. Since it uses mmap it couldn't use /dev/urandom directly (you can't mmap character devices)
11:08:21 <Vorpal> oh and out of memory I guess for too large program
11:09:20 <Vorpal> also mmap is nice. That way you don't have to deal with newlines split across fgets() chunks and so on
11:09:26 <Vorpal> (for the \r\n case)
11:09:53 <Patashu> it's amazing how something as simple as how to break up lines is done differently on every OS
11:10:20 <Vorpal> well the mac case doesn't apply on OS X iirc
11:10:25 <Vorpal> only on older mac os
11:12:51 <Vorpal> Deewiant, does ccbi handle unicode for the source?
11:13:05 <Deewiant> Old versions did, not currently
11:13:11 <Vorpal> Deewiant, how comes?
11:13:41 <Deewiant> Because I read the spec as disallowing unicode
11:13:48 <Deewiant> (past tense)
11:14:13 <Vorpal> ah
11:14:21 <Vorpal> Deewiant, you used to argue otherwise
11:14:54 <Deewiant> Like I just said, I used to think Unicode isn't allowed and now I think it is :-P
11:15:32 <Vorpal> Deewiant, hm, but isn't there a limit to the largest character constant allowed in source
11:15:46 <Vorpal> some very large value
11:16:00 <Deewiant> 2^31-1 yes
11:16:18 <Vorpal> Deewiant, ah yes that doesn't completely cover unicode does it?
11:16:42 <Deewiant> 0x10ffff covers practically all unicode you'll run into
11:16:51 <Vorpal> Deewiant, but not the complete unicode
11:18:04 <Deewiant> I forget how exactly 0x110000 and upwards works
11:18:24 <Deewiant> Is it closer to user-defined or undefined by Unicode
11:18:28 <Vorpal> isn't the private use area up there somehow
11:18:31 <Vorpal> somewhere*
11:19:00 <Deewiant> 0x100000 - 0x10fffd is private use
11:19:51 <Deewiant> I'm pretty sure that 110000 and upwards is not part of unicode
11:20:08 <Deewiant> Of course you can encode it with UTF-any and use it internally but you can't call it unicode anymore
11:20:12 <Deewiant> Not completely sure though
11:20:19 <Vorpal> hm
11:20:43 <Deewiant> But in any case, you can always map anything up to 0xffffffff to the corresponding 32-bit signed integer and thus never break the rule of "no larger than 2^31-1" ;-)
11:21:15 <Vorpal> true
11:21:17 <Patashu> which will we run out of first, unicode addresses or ipv6 addresses?
11:21:50 <Vorpal> the "burn rates" are very different.
11:21:52 <Vorpal> hard to tell
11:22:09 <Patashu> although I suspect unicode will be replaced before ipv6 is replaced
11:30:57 -!- clog has quit (Ping timeout: 240 seconds).
11:31:03 -!- clog has joined.
11:36:05 -!- azaq23 has joined.
11:39:21 -!- ais523 has joined.
11:53:15 -!- ralc has joined.
12:05:19 -!- ralc has quit (Quit: Leaving).
12:19:39 -!- ais523 has quit (Read error: Connection reset by peer).
12:20:17 <Sgeo> Huh. That's strange.
12:20:50 <Sgeo> As I approach the point where gravity starts working again, when I give the object weight..... gravity starts to affect it, just a little, then stops
12:21:58 <Patashu> SL edge case testing?
12:24:40 -!- ais523 has joined.
12:29:43 <Sgeo> Not helping is the fact that I'm not 100% sure if the function I'm using to scale down gravity actually scales down gravity
12:40:20 <Sgeo> My previous points about gravity, that it does take longer to take effect at higher altitudes
12:40:31 <Sgeo> Well, this new experiment seems to be in conflict with that
12:48:03 <Sgeo> Time to start doing an automated binary search for the minimum gravity that stays active
12:50:36 -!- Kustas has joined.
12:51:07 -!- Kustas has quit (Client Quit).
12:52:28 <Lymia> http://esolangs.org/wiki/Andrei_Machine_9000
12:53:08 <Lymia> Help me figure this out.
12:53:09 <Lymia> D:
13:02:39 -!- Kustas has joined.
13:03:06 -!- Kustas has quit (Client Quit).
13:03:59 <ais523> Lymia: it's like a massively more complex version of Eodermdrome
13:05:08 <ais523> also, that syntax is insane
13:05:19 <ais523> I notice the example only uses the wimpmode syntax, which isn't fully general
13:05:21 <Lymia> Show suitable is it for making a golfing contest around?
13:05:31 <Patashu> if you want to go mad I guess
13:05:35 <Lymia> So*
13:05:45 <Lymia> So is it suitable for making a golfing contest around*
13:06:11 * Lymia needs sleep...
13:06:15 <Vorpal> Lymia, that was some weird typos yeah
13:06:52 <Lymia> I'm not sure what I was thinking....
13:07:10 <Lymia> ais523, how hard is it to implement?
13:07:10 <Vorpal> ais523, wimpmode? I don't see any mention of that in the article
13:07:24 <ais523> Lymia: really nasty
13:07:29 <ais523> pattern-matching on graphs always is
13:07:33 <Lymia> Golfing contest nasty?
13:07:42 <ais523> Vorpal: the alternative syntax for graphs
13:07:42 <Patashu> you'd have to be mad to codegolf that
13:07:45 <ais523> Lymia: no, worse
13:07:53 <ais523> the sort of thing where getting a working program at all would take hours or days
13:08:11 <ais523> oklopol could probably do it in a few hours, but lesser mortals like me would take ages
13:08:14 <Lymia> ais523, that is. a contest to make an implementation of it.
13:08:21 <Patashu> oh, an implementation of it
13:08:27 <Vorpal> hm
13:08:30 <ais523> Lymia: writing in it looks like it would be easier than implementing it
13:09:33 <Lymia> ais523, so if I asked you to golf it...
13:09:39 <Vorpal> Lymia, would you make a contest to make a befunge-98 interpreter with all the fingerprints ccbi implements, including TRDS?
13:09:50 <Vorpal> well okay, that would be even harder.
13:10:10 <ais523> Vorpal: I'd say implementing TRDS would be easier than AM9K, but take longer
13:10:16 <ais523> as in, it's more obvious how to go about it and what to do
13:10:16 <Vorpal> ais523, heh
13:10:20 <Vorpal> true
13:10:23 <ais523> but there's more work involved
13:10:38 <Vorpal> ais523, aren't there any good algorithms for pattern matching on graphs?
13:10:44 <Vorpal> that you could simply make use of
13:10:51 <Sgeo> Hah! Minimum absolute gravity IS altitude dependent!
13:10:52 <ais523> I don't know
13:11:14 <ais523> but the particular sort of pattern matching involved there could match several independent parts of the graph
13:11:20 <ais523> I wouldn't be surprised if it was NP-complete or worse
13:11:26 <Vorpal> ah
13:11:47 <ais523> and a programming language where every independent step of execution is NP-complete is going to be a pain to implement, and very slow even if you manage it
13:11:54 <Vorpal> huh. Why did the lamp and the external monitor suddenly flicker.
13:12:20 <Vorpal> no change to the laptop's internal monitor.
13:12:29 <Vorpal> thunderstorm maybe. hrrm.
13:13:02 <Lymia> ais523, I need a reference implementation. Keep it secret.
13:13:05 <Vorpal> ais523, why is it that thunderstorms can cause electric devices to flicker?
13:13:13 <Vorpal> Lymia, make it yourself?
13:13:16 <ais523> Vorpal: because they disrupt the power supply
13:13:16 <Lymia> k
13:13:30 <Vorpal> ais523, hm, how? induction?
13:13:36 <ais523> no, lightning hitting power cables
13:13:43 <ais523> or outdoor transformers
13:13:49 <ais523> that has a noticeable effect on things like the voltage
13:13:54 <Vorpal> must be quite some way from here though. No thunder sound
13:14:08 <ais523> sometimes during a thunderstorm the power companies have to switch between main and backup circuits a lot
13:14:14 <Vorpal> ah
13:14:15 <ais523> and they often have slightly different voltages
13:14:47 <Vorpal> ais523, is that done automatically? The switching I mean.
13:15:06 <ais523> Vorpal: I thin kso
13:15:07 <ais523> *think so
13:15:59 <Vorpal> ais523, how damaging is it to electronics?
13:16:06 <Lymia> http://esolangs.org/wiki/Network_Headache < zzo, you...
13:16:18 <ais523> it varies on what those electronics are
13:16:36 <ais523> things that are sensitive often have extra circuitry to filter out unexpected voltage changes
13:16:37 <Vorpal> ais523, computers, TFT-monitors, that sort of stuff
13:17:03 <ais523> and you can get "surge protectors" that do the filtering themselves (they tend to filter out not just surges but spikes and similar issues)
13:17:22 <Vorpal> hm
13:18:22 <Vorpal> Lymia, fun that it is implemented!
13:18:52 <Vorpal> ais523, should probably get a surge protector at some point. Cheaper than an UPS surely?
13:19:01 <ais523> yep, pretty cheap
13:19:10 <ais523> you can get them crossed with multi-way power strips
13:19:54 <Vorpal> I looked at UPSes but most of the capacity that would be useful to me seems to have internal fans or suchlike.
13:20:04 <Vorpal> and I aim for a quiet environment
13:23:47 <Lymia> http://esolangs.org/wiki/MONOD < Let's start a golf contest for this.
13:24:16 <Patashu> I remember that one
13:24:17 <Patashu> It's great
13:44:32 -!- oerjan has joined.
13:50:40 -!- nooga has joined.
13:50:46 <nooga> aaaaaaaaaaargh
13:51:02 <Sgeo> How do I binary search on a value that, each comparision, comes out differently?
13:51:07 <Sgeo> This is nuts
13:51:14 <Sgeo> Of course, I'd have to find a range or something
13:51:28 <oerjan> Sgeo: that's nuts :D
13:51:37 <oerjan> although i have still pondered the problem
13:52:20 <oerjan> (basically, my idea was never to do a comparison that could contradict a previous one)
13:53:02 <nooga> I NEED TO CODE SOMETHING INNOVATIVE OR ELSE I WILL DIE
13:53:19 <oerjan> which i think binary search usually does. actually i think i pondered the more tricky problem of doing that while _sorting_
13:53:52 <oerjan> (still possible, i believe)
13:55:02 <Sgeo> oerjan, by comparision, I mean determining whether the value is higher or lower than my current estimate. I can't know what the value is, and the value keeps changing.
13:55:13 <nooga> maybe umm... regex jit compiler (optimizing)
13:55:46 <oerjan> in fact you might think one criterion of an efficient sorting algorithm would be that it does just that... never gives the comparisons a chance to contradict themselves, because that means you knew what the answer should be and not every comparison can then give information
13:55:54 <oerjan> *that would mean
13:56:02 <Vorpal> nooga, why would you die
13:56:03 <ais523> nooga: program a shell optimizer
13:56:17 <ais523> that sees things like sort | head, and uses a different version of sort that goes O(n) rather than O(n log n) in that case
13:56:19 <oerjan> Sgeo: well are you trying to constantly change your estimate, and it changes only slightly each time?
13:56:33 <oerjan> *the actual value only
13:56:45 <Patashu> so it's a what, a fuzzy binary sort?
13:56:47 <Sgeo> I don't know how much the actual value changes
13:56:48 <nooga> Vorpal: my tasks are so mind numbing that i can feel a constant loss of grey matter
13:56:55 <Patashu> could you take the average of N samples?
13:57:04 <oerjan> Patashu: search, but yeah that sounds like it
13:57:05 <Vorpal> nooga, do what ais523 said
13:57:11 <Patashu> yeah search I mean
13:57:19 <Sgeo> With the naive binary search I've been doing, I got 0.003125 and 0.006250
13:57:28 <Vorpal> thunderstorm near
13:57:29 <Vorpal> cya
13:57:30 <Sgeo> Wildly different answers as far as I'm concerned
13:58:00 <Sgeo> I don't know if just continuing to do this, and averaging, will.. do anything useful
13:58:15 <Patashu> Well you have a rough estimate
13:58:18 <oerjan> <ais523> that sees things like sort | head, and uses a different version [...] <-- i thought it was possible to make a sort which did that automatically if cut off, see ghc's sort
13:58:21 <Patashu> Why not take samples around that range
13:58:23 <nooga> ais523: a bit crazy ;]
13:58:23 <Patashu> graph it and look at the graph
13:58:41 <ais523> oerjan: it may be, but I think that relies on the way Haskell does laziness
13:58:49 <ais523> and the way UNIX pipes do laziness isn't good enough
13:59:11 <Patashu> does ghc's lazy sort work in every single way? could I ask for element number 8 and it would optimize around that?
13:59:16 <Patashu> or the last element
13:59:31 <Sgeo> And quite frankly, all I want to know is if two of these values, one at one altitude and one at the other, are equal or not
13:59:40 <Sgeo> Ooh, statistics time blargh
13:59:51 <oerjan> Sgeo: hm i guess this is a distribution finding problem restricted by your only being able to get one bit of information on each sample
14:00:10 <Sgeo> Minimum Absolute Gravity was so much easier. At a lower altitude I got 0 always, higher altitude non-0
14:00:12 <oerjan> i cannot say i recall seeing that :P
14:00:13 <Sgeo> oerjan, yes
14:00:22 <ais523> finding the eighth highest element is as computationally difficult as finding all the first eight, isn't it?
14:00:35 <Patashu> I -think- so
14:00:36 <ais523> unless you know in advance the length of the list and it's less than fifteen members long?
14:00:55 <oerjan> ais523: sounds reasonable, but i don't know
14:01:25 <Patashu> if you somehow proved seven numbers are higher than it and no others are without sorting those then that would do
14:01:29 <Patashu> but how would that even work, quicksort-ish?
14:01:46 -!- Vorpal has quit (Ping timeout: 248 seconds).
14:02:16 <Patashu> it seems possible to set up but too edge case-y
14:02:25 <ais523> Patashu: you mean verifying that a number is the 8th highest in a list, rather than finding the 8th highest?
14:02:34 <oerjan> Sgeo: i vaguely recall something about order statistics which are used for comparing two completely unknown (but continuous) distributions
14:02:36 <Patashu> hrm...
14:03:09 <Sgeo> Ugh, there are at least two different qays to ask "Is gravity working or not", and they give different answers. I just thought of a third.
14:03:16 <Sgeo> *ways
14:03:29 <Patashu> Why does secondlife implement gravity to such a level
14:03:37 <Patashu> Really bored techies?
14:03:41 <Sgeo> Well, not ways, so much as "what do you mean by 'working'"?
14:04:05 -!- TOGoS has joined.
14:04:05 <Sgeo> I'm almost certain that it's just edge cases not being considered
14:04:15 <Patashu> Maybe you should file a bug report
14:04:23 <Patashu> FIX THIS IMMEDIATELY I CAN'T IMPLEMENT MY SPACE STATION LIKE THIS
14:05:02 <oerjan> <Sgeo> And quite frankly, all I want to know is if two of these values, one at one altitude and one at the other, are equal or not <-- are both random and changing? if so you cannot do much more than getting a heap of comparisons between them, can you... but that could still be enough to check statistically what you want
14:05:09 <Sgeo> I just want to know why gravity sometimes starts then stops.
14:05:15 <Sgeo> If it's low enough
14:05:22 <ais523> floating point rounding errors?
14:05:29 <Sgeo> ais523, probably
14:05:35 <Sgeo> But I want to know the exact nature of these
14:06:36 <Sgeo> And by probably, I mean yes, I'm almost certain that's what's going on, and that's what I want to understand better.
14:07:26 <oerjan> perhaps they're actually using a random algorithm for small values >:)
14:07:31 <Patashu> lol
14:07:50 <Patashu> it might be some kind of multithreading race condition that makes it essentially random
14:08:41 <oerjan> like if gravity is 0.5 of what is needed to go one minimal step each time unit, then it does so randomly half the time
14:08:42 <Sgeo> I think it's more likely that the physical framerate keeps changing
14:09:12 <Sgeo> The unit of time is dependent on how laggy the server is.
14:09:58 <oerjan> ouch
14:16:07 <Sgeo> Maybe Havok documentation has all the answers or something, and I should just go read it
14:18:07 <Sgeo> Havok documentation is behind a paywall
14:18:09 * Sgeo sads
14:21:18 <Sgeo> Maybe if I try the experiment in a less laggy place, I'll get similar results more consistently?
14:22:13 <Patashu> presumably
14:44:00 -!- Patashu has quit (Ping timeout: 240 seconds).
14:46:27 -!- MigoMipo has joined.
14:49:02 -!- oerjan has quit (Quit: leaving).
14:56:52 -!- FireFly has joined.
15:00:03 -!- Sgeo has quit (Ping timeout: 255 seconds).
15:04:21 -!- Sgeo has joined.
15:05:16 <Sgeo> Is there a name for a function similar to call/cc except it never returns?
15:25:56 -!- sebbu has joined.
15:25:56 -!- sebbu has quit (Changing host).
15:25:56 -!- sebbu has joined.
15:27:49 -!- sebbu2 has joined.
15:27:49 -!- sebbu2 has quit (Changing host).
15:27:49 -!- sebbu2 has joined.
15:30:59 -!- sebbu has quit (Ping timeout: 260 seconds).
15:39:11 -!- oklopol has joined.
15:49:28 -!- zzo38 has joined.
15:54:15 -!- FireFly has quit (Read error: Connection reset by peer).
15:57:06 <zzo38> What kind of measurement of the size of a program can you use? * Bytes * Lines * Pages * Semicolons * Tokens * Executable file size
15:58:36 -!- TOGoS has left.
15:58:47 -!- sebbu2 has changed nick to sebbu.
16:05:07 -!- pikhq_ has quit (Ping timeout: 250 seconds).
16:05:07 -!- pikhq has joined.
16:09:32 <Lymia> Depends on what you're using the measurement for.
16:12:13 <zzo38> But what kind of ideas you have for what measurement, and what it can be used for? I am thinking generally just to see a measure of how large that a large program is.
16:14:42 -!- Phantom_Hoover has joined.
16:14:48 <Phantom_Hoover> Hmm, I wonder...
16:14:49 <lambdabot> Phantom_Hoover: You have 1 new message. '/msg lambdabot @messages' to read it.
16:17:00 * Sgeo lays out the syntax he's been imagining for his language
16:17:12 <ais523> @messages
16:17:12 <lambdabot> You don't have any new messages.
16:17:17 <ais523> :(
16:17:37 <Sgeo> https://lists.secondlife.com/pipermail/secondlifescripters/2011-June/006245.html
16:17:46 <Sgeo> Erg, wow, I should have used pastie
16:19:39 -!- Vorpal has joined.
16:27:02 <Gregor> GGGGC: Seemingly consistently faster than Java's GC? :)
16:27:28 -!- FireFly has joined.
16:28:55 <Vorpal> Gregor, ooh cool.
16:29:31 <Vorpal> Gregor, how did you test it? Using the same code but with java's gc and then with yours?
16:31:37 <Gregor> Using Boehm's GCBench as well as binary trees. It's not really fair since Java is JITting and I'm not, but the code is trivial here so hopefully the GC is the biggest price.
16:31:47 -!- zzo38 has left.
16:34:00 <Gregor> Going to ISMM this year gave me two good ideas, both of which helped :)
16:43:01 <Sgeo> I have not the slightest idea how to make something into an AST
16:43:30 <Sgeo> Or even enough Javascript to visualize what an AST looks like in Javascript
16:43:50 <Gregor> ... uhhh, that's pretty sad?
16:44:03 <Phantom_Hoover> It... doesn't seem that complex.
16:44:12 <Gregor> It's not.
16:45:07 <Sgeo> http://pastie.org/private/hf2bkigtu21ciny5oso3a acceptable syntax or nightmare from hell syntax?
16:45:39 <Sgeo> And semantics
16:50:34 <Phantom_Hoover> Sgeo, what language is that?
16:50:43 <Sgeo> Phantom_Hoover, the language I want to make
16:50:54 <Phantom_Hoover> Why the pipes?
16:51:30 <Sgeo> Inspired by Fancy lambdas, which are kind of like Ruby lambdas except with the arguments on the outside of the {}
16:51:38 <Sgeo> Why, do the pipes suck?
16:51:49 <Sgeo> Is function(){} better?
16:51:58 <Phantom_Hoover> No, they just confused me.
16:52:23 <Phantom_Hoover> But yeah, that doesn't look impossible to ASTify.
16:53:12 <Sgeo> But does it look like a decent language to work with? That is, should I not be shot for making it?
16:53:35 <nooga> GO
16:54:10 <Phantom_Hoover> Sgeo, dunno about that; ask elliott if you want a 'yes'.
16:54:25 <Phantom_Hoover> Erm, 'yes you should be shot'.
16:54:55 -!- ais523 has quit (Read error: Operation timed out).
16:55:04 <nooga> {x y z: something something something}
16:55:20 <Sgeo> .......ooooooooohhhhhhh
16:55:44 <Sgeo> Wait, but then, I can't have the { on a separate line after the arguments
16:56:06 <Sgeo> Hmm, not sure how important tha is to me
16:56:14 <nooga> a matter of style
16:56:39 -!- ais523 has joined.
17:01:26 -!- olsner has joined.
17:11:28 -!- Vorpal has quit (Quit: ZNC - http://znc.sourceforge.net).
17:13:57 <nooga> full grammar for PCRE is probably longer than a full grammar for ANSI C
17:14:12 <nooga> so KISS
17:14:51 <Sgeo> PCRE?
17:15:21 <Sgeo> This language is not a regex.
17:17:15 <olsner> can you write a PCRE that matches all PCRE:s?
17:17:36 <Phantom_Hoover> I assume so.
17:17:48 <Phantom_Hoover> Wait, maybe not.
17:18:27 <Phantom_Hoover> PCREs can't match things recursively, can they?
17:18:43 <pikhq> PCRE is TC.
17:18:51 <olsner> I kind of thought PCRE:s were even turing complete (or whatever the corresponding term is for grammars, fully recursive?)
17:19:01 <olsner> and there pikhq said it too, proof?
17:20:04 <nooga> http://big-o.nl/apps/pcreparser/pcre/PCREParser.html#name.grammar
17:20:07 <nooga> this is not all
17:20:15 <nooga> only a subset ;o
17:21:37 -!- elliott has joined.
17:22:10 <Sgeo> Hi elliott
17:22:22 <Sgeo> I posted a sample of the language I'm imagining.
17:23:01 <elliott> oh joy
17:23:01 <lambdabot> elliott: You have 1 new message. '/msg lambdabot @messages' to read it.
17:23:07 <elliott> oh joy
17:23:12 <nooga> oh joy
17:23:16 <nooga> elliott is here
17:24:06 <elliott> yeah
17:24:10 <elliott> i'm always here
17:24:35 <elliott> http://esolangs.org/wiki/Snack
17:24:39 <elliott> this fucking shit should be illegal
17:25:02 <ais523> elliott: the TURKEY BOMB style of esolanging, except not innovative or interesting in any way?
17:25:03 <lambdabot> ais523: You have 1 new message. '/msg lambdabot @messages' to read it.
17:25:07 <ais523> @messages
17:25:07 <lambdabot> Phantom_Hoover said 56m 57s ago: Here you go.
17:25:17 <elliott> ais523: hey, you didnt follow the instructions
17:25:23 <elliott> [asterisk]didn't
17:25:25 <ais523> ah no, more like Deadfish
17:25:29 <ais523> and I'm a rebel in that way
17:26:08 <Sgeo> "SIMPLE Interpreter:"
17:26:10 <Sgeo> What.
17:26:40 <Phantom_Hoover> Suggest we all gang up on SmallBug.
17:26:45 <ais523> wait, that language is actually worse than DeadFish
17:27:30 <Sgeo> Therefore, it will have more implementations than DeadFish?
17:27:36 <ais523> I hope not
17:27:48 <elliott> Phantom_Hoover: Now now, they clearly do not understand what they are doing.
17:27:54 <ais523> at least DeadFish was a) aware it was possible, and b) almost interesting
17:27:55 <elliott> I have helpfully clarified on http://esolangs.org/wiki/Talk:Snack.
17:28:27 <elliott> between this and NetFuck, we sure are getting a lot of dreck today
17:28:31 <elliott> erm, nowadays
17:28:51 <Sgeo> Esme... makes no sense to me
17:28:57 <elliott> ais523: that interpreter is ... interesting
17:29:02 <elliott> wtf did "stack" come from?
17:29:16 <elliott> oh, and I'm not sure cin >> stringvar actually works as expected
17:29:21 <Phantom_Hoover> Sgeo, fun fact: my first significant conversation on #esoteric was confirming that I didn't make Esme.
17:29:29 <ais523> elliott: if it's a std::string, I think it does
17:29:32 <Sgeo> lol
17:29:35 <ais523> or at least, it does something moderately sane
17:29:50 <Sgeo> I'd like to read that log
17:29:56 <ais523> hmm, I think Dagoth may have made Esme just to troll zzo38
17:29:59 <Phantom_Hoover> I'm adding Category:Shameful.
17:30:04 <elliott> Phantom_Hoover: don't
17:30:12 <Phantom_Hoover> elliott, why, wrath of graue?
17:30:13 <elliott> the more it's used the more diluted it gets
17:30:34 <elliott> I removed it from a bunch of pages a while ago because of that
17:30:38 <Phantom_Hoover> It's only used on FURscript and Esme.
17:30:40 <ais523> elliott: that one almost deserves shameful, but I'm not quite sure
17:30:46 <elliott> ais523: yes, it's definitely close
17:30:47 <ais523> it needs category:languages, anyway
17:30:48 <Phantom_Hoover> And you just called it the worst language on the wiki.
17:31:05 <ais523> the whole point of shameful is that it's rare enough that people wouldn't determine its existence
17:31:06 <elliott> I think we'll have to see what SmallBug does next to decide, we must be cautious with this important task of ours
17:31:19 <ais523> (and I'd definitely delete the category description page if someone created one, it doesn't work if it isn't a redlink)
17:31:31 <elliott> ais523: re: troll zzo, [[Talk:Esme]] is a pretty funny page
17:31:41 <ais523> elliott: I know, that's what I was referring to
17:31:56 <Phantom_Hoover> 10.01.12:11:57:27 <Phantom_Hoover> The sysrq key? ← this was honestly the first thing I said in-channel.
17:32:16 <elliott> hmm, the stub template on [[Hashes]] implies that we actually want someone to expand it
17:32:20 <elliott> I find this quite a dangerous remark to have
17:32:32 <elliott> (diff) (hist) . . Language list‎; 17:28 . . (-12) . . Phantom Hoover (Talk | contribs) (Undo revision 23225 by Special:Contributions/SmallBug (User talk:SmallBug) No. Just no.)
17:32:34 <Phantom_Hoover> Expansion can only be interesting.
17:32:35 <elliott> Phantom_Hoover: that was unwarranted
17:32:48 <nooga> :[~~~~K] $[L.~K] -> Q !L <- Q
17:33:32 * elliott categorises
17:33:46 <ais523> elliott: wrt your rvv edit summary, it's referring to novelty contact lenses designed to make your eyes look different as part of a halloween costume
17:33:58 <elliott> ais523: yes, but what a thing to spam a wiki with
17:34:11 <ais523> well, generic spam won't get very far, you'll just be outspammed
17:34:12 <elliott> it's obviously a wiki spambot/person, because it used the correct syntax
17:34:19 <ais523> highly specific spam is more likely to get the results you want
17:34:23 <nooga> you know
17:34:29 <elliott> ais523: I suppose it's just trying to get the googlejuice
17:34:34 <elliott> but what wiki doesn't use nofollow?
17:34:48 <ais523> the latest trick is creating thousands of different domains, each optimised for a slightly different query
17:34:53 <ais523> and making them all soft-redirects to your actual site
17:35:08 <ais523> well, there are probably later tricks I don't know about
17:35:17 <ais523> I just consider that one particularly ridiculous
17:36:08 <nooga> when i was 12 and tried to learn Delphi, my idea of perfect computer language was that it would let me to easily write a tetris clone with constructs like: make green rectangle, move rectangle etc.
17:36:38 <Phantom_Hoover> elliott, if FURscript is shameful, then Snack is unquestionably shameful.
17:37:11 <nooga> probably inventor of FURscript was 13 when he invented it and now he's ashamed
17:37:34 <elliott> Phantom_Hoover: have you /seen/ FURscript?
17:37:42 <elliott> [DIRFORMAT="DIRECTORY","BYPASSSECURITY?"] FORMATS A DRIVE AND ASKS WHETHER TO BYPASS ALL RESTRICTIONS
17:37:43 <Phantom_Hoover> elliott, I just did.
17:38:07 <elliott> heh, the WRITE command has different syntax
17:38:23 <nooga> BASIC fan probably
17:38:32 <olsner> elliott maybe
17:38:40 <elliott> olsner: ?
17:38:53 <ais523> elliott: hmm, given that it's formatting a drive but given a dir as an argument, I wonder if it's intended for POSIXy systems?
17:38:53 <olsner> elliott: I was suggesting that you invented furscript
17:39:09 <ais523> the only plausible way I can think of to specify a drive using a directory is to specify mountpoint
17:39:16 <elliott> ais523: considering that the compiler was to be written in VB6, I doubt it
17:39:17 <elliott> (see talk page)
17:39:21 <elliott> ais523: and C:\
17:39:23 <elliott> D:\
17:39:23 <elliott> etc.
17:39:26 <nooga> "The structure is based off a mix of html, turbo pascal, and BASIC." <-- rright
17:39:46 <elliott> It is, of course, unrelated to FurryScript. --Zzo38 18:33, 11 August 2009 (UTC)
17:40:09 <elliott> ais523: have we moved over to Timwi's server yet?
17:40:14 <elliott> I'm not keeping track of these thing
17:40:15 <elliott> s
17:40:35 <ais523> elliott: not as far as I know
17:40:39 <elliott> :D
17:41:06 <Phantom_Hoover> Timwi offered a server?
17:41:15 <Phantom_Hoover> Did he win the NetFuck prize?
17:41:16 <elliott> Phantom_Hoover: no, he "offered" to take over
17:41:20 <elliott> because Graue is such a terrible person
17:41:20 <Sgeo> "but I think he got as far as a text box and a copyright notice before going back to programming his graphics calculator. "
17:41:27 <Sgeo> I loved TI-BASIC
17:41:29 <elliott> (because Graue wouldn't respond to his email asking for sysop rights)
17:41:32 <Sgeo> I'm offended.
17:41:37 <Phantom_Hoover> elliott, where.
17:41:45 <Sgeo> Wait, is it TI-BASIC?
17:41:51 <elliott> Phantom_Hoover: FFS, it's in the logs, stop expecting me to know where something happened.
17:42:22 <ais523> <form><textarea cols=120 rows=80></textarea></form><p><small>Copyright (C) Alex Smith 2011</small></p>
17:42:32 <elliott> ais523: wat
17:42:43 <Phantom_Hoover> elliott, since Gregor stopped updating the codu HG logs, I haven't had searchable logs.
17:43:05 <elliott> Phantom_Hoover: How does this relate to me having to nkow where every damn thing happened?
17:43:11 <elliott> Besides, get the rsync glogbot logs.
17:43:13 <elliott> That's what they're for.
17:43:18 <ais523> elliott: it's a text box and a copyright notice
17:43:21 <Phantom_Hoover> Oh, right.
17:43:23 <ais523> I'm not sure if it actually /works/, though
17:43:27 <elliott> ais523: heh
17:43:34 <Phantom_Hoover> FWIW, there is no indication anywhere that they exist.
17:43:46 <ais523> and that textarea syntax is really old-fashioned
17:43:50 <ais523> because I learnt HTML far too long ago
17:44:01 <elliott> Phantom_Hoover: there is in glogbot's help message
17:44:09 <elliott> would you like it to spam the channel at regular intervals instead?
17:44:18 <elliott> !logs
17:44:22 <elliott> try it
17:44:42 <elliott> ais523: AFAIK that's the current textarea syntax
17:44:48 <ais523> whoa, really?
17:44:55 <elliott> ais523: well, except that not doing it with CSS probably makes you a bad person
17:44:59 <ais523> I at least expected the dimensions to be done with CSS nowadays
17:45:08 <elliott> I'll check the spec
17:45:11 <Phantom_Hoover> elliott, no, but I would like it if it indicated their existence in the page on codu, or in the topic of #glogbot.
17:45:14 <ais523> and I hate that syntax because it basically means you have to guess the browser user's screen width and font size
17:45:21 <ais523> rather than having it become a sensible size automatically
17:45:32 <ais523> no wonder browsers are offering resizable textboxes as a feature nowadays
17:45:40 <ais523> glogbot has a channel?
17:45:44 <elliott> ais523: http://www.whatwg.org/specs/web-apps/current-work/multipage/the-button-element.html#the-textarea-element
17:45:55 <elliott> yep, rows and cols still exist
17:46:02 <elliott> and don't appera to be deprecated, either
17:46:05 <elliott> [asterisk]appear
17:46:10 <elliott> but ofc, there's basically no reason not to use CSS instead
17:46:11 <pikhq> Fucking HTML.
17:46:11 <Phantom_Hoover> Oh, and the rsync command provided doesn't actually work.
17:46:25 <elliott> Phantom_Hoover: topic of glogbot:
17:46:27 <elliott> "See !glogbot_help for how to use it."
17:46:29 <elliott> !glogbot_help
17:46:32 <elliott> -glogbot- glogbot is a logging bot. Source: https://codu.org/projects/stuff/logbothg/ . Anyone may request that glogbot log their channel by inviting it: /invite glogbot . This usually requires ops. It will stop logging a channel if kicked: /kick glogbot . If you cannot /invite or /kick it, you can also ask Gregor to add or remove your channel. See also !glogbot_cmds, !logs .
17:46:37 <elliott> WHOOPS TURNS OUT IT DOES GIVE YOU THAT INFORMATION
17:46:43 <elliott> And the rsync command does work, you fucked it up. Quit whining.
17:46:46 <ais523> "If the cols attribute is specified, its value must be a valid non-negative integer greater than zero. If applying the rules for parsing non-negative integers to the attribute's value results in a number greater than zero, then the element's character width is that value; otherwise, it is 20."
17:46:47 -!- zzo38 has joined.
17:47:02 <ais523> how arbitrary
17:47:06 <Phantom_Hoover> elliott, I copied and pasted it from glogbot's own message.
17:47:09 <elliott> ais523: how is that arbitrary?
17:47:13 <elliott> it's just handling a parse error
17:47:16 <elliott> Phantom_Hoover: you fucked it up.
17:47:24 <ais523> elliott: wouldn't it make more sense to treat the attribute as not there
17:47:30 <ais523> rather than picking 20 for the width out of thin air?
17:47:31 <Phantom_Hoover> elliott, "rsync --size-only -avz rsync://codu.org/logs/glogbot/ logs/"
17:47:36 <elliott> ais523: 20 is the default width if it's not specified
17:47:40 <ais523> ouch
17:47:40 <elliott> ais523: so it /does/ act like it's not there
17:47:43 <ais523> for a multiline text box?
17:47:49 <elliott> ais523: hysterical raisins
17:47:51 <Phantom_Hoover> Please tell me a) where that is fucked up and b) where it deviates from the command given in !logs.
17:48:16 <elliott> Phantom_Hoover: Seriously, just shut up, I am not your personal tech support, especially when you're being this whiny.
17:48:25 <elliott> You haven't even told anyone what error you received, just "it doesn't work", which is laughable.
17:49:02 <Phantom_Hoover> elliott, maybe I wouldn't be "whiny" if your immediate response hadn't been to treat me like an idiot.
17:49:12 <elliott> Phantom_Hoover: seriously. shut up.
17:49:24 <Phantom_Hoover> And if I so obviously fucked up, why would you even need to know the error?
17:50:03 <Phantom_Hoover> It was clearly my idiocy in composing it; such an astonishing intellect as yours would be able to point out the error without effort.
17:50:08 <ais523> <kabdib> I once wrote some perl that read C source code and spit out still compilable C source, but fucked up with random indentation, single line declarations (with initializers), mixed bracing style and use of whitespace, and added comments like "increment i" when it saw "++i".
17:50:24 <ais523> I love the choice of Perl as a language for doing that munging, it seems to fit somehow
17:50:27 <pikhq> And the new Nintendo console is (surprise, surprise) approximately 4 Wiis duct taped together.
17:50:32 <pikhq> Or, 8 Gamecubes duct taped together.
17:50:36 <cheater_> cool
17:50:47 <cheater_> just came up with a new hack for hardware that doesn't even exist yet
17:50:51 <ais523> pikhq: really, it doesn't need to be that much powerful than the Wii to hit Nintendo's core market, though
17:51:03 <pikhq> ais523: Yeah, true.
17:51:04 <cheater_> apparently, an LED can also be used as a light *sensor*
17:51:13 <olsner> does it even need to be *any* more powerful than wii?
17:51:13 <ais523> cheater_: that's not surprising at all
17:51:19 <pikhq> ais523: The Wii U is pretty fucking stupid, though.
17:51:23 <ais523> in fact, a regular diode can be if you cut the top open
17:51:25 <olsner> they should've just made a new controller like everyone else
17:51:31 <cheater_> in the future, when monitors are made out of LEDs, you could imagine a possible hack to the monitor's firmware to make it a camera
17:51:35 <ais523> pikhq: the name is a pretty silly start, at least
17:51:40 <pikhq> Its *controller* is probably more powerful than the Wii.
17:51:42 <ais523> not only is it stupid, it's also difficult to pronounce
17:51:43 <cheater_> granted, it wouldn't be too focused, but you could post-process that
17:52:08 <cheater_> so you could stalk people with LED monitors
17:52:15 <pikhq> The *controller*, the *controller* has a 6.2" display and a touch screen.
17:52:47 <elliott> <olsner> does it even need to be *any* more powerful than wii?
17:52:54 <elliott> The Wii is getting really dated, to be honest
17:53:03 <ais523> pikhq: this reminds me of the GameCube games designed to use a GBA as the controller
17:53:10 <elliott> I gather that Super Mario Galaxy 2 was a bit of a pain to develop because the console is so outdated
17:53:28 <ais523> some of the best games tend to be done on consoles getting outdated, though
17:53:35 <elliott> indeed
17:53:37 <ais523> because they bring together a lot of talent to work out how to really use the consoles well
17:53:41 <pikhq> ais523: Except as an official accessory.
17:53:42 <elliott> also, "Wii U"? are Nintendo /aiming/ for bad names at this point?
17:53:51 <nooga> Pee U
17:53:53 <Sgeo> Weyoun?
17:54:06 <pikhq> I wonder if the Wii U will also support Gamecube games & controllers.
17:54:25 <olsner> elliott: but was the wii any more powerful than gamecube? my point is that they just need to stick it a new box with a new name and a new controller and they could be done as far as most of their customers are concerned
17:54:27 <pikhq> If so, then it will be fucking absurd.
17:54:37 <elliott> olsner: yes, the Wii was more powerful than the gamecube
17:54:51 <pikhq> olsner: The Wii had a higher clocked PowerPC.
17:54:51 <ais523> pikhq: well, the Wii needs the Classic Controller, rather than a Wiimote, for many of its games
17:54:58 <ais523> and you can substitute a GameCube controller instead
17:55:04 <elliott> GCN: CPUIBM PowerPC "Gekko", 486 MHz
17:55:06 <elliott> Wii: CPUIBM PowerPC-based[1] "Broadway"
17:55:09 <Phantom_Hoover> So, anyone who doesn't think wanting help is whining want to tell me what "rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1526) [Receiver=3.0.7]" means?
17:55:12 <elliott> no clock rate info, but I'll bet >486 MHz
17:55:20 <pikhq> It was 700-something.
17:55:27 <pikhq> ais523: The Wii U supports Wii controllers.
17:55:49 <elliott> olsner: yeah, the Wii was more powerful than the gamecube by quite a bit
17:55:50 <zzo38> The Nintendo Wii does use many similar hardware to GameCube.
17:56:01 <elliott> http://en.wikipedia.org/wiki/Nintendo_GameCube#Technical_specifications
17:56:01 <elliott> http://en.wikipedia.org/wiki/Wii#Technical_specifications
17:56:26 <pikhq> zzo38: The Wii's backwards compatibility is done by, basically, dual-booting.
17:56:34 <zzo38> (Once I put a game in and it did not recognise it as Wii so it started it in GameCube mode, it displayed the title screen correctly, including animation, but did nothing else.)
17:56:48 <elliott> zzo38: heh, really?
17:56:50 <elliott> that's impressive
17:56:51 <pikhq> Yeah, it just has a port of the Gamecube's OS to the Wii. That's their BC.
17:57:07 <elliott> pikhq: with what zzo38 said, I wonder if it even needed porting
17:57:16 <elliott> I mean, apart from controller support, I guess
17:57:43 <olsner> elliott: ok, so maybe a *little* bit more than putting same thing in a new box will be required :P
17:58:00 <elliott> It occurs to me that Nintendo could introduce absolutely any new controller they wanted and people wouldn't dismiss it, just because of how badly that backfired with the Wii
17:58:04 <pikhq> The hardware access was radically different on the Wii; all hardware access went through an ARM chip, for the sake of DRM.
17:58:11 <elliott> were they decent trolls, they'd have exploited this
17:58:33 <pikhq> elliott: Well, their new controller is making the NES brick look ergonomic.
17:58:48 <elliott> I don't see how they'll pull off the fancy Wiimote stuff with it
17:58:57 <elliott> it doesn't exactly look like a very good sword or tennis racquet
17:59:02 <pikhq> You can also use a Wiimote.
18:00:01 <elliott> hmm, the screen is actually quite clever, because it allows for secret information
18:00:09 <elliott> which has always been an advantage of internet play IMO
18:00:36 <elliott> apple why are you emailing me about the new os x version...
18:00:46 <ais523> elliott: do you want me to email you about the new os x version too?
18:00:50 <pikhq> Yeah, this is the *second* means of doing that the Wii U has to offer, BTW.
18:00:57 <ais523> pikhq: what's the first?
18:00:59 <Sgeo> Phantom_Hoover, I don't think wanting help is whining, but I'm not exactly capable of helping you, sorry.
18:01:01 <pikhq> GBA link.
18:01:16 <ais523> ah, the Wii U can do that?
18:01:26 <ais523> you'd think they'd at least use DSes or 3DSes
18:01:33 <pikhq> Presuming GC compatibility, which honestly would take little more than a couple extra lines off of a motherboard.
18:02:02 <zzo38> Idea of screen, I already had similar idea. And actually some older systems had it too, I think, just ones that nobody used.
18:02:09 <ais523> pikhq: it would need controller ports
18:02:11 <elliott> being able to link up to a DS as a controller would be cool
18:02:38 <ais523> that's the big issue with some other consoles and backwards compatibility, the major issue to using old controllers was the lack of correctly-shaped ports
18:03:07 <pikhq> ais523: Actually, the big issue was no freaking way to execute old software.
18:03:26 <pikhq> Nintendo does not have this problem, because they've been using the PowerPC since the Gamecube.
18:03:31 <ais523> pikhq: I'm not talking about old software, but just use of old controllers for new games
18:03:36 <pikhq> Aaaah.
18:03:51 <elliott> Is there any information on the system specs of the U?
18:03:55 <pikhq> Yeah, that's basically a non-issue. If you want to support old controllers, it's easy.
18:04:09 <elliott> hmm, the console itself looks quite ugly
18:04:13 <elliott> in comparison with the Wii
18:04:16 <pikhq> Especially with older consoles where the controllers used the same damned protocol.
18:04:27 <elliott> (which actually had functional use, too; you could fit it practically anywhere)
18:04:57 <zzo38> I have many ideas making up my own system instead. It will not have these kind of problems! I fix many things. And it will describe *everything* in the manual.
18:05:06 <elliott> zzo38: i can hardly wait.
18:05:24 <elliott> "Claims have been made that the new machine is significantly more powerful than the PlayStation 3 and Xbox 360."
18:05:32 <elliott> source is IGN and Kotaku, so I'm not about to start believing that immediately
18:05:51 <zzo38> I already got some people who can build the circuitboards and stuff like that.
18:06:15 <pikhq> elliott: It's not like it'd be *too* hard.
18:06:24 <ais523> zzo38: assuming it's not massively overpriced and there's a sensible way to ship it from Canada, I'd buy it
18:06:25 <elliott> "01net also claims to know some of the technical specifications of the new console (translation from Develop): "CPU is custom IBM PowerPC with three cores, GPU should be an ATI from the R700 family, with a shader unit at version 4.1. RAM should be at least 512 MB."[19]"
18:06:30 <pikhq> Just slip a more recent multicore processor and a modern GPU in there.
18:06:34 <zzo38> I made some timesheets programs for their company and I told them I can have barter instead of paid in cash
18:06:36 -!- augur has quit (Write error: Broken pipe).
18:06:49 <nooga> IT'S TOO DAMN HOT!
18:07:01 <pikhq> Of course, Nintendo's still running technology that's competitive with the PS2. :P
18:07:58 <ais523> pikhq: and the PS2 was so successful that that's a good thing
18:08:14 <elliott> it's always impressive how low-spec consoles tend to be
18:08:15 <zzo38> ais523: The first few units produced will probably be overpriced but they will also be colored in gold and have other stuff specific to the limited editions. So, the normal edition will not be overpriced, but will have the same electronic hardware basically, can run the same software, and so on.
18:08:28 <elliott> you need, like, a PC with twice the specs to get the same quality out of them
18:08:40 <elliott> because people optimise aggressively for consoles since they're uniform
18:08:41 <coppro> pikhq: why Canada?
18:09:08 <pikhq> coppro: Wut.
18:09:13 <ais523> coppro: did you mean to ping me with that?
18:09:17 <ais523> I thought zzo38 was Canadian
18:09:25 <zzo38> Yes I am Canadian
18:10:00 <coppro> yeah, I meant ais523
18:10:09 <elliott> zzo38: how much will the gold edition cost
18:10:09 <coppro> misread
18:10:32 <coppro> makes more sense for ais523 to want a Canadian one due to price, but there's region-locking and format issues if you do that
18:10:45 <zzo38> elliott: I don't know how much any edition will cost yet
18:10:53 <ais523> coppro: it's just that I assumed that zzo38 being in Canada, that's where they'd be made
18:11:05 <elliott> zzo38: not even approximately?
18:11:17 -!- nooga has quit (Ping timeout: 240 seconds).
18:11:17 <elliott> coppro: you think /zzo's/ console will have region-locking?
18:11:21 <zzo38> No. I have not selected the specific hardware parts yet. Only in general I have.
18:11:31 <elliott> zzo38: can you leak any details? :D
18:12:37 <coppro> ais523: oh, I thought you meant the Wii U
18:12:48 <ais523> ah, no
18:13:01 <ais523> gah, that name hurts my head just when I try to mentally pronounce it
18:13:17 <ais523> thus, I have to skim comments containing it (no mental pronunciation) rather than read them (which does normally cause mental pronounciation for me)
18:13:18 <zzo38> It will have region-coding, but only for regions with different TV format (such as NTSC/PAL), and the programs and hardware that is built-in is all open so you can even override that.
18:13:19 -!- nooga has joined.
18:14:07 <elliott> what games-containing media will it take?
18:14:14 <zzo38> So, the Canadian software should work fine in United States, and in Japan, but to use in England it is PAL so it is different.
18:14:27 <pikhq> zzo38: In the modern world, there's no need for that.
18:14:39 <elliott> yeah, if the software outputs digitally that's unnecessary
18:14:41 -!- monqy has joined.
18:14:56 <zzo38> elliott: DVD. Also USB for small files downloadable from kiosks or whatever, if such things exist.
18:15:17 <elliott> ew, optical media :(
18:15:37 <zzo38> USB also works so you do not need to use optical media if you do not like it.
18:15:39 <coppro> The hardware can have built-in converters for video formats anyway
18:15:41 <elliott> zzo38: you realise that USB drives are competitive with DVD for storage space, btw?
18:15:55 <elliott> in fact, with an SDHC cart, it can far surpass DVDs
18:15:59 <elliott> [asterisk]card
18:16:01 <elliott> (plus USB reader)
18:16:01 <coppro> Especially USB 3
18:16:11 <elliott> coppro: er, that only affects speed, no?
18:16:50 <coppro> well yes
18:16:53 <coppro> but speed is important
18:16:58 <coppro> fuck loading screens
18:17:05 <elliott> coppro: sure... it's hard to be slower than optical drives, though
18:17:19 <elliott> actually, personally I would just include a USB port or two, and no DVD drive -- after all, there are plenty of USB DVD readers
18:17:27 <coppro> heh, yes
18:17:36 <elliott> so you could support optical media entirely within software, and make the console smaller and (slightly) cheaper too
18:18:00 <zzo38> elliott: Thanks for the idea, I might consider that, maybe
18:18:15 <coppro> No stupid CSS licensing fees too
18:18:34 <elliott> coppro: CSS is optional isn't it?
18:18:42 <coppro> yeah...
18:18:46 <elliott> and if the console didn't support it, nobody would use it
18:18:49 <elliott> so that's kind of irrelevant :P
18:18:51 -!- nooga has quit (Ping timeout: 246 seconds).
18:19:03 <zzo38> I was not going to license CSS anyways I was trying to make it to remove all CSS from the drive so that it must be done in software if at all.
18:19:25 <elliott> yeah
18:19:46 <zzo38> If I choose not to have a optical drive, I will have more than 2 USB ports, though.
18:20:04 <elliott> why would you ever need more than two media in at once?
18:20:12 <elliott> (and also have sufficient power requirements that a USB hub wouldn't suffice?)
18:20:13 <elliott> hmm
18:20:16 <elliott> or are controllers USB too?
18:20:31 <elliott> in which case, yeah, obviously you'd want like five ports
18:20:33 -!- nooga has joined.
18:20:34 <zzo38> No, controllers are not USB.
18:20:38 <elliott> hmm, what are they?
18:20:45 <zzo38> Synchronous serial.
18:20:49 <coppro> wtf
18:21:01 <zzo38> Packets are 32 bits.
18:21:09 <elliott> it seems like it'd be simpler to do the controllers over USB too since you could reuse the driver
18:21:21 <elliott> and also it means that if you used fewer controllers, you could use more storage media
18:21:28 -!- zzo38 has quit (Quit: zzo38).
18:26:51 -!- ais523_ has joined.
18:27:26 -!- ais523 has quit (Disconnected by services).
18:27:32 -!- ais523_ has changed nick to ais523.
18:31:56 -!- nooga has quit (Ping timeout: 276 seconds).
18:32:54 -!- nooga has joined.
18:34:44 -!- augur has joined.
18:34:49 <nooga> beh
18:35:09 <elliott> wat, nintendo's E3 press site is "open"
18:35:21 <coppro> "open"?
18:35:28 <elliott> as in it has an obvious username and password
18:35:31 <elliott> http://press.nintendo.com/E32011/ username: E32011, password: nintendo
18:35:38 <elliott> it even has videos
18:35:42 <coppro> lol
18:35:47 <ais523> elliott: did you guess them?
18:35:51 <elliott> someone gimme a wget command to mirror everything :D
18:36:00 <elliott> oh wait, the videos are huge
18:36:02 <elliott> and the server is slow
18:36:03 <ais523> and are the videos subdirs of that page?
18:36:11 <elliott> ais523: it's an HTML page
18:36:13 <elliott> with lots of info and links
18:36:26 <ais523> I mean, are the links to subdirs of the directory the page is in?
18:36:32 <elliott> yes
18:36:36 <elliott> "Please note: Nintendo 3DS screenshots are provided as 2D images."
18:36:38 <ais523> otherwise, if you follow all links, you can end up mirroring the whole Internet
18:36:45 -!- elliott has set topic: Please note: Nintendo 3DS screenshots are provided as 2D images. | Logs: http://codu.org/logs/_esoteric/ and http://tunes.org/~nef/logs/esoteric/?C=M;O=D.
18:36:59 <nooga> use peg/leg OR write parser by hand
18:37:04 <elliott> I'm surprised this page doesn't have some spiel about NO UNAUTHORISED ACCESS
18:37:14 <nooga> help me with decision
18:37:22 <elliott> ESRB Age-Gate Notification:
18:37:23 <elliott> This video/trailer may only be displayed if it is behind an age-gate that: (1) is age-neutral (i.e., requires the user to input their date of birth or select it from a drop-down bar); (2) employs reasonable technical measures to keep underage users from re-entering their age after initially being denied access; and (3) does not display any ESRB rating information on the trailer player or the age-gate itself. Failure to implement these requirement
18:37:23 <elliott> s may jeopardize your ability to obtain material of this nature from us in the future.
18:37:26 <ais523> I bet it's designed for people to access while still maintain plausible deniability
18:37:31 <elliott> wat
18:37:48 <elliott> you're... not allowed to tell people the ESRB rating?
18:38:04 <ais523> elliott: it's basically "how old are you? PS if it's too low you don't get to get in, but we're not going to /tell/ you what it should be in the hope that you'll give your real DOB rather than calculating one that will let you in"
18:38:16 <elliott> ah
18:38:25 <elliott> is there anybody who doesn't just select the oldest age possible on those?
18:38:33 <ais523> I don't know
18:38:45 <elliott> I mean, who would bother picking out their real birthdate?
18:39:11 <elliott> hmm, it seems everything on this press site is in a zip
18:39:16 <elliott> even things that are only a few hundred kilobytes
18:40:04 <ais523> elliott: wget -r -k -p -np (in an empty directory) might work
18:40:07 <elliott> and I can't open the zip I tried
18:40:14 <ais523> elliott: password-protected?
18:40:23 <elliott> dunno, file-roller just gives up
18:40:26 <elliott> ais523: the server's slow enough, and the files sufficiently numerous, that I don't care enough to mirror it
18:40:36 <ais523> yep, I was just looking up out of curiosity
18:40:39 <elliott> I mean, it's not like there's going to be any information or video or whatever here that won't be available publicly soon enough
18:40:54 * elliott nabs the upcoming list of [console] games, though
18:41:54 <elliott> a /minute/ to download a thirty-seven kilobyte file
18:41:55 <elliott> ?
18:41:57 <elliott> really, nintendo?
18:42:16 <elliott> it's going to take twenty hours to download this fifty-megabyte Wii factsheet, apparently
18:42:42 <elliott> oh well
18:42:48 <ais523> perhaps they're being Slashdotted (via something other than Slashdot)
18:43:46 <elliott> ais523: probably by everyone with legitimate access :P
18:44:05 <elliott> oh, it looks like it's on /v/
18:44:10 <elliott> that probably explains it
18:44:36 <elliott> it'll probably all be in a torrent by the end of the day
18:46:27 <ais523> elliott: you actually checked 4chan in order to see if they were responsible for massive access to a site?
18:46:37 <ais523> or was it a guess followed by asking someone likely to know / checking a page likely to indicate?
18:46:54 <elliott> ais523: no, I googled the url
18:47:09 <ais523> ah, clever
18:47:21 <elliott> I'm surprised Google even indexed them; they're 404'd already
18:47:24 <elliott> the threads, that is
18:47:31 <ais523> although I'm surprised that Google finds results from 4chan, given how quickly the threads are deleted
18:47:35 <ais523> ah, seems you are too
18:47:37 <elliott> pseudo-snap
18:47:51 <ais523> perhaps Google pay for a constant stream of changes to 4chan, just like they do to Wikipedia
18:47:56 <elliott> I have a feeling Google does a lot more than just spidering nowadays
18:48:06 <elliott> they probably try and "subscribe" to rapidly-updating websites via feeds or whatever
18:48:45 <nooga> no dinosaurs
18:48:46 <ais523> yep
18:49:02 <ais523> also, they own quite a few of the rapidly-updating places, like YouTube and Blogger
18:49:33 <Sgeo> ICH
18:49:50 <ais523> SIE?
18:49:50 <Sgeo> Deceased bug in bowl. Soap and _cold_ water enough to get it decently clean?
18:49:55 <Sgeo> There is no hot water.
18:49:59 -!- KingOfKarlsruhe has joined.
18:50:02 <elliott> no
18:50:04 <elliott> it is not enough
18:50:06 <elliott> you need hot water
18:50:09 <ais523> elliott: guessing?
18:50:10 <elliott> or all the germs will stay
18:50:14 <elliott> ais523: no this is cold hard fact
18:50:19 <ais523> trolling?
18:50:24 <elliott> i'm offended
18:50:52 <nooga> it's too hot
18:51:37 <elliott> nooga: how hot
18:56:21 <nooga> my gf's laptop refused to work
18:56:26 <nooga> because of heat
18:57:15 <ais523> nooga: have you tried bashing on the case a couple of times, a couple of centimetres further from the touchpad and to the left of the power switch, as soon as it starts to make the clicking noise?
18:57:28 <ais523> or does she not have the exact same laptop as me?
18:59:44 <elliott> and you guys make fun of me for not fixing these number keys :D
18:59:56 -!- foocraft has joined.
18:59:57 <ais523> elliott: well, this is easily workaroundable
19:01:04 <elliott> maharba continues to be a bad person for not responding to my questions ;(
19:01:27 <ais523> hmm, just noticed: esolangs tend to disobey Wadler's law, don't they?
19:01:43 <ais523> to the extent that DownRight didn't have a syntax at all until people forced one on me, and then came up with one quite quickly
19:02:06 <elliott> ais523: /good/ esolangs disobey it
19:02:11 <elliott> consider how many languages are /all about/ the syntaz
19:02:13 <elliott> [asterisk]syntax
19:02:21 <elliott> ais523: btw my proposed syntax for downright was much better :<
19:02:44 <ais523> elliott: even BF derivatives tend not to argue a lot about comment syntax
19:02:51 <elliott> heh, true
19:03:04 <yorick> there's not much languages like postscript nowadays
19:03:35 <elliott> underload
19:03:54 <Sgeo> Sadly, what's the difference between lexical syntax and syntax?
19:04:01 <yorick> elliott: thanks
19:04:19 <ais523> Sgeo: lexical syntax is syntax of lexicals
19:05:41 <olsner> just like in IOCCC, syntactic obfuscation is boring
19:06:37 <ais523> unless it's tied into computation somehow
19:09:03 -!- oerjan has joined.
19:10:04 <Sgeo> What isn't a lexical?
19:10:21 * Sgeo really, really needs to read about how to parse and lex and.. whatever code
19:10:58 <elliott> weeps quietl
19:10:59 <elliott> y
19:11:53 -!- lambdabot has quit (Ping timeout: 250 seconds).
19:12:22 <ais523> Sgeo: hint, lexical != lexeme != lexical analyser
19:13:33 <oerjan> 17:18:27: <Phantom_Hoover> PCREs can't match things recursively, can they?
19:13:34 <oerjan> 17:18:43: <pikhq> PCRE is TC.
19:13:44 <oerjan> the latter doesn't actually necessarily imply the former
19:14:15 <oerjan> because TC does not imply "input-complete"
19:14:19 <ais523> the syntax for recursive matching is (?1)
19:14:22 <ais523> or you can use other numbers
19:14:39 <ais523> e.g. (a(?1)b) matches strings of a given number of a, followed by the same number of b
19:14:49 <oerjan> erm
19:14:52 <ais523> that's only enough to make it a PDA, though, rather than TC
19:14:53 <olsner> "input-complete"?
19:15:06 <ais523> olsner: like the difference between TC and BF-complete, I think
19:15:18 <oerjan> s/the former/that PCRE can parse everything that is decidable/
19:15:28 <oerjan> yeah that was the idea
19:15:43 <Phantom_Hoover> <elliott> consider how many languages are /all about/ the syntaz
19:15:58 <Phantom_Hoover> Esolangs in general have extremely syntax, though.
19:16:04 <Phantom_Hoover> Even the ones based on it.
19:16:09 <elliott> extremely syntax
19:16:14 <Phantom_Hoover> *simple
19:16:21 <Phantom_Hoover> Extremely syntaz.
19:17:16 <oerjan> yeah obfuscation is usually limited to using unreadable base tokens, isn't it.
19:17:30 <oerjan> (e.g. single character ones)
19:17:44 <ais523> oerjan: that's not even intentional obfuscation, I think
19:17:50 <ais523> it can actually make langs easier to read when you're used to ir
19:17:52 <ais523> *it
19:18:03 <ais523> it's just the esolang's style
19:18:04 <elliott> it just makes implementing it easier :P
19:18:26 <Phantom_Hoover> I suspect that half the crappy BF derivatives were just caused by someone who wanted to try writing an interesting program with <thing>, but couldn't be bothered actually making something original.
19:18:26 <oerjan> also easier to parse... i suspect many esolangers would have trouble implementing a language which didn't use single-char tokens
19:18:46 <elliott> oerjan: which is depressing
19:19:49 <nooga> >:<
19:20:06 <oerjan> nooga: feel targeted? :P
19:20:20 <Sgeo> ais523, is {a b c: code} vs |a,b,c| {code} for lambdas syntax or lexical syntax? I'm... guessing the latter, but not sure
19:20:23 <nooga> i want a language that mutates during the parsing
19:20:45 <oerjan> > let x >:< y = x ++ y in "a" >:< "b" >:< "c"
19:20:51 <oerjan> eek
19:21:00 <nooga> ;>
19:21:02 <Sgeo> oerjan, eep
19:21:09 <oerjan> lambdabot existence failure
19:21:14 <Sgeo> I want to learn how to do things sanely
19:21:18 <nooga> oerjan: no I dont, this nice token just came to my head
19:21:29 <elliott> lambdabot :(
19:21:32 <elliott> come baaack
19:21:35 <olsner> Sgeo: and this is certainly the place to learn *sane* ways to do stuff
19:21:39 <ais523> Sgeo: I thought you'd have looked it up for yourself by now, but: http://en.wikipedia.org/wiki/Lexical_grammar
19:21:52 <oerjan> Sgeo: the former definitely. lexical syntax is about how you find your language's basic "words"
19:21:57 <elliott> ais523: implying Sgeo would ever google anything when he could ask it awkwardly on irc instead
19:22:05 <Sgeo> ty
19:22:07 <ais523> elliott: well, people wouldn't imply that about me
19:22:12 <ais523> (note that I didn't google it either)
19:22:14 <nooga> ;s
19:22:20 <elliott> ais523: the "awkwardly" part is important
19:22:25 <ais523> yep
19:22:26 <elliott> ais523: anyway, I am using google in the genericised sense here
19:22:31 <elliott> looking it up on wikipedia counts
19:22:32 <ais523> I often ask on IRC when I think it's the easiest way
19:22:35 <elliott> since that's basically what googling would achieve anyway
19:22:40 <olsner> "Please quote to me the dragon book. You may begin with chapter 1 for I know nothing."
19:22:45 <oerjan> Sgeo: e.g. because FORTRAN doesn't have a lexical syntax you get such absurdities as the famous FORI=1,10 vs. FORI=1.10 bug
19:22:53 <elliott> olsner: i'll have to get permission from my dad first
19:23:05 <elliott> oerjan: I'm not familiar; got a link?
19:23:17 <oerjan> (the former starts a for loop, the latter assigns to the variable FORI)
19:23:23 <elliott> ah
19:23:34 <ais523> elliott: I was about to tell you that, but oerjan was faster
19:23:39 <oerjan> INTERCAL of course does that on purpose :D
19:23:47 <ais523> oerjan: actually, no it doesn't
19:24:04 <ais523> it /almost/ does, but has a specific rule saying you aren't allowed to do things like that
19:24:07 <oerjan> ais523: um it doesn't use whitespace to separate tokens, doesn't it?
19:24:10 <ais523> it's even in the original manual
19:24:17 <ais523> oerjan: no, but it still tokenizes deterministically
19:24:30 <ais523> DOX always parses as DO X
19:24:36 <oerjan> ais523: ok not that kind of example (which has horrendous lookahead)
19:24:54 <ais523> the only corner case is DOREADOUT as DO READ OUT vs. DO REA DO UT
19:24:58 <ais523> which caught out J-INTERCAL
19:25:08 <oerjan> heh
19:25:08 <ais523> but people ignore that one as they can't figure out what the intended behaviour is anyway
19:25:30 <ais523> the case I was referring to was array syntax
19:25:43 <elliott> ais523: that example that the manual explicitly prohibits, I'm really sad about
19:25:49 <elliott> who cares about infinite lookahead?
19:25:51 <ais523> which requires unlimited lookahead to parse correctly, except that if you write a case that would require unlimited lookahead, compilers are allowed to crash
19:25:59 <elliott> yes which is bad >:(
19:26:00 <ais523> or, well, mis-parse it
19:26:01 <elliott> and evil and wrong
19:26:02 <ais523> I know C-INTERCAL does
19:26:05 <elliott> and ITRALCEN won't do it
19:26:17 <ais523> however, even handling the reduced version is insane
19:26:29 <ais523> C-INTERCAL does so using a stack of bits, which is packed into an array of integers
19:26:35 <elliott> that's a reason to do something, not to not do it :(
19:27:00 <oerjan> Sgeo: so basically if your language has multicharacter keywords or identifiers, it makes sense to have an initial stage that just finds the boundaries of those, that's lexical analysis, which also throws away whitespace and comments (which become irrelevant once you have done the division)
19:27:02 <ais523> the funny thing is, I even found a program that hit the limit of nested spark/ears groups and had to increase the limit
19:27:15 <elliott> oerjan: it doesn't really make sense IMHO
19:27:18 <elliott> it's a bit of an obsolete notion
19:27:28 <ais523> probably resulting from Joris' experiments in inlining an entire sequence of expressions into one
19:27:37 <oerjan> joris?
19:27:52 <ais523> oerjan: probably the most active C-INTERCAL developer who isn't actually a maintainer
19:28:02 <ais523> he's done a lot of useful work in finding/fixing bugs, and improving the optimiser
19:28:12 <ais523> he should get more credit
19:28:32 <elliott> i should actually write itralcen sometime
19:28:59 <ais523> the world needs more INTERCAL impls
19:29:26 <ais523> what level of compatibility would you be aiming for? -72? -72 with COME FROM and text I/O? common subset of C-INTERCAL and CLC-INTERCAL? something else?
19:29:29 <elliott> yes, unfortunately itralcen is very precisely defined, and I don't really feel like writing a GNUstep program to run in qemu which communicates with the host machine via a socket
19:29:36 <elliott> (to actually run ITRALCEN)
19:29:46 <elliott> ok so that could possibly wait ;D
19:30:02 <Deewiant> ais523: COME FROM isn't in a standard?
19:30:07 <elliott> Deewiant: computed COME FROM isn't
19:30:08 <elliott> ais523: at the very least, computed COME FROM
19:30:21 <ais523> Deewiant: even original COME FROM isn't in the -72 standard
19:30:24 <ais523> and there are no other standards
19:30:28 <elliott> wow, really?
19:30:29 <elliott> ok
19:30:29 <elliott> ais523: the ideal would be to have its very special own set of extensions and compatibility libraries for C and CLC, though
19:30:39 <ais523> elliott: like C and CLC do for each other
19:30:51 <elliott> ais523: The implementation strategy is basically inspired by CLC I think
19:30:59 <olsner> I think modern intercals should come with all the known COME FROM variants, including computed and parallel
19:31:01 <ais523> is that even /possible/?
19:31:07 <ais523> that would imply that somebody knew how CLC worked
19:31:09 <elliott> haha
19:31:22 <ais523> I only managed to reverse-engineer the basic outline, and CLC himself has long since forgotten
19:31:27 <elliott> ais523: except that, instead of just having a separate orthogonal language jammed in, it'll be based on the program you're running rewriting itself
19:31:32 <elliott> basically, it'll have self-modifying features
19:31:39 <elliott> and all the basic commands will rewrite themselves down to primitives
19:31:52 <elliott> which might be inline machine code, or maybe just VM instructions, etc.
19:32:06 <ais523> will one of the primitives run arbitrary Perl, like in CLC-INTERCAL?
19:32:08 <elliott> so basically, the whole language will be implemented in its macro system
19:32:13 <elliott> ais523: boring
19:32:22 <ais523> elliott: it's funny in context
19:32:28 <ais523> especially as it's hardly used for anything
19:32:34 <ais523> and is deliberately undocumented
19:33:10 <elliott> hmm, I might bootstrap it by having the bootstrapping code be just one big instruction
19:33:18 <elliott> [run arbitrary <language>] "huge string", basically
19:33:29 <elliott> and that would set up the system to a point where it could run the macro system and self-modify
19:33:34 <elliott> and the rest would be built up in ITRALCEN
19:33:49 <elliott> and the actual bootstrapping script would just do "eval str_param"
19:34:03 <elliott> thus reducing the amount of code not written in full valid ITRALCEN to a line or two
19:34:30 <nooga> NATO vs Anonymous = LOL
19:34:50 <elliott> ais523: I'm not sure how I'll actually handle parsing
19:35:08 <elliott> ais523: I think every command will define how it's parsed, pretty much
19:35:22 <ais523> elliott: note that CLC-INTERCAL's parser's interpretation of ambiguous statements was determined by experiment
19:35:23 <nooga> elliott: i thought about it
19:35:24 <elliott> So all it'd do is lex everything, and start running (which would equate to rewriting itself down to primitives, and then running those primitives)
19:35:26 <Sgeo> Would | | be lexed into beginlambdarglist and endlambdaarglist or just pipe?
19:35:29 <ais523> as nobody could work out what the results of the rules are
19:35:39 <elliott> Sgeo: you can't do the former
19:35:46 <elliott> lexers don't have that kind of information
19:35:52 <Sgeo> Ok
19:35:55 <nooga> Sgeo: elliott is right
19:35:57 <ais523> also, note that if you support the whole of CLC-INTERCAL, the way a program parses or even lexes could change at runtime
19:36:09 <elliott> nooga: thanks for the confirmation
19:36:30 <elliott> ais523: same with my system, the /whole thing/ is based around commands parsing their invocations and then rewriting themselves
19:36:34 <nooga> elliott: i was just about to answer him but then you came so I confirmed
19:36:39 <nooga> ;f
19:36:46 <elliott> nooga: :P
19:36:52 <elliott> ais523: I'm aiming to handle that explicitly-forbidden infinite-lookahead example, anyway
19:37:14 <ais523> but how do you un-rewrite if the meaning of a command was changed from behind you?
19:37:15 <Sgeo> I still have more questions, but they'd probably be better answered by reading
19:37:16 -!- foocraft has quit (Quit: Leaving).
19:37:31 <ais523> e.g. DO STASH .1 DO EXCHANGE STASH VARIABLE LIST WITH RETRIEVE VARIABLE LIST
19:37:35 <ais523> followed by looping
19:37:52 <ais523> at least, I can't remember the exact syntax of EXCHANGE, would you really expect me to?
19:37:59 <ais523> but it's much simpler than CREATE's, at least
19:37:59 <elliott> ais523: well, "the meaning of a command changing" is just newspeak for "the command has a branch"
19:38:18 <ais523> elliott: ah, so you'd work out all the possible meanings of a command at compile time?
19:38:32 <ais523> what if the CREATE statement was in a linked Befunge library rather than in the program itself?
19:38:34 <elliott> ais523: possibly; OTOH, it sounds more fun to unrewrite
19:38:50 <elliott> ais523: which would mean that I'd tag every part of the primitive call with the string of INTERCAL that it originated from
19:38:56 <ais523> (I had to implement that as soon as I realised it would be possible, and not too difficult)
19:38:57 <elliott> and then piece it together to unrewrite
19:40:12 <elliott> ais523: I'm really tempted to make the only supported target platform Wine
19:40:26 <ais523> elliott: the development tools will be a pain
19:40:32 <elliott> ais523: Wine with Cygwin, I mean
19:40:36 <ais523> but that's the only thing making it a bad idea
19:40:40 <ais523> also, Cygwin doesn't run under Wine
19:40:43 <elliott> all it'd require is for me to use a handful of Windows calls gratuitously
19:40:44 <ais523> I know, I actually tried
19:40:46 <elliott> ais523: ugh, still?
19:40:50 <elliott> people have gotten it working in the past, IIRC
19:40:52 <ais523> well, not last time I tried, at least
19:41:04 <elliott> ais523: well, I could just link to Winelib
19:41:10 <elliott> that doesn't prohibit you from linking to a POSIX libc, after all
19:42:06 <elliott> ais523: ooh, I could make the rewrites "timeless"
19:42:20 <elliott> invalid statements would simply not get rewritten, and executing something which can't be rewritten and isn't a primitive causes an error
19:42:29 <elliott> then, CREATE would simply introduce a new command
19:42:30 <elliott> hmm
19:43:09 <pikhq> elliott: Well, you'd get symbol conflicts if you didn't link to the system libc.
19:43:33 -!- Sgeo has quit (Ping timeout: 255 seconds).
19:43:37 <elliott> pikhq: indeed, but the system is POSIX
19:43:40 <elliott> (because it can run Wine)
19:43:54 <pikhq> True. So there's no real reason you *can't* just link to the system libc.
19:44:25 <elliott> you have to to use Winelib, I think
19:44:58 <pikhq> Yes, and that's why you'd have symbol conflicts if you didn't use the system libc for your libc.
19:45:03 <elliott> $ winegcc
19:45:03 <elliott> winegcc: gcc-4.5 failed
19:45:05 <elliott> top-notch tool
19:45:31 <elliott> ais523: hmm, maybe I'll fork tcc for ITRALCEN
19:45:36 <elliott> ais523: and make it compile into memory only
19:45:41 <elliott> that way, I can make my inline <language> instruction be "inline C"
19:45:51 <ais523> haha
19:46:00 <elliott> I'm deadly serious.
19:47:05 <elliott> hmm, what's the Windows function to create a dirt-simple alert box?
19:47:08 <olsner> :)
19:47:25 <oerjan> <ais523> gah, that name hurts my head just when I try to mentally pronounce it
19:47:27 <elliott> it occurs to me that I'll have to think of an actually decent reason to use Windows functions
19:47:33 <ais523> elliott: MessageBoxEx, I think
19:47:35 <oerjan> Wii U NO LIKE IT?
19:47:37 <ais523> unless they've changed it again
19:47:44 <ais523> oerjan: AAARGH!
19:47:48 <elliott> ais523: so, MessageBox then
19:47:53 <elliott> ugh, hWnd
19:47:56 <ais523> I'm not sure if that one ever existed
19:47:56 <elliott> >how does I winapi
19:47:57 <oerjan> oh i forgot ais523 is allergic to puns
19:48:01 <ais523> and that's the parent, you can pass in NULL
19:48:10 <olsner> it is MessageBox in visual basic at least (was? dunno about .net)
19:48:10 <ais523> if you don't have a window yourself to parent it to
19:48:14 <elliott> LPCTSTR...
19:48:17 <elliott> that's not a C string is it
19:48:37 <ais523> not in the normal format, I don't think
19:48:37 <oerjan> (what do you _mean_ i would probably have done it anyway)
19:48:40 <elliott> (LPCWSTR)L"Resource not available\nDo you want to try again?",
19:48:40 <elliott> ugh
19:48:47 <olsner> it's a *long* pointer to a constant wide (or ansi) string
19:48:55 <ais523> olsner: that's what I was guessing
19:49:07 <ais523> I didn't recognise the T, but guessed it indicated UTF-16
19:49:11 <ais523> the first T, that is
19:49:16 <elliott> a long pointer ahahaha
19:49:22 <elliott> winapi: so bad???
19:49:25 <ais523> most API calls use long pointers
19:49:26 <olsner> L stands for herp, T stands for derp, the rest is meaningless
19:49:38 <elliott> ais523: calling MessageBox outside of WinMain is a dumb idea, right?
19:49:42 <elliott> I'm trying to use a regular Unix main()
19:49:48 -!- Sgeo has joined.
19:50:00 <elliott> /usr/include/gnu/stubs.h:7:27: fatal error: gnu/stubs-32.h: No such file or directory
19:50:02 <elliott> r u srs
19:50:04 <elliott> of course
19:50:07 <elliott> wine doesn't support sixty four bit
19:50:08 <ais523> elliott: a regular main() will emulate all the stuff you need to make it act like a C89 main, I thought
19:50:13 <elliott> this just keeps getting betterer and betterer
19:50:27 <fizzie> TCHAR is either a char (for an ANSI string) or a WCHAR (on a Unicode platform).
19:50:40 <ais523> hmm, is L"string" a Windowsism, or in one of the actual C standards?
19:50:44 <ais523> I think the latter, but am not sure
19:50:48 <ais523> I know it's basically only used on Windows
19:50:57 <olsner> L"" makes a wchar_t string, it's standard
19:50:58 <ais523> because other platforms tend to do their Unicode by hand
19:51:16 <olsner> but you don't know what it means, it "can" be non-unicode
19:51:27 <ais523> yep, depending on what wchar_t is
19:51:32 <ais523> no wonder people generally do it by hand
19:51:36 <olsner> even when it is unicode, sometimes it's UCS-4, sometimes UCS-2 and sometimes UTF-16 :)
19:51:52 <elliott> utf-16 should just die
19:52:00 <elliott> there's pretty much no justification to use it, ever
19:52:19 <ais523> elliott: what's your opinion on the similar-but-different ucs-2?
19:52:37 <elliott> ais523: UCS-2 can't even handle non-BMP, can it??
19:52:42 <elliott> "It is not possible to encode these code points in UCS-2."
19:52:42 <elliott> indeed
19:52:43 <elliott> even worse
19:52:54 <ais523> yep
19:52:57 <fizzie> _T is either an empty macro or L, for defining TCHAR string literals.
19:53:08 <ais523> UCS-2 is basically UTF-16 except surrogates are meaningless rather than being usable to express astral planes
19:53:22 <elliott> UCS-2 made sense before the astral planes
19:53:26 <elliott> now, it's unacceptable
19:53:26 <ais523> fizzie: isn't _T in implementation namespace?
19:53:42 <elliott> UTF-16 is acceptable only when you're upgrading from UCS-2, I guess
19:53:55 <pikhq> Which is why Windows uses it for internal APIs.
19:54:14 -!- zzo38 has joined.
19:54:28 <elliott> test.c: In function ‘main’:
19:54:28 <elliott> test.c:6:3: warning: passing argument 2 of ‘MessageBoxA’ from incompatible pointer type
19:54:38 <elliott> ok i'll use _T and a cast
19:54:39 <zzo38> I have talked with the other project manager and can now answer some of your other questions.
19:54:41 <fizzie> ais523: At least it only gets defined if you ask for tchar.h.
19:54:54 <zzo38> We will not omit the optical drive in favor of USB only.
19:54:56 <olsner> elliott: just disable warnings
19:55:10 <olsner> that'll fix it!
19:55:22 <elliott> zzo38: hm, why?
19:55:34 <fizzie> If it's MessageBoxA, it sounds like it's using the ANSI version, where you should be able to pass a char* too.
19:55:39 <elliott> fizzie: error: ‘_T’ undeclared
19:55:41 <elliott> guess wine doesn't have it
19:55:50 <elliott> and no, it's MessageBox(), which I guess is defined to be MessageBoxA?
19:56:00 <zzo38> elliott: Two of the reasons are: * Optical discs are less expensive in general * Optical discs last longer in general * There are other reasons too
19:56:20 <elliott> zzo38: optical disks last longer than USB disks?
19:56:21 <coppro> that's not two reasons
19:56:22 <elliott> I haven't heard that one.
19:56:23 <fizzie> Yes, but the fact it gets turned to MessageBoxA instead of MessageBoxTheOtherThing indicates ansi.
19:56:33 <Deewiant> s/TheOtherThing/W/
19:56:42 <fizzie> Right.
19:56:56 <coppro> I DO NOT BELIEVE IN ASCII
19:57:04 -!- ais523 has quit (Read error: Connection reset by peer).
19:57:09 <elliott> zzo38: anyway, I thought the point was that you could easily plug a USB DVD drive in, so it saves space overall
19:57:15 * elliott goes back to convincing winegcc to work
19:57:21 <zzo38> The gold edition is currently estimated at $20000.00 although the price will likely go down. Standard edition will be reasonably priced, though, although we cannot yet estimate the price.
19:57:27 <coppro> I BELIEVE IN 1-BYTE UTF-8
19:57:29 * coppro explodes
19:57:30 <elliott> $20000
19:57:36 <elliott> is that a typo
19:57:40 <zzo38> Yes, it is very overpriced.
19:57:40 <coppro> elliott: no
19:58:05 <zzo38> The standard edition will be way less than that. And even the price of the gold edition might not actually be that high, it is just estimate.
19:58:33 <elliott> yay, I just ran a program that uses both fork and MessageBoxA
19:58:36 <olsner> elliott: I think you're supposed to a) define some macro to say whether you want T stuff to mean wchar or char, b) include the header full of T stuff
19:59:02 <zzo38> (I will try to include enough stuff with the gold edition to justify the high price for the purchasers)
19:59:04 <olsner> but using HerpDerpA functions with normal strings should work fine too
19:59:20 <fizzie> You can include <tchar.h> to get the stuff, including the _T thing.
19:59:31 <olsner> the stuff, including the thing :D
19:59:36 <elliott> zzo38: you realise that's approximately five hundred times as expensive as the most expensive consoles, right?
19:59:48 <CakeProphet> woah, I think I just got a job.
20:00:12 <coppro> CakeProphet: where at?
20:00:18 <fizzie> (Or explicitly define _UNICODE I guess, which should make it use to FooW functions that take wchar_t strings.)
20:00:35 <elliott> lmao, the .exe winegcc generates is actually a shell script
20:00:38 <zzo38> elliott: Yes I do realize that. However, I did say that it is possible the price might go way down even before it is actually sold. Also, the standard edition is not going to cost anywhere near that high price, it is going to be a lot a lot less.
20:00:38 <CakeProphet> Wal-Mart. Working the night shift, stocking shit in the wee hours of the morning.
20:01:00 <olsner> so, yet another brainfuck encoding, this one both herps and derps: https://gist.github.com/1013014
20:01:29 <elliott> olsner: did you write this
20:01:38 <olsner> elliott: yeah :/
20:01:53 <elliott> olsner: :(
20:03:08 <coppro> ugh, sometimes I hate thunderbird
20:03:38 <elliott> coppro: me too; for instance: whenever i'm using thunderbird
20:04:02 <coppro> out of curiosity, what do you use?
20:04:11 <elliott> gmail.com because i'm lazy as fuck
20:04:14 <coppro> ah
20:04:18 <elliott> it has a decent UI, at least
20:04:27 <elliott> i've muscle-memoried the keyboard shortcuts mostly
20:04:38 <pikhq> Yeah, it's a non-terrible web UI.
20:04:40 <coppro> my problem with gmail is the filtering was a bit braindead last I tried
20:04:43 <elliott> I couldn't switch to any client without the conversation view, pretty much
20:04:45 <coppro> the UI is good
20:04:46 <pikhq> Which is actually pretty amazing.
20:04:49 <CakeProphet> well, I don't know if I got the job yet, but they're asking me to meet them at the bathroom tomorrow at 10 AM, which PROBABLY means they're going to drug test me, and I'm pretty sure they don't drug test people without hiring them.
20:04:57 <olsner> great, no setting to disable these disgusting automatic smileys in xchat
20:05:04 <elliott> coppro: hmm, the only filters I have are
20:05:07 <elliott> Matches: to:(agora-business@agoranomic.org)
20:05:07 <elliott> Do this: Skip Inbox, Apply label "Agora"[etc.]
20:05:12 <coppro> elliott: yes
20:05:20 <elliott> what do you do that gmail can't handle?
20:05:26 <coppro> but if you try to reapply such a filter after something happens like you accidentally delete a label
20:05:34 <coppro> it filters the whole damn conversation
20:05:38 <coppro> not individual mesasges
20:05:50 <elliott> well... gmail doesn't really have a concept of "message" as something that can move
20:05:53 <coppro> this is unacceptable when I'm using IMAP
20:05:59 <elliott> i don't use imap :)
20:06:19 <coppro> in particular, I keep A-B and A-D in separate folders
20:06:32 <elliott> ugh
20:06:39 <elliott> that's a terrible practice; I did that, but it turns out it makes reading things a royal pain
20:06:49 <elliott> so I stopped as soon as I actually registered
20:07:19 <coppro> now, if I switched to the web UI exclusively now that they have offline access, that would work; I'd have to learn that I can't do the separate folder thing which would be ok if a bit annoying
20:07:56 <coppro> but there are a few other issues that annoy me sufficiently
20:08:13 <elliott> better than thunderbird
20:08:21 <coppro> actually, no
20:08:44 <coppro> well, things in total are better with thunderbird
20:08:49 <elliott> what about Sylpheed/Claws? those are pretty popular with the kind of silly people who use traditional-style desktop mail clients
20:09:02 <coppro> if GMail could act as an IMAP client, I'd like that
20:10:03 <coppro> I very much like the webserver I use
20:10:13 <elliott> what?
20:10:27 <coppro> My email is hosted on a server
20:10:30 <coppro> to which I IMAP
20:10:32 <coppro> I like this server
20:10:45 <elliott> you typo'd; s/webserver/server/
20:10:48 <coppro> ah
20:10:54 <coppro> meant mailserver
20:15:01 <pikhq> "Checking for exit in -lboost_regex"
20:15:04 <pikhq> *facepalm*
20:15:12 <coppro> whee name mangling
20:15:18 <pikhq> DON'T BE RETARDED YOU RETARD
20:17:01 <pikhq> EXIT IS NOT EVER GOING TO BE IN -lboost_regex. EVER.
20:17:23 <Phantom_Hoover> pikhq, where was this?
20:17:39 <pikhq> This is actually in the AX_BOOST_REGEX macro.
20:18:13 <pikhq> It does that test *using C*, no less.
20:18:42 <pikhq> ... It later goes on to do an AC_CHECK_LIB for *main*.
20:18:47 <coppro> wtf
20:18:52 <pikhq> MAIN IS EVEN LESS LIKELY TO BE IN -lboost_regex.
20:18:57 <elliott> im a oifd
20:19:13 <pikhq> FUCK YOU, BOOST. FUCK YOU.
20:19:30 <coppro> elliott: yes ur
20:19:40 <elliott> coppro: cob
20:19:48 <pikhq> Also, FOR THE LOVE OF GOD PEOPLE, USE PKGCONFIG.
20:19:59 <pikhq> IT IS STRICTLY BETTER THAN YOUR STUPID BULLSHIT.
20:20:08 <olsner> I think what it's trying to see is if an empty program can successfully link to -lboost_regex
20:20:27 <pikhq> olsner: Yes, and AC_CHECK_LIB does not do that.
20:20:52 <olsner> it might do that if you give it nonsensical symbol names to check for :P
20:21:23 <pikhq> AC_CHECK_LIB checks to see if you can successfully link a program that contains a reference to a symbol in a given library, *and then execute it*.
20:21:29 <elliott> aoifj
20:23:09 <pikhq> So, if you use a symbol that's not in the library you're checking, you're doing it wrong and you suck.
20:23:24 <pikhq> Did I happen to mention that you should use pkg-config?
20:25:51 <olsner> I do believe that you did
20:26:48 <pikhq> It bears mentioning often. As pkg-config is The Right Answer.
20:27:10 <elliott> olsner: do you know how to get bochs to stop outputting all that junk when it starts up
20:27:27 <olsner> elliott: nope
20:27:32 <elliott> olsner: :(
20:27:38 <elliott> its just such a pain to useeee
20:28:39 <olsner> don't use it then?
20:29:00 <elliott> are you proposing i use qemu :p
20:29:44 <olsner> no, I was actually only proposing you don't use bochs :P
20:30:01 <elliott> psht
20:30:09 <olsner> whether that means replacing it or just ceasing all activity is up to you
20:30:21 <elliott> youre a bad person
20:30:26 <olsner> haha, right
20:30:33 <coppro> I'm a bad person!
20:30:38 <elliott> yes
20:30:40 <elliott> youre all abd people, die
20:30:56 <coppro> I'm not an abd person :(
20:31:09 <elliott> youre the most abd fuckin person ive ever heard of
20:31:25 <coppro> well of course I'm abd fuckin
20:31:25 <olsner> ABD people, the very worst kind of people
20:31:28 <coppro> who isn't?
20:31:36 <elliott> im abd fuckin every day
20:31:51 <olsner> I bet you're extremely syntax too
20:31:57 * pikhq kinda wonders what level of configurability eglibc actually *has*...
20:32:00 <elliott> syntaz actually
20:32:09 <nooga> i like parsing so i will write a parser for a language that you can use to write a parser which is jit compiled and parses text
20:32:25 <pikhq> Most definitely nothing comparable to uclibc, but still, curious.
20:33:48 <nooga> like uh, grep specializer
20:34:02 <olsner> it's the ... grepalizer!
20:34:04 <nooga> i must prove it
20:34:34 <nooga> i did it once but it sucked
20:34:52 <nooga> i want to make a second attempt
20:35:00 <nooga> btw
20:35:14 <olsner> so what makes you think it will go better this time?
20:35:41 <nooga> i was in a hurry because i wanted to show it on my university
20:36:08 <nooga> i've got this Puss Ruby DSL, in which you define grammar and then it generates random strings that comply to that grammar
20:36:45 <nooga> what would happen if one defined a grammar of that DSL to generate random grammar definitions and feed them into the Puss itself
20:37:30 <olsner> pusseption?
20:38:04 <olsner> sorry, I mean P U S S E P T I O N, of course
20:38:19 <nooga> https://github.com/nooga/puss
20:38:33 <nooga> i must check it
20:38:53 <nooga> but i don't want to accidentaly divide by 0
20:38:58 <Phantom_Hoover> The world needs a fresh recursion meme.
20:39:10 <olsner> indeed
20:39:14 <elliott> or
20:39:15 <elliott> not
20:39:26 <Phantom_Hoover> Yo dawg, division by zero, I N C E P T I O N... they're all tired.
20:39:37 <nooga> yep
20:39:46 <olsner> elliott: you mean the ones we have are good enough?
20:39:46 <elliott> division by zero is a recursion meme?
20:39:58 <Phantom_Hoover> elliott, it's often used as one.
20:40:03 <elliott> howso
20:40:06 <elliott> olsner: no i mean they suck
20:40:17 <Phantom_Hoover> By which I mean people reference it when recursion crops up.
20:40:52 <nooga> "The Seventh Voyage", in which a spaceship defect forces Tichy through a series of time vortices, creating a multitude of temporal copies of Tichy.
20:41:01 <nooga> from the Star Diaries by S. Lem
20:41:24 <nooga> could be a good source of confusing paradoxes
20:41:49 <pikhq> Hmm. eglibc is rather less configurable than I'd hoped.
20:42:01 <pikhq> Though still a hell of a lot better than glibc.
20:43:43 <pikhq> It's possible to make a glibc that won't use dlopen with static linking. That's nice, at least.
20:44:09 <nooga> brb
20:44:15 <Phantom_Hoover> nooga, has anyone read the Star Diaries?
20:45:46 <monqy> what's the star diaries
20:45:57 <Phantom_Hoover> monqy, exactly.
20:46:19 <pikhq> Wow, apparently just getting rid of eglibc's locale support suts a giant swath of the libc's size.
20:46:20 <elliott> DAMMIT MAHARBA
20:46:23 <elliott> i'm emailing that bastard
20:46:32 <elliott> You must be logged in and have a valid e-mail address in your preferences to send e-mail to other users.
20:46:33 <elliott> oh come on
20:46:42 * elliott confirms his fucking email address
20:47:09 <elliott> This user has not specified a valid e-mail address, or has chosen not to receive e-mail from other users.
20:47:10 <elliott> lol
20:47:20 <elliott> i guess i will just wait then
20:48:41 <oerjan> SUCKER
20:48:46 <elliott> what
20:48:57 <elliott> shut up tarski............
20:50:15 <oerjan> banach-tarski banach-tarski
20:50:21 <elliott> HYOURE A BANACH
20:50:49 <Phantom_Hoover> Hmm, does Banach-Tarski work as a recursion meme...
20:51:14 <olsner> probably not
20:51:16 -!- KingOfKarlsruhe has quit (Quit: ChatZilla 0.9.87 [Firefox 4.0.1/20110413222027]).
20:51:25 <elliott> i'll ban your ach tarski
20:51:31 <Phantom_Hoover> Not to the layman, no.
20:51:45 <oerjan> banach-tarski works both as a recursion meme and as a recursion meme, separately
20:52:04 <elliott> people who exist suck
20:52:32 <elliott> hmm, LtU has slown down lately
20:52:41 <oerjan> elliott: NEEDS CONTROL GROUP FOR VERIFICATION
20:52:42 <elliott> and Arcane Sentiment hasn't seen a post since April
20:53:47 <Phantom_Hoover> Is Arcane Sentiment written by a Clojure fan?
20:59:21 -!- elliott has quit (Remote host closed the connection).
21:00:03 -!- elliott has joined.
21:00:43 <elliott> is there really no haskell package for fixed-sized arrays...
21:00:45 <elliott> i.e. three by three by three
21:01:03 <elliott> encoded in the type
21:01:20 <elliott> I mean I know I could do ((a,a,a),(a,a,a),(a,a,a)) but that's ugly
21:01:40 <monqy> type Cool a = ((a, a, a), (a, a, a), (a, a, a))
21:02:30 <olsner> elliott: (a,a,a,a,a,a,a,a,a) then? :)
21:02:35 <oerjan> didn't i see a linear algebra package like that when someone was asking for how to do gauss elimination in haskell a while ago
21:03:06 <oerjan> (for bfjoust scoring)
21:03:18 <oerjan> and btw did anyone ever get that implemented
21:03:23 <Phantom_Hoover> elliott, ISTR something like that.
21:03:28 <elliott> well there's
21:03:28 <elliott> hmatrix-static library: hmatrix with vector and matrix sizes encoded in types
21:03:35 <elliott> Phantom_Hoover: there's repa, but that just encodes dimension in type
21:03:39 <elliott> oerjan: nobody has yet, AFAIK
21:03:46 <Phantom_Hoover> Also, aren't you essentially talking about dependent typing?
21:04:18 <elliott> ...no.
21:05:18 <Phantom_Hoover> Um.
21:05:38 <oerjan> elliott: oh wait you actually want arrays, not matrices?
21:05:43 <elliott> oerjan: yeah
21:05:45 <oerjan> i.e. not linalg related
21:05:47 <Phantom_Hoover> I mean, the array type depends on the dimensions, no?
21:05:56 <elliott> Phantom_Hoover: Yes. This has nothing to do with dependent types.
21:06:08 <elliott> If you think it does, you are mistaken about what dependent types are.
21:06:23 <Phantom_Hoover> "In computer science and logic, a dependent type is a type that depends on a value"
21:06:27 <Phantom_Hoover> (WP)
21:06:40 <oerjan> Phantom_Hoover: this is ok without dependent types because you have to encode the dimensions as a _type_, you cannot convert it from a value
21:06:52 <Phantom_Hoover> oerjan, oh, that makes more sense.
21:06:55 <elliott> oerjan: it is ok even if you have values at the type-level.
21:07:00 <elliott> there is no use of the dependent function arrow.
21:07:13 <elliott> it's definitely not dependent typing
21:07:20 <oerjan> elliott: well i mean it's ok in haskell
21:07:28 <elliott> Right.
21:08:23 <oerjan> iirc didn't ghc recently get an extension where integer literals could be used as types, was that for this kind of stuff...
21:08:44 <elliott> It did?
21:08:49 <elliott> That would be really nice, do you have any links?
21:10:01 <elliott> <interactive>:1:2:
21:10:02 <elliott> Couldn't match expected type `()' with actual type `Grid (S n0) a0'
21:10:02 <elliott> In the first argument of `(:*:)', namely `() :*: () :*: ()'
21:10:02 <elliott> In the expression: (() :*: () :*: () :*: X) :: Grid T3 ()
21:10:06 <elliott> derp herp
21:10:44 <elliott> > (9DOLLAR SIGN0:)
21:10:48 <elliott> :(
21:10:50 <elliott> no lambdabot, no dollar sign
21:12:47 <elliott> *Main> :t () :*: ()
21:12:47 <elliott> () :*: () :: Grid n () ~ () => GridS n ()
21:13:04 <elliott> beautiful~
21:13:59 <oerjan> i think : has same precedence as ++, 6 or so
21:14:09 <elliott> Constraint is no smaller than the instance head
21:14:09 <elliott> in the constraint: Show (Grid n t)
21:14:09 <elliott> (Use -XUndecidableInstances to permit this)
21:14:10 <oerjan> or wait
21:14:10 <elliott> sob
21:14:21 <elliott> data GridS n t = t :*: Grid n t
21:14:22 <elliott> deriving instance (Show (Grid n t)) => Show (GridS n t)
21:14:24 <elliott> why is this not ok :(
21:14:39 <oerjan> elliott: um doesn't the (0$0 :) trick work in ghci?
21:15:09 <elliott> oerjan: yes yes yes fix my bug
21:16:30 <oerjan> well "Constraint is no smaller than the instance head" looks pretty accurate
21:17:39 <elliott> but i want the show ;_;
21:19:59 <elliott> <oerjan> i think : has same precedence as ++, 6 or so
21:20:00 <elliott> five actually
21:20:24 <oerjan> ah
21:20:53 <elliott> N :*: (N :*: N) :/: (N :*: (N :*: N) :/: N :*: (N :*: N))
21:20:54 <elliott> oh come on
21:20:56 <oerjan> i may have misunderstood; at least i cannot find these number literal types in the language options
21:21:02 <elliott> I said it was infixr why don't you take that into account :(
21:21:19 <elliott> oerjan: but hey look, planet overkill: http://sprunge.us/IAJR
21:21:33 <oerjan> Show instances don't; we've discussed this before i think
21:21:53 <oerjan> *derived Show instances
21:22:17 <oerjan> define showsPrec yourself if you want it to be nice
21:22:27 <elliott> yeah yeah :D
21:24:57 <elliott> class (Show t => Show (Grid s t)) => Grid s t where
21:25:00 <elliott> that's not a valid constraint, is it.
21:27:57 <oerjan> er no?
21:28:14 <oerjan> you might want a , there
21:28:33 <oerjan> or wait
21:28:49 <Phantom_Hoover> http://www.youtube.com/watch?v=Wiy_eHdj8kg
21:28:55 <Phantom_Hoover> Cool.
21:29:03 <elliott> oerjan: nope
21:29:29 <elliott> oerjan: hmm, now i'm venturing into dependent typey territory (wanted to make xs!n a type error if n is too big :D)
21:32:41 <elliott> argh... this is irritating
21:47:59 <elliott> oerjan: i'm still working on it :D
21:49:45 <elliott> oh
21:49:46 <elliott> this won't work
21:49:48 <elliott> because of how I... argh
21:53:55 <nooga> i'm writing an infinite, recursive loop that won't kill the stack :D
21:54:02 <nooga> in C
21:55:17 <oerjan> _portable_ C?
21:59:16 -!- wareya has quit (Read error: Connection reset by peer).
22:00:10 -!- wareya has joined.
22:01:38 <elliott> oerjan: i wish haskell had proper overloaded integers :(
22:01:57 <elliott> (you can't define a LessThanFour type where (4 :: LessThanFour) causes a type error)
22:02:27 -!- azaq23 has quit (Quit: Leaving.).
22:04:09 * Phantom_Hoover → sleep
22:04:30 -!- Phantom_Hoover has quit (Quit: Leaving).
22:14:16 <nooga> oerjan: i use cdecl and pop function address from the stack as an argument
22:14:52 <elliott> nooga: so, not portable.
22:15:30 <nooga> who cares
22:15:39 <nooga> it's a hack
22:15:41 <oerjan> PERFECTIONISTS
22:17:14 <elliott> nooga: well it's not /C/
22:18:11 <nooga> nor /b/
22:18:23 <olsner> nor /d/
22:24:41 -!- oscuro has joined.
22:24:44 -!- oscuro has quit (Client Quit).
22:44:53 -!- augur has quit (Remote host closed the connection).
22:50:14 <pikhq> nooga: You could just assume GNU C and make it easy on yourself. :P
22:51:49 <elliott> For example, ''pabi'' plus ''raha'' (5) is written ''gahaha pabi raha''.
22:51:51 <elliott> gahaha
22:51:55 <elliott> monqy: gahaha
22:52:47 <monqy> mmmm syl
22:53:21 <monqy> gahaha is a good name for addition
22:56:58 -!- MigoMipo has quit (Read error: Connection reset by peer).
23:04:38 -!- olsner has quit (Quit: Leaving).
23:05:25 <elliott> pikhq: hey i'm reading a log where you mock me for proposing writing everything above the kernel and drivers in a high-level language because you'd need a supercomputer to do anything :D
23:05:27 <elliott> thought you should know
23:06:37 <nooga> O-o
23:06:50 <elliott> nooga: its ok hes less of a terrible person now
23:06:56 <elliott> SLIGHTLY LESS
23:07:06 <pikhq> nooga: I have learned that C sucks terribly.
23:07:20 <nooga> i heard that i'm a terrible person
23:07:24 <elliott> lol apparently Singularity is proof that nothing good will come from Microsoft ever :DDDD
23:07:30 <elliott> it's ok to mock all you guyses past selves right
23:07:35 <pikhq> And that smart algorithms > smart microöptimizations, 99% of the time.
23:07:35 <elliott> i mean i do it to your present selves so i figure
23:07:45 <nooga> from GLaDOS while playing portal 2
23:08:01 <elliott> 00:32:36: <ehird> Bring back Lisp Machines! Write the OS in Lisp and let the user-mode language be Haskell!
23:08:01 <elliott> 00:32:49: <ehird> VIVA LA GRAPH REDUCIÃ<93>N!
23:08:02 <elliott> 00:33:23: <pikhq> You say this because you are unfamiliar with anything more low-level than a simple GUI. :P
23:08:03 <elliott> hurt my feelings :(
23:08:09 <elliott> (vim messing up the unicode, that is)
23:08:54 <pikhq> Also, if you're *going* to do C, it should suck less.
23:09:19 <elliott> apparently if lisp machines were at all good at anything they would still be being made because there's a niche market for them :x
23:09:22 -!- Tritonio has joined.
23:09:49 <CakeProphet> Haskell machine?
23:09:59 <nooga> someone should make a lisp cluster in one FPGA chip
23:10:05 <elliott> CakeProphet: Reduceron
23:10:06 <elliott> http://www.cs.york.ac.uk/fp/reduceron/
23:10:06 <CakeProphet> massive thunk registers.
23:10:11 <elliott> nooga: stanislav is ostensibly working on a lisp fpga :P
23:10:17 <nooga> oh
23:10:19 <elliott> CakeProphet: It's a symbolic graph-reduction FPGA machine
23:10:28 <elliott> CakeProphet: Specified in York Lava, which is a Haskell library for declarative hardware
23:10:35 <elliott> It's the coolest damn thing ever
23:10:49 <nooga> declarative hardware sounds mind blowing
23:10:54 <CakeProphet> I'm not sure if your definition of cool is representative.
23:11:05 -!- dnm_ has left.
23:11:09 <elliott> CakeProphet: How is this not cool.
23:11:19 <elliott> nooga: see YorkLava.txt in http://www.cs.york.ac.uk/fp/reduceron/york-lava.tar.gz
23:11:25 <elliott> nooga: also, ais' work is similar to this
23:11:33 <elliott> in that he's working on something "one level up" from VHDL
23:11:37 <elliott> that's declarative
23:11:55 <elliott> that's why he's spending his days compiling algol 60 code into vhdl :)
23:12:04 -!- Patashu has joined.
23:12:24 <elliott> But yeah, the Reduceron is just the coolest thing. and the memos are mind-expanding.
23:12:46 <CakeProphet> I've heard similar things about various drugs.
23:12:52 <elliott> Shush you.
23:13:17 <nooga> cool
23:13:38 <elliott> nooga: but yeah, the entire Reduceron is specified in York Lava
23:13:58 <elliott> there's also an emulator in ~seven hundred and fifty lines of C
23:14:03 <elliott> (including whitespace and comments)
23:14:09 <elliott> with speculative evaluation, too
23:14:10 <Patashu> what are we talking about?
23:14:18 <elliott> Patashu: The Reduceron http://www.cs.york.ac.uk/fp/reduceron/
23:14:20 <nooga> yeah, i'm reading the emulator src ;]
23:14:23 <nooga> at the moment
23:14:32 <nooga> or rather browsing it
23:14:33 <elliott> Patashu: a purely-functional, symbolic graph reducing CPU architecture
23:14:36 <elliott> implemented on FPGAs
23:14:49 <Patashu> wait what
23:14:56 <elliott> Define "wait what" :P
23:15:13 <elliott> nooga: look at fpga/Reduceron/Reduceron.vhd... gotta love generated code :D
23:15:18 <Patashu> so it's haskell in ur circuitry
23:15:28 <elliott> Patashu: "ur circuitry"?
23:15:46 <elliott> The actual stuff the Reduceron evaluates is more like term-rewriting languages (think Q, Pure) than Haskell
23:15:51 <elliott> But yes, it's functional hardware.
23:16:08 <elliott> Defined with York Lava, which is a Haskell library for declarative hardware development that outputs to VHDL. I feel like I'm repeating myself.
23:16:13 <elliott> Probably because I am repeating myself.
23:19:47 <CakeProphet> !addinterp len perl $_=<>;print length
23:19:47 <EgoBot> ​Interpreter len installed.
23:19:56 <elliott> !delinterp len
23:19:57 <EgoBot> ​Interpreter len deleted.
23:19:58 -!- augur has joined.
23:20:01 <elliott> !addinterp len sh wc -c
23:20:01 <EgoBot> ​Interpreter len installed.
23:20:06 <elliott> !len abcd
23:20:07 <EgoBot> ​5
23:20:12 <elliott> !delinterp len
23:20:13 <EgoBot> ​Interpreter len deleted.
23:20:15 <elliott> !addinterp wc sh wc
23:20:16 <EgoBot> ​Interpreter wc installed.
23:20:18 <elliott> !wc abc def
23:20:18 <EgoBot> ​1 2 8
23:20:25 <elliott> !delinterp wc
23:20:25 <EgoBot> ​Interpreter wc deleted.
23:20:34 <elliott> !addinterp wc sh wc -wm
23:20:34 <EgoBot> ​Interpreter wc installed.
23:20:35 <CakeProphet> I think what you're looking for is..
23:20:37 <elliott> !wc abc def
23:20:38 <EgoBot> ​2 8
23:20:41 <elliott> Excellent.
23:20:45 <CakeProphet> nope..
23:20:49 <elliott> Nope?
23:20:54 <elliott> It shows words, and characters.
23:20:57 <nooga> elliott: lol at the vhdl code
23:20:58 <elliott> Looks good to me.
23:21:16 <elliott> nooga: you should look through the memos, they're really cool
23:21:26 <CakeProphet> !delinterp wc
23:21:27 <EgoBot> ​Interpreter wc deleted.
23:21:27 <nooga> i will, but tomorrow
23:21:28 <CakeProphet> !addinterp len perl $_=<>;print `wc $_`
23:21:28 <EgoBot> ​Interpreter len installed.
23:21:37 <elliott> CakeProphet: ...
23:21:40 <elliott> for a start
23:21:41 <elliott> that won't work
23:21:43 <elliott> for a second
23:21:44 <nooga> got to go, good night
23:21:44 <elliott> SRSLY?
23:21:50 <CakeProphet> elliott: what won't work?
23:21:53 <elliott> nooga: night
23:21:54 <elliott> CakeProphet: your perl
23:22:01 <CakeProphet> ...because?
23:22:10 <elliott> `wc $_`
23:22:12 <HackEgo> No output.
23:22:21 <CakeProphet> ...uh, okay?
23:22:26 <CakeProphet> !wc -c "sup dawg"
23:22:26 <elliott> think about it.
23:22:38 <elliott> fail
23:22:38 <CakeProphet> I am.
23:22:39 <elliott> you forgot sh
23:22:44 <elliott> !sh wc -c "sup dawg"
23:22:44 <EgoBot> ​/usr/bin/wc: sup dawg: No such file or directory
23:22:52 <elliott> btw, it's actually
23:22:53 <elliott> !sh wc -c sup dawg
23:22:54 <EgoBot> ​/usr/bin/wc: sup: No such file or directory
23:22:55 <elliott> you don't quote it at all
23:23:08 <CakeProphet> why do I sh?
23:23:25 <elliott> what?
23:23:33 <CakeProphet> ` ` /is/ sh...
23:23:34 <HackEgo> No output.
23:23:45 <elliott> i meant in
23:23:47 <elliott> <CakeProphet> !wc -c "sup dawg"
23:24:11 <CakeProphet> ?
23:24:14 <CakeProphet> I forgot sh in that?
23:24:16 <elliott> sigh
23:24:26 <elliott> your version is borken, simple as :P
23:26:16 -!- nooga has quit (Ping timeout: 258 seconds).
23:26:53 <CakeProphet> !addinterp wc perl $_=<>;print `wc $_`
23:26:53 <EgoBot> ​Interpreter wc installed.
23:26:57 <CakeProphet> !wc -c sup dawg
23:26:58 <EgoBot> ​/usr/bin/wc: sup: No such file or directory
23:27:11 <CakeProphet> lol
23:27:20 <CakeProphet> !delinterp len
23:27:20 <EgoBot> ​Interpreter len deleted.
23:28:53 <CakeProphet> !delinterp wc
23:28:53 <EgoBot> ​Interpreter wc deleted.
23:29:03 <elliott> hmm
23:29:19 <CakeProphet> not useful if I can't specify options as well as the standard input.
23:29:24 <elliott> i'm doing so
23:29:35 <CakeProphet> with Perl right? :P
23:29:42 <elliott> nope
23:29:59 <CakeProphet> not going to be as awesome then...
23:30:36 <elliott> !addinterp wc sh text=`cat`; opts=`echo "$text" | sed 's/\b[^-].*//'`; text=`echo "$text" | sed 's/.*\b\([^-]\)/\1/'`; echo "$text" | wc $opts
23:30:37 <EgoBot> ​Interpreter wc installed.
23:30:39 <elliott> `wc abc
23:30:41 <HackEgo> No output.
23:30:45 <elliott> !wc abc
23:30:46 <EgoBot> ​1 1 4
23:30:49 <CakeProphet> oh god...
23:30:50 <elliott> !wc -c abc
23:30:51 <EgoBot> ​1 1 4 -
23:30:55 <elliott> bah
23:30:56 <elliott> i'll fix it later
23:34:08 -!- FireFly has quit (Remote host closed the connection).
23:34:20 -!- BeholdMyGlory has quit (Remote host closed the connection).
23:36:06 <CakeProphet> !perl $_="test";@x=s/test//g;print @x
23:36:07 <EgoBot> ​1
23:36:23 * elliott drools over the reduceron memos some more
23:36:57 <elliott> "To see the impact of the dynamic sharing analysis, look at the
23:36:57 <elliott> differences between the numbers of updates and unwinds. Without any
23:36:58 <elliott> sharing analysis, these numbers would be the same. On average, the
23:36:58 <elliott> dynamic sharing analysis avoids 60% of updates."
23:37:41 <elliott> oerjan when i make the perfect computer you can have one ok
23:37:47 * elliott kind
23:41:13 <oerjan> OK
23:41:37 <elliott> oerjan: you were meant to say "thank you you are so kind"
23:42:07 -!- pikhq_ has joined.
23:42:07 <oerjan> Danke schön, Sie sind so Kind
23:42:33 <oklopol> :D
23:42:43 <elliott> caret _______ caret
23:42:48 * oerjan whistles innocently
23:42:50 <elliott> oops now you guys know my widemouthed secret too
23:45:31 -!- pikhq has quit (Ping timeout: 260 seconds).
23:45:51 <CakeProphet> !addinterp wc2 perl $_=<>; $r=qr/^\w*([-]\W*\w*)*/; $opt=join(' ', m/$r/); s/$r//;print `echo "$_" | wc $opt`
23:45:51 <EgoBot> ​Interpreter wc2 installed.
23:46:01 <CakeProphet> !wc2 -c sup dawg
23:46:02 <EgoBot> ​11
23:46:07 <CakeProphet> ...not quite.
23:46:30 -!- Tritonio has quit (Quit: Leaving).
23:46:32 <elliott> stop using perl asshole
23:46:35 <elliott> :(
23:46:48 <elliott> `run echo "-abc donkeys" | sed 's/\b[^-].*//'
23:46:49 <HackEgo> ​-
23:46:51 <elliott> ...
23:46:52 <CakeProphet> ..asshole? What about Perl makes me an asshole.
23:46:59 <elliott> CakeProphet: perl :|
23:47:00 <elliott> ok now for good sh time
23:47:11 <elliott> `run echo "-abc donkeys" | sed 's/\( \|^\)[^-].*//'
23:47:13 <HackEgo> ​-abc
23:47:29 <elliott> `run echo "-abc donkeys" | sed 's/.*\( \|^\)\([^-]//'
23:47:31 <HackEgo> No output.
23:47:36 <elliott> `run echo "-abc donkeys" | sed 's/.*\( \|^\)\([^-]\)/\/'
23:47:36 <elliott> fuck
23:47:37 <HackEgo> No output.
23:47:37 <elliott> X just fucked up
23:47:43 <CakeProphet> !delinterp wc2
23:47:43 <EgoBot> ​Interpreter wc2 deleted.
23:47:45 -!- elliott has quit (Remote host closed the connection).
23:48:11 -!- elliott has joined.
23:48:45 <elliott> !addinterp wc sh text=`cat`; opts=`echo "$text" | sed 's/\( \|^\)[^-].*//'`; text=`echo "$text" | sed 's/.*\( \|^\)\([^-]\)/\2/'`; echo "$text" | wc $opts
23:48:45 <EgoBot> ​There is already an interpreter for wc!
23:48:48 <elliott> !delinterp wc
23:48:48 <EgoBot> ​Interpreter wc deleted.
23:48:48 <elliott> !addinterp wc sh text=`cat`; opts=`echo "$text" | sed 's/\( \|^\)[^-].*//'`; text=`echo "$text" | sed 's/.*\( \|^\)\([^-]\)/\2/'`; echo "$text" | wc $opts
23:48:49 <EgoBot> ​Interpreter wc installed.
23:48:54 <elliott> !wc abc
23:48:54 <EgoBot> ​1 1 4
23:48:58 <elliott> !wc -c abc
23:48:59 <EgoBot> ​4
23:49:08 <elliott> hmm...
23:49:08 <elliott> oh
23:49:10 <elliott> !delinterp wc
23:49:10 <EgoBot> ​Interpreter wc deleted.
23:49:16 <elliott> !addinterp wc sh text=`cat`; opts=`echo "$text" | sed 's/\( \|^\)[^-].*//'`; text=`echo "$text" | sed 's/.*\( \|^\)\([^-]\)/\2/'`; echo -n "$text" | wc $opts
23:49:17 <EgoBot> ​Interpreter wc installed.
23:49:20 <elliott> !wc -c abc
23:49:20 <EgoBot> ​3
23:49:23 <elliott> nice
23:49:27 <elliott> !wc -m abc
23:49:28 <EgoBot> ​3
23:49:29 <elliott> !wc -l abc
23:49:29 <EgoBot> ​0
23:49:32 <elliott> !wc -wm abc
23:49:33 <EgoBot> ​1 3
23:49:34 <elliott> !wc -w -m abc
23:49:35 <EgoBot> ​1 3
23:49:39 <elliott> CakeProphet: bow to your new god
23:49:44 <CakeProphet> !addinterp wc2 perl $_=<>; $r=qr/^\w*([-]\W+\w+)*/; m/$r/; $opt=$1; s/$r//;print `echo "$_" | wc $opt`
23:49:44 <EgoBot> ​Interpreter wc2 installed.
23:49:48 <CakeProphet> !wc -wm abc
23:49:49 <EgoBot> ​1 3
23:50:04 <CakeProphet> AWWW YEAH I'M LEIBNIZ
23:50:05 <elliott> fail
23:50:08 <elliott> <CakeProphet> !addinterp wc2
23:50:10 <elliott> <CakeProphet> !wc
23:50:13 <CakeProphet> ROFL
23:50:17 <CakeProphet> -ahem-
23:50:23 <CakeProphet> that's because you STOLE It.
23:50:33 <CakeProphet> !wc2 -wm abc
23:50:34 <EgoBot> ​2 2 9
23:50:37 <CakeProphet> haha
23:50:40 <oklopol> why are there bans on this channel
23:50:45 <oklopol> could someone please remove them all
23:51:09 <cheater_> they're all for you
23:51:09 <elliott> why
23:51:09 <cheater_> :(
23:51:15 <cheater_> in case you ever want to use those hosts
23:51:17 <oklopol> they irk me
23:51:18 <cheater_> :D
23:51:21 <elliott> * #esoteric Banlist: Tue Mar 29 04:26:23 honey!*@beehive.insectopia.us kornbluth.freenode.net
23:51:24 <elliott> thats an important ban oklopol
23:51:26 <CakeProphet> !delinterp wc2
23:51:26 <EgoBot> ​Interpreter wc2 deleted.
23:51:28 <oklopol> why
23:51:31 <elliott> because honey
23:51:33 <elliott> we are at war
23:51:34 <elliott> with the bees
23:51:45 <oklopol> please remove that
23:51:47 <elliott> you should totally remove the shutup bans though oerjan
23:51:49 <cheater_> i have a bee nest outside my window
23:51:51 <cheater_> not joking here
23:51:56 <oklopol> oerjan: could you remove the bans
23:52:08 <oklopol> really think those people are trying to get in?
23:52:30 <elliott> shutup would definitely return if its ban was removed
23:53:30 <CakeProphet> !addinterp wc2 perl $_=<>;chomp;/^\w*([-]\W+\w+)*/;$opt=$1;s/$opt//;print `echo "$_" | wc $opt`
23:53:31 <EgoBot> ​Interpreter wc2 installed.
23:53:37 <CakeProphet> !wc2 -c abc
23:53:37 <EgoBot> ​1 2 7
23:53:42 <CakeProphet> ...?
23:53:44 <elliott> lol
23:54:29 <oerjan> we already did a ban list cleanup not _that_ long ago
23:54:53 <oklopol> those are all over a month old
23:55:26 <elliott> definitely think we need shutup unbanned
23:55:37 <CakeProphet> elliott: fix my program for me.
23:55:42 <oerjan> ...by which i mean something like < 6 months ago
23:55:44 <elliott> CakeProphet: i did, by rewriting it in sh, in the past
23:56:00 <CakeProphet> !delinterp wc2
23:56:00 <EgoBot> ​Interpreter wc2 deleted.
23:56:44 <CakeProphet> !addinterp wc2 perl $_=<>;chomp;/^\w*([-]\W+\w+)*/;$opt=$1;s/$opt//;print;#print `echo "$_" | wc $opt`
23:56:44 <EgoBot> ​Interpreter wc2 installed.
23:56:49 <CakeProphet> !wc2 -c test teorkjwerijwer
23:56:49 <EgoBot> ​-c test teorkjwerijwer
23:57:02 <CakeProphet> ...WHUT.
23:57:22 <elliott> nt;#
23:57:34 <elliott> t//;print;#print `ec
23:57:34 <CakeProphet> yes I know that was intentional.
23:57:35 <elliott> to be precise
23:57:47 <elliott> homp;/^\w*([-]\W+\w+)*/;$o
23:57:53 <elliott> well thats not... kosher.
23:57:57 <elliott> or is it.
23:57:58 <elliott> hmm.
23:58:03 <elliott> is that a boolean matching?
23:58:03 -!- lambdabot has joined.
23:58:03 <CakeProphet> what?
23:58:07 <CakeProphet> yes.
23:58:26 <CakeProphet> ah I know what I could do...
23:58:31 <CakeProphet> !delinterp wc2
23:58:32 <EgoBot> ​Interpreter wc2 deleted.
23:58:47 * oerjan hugs lambdabot
23:59:20 <CakeProphet> !addinterp wc2 perl $_=<>;chomp;s/^\w*([-]\W+\w+)*//;$opt=$1;print;#print `echo "$_" | wc $opt`
23:59:20 <EgoBot> ​Interpreter wc2 installed.
23:59:23 <CakeProphet> !wc2 -c test
23:59:24 <EgoBot> ​-c test
23:59:25 <CakeProphet> ....
23:59:33 <CakeProphet> something's wrong with the regex then.
23:59:55 <CakeProphet> ooooh
23:59:57 <CakeProphet> right. :P
←2011-06-06 2011-06-07 2011-06-08→ ↑2011 ↑all