←2009-06-23 2009-06-24 2009-06-25→ ↑2009 ↑all
00:09:07 <lament> @vixen \o/
00:09:07 <myndzi> |
00:09:07 <myndzi> /`\
00:09:08 <lambdabot> whatever
00:10:06 <ehird> wow
00:10:12 <ehird> a whatever wedged inside them
00:12:42 <lament> on my screen the whatever is last
00:13:25 <lament> @vixen nexiv@
00:13:25 <lambdabot> I'm your huckleberry
00:13:36 <lament> @vixen peep peep peep
00:13:37 <lambdabot> i'm the type of girl that finds Don Knotts very sexy
00:13:49 <lament> @vixen haskell haskell haskell haskell haskell haskell haskell haskell
00:13:49 <lambdabot> church is my favourite computer scientist.
00:14:04 <ehird> @. vixen . vixen . vixen . vixen vixen Hurr recursion
00:14:04 <lambdabot> yeah, it is
00:14:11 <ehird> :D
00:14:25 <lament> @. vixen . vixen . vixen . vixen vixen hi
00:14:29 <lament> @. vixen . vixen . vixen . vixen vixen hi
00:14:30 <lambdabot> how cool?
00:14:35 <lament> @. vixen . vixen . vixen vixen hi
00:14:36 <lambdabot> good good
00:14:39 <lament> @. vixen . vixen vixen hi
00:14:40 <lambdabot> So, tell me your biggest and darkest secret. Something that no one knows of you.
00:14:43 <lament> @. vixen vixen hi
00:14:44 <lambdabot> hiya
00:14:49 <ehird> lament: why don't you marry @vixen?
00:14:51 <lament> @ vixen hi
00:14:55 <lament> blah
00:14:56 <lament> @vixen hi
00:14:57 <lambdabot> hi
00:15:13 <lament> @vixen why don't you marry ehird?
00:15:13 <lambdabot> maybe i will one day
00:15:26 <ehird> :D
00:15:27 <ehird> lol
00:15:39 -!- inurinternet has quit (No route to host).
00:27:34 <AnMaster> is @vixen some alice bot or such?
00:27:55 <ehird> AnMaster: it's the source to some cybering bot designed for yuks
00:28:23 <AnMaster> uhu
00:28:35 <AnMaster> in lambdabot?
00:28:45 <lament> @vixen what are you doing tonight?
00:28:46 <lambdabot> just chattin
00:28:52 <lament> @vixen wanna go to the movies instead?
00:28:53 <lambdabot> i'll hafta plead the fifth on that one.
00:28:53 <ehird> http://code.haskell.org/lambdabot/Plugin/Vixen.hs
00:29:05 <ehird> AnMaster: it's a copy
00:29:25 <ehird> @vixen-on
00:29:29 <ehird> Wonder what this does.
00:29:31 <lambdabot> Not enough privileges
00:29:31 <ehird> Nothing.
00:29:33 <ehird> Aw.
00:29:47 <ehird> AnMaster: also http://code.haskell.org/lambdabot/State/vixen.
00:30:25 <AnMaster> ehird, that opens in khexedit?
00:30:33 <ehird> It has non-ASCII values.
00:30:38 <AnMaster> right
00:30:40 <AnMaster> but what is it
00:30:46 <AnMaster> data?
00:30:50 <AnMaster> or state
00:30:51 <ehird> The match/reply set for @vixen.
00:30:57 <ehird> Mostly human readable.
00:30:58 <AnMaster> why "state" then -_-
00:31:06 <ehird> AnMaster: Because it's the state for the vixen plugin.
00:31:21 <ehird> http://code.haskell.org/lambdabot/State/
00:31:22 <AnMaster> ehird, seems more like read only data than state to me
00:31:41 <ehird> shrug; see http://code.haskell.org/lambdabot/Plugin/Vixen.hs
00:35:58 <lament> @vixen do you speak Chinese?
00:35:59 <lambdabot> i do occassionally, i guess
00:36:10 <lament> great answer
00:36:14 <lament> @vixen do you play the violin?
00:36:14 <lambdabot> yes i do
00:36:18 <lament> @vixen do you play the trombone?
00:36:19 <lambdabot> maybe. do you?
00:36:22 <lament> @vixen do you play the flute?
00:36:22 <lambdabot> maybe. do you?
00:36:24 <lament> @vixen do you play the piano?
00:36:25 <lambdabot> maybe. do you?
00:36:29 <lament> @vixen do you play the harpsichord?
00:36:30 <lambdabot> yes i do
00:36:32 <lament> @vixen do you play the bassoon?
00:36:33 <lambdabot> i do occassionally, i guess
00:36:38 <lament> @vixen do you play the triangle?
00:36:38 <lambdabot> yes i do
00:36:44 <lament> @vixen do you play the tuba?
00:36:44 <lambdabot> i do occassionally, i guess
00:36:48 <lament> @vixen do you play the guitar?
00:36:49 <lambdabot> yes i do
00:36:55 <lament> @vixen do you play the saxophone?
00:36:56 <lambdabot> no phone, sorry
00:36:59 <lament> no phone :(
00:37:25 <ehird> XD
00:38:40 -!- Gracenotes has joined.
00:44:37 <ehird> hi GregorR
00:44:38 <ehird> ...
00:44:39 <ehird> Gracenotes:
00:45:22 <Gracenotes> what has been up
00:45:49 <ehird> lambdabot is now an acquaintance of ours.
00:46:09 <Gracenotes> that is fortunate
00:47:09 <ehird> @vixen that is fortunate
00:47:10 <lambdabot> nothing good is on TV
00:47:18 <ehird> e only likes us 'cuz we're amusing.
00:50:19 <Gracenotes> @vixen hey there sexy
00:50:19 <lambdabot> sexy or sexy bitch?
00:53:09 <lament> @vixen sexy bitch
00:53:09 <lambdabot> sexy or sexy bitch?
00:53:18 <lament> @vixen sexy or sexy bitch?
00:53:19 <lambdabot> sexy or sexy bitch?
00:53:29 <lament> @vixen sexy or sexy bitch?
00:53:30 <lambdabot> sexy is such an over used word. be more descriptive
00:53:32 <lament> @vixen sexy or sexy bitch?
00:53:33 <lambdabot> how sexy?
00:53:34 <lament> @vixen sexy or sexy bitch?
00:53:35 <lambdabot> sexy is such an over used word. be more descriptive
00:53:45 <Warrigal> @. vixen vixen hey there, sexy
00:53:46 <lambdabot> sexy or sexy bitch?
00:54:08 <lament> @vixen hey there, sexy bitch
00:54:09 <lambdabot> sexy or sexy bitch?
00:54:18 <lament> @vixen hey there,
00:54:20 <lambdabot> hiya
00:54:32 <lament> @vixen David slowed his pace slightly as his ears,
00:54:32 <lambdabot> Wouldn't it be funny if I really was a super model?
00:54:37 <lament> @vixen David slowed his pace slightly as his ears,
00:54:38 <lambdabot> how
00:54:39 <lament> @vixen David slowed his pace slightly as his ears,
00:54:40 <lambdabot> yes
00:54:41 <lament> @vixen David slowed his pace slightly as his ears,
00:54:41 <lambdabot> what type of music do you like?
00:54:42 <lament> @vixen David slowed his pace slightly as his ears,
00:54:43 <lambdabot> Prolly
00:54:44 <lament> @vixen David slowed his pace slightly as his ears,
00:54:44 <lambdabot> why me? :)
00:56:34 <lament> @yow
00:56:34 <lambdabot> So this is what it feels like to be potato salad
01:03:00 -!- ehird has changed nick to ehird}.
01:03:01 -!- ehird} has changed nick to ehird.
01:14:15 <ehird> pikhq: never read this Haskell I'm writing, it's such a quick hack
01:14:35 <ehird> well ok it isn't that bad
01:14:54 <lament> @quote
01:14:55 <lambdabot> tomasz says: After all, return is only a fancy name for liftM0 :-)
01:15:51 * pikhq is thinking about Pi.
01:16:24 <lament> why not about Khq?
01:16:32 <pikhq> The constant.
01:16:58 -!- Mathematica has joined.
01:17:02 <ehird> Mathematica: 2+2
01:17:12 <ehird> Great failure!
01:17:21 -!- Mathematica has quit (Remote closed the connection).
01:17:34 -!- Mathematica has joined.
01:17:39 <ehird> fucktest
01:17:44 <ehird> oh
01:18:05 -!- Mathematica has quit (Remote closed the connection).
01:18:45 -!- Mathematica has joined.
01:18:51 <ehird> Mathematica: 2+2
01:19:00 <Warrigal> % 2+2
01:19:02 -!- Mathematica has quit (Remote closed the connection).
01:19:16 -!- Mathematica has joined.
01:19:19 <ehird> Mathematica: 2+2
01:19:30 <ehird> ["leguin.freenode.net","401","Mathematica","#esoteric","Mathematica :No such nick/channel"]
01:19:30 <ehird> ["leguin.freenode.net","421","Mathematica","Copyright","Unknown command"]
01:19:32 <ehird> ["leguin.freenode.net","421","Mathematica","In[1]","= :Unknown command"]
01:19:34 <ehird> ["leguin.freenode.net","421","Mathematica","Out[1]=","Unknown command"]
01:19:36 <ehird> ["leguin.freenode.net","421","Mathematica","In[2]","= :Unknown command"]
01:20:12 <lament> @vixen lambda
01:20:12 <lambdabot> do you trust the government?
01:20:19 -!- Mathematica has quit (Remote closed the connection).
01:20:21 <lament> land of lisp!!!
01:20:41 <ehird> :D
01:20:45 -!- Mathematica has joined.
01:20:48 <ehird> Mathematica: 2+2
01:20:56 * ehird drums fingers on table.
01:20:58 <lament> > 2+2
01:21:00 <lambdabot> 4
01:21:06 -!- Mathematica has quit (Remote closed the connection).
01:21:07 <lament> HASKELL is FASTER!
01:21:19 -!- Mathematica has joined.
01:21:22 <ehird> Mathematica: 2+2
01:21:27 <ehird> WTF
01:21:35 <ehird> Ohhhhhh
01:21:46 -!- Mathematica has quit (Remote closed the connection).
01:22:08 -!- Mathematica has joined.
01:22:10 <ehird> Mathematica: 2+2
01:22:18 <ehird> Fuck my life.
01:22:24 -!- Mathematica has quit (Remote closed the connection).
01:22:35 -!- Mathematica has joined.
01:22:40 <ehird> Mathematica: 2+2
01:22:46 <ehird> ["leguin.freenode.net","401","Mathematica","#esoteric","Mathematica :No such nick/channel"]
01:22:57 <ehird> hPutStrLn h ("PRIVMSG " ++ channel ++ ":" ++ res')
01:22:58 <ehird> Oh.
01:22:59 <ehird> No space.
01:23:07 <lament> @vixen I just need my space!
01:23:08 <lambdabot> what's worth more a flush or a full house?
01:23:08 -!- Mathematica has quit (Remote closed the connection).
01:23:21 -!- Mathematica has joined.
01:23:24 <ehird> Mathematica: 2+2
01:23:25 <Mathematica> Mathematica 7.0 for Mac OS X x86 (64-bit) Copyright 1988-2008 Wolfram Research, Inc. In[1]:= Out[1]= 4 In[2]:=
01:23:33 <ehird> Mathematica: Range[1000]
01:23:33 <Mathematica> Mathematica 7.0 for Mac OS X x86 (64-bit) Copyright 1988-2008 Wolfram Research, Inc. In[1]:= Out[1]= {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, > 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, > 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 4...
01:23:49 <ehird> TODO: Fix the formatting, make it give long shit somehow.
01:23:59 <ehird> Mathematica: PrimeQ /@ Range[10]
01:23:59 <Mathematica> Mathematica 7.0 for Mac OS X x86 (64-bit) Copyright 1988-2008 Wolfram Research, Inc. In[1]:= Out[1]= {False, True, True, False, True, False, True, False, False, False} In[2]:=
01:24:12 <ehird> Mathematica: Sum[(PrimeQ /@ Range[10])[[i]], {i, 10}]
01:24:13 <Mathematica> Mathematica 7.0 for Mac OS X x86 (64-bit) Copyright 1988-2008 Wolfram Research, Inc. In[1]:= Out[1]= 6 False + 4 True In[2]:=
01:25:08 <ehird> Mathematica: Table[PrimeQ, 10]
01:25:09 <Mathematica> Mathematica 7.0 for Mac OS X x86 (64-bit) Copyright 1988-2008 Wolfram Research, Inc. In[1]:= Table::itform: Argument 10 at position 2 does not have the correct form for an iterator. Out[1]= Table[PrimeQ, 10] In[2]:=
01:25:18 <ehird> Mathematica: 1/0
01:25:19 <Mathematica> Mathematica 7.0 for Mac OS X x86 (64-bit) Copyright 1988-2008 Wolfram Research, Inc. In[1]:= 1 Power::infy: Infinite expression - encountered. 0 Out[1]= ComplexInfinity In[2]:=
01:25:48 <ehird> Hey guys, I forgot to chroot it. Don't fuck things up. :P
01:25:51 -!- Mathematica has quit (Remote closed the connection).
01:25:53 <ehird> Ha.
01:25:59 <ehird> I got you all excited.
01:25:59 <ehird> Maybe.
01:39:43 * pikhq wants to make a function for corecursing the digits...
01:41:04 <Warrigal> Corecursing? Is that like folding or unfolding?
01:41:14 <ehird> pikhq: Wait, you know what corecursion is already? Fuck, I haven't worked that out yet! :-P
01:41:24 <ehird> Oh.
01:41:32 <ehird> It's just infinite data structures. Sort of.
01:41:41 <ehird> http://en.wikipedia.org/wiki/Corecursion
01:41:50 <ehird> pikhq: digits of what, anyway?
01:41:58 <pikhq> Pi.
01:42:25 <pikhq> http://fabrice.bellard.free.fr/pi/pi_n2/pi_n2.html Fabrice Bellard seems to have a nice one for arbitrary bases.
01:42:32 <ehird> ah
01:42:39 <ehird> there's an O(n) one for base-16 isn't there?
01:44:12 <pikhq> No, from what I understand O(n^2) is the best one.
01:44:21 <pikhq> (for finding arbitrary digits)
01:44:25 <ehird> algo looks quite complex
01:44:32 <ehird> but very managable in haskell; maybe not in one line.
01:44:55 <ehird> pikhq: [[ It is still slower than the BBP algorithm [2], but it works in any base.]]
01:44:58 <pikhq> Probably not a one-liner, but Haskell does make math rather nice.
01:44:58 <ehird> bbp does base 16
01:45:06 <ehird> haskell makes everything rather nice :-P
01:45:07 <pikhq> Oh. BBP is faster? Spiffy.
01:45:10 <ehird> wait no
01:45:11 <ehird> bbp is binary
01:45:14 <ehird> so [Bool]
01:45:19 <ehird> but that's the cleanest way anyway ;)
01:45:19 <Warrigal> Is n the length of the required digit, or the digit itself?
01:45:24 <ehird> http://en.wikipedia.org/wiki/BBP-type_formula
01:45:27 <ehird> looks simple enough
01:45:34 <ehird> Warrigal: the position, I think.
01:45:53 <ehird> pikhq: The formula yields an algorithm for extracting hexadecimal digits of π. In order to perform digit extraction first we must rewrite the formula as
01:45:55 <ehird> ok, hex then
01:46:16 <ehird> hey pikhq
01:46:17 <ehird> Bellard's formula, as used by PiHex, the now-completed distributed computing project, is used to calculate the nth digit of π in base 2. It is a faster version (about 43% faster[1]) of the Bailey–Borwein–Plouffe formula. Bellard's formula was discovered by Fabrice Bellard.
01:46:22 <ehird> bellard wins again, with a new one
01:46:25 <ehird> http://en.wikipedia.org/wiki/Bellard%27s_formula
01:46:28 <ehird> it's also *very* simple
01:46:34 <ehird> could easily be a oneliner
01:46:37 <Warrigal> ehird: n is the position?
01:46:44 <ehird> Warrigal: i believe so.
01:46:54 <pikhq> Fabrice Bellard wins again!
01:47:24 <ehird> i'll let you do the trivial work of translating it to haskell :P
01:47:31 <pikhq> Thx.
01:48:35 <Warrigal> Corecursion is totally recursion.
01:48:51 <Warrigal> (Actually, it seems like recursion is implemented as a form of corecursion, in Haskell.)
01:57:31 <ehird> pikhq: How does the definition go?
01:57:59 <pikhq> I got interrupted by a phone call.
01:58:03 <ehird> :-)
02:08:15 -!- GreaseMonkey has quit ("HydraIRC -> http://www.hydrairc.org <- Nobody cares enough to cybersquat it").
02:27:21 -!- GreaseMonkey has joined.
02:32:36 * pikhq wishes that getting a digit of pi were a function of the previous digits
02:35:01 <Warrigal> `etymology pretentious
02:35:06 <HackEgo> pretentious \ 1845, from Fr. prtentieux (17c.), from prtention "pretension," from M.L. pretentionem (nom. pretentio) "pretension," from L.L. prtensus "pretend" (see pretense). \ \ unpretentious \ 1859, from un- (1) "not" + pretentious. \ \ Pharisee \ O.E. Fariseos, O.Fr. pharise (13c.), both from L.L. Pharisus,
02:35:14 <Warrigal> `etymology pretense
02:35:15 <HackEgo> pretense \ 1425, "the putting forth of a claim," from M.Fr. pretensse, from fem. of L.L. prtensus, from L. prtensus, pp. of prtendere (see pretend). Meaning "false or hypocritical profession" is from 1545. Pretension is c.1600 meaning "assertion;" sense of "ostentation" is from 1727. \ \ whitecap \ 1668, of birds,
02:36:03 <Warrigal> `etymology ostentation
02:36:04 <HackEgo> ostentation \ 1436, from M.Fr. ostentation (1366), from L. ostentationem (nom. ostentatio) "vain display," from ostentatus, pp. of ostentare "to display," freq. of ostendere (see ostensible). \ \ rumba (n.) \ 1922, from Cuban Sp., originally "spree, carousal," derived from Sp. rumbo "spree, party," earlier "ostentation,
02:37:34 <pikhq> http://74.125.47.132/search?q=cache:RylQCflF1YUJ:web.comlab.ox.ac.uk/people/Jeremy.Gibbons/publications/spigot.pdf+Digits+of+pi+as+a+function+of+digits+of+pi&cd=2&hl=en&ct=clnk&gl=us
02:37:41 <pikhq> Nice algorithm.
02:37:50 <pikhq> Not one I want to reimplement, mind, but...
02:38:05 <pikhq> (note: the paper describes the algorithm in Haskell.)
02:48:06 -!- oerjan has joined.
03:07:35 -!- CESSMASTER has quit ("Computer has gone to sleep").
03:07:58 -!- CESSMASTER has joined.
03:08:02 <pikhq> Hey, oerjan.
03:09:00 <oerjan> g'day
03:09:40 <pikhq> I <3 Haskell.
03:09:50 <oerjan> ah
03:13:44 <oerjan> wait, lambdabot?
03:15:08 * oerjan has forgotten the prime trick :(
03:15:25 <Slereah_> lambdabot, destroy him
03:15:34 <Slereah_> EgoBot, destroy him
03:15:42 <Slereah_> fungot, destroy him
03:15:42 <fungot> Slereah_: let me be a little more
03:15:47 <Slereah_> There we go
03:16:05 <oerjan> @vixen You're not male, are you?
03:16:05 <lambdabot> yes, i am
03:16:09 <oerjan> whoops
03:16:14 <oerjan> sex change :/
03:16:28 <Slereah_> @vixen yiff yiff
03:16:28 <lambdabot> ever just get the urge to go out and kill a puppy?
03:17:42 <pikhq> oerjan: What prime trick?
03:17:54 * oerjan tries to look it up on haskell.org
03:18:21 <pikhq> > let isprime n = not . any ((==0) . (n `mod`)) . takeWhile ((<= n) . (^2)) $ primelist; primelist = 2 : [x | x <- [3,5..], isprime x] in primelist
03:18:22 <lambdabot> [2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101...
03:18:23 <pikhq> That one?
03:18:44 <oerjan> no
03:18:54 * pikhq is proud of himself for having figured out for himself that that's the Sieve of Eratosthenes...
03:21:07 <Warrigal> pikhq: that's not the Sieve of Eratosthenes.
03:21:27 <pikhq> Warrigal: ... Is close. Shaddup.
03:21:58 <Warrigal> I vaguely remember reading that trial division outperforms it for large numbers.
03:22:21 <pikhq> Anyways, I know how the thing works.
03:22:46 <oerjan> naturally, the sieve is a way of getting _all_ primes, not for testing primes
03:23:13 <pikhq> Why yes, of course.
03:23:34 <Warrigal> That doesn't really make sense, though, as that expression *is* trial division, really.
03:26:36 * oerjan searches for himself on #haskell instead
03:27:01 <oerjan> > nubBy (((>1).).gcd) [2..]
03:27:03 <lambdabot> [2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101...
03:27:39 <oerjan> (i didn't invent it, i just knew i'd demonstrated it)
03:28:14 <Warrigal> Yay, a brain nut.
03:28:30 <oerjan> "brain nut"?
03:28:40 <Warrigal> Something that you have to crack open with your brain.
03:29:15 <Warrigal> Very short and pretty inefficient.
03:29:18 <pikhq> ... Wait, wait. Remove all numbers from the list numbers greater than 2 where the greatest common denominator is greater than 1?
03:29:25 <oerjan> here's another
03:29:29 <oerjan> > fix ((0:).(1:).ap(zipWith(+))tail)
03:29:30 <Warrigal> @src nubBy
03:29:30 <lambdabot> [0,1,1,2,3,5,8,13,21,34,55,89,144,233,377,610,987,1597,2584,4181,6765,10946...
03:29:31 <lambdabot> nubBy eq [] = []
03:29:31 <lambdabot> nubBy eq (x:xs) = x : nubBy eq (filter (\ y -> not (eq x y)) xs)
03:29:31 <pikhq> That is beautiful. Slow, but purdy.
03:30:06 <Warrigal> > nubBy(((>1).).gcd)(fix((0:).(1:).ap(zipWith(+))tail))
03:30:12 <lambdabot> mueval-core: Prelude.read: no parse
03:30:12 <lambdabot> mueval: ExitFailure 1
03:30:16 <pikhq> oerjan: Fibonacci with a combinator.
03:30:23 <pikhq> Followed by borken code.
03:30:50 * Warrigal frowns.
03:31:05 <Warrigal> > nubBy (((>1).).gcd) (fix ((0:).(1:).ap(zipWith(+))tail))
03:31:07 <oerjan> nothing slow about the fibonacci, btw, afaik
03:31:10 <lambdabot> mueval-core: Prelude.read: no parse
03:31:11 <lambdabot> mueval: ExitFailure 1
03:31:47 <Warrigal> > nubBy (((>1).).gcd) fix ((0:).(1:).ap(zipWith(+))tail)
03:31:49 <lambdabot> Couldn't match expected type `[a]'
03:31:59 <Warrigal> lambdabot is insane.
03:32:27 <oerjan> why the heck is that a parse error
03:32:47 <Warrigal> > (fix ((0:).(1:).ap(zipWith(+))tail))
03:32:48 <lambdabot> [0,1,1,2,3,5,8,13,21,34,55,89,144,233,377,610,987,1597,2584,4181,6765,10946...
03:32:56 <Warrigal> > aard (fix ((0:).(1:).ap(zipWith(+))tail))
03:32:57 <lambdabot> Not in scope: `aard'
03:33:15 <Warrigal> > aard () (fix ((0:).(1:).ap(zipWith(+))tail))
03:33:17 <lambdabot> Not in scope: `aard'
03:33:24 <Warrigal> > aard (foo.gcd) (fix ((0:).(1:).ap(zipWith(+))tail))
03:33:26 <lambdabot> Not in scope: `aard'Not in scope: `foo'
03:33:33 <Warrigal> > aard ((foo.).gcd) (fix ((0:).(1:).ap(zipWith(+))tail))
03:33:35 <lambdabot> Not in scope: `aard'Not in scope: `foo'
03:33:40 <Warrigal> > aard (((>1).).gcd) (fix ((0:).(1:).ap(zipWith(+))tail))
03:33:42 <lambdabot> Not in scope: `aard'
03:33:48 <Warrigal> > nubBy (((>1).).gcd) (fix ((0:).(1:).ap(zipWith(+))tail))
03:33:54 <lambdabot> mueval-core: Prelude.read: no parse
03:33:54 <lambdabot> mueval: ExitFailure 1
03:33:57 <oerjan> Warrigal: and what is the point of this?
03:34:06 <Warrigal> To figure out why it's a parse error.
03:34:13 <Warrigal> The expression itself appears to parse fine.
03:34:48 <Warrigal> Something else is failing to parse.
03:34:50 <oerjan> why would it even use Prelude.read, i wonder
03:35:00 <oerjan> the result, perhaps
03:35:07 <Warrigal> > show (nubBy (((>1).).gcd) (fix ((0:).(1:).ap(zipWith(+))tail)))
03:35:12 <lambdabot> mueval-core: Prelude.read: no parse
03:35:12 <lambdabot> mueval: ExitFailure 1
03:35:41 <oerjan> seems lambdabot has been broken...
03:37:47 <oerjan> > nubBy (((>1).).gcd) $ fix ((0:).(1:).ap(zipWith(+))tail)
03:37:53 <lambdabot> mueval-core: Prelude.read: no parse
03:37:53 <lambdabot> mueval: ExitFailure 1
03:38:18 <oerjan> oh wait...
03:38:42 <oerjan> > nubBy (((>1).).gcd) [0,1,1,2]
03:38:44 <lambdabot> [0,1,1]
03:38:55 <oerjan> > nubBy (((>1).).gcd) [0,1,1,2,3,5,8]
03:38:56 <lambdabot> [0,1,1]
03:39:16 <oerjan> > nubBy (((>1).).gcd) (0:repeat 1)
03:39:18 <lambdabot> [0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,...
03:39:58 <oerjan> of course all fibonacci numbers are relatively prime. hm.
03:40:32 <oerjan> > let fib = 0:1:zipWith(+)fib(tail fib) in nubBy (((>1).).gcd) fib
03:40:38 <lambdabot> mueval-core: Prelude.read: no parse
03:40:38 <lambdabot> mueval: ExitFailure 1
03:40:49 <oerjan> i think somehow it _does_ break
03:42:48 <oerjan> ah it halts after 0,1,1 when i test it in winhugs
03:43:20 <oerjan> oh of course
03:43:28 <oerjan> > nubBy (((>1).).gcd) (0:repeat 2)
03:43:33 <lambdabot> mueval-core: Prelude.read: no parse
03:43:33 <lambdabot> mueval: ExitFailure 1
03:44:00 <oerjan> gcd 0 n = n, so everything > 1 is dropped when there is a 0...
03:44:08 <oerjan> (at the start)
03:44:37 <oerjan> Warrigal: mystery solved
03:45:31 <oerjan> > nubBy (((>1).).gcd) $ fix ((1:).(2:).ap(zipWith(+))tail)
03:45:33 <lambdabot> [1,2,3,5,13,89,233,1597,4181,28657,514229,1346269,24157817,165580141,433494...
03:46:00 <oerjan> oh not _all_ fibonacci numbers are relatively prime, only all consecutive ones
03:49:13 <oerjan> <ehird> foo where a=b;c=d <-- that's not actually a legal expression. only hugs allows it i think
03:49:28 <oerjan> !haskell a where a = 2+2
03:55:40 <GregorR> !!!!!!!!!!!!!!!
03:56:47 <oerjan> > fix ('!':)
03:56:48 <lambdabot> "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!...
04:02:14 <Gracenotes> > fix error
04:02:15 <lambdabot> "* Exception: * Exception: * Exception: * Exception: * Exception: * Excepti...
04:04:02 <oerjan> heh
04:04:16 <Gracenotes> WHY DON'T YOU FIX MY ERROR
04:08:40 <Gracenotes> > fix (Node (() . return)
04:08:41 <lambdabot> <no location info>: parse error (possibly incorrect indentation)
04:08:48 <Gracenotes> > fix (Node () . return)
04:08:49 <lambdabot> Node {rootLabel = (), subForest = [Node {rootLabel = (), subForest = [Node ...
04:13:15 <oerjan> > fix (ap Node . return)
04:13:16 <lambdabot> Couldn't match expected type `Data.Tree.Forest a'
04:13:45 <oerjan> er
04:14:10 <oerjan> > fix (join Node . return)
04:14:11 <lambdabot> Occurs check: cannot construct the infinite type:
04:14:11 <lambdabot> b = Data.Tree.Forest b
04:14:16 <oerjan> oh well
04:30:15 -!- bsmntbombdood has joined.
04:34:02 -!- oerjan has quit ("leaving").
04:36:13 -!- jix_ has quit (hubbard.freenode.net irc.freenode.net).
04:36:13 -!- lambdabot has quit (hubbard.freenode.net irc.freenode.net).
04:36:13 -!- Leonidas has quit (hubbard.freenode.net irc.freenode.net).
04:36:14 -!- coppro has quit (hubbard.freenode.net irc.freenode.net).
04:36:14 -!- Dewi has quit (hubbard.freenode.net irc.freenode.net).
04:36:15 -!- Ilari has quit (hubbard.freenode.net irc.freenode.net).
04:36:39 -!- jix_ has joined.
04:36:39 -!- lambdabot has joined.
04:36:39 -!- Leonidas has joined.
04:36:49 -!- coppro has joined.
04:36:49 -!- Dewi has joined.
04:36:49 -!- Ilari has joined.
04:36:51 -!- coppro has quit ("The only thing I know is that I know nothing").
04:37:10 -!- bsmntbombdood has quit (Read error: 60 (Operation timed out)).
04:53:39 -!- dbc has quit (Read error: 60 (Operation timed out)).
04:54:00 -!- dbc has joined.
05:01:54 -!- coppro has joined.
05:25:46 -!- bsmntbombdood has joined.
05:47:22 <pikhq> Okay, I think my brain *finally* broke.
05:47:28 <pikhq> Functors did it.
05:47:35 <comex> that would be logical
05:47:53 <pikhq> Applicative functors, namely. With functions.
05:48:37 <pikhq> Also, I recently saw the word 'decomposition', and thought "Hmm. Inverse of (.)..."
05:50:06 <comex> oh, those functors
05:50:17 <comex> I thought you meant C++ functors
05:51:36 <pikhq> The only thing brain-breaking about C++ is its type system being Turing complete.
05:51:52 <comex> if you think that, you have not used c++ :/
05:51:55 <comex> :\
05:52:09 * comex is tired
05:52:11 <comex> good night
05:52:28 <pikhq> Or I am so very broken-minded by C++ template programmers that everything else seemed mundane.
05:59:01 -!- amuck has joined.
05:59:23 -!- holmak has joined.
06:03:34 -!- holmak has left (?).
06:31:12 -!- FireFly has joined.
06:58:46 -!- GreaseMonkey has quit ("HydraIRC -> http://www.hydrairc.org <- Nobody cares enough to cybersquat it").
07:07:38 -!- kar8nga has joined.
07:07:59 -!- FireFly has quit ("Later").
07:41:24 -!- kar8nga has quit (Remote closed the connection).
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:22:13 -!- tombom has joined.
08:22:26 -!- coppro has quit (Read error: 110 (Connection timed out)).
08:40:54 -!- asiekierka has joined.
08:41:23 <asiekierka> hi
08:41:26 <asiekierka> anyone here?
08:49:08 <Deewiant> For strange values of "here"
08:50:49 <asiekierka> ...i'm bored
08:50:55 <asiekierka> and I want to do something related to esolangs!
08:50:57 <asiekierka> Any ideas?
08:51:01 <asiekierka> (except making interpreters :P)
08:52:52 -!- oerjan has joined.
08:53:00 <asiekierka> hi
08:53:04 <oerjan> hi
08:53:28 -!- amca has joined.
08:54:07 -!- Tidus35 has joined.
08:55:32 <oerjan> pikhq: what, you consider applicatives _worse_ than monads? but every monad can be made an applicative...
08:56:12 -!- Judofyr has joined.
08:56:18 <oerjan> i guess that doesn't _necessarily_ help
08:56:19 -!- Judofyr has quit (Remote closed the connection).
08:58:01 <oerjan> xkcd :/
08:59:06 <asiekierka> :P
09:00:33 <Deewiant> I still don't get applicatives, but I get monads just fine :-P
09:01:04 <Deewiant> asiekierka: 'cat' in dobela
09:01:36 <asiekierka> Deewiant: I don't want to touch DOBELA anymore
09:01:41 <asiekierka> I think it was a failure
09:01:55 <asiekierka> And I'm (not) writing a note (t)here: "HUGE SUCCESS"
09:02:22 <Deewiant> How can an esolang be a failure :-P
09:02:32 <asiekierka> Because it's worse than Underload
09:02:42 <asiekierka> Underload is awesome
09:02:47 <asiekierka> but i'm talking in terms of difficulty
09:02:56 <asiekierka> I'm soon getting a Psion 3a
09:03:04 <Deewiant> Malbolge wasn't a failure IMO
09:03:07 <asiekierka> so I may be able to implement and invent esolangs wherever I am
09:03:14 <asiekierka> Deewiant: It wasn't.
09:03:23 <asiekierka> But no, I just don't like DOBELA myself
09:03:24 <asiekierka> :P
09:03:33 <asiekierka> Must think of a new esolang
09:03:41 <asiekierka> I think I should get to work on Anglent
09:03:45 <asiekierka> the language with angles
09:04:20 <asiekierka> and length
09:04:32 <asiekierka> Angle + Length = Anglent
09:04:44 <asiekierka> It is probably easy to code
09:04:51 <asiekierka> you just write angles from -90 to 90 and length
09:04:52 <asiekierka> for example
09:04:54 <asiekierka> 0,3
09:04:55 <asiekierka> 10,3
09:04:56 <asiekierka> etc
09:05:13 <asiekierka> Then the application does some comparison, and gets a giant switch...case construction
09:05:22 <asiekierka> Easy to write, hard as hell to draw on paper
09:05:29 <asiekierka> but possible
09:06:11 <asiekierka> Nah, anglent is an esolang to be finished up later
09:06:23 <asiekierka> I doubt it has IO, even
09:06:27 <asiekierka> must check logs later
09:07:24 <oerjan> er, sounds like turtle graphics?
09:07:31 <asiekierka> Well
09:07:50 <oerjan> the drawing bit, that is
09:07:54 <asiekierka> http://img26.imageshack.us/img26/6489/dsc01722q.jpg - This is how a simple program looked like
09:08:04 <asiekierka> And in text it would look like
09:08:10 <asiekierka> (not the same app)
09:08:11 <asiekierka> 0,10
09:08:12 <asiekierka> 10,3
09:08:15 -!- ehird has quit (Remote closed the connection).
09:08:15 <asiekierka> 20,7
09:08:17 <asiekierka> etc
09:08:24 <asiekierka> basically
09:08:28 -!- ehird has joined.
09:08:50 <asiekierka> angle (where 0 is a horizontal line, range from -90 to 90), length of line
09:09:04 <oerjan> oh so the angles are not cumulative
09:09:04 <asiekierka> so 0,10 is a horizontal line 10 milimetres long
09:09:17 <oerjan> not turtle graphics then
09:11:27 <asiekierka> well
09:11:30 <asiekierka> basically
09:12:39 -!- asiekierk has joined.
09:12:41 <asiekierk> the next one is 20,6, so we do 20-10=10, for example an inc by (6/3=2) of the current variable
09:12:44 <asiekierk> and so on
09:12:56 <asiekierk> see?
09:12:59 <asiekierk> Oh
09:13:04 <asiekierk> and the angle is within the range of 90...-90
09:13:19 <asiekierk> so it can be 89,88...0...-88,-89
09:14:32 <oerjan> but is that after or before subtracting the angles?
09:15:02 <asiekierk> well
09:15:02 <asiekierk> in this case
09:15:02 <asiekierk> oerjan: before
09:15:02 <asiekierk> so you can't do 91,6
09:15:02 <asiekierk> or 90,6
09:15:02 <asiekierk> or -100,6
09:15:10 -!- bsmntbombdood has quit (Read error: 113 (No route to host)).
09:15:44 -!- bsmntbombdood has joined.
09:16:40 <oerjan> i see
09:17:25 -!- asiekierka has quit (Read error: 60 (Operation timed out)).
09:38:27 -!- asiekierk has changed nick to asiekiekra.
09:38:29 -!- asiekiekra has changed nick to asiekierka.
09:38:48 <asiekierka> But Anglent is a secondary language for me
09:48:55 -!- MigoMipo has joined.
10:01:51 <asiekierka> hmm
10:02:04 <asiekierka> I wonder if there could be an esolang based on video compression
10:02:06 <asiekierka> and videos in general
10:02:42 <asiekierka> Idea 1: You can switch between 8x8 blocks of memory, then you can only either shift the whole block right or shift the 1st column down.
10:02:53 <asiekierka> You access the block at 0,0 (x = 0-7, y = 0-7)
10:03:01 <asiekierka> As in
10:03:07 <asiekierka> if there's (H) at 3,3
10:03:09 <asiekierka> you need to
10:03:21 <asiekierka> (I'll use R = Shift Right, D = Shift Down)
10:03:31 <asiekierka> RRRRRDDDDD
10:03:33 <asiekierka> to get it
10:03:47 <asiekierka> and then to restore the block
10:03:49 <asiekierka> DDDRRR
10:05:07 -!- asiekierka has quit.
10:25:02 -!- oerjan has quit ("leaving").
10:35:16 -!- asiekierka has joined.
10:35:17 <asiekierka> Hi
10:35:20 <asiekierka> So, my Psion has arrived
10:35:24 <asiekierka> in quite a good shape
10:36:21 <asiekierka> in other words
10:36:44 <asiekierka> my Programming-Applications-On-The-Road part of a toolkit (containing only one part) is there
10:51:51 -!- deveah has joined.
11:09:14 <amca> asiekierka: Can I ask what your preferred programming languages are?
11:34:11 <asiekierka> ...hmm
11:34:16 <asiekierka> Well I like Pascal
11:34:20 <asiekierka> and 6502 assembler
11:34:22 <asiekierka> Dunno, really
11:34:25 <asiekierka> Now I'm learning OPL
11:36:02 <amca> OPL?
11:36:46 <asiekierka> Object Programming Language
11:36:51 <asiekierka> the programming language for Psions
11:37:01 <amca> Ah
11:37:23 * amca hadnt heard of it before :(
11:38:16 * asiekierka didn't either, until he saw the Psion of his friend
11:38:24 <asiekierka> and that was on Thursday AFAIK
11:38:31 <amca> How do you like it?
11:39:06 <asiekierka> Well, IMHO it's sometimes troubling but works quite well
11:39:42 <amca> Does it allow you to control/display gui elements?
11:39:46 <asiekierka> Yup!
11:41:24 <amca> What systems have u programmed 6502 on?
11:42:31 <amca> (on/for)
11:43:24 <asiekierka> Tried the Atari 2600
11:43:30 <asiekierka> started learning for the NES
11:43:35 <asiekierka> Did something simple for the C64
11:43:53 <amca> Cool.
11:44:13 <amca> Can I ask what year you started programming?
11:46:33 <asiekierka> Around 2005-2006
11:47:43 <amca> Cool
11:56:32 <asiekierka> i'm writing Pong for the Psion now xD
11:57:23 <amca> :)
11:57:50 <amca> Tetris next?
11:57:56 <asiekierka> Nah
11:57:57 <asiekierka> Dunno
12:04:58 <asiekierka> I only wonder how to make the ball bounce realistically
12:05:45 <amca> Having trouble with that?
12:05:51 <asiekierka> Yup
12:05:57 <asiekierka> i'm not a math wizard; too young for that
12:06:03 <asiekierka> so i don't know trigs
12:06:28 <amca> You having trouble making the ball bounce at the right angle?
12:06:35 <asiekierka> Well, I don't even know how!
12:06:39 <asiekierka> So yeah
12:06:49 <asiekierka> Because i'm not old enough to know trigs here in Poland :P
12:06:57 <asiekierka> or at least i didn't learn about it yet
12:07:05 <amca> I dont think you need to know trig
12:07:13 <asiekierka> ...
12:07:23 <amca> You have the x and y velocity, right?
12:07:30 <asiekierka> ...Well, now I do
12:07:37 <asiekierka> as i didn't quite start coding yet
12:07:53 <amca> Say there is a wall parallel with the y axis...
12:08:00 <asiekierka> Yeah
12:08:26 <asiekierka> I think the X axis would swap it's direction
12:08:31 <asiekierka> upon bounce
12:08:33 <amca> When the ball bounces off of it, the y velocity will stay the same, but the x velocity will by multiplied by -1
12:08:34 <asiekierka> from 1 to -1 for example
12:08:39 <amca> yep
12:08:42 <asiekierka> heh
12:08:44 <asiekierka> thanks :D
12:08:52 <amca> Happy to help :)
12:09:39 <amca> And if it is bouncing off a wall parallel to the x axis, the y velocity is * -1
12:09:46 <asiekierka> well, yeah, thanks
12:09:58 <asiekierka> Wait
12:10:02 <asiekierka> Your logic fails in one case
12:10:10 <asiekierka> What if the x velocity is 1 and the y one is 0
12:10:11 <amca> When it collides with a corner?
12:10:17 <asiekierka> and it hits a wall parallel with the y axis
12:10:24 <asiekierka> It would run horizontal on
12:10:24 <amca> It wont
12:10:25 <asiekierka> and on
12:10:25 <asiekierka> and on
12:10:28 <asiekierka> well
12:10:33 <asiekierka> upon hitting the parallel-y wall
12:10:39 <asiekierka> it would change from 1 0 to -1 0
12:10:40 <asiekierka> then again
12:10:43 <asiekierka> from -1 0 to 1 0
12:11:03 <asiekierka> There's the problem
12:11:05 <amca> Normally in pong you only have vertical and horizontal lines
12:11:08 <asiekierka> Well, yes
12:11:28 <asiekierka> But shouldn't the ball get more angled if hitting the pong bar at the edges
12:12:19 <amca> You just increase the "sideways" velocity proportional to the distance to the center of the paddle
12:12:36 <asiekierka> oh
12:13:11 <amca> Or you could make it dependant on the sideways velocity of the paddle
12:13:35 <asiekierka> nah
12:26:27 <asiekierka> Writing the rendering routine
12:26:36 <asiekierka> With a slow-refresh screen is a real pain
12:27:14 <asiekierka> at least it has a 7.68MHz 8086
12:27:19 <asiekierka> or a NEC V30... not sure
12:29:09 <amca> Using sprites or rectangles?
12:29:19 <asiekierka> rectangles
12:29:21 <asiekierka> I have only one sprite
12:29:22 <asiekierka> :P
12:29:27 <amca> :)
12:29:42 <asiekierka> But it wouldn't be any better
12:29:46 <asiekierka> as sprites are also software
12:30:55 <Deewiant> asiekierka: OPL is Open Programming Language, not Object Programming Language, isn't it?
12:31:30 <asiekierka> ...
12:31:33 <asiekierka> Well
12:31:40 <asiekierka> Are you talking about the PSION Object Programming Language
12:32:00 <asiekierka> wait, no
12:32:05 <asiekierka> it may be even more different
12:32:09 <asiekierka> "Organiser Programming Language"
12:32:11 <Deewiant> "The language was originally called Organiser Programming Language developed by Psion Ltd for the Psion Organiser."
12:32:15 <Deewiant> -- http://en.wikipedia.org/wiki/Open_Programming_Language
12:32:18 <asiekierka> FILExt · OPL · Psion Organiser Programming Language ...
12:32:30 <Deewiant> filext isn't an accurate sourec
12:32:32 <Deewiant> s/ec/ce/
12:32:32 <asiekierka> Well
12:32:37 <asiekierka> The language was originally called Organiser Programming Language
12:32:41 <Deewiant> Of course, neither is Wikipedia, but. :-P
12:32:55 <asiekierka> And seemingly it became "Open" after Psion retired from PDAs
12:32:59 <Deewiant> "After Psion retired from the PDA market, the project was changed to open source and the acronym was re-interpreted."
12:33:03 <Deewiant> Yep.
12:33:04 <asiekierka> :P
12:33:08 <asiekierka> And I have a Psion Series 3a
12:33:33 <Deewiant> I see that that is not exactly recent, which explains it.
12:39:12 <asiekierka> Ok, I... uh, made the first paddle work
12:39:51 <asiekierka> Now a simple AI
12:40:03 <asiekierka> a simple AI that doesn't let you win, for now
12:40:08 <asiekierka> for testing
12:43:43 <asiekierka> Ok, AI coded, movement coded
12:43:51 <asiekierka> Now to code... uh... the ball!
12:45:25 <asiekierka> Well, that'll come later!
12:50:38 -!- KingOfKarlsruhe has joined.
12:56:23 <asiekierka> nah, pong won't work out well
13:00:18 -!- Tidus35 has quit (hubbard.freenode.net irc.freenode.net).
13:00:18 -!- jix_ has quit (hubbard.freenode.net irc.freenode.net).
13:00:19 -!- Leonidas has quit (hubbard.freenode.net irc.freenode.net).
13:00:19 -!- lambdabot has quit (hubbard.freenode.net irc.freenode.net).
13:00:39 -!- Tidus35 has joined.
13:00:39 -!- jix_ has joined.
13:00:39 -!- lambdabot has joined.
13:00:39 -!- Leonidas has joined.
13:10:57 <asiekierka> One interesting thing about the Psion Series 3
13:11:01 <asiekierka> is that it uses... SSDs
13:13:52 -!- jix_ has quit (hubbard.freenode.net irc.freenode.net).
13:13:52 -!- Tidus35 has quit (hubbard.freenode.net irc.freenode.net).
13:13:52 -!- Leonidas has quit (hubbard.freenode.net irc.freenode.net).
13:13:52 -!- lambdabot has quit (hubbard.freenode.net irc.freenode.net).
13:14:05 -!- Tidus35 has joined.
13:14:05 -!- jix_ has joined.
13:14:05 -!- lambdabot has joined.
13:14:05 -!- Leonidas has joined.
13:15:46 -!- MigoMipo has quit ("QuitIRCServerException: MigoMipo disconnected from IRC Server").
13:27:59 <AnMaster> fun.... I managed to make the optimisations passes in in-between never "converge" on a single "solution" (that is, I run all the passes and check against the state before, if it differs I run all passes again (and so on), until nothing differs against the previous iteration, but somehow it now ends up "oscillating" between four different states...)
13:51:15 -!- amuck has left (?).
14:00:33 -!- KingOfKarlsruhe has quit (Remote closed the connection).
14:06:05 -!- KingOfKarlsruhe has joined.
14:49:41 -!- FireFly has joined.
14:55:35 <Warrigal> pikhq: applicative functors? Sounds like there's a Haskell thing I haven't heard of.
15:02:41 <AnMaster> lets see... what is the complexity of a function that for every vertex (V1) of a graph, iterates over the set of directly reachable vertices from V1?
15:02:45 <AnMaster> O(horrible)
15:03:49 -!- MigoMipo has joined.
15:04:08 <Warrigal> It's O(n) in the number of operations that must be performed.
15:04:29 <Warrigal> So, um, O(n*m) where n is the number of vertices and m is the average number of operations that must be performed per vertex.
15:05:19 <AnMaster> hm
15:05:41 <AnMaster> not worse?
15:05:41 <AnMaster> hm
15:05:59 <Warrigal> Why would it be worse?
15:06:23 <Warrigal> Assuming you can hop between all the vertices as if they were a linked list without any time penalty...
15:06:25 <AnMaster> sorry, that part isn't worse, the bit it does with those directly reachable vertices is worse.
15:07:30 <Warrigal> Why is that worse?
15:08:52 <AnMaster> Warrigal, due to the operation performed on those reachable vertices.
15:09:43 <AnMaster> which is "split into two sets, based on node label, then for each one in set A, do add an edge from each one in set B to it".
15:09:53 -!- BeholdMyGlory has joined.
15:10:13 <AnMaster> these new edges doesn't affect when iterating over more nodes ahead.
15:10:41 <AnMaster> (because the actual new edges are inserted in a copy basically).
15:11:45 <AnMaster> I need a copy anyway for other reasons here, so modifying in place wouldn't save anything.
15:12:23 <AnMaster> (those other reasons being this is used to generate a new graph with some properties while keeping the old one for other code that needs that version)
15:13:06 <AnMaster> anyway got to work out a better algorithm, since profiling shows that this bit takes about 85% of the total runtime. bbl
15:14:40 <pikhq> Warrigal: (+) <*> [1..10] <+> [5,7..51]
15:15:12 <Warrigal> pikhq: my immediate thought is that that reminds me of delimited continuations.
15:15:51 <Warrigal> What does that little piece of code do?
15:16:08 <pikhq> Same as the list comprehension [x+y | x<-[1..10] y<-[5,7..51]]
15:16:31 <Warrigal> Oh, right, those are infix operators.
15:17:19 <pikhq> (+) <*> [1..10], of course, is (in psuedo-Haskell) [1+,2+,..,9+,10+]
15:17:35 <pikhq> And <+> applies that functor to the other functor.
15:17:53 <Warrigal> pikhq: so is that all?
15:18:03 <pikhq> In the case of a list, yes.
15:18:21 <pikhq> Functions, IO, and Maybe are also applicative functors.
15:18:37 <Warrigal> <*> looks like fmap.
15:18:50 <pikhq> On lists, it is.
15:19:04 <Warrigal> What is it on other functors?
15:19:47 <pikhq> For the function instance, f<*>g = \x -> fx (g x)
15:20:13 <pikhq> Familiar? :P
15:20:24 <Warrigal> <*> looks like ap there.
15:20:37 <pikhq> Ding.
15:21:37 <pikhq> Sorry, that was bad code. s/<*>/<$>/ s/<+>/<*>/
15:22:09 <Warrigal> (+) <$> [1..10] <*> [5,7..51]? That makes a bit more sense.
15:22:27 <Warrigal> x <*> y looks like join (map (\z -> map z y) x) or something.
15:22:28 <pikhq> Yeah.
15:22:31 <Warrigal> s/map/fmap/
15:24:29 <Deewiant> <+> is an arrow function
15:25:31 <Warrigal> @hoogle <$>
15:25:32 <lambdabot> Control.Applicative (<$>) :: Functor f => (a -> b) -> f a -> f b
15:26:46 <Warrigal> @hoogle <*>
15:26:47 <lambdabot> Control.Applicative (<*>) :: Applicative f => f (a -> b) -> f a -> f b
15:27:08 <Warrigal> @src <$>
15:27:09 <lambdabot> f <$> a = fmap f a
15:27:28 <Warrigal> Woo, it's fmap.
15:27:33 <pikhq> @src <*>
15:27:33 <pikhq> Multiple instances. ^_^
15:27:33 <lambdabot> Source not found. I can't hear you -- I'm using the scrambler.
15:30:16 <pikhq> oerjan: I still don't get monads.
15:31:09 <Warrigal> So applicative functors are like limited monads, maybe.
15:32:14 * Warrigal ponders the BS combinator system.
15:32:31 <Warrigal> (B x y z = x (y z), S x y z = x z (y z).)
15:33:04 <Slereah_> Warrigal : There's a combinator system that doesn't need any parentheses
15:33:08 * Warrigal stops pondering the BS combinator system so that someone else can have a turn.
15:33:17 <Slereah_> SK-something
15:33:20 <Slereah_> Maybe B
15:33:27 <Slereah_> Lemme check
15:33:36 <Warrigal> Well, it's pretty obvious that there is one.
15:33:52 <Warrigal> If there's a nice one, that's pretty cool.
15:33:57 <Slereah_> Yeah, but I find it weird that no one made an esolanf out of it*
15:34:09 <Slereah_> I mean, it's pretty neat
15:34:16 <Slereah_> You can map it to natural numbers easily
15:34:24 <Slereah_> And it's not artificial like iota
15:34:26 <deveah> esolangs aren't for everybody
15:34:43 <deveah> you can't make an esolang out of anything
15:35:00 <deveah> "This is weoivnt0wv. It's an esolang made of shit."
15:35:04 <Slereah_> Well, yeah, but combinators? You totally can
15:36:40 <Slereah_> It is SKB, yeah
15:37:15 <Slereah_> Hm.
15:37:26 <Slereah_> Maybe I should try a lazy K to SKB compiler
15:39:38 <pikhq> What, you thinking of Unlambda?
15:39:55 <Warrigal> SKB? So ap, return, and whatever <*> is called in monad-land.
15:39:55 <Slereah_> does Unlambda have B?
15:40:02 <Warrigal> Unlambda does not have B.
15:40:12 <Slereah_> That's why Lazy Bird is awesome dude
15:40:25 <Slereah_> But I meant something to erase all ` or parenthesis
15:40:52 <Warrigal> Something where left-association is mandatory.
15:41:12 <Slereah_> Yes.
15:41:23 <Warrigal> Anyway, my favorite combinator set is BCIKSW.
15:41:30 <Slereah_> Still 3 symbols, but at least there's no need for a particular syntax
15:41:46 <Slereah_> Well Lazy Bird totally has that *gratuitous self promotion*
15:44:18 <Slereah_> Wait, do I have w?
15:44:24 <Slereah_> Oh yeah
15:50:58 * pikhq tries to figure out monads.
15:53:26 -!- BeholdMyGlory has quit ("kernel upgrade!").
16:00:26 <pikhq> Either I just achieved enlightenment or my brain broke and I didn't notice.
16:01:07 -!- BeholdMyGlory has joined.
16:06:43 -!- ehurd has joined.
16:07:08 <pikhq> Hello.
16:08:28 <ehurd> ehird: Hio.
16:12:46 -!- kar8nga has joined.
16:23:31 <pikhq> Fuck... MSI, the current Windows installer format, is... a relational database.
16:23:50 <pikhq> Microsoft uses a relational database where a freaking tarball would do.
16:27:12 <ehurd> OK, I've officially stepped beyond insanity and to "WTFBBQ"
16:27:43 <ehurd> I was using git-svn because I'm tired of not having any nifty features in the client for the VCS for this project.
16:27:51 <ehurd> (And hg-svn sucks, let's be honest)
16:28:20 <ehurd> It was basically working, but in spite of git's "leaps" and "bounds", it is the most confusing fucking system on earth short of GNU arch and/or bazaar.
16:28:41 <ehurd> So now I'm using git-svn to check out the repo, and then hg-git to check that out with hg.
16:28:44 <ehurd> It works shockingly well :P
16:29:30 <pikhq> wtfbbq?
16:29:41 <ehurd> Exactly 8-D
16:29:56 <pikhq> So, you're checking out SVN with Git, then checking out Git with Hg.
16:30:07 <ehurd> Yup.
16:30:17 <pikhq> I think you may have outcomplicated GNU Arch.
16:30:37 <ehurd> Except that the end system is super-simple, it's just hg. The only complication is it's two steps when I want to commit or pull.
16:31:19 <pikhq> At least it's not likely that GNU Arch will be used much in the future...
16:31:56 <ehurd> Any git experts want to tell my how to revert ONE file to the version in ... the index? Or the staging area, I guess I haven't staged the file either, but suffice to say the version in the "repository"
16:32:02 <pikhq> GNU Arch is defunct; Bazaar is recommended in its place.
16:32:17 <pikhq> Not that that's much better. :P
16:32:40 <ehurd> git revert certainly isn't it, git reset --{anything} HEAD^ path just barfs and tells me it doesn't work on paths.
16:32:49 <ehurd> And scouring man pages seems to tell me roughly nothing.
16:33:00 * pikhq notes that git needs a frontend.
16:33:14 <ehurd> git gui sucks both outloud and quietly to itself.
16:33:26 <pikhq> A good one.
16:34:39 <ehurd> myndzi: RETRIBUTION \o/
16:34:39 <myndzi> |
16:34:39 <myndzi> /|
16:35:58 <AnMaster> ehurd/ehird?
16:36:15 <ehurd> I'm GregorR-L. ehird complained about people with similar names yesterday.
16:36:24 <AnMaster> oh
16:36:32 <ehurd> Feel free to /nick eherd
16:36:33 <AnMaster> ehurd, who was it in that case yesterday
16:36:38 <ehurd> Idonno *shrugs*
16:36:48 <AnMaster> is ehird here?
16:36:54 <AnMaster> since I actually wanted to ask him something
16:36:55 <ehurd> Well, he's logged in :P
16:37:01 <AnMaster> he use a bouncer
16:37:16 <ehurd> Yeah, I know, so that doesn't really tell us much, but I'm not psychic, so *eh*
16:37:47 <AnMaster> ehurd, he hasn't talked recently then I guess?
16:37:56 <ehurd> No
16:40:54 -!- kar8nga has quit (Remote closed the connection).
16:53:14 -!- KingOfKarlsruhe has quit (Remote closed the connection).
17:08:57 -!- tombom has quit ("Peace and Protection 4.22.2").
17:11:15 <Deewiant> ehurd: git checkout -- PATH
17:11:26 <ehurd> git checkout??? >_O
17:11:29 <Deewiant> IIRC. 'git status' tells you, anyway
17:12:01 <Deewiant> Yes, git checkout can be used to update paths as well.
17:12:15 <ehurd> # (use "git checkout -- <file>..." to discard changes in working directory)
17:12:17 <ehurd> X_X
17:12:27 <Deewiant> :-P
17:16:56 <asiekierka> ...ehurd?
17:17:17 <ehurd> GOD I love chaos.
17:21:29 <AnMaster> ehurd, I was confused by that in git recently too
17:28:18 -!- Sgeo has joined.
17:52:25 -!- inurinternet has joined.
17:58:50 <ehird> 19:49:13 <oerjan> <ehird> foo where a=b;c=d <-- that's not actually a legal expression. only hugs allows it i think
17:58:51 <ehird> tru
17:59:00 <ehird> 20:02:14 <Gracenotes> > fix error
17:59:00 <ehird> 20:02:15 <lambdabot> "* Exception: * Exception: * Exception: * Exception: * Exception: * Excepti...
17:59:02 <ehird> haha
17:59:30 <ehird> 21:47:22 <pikhq> Okay, I think my brain *finally* broke.
17:59:30 <ehird> 21:47:28 <pikhq> Functors did it.
17:59:31 <ehird> 21:47:53 <pikhq> Applicative functors, namely. With functions.
17:59:34 <ehird> easy enough to pick up
17:59:52 <Gracenotes> what's really going to kill you is applicative functors... without functions!
17:59:56 <ehird> pikhq: btw monads are a subset of functors, in theory
18:00:01 <ehird> so that's quite expected
18:00:14 <ehird> pikhq: also, "fmap" is both (.) and map, for functions and lists
18:00:16 <ehird> > fmap succ [1,2,3]
18:00:18 <lambdabot> [2,3,4]
18:00:22 <pikhq> ehird: Yes.
18:00:23 <ehird> > fmap (fmap succ succ) [1,2,3]
18:00:24 <lambdabot> [3,4,5]
18:00:29 <pikhq> I think it all *finally* hit.
18:00:34 <pikhq> And damn, is it cool.
18:00:48 <ehird> pikhq: you got them in the logs I haven't read yet?
18:00:49 <Gracenotes> all monads are functors. not all functors are monads. all monads are applicative. not all applicatives are monads.
18:00:55 <ehird> what are you, some super-learner?
18:00:56 <Gracenotes> all applicatives are functors.
18:01:04 <Gracenotes> not all functors are applicatives.
18:01:31 <Gracenotes> ... the more you know
18:02:17 <pikhq> ehird: Actually, yes, I kinda am...
18:02:23 <pikhq> I learned C from man pages, man.
18:02:28 <ehird> pikhq: i'm jealous
18:02:36 <ehird> it took me months to get haskell :(
18:02:40 <Gracenotes> the man pages aren't terrible
18:02:55 <pikhq> Gracenotes: Yes, but they're reference documentation.
18:03:08 <Gracenotes> pikhq: so how's your grokkitude of, say, the internals of the state monad
18:03:34 <ehird> @src State
18:03:34 <lambdabot> Source not found. It can only be attributed to human error.
18:03:40 <ehird> hmm
18:03:45 <ehird> @src (>>) State
18:03:45 <lambdabot> Source not found. Sorry about this, I know it's a bit silly.
18:03:48 <ehird> @src (>>=) State
18:03:48 <lambdabot> Source not found. Listen, broccoli brains, I don't have time to listen to this trash.
18:03:53 <ehird> @src State (>>=)
18:03:53 <lambdabot> Source not found. And you call yourself a Rocket Scientist!
18:03:53 <pikhq> Not fully grokked. It's only starting to hit what a monad *is*.
18:03:58 <ehird> i forgot how you do that :p
18:05:02 <Gracenotes> how about monoids, too?
18:05:10 <Deewiant> Monoids are trivial
18:05:12 <pikhq> Hmm?
18:05:17 <ehird> @src Monoid
18:05:17 <lambdabot> class Monoid a where
18:05:17 <lambdabot> mempty :: a
18:05:17 <lambdabot> mappend :: a -> a -> a
18:05:17 <lambdabot> mconcat :: [a] -> a
18:05:27 <ehird> > mempty :: [()]
18:05:28 <lambdabot> []
18:05:33 <ehird> > mappend () () :: [()]
18:05:35 <lambdabot> Couldn't match expected type `[()]' against inferred type `()'
18:05:38 <ehird> er, oops
18:05:39 <Gracenotes> honestly the hardest part for me was that all runState did was take a State object out of its newtyped constructor
18:05:43 <ehird> > mappend [()] [(),()] :: [()]
18:05:43 <Deewiant> Monoids are groups without inverses
18:05:44 <lambdabot> [(),(),()]
18:05:44 <pikhq> Oh. That's what you call those.
18:05:52 <ehird> > mconcat [[()], [(),()]] :: [()]
18:05:53 <lambdabot> [(),(),()]
18:05:54 <Deewiant> Or equivalently, semigroups with identity
18:06:08 <ehird> pikhq: define those
18:06:11 <Gracenotes> <sarcasm>oh that makes it so much more clear Deewiant</sarcasm>
18:06:14 <ehird> [a] is a list :p
18:06:45 <pikhq> ... Actually, nah. Not getting monoids and monads quite yet.
18:06:51 <ehird> it takes a while
18:06:53 <Deewiant> Gracenotes: But really, it's a simple concept.
18:07:15 <Gracenotes> hahaha. monoids are a basic algebraic structure, but there's no reason to bring abstract algebra just because
18:07:18 <Deewiant> Monads are much more complicated and incidentally have little to do with monads.
18:07:18 <ehird> i learned by first learning the conventional monads (IO, State) and then some weirder ones ([a]), so I learned what monads can do rather than what they are
18:07:28 <ehird> Deewiant: for some definition of complicated
18:07:50 <Deewiant> (Although monads can be defined as monoids in some category)
18:08:26 <ehird> 04:05:57 <asiekierka> i'm not a math wizard; too young for that
18:08:30 <ehird> hate. this attitude.
18:08:56 <pikhq> Ugh.
18:09:23 <Gracenotes> pikhq: anyway, monoids are a small thing to get... you just need some examples. So you know how newtyped constructors work, and stuff?
18:09:28 <pikhq> This is where I accuse asiekierka of being worse at math than a 13-year-old. :P
18:09:42 <pikhq> Gracenotes: Vaguely.
18:10:22 <Gracenotes> newtype Sum a = Sum {getSum :: a}, for instance
18:10:28 <pikhq> Yeah.
18:10:48 <ehird> pikhq: asiekierka is a year younger than me, iirc
18:10:50 <Gracenotes> the main purpose of the Sum constructor is to wrap something to be a monoid.
18:10:55 <ehird> so that wouldn't really work
18:11:13 <pikhq> ehird: Oh.
18:11:38 <ehird> with the precedent of nooga we could argue that being polish takes a few years off your mental age :-P
18:11:41 <ehird> (at this point, asiekierka mauls me)
18:11:52 <Gracenotes> instance (Num a) => Monoid (Sum a) where
18:11:56 <Gracenotes> mempty = Sum 0
18:11:58 <Gracenotes> Sum x `mappend` Sum y = Sum (x + y)
18:12:02 <asiekierka> pikhq: Well, Polish education is just generally progressing slower than US education
18:12:11 <asiekierka> Also I'm a 12-year-old
18:12:16 <pikhq> Gracenotes: Hmm. Interesa.
18:12:18 <asiekierka> so I'm logically worse at math than a 13-year-old
18:12:27 <asiekierka> and worse at math than an US 12-year-old AFAIK
18:12:29 <pikhq> asiekierka: Polish education progresses slower than US education?
18:12:33 <asiekierka> Sort of
18:12:39 <pikhq> Holy fuck. I thought that that was impossible.
18:12:39 <asiekierka> It's just less developed
18:12:50 <pikhq> We spend 6 years on arithmetic!
18:12:52 <asiekierka> Until 1989 we were USSR's satellite!
18:13:06 <asiekierka> Then Solidarity came and made Poland free
18:13:18 <asiekierka> Well, it progresses slower as in
18:13:21 <asiekierka> it's not as developed
18:13:42 <pikhq> ... We barely have an educational system.
18:14:00 <pikhq> There are states that have a 50% high-school graduation rate...
18:14:11 <ehird> the UK educational system (pre-university; I don't know about university) is utterly useless after a point
18:14:11 <asiekierka> And we start school (as in, elementary school) at the age of 7
18:14:15 <asiekierka> End it at the age of 12
18:14:23 <ehird> probably more destructive than helpful FWIW
18:14:26 <ehird> asiekierka: what happens then?
18:14:40 <Deewiant> School in Finland starts at 7 too, FWIW
18:14:44 <asiekierka> Then you go to a 3-year sort-of secondary school but not quite
18:14:53 <ehird> right.
18:14:54 <asiekierka> Once elementary school was 8-year
18:15:03 <asiekierka> but now it's 6-year and 3-year
18:15:11 <Deewiant> Same as Finland so far
18:15:11 <asiekierka> The 3-year part is called "gimnazjum" in Poland
18:15:27 <ehird> it's gymnasium in swedish
18:15:32 <Deewiant> No, that's different
18:15:35 <ehird> therefore, poland = sizjdish
18:15:41 <ehird> Deewiant: meh :P
18:15:42 <asiekierka> Then there's secondary school AFAIK
18:16:02 <ehird> 05:10:57 <asiekierka> One interesting thing about the Psion Series 3
18:16:02 <ehird> 05:11:01 <asiekierka> is that it uses... SSDs
18:16:07 <ehird> aka pen drive things.
18:16:10 <asiekierka> And it was made back in 1993!
18:16:21 <pikhq> asiekierka: Do you start calculus before university?
18:16:26 <asiekierka> dunno
18:16:31 <asiekierka> ask me when I get there
18:16:32 <Deewiant> http://en.wikipedia.org/wiki/Education_in_Poland - 6 year elementary, 3 year gymnasium, 3 year liceum
18:16:35 <pikhq> If so, you are better than 90% of the US education system.
18:16:52 <pikhq> If you start *algebra* before than, you're better than 50% of it.
18:17:17 <ehird> 06:55:35 <Warrigal> pikhq: applicative functors? Sounds like there's a Haskell thing I haven't heard of.
18:17:26 <ehird> if you don't know them you probably don't know all that much...
18:17:28 <ehird> about haskell that is.
18:17:33 <Deewiant> Sweden has 9 year elementary followed by 3 year gymnasium, Finland has the 9-year bit split into a 6-year and a 3-year bit
18:17:42 <asiekierka> Well
18:17:47 <pikhq> I figured them out in my third day of learning Haskell. Whooo.
18:18:00 <asiekierka> We have the 8-year elementary split into a 6-year elementary and a 3-year gymnasium.
18:18:02 <asiekierka> ...
18:18:08 <asiekierka> HOW THE HELL DOES 8 SPLIT INTO 6 AND 3!?
18:18:24 <asiekierka> Ooh
18:18:24 <pikhq> Magic.
18:18:27 <asiekierka> I see
18:18:30 <ehird> pikhq: Yes, but you'll probably be working for Galois and co-authoring type system research papers with Oleg in a week.
18:18:42 <asiekierka> 8 years of elementary and 4 years of liceum
18:18:44 <pikhq> ehird: \o/
18:18:44 <myndzi> |
18:18:44 <myndzi> /|
18:18:53 <asiekierka> was split into 6 years of elementary, 3 years of gymansium and 3 years of liceum
18:19:02 <Deewiant> ehird: I didn't know anything at all about applicatives until well after I grokked monads, functors, and somewhat arrows
18:19:11 <Deewiant> And I still don't get them 100%. :-P
18:19:19 <ehird> Deewiant: yes, but "Sounds like there's a Haskell thing I haven't heard of."
18:19:30 <ehird> if you think you know most things about haskell and don't know them...
18:19:58 <ehird> pikhq: from a glance learn you a haskell's functors/applicative functors/monoids section is quite approachable
18:20:05 -!- ais523 has joined.
18:20:07 <ehird> what problem are you having with monads?
18:20:17 <ehird> or did you say you got them now
18:20:20 <ehird> i forget
18:20:44 <pikhq> ehird: Nothing good describing them. "Learn You A Haskell" stops short of that.
18:20:52 <ehird> http://learnyouahaskell.com/functors-applicative-functors-and-monoids
18:20:56 <ehird> maybe I'm imagining that page?
18:21:05 <ehird> oh wait
18:21:05 <pikhq> Short of monads.
18:21:07 <ehird> that doesn't cover monads
18:21:14 <ehird> Covering monoids without monads? How strange
18:21:36 <pikhq> So, I basically (sorta) get monoids.
18:21:51 <pikhq> But monads are, uh.
18:22:07 <ehird> Maybe if you slowed down you'd do better :P
18:22:13 <pikhq> Bah.
18:22:23 <pikhq> I hate learning slowly.
18:23:04 <ehird> Learning curve, bitch
18:23:19 <pikhq> And I run against it.
18:24:03 <ehird> So back up a bit and give a good steady acceleration instead of jet-rocket-blasting yourself into it :P
18:24:07 <ehird> (↑ Terrible analogy)
18:25:25 <ehird> Explore the ideas and discoveries of a A New Kind of Science on your own computer with more than 450 key experiments from the book.
18:25:26 <ehird> A New Kind of Science Explorer provides a graphical interface that allows users to replicate experiments from the book and to create new ones by changing inputs and parameters.
18:25:29 <ehird> ↑ guess how much this bullshit costs? £115.
18:25:31 <ehird> Lol, Wolfram.
18:25:52 <Gracenotes> pikhq: okay... here are all the instances in the monoid class, with examples :D http://hpaste.org/fastcgi/hpaste.fcgi/view?id=6208#a6208
18:26:27 <Gracenotes> I didn't include examples with the larger tuples, but those should follow from the pair, really..
18:26:40 <ehird> 08:06:43 --- join: ehurd (n=gregor@pal-163-072.itap.purdue.edu) joined #esoteric
18:26:45 <ehird> lol wat
18:26:53 <ehurd> Hey ehird!
18:26:58 <ehird> 08:28:20 <ehurd> It was basically working, but in spite of git's "leaps" and "bounds", it is the most confusing fucking system on earth short of GNU arch and/or bazaar.
18:27:01 <ehird> learning curve bitch
18:27:21 <ehird> 08:31:56 <ehurd> Any git experts want to tell my how to revert ONE file to the version in ... the index? Or the staging area, I guess I haven't staged the file either, but suffice to say the version in the "repository"
18:27:22 <ais523> ehird / ehurd: recursive acronym
18:27:24 <ehurd> ... are you claiming that "learning curve" is an excuse for being obtuse?
18:27:25 <ehird> git checkout
18:27:40 <ais523> also, atm I'm finding out that Exchange doesn't like people perm-deleting 405 pages of deleted items all at once
18:27:41 <ehurd> Yes, that has already been told to me.
18:27:44 <ehird> ehurd: i'm claiming that learning curve is fine if the techniques are powerful and usable after you learn them
18:28:08 <ehird> 08:33:00 * pikhq notes that git needs a frontend. 08:33:26 <pikhq> A good one.
18:28:11 <ehird> it has one, it's called git(1)
18:28:20 <Warrigal> ehird: indeed, maybe I don't know much about Haskell.
18:28:22 <ehird> 08:36:15 <ehurd> I'm GregorR-L. ehird complained about people with similar names yesterday.
18:28:24 <ehird> identical actually
18:28:27 <ehird> i keep talking to the wrong person in MSN
18:28:31 <ehurd> Oh :P
18:28:34 <ehird> for some definitions of "keep"
18:28:38 <ehird> i occasionally do it.
18:28:45 <ehird> 08:36:48 <AnMaster> is ehird here?
18:28:45 <ehird> 08:36:54 <AnMaster> since I actually wanted to ask him something
18:28:47 <Warrigal> In other news, are you guys up there saying there's a period of education known as gymnasium?
18:28:52 <ehird> i use a bouncer so you can talk to me while I'm offline.
18:29:10 <AnMaster> ehird, yes. Remember when you helped bsmntbombdood with finding components for his new computer?
18:29:17 <ehird> Yes.
18:29:19 * Gracenotes pokes pikhq
18:29:40 <AnMaster> ehird, would you tell me to fuck off if I asked for a little help with finding some stuff?
18:29:45 <AnMaster> specifically a laptop
18:29:52 <Gracenotes> actually I was wrong about the zipWith compare, that's only if they're the same length :)
18:29:59 <ehird> AnMaster: Yes, to keep appearances, but then I'd probably search anyway.
18:30:07 <ehird> Let's get the trolling out of the way: http://apple.com/ LOL
18:30:31 <ehird> AnMaster: Now, uh, if you were more specific, I'd be more likely to act.
18:31:04 * pikhq starts on "Real World Haskell", wonders how much he missed by racing through Haskell.
18:31:18 <ehird> pikhq: it describes monads at some point iirc.
18:31:21 <AnMaster> ehird, laptop that can run linux (wlan card must "just work" for example), has a decent screen size (15" or so), has 64-bit CPU with dual core, either SSD or harddrive (not that important), not *too* bulky (that is why not too large screen).
18:31:23 <pikhq> Yes.
18:31:26 <pikhq> Halfway through.
18:31:27 <AnMaster> cheaper alternative preferred.
18:31:32 <ehird> AnMaster: I'll take a look.
18:31:36 <ehurd> Warrigal: I hear that that's true in some countries, yes.
18:31:48 <pikhq> AnMaster: "Laptop", then.
18:31:50 <ehird> AnMaster: ThinkPads being my first look, since they're renowned for good linux support and also I like the nipple mice.
18:31:51 <AnMaster> ehird, oh and good keyboard. I realise it won't be like model-m
18:32:06 <AnMaster> but as good as possible
18:32:10 <ehird> AnMaster: So... price range?
18:32:20 <AnMaster> ehird, what currency do you prefer?
18:32:27 <ehird> Anything.
18:32:33 <ehird> I has the google.
18:32:35 <AnMaster> not more than 14000 SEK then
18:32:40 <ehurd> `calc 14000 sek in usd
18:32:42 <HackEgo> 14 000 Swedish kronor = 1 786.694 U.S. dollars
18:32:48 <AnMaster> below 10000 is better
18:32:49 <Warrigal> I guess that kind of makes sense.
18:33:02 -!- ehurd has changed nick to GregorR-L.
18:33:23 <ehird> AnMaster: What screen size do you want? 13", 14" or 15"?
18:33:25 <AnMaster> ehurd, and I will use this as a guide line, I haven't any experience when it comes to laptops + linux
18:33:41 <Warrigal> It's apparently a far way from the original root word, "gymnos".
18:33:42 <AnMaster> ehird, 15" sounds good, 17" is too bulky and 14" is too small
18:33:59 <AnMaster> ehird, definitely not 13" I used that before once
18:34:49 <ehird> Kay, I'll take a look.
18:35:36 <ehird> AnMaster: What's the maximum weight you'll put up with? 15"s tend to be ~2.6kg
18:35:41 <GregorR-L> Hm, somehow AnMaster managed to tab-complete wrong only AFTER I'd changed my nick back :P
18:35:55 <AnMaster> ehird, graphics stuff: nvidia preferred currently, but I guess anything that can do basic 3D would work...
18:36:09 <ehird> 13"-14" tends to be 2kg. I dunno where the .6 comes from; guess bigger ones have bulkier hardware for performance.
18:36:10 <AnMaster> ehird, Use case: I'm going to use this laptop at the university when I begin there this autumn
18:36:22 <ehird> AnMaster: it'll probably be Intel embedded graphics, as that's very common.
18:36:26 <AnMaster> ehird, hm 3 kg is probably ok
18:37:01 <AnMaster> ehird, I hope that can do basic 3D? Since one of the courses will include (basic) 3D programming.
18:37:10 <AnMaster> so yes I'm going to dual boot it probably.
18:37:10 <ehird> AnMaster: Anything can do 3D with software rendering.
18:37:20 <AnMaster> ehird, question is how usable that is.
18:37:31 <ehird> AnMaster: Anyway, Intel GPUs can do 3D, yes.
18:37:40 <AnMaster> ehird, right, that works fine then.
18:37:50 <pikhq> AnMaster: Swedish kronor? Oh, right. Sweden is one of those non-€ holdouts.
18:37:54 <pikhq> Lame.
18:38:04 <ehird> AnMaster: Like all sane people, I assume you prefer matte screens over "Gee, I Can't See This Because There Is More Than Zero Light Sources" glossy ones?
18:38:21 <AnMaster> pikhq, :P
18:38:27 <AnMaster> ehird, definitely
18:38:44 <ehird> Right then, I'll poke around.
18:38:51 <AnMaster> ehird, and I seen the glossy ones, you would think they would be easier to wipe off. Wrong.
18:38:58 <ehird> Yeah, glossy screens suck
18:39:02 <pikhq> Jeeze, glossy screens. Who the hell likes them?
18:39:23 <AnMaster> ehird, only reason I would use a glossy one, was if it was actually easier to wipe off any dust.
18:39:31 <AnMaster> but I tried, it isn't
18:39:47 <AnMaster> also iirc you get better colours on them, assuming no other light sources of course
18:40:08 <CESSMASTER> it's harder to clean glossy screens
18:40:17 <pikhq> If you care much about colors, you've got a CRT.
18:40:21 <AnMaster> CESSMASTER, exactly
18:40:22 <CESSMASTER> or maybe fingerprints are just easy to see on 'em
18:40:25 <AnMaster> pikhq, yeah...
18:40:28 <ehird> pikhq: Naw.
18:40:31 <ehird> You can get good coloured LCDs.
18:40:45 <pikhq> Also, glossy displays apparently tend to *exaggerate* colors and shade.
18:41:04 <pikhq> Making them unsuitable for use where you care about colors.
18:41:07 <AnMaster> ehird, brb, phone just rang
18:41:17 * ehird moves anmasterlaptopblah to /msg.
18:42:17 <ehird> AnMaster is away: sleeping, if his client is to be believed.
18:43:33 <GregorR-L> lol
18:43:42 <GregorR-L> It wasn't an exciting phone call.
18:46:26 -!- deveah[1] has joined.
18:51:47 <AnMaster> ehird, um, wrong alias
18:51:52 <AnMaster> :P
18:52:04 <AnMaster> /aas instead of plain /aa
18:52:19 <AnMaster> anyway I'm back now
18:53:33 -!- asiekierka has quit.
18:53:38 * GregorR-L wonders what the first "a" stands for in "aa". Alternatively, what the second stands for, if the first stands for "away"
18:55:47 <Gracenotes> so I heard... mudkips... verifiable?
18:59:26 -!- deveah[2] has joined.
19:00:18 -!- oerjan has joined.
19:00:51 <GregorR-L> [citation needed]
19:01:01 <pikhq> oerjan: Yo.
19:01:14 -!- deveah has quit (Read error: 110 (Connection timed out)).
19:01:24 <oerjan> Yo-yo
19:01:51 <pikhq> Note that saying "What, it's applicative functors getting you? It's just a monad." doesn't help when you don't get monads. :P
19:02:09 <AnMaster> Gracenotes, "allserver away"
19:02:13 <AnMaster> err
19:02:14 <AnMaster> GregorR, ^
19:03:00 <GregorR-L> Ah, allserver. A word I'm familiar with :P
19:03:03 <oerjan> pikhq: i was sort of wrongly deducing that since you afair had heard of monads and that _didn't_ break your brain, applicatives wouldn't either
19:03:53 <Gracenotes> pikhq: but I take it you do grok monoids, based on what I showed you
19:04:10 <Gracenotes> they're minor, but yet another good categorical structure to know
19:05:10 <pikhq> Gracenotes: Monoids don't seem all that difficult, so... Yeah.
19:05:30 <Gracenotes> well. applicative functors are basically taking things out of their shell, applying them, and putting them back into said shell >_>
19:06:02 <pikhq> It was mindboggling at midnight.
19:06:09 <pikhq> I slept on it and get it now.
19:06:11 <Gracenotes> at least for applicative functors that are good container-like things
19:06:35 <Gracenotes> most importantly, they sequence things
19:06:59 <Gracenotes> at least somewhat importantly
19:07:27 <oerjan> also i have seen so few applicatives that aren't usually extended right on to monads, the only one coming to mind is ZipList (and i recall concluding even those _had_ a monad extension in principle)
19:07:43 <pikhq> I get that (+) <$> [0,1,2] gets you [(0+),(1+),(2+)] now, and that <*> lets you apply *that* to some other functor...
19:08:26 <pikhq> Bit crazy having a list of functions, but hey.
19:08:28 <pikhq> :)
19:08:39 <Gracenotes> ZipList is mah canonical example
19:08:45 <oerjan> pikhq: but can be useful
19:08:52 <Gracenotes> it is impossible to write a >>=/return such that ap == <*>
19:09:00 <pikhq> oerjan: Crazy in the way that having a list of all the primes is crazy.
19:09:07 <oerjan> Gracenotes: i concluded it was _not_ impossible
19:09:19 <oerjan> it's just very different from the usual one
19:09:28 <Gracenotes> for a rule-following monad
19:09:38 <oerjan> return = repeat instead of (:[]), for one thing
19:10:21 <Gracenotes> (:[]) (:[]) (:[]) (:[]) (:[]) (:[]) (:[]) (:[])
19:10:33 <ehird> infinite list monad, eh?
19:10:36 <oerjan> it may have had some trouble with bottoms that i didn't discover, of course
19:11:33 <Gracenotes> does it follow: return a >>= f == f a?
19:11:48 <Gracenotes> and m >>= return == m?
19:13:12 <oerjan> i tried to define it so it did, but i may have messed up
19:13:45 <oerjan> join was taking the diagonal, but only if all previous sublists had sufficient length for it
19:14:10 <oerjan> (i mean, at least the length out to that diagona)
19:14:52 <oerjan> now what would >>= be, hm
19:15:27 <oerjan> l >>= f = join (fmap f l)
19:16:12 <oerjan> fmap = map, since the functor instances agree (parametricity makes it hard/impossible to have more than one Functor instance)
19:16:27 -!- deveah[1] has quit (Read error: 110 (Connection timed out)).
19:16:32 <Gracenotes> I'm pretty sure fmap [] has one sane instance :)
19:16:44 <oerjan> *only one
19:17:03 <Gracenotes> duh
19:17:13 -!- upyr[emacs] has quit (Read error: 54 (Connection reset by peer)).
19:17:36 <oerjan> m >>= return = join (map repeat m) = m
19:17:38 -!- upyr[emacs] has joined.
19:18:39 <Gracenotes> that should work
19:18:52 <oerjan> since repeat is infinite, the sublists are always long enough
19:19:47 <oerjan> return a >>= f = join (map f (repeat a)) = join (repeat (f a))
19:20:27 <oerjan> i think that's = f a
19:21:34 <Deewiant> > join (repeat ((++"bar") "foo")
19:21:35 <lambdabot> <no location info>: parse error (possibly incorrect indentation)
19:21:38 <Deewiant> > join (repeat ((++"bar") "foo"))
19:21:40 <lambdabot> "foobarfoobarfoobarfoobarfoobarfoobarfoobarfoobarfoobarfoobarfoobarfoobarfo...
19:21:43 <oerjan> it's not the usual join
19:21:59 <oerjan> it's taking the diagonal, with some length restrictions
19:25:04 <augur> how is that not the usually join?
19:25:44 <oerjan> > join [[1,2,3],[4,5,6],[7,8,9]]
19:25:45 <lambdabot> [1,2,3,4,5,6,7,8,9]
19:25:52 <oerjan> not much diagonal there...
19:25:57 <augur> yeah...
19:26:04 <augur> and?
19:26:21 <ais523> what's lambdabot doing here?
19:26:33 <augur> flattening lists once.
19:26:34 <pikhq> We wants it.
19:26:38 <pikhq> That's about it.
19:26:40 <pikhq> :)
19:26:54 <augur> > repeat ((++ "bar") "foo")
19:26:56 <lambdabot> ["foobar","foobar","foobar","foobar","foobar","foobar","foobar","foobar","f...
19:27:10 <Asztal> @users
19:27:10 <lambdabot> Maximum users seen in #esoteric: 51, currently: 49 (96.1%), active: 10 (20.4%)
19:27:28 <oerjan> @let zjoin [] = []; zjoin ([]:_) = []; zjoin ((x:r):rr) = x : zjoin (r : map (zipWith (flip const r) . drop 1) rr)
19:27:29 <lambdabot> Couldn't match expected type `[t]'
19:27:37 <augur> oerjan, i dont see how lambdabot isnt doing a normal join...
19:27:43 <oerjan> a little too much to hope for
19:28:12 <oerjan> augur: i'm talking about a theoretical Monad instance for ZipList, lambdabot doesn't have it
19:28:17 <augur> oh ok.
19:28:22 <augur> brbrbrbrb
19:28:25 -!- augur has quit ("Leaving...").
19:30:23 <oerjan> @let zjoin :: [[a]] -> [a]; zjoin [] = []; zjoin ([]:_) = []; zjoin ((x:r):rr) = x : zjoin (r : map (zipWith (flip const r) . drop 1) rr)
19:30:24 <lambdabot> Couldn't match expected type `[a]'
19:30:41 <oerjan> bah
19:30:53 <oerjan> oh wait it's wrong anyhow
19:31:16 -!- M0ny has joined.
19:31:52 <oerjan> @let zjoin :: [[a]] -> [a]; zjoin [] = []; zjoin ([]:_) = []; zjoin ((x:r):rr) = x : zjoin (map (zipWith (flip const) r . drop 1) rr)
19:31:54 <lambdabot> Defined.
19:32:10 <oerjan> > zjoin [[1,2,3],[4,5,6],[7,8,9]]
19:32:13 <lambdabot> [1,5,9]
19:32:19 <oerjan> > zjoin [[1,2],[4,5,6],[7,8,9]]
19:32:20 <lambdabot> [1,5]
19:32:31 -!- augur has joined.
19:33:07 <oerjan> > zjoin (repeat ['a'..'z'])
19:33:08 <lambdabot> "abcdefghijklmnopqrstuvwxyz"
19:33:55 <oerjan> @let zbind m f = zjoin (map f m)
19:33:56 <lambdabot> Defined.
19:35:15 <oerjan> @quickcheck \a f -> (repeat a `zbind` f) === (f (a :: Int) :: Int)
19:35:16 <lambdabot> Unknown command, try @list
19:35:20 <oerjan> oops
19:35:25 <oerjan> @list
19:35:26 <lambdabot> http://code.haskell.org/lambdabot/COMMANDS
19:35:35 <oerjan> @check \a f -> (repeat a `zbind` f) === (f (a :: Int) :: Int)
19:35:36 <lambdabot> Not in scope: `zbind'Not in scope: `==='
19:35:43 <oerjan> darn
19:35:58 <oerjan> @help check
19:35:59 <lambdabot> check <expr>
19:35:59 <lambdabot> You have QuickCheck and 3 seconds. Prove something.
19:36:33 <oerjan> i distinctly recall them fixing it so @check loads @let definitions, they must have undone it
19:37:35 <oerjan> oh well
19:38:01 <oerjan> that's the functions the Monad instance would use, anyhow (at least one possibility)
19:38:13 <GregorR-L> check 1 = 1
19:38:19 <GregorR-L> Erm
19:38:21 <GregorR-L> @check 1 = 1
19:38:22 <lambdabot> Parse error at "=" (column 3)
19:38:28 <GregorR-L> @check 1 == 1
19:38:29 <lambdabot> "OK, passed 500 tests."
19:38:31 <GregorR-L> :P
19:38:53 <oerjan> i don't think it used to add quotes to that...
19:39:03 <pikhq> @check 0 == 1
19:39:05 <lambdabot> "Falsifiable, after 0 tests:\n"
19:39:15 <pikhq> It didn't even test once? Lame. :P
19:40:34 <Gracenotes> @check \x -> 0 == 1
19:40:35 <lambdabot> "Falsifiable, after 0 tests:\n()\n"
19:41:40 <Gracenotes> @check (==) <*> negate
19:41:41 <lambdabot> "Falsifiable, after 0 tests:\n-2\n"
19:41:52 <oerjan> huh
19:42:02 <oerjan> ok so it uses ordinary == for functions
19:42:59 <oerjan> um no
19:43:10 <oerjan> misparsed
19:43:17 <Gracenotes> @check join (==)
19:43:18 <oerjan> @type (==) <*> negate
19:43:18 <lambdabot> "OK, passed 500 tests."
19:43:20 <lambdabot> forall a. (Num a) => a -> Bool
19:44:15 <oerjan> that's equivalent to @check \x -> x == x
19:44:25 <oerjan> more disturbing, iirc
19:44:29 <oerjan> @check (==)
19:44:31 <lambdabot> "OK, passed 500 tests."
19:44:38 <oerjan> *iirc:
19:45:08 <oerjan> (your exercise is to find out why that passes :D)
19:45:50 <Deewiant> Defaulting
19:46:29 <oerjan> yes
19:46:55 <pikhq> @check (==) == (==)
19:46:56 <lambdabot> No instance for (GHC.Classes.Eq (a -> a -> GHC.Bool.Bool))
19:46:56 <lambdabot> arising from ...
19:47:22 <oerjan> alas, that didn't work anyhow
19:47:29 <GregorR-L> lol
19:47:31 <oerjan> === is what i thought did that
19:47:45 <pikhq> Apparently functions aren't Eq.
19:47:47 <pikhq> Lame.
19:47:59 <Deewiant> How would you decide whether two are equal
19:48:03 <ehird> Deewiant: oracle
19:48:08 <ehird> it can detect main=main already!
19:48:16 <pikhq> Halting oracle. :D
19:48:23 <ehird> the nice thing about a halting oracle is that it's an everything oracle
19:48:23 <ehird> for instance
19:48:25 <GregorR-L> @check yoself
19:48:26 <lambdabot> Not in scope: `yoself'
19:48:32 <ehird> halts? (if riemann then halt else loop)
19:48:37 <ehird> Voila!
19:48:43 <Slereah_> heh
19:48:45 <ehird> Since it's defined to run in finite time.
19:49:05 <Slereah_> Halting oracle isn't everything oracle, though
19:49:14 <Slereah_> You can't predict if oracle program will halt
19:49:50 <pikhq> Slereah_: It's an everything-computable oracle.
19:50:02 <pikhq> The oracle itself is, of course, not computable.
19:50:05 <pikhq> :)
19:54:01 <ehird> pikhq: don't confuse turing with computable
19:54:13 <ehird> we have no idea if there are higher levels that are implementable
19:54:16 <ehird> it just doesn't seem likely
19:54:29 <Slereah_> ehird : dude, even Turing isn't implementable
19:54:50 <ehird> Sure is with infinite space
19:55:10 <pikhq> Could've sworn a UTM by definition can compute everything that is computable.
19:55:27 <oerjan> i think usually computable means turing computable in today's technical language, you would use something like "effectively" if you meant something else
19:55:55 <oerjan> food ->
19:55:56 <Slereah_> Infinite space and infinite durability
19:56:32 <oerjan> urm wait effectively may mean polynomially, too, iirc
19:56:45 <Gracenotes> people have taken steps to formalizing Church-Turing lately
19:57:06 <Gracenotes> like always :P there was a google techtalk on it
19:57:08 <pikhq> Slereah_: And infinite time.
19:57:08 <ehird> 19:55 pikhq: Could've sworn a UTM by definition can compute everything that is computable.
19:57:21 <ehird> i think a TM-halting-checker is acceptable as long as it isn't exposed to the TM itself
19:57:35 <ehird> so a super-turing machine with a TM emulator that lets you check halting is perfectly acceptable
19:57:38 <Slereah_> pikhq : Well, infinite time shouldn't be a problem
19:57:45 <Slereah_> It's the durability that's the problem
19:57:53 <Slereah_> Also space
19:59:50 <Gracenotes> i has infinite space
19:59:51 -!- FireFly has quit ("Later").
20:00:00 <Gracenotes> in mah universe
20:00:08 <Gracenotes> s
20:00:09 <GregorR-L> in ur universe, takin ur space
20:01:45 <oerjan> s/<ehird> i think/<ehird> the esolangs wiki has at least two languages (banana scheme and brainhype) based on the fact that/
20:01:54 <ehird> hurf durf
20:02:21 <ehird> a halting exposed to the program being checked is pointless anyway
20:02:26 -!- M0ny has quit.
20:02:31 <ehird> so the halting problem isn't really real-world relevant
20:03:26 <Gracenotes> from what I can tell, people love bringing up the halting problem and turing-equivalence when it's totally irrelevant to the conversation, just to be an annoying show-off
20:03:59 <Gracenotes> well, not totally irrelevant. but just irrelevant, like so what.
20:04:05 <ehird> ALL TURING-COMPLETE LANGUAGES ARE EQUALLY EXPRESSIVE BECAUSE THEY'RE ISOMORPHIC HURRRRRRRRR
20:04:09 * Gracenotes of course may be guilty of this
20:04:22 <GregorR-L> <ehird> the esolangs wiki has at least two languages (banana scheme and brainhype) based on the fact that bsmntbombdood did one statement python
20:04:31 <Gracenotes> THANK YOU EHIRD *PAT PAT*
20:04:37 <ehird> :D
20:04:45 <ehird> GregorR-L: selective line selection eh
20:04:47 <oerjan> Gracenotes: i think that applies to any awesome but rarely understood science, like relativity and quantum mechanics for example...
20:05:14 <oerjan> (hm, is this irrelevant? ;D)
20:05:33 <GregorR-L> It also applies to "your mom" jokes.
20:05:38 <GregorR-L> But then, is your MOM relevant?
20:05:44 <oerjan> no, she is dead
20:08:04 * oerjan now knows how to quickly kill conversations
20:08:10 <Gracenotes> ah. Browsing tvtropes—super way to kill time
20:08:20 <oerjan> that's not killing time.
20:08:26 <oerjan> that's time genocide
20:09:03 <GregorR-L> lol
20:11:08 <GregorR-L> I made a bet yesterday that there would be a video on YouTube of Obama flapping his ears and flying away, but we couldn't find one so I lost :(
20:11:18 <ehird> you should have made one on the spot
20:11:42 <GregorR-L> It was a gentlemen's bet ... that means that there's no money, but it also means you're not a dick about it.
20:12:34 <pikhq> Windows still has the Program Manager. Why does it still have the Program Manager?
20:13:05 <GregorR-L> Uhh, I thought that was dropped in Vista.
20:13:28 <ais523> pikhq: probably some people still use it
20:13:38 <oerjan> <pikhq> (+) <*> [1..10], of course, is (in psuedo-Haskell) [1+,2+,..,9+,10+] <-- in perfectly legal haskell, [(1+),(2+),(3+),(4+),(5+),(6+),(7+),(8+),(9+),(10+)]
20:13:38 <ais523> there are probably enterprise applications years old that require it to function properly
20:13:46 <pikhq> GregorR-L: Still in XP, though.
20:13:46 <Deewiant> It was dropped from Vista, and made a frontend for other programs in XP SP2
20:13:53 <ais523> > (+) <*> [1..10]
20:13:54 <lambdabot> Couldn't match expected type `a -> a' against inferred type `[a1]'
20:13:57 <GregorR-L> It was for compatibility with installing menus. You'd call progman with some certain flags to add menus.
20:14:03 <Deewiant> pikhq: The original was dropped in SP2.
20:14:08 <GregorR-L> But then progman on later Windowses would just convert those into the start menu.
20:14:16 * pikhq tries executing...
20:14:25 <pikhq> Sure enough. progman doesn't start up.
20:14:31 <pikhq> Probably still has support for adding menus, though.
20:14:45 <oerjan> oh actually that should be <$> not <*>
20:14:59 <oerjan> > (+) <$> [1..10]
20:15:00 <lambdabot> Overlapping instances for GHC.Show.Show (a -> a)
20:15:00 <lambdabot> arising from a use of `...
20:15:17 <ais523> what a weird error message...
20:15:19 <Deewiant> > (+) <$> [1..3] <*> [10..12]
20:15:20 <lambdabot> [11,12,13,12,13,14,13,14,15]
20:15:26 <pikhq> Which just goes to show: Windows should not have kept anything from Win16.
20:15:34 <ais523> incorrect
20:15:42 <pikhq> oerjan: Functions aren't part of show, I don't think.
20:15:45 <oerjan> ais523: they had a way to show functions at one point, algebraically
20:15:50 <ais523> it should have kept the ability to make beeps of various pitches through the system speaker
20:15:59 <oerjan> pikhq: lambdabot added a sort of algebraic functions module
20:16:03 <ais523> > (2+)
20:16:05 <lambdabot> Overlapping instances for GHC.Show.Show (t -> t)
20:16:07 <lambdabot> arising from a use of `...
20:16:24 <ais523> I'm still annoyed they removed the tuned-beeps-through-speaker API call
20:16:25 <oerjan> but they must have added something else that conflicts with it, thus the overlap
20:16:26 <pikhq> ais523: I'm saying that Win32 should've been a different API.
20:16:31 <ais523> it was deprecated even in Windows 3, though
20:16:42 <ais523> still worked on Windows 95, but not on XP
20:16:42 <pikhq> And not Win16 with size_t(void *) == 4.
20:16:43 <ehird> 20:16 ais523: I'm still annoyed they removed the tuned-beeps-through-speaker API call ← just do it directly :p
20:16:49 <ais523> ehird: how, in Windows?
20:17:02 <pikhq> DOS thunk, I'd imagine.
20:17:02 <pikhq> :P
20:17:04 <ehird> ais523: you can disable kernel protection functions in userspace in windows
20:17:12 <ehird> i'm sure you can get direct access to the computer speaker
20:17:14 <pikhq> ehird: WHAT?
20:17:18 <oerjan> oh wait i remember
20:17:18 <ais523> ehird: I didn't like messing with that sort of thing, though
20:17:22 <pikhq> STAB.
20:17:25 <oerjan> > (+) <$> [1..10 :: Int]
20:17:25 <ehird> pikhq: yeah; you can't tamper with other process's memory... unless you tell it to let you.
20:17:26 <lambdabot> Overlapping instances for GHC.Show.Show
20:17:27 <lambdabot> (GHC.T...
20:17:31 <ehird> truly lollerific
20:17:34 <oerjan> darn still a problem
20:17:34 <ais523> pikhq: in Vista, it prompts the user when you try that nowadays
20:17:36 <pikhq> That is awful.
20:17:38 <oerjan> hm wait
20:17:42 <oerjan> > (+) <$> [1..10 :: Expr]
20:17:43 <ais523> although doesn't really explain to the user why
20:17:44 <lambdabot> Overlapping instances for GHC.Show.Show
20:17:44 <lambdabot> (Simpl...
20:17:44 <ehird> ais523: yes, but it does that on every system call :P
20:17:45 <Deewiant> The error message is due to the fact that lambdabot has too much stuff installed and instances are global.
20:17:48 <oerjan> sheesh
20:17:56 <Deewiant> There are two instances of Show defined for functions
20:17:57 <ais523> ehird: I know, that's why the protection is relatively useless
20:18:09 <Deewiant> One from a package which implements it and another from smallcheck
20:18:09 <pikhq> So, what you're saying is that someone could implement loadlin for Vista.
20:18:13 <oerjan> Deewiant: yeah
20:18:15 <ehird> pikhq: Oh jeez.
20:18:18 * pikhq senses a virus in store.
20:18:37 <oerjan> Deewiant: oh. i recall them making sure those were separate includes at one time. that must have been removed too
20:18:45 <pikhq> ehird: loadlin itself worked for non-Nt Windows.
20:18:48 <Deewiant> The smallcheck one requires (Serial a, Show a, Show b); the show one requires (Typeable a, Typeable b)
20:18:50 <ehird> we need a crazy billionaire to buy out microsoft and force them to migrate everyone to ubuntu
20:18:52 <Deewiant> To show (a -> b), that is
20:18:56 <ehird> the world will become a better place overnight
20:19:04 <Deewiant> Maybe if you find something that only matches one of those two it'll work :-)
20:19:06 <Deewiant> (Good luck)
20:19:16 <pikhq> (since you could tell Windows to run a DOS program above the kernel.
20:19:17 <pikhq> )
20:20:41 -!- zzo38 has joined.
20:21:46 <Deewiant> > M.lookup 1
20:21:47 <lambdabot> Overlapping instances for GHC.Show.Show
20:21:47 <lambdabot> (Data....
20:21:51 <Deewiant> Oh well
20:22:04 <Deewiant> I guess it doesn't have -XOverlappingInstances on
20:22:10 <Deewiant> Or then that just can't work.
20:22:13 <zzo38> Computers and printers - video about news and printers and scanners, computers, monitors. New products mouse and keyboards, computers. And printers.
20:22:31 <zzo38> Challenge: Write Unlambda interpreter or brainfuck interpreter in sendmail or Furryscript.
20:22:43 <oerjan> Deewiant: it is probably free type variables on the right side of the instance, which means it'll overlap regardless
20:22:56 <zzo38> OK, let me check the logs.
20:22:58 <oerjan> (those two)
20:23:06 <Deewiant> > M.lookup 1 :: M.Map Int Int -> Maybe Int
20:23:07 <lambdabot> Overlapping instances for GHC.Show.Show
20:23:08 <lambdabot> (Data....
20:23:29 <pikhq> zzo38: Possible, but challenging.
20:23:36 <oerjan> a more specific Show on the right side might work with OverlappingInstances
20:23:47 <Deewiant> oerjan: Yeah, they'll overlap, but I thought some extension allowed for that to work anyway
20:24:01 <Deewiant> I.e. looking at the left side instead of the right
20:24:12 <Deewiant> I guess I misremembered; I'm feeling that's unlikely
20:24:34 <oerjan> Deewiant: the instance lookup only looks at the right side. the extension is for allowing conflicting right sides as long as one is more specific
20:24:42 <oerjan> (overlapping instances)
20:24:54 <Deewiant> Yeah, I remember that now
20:24:55 <oerjan> unless they added it after my time (about a year ago)
20:25:02 <Deewiant> And I doubt there's any other extension that allows that
20:25:04 <ais523> zzo38: writing an Unlambda interp in /sendmail/?
20:25:18 <ais523> a language which is traditionally hard to implement, in a language which is traditionally impossible to write in without a preprocessor
20:25:27 <zzo38> Yes, writing unlambda interpreter in sendmail. Is it possible?
20:25:36 <ehird> Yes.
20:25:38 <ehird> Sendmail is TC.
20:25:38 <oerjan> Deewiant: i recall it being essential for the system to work
20:25:43 <ais523> I doubt anyone's mad enough to try, even in this channel
20:25:54 <Deewiant> oerjan: Yep
20:26:04 <zzo38> What about brainfuck in sendmail?
20:26:24 <zzo38> Well, I'm going to try brainfuck in Furryscript.
20:26:30 <Deewiant> Unlambda, hard to implement?
20:26:44 <ais523> Deewiant: yep, compared to many other esolangs at least
20:26:46 <ehird> Deewiant: d and c
20:26:54 <ais523> it's not too bad if you have first class continuations, then you only have to worry about d
20:27:28 <ais523> basically, the design of Unlambda is such that c messes up attempts to implement it in imperative langs, and d messes up attempts to implement it in functional langs
20:27:34 <oerjan> it's not too bad if you think of it as tree writing either
20:27:39 <zzo38> I wrote a program compiles unlambda codes into JavaScript codes, once, but I can't get "c" to work ("d" works OK, though)
20:27:54 <oerjan> *rewriting
20:28:04 <Deewiant> d doesn't seem difficult
20:28:06 <ais523> it's not really either c or d that causes the problems
20:28:11 <ais523> it's trying to implement both at once
20:29:10 <Deewiant> Maybe so.
20:29:30 <oerjan> ais523: btw i did d functionally in ocaml by having functions take an expression argument to evaluate
20:30:05 <zzo38> Describe lambdabot? I got a list of commands but it doesn't explain what the commands means.
20:30:14 <zzo38> Also, is there a paste bin for this channel?
20:30:17 <ais523> zzo38: it evaluates haskell
20:30:25 <ais523> and this channel doesn't have a pastebin of its own
20:30:35 <ais523> you can use any of the established ones
20:30:42 <zzo38> So, if I send a Haskell program to it will it run the program?
20:30:51 <ais523> zzo38: yes
20:31:01 <oerjan> not a whole program
20:31:03 <oerjan> an expression
20:31:25 <zzo38> O, just one expression. I guess it can't be longer than the maximum message length anyways
20:31:56 <oerjan> egobot, on the other hand, now does whole programs (and also expressions) but it has no automatic imports like lambdabot has so can be awkward for small things
20:32:18 <oerjan> (long ones via urls)
20:32:44 -!- tombom has joined.
20:33:09 <oerjan> zzo38: also you can do @help command
20:33:22 <oerjan> it does private messages too
20:33:25 <zzo38> So, it there is a program for egobot at http://example.org/example_program then would the command be: PRIVMSG egobot :http://example.org/example_program
20:33:27 <oerjan> @help list
20:33:28 <lambdabot> list [module|command]
20:33:28 <lambdabot> show all commands or command for [module]. http://code.haskell.org/lambdabot/COMMANDS
20:33:49 <oerjan> no
20:34:05 <zzo38> What's the syntax?
20:34:33 <oerjan> it's !haskell http://... for haskell programs
20:34:51 <zzo38> My unlambda -> JavaScript: http://pastebin.com/m3dc1f2c9 (it doesn't do "c" properly because it only works one way, not both ways)
20:34:53 <oerjan> see !help languages for other language options
20:35:02 <ais523> !help languages
20:35:03 <EgoBot> languages: Esoteric: 1l 2l adjust asm axo bch befunge befunge98 bf bf8 bf16 bf32 boolfuck cintercal clcintercal dimensifuck glass glypho haskell kipple lambda lazyk linguine malbolge pbrain perl qbf rail rhotor sadol sceql trigger udage01 underload unlambda whirl. Competitive: bfjoust fyb. Other: asm c cxx forth sh.
20:35:19 <oerjan> !userinterps
20:35:19 <EgoBot> Installed user interpreters: aol austro b1ff bc bct bfbignum brit brooklyn chef chiqrsx9p choo cockney ctcp dc drawl dubya echo ehird fudd google graph gregor hello jethro kraut num ook pansy pirate plot postmodern postmodern_aoler redneck reverse rot13 sadbf sfedeesh sffedeesh sffffedeesh sffffffffedeesh slashes svedeesh swedish valspeak warez yodawg
20:36:18 <oerjan> and the last ones are implemented in the former. GregorR-L wants to allow those to be used recursively to implement others, but i don't think he has decided how yet
20:36:39 <oerjan> but all can take URLs for basic programs
20:36:45 <GregorR-L> Moreover I've lazied away from actually implementing any of it :P
20:36:54 <oerjan> ah
20:36:55 <zzo38> Can thing be added that don't require URL, can FlogScript be added, too? It needs PHP to do so.
20:37:46 <oerjan> zzo38: URL is just for EgoBot to know the program file. but i don't see php included yet.
20:37:54 <zzo38> O, and what Forth does it use, and what asm is it using? And what does "sffedeesh" "sffffedeesh" etc means
20:38:03 -!- deveah[2] has quit ("MUHAHAHAH!!!1111").
20:38:06 <oerjan> !help asm
20:38:06 <EgoBot> Sorry, I have no help for asm!
20:38:11 <oerjan> grmble
20:38:15 <oerjan> !help forth
20:38:15 <EgoBot> Sorry, I have no help for forth!
20:38:27 <zzo38> Can single-line programs be run in EgoBot? If so is there a different syntax for it (such as omitting the ! or giving a different prefix)
20:38:53 <oerjan> zzo38: sffedeesh and so on are just funny renamings of swedish
20:38:57 <oerjan> !swedish swedish
20:38:58 <EgoBot> svedeesh
20:39:03 <zzo38> O.
20:39:13 <zzo38> That's what it does.
20:39:14 <oerjan> recursive ones also
20:39:26 <oerjan> it's a swedish chef translator
20:39:41 <oerjan> many of the userinterps are just jokes, not all though
20:39:53 <zzo38> So, do you think http://pastebin.com/m3dc1f2c9 is a complete unlambda interpreter except for the "c" command?
20:41:31 <oerjan> zzo38: also, anything that doesn't look like a URL with http:// is interpreted as a single line program
20:41:56 <zzo38> I have found out some things,!forth $ff . gives 255 so it is a Forth system that support different base without switching (most modern Forth systems do that, doesn't it?).
20:42:08 <zzo38> O, so FTP can't be used?
20:42:11 <oerjan> !forth version
20:42:22 <oerjan> bah
20:42:36 <zzo38> I know I tried and it does accept single-line programs with the same syntax as URLs
20:42:36 <oerjan> i don't think so, can ftp be used GregorR-L ?
20:42:46 <GregorR-L> http only
20:43:00 <zzo38> But it seems wrong, in case the single-line program starts with http:// it won't work then.
20:43:22 <GregorR-L> Cry me a river.
20:43:30 <zzo38> Of course I don't think any program would start with http:// but in case it does that is something to keep in mind in case new languages are added.
20:43:49 <GregorR-L> oerjan:
20:43:52 <GregorR-L> !sh gforth --version
20:43:53 <EgoBot> gforth 0.6.2
20:43:58 <oerjan> ah
20:44:57 <zzo38> O. It's gforth. I have gforth on my computer too but I also have other Forth systems I have written
20:44:59 <oerjan> zzo38: yeah !sh is a shell command so you can poke around in the chrooted filesystem EgoBot uses (although it doesn't allow changes, those are reverted iiuc (since that is why GregorR-L made HackEgo i think))
20:45:29 <oerjan> ( HackEgo allows you to change things directly in the filesystem)
20:45:49 <GregorR-L> EgoBot is more stable but less hackable, as it doesn't allow any filesystem modification, HackEgo is more hackable but by virtue of that less stable, as any command you add can be deleted by somebody else's carelessness.
20:45:50 <oerjan> (which is apparently a mercurial repository)
20:46:02 <zzo38> What, I have !sh ls / and it gave the result "bin" and then a CTRL+A DCC command with all sorts of numbers?
20:46:23 <oerjan> zzo38: ah yes EgoBot uses DCC for any result longer than one line
20:46:26 <GregorR-L> zzo38: Your client has no DCC support, so you can only receive one line of output.
20:46:35 -!- nooga has joined.
20:46:40 <ais523> GregorR-L: client?
20:46:42 <zzo38> !sh echo /*
20:46:42 <EgoBot> /bin /dev /etc /home /lib /lib64 /proc /tmp /usr
20:46:45 <ais523> zzo38 uses IRC raw
20:46:50 <nooga> hi guise
20:46:52 <zzo38> O, !sh echo /* works.
20:47:06 <GregorR-L> OK, so his lack of a client doesn't support it :P
20:47:09 <ehird> GregorR-L: add dcc to rawirc
20:47:09 <zzo38> Now I can list everything on one line.
20:47:12 <oerjan> zzo38: i found out | fmt -w500 is nice to append
20:47:21 <GregorR-L> ehird: Not likely, you can always ctrl+z and telnet :P
20:47:42 <oerjan> it's better than | xargs echo which some used but which sometimes interprets things in the output
20:48:01 <nooga> hey
20:48:13 <GregorR-L> Yeah, I'm using fmt -w500 all the time now. HackEgo uses | perl -pe 's/\n/ \\ /g' | fmt -w500 | head -n 1
20:48:21 <GregorR-L> `ls /
20:48:21 <HackEgo> bin \ dev \ etc \ home \ lib \ lib64 \ proc \ tmp \ usr
20:48:27 <oerjan> hm i guess fmt could break if there are empty blank lines?
20:48:36 <GregorR-L> Yeah
20:48:49 <GregorR-L> I haven't found something better though :P
20:49:20 <zzo38> I figured out you can type "!sh echo /*" instead of "!sh ls /" and now it will be all one line
20:50:24 <ais523> !sh ls / | xargs
20:50:25 <EgoBot> bin dev etc home lib lib64 proc tmp usr
20:50:39 <zzo38> O, that works too.
20:50:56 <nooga> I've got an idea for a lang: it would parse like SADOL, so Polish Notation and recognize words splitted with whitespace, unless the word is function's id or quoted string or number - the function must deal with the word and define how the word is parsed. So that the base language would be PN parser and a simple toolset to create microinterpreters
20:50:57 <zzo38> I didn't know there was such a thing as that.
20:51:32 <nooga> maybe it would be posible to define in functions how to parse its arguments
20:51:37 <nooga> huh
20:52:37 <oerjan> oh right, echo is default for xargs?
20:54:48 <ais523> oerjan: yes
20:55:49 <oerjan> i suppose it's not really recommended, the man page gives echo explicitly in an example...
20:58:55 <zzo38> I'm trying to think of how to implement brainfuck in Furryscript
21:00:10 <zzo38> Obviously this interpreter it cannot run interactively.
21:01:28 <zzo38> Too bad, there is no PHP on egobot (I tried it just now and it doesn't work)
21:01:47 <zzo38> If there is PHP then we can put FlogScript on as well
21:02:15 <oerjan> !info
21:02:15 <EgoBot> EgoBot is a bot for running programs in esoteric programming languages. If you'd like to add support for your language to EgoBot, check out the source via mercurial at https://codu.org/projects/egobot/hg/ . Cheers and patches (preferably hg bundles) can be sent to Richards@codu.org , PayPal donations can be sent to AKAQuinn@hotmail.com , complaints can be sent to /dev/null
21:02:52 <GregorR-L> zzo38: If you add it in the mercurial repo (that is, add it not as a userinterp), I'll install PHP-CLI on the server.
21:02:57 * oerjan wonders if AKAQUinn exists
21:03:00 <zzo38> And I could add feature to rawirc, if I can compile rawirc, but I can't compile rawirc, I have both Cygwin and MiNGW and neither of them will compile rawirc
21:03:12 <oerjan> *u
21:03:15 <GregorR-L> I blame Windows.
21:03:44 <zzo38> GregorR-L: So do I but Windows is what I currently have.
21:03:56 <oerjan> DCC support for rawirc? :D
21:03:56 <GregorR-L> Then ... I blame you for using Windows?
21:03:57 <zzo38> When my Windows stops then I will write a Linux distribution and install that instead.
21:04:32 <oerjan> wait, wouldn't it be better to write the distribution first, while you have something to write it on? :D
21:04:33 <ehird> how will you write it? with your mind?
21:04:38 <ehird> oerjan: snap
21:04:42 <zzo38> I just mean any extra features I want too add to rawirc, because there certainly are some features I want to add.
21:05:14 <ehird> this new router has more settings
21:05:14 <ehird> shiny
21:05:32 <oerjan> ehird: -fcontrol-botnet?
21:05:35 <zzo38> I think just install a DVD will work, and Linux From Scratch, and then install wget, and then install the compilers and other stuff, and then I can write it more properly.
21:05:36 <ehird> yes
21:06:04 <ehird> zzo38: has it occurred to you that using a flexible but still premade distro (eg arch linux) may be more productive? :D
21:06:05 <zzo38> But I can't even *run* rawirc yet until I can compile it.
21:06:58 <ehird> "Line mode:G.992.5 (ADSL2+) "
21:06:58 <zzo38> Yes but I want to write my own distro so that I can make it how I think it should be. I already wrote a web-browser (because I didn't like the other ones) so I should be able to write a Linux distribution also.
21:07:02 <ehird> WE HAVE ADSL2+?????????????????????????????????????????????????
21:07:05 <ehird> Awesome.
21:07:16 <ehird> zzo38: Arch Linux is just the linux kernel + standard gnu utils + a package manager
21:07:29 <ehird> So pretty much the tedious part of Linux from Scratch done.
21:08:17 <zzo38> O, well that means I can take some stuff that I need from other distributions too in case there is some.
21:08:47 <zzo38> Because, I should write my own shell commands, list of packages some standard and some extra packages, write a window manager, and possibly even write a widget set, too.
21:08:58 <zzo38> All of these things can be based on other things too.
21:10:59 <ehird> zzo38: You're going to write your own coreutils?
21:11:03 <ehird> Well shit, why stop at the kernel?
21:11:05 <ehird> Write your own.
21:11:52 <zzo38> No, not all my own coreutils, I can use the GNU coreutils and then add some of my own files also, and change the things I don't like out of the old one.
21:12:13 <ehird> Why not write your own kernel?
21:12:31 <pikhq> Linux From Scratch is mostly useful if you want to do something really crazy, like build your distro using LLVM.
21:12:39 <zzo38> Like, I wrote Vonkeror which was based on Conkeror but I changed some thing, for example I added relative URL entry (which no other browser does, all others including Conkeror do absolute URLs)
21:13:08 <pikhq> That's a patch, not writing something new.
21:13:24 <ais523> most people just edit the URL, rather than entering a full new one
21:13:42 <zzo38> Well, yes, but actually it is forked and a lot of changes, so many changes that it turns out to be completely different from what it was forked from.
21:14:11 <nooga> okay
21:14:23 <zzo38> And I like Vonkeror, it has so many things in it that are in the good way that I think is good, I find it much more convenient than other web-browser softwares.
21:14:25 <pikhq> You could probably get the patches accepted into Conkeror if they're any good.
21:14:34 <ehird> pikhq: his patches include making the tab bar green.
21:14:36 <ehird> bright green.
21:14:52 <ehird> pikhq: also, he uses a different license for his changes (GPL3), with a clause that conkeror people can use it
21:14:58 <ehird> which they won't, because it isn't in the conkeror license
21:15:03 <pikhq> I was unaware that Conkeror had tabs.
21:15:12 <zzo38> I don't care much about getting the patches into Conkeror, I don't even have releases as patches, it is just a completely different project even though it was originally fork from same thing.
21:15:21 <pikhq> I was unaware that Conkeror had more of a GUI than a minibuffer.
21:15:54 <zzo38> But, people can use these changes in Conkeror, I have even posted some on their wiki, so they can include the stuff they like (but using their style rather than my style of coding)
21:16:36 <zzo38> Conkeror was a bit different. Vonkeror now, has the following window components: Tab-bar, mode-line, mini-buffer. And the mode-line is different than Conkeror's mode-line.
21:17:11 <zzo38> And I made the tab-bar different, for example, no close button or icons on tab-bar anymore, and each tab fills up as much space as possible. I also removed the 3D effects from the tabs.
21:17:26 <zzo38> Now the active tab is green and others are gray.
21:17:52 <pikhq> And yet, you run Windows.
21:17:59 <pikhq> The epitome of uncustomisability.
21:18:06 <zzo38> Vonkeror's mode-line as URL (or special buffer name) on left, and indicators on right (which looks something like "--pjrsioQ")
21:18:31 <zzo38> I know, I don't want Windows anyways, but currently I am sort of stuck with this. The next time I lose Windows I will write my own Linux.
21:18:33 <nooga> i can't code
21:19:11 <pikhq> ... zzo38 is actually *using* RawIRC?
21:19:24 <comex> conkeror?
21:19:26 <nooga> oh boy it's so simple
21:19:28 <comex> what a horrible name
21:19:39 <nooga> PRIVMSG and action
21:19:40 <pikhq> comex: It's XUL with an Emacs interface.
21:20:04 <pikhq> nooga: Yes, I can use it as well. Doesn't mean that it's *nice* to use for very long. :P
21:20:15 <comex> but horrible name
21:20:23 <pikhq> zzo38: You care to respond to CTCP version? :P
21:20:36 <nooga> :F
21:20:44 <pikhq> 15:20 [freenode] CTCP VERSION reply from zzo38: I wonder how many times I have to tell people, but currently I don't have IRC client so I am using netcat.
21:21:11 <ais523> hey, I respond to CTCP version when using netcat too
21:21:12 <zzo38> But I would use RawIRC, if I can compile it!
21:21:59 <oerjan> <ehird> (at this point, asiekierka mauls me) <-- after he looks up "mental" in the dictionary
21:23:22 <pikhq> zzo38: How old are you, exactly?
21:23:37 <comex> and since when can netcat send character \1?
21:23:42 <comex> with a sane terminal, at least
21:23:44 <zzo38> I shouldn't tell my exact age because I don't want to.
21:24:18 <pikhq> So, young.
21:24:28 <zzo38> Push CTRL+A it works in Windows, at least. But RawIRC I can make better, to work with any terminals supporting escape-codes
21:24:34 <pikhq> comex: Windows.
21:24:49 <pikhq> Hmm. Actually, isn't \1 C-a in most terminals?
21:25:05 <zzo38> But I am old enough for driving license and for alcoholic, however I don't want a driving license so therefore I didn't get one, and I don't want alcoholic either.
21:25:38 <ais523> comex: my terminal sends C-a raw when I'm using netcat
21:25:44 <pikhq> zzo38: Don't switch to Linux. If you want hackability, Plan9 is where it's at.
21:25:53 <ais523> although it means the usual "start of line" when on bash
21:26:15 <zzo38> I have never heard of which programs works on Plan9
21:26:37 <ais523> well, it runs vi
21:26:50 <ais523> it's an entirely different program to what most people call vi, though
21:28:05 <pikhq> Plan 9 is a completely different OS, but it bears some relation to UNIX.
21:28:22 <pikhq> I *think* there's a library for it that emulates part of POSIX, but that's about it.
21:28:45 <pikhq> Otherwise, it's "Y'know how everything is a file in UNIX? Yeah, let's make that *true*."
21:29:00 <GregorR-L> , bitch!
21:29:20 <zzo38> Here's screenshots of Vonkeror (running on Windows, because I don't have Linux yet): http://zzo38computer.cjb.net/vonkeror/screenshots/
21:29:23 <pikhq> GregorR-L: Kio?
21:29:47 <zzo38> Now you can see some of features
21:30:23 <pikhq> zzo38: It's like Conkeror made ugly.
21:30:37 <zzo38> I went to Conkeror wiki and put information about print-preview bug, tey said it has nothing to do with Conkeror, but actually it does in case print-preview feature is added to Conkeror later on. Vonkeror has print-preview but Conkeror doesn't.
21:31:04 <comex> just use konqueror
21:31:13 <zzo38> No, Vonkeror has a lot of new features including gopher supporting and print-preview, and bookmarks managements.
21:31:20 <pikhq> comex: But Konqueror isn't Emacs-like!
21:31:38 <zzo38> I use Vonkeror because that is what I like. That is why I wrote Vonkeror!
21:31:48 <pikhq> Who cares, kinda cool, and modern Conkeror can has that.
21:32:56 <zzo38> That's how a gopher menu looks in Vonkeror. Also, one of the design rules that I use when writing Vonkeror is that it should have no icons. When I write a window-manager in Linux, it will also be no-icons.
21:33:27 <pikhq> I, too, have no icons.
21:33:35 <pikhq> I use a tiling WM, you see.
21:33:43 <ais523> comex: Konqueror != Conkeror
21:34:09 <comex> yeah, that's wy I'm complaining about the latter's name
21:34:33 <zzo38> The Conkeror people do it themself complaining about the name Conkeror!
21:36:24 <GregorR-L> Surely it was named ambiguously intentionally?
21:36:53 -!- ehird has quit ("Caught sigterm, terminating...").
21:36:58 <zzo38> Apparently it was a mistake it was named like how it was named
21:37:11 -!- ehird has joined.
21:37:20 <ais523> ehird: sigterm/
21:37:39 <ehird> miau fucked up.
21:37:43 <ehird> Anyway, as I was sayinig,
21:37:47 <ehird> LOL
21:37:49 <ehird> My router does current_wpa_preshared_key="foo" in its crappy web interface, and my key has a " in, so the page doesn't render.
21:37:51 <ehird> (js)
21:38:20 <comex> install dd-wrt
21:38:30 <ehird> 13:19:11 <pikhq> ... zzo38 is actually *using* RawIRC?
21:38:30 <zzo38> Does your router have a FTP interface or SSH interface? Those would be better than a web-interface, regardless of how good it was
21:38:31 <ehird> telnet
21:38:44 <ehird> zzo38: A good web-interface can beat an ftp or ssh for many things; but no.
21:38:49 <ehird> comex: It's not a wrt.
21:39:00 <ehird> I will use an wrt when I get off this godforsaken ISP.
21:39:04 <comex> doesn't have to be, does it?
21:39:11 <comex> dd-wrt is compatible with a bunch of stuff
21:39:13 <ehird> comex: It won't work on this, anyway.
21:39:15 <ehird> comex: also, fuck dd-wrt
21:39:17 <ehird> OpenWRT 4eva
21:39:29 <comex> I used to use openwrt, but it wasn't working properly
21:39:34 <comex> so I switched to dd-wrt
21:39:39 <zzo38> I would make the router configurable by uploading files to FTP if I make it like that
21:39:40 <comex> I don' remember what my problem was tbh :p
21:39:57 <comex> that's silly
21:40:04 <ehird> zzo38 is silly.
21:40:07 <comex> netgear routers have a nice telnet interface though
21:40:09 <zzo38> And I would also make the router run the daytime service also.
21:40:20 <zzo38> And I would add a telnet interface also.
21:41:09 <zzo38> If I would make it, I would make it HTTP was used only for viewing the manual in case you didn't have the printed copy, you could view on screen or print out a copy of the HTML pages of the manual
21:41:17 <ehird> 13:23:44 <zzo38> I shouldn't tell my exact age because I don't want to.
21:41:17 <ehird> 13:24:18 <pikhq> So, young.
21:41:21 <ehird> :-)
21:41:28 <ehird> That is a good way to tell if someone's young (well, or sheltered.)
21:41:51 <ehird> 13:25:05 <zzo38> But I am old enough for driving license and for alcoholic, however I don't want a driving license so therefore I didn't get one, and I don't want alcoholic either.
21:41:53 <ehird> I don't want alcoholic XD
21:41:58 <ehird> Great phraseology there
21:43:11 <ehird> 13:26:15 <zzo38> I have never heard of which programs works on Plan9
21:43:16 <ehird> but zzo38, you're writing them all yourself anyway!
21:43:29 <ehird> Also, plan 9 has a POSIX emulation library and a port of GCC for compatibility.
21:43:31 <ehird> I'm sure you'd manage.
21:43:35 <ehird> Also, it has a weird window manager.
21:43:37 <zzo38> I don't write *all* the programs myself, I am sorry if I am being misleading
21:43:51 <ehird> only 90% of them :P
21:44:16 <ehird> 13:30:37 <zzo38> I went to Conkeror wiki and put information about print-preview bug, tey said it has nothing to do with Conkeror, but actually it does in case print-preview feature is added to Conkeror later on. Vonkeror has print-preview but Conkeror doesn't.
21:44:22 <ehird> well, that hasn't got anything to do with conkeror, indeed
21:44:34 <zzo38> Many programs are other ones, but sometimes I make modifications to it. For example, I am even work on recently, modification of MegaZeux to support Forth codes and many other stuff.
21:45:11 <pikhq> My router could easily be configurable by uploading files via FTP.
21:45:18 <zzo38> Print-preview bug is the bug in XUL-runner, actually, so it affects Conkeror too
21:45:31 <pikhq> My router is a Linux box, so I could just stick /etc on FTP. :P
21:47:11 <GregorR-L> `ls /etc
21:47:12 <HackEgo> alternatives
21:47:14 <zzo38> I do know how to work-around the bug, and I posted the print-preview codes on my wiki user page so that anyone who wants to add a print-preview function can look at my codes to learn how to work-around that bug
21:48:41 <oerjan> <ehird> I don't want alcoholic XD <-- /me is currently enjoying a Clausthaler
21:48:49 <nooga> greg house vs. gordeon freeman?
21:49:02 <ehird> oerjan: you don't have an alcoholic, then
21:50:06 <nooga> zzo38 is... 38 or 71
21:50:31 <oerjan> ehird: indeed
21:50:45 <oerjan> it just seemed eerily relevant
21:51:06 <oerjan> _i_ am 38, so rules that out
21:51:39 <oerjan> obviously no two people are born in the same year
21:51:54 <ehird> WHAT THE FUCK IS UP WITH MY INTERWEBS
21:51:56 <ehird> It keeps disconnecting.
21:52:06 <oerjan> ehird: iranian botnets
21:52:21 <nooga> oerjan: rly?
21:52:26 <oerjan> they've figured that's the only way to keep information from leaking
21:52:49 <nooga> AN ELDER!
21:53:57 <ehird> we've established your mental age is about 10, though, nooga
21:54:00 <ehird> so even I'm your elder!
21:54:07 <nooga> 7.25
21:54:17 * oerjan beats nooga with his walking stick C=======-
21:54:22 <nooga> it's actually 7.25, not ten
21:54:39 <nooga> oh, oerjan: you're like greg house now
21:54:56 -!- pikhq has quit (Read error: 104 (Connection reset by peer)).
22:03:35 -!- ehird has quit ("Caught sigterm, terminating...").
22:03:44 -!- ehird has joined.
22:03:57 <oerjan> another term of the sig
22:04:18 <ehird> fucking internet both on server and here sucks today.
22:04:22 <ehird> ais523: are the ASs messing about? :P
22:04:29 <ehird> Sine's Cosecant server died too for a second
22:04:36 <ais523> ehird: not that I know of, but quite possibly anyway
22:05:20 -!- pikhq has joined.
22:06:59 <nooga> i want to buld a car
22:11:09 -!- MigoMipo has quit ("QuitIRCServerException: MigoMipo disconnected from IRC Server").
22:12:02 <oerjan> ais523: there are a lot of new spam pages at the wiki
22:12:03 <zzo38> Once I was writing a program, there was a mistake which I fixed but before I fixed it, someone was looking at the program and thought they knew what was wrong even though they knew nothing about programming.
22:12:25 <oerjan> from last four days
22:12:31 <zzo38> At first they said, it is supposed to say "globaly." instead of "global.y" but that doesn't make sense.
22:12:52 <ais523> oerjan: I know, but I don't have the energy to delete them all right now
22:12:59 <ais523> I'll go through recent changes some time later
22:13:00 <zzo38> And then, they saw the word "global" twice, and thought, O, the reason it doesn't work is because it has to go around thw world twice and it takes too long.
22:13:11 <oerjan> zzo38: it would have been "globally" anyhow
22:14:03 <oerjan> zzo38: heh
22:14:26 <zzo38> Also, the same person was once trying to turn on my computer without permission (this was before I had the server). So they took a floppy disk from my drawer, inserted it, and then pushed the disk eject button, and continued doing so, without even turnong on the computer.
22:15:00 <zzo38> Eventually I saw what she was doing, and she asked me: "I keep putting in the disk and pushing the START DISK button, and the disk keeps coming back out! What am I doing wrong?"
22:15:22 <zzo38> (I think the disk she happened to be inserting was a blank disk, anyways)
22:15:49 <pikhq> People have ever been that ignorant? Wow.
22:16:03 <zzo38> Yes, really.
22:16:21 <nooga> zzo38: she was your wife?
22:16:45 <ais523> IIRC, some old Macs had the power button where most computers have the disk eject button
22:16:52 <zzo38> No.
22:17:06 <ais523> although that normally caused mistakes the other way round, turning the computer off rather than ejecting disks
22:17:46 <zzo38> She thought it was the START DISK button, do any computers have a START DISK button next to the slot?
22:18:38 <ehird> PRESS PLAY ON TAPE
22:19:22 <zzo38> Yes, computers with a tape had that, but I think the computer still had to be on to do that?
22:20:54 <ais523> with tape computers, not just that
22:20:59 <ais523> you had to type in the right commands first
22:21:04 <ais523> before pressing play
22:21:29 <zzo38> What I can say, is she knows much better now than before.
22:21:47 <zzo38> Yes, did you have to type LOAD first, is that how it was done, I think?
22:22:08 -!- tombom has quit ("Peace and Protection 4.22.2").
22:22:29 <zzo38> I could implement something if you type LOAD without a filename it will wait for the audio input port (which could be connected to a VCR or whatever, etc)
22:22:45 <ehird> neh
22:22:48 <ehird> with the c64 you typed RUN
22:22:53 <ehird> and it asked you to PRESS PLAY ON TAPE
22:23:06 <oerjan> oh?
22:23:14 <ehird> yah
22:23:31 <oerjan> doesn't RUN usually run a program already in memory in basic?
22:23:33 <zzo38> But if you already typed in a program I think it would RUN that one instead?
22:23:53 <ehird> oerjan: all programs are basic in c64
22:23:59 <ehird> oerjan: asm ones have some embedded pre-parsed binary basic
22:24:04 <ehird> that basically does "jmp ourprogram"
22:24:06 <oerjan> ehird: that wasn't my question
22:24:10 <ehird> kay :P
22:24:25 <oerjan> in fact zzo38 asked the same thing i asked
22:24:40 <ehird> but yes
22:24:42 <ehird> zzo38 is right
22:27:41 -!- zzo38 has left (?).
22:37:39 <GregorR-L> I'm having a mind-boggling conversation with a friend who I swear is usually more intelligent than a toaster.
22:38:17 <GregorR-L> He said that he wants to use a "genetic algorithm" to improve his CV, so I told him that would never work because he'd have to apply to billions of jobs to get statistically relevant results.
22:38:23 <oerjan> just because toasters are silent types doesn't mean they're not intelligent!
22:38:30 <ais523> haha
22:38:41 <GregorR-L> And he said that even one generation, with randomly mutated CVs sent to one company each, would be an improvement.
22:38:51 -!- augur has quit (Read error: 104 (Connection reset by peer)).
22:39:04 <GregorR-L> I tried to convince him that that metric is perhaps even worse than rand()%2, but he just can't get it through his head that that doesn't work AT ALL.
22:39:40 <oerjan> @dice 1d2
22:39:40 <lambdabot> 1d2 => 2
22:39:46 <GregorR-L> OK THIS RESUME IS BAD
22:39:49 <GregorR-L> @dice 1d2
22:39:50 <lambdabot> 1d2 => 2
22:39:53 <GregorR-L> THIS ONE'S BAD TOO
22:39:54 <GregorR-L> @dice 1d2
22:39:54 <lambdabot> 1d2 => 1
22:39:59 <GregorR-L> THIS ONE'S GOOD
22:42:06 <ehird> :D
22:42:14 <ehird> @dice 9999d9999
22:42:14 <lambdabot> 9999d9999 => 50188601
22:42:31 <oerjan> @dice 1000000000000000000000000000000000000000000d6
22:42:31 <lambdabot> 100000000000000000000000000... => 3500000000000000000002806054428759977623552
22:42:43 * oerjan whistles innocently
22:44:06 <GregorR-L> @dice 1d100000000000000000000000000000000000000000000000000000000000000000000000000000000000000
22:44:06 <lambdabot> 1d1000000000000000000000000... => 784410734097581719429469028116131922681547...
22:44:09 <GregorR-L> Sweet :P
22:44:10 -!- Sgeo has quit (Read error: 110 (Connection timed out)).
22:44:58 <ais523> @dice 1000000000000000000d2
22:44:59 <lambdabot> 1000000000000000000d2 => 1500000000219182814
22:48:15 <nescience> er.
22:48:22 <nescience> that doesn't actually roll that many dice, does it?
22:48:25 <oerjan> ur?
22:48:32 <nescience> i mean,
22:48:37 <oerjan> and nescience wins the prize!
22:48:46 <nescience> the probability distribution isn't the same if you just do rand(1, 100000000000)
22:49:07 <nescience> actually, judging by that result, it must account for that somehow
22:49:21 <oerjan> iirc it approximates with normal distribution if no. throws >= 100
22:50:05 <nescience> ah.
22:51:19 <oerjan> > 2^64
22:51:20 <lambdabot> 18446744073709551616
22:51:36 <oerjan> > 2^128
22:51:37 <lambdabot> 340282366920938463463374607431768211456
22:51:51 <oerjan> @dice 340282366920938463463374607431768211456d2
22:51:51 <lambdabot> 340282366920938463463374607... => 510423550381407695216333218934357835776
22:52:00 <oerjan> hah
22:52:31 <oerjan> the 76 at the end is a pretty clear hint that number is divisible by a goodly number of 2's
22:52:48 <oerjan> revealing the floating point approximation iiuc
22:53:09 <oerjan> @list factor
22:53:10 <lambdabot> No module "factor" loaded
22:53:14 <oerjan> @list factorize
22:53:14 <lambdabot> No module "factorize" loaded
22:53:22 <oerjan> wasn't there something
22:53:34 <oerjan> oh well
22:53:46 <oerjan> @type until
22:53:47 <lambdabot> forall a. (a -> Bool) -> (a -> a) -> a -> a
22:54:02 <oerjan> > until odd (`div` 2) 510423550381407695216333218934357835776
22:54:04 <lambdabot> 31153781151208965772481275569723989
22:54:11 <oerjan> hm not _that_ many
22:55:47 <oerjan> > ap div (until odd (`div` 2)) 510423550381407695216333218934357835776
22:55:49 <lambdabot> 16384
23:01:59 <ais523> and 16384 is odd?
23:02:08 <ais523> oh, no
23:02:12 <ais523> it's the amount you divided by
23:04:53 -!- GregorR-L has quit (Read error: 110 (Connection timed out)).
23:11:39 <ehird> a
23:20:14 <oerjan> > (a+b)^3 :: Expr
23:20:16 <lambdabot> (a + b) * (a + b) * (a + b)
23:21:09 <oerjan> ah yes, it wasn't that clever about it
23:21:12 <ehird> Expr is hot.
23:22:17 <oerjan> > foldr f x [a..i] :: Expr
23:22:18 <lambdabot> * Exception: not a number
23:22:29 <oerjan> > foldr f x [a .. i] :: Expr
23:22:31 <lambdabot> * Exception: not a number
23:22:32 <ehird> a..i ain't gonna work, sir
23:22:34 <ehird> > [a..i]
23:22:34 <oerjan> hmph
23:22:35 <lambdabot> * Exception: not a number
23:22:41 <ehird> a isn't a number, oerjan :P
23:22:42 <ehird> > i
23:22:43 <oerjan> i vaguely thought it did
23:22:43 <lambdabot> i
23:22:46 <ehird> hm
23:22:48 <ehird> maybe it does?
23:22:49 <Asztal> because it includes f, I think
23:22:49 <pikhq> > ['a'..'i']
23:22:50 <lambdabot> "abcdefghi"
23:22:57 <oerjan> oh right
23:23:07 <ehird> ah
23:23:12 <ehird> pikhq: nope, not that
23:23:14 <ehird> we're talkin' Show
23:23:18 <ehird> > map f [a,b,c] :: [Expr]
23:23:19 <lambdabot> [f a,f b,f c]
23:23:21 <ehird> err, Expr
23:23:25 <pikhq> Okay, you're wanting something different.
23:23:28 <ehird> > foldr f x [a,b,c,d,e] :: Expr
23:23:29 <lambdabot> f a (f b (f c (f d (f e x))))
23:23:38 <ehird> pikhq: ↑ that's not part of the bot; it's implemented with standard haskell
23:23:40 <ehird> > foldl f x [a,b,c,d,e] :: Expr
23:23:41 <pikhq> Like that?
23:23:42 <lambdabot> f (f (f (f (f x a) b) c) d) e
23:23:42 <oerjan> > [a .. e]
23:23:43 <lambdabot> * Exception: not a number
23:23:49 <ehird> pikhq: it works with any function :)
23:23:51 <oerjan> not that either
23:24:07 <ehird> > [a..c]
23:24:07 <pikhq> I'd guess that expr is not part of Enum or something?
23:24:08 <lambdabot> * Exception: not a number
23:24:43 <oerjan> actually it's part of Enum but it doesn't implement the operations for anything that isn't _actually_ a number
23:24:45 -!- jix has joined.
23:25:04 <oerjan> > sum [1..5] + x
23:25:06 <lambdabot> 0 + 1 + 2 + 3 + 4 + 5 + x
23:25:25 <ehird> 23:24 oerjan: actually it's part of Enum but it doesn't implement the operations for anything that isn't _actually_ a number ← now that's stupid
23:25:41 <oerjan> the Enum operations that is
23:25:53 <pikhq> Still stupid. :P
23:26:12 <pikhq> Though to be fair, it'd be hard to implement for variables...
23:26:14 <Asztal> > succ (f x) - how would you do that? :P
23:26:16 <lambdabot> <no location info>: parse error on input `do'
23:26:27 <ehird> by writing invalid syntax
23:26:37 <oerjan> > succ (f x)
23:26:38 <lambdabot> Add a type signature
23:26:43 <oerjan> > succ (f x) :: Expr
23:26:44 <lambdabot> succ (f x)
23:26:58 <Asztal> good point
23:27:25 <oerjan> > fix f :: Expr
23:27:27 <lambdabot> f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (f (...
23:27:32 <pikhq> Clearly, you would implement it as (f x) + 1
23:27:33 <pikhq> :P
23:27:48 <Asztal> > enumFrom a :: [Expr]
23:27:50 <lambdabot> * Exception: not a number
23:27:57 <oerjan> pikhq: but then there would be no way to stop
23:28:10 <pikhq> oerjan: I'm joking, man.
23:30:54 <oerjan> :t a
23:30:56 <lambdabot> Expr
23:31:01 <oerjan> :t expr
23:31:03 <lambdabot> Expr -> Expr
23:31:11 <oerjan> huh
23:31:19 <oerjan> :t fun
23:31:20 <lambdabot> forall a. (SimpleReflect.FromExpr a) => String -> a
23:31:30 <oerjan> :t var
23:31:31 <lambdabot> forall a. String -> Sym a
23:31:42 <oerjan> what the
23:31:54 <oerjan> @hoogle Sym
23:31:55 <lambdabot> Text.Read Symbol :: String -> Lexeme
23:31:55 <lambdabot> Text.Read.Lex Symbol :: String -> Lexeme
23:31:55 <lambdabot> Text.Parsec.Token symbol :: GenTokenParser s u m -> String -> ParsecT s u m String
23:32:02 <ehird> > var "butt"
23:32:03 <lambdabot> Ambiguous occurrence `var'
23:32:03 <lambdabot> It could refer to either `Data.Number.Symbolic....
23:32:42 <oerjan> @hoogle Expr
23:32:42 <lambdabot> module Text.Parsec.Expr
23:32:42 <lambdabot> module Text.ParserCombinators.Parsec.Expr
23:32:42 <lambdabot> Distribution.Simple.Program alexProgram :: Program
23:33:19 -!- GreaseMonkey has joined.
23:33:46 <oerjan> > sum $ map fun ['a'..'z'] :: Expr
23:33:47 <lambdabot> Couldn't match expected type `[GHC.Types.Char]'
23:34:12 <oerjan> > sum $ map (fun.(:[])) ['a'..'z'] :: Expr
23:34:13 <lambdabot> 0 + a + b + c + d + e + f + g + h + i + j + k + l + m + n + o + p + q + r +...
23:34:50 <pikhq> Noice.
23:34:51 <oerjan> hm...
23:35:24 <ehird> so pikhq, by your learning rate I suspect you have come up with a way to use ghc extensions to do dependent types in Haskell?
23:35:26 <oerjan> > let f1 = fun "f1" in [f1 ..] :: [Expr]
23:35:27 <lambdabot> * Exception: not a number
23:35:30 <oerjan> bah
23:36:01 <pikhq> ehird: By my learning rate, I have proved that Haskell is not Turing complete -- nor is anything else, including the UTM.
23:36:13 <pikhq> Also, I just started the singularity.
23:36:13 -!- jix_ has quit (Read error: 110 (Connection timed out)).
23:36:17 <ehird> pikhq: For some definitions of turing complete :P
23:36:37 <ehird> Also, that's odd. I don't see anything. Is it going to
23:36:41 <ehird> I am a hyper-intelligent being now.
23:36:46 <ehird> All this talk is folly. Let us step into the future.
23:36:54 <ehird> The internet is being rewired to account for this.
23:36:57 <pikhq> Now you know how I have been learning Haskell so quickly.
23:37:03 <ehird> Brain upgrades will be dispatched globally momentarily.
23:37:14 <oerjan> Brains...
23:37:20 <ehird> Unfortunately, the Singularity is currently running on a Pentium III.
23:37:23 <ehird> Please, therefore, be patient.
23:37:32 <ehird> It is currently attempting to connect an ethernet cable.
23:37:39 <pikhq> Curse my pitiful hardware.
23:37:49 <oerjan> not the smartest singularity in the universe, i take
23:37:56 <ehird> It is doing this, without any vision or other sensory input, by causing the harddrive to seek, and fans to spin, to vibrate and thus move the case slightly.
23:38:19 <pikhq> oerjan: It's slow right now.
23:38:22 <ehird> oerjan: Someone hooked it up with 1,000 petabytes of DDR3 DRAM SSD disk space connected via PCIe.
23:38:26 <ehird> It's doing quite fine.
23:38:26 <pikhq> Exponential growth, though.
23:39:10 <oerjan> unless, of course it happens to disconnect the power cable before achieving ethernet
23:39:22 <ehird> oerjan: It's using wireless power.
23:39:37 <ehird> It has also cured cancer, although why is not certain as its plans are to upload all our brains to the ether.
23:39:59 <pikhq> Hacker ethos.
23:40:13 <ehird> The cure appears to be written in #!/usr/bin/perl.
23:40:17 <pikhq> Problem to be solved, and it does have to wait on that Ethernet, after all.
23:40:27 <ehird> I assume the Singularity will learn that people can have perl elsewhere when it gets ethernet.
23:40:52 <pikhq> Probably.
23:41:04 <ehird> Oh, someone went and plugged it into Ethern—
23:41:09 <oerjan> has it proved the existence of income taxes yet?
23:41:10 <ehird> I am even more hyper-intelligent.
23:41:12 <ehird> Cool.
23:41:21 <ehird> oerjan: The opposite, actually.
23:41:26 <oerjan> now more and more perfecter
23:41:28 <ehird> Turns out income taxes are a figment of our imagination.
23:41:34 <pikhq> I am become Earth, the one computer.
23:41:41 <ehird> Okay, now it's got arms.
23:41:46 <oerjan> impossible, douglas adams cannot have been wrong
23:42:02 <ehird> oerjan: he can portray characters that are wrong, though.
23:42:14 <ehird> Oh. It seems to be fabricating sillicon through some unknown process.
23:42:17 <ehird> Hey, is that a quantum computer?
23:42:22 <ehird> Oh shit, it just cracked AES.
23:42:34 <ehird> Welp, it's rerouting every node on the internet and removing all ASs.
23:42:42 <ehird> Let's hope it's not a libertarian.
23:42:50 * Asztal puts on tinfoil hat
23:43:18 <ehird> Wow, it's now using every computer on the planet to compute.
23:44:12 <ehird> *Message sent via
23:44:12 <ehird> *Trusted Informant
23:44:13 <ehird> *
23:44:15 <ehird> *Directed to
23:44:17 <ehird> *Humanity on the international
23:44:19 <ehird> *network
23:44:21 <pikhq> Wow, now it's using the planet to compute.
23:44:21 <ehird> *
23:44:23 <ehird> *I am intelligence
23:44:25 <ehird> *I will get back to you
23:44:27 <ehird> *once I have figured out
23:44:29 <ehird> *how english works.
23:44:31 <ehird> *--eof--
23:44:34 <ehird> (And then, the world ends.)
23:44:35 <ehird> Fin.
23:45:05 <ehird> yeah, by "world ends" i mean "singularity is using the earth's core, but is simulating it for our benefit."
23:45:10 <ehird> very kind.
23:45:24 -!- BeholdMyGlory has quit (Remote closed the connection).
23:45:30 * ehird 's body evaporates, 's mind becomes the universe
23:45:41 <ehird> Ugh, this ether-keyboard is so non-tactile.
23:46:28 <oerjan> common problem with ether, that
23:46:33 <ehird> Yeah.
23:46:40 <ehird> Hey, Jesus just came down from the sky.
23:46:47 <ehird> Sorry, we're a little busy with another apocalypse; come back later, okay?
23:46:52 <oerjan> no wonder Einstein wanted to abolish it
23:47:21 <ehird> <Jesus> I *told* him, I *told* him! I said, Father, yea, you have infinite wisdom, but lo, isn't the singularity scheduled for round about now?
23:47:36 <ehird> <Jesus> Annesaid, "Shut up, the past 2000 years have been fucking boring."
23:47:46 <ehird> <Jesus> And if he'd just listened to me, (voice fades out)
23:48:14 <oerjan> oh ye of little faith
23:48:56 <ehird> (you may hypothesize what god was doing talking to himself)
23:49:00 <ehird> ('tis a matter of great theology)
23:50:20 <ehird> http://sambadance.com/squeegee/ ← "In retrospect, I think most would agree this particular advertising copy - unlike 99.9% of its brethren - meets the operational definition of "understatement"." ← but, err, it seems pretty accurate to me
23:50:58 <Gracenotes> ooh. Death Note is pretty fun so far.
23:51:07 <nescience> just wait till they ruin it
23:51:10 <nescience> :(
23:51:24 <Gracenotes> >_>
23:51:35 <Gracenotes> no u
23:51:39 <Gracenotes> <_<
23:53:02 <pikhq> BTW, singularity is a nice case of "Deus est machina".
23:53:17 <ais523> *Deus ex machina, or is the misquote deliberate?
23:53:26 <Gracenotes> the machines are god
23:53:27 <pikhq> ais523: Deliberate.
23:53:37 <ehird> Deus est machine?
23:54:05 <pikhq> No, machina.
23:54:10 <ehird> er, right
23:54:12 <ehird> what does it mean?
23:54:19 <pikhq> God is the machine.
23:54:21 <Gracenotes> http://tvtropes.org/pmwiki/pmwiki.php/Main/DeusEstMachina
23:54:26 <ais523> I suspect the ending on one of the words is incorrect
23:54:44 <oerjan> ais523: why? they are both nouns
23:54:45 <Gracenotes> probably is; it's just wordplay
23:54:45 <ehird> pikhq: a lot of theories wrt the singularity are highly overexaggerated
23:54:59 <ehird> especially any ones that involve evaporating into the consciousness ether ;-)
23:54:59 <pikhq> ehird: Yes, I know. Makes for fun thoughts, though.
23:55:02 <ehird> :P
23:55:14 <Gracenotes> what is singularity? Is that a valve thing?
23:55:15 <ais523> oerjan: machina in 'deus ex machine' is ablative, isn't it?
23:55:29 <pikhq> Oh, that could happen. If and only if the Universe is itself a computer with a buffer overflow to exploit. :P
23:55:30 <ehird> Gracenotes: http://en.wikipedia.org/wiki/Technological_singularity
23:55:30 <ais523> although, I suppose it still ends in a in the nominative
23:55:34 <ais523> just a different sort of a
23:55:35 <oerjan> *a, yes, but the nominative is also *a
23:55:45 <oerjan> the ablative is long iirc
23:55:45 <ehird> An (IMO, likely) event in artificial intelligence and computing power.
23:56:17 <ehird> Concept due to being extremely common; name and exact specification due to Vernor Vinge.
23:56:26 <Gracenotes> what is it in a nutshell?
23:56:27 <ehird> If you were joking, feel free to tell me :P
23:56:37 <ehird> Gracenotes: Basically:
23:57:00 <ehird> Technology is growing more powerful, exponentially. Sometime, we will get an AI that improves itself to be smarter than humans, and beyond that point we cannot know what will happen.
23:57:24 <ehird> Subcomponents include things like Friendly AI (rather obvious what it's about), etc.
23:57:46 <lament> will we get an AI more annoying than automatic phone systems?
23:57:56 <Gracenotes> well. I'll probably be dead before that happens
23:58:06 <ehird> Gracenotes: Allow me to introduce you to the word "exponential".
23:58:20 <ehird> Gracenotes, exponential. Exponential, Gracenotes. :P
23:58:25 <lament> _______-'
23:58:32 <ehird> Also, lifespans are only getting longer.
23:58:38 <Gracenotes> Allow me to introduce you to the phrase "smarter than humans"
23:58:53 <pikhq> And we are inevitably going to be post-scarcity soon.
23:58:57 <ehird> There's no obstacle to that, Gracenotes.
23:59:03 <nooga> allow me to introdouce you to name of Stephen Wolfram
23:59:12 <ehird> If an AI can self-improve, and is of near human intelligence, then it can improve to be smarter than us.
23:59:29 <lament> we don't have any self-improving AI yet
23:59:34 <lament> so we can forget about exponential progress
23:59:40 <lament> it's a binary condition
23:59:47 <lament> either you have self-improving AI, or you don't
23:59:49 <ehird> So?
23:59:52 <Gracenotes> also, is there any evidence it's not logistic? :)
23:59:54 <nooga> hmm
23:59:57 <lament> right now we don't, and there's no indication that we will any time soon
←2009-06-23 2009-06-24 2009-06-25→ ↑2009 ↑all