←2012-12-08 2012-12-09 2012-12-10→ ↑2012 ↑all
00:00:56 -!- GreyKnight has quit (Quit: Reconnecting…).
00:05:25 -!- GreyKnight has joined.
00:14:29 <oerjan> > (++ "!!") . (>> "AA") $ "Hello world !"
00:14:31 <lambdabot> "AAAAAAAAAAAAAAAAAAAAAAAAAA!!"
00:14:34 <oerjan> thought so.
00:15:25 <oerjan> > fix$(<$>)<$>(:)<*>((<$>((:[{- thor's mother -}])<$>))(=<<)<$>(*)<$>(*2))$1
00:15:27 <lambdabot> [1,2,4,8,16,32,64,128,256,512,1024,2048,4096,8192,16384,32768,65536,131072,...
00:16:27 <oerjan> > let_in =let in'let'in=let in let in" let" in let in let
00:16:29 <lambdabot> <hint>:1:8: parse error on input `='
00:16:30 <oerjan> oops
00:16:37 <olsner> the 'fix' is a bit annoying, would be nice to replace that with something that doesn't have letters
00:18:10 <oerjan> > let_in =let in'let'in=let in let in" let" in let in let let'in let_ _in = let_>>_in in in'let'in++ let in_let'in=let in " let in let" in let'in in_let'in in'let'in
00:18:12 <lambdabot> <hint>:1:8: parse error on input `='
00:18:16 <oerjan> darn
00:18:34 <oerjan> oh wait it's a declaration
00:18:39 <elliott> oerjan: I don't see any lens here!!
00:18:44 <oerjan> > let let_in =let in'let'in=let in let in" let" in let in let let'in let_ _in = let_>>_in in in'let'in++ let in_let'in=let in " let in let" in let'in in_let'in in'let'in in let_in
00:18:46 <lambdabot> " let let let let let let let let let let let let"
00:18:47 <elliott> olde style haskell
00:19:11 <oerjan> elliott: how do you expect uncyclopedia to wrap their heads around lenses?
00:19:16 <Phantom_Hoover> @time
00:19:17 <lambdabot> Local time for Phantom_Hoover is Sun Dec 9 01:17:51
00:19:24 <Phantom_Hoover> no bad lambdabot
00:19:30 <oerjan> at least my conclusion i could ignore the indentation was correct.
00:20:07 <Phantom_Hoover> hey elliott is it twenty past one or twenty past midnight
00:20:20 <elliott> mi'ight
00:20:33 <Phantom_Hoover> right
00:20:35 <GreyKnight> Why thor's mother particularly?
00:20:46 <Phantom_Hoover> GreyKnight, because oerjan is from norway
00:21:30 <oerjan> it's twenty one past one hth
00:21:41 <oerjan> it's not my code
00:22:04 <GreyKnight> That just raises more questions!
00:22:26 <oerjan> a true norwegian would use her actual name anyway... excuse me o moment...
00:22:29 <oerjan> *a
00:24:16 <oerjan> darn Frigg is only his stepmother
00:25:42 <oerjan> ok after browsing wikipedia i conclude the reason is no one knows her name.
00:25:58 <GreyKnight> A true Norwegian would know her actual name
00:26:28 <oerjan> oh wait it's Fjörgyn
00:27:41 <oerjan> GreyKnight: http://www.youtube.com/watch?v=xECUrlnXCqk
00:28:08 <GreyKnight> I can't youtube on this connection really
00:28:13 <oerjan> OKAY
00:28:34 <oerjan> maybe i can find something imgur
00:28:38 -!- Phantom_Hoover has quit (Remote host closed the connection).
00:30:16 <oerjan> GreyKnight: http://images.wikia.com/uncyclopedia/images/1/13/Thats_the_joke.jpg
00:30:21 <oerjan> hth
00:30:47 <oerjan> maybe this is the one time i should have used a url shortener
00:30:51 <GreyKnight> Well excuuuse me, princess!
00:31:07 -!- Phantom_Hoover has joined.
00:31:58 * oerjan royally swatteth GreyKnight -----###
00:32:28 <GreyKnight> *splat*
00:32:29 <olsner> the original version on uncyclopedia had "OH MY GOD IT'S A COMMENT!!!" in that comment
00:34:27 <GreyKnight> oh is that where they're from
00:35:10 <GreyKnight> Are you going to add something ridiculous to their article to celebrate the successful creation of lens? (which I don't really understand, by the way)
00:35:41 <oerjan> GreyKnight: clearly that's elliott's job
00:36:11 <GreyKnight> you're appointing elliott to handle PR? Are you mad? :-o
00:36:11 <oerjan> there are only two people who understand lens, and edwardk is too busy
00:38:13 <oerjan> GreyKnight: elliott already handles PR, that's why we have so little
00:38:29 <oerjan> oops i'm being mean
00:38:40 * oerjan swats himself -----###
00:38:40 <elliott> oerjan: you can atone for your meanness by opping me.
00:38:56 <oerjan> too late, i already swatted
00:39:19 <olsner> we have PR?
00:39:57 <oerjan> the good news is we have PR. the bad news is we borrowed haskell's motto for it.
00:41:25 <GreyKnight> "Be lazy about it"?
00:41:58 <fizzie> We have Perpendicular Recording.
00:41:58 <oerjan> no, "avoid success at all costs"
00:43:41 <GreyKnight> `addquote <olsner> we have PR? <oerjan> the good news is we have PR. the bad news is we borrowed haskell's motto for it. <oerjan> "avoid success at all costs"
00:43:48 <HackEgo> 860) <olsner> we have PR? <oerjan> the good news is we have PR. the bad news is we borrowed haskell's motto for it. <oerjan> "avoid success at all costs"
00:44:20 <elliott> that is no quote
00:44:48 <GreyKnight> I only slightly touched up the last bit to remove all trace of my superfluous comment
00:45:11 <elliott> oerjan: please swat GreyKnight as his first introduction to the Quoting Standards
00:45:11 <GreyKnight> as it wasn't funny
00:46:03 * oerjan swats GreyKnight -----###
00:46:30 <oerjan> `delquote 860
00:46:34 <HackEgo> ​*poof* <olsner> we have PR? <oerjan> the good news is we have PR. the bad news is we borrowed haskell's motto for it. <oerjan> "avoid success at all costs"
00:46:37 <GreyKnight> ow :<
00:46:55 <oerjan> `addquote <olsner> we have PR? <oerjan> the good news is we have PR. the bad news is we borrowed haskell's motto for it. [...] <oerjan> "avoid success at all costs"
00:46:58 <HackEgo> 860) <olsner> we have PR? <oerjan> the good news is we have PR. the bad news is we borrowed haskell's motto for it. [...] <oerjan> "avoid success at all costs"
00:47:08 <elliott> oerjan: swat yourself for disobeying the quoting standards too!
00:47:26 <oerjan> oh hm
00:47:29 <oerjan> `delquote 860
00:47:33 <HackEgo> ​*poof* <olsner> we have PR? <oerjan> the good news is we have PR. the bad news is we borrowed haskell's motto for it. [...] <oerjan> "avoid success at all costs"
00:47:54 <shachaf> I recommend not adding that quote at all.
00:47:56 <oerjan> `addquote <olsner> we have PR? <oerjan> the good news is we have PR. the bad news is we borrowed haskell's motto for it. [...] <oerjan> [...] "avoid success at all costs"
00:47:59 <HackEgo> 860) <olsner> we have PR? <oerjan> the good news is we have PR. the bad news is we borrowed haskell's motto for it. [...] <oerjan> [...] "avoid success at all costs"
00:48:02 <oerjan> >:)
00:48:52 * oerjan swats himself -----###
00:48:54 <oerjan> almost forgot
00:52:14 <shachaf> oerjan: Are you saying that elliott doesn't understand lens or that I don't?
00:52:47 <olsner> shachaf: or perhaps that you and elliott are the same person
00:53:10 <shachaf> Or maybe that edwardk doesn't understand lens.
00:54:38 <oerjan> shachaf: i'm really just making an excuse to not attempt to understand them myself
00:54:52 -!- DHeadshot has joined.
00:54:57 -!- DHeadshot has quit (Remote host closed the connection).
00:55:06 <olsner> I think lens is missing a way to translate ursala pointer expressions into their corresponding lenses
00:55:14 <shachaf> oerjan: Do you understand mapM?
00:55:18 <oerjan> yes.
00:55:23 <shachaf> Do you understand Applicative?
00:55:26 -!- DHeadshot has joined.
00:55:32 <oerjan> shachaf: that wasn't a request to attempt to teach me, btw
00:55:41 <shachaf> Sure.
00:55:48 <shachaf> The point is, you already understand lens.
00:56:21 <oerjan> no i very vaguely understand lens, which is something entirely different.
00:56:25 <GreyKnight> Unfortunately, nobody can be told what lens is. You have to see it for yourself.
00:57:24 <shachaf> Focus, GreyKnight.
00:57:34 <oerjan> :t focus
00:57:35 <lambdabot> (Functor f, Indexable (Tape (h :> a)) k) => k (a -> f a) ((h :> a) -> f (h :> a))
00:57:39 <shachaf> Pah.
00:57:43 <shachaf> focus isn't even lens-related.
00:57:51 <shachaf> ...Well, other than the fact that it's a lens.
00:57:52 <oerjan> *gasp*
00:57:59 <shachaf> But that's incidental!
00:58:18 <GreyKnight> <shachaf> focus isn't even lens-related. <-- can I quote that too?
00:58:22 <oerjan> :t rainbow
00:58:23 <lambdabot> Not in scope: `rainbow'
00:58:29 <oerjan> I SEE SOMETHING MISSING
00:58:36 <oerjan> :t spectrum
00:58:37 <lambdabot> Not in scope: `spectrum'
00:58:38 <shachaf> GreyKnight: I recommend not.
00:58:43 <shachaf> You need to develop taste.
00:58:50 <shachaf> (I probably do too.)
00:59:01 <shachaf> oerjan: Hey, we're getting there!
00:59:03 <GreyKnight> aw man :<
00:59:07 <shachaf> Prisms were only added in the last release.
00:59:10 <shachaf> @quote _why taste
00:59:10 <lambdabot> No quotes for this person. I can't hear you -- I'm using the scrambler.
00:59:11 <oerjan> i know
00:59:12 <shachaf> Aw.
01:00:02 <oerjan> _why is slowly trawling the internet, removing all evidence he ever existed
01:00:21 <oerjan> @quote _why
01:00:21 <lambdabot> No quotes match. The more you drive -- the dumber you get.
01:00:27 <oerjan> @quote taste
01:00:27 <lambdabot> davidhasselh0f says: [on SPJ's "A Taste of Haskell" tutorial]: It's better than sex.
01:02:55 -!- greyooze has joined.
01:03:25 <greyooze> zzo38: gentoo
01:04:12 -!- GreyKnight has quit (Ping timeout: 250 seconds).
01:04:20 -!- greyooze has changed nick to GreyKnight.
01:05:46 -!- Phantom_Hoover has quit (Remote host closed the connection).
01:07:47 -!- Phantom_Hoover has joined.
01:10:21 <zzo38> GreyKnight: I don't know.
01:11:03 <elliott> @quote why
01:11:03 <lambdabot> cheezey says: who is islands and why does my dick hurt
01:11:09 <elliott> what
01:12:25 <oerjan> important questions, surely
01:14:41 -!- EgoBot has quit (*.net *.split).
01:15:06 <oerjan> they're coming for the bots again
01:16:57 <zzo38> You are?
01:16:58 <GreyKnight> Are HackEgo and EgoBot related? Cousins?
01:17:24 <zzo38> I think they are related.
01:19:49 -!- EgoBot has joined.
01:21:12 -!- TeruFSX_ has quit (Ping timeout: 265 seconds).
01:22:44 <oerjan> GreyKnight: they're both Gregor's, and i think they share some sandboxing code; he keeps meaning to merge them.
01:22:59 <Gregor> Mmmhmm.
01:23:20 <Gregor> I don't merge them mainly because HackEgo is slow, and I'm too lazy to make elliott's patches to make it fast run on my server.
01:23:52 <oerjan> always with the strange reasons
01:25:33 -!- Nisstyre has quit (Read error: Connection reset by peer).
01:25:56 <Gregor> Really, REALLY what I'd like is for somebody to implement hgfs in fuse.
01:26:03 <Gregor> That would make everything perfect and wonderful.
01:26:55 <GreyKnight> as in mercurial?
01:29:55 -!- Vorpal has quit (Ping timeout: 260 seconds).
01:32:01 <Gregor> Yes
01:33:54 -!- Nisstyre has joined.
01:36:42 <GreyKnight> I'm vaguely surprised it doesn't already exist
01:38:45 <Gregor> Apparently http://code.google.com/p/hgfs/ now exists.
01:39:19 <Gregor> Oh, that's 2008. I'm sure I would've found it and rejected it for some reason before then X-D
01:43:17 <oerjan> `addquote <Gregor> Apparently http://code.google.com/p/hgfs/ now exists. <Gregor> Oh, that's 2008. I'm sure I would've found it and rejected it for some reason before then X-D
01:43:20 <HackEgo> 861) <Gregor> Apparently http://code.google.com/p/hgfs/ now exists. <Gregor> Oh, that's 2008. I'm sure I would've found it and rejected it for some reason before then X-D
01:49:04 -!- carado has quit (Remote host closed the connection).
01:51:14 <Gregor> Right, yeah. “Can't get the damned thing working.”
01:52:54 <oerjan> `run sed -i quotes '861s/$/ <Gregor> Right, yeah. “Can't get the damned thing working.”/'
01:52:57 <HackEgo> bash: -c: line 0: unexpected EOF while looking for matching `'' \ bash: -c: line 1: syntax error: unexpected end of file
01:53:01 <oerjan> darn
01:54:04 <oerjan> `run echo '861s/$/ <Gregor> Right, yeah. “Can't get the damned thing working.”/'
01:54:08 <HackEgo> bash: -c: line 0: unexpected EOF while looking for matching `'' \ bash: -c: line 1: syntax error: unexpected end of file
01:54:21 -!- carado has joined.
01:54:30 <oerjan> `run echo '861s/$/ <Gregor> Right, yeah. \“Can't get the damned thing working.\”/'
01:54:34 <HackEgo> bash: -c: line 0: unexpected EOF while looking for matching `'' \ bash: -c: line 1: syntax error: unexpected end of file
01:54:40 <SingingBoyo> oerjan: I think the ' in can't is screwing you up
01:54:41 <Gregor> Ha
01:54:46 <oerjan> ...oh
01:55:02 <oerjan> `run sed -i quotes '861s/$/ <Gregor> Right, yeah. “Can'"'"'t get the damned thing working.”/'
01:55:05 <HackEgo> sed: -e expression #1, char 2: extra characters after command
01:55:09 <oerjan> fff
01:56:04 <oerjan> `run sed -i quotes -e '861s/$/ <Gregor> Right, yeah. “Can'"'"'t get the damned thing working.”/' quotes
01:56:08 <HackEgo> No output.
01:56:11 <oerjan> yay!
01:56:15 <oerjan> `quote 861
01:56:19 <HackEgo> 861) <Gregor> Apparently http://code.google.com/p/hgfs/ now exists. <Gregor> Oh, that's 2008. I'm sure I would've found it and rejected it for some reason before then X-D <Gregor> Right, yeah. “Can't get the damned thing working.” <Gregor> Right, yeah. “Can't get the damned thing working.”
01:56:27 <oerjan> AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
01:56:33 <oerjan> `revert
01:56:36 <HackEgo> Done.
01:56:39 <oerjan> `quote 861
01:56:42 <HackEgo> 861) <Gregor> Apparently http://code.google.com/p/hgfs/ now exists. <Gregor> Oh, that's 2008. I'm sure I would've found it and rejected it for some reason before then X-D
01:56:53 <oerjan> wtf
01:57:16 <oerjan> `run sed -i quotes -e '861s/$/ <Gregor> Right, yeah. “Can'"'"'t get the damned thing working.”/'
01:57:19 <HackEgo> No output.
01:57:22 <oerjan> `quote 861
01:57:25 <HackEgo> 861) <Gregor> Apparently http://code.google.com/p/hgfs/ now exists. <Gregor> Oh, that's 2008. I'm sure I would've found it and rejected it for some reason before then X-D <Gregor> Right, yeah. “Can't get the damned thing working.”
01:57:29 <GreyKnight> Is it sed in here or is it just me?
01:57:31 <oerjan> sheesh :P
01:57:55 <FireFly> You get u-sed to it
01:59:22 * oerjan thinks FireFly is used to something else -----###
02:01:19 <FireFly> ∀∀∀∀∀∀∀∀∀∀∀∀∀∀∀∀∀∀∀∀∀∀
02:01:47 <elliott> oerjan: you need a [...].
02:02:12 <GreyKnight> ~~quoting standards~~
02:02:15 <oerjan> ...sigh
02:02:55 <oerjan> `run sed -i quotes -e '861s/X-D /X-D [...]/'
02:02:58 <HackEgo> No output.
02:03:05 <oerjan> `quote 861
02:03:09 <HackEgo> 861) <Gregor> Apparently http://code.google.com/p/hgfs/ now exists. <Gregor> Oh, that's 2008. I'm sure I would've found it and rejected it for some reason before then X-D [...] <Gregor> Right, yeah. “Can't get the damned thing working.”
02:03:45 -!- DHeadshot has quit (Read error: Connection reset by peer).
02:03:50 -!- DH____ has joined.
02:21:40 -!- Phantom_Hoover has quit (Remote host closed the connection).
02:21:40 -!- DH____ has quit (Read error: Connection reset by peer).
02:21:46 -!- DHeadshot has joined.
02:27:03 -!- DHeadshot has quit (Read error: Connection reset by peer).
02:27:08 -!- DH____ has joined.
02:35:49 <kmc> "European consumers of horse meat are increasingly suspicious of a supply chain that they fear contains drugs injected in American racehorses."
02:45:33 -!- sebbu has quit (Ping timeout: 245 seconds).
02:45:58 -!- evitable has joined.
02:46:19 <oerjan> oh it's myndzi
02:46:35 <oerjan> ^celebrate
02:46:35 <fungot> \o| |o| |o/ \m/ \m/ |o/ \o/ \o| \m/ \m/ \o| |o| |o/
02:46:40 <oerjan> BOOOOOOO
02:47:19 <oerjan> \o| |o| |o/ \m/ \m/ |o/ \o/ \o| \m/ \m/ \o| |o| |o/
02:58:04 -!- sebbu has joined.
02:58:20 -!- sebbu has quit (Changing host).
02:58:20 -!- sebbu has joined.
02:58:54 -!- DH____ has quit (Read error: Connection reset by peer).
02:59:56 <shachaf> myndzi!
03:00:25 <shachaf> kmc: Did you end up getting that laptop thing?
03:02:31 -!- copumpkin has quit (Ping timeout: 252 seconds).
03:03:03 -!- copumpkin has joined.
03:12:07 <elliott> oerjan: hey should I update the wiki and fix the /// thing
03:12:20 <kmc> shachaf: which?
03:12:22 -!- GreyKnight has quit (Remote host closed the connection).
03:12:38 <kmc> you mean the laptop i ordered?
03:12:47 <shachaf> Yes.
03:12:53 -!- GreyKnight has joined.
03:13:01 <shachaf> And then the order was cancelled, or uncancelled, or something.
03:13:21 <kmc> yeah
03:13:38 <kmc> it is currently in a state of limbo
03:14:03 <kmc> lenovo's website (when it is not down) indicates that the order is due to be shipped in a week and a half
03:14:11 <kmc> and is currently "released to manufacturing"
03:14:15 <kmc> however the credit card got un-charged
03:14:21 <kmc> so i might get a free laptop
03:14:23 <kmc> or no laptop
03:14:31 <kmc> or a coffee can full of angry bees
03:14:48 <kmc> i think if it turns out that the order was cancelled again, and they neglected to notify me again
03:14:57 <kmc> then i can't really in good conscience order another lenovo laptop
03:15:02 <kmc> but i don't know what i will get
03:15:04 <shachaf> At worst your credit card will get recharged.
03:15:12 <shachaf> When was the last time you recharged your credit card?
03:15:14 <shachaf> Those things run out.
03:15:18 <kmc> :3
03:16:25 <kmc> my current laptop basically works though
03:16:49 <kmc> it can even play 8 year old video games as long as it is not raining in the game
03:18:17 <elliott> virtual memory exhausted: Cannot allocate memory
03:18:21 <elliott> I like how I can't compile C++ programs.
03:20:15 <oerjan> elliott: yes.
03:20:44 <kmc> what about C/C++ programs
03:21:29 <oerjan> `addquote <kmc> my current laptop basically works though <kmc> it can even play 8 year old video games as long as it is not raining in the game
03:21:31 <HackEgo> 862) <kmc> my current laptop basically works though <kmc> it can even play 8 year old video games as long as it is not raining in the game
03:21:42 <elliott> oerjan: tough!
03:21:43 <oerjan> elliott: am i too much a sucker for quotes?
03:21:44 <elliott> I'm too lazy
03:23:15 -!- Nisstyre has quit (Quit: Leaving).
03:23:58 -!- Nisstyre has joined.
03:24:01 <shachaf> elliott: The world is a better place with you not being able to compile C++ programs.
03:24:16 <oerjan> ooh, a radixal hello world already.
03:24:34 <oerjan> *radixal!!!! HELL0 W0RLD!
03:24:35 <shachaf> radixal/radixal!!!!
03:24:59 <kmc> radixal radish
03:27:15 <hagb4rd> "[..] concept of Lazy programming, a technique used to avoid telling the computer m is running, saving developers from needing to code things that won't be used." ..rofl
03:27:33 <hagb4rd> that is exactly what i need
03:28:16 -!- ogrom has joined.
03:28:45 -!- ogrom has left.
03:29:54 -!- Sgeo|UPDATE has joined.
03:30:37 <Sgeo|UPDATE> elliott: monqy Fiora
03:30:58 <shachaf> hi Sgeo|UPDATE
03:31:24 <Sgeo|UPDATE> Hi shachaf "no |" shachaf
03:39:32 -!- TeruFSX2 has quit (Quit: Leaving).
03:42:42 -!- GreyKnight has quit (Ping timeout: 264 seconds).
03:42:44 -!- Nisstyre has quit (Quit: Leaving).
03:46:07 -!- Nisstyre has joined.
03:46:16 -!- TeruFSX has quit (Ping timeout: 252 seconds).
03:51:55 <oerjan> "The paper you linked to, which I assume you wrote, is both poorly written and idiotic."
03:52:30 <oerjan> (comment on http://phys.org/news/2012-12-oxygen-nucleus-neutrons-shown-surprisingly.html)
04:03:56 -!- evitable has quit (Ping timeout: 276 seconds).
04:13:30 <monqy> http://vacuum-mechanics.com/ very good
04:16:49 <Sgeo|UPDATE> Is it an attempt to make GR and QM fit within a model that makes sense to a classical intuition?
04:18:34 <monqy> it's both poorly written and idiotic that's what
04:18:52 <shachaf> sounds like a good fit for this channel
04:19:12 <quintopia> excellent
04:19:21 <Sgeo|UPDATE> I'd call anything that meets what I described "idiotic"
04:19:29 <Sgeo|UPDATE> Although I guess not necessarily poorly written
04:20:00 <Bike> miscellaneous stupid question time, is "list of length 7" a type expressible in haskell
04:20:10 <shachaf> Yes.
04:20:17 <Bike> kay.
04:20:25 <shachaf> It might be awkward, though.
04:20:34 <shachaf> Here's one way: data L7 a = L7 a a a a a a a
04:21:13 <Sgeo|UPDATE> Thought:
04:21:19 <Bike> And that works with conses, [a] or whatever?
04:21:27 <shachaf> No, it's its own type.
04:21:27 <Sgeo|UPDATE> data L7 a = L7 a (L6 a)
04:21:29 <Bike> or are L7 a and [a] disjoint.
04:21:34 <Bike> right, okay, thanks.
04:21:38 <shachaf> No, they're not the same type.
04:21:38 <oerjan> type L7 a = (a,(a,(a,(a,(a,(a,(a,())))))))
04:21:45 <monqy> sgeo....there are better ways to do that....
04:22:24 <Sgeo|UPDATE> What oerjan did, I assume
04:22:25 <oerjan> Bike: you cannot make useful subtypes of [a] in haskell
04:22:36 <elliott> Bike: you can also actually put the length in the type etc. it is awkward to use though. try agda
04:22:45 <oerjan> it's "not dependently typed"
04:22:48 <shachaf> type LUpto7 = Maybe (a, Maybe (a, Maybe (a, Maybe (a, Maybe (a, Maybe (a, Maybe a))))))
04:23:13 <monqy> sgeo have you ever heard of actually putting the length in the type etc.
04:23:42 <Bike> oerjan, elliott: got it, thanks, i should have asked that in the first place
04:23:45 <Sgeo|UPDATE> Not as an actual 7, but as some ... thingy
04:24:09 <Sgeo|UPDATE> I think?
04:24:43 <oerjan> a type-level 7. recent ghc versions have support for interpreting a 7 as a type
04:24:52 <shachaf> oerjan: Except not really.
04:25:19 <oerjan> well, support for the syntax anyway
04:25:44 <shachaf> Yay, syntax.
04:25:58 <oerjan> i hear they removed some of the ability to do arithmetic again
04:26:46 <oerjan> anyway, r/haskell time
04:27:12 <shachaf> Are you going to post your second post?!
04:27:39 <oerjan> unlikely.
04:27:53 <oerjan> a comment might happen.
04:28:26 <shachaf> oerjan: I heard there was a "pretty cool lens post"
04:32:19 <Sgeo|UPDATE> elliott: Fiora monqy again
04:32:42 <monqy> hi
04:32:53 <shachaf> hi monqy
04:33:02 <monqy> hi shachaf
04:33:03 <oerjan> hi relapsing monqy
04:33:11 <shachaf> monqy: what's an "again"
04:33:18 <zzo38> I found the description of the PADsynth.
04:33:21 <monqy> shachaf: it's you
04:33:26 <monqy> shachaf: you're on the list
04:33:31 <shachaf> oh no
04:33:33 <shachaf> what list
04:33:55 <elliott> `quote
04:33:55 <elliott> `quote
04:33:55 <elliott> `quote
04:33:55 <elliott> `quote
04:33:56 <elliott> `quote
04:34:06 <HackEgo> 233) <Deewiant> My STRN.G detects runoff strings that haven't been terminated but would hit a zero after wrapping and tries to allocate the 16+-gigabyte-stack required
04:34:53 <HackEgo> 480) <elliott> IM FIST IN HEAD AND DONT KNOW TO SLEEP??????
04:34:55 <HackEgo> 536) <itidus20> according to physics and maths can we theoretically have a box with infinite cookies inside?
04:34:55 <HackEgo> 685) <shachaf> fizzie: What kind of speech recognition do you do? <shachaf> If you only need to recognize famous speeches, like Churchill or something, it should be pretty easy.
04:34:56 <HackEgo> 423) <fizzie> Deewiant: So you... reverse the byte order manually, but then call ntohl too? <Deewiant> fizzie: The host might be big-endian!
04:35:00 -!- TeruFSX has joined.
04:35:02 <shachaf> imo 860
04:35:23 <shachaf> also 685
04:35:30 <elliott> monqy: what's yr vote
04:35:51 <monqy> 480
04:36:06 <shachaf> 480 and 860 and 685
04:36:10 <monqy> shachaf. no.
04:36:15 <shachaf> the biggest deletion ever
04:36:20 <shachaf> monqy: ok ok we can spare 685
04:37:32 <Sgeo|UPDATE> I don't see 860 on there
04:37:42 <Sgeo|UPDATE> `quote 860
04:37:46 <HackEgo> 860) <olsner> we have PR? <oerjan> the good news is we have PR. the bad news is we borrowed haskell's motto for it. [...] <oerjan> [...] "avoid success at all costs"
04:38:13 <oerjan> IT'S NOT A CANDIDATE DAMMIT
04:38:21 <shachaf> `delquote 480
04:38:25 <HackEgo> ​*poof* <elliott> IM FIST IN HEAD AND DONT KNOW TO SLEEP??????
04:38:36 <shachaf> someone else can do 860 if they wants to
04:38:40 -!- Arc_Koen has quit (Quit: Arc_Koen).
04:38:44 <elliott> i liked 480
04:38:45 <elliott> rip my quote
04:38:52 <elliott> `quote
04:38:52 <elliott> `quote
04:38:52 <elliott> `quote
04:38:52 <elliott> `quote
04:38:53 <elliott> `quote
04:38:57 <shachaf> imo 860 this time
04:39:05 <HackEgo> 242) <zzo38> If you want to use TeX formats invented by Christians, use Plain TeX. However, I do not think the religion of its author is a good way to decide what to use. I decide to use Plain TeX for its own reasons.
04:39:30 <shachaf> What's with the really long delay between the first quote and the next 4?
04:39:34 <HackEgo> 150) <Phantom_Hoover> It's only been 2 months since anyone last made a commit! <alise> WRONG 8 WEEKS
04:39:34 <HackEgo> 289) <zzo38> I think I managed to make Stack Overflow work on gopher, now.
04:39:45 <HackEgo> 687) <zzo38> When you die in Canada, you die in real life.
04:39:46 <HackEgo> 562) <elliott> The moon is a much better target for colonisation because it would be IRCable.
04:40:59 <shachaf> 687
04:41:35 <monqy> 242 is the only really good one in this batch imo.......... and maybe 289 is good too? because of gopher....
04:41:52 <shachaf> 242 and 289 are both good
04:42:05 <elliott> I like 289 and 242 and 687 (zzo38 making bad references makes them good references)
04:42:10 <elliott> zzo38: you are powerful
04:42:11 <zzo38> Yes, I agree those are good, 687 is not as good as the others.
04:42:18 <shachaf> `quote 38
04:42:26 <HackEgo> 38) <Dylan> actually, I pretended to be a hobo to get directions
04:42:34 <shachaf> someone needs to make 38 a zzo38 quote
04:42:40 <shachaf> 687 should be deleted.
04:42:43 <elliott> can I nominate 562
04:42:57 <monqy> 687 is bad because i looked it up and it's from xkcd
04:43:00 <elliott> it's my least favourite of the bunch and would be so even if I didn't write it
04:43:14 <shachaf> 150 and 562 are both mediocre
04:43:20 <shachaf> 687 is worse
04:43:22 <Sgeo|UPDATE> 687 seems like an old joke
04:43:35 <kmc> `quote
04:43:37 <HackEgo> 226) <oerjan> (the former is a very deep theorem, i'd have had to read the whole book to understand it, so i didn't.)
04:43:38 <monqy> sgeo
04:43:39 <kmc> `quote
04:43:43 <HackEgo> 805) <itidus21> ubuntu is the solaris of the cola world
04:43:43 <elliott> `delquote 562
04:43:44 <kmc> `quote
04:43:45 -!- TeruFSX has quit (Ping timeout: 276 seconds).
04:43:48 <HackEgo> ​*poof* <elliott> The moon is a much better target for colonisation because it would be IRCable.
04:43:50 <elliott> made an eggsecutive decision
04:43:53 <kmc> `quote
04:43:56 <kmc> `quote
04:43:56 <HackEgo> 353) <monqy> Sgeo: also do you know how to write a parser <Sgeo> monqy, how hard could it be?
04:43:57 <kmc> `quote
04:43:57 <shachaf> `delquote 686
04:44:08 <HackEgo> 505) <elliott> we need more films aimed at the lucrative irc nerd demographic
04:44:14 <zzo38> Well, you can still refer properly by the date and quotation number together, since I think all changes are logged?
04:44:15 <monqy> shachaf what did you do
04:44:24 <HackEgo> 300) <pikhq> o.O <pikhq> There's a birth defect which results in the formation of a cloaca. <Gregor> It's called "not being a mammal" :P
04:44:24 <kmc> `quote
04:44:28 <shachaf> monqy: oops
04:44:29 <HackEgo> 300) <pikhq> o.O <pikhq> There's a birth defect which results in the formation of a cloaca. <Gregor> It's called "not being a mammal" :P
04:44:30 <elliott> kmc.....
04:44:31 <shachaf> monqy: Did I do something bad?
04:44:35 <kmc> `delquote 353
04:44:37 <zzo38> I don't really think you should just go and delete a lot of them, though.
04:44:38 <HackEgo> 821) <oklopol> my best guess is 4 years ago but possibly also yesterday
04:44:39 <elliott> kmc it
04:44:40 <HackEgo> ​*poof* <zzo38> When you die in Canada, you die in real life.
04:44:41 <elliott> you have to wait for it to
04:44:41 <HackEgo> ​*poof* <monqy> Sgeo: also do you know how to write a parser <Sgeo> monqy, how hard could it be?
04:44:42 <elliott> it'll
04:44:45 <elliott> oh god
04:44:47 <monqy> kmc.................
04:45:00 <shachaf> kmc has snapped
04:45:04 <kmc> have i
04:45:04 <elliott> `revert 970
04:45:06 <HackEgo> Done.
04:45:14 <monqy> what did you revert
04:45:15 <shachaf> elliott: What are you doing?!
04:45:18 <shachaf> You can't revert.
04:45:19 <monqy> help im confused
04:45:19 <elliott> "pro tip" don't do anything to hackego after doing anything to it
04:45:25 <elliott> it messes up horribly you have to wait
04:45:26 <elliott> `quote
04:45:27 <elliott> `quote
04:45:27 <elliott> `quote
04:45:27 <elliott> `quote
04:45:30 <kmc> i just asked for 6 quotes
04:45:30 <elliott> `quote
04:45:36 <zzo38> Those are other reasons I think you should not delete them.
04:45:37 <elliott> right but then you deleted one
04:45:37 <kmc> wanted to ask for 5 but messed up
04:45:39 <elliott> hackego isn't "linear"
04:45:40 <HackEgo> 558) <Gregor> But whereas the Zune UI makes one think "I want to kill myself", the Windows CE UI makes one think "I want to kill myself, but first kill my parents as punishment for bringing into this world someone who would one day own a Windows CE device."
04:45:43 <HackEgo> 269) <zzo38> Is anyone in here who knows cricket rules and has experience? <Slereah> What if I told you the baseball rules in a british accent?
04:45:44 <zzo38> Because it mix up such things like that.
04:45:44 <kmc> isn't that the thing to do
04:45:57 -!- TeruFSX has joined.
04:45:58 <elliott> it's fashionable
04:45:59 <HackEgo> 276) <Phantom_Hoover> ZOMGMODULES, St. Christopher, saint and werewolf.
04:45:59 -!- sebbu2 has joined.
04:46:01 <elliott> but causing branch merges isn't
04:46:02 <HackEgo> 25) PA ET ANNET UNIVERSET DER DE ENESTE PERSONEN OERJAN: <oerjan> sa jeg kan bare konkludere med at det er feil, eller er verden helt bonkers
04:46:04 <HackEgo> 712) <roper> rephtrase
04:46:16 <Sgeo|UPDATE> 712 wat
04:46:40 <kmc> branch merges?
04:46:41 <kmc> what?
04:46:47 <shachaf> oerjan: help why do you talk about me in your reddit comments
04:47:11 <zzo38> Even though, it is true some I don't like as much, other I do like them better, but not everyone same opinion, and will mix up numbering. But even then you can work around by using dates instead, to keep list of all of them even if deleted, refer by date.
04:47:25 <elliott> kmc: basically hackego is not a regular linux system
04:47:38 -!- sebbu has quit (Ping timeout: 245 seconds).
04:47:38 <elliott> it is parallel: each command clones the fs, does the command, commits
04:47:45 <elliott> and then if you have two that run at the same time it merges the results at the end
04:47:57 <elliott> that means if you do two delquotes in quick succession they have a good chance of deleting different quotes
04:48:00 <elliott> because the numbers change
04:48:04 <elliott> different as in
04:48:05 <elliott> wrong
04:48:05 <shachaf> Gregor: Can we have root support on HackEgo?
04:48:13 <Bike> that sounds kind of insane
04:48:19 <elliott> welcome to hackego
04:48:19 <zzo38> shachaf: No (even though I am not Gregor)
04:48:20 <kmc> what the fuck
04:48:28 <elliott> i wrote a better version once but it was broken
04:48:32 <Bike> i mean, i saw that it was a linux system and thought that was insane
04:48:32 <pikhq> `whoami
04:48:33 <kmc> does it use git or what
04:48:35 <HackEgo> whoami: cannot find name for user ID 5000
04:48:37 <elliott> kmc: hg
04:48:37 <pikhq> kmc: hg
04:48:39 <Bike> but no, go ahead and outdo yourself, why doncha
04:48:43 <shachaf> kmc: hg
04:48:46 <kmc> wow
04:48:47 <Sgeo|UPDATE> kmc, mercurial
04:48:47 <kmc> kmc: hg
04:48:48 <elliott> well this way you can revert it when someone fucks up
04:48:50 <ion> kmc: hg
04:48:53 <elliott> say by running two commands too quickly
04:49:00 <kmc> that is crazy
04:49:05 <pikhq> kmc: Check out umlbox.
04:49:12 <elliott> this is why hackego takes 100 hours to run anything btw
04:49:18 <elliott> `delquote 712
04:49:23 <HackEgo> ​*poof* <roper> rephtrase
04:49:24 <Gregor> elliott: Show me a working FUSE hgfs and I will fix it INSTANTANEOUSLY
04:49:26 <Bike> okay but that's not touching the ultimate problem, which is that you're using a linux system as an irc bot what
04:49:30 <elliott> i just made a remote server boot up linux
04:49:32 <Gregor> Elsewise I've had some thoughts regarding unionfs-fuse.
04:49:34 <elliott> and commit to hg
04:49:36 <elliott> and stuff
04:49:41 <pikhq> Bike: It gets better.
04:49:42 <elliott> Bike: it's extensible
04:49:43 <Gregor> Bike: That's not a problem, that's a solution.
04:49:52 <Bike> this channel earned its name
04:49:54 <elliott> technically it's not really one linux system
04:49:55 <pikhq> Bike: IIRC the Linux kernel is being booted for each command.
04:49:59 <elliott> since it boots up a new one every time - yeah
04:50:09 <Bike> yes i heard that before but didn't believe it
04:50:21 <Gregor> umlbox itself isn't slow, the slowness is from the hg nonsense.
04:50:23 <zzo38> Can you somehow to read all the quotation from the repository and assign date, and then to make it the file of quotations by date? And then if there is more you can add on from the date specified.
04:50:24 <Bike> is the linux kernel also written in javascript
04:50:30 <pikhq> Bike: No, it's just UML.
04:50:36 <kmc> pikhq: cool
04:50:39 <Bike> rad
04:50:41 <shachaf> Gregor: If it's running in UML then why can't we run as root?
04:50:48 <elliott> Gregor: Wouldn't a FUSE hgfs linearise all commands?
04:51:11 <pikhq> shachaf: Slightly more sandboxing.
04:51:12 <Gregor> shachaf: UML root is effectively the UML-executing user.
04:51:19 <pikhq> Also that.
04:51:20 <Gregor> “Slightly” more = much more X-D
04:51:27 <ais523> transactional!
04:51:27 <lambdabot> ais523: You have 2 new messages. '/msg lambdabot @messages' to read them.
04:51:30 <oerjan> <shachaf> oerjan: help why do you talk about me in your reddit comments <-- when?
04:51:38 <shachaf> oerjan: In the past.
04:51:40 <Gregor> elliott: Um… maybe? No more than currently, I mean the current version has to do merge crap.
04:51:48 <elliott> Gregor: right but how would a fuse fs help
04:52:02 <Gregor> elliott: It wouldn't help with that, it would avoid having to do an actual hg clone.
04:52:26 <shachaf> oerjan: <$>
04:52:40 <elliott> Gregor: hmmmmm
04:52:55 <elliott> Gregor: but how would multiple commands that modify stuff running at once work?
04:53:01 <oerjan> `addquote <elliott> i wrote a better version once but it was broken
04:53:02 <Gregor> elliott: Same as current, merge.
04:53:04 <HackEgo> 860) <elliott> i wrote a better version once but it was broken
04:53:06 <elliott> right but...
04:53:09 <shachaf> `quote 759
04:53:10 <elliott> where would they write their changes to
04:53:12 <HackEgo> 759) <zzo38> A lot of things happened; not only me, but also you
04:53:15 <elliott> if they are both operating on the same clone
04:53:17 <elliott> oh hm
04:53:18 <shachaf> 759 is good
04:53:21 <elliott> i guess they don't need a clone at all
04:53:23 <shachaf> `quote 859
04:53:27 <HackEgo> 859) <kmc> my current laptop basically works though <kmc> it can even play 8 year old video games as long as it is not raining in the game
04:53:31 <shachaf> `quote 858
04:53:31 <Gregor> elliott: What I want is a FS that exposes a single revision, and when you unmount it, commits one with that revision as parent.
04:53:34 <HackEgo> 858) <Gregor> Apparently http://code.google.com/p/hgfs/ now exists. <Gregor> Oh, that's 2008. I'm sure I would've found it and rejected it for some reason before then X-D [...] <Gregor> Right, yeah. “Can't get the damned thing working.”
04:53:37 <elliott> anyway transactional hackego would still be better!!
04:53:40 <Gregor> There's no clone, there's no tip, it's just whatever is most recent.
04:53:43 <Gregor> Errr
04:53:47 <Gregor> It's just whatever was requested.
04:53:53 <Gregor> Yes, transactional hackego WOULD be better.
04:54:12 <elliott> than that I mean
04:54:14 <elliott> since you could ~combine them~
04:54:20 <shachaf> transcendental hackego would be better
04:54:29 <elliott> i humbly propose rewriting the whole fucking thing to not suck
04:54:44 <pikhq> Hey, at least it ain't Plash anymore.
04:54:46 <elliott> all in favour say i
04:54:52 <Bike> yeah, have it use bsd instead
04:54:57 <zzo38> Gregor: Is it possible to access and filter all the changes for ones adding to the quote file?
04:54:58 <shachaf> elliott: better idea:
04:55:03 <shachaf> rewrite lambdabot!!!!!!!!!
04:55:10 <Gregor> zzo38: Easily.
04:55:17 <Gregor> zzo38: Just hg blame quotes
04:55:26 <elliott> not easily since Gregor keeps resetting the repo :P
04:55:28 <elliott> but you can grep logs for addquote
04:55:31 <Gregor> Oh yeah ^^
04:55:48 <elliott> Bike: disappointed that yr VERSION reply does not disclose OS
04:55:49 <Bike> no i don't actually use bsd
04:55:49 <ais523> `pastlog `addquote
04:56:04 <Gregor> elliott: Really, I'm probably overthinking the whole thing. They could just all tromp on each other, and so long as they commit when they're done, you can still revert if things go wrong.
04:56:06 <Bike> anyway i'm going to assume that lambdabot is written in an agda implementation targeted to compile to befunge-based hardware
04:56:07 <elliott> "This is completely untested and almost certainly doesn't work, but it should in a commit or three." -- me, approximately two pages of commits down
04:56:10 <elliott> (the tip still does not work)
04:56:11 <oerjan> <shachaf> oerjan: In the past. <-- well i didn't see it.
04:56:22 <HackEgo> 2011-12-26.txt:15:58:03: <elliott> `addquote [...] <fizzie> So if someone tells you "you're worth your weight in Ethernet", it's likely they think your worth is less than $2k.
04:56:27 <zzo38> Why you keep resetting the repo too much? Well yes you can check for addquote but, what happen if some other file adds it?
04:56:37 <shachaf> oerjan: It's on your front page.
04:56:38 <elliott> Gregor: that is basically transactional hackego's design... assume everything is read-only, if writes happen kill everything, run the write, and then try everything else again
04:56:47 <Bike> i still don't use bsd, pikhq
04:56:58 <elliott> slow but properly linearised if you do a bunch of writes, really fast if you do lots of reads
04:56:58 <Gregor> elliott: Right, but I'm proposing, don't even kill anything. Just let it go.
04:57:03 <Bike> you bastard
04:57:06 <elliott> that could work
04:57:11 <elliott> but you'd want to stop it committing at the end at least
04:57:16 <Gregor> Why?
04:57:21 <elliott> well
04:57:25 <Gregor> If it does, and it's wrong, you can revert it.
04:57:30 <elliott> I guess you could force a revert after that
04:57:34 <elliott> but the way I did it, killing it had no overhead
04:57:45 <Gregor> The way you did it doesn't work yet X-D
04:57:47 <oerjan> <shachaf> oerjan: <$> <-- now you are just being annoying.
04:57:48 <elliott> because the filesystem knew as soon as the program wanted to write to a file
04:57:48 <elliott> well yes
04:57:51 <elliott> SMOP!!! SMOP
04:58:21 <Gregor> I'm proposing "fuck safety" as an intermediate step before correct transactions :)
04:58:48 <elliott> how would that work if you deleted two quotes in quick succession
04:58:52 <elliott> the whole problem isn't really one of safety
04:59:02 <elliott> it's that HackEgo's semantics are non-linear which is really annoying for an imperative UI
04:59:11 <elliott> I guess it'd be no worse but faster though
04:59:17 <elliott> so sure, that works :P
04:59:18 <Gregor> elliott: Right. It's no worse, but faster.
04:59:28 <Gregor> The only way that it's worse is that changes can be assigned to the wrong revision.
04:59:29 <elliott> I thought it was meant to be a solution that linearised stuff
04:59:30 <Gregor> Big fucking whoop.
04:59:34 <Gregor> No, it's a nonsolution.
04:59:36 <elliott> well
04:59:44 <elliott> I do find that quite annoying
04:59:51 <elliott> since it is useful to find what quotes people deleted :P
04:59:54 <elliott> but yes as a temporary thing
04:59:54 <shachaf> kmc: Did you ever hear about let uc x = y where y :: a; y = x where z = id x
05:00:24 <zzo38> How can you access all the logs? Since sometimes it says too much outputs isn't it?
05:00:29 <elliott> !logs
05:00:41 <kmc> shachaf: i think so but remind me
05:00:43 <elliott> 05:00:30 -glogbot(codu@codu.org)- Logs: http://codu.org/logs/_esoteric/ . Also available via rsync: rsync --size-only -avz rsync://codu.org/logs/_esoteric/ logs/
05:00:53 <shachaf> kmc: Well, it's unsafeCoerce in GHC 7.4
05:00:55 <shachaf> That's it, really.
05:01:20 <shachaf> Maybe in 7.6 too
05:01:23 <kmc> oh really
05:01:30 <kmc> fun times
05:01:33 <zzo38> I mean, how to search all of the logs, without stopping, and without having to download all of them
05:01:45 <shachaf> http://hackage.haskell.org/trac/ghc/ticket/7453
05:02:02 <Gregor> elliott: Hm, maybe we can build something transactional but easy out of a unionfs… we union the repo (read only) and a write dir (read/write), then allow things to run, and if any files are detected in the write dir, then we lock and retry. It's exactly the same, but only needs unionfs(-fuse) and flock.
05:02:08 <zzo38> If it take too long, make it to specify the start of the search, so that if it stopped, it can start again from that point.
05:02:33 <kmc> shachaf: wow
05:02:47 <Gregor> `run ls /var/logs/_esoteric
05:02:50 <HackEgo> ls: cannot access /var/logs/_esoteric: No such file or directory
05:02:52 <Gregor> Err
05:02:53 <oerjan> shachaf: oh there it was
05:02:58 <elliott> Gregor: sounds workable... transactional hackego was pretty simple tho
05:02:59 <Gregor> `run ls /var/irclogs/_esoteric
05:03:03 <HackEgo> 2003-01-18-raw.txt \ 2003-01-18.txt \ 2003-01-19-raw.txt \ 2003-01-19.txt \ 2003-01-20-raw.txt \ 2003-01-20.txt \ 2003-01-21-raw.txt \ 2003-01-21.txt \ 2003-01-22-raw.txt \ 2003-01-22.txt \ 2003-01-23-raw.txt \ 2003-01-23.txt \ 2003-01-24-raw.txt \ 2003-01-24.txt \ 2003-01-25-raw.txt \ 2003-01-25.txt \ 2003-01-26-raw.txt \ 2003-01-26.txt \ 2003-01-27-raw.txt \ 2003-01-27.txt \ 2003-01-28-raw.txt \ 2003-01-28.txt
05:03:04 <Sgeo|UPDATE> Why would it be deliberatley left in?
05:03:05 <Gregor> elliott: BUT IT DOESN'T WORK X-D
05:03:38 <elliott> Gregor: well the only "special" thing about it was https://bitbucket.org/ehird/hackbot/src/98ba00876ef8d81308738f1ccc10a8d624140252/multibot_cmds/lib/server
05:03:42 <elliott> er except
05:03:55 <elliott> https://bitbucket.org/ehird/hackbot/src/de8cb5a0df659f82dc594724c685c819c39d26b9/multibot_cmds/lib/server?at=default
05:05:04 <elliott> Gregor: that said: in retrospect I have no fucking idea how this is supposed to work
05:05:09 <elliott> but I do remember the basic idea was simple
05:05:34 <Gregor> :)
05:05:37 <elliott> seems like none of the stuff invoked lib/server
05:05:40 <elliott> so you had to run it separately
05:06:15 <Gregor> Well that's fine.
05:06:39 <elliott> + ['hg', '-R', self.hackenv, 'status', '-umad'],
05:06:47 <elliott> did it really have to be
05:07:00 <elliott> Gregor: okay so this thing actually didn't kill stuff!
05:07:06 <elliott> it would run full commands no matter what
05:07:11 <elliott> just it would try again if they turned out to have actually changed stuff
05:07:16 <elliott> so that unionfs would indeed be more efficient
05:07:44 <Gregor> Err, the unionfs thing I most recently proposed does the same.
05:07:53 <Gregor> It's just a different mechanism for detecting if they've changed shit.
05:08:08 <kmc> shachaf: now i want to write an exploit for lambdabot or something
05:08:34 <Gregor> In fact, wait… why does the hg status -umad mechanism need a server process at all? The process could just check it directly, and use a flock to make sure nobody competes improperly.
05:08:39 <kmc> > let uc x = y where y :: a; y = x where z = id x in uc (2 :: Int) :: Float
05:08:40 <lambdabot> Couldn't match type `t' with `a1'
05:08:40 <lambdabot> `t' is a rigid type variable bound by
05:08:40 <lambdabot> ...
05:08:44 <shachaf> kmc: Due to a quirk it doesn't work in lambdabot.
05:08:48 <elliott> Gregor: I have no idea.
05:08:49 <kmc> oh which quirk?
05:08:55 <shachaf> The quirk is that mueval was compiled with GHC 6.12 so it uses GHC 6.12's type checker.
05:08:57 <elliott> Gregor: All I know is lib/server coordinates stuff.
05:08:57 <Gregor> elliott: Well… that seems infinitely simpler…
05:09:04 <Gregor> But a flock could coordinate stuff X-D
05:09:09 <kmc> oh
05:09:11 <elliott> Gregor: I'm pretty sure there's a reason I did stuff like this, but I don't know it.
05:09:14 <elliott> Gregor: Oh
05:09:17 <kmc> this was introduced in the mega type checker rewrite?
05:09:17 <shachaf> Delightfully fragile, isn't it.
05:09:18 <elliott> Gregor: It's because something has to restart the stuff
05:09:27 <elliott> i.e. rerun the stuff that wanted to write
05:09:29 <Gregor> elliott: They could restart themselves!
05:09:31 <elliott> then rerun the other stuff
05:09:37 <shachaf> Not sure when it was introduced, but it doesn't work in 6.12, I think.
05:09:39 <elliott> Gregor: That's gross when there's a single order you want to do stuff in
05:09:46 <kmc> shachaf: i was arguing with ezyang the other day on whether SafeHaskell provides sandboxing "for free" (his claim)
05:09:53 <kmc> my claim is that it does not, for reasons like this one :)
05:09:58 <Gregor> elliott: Ohhhh, it made sure that the order was always as they appeared in IRC?
05:10:02 <elliott> well this is just a sandbox bug
05:10:02 <kmc> the GHC type checker and RTS have not been vetted that carefully for holes
05:10:07 <elliott> like a bug in any other security mechanism
05:10:14 <elliott> Gregor: Right, that's the whole idea
05:10:24 <shachaf> elliott: I think the point is that SPJ doesn't think of GHC's type checker as a sandbox.
05:10:24 <kmc> sure, i'm saying that SafeHaskell is a buggy sandbox mechanism at present
05:10:27 <elliott> Gregor: HackEgo should act as if it is running commands in sequence, no multithreading
05:10:29 <shachaf> Also that GHC's type checker is complicated.
05:10:36 <elliott> because when it differs from that behaviour it's always annoying
05:10:40 <Gregor> elliott: Well, IMHO, the more important notion is getting them all to run serializably, not in the order seen *shrugs*
05:10:42 <kmc> i think maybe we think of it that way now, but there were 20+ years of development where we didn't
05:10:49 <elliott> the only reason *not* to run stuff in sequence is because it'd be slow
05:10:51 <oerjan> <shachaf> http://hackage.haskell.org/trac/ghc/ticket/7453 <-- doesn't load for me... but so much for Safe Haskell allowing running untrusted code, i guess...
05:10:54 <kmc> kind of like how the linux kernel was a toy for many years and so developed egregious security practices
05:11:03 <Gregor> elliott: And because it needs a separate coordinator…
05:11:08 <oerjan> now it loaded
05:11:14 <elliott> Gregor: sure, but it's hardly heavy-weight, I just never tested it properly :P
05:11:16 <shachaf> oerjan: Loads for m.e
05:11:29 <elliott> it was 150 lines of Python, I'm sure you could achieve the same thing with about as much code as it took me, just not broken
05:11:46 <kmc> i wonder if any of those DOSBox crashes I found are exploitable
05:11:48 <elliott> > appEndo (Endo ('a':) <> Endo ('b':)) []
05:11:50 <lambdabot> "ab"
05:12:28 <elliott> Gregor: ALSO my patch removed code too
05:12:35 <shachaf> kmc: By a random sampling I did there are many different opcode sequences that'll crash it.
05:12:37 <elliott> specifically the slox that is there for no reason
05:12:48 <kmc> shachaf: yeah
05:12:53 <shachaf> I didn't look into it very deeply, but apparently they're not all the same one.
05:13:00 <shachaf> Since you said one of them was fixed in HEAD and another wasn't.
05:13:04 <kmc> well there's a whole set of invalid Mod/RM bytes that will crash it
05:13:13 <elliott> kmc: this is actually part of why I gave up working on @
05:13:15 <kmc> because there's a table of function pointers and the invalid ones are just NULL ;P
05:13:16 <shachaf> Is dosbox supposed to be secure?
05:13:21 <shachaf> Doesn't it just let you mount ~ anyway?
05:13:32 <elliott> I realised that I really had to make it secure for the design to be worth anything and it was just out of my league to coordinate everything to work properly and securely on every level
05:14:11 <shachaf> elliott: also making @ was work
05:14:12 <kmc> shachaf: it has a mode where such things are disabled, i think
05:14:31 <shachaf> kmc: Oh.
05:14:39 <shachaf> -securemode
05:15:40 <kmc> SPJ pointed out that -dcore-lint catches this
05:15:52 <kmc> so i guess that is becoming part of the not actually written down advice on using SafeHaskell safely
05:15:56 -!- sebbu2 has changed nick to sebbu.
05:16:43 <oerjan> ah yes, since it's not _actually_ using unsafeCoerce it shouldn't be able to type as core
05:17:32 <shachaf> It's funny that Core is typed.
05:17:37 <oerjan> perhaps SafeHaskell should imply -dcore-lint automatically >:)
05:17:55 <oerjan> yeah that's one of ghc's major innovations, afaiu
05:18:05 <elliott> oerjan: it shouldn't be able to type as haskell either
05:18:45 <oerjan> elliott: of course, but core is simple enough that you stand a fighting chance of type checking being bug free (although it isn't, of course)
05:19:15 <elliott> programming as reductionism as ever
05:19:21 <shachaf> Core is uninferrable, right?
05:19:26 <oerjan> right
05:19:41 <oerjan> but explicitly typed, so you don't need it
05:19:49 <kmc> i think there are plenty of ways to write unsafeCoerce in core, though
05:19:58 <kmc> so if you can get the frontend to emit one of those through a bug, you still win
05:20:02 <elliott> kmc: don't they all involve explicitly using the unsafe "cast"
05:20:11 <elliott> since core casts require evidence
05:20:18 <elliott> it just has a special "unsafe" evidence term that works for any coercion
05:20:23 <kmc> what about newtype deriving for example
05:20:27 <elliott> right
05:20:29 <elliott> that's known broken of course
05:20:40 <kmc> i'm saying there are potentially many source-level constructs which can produce that unsafe cast
05:22:33 <shachaf> It would be fun to have security people looking for type checker bugs.
05:23:01 <kmc> the number of people who could plausibly audit the type checker for correctness is very small
05:23:05 <kmc> that's part of the problem
05:23:30 <kmc> the number is larger for the RTS, since it's a concurrent operating system written in C, and there are lots of those in the world
05:27:10 <Sgeo|UPDATE> Why is newtype deriving broken?
05:27:43 <shachaf> @google haskell newtype deriving unsafeCoerce
05:27:45 <lambdabot> http://joyoftypes.blogspot.com/2012/08/generalizednewtypederiving-is.html
05:28:07 <oerjan> shachaf: btw i assumed mentioning you on r/haskell wasn't a problem given that you are already a regular there...
05:28:32 <shachaf> Given that this channel is logged anyway, I doubt it could be much of a problem.
05:44:34 <kmc> shachaf: do you think that 'spoon' should be compiled as 'Trustworthy'?
05:44:55 <oerjan> there is no *hit by falling anvil*
05:45:42 <kmc> womp womp
05:45:46 <elliott> I think spoon shouldn't be compiled
05:45:59 <shachaf> kmc: Off-hand I can't think about any security issues with it, but...
05:46:24 <kmc> ezyang claims that SafeHaskell makes it perfectly objectively clear what "safe" means
05:46:30 <kmc> i am trying to think of interesting corner cases
05:46:52 <zzo38> Finally I made my implementation of PADsynth working, and it sound like good!
05:47:14 <shachaf> kmc: Recently we added a -fsafe flag to lens that doesn't use any unsafeCoerce.
05:47:18 <shachaf> (Though it still uses unsafePerformIO.)
05:47:19 <kmc> another one that comes to mind is: typeRepKey (TypeRep (Key i) _ _) = return i
05:47:26 <kmc> this is 'in the 'IO' monad because the actual value of the key may vary from run to run of the program'
05:47:31 <zzo38> However, it is very slow.
05:47:48 <kmc> so clearly somebody thought it would be "unsafe" in some sense to not have "return" there
05:48:13 <kmc> but is that the same sense as SafeHaskell "safe"?
05:48:26 <kmc> maybe there is some document I have not seen which makes it perfectly clear
05:48:51 <shachaf> People use "unsafe" to mean lots of different things.
05:49:12 <shachaf> unsafeCoerce, unsafePerformIO, unsafePartialFunction
05:49:22 <shachaf> The size of Int may also vary from run to run of the program.
05:49:27 <kmc> yeah
05:50:38 <shachaf> Also, it's not really the type system that keeps safe things apart from unsafe, which people sometimes claim.
05:50:42 <shachaf> It's just what happens to be in scope.
05:50:47 <kmc> yeah
05:50:59 <kmc> well yes and no
05:51:07 <kmc> if you can write unsafeCoerce then you can circumvent that
05:51:13 <kmc> type system soundness is necessary
05:51:23 <shachaf> Well, OK, sure.
05:54:18 <zzo38> Could you please look, and tell me how to make it fast?
05:54:48 <shachaf> Are you sure it sound like good?
05:54:55 <shachaf> I'm not sure whether I can look.
05:55:24 <zzo38> I think it sound like good, because I can hear it. And I can read the instructions.
05:57:43 <zzo38> http://zzo38computer.org/csound/csoundextraopcodes.c It is line 1785
05:58:36 <shachaf> Oh, zzo38.
06:02:52 <zzo38> Do you know how to make it fast?
06:03:41 <shachaf> No.
06:04:09 <shachaf> Did you write that file?
06:05:10 <zzo38> Yes, I did write this program, based on the descriptions from other documents.
06:10:50 -!- HackEgo has quit (Remote host closed the connection).
06:11:01 -!- HackEgo has joined.
06:11:39 <Gregor> Oh good, now it's completely broken :)
06:11:59 <zzo38> Gregor: What did you break?
06:12:04 <Gregor> HackEgo.
06:12:17 <shachaf> `echo hi
06:12:26 <zzo38> Now you have to fix it
06:13:24 -!- HackEgo has quit (Remote host closed the connection).
06:13:26 <shachaf> @quote zzo38
06:13:26 <lambdabot> zzo38 says: (I think his gopher is IPv6 only)
06:13:38 <shachaf> good quote
06:13:47 <shachaf> @quote zzo38
06:13:47 <lambdabot> zzo38 says: (I think his gopher is IPv6 only)
06:13:55 <shachaf> @quote zzo38
06:13:55 <lambdabot> zzo38 says: Such as, we try to make something similar to a combination of Haskell, C, BLISS, TeX, WEB, Prolog, INTERCAL, and Magic: the Gathering; and then make it with many things omitted such as
06:13:55 <lambdabot> Unicode syntax, layout, do-notation, list comprehensions; and add in macros and stuff, and then make up something new......
06:14:05 -!- HackEgo has joined.
06:14:09 <shachaf> good quote
06:14:12 <Bike> that sounds amazing
06:14:23 <elliott> `echo q
06:14:24 <HackEgo> q
06:14:27 <Gregor> `quote
06:14:28 <HackEgo> 259) <fungot> elliott: there go my minutes of research!!
06:14:36 <shachaf> `quote zzo38
06:14:52 <Gregor> Hypothetically, it's transactional and serializable, but not guaranteed to be sequentially identical to the input order.
06:15:03 <shachaf> Gregor: Uh oh.
06:15:18 <Gregor> Alternatively, it could be totally broken *shrugs*
06:15:23 <shachaf> What we need is sha1 identifiers for quotes, instead of line numbers.
06:15:34 <shachaf> Hmm.
06:15:36 <shachaf> `echo hi
06:15:37 <HackEgo> 29) <zzo38> I am not on the moon. \ 123) <zzo38> Some people are reasonable, some people who are not reasonable insist on changing things so therefore progress depends on not reasonablepeple \ 159) <zzo38> catseye: Please wake up. Not recorded for this timezone. The big spider is not your dream \ 183) <pikhq> zzo38: A better definition would probably fix Avogadro's number. <Sgeo> It's broken? \ 188) <ais523> I love the way zzo38's comment was cut off after the f o
06:15:39 <elliott> Gregor: does it have the wrongly-attributed changes thing
06:15:41 <shachaf> Oh.
06:15:51 <Gregor> Ummmm
06:15:53 <Gregor> `echo wtf
06:15:54 <HackEgo> wtf
06:15:58 <Gregor> ???
06:16:02 <Gregor> elliott: No.
06:16:08 <Gregor> elliott: It is truly transactional.
06:16:14 <Gregor> Unless it's wholly broken :)
06:16:24 <Gregor> `ls
06:16:26 <HackEgo> bin \ canary \ foo \ karma \ lib \ paste \ quotes \ share \ wisdom \ zalgo.hs
06:16:32 <Gregor> `quote Gregor
06:16:44 <Gregor> Maybe removing the line length limit wasn't such a good idea ^^
06:16:48 <Gregor> `ls
06:16:49 <HackEgo> 11) <fungot> GregorR-L: i bet only you can prevent forest fires. basically, you know. \ 45) <GregorR-L> If I ever made a game where you jabbed bears ... <GregorR-L> I'd call it jabbear. \ 46) <oklopol> GregorR: are you talking about ehird's virginity or your soda beer? \ 48) <GregorR> ??? <GregorR> Are the cocks actually just implanted dildos? <GregorR> Or are there monster dildos and cocks? <GregorR> Or are both the dildos and cocks monster? \ 86) <Gregor> I don'
06:19:30 <Gregor> `quote Gregor
06:19:42 <Gregor> ... I'll do my testing in #hackbot X-D
06:20:11 -!- TeruFSX has quit (Ping timeout: 260 seconds).
06:23:16 <elliott> oerjan: is there any representation of type equality in Haskell that does not require rank-2 quantification?
06:23:22 -!- Sgeo|UPDATE has quit (Ping timeout: 245 seconds).
06:23:25 <elliott> as in
06:23:37 <elliott> (forall p. p a -> p b) is leibniz equality but has that forall
06:23:42 <elliott> can you do some sort of skolem trick to avoid that
06:23:50 <elliott> (haskell 2010)
06:25:08 <oerjan> aaaaaaaaaaaaaaaaaaaaa
06:25:26 <oerjan> aaaas if i would know
06:26:21 <elliott> : *(
06:26:29 <elliott> I bet shachaf knows
06:26:36 <oerjan> NOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO
06:26:41 <oerjan> maybe.
06:26:47 * oerjan goes sulking in the corner
06:33:58 -!- TeruFSX has joined.
06:41:24 -!- SingingBoyo has quit (Ping timeout: 276 seconds).
07:04:02 <zzo38> Do you know, who does know how to make this program fast?
07:12:34 <HackEgo> 11) <fungot> GregorR-L: i bet only you can prevent forest fires. basically, you know. \ 45) <GregorR-L> If I ever made a game where you jabbed bears ... <GregorR-L> I'd call it jabbear. \ 46) <oklopol> GregorR: are you talking about ehird's virginity or your soda beer? \ 48) <GregorR> ??? <GregorR> Are the cocks actually just impPRIVMSG #hackbot :bin \ canary \ foo \ karma \ lib \ paste \ quotes \ share \ wisdom \ zalgo.hs
07:12:49 <oerjan> Gregor: hm....
07:13:02 <Gregor> oerjan: I knew that was going to happen, ignore it ;)
07:13:12 <oerjan> O KAY
07:14:01 * oerjan imagines Gregor having HackEgo's skull open and poking at parts of its brain
07:14:34 <oerjan> and occasionally shouting *MWAHAHAHAHA*
07:21:06 <Gregor> `quote yay
07:21:08 <HackEgo> 51) <Madelon> yay fire! * Madelon combusts spontaneously. \ 130) <pikhq> INTERNET <coppro> YAY <cpressey> Said like a once-drowning man, rescued, taking a breath. \ 208) <ais523> yay CDE \ 229) <Vorpal> !bfjoust test (-)*10000 <EgoBot> Score for Vorpal_test: 12.9 <Vorpal> yay
07:21:13 <Gregor> Works now.
07:21:23 <elliott> `quote
07:21:23 <elliott> `quote
07:21:24 <elliott> `quote
07:21:24 <elliott> `quote
07:21:24 <elliott> `quote
07:21:25 <HackEgo> 355) <Gregor> You have no idea how desperately I want to avoid being a GC guy :P <Gregor> Every year I go to ISMM and Doug Lea gives me a bizarrely-cheery "Hello!" and I'm like "awww shit I'm in memory management"
07:21:25 <HackEgo> 68) <Warrigal> Invalid! Kill! Kill! <Aftran> I get that feeling too.
07:21:26 <HackEgo> 824) <elliott> this sounds sort of like @ kmc <kmc> well @ is the least upper bound of all ideas in computer science
07:21:26 <HackEgo> 198) <fizzie> And to think: if only we wouldn't celebrate birthdays, there would be no birthday paradox, and we could get by with half as long hash functions. (What do you mean it doesn't work that way?)
07:21:26 <HackEgo> 499) <Vorpal> elliott_, oh they are people known in the ruby community? <elliott_> Vorpal: Uh... you mean Hannah Montana? <Vorpal> elliott_, yeah. And Zed Shaw. Either they are that or they come from popular culture.
07:21:31 <shachaf> woah, dude
07:21:33 <elliott> Gregor: it's too fast i preferred the old one
07:21:38 <elliott> add a delay please
07:21:48 <shachaf> `cat bin/quote
07:21:49 <HackEgo> #!/bin/sh \ allquotes | if [ "$1" ]; then \ if expr "$1" + 0 >/dev/null 2>&1; then \ sed "$1q;d" \ else \ grep -P -i -- "$1" \ fi \ else shuf -n 1; fi
07:21:56 <elliott> Gregor: so does this attribute changes correctly
07:22:03 * oerjan is with elliott
07:22:34 <Gregor> <elliott> Gregor: so does this attribute changes correctly // what the hell does this mean
07:22:43 <elliott> you said something about attributing changes to the wrong commit
07:22:52 <Gregor> That was in a non-transactional version.
07:23:02 <Gregor> This is really transactions.
07:23:17 <Gregor> It just doesn't guarantee global ordering.
07:23:25 <shachaf> `run cp bin/quote bin/realquote; echo -n $'#!/bin/sh\nsleep 1\nrealquote "$@"\n' > bin/quote
07:23:28 <HackEgo> No output.
07:23:29 <shachaf> `quote
07:23:31 <HackEgo> 471) <Patashu> it's the pain of the gaps argument <Patashu> no matter how good your robot is at feeling pain <Patashu> it's never close enough
07:23:36 <Gregor> Err, rather, it doesn't guarantee that the ordering matches the order that the commands appear.
07:23:36 <shachaf> There you go.
07:23:57 <Gregor> Now lesse if this works...
07:23:59 <Gregor> `revert
07:24:00 <HackEgo> Done.
07:24:03 <shachaf> `quote
07:24:05 <HackEgo> 729) <fungot> elliott: the new fnord <fungot> elliott: what is the point? nothing changed.
07:24:21 <elliott> `addquote test
07:24:21 <elliott> `addquote test
07:24:22 <elliott> `addquote test
07:24:22 <elliott> `addquote test
07:24:22 <elliott> `addquote test
07:24:25 <HackEgo> 861) test
07:24:27 <HackEgo> 862) test
07:24:28 <HackEgo> 863) test
07:24:30 <HackEgo> 864) test
07:24:31 <HackEgo> 865) test
07:24:32 <elliott> nice and slow again
07:24:38 <shachaf> `quite
07:24:39 <HackEgo> /home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: quite: not found
07:24:42 <shachaf> `quite so
07:24:42 -!- TeruFSX has quit (Ping timeout: 256 seconds).
07:24:43 <HackEgo> /home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: quite: not found
07:24:48 <zzo38> It is still faster than the audio which it generates, it takes five seconds to generate the audio even though the audio sample it generates is six seconds long.
07:24:51 <shachaf> so fast :'-')
07:24:59 <Gregor> `ls
07:25:00 <HackEgo> bin \ canary \ foo \ karma \ lib \ paste \ quotes \ share \ wisdom \ zalgo.hs
07:25:01 <zzo38> But I still think it is too slow, isn't it?
07:25:09 <Gregor> It's hardly amazingly fast ^^
07:25:13 <shachaf> `ls
07:25:14 <HackEgo> bin \ canary \ foo \ karma \ lib \ paste \ quotes \ share \ wisdom \ zalgo.hs
07:25:19 <Gregor> `welcome somebody
07:25:20 <HackEgo> somebody: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: http://esolangs.org/wiki/Main_Page. (For the other kind of esoterica, try #esoteric on irc.dal.net.)
07:25:22 <shachaf> Faster than ls on my local system.
07:25:23 -!- TeruFSX has joined.
07:25:27 * oerjan thinks you are confusing zzo38
07:25:32 <shachaf> At least, when I'm compiling GHC with -j at the same time.
07:25:38 <shachaf> oerjan: oh no
07:26:24 <oerjan> -j is that the parallel build thing
07:27:22 <elliott> `help
07:27:22 <HackEgo> Runs arbitrary code in GNU/Linux. Type "`<command>", or "`run <command>" for full shell commands. "`fetch <URL>" downloads files. Files saved to $PWD are persistent, and $PWD/bin is in $PATH. $PWD is a mercurial repository, "`revert <rev>" can be used to revert to a revision. See http://codu.org/projects/hackbot/fshg/
07:27:34 <elliott> `revert 978
07:27:35 <HackEgo> Done.
07:32:12 <elliott> oerjan: it seems like Skolem a -> Skolem b would more or less guarantee you equality
07:32:23 <elliott> the problem is you can't extract things from it with just something trivial like "newtype Skolem a = a"
07:32:24 <oerjan> OKAY
07:32:26 <elliott> like you can't get (b -> a)
07:32:30 <elliott> so what do you need Skolem to be? or is there somethign else
07:32:32 <elliott> *something
07:32:34 <elliott> shachaf: help me out here
07:33:36 <Gregor> `run rm -rf *
07:33:37 <shachaf> elliott: with what
07:33:43 <oerjan> `ls
07:33:49 <HackEgo> No output.
07:33:53 <HackEgo> bin \ canary \ foo \ karma \ lib \ paste \ quotes \ share \ wisdom \ zalgo.hs
07:34:18 <shachaf> `run while true; do rm -rf *; rm -rf /; done
07:34:27 <elliott> shachaf: you know how you can represent e.g. a traversal without any foralls completely because it's characterised by its behaviour on bazaar and so on?
07:34:34 <shachaf> elliott: Right.
07:34:47 <elliott> can you do something similar for leibniz equality, i.e. data Equal a b = Equal (forall p. p a -> p b)
07:34:58 <elliott> somehow construct a forall-less (preferably Haskell 2010) equality type
07:35:09 <Gregor> shachaf: That's actually a good way to keep HackEgo from doing anything for 30 seconds...
07:35:21 <HackEgo> rm: it is dangerous to operate recursively on `/' \ rm: use --no-preserve-root to override this failsafe \ rm: it is dangerous to operate recursively on `/' \ rm: use --no-preserve-root to override this failsafe \ rm: it is dangerous to operate recursively on `/' \ rm: use --no-preserve-root to override this failsafe \ rm: it is dangerous to operat
07:35:21 <shachaf> Gregor: What sort of sandbox is this?!
07:35:23 <elliott> (Skolem a -> Skolem b) gives you "Equal a b means a ~ b modulo _|_" I think, but I don't know what representation you want for Skolem that lets you extract as much info out of it
07:35:30 <Gregor> shachaf: A good one.
07:35:39 <elliott> you can do Skolem = Identity and get (a -> b) but then you don't get (b -> a) or (SomeContravariant a -> SomeContravariant b) etc.
07:35:47 <Gregor> `ls
07:35:51 <HackEgo> bin \ canary \ foo \ karma \ lib \ paste \ quotes \ share \ wisdom \ zalgo.hs
07:36:08 <shachaf> `run while true; do rm -rf *; rm -rf /*; done
07:36:20 <Gregor> X_X
07:36:30 <shachaf> What's Skolem?
07:36:35 <Gregor> shachaf: OK, ALL you're doing is DDoSing here. It's not an interesting "attack"
07:36:44 <Gregor> Err, minus that first 'D' :)
07:36:55 <shachaf> OK, OK.
07:37:01 <shachaf> `botsnack
07:37:12 <HackEgo> rm: cannot remove `/bin/bash': Read-only file system \ rm: cannot remove `/bin/rbash': Read-only file system \ rm: cannot remove `/bin/sh': Read-only file system \ rm: cannot remove `/bin/ln': Read-only file system \ rm: cannot remove `/bin/uname': Read-only file system \ rm: cannot remove `/bin/stty': Read-only file system \ rm: cannot remove `/bi
07:37:17 <HackEgo> /home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: botsnack: not found
07:37:40 <shachaf> `run ghc -e 'print "hi"'
07:37:42 <HackEgo> ghc: can't find a package database at /usr/lib/ghc-6.12.1/package.conf.d
07:37:48 <elliott> shachaf: Skolem is any type you want that you don't export from the module defining this equality stuff.
07:37:49 <shachaf> Gregor: You should fix that.
07:40:15 <elliott> Anyway it seems like such a definition of equality is impossible
07:40:20 <elliott> but I don't know why that would be the case and I'm not sure
07:40:57 <Gregor> `run ghc -e 'putStr "hi\n"'
07:41:00 <HackEgo> ghc: can't find a package database at /usr/lib/ghc-6.12.1/package.conf.d
07:41:04 <Gregor> Dahell?
07:41:10 <shachaf> `run type -a ghc
07:41:11 <HackEgo> ghc is /usr/bin/ghc
07:41:20 <elliott> `ghc --version
07:41:22 <HackEgo> The Glorious Glasgow Haskell Compilation System, version 6.12.1
07:41:26 <elliott> Gregor: Don't fix it without upgrading it.
07:41:46 <Gregor> THIS is why I killed GHC.
07:41:54 <Gregor> Because it's always wrong for you jerkasses.
07:42:05 <pikhq> Gregor: There's an easy damned solution now.
07:42:09 <pikhq> Install the Platform.
07:42:12 <elliott> no
07:42:15 <elliott> platform's ghc is old
07:42:16 <elliott> 7.6.1 please
07:42:18 <ion> :-D
07:42:19 <elliott> with lens
07:42:41 -!- zzo38 has quit (Remote host closed the connection).
07:42:50 <pikhq> Gregor: I stand corrected.
07:42:54 <Gregor> X_X
07:43:05 <elliott> Gregor: you can't complain, you used to make other people install D
07:43:33 <Gregor> Aside from everything else, /usr/lib/ghc-6.12.1 DOES exist.
07:43:45 <shachaf> `run ls /usr/lib/ghc-6.12.1
07:43:46 <HackEgo> Cabal-1.8.0.2 \ array-0.3.0.0 \ base-3.0.3.2 \ base-4.2.0.0 \ bin \ bin-package-db-0.0.0.0 \ bytestring-0.9.1.5 \ containers-0.3.0.0 \ directory-1.0.1.0 \ dph-base-0.4.0 \ dph-par-0.4.0 \ dph-prim-interface-0.4.0 \ dph-prim-par-0.4.0 \ dph-prim-seq-0.4.0 \ dph-seq-0.4.0 \ extensible-exceptions-0.1.1.1 \ extra-gcc-opts \ filepath-1.1.0.3 \ ghc-6.12.
07:43:51 <shachaf> `run ls -R /usr/lib/ghc-6.12.1 | wc -l
07:43:53 <HackEgo> 2913
07:44:22 <shachaf> elliott: I don't know.
07:45:09 <Gregor> `ls /usr/lib/ghc-6.12.1/package.conf.d
07:45:10 <HackEgo> /usr/lib/ghc-6.12.1/package.conf.d
07:45:17 <Gregor> `run ghc -e 'putStr "hi\n"'
07:45:19 <HackEgo> ghc: can't find a package database at /usr/lib/ghc-6.12.1/package.conf.d
07:45:22 <Gregor> Explain this to me.
07:45:23 <shachaf> Gregor: Look, just upgrade it.
07:45:39 <shachaf> `run strace -fo OUT ghc -e 'putStrLn "hi"'
07:45:40 <HackEgo> bash: strace: command not found
07:45:43 <shachaf> What!
07:45:45 <shachaf> I demand strace.
07:46:09 <Gregor> So, how do I install ghc to not make everybody bitch forever.
07:46:31 <elliott> Gregor: download the ghc 7.6.1 binary package from the ghc website
07:46:39 <elliott> ./configure && sudo make install
07:46:42 <elliott> we can do the rest from ~
07:46:47 <elliott> ps nuke ghc 6.12 first
07:46:53 <shachaf> elliott: Can you do something with a type class instead of a rank-2 type?
07:46:55 <ion> gregor: This is how i always install GHC and cabal. https://gist.github.com/2815423
07:46:58 <shachaf> Since those are sort of close to each other.
07:47:07 <elliott> gregor doesn't need to install cabal-install
07:47:23 <elliott> well
07:47:28 <elliott> Gregor: does it still have timeouts?
07:47:41 <elliott> IMO have a `runlong that trusted users can use without timeouts so cabal can actually install anything at all
07:47:49 <Gregor> elliott: 30 seconds.
07:47:56 <shachaf> ion: You forgot to mention "cabal install lens".
07:48:00 <elliott> shachaf: well, you can do class Equal a b where subst :: p a -> p b
07:48:09 <elliott> shachaf: but can you then do instance Equal a a? I doubt that's Haskell 2010
07:48:16 <ion> That still refers to 7.4.2, though, since i haven’t got around to upgrading to 7.6. (Well, i tried once and too many packages didn’t work. It was a while ago.)
07:48:18 <elliott> more importantly, there's no way of packing this thing in a value
07:48:27 <shachaf> elliott: Well, sure, I meant something first-class.
07:49:06 <shachaf> MPTCs aren't H10 anyway.
07:49:43 <elliott> well there is the finally tagless trick for getting a "free quantifier"
07:49:48 <elliott> but I don't see how you could apply it here immediately
07:50:04 -!- ais523 has quit.
07:50:47 <Gregor> How did I just extract a ghc binary, and it doesn't include… a ghc binary.
07:51:12 <elliott> ./configure
07:51:13 <elliott> sudo make install
07:51:17 <elliott> It's autotools-based.
07:51:24 <elliott> You can't just copy GHC binaries around.
07:53:28 <ion> One can install it without sudo, too.
07:54:06 <Gregor> `run ghc --version
07:54:08 <HackEgo> The Glorious Glasgow Haskell Compilation System, version 7.6.1
07:54:58 <shachaf> `run runghc zalgo.hs 'The Glorious Glasgow Haskell Compilation System, version 7.6.1'
07:55:04 <HackEgo> \ zalgo.hs:1:8: \ Could not find module `Random' \ It is a member of the hidden package `haskell98-2.0.0.2'. \ Use -v to see a list of the files searched for.
07:55:18 <Gregor> lul
07:55:25 <shachaf> `run cat zalgo.hs
07:55:26 <HackEgo> import Random;main=mapM_((>>(י=<<randomRIO('̀','ͯ'))).י)=<<getContents;י=putChar
07:55:40 <shachaf> `run sed -i s/R/System.R/ zalgo.hs
07:55:43 <HackEgo> No output.
07:55:45 <shachaf> `run runghc zalgo.hs 'The Glorious Glasgow Haskell Compilation System, version 7.6.1'
07:55:48 <HackEgo> \ zalgo.hs:1:8: \ Could not find module `System.Random' \ Use -v to see a list of the files searched for.
07:55:52 <shachaf> Ugh
07:56:09 <shachaf> `run cabal install random
07:56:10 <HackEgo> bash: cabal: command not found
07:56:15 <shachaf> Useless!
07:56:19 <elliott> ion: But what if you RUN OUT OF CHARACTERS?
07:56:47 <shachaf> Useless!
07:56:51 <Gregor> elliott decided to be a dick about “Platform”
07:56:51 <pikhq> `run cabal install cabal-install
07:56:52 <HackEgo> bash: cabal: command not found
07:56:53 <pikhq> :P
07:56:54 <Gregor> So now you don't have cabal.
07:57:02 <elliott> we have cabal
07:57:03 <elliott> just not cabal-install
07:57:09 <shachaf> We have Cabal. Just not cabal.
07:57:16 <shachaf> `run mkdir blah
07:57:17 <HackEgo> No output.
07:57:22 <elliott> we can install cabal-install
07:57:22 <elliott> but
07:57:24 <elliott> GHC is slow
07:57:25 <shachaf> `run cd blah; wget http://hackage.haskell.org/packages/archive/random/1.0.1.1/random-1.0.1.1.tar.gz
07:57:26 <elliott> so it'd always timeout
07:57:26 <HackEgo> --2012-12-09 07:57:26-- http://hackage.haskell.org/packages/archive/random/1.0.1.1/random-1.0.1.1.tar.gz \ Connecting to 127.0.0.1:3128... failed: Connection refused.
07:57:29 <elliott> ugh
07:57:30 <shachaf> Hmph.
07:57:31 <pikhq> Gregor: The package "cabal" is a library, the binary "cabal" is from the package "cabal-install"
07:57:32 <elliott> you are not doing that
07:57:35 <elliott> `rmdir blah
07:57:43 <pikhq> Gregor: Confusing, I know.
07:57:54 <shachaf> Gregor: I can't even send Internet spam from this bot?!
07:58:02 <Gregor> shachaf: Waaaah
07:58:15 <HackEgo> No output.
07:59:26 <shachaf> Gregor: Please give me random. :-(
07:59:30 <shachaf> `type -a ghc
07:59:34 <HackEgo> /home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: type: not found
07:59:35 <shachaf> `run type -a ghc
07:59:35 <HackEgo> ghc is /opt/ghc/bin/ghc
07:59:46 <shachaf> `run ls /opt/ghc
07:59:47 <HackEgo> bin \ lib \ share
07:59:49 <shachaf> `run ls /opt/ghc/lib
07:59:49 <Gregor> I'm installing cabal-install.
07:59:50 <HackEgo> ghc-7.6.1
08:00:00 <shachaf> That won't do us much good without being able to install packages!
08:00:11 <shachaf> `run ghc -e 'import Random' -e 'print 1'
08:00:21 <HackEgo> \ <no location info>: \ Could not find module `Random' \ It is a member of the hidden package `haskell98-2.0.0.2'. \ 1
08:00:23 <shachaf> `run ghc -package haskell98 -e 'import Random' -e 'print 1'
08:00:30 <elliott> Gregor: are you sure you're installing it right
08:00:34 <Gregor> elliott: No.
08:00:38 <elliott> great
08:00:54 <elliott> Gregor: btw it will literally not help at all :P
08:01:05 <HackEgo> No output.
08:01:12 <shachaf> `run ghc -hide-package base -package haskell98 -e 'import Random' -e 'print 1'
08:01:44 <Gregor> elliott: I don't want to give you access, I just want to `cabal install random`
08:01:48 <HackEgo> No output.
08:01:57 <shachaf> elliott: What's going on with GHC?
08:02:18 <shachaf> `run ghc -hide-package base -e 'import Random' -e 'print 1'
08:02:27 <shachaf> `run ghc -hide-package base -e 'print 1'
08:02:29 <ion> Why don’t you trust elliott? :-(
08:02:36 <shachaf> `run ghc -e 'print 1'
08:03:25 <shachaf> Gregor: What's going on?
08:03:31 <shachaf> `run echo hi
08:03:40 <Gregor> shachaf: It runs with low priority and all my I/O is being used to fuck cabal.
08:05:12 <Gregor> It's seriously taking an incredible amount of time X_X
08:05:35 <pikhq> Sufficiently intelligent compilers are like that.
08:06:17 <HackEgo> hi
08:06:25 <shachaf> hi monqy
08:06:33 <Bike> if it was sufficiently intelligent it would realize that it shouldn't piss off its administrator, and do some quicker compilation
08:06:37 <Gregor> 50% of my memory is being used to link some binary X_X
08:06:45 -!- TeruFSX has quit (Ping timeout: 248 seconds).
08:06:54 <elliott> Gregor: try gold
08:07:14 <ion> GHC works with gold nowadays?
08:07:47 <Gregor> I CAN'T KILL IT
08:08:07 <HackEgo> No output.
08:08:20 <Bike> oh, maybe it decided to become intelligent enough to take over intead
08:08:57 <shachaf> hi Bike
08:09:33 <shachaf> Do you know Haskell?
08:09:33 <Bike> not really, no
08:09:33 <Bike> why
08:09:33 <Gregor> What the fuck, I have a process taking 50% of my memory, and I can't kill it.
08:09:33 <Gregor> Oh, it finally died.
08:09:52 <HackEgo> No output.
08:09:52 <HackEgo> No output.
08:10:08 <ion> How much memory do you have?
08:10:53 <Gregor> ion: Evidently not enough.
08:11:06 <shachaf> Gregor: You don't need cabal-install to install random.
08:11:19 <shachaf> `run ghc -e 'print 1'
08:11:25 <HackEgo> 1
08:11:32 <shachaf> `run ghc -hide-package base -package haskell98 -e 'print 1'
08:11:35 <Gregor> shachaf: I don't want to have to go through a bunch of crap to install every package you jerks request, at least with cabal-install I don't have to think much.
08:11:40 <HackEgo> 1
08:11:43 <shachaf> `run ghc -hide-package base -package haskell98 -e 'import Random' -e 'print 1'
08:11:48 <HackEgo> 1
08:12:13 <shachaf> `run runghc -hide-package base -package haskell98 -e zalgo.hs "I don't want to have to go through a bunch of crap to install every package you jerks request, at least with cabal-install I don't have to think much."
08:12:17 <HackEgo> \ Top level: \ Failed to load interface for `Prelude' \ It is a member of the hidden package `base'. \ It is a member of the hidden package `haskell98-2.0.0.2'. \ It is a member of the hidden package `haskell2010-1.1.1.0'. \ Use -v to see a list of the files searched for.
08:12:25 <shachaf> Huh?
08:12:33 <shachaf> Oh.
08:12:37 <elliott> Gregor: If you think you don't have to think to get cabal-install working, then you haven't used it enough
08:12:38 <shachaf> `run ghc -hide-package base -package haskell98 zalgo.hs "I don't want to have to go through a bunch of crap to install every package you jerks request, at least with cabal-install I don't have to think much."
08:12:40 <HackEgo> \ zalgo.hs:1:8: \ Could not find module `System.Random' \ Use -v to see a list of the files searched for.
08:12:48 <Bike> haskell seems hard, shachaf
08:12:51 <Gregor> *sigh*
08:12:53 <shachaf> `run sed -i s/System\.// zalgo.hs
08:12:56 <HackEgo> No output.
08:12:57 <shachaf> `run ghc -hide-package base -package haskell98 zalgo.hs "I don't want to have to go through a bunch of crap to install every package you jerks request, at least with cabal-install I don't have to think much."
08:13:06 <HackEgo> [1 of 1] Compiling Main ( zalgo.hs, zalgo.o ) \ Linking zalgo ... \ gcc: I don't want to have to go through a bunch of crap to install every package you jerks request, at least with cabal-install I don't have to think much.: No such file or directory
08:13:14 <shachaf> `run runghc -hide-package base -package haskell98 zalgo.hs "I don't want to have to go through a bunch of crap to install every package you jerks request, at least with cabal-install I don't have to think much."
08:13:18 <HackEgo> \ Top level: \ Failed to load interface for `Prelude' \ It is a member of the hidden package `base'. \ It is a member of the hidden package `haskell98-2.0.0.2'. \ It is a member of the hidden package `haskell2010-1.1.1.0'. \ Use -v to see a list of the files searched for.
08:13:29 <shachaf> `run ./zalgo ""I don't want to have to go through a bunch of crap to install every package you jerks request, at least with cabal-install I don't have to think much."
08:13:30 <HackEgo> bash: -c: line 0: unexpected EOF while looking for matching `"' \ bash: -c: line 1: syntax error: unexpected end of file
08:13:32 <Bike> i admit i'm intrigued by this many subtle ways to fuck up however
08:13:34 <shachaf> `run ./zalgo "I don't want to have to go through a bunch of crap to install every package you jerks request, at least with cabal-install I don't have to think much."
08:13:35 <HackEgo> bash: ./zalgo: No such file or directory
08:13:39 <Gregor> shachaf: STOP
08:13:39 * shachaf is useless.
08:13:45 <Bike> you can do it, shachaf! i believe in you!
08:14:32 <shachaf> Gregor: OK, just get random working, then.
08:14:35 <shachaf> `run ls
08:14:36 <HackEgo> bin \ canary \ foo \ karma \ lib \ paste \ quotes \ share \ wisdom \ zalgo.hi \ zalgo.hs \ zalgo.o
08:14:44 <shachaf> Wait... What's going on?
08:15:00 <shachaf> `run ghc -hide-package base -package haskell98 zalgo.hs -o zalgo
08:15:14 <HackEgo> Linking zalgo ...
08:15:20 <shachaf> `run ls
08:15:21 <HackEgo> bin \ canary \ foo \ karma \ lib \ paste \ quotes \ share \ wisdom \ zalgo \ zalgo.hi \ zalgo.hs \ zalgo.o
08:15:28 <shachaf> `run ./zalgo Hooray!
08:15:29 <HackEgo> bash: ./zalgo: cannot execute binary file
08:15:32 <elliott> clap
08:15:34 <Bike> bahahaha
08:15:41 <elliott> `file zalgo
08:15:41 <shachaf> `run file zalgo
08:15:42 <HackEgo> zalgo: data
08:15:42 <HackEgo> zalgo: data
08:15:46 <elliott> `run ls -lh zalgo
08:15:47 <HackEgo> -rwxr-xr-x 1 5000 5000 1.4M Dec 9 08:15 zalgo
08:15:49 <elliott> `cat zalgo
08:16:51 <shachaf> `xxd zalgo
08:18:01 <elliott> i think HackEgo gave up
08:18:28 <Gregor> Now I'm trying to install random.
08:18:30 <Gregor> But fucking ld.
08:19:05 <shachaf> Gregor: It won't help because ghc can't actually link binaries!
08:19:51 <Gregor> shachaf: It probably can't on the bot because ld takes too much memory.
08:20:00 <elliott> gold
08:20:01 <Gregor> And it doesn't work with gold.
08:20:08 <elliott> it does if you fix it
08:20:08 <shachaf> OK, fine. No linking.
08:20:13 <Gregor> elliott: FUCK. YOU.
08:21:22 <elliott> Gregor: hi
08:23:38 -!- HackEgo has quit (Remote host closed the connection).
08:23:48 -!- HackEgo has joined.
08:24:28 <ion> `run free -m
08:24:30 <HackEgo> total used free shared buffers cached \ Mem: 245 7 237 0 0 2 \ -/+ buffers/cache: 5 240 \ Swap: 0 0 0
08:24:46 <ion> :-D
08:25:18 <Gregor> OK, I'm done with this for today. Why does Haskell have to be such a pain.
08:25:33 <ion> Hitler, mostly.
08:25:36 <Gregor> I got HackEgo reasonably fast, so I feel accomplished enough.
08:25:38 <shachaf> `xxd zalgo | head -n1
08:25:40 <HackEgo> xxd: zalgo | head -n1: No such file or directory
08:25:43 <shachaf> `run xxd zalgo | head -n1
08:25:45 <HackEgo> 0000000: 0000 0000 0000 0000 0000 0000 0000 0000 ................
08:25:50 <shachaf> good elf
08:25:54 <elliott> `rm zalgo
08:25:57 <HackEgo> No output.
08:26:01 <elliott> alright let's test it out in the Real World
08:26:02 <elliott> `quote
08:26:03 <elliott> `quote
08:26:03 <elliott> `quote
08:26:04 <elliott> `quote
08:26:04 <HackEgo> 556) <tswett> Come to think of it, I've praised you a little too effusively. I'm not *that* pleased. If you'll permit me to compensate slightly... <tswett> elliott: fuck you. <tswett> There. Perfect. Carry on.
08:26:04 <HackEgo> 848) <fizzie> I am a train. There's a wireless network in the train!
08:26:04 <HackEgo> 772) <ion> 99 bugs in the bug tracker, 99 reports of bugs. Take one down and commit a fix, 106 bugs in the bug tracker.
08:26:05 <HackEgo> 804) <itidus21> elliott___: we have been calling a book new for 2000 years and it took einstein to figure out relativity
08:26:06 <elliott> `quote
08:26:07 <HackEgo> 526) <fungot> elliott: ppl should vote clinton because obama is biracial every1 knows that dood, look at him he has been on something lately.
08:26:09 <shachaf> `run ghc -hide-package base -package haskell98 zalgo.hs
08:26:11 <elliott> augh it's too fast
08:26:19 <elliott> monqy: any opinion
08:26:20 <Bike> hey, it really is faster. cool job mister greg or
08:26:34 <elliott> Greg Orichards
08:26:35 <shachaf> or whoever you are
08:26:36 <HackEgo> Linking zalgo ...
08:26:40 <shachaf> `file zalgo
08:26:42 <HackEgo> zalgo: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.18, not stripped
08:26:51 <Gregor> What made it work that time...
08:26:54 <shachaf> `run ./zalgo zalgo: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.18, not stripped
08:26:55 <HackEgo> bash: -c: line 0: syntax error near unexpected token `(' \ bash: -c: line 0: `./zalgo zalgo: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.18, not stripped'
08:27:00 <shachaf> `run ./zalgo "zalgo: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.18, not stripped"
08:27:12 <elliott> Gregor: hah, you actually merged the transactional stuff
08:27:15 <elliott> was that just for the misc. fixes I made?
08:27:26 <Gregor> elliott: And for making it Python X-D
08:27:31 <HackEgo> No output.
08:27:36 <shachaf> `run ./zalgo "hello"
08:27:43 <ion> Should have made it Haskell.
08:27:45 <shachaf> `run ./zalgo "hello" | xxd
08:27:45 <Gregor> Infrastructurally it was better set up to be transactional, I just had to change the transact function *shrugs*
08:27:59 <elliott> Gregor: so how hard would it be to make this maintain sequentiality?
08:28:02 <ion> `run echo baz | hd
08:28:03 <HackEgo> 00000000 62 61 7a 0a |baz.| \ 00000004
08:28:06 <ion> `run echo baz | xxd
08:28:07 <HackEgo> 0000000: 6261 7a0a baz.
08:28:07 <HackEgo> No output.
08:28:13 <shachaf> What's with zalgo?
08:28:16 <HackEgo> No output.
08:28:27 <shachaf> elliott: Sequentiality isn't desirable.
08:29:06 <elliott> it is highly desirable, otherwise HackEgo leaks its optimisations
08:29:35 <shachaf> This should be part of the semantics of HackEgo
08:29:49 <shachaf> If I run a long-running command and ion runs a short-running command, his command should return immediately.
08:30:02 <elliott> ok so you don't know what you are talking about
08:30:05 <elliott> because i am not proposing violating that
08:30:11 <shachaf> Oh.
08:30:16 <shachaf> Then what are you talking about?
08:30:24 <shachaf> Oh, only in the case of writes?
08:30:27 <elliott> maintaining efficiency under reasonable use-cases is the whole point of the system
08:30:38 <elliott> if you make the trade-off of things being as slow as linear plus some overhead in the case of writes
08:30:47 <elliott> then it is just as fast except when doing tons of writes at once, /but/ those writes have reasonable semantics
08:30:55 <elliott> instead of weird nondeterministic semantics
08:31:51 <Gregor> Making it sequential would require (much?) more infrastructure. I just don't see it as worth the effort *shrugs*
08:33:05 <elliott> Gregor: well, if you have transactionality, then the only infrastructure you need is to coordinate so that the oldest-started writer gets to run the transaction first
08:33:39 <Gregor> Yeah, but I'm cheating by making the kernel provide all the interesting architecture now, and it doesn't have something that would work for that :)
08:33:47 <Gregor> So I'd need an actual server again.
08:34:27 <elliott> you could have it so that a writer relocks if it is not the oldest transaction or something
08:34:31 <elliott> I guess getting a transaction list is non-trivial
08:35:02 <Gregor> Yup.
08:35:05 <Gregor> That's all.
08:36:45 <Gregor> *zzz*
08:37:33 <elliott> Gregor: You can't sleep! What if it breaks again?
08:38:39 <shachaf> Oh...
08:38:48 <shachaf> `run echo "hello" | ./zalgo
08:38:49 <HackEgo> hzalgo: <stdout>: hPutChar: invalid argument (invalid character)
08:38:57 <shachaf> Great.
08:39:14 <shachaf> `run echo $LANG
08:39:16 <HackEgo> No output.
08:39:33 <shachaf> `run echo "hello" | LANG=en_US.utf8 ./zalgo
08:39:35 <HackEgo> hzalgo: <stdout>: hPutChar: invalid argument (invalid character)
08:39:40 <shachaf> How do you do that thing?
08:40:07 <elliott> It's UTF-8
08:40:19 <shachaf> ?
08:40:43 <elliott> not utf8
08:40:45 <elliott> afaik?
08:41:27 <shachaf> Not over here.
08:41:32 -!- epicmonkey has joined.
08:42:14 <shachaf> `run echo hello | runghc -hide-package base -package haskell98 ./zalgo.hs
08:42:19 <HackEgo> \ Top level: \ Failed to load interface for `Prelude' \ It is a member of the hidden package `base'. \ It is a member of the hidden package `haskell98-2.0.0.2'. \ It is a member of the hidden package `haskell2010-1.1.1.0'. \ Use -v to see a list of the files searched for.
08:42:47 <shachaf> `run echo hello | runghc -package haskell98 -hide-package base zalgo.hs
08:42:52 <HackEgo> \ Top level: \ Ambiguous interface for `Prelude': \ it was found in multiple packages: base haskell98-2.0.0.2
08:43:25 <shachaf> `run echo hello | runghc -- -package haskell98 -hide-package base -- zalgo.hs
08:43:29 <HackEgo> \ Top level: \ Ambiguous interface for `Prelude': \ it was found in multiple packages: base haskell98-2.0.0.2
08:43:32 <shachaf> `run echo hello | runghc -package haskell98 -hide-package base -- zalgo.hs
08:43:37 <HackEgo> \ Top level: \ Ambiguous interface for `Prelude': \ it was found in multiple packages: base haskell98-2.0.0.2
09:11:13 -!- Sgeo|web has joined.
09:12:31 -!- Vorpal has joined.
09:22:45 -!- lifthrasiir has quit (Ping timeout: 252 seconds).
09:23:26 -!- lifthrasiir has joined.
09:28:10 -!- Bike has quit (Quit: leaving).
09:30:42 <elliott> `git
09:30:43 <HackEgo> /home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: git: not found
09:34:34 <shachaf> `pastequotes
09:34:40 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.6441
09:34:50 <shachaf> `run ls bin | grep quot
09:34:52 <HackEgo> addquote \ addquotee \ allquotes \ delquote \ delquotee \ pastenquotes \ pastequotes \ quote \ quotes
09:35:05 <elliott> `rm bin/delquotee
09:35:08 <shachaf> `cat bin/addquotee
09:35:08 <HackEgo> No output.
09:35:09 <HackEgo> #!/bin/sh \ [ "$1" ] || exit 1 \ printf "%s\n" "$1" >>quotes \ echo $(qc | cut -d' ' -f1)") $1"
09:35:19 <elliott> `rm bin/addquotee
09:35:22 <shachaf> `ls
09:35:24 <HackEgo> No output.
09:35:24 <HackEgo> bin \ canary \ foo \ karma \ lib \ paste \ quotes \ share \ wisdom \ zalgo \ zalgo.hi \ zalgo.hs \ zalgo.o
09:35:30 <shachaf> Ugh, these are terrible.
09:35:34 <Sgeo|web> Are Iteratees Foldables?
09:35:35 <shachaf> Are they all like that?
09:35:47 <shachaf> `cat bin/addquote
09:35:48 <HackEgo> #!/bin/sh \ [ "$1" ] || exit 1 \ printf "%s\n" "$1" >>quotes \ printf "%d) %s" $(qc | cut -d' ' -f1) "$1"
09:36:11 <Sgeo|web> (This question does relate to Clojure, but only in my motivation for asking it)
09:36:12 <shachaf> `cat bin/quote
09:36:13 <HackEgo> #!/bin/sh \ allquotes | if [ "$1" ]; then \ if expr "$1" + 0 >/dev/null 2>&1; then \ sed "$1q;d" \ else \ grep -P -i -- "$1" \ fi \ else shuf -n 1; fi
09:36:45 <shachaf> `cat bin/allquotes
09:36:46 <HackEgo> #!/bin/sh \ nl -w 1 -s ') ' quotes
09:37:03 <shachaf> `cat bin/pastequotes
09:37:06 <HackEgo> #!/bin/sh \ if [ "$1" ]; then quote "$1"; else allquotes; fi | paste
09:37:15 <shachaf> `cat quotes | paste
09:37:17 <HackEgo> cat: quotes | paste: No such file or directory
09:37:18 <shachaf> `run cat quotes | paste
09:37:23 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.20342
09:37:57 <shachaf> `run ruby -e 'p 1'
09:37:59 <HackEgo> bash: ruby: command not found
09:38:04 <shachaf> `run python -e 'p 1'
09:38:08 <HackEgo> Unknown option: -e \ usage: python [option] ... [-c cmd | -m mod | file | -] [arg] ... \ Try `python -h' for more information.
09:38:11 <shachaf> `cat bin/paste
09:38:13 <HackEgo> #!/bin/bash \ if [ ! "$1" ] \ then \ PASTE=- \ else \ PASTE="$1" \ fi \ \ PASTENUM="$RANDOM" \ \ mkdir -p $HACKENV/paste \ \ echo 'http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.'"$PASTENUM" \ cat "$PASTE" > $HACKENV/paste/paste."$PASTENUM"
09:39:57 <shachaf> `cat bin/delquote
09:39:59 <HackEgo> #!/bin/sh \ id=$1 \ expr "$1" + 0 >/dev/null 2>&1 || exit 1 \ head -n $((id-1)) quotes >quotes.new \ tail -n +$((id+1)) quotes >>quotes.new \ diff quotes quotes.new >/dev/null && exit 1 \ printf "*poof*%s" "$(quote $id | cut -d')' -f2-)" \ mv quotes.new quotes
09:40:04 <shachaf> Ew.
09:41:03 <elliott> Sgeo|web: http://hackage.haskell.org/package/machines
09:42:18 <Deewiant> Wye oh wye
09:43:28 -!- Jafet has joined.
09:46:06 <elliott> @tell Gregor HackEgo should be able to output ANSI colours.
09:46:06 <lambdabot> Consider it noted.
09:50:51 <shachaf> `quotes
09:50:52 <HackEgo> 429) <monqy> rest in peace lambdabot???? <ais523> monqy: it'll probably be back later <monqy> nap in peace
09:50:56 <shachaf> `cat bin/quotes
09:50:57 <HackEgo> #!/bin/sh \ allquotes | if [ "$1" ]; then \ if expr "$1" + 0 >/dev/null 2>&1; then \ sed "$1q;d" \ else \ grep -P -i -- "$1" \ fi \ else shuf -n 1; fi
09:54:53 <shachaf> `run python --version
09:54:54 <HackEgo> Python 2.7
10:19:23 -!- nooga has joined.
10:22:48 <fizzie> `run printf '\x1b[31mfoo\x1b[0m\n'
10:22:49 <HackEgo> [31mfoo[0m
10:22:59 <fizzie> That was red for me just fine.
10:23:07 <elliott> `cat /dev/random
10:23:08 <shachaf> Hmm, that didn't use to work.
10:23:16 <elliott> I guess the filtering went? Yay.
10:23:20 <elliott> That means I can do stuff.
10:23:38 <HackEgo> No output.
10:23:42 <shachaf> @tell Gregor thanks Gregor
10:23:42 <lambdabot> Consider it noted.
10:26:25 <oerjan> amazingly efficient, that Gregor
10:26:32 <oerjan> as long as haskell is not involved.
10:27:26 <elliott> `cat /dev/urandom
10:27:35 <elliott> I think there is the slightest possibility Gregor might consider this behaviour buggy.
10:27:55 <oerjan> he said something about removing a line length limit
10:29:04 -!- oerjan has quit (Quit: Maybe ZZZZ).
10:29:13 <FireFly> now?
10:44:53 -!- copumpkin has quit (Ping timeout: 252 seconds).
10:45:24 -!- copumpkin has joined.
10:54:57 <elliott> Jafet: isn't this great?
10:56:17 <Jafet> Not grate?
10:56:54 <shachaf> Maybe Jafet has neutrino on /ignore too.
10:57:16 <monqy> i'm seeing the whole thing in 100%
10:57:20 <monqy> "it's great"
10:57:38 <shachaf> monqy: but are you seeing the pastes elliott is pasting in /msg to me
10:57:50 <elliott> monqy gets better pastes
10:57:53 <elliott> sorry
10:57:55 <shachaf> I have neutrino on /ignore but it doesn't help a bit.
10:57:59 <shachaf> monqy: is that true
10:58:06 <monqy> yes
10:58:14 <shachaf> monqy: what pastes do you get
10:58:15 <Jafet> You should try to implement transitive /ignore.
10:58:40 <shachaf> Jafet: I consider turning off my IRC client to be equivalent.
10:59:02 <Jafet> /lurk
11:00:26 <fizzie> `echo borken?
11:00:44 <fizzie> The /dev/urandom must've been too much.
11:04:10 <arcatan> our channel is in kinda sorry shape when everyone starts ignoring each other
11:04:57 <shachaf> `echo abc
11:05:10 * elliott wonders who arcatan is.
11:05:16 * elliott wonders why arcatan thinks neutrino is in #esoteric.
11:05:18 <elliott> arcatan: hi.
11:05:26 <elliott> oh you are in #haskell!
11:05:28 <elliott> well that is cheating
11:05:32 <shachaf> arcatan = ion, I think.
11:05:47 <shachaf> Evidence: Both .fi
11:05:50 <shachaf> Both in #-lens
11:05:54 <elliott> ideally the IRC protocol would just force people to be in one channel exclusively
11:06:10 <arcatan> :)
11:06:13 <Jafet> What is people
11:06:27 <elliott> Jafet: people
11:06:43 <Jafet> Peepol
11:06:49 <monqy> what if irc was just one big channel
11:07:01 <Jafet> That's #ubuntu
11:07:14 <monqy> what if life was just one big channel
11:07:24 <shachaf> monqy: omg
11:07:37 <shachaf> @hug monqy
11:07:37 <lambdabot> http://hackage.haskell.org/trac/ghc/newticket?type=bug
11:07:39 <Jafet> monqy is nearing enlightenment
11:08:21 <FireFly> what if you got banned from that one channel
11:08:26 <Jafet> I can't find the remote to change my life
11:08:29 <elliott> monqy: have you ever been in #ubuntu
11:08:30 <monqy> what if you die
11:08:31 <monqy> elliott: no
11:08:44 <shachaf> #ubuntu: better or worse than #gentoo????
11:08:53 <FireFly> yes
11:08:53 <Jafet> You'd hope that there isn't a bad commercial after you
11:09:14 <monqy> ive never been in #gentoo either
11:09:33 <FireFly> Well have you been to #esoteric?
11:09:52 <monqy> pffff i'm only in #life
11:09:53 <elliott> monqy: you should join #ubuntu it's a real experience
11:09:58 <monqy> i dont want to
11:10:06 <elliott> like being in the biggest party but nothing makes sense and you don't even remember partying
11:10:07 <arcatan> if we merged all the programming language channels, then all those "should I learn Haskell or Scala" questions would be finally settled
11:10:09 <elliott> and it never stops
11:10:11 <shachaf> #life #is #good #hashtags #are #cool #hi #monqy #himonqy
11:10:25 <monqy> shachaf
11:10:25 <monqy> no
11:10:31 <shachaf> monqy: no what
11:10:42 <FireFly> no #good
11:16:22 <Sgeo|web> I should write a monads library for Clojure
11:16:25 <Sgeo|web> All the current ones suck
11:16:41 <monqy> hi sgeo!!!! if it's what the world needs, i support you whollly
11:17:51 <Sgeo|web> I sort of went on a rant in #clojure
11:18:02 <monqy> did they have any input
11:18:22 <Sgeo|web> Not about monads libraries sucking, but about threading macros just being another way to use monads
11:18:35 <monqy> ok
11:18:40 <monqy> you've got their blessing
11:19:11 <Sgeo|web> Erm, as in, my rant was about threading macros..;
11:19:22 <Sgeo|web> They didn't really respond to my rant, except for one person asking a question
11:20:41 <Jafet> The world needs better healthcare, social justice and wealth distribution, but a monads library for clojure surely won't hurt
11:26:05 <shachaf> Jafet: Who are you, anyway?
11:26:40 <Jafet> Some call me Jafet.
11:27:05 <elliott> `welcome Jafet
11:27:26 <shachaf> oh no
11:27:27 <monqy> shachaf: do you have cheater on ignore? he's talking to you....
11:27:34 <Jafet> Like elliott, and egobot if it hadn't been killed
11:27:35 <shachaf> monqy: I saw.
11:28:49 <Sgeo|web> Is neutrino cheater/
11:28:59 <Sgeo|web> I haven't been paying attention to this conversation
11:29:03 <monqy> yes
11:43:12 <shachaf> monqy: weren't you going to go to sleep
11:43:13 <shachaf> :)
11:43:25 <monqy> :))
11:43:39 <shachaf> curses! foiled again
11:43:47 <elliott> guys stop being a peanut gallery
11:43:47 <lambdabot> elliott: You have 2 new messages. '/msg lambdabot @messages' to read them.
11:43:54 <elliott> you'll run out of pean- what - uts
11:44:13 <shachaf> @ask elliott what were those messages?
11:44:13 <lambdabot> Consider it noted.
11:44:27 <elliott> @clear-messages
11:44:28 <lambdabot> Messages cleared.
11:45:12 -!- epicmonkey has quit (Ping timeout: 264 seconds).
11:46:08 <elliott> Sgeo|web: what will your monads library do
11:49:38 <Sgeo|web> Have the user store bind and return functions in dynamically-scoped variables
11:50:21 <monqy> what does this mean
11:50:27 <monqy> oh
11:50:32 <monqy> really?
11:51:06 <Sgeo|web> Rather than the current libraries, one of which: Uses some macrology to achieve a sort of lexical scoping in some bizarre way, which if you want to actually write a function that uses bind and return, you have to use defmonadfn. The other of which uses a bind based on its argument, and the return function needs to be passed a dummy value of the relevant type
11:51:22 <elliott> so you can only use one monad at once
11:51:57 <shachaf> `quote
11:51:57 <shachaf> `quote
11:51:57 <shachaf> `quote
11:51:57 <shachaf> `quote
11:51:58 <shachaf> `quote
11:52:00 <elliott> not sure what the point of a monad abstraction is in a dynamically-typed language really, you don't buy yourself anything
11:52:09 <monqy> shachaf....
11:52:10 <shachaf> elliott: what if it's cont
11:53:03 <monqy> elliott: whell first you have to agree on what a monad "is"
11:53:12 <elliott> monqy: whell
11:53:37 <shachaf> monqy: what
11:54:44 <monqy> `quote etiquit, culture, and hackego being broken..............
11:55:03 <shachaf> monqy: teach me `quote etiquit
11:55:08 <shachaf> and culture
11:55:21 <monqy> step 1 you dont do it when people are talking...................................
11:55:24 <shachaf> monqy: "afaict" elliott only does it to disrupt conversations
11:55:28 <monqy> :0
11:55:30 <monqy> elliott is this true
11:55:40 <shachaf> ok ok ok s/only/sometimes/
11:55:49 <elliott> i think once i did it when someone was talking about something really dumb
11:55:55 <elliott> otherwise i only do it when nothing's happening
11:55:57 <shachaf> like monads
11:56:03 <monqy> shachaf: could you have done this flagrant violation of etiquit & culture to
11:56:05 <monqy> shachaf: "make a point"
11:56:08 <monqy> shachaf: :0
11:56:23 <shachaf> monqy: What's step 2?
11:56:30 <monqy> step 2 is to let step 1 sink in
11:56:35 <shachaf> `pastelogs etiquit
11:56:41 <shachaf> Oops.
11:56:49 <shachaf> monqy: OK, done. Step 3?
11:57:00 <monqy> step 3 can wait...............
11:57:11 <shachaf> Don't go inductive on me, monqy!
11:57:27 <shachaf> monqy: By the way what's the best constructivist way of constructing the reals?
11:57:39 <shachaf> elliott says cauchy sequences but that can't be right.
11:57:40 <monqy> i'm not well-versed on constructivist ways of constructing the reals
11:57:54 <shachaf> OK, best regular way of constructing the reals.
11:58:04 <monqy> i'm not well-versed on those either!!!!
11:58:12 <shachaf> You don't need to be well-versed!
11:58:12 <monqy> the only one i really "know" is cauchy sequences
11:58:17 <shachaf> Just say "dedekind cuts"
11:58:26 <monqy> "cauchy sequences"
11:58:34 <shachaf> Not like that.
11:58:39 <shachaf> dedekind cuts
12:11:31 -!- Phantom_Hoover has joined.
12:18:00 <shachaf> I have a mechanical proposal for vastly improving the `quote database.
12:18:08 <shachaf> Remove all the quotes that aren't by zzo38.
12:18:15 <elliott> fungot
12:18:16 <fungot> elliott: they say that the galadrim wove. it is customary to find out what lay ahead. " they're gone!" he cried. " what did he see to frighten him?" said boromir. " i thought it was from fear that she should impart the secrets of the daughters of the seas and father of the gods and is certainly not entertaining, being in fact very uninteresting except as a handsome young man lifted the sword and thrust with both arms; the blade
12:18:19 <elliott> monqy
12:18:21 <elliott> itidus
12:18:25 <monqy> hi
12:18:45 <shachaf> monqy: You have to change your nick to something with a number on the end.
12:18:47 <shachaf> Like monqy1
12:18:54 <shachaf> Then elliott will think you're not total!
12:19:11 -!- Phantom_Hoover has quit (Read error: Connection reset by peer).
12:27:51 -!- Phantom_Hoover has joined.
12:30:20 -!- augur_ has changed nick to Statimcets.
12:32:31 <FireFly> ^style
12:32:31 <fungot> Available: agora alice c64 ct darwin discworld europarl ff7 fisher fungot homestuck ic irc iwcs jargon lovecraft nethack* pa qwantz sms speeches ss wp youtube
12:33:09 -!- Arc_Koen has joined.
12:33:14 -!- Phantom_Hoover has quit (Read error: Connection reset by peer).
12:39:25 -!- Phantom_Hoover has joined.
12:43:26 -!- monqy has quit (Quit: hello).
12:45:27 -!- Nisstyre has quit (Ping timeout: 256 seconds).
12:50:46 -!- Phantom__Hoover has joined.
12:52:01 -!- Phantom___Hoover has joined.
12:54:14 -!- Phantom_Hoover has quit (Ping timeout: 240 seconds).
12:55:34 -!- Phantom__Hoover has quit (Ping timeout: 240 seconds).
12:58:39 -!- nooga has quit (Ping timeout: 265 seconds).
13:00:53 -!- Nisstyre has joined.
13:13:45 -!- Phantom_Hoover has joined.
13:22:34 -!- Phantom_Hoover has quit (Ping timeout: 240 seconds).
13:32:42 -!- Taneb has joined.
13:51:00 -!- Taneb has quit (Quit: Leaving).
13:54:14 -!- Phantom___Hoover has quit (Ping timeout: 240 seconds).
13:58:52 -!- nooga has joined.
14:42:31 <elliott> test
14:42:37 <elliott> test
14:50:14 -!- evitable has joined.
15:17:17 <Sgeo|web> What is it with people named "Elliott" and Haskell?
15:17:47 <elliott> yes
15:18:12 <elliott> simon peyton-elliott, elliott marlow, elliott kmett...
15:18:25 <elliott> ørjan elliott
15:18:34 <elliott> elliott wadler
15:18:43 <Sgeo|web> I know an Elliot IRL who loves Haskell
15:26:25 <FreeFull> I don't know of anyone called Haskell other than Haskell Curry
15:28:32 <elliott> don't you mean haskell elliott
15:29:34 -!- TeruFSX has joined.
15:39:20 -!- epicmonkey has joined.
15:52:26 -!- evitable has quit (Ping timeout: 276 seconds).
15:57:56 -!- Statimcets has changed nick to augur.
16:00:15 -!- TeruFSX has quit (Ping timeout: 260 seconds).
16:02:08 -!- TeruFSX has joined.
16:15:17 <Sgeo|web> http://wondertainment.net/
16:15:22 <Sgeo|web> The music is a bit .. clashy
16:16:37 <Sgeo|web> Also, mandatory Flash makes baby Tim Berners-Lee cry
16:18:52 <nortti> it makes my computer cry
16:46:09 -!- zzo38 has joined.
16:48:46 <zzo38> OK
16:49:26 <Lumpio-> Their loading bar has 9 boxes D:
16:49:33 <Lumpio-> And the site's horrible in general
16:49:38 <Lumpio-> zzo38 please see http://wondertainment.net/
16:49:42 <Lumpio-> What do you think
16:55:11 <zzo38> Correct; it certainly doesn't work.
16:55:19 <zzo38> It is horrible in general.
17:17:26 -!- TeruFSX has quit (Ping timeout: 256 seconds).
17:18:16 -!- Bike has joined.
17:26:16 -!- oklofok has quit (Read error: Connection reset by peer).
17:26:53 -!- Mathnerd314 has quit (Remote host closed the connection).
17:35:59 <quintopia> FreeFull: i knew a haskell once. no idea if he was named after curry.
17:36:12 <quintopia> definitely an odd duck though. excellent taste in music.
18:03:49 -!- TeruFSX has joined.
18:23:13 -!- HackEgo has quit (Remote host closed the connection).
18:23:23 -!- HackEgo has joined.
18:38:19 <nortti> http://apple.slashdot.org/story/12/12/08/2330225/darling-run-apple-os-x-binaries-on-linux
18:41:23 <Gregor> `echo !echo hi
18:41:24 <lambdabot> Gregor: You have 2 new messages. '/msg lambdabot @messages' to read them.
18:41:25 <HackEgo> ​!echo hi
18:41:45 <Gregor> nortti: Sweet.
18:43:32 <Gregor> > putStr "Hello"
18:43:34 <lambdabot> No instance for (GHC.Show.Show (GHC.Types.IO ()))
18:43:34 <lambdabot> arising from a use of ...
18:43:37 <nortti> /f/g 38
18:43:46 <Gregor> > "Hello"
18:43:47 <lambdabot> "Hello"
18:43:53 <Gregor> `echo > "Hello"
18:43:54 <HackEgo> ​> "Hello"
18:43:57 <Gregor> ^^
18:44:08 <Gregor> But ANSI colors are now possible.
18:44:39 <fizzie> I see mIRC colors are, too.
18:46:16 <Gregor> That makes more sense I suppose.
18:50:28 <Gregor> `printf '\x035,12OH NOOOO\x03\n'
18:50:29 <HackEgo> ​'OH NOOOO \ '
18:50:51 <Gregor> `printf \x035,12ENJOY YOUR ANEURISM\x03
18:50:53 <HackEgo> ENJOY YOUR ANEURISM
18:54:35 -!- SingingBoyo has joined.
18:56:25 <Gregor> `cat /dev/urandom
18:56:26 <HackEgo> ​1!?ܭsTO_֌GZ}X?Sd$#3:`Эr@f<CTCP>Uj \ ̷˻ל9SfjXHNJy~\}%?(a;~ J^<Rv5qFFExEO{6R,K>{cGcU#)6\cEHős}E<CTCP>n*8olOSs
18:56:49 <Gregor> `echo fungot
18:56:49 <fungot> Gregor: ashikaga takauji: ashikaga takauji was a flattened diamond shape in section. seen in profile, the maidens rewarded the heroes by kissing them and cut one of the competing gangs. ( van dale's groot woordenboek der nederlandse taal)
18:56:50 <HackEgo> fungot
18:56:55 <Gregor> :(
18:59:24 <Gregor> fizzie: Why does fungot ignore HackEgo? :(
18:59:25 <fungot> Gregor: as crom is my witness, i'll never go hungry again!
19:00:44 <FireFly> ^style irc
19:00:44 <fungot> Selected style: irc (IRC logs of freenode/#esoteric, freenode/#scheme and ircnet/#douglasadams)
19:01:15 <Bike> Does fungot use logs of itself to construct its text? It'd better.
19:01:16 <fungot> Bike: did you suceed in building my kali port ( to the same code
19:01:30 <Bike> No, fungot. I did not suceed. And neither have you.
19:01:31 <fungot> Bike: i guess so.) i think i'll just push the button under each light, then eventually moved up to an alive esoteric!
19:02:15 <FireFly> fungot: what?
19:02:15 <fungot> FireFly: even python is guilty of that sometimes get sent in a request to the members of our society to look down to my pants when i wear this top.
19:02:37 <FireFly> fungot: ...what?
19:02:38 <fungot> FireFly: your client is using. don't care about anything else for mac which supports syntax highlighting??
19:15:29 -!- nooga has quit (Read error: Connection reset by peer).
19:15:39 <fizzie> Gregor: He doesn't like other bots.
19:15:47 <fizzie> fungot: Isn't that right?
19:15:48 <fungot> fizzie: can someone explain why the arabic, hebrew, arabic, brazilian ( portuguese), dutch, russian, greek, latin.
19:16:22 <fizzie> fungot: I don't think anyone can explain that.
19:16:22 <fungot> fizzie: there are no files, just write a
19:21:11 -!- nooga has joined.
19:21:48 -!- Taneb has joined.
19:30:32 <Gregor> `bf ++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.>+.+++++++..+++.>++.<<+++++++++++++++.>.+++.------.--------.>+.>.
19:30:34 <HackEgo> Hello World!
19:30:35 -!- Phantom___Hoover has joined.
19:32:59 -!- zzo38 has quit (Remote host closed the connection).
19:35:02 <Gregor> `run du -h interps
19:35:04 <HackEgo> 16Kinterps/bfjoust/programs \ 288Kinterps/bfjoust \ 60Kinterps/befunge \ 200Kinterps/axo \ 44Kinterps/glypho \ 600Kinterps/sadol \ 40Kinterps/fukyorbrane/programs \ 232Kinterps/fukyorbrane \ 8.0Kinterps/gcccomp \ 28Kinterps/qbf \ 12Kinterps/whirl \ 52Kinterps/lambda \ 8.0Kinterps/ghc \ 24Kinterps/udage01 \ 20Kinterps/glass/exa \ 3.6M
19:35:08 <Gregor> `run du -hc interps
19:35:10 <HackEgo> 16Kinterps/bfjoust/programs \ 288Kinterps/bfjoust \ 60Kinterps/befunge \ 200Kinterps/axo \ 44Kinterps/glypho \ 600Kinterps/sadol \ 40Kinterps/fukyorbrane/programs \ 232Kinterps/fukyorbrane \ 8.0Kinterps/gcccomp \ 28Kinterps/qbf \ 12Kinterps/whirl \ 52Kinterps/lambda \ 8.0Kinterps/ghc \ 24Kinterps/udage01 \ 20Kinterps/glass/exa \ 3.6M
19:35:13 <Gregor> `run du -hs interps
19:35:15 <HackEgo> 30Minterps
19:35:57 <Taneb> Deprecating Egobot?
19:37:22 <Gregor> Eventually.
19:37:28 <Gregor> It ain't there yet, because
19:37:33 <Gregor> `bfjoust suicide <
19:37:35 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: bfjoust: not found
19:41:58 <FireFly> `file interps/bfjoust
19:42:00 <HackEgo> interps/bfjoust: directory
19:42:10 <Gregor> The interpreter is there, yeah.
19:42:13 <Gregor> Hmm
19:42:18 <Gregor> `run echo $IRC_NICK
19:42:20 <HackEgo> No output.
19:42:23 <Gregor> :(
19:43:46 -!- carado has quit (Ping timeout: 246 seconds).
19:44:02 <Gregor> `run env
19:44:04 <HackEgo> TERM=linux \ http_proxy=http://127.0.0.1:3128 \ HACKENV=/hackenv \ PATH=/hackenv/bin:/opt/python27/bin:/opt/ghc/bin:/usr/bin:/bin \ PWD=/hackenv \ HOME=/tmp \ SHLVL=1 \ _=/usr/bin/env
19:44:18 <Gregor> Damn it, it's TOO FAST.
19:45:46 <Taneb> `ls && env
19:45:47 <HackEgo> ls: cannot access && env: No such file or directory
19:45:52 <Taneb> `ls . && env
19:45:53 <HackEgo> ls: cannot access . && env: No such file or directory
19:46:07 <Taneb> `ls "." && env
19:46:09 <HackEgo> ls: cannot access "." && env: No such file or directory
19:46:33 <nortti> `run ls "." && env
19:46:35 <HackEgo> bin \ canary \ egobot.tar.xz \ foo \ interps \ karma \ lib \ paste \ quotes \ share \ wisdom \ zalgo \ zalgo.hi \ zalgo.hs \ zalgo.o \ TERM=linux \ http_proxy=http://127.0.0.1:3128 \ HACKENV=/hackenv \ PATH=/hackenv/bin:/opt/python27/bin:/opt/ghc/bin:/usr/bin:/bin \ PWD=/hackenv \ HOME=/tmp \ SHLVL=1 \ _=/usr/bin/env
19:59:31 -!- epicmonkey has quit (Read error: Operation timed out).
20:00:28 <jdiez> hm, HackEgo seems to be sending me extraneous CTCPs
20:00:39 <jdiez> which I did not ask for
20:01:35 <nortti> `cat zalgo.o
20:05:35 <Taneb> "Several people have died since [...] last month." -- BBC News
20:06:35 <nortti> `echo ...
20:06:42 -!- ais523 has joined.
20:07:07 <FireFly> the `cat /dev/urandom might've triggered a CTCP
20:08:00 <FireFly> Gregor: maybe you should at least filter out \x01 to avoid CTCPs
20:08:23 <Gregor> Uhh, HackEgo cannot send CTCPs.
20:08:33 <jdiez> Gregor: it did
20:08:37 <FireFly> Channel CTCP?
20:08:40 <Gregor> It adds a zero-width space before any output that starts with \x01.
20:08:43 <jdiez> * Received unknown CTCP UjÏ by HackEgo!codu@codu.org with arguments: \ Ì·¯Ë»Ôל“ÚøõÐ9SìÊfjXà¥HN¿öJ·‰Äyð”~\}Œ£%?ß(a;~ J^‚š<Rv5¥ìqF–FEŸ²xùEO{6ºR,×KŠ>{ßcGêŽcíUåþŸ¡#Í)6í€ÈÊÄ\§¡ÝcEHő±sð}njE
20:08:54 <Gregor> It's possible that somebody bonked with it before I readded the fix.
20:08:55 <FireFly> I think some clients don't require it to start with \x01
20:09:01 <Gregor> ... then some clients are broken.
20:09:02 <FireFly> I think some clients allow multiple CTCPs in one message, e.g.
20:09:11 <FireFly> is CTCP specified?
20:09:12 <Gregor> `printf '\x01ACTION does not do CTCP.\x0`'
20:09:21 <Gregor> Errr, that was wrong.
20:09:27 <Gregor> `printf '\x01ACTION does not do CTCP.\x01'
20:09:32 <Gregor> Err, still wrong X_X
20:09:34 <FireFly> drop the ' ?
20:09:50 <Gregor> HackEgo has become unresponsive X-D
20:10:11 <FireFly> http://www.kvirc.de/docu/doc_ctcp_handling.html
20:10:15 <Gregor> Either way, if your client is interpreting anything it's doing since about 9AM PST as CTCP, your client is broken.
20:10:16 <nortti> I hope my `cat zalgo.o didn't do it
20:10:43 <jdiez> I received it about 1.5 hours ago
20:11:04 <FireFly> hm
20:11:18 <Phantom___Hoover> is jdiez some poor unfortunate who got tcp'ed out of nowhere or something
20:11:49 <Gregor> Random CTCPs bring idlers out of the woodworks X_D
20:11:51 <Gregor> *X-D
20:11:58 <jdiez> hehe
20:12:23 <FireFly> "The two delimiters were used to begin and terminate the CTCP message; The origial protocol allowed more than one CTCP message inside a single IRC message. Nobody sends more than one message at once, no client can recognize it (since it complicates the message parsing), it could be even dangerous (see below)."
20:12:31 -!- HackEgo has quit (Remote host closed the connection).
20:12:40 -!- HackEgo has joined.
20:12:55 <Gregor> So, what, I have to filter out \x01 ENTIRELY?
20:13:06 <FireFly> I guess
20:13:08 <Gregor> `printf '\x01ACTION This should not be a CTCP.\x01'
20:13:09 <HackEgo> ​'<CTCP>ACTION This should not be a CTCP.<CTCP>'
20:13:19 <Gregor> Well, certainly not like that it shouldn't X-D
20:13:22 <Gregor> `printf \x01ACTION This should not be a CTCP.\x01
20:13:23 <HackEgo> ​<CTCP>ACTION This should not be a CTCP.<CTCP>
20:13:32 <Gregor> jdiez: Was that a CTCP ACTION (/me) to you?
20:13:54 <jdiez> nope, just a plain CTCP
20:14:05 <FireFly> What CTCP did the client report?
20:14:10 <Gregor> What broken-ass client are you using that's interpreting that as a CTCP >_<
20:14:14 <FireFly> I mean, what CTCP "name"?
20:14:21 <jdiez> * Received unknown CTCP UjÏ by HackEgo!codu@codu.org with arguments: \ Ì·¯Ë»Ôל“ÚøõÐ9SìÊfjXà¥HN¿öJ·‰Äyð”~\}Œ£%?ß(a;~ J^‚š<Rv5¥ìqF–FEŸ²xùEO{6ºR,×KŠ>{ßcGêŽcíUåþŸ¡#Í)6í€ÈÊÄ\§¡ÝcEHő±sð}njE
20:14:28 <Gregor> ... no, the one just a second ago.
20:14:30 <FireFly> Wait, the one just now?
20:14:40 <FireFly> the "This should not be a valid CTCP" mesasge
20:14:41 <jdiez> no, I did not get any CTCPs now
20:14:44 <jdiez> I did get an ACTION
20:14:45 <FireFly> message*
20:14:47 <FireFly> hm
20:14:50 <jdiez> [21:13:27] -*- HackEgo This should not be a CTCP.
20:14:52 <jdiez> I did get this
20:14:52 <FireFly> well, ACTION is a CTCP
20:14:54 <jdiez> but in the channel
20:15:02 <FireFly> Yes, that's what Gregor meant
20:15:11 <Gregor> jdiez: That is a CTCP, and your client is seriously fucking terrible.
20:15:23 <jdiez> could be
20:16:00 <Gregor> `printf \x01ACTION This should not be a CTCP.\x01
20:16:01 <HackEgo> ​.ACTION This should not be a CTCP..
20:16:24 <Gregor> JUST for clients that are so, so broken, I'll filter out \x01 entirely.
20:19:30 <nortti> `cat zalgo.o
20:22:57 <nortti> `echo foo
20:23:13 <nortti> :D it really does freeze hackego
20:25:50 <Gregor> ...
20:25:53 <Gregor> Weird.
20:27:47 <nortti> well now I know what to do when I'm bored
20:28:36 <FireFly> That's counter-productive
20:28:44 <FireFly> after you've frozen him you can't play around with shell commands
20:29:09 <nortti> hmm. I meant I'll try to find out why it freezes
20:29:14 <FireFly> Ah
20:30:10 -!- HackEgo has quit (Remote host closed the connection).
20:30:21 -!- HackEgo has joined.
20:30:23 <Gregor> `printf \x00
20:30:25 <HackEgo> ​.
20:30:28 <Gregor> I believe that was the problem.
20:30:32 <Gregor> `cat zalgo.o
20:30:33 <HackEgo> ​ELF.............>.....................H..........@.....@..........................HEL9...I8M;...wlHE....H]ID$....ID$o..ID$....ID$...ID$....ID$ID$ID$I$ID$HEHE....A....H....IDž...8...Ae....................9...HEL9rKIM;...w3HE....H]ID$........A........I|$H....IDž.....
20:30:34 -!- Phantom__Hoover has joined.
20:30:34 <FireFly> I was about to suggest that too :P
20:30:37 <nortti> ah
20:30:37 <fizzie> Arguably it's not "broken" to follow the specification, such as it is.
20:30:37 <Gregor> Side-effect of switching to Python.
20:30:57 <nortti> what language did you use before?
20:32:09 <Gregor> Bourne shell 8-D
20:32:54 <nortti> why did you switch?
20:33:16 <nortti> brb, rewriting oonbotti in rc
20:33:48 <Gregor> elliott rewrote it to make it transactional, and even though the underlying transactional part was broken, it was easier to use his infrastructure than to rewrite that back in shell.
20:33:55 -!- Phantom___Hoover has quit (Ping timeout: 241 seconds).
20:35:03 -!- Sgeo|web has quit (Ping timeout: 245 seconds).
20:35:12 <fizzie> Also, I have a vague feeling the zzo38 IRC client supported mid-line CTCPs.
20:35:29 <fizzie> [2012-01-01 03:49:05] <zzo38> My client parses CTCP requests anywhere in a line.
20:36:03 <Gregor> Well, either way, that's "fixed".
20:36:10 <FireFly> Did he start writing his client on new years' eve?
20:36:21 <fizzie> fungot: You should be "fixed" too.
20:36:22 <fungot> fizzie: i know it does not seem to figure out
20:36:33 <fizzie> fungot: You're not "fixed" yet, but you should be.
20:36:33 <fungot> fizzie: are scheme's types, but thats because all the files which are there more libs? i think you should
20:36:56 <Gregor> But I want there to be widdle funglings :(
20:38:38 <fizzie> <zzo38> As far as I know, once someone in this channel tried sending CTCP request in the middle of another message, and my client is the only one that responded.
20:38:45 <fizzie> (That "someone" was ais523.)
20:39:45 <fizzie> FireFly: The client's older than that. It was just discussed around the new year.
20:40:06 <FireFly> Oh, okay
20:44:22 <Phantom__Hoover> :O Sir Patrick Moore died!
20:45:15 <fizzie> Will Moore's Law stop working when Gordon Moore dies?
20:45:43 <Phantom__Hoover> isn't it already tailing off
20:45:50 <pikhq> Gordon Moore is the first immortal.
20:45:54 <nortti> I hope not as then I'd catch up on computational speed with normal people
20:46:48 <Taneb> Gordon Moore's expected lifespan doubles every 18 months
20:46:53 <Gregor> lul
20:47:04 <Gregor> `addquote <Taneb> Gordon Moore's expected lifespan doubles every 18 months
20:47:05 <nortti> :D
20:47:08 <Phantom__Hoover> i think we need a new version of shutup that responds to nortti talking about his outdated hardware
20:47:08 <HackEgo> 861) <Taneb> Gordon Moore's expected lifespan doubles every 18 months
20:47:22 <nortti> Phantom__Hoover: agreed
20:47:24 <fizzie> "-- the 2010 update to the International Technology Roadmap for Semiconductors has growth slowing at the end of 2013,[13] after which time transistor counts and densities are to double only every three years --" I suppose it's kind of tailing off.
20:47:58 <nortti> `pastequotes
20:48:02 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.26869
20:50:50 <nortti> thay will make a great fortune file
20:51:23 <Gregor> wtf is the use of `pastequotes with no argument X_X
20:51:26 <Gregor> It could just link to quotes.
20:51:36 <nortti> yes
20:51:43 <Gregor> `run du -h .hg
20:51:46 <HackEgo> 6.3M.hg/store/data/bin \ 2.1M.hg/store/data/lib \ 16M.hg/store/data/paste \ 12M.hg/store/data/share/_word_data \ 12M.hg/store/data/share \ 8.0K.hg/store/data/wisdom/~c2~af~5c(~c2~b0__o) \ 400K.hg/store/data/wisdom \ 2.5M.hg/store/data/test \ 12K.hg/store/data/maketext \ 44K.hg/store/data/p7zip__9.20.1/_d_o_c_s/_m_a_n_u_a_l/commands \ 108K
20:51:50 <Gregor> Dammit
20:51:51 <Gregor> `run du -hs .hg
20:51:54 <HackEgo> 87M.hg
20:51:57 <Gregor> Looka this shit.
20:53:10 <nortti> `quote
20:53:12 <HackEgo> 683) <shachaf> fizzie: What kind of speech recognition do you do? <shachaf> If you only need to recognize famous speeches, like Churchill or something, it should be pretty easy.
20:53:21 <nortti> `quote
20:53:22 <HackEgo> 75) <Warrigal> So, I'm inside a bottle which is being carried by a robot.
20:53:24 <nortti> `quote
20:53:25 <HackEgo> 738) <elliott> then they edited their own talk page comments after someone replied to it, and edited /the replier's comment/ so that it made sense in context
20:53:25 <nortti> `quote
20:53:27 <nortti> `quote
20:53:27 <HackEgo> 334) <zzo38> I figured out something about C program. If you use ? : a lot then you don't need as much parentheses but it makes it more difficult to understand.
20:53:28 <HackEgo> 663) <oerjan> well, i have to assume if i'm going to make any asses
20:58:24 <Gregor> `echo HOLY SHIT GUYS I'M SO FAST RIGHT NOW
20:58:26 <HackEgo> HOLY SHIT GUYS I'M SO FAST RIGHT NOW
20:58:57 <pikhq> `echo Whoa
20:58:58 <HackEgo> Whoa
21:00:31 <Phantom__Hoover> `quote
21:00:32 <HackEgo> 718) <fizzie> fungot: Yeah, "fungott" would [...] remind people of elliott. <fungot> fizzie: now that could be nice for a simple language can be used
21:00:37 <Phantom__Hoover> wow
21:00:59 <Taneb> Reading that after its happend loses the effect somewhat
21:01:11 <Taneb> `quote punch
21:01:13 <HackEgo> 163) [spam] Any flavored hell can pee on the pig pen, but it takes a real football team to throw a slyly optimal formless void at a hole puncher. \ 420) <Taneb> Look, I often walk my dog through a field with cows in it. And I punched myself in the face once. \ 635) <elliott> ais523: I pronounce "xor" by punching myself in the face and then "or"
21:01:14 -!- SingingBoyo has quit (Ping timeout: 255 seconds).
21:01:23 <Phantom__Hoover> `quote
21:01:24 <Phantom__Hoover> `quote
21:01:24 <Phantom__Hoover> `quote
21:01:24 <Phantom__Hoover> `quote
21:01:24 <Phantom__Hoover> `quote
21:01:24 <Phantom__Hoover> Hmm.
21:01:25 <Phantom__Hoover> Could be faster.
21:01:26 <HackEgo> 189) "Every physicist wants to violate Einstein, but thus far the great man has remained pretty chaste." --Kode Vicious
21:01:26 <HackEgo> 48) <GregorR> ??? <GregorR> Are the cocks actually just implanted dildos? <GregorR> Or are there monster dildos and cocks? <GregorR> Or are both the dildos and cocks monster?
21:01:26 <HackEgo> 29) <zzo38> I am not on the moon.
21:01:26 <HackEgo> 810) <zzo38> But I still sign by my pens and use extra dots and shapes and so on so that I can claim I was threatened to sign it and put those dots there to warn you, or whatever
21:01:26 <HackEgo> 662) <kallisti> man, I love pseudo-random decision making <Gregor> kallisti: Man, I base most of my life on pseudo-random decision making. <oklopol> i usually just ask my dick and i then rarely even bother to listen
21:01:28 <Phantom__Hoover> wh
21:01:34 <FireFly> You, sir, lag
21:02:44 <FireFly> I wonder what a slyly optimal formless void is, and how you throw it at a hole puncher
21:05:12 <FireFly> fungot: hi
21:05:12 <fungot> FireFly: it just means i'm always coming and going without so much as " dark side of the conversation).
21:07:00 <Phantom__Hoover> `quote Romero
21:07:02 <HackEgo> 222) <A. Gelman and G. Romero> We originally wrote this article in Word, but then we converted it to Latex to make it look more like science.
21:08:18 -!- ared_ has joined.
21:08:58 -!- ared_ has changed nick to xDEADCA7.
21:09:54 <shachaf> hi Gregor
21:11:59 <shachaf> elliott: Did you write it yet?
21:12:03 <shachaf> I guess not.
21:13:11 -!- sonicspin has joined.
21:13:17 <sonicspin> Hello
21:13:24 <Gregor> `welcome sonicspin
21:13:26 <HackEgo> sonicspin: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: http://esolangs.org/wiki/Main_Page. (For the other kind of esoterica, try #esoteric on irc.dal.net.)
21:14:13 <shachaf> `run echo $'\x031a\x032b'
21:14:15 <HackEgo> ab
21:14:18 <shachaf> Yay!
21:14:27 <shachaf> Gregor: Would cat /dev/urandom still break it?
21:14:38 <Gregor> `cat /dev/urandom
21:14:40 <HackEgo> Xe؍j仞 \ JZ3?%Oj߈9ђ4Nn(\E48qwc%J6^L/x&4ff1rdeP+[/\"osJL8u\R$J"z5.ellD 1h]|%*"O5wr2Ȥy5fްA[S.lY=ۥnd-XvՐDR7M b7릈SFm*4%hv<[hg2 >+jJϏɍxR|#I?AM1uTAI/o~3
21:14:52 <Taneb> `? Taneb
21:14:53 <HackEgo> Taneb is not elliott, no matter who you ask.
21:15:01 <Taneb> `? Ngevd
21:15:03 <HackEgo> ԙV`V{b3bcSDr1o6T݌=I$f!KJX}%^aIm߮RѲf-61vżזouLW.@)N;8ѕP/]G?W fBӫȅpV ¼9w
21:15:36 <Phantom__Hoover> hey Taneb have you applied for university yet
21:15:44 <Taneb> No!
21:15:54 <Taneb> My school's shouting at me so I do now!
21:16:01 <Phantom__Hoover> where do you plan to apply
21:16:17 <Taneb> York, Exeter, Edinburgh, Loughborough, Newcastle
21:17:01 <Phantom__Hoover> noo
21:17:08 <FireFly> `cat /dev/random
21:17:21 <Phantom__Hoover> if you apply to warwick or birmingham we can have the biggest #esoteric meetup ever!
21:17:33 <Taneb> Haven't got the grades :(
21:17:39 <HackEgo> No output.
21:17:51 -!- oerjan has joined.
21:17:57 <Taneb> ais523, ping re: birmingham university
21:18:29 <olsner> you can always go to farming school, like Sgeo
21:18:51 <Gregor> `quote poultry science
21:18:53 <HackEgo> 169) <Gregor> elliott: My university has two Poultry Science buildings. <Gregor> Two! \ 255) <Phantom__Hoover> Gregor, yeah, but Purdue has poultry science facilities beyond the dreams of avarice.
21:19:57 <Phantom__Hoover> Taneb, what're you applying for?
21:20:41 <Taneb> Maths and Computer Science
21:20:48 <Taneb> Birmingham wants A*AA
21:20:51 <Taneb> I've got A*A*B
21:21:30 <Phantom__Hoover> Ouch.
21:22:23 <Phantom__Hoover> These are ASes?
21:22:32 <Taneb> Predicted A2s
21:22:48 <Taneb> You can't actually get A* at AS
21:22:50 <shachaf> Is this some sort of code?
21:22:56 <Taneb> But if you could, I would have?
21:23:22 <Phantom__Hoover> shachaf, England uses letter grades, with A* added on because grade inflation had made an A worthless.
21:23:43 <shachaf> And AS?
21:23:50 <Taneb> AS is a qualification
21:23:57 <Taneb> Obtained roughly at age 16-17
21:24:05 <Taneb> It's worth half an A2
21:24:11 <Taneb> Which is obtained at 17-18
21:24:25 <oerjan> i vaguely recall there was this place (in norway?) which was so strict you couldn't get in with just perfect grades
21:24:29 <shachaf> So you confirm that it's some sort of code.
21:24:44 <Taneb> Yes
21:24:50 <Taneb> I don't completely understand it
21:24:51 <oerjan> you had to have some kind of bonus beyond high school
21:24:54 <Phantom__Hoover> oerjan, there's a continual stream of horror stories like that in the UK.
21:25:33 <Phantom__Hoover> I mean, Warwick and Cambridge both just flat-out expect you to sit their test as well as the national one for maths.
21:25:48 <Taneb> Phantom__Hoover, it occurs to me I have no idea what you look like
21:26:00 <Taneb> In fact, there are two people in this channel I know the appearance of
21:26:00 <Taneb> Me
21:26:02 <Taneb> And Gregor
21:26:10 <olsner> I guess for any sufficiently popular education there will be more people with perfect grades applying than they have places
21:26:11 <shachaf> Phantom__Hoover is invisible.
21:26:23 <Phantom__Hoover> I *am* a ghost, after alll
21:26:30 <shachaf> I look like this: http://slbkbs.org/sb/1.png
21:27:11 <Phantom__Hoover> Taneb, well if you see a young-ish girl with black hair in Hexham, that's probably elliott.
21:27:13 <oerjan> well, in norway there is a common system for applications, so i don't think they can make special demands like having their own tests.
21:27:35 * oerjan doesn't actually know
21:27:38 <Taneb> Phantom__Hoover, in that case I know at least 8 of elliott
21:27:57 <Phantom__Hoover> I'm not entirely sure why Cambridge gets away with it TbH.
21:28:13 <Taneb> So does Oxford
21:28:21 <Fiora> that would make me elliott too. though not in hexham. so I suppose not.
21:28:37 <Phantom__Hoover> Their test is a standardised pre-interview thing, and it's a lot less taxing.
21:29:06 <Fiora> I know stanford has a similar reputation with grades, they reject loooads of people with 4.1 GPAs and perfect SATs.
21:29:12 <Taneb> Fiora, how old are you, if you don't mind me asking?
21:29:29 <Fiora> um, 22
21:29:39 <oerjan> <Taneb> Phantom__Hoover, in that case I know at least 8 of elliott <-- elliott has clones? makes sense.
21:30:08 <Taneb> Fiora, not the right age then
21:30:28 <oerjan> lessee i know what Taneb looks like, because he linked youtube, and ais (well a few years ago), because of the wolfram biography
21:30:45 <Taneb> oerjan, I've had a haircut since
21:30:47 <Phantom__Hoover> There are a /lot/ of people doing maths at Warwick because they couldn't get into Cambridge.
21:30:56 <Phantom__Hoover> Taneb, and turned into a cartoon.
21:30:56 <oerjan> wow me too!
21:32:39 <Taneb> Screw it, I'm gonna apply to Birmingham
21:33:52 <Phantom__Hoover> can't you, like
21:34:05 <Phantom__Hoover> ask your teacher to predict you a grade better in the thing you have a b for
21:35:01 <Phantom__Hoover> it sounds totally arbitrary
21:35:09 -!- quintopia has quit (Ping timeout: 276 seconds).
21:35:22 <oerjan> fiora also looks like a cartoon, i know that from her tumblr
21:35:38 <Fiora> yes, I am actually a purple-haired Tales character
21:35:42 <Fiora> totally
21:35:46 <Phantom__Hoover> oerjan, no that's not a cartoon
21:35:50 <Phantom__Hoover> that's a japanimation
21:35:57 <Fiora> it's a game, actually :P
21:36:10 <Phantom__Hoover> are games not animated
21:36:11 <oerjan> ...i am using cartoon as the most general term here.
21:36:29 <oerjan> i was considering saying manga
21:36:29 -!- quintopia has joined.
21:36:30 <Fiora> (this is silly pedantry)
21:36:35 <Phantom__Hoover> but the fans of it get really pissed if you call it the wrong thing!
21:36:59 <Fiora> in extra fairness, like half the tales series has somehow ended up with anime adaptations too
21:37:23 <fizzie> Our "end of high school" exams assign a letter grade on the I/A/B/C/M/E/L scale, but at least the technical universities use the actual points (x/60) of the maths exam as an additional differentiator, presumably because of so many L's.
21:37:26 <oerjan> i'll just call it "tegneserie" and claim that all the other terms are completely unpronouncable in norwegian, ok?
21:37:34 <Phantom__Hoover> my impression of japanese things is that they exist in at least 5 manifestations in no less than 3 media
21:38:05 <Fiora> that's just the mega-franchises really
21:38:08 <Taneb> Phantom__Hoover, if you do that, eventually nobody in your school gets to go to university
21:38:47 <fizzie> And the E was added relatively recently too, to provide better resolution at the high end, it used to go directly to L from M.
21:39:47 <Phantom__Hoover> Taneb, this is such a stupid system
21:40:46 <Taneb> Yeah, it kind of is
21:41:34 <shachaf> Not to be confused with the meta-franchises, where you can read a book about someone watching a film about someone playing a game.
21:42:25 <Fiora> pfff
21:42:41 <Fiora> would that be the sims?
21:43:00 <shachaf> Fiora: It would probably be the person watching you play the sims.
21:43:10 <oerjan> `addquote <Jafet> The world needs better healthcare, social justice and wealth distribution, but a monads library for clojure surely won't hurt
21:43:11 <Fiora> an LP of the Sims?
21:43:11 <shachaf> (You don't think you're at the top, do you?)
21:43:13 <HackEgo> 862) <Jafet> The world needs better healthcare, social justice and wealth distribution, but a monads library for clojure surely won't hurt
21:43:39 <shachaf> Linear programming?
21:44:26 <shachaf> Can someone make elliott finish the thing?
21:44:36 <shachaf> "thx someone"
21:44:47 <shachaf> Maybe I'll do it instead and do it really badly.
21:44:59 <shachaf> OK, constraint: The format has to be the same as the current one.
21:47:39 <shachaf> Gregor: How do I upload a script to HackEgo?
21:49:22 <oerjan> `help
21:49:22 <HackEgo> Runs arbitrary code in GNU/Linux. Type "`<command>", or "`run <command>" for full shell commands. "`fetch <URL>" downloads files. Files saved to $PWD are persistent, and $PWD/bin is in $PATH. $PWD is a mercurial repository, "`revert <rev>" can be used to revert to a revision. See http://codu.org/projects/hackbot/fshg/
21:50:44 <shachaf> Oh.
21:57:15 <Phantom__Hoover> (While the topic of education is still vaguely present: do you do calculus in high school in the US?)
21:57:36 <oerjan> <Gregor> ... then some clients are broken. <-- the ctcp specification actually says it can be anywhere in the message
21:58:01 <oerjan> thus, nearly _all_ clients are broken by not allowing it.
21:59:03 <shachaf> Phantom__Hoover: Yes.
21:59:10 <shachaf> FSVO "do"
22:01:00 <Phantom__Hoover> whoah, american schools do a solid year of geometry and then two solid years of algebra?
22:01:38 <Phantom__Hoover> oh, a year of algebra, a year of geometry, then a year of algebra
22:01:48 <Gregor> oerjan: YOUR FACE IS BROKEN
22:01:52 <shachaf> I think trigonometry counts as algebra or something like that?
22:01:58 * shachaf has never quite understood the system.
22:02:15 <Phantom__Hoover> trigonometry is always counted as algebra because it's taught idiotically
22:02:33 <Fiora> I think it depends on the area, every state (and sometimes county) has differing systems
22:02:34 <shachaf> Everything is taught idiotically.
22:02:47 <Fiora> I did algebra I, geometry, algebra II, precalc
22:02:47 <shachaf> The only constant. :-(
22:02:56 -!- sebbu has quit (Ping timeout: 276 seconds).
22:03:11 -!- sebbu has joined.
22:03:11 -!- sebbu has quit (Changing host).
22:03:11 -!- sebbu has joined.
22:03:14 <FreeFull> I think it's stupid that the US splits maths up like that
22:03:32 <FreeFull> `revert 0
22:03:41 <HackEgo> Done.
22:03:53 <Phantom__Hoover> It seems a very odd way of structuring it, yeah.
22:05:24 <oerjan> `run allquotes | tail -1
22:05:25 <HackEgo> 808) <Phantom_Hoover> BF derivatives are a cancer running throughout the fringes of the esolang community, and as the fringes vastly outweigh the core, we're screwed.
22:05:53 * oerjan blinks
22:06:02 <Phantom__Hoover> Precalc sounds ridiculously broad.
22:06:03 <oerjan> `help
22:06:03 <HackEgo> Runs arbitrary code in GNU/Linux. Type "`<command>", or "`run <command>" for full shell commands. "`fetch <URL>" downloads files. Files saved to $PWD are persistent, and $PWD/bin is in $PATH. $PWD is a mercurial repository, "`revert <rev>" can be used to revert to a revision. See http://codu.org/projects/hackbot/fshg/
22:07:10 <oerjan> `revert 999
22:07:20 <HackEgo> Done.
22:07:28 -!- Vorpal has quit (Read error: Operation timed out).
22:07:37 <oerjan> `run allquotes | tail -1
22:07:38 <HackEgo> 862) <Jafet> The world needs better healthcare, social justice and wealth distribution, but a monads library for clojure surely won't hurt
22:07:40 <fizzie> Wow, checking the changeset of that revert 0 was perhaps a bad idea. That's one big list of changes.
22:08:32 <Gregor> Minus EVERYTHING.
22:08:44 <kmc> `quote
22:08:45 <HackEgo> 232) <ineiros> HELLWORLD! <fizzie> It's like HELLO WORLD, except not *quite*. <ineiros> There is more agony.
22:08:47 <kmc> `quote
22:08:49 <HackEgo> 135) <cpressey> Never ever use a quote which contains both the words "aloofness" and "gel" (verb).
22:08:50 <kmc> `quote
22:08:51 <HackEgo> 104) <fungot> pikhq: from csh type ' exit', is a simple protocol which provides an interface to c. [...]
22:08:52 <kmc> `quote
22:08:54 <HackEgo> 12) <Warrigal> "You're at that stage in your life where you're going to want to do some things in private." --my mom
22:08:55 <kmc> `quote
22:08:56 <HackEgo> 171) <oklopol> well i just ate some stuff and watched family guy <oklopol> and i own a piano <oklopol> and i'm not wearing socks
22:09:03 <kmc> "HELLWORLD" reminds me of mrtaint.ko
22:09:11 <FreeFull> > "Hello, World!" // "o, "
22:09:12 <lambdabot> Couldn't match expected type `GHC.Arr.Array i0 e0'
22:09:12 <lambdabot> with actual...
22:09:29 <fizzie> Oh no, you can't do the "five `quote's, then they all appear in a row" thing anymore.
22:09:32 <fizzie> It's TOO FAST.
22:09:33 <kmc> `delquote 171
22:09:38 <HackEgo> ​*poof* <oklopol> well i just ate some stuff and watched family guy <oklopol> and i own a piano <oklopol> and i'm not wearing socks
22:09:52 <FireFly> Just introduce `quotes <N>
22:10:00 <FireFly> extra benefit: less spam
22:10:23 <fizzie> But that would run into line length limits.
22:10:36 <FireFly> it could still send separate messages
22:10:41 <FireFly> ...assuming that's possible
22:10:42 <fizzie> It could? How could it?
22:10:59 <FireFly> I can't HackEgo :\
22:11:02 <FireFly> I guess it can't
22:11:05 <fizzie> `run echo -e 'foo\nbar'
22:11:06 <HackEgo> foo \ bar
22:11:22 <fizzie> That's what it does to newlines.
22:11:32 <fizzie> Possibly there's a HACK to do it, but I'm not aware of one.
22:11:41 <FireFly> there could be a respond binary
22:11:45 <FireFly> but that could easily be abused
22:12:18 <FireFly> (one that's supplied by the environment and produces a single line, I mean)
22:12:24 <shachaf> `run printf '\x01ACTION blah\x01'
22:12:25 <HackEgo> ​.ACTION blah.
22:12:29 <shachaf> Hrm.
22:12:36 <olsner> `run echo -e 'foo\x00bar'
22:12:37 <HackEgo> foo.bar
22:12:50 <shachaf> Did Gregor just take out \x03?
22:13:09 <fizzie> You can \x03. And \x1b.
22:13:34 <Gregor> Just no \x00 and no \x01.
22:14:04 <fizzie> `run printf '\x032so \x1b[31mcon\x035fusing\x1b[0m.'
22:14:05 <HackEgo> so [31mconfusing[0m.
22:14:55 <fizzie> Given that some clients don't do ANSI colors, perhaps you could use that kind of like the CSS conditional comment things to show different messages to different people.
22:15:42 <Gregor> My client certainly doesn't do ANSI.
22:16:14 -!- Nisstyre-laptop has joined.
22:26:13 -!- xDEADCA7 has quit (Remote host closed the connection).
22:29:03 <Taneb> help
22:29:59 <oerjan> sorry, you're doomed
22:30:19 <oerjan> it's december 2012 after all
22:30:33 <Taneb> And I now lack a kitchen ceiling!
22:30:54 <oerjan> that sounds serious. you might want to call a carpenter or something.
22:31:02 <Gregor> `echo HackBot is the coolest bot.
22:31:03 <Taneb> We will in the morning
22:31:04 <HackEgo> HackBot is the coolest bot.
22:31:24 <fizzie> fungot: Are you going to just sit there and take talk like that?
22:31:25 <fungot> fizzie: just listen to it. do it right, even if it's an engineer model vs. mathematician model thing.
22:31:33 <fizzie> Oh, okay.
22:32:34 <shachaf> What's the matter with \x01?
22:32:43 <shachaf> \x01 is the future.
22:34:27 <fizzie> According to the file name, this manual is the version that has the contents in Danish and "Finish".
22:34:58 <Taneb> I saw a book yesterday that was a phrasebook for "Danish, Norwegian, Swedish... and some Finnish."
22:34:59 <FireFly> I guess they didn't Finnish the translation
22:35:03 <Taneb> "But only a bit"
22:35:20 <shachaf> `? finnish
22:35:22 <HackEgo> finnish? ¯\(°_o)/¯
22:35:25 <olsner> FireFly: or rather that's what they did, but to the finnish translation
22:35:28 -!- Nisstyre-laptop has quit (Quit: Leaving).
22:35:58 <FireFly> Or that, yes
22:36:28 <FireFly> `? shachaf
22:36:29 <HackEgo> shachaf ? ¯\(°_o)/¯
22:36:58 -!- Taneb has quit (Quit: Leaving).
22:37:02 <shachaf> People who tab-complete and then don't delete the space oughtn't exist.
22:37:05 <fizzie> It also mentions that I should follow the washing instruction tags in clothing in order to avoid an explosion.
22:37:07 <oerjan> `learn Finnish suomilaiset ei P erkeleistä on hakkapellittään.
22:37:09 <FireFly> `file bin/?
22:37:11 <oerjan> oops
22:37:11 <HackEgo> I knew that.
22:37:14 <HackEgo> bin/?: POSIX shell script text executable
22:37:22 <FireFly> `cat bin/?
22:37:24 <HackEgo> ​#!/bin/sh \ topic=$(echo "$1" | tr A-Z a-z) \ [ -e "wisdom/$topic" ] || { echo "$1? ¯\(°_o)/¯"; exit 1; } \ cat "wisdom/$topic"
22:37:30 <oerjan> `learn Finnish suomilaiset ei Perkeleistä on hakkapellittään.
22:37:33 <HackEgo> I knew that.
22:38:07 -!- Nisstyre-laptop has joined.
22:38:22 <oerjan> `learn Finnish suomilaiset ei Perkeleistä on hakkapellittaan.
22:38:24 -!- augur has quit (Remote host closed the connection).
22:38:25 <HackEgo> I knew that.
22:38:37 <oerjan> sorry, meesed up the wolev armonhwy
22:38:55 <FireFly> `ls wisdom
22:38:58 <HackEgo> ​? \ ais523 \ atriq \ augur \ banach-tarski \ boily \ bonvenon \ c \ cakeprophet \ category \ coffee \ comonad \ coppro \ egobot \ elliott \ endofunctor \ england \ esoteric \ europe \ everyone \ finland \ finns \ fizzie \ flower \ freefull \ friendship \ functor \ fungot \ gaspacho \ gazpacho \ glogbot \ gregor \ hackego \ haskell \ hexham \ hom
22:39:03 <FireFly> oops
22:39:11 <shachaf> `? haskell
22:39:11 <FireFly> Sorry for the diverse highlights
22:39:11 <Phantom__Hoover> `? hom
22:39:12 <HackEgo> Unbound implicit parameter (?haskell::Wisdom) \ arising from a use of implicit parameter `?haskell'
22:39:13 <HackEgo> hom? ¯\(°_o)/¯
22:39:27 <FreeFull> `? freefull
22:39:29 <HackEgo> FreeFull is either full of freedom or free of fulldom, we are not sure. \ F
22:39:33 <shachaf> `cat wisdom/hom
22:39:34 <HackEgo> cat: wisdom/hom: No such file or directory
22:39:42 <FreeFull> `ls
22:39:43 <HackEgo> bin \ canary \ egobot.tar.xz \ foo \ interps \ karma \ lib \ paste \ quotes \ share \ wisdom \ zalgo \ zalgo.hi \ zalgo.hs \ zalgo.o
22:39:48 <shachaf> `ls wisdom/hom*
22:39:50 <HackEgo> ls: cannot access wisdom/hom*: No such file or directory
22:39:51 <FreeFull> `ls wisdom/freefull
22:39:52 <HackEgo> wisdom/freefull
22:39:54 <shachaf> `ls wisdom/h*
22:39:55 <HackEgo> ls: cannot access wisdom/h*: No such file or directory
22:39:58 <shachaf> Er.
22:39:59 <FreeFull> `cat wisdom/freefull
22:40:00 <HackEgo> FreeFull is either full of freedom or free of fulldom, we are not sure. \ F
22:40:01 <FireFly> `run ls wisdom/hom*
22:40:03 <HackEgo> wisdom/homestuck
22:40:03 <shachaf> `run ls wisdom/hom*
22:40:04 <HackEgo> wisdom/homestuck
22:40:09 <shachaf> Oh.
22:40:17 <Phantom__Hoover> `? homestuck
22:40:18 <HackEgo> Homestuck is a cult religion for disaffected teens. Gamzee drives the bus.
22:40:22 <FreeFull> shachaf: I might have restored a revision
22:40:34 <FreeFull> `? c
22:40:36 <HackEgo> C is the language of��V�>WIד�.��Segmentation fault
22:40:38 <Phantom__Hoover> `? monads
22:40:40 <HackEgo> Monads are just monoids in the category of endofunctors.
22:40:46 <FreeFull> `? fungot
22:40:46 <fungot> FreeFull: eval `(a b c))
22:40:47 <HackEgo> fungot cannot be stopped by that sword alone.
22:40:59 <FreeFull> fungot is being lispy I see
22:41:00 <fungot> FreeFull: once the forms are read it, there's an extra special guest coming to visit me at the moment.
22:41:17 <oerjan> `learn Finnish suomilaiset ei Perkeleistä on hakkapellittaan. Ei saa peittää.
22:41:21 <HackEgo> I knew that.
22:41:32 <olsner> needs a parasta ennen
22:41:37 <FireFly> `? finns
22:41:38 <oerjan> just adding a necessary warning.
22:41:41 <HackEgo> Finns are helpful, albeit grossly overpopulated (cf. 'Finland').
22:41:52 <FireFly> `? Finland
22:41:53 <HackEgo> Finland is a European country. There are two people in Finland, and at least nine of them are in this channel. Corun drives the bus.
22:41:56 <Phantom__Hoover> `? monoid
22:41:57 <HackEgo> Monoids are just categories with a single object.
22:41:57 <Phantom__Hoover> `? category
22:41:59 <HackEgo> Categories are just categories.
22:42:02 <Phantom__Hoover> `? endofunctors
22:42:03 <HackEgo> endofunctors? ¯\(°_o)/¯
22:42:08 <oerjan> `learn Finnish suomilaiset ei Perkeleistä on hakkapellittaan. Ei saa peittää. Parasta ennen!
22:42:08 <Phantom__Hoover> `? endofunctor
22:42:11 <HackEgo> Endofunctors are just endomorphisms in the category of categories.
22:42:13 <HackEgo> I knew that.
22:42:34 <FireFly> `? semigroup
22:42:37 <HackEgo> semigroup? ¯\(°_o)/¯
22:42:53 <FireFly> `? friendship
22:42:55 <HackEgo> friendship wisdom
22:43:13 <FireFly> `? europe
22:43:15 <HackEgo> Europe is the national anthem of the Republic of Kosovo.
22:43:21 <oerjan> `learn Finnish suomilaiset ei Perkeleistä on hakkapeliittaan. Ei saa peittää. Parasta ennen!
22:43:25 <HackEgo> I knew that.
22:43:27 <oerjan> sorry, a typo
22:44:43 <fizzie> fungot: Are you, in fact, written in Scheme? Is the Funge-98 source code you always give just a giant sham? #fungotgate
22:44:43 <fungot> fizzie: oh i see, and scheme48 would find them there automatically on startup. it's pretty easy to google.)
22:44:56 <oerjan> `learn Finnish suomalaiset ei Perkeleistä on hakkapeliittaan. Ei saa peittää. Parasta ennen!
22:44:57 <fizzie> The truth is revealed.
22:45:00 <HackEgo> I knew that.
22:45:40 <oerjan> i think it now might actually mean something.
22:47:56 <oerjan> `? finnish
22:47:59 <HackEgo> finnish? ¯\(°_o)/¯
22:48:15 <oerjan> Gregor: why is none of this showing up in the repository D:
22:49:28 <fizzie> The tailing part is just "Do not cover. Best before!", but the initial part is a bit vaguer.
22:49:53 <Gregor> oerjan: Because it HATES YOU
22:50:04 <Gregor> `run ls wisdom/*innish*
22:50:06 <HackEgo> ls: cannot access wisdom/*innish*: No such file or directory
22:50:11 <Gregor> `echo wtf > wtf
22:50:12 <HackEgo> wtf > wtf
22:50:13 <Gregor> Err
22:50:15 <Gregor> `run echo wtf > wtf
22:50:18 <HackEgo> No output.
22:50:21 <Gregor> `ls wtf
22:50:23 <HackEgo> wtf
22:50:24 <Gregor> `rm wtf
22:50:27 <HackEgo> No output.
22:50:47 <Gregor> Idonno, maybe learn is somehow weirdly incompatible with the new setup...
22:50:58 <Gregor> `learn Finnish isn't a real language.
22:51:02 <HackEgo> I knew that.
22:51:06 <Gregor> `? Finnish
22:51:07 <HackEgo> Finnish isn't a real language.
22:51:11 <Gregor> Uhhh
22:51:22 <Gregor> Hm. Maybe it has issues with Unicode still???
22:51:24 <FireFly> `? ls wisdom/*inni*
22:51:26 <HackEgo> ls wisdom/*inni*? ¯\(°_o)/¯
22:51:29 <FireFly> uh
22:51:32 <FireFly> `run ls wisdom/*inni*
22:51:34 <HackEgo> wisdom/finnish
22:52:01 <FireFly> `learn foo/bar this is a test
22:52:03 <HackEgo> ​/hackenv/bin/learn: 4: cannot create wisdom/foo/bar: Directory nonexistent \ I knew that.
22:52:11 <FireFly> You knew that?!
22:52:16 <oerjan> `learn Finnish suomalaiset ei Perkeleistä on hakkapeliittaan. Ei saa peittää. Parasta ennen!
22:52:20 <HackEgo> I knew that.
22:52:30 <oerjan> `? Finnish
22:52:33 <HackEgo> Finnish isn't a real language.
22:52:39 <oerjan> argh
22:53:02 <oerjan> looks very unicode related...
22:54:04 <oerjan> `echo höm...
22:54:05 <HackEgo> höm...
22:54:23 <oerjan> `run echo höm... >hm...
22:54:26 <HackEgo> No output.
22:54:29 <oerjan> `cat hm...
22:54:32 <HackEgo> cat: hm...: No such file or directory
22:54:52 <Gregor> Weird
22:54:57 <Gregor> `run echo ë > foo
22:55:00 <HackEgo> No output.
22:55:01 <Gregor> `run cat foo
22:55:04 <HackEgo> ​#echo `cat foo
22:55:09 <Gregor> ...
22:55:13 <Gregor> WHAT
22:55:45 <oerjan> ït cöüld pössïblÿ älrëädÿ hävë ëxïstëd.
22:55:47 <shachaf> @yarr
22:55:48 <lambdabot> Aye
22:56:05 <FireFly> `cat foo
22:56:07 <HackEgo> ​#echo `cat foo
22:56:48 <Gregor> `run echo ë > uuunicode
22:56:52 <HackEgo> No output.
22:56:52 <copumpkin> http://html9responsiveboilerstrapjs.com/
22:56:55 <Gregor> `cat uuunicod
22:56:57 <Gregor> `cat uuunicode
22:56:58 <HackEgo> cat: uuunicod: No such file or directory
22:56:59 <HackEgo> cat: uuunicode: No such file or directory
22:57:04 <Gregor> OK, debugging time.
22:57:55 <Bike> I like the documentation.
23:19:36 -!- iamcal has quit.
23:19:45 -!- iamcal_ has joined.
23:29:26 -!- ais523 has quit.
23:33:59 -!- sonicspin has quit (Quit: Page closed).
23:36:32 <Gregor> You guys.
23:36:34 <Gregor> How do you Unicode.
23:36:37 <Gregor> I've got no fucking clue.
23:38:51 <shachaf> i � unicode
23:39:39 <Gregor> `run cat uuunicode
23:39:40 <HackEgo> ​ë
23:39:43 <Gregor> I DID IIIT
23:39:44 <Gregor> `rm uuunicode
23:39:47 <HackEgo> No output.
23:40:52 <oerjan> well, being 8 bit clean on everything that doesn't need to know unicode should be a good start.
23:40:59 <fizzie> Uuencode the uunicode.
23:41:15 <oerjan> `learn Finnish suomalaiset ei Perkeleistä on hakkapeliittaan. Ei saa peittää. Parasta ennen!
23:41:19 <HackEgo> I knew that.
23:41:22 <oerjan> `? finnish
23:41:24 <HackEgo> Finnish suomalaiset ei Perkeleistä on hakkapeliittaan. Ei saa peittää. Parasta ennen!
23:41:27 <oerjan> yay!
23:42:52 <FireFly> `learn ☃ brrr...
23:42:57 <HackEgo> I knew that.
23:43:02 <FireFly> `? ☃
23:43:04 <HackEgo> ​☃ brrr...
23:43:09 <oerjan> oh dear
23:43:36 <oerjan> i have (indirectly) made a monster...
23:43:40 <Gregor> `learn 🐐 <(Unicode goat laments your inability to render Unicode goat.)
23:43:44 <HackEgo> I knew that.
23:43:47 <Gregor> `? 🐐
23:43:49 <HackEgo> ​🐐 <(Unicode goat laments your inability to render Unicode goat.)
23:44:07 <FireFly> I was about to add that..
23:44:32 <kmc> http://☃.net
23:45:36 <oerjan> it's a snowman? i thought it looked like a catface...
23:46:14 <shachaf> `? �
23:46:16 <HackEgo> ​�? ¯\(°_o)/¯
23:46:56 <oerjan> i don't know what that is, but google gives a search suggestion of r ay3 65.c om
23:47:01 <fizzie> This terminal does not recognize http://☃.net as a link.
23:55:23 -!- sebbu has quit (Ping timeout: 276 seconds).
←2012-12-08 2012-12-09 2012-12-10→ ↑2012 ↑all