←2012-09 2012-10 2012-11→ ↑2012 ↑all
00:04:08 <oerjan> it has been known to associate with certain ... identities. sometimes while commuting.
00:05:05 <oerjan> and it is also suspected of distribution, although we have no firm evidence
00:06:23 <oerjan> so we simply had to bust this ring.
00:06:33 <shachaf> oerjan: I'm sure you'll be abel to come up with something.
00:06:57 <elliott> /kick oerjan
00:08:03 <shachaf> oerjan: If you manage to join their secret meet, you'll have a field day.
00:08:33 <oerjan> don't lattice get _all_ out of hand, now
00:24:04 -!- Phantom_Hoover has quit (Read error: Connection reset by peer).
00:35:37 <oerjan> darn wikipedia front page is knocking monads
00:37:03 <elliott> kick oerjan
00:37:27 <Lumpio-> Monads are impossible for humans to understand
00:38:04 <elliott> Lumpio-: is the joke that that's bullshit
00:38:49 <oerjan> itt: Lumpio- reveals himself to be soundnfury in disguise
00:39:08 <elliott> well it is ok because we have kmc here to argue with tedious morons who say bullshit about haskell
00:39:10 <elliott> that is his job
00:39:11 <elliott> good old kmc
00:40:42 <Lumpio-> The joke is that it's the truth
00:40:58 <Lumpio-> Developers should stick to well-established and easily understandable industry-standard design patterns
00:41:26 <elliott> Lumpio-: are you really this stupid hahahahahahahahaha
00:41:50 <oerjan> no way that last sentence wasn't a joke
00:41:55 <Lumpio-> I take it you have never experienced working in the enterprise.
00:42:08 <elliott> ok yeah you are obviously just bullshitting at this point
00:42:52 <Lumpio-> We do not take kindly to propeller-cap wearing kids trying to replace our proven practice COBOL systems with their new fancy schmancy C or Haskell or whateveritis these days
00:43:06 <monqy> there is no way you're not joking
00:43:06 <lambdabot> monqy: You have 2 new messages. '/msg lambdabot @messages' to read them.
00:43:16 <elliott> well obviously by now
00:43:20 <monqy> so please stop!!!
00:43:30 <oerjan> we clearly is missing a language called whateveritis
00:43:34 <oerjan> *are
00:43:34 <Lumpio-> Would *you* have your stock transactions go through a "monad"?
00:43:41 <Lumpio-> I for one wouldn't.
00:43:56 <monqy> nobody likes your joke stop it you're hurting our joke feelings
00:44:09 <monqy> i know this because i conducted a joke meeting
00:44:15 <monqy> we all agreed your joke is bad
00:44:15 <Lumpio-> Punched tape has worked perfectly fine for the last eleven decades and it's not going anywhere.
00:44:18 <elliott> joke consortium
00:44:19 <Lumpio-> ¬u¬
00:44:22 <Lumpio-> damn
00:44:28 <elliott> joke council handing down joke fines
00:44:35 <elliott> joke sentencing of joke jailtime
00:44:45 <elliott> people get joke arrested and go to joke prison
00:44:48 <elliott> but prison is no joke
00:44:50 <Lumpio-> I'll be sure to file an advance application the next time I feel like making a joke
00:45:02 <Lumpio-> ...in punched tape form
00:45:35 <elliott> joke council accepts only .rtf
00:46:19 <Lumpio-> Not .docx!?
00:49:03 <elliott> docx uses monads
00:50:20 <monqy> it's been years since I've last seen an rtf
00:50:26 <monqy> maybe not even a year since I've seen docx
00:51:19 <monqy> I guess this means rtf is better???
00:52:04 <elliott> monqy: it's because geocities died and took all the rtfs with it : (
01:03:30 <kmc> pumpkin jokes.pdf
01:03:39 <copumpkin> :O
01:13:56 -!- TeruFSX has joined.
01:32:12 -!- jiella has quit (Quit: Leaving.).
01:57:21 <itidus21> the nice thing about punched tape is it's human readable
01:57:45 -!- augur has quit (Read error: Connection reset by peer).
01:57:46 -!- augur_ has joined.
01:57:56 <itidus21> ^without electricity
01:58:34 <itidus21> because, you just know that any year now the property of technology that doesn't need electricity will become important for some reason
02:00:31 <coppro> whoa
02:00:57 <coppro> bec isn't supposed to lose his sword like that I think
02:03:08 <oerjan> itidus21: http://en.wikipedia.org/wiki/Dies_the_Fire hth
02:27:02 -!- oerjan has quit (Quit: Good night).
02:33:34 -!- hogeyui_ has quit (Ping timeout: 244 seconds).
02:34:25 <itidus21> "a mysterious worldwide event that suddenly alters physical laws so that electricity, gunpowder, and most other forms of high-energy-density technology no longer work." just because
02:37:12 <zzo38> Is that possible? I doubt it. Anyways, even if such things is possible, it may be a "universewide" event, not just the worldwide event.
02:42:19 -!- augur_ has quit (Read error: Connection reset by peer).
02:43:13 -!- augur has joined.
02:43:58 <elliott> it doesn't have to be possible to be a good sci-fi premise
02:45:28 <zzo38> OK, but even in sci-fi, maybe it should be apply for universe, possibly other thing in universe also goes wrong later they realized later on
02:52:51 -!- augur has quit (Remote host closed the connection).
02:57:08 -!- augur has joined.
03:03:47 <itidus21> a special goo was invented such that an animal's form interpolates with the last animal it was in contact with
03:04:40 <itidus21> when you think about it, thats quite an impressive backstory to spin to account for anthropomorphic turtles
03:11:17 <itidus21> google translation shuffle from "once upon a time he said riddle me this." to "Time, he said to me once when this mystery."
03:21:06 -!- TeruFSX_ has joined.
03:32:10 -!- augur has quit (Remote host closed the connection).
03:51:38 -!- Jafet has joined.
04:37:24 <zzo38> How do I convert double to HWND type in C?
04:39:16 -!- ais523 has quit.
04:39:26 <kmc> @hoogle Double -> HWND
04:39:26 <lambdabot> Warning: Unknown type HWND
04:39:27 <lambdabot> Unsafe.Coerce unsafeCoerce :: a -> b
04:39:27 <lambdabot> Control.OldException throwDyn :: Typeable exception => exception -> b
04:39:45 <kmc> "Warning: unknown type, but why not try unsafeCoerce anyway?"
04:40:20 <zzo38> I mean in C, not in Haskell.
04:41:19 <kmc> this is one of those cases where I say something which is not 100% a serious suggestion
04:42:08 -!- augur has joined.
04:42:21 <zzo38> How to make a DLL in MinGW?
04:43:02 -!- TeruFSX has quit (Ping timeout: 256 seconds).
04:43:49 <zzo38> Something like g_hWnd=(HWND)(int)hwnd; seems to compile at least, but I don't know if it is correct, and it won't link, maybe I need some switch to tell it to make DLL?
04:46:20 <zzo38> I tried -Wl,--export-all-symbols -Wl,--dll but it doesn't work.
04:47:13 -!- hogeyui has joined.
04:49:40 <zzo38> Maybe it works now....
04:50:50 <quintopia> zzo38: do you know a program that converts formatted text to .txt by wrapping italics in // and underlines in __ etc
04:52:10 <zzo38> quintopia: I don't know, but what file format is the input in?
04:52:49 <elliott> what is formatted text
04:52:57 <quintopia> who cares? pdf, html, rtf?
04:53:08 <elliott> well presumably you care since you wanted a program for it :P
04:53:17 <elliott> there are html to markdown converters
04:53:25 <quintopia> well i'd like to know if it exists for any format
04:53:26 <elliott> cf. http://milianw.de/projects/markdownify/
04:54:03 <kmc> quintopia: pandoc can convert stuff to markdown
04:54:25 <kmc> html and latex in particular
04:54:34 <kmc> though it's not, like, a full implementation of the TeX macro engine
04:55:58 <quintopia> cool
05:02:12 -!- FreeFull has quit (Quit: 6am).
05:32:24 -!- ais523 has joined.
06:38:52 -!- ais523 has quit (Read error: Connection reset by peer).
06:39:07 -!- ais523 has joined.
06:42:07 <zzo38> How good is ARCFOUR as just a random number generator?
07:15:38 -!- zzo38 has quit (Remote host closed the connection).
07:28:54 -!- ais523 has quit (Read error: Connection reset by peer).
07:41:13 -!- mtve has joined.
07:41:25 -!- AnotherTest has joined.
07:41:31 <AnotherTest> Hello
07:42:16 <Jafet> It's better than RANDU.
07:46:27 <kallisti> anyone go to the magic prerelease
07:46:59 -!- sivoais has quit (Ping timeout: 260 seconds).
07:47:44 <kallisti> I picked the Azorius guild
07:49:39 -!- dajfsa has quit (Quit: leaving).
07:59:54 -!- sivoais has joined.
09:01:56 -!- Sgeo has quit (Read error: Connection reset by peer).
09:09:56 -!- Sgeo has joined.
09:27:28 -!- ais523 has joined.
10:07:33 -!- Arc_Koen has joined.
10:08:13 -!- Arc_Koen has quit (Read error: Connection reset by peer).
10:08:28 -!- Arc_Koen has joined.
10:21:48 -!- copumpkin has quit (Ping timeout: 245 seconds).
10:22:25 -!- copumpkin has joined.
10:26:59 -!- carado has joined.
10:40:41 -!- carado has quit (Quit: Leaving).
11:08:16 -!- barts has joined.
11:11:16 -!- barts_ has quit (Ping timeout: 248 seconds).
11:22:57 -!- jiella has joined.
11:30:56 -!- monqy has quit (Quit: hello).
11:39:44 -!- kinoSi has quit (Read error: Connection reset by peer).
11:40:11 -!- kinoSi has joined.
12:06:05 -!- heroux_ has quit (Read error: Operation timed out).
12:10:28 -!- heroux has joined.
12:20:01 -!- Phantom_Hoover has joined.
12:30:58 <Phantom_Hoover> hey sgeo
12:31:29 -!- boily has joined.
12:32:24 <Sgeo> Hi
12:34:01 <quintopia> i agree
12:34:17 <Phantom_Hoover> my tutor did his phd with ian stewart WHAT SAY YOU
12:35:11 <Sgeo> I say I know why you're mentioning Ian Stewart to me, you are curious what my reaction is.
12:35:49 <Phantom_Hoover> such insight
12:36:41 <Sgeo> I want to see if I can find the quote
12:36:42 <Arc_Koen> I would've said something irrelevant that fact is to me, but actually I'M VERY JEALOUS
12:37:22 <coppro> that's nothing
12:37:38 <coppro> There's a guy at UW who did his PhD under Hawking
12:38:23 <Sgeo> "Page 435 is not part of this book preview"
12:38:36 <Sgeo> Now I'm annoyed, since it now seems very likely that that's the exact page I want
12:39:13 <Phantom_Hoover> why, what's on it
12:40:13 <Sgeo> The part where there's an advertisement screaming something like "Supersymmetric Sisters!" or something like that, very uncomfortably reminiscent of quantum mechanics quackery
12:41:02 <Arc_Koen> that sounds more like porn than physics to me :/
12:41:02 <Sgeo> Not at all convinced that the best approach to equality is "Hey! In some invisible dimensions, we actually have more sides than the men"
12:41:39 <Sgeo> Actually, that wasn't the exact concept, but something similar to it
12:41:46 <Sgeo> Number of symmatries I think
12:42:05 <Phantom_Hoover> so in other words symmetry is entirely relevant
12:42:54 <Phantom_Hoover> also he had coffee with terry pratchett once
12:42:59 <Phantom_Hoover> he was 'surprisingly normal'
12:43:16 <Sgeo> I think maybe trying to push for equality based on the idea that number of symmetries is irrelevent is better than "technically, we're better"
12:44:58 <coppro> I was in the same room as hawking once is what say I
12:45:23 <quintopia> you dont have the same galactic scale as i coppro
12:45:24 <fizzie> Well, *I* see prof. (em.) Kohonen here every now and then! Uh... I guess that's not terribly impressive, he's maybe not exactly a household name.
12:45:51 <quintopia> for i can claim to have been on the same planet as hawking, and there are billions more planets than there are rooms!
12:46:20 <Sgeo> http://i.imgur.com/OkbGc.jpg
12:46:43 <quintopia> not only that, but i managed to be alive at the same time as hawking! out of the ~14b yrs the universe has existed and at least that much more it will go on
12:46:51 <Sgeo> I'm gonna puke
12:47:03 <Sgeo> (Not for reasons relevant to this conversation)
12:48:09 <fizzie> "at least that much more it will go on" not if I have something to say about that! ...er, nothing.
12:50:11 -!- ogrom has joined.
12:55:58 -!- ais523 has quit (Ping timeout: 245 seconds).
12:56:29 <elliott> fizzie: PROFESSOR KOHONEN?!??!?!?!
12:56:32 <elliott> fizzie: Tell him he's my hero.
12:56:40 -!- aloril_ has quit (Ping timeout: 244 seconds).
12:57:06 <Phantom_Hoover> tell him he's a mangy frua
13:04:53 <Arc_Koen> fizzie: so I wanted to add a possibility for subroutines in Kipple, but I did not want to add new syntaxes
13:05:08 <Arc_Koen> I made it so that stacks are executable, but that doesn't sound like Kipple at all
13:06:40 <fizzie> I saw something about that. It's not all *that* far off, really.
13:07:46 <Arc_Koen> well I didn't write down what it meant to execute a stack exactly - for instance, should it be parsed already? or can it still contain whitespace and numbers expressed as multiple digits?
13:08:46 <Arc_Koen> maybe I should just include a way to define and call functions... but as I said I don't really like the idea of new syntax - I'd like everything to use stacks
13:09:13 <Arc_Koen> or maybe I should make functions, and include a special "call stack"
13:11:04 <Arc_Koen> (isn't there already a language that allows to access its call stack?)
13:13:47 -!- aloril_ has joined.
13:15:49 <fizzie> Forth, at least. If a bit unportably.
13:19:05 <fizzie> http://sprunge.us/XMOh -- nasty, eh?
13:34:00 <Arc_Koen> fizzie: http://sprunge.us/SDDP
13:34:10 <Arc_Koen> I'm thinking the call stack doesn't add anything useful, actually
13:39:45 <itidus21> i think the entire purpose of humans existing is to have a species which does things that do not make any sense whatsoever from a biological standpoint
13:40:08 -!- Phantom_Hoover has quit (Ping timeout: 245 seconds).
13:40:35 <itidus21> thats the whole point.. thats why the earth is not free of humans
13:40:42 <elliott> good observation itidus21
13:42:23 <itidus21> we are a species which spends most of it's time seeking states of intoxication and laughter
13:43:06 <itidus21> and when not doing that we try to travel along roads at 300miles an hour just because we can
13:43:53 <itidus21> oh yes and porn..
13:44:10 <Arc_Koen> so you think other species don't do that?
13:44:12 <elliott> by "we" do you mean "me"
13:44:33 <elliott> Arc_Koen: i am actually fairly confident other species do not drive on roads at 300 mph just because they can
13:44:52 <itidus21> i pulled 300mph mostly out of hte air
13:47:24 -!- copumpkin has quit (Quit: Computer has gone to sleep.).
13:47:44 <itidus21> by analyzing bits and pieces of the universe it can seem to make sense, but taking everything as one thing, it can only be some kind of joke
13:48:20 <Arc_Koen> so you've read that egg thing?
13:49:45 <itidus21> if you ask an infinite number of "why?" questions, in the limit you find "for a joke"
13:50:34 <itidus21> i dont know what in the limit means...
13:50:36 <Arc_Koen> why?
13:50:44 <itidus21> im heavily borrowing idioms
13:50:52 -!- boily has quit (Quit: Poulet!).
13:50:54 -!- boily1 has joined.
13:52:19 <Arc_Koen> why?
13:53:59 <Arc_Koen> should make a bot that does that... "I love chocolate" "Why do you love chocolat?" "because it tastes good" "Why does it taste good?" "because there is cocoa in it "Why is there cocoa in it?" and so on
13:55:24 <itidus21> "why did the chicken cross the road?" "to get to the other side"
13:55:51 <Arc_Koen> "Why get to the other side?"
13:56:40 <coppro> quintopia: its true
13:56:52 <itidus21> or at least i would like to think it's a joke
13:57:03 <quintopia> hi coppro
13:57:13 -!- Nisstyre-laptop has quit (Ping timeout: 245 seconds).
13:57:50 <Arc_Koen> why, has the universe been bullying you?
13:58:51 <itidus21> facebook is somewhat of a joke
14:01:18 <quintopia> haha! facebook! good oone!
14:07:35 -!- Phantom_Hoover has joined.
14:09:31 -!- copumpkin has joined.
14:10:25 <itidus21> by "we" i do basically mean "me"
14:10:48 <ogrom> how humble you
14:12:49 <quintopia> "i am a species which spends most of its time seeking states of intoxication and laughter"
14:12:56 <quintopia> you're my kind of species itidus
14:20:40 <itidus21> "For some time, Gell-Mann was undecided on an actual spelling for the term he intended to coin, until he found the word quark in James Joyce's book Finnegans Wake"
14:20:46 <itidus21> wow
14:21:13 <quintopia> i see you've been reading the wiki article on quarks
14:21:28 <itidus21> only that part
14:21:29 <quintopia> i did so also fairly recently
14:21:55 <itidus21> somehow i found that part
14:22:46 <quintopia> it would be a better story if it went
14:23:23 <itidus21> my plan was to say: i am tempted to say i wonder what would happen if there were no electrons. but then it would mean there were no quarks, but then i pondered saying no particles, but quarks were particles
14:23:30 <quintopia> "Gell-Mann was undecided on an actual spelling for the term he intended to coin, until he saw an episode of Star Trek: Deep Space Nine featuring everyone's favorite Ferengi"
14:23:33 <itidus21> so i wonder what would happen with no particles
14:24:12 <Slereah> Also what if everything was made of asparagus
14:24:17 <quintopia> way to ask meaningful questions
14:24:45 <quintopia> lemme try
14:25:01 <quintopia> i wonder what would happen if time went backwards and reverse entropy was the norm
14:25:08 <quintopia> damn that one actually has an answer
14:25:13 <quintopia> i'm no good at this
14:25:21 <quintopia> um
14:25:58 <itidus21> sometimes i act like there are no particles
14:26:06 <quintopia> i wonder what would happen with the fourth fundamental force being antigravity
14:26:11 <quintopia> i'm gonna ask randall
14:26:41 <Slereah> Also I'm not sure reversing time would reverse entropy
14:26:46 <itidus21> ah that reminds me to check whatif
14:28:05 <Arc_Koen> on a monday?
14:29:43 <itidus21> i have not looked for a while
14:36:23 -!- Phantom_Hoover has quit (Ping timeout: 260 seconds).
14:37:00 <itidus21> i find most whatifs end in tragedy
14:50:13 -!- FreeFull has joined.
15:00:49 -!- augur has quit (Remote host closed the connection).
15:00:58 -!- sivoais has quit (Ping timeout: 245 seconds).
15:09:40 -!- sivoais has joined.
15:09:47 -!- jiella1 has joined.
15:11:00 -!- jiella has quit (Ping timeout: 244 seconds).
15:14:12 -!- aloril_ has quit (Read error: Operation timed out).
15:28:22 -!- aloril_ has joined.
15:36:41 -!- Sgeo has quit (Ping timeout: 245 seconds).
15:38:58 -!- Sgeo has joined.
15:44:55 -!- ogrom has quit (Quit: Left).
15:45:57 -!- Sgeo has quit (Read error: Connection reset by peer).
15:46:23 -!- Sgeo has joined.
15:48:20 -!- Phantom_Hoover has joined.
16:00:03 -!- augur has joined.
16:03:13 <Arc_Koen> itidus21: WE BLEW THE MOON UP!! that's not a tragedy that's AN ACCOMPLISHMENT
16:03:37 <ion> The introduction of emulators created to play illegally copied Nintendo software represents the greatest threat to date to the intellectual property rights of video game developers. […] the assumption that the games involved are vintage or nostalgia games is incorrect. Nintendo is famous for bringing back to life its popular characters for its newer systems http://www.nintendo.com/corp/legal.jsp
16:04:27 <shachaf> Oh no. :-(
16:05:26 <Arc_Koen> well, emulators themselves are legal, aren't they?
16:06:07 -!- augur has quit (Read error: Connection reset by peer).
16:06:29 <fizzie> Arc_Koen: Possibly, but since they are the GREATEST THREAT maybe they shouldn't be!
16:06:35 -!- augur has joined.
16:07:48 <fizzie> "Such emulators have the potential to significantly damage a worldwide entertainment software industry which generates over $15 billion annually, and tens of thousands of jobs."
16:07:57 <fizzie> See, you are RUINING it.
16:08:43 <fizzie> In case you feel like saying something to the contrary, remember that it's not open to debate.
16:08:47 <fizzie> ("Emulators developed to play illegally copied Nintendo software promote piracy. That's like asking why doesn't Nintendo legitimize piracy. It doesn't make any business sense. It's that simple and not open to debate.")
16:09:58 <fizzie> They also have the "linking is infringing" argument, I note. That's always a fun one.
16:13:01 * FreeFull links to google.com
16:13:03 <FreeFull> Oh no
16:22:10 <Sgeo> How many ROMs exist that aren't copies of Nintendo games?
16:22:14 <Sgeo> As in, homebrew ROMs?
16:25:07 <fizzie> I don't know how you could count that kind of thing, since there's presumably quite a few that only exist on their creator's computer.
16:27:46 <Sgeo> Are there a significant enough number that there's at least some usage of emulators that are legitimate?
16:30:44 <Arc_Koen> yes
16:30:55 <Arc_Koen> (that's a wild guess)
16:31:05 <Arc_Koen> (but I think it's a good approximation)
16:31:29 <fizzie> pouet's search finds 33 releases for NES; presumably watching those on an emulator should be legal. Depending, of course, whether those involve any burned-in-ROM code for which Nintendo claims copyright.
16:32:34 -!- Arc_Koen has quit (Read error: No route to host).
16:33:02 -!- Arc_Koen has joined.
16:33:31 -!- Arc_Koen has quit (Client Quit).
16:33:34 <fizzie> (As well as 98 SNES releases, and somewhere around 250 GBA things.)
16:34:01 <shachaf> Can't you legally make a copy of a ROM you have for your own use?
16:36:34 -!- Phantom_Hoover has quit (Ping timeout: 240 seconds).
16:36:42 <fizzie> shachaf: Not according to Nintendo, because the copying devices are illegal.
16:36:46 <fizzie> Due to their "functions".
16:37:10 <fizzie> "Are Game Copying Devices Illegal? Yes. Game copiers enable users to illegally copy video game software onto floppy disks, writeable compact disks or the hard drive of a personal computer. They enable the user to make, play and distribute illegal copies of video game software which violates Nintendo's copyrights and trademarks. These devices also allow for the uploading and downloading of ...
16:37:16 <fizzie> ... ROMs to and from the Internet. Based upon the functions of these devices, they are illegal."
16:37:17 -!- elliott has quit (Read error: Connection reset by peer).
16:37:29 <fizzie> I'd argue, but I'm sure this too is "not open to debate".
16:38:46 <fizzie> Anyway, I don't think there's (at least currently) a DMCA exemption for archival copying, so they might be (US-)right for all I know.
16:47:07 <mroman> So... CD-Burners are illegal too?
16:47:31 <mroman> also: By that definition, any regular computer is illegal?
16:47:38 -!- Phantom_Hoover has joined.
16:47:56 <Sgeo> I need to talk out my emotions somewhere, and my gf isn't online
16:48:23 <Phantom_Hoover> oh lord
16:48:38 <Sgeo> I'm probably not actually going to talk them out
16:48:41 <Sgeo> At least, not here
16:49:25 <fizzie> mroman: Well, IANAL. It might have to do with a value judgement on whether the device is "intended" to circumvent technical rights-protection measures or not, and whether it has any other uses. At least the Finnish anti-circumvention law criminalizes "circumvention devices" that have "only limited commercial uses" in addition to the circumvention bit. For regular computers and CD burners, I ...
16:49:32 <fizzie> ... would think it's reasonably clear they have substantial noninfringing uses.
16:54:31 <fizzie> (At least the Finnish law has a general-purpose exemption that you are allowed to circumvent a protection if you need to in order to use the product; so it'd be legal to go through AACS to watch a legally bought Blu-ray disc. Er, assuming you were clever enough to figure out how to do that; importing, distributing, selling, etc. of devices, products, parts or services to do it is of course a ...
16:54:37 <fizzie> ... criminal act.
16:55:31 <Sgeo> fizzie, does your client do some sort of wrapping thing automatically
16:55:53 <Sgeo> There exists a person with the nick of fi
16:56:06 <Sgeo> Discovered while trying to VERSION fizzie
16:56:26 <fizzie> It does, and I've configured it with a somewhat pessimal auto-wrapping line length limit.
16:56:59 <fizzie> Because the one it calculates (from uhost prefix, channel/target name etc.) sometimes fails miserably and leaves a few characters clipped.
16:57:14 <fizzie> (It's the quasi-standard irssi splitlong.pl.)
16:59:11 <fizzie> The autoguessed length is 497 - length($server->{nick} . $server->{userhost} . $target) where 497 is 510 - length(":! PRIVMSG :") and I think I did puzzle out why it's not always right but forgot already.
17:00:14 <fizzie> I've just fixed it to 400 bytes of actual content.
17:02:37 <fizzie> Perhaps it was simply the mismatch between "fis@iris.zem.fi" and "fis@unaffiliated/fizzie".
17:03:03 <fizzie> The former presumably being what $server->{userhost} expects.
17:05:58 <Sgeo> I need sleep
17:06:06 <Sgeo> And to not feel so nauseous
17:08:01 <Phantom_Hoover> both sterling idea
17:08:04 <Phantom_Hoover> *s
17:16:37 -!- augur has quit (Remote host closed the connection).
17:19:15 -!- carado has joined.
17:27:04 -!- ogrom has joined.
17:39:25 -!- kinoSi has quit (Read error: Connection reset by peer).
17:39:53 -!- kinoSi has joined.
17:46:58 -!- Arc_Koen has joined.
17:50:07 -!- carado has quit (Quit: Leaving).
17:52:26 <Sgeo> One of my typical channels for emotion stuff is also mostly inactive right now
17:54:58 <Phantom_Hoover> we can be used to emote!
17:55:07 <Phantom_Hoover> just ask that guy who was contemplating suicide a while back!
17:57:35 <Sgeo> I feel nauseous. Not sure if I'm physically sick, or if it's just emotions+lack of sleep
17:57:39 <Sgeo> I'm not running a fever.
17:58:26 <Phantom_Hoover> those aren't emotions Sgeo
17:58:30 <Phantom_Hoover> those are just feeling sick
17:58:34 <Phantom_Hoover> perhaps ask a doctor
17:58:52 <Phantom_Hoover> i guess this is a bad time for snark, i'll stop
17:58:54 <Sgeo> But I'm having some emotions, and unsure if they may be causing the symptoms
17:59:15 <Phantom_Hoover> a doctor would probably be able to tell you!
18:00:02 <fizzie> What, there was an #esoteric suicide and I missed it?
18:01:55 <itidus21> i think he means unknown character
18:02:22 <itidus21> <-- aware of the useless trivias
18:03:28 * Sgeo mentally replaces "useless" with "wicked". The wicked trivias
18:03:29 -!- sivoais has quit (Ping timeout: 255 seconds).
18:03:37 <Sgeo> honk HONK
18:03:59 <Sgeo> </homestuck>
18:04:35 <Phantom_Hoover> fizzie, he didn't commit suicide, at least not in-channel.
18:04:40 <Phantom_Hoover> I hope not at all, I don't need that kind of angst.
18:04:59 <itidus21> for some reason i associate angst with fried chicken
18:07:28 -!- sivoais has joined.
18:07:38 <itidus21> i don't think it's synesthesia
18:10:46 <fizzie> Synæsthesia. (I just wanted a ligature.)
18:22:38 <itidus21> s/bringing back to life its popular characters/shamelessly porting very old games/
18:23:40 -!- Phantom_Hoover has quit (Ping timeout: 246 seconds).
18:26:54 <Sgeo> Who was it that said that making a game made you immortal?
18:27:03 <Sgeo> Because people will find ways to keep the game working
18:27:23 <Sgeo> Sounds like something Sam Hugh would say, except he said it about math
18:29:09 <Sgeo> Hmm, I might be changing my mind about Ian
18:30:31 <Sgeo> It does make sense to say "Your arbitrary reason for discrimination doesn't even work", even if I would prefer "Arbitrary reasons for discrimination just suck, don't do that"
18:31:28 <Arc_Koen> problem is, if someone disagrees with your second statement, you're in a dead-end
18:31:42 <Arc_Koen> whereas it might be possible to reason him using the first
18:32:55 <Sgeo> Indeed
18:35:48 <Sgeo> Oh, PH isn't here
18:35:57 <Sgeo> @ask Phantom_Hoover Have you read Flatterland?
18:35:57 <lambdabot> Consider it noted.
18:36:19 <Sgeo> @tell Phantom_Hoover Do read logs around when I @ask'd that.
18:36:20 <lambdabot> Consider it noted.
18:50:39 -!- AnotherTest has left.
18:51:15 <tswett> Sgeo: would you like me to object to the intent to deregister you, on your behalf?
18:51:36 <Sgeo> o.O
18:51:38 <Sgeo> Hmm, sure
18:55:29 <Sgeo> o.O https://twitter.com/shit_hn_says
18:58:29 -!- oerjan has joined.
18:59:50 -!- zzo38 has joined.
19:01:14 <shachaf> Sgeo: _why?
19:01:36 <Sgeo> shachaf, why what?
19:03:20 <shachaf> "if you program and want any longevity to your work, make a game. all else recycles, but people rewrite architectures to keep games alive."
19:04:27 -!- atriq has joined.
19:06:10 <atriq> I completed Bastion this afternoon
19:06:10 <lambdabot> atriq: You have 1 new message. '/msg lambdabot @messages' to read it.
19:06:12 <atriq> The ending was sad
19:06:39 <Sgeo> shachaf, oh, I feel like a derp now.
19:06:41 <Sgeo> And thank you.
19:08:38 <atriq> fizzie, in mcmap's colour scheme (in colors.txt and block.c)
19:10:46 <atriq> How does the alpha work?
19:10:53 <atriq> As in, which end's which?
19:12:29 <olsner> apparently, the alpha is bi-endian so that depends on which mode it's in
19:12:40 <atriq> Hmm
19:19:30 <oerjan> <itidus21> i find most whatifs end in tragedy <-- he does seem to make a point of that
19:20:14 <oerjan> *munroe
19:23:21 <atriq> Maybe he's sad because his wife has cancer
19:25:03 <kmc> i think it's because bad things happening to other people is the basis of humor
19:25:13 <kmc> (not actually true)
19:25:21 <atriq> I thought bad puns were the basis of humour
19:33:55 <shachaf> Puns *are* bad things happening to people.
19:34:09 <atriq> Wow
19:34:33 <atriq> This is like when I first got told that Monads *are* monoids in the category of endofunctors
19:35:37 <shachaf> I have the feeling that reading a page full of quotes from _Stranger in a Strange Land_ is a better experience than reading the actual book.
19:37:51 -!- ogrom has quit (Quit: Left).
19:45:59 <fizzie> atriq: It's actually opacity, so 255 is fully opaque, 0 is completely transparent.
19:48:19 <fizzie> atriq: (As far as I know, anyhow. And water is special.)
19:51:02 <oerjan> @tell Arc_Koen did you mean to remove an a from the kipple truth-machine program? i don't know kipple so...
19:51:02 <lambdabot> Consider it noted.
19:58:49 -!- jiella1 has changed nick to jiella.
20:03:51 <zzo38> Is the random number generator I used in Famicom Hangman OK?
20:07:43 <kmc> http://www.daniellesucher.com/2011/11/jailbreak-the-patriarchy-my-first-chrome-extension/
20:11:14 <itidus21> from another internet place:
20:11:35 <itidus21> "Damn it Jim, I'm a roleplayer not a whore."
20:14:25 <atriq> fizzie, thanks
20:16:50 <atriq> fizzie, what's the point of block traits? The only one with LAVA_TRAIT is lava and lave, similar for WATER_TRAIT
20:17:23 <Sgeo> "There is a known bug with the English language itself that Im dealing with imperfectly at the moment. See, sometimes her should translate to him, and sometimes it should translate to his. There are a lot of tricky edge cases here."
20:18:58 <oerjan> well translate may be the wrong word, but i understand what it's trying to say.
20:19:35 <oerjan> "her" is both oblique form and possessive, but "him" and "his" divide this.
20:20:57 <Sgeo> I'm just amused by calling English "buggy"
20:24:07 <fizzie> atriq: Future-proofing, I suppose. It used to be so that IS_WATER checked against block IDs directly, I think. It was felt cleaner if such block properties were more centrally collected.
20:24:21 <atriq> Okay
20:24:30 <fizzie> atriq: There are, after all, apparently two waters. (0x08 and 0x09.)
20:24:49 -!- augur has joined.
20:26:56 <atriq> Okay
20:27:20 <atriq> Yeah, water source and running water
20:30:21 <atriq> Which generation's "Generation Y"?
20:30:24 <atriq> (not mcmap)
20:31:19 <fizzie> The one after X, I think? Maybe?
20:31:42 <atriq> Is it my generation? The one before me? The sort of half generation between my and my parents?
20:31:43 <atriq> ???
20:37:14 <olsner> if it wasn't obvious, these "generations" are arbitrary groupings that are very vaguely related to the time people are born, and anyone can invent a Generation Fnarf if they want to
20:37:55 <olsner> you could be in as many as a thousand generations simultaneously
20:38:03 <oerjan> Generation Fnarf is Gregor's, naturally.
20:38:28 <olsner> and his children will be Generation Fnarf'
20:38:58 <atriq> Apparently, Generation Y is the children of Generation X
20:39:02 <atriq> Who were the baby boomers
20:39:11 <atriq> So, I'm right at the end of Generation Y
20:43:29 <fizzie> I thought somehow that baby boomers were an older thing.
20:44:20 <atriq> Generation after WWII?
20:44:43 <fizzie> "There are no precise dates for when Generation Y starts and ends. Commentators use beginning birth dates ranging somewhere from the later 1970s[2] or the early 1980s to the early 2000s (decade).[3]"
20:44:52 <fizzie> Sounds kinda longish-timey.
20:45:05 <Gregor> lul
20:45:11 <Gregor> Generation Y is like six generations.
20:45:42 <oerjan> i thought a generation was about 30 years.
20:47:30 <fizzie> oerjan: It's supposed to be a "demographic cohort (a group of subjects with a common defining characteristic)", not exactly a generation in the "mean time between current children becoming parents" sense.
20:47:55 <Gregor> Mmm hmmm.
20:48:50 <olsner> oerjan: with all the kids running around getting kids nowadays, it's probably more like 15 years now
20:49:17 -!- augur has quit (Remote host closed the connection).
20:50:29 <atriq> 15 years!?
20:50:40 <atriq> What have I been missing for the past 3!?
20:51:06 -!- atriq has quit (Quit: Leaving).
20:51:22 <zzo38> About LAVA_TRAIT for lava only, it is actually something similar I did in MegaZeux, I changed it to do like that due to the features I have added to make new kind of objects, so that they can be treated as lava by movement functions.
20:51:24 <olsner> I suppose he left to start a family now
20:55:39 -!- boily1 has quit (Quit: Poulet!).
20:57:06 <fizzie> olsner: Finnish statistics for children born in 2011: mean age of mother, 30.3 years; 28.4 considering only firstborn.
20:57:46 <fizzie> (Firstborn children, that is. There are no statistics on the firstbornedness status of the mothers.)
21:01:33 <olsner> hmm, that'd mean finland is about 1 generation behind per 15 years
21:01:39 <fizzie> 25.0 for the latter figure over all of US in 2006.
21:02:38 -!- Phantom_Hoover has joined.
21:04:42 <fizzie> 25.2 in 2009.
21:09:06 <Gregor> So I “should” be having children.
21:09:09 <Gregor> Ha ha.
21:09:10 <Gregor> Ha ha.
21:09:12 <Gregor> *sob*
21:09:55 <fizzie> I did not know you aspire to being a mother.
21:11:26 <olsner> Gregor: Generation Fnarf' is dying for you to get going
21:11:59 <Gregor> fizzie: I assume the age is about the same for mothers and fathers >_<
21:12:22 <fizzie> I would guesstimate that it's higher for fathers.
21:12:37 <fizzie> The statistics reports don't bother saying.
21:13:00 <fizzie> These particular ones, anyway; I'm sure such a statistic exists.
21:14:23 <fizzie> 29.65 for a first-time father in 2010.
21:15:14 <fizzie> So about four-and-half years oldr, assuming the mother ages didn't drastically change in one year.
21:16:16 <Gregor> Hm.
21:16:19 <Arc_Koen> oerjan: yes, one specificity of Kipple is that operators can share operands, I thought it would be a good thing to show it in the truth-machine
21:16:19 <lambdabot> Arc_Koen: You have 1 new message. '/msg lambdabot @messages' to read it.
21:16:21 <Gregor> OK, got a little bit of time!
21:16:43 <shachaf> @ask Gregor hi
21:16:43 <lambdabot> Consider it noted.
21:16:46 <oerjan> ok
21:17:04 <Gregor> @messages
21:17:04 <lambdabot> shachaf asked 21s ago: hi
21:17:06 <fizzie> Coincidentally, I seem to be approximately 29.46, and there's a kind of a 0.75 year obligatory delay in the process, or so I believe.
21:17:09 <Arc_Koen> for instance, 0>a? first pushes a zero on a (with >), then if a's top element is 0, clear the stack
21:17:22 <fizzie> So I suppose I'll just forget about it.
21:18:15 <Arc_Koen> or the cat program (i>o) uses i both as an operand for the test condition of the '(' loop, and as a value to push on the output stack
21:18:28 <Arc_Koen> it's equivalent to (i i>o)
21:19:38 <Arc_Koen> I guess I should have made a comment about the modification but I thought it was minor
21:26:56 <Arc_Koen> hmm, question: is it possible to use non-printable characters in thue?
21:27:21 <Arc_Koen> I saw in the external resources a link to a brainfuck interpreter in thue, and thought it would be a cool thing to do
21:27:53 <Arc_Koen> and I'm thinking the easiest way to implement brainfuck cells is by stocking chars directly
21:28:51 <Arc_Koen> (well I guess writing them as 8-bit sequences would work as well, but because of . I'd need to have all the translations anyway)
21:28:53 <oerjan> afair the main problem with thue i/o is that input is line oriented in a way that makes it impossible to do input without possible "code injection"
21:29:16 <Arc_Koen> oh it's a whole line
21:29:18 <Arc_Koen> right
21:30:13 * itidus21 thinks.
21:30:15 <oerjan> iirc the brainfuck interpreter doesn't even try to use thue i/o for brainfuck i/o
21:30:38 <Arc_Koen> no I was using thue's input for brainfuck code
21:31:03 <oerjan> that should be possible as long as you have no comments
21:31:05 <Arc_Koen> this way I can place the brainfuck instruction next to the current cell
21:31:31 <Arc_Koen> yes, I decided to assume the input would be +-.,><[] only
21:31:41 <Arc_Koen> (though I may drop ,.)
21:31:43 -!- augur has joined.
21:35:49 <itidus21> (thinks) haiku 5 bytes 7 bytes 5 bytes (look at wiki found haifu) (thinks more) pi 3 1 4 1 5 9.. a program whence the number of tokens per line is the line number'th digit of pi
21:36:48 <itidus21> not a big deal, just a thing
21:38:42 <oerjan> trivial in something like C that has free whitespace
21:39:36 <itidus21> yeah
21:40:43 <itidus21> could be an interesting text format though.
21:41:29 <Phantom_Hoover> pi is so boring though
21:41:29 <lambdabot> Phantom_Hoover: You have 2 new messages. '/msg lambdabot @messages' to read them.
21:41:36 <itidus21> agh no no it wouldn't..........
21:41:37 <Phantom_Hoover> ooh, messages
21:43:41 <itidus21> oerjan: perhaps if each pi digit was a token length, including whitespace
21:44:05 <Arc_Koen> I think something that might help improve thue is an event-driven feature
21:44:29 <itidus21> uh i guess you wouldn't need whitespace actually
21:44:31 <Arc_Koen> like "if you just applied rule x, apply rule y"
21:44:56 <Phantom_Hoover> Sgeo, would you like me to find ian stewart and present your objections to him
21:45:03 <Phantom_Hoover> i think he has a lecture soon
21:45:18 <Phantom_Hoover> a public one obv. not a teaching one
21:45:22 <Arc_Koen> ok +->< were easy to implement... now to loops
21:45:41 <Sgeo> Phantom_Hoover, um
21:45:53 * Sgeo panics
21:46:05 <Phantom_Hoover> don't worry i'm not nearly motivated enough to do that
21:46:37 <Sgeo> Oh, ok
21:46:51 <itidus21> Heyaduck.Lookswonderfuleh
21:48:07 <Arc_Koen> oerjan: what do you think of http://sprunge.us/EPIe
21:48:21 <oerjan> itidus21: ooh, now that's a bit more interesting
21:48:30 <zzo38> Can we make up a programming language that requires use of bus conflicts and race conditions?
21:48:31 <itidus21> yes, i finally struck something
21:48:49 * itidus21 drops wool. picks up pitext
21:49:36 <oerjan> zzo38: it will have to be named after Rosa Parks
21:49:47 <Arc_Koen> (well BEGIN!::=BEGIN00000000!; should be BEGIN!::=BEGIN;00000000!; instead but appart from that)
21:50:13 <olsner> oerjan: ha!
21:50:15 <zzo38> oerjan: OK, but why, and why is Rosa Parks?
21:50:28 <Phantom_Hoover> Arc_Koen, this is Thue right
21:50:30 <olsner> why and how is she?
21:50:33 <Arc_Koen> yes
21:50:40 <itidus21> ok i just got that
21:50:42 <Arc_Koen> an interpreter for brainfuck
21:50:46 <zzo38> I mean, who is Rosa Parks?
21:50:51 <itidus21> hats off for that pun
21:51:18 <Arc_Koen> but I really don't know how to implement loops
21:51:48 <olsner> the whole program is one big loop, really
21:52:04 <Arc_Koen> what program?
21:52:08 <olsner> the thue program
21:52:11 <Arc_Koen> oh, yes
21:52:21 <Arc_Koen> but I mean I don't know how to implement brainfuck's [ and ]
21:52:27 <itidus21> bus conflicts!
21:52:43 <Arc_Koen> they'd need to keep the brainfuck code somewhere, instead of taking it char after char from input
21:52:52 <oerjan> zzo38: "Rosa Louise McCauley Parks (February 4, 1913 – October 24, 2005) was an African-American civil rights activist, whom the U.S. Congress called "the first lady of civil rights", and "the mother of the freedom movement"."
21:52:53 <itidus21> if i didn't know better i'd say zzo38 did that on purpose
21:53:14 <Arc_Koen> but if I do so, then how can I have statements like "if the current instruction is so, do so to the tape"?
21:53:19 <zzo38> Did what on purpose?
21:53:32 <itidus21> you made a joke
21:53:46 <zzo38> What joke?
21:53:51 <olsner> Arc_Koen: I think the usual way is to encode some kind of marker that points out the next thing for the interpreter to do
21:54:01 <oerjan> zzo38: no you made the setup to my rosa parks joke
21:54:04 <itidus21> <zzo38> Can we make up a programming language that requires use of bus conflicts and race conditions? <oerjan> zzo38: it will have to be named after Rosa Parks
21:54:26 <zzo38> OK
21:54:26 <Arc_Koen> olsner: I'm not sure I understand
21:55:07 <Arc_Koen> problem is if I have brainfuck code someplace, and the tape in another place, I cannot apply the code to the tape
21:55:21 <itidus21> you see zzo38, rosa parks caused a conflict on a bus when she refused to let a white person take her seat because her race was black
21:55:35 <Arc_Koen> the !::=::: statement allowed me to inject the brainfuck instruction directly into the tape
21:55:53 <zzo38> itidus21: OK. Now I know who is Rosa Parks.
21:55:58 -!- heroux has quit (Ping timeout: 245 seconds).
21:56:08 <itidus21> it couldn't be more fitting
21:56:09 <zzo38> But I didn't make a joke; oerjan did.
21:56:22 <oerjan> Arc_Koen: that _would_ seem to be a problem. i think you'll just have to move things about, that's usual with thue
21:56:34 <zzo38> But I am OK if you want to call it that.
21:57:20 <itidus21> i think they keep the bus in question in a museum or something
21:57:43 <itidus21> can't recall if i remember that or if i read something wrong
21:57:45 -!- heroux has joined.
21:57:53 -!- FreeFull has quit (Quit: Sleeeeeeep?).
21:57:58 <Arc_Koen> oerjan: move things about? like, moving a whole portion of brainfuck code inside the tape? problem is, thue doesn't allow for "variables" (as some kind of regexp or pattern-matching), so i'd need to write transformation laws for every possible code
21:58:38 <Arc_Koen> hhmmm, or I guess I could move the tape through the code instead of moving the code through the tape
21:58:46 <olsner> iirc, moving everything around is what the other bf in thue interpreter is doing ... I'm not too sure where the tape is, but there is stuff moving around in the state space that roughly corresponds to the instruction pointer
21:58:47 <Arc_Koen> that would feel weird though
21:58:59 <itidus21> the irony is on the intra bus conflicts and inter bus conflicts
22:01:44 <Arc_Koen> well I'll think about it, at least it looks possible now
22:01:51 <Arc_Koen> thank you for your help and good night
22:02:26 <olsner> it is definitely possible
22:04:37 -!- copumpkin has quit (Quit: Computer has gone to sleep.).
22:05:03 <Arc_Koen> hehe :)
22:06:15 <itidus21> Arc_Koen: yeah i have also been thinking about events..
22:06:59 <itidus21> ok you did say good night
22:07:02 <Arc_Koen> someone dropped a comment on list of ideas saying "hey I have ideas for an object-oriented derivative for thue, but I don't know how to create a page"
22:07:26 <Arc_Koen> btw, I really like today's xkcd
22:08:54 <Arc_Koen> (I'm puzzled as to how thue could be object-oriented... this is probably the last paradigm I would've thought of for a derivative)
22:09:05 <Arc_Koen> anyway, gnight
22:09:25 <olsner> hmm, object rewriting
22:11:04 <Arc_Koen> oerjan: shall I answer to the thue derivative idea on the list of ideas page? since it's not a user I don't know of another way to talk to him
22:13:53 <oerjan> that page has always been a bit talky anyway
22:23:20 -!- copumpkin has joined.
22:28:40 <Arc_Koen> well, done, good night for good
22:28:52 -!- Arc_Koen has quit (Quit: Arc_Koen).
22:48:59 <olsner> hmm, how does ^/([^q].*)$ not match '/+++++.'?
22:50:38 <shachaf> olsner: Maybe / is being treated as a special character?
22:54:44 <fizzie> Maybe there's a newline at the end. (Don't laugh. Sometimes there is!)
22:57:34 <fizzie> !perl '/+++++.' =~ m{^/([^q].*)$} ? print "match" : print "no";
22:57:35 <EgoBot> match
22:57:51 <jiella> itidus21: The Rosa Parks bus is in the Henry Ford museum.
22:58:19 <olsner> I think the problem was that RewriteCond applies to the next RewriteRule, didn't remember that part
23:00:08 <itidus21> thanks
23:00:30 <fizzie> olsner: Do you have brainfuck in your URIs?
23:00:36 <olsner> fizzie: yes
23:00:48 <fizzie> Sounds like a situation.
23:01:24 <olsner> that's not the problem though, the problem is that it's not working
23:01:55 -!- TeruFSX has joined.
23:02:28 <olsner> it seems to be going "oh, qq000000000000000101^ioiooooooooooooooo looks like a valid uri, let's go to that file!" and then serves a 400 Bad Request error
23:03:23 -!- Phantom_Hoover has quit (Read error: Connection reset by peer).
23:07:37 <olsner> !perl 'qqr000000000000000101^ioiooooooooooooooo' =~ m{^(q.*q[^r].*)$} ? print "match" : print "no";
23:07:38 <EgoBot> no
23:07:52 <olsner> oh, reading it backwards again
23:16:34 <itidus21> that's a fancy esolang
23:18:15 <olsner> argh, the problem was so damn silly :(
23:18:41 <olsner> you're supposed to add a colon followed by the input to the program followed by an underscore
23:18:50 <olsner> if you don't, then nothing happens
23:28:27 -!- monqy has joined.
23:36:23 -!- Nisstyre has quit (Ping timeout: 245 seconds).
23:38:05 -!- TeruFSX has quit (Ping timeout: 256 seconds).
23:40:22 <olsner> in other words, it was never broken in the first place, I was just using it wrong
23:49:49 <olsner> wtf, now I got the 10% bug but in the *other direction*
23:50:50 -!- Nisstyre has joined.
23:57:38 -!- Sgeo has quit (Ping timeout: 245 seconds).
23:58:23 <olsner> > (zipWith (/) `on` map (fromIntegral . ord)) "Oovvy#^y|vn$" "Hello World!"
23:58:25 <lambdabot> [1.0972222222222223,1.099009900990099,1.0925925925925926,1.0925925925925926...
00:02:21 -!- Sgeo has joined.
00:07:41 -!- TeruFSX has joined.
00:14:52 -!- jiella has quit (Quit: Leaving.).
00:18:07 -!- kwertii has joined.
00:18:21 <olsner> > (zipWith (/) `on` map (fromIntegral . ord)) "A[bbe\GSPehbZ\RS" "Hello World!" -- previous 10% bug, fwiw
00:18:23 <lambdabot> [0.9027777777777778,0.900990099009901,0.9074074074074074,0.9074074074074074...
00:45:07 <oerjan> olsner: what was this esolang again, i vaguely recall this 10% bug thing...
01:10:22 -!- monqy has quit (Quit: hello).
01:44:07 -!- trout has changed nick to const.
01:50:52 -!- madbr has joined.
01:52:50 -!- oerjan has quit (Quit: Ribbit).
01:55:52 -!- Jafet has quit (Quit: Leaving.).
02:19:40 -!- TeruFSX has quit (Ping timeout: 246 seconds).
02:33:20 -!- olsner has quit (Ping timeout: 246 seconds).
02:33:48 -!- olsner has joined.
02:37:52 <kmc> http://goatkcd.com/1115/sfw [nsfw]
03:06:35 -!- Jafet has joined.
03:14:55 -!- ogrom has joined.
03:16:14 -!- ogrom has quit (Client Quit).
03:38:22 <zzo38> What does 6502 do on each cycle of an instruction?
03:39:09 <madbr> usually a memory operation
03:39:50 <madbr> in some cases just an "internal operation" (all 2 cycle instructions that don't access memory are like this)
03:40:08 <madbr> such as nop (2 cycles)
03:40:33 <madbr> or lsr a (2 cycles)
03:40:55 <zzo38> But in instructions taking longer to execute, what memory access read/write done with each cycle? When does it read the next instruction and its operands?
03:41:09 <madbr> (a large majority of cycles do a memory op)
03:41:24 <madbr> hm
03:41:36 <madbr> I don't think it is pipelined
03:42:14 <madbr> so a cycle is something like
03:42:46 <madbr> [cycle 1] read instruction
03:43:17 <madbr> [cycle 2] no memory op but ALU is active
03:44:01 <zzo38> If there is no memory operations, what is on the address bus at that time?
03:44:09 <madbr> who knows
03:44:44 -!- sivoais has quit (Ping timeout: 246 seconds).
03:44:46 <kmc> F L O A T I N G B U S
03:44:46 <madbr> probably the same address as last cycle, or 0
03:44:57 <madbr> or z :D
03:46:10 <madbr> fun fact: the original nmos 6502 was so slow that it actually only accessed memory half the cycles on the Apple II
03:46:24 <madbr> the other half was used by the video display :D
03:46:50 <kmc> i heard the original nmos 6502 would also do crazy shit if you gave it invalid instructions
03:46:52 <zzo38> Now I know.
03:47:23 <madbr> kmc: yeah that's what the docs say :D
03:47:24 <zzo38> I think there are unofficial instructions?
03:47:38 <kmc> i thought some of them were byproducts of the instruction decode logic
03:47:47 <madbr> zzo: the docs say that a lot are unstable
03:47:58 <madbr> plus they won't work on a 65816
03:48:06 <zzo38> Yes I know, I read that some are unstable, but they said some are stable.
03:48:38 <zzo38> But some are the same as other instructions and so are not so useful unless you are also using the instruction opcodes as data in the same program
03:48:44 -!- sivoais has joined.
03:49:18 <ion> Demo sceners have been using the “invalid” 6502 instructions a lot.
03:49:54 <madbr> supposedly they do weird shit like adding and anding stuff at the same time
03:50:13 <zzo38> Such things can occasionally be useful.
03:50:46 <ion> If you’re counting cycles, certainly.
03:51:31 <zzo38> I have added the stable unofficial instructions into Unofficial MagicKit (only available for targets which do not override those instructions with new ones)
03:53:04 <madbr> reading about the 6502 it does come off as totally underpowered
03:53:28 <madbr> or even the 65816
04:01:25 <zzo38> 6502 has decimal mode, but some 6502 based computers lack decimal mode
04:03:03 <madbr> who uses decimal mode?
04:03:13 <zzo38> Is the decimal mode useful for something other than decimal calculation?
04:03:39 <kmc> trolling
04:03:42 <zzo38> I don't know who uses decimal mode.
04:03:52 <madbr> my guess is: banks
04:05:59 <zzo38> Some programs I wrote are for Famicom which lacks decimal mode, so I have never used it. If I program a computer which does have decimal mode I may sometimes used it.
04:06:25 <zzo38> x86 has some instructions for BCD arithmetic.
04:06:41 <zzo38> But I think they cannot be used in 64-bit mode.
04:07:04 <kmc> correct :/
04:07:34 <kmc> they are useful for things besides BCD
04:07:47 <kmc> AAM does AH <- AL / 10; AL <- AL % 10
04:07:56 <kmc> but you can actually change that 10 by changing the second byte of the instruction
04:07:58 <zzo38> Yes, AAM and AAD, you can change the base
04:08:01 <zzo38> I know that
04:09:47 <zzo38> So I suppose setting the base to 1 would be a way to move AL to AH and then set AL to zero, it might be slower but it might also be a smaller code
04:09:58 <zzo38> What happen if you set the base to zero?
04:11:00 <zzo38> Will GCC or LLVM make these instructions if it is not 64-bit mode?
04:12:12 <madbr> probably not imho
04:12:24 <madbr> they probably don't run fast on modern processors
04:12:52 <zzo38> I know it may be slow, but might it sometimes result in a smaller code, if you select that option for some subroutines?
04:13:11 <madbr> smaller code?
04:13:41 <madbr> like, you can't even express BCD operations in C/C++ afaik
04:13:54 <zzo38> In case you want to optimize some functions for size and some for speed
04:15:29 <madbr> how would you shrink a function by using BCD?
04:15:34 <zzo38> I know C has no commands for BCD operation, and LLVM also has no commands for BCD operation, but some things may sometime result in equivalent to such operation, or even other operation which the target computer may have
04:17:01 <zzo38> madbr: I don't know, but it might if the function is used for making BCD calculation. And anyways, the AAM and AAD instruction can be used for operations other than BCD arithmetic too.
04:17:23 <madbr> like what
04:18:05 <zzo38> They described above AAM does AH <- AL / 10; AL <- AL % 10 but it does not have to be 10 you can use a different number instead
04:18:33 -!- kwertii has quit (Quit: kwertii).
04:20:39 <zzo38> Such as if you just want to move AL to AH and then set AL to zero, or to move some of the bits of the numbers in certain way, it would probably be very slow to use division but may result in a smaller code, such as if used only for initialization, or if you want the code to fit in MBR
04:22:57 <madbr> perhaps
04:23:13 <madbr> still hare brained and no new instruction set should have those monstruosities :D
04:24:35 <madbr> like, wtf, 6 BCD instructions on x86
04:24:45 <madbr> which could have been something useful instead
04:25:55 <pikhq> Yeah, but in CISC design it almost makes sense
04:26:54 <zzo38> Well, I think AAM and AAD are useful instructions.
04:27:06 -!- Jafet has quit (Ping timeout: 245 seconds).
04:27:10 <madbr> they all have 1 byte opcodes too
04:27:52 <madbr> zzo: no way
04:28:09 <madbr> they take 10/18 cycles on the pentium
04:28:23 <kmc> bear in mind that x86 is evolved from a wee little calculator processor
04:28:51 <pikhq> Yeah. Its lineage goes back to a CPU with 4-bit address space for a desktop calculator.
04:28:53 -!- Jafet has joined.
04:29:06 <pikhq> Erm. Was it 4 bit address space?
04:29:12 <madbr> depressing but true
04:29:13 <pikhq> Might've just been 4 bit registers.
04:29:19 <pikhq> Anyways. Silly.
04:29:42 <pikhq> 12-bit address space.
04:29:46 <pikhq> 4 bit registers.
04:29:48 <madbr> amazingly it's still better than the 6502
04:30:09 <madbr> which never got a 32bit version
04:30:21 <pikhq> It did.
04:30:36 <pikhq> Sorry, thinko.
04:30:39 <pikhq> It got a 16 bit version.
04:30:41 <zzo38> Yes they are too slow, but if they are not too slow it may sometimes be useful, and it can also be useful if you do not need it to be fast
04:30:50 <madbr> yeah, 65816, used on the snes
04:31:06 <pikhq> *Not* a 32 bit version.
04:31:33 <madbr> zzo: you could simply store a LUT somewhere
04:32:07 <madbr> and do the same operation in 1 cycle, pairable on the pentium
04:34:45 <kmc> it's all about the pentiums
04:36:18 <madbr> well, essentially on the pentium they decided which instructions would be fast, and which ones would be slow
04:36:29 <madbr> and the same selection applies to the later processors
04:37:58 <madbr> and essentially that's where they turned x86 into a bogo-risc
04:45:17 <shachaf> kmc: mosh works with the scroll wheel now?
04:45:48 <kmc> it does?
04:45:59 <kmc> for what values of "works"?
04:46:15 <shachaf> I'm moshing to my irssi and scrolling the scroll wheel goes up and down in history.
04:46:43 <kmc> huh
04:47:04 <kmc> i am surprised
04:47:22 <shachaf> Hmm, this might be a fluke.
04:47:31 -!- Jafet has quit (Quit: Leaving.).
04:47:39 <kmc> i don't think we're setting alternate screen on the client
04:47:42 <kmc> https://github.com/keithw/mosh/issues/2 is still open
04:47:48 <kmc> you can ask in #mosh though
04:47:50 <shachaf> Yep, even if I detach from screen, scroll-wheel goes up and down in bash history.
04:48:08 <shachaf> Somehow I got into scroll-wheel-sends-up-and-down-arrows mode, or something.
04:49:10 <kmc> huh
04:49:12 <kmc> well that's useful
04:50:18 <kmc> in the neon sign, scrolling up and down, i am born again
04:50:20 <shachaf> kmc: Hah, irssi put me in this mode.
04:50:25 <kmc> irssi ate my balls
04:50:31 <kmc> brb
04:50:39 <shachaf> I previous sshed to irssi and exited with ~.
04:57:57 <madbr> the ARM has like 10 different multiply instructions
05:00:57 <madbr> wait no
05:00:58 <madbr> 20
05:00:58 <zzo38> What kind of multiply instrucions?
05:01:10 <madbr> multiply, multiply accumulate, multiply subtract
05:01:20 <madbr> multiply to 64 bit
05:01:24 <madbr> multiply 16 bit
05:02:38 <madbr> weird "wide" multiply (32*16)
05:03:29 <madbr> multiply 16 bit into 64 bit accumulator (weird :o )
05:04:25 <madbr> double 16 bit multiply adding/subtracting the productions
05:05:06 <madbr> 32 bit mul keeping only the most significant 32 bits of the result
05:06:31 <madbr> dual 16bit multiply adding/subtracting the products then accumulating
05:07:29 <kmc> multiply with combining grass radical above
05:07:35 <madbr> same but accumulating 64bit
05:08:36 <madbr> multiply 32 bit into 64bit accumulator
05:08:39 <madbr> and that's it
05:09:00 <madbr> ...for the non SIMD multiplications :D
05:09:18 <madbr> the SIMD ones are even crazier :D
05:13:38 <madbr> good thing ARMs don't have bcd
05:17:15 <zzo38> Do you know any computers with a triple indirect jump with post increment instruction?
05:18:38 <kmc> well the RCA 1802 has weird indirect registers
05:18:40 <kmc> "Using the SEP instruction, you can select any of the 16 registers to be the program counter; using the SEX instruction, you can select any of the 16-bit registers to be the index register."
05:19:08 <kmc> but i don't know what the addressing modes are
05:19:16 <kmc> zzo38: do you want this address mode for any particular purpose?
05:20:05 <zzo38> I am just wondering if anything has something like that.
05:20:48 <zzo38> It allows you to change which register is the program counter? I have never seen anything like that before.
05:21:05 <kmc> yes
05:21:23 <kmc> as wikipedia describes, this was sometimes used for fast subroutine calls, even alternating coroutines
05:30:07 <madbr> so CISC
05:30:13 <madbr> sooooooooo CISC
05:32:23 <madbr> can be translated as "this architecture will never be able to be pipelined"
05:34:59 <kmc> heh
05:35:27 <kmc> ARM lets you swap the contents of the instruction pointer and another register, right?
05:35:31 <kmc> that is similarly useful and less crazy
05:35:56 <madbr> yeah ARM has the PC as one of the GPRs
05:36:05 <madbr> which turned out to be a mistake
05:36:21 <madbr> now if you look at the ARM manual most instructions say
05:36:44 <madbr> "non of the operands of this instruction can be r15 (pc)"
05:37:02 <kmc> that's too bad
05:37:27 <madbr> it's ok when you're running at 10mhz and your pipeline is 2 cycles long
05:38:24 <madbr> once your cpu is doing 2 instructions at the same time then your PC is not your PC anymore
05:38:58 <madbr> not to mention crazy out of order CPUs (essentially all modern CPUs)
05:39:47 -!- sivoais has quit (Read error: Connection reset by peer).
05:40:04 <Sgeo> CISC?
05:40:06 <Sgeo> Pipelined?
05:40:25 <madbr> sgeo: it's possible!
05:40:34 -!- sivoais has joined.
05:40:39 <Sgeo> As in, I don't know what either of those mean.
05:41:00 <Sgeo> I know RISC is reduced ... something about few instructions
05:41:08 <Sgeo> Like a small number of opcodes or something
05:41:20 <madbr> yeah
05:41:52 <kmc> a CPU has several stages to process an instruction
05:42:13 <kmc> fetch the instruction from memory, figure out what it means, fetch operand(s) from memory, do arithmetic or whatever, save result
05:42:18 <madbr> risc = lots of registers, high instruction set orthogonality
05:42:28 <kmc> each of these has a different piece of hardware
05:42:42 <kmc> it would suck if we only used one of those units at a time
05:42:50 <madbr> yeah but the number of stages varies a lot
05:42:59 <kmc> in a pipelined processor we are fetching one instruction while we decode the previous one, while we fetch for another, etc.
05:43:04 <kmc> yeah this is a simplistic explanation
05:43:06 <kmc> but that's the idea
05:43:23 <Sgeo> Ah
05:43:52 <madbr> the ideal early RISC cpu runs 1 instruction per cycle
05:43:54 <kmc> another way to look at it is, if you tried to do all that stuff in one clock cycle, your max clock speed would be really low, because of the delay to propogate through all those logic gates
05:43:56 <Sgeo> What happens with jumps or conditionals?
05:44:10 <madbr> sgeo: depends on the length of the pipeline
05:44:13 <kmc> yeah, that's a trick
05:44:28 <kmc> this is why on MIPS processors, the instruction after a branch gets executed even if the branch is taken
05:44:35 <madbr> on longer pipelines and stuff like the x86 it tries to predict the result
05:44:46 <kmc> RISC processors tend to expose these implementation details, on the grounds that the compiler can deal with them
05:45:10 <Sgeo> Oh, hmm. I thought maybe the fetched thing that was after the jump just gets discarded
05:45:26 <madbr> sgeo: not on the MIPS
05:45:35 <kmc> yeah you can stall the pipeline like that
05:45:43 <madbr> it makes CPUs easier to design
05:45:54 <kmc> but then you're executing fewer than one instruction per clock
05:46:05 <kmc> if the compiler has nothing useful to put there, it can insert a NOP
05:46:08 <madbr> but there's not much point later on when your pipeline is 8 cycles and you have to do branch prediction anyways
05:46:09 <kmc> otherwise maybe it can do some useful work
05:46:33 <madbr> 1 cycle isn't much, you can pretty much always put something there
05:47:20 <kmc> Sgeo: another problem is data dependencies, what if a write and a read from the same register are in the ppipeline at the same time
05:47:31 <madbr> oh yeah
05:47:48 <kmc> you can stall, or you can insert "bypass" paths which let it read the value that will be written, rather than the stale value that's in the register file
05:47:54 <kmc> which adds complexity
05:48:00 <kmc> MIT's 6.004 is a really nice intro to this stuff
05:48:03 <madbr> if your cpu is a well designed RISC you can do these all in 1 cycle
05:48:13 <kmc> you design a RISC processor in a logic gate level simulator
05:48:19 <kmc> and then you can optimize it for speed
05:48:32 <kmc> the labs and software are available online
05:48:33 <madbr> but once you're doing like 2 operations at the same time etc you have to introduce stalls
05:48:41 <madbr> or out of order execution
05:49:09 <kmc> i did the 2 stage pipeline with stalls on branches, which wasn't too bad
05:49:16 <kmc> but more than 2 stages gets hairy
05:50:32 <fizzie> TMS320C64x has two-instruction delay slots. Except it's one instruction if it's one of the instructions that are followed by an immediate word. Keeping track of that kind of thing manually is kind of a pain. (Though I suppose you're meant to mostly just write C and use the provided algo libs.)
05:50:45 <kmc> that's a DSP?
05:50:52 <fizzie> Yes.
05:51:00 <kmc> VLIW is still popular for DSPs right?
05:51:02 * kmc does not know why
05:51:19 <madbr> kmc: they're probably easier to design
05:51:49 <madbr> of course that's a road to the intel itanium and we all know what happened to that one :D
05:51:54 <fizzie> I don't know how popular; the C64x used by the popular-in-phones OMAP platform (at least OMAP3 and I think 4 too) is a VLIW thing.
05:52:03 <kmc> it's amazing how far the inner workings of a CPU are from the virtual machine suggested by the instruction set
05:52:16 <kmc> when people talk about how C and assembly tell you "what the machine is really doing" i just laugh and laugh
05:52:39 <shachaf> They tell you what *a* machine is really doing.
05:52:44 <kmc> (of course with C people also forget that there's an optimizing compiler which can make liberal use of undefined behavior)
05:52:47 <shachaf> There's always another turtle somewhere.
05:52:52 <kmc> yeah
05:53:02 <kmc> but they act like they've found the bottom turtle and it's special
05:53:33 <kmc> anyway
05:53:37 <zzo38> We should make up the CPU where the instruction set corresponds closely to the inner working and work faster too.
05:53:38 <shachaf> The ISA is a pretty good turtle.
05:53:44 <madbr> well, it's the bottom turtle you can actually write for
05:53:52 <kmc> zzo38: that is the idea of RISC basically
05:53:54 <madbr> zzo: that's called a VLIW
05:54:19 <kmc> yeah i guess VLIW is that idea for superscalar
05:54:25 <madbr> zzo: the big problem with VLIW is that they bust the instruction cache
05:54:42 <madbr> you'd end up with an instruction word like
05:54:49 <pikhq> kmc: Doncha *love* it when people act like x86 asm is what the machine "really does"?
05:54:58 <kmc> shachaf: do you know about implementing a touch / proximity sensor with two digital I/O pins, a resistor, and a piece of wire?
05:55:13 <shachaf> kmc: Nope!
05:55:18 <pikhq> Rather than just being the lowest abstraction Intel provides? *urgh*
05:55:22 -!- nortti has quit (Ping timeout: 268 seconds).
05:55:25 <kmc> well you set one pin as input and one as output
05:55:41 <kmc> connect the pins with a big resistor (≥ 1 MΩ)
05:55:48 <madbr> add r0, r1, r4 sub r3, r7, r8 add r9, r2, r14 shfnop mulnop ldr r5, r13
05:55:50 <zzo38> I have had ideas of CPU instruction sets based on what is hardware what I was thinking of.
05:56:01 <kmc> and also connect your wire or metal plate to the input pin
05:56:18 <madbr> essentially a bunch of ALUs, each one gets an operation on every cycle
05:56:28 <kmc> then you simply toggle the voltage at the output, and see how long it takes the input to match
05:56:43 <kmc> this is a measure of the capacitance on that pin, which will change if someone touches or gets near the wire / plate
05:56:54 <madbr> the other big problem with an architecture like that is that, what happens if you have a cache miss?
05:57:12 <shachaf> Makes sense.
05:57:16 <madbr> you'd have to stall everything
05:58:05 <madbr> also you'd probably have to cover the chip in multiplexers
05:58:55 <kmc> the other other problem is that your compiler has to be crazy smart
05:59:05 <madbr> true
05:59:08 <zzo38> Another idea I have, is first you need a open-specification FPGA (some people have partially reverse-engineered the AT40k FPGA, so we can use that), and have a compiler which takes LLVM codes with speed annotations (such as: this function runs in less than 1 million clock cycles if the third parameter is divisible by 5) and creates a hardware optimized for running this program.
05:59:13 <madbr> dunno how smart it would have to be but yeah
05:59:48 <madbr> would be workable if it could reorder operations over multiple loop iterations but afaik C pointers usually have some ways to defeat that
06:00:10 <zzo38> Does what I said would work at all?
06:00:35 <madbr> tho I've heard that GCC is even able to autovectorize loops so it might be workable after all
06:01:20 <zzo38> If the FPGA is capable of reprogramming itself at runtime, then you can have not only self-modifying software codes, but you can have self-modifying hardware codes as well.
06:01:34 <kmc> perhaps VLIW is popular for DSP because people are willing to hand-code these algorithms (and use them from libraries) rather than expecting to feed some 40 year old FORTRAN codes in and get good performance
06:01:54 <madbr> imho the problem is C/C++
06:02:10 <shachaf> kmc would surely agree that "C/C++" is a problem.
06:02:31 <kmc> using "code" as a non-uncountable noun is a sign that one has worked in academic computing
06:02:36 <zzo38> What problem is C/C++? It has some problems but I don't know what problem you mean.
06:02:38 <kmc> like "here is a code for fourier transform"
06:02:48 <kmc> "here is a collection of codes for manipulating splines"
06:03:21 <madbr> zzo: the general problem is that the user might throw weird pointers at your algo
06:03:26 <Sgeo> I thought "code" as a non-uncountable noun is a sign that you don't understand programming at all and want people to give you stuff to copy and paste
06:03:29 -!- nortti has joined.
06:03:33 <madbr> like multiple buffers that are really the same buffer
06:04:32 <zzo38> It is why you have to specify in your documentation, if it is allow to be the same buffer or not, and stuff like that
06:04:47 <kmc> the compiler doesn't know that
06:04:59 <kmc> well you can use the 'restrict' keyword in some cases
06:05:01 <madbr> zzo: that's why older C/C++ compilers have a "no aliasing" switch
06:05:10 <zzo38> I think they added the "restrict" keyword so that the compiler will know that?
06:05:21 <madbr> which means that you promise pretty promise that you're not going to do it
06:05:22 <zzo38> And I also think LLVM has corrected some things?
06:05:34 <zzo38> Does LLVM have all of these things better way?
06:05:42 <madbr> though recent compilers don't seem to have the switch so they might have found out some better way yeah
06:07:04 <madbr> if that is the case it reduces the VLIW's problems to "code size" and "how to prevent a stall when you have to fetch the data all the way from the RAM"
06:07:48 <nortti> stopping irssi with ^z accidentaly seems to result in nothing else than disconnection from everywhere
06:08:27 <Sgeo> My stomach hurts, don't know if it's hunger or nausea
06:08:32 <Sgeo> Or what
06:09:24 <zzo38> My idea is to have multiple memory connected, one for program, one for data X, one for data Y, and any of them can be switched with each other, and then have the address bus for data X and Y to be their own registers, the data bus are also their own registers, use LFSR-based PC with one register affecting the LFSR taps, an instruction transfer register to register with condition....
06:09:43 <madbr> zzo: you don't need multiple memories when you have cache
06:10:52 <zzo38> Having the LFSR-based PC with a register affecting the LFSR taps is somewhat like having a multi-dimensional programming language, if done in the correct way needed to do this, I guess
06:11:18 <zzo38> O, and then also add multiplexer calculation like how the Muxcomp esolang does it
06:11:51 <zzo38> These are just some ideas I have to make a CPU; I don't know how it is really working.
06:12:31 <madbr> I'd try going for one that has the maximum number of ALUs
06:12:35 <zzo38> madbr: But when you have cache, don't you then also need to have stuff such as cache invalidation and checking if it is cache and so on, unless your instruction set is dealing directly with the cache
06:12:48 <madbr> and base everything else around keeping those ALUs full most of the time
06:13:41 <madbr> zzo: yeah but afaik that's not so bad
06:14:57 <zzo38> It also seems difficult to predict how many clock cycles a certain sequence of instructions will take if it automatically reorders them and put into cache and all that other stuff.
06:16:45 <madbr> true but still
06:16:58 <madbr> considering how DRAM works it's a lot faster to have cache
06:17:30 <madbr> also it prevents the need of having multiple ram areas for program, data x etc...
06:17:47 <zzo38> OK, but I still want it that the cache only works with instructions that directly tells the cache what to do
06:18:33 <madbr> yeah but then the compiler has to guess what goes in cache
06:18:53 <madbr> and all the manual cache management will probably slow it down a lot
06:20:24 <madbr> the big benefit of cache is that essentially your inner CPU core doesn't have to deal with DRAM anymore
06:20:49 <madbr> it becomes just "load from cache, stall if I get a cache miss"
06:21:31 <kmc> right, for a long time the DRAM controller wasn't even on the processor
06:22:30 <zzo38> But you could require that instructions can only execute from cache, and these instructions modify other instructions in cache in order to affect the values you are dealing with, and have the external address/data bus to just be registers visible to the program stored in cache
06:23:46 <madbr> good luck writing a program for that
06:25:24 <zzo38> You could then also have multi-cores executing separate programs simultaneously, with some registers shared, and others which are not shared, and some which are partially shared.
06:26:01 <madbr> aka the Cell processor
06:30:56 <zzo38> Or have something like that checkboard design mentioned on esolang list of ideas, which has the checkerboard of processor and memory (so each processor accesses four memory cores and each memory is accessed by four processor cores)
06:31:17 <zzo38> I don't know how well it would work
06:31:22 <madbr> hm
06:31:43 <madbr> I'm not familiar with multicore operation
06:31:55 <zzo38> Neither am I, actually.
06:32:19 <madbr> except from the user point of view ("you have to mutex everything because nothing happens in the real order")
06:33:06 <zzo38> I wrote in esolang list of ideas, make a programming language which requires bus conflicts and race conditions in order to work.
06:33:29 <madbr> one nice idea I had is a dataflow processor
06:33:44 <madbr> like, instead of having "write x to register y"
06:33:57 <madbr> have each register take a new value each cycle
06:34:06 <madbr> and have one ALU per register
06:34:17 <zzo38> Yes, do like that.
06:34:25 <zzo38> Somehow.
06:35:29 <madbr> maybe with access to values produced 2 or 3 cycles ago
06:35:38 <zzo38> OK
06:35:39 <madbr> or switching between two sets of registers
06:36:25 <zzo38> What would you think about my idea of making the program which includes the hardware description of the CPU optimized to execute this specific program?
06:36:42 <madbr> afaik that already exists
06:37:06 <zzo38> Is it possible to compile LLVM programs into such things?
06:39:25 <madbr> no, it's some crazy expensive design software
06:40:12 <madbr> afaik most people just get a fast ARM system on a chip and run the C++ on that instead :D
06:41:58 <madbr> it's probably not very different from writing a C++ program and optimising the few loops that run a lot in ASM
06:44:11 <nortti> http://jollatides.com/2012/10/01/jolla-handset-poll-give-jolla-your-feedback/
06:48:12 <madbr> the other weird thing is that the amount of gates and latency of components like adders can vary
06:49:23 <madbr> afaik modern processors use very low latency adders which means they're probably enormous
06:49:48 <zzo38> ARM has some complicated instructions, requires memory of differing data sizes, apparently you are not allowed to use some instructions unless you pay them, and OpenCores made a "Amber" processor based on ARM but they were sued and not allowed to make anything beyond ARMv2
06:50:43 <madbr> heh
06:50:51 <fizzie> Oooh: a CPU where you have to plug in a credit card to enable some parts of the instruction set. And a per-instruction charge. Careful with those loops, now!
06:51:20 <zzo38> I think this is stupid so I do not want to use ARM in a computer design.
06:51:23 <madbr> fizzie: that's ARM's revenue model
06:52:13 <madbr> from what I can tell they license the SIMD unit and stuff like that
06:52:52 <madbr> which is why some androids don't have them and you have to have a C++ version of like everything :D
06:53:40 <fizzie> Perhaps, but it doesn't quite go as far as getting money when the individual end users want to run something that takes advantage of tricky parts.
06:53:46 <madbr> multiple data sizes is ok, the really complicated one afaik is when you allow unaligned accesses
06:54:34 <madbr> supposedly there's a patent on that too
06:58:57 <madbr> how about a design that has 2 modes: RISC, and VLIW
06:59:16 <madbr> RISC is designed to run C++, have compact code (16bit opcodes)
06:59:40 <madbr> VLIW is for the few inner loops that run a lot and have to be optimised
07:01:03 <madbr> the vliw mode can probably even be specially simplified
07:01:47 <madbr> since it probably doesn't have to deal with, say, real branching
07:02:05 <madbr> it's going to mostly loop the same piece of code hundreads of time
07:02:16 <madbr> ok sleep
07:02:18 -!- madbr has quit (Quit: Radiateur).
07:04:04 <fizzie> Blerp. They upgraded this workstation, and now XMonad keybindings for switching between monitors (mod-{w,e,r}) are in the wrong order, because screen 0 happens to be the right one, not the left one.
07:07:08 <fizzie> Man, these Intel model numbers, I've completely lost track of them. It used to be so simple.
07:07:20 <fizzie> Now this new workstation has an "E31230".
07:22:46 <zzo38> What hardware programming language would you program it by specifying what gates you use and what connection you use between them and what propagation delay?
07:31:09 -!- zzo38 has quit (Remote host closed the connection).
07:46:23 <Lumpio-> I wonder if he was trying to describe something like verilog
08:03:54 -!- atriq has joined.
08:04:04 <atriq> @messages?
08:04:04 <lambdabot> Sorry, no messages today.
08:10:22 <fizzie> I can't rotate this single screen when it's in a NVidia TwinView configuration?
08:15:40 <atriq> fizzie, my lack of knowledge of C is letting me down
08:15:53 <atriq> Does "typedef int8_t jbyte" name jbyte as a type synonym of int8_t?
08:16:08 <fizzie> Yes.
08:16:14 <atriq> Okay
08:16:27 <atriq> So, in Haskell, that'd be something like "type JByte = Int8"
08:17:33 <fizzie> If you take a regular declaration that makes 'foo', say, a pointer to a no-arg function returning int -- int (*foo)(void) -- then adding a typedef in front makes 'foo' a synonym for the type it would've normally made 'foo' an instance of.
08:18:17 <atriq> Okay
08:18:28 <fizzie> "In a declaration whose storage-class specifier is typedef, each declarator defines an identifier to be a typedef name that denotes the type specified for the identifier in the way described in 6.7.6."
08:18:44 <fizzie> It's kind of a silly that 'typedef' is a "storage-class specifier".
08:19:37 <fizzie> ("The typedef specifier is called a ‘‘storage-class specifier’’ for syntactic convenience only.")
08:19:43 -!- Arc_Koen has joined.
08:23:02 <atriq> Well, my C textbook is new enough to tell me about typedef, and despite elliott's recommendations I have not burnt it yet.
08:23:05 <atriq> So, I'll read that
09:05:34 -!- pikhq_ has joined.
09:05:44 -!- pikhq has quit (Ping timeout: 255 seconds).
09:06:56 <Arc_Koen> hello
09:07:02 <atriq> Hey
09:07:32 <Arc_Koen> so what's up? have you completed your fueue interpreter in haskell?
09:07:45 <kallisti> > (replicate 3 ) (replicate 2 [2, 2])
09:07:47 <lambdabot> [[[2,2],[2,2]],[[2,2],[2,2]],[[2,2],[2,2]]]
09:07:52 <atriq> Haven't been working on it
09:08:04 <atriq> I'm trying to port something fizzie and elliott made a while back to Haskell
09:13:48 <atriq> I'm having difficulties in that C is not Haskell
09:17:56 <kallisti> atriq: go on
09:18:06 * kallisti has been working on a term rewriting grammar
09:18:10 <atriq> Mutable variables, for a start
09:18:43 <atriq> Actually, that's the only difference between C and Haskell I'm having trouble accounting ofr
09:18:45 <atriq> *for
09:18:53 <kallisti> pattern -> [replcaement | condition]
09:19:01 <kallisti> each symbol has a weight
09:19:03 <kallisti> so it's really a tuple
09:19:31 <atriq> Is there a way to search a github thing?
09:19:43 <kallisti> ..
09:19:50 <kallisti> uh, github?
09:19:55 <atriq> No
09:20:02 <atriq> A thing on github
09:20:06 * kallisti sips gumbo
09:23:02 <fizzie> atriq: GitHub's own "advanced search" form at least at some point.
09:23:09 <atriq> Okay
09:23:39 <fizzie> You need some kind of a "repo:foo/bar" specifier and then tell it to search from source code too.
09:24:32 <fizzie> https://github.com/search and the bits about "Code Search".
09:28:53 <kallisti> atriq: I actually have a private git server
09:28:58 <kallisti> I could set up a web interface
09:29:05 <atriq> No, it's okay
09:35:03 <Arc_Koen> arrrrrrh
09:35:12 <Arc_Koen> that was too easy
09:35:25 <Arc_Koen> but I forgot about nested loops
09:35:56 <Arc_Koen> how the hell can a brainfuck interpreter in thue account for nested loop?
09:36:21 -!- mig22 has joined.
09:36:28 <Arc_Koen> in order to "jump to the matching ]" I usually have a variable that count how deep in nested loops the ip is
09:36:35 <Arc_Koen> but thue has no variables
09:37:28 <kallisti> Arc_Koen: I was thinking of a string rewriting grammar that uses a term rewriting system
09:37:33 <kallisti> but on a tree of weighted values
09:37:47 <kallisti> with conditions on the weights, and a pattern from the tree
09:38:17 <kallisti> and the resulting term and also an update of the current state of the weight.
09:39:22 <kallisti> condition | pattern -> replacement[state]
09:39:36 <kallisti> state can be ++, --, or a numeric expression of the input weights
09:40:13 <kallisti> replacement is a result of tokens from the input patterns capture symbols
09:40:31 <Arc_Koen> I'm not sure I know what you are talking about
09:40:37 <kallisti> condition is any numeric expression
09:41:21 <kallisti> a + b | "a -> b" -> ab [a + b]
09:41:48 <kallisti> transforms an -> into an addition of 2 weights
09:47:05 <Arc_Koen> what about http://esolangs.org/wiki/Definer
09:49:51 <kallisti> not quite
09:49:55 <kallisti> hm
09:50:01 <kallisti> term rewriting though
09:56:22 -!- ais523 has joined.
10:00:34 -!- Phantom_Hoover has joined.
10:00:37 -!- Phantom__Hoover has joined.
10:00:38 -!- Phantom__Hoover has quit (Client Quit).
10:04:16 -!- carado has joined.
10:04:43 -!- carado has quit (Client Quit).
10:04:57 -!- carado has joined.
10:08:44 -!- atriq has quit (Remote host closed the connection).
10:37:11 -!- jiella has joined.
10:47:05 <barts> has anyone here tried programming the Z80 or one of its derivatives?
10:48:06 <Phantom_Hoover> I've heard it mentioned.
10:48:12 <Phantom_Hoover> Can't remember by whom.
10:58:54 <fizzie> I've done it a bit.
10:59:02 <fizzie> And I am under the impression that others have, too.
10:59:04 <itidus21> `pastelogs z80
10:59:27 <fizzie> http://zem.fi/rfk86/ <- mainly I just made that.
10:59:43 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.6799
11:00:02 <itidus21> `pastelogs z80
11:00:11 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.19994
11:00:39 <fizzie> Well, I do know mooz did quite a lot for the calculator, but he's no longer here.
11:01:36 <barts> which one have you programmed?
11:01:47 <fizzie> Just the original.
11:08:18 -!- barts_ has joined.
11:08:33 -!- ais523_ has joined.
11:09:34 -!- ais523 has quit (Ping timeout: 240 seconds).
11:10:41 -!- ais523_ has changed nick to ais253.
11:10:43 -!- ais253 has changed nick to ais523.
11:11:36 -!- barts has quit (Ping timeout: 252 seconds).
11:11:50 <kallisti> http://en.wikipedia.org/wiki/Gumbo
11:16:04 -!- Phantom_Hoover has quit (Ping timeout: 248 seconds).
11:21:11 <fizzie> Now I'm hungry.
11:34:40 -!- ais523 has quit (Remote host closed the connection).
11:35:23 -!- carado has quit (Quit: Leaving).
11:39:33 -!- ais523 has joined.
11:41:19 -!- carado has joined.
11:50:16 -!- Jafet has joined.
11:59:03 -!- TeruFSX has joined.
12:12:49 -!- ogrom has joined.
12:15:09 -!- Phantom_Hoover has joined.
12:15:48 -!- ais523 has quit (Remote host closed the connection).
12:17:04 -!- ais523 has joined.
12:19:55 <Arc_Koen> uh, the thue article doesn't say anything about comments
12:22:34 -!- ogrom has quit (Quit: begone).
12:26:01 <fizzie> I've seen #::=# as a kind of a line-comment indicator.
12:26:07 -!- TeruFSX has quit (Ping timeout: 240 seconds).
12:26:12 <fizzie> Presumably with the restriction that there won't be any #s ever.
12:26:18 <ais523> yes
12:26:19 <lambdabot> ais523: You have 1 new message. '/msg lambdabot @messages' to read it.
12:26:27 <ais523> it's one of those comments-inside-the-language-semantics thing
12:26:38 <ais523> like DO NOT put comment here in INTERCAL
12:27:07 <Arc_Koen> hmm, yeah
12:27:15 <Arc_Koen> there's definitely a problem with input though
12:28:36 <Arc_Koen> basically if the input contains anything else than +-><[]., my interpreter will either not know of it (so it will halt because no rule can be applied) or will recognize it as injected code and then it can do about anything
12:29:42 <fizzie> It's a language for well-behaving users.
12:31:07 -!- ais523 has quit (Ping timeout: 246 seconds).
12:31:13 <Arc_Koen> I guess I could have an ip go through the brainfuck program before execution starts, and remove anything that's not a brainfuck instruction - but still, willingly injected code can trigger any rule
12:34:14 <Arc_Koen> also, my thue interpreter selects the rules to apply at random amongst the not-yet-tester-this-turn rules, but I guess the brainfuck interpreter in thue would be way faster if the thue interpreter tried rules in the order they are sorted, and brought the chosen rule on top of the rules list
12:35:17 <Arc_Koen> (for instance if the brainfuck interpreter is currently interpreting a '+', only the '+'related rules will be applicable so trying all the other rules is a waste of time
12:45:05 -!- nortti- has quit (Ping timeout: 256 seconds).
12:56:28 -!- Phantom_Hoover has quit (Ping timeout: 240 seconds).
13:03:51 -!- boily has joined.
13:03:54 -!- Phantom_Hoover has joined.
13:04:13 -!- nortti- has joined.
13:11:20 <barts_> hello
13:12:38 -!- aloril_ has quit (Ping timeout: 244 seconds).
13:13:37 <barts_> what is the most esoteric language?
13:13:48 <Arc_Koen> eodermdrome
13:13:54 <Arc_Koen> `welcome
13:13:56 <barts_> why?
13:13:58 <HackEgo> 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.)
13:14:09 <Arc_Koen> it's a personal opinion
13:14:11 <barts_> i've already been welcomed, but thanks Arc_Koen
13:14:18 <barts_> why do you hold such an opinion?
13:14:24 <Arc_Koen> I don't think there is a "most" esoteric language, they are all esoteric in their own way
13:14:28 <barts_> assuming you are the person of this personal opinion
13:14:42 <Arc_Koen> eodermdrome uses graphs as a way to program
13:15:01 <barts_> that is very interesting
13:15:05 <barts_> does it process graphs?
13:15:18 <Arc_Koen> hrm, I don't know enough about it, actually
13:15:31 <barts_> i heard lisp could be implemented with a machine that does graph reduction.
13:15:33 <Arc_Koen> 's too esoteric for me :-)
13:15:46 <fizzie> It's a graph-rewriting language.
13:15:59 <Arc_Koen> have a look at http://esolangs.org/wiki/Eodermdrome
13:16:11 <Arc_Koen> (or hear what fizzie has to say, he knows much more than me)
13:16:22 <fizzie> There's a state graph, and rules for rewriting parts of it.
13:16:34 <fizzie> Well, the article is fine too.
13:17:43 <fizzie> It's really kind of like Thue except with (unlabeled) graphs.
13:18:28 <Arc_Koen> talking about thue... http://sprunge.us/HhXO
13:19:31 <Arc_Koen> it's 180 lines long already, I still have to do instructions > < . , and it's probably full of bugs because IT'S NOT HUMANLY READABLE
13:21:24 -!- epicmonkey has joined.
13:22:13 <barts_> oh i just read up on it
13:22:14 <barts_> it's nice
13:22:43 -!- carado has quit (Quit: Leaving).
13:24:03 -!- copumpkin has quit (Quit: Computer has gone to sleep.).
13:24:04 <fizzie> I could possibly second the Eodermdrome opinion on esotericness, as ill-defined as that is.
13:24:31 <Arc_Koen> (I do hope you're talking about eodermdrome when saying "it's nice")
13:26:50 <barts_> yes
13:27:28 <barts_> or i might be talking about sending digital signals in analog carriers via amplitude modulation
13:27:31 <barts_> you'll never know
13:27:37 <fizzie> It possibly loses some appreciability points from the fact that it's still lacking an interpreter, and there aren't that many programs written in it.
13:28:00 <fizzie> Compare to something like Befunge which is being used daily in mission-critical applications all over the globe.
13:28:05 <barts_> but does it have eclipse support
13:28:27 <fizzie> Perhaps someone should write a plugin.
13:28:31 <barts_> haha
13:28:54 <fizzie> fungot: What's your opinion on the productivity and popularity and efficientness and such of Befunge?
13:28:55 <fungot> fizzie: you just want to say " you can't make if a function is
13:29:04 <fizzie> (He's written in it.)
13:29:15 <fizzie> fungot: I don't think I want to say *that*.
13:29:16 <fungot> fizzie: that's underload code in there, then
13:29:31 <barts_> fizzie: what's your opinion on the productivity and popularity and efficientness and such of peptides?
13:29:50 <barts_> :))
13:29:59 <fizzie> I think we should get rid of them.
13:30:04 -!- aloril_ has joined.
13:30:07 <barts_> too mainstream ????
13:30:19 <fizzie> What have the peptides ever done for us?
13:30:22 <fizzie> ^source
13:30:23 <fungot> http://git.zem.fi/fungot/blob/HEAD:/fungot.b98
13:30:25 -!- nortti- has quit (Ping timeout: 256 seconds).
13:36:14 <barts_> has it just reproduced
13:36:16 <barts_> that's naughty
13:39:24 -!- jiella has quit (Quit: Leaving.).
13:49:49 -!- copumpkin has joined.
13:52:37 -!- carado has joined.
13:56:41 -!- mig22 has quit (Quit: mig22).
14:14:10 -!- Phantom_Hoover has quit (Ping timeout: 256 seconds).
14:16:28 -!- Phantom_Hoover has joined.
14:25:49 <ion> The Core http://edition.cnn.com/2012/10/01/tech/mantle-earth-drill-mission/index.html?hpt=butt
14:41:29 -!- nortti- has joined.
14:45:18 -!- Arc_Koen has quit (Quit: Arc_Koen).
14:51:07 -!- carado has quit (Remote host closed the connection).
15:10:50 -!- Phantom_Hoover has quit (Ping timeout: 256 seconds).
15:15:38 -!- epicmonkey has quit (Ping timeout: 246 seconds).
15:31:42 -!- jiella has joined.
15:38:38 -!- atriq has joined.
15:39:00 <atriq> @messages?
15:39:00 <lambdabot> Sorry, no messages today.
15:41:24 -!- kinoSi has quit (Read error: Connection reset by peer).
15:41:51 -!- kinoSi has joined.
15:44:44 <Sgeo> @messages
15:44:44 <lambdabot> You don't have any new messages.
15:44:47 <Sgeo> @messages?
15:44:47 <lambdabot> Sorry, no messages today.
15:45:03 <Sgeo> @tell Sgeo honk
15:45:03 <lambdabot> You can tell yourself!
15:45:17 <Sgeo> @tell lambdabot HONK
15:45:18 <lambdabot> Nice try ;)
15:52:53 <atriq> ...
15:53:03 <atriq> Sgeo is Gamzee?
15:54:09 <Sgeo> honk HONK honk HONK :o)
15:55:14 <itidus21> ion: i like the fact that they're doing a $1 billion mission to "answer questions about the origins and evolution of life"
16:09:16 <atriq> itidus21, Homestuck fans have raised $2000000 for a video game that comes out in 2014.
16:09:18 <barts_> @tell Sgeo honk
16:09:18 <lambdabot> Consider it noted.
16:09:21 <barts_> @massages
16:09:21 <lambdabot> You don't have any new messages.
16:09:23 <atriq> What do you make of that?
16:09:30 <Sgeo> @messages?
16:09:30 <lambdabot> Sgeo: You have 1 new message. '/msg lambdabot @messages' to read it.
16:09:53 -!- Phantom_Hoover has joined.
16:10:09 <barts_> You don't have any new massages.
16:17:09 <FireFly> @messeges
16:17:09 <lambdabot> You don't have any new messages.
16:17:35 * FireFly wonders if lambdabot checks if the edit distance is below some threshold or something
16:17:50 <FireFly> compared to the string 'messages', that is
16:18:09 <itidus21> I like 0 video games.
16:18:16 <fizzie> FireFly: It allows up to two edits, but only if the parse is unambiguous.
16:18:39 <atriq> itidus21, I thought you liked Super Mario Bros?
16:19:01 <fizzie> @pime
16:19:05 <lambdabot> Local time for fizzie is Tue Oct 2 19:19:02 2012
16:19:11 <fizzie> Uh, that's not what I meant; what I meant was.
16:19:14 <fizzie> @pixx
16:19:14 <lambdabot> pong
16:19:17 <fizzie> But:
16:19:21 <fizzie> @pike
16:19:22 <lambdabot> Maybe you meant: dice ping time wiki
16:19:52 <itidus21> I think the game I came closest to liking was legend of zelda: link's awakening on gameboy
16:20:31 <fizzie> (The @pime result shows it's enough for there to be a unique command with the shortest edit distance, as long as that's <= 2.)
16:20:46 <itidus21> also super mario bros 2
16:21:01 <atriq> Lost Levels or USA?
16:21:08 <itidus21> USA
16:21:44 <fizzie> FireFly: Or I'm not entirely sure whether it's exactly edit distance or Hamming distance; and it's complicated by the fact that unique prefixes of commands are accepted too.
16:21:50 <itidus21> that was really something super mario usa
16:21:56 <itidus21> ^super mario 2
16:22:23 <FireFly> fizzie: ah, okay
16:22:25 <itidus21> it wasn't perfect though..
16:22:36 <fizzie> @ssages
16:22:36 <lambdabot> You don't have any new messages.
16:22:45 <fizzie> I suppose it's edit distance since it seems to allow deletions.
16:22:59 <FireFly> @bamessages
16:22:59 <lambdabot> You don't have any new messages.
16:23:23 <fizzie> But note that:
16:23:24 <fizzie> @messag
16:23:24 <lambdabot> Maybe you meant: messages messages?
16:23:39 <fizzie> Even though it has only one edit-distance-2 expansion (the one without ?).
16:23:46 <fizzie> Because of the no-typos-but-prefix handling.
16:23:58 <itidus21> i think it's not really the quality of the game itself, but the lies the game helps your mind momentarily tell itself
16:24:19 <Sgeo> @massag
16:24:20 <lambdabot> Unknown command, try @list
16:24:25 <Sgeo> @massage
16:24:25 <lambdabot> barts_ said 15m 7s ago: honk
16:24:33 <itidus21> thats what i think i enjoy in fiction
16:24:44 <Sgeo> @massages
16:24:44 <lambdabot> You don't have any new messages.
16:24:53 <FireFly> @massage?
16:24:53 <lambdabot> Maybe you meant: messages messages?
16:25:07 <FireFly> oh, right
16:26:36 <itidus21> i guess that with your eyes, you can see yourself and you can see others
16:27:04 <itidus21> with your ears you can hear yourself and you can hear others.. etc etc.. but with your mind you can hear your thoughts but you can't hear any others
16:27:25 <itidus21> it's so bizzare
16:28:39 -!- FreeFull has joined.
16:28:51 <itidus21> so in a video game you see this sprite and you can say that sprite is me, everything else isn't
16:32:50 <itidus21> i guess you just have to be in the right mood, like with anything
16:33:17 -!- augur has quit (Remote host closed the connection).
16:34:09 <barts_> link's awakening was really fun
16:34:13 <barts_> i got stuck at some point
16:34:22 <barts_> and it took me years to figure out how to get past
16:34:33 <barts_> i h8 open plan games for this
16:34:58 <itidus21> like if you're sitting there thinking about video games as some philosophical metaphor like i am then you probably need a break from them
16:36:14 -!- atrapado has joined.
16:36:28 -!- Phantom_Hoover has quit (Ping timeout: 246 seconds).
16:45:26 -!- barts has joined.
16:46:32 -!- Jafet1 has joined.
16:46:33 -!- aaaaaa has joined.
16:48:19 -!- atrapado has quit (Disconnected by services).
16:48:27 -!- aaaaaa has changed nick to atrapado.
16:48:47 -!- barts_ has quit (Ping timeout: 246 seconds).
16:48:49 -!- Jafet has quit (Ping timeout: 246 seconds).
16:51:15 <FreeFull> barts: What point dod you get stuck at?
16:51:23 <FreeFull> In Link's Awakening
17:02:09 <atriq> There was a Scottish-Norwegian war?
17:04:00 <olsner> probably
17:04:06 <atriq> This
17:04:07 <atriq> Why
17:04:10 <atriq> Why this
17:04:13 <atriq> Oh god
17:04:17 <atriq> I'm tumblring on IRC
17:04:31 <olsner> if nothing else, I think they would've been at war during WW2
17:04:43 <atriq> No, there was a war called the Scottish-Norwegian war
17:04:48 <atriq> In the 13th century
17:05:29 <olsner> oh, it was *called* that? so it wasn't actually Scotland and Norway at war?
17:05:56 <atriq> Well, it was both
17:18:37 -!- Arc_Koen has joined.
17:18:48 <Arc_Koen> hello
17:18:51 -!- augur has joined.
17:18:52 <atriq> brb
17:19:42 -!- augur has quit (Read error: Connection reset by peer).
17:20:07 -!- augur has joined.
17:23:24 -!- Phantom_Hoover has joined.
17:40:43 <olsner> fungot: say something funny
17:40:44 <fungot> olsner: sicp 1ed has the pattern matcher would close over the value of the current
17:41:49 <Phantom_Hoover> fungot, say something sad
17:41:50 <fungot> Phantom_Hoover: and you can use almost anything as an excuse
17:41:58 <atriq> Hey, I'm still brb'ing
17:42:04 <atriq> Guess I'll brb some more
17:42:07 <Phantom_Hoover> fungot, i said 'sad' not 'uncomfortable'
17:42:08 <fungot> Phantom_Hoover: many hellos!!! fnord head on fnord.
17:42:41 <olsner> fungot: say something fnarfful
17:42:42 <fungot> olsner: wife thought it might be possible to use 8-bit values in colourmap. :)
17:42:57 <olsner> silly wife
17:45:12 <fizzie> Yes, the whole idea is beyond bizarre.
17:45:23 <fizzie> 8-bit values, in colourmap, with fungot's reputation?
17:45:24 <fungot> fizzie: that's what she said... i know where jesus the monster truck?
17:46:19 <olsner> or was it actually fungot that the monster truck there?
17:46:20 <fungot> olsner: eval ( eq? programmer riastradh))
17:46:22 <Phantom_Hoover> fungot, somewhere in the middle east i should thing
17:46:23 <fungot> Phantom_Hoover: does anyone know a short bf program for 10 million steps?
17:46:25 <Phantom_Hoover> *think
17:47:28 <olsner> ^style
17:47:29 <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
17:47:50 <olsner> "irc", was that from #perl?
17:48:54 -!- atriq has quit (Ping timeout: 240 seconds).
17:51:38 <fizzie> olsner: #esoteric, #scheme and a tiny bit from IRCnet's #douglasadams.
17:51:44 <fizzie> ^style irc
17:51:45 <fungot> Selected style: irc (IRC logs of freenode/#esoteric, freenode/#scheme and ircnet/#douglasadams)
17:52:01 <fizzie> Riastradh is/was a #scheme regular.
17:52:40 <fizzie> And eq? is/was (but most likely is) a Scheme predicate.
17:55:19 <olsner> not that I know anything about scheme, but yes
17:57:16 -!- atriq has joined.
17:58:30 <fizzie> !forth s" gforth" environment? [if] type [then]
17:58:31 <EgoBot> 0.7.0
17:58:38 <fizzie> (Just checking the version.)
17:59:47 <fizzie> gforth development isn't terribly breezy, 0.7.0 is the latest and it's from Nov 2008.
18:00:53 <quintopia> what about kforth
18:03:23 <nortti> it doesn't support 'char' thing but is otherwise nice
18:13:34 -!- nortti- has quit (Ping timeout: 240 seconds).
18:28:35 <itidus21> <fungot> Phantom_Hoover: does anyone know a short bf program for 10 million steps?
18:28:36 <fungot> itidus21: i think we have a shortage of paths but is much more interesting
18:30:36 -!- Taneb has joined.
18:30:45 -!- atriq has quit (Ping timeout: 256 seconds).
18:31:50 -!- Taneb has changed nick to atriq.
18:31:58 -!- Phantom_Hoover has quit (Ping timeout: 252 seconds).
18:34:26 <Arc_Koen> I'm sorry, did you say "a short bf program"? that sounded wrong
18:34:52 <FreeFull> Brainfuck?
18:34:55 <FreeFull> Short?
18:35:07 <FreeFull> ^bf +[+].
18:37:50 <fizzie> Short, but isn't likely to run for exactly ten million steps.
18:38:15 <fizzie> And fungot can't output the \0 character since that doesn't go through IRC.
18:38:16 <fungot> fizzie: i'm annoyed by both. technically it's not necessary in russian in that context?). i believe the internet works on cr/ lf is the most basic tasks
18:38:54 <fizzie> I think there are some reasonably short but "useful" (well...) programs inside that bot.
18:38:58 <fizzie> ^show
18:38:58 <fungot> echo reverb rev rot13 rev2 fib wc ul cho choo pow2 source help hw srmlebac uenlsbcmra scramble unscramble asc ord prefixes tmp test celebrate wiki chr ha rainbow rainbow2 welcome me
18:39:12 <fizzie> The echo/rev kind of things are pretty simple to do.
18:39:29 <fizzie> ^echo Do you hear an echo?
18:39:30 <fungot> Do you hear an echo? Do you hear an echo?
18:47:12 <FreeFull> ^srmlebac Hello? What is this?
18:47:13 <fungot> Hlo hti hs?its aW?le
18:47:20 <FreeFull> Oh, scrambler
18:48:40 <fizzie> ^scramble scramble
18:48:41 <fungot> srmlebac
18:49:08 <fizzie> ^scramble uenlsbcmra
18:49:09 <fungot> unscramble
18:49:13 <fizzie> They're all kind of related.
18:49:26 <fizzie> It's mostly about bouncing between the two ends of the string.
18:49:30 <fizzie> ^show scramble
18:49:30 <fungot> >>,[>,]<[<]>[.>>]<[>>]<2[.<2]
18:50:01 <fizzie> ^show srmlebac
18:50:02 <fungot> >>,[>,]<[<]>[.>>]<[>>]<2[.<2]
18:50:13 <fizzie> Oh, they're even that close.
18:50:30 <fizzie> Also these must be old, because it hasn't combined the >>s.
18:50:34 -!- ais523 has joined.
18:51:05 <fizzie> ^def scramble bf >>,[>,]<[<]>[.>>]<[>>]<<[.<<]
18:51:06 <fungot> Defined.
18:51:08 <fizzie> ^show scramble
18:51:09 <fungot> >2,[>,]<[<]>[.>2]<[>2]<2[.<2]
18:51:30 <fizzie> There, it's a bit shorter.
18:51:50 <FreeFull> >> is exactly the same length as >2
18:51:57 <fizzie> Yes, well, I meant in memory.
18:52:09 <fizzie> The ^show output is just a textual dump.
18:53:39 <fizzie> In memory it's in two-cell pairs where one cell gives the command (<> or +- or [ or ] or , or .) and the other the argument (count for <> or +-, the jump destination for [ or ]), so >2 is two cells whereas >> is four.
18:54:17 -!- Phantom_Hoover has joined.
18:54:41 <fizzie> ^def tmp bf ------------------------------------------------------------------------------------------------------------------------------------------------------
18:54:41 <fungot> Defined.
18:54:44 <fizzie> ^show tmp
18:54:44 <fungot> +106
18:55:25 <fizzie> From what I recall, ^show selects +/- (or </>) based on which would give the smaller number; internally it's always as-if the command were + or >.
18:55:39 <fizzie> (It has a wrapping tape.)
19:09:05 -!- carado has joined.
19:09:18 -!- oerjan has joined.
19:16:43 <atriq> I'm really proud of Fueue
19:19:52 <oerjan> smashing language, old chap
19:20:45 <atriq> I'm scarily not old
19:21:01 <atriq> Fermat's Last Theorem has been a theorem for longer than I've been a person
19:21:45 <shachaf> You mean forever?
19:21:58 <Slereah> Fermat, that young whippernsapper?
19:22:04 <atriq> Since September 1994, yes.
19:22:39 <shachaf> It was a theorem before it was proved.
19:22:46 <shachaf> It was even *called* a theorem before it was proved.
19:22:56 <atriq> Both of those are true!
19:23:04 <oerjan> atriq is just trying to disguise the fact he's http://tvtropes.org/pmwiki/pmwiki.php/Main/ReallySevenHundredYearsOld
19:23:11 <atriq> My god
19:23:16 <atriq> I'm a page on TVTropes
19:23:39 -!- Sanqui has changed nick to Sanky.
19:24:11 <olsner> oerjan: oh, that esolang with the 10% bug was brainfuck
19:24:35 <oerjan> a little known fact about brainfuck
19:24:59 <olsner> it was first a bug in the interpreter that chopped off the first + (hello world starts with 10 of those, and uses the number 10 as a base to generate the characters)
19:25:28 <olsner> so I worked around that by adding another + and left the modified program as a trap for my future self
19:25:48 <olsner> when run in the corrected interpreter, that program gives a 10% bug in the other direction
19:27:01 <oerjan> ah
19:30:17 <Arc_Koen> oerjan: I have two solutions to fix thue's input issue
19:30:45 <Arc_Koen> 1) input one character instead of one line. this way the programmer can make sure to treat characters in a way that doesn't allow code injection
19:31:41 <Arc_Koen> 2) allow the programmer to define an alphabet to use in the program, and a subset of that alphabet as the input alphabet
19:32:08 <olsner> oerjan: all brought back because Arc_Koen started doing the bf in thue thing, and I decided to figure out how my last ubuntu upgrade broke my apache config
19:33:47 <Arc_Koen> for 2), the alphabet can be something else than the usual ascii - to make it usable on a regular computer you need to "transcribe" your alphabet as ascii (if it's too big, use several chars to code one symbol), and the user's input is in ascii but with a transcription function that transforms it into your input alphabet
19:34:41 <Arc_Koen> olsner: so I'm your muse? :-)
19:36:26 <olsner> oerjan: incidentally, the only broken part was that I forgot how to use the thing
19:38:22 <olsner> Arc_Koen: hmm, I guess :)
19:39:43 <olsner> fwiw, I didn't write that bf interpreter, but it is written in thue and I have no real idea how it works... thought it would be interesting to try and figure it out while debugging its breakage
19:40:04 -!- Phantom_Hoover has quit (Ping timeout: 260 seconds).
19:41:11 <oerjan> Arc_Koen: (1) is what Itflabtijtslwi does.
19:41:32 * oerjan realizes he did not have to think about how to spell that this time
19:42:22 <olsner> it flabt ijts lwi
19:44:54 <Arc_Koen> olsner: if you really want to debug a bf interpreter in thue I'd be glad to give you mine once it's over
19:45:04 <Arc_Koen> but it's kind of a boring thing to program
19:45:17 <Arc_Koen> the idea is *very* simple, but it takes a loooooot of substitution rules
19:47:10 <Arc_Koen> I think when I'm done I'll try to program in Definer, or another similar string-rewriting language that does allow for "variables"
19:47:18 <Arc_Koen> or, like, pattern-matching
19:48:17 <olsner> I think mod_rewrite uses PCRE
19:49:08 <oerjan> ais523: did thutubot have a bf implementation?
19:49:45 <Arc_Koen> for instance in the interpreter if I want to have some symbols travel through others, I say something like "if a symbol is enclosed in { } brackets, then it moves to the left", but I have to write the substition rules for all symbols {+}, {-}, {>}, etc., for all symbols they can meet 0{+}::={+}0, 1{+}::={+}1, 0{-}::={-}0, etc
19:49:59 <Arc_Koen> and to make things worse it's completely irreadable
19:50:15 <Arc_Koen> (espacially if one of the symbols is a : or a =)
19:51:38 <oerjan> it's like how i made the first loop in /// before i found the copying twice trick
19:51:46 <olsner> heh, avoid using : and = then :P
19:52:21 <Arc_Koen> olsner: well i'm kind of short in symbols and I don't want to use words too much
19:52:30 <oerjan> no wait, that was even more insane.
19:52:40 <olsner> an incredibly verbose interpreter would be a bit funny though
19:52:47 <Arc_Koen> I use = as the operator that checks if a cell is equal to 0
19:53:06 <olsner> (and debuggable, if it's constantly explaining exactly what it's doing)
19:53:26 <Arc_Koen> hmm, if you had said that sooner I might have made it completely full of words
19:54:01 <Arc_Koen> as in, even input would have had to be in the form increment decrement move left move right input output begin loop end loop
19:54:13 <Arc_Koen> but now I've written too much to want to restart anything
19:54:13 <oerjan> hm you could say the first /// loop was attempting to use a thue method in a language not suited for it.
19:54:31 <Arc_Koen> does /// use string-rewriting?
19:54:36 <oerjan> yes.
19:54:53 <oerjan> it's even simpler than thue.
19:54:56 <olsner> hmm, /// eats everything up until the third / after applying a rewrite rule?
19:55:18 <oerjan> or before...
20:02:23 <oerjan> basically /// is both string-rewriting and self-modifying code
20:03:54 <oerjan> with the latter the only way to do real flow control
20:04:57 <oerjan> and looping requires quine-like techniques
20:11:01 <FreeFull> /// is the best language
20:14:40 <Arc_Koen> erh, earlier today we told someone that was eodermdrome
20:14:50 <oerjan> THAT WAS EARLIER TODAY
20:15:19 -!- Phantom_Hoover has joined.
20:15:32 <oerjan> also, /// is already implemented.
20:16:07 <olsner> hmm, I might decide to implement /// soon
20:16:43 <oerjan> there might even be a more efficient implementation than the perl one. possibly by User:Nthern.
20:16:56 * oerjan never tested that.
20:17:20 <olsner> more efficient than perl? wow!
20:17:47 <oerjan> the perl one keeps scanning the string from the beginning, whether or not there can be new matches there
20:18:00 -!- atriq has quit (Quit: Leaving).
20:18:38 <oerjan> for some substitutions that's gonna hurt.
20:19:29 <oerjan> it was just a quick hack to get a working implementations, after all.
20:19:33 <oerjan> *-s
20:20:02 <oerjan> it just _barely_ manages to run the BCT interpreter without hitting one of perl's internal limits.
20:20:40 <oerjan> (regexp recursion depth)
20:23:07 <oerjan> afaik Nthern is the only other person who has succeeded at programming in ///
20:23:14 <olsner> hmm, what is it that uses recursion in those regexps?
20:24:27 <oerjan> s!^/((?:[^/\\]|\\.)*)/((?:[^/\\]|\\.)*)/!!s is the one which tended to crash
20:25:38 <olsner> couldn't you make it [^/\\]+ to match longer chunks?
20:25:48 <oerjan> it is possible it doesn't use recursion in all perl versions, i think the ?: 's were an attempt to simplify it
20:26:15 <oerjan> olsner: except the BCT interpreter uses only / and \ characters :P
20:26:37 <olsner> aah, sounds appropriately evil
20:27:12 <oerjan> it seemed like the logical thing to aim for, after getting basic "readable" looping going
20:27:30 <itidus21> oerjan: so my brother drops a pair of shorts in the clothes washer and just leaves them there, i don't even know when... makes no reference to it... this is what i live with
20:27:39 <oerjan> that's after initial syntactic desugaring btw.
20:28:00 <olsner> after syntactic salting?
20:28:00 <oerjan> itidus21: HOW DESPICABLY EVIL
20:28:28 <fizzie> It's also possible to optimize some Perl regexps a whole lot with suitably placed (?>...)s. (It's a kind of a forced never-backtrack construct.)
20:28:35 * oerjan always checks the washing machine for forgotten clothes before using it.
20:29:12 <itidus21> oerjan: but they havent been washed... evidenced by their dryness
20:29:17 <oerjan> fizzie: i recall the perl version i used wasn't the newest one
20:29:33 <oerjan> itidus21: HOW DESPICABLY EVIL
20:30:24 <fizzie> It's possible (?>...) is reasonably new; it's quite far down in the manual, at least.
20:31:26 <fizzie> The *+ construct can be an easier way and I think it's earlier too.
20:31:40 <oerjan> *+ ?
20:31:41 <itidus21> oerjan: personally i don't even care.. i wash my stuff at laundromat lately.. but my mom comes along saying "can you turn on washing machine for me? running out of clean towels" because the knob is busted she can't actually turn on the machine herself
20:32:19 <itidus21> so i tell her about the shorts and she just carries them off into her room.. "ok ive emptied it"
20:32:33 <fizzie> oerjan: *+ and ++ and ?+ and {n}+ and so on are the "possessive" versions of the quantifiers.
20:32:55 <fizzie> oerjan: "Match as much as possible and never give anything back" is what they do.
20:32:57 <itidus21> so.. if i get depressed sometimes.. it's not baseless
20:33:07 <oerjan> oh. so it's not just * and + combined
20:33:45 <fizzie> /a++a/ e.g. can't ever match, because a++ gobbles all the a's.
20:34:54 <fizzie> Not that I know how well the regex engine can do without the hints in your original example, and whether the potential backtracking points matter. But it's a case where you know exactly what to match.
20:35:40 <oerjan> itidus21: hypocritically speaking, i'm pretty sure a healthy person wouldn't be depressed by such events.
20:36:37 <fizzie> "For instance, the typical "match a double-quoted string" problem can be most efficiently performed when written as: /"(?:[^"\\]++|\\.)*+"/ as we know that if the final quote does not match, backtracking will not help." (perlre example on them.)
20:36:40 <itidus21> oerjan: ain't noone healthy in this house
20:37:10 <oerjan> although perhaps it's a sign that we're at least a bit on the autistic spectrum
20:37:32 <itidus21> lol hypocritically speaking
20:37:35 <oerjan> (disclaimer: DO NOT USE FOR MEDICAL ADVICE)
20:37:36 <itidus21> oh no
20:37:47 <olsner> regexps are awesome for writing gobbledygook like "(?:[^"\\]++|\\.)*+"
20:39:08 <oerjan> fizzie: that _does_ look eerily similar
20:41:10 <itidus21> oerjan: ironically for me facing my fears means doing someone elses laundry
20:43:09 -!- TeruFSX has joined.
20:47:42 <Arc_Koen> hmmm
20:48:09 <Arc_Koen> a fueue itnerpreter in thue would actually be shorter that a brainfuck one
20:48:31 <Arc_Koen> cause fueue has only one structure (that is, code and date are together)
20:50:06 <Arc_Koen> oerjan: your proof that fueue is turing complete, does it work if numbers are bounded?
20:51:18 <Arc_Koen> oh screw that I can do it with unbounded numbers *rolls his sleeves up*
20:51:27 <oerjan> > 64^3
20:51:28 <lambdabot> 262144
20:53:22 <FreeFull> > 64 `xor` 3
20:53:23 <lambdabot> Ambiguous type variable `a' in the constraint:
20:53:23 <lambdabot> `Data.Bits.Bits a'
20:53:23 <lambdabot> a...
20:53:31 <olsner> 67
20:53:44 <oerjan> fizzie: aww, changing * to *+ didn't help, at least with the perl version installed here (5.10.0)
20:55:44 <FreeFull> > Data.Bits.xor 3 4
20:55:45 <lambdabot> Ambiguous type variable `a' in the constraint:
20:55:45 <lambdabot> `Data.Bits.Bits a'
20:55:45 <lambdabot> a...
20:55:51 <FreeFull> Wtf
20:56:07 <olsner> > 64 `xor` 3 :: Word
20:56:08 <lambdabot> 67
20:56:10 <FreeFull> It works fine with ghc/ghci
20:56:17 <oerjan> Arc_Koen: my proof doesn't use number arithmetic at all, there's a lonely 1 used for a delaying trick
20:56:29 <FreeFull> :t xor
20:56:30 <Arc_Koen> uh
20:56:30 <lambdabot> forall a. (Bits a) => a -> a -> a
20:56:42 <Arc_Koen> you mean YOU DON'T NEED NUMBERS at ALL???
20:56:58 <Arc_Koen> shocking
20:57:03 <oerjan> indeed, that 1 could probably be changed to something else :)
20:57:27 <ion> putStrLn "hello" `xor` putStrLn "world"
20:58:18 <oerjan> Arc_Koen: it's only using the functional parts of fueue in an essential way
20:58:26 <ion> arc_koen: class (Eq a, Num a) => Bits a
20:59:48 <oerjan> FreeFull: ghci uses the extended defaulting option, which defaults numeric types in more general circumstances
21:00:51 <oerjan> fizzie: btw http://oerjan.nvg.org/esoteric/slashes/longsubst.sss is a simple program triggering the bug
21:01:03 <FreeFull> Ah, ghc does error out
21:01:22 <oerjan> it _should_ print hello if working
21:01:48 <oerjan> oh and some newlines, i didn't bother removing them
21:01:52 <Arc_Koen> olsner: so i'm gonna make a verbose thue fueue interpreter
21:02:03 <olsner> Arc_Koen: have fun!
21:02:22 <Arc_Koen> fun? I'm doing it for SCIENCE
21:02:35 <oerjan> Arc_Koen: well you need numbers for output, but you can consider it TC even without if you consider final queue contents
21:02:36 <fizzie> oerjan: If I can manage to remember, I'll try some things out when I'm not typing via the phone.
21:02:50 <Arc_Koen> hmm, yeah, ok
21:03:46 <Arc_Koen> oerjan: would brainfuck be tc with cell contents being unbounded, but without the - instruction?
21:04:08 <Arc_Koen> I'm thinking it doesn't change anything
21:04:27 <Arc_Koen> like, you can have a cell you call "zero" which you increment instead of decrementing every other cell
21:05:07 <oerjan> Arc_Koen: as long as the tape still is unbounded, it might work
21:05:19 <Arc_Koen> hmm I don't think we need that
21:05:24 <Arc_Koen> for instance take 4-cell brainfuck
21:05:46 <Arc_Koen> don't use the fourth cell, except to emulate -
21:06:11 <Arc_Koen> (so if you're in the first cell, instead of - you write >+>+>+)
21:06:24 <Arc_Koen> (well >+>+>+>)
21:06:34 <oerjan> Arc_Koen: um you can never get information out of a cell if you cannot get it back to zero
21:06:43 <Arc_Koen> oh, that's true
21:06:45 <oerjan> other than that it is nonzero
21:07:27 <Arc_Koen> so how would it work if the tape was unbounded?
21:08:32 <oerjan> in that case there ought to be a way to move data further on the tape, to the still zero parts
21:09:43 <oerjan> so you would encode the cells of a brainfuck with - as sequences of 0's and nonzeros
21:10:02 <Arc_Koen> haha
21:10:04 <Arc_Koen> nice
21:10:21 -!- boily has quit (Quit: Poulet!).
21:10:35 <Arc_Koen> hmmm I'm not convinced though
21:10:51 <oerjan> well i'm reminded of Sceql
21:14:00 -!- monqy has joined.
21:14:01 <oerjan> anyway i'd imagine a memory layout like 0 ...arbitrary non-zero trash... 0 first bf cell 0 second bf cell 0 ... last bf cell 0 0 ...
21:14:33 <oerjan> hm make that 0 0 between the trash and first cell too
21:15:02 <oerjan> oh and a 0 0 somewhere around the current cell.
21:15:41 <olsner> hmm... I think apache does potentially evil things with leading slashes in uris
21:21:28 <olsner> "Use with extreme caution, as it may result in loop." :)
21:22:37 <olsner> (it could if there wasn't a limit on the number of matching rules and if the server didn't run out of memory so quickly)
21:23:53 <oerjan> ...arbitrary non-zero trash... 0 (0 (1 1*))* 0 (0 (1 1*))* 0 0 0...
21:24:52 <Arc_Koen> well gnight
21:25:11 <oerjan> night
21:25:21 <Arc_Koen> (the fueue interpreter might not be shorter than the brainfuck one because it has so much moving around)
21:25:41 <oerjan> tricky
21:26:02 <oerjan> wait i've not even finished browsing the logs yet...
21:26:26 <Arc_Koen> like, the 'fadd' function sends a 'check arithm' marker to see if it has correct arguments, then the marker comes back as 'ok arithm' or 'noop'
21:26:44 <Arc_Koen> if it's noop then fadd must move through the whole queue
21:27:26 <Arc_Koen> if it's ok arithm then it's a nightmare of adding two numbers, then the results still has to move through the whole queue
21:27:45 <Arc_Koen> if thue had WRAPPING that would be so easy
21:28:45 <Arc_Koen> oerjan: I'm not sure it's healthy browsing the logs... it's like every moment you're not on the chan you have to live twice (once out of the chan and once reading the log)
21:29:00 <Arc_Koen> you're gonna get old TWICE AS FAST
21:29:14 <Arc_Koen> of course an easy remedy would be to stay on the chan as often as possible :-)
21:29:17 <oerjan> AAAAAAAAAAA
21:29:18 <Arc_Koen> anyway bye
21:30:04 -!- carado has quit (Quit: Leaving).
21:31:31 <fizzie> @tell Arc_Koen If you want things "easy", go Thutu or something. (Disclaimer: only lookes at Thutu briefly.)
21:31:31 <lambdabot> Consider it noted.
21:31:34 <fizzie> I got tired of keeping that in the input buffer, waiting for the quit.
21:32:20 <Arc_Koen> AAA you just shifted the balance fo need sleep / got plenty things to do
21:32:20 <lambdabot> Arc_Koen: You have 2 new messages. '/msg lambdabot @messages' to read them.
21:34:23 <Arc_Koen> hum, you know what, thutu can wait
21:34:35 <Arc_Koen> @messages
21:34:35 <lambdabot> oerjan said 1d 1h 43m 33s ago: did you mean to remove an a from the kipple truth-machine program? i don't know kipple so...
21:34:36 <lambdabot> fizzie said 3m 4s ago: If you want things "easy", go Thutu or something. (Disclaimer: only lookes at Thutu briefly.)
21:34:49 -!- Arc_Koen has quit (Quit: that's dr. turing to you, punk).
21:35:51 <Gregor> It's super-promising when you look up an obscure error on Google and the first result is “Pig Latin Reference Manual”
21:40:49 <oerjan> ouyay on'tday aysay
21:51:10 -!- TeruFSX_ has quit (Read error: Connection reset by peer).
21:51:55 -!- copumpkin has quit (Quit: Computer has gone to sleep.).
21:53:00 <kmc> Keccak won the SHA-3 competition
21:54:15 <kmc> http://www.nist.gov/itl/csd/sha-100212.cfm
21:54:37 <fizzie> What, so soon.
21:54:59 -!- kmc has set topic: I, for one, welcome our new hash function overlords | http://codu.org/logs/_esoteric/ | http://esolangs.org/wiki.
21:55:55 <fizzie> Keccak does sound like a proper name for an alien overlord.
21:56:07 <fizzie> LORD KECCAK.
21:56:40 <ion> Keccak sucks as a palindrome.
21:56:41 <kmc> yeah
21:56:56 <kmc> it's pronounced "kashyyyk"
22:17:06 -!- TeruFSX has quit (Ping timeout: 245 seconds).
22:25:10 <Gregor> Hm.
22:25:18 -!- atrapado has quit (Quit: Leaving).
22:25:23 <Gregor> It is astoundingly difficult to Keccak-hash something right now.
22:25:35 <Gregor> I'm looking for an implementation that I can just say “here's a file, what's its hash”
22:25:36 <Gregor> Nope.
22:26:00 <Phantom_Hoover> my university has a nick cage appreciation society
22:26:12 <Phantom_Hoover> i hope this is a homestuck joke and not something sincere
22:26:35 <kmc> http://guyism.com/wp-content/uploads/2012/07/best-resume-ever.jpeg
22:28:15 <ion> gregor: Add the future-snapshots repository and install sha3sum.
22:28:27 <Gregor> Perfect!
22:28:32 <ion> future-snapshots/20131001 should work nicely.
22:28:52 <Gregor> The implementation is publicly available, but it's all test suites, no tools.
22:33:20 <kmc> you should smoke a bowl of hash in honor of this occasion
22:42:19 -!- jiella has quit (Quit: Leaving.).
22:55:06 -!- TeruFSX has joined.
22:57:11 -!- Jafet1 has quit (Quit: Leaving.).
23:07:04 -!- FreeFull has quit (Quit: Zzzzzzzzzzzz).
23:09:19 <shachaf> Hmm, it's not a Merkle-Damgård hash.
23:18:35 -!- Jafet has joined.
23:20:20 <pikhq_> Gregor: http://keccak.noekeon.org/KeccakReferenceAndOptimized-3.2.zip
23:20:47 <Gregor> pikhq_: Try using that to get a hash of a file.
23:20:49 <Gregor> pikhq_: I dare you.
23:21:40 <pikhq_> Ass!
23:21:57 <pikhq_> Why would you make the test program something other than a read file and shove it into the hasher?
23:23:50 <pikhq_> Okay, I'm *sure* it's a perfectly reasonable hash algorithm, but the implementation was written by an incompetent.
23:24:21 <Gregor> They're Belgian *shrugs*
23:26:41 <pikhq_> http://keccak.noekeon.org/specs_summary.html Well, there's enough you could probably write it yourself.
23:29:17 <Gregor> All I was going to do was hash the topic.
23:29:23 <Gregor> The joke is long dead by now ;)
23:29:27 -!- TeruFSX has quit (Read error: Connection reset by peer).
23:29:55 <pikhq_> Still annoyed.
23:35:27 -!- augur has quit (Remote host closed the connection).
23:37:55 <pikhq_> Actually, I'm impressed at how simple this hash algorithm can be.
23:46:32 <pikhq_> DCB6B8BD29813DA1A9B56667D751A6D444ECFC5B0F67D6EB85DEF9E
23:46:48 <pikhq_> That's SHA3-224 of the topic.
23:47:02 <Gregor> How 'bout just “I, for one, welcome our new hash function overlords”
23:47:28 <pikhq_> E581A6F9E364E179B336A2C6D6831D4B50CD7739C7E1565E3EBF2
23:47:47 -!- Gregor has set topic: I, for one, welcome our new hash function overlords | E581A6F9E364E179B336A2C6D6831D4B50CD7739C7E1565E3EBF2 | http://codu.org/logs/_esoteric/ | http://esolangs.org/wiki.
23:47:58 <shachaf> pikhq_: How are you computing it?
23:48:11 <shachaf> SHA3 looks much more complicated than SHA1 to me.
23:48:26 <pikhq_> shachaf: Grabbed "readable keccak" and shoved the string into it.
23:48:44 <shachaf> Oh, *readable*.
23:48:48 <shachaf> Sounds promising.
23:48:53 <pikhq_> http://www.mjos.fi/dist/readable_keccak.tgz
23:49:04 <pikhq_> It's 106 lines of C.
23:49:28 <pikhq_> A bit more if you want to make it useable as a general-purpose library, of course.
23:49:50 <pikhq_> But I doubt it'd go over 200 if you don't try optimizing it.
23:50:13 <shachaf> OK, it's not so bad.
23:50:20 <shachaf> It still has a lookup table. :-(
23:50:27 <pikhq_> Tiny one though.
23:53:24 <pikhq_> Ah. Part of why the other keccak implementations are complex is that they support all possible parameters of the algorithm...
23:53:38 <pikhq_> What I pasted their suffices for the SHA3 ones.
23:53:50 <pikhq_> s/their/there/
00:11:13 -!- Phantom_Hoover has quit (Read error: Connection reset by peer).
00:24:49 -!- ais523 has quit.
00:34:24 -!- copumpkin has joined.
00:36:21 -!- augur has joined.
00:45:12 -!- Jafet1 has joined.
00:47:35 -!- Jafet has quit (Ping timeout: 256 seconds).
00:55:47 -!- Jafet1 has quit (Ping timeout: 260 seconds).
01:11:14 <Sgeo> I need a good night's slep
01:12:58 <Sgeo> Keccak is not appropriate for password hashing, right?
01:13:07 <Sgeo> It's fast, and good password hashing is slow?
01:13:20 <shachaf> Not on its own.
01:13:27 <kmc> you should run your passwords through something like PBKDF2
01:13:36 <shachaf> Presumably PBKDF2-SHA3 is fine.
01:13:40 <kmc> which is a fancy way of saying "iterate the hash many times"
01:13:49 <shachaf> But so is bcrypt etc.
01:13:56 <kmc> (and probably do other things, but I don't know if those are important for uses other than deriving crypto keys)
01:13:59 <shachaf> kmc: PBKDF2 also xors the iterations together, at least.
01:13:59 <Sgeo> PBKDF2?
01:14:05 <kmc> Sgeo: yes, PBKDF2
01:14:40 <kmc> you can read about PBKDF2 in a multimedia hypertext encyclopedia using a global network of packet-switched communications
01:14:47 <kmc> food, bbl
01:20:22 <Sgeo> o.O someone submitted a hash algorithm to the contest maliciously?
01:21:05 <shachaf> Sgeo: I should hope so.
01:21:16 <shachaf> Otherwise how can you tell if the process is doing its job?
01:21:33 -!- Jafet has joined.
01:21:56 <Sgeo> Oh, someone just modified one of the entries to be malicious, as a proof of concept I guess
01:21:58 <Sgeo> afaict
01:25:36 -!- Jafet1 has joined.
01:25:52 -!- Jafet has quit (Ping timeout: 246 seconds).
01:30:04 -!- Jafet1 has changed nick to Jafet.
01:30:27 <Jafet> > length "E581A6F9E364E179B336A2C6D6831D4B50CD7739C7E1565E3EBF2" `div` 2
01:30:28 <lambdabot> 26
01:41:20 <kmc> that's funny
01:47:38 <kmc> also funny: one of the SHA-3 competitors has already seen widespread real world use
01:47:48 <kmc> MD6 was used by the Conficker worm
01:47:58 <kmc> if you enter one of those competitions do you get mysterious advice from the NSA, a la DES?
01:48:02 <oerjan> oh john tromp also won the ioccc
01:49:34 <oerjan> that's weird i thought he was on the esolang wiki somewhere, but no
02:04:36 -!- oerjan has quit (Quit: Good night).
02:35:55 <pikhq_> Gah, screwed up my *printing* routine. XD
02:36:19 <pikhq_> E5081A06F9E364E179B336A2C6D6831D4B50CD7739C7E1565E03EBF2
02:37:13 -!- Lumpio- has quit (Ping timeout: 245 seconds).
02:37:52 -!- pikhq_ has set topic: I, for one, welcome our new hash function overlords | E5081A06F9E364E179B336A2C6D6831D4B50CD7739C7E1565E03EBF2 | http://codu.org/logs/_esoteric/ | http://esolangs.org/wiki.
02:40:28 <Jafet> > length "E5081A06F9E364E179B336A2C6D6831D4B50CD7739C7E1565E03EBF2" `div` 2
02:40:29 <lambdabot> 28
02:41:53 <pikhq_> Yup, SHA3-224.
02:43:51 <shachaf> > showIntAtBase 2 ("01"!!) (28*8) ""
02:43:52 <lambdabot> "11100000"
02:48:10 -!- Nisstyre-laptop has joined.
03:03:42 -!- Lumpio- has joined.
03:04:32 -!- TeruFSX has joined.
03:29:15 -!- hagb4rd has joined.
03:31:51 -!- Jafet has quit (Ping timeout: 244 seconds).
03:39:30 -!- Jafet has joined.
04:13:37 <hagb4rd> this is such a pretty place to be, i've just stumbled upon it..lovely 8bit canvas demo -> http://www.effectgames.com/demos/canvascycle/
04:44:37 -!- carado has joined.
04:51:28 -!- carado has quit (Remote host closed the connection).
05:04:20 -!- Jafet has quit (Quit: Leaving.).
05:13:08 -!- Jafet has joined.
05:39:17 <kmc> http://www.youtube.com/watch?v=JWToUATLGzs
05:56:08 -!- carado has joined.
06:25:39 -!- const has quit (Ping timeout: 276 seconds).
07:03:35 -!- hagb4rd has quit (Quit: hagb4rd).
07:04:36 -!- epicmonkey has joined.
07:23:15 -!- carado has quit (Remote host closed the connection).
07:30:56 -!- mig22 has joined.
07:33:51 -!- atriq has joined.
07:40:10 <barts> i am working on a piece of hardware which can take any wave and output an analog sync clock
07:40:18 <barts> well, sine-like wave
07:40:24 <barts> that reminds me i wanted to try a metronome
07:42:25 -!- kinoSi has quit (Read error: Connection reset by peer).
07:42:52 -!- kinoSi has joined.
07:48:12 -!- monqy has quit (Quit: hello).
07:50:18 <barts> oh the video just loaded
07:50:33 <barts> the metronomes become synchronized because of a phenomenon called soft syncing
07:51:26 <barts> it happens because they are all coupled in angular momentum
07:52:23 <barts> in fact the whole swivel is a single energy pool which tries to maximize its use of that energy
08:10:37 -!- atriq has quit (Ping timeout: 246 seconds).
08:44:30 -!- coppro has quit (Ping timeout: 264 seconds).
09:01:22 -!- Phantom_Hoover has joined.
09:20:59 -!- Jafet has quit (Ping timeout: 246 seconds).
09:41:56 -!- Jafet has joined.
09:49:29 -!- Phantom__Hoover has joined.
09:49:31 -!- Phantom__Hoover has quit (Client Quit).
09:59:54 -!- Phantom__Hoover has joined.
10:10:08 -!- kinoSi has quit (Read error: Connection reset by peer).
10:10:34 -!- kinoSi has joined.
10:10:57 -!- Arc_Koen has joined.
10:11:15 <Arc_Koen> heeello
10:18:54 -!- Phantom__Hoover has quit (Quit: Leaving).
10:20:30 <fizzie> Heel-o.
10:38:03 -!- Phantom_Hoover has quit (Ping timeout: 256 seconds).
10:49:48 -!- carado has joined.
11:11:04 -!- barts has quit (Ping timeout: 246 seconds).
11:13:03 -!- barts has joined.
11:26:31 -!- Phantom_Hoover has joined.
11:38:31 -!- yours_truly has joined.
11:40:32 -!- Nisstyre has quit (Ping timeout: 255 seconds).
11:40:49 -!- Nisstyre-laptop has quit (Ping timeout: 260 seconds).
11:46:02 -!- carado has quit (Quit: Leaving).
11:55:34 -!- Nisstyre has joined.
11:58:49 -!- copumpkin has quit (Ping timeout: 246 seconds).
11:59:24 -!- copumpkin has joined.
12:03:33 -!- mig22 has quit (Quit: mig22).
12:29:43 <ion> “House of Marley Positive Vibration Rasta”, “color: rasta” http://www.thomann.de/fi/house_of_marley_positive_vibration_rasta.htm
12:36:32 <fizzie> ion: According to fcolor, #a37f58 is the color of "rasta" after 10 images (190 to go).
12:37:34 <fizzie> (Some of these results are a bit nonrelevant-looking.)
12:38:32 <fizzie> http://users.ics.aalto.fi/htkallas/rasta.png and so it goes.
12:39:08 <fizzie> I conclude that it mostly means something vaguely brownish.
12:39:19 -!- Phantom_Hoover has quit (Ping timeout: 256 seconds).
12:45:44 -!- Slereah has quit (Ping timeout: 252 seconds).
12:45:56 -!- Slereah has joined.
12:57:51 -!- MoALTz has joined.
13:00:56 -!- boily has joined.
13:20:18 <ion> http://www.ling.helsinki.fi/~fkarlsso/genkau2.html
13:22:00 <fizzie> "This page has been glanced at by [Counter datafile "/usr/local/etc/Counter/data/sample3.dat" must be created first!] visitors external to our department"
13:22:53 <fizzie> Page view counters, where have they all gone?
13:26:55 -!- Phantom_Hoover has joined.
13:31:37 -!- itidus20 has joined.
13:35:30 -!- itidus21 has quit (Ping timeout: 264 seconds).
13:35:36 -!- coppro has joined.
13:35:37 -!- itidus20 has changed nick to itidus21.
13:37:19 <Arc_Koen> oh hey quintopia maybe you can help me
13:38:13 <Arc_Koen> I'm trying to understnad the hello world program in http://esolangs.org/wiki/Platts
13:39:01 <Arc_Koen> 1) what are the two zeroes in the initial string for?
13:39:48 <Arc_Koen> 2) when B produces Hello World!, the output mode is off, so why is it printed?
13:40:24 <Arc_Koen> or are every ever produced strings printed everytime that a string is produce while the output mode is on?
13:41:28 <Arc_Koen> so if the production rules were A> B|Hello World! H>J J|K K! for instance, the Hello World would be printed twice?
13:41:43 <Arc_Koen> (once by H>J and once by J|K)
13:42:50 -!- kinoSi has quit (Read error: Connection reset by peer).
13:43:17 -!- kinoSi has joined.
13:43:45 <fizzie> For 2), isn't output mode off at first, and toggled on by the "A>" production, leaving it on for "B|Hello World!"?
13:44:16 <Arc_Koen> ohhhhhhh right
13:44:20 <Arc_Koen> I hadn't considered that
13:46:01 <fizzie> A0B0 -[toggle output mode on]-> 0B0 -[implicit empty string]> B0 -[output "Hello World!"]-> Hello World! -[toggle output mode off]-> Kello World! -[halt], I guess.
13:46:26 <fizzie> Whoops, without forgetting the latter 0.
13:46:43 <fizzie> Unless they mean something else, I'unno.
13:49:04 <fizzie> Or, hm, right; if it's a 2-tag system, those 0s get deleted too.
13:50:27 -!- Phantom_Hoover has quit (Ping timeout: 240 seconds).
13:51:52 <fizzie> A0B0 -[toggle output mode on]-> B0 -[output "Hello World!"]-> Hello World! -[toggle output mode off]-> llo World!K -[implicit empty-string rules]-> K -[halt], in that case.
13:52:00 <fizzie> (I read it as just rewriting at first.)
14:04:18 -!- copumpkin has quit (Quit: Computer has gone to sleep.).
14:05:27 <Arc_Koen> nah, I don't think it's string-rewriting
14:05:44 <Arc_Koen> I think A produces empty string and toggle output mode on
14:05:51 <Arc_Koen> 0 produces empty string
14:06:02 <Arc_Koen> B produces Hello World!, which is printed
14:06:20 <Arc_Koen> oh hum and then I don't know if it's 0's turn or H's turn
14:06:34 <fizzie> Arc_Koen: It's a 2-tag system, it says so right up there.
14:06:41 <Arc_Koen> Any symbols not explicitly assigned production rules in the program listing are implicitly assigned a production of the empty string.
14:07:08 <fizzie> See http://esolangs.org/wiki/Tag_system -- they always delete m (in this case, 2) symbols from the left, and append the production to the right.
14:07:12 <Arc_Koen> hmmmm ok
14:08:13 <fizzie> I didn't notice at first, since I just went "oh, production rules".
14:13:38 -!- Phantom_Hoover has joined.
14:29:56 -!- copumpkin has joined.
14:32:09 <quintopia> hi Arc_Koen
14:40:22 -!- xiaoding has joined.
14:40:29 -!- xiaoding has left.
14:41:57 <quintopia> fizzie's second production sequence is correct
14:41:58 <Arc_Koen> hi
14:42:27 <Arc_Koen> yep apparently the issue was just that I didn't know what a tag was
14:42:43 -!- kmc has set topic: I, for one, welcome our new hash function overlords | E5081A06F9E364E179B336A2C6D6831D4B50CD7739C7E1565E03EBF2 | God made the natural numbers; all else is the work of ZARDOZ | http://codu.org/logs/_esoteric/ |.
14:42:47 -!- kmc has set topic: I, for one, welcome our new hash function overlords | E5081A06F9E364E179B336A2C6D6831D4B50CD7739C7E1565E03EBF2 | God made the natural numbers; all else is the work of ZARDOZ | http://codu.org/logs/_esoteric/ | http://esolangs.org/wiki.
14:47:52 -!- aloril_ has quit (Ping timeout: 250 seconds).
15:03:50 -!- aloril_ has joined.
15:05:14 -!- yours_truly has quit (Ping timeout: 240 seconds).
15:16:03 -!- xiaoding has joined.
15:16:58 -!- xiaoding has quit (Read error: Connection reset by peer).
15:17:29 -!- xiaoding has joined.
15:17:43 -!- xiaoding has left.
15:18:07 -!- augur has quit (Remote host closed the connection).
15:21:40 -!- aloril_ has quit (Ping timeout: 250 seconds).
15:29:56 -!- FreeFull has joined.
15:30:20 -!- xiaoding has joined.
15:30:35 -!- xiaoding has left.
15:31:32 -!- Phantom_Hoover has quit (Ping timeout: 248 seconds).
15:36:30 -!- aloril_ has joined.
15:41:34 -!- aloril_ has quit (Read error: Operation timed out).
15:42:21 -!- Phantom_Hoover has joined.
15:55:04 -!- aloril_ has joined.
16:03:05 -!- aloril_ has quit (Ping timeout: 244 seconds).
16:11:24 -!- augur has joined.
16:19:16 -!- aloril_ has joined.
16:21:48 -!- aloril_ has quit (Read error: Operation timed out).
16:36:02 -!- aloril_ has joined.
16:43:08 -!- aloril_ has quit (Ping timeout: 250 seconds).
16:43:10 <ion> Rats (1984) - Trailer http://youtu.be/2zbl4_xkORc
16:47:08 -!- ogrom has joined.
16:57:16 -!- aloril_ has joined.
17:03:30 -!- aloril_ has quit (Ping timeout: 250 seconds).
17:05:25 -!- sivoais has quit (Quit: Lost terminal).
17:14:26 -!- coppro has quit (Ping timeout: 255 seconds).
17:14:33 -!- sivoais has joined.
17:15:14 -!- epicmonkey has quit (Ping timeout: 246 seconds).
17:20:23 -!- aloril_ has joined.
17:27:18 -!- carado has joined.
17:32:31 -!- Phantom_Hoover has quit (Ping timeout: 245 seconds).
17:38:44 -!- atriq has joined.
17:43:15 -!- ais523 has joined.
17:51:08 <FreeFull> Goddammit haskell
17:51:31 <FreeFull> ghci thinks 25*0.036 is 0.8999999999999999
17:51:36 <ion> :: CReal
17:52:09 <ion> :: Rational
17:52:29 <fizzie> Floating-point numbers are the devil.
17:53:02 <ion> Nothing wrong with floating-point numbers (except for denormals and NaN) as long as you use them appropriately.
17:53:05 <shachaf> zomg irb thinks the same thing.
17:53:11 <shachaf> And Python!
17:53:21 <shachaf> ion: *Ahem*. Floating point *values*.
17:53:49 <itidus21> on windows calculator, 0.8999999999999999 / 0.36 = 2.4999999999999997222222222222222
17:54:07 <FreeFull> I blame haskell for using an inexact default representation of fractional values
17:54:13 <ion> > (25*0.036 :: CReal, 25*0.036 :: Rational)
17:54:14 <lambdabot> (0.9,9 % 10)
17:54:43 <fizzie> `runc int main(void) { printf("%.20f", 25*0.036); }
17:54:44 <FreeFull> What is CReal in
17:54:45 <ion> freefull: What should pi be in the exact representation of fractional values?
17:54:48 <HackEgo> 0.89999999999999991118
17:54:49 <shachaf> Rational is nicer than CReal if you're just talking about rationals.
17:55:01 <FreeFull> ion: An infinite value of course
17:55:19 <FreeFull> Infinite in length I mean
17:55:53 <FreeFull> 0.9 is definitely representable accurately without too much data though =P
17:56:08 <ion> in base-10
17:56:30 <FreeFull> In any base, using the right representation
17:57:04 <FreeFull> In binary you can say 1001/1010
17:57:30 <FreeFull> There, accurate representation of 0.9
17:57:41 <ion> :: Rational
17:58:07 <shachaf> pi is representable using only two bytes of data.
17:58:08 <Gregor> Funny that you're discussing this in here.
17:58:18 <FreeFull> shachaf: In base pi =P
17:58:21 <Gregor> My latest FB post: The worst part of floating point math is not the fact that 0.1 + 0.2 yields 0.30000000000000004, but trying to explain to people why their language is horribly broken if 0.1 + 0.2 does NOT yield 0.30000000000000004.
17:58:26 <shachaf> In Base English.
17:58:49 -!- Phantom_Hoover has joined.
17:58:55 <fizzie> > toRational (25*0.036 :: Double)
17:58:56 <lambdabot> 2026619832316723 % 2251799813685248
18:00:06 <FreeFull> If you "cast" the end result to Rational, and you don't put :: Double in anywhere or anything similar, will the entire computation be done using rationals?
18:00:39 <shachaf> That's not a cast.
18:00:45 <shachaf> But yes.
18:01:26 <FreeFull> That's why I put it in quotes
18:01:27 <FreeFull> =P
18:01:36 <fizzie> @type 0.036
18:01:37 <lambdabot> forall t. (Fractional t) => t
18:01:52 <FreeFull> Rational is a member of Fractional, right?
18:02:02 <FreeFull> Or whatever the term is
18:02:17 <shachaf> Haskell doesn't work that way, FreeFull.
18:02:42 <FreeFull> Tell me more then
18:04:55 -!- augur has quit (Remote host closed the connection).
18:05:52 -!- Phantom_Hoover has quit (Ping timeout: 256 seconds).
18:06:44 <fizzie> Rational is Ratio Integer, and there is an instance (Num (Ratio a), Integral a) => Fractional (Ratio a), which is maybe an answer, of sorts. But maybe a real Haskeller will explain it all.
18:06:50 -!- augur has joined.
18:07:12 <ion> > toRational (pi :: Double)
18:07:13 <lambdabot> 884279719003555 % 281474976710656
18:07:15 -!- augur has quit (Remote host closed the connection).
18:07:23 <ion> > toRational (exp 1 :: Double)
18:07:24 <lambdabot> 6121026514868073 % 2251799813685248
18:07:56 <fizzie> ion: That should show all those irrational-pi people.
18:09:30 <fizzie> > toRational (pi :: CReal)
18:09:31 <lambdabot> *Exception: CReal.toRational
18:09:34 <fizzie> Aw.
18:12:33 -!- hagb4rd has joined.
18:12:41 -!- coppro has joined.
18:14:03 * Sgeo wonders if socket.io is/should be a sufficient motivation to use Node.js even if I don't want to use Javascript server-side
18:14:32 <Sgeo> Oh there exists socket.io for other languages
18:15:04 -!- jiella has joined.
18:15:14 <hagb4rd> one script to rule them all
18:18:09 <Gregor> Sgeo: Oh, but you DO want to use JavaScript server-side.
18:27:41 <olsner> do you?
18:32:14 <kmc> http://blog.nelhage.com/2012/03/why-node-js-is-cool/ (it's not about performance)
18:32:52 <kmc> it's not about javascript either
18:33:38 <olsner> is it about doing cooperative multitasking by hand?
18:33:54 <kmc> kind of but not really
18:33:59 <Gregor> Hahaha X-D
18:34:50 <fizzie> fungot: What's it all about, really, in the end?
18:34:51 -!- variable has joined.
18:34:51 <fungot> fizzie: i need this terminal for something else in mind
18:35:12 <fizzie> fungot: Okay, be that way. I didn't want an answer anyway.
18:35:13 <fungot> fizzie: what now? :) ( of course that ignores the fact that i have
18:35:36 <olsner> oh, "a sweet spot in terms of what developers are willing to put up with"
18:36:26 <kmc> it's a framework which more or less forces you to write network libraries in a composable way
18:36:27 <Gregor> olsner: That's the best description of anything I have ever heard.
18:36:32 <kmc> which is something people traditionally do poorly
18:36:54 <kmc> it is not the theoretically best way of doing so, but it's a thing that exists now that a lot of people use
18:37:18 <kmc> that is the tl;dr of that article
18:41:37 -!- hagb4rd has quit (Quit: hagb4rd).
18:47:44 <itidus21> is there a tl;dr language?
18:51:34 <olsner> tl;dr: 99 bottles of beer
18:55:24 <Gregor> itidus21: Yes, it's called C++.
18:55:48 <kmc> ISO-9899 bottles of beer
18:56:43 <itidus21> steal_underpants(); [...] return profit;
18:57:11 -!- hagb4rd has joined.
18:58:02 <fizzie> An ISO 9001 bottle of beer is quality-managed.
18:58:30 <kmc> http://www.savingadvice.com/images/blog/generic-beer.jpg
18:59:19 <olsner> An ISO 8601 bottle of beer has a standardised date format.
18:59:36 <kmc> an ISO 3103 bottle of beer is actually tea
18:59:50 <fizzie> I like how the image accompanying ISO 9000#Contents of ISO 9001 is "ISO 9001 certification of a fish wholesaler in Tsukiji" http://upload.wikimedia.org/wikipedia/commons/thumb/d/d5/ISO_9001_in_Tsukiji.jpg/609px-ISO_9001_in_Tsukiji.jpg
18:59:53 <itidus21> which ISO describes the ISO?
18:59:56 <fizzie> It's so relevant.
19:00:07 <fizzie> ISO is also a demogroup.
19:00:37 <kmc> "ISO 8128-2:1993: Apple juice, apple juice concentrates and drinks containing apple juice -- Determination of patulin content -- Part 2: Method using thin-layer chromatography"
19:02:21 <kmc> http://www.iso.org/iso/home/store/catalogue_tc/catalogue_tc_browse.htm?commid=47918&published=on
19:03:30 <fizzie> (Or at least kind of a group.)
19:05:20 <fizzie> kmc: Did you purchase a copy of ISO 8128-2 already?
19:05:45 <fizzie> With that sort of a name, I'm sure it's flying off the shelves.
19:07:37 <kmc> i don't have any CHF :/
19:08:01 <FreeFull> What is patulin
19:08:18 <FreeFull> Oh, it's a toxin produced by moulds
19:08:27 <kmc> the swiss see a pretty woman they say ein, zwei, drei and try to push her down some ice
19:09:13 <FreeFull> kmc: I don't get it
19:10:15 <kmc> it's a quote from cool runnings
19:10:48 <olsner> ah, cool runnings
19:13:40 -!- Jafet has quit (Ping timeout: 252 seconds).
19:14:04 -!- atriq has quit (Ping timeout: 260 seconds).
19:47:38 -!- atriq has joined.
19:53:42 <atriq> @messages?
19:53:42 <lambdabot> Sorry, no messages today.
19:53:49 <olsner> @messages
19:53:49 <lambdabot> You don't have any new messages.
19:54:01 <olsner> @messages?
19:54:01 <lambdabot> Sorry, no messages today.
20:14:25 -!- oerjan has joined.
20:17:37 <oerjan> <fizzie> I conclude that it mostly means something vaguely brownish. <-- THAT'S RACIST!
20:17:49 <ion> My new tattoo http://i.imgur.com/HH89J.jpg
20:18:06 <atriq> "dishouner"?
20:18:26 <oerjan> "whoosh"?
20:18:42 <atriq> "is there a joke I'm missing"
20:18:52 <olsner> "brownish"
20:19:03 <fizzie> oerjan: It's not racist when it's determined by an impartial algorithm.
20:19:22 <oerjan> fizzie: that's what the segregationists said!
20:23:46 <oerjan> > 25 * 0.036
20:23:47 <lambdabot> 0.8999999999999999
20:23:57 <oerjan> > 0.9
20:23:58 <lambdabot> 0.9
20:24:57 <fizzie> > 0.9 - 25 * 0.036
20:24:58 <lambdabot> 1.1102230246251565e-16
20:25:32 <ion> > ((25*0.001)*36, 25*(0.001*36))
20:25:33 <lambdabot> (0.9,0.9000000000000001)
20:25:59 <ion> > ((25*0.001)*36, 25*(0.001*36), 25*(36*0.001))
20:26:00 <lambdabot> (0.9,0.9000000000000001,0.9000000000000001)
20:26:08 <oerjan> `addquote <Gregor> My latest FB post: The worst part of floating point math is not the fact that 0.1 + 0.2 yields 0.30000000000000004, but trying to explain to people why their language is horribly broken if 0.1 + 0.2 does NOT yield 0.30000000000000004.
20:26:11 <HackEgo> 866) <Gregor> My latest FB post: The worst part of floating point math is not the fact that 0.1 + 0.2 yields 0.30000000000000004, but trying to explain to people why their language is horribly broken if 0.1 + 0.2 does NOT yield 0.30000000000000004.
20:26:21 <ion> > ((25*0.001)*36, 25*(0.001*36), 25*(36/1000))
20:26:22 <lambdabot> (0.9,0.9000000000000001,0.8999999999999999)
20:26:32 -!- ogrom has quit (Quit: Left).
20:26:33 <shachaf> Posted Using FB2IRC Technology®
20:26:42 <oerjan> > 0.1 + 0.2
20:26:43 <lambdabot> 0.30000000000000004
20:26:53 <atriq> > 0.1 + 0.2 :: Float
20:26:55 <lambdabot> 0.3
20:27:01 <atriq> > 0.1 + 0.2 :: Rational
20:27:03 <lambdabot> 3 % 10
20:27:15 <atriq> > 0.1 + 0.2 :: Quadrupal
20:27:16 <lambdabot> Not in scope: type constructor or class `Quadrupal'
20:27:20 <atriq> > 0.1 + 0.2 :: Quadruple
20:27:21 <lambdabot> Not in scope: type constructor or class `Quadruple'
20:27:23 <atriq> :
20:27:24 <atriq> (
20:27:30 <atriq> My frown slipped
20:27:39 <oerjan> what's quadruple
20:27:56 <atriq> http://en.wikipedia.org/wiki/Quadruple-precision_floating-point_format
20:28:00 <oerjan> ah
20:28:21 <atriq> It's a thing which exists
20:29:17 <FreeFull> > pi :: Rational
20:29:18 <olsner> Quadruped-precision
20:29:18 <lambdabot> No instance for (GHC.Float.Floating GHC.Real.Rational)
20:29:18 <lambdabot> arising from a us...
20:29:28 <oerjan> i thought you might be misspelling Quaternion (not that i think lambdabot has that)
20:29:35 <oerjan> > 1 :: Quaternion
20:29:36 <lambdabot> Not in scope: type constructor or class `Quaternion'
20:29:37 -!- MoALTz has quit (Quit: Leaving).
20:29:41 <FreeFull> > pi :: CReal
20:29:42 <lambdabot> 3.1415926535897932384626433832795028841972
20:29:59 <oerjan> :t showCReal
20:30:00 <lambdabot> Int -> CReal -> String
20:30:09 <oerjan> > showCReal 100 pi
20:30:10 <lambdabot> "3.141592653589793238462643383279502884197169399375105820974944592307816406...
20:30:48 <oerjan> > showCReal 0 pi
20:30:49 <lambdabot> "3"
20:30:56 <oerjan> > showCReal (-1) pi
20:30:57 <lambdabot> "*Exception: Negative exponent
20:31:07 <oerjan> i was hoping for an unlimited option
20:31:27 <atriq> > show CReal 0 pi
20:31:28 <lambdabot> Not in scope: data constructor `CReal'
20:31:30 <oerjan> > showCReal 1000000000 pi
20:31:32 <atriq> > showCReal 0 pi
20:31:33 <lambdabot> "3"
20:31:35 <lambdabot> mueval: ExitFailure 1
20:31:35 <lambdabot> mueval: Prelude.undefined
20:31:45 <oerjan> > showCReal 1000000000 pi
20:31:46 <atriq> WHICH IS WHICH
20:31:50 <lambdabot> mueval: ExitFailure 1
20:31:50 <lambdabot> mueval: Prelude.undefined
20:31:55 <atriq> Okay
20:32:02 <olsner> showCereal
20:32:47 <atriq> For just $280000 I'll be able to read a webcomic offline when I'm 20!
20:32:59 <atriq> :)
20:33:31 <oerjan> a bargain!
20:33:54 <oerjan> these are zimbabwean dollars, right?
20:34:10 <atriq> Nah, US
20:34:20 <atriq> I've organized a kickstarter to help me reach it
20:35:01 <oerjan> > toRational (25*0.036)
20:35:03 <lambdabot> 2026619832316723 % 2251799813685248
20:35:16 <atriq> http://www.kickstarter.com/projects/14293468/homestuck-adventure-game
20:35:18 <atriq> There it is
20:35:21 <oerjan> atriq: sounds legit
20:35:29 <oerjan> i mean, before you linked it.
20:35:36 <atriq> Heh
20:39:55 <oerjan> <FreeFull> If you "cast" the end result to Rational, and you don't put :: Double in anywhere or anything similar, will the entire computation be done using rationals? <-- that means no, btw
20:40:29 <oerjan> because toRational takes a Fractional as argument, which _still_ defaults to Double.
20:40:46 <FreeFull> oerjan: I wasn't using toRational
20:40:49 <FreeFull> I was using :: Rational
20:41:06 <FreeFull> "Yo, the output is Rational"
20:41:06 <oerjan> oh it was fizzie who did that.
20:42:05 <oerjan> :t toRational
20:42:06 <lambdabot> forall a. (Real a) => a -> Rational
20:42:14 <oerjan> make that Real, not Fractional
20:42:18 <oerjan> :t realToFrac
20:42:19 <lambdabot> forall a b. (Real a, Fractional b) => a -> b
20:42:19 <atriq> :t fromRational
20:42:20 <lambdabot> forall a. (Fractional a) => Rational -> a
20:43:45 <oerjan> realToFrac combines both toRational and fromRational
20:44:10 <oerjan> :t fromIntegral
20:44:11 <lambdabot> forall a b. (Integral a, Num b) => a -> b
20:45:08 <oerjan> while fromIntegral combines toInteger and fromInteger. so those two are the only ones you need for usual numeric "casts".
20:46:13 <oerjan> > toRational (pi :: CReal) -- hm...
20:46:15 <lambdabot> *Exception: CReal.toRational
20:46:23 <oerjan> CHEATING SCUM
20:46:48 <olsner> what's CReal?
20:47:07 <oerjan> lambdabot's unbounded "real number" type
20:47:10 -!- ion has quit (Ping timeout: 252 seconds).
20:47:17 <oerjan> from some module on hackage
20:47:49 <oerjan> > toRational (0.2 :: CReal) -- hm...
20:47:50 <lambdabot> *Exception: CReal.toRational
20:48:04 -!- atriq has quit (Quit: Leaving).
20:51:12 <FreeFull> > toRational pi
20:51:13 <lambdabot> 884279719003555 % 281474976710656
20:52:23 <oerjan> > logBase 2 281474976710656
20:52:24 <lambdabot> 48.0
20:52:52 <oerjan> it's just converting the binary form of the Double to an exact Rational
20:53:13 <oerjan> > 1e1000000000000000 :: Double -- is this bug still there...
20:53:18 <lambdabot> mueval: ExitFailure 1
20:53:18 <lambdabot> mueval: Prelude.undefined
20:53:21 -!- ion has joined.
20:53:22 <oerjan> yep it is :P
20:54:07 <FreeFull> > 1e1000
20:54:08 <lambdabot> Infinity
20:54:15 <oerjan> it crashes instead of producing an Infinity value because it follows the haskell standard precisely and converts to an out-of-memory Rational first :)
20:55:12 <oerjan> > 1e1000 :: Rational
20:55:14 <lambdabot> 100000000000000000000000000000000000000000000000000000000000000000000000000...
20:57:05 <oerjan> someone recently made a ghc extension so 1e1000 can produce an Integral value
20:57:25 <oerjan> :t 1e1000
20:57:26 <lambdabot> forall t. (Fractional t) => t
20:57:36 <oerjan> :t 1e100000000000000000000000 --hm...
20:57:51 <lambdabot> thread killed
20:58:06 <oerjan> heh the expansion happens even before type checking
21:01:15 <FreeFull> =P
21:01:37 <oerjan> :t 1e100000000000000000000000 --double checking that
21:01:52 <lambdabot> thread killed
21:01:57 <oerjan> :t 1e1000
21:02:00 <lambdabot> forall t. (Fractional t) => t
21:02:54 <ion> Whoa
21:03:55 <FreeFull> :t 1e(1e(1e(1e(1e(1e(1e(1e10)))))))
21:03:59 <lambdabot> forall t t1 t2 t3 t4 t5 t6 t7. (Num (t -> t1), Num (t2 -> t), Num (t3 -> t2), Num (t4 -> t3), Num (t5 -> t4), Num (t6 -> t5), Num (t7 -> t6), Fractional t7) => t1
21:04:11 <FreeFull> :t 1e(1e(1e(1e(1e(1e(1e(1e10))))))))
21:04:13 <lambdabot> parse error on input `)'
21:04:18 <oerjan> > 1e
21:04:19 <FreeFull> > 1e(1e(1e(1e(1e(1e(1e(1e10)))))))
21:04:23 <lambdabot> mueval-core: Time limit exceeded
21:04:23 <lambdabot> mueval-core: Time limit exceeded
21:04:26 <oerjan> > 1e
21:04:30 <lambdabot> 1
21:04:36 <oerjan> :t 1e
21:04:37 <lambdabot> forall t. (Num (Expr -> t)) => t
21:05:13 <olsner> hmm?
21:05:19 <oerjan> :t 1 e
21:05:28 <lambdabot> forall t. (Num (Expr -> t)) => t
21:05:48 <oerjan> it's not actually parsed as one token
21:06:05 <olsner> but if there's a number after the e it gets parsed as a literal?
21:06:11 <oerjan> :t 1e1
21:06:12 <olsner> :t 1 e 100
21:06:19 <lambdabot> forall t. (Fractional t) => t
21:06:20 <lambdabot> forall t t1. (Num (t1 -> t), Num t1) => t
21:08:10 <oerjan> haskell has a general greedy lexing rule, although i think there are corner cases ghc gets "wrong" (that no sane person will use)
21:08:45 <oerjan> :t Just.if True then 1 else 2
21:08:49 <lambdabot> parse error on input `then'
21:09:07 <FreeFull> > (e) 1 2
21:09:11 <lambdabot> mueval-core: Time limit exceeded
21:09:15 <oerjan> i think that should technically notice that if is a keyword
21:09:28 <oerjan> > e 1 2
21:09:30 <lambdabot> Couldn't match expected type `t1 -> t2 -> t'
21:09:30 <lambdabot> against inferred type ...
21:09:31 -!- augur has joined.
21:10:01 <FreeFull> Lambdabot seems to do e differently
21:10:08 <oerjan> yes.
21:10:13 <oerjan> :t e
21:10:15 <lambdabot> Expr
21:10:20 <oerjan> > a+b+c+d+e
21:10:23 <lambdabot> a + b + c + d + e
21:11:01 <oerjan> it has a primitive symbolic expression type which all letters are defined as
21:11:34 <oerjan> > f+g+h
21:11:37 <lambdabot> Ambiguous type variable `a' in the constraints:
21:11:37 <lambdabot> `GHC.Num.Num a'
21:11:37 <lambdabot> ari...
21:11:46 <oerjan> except those
21:11:51 <olsner> > f+g+h :: Expr
21:11:53 <lambdabot> f + g + h
21:12:09 <oerjan> > (f+g+h) (i+j+k) :: Expr
21:12:11 <lambdabot> f (i + j + k) + g (i + j + k) + h (i + j + k)
21:12:17 -!- augur has quit (Remote host closed the connection).
21:12:20 <olsner> sweet
21:12:50 <oerjan> and it also has its weird numeric instances for functions, which combines nicely with that
21:13:42 <oerjan> but there are so many additions it gets confusing.
21:14:29 <oerjan> > 1e(1e(1e(1e(1e(1e(1e(1e10)))))))
21:14:34 <lambdabot> mueval-core: Time limit exceeded
21:14:46 <oerjan> i really don't understand why that times out
21:15:05 <FreeFull> > 1e(1)
21:15:11 <lambdabot> mueval: ExitFailure 1
21:15:11 <lambdabot> mueval: Prelude.undefined
21:16:00 <oerjan> > 1 e 1
21:16:04 <lambdabot> mueval-core: Time limit exceeded
21:16:05 <FreeFull> ghci fails on anything that doesn't follow the somethingesomething format
21:16:27 -!- carado has quit (Remote host closed the connection).
21:16:30 <FreeFull> That is, together, no spaces, and no brackets for the somethings
21:16:54 <olsner> oh, the somethingsomething format
21:16:59 <oerjan> FreeFull: yes. because it will parse 1e1 as 1 e1 and if you haven't defined e1...
21:17:06 <oerjan> er
21:17:20 <oerjan> i mean 1esomethingnot1
21:17:34 <oerjan> :t 1 e 1
21:17:41 <FreeFull> 1e gets parsed as a 1 and then an e
21:17:41 <lambdabot> forall t t1. (Num (t1 -> t), Num t1) => t
21:18:27 <oerjan> > 1 e 1 :: Integer
21:18:34 <lambdabot> mueval: ExitFailure 1
21:18:34 <lambdabot> mueval: Prelude.undefined
21:18:43 <oerjan> this is weird
21:18:52 <oerjan> :t \x -> 1 x
21:18:58 <olsner> > fromIntegral (1 e 1) :: Integer
21:19:02 <lambdabot> forall t t1. (Num (t -> t1)) => t -> t1
21:19:03 <lambdabot> mueval-core: Time limit exceeded
21:19:20 <oerjan> > 1 2
21:19:24 <lambdabot> mueval-core: Time limit exceeded
21:19:38 <oerjan> i think lambdabot may simply be overworked
21:19:47 <oerjan> :t 1 2 :: Integer
21:19:50 <lambdabot> Integer
21:19:56 <oerjan> > 1 2 :: Integer
21:19:58 <lambdabot> 1
21:20:05 <oerjan> > 1 2
21:20:07 <lambdabot> 1
21:20:13 <olsner> > fromIntegral (1 e 1) :: Integer
21:20:16 <lambdabot> 1
21:20:20 <olsner> let's overwork it again!
21:20:23 <oerjan> > 1e(1e(1e(1e(1e(1e(1e(1e10))))))) :: Integer
21:20:24 <lambdabot> 1
21:20:27 <oerjan> yay!
21:20:35 <oerjan> > 1e(1e(1e(1e(1e(1e(1e(1e10)))))))
21:20:36 <lambdabot> 1
21:20:52 <olsner> > 1 e 1
21:20:54 <lambdabot> 1
21:20:55 <oerjan> finally it worked
21:21:04 <olsner> hmm, is 1 e 1 supposed to be 10?
21:21:40 <oerjan> no, 1e1 is
21:21:42 <oerjan> > 1e1
21:21:46 <lambdabot> mueval-core: Time limit exceeded
21:21:48 <oerjan> > 1e1
21:21:51 <lambdabot> 10.0
21:22:10 <olsner> 1e1 was what I was thinking about, I just overspaced it a bit
21:22:58 <oerjan> it's equivalent to fromRationl (10%1)
21:23:03 <oerjan> *fromRational
21:23:36 <olsner> hmm, because all floating point literals go through fromRational?
21:24:19 <oerjan> yep
21:26:55 <FreeFull> > 1e(1e(1e1))
21:26:59 <lambdabot> mueval-core: Time limit exceeded
21:27:06 <FreeFull> > 1e(1e1)
21:27:10 <lambdabot> mueval-core: Time limit exceeded
21:27:14 <FreeFull> > 1e10
21:27:16 <lambdabot> 1.0e10
21:27:22 <FreeFull> Cheat =P
21:27:32 <oerjan> FreeFull: technically that should _never_ evaluate the part in parentheses. lambdabot is just generally overworked.
21:27:39 <oerjan> > 1e undefined
21:27:43 <lambdabot> mueval-core: Time limit exceeded
21:27:45 <oerjan> > 1e undefined
21:27:46 -!- Phantom_Hoover has joined.
21:27:47 <lambdabot> 1
21:28:20 <oerjan> for a function, lambdabot's instances make 1 = const 1
21:28:47 <FreeFull> > (1) 1
21:28:49 <oerjan> "pointwise arithmetic", is the term
21:28:49 <lambdabot> 1
21:29:04 <FreeFull> :t e
21:29:06 <lambdabot> Expr
21:29:36 <oerjan> > 1 (Just "floccinaucinihilipilification")
21:29:41 <lambdabot> mueval-core: Time limit exceeded
21:29:43 <oerjan> > 1 (Just "floccinaucinihilipilification")
21:29:44 <lambdabot> 1
21:30:51 <oerjan> > fix 1
21:30:56 <lambdabot> mueval-core: Time limit exceeded
21:30:57 <oerjan> > fix 1
21:31:01 <lambdabot> mueval-core: Time limit exceeded
21:31:02 <oerjan> > fix 1
21:31:04 <lambdabot> 1
21:31:35 <oerjan> someone swat whoever is giving lambdabot fatigue for me
21:32:10 <olsner> oerjan: you are responsible for the swattings in here
21:33:52 <oerjan> but they're probably not in this channel!
21:34:08 <oerjan> @channels
21:34:08 <lambdabot> Unknown command, try @list
21:34:30 <oerjan> like everything else with lambdabot, there's a command which is impossible to remember the name of
21:35:59 <olsner> there is more than one... what's the name of the command that starts yhjul?
21:38:42 <FreeFull> > 1 1 1 1 1 1 1
21:38:46 <lambdabot> 1
21:39:12 <oerjan> @yhjul
21:39:12 <lambdabot> "\"\\\"\\\\\\\"\\\\\\\\\\\\\\\"\\\\\\\\\\"
21:39:18 <olsner> boring
21:39:24 <oerjan> @yh
21:39:24 <lambdabot> Just 'J'
21:39:28 <olsner> the real name is longer
21:39:28 <oerjan> @y
21:39:28 <lambdabot> Maybe you meant: yarr yhjulwwiefzojcbxybbruweejw yow . ? @ v
21:39:37 <oerjan> tharr you go
21:39:46 <olsner> @yhjulwwiefzojcbxybbruweejw
21:39:46 <lambdabot> "\"\\\"\\\\\\\"\\\\\\\\\\\\\\\"\\\\\\\\\\"
21:39:51 <olsner> aah, hello again old friend
21:39:57 <oerjan> > fix show
21:39:58 <lambdabot> "\"\\\"\\\\\\\"\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"\\\\\\\\\\\\...
21:40:14 <oerjan> @c
21:40:14 <lambdabot> Maybe you meant: check choice-add choose clear-messages compose . ? @ rc v
21:40:23 <oerjan> @w
21:40:23 <lambdabot> Maybe you meant: web1913 what where where+ wiki wn world02 . ? @ v
21:40:31 <oerjan> where lambdabot
21:40:35 <oerjan> @where lambdabot
21:40:35 <lambdabot> http://haskell.org/haskellwiki/Lambdabot
21:40:46 <oerjan> @s
21:40:46 <lambdabot> Maybe you meant: shootout show slap smack source spell spell-all src . ? @ v
21:40:55 <oerjan> @shootout
21:40:55 <olsner> @smack oerjan
21:40:55 <lambdabot> http://shootout.alioth.debian.org/gp4/benchmark.php?test=all&lang=all
21:40:55 <lambdabot> go slap oerjan yourself
21:41:01 <FreeFull> @shootout
21:41:01 <lambdabot> http://shootout.alioth.debian.org/gp4/benchmark.php?test=all&lang=all
21:41:26 <FreeFull> > fix fix
21:41:27 <lambdabot> Occurs check: cannot construct the infinite type: a = a -> a
21:41:28 <oerjan> that sounds like something that should just have been in @where
21:41:48 <oerjan> @list shootout
21:41:48 <lambdabot> dummy provides: eval choose id read show dummy bug get-shapr faq paste learn map shootout botsnack thanks thx thank you ping wiki oldwiki docs source fptools hackage googleit
21:41:59 <oerjan> @list list
21:42:00 <lambdabot> system provides: echo list listchans listmodules listservers uptime
21:42:03 <oerjan> @listchans
21:42:03 <lambdabot> ##freebsd ##logic ##math ##proggit ##villagegreen #agda #arch-haskell #codez #darcs #esoteric #fedora-haskell #friendly-coders #functionaljava #gentoo-haskell #gentoo-uy #ghc #happs #haskell #
21:42:04 <lambdabot> haskell-blah #haskell-books #haskell-br #haskell-fr #haskell-freebsd #haskell-in-depth #haskell-overflow #haskell-pl #haskell.au #haskell.cz #haskell.de #haskell.dut #haskell.es #haskell.se #haskell.
21:42:04 <lambdabot> tw #learnanycomputerlanguage #lesswrong #macosx #macosxdev #rosettacode #scala #scalaz #scannedinavian #snapframework #tanuki #teamunix #unicycling #uscs2010 #xmonad #yi weird#
21:42:14 <oerjan> there it was
21:42:28 <FreeFull> That's a lot of chans
21:42:34 <oerjan> yes
21:42:37 <olsner> @get-shapr
21:42:37 <lambdabot> shapr!!
21:42:56 <FreeFull> Is the constant e in Haskell?
21:42:57 <oerjan> shapr isn't even online
21:43:02 <olsner> I hope this command works something like the bat signal
21:43:03 <oerjan> > exp 1 -- sort of
21:43:05 <lambdabot> 2.718281828459045
21:43:12 -!- kinoSi has quit (Read error: Connection reset by peer).
21:43:39 -!- kinoSi has joined.
21:44:06 <FreeFull> Good enough
21:44:11 <FreeFull> > exp 1 :: CReal
21:44:13 <lambdabot> 2.7182818284590452353602874713526624977572
21:44:56 <FreeFull> What is CReal in
21:45:12 <copumpkin> @hackage numbers
21:45:12 <lambdabot> http://hackage.haskell.org/package/numbers
21:45:21 <copumpkin> not to be confused with Numbers
21:45:28 <copumpkin> which someone added to maximize confusion
21:49:02 <oerjan> hackage is case sensitive? :(
21:49:16 <oerjan> well, package names
21:50:32 <FreeFull> numbers sure produces a lot of warnings when installed
21:58:58 <itidus21> is wolfram a unit?
21:59:42 <oerjan> i don't think so, it's another name for the element tungsten
21:59:51 <itidus21> (no.. and it will only be a unit for anything over my dead body)
22:00:08 <itidus21> lol
22:01:05 <olsner> some say Wolfram is the unit of ego
22:01:09 <itidus21> lol lol
22:01:31 <olsner> > During the dinner discussion leading up to this definition the foreword to one of the Mathematica books was mentioned, where Stephen Wolfram (in third person) wrote "Stephen Wolfram is the creator of Mathematica and is widely regarded as the most important innovator in scientific and technical computing today." In honour of this self-assessment I suggest we call the unit of ego the Wolfram.
22:01:32 <lambdabot> <no location info>: parse error on input `of'
22:02:15 <itidus21> in theory ego should be measurable right?
22:02:23 <Phantom_Hoover> it i
22:02:25 <Phantom_Hoover> *it is
22:02:35 <Phantom_Hoover> the wolfram is a rigorous system of ego
22:03:12 <itidus21> i guess it needs to be related to other things before it becomes useful
22:03:25 <olsner> that quote was from the first hit, the second hit was http://www.wolframalpha.com/input/?i=size+of+stephen+wolfram%27s+ego
22:03:38 -!- copumpkin has quit (Quit: Computer has gone to sleep.).
22:05:47 <olsner> indeed
22:06:30 <olsner> it should say 1 Wolfram, but I suppose that kind of self-deprecating humor is incompatible with his ego
22:07:29 <oerjan> do they actually have these things in america http://www.sheldoncomics.com/archive/121002.html
22:07:58 <itidus21> lmao @ "http://www.wolframalpha.com/input/?i=size+of+stephen+wolfram%27s+ego"
22:08:14 <itidus21> that is a funny url
22:09:05 <oerjan> ...i just realized what to call the unit of obviousness, here.
22:09:21 <olsner> oerjan: what's that?
22:09:33 <oerjan> olsner: it starts with i and ends with s
22:09:50 <olsner> is it obvious?
22:10:01 <oerjan> no, obvious doesn't start with i.
22:10:08 <olsner> obviously
22:11:10 <itidus21> i get it :D
22:11:31 <oerjan> i guess it was sort of obvious.
22:12:13 <oerjan> <olsner> but that starts with s!
22:12:20 <itidus21> i wonder if enough people used that query on wolfram whether it would show up in the wolfram offices
22:13:02 <olsner> it is conceivable that at least one of the quotes about units of ego have been forwarded
22:13:04 <oerjan> in the wolfram offices, wolfram's ego is the elephant in the room
22:15:09 <olsner> in the wolfram offices, it takes physical form and walks around in the shape of an elephant
22:15:58 <itidus21> stephen+ego Development of this topic is under investigation...
22:15:59 <barts> no
22:16:04 <itidus21> i'm.. not sure what that means
22:16:05 <barts> wolfram's ego is the office
22:16:23 <barts> if you're working for wolfram, you enter his ego every day from 9 til 5.
22:16:59 <olsner> it's like that star trek episode where they think there's an entity helping a starbase, but it turns out the entity *is* the starbase
22:17:08 <oerjan> olsner: i think you ruined the joke. :(
22:17:18 <olsner> maybe
22:17:24 <olsner> what was the joke?
22:17:42 <barts> olsner: which episode was that
22:17:49 <olsner> barts: the first one
22:17:52 <barts> the first tng one?
22:17:52 <oerjan> a pun on "elephant in the room" and the size of wolfram's ego
22:17:54 <quintopia> do i know barts?
22:18:10 <barts> no man, they thought the entity was killing the base
22:18:28 <barts> but it was helping other entities of its kind which were the base
22:18:34 <barts> or something like that
22:18:45 <olsner> there were two entities
22:18:48 <barts> yeah
22:18:52 <olsner> and also a colony
22:18:57 <quintopia> farpoint?
22:19:01 <barts> yea
22:21:12 <olsner> there are probably other episodes with similar plots as well
22:21:37 <oerjan> also, no one answered my question of whether they really have these crazy things in america http://www.sheldoncomics.com/archive/121002.html
22:22:25 -!- hagb4rd has quit (Ping timeout: 256 seconds).
22:22:25 <olsner> those 'muricans be crazy
22:22:39 <olsner> I think they do
22:23:00 <quintopia> we do
22:23:27 <quintopia> they arent that sharp though
22:23:54 <olsner> americans?
22:26:41 -!- hagb4rd has joined.
22:26:48 <itidus21> money > math
22:26:53 <itidus21> :D
22:27:37 <itidus21> oops.. i almost forgot the link i was reading wasn't posted in here
22:27:55 <oerjan> > "money" > "math"
22:27:56 <lambdabot> True
22:28:17 <itidus21> apparently wolfram's new kind of science recommends mathematica.. and someone is annoyed by it
22:28:21 <oerjan> SO IT'S SETTLED
22:29:53 <itidus21> i think.. maybe he should see a psychologist
22:30:36 <quintopia> oerjan: i'm not sure, but i dont think it's illegal to carry these around
22:30:39 <quintopia> http://www.bondorseals.com/more_info/cable_and_hose_bridges/cable_and_hose_bridges.htm
22:32:04 <itidus21> when i was young i had a remote control car with a kind of bridge it could lower under itself
22:32:49 <itidus21> i forget the idea
22:33:00 <oerjan> quintopia: i don't quite see the relevance
22:33:26 <itidus21> oerjan: to place over those traffic bumps from the linked comic
22:33:50 <oerjan> itidus21: ok, but that doesn't in any way detract from the bumps' insanity
22:33:57 <fizzie> I had some of those flipping cars.
22:34:51 <fizzie> There's a spring-loaded lever kind of thing that activates after a bit of travel, and makes the car jump and flip over and sometimes even land the right way up.
22:35:12 <fizzie> Or possibly snap on your fingers when arming, or some other such thing.
22:35:38 <oerjan> i guess the point is americans are so crazy that you have to use these crazy things to prevent them from driving against one-way roads.
22:37:07 -!- copumpkin has joined.
22:37:49 <oerjan> unless the real point is americans are so crazy they _think_ other americans are that crazy.
22:38:06 * oerjan meta-disappears ->
22:38:22 <fizzie> oerjan: Aren't those things parking-lot-entrance related more than just generic one-way-street related? Not that I *know* anything.
22:41:36 <fizzie> oerjan: They installed one of those "giant metal pole rises up from the street" traffic control devices at the ends of a mostly-pedestrian street (vehicles that need access get a remote to lower it, and it auto-lowers if trying to exit the street); a day later it rose up when a taxi was right over it.
22:42:00 <fizzie> I think they said it was some kind of a set-up bug that they fixed.
22:42:08 -!- ion has quit (Ping timeout: 246 seconds).
22:43:51 -!- ion has joined.
22:47:20 <itidus21> i am more interested in the unsolicited humour than reality when i say there is no operation which satisfies x in the equation (> (x wolfram) (in mathematicians_wolfram_admires))
22:47:52 -!- boily has quit (Quit: Poulet!).
22:48:24 <itidus21> except perhaps x = NOT
22:49:19 -!- jiella has quit (Quit: Leaving.).
22:52:02 <oerjan> itidus21: formulating mathematics in lisp syntax rarely works for humour, especially when it's utterly logically meaningless.
22:53:28 <Phantom_Hoover> and makes no sense as lisp either
22:55:22 <itidus21> what i tried to say is really in bad taste
22:55:30 <itidus21> so im glad its meaningless
22:56:14 <Phantom_Hoover> we all know what you meant
22:56:42 <Phantom_Hoover> you just put some brackets around it, we're not buzzing and giving off smoke
22:56:50 <itidus21> im sorry
22:56:52 <itidus21> i am
22:57:16 -!- augur has joined.
22:57:27 <itidus21> i know it couldn't be more hypocritical, since obviously i needed quite an overinflated ego to say it, and also that i am a god awful mathematician
22:57:43 <itidus21> incidentally i am also an awful integer
22:57:48 <Phantom_Hoover> no iti
22:57:55 <Phantom_Hoover> you have the exact opposite of an inflated ego
22:58:17 <itidus21> i try to self deprecate to keep it down
22:58:58 <Phantom_Hoover> thus achieving an effect about as annoying
23:01:18 <itidus21> yea i probably make it seem uncool to make fun of wolfram
23:02:16 <itidus21> i layed down and thought about it, i guess its just a business thing..
23:04:47 <itidus21> government:president::employees:employer::animators:director etc
23:11:42 <oerjan> analogies:bullshitter
23:11:53 * oerjan is in _that_ mood today.
23:12:41 <Phantom_Hoover> the mood where you finally ban iti for fuck's sake
23:12:46 <kmc> itidus21:full of shit always
23:13:04 <kmc> i enjoy it tho
23:13:14 <Phantom_Hoover> let him have #esoteric-iti
23:13:22 <kmc> i don't understand what *he* gets out of it, but i enjoy it
23:13:29 <Phantom_Hoover> as it stands he spends too much time dragging down the discussion
23:13:54 <Phantom_Hoover> it's fun for a while and all but he's still making the channel that much worse by being here and he's clearly never going to change
23:14:30 <oerjan> oh dear, i seem to have triggered Phantom_Hoover into _his_ mood.
23:15:47 -!- monqy has joined.
23:15:55 <kmc> the self deprecation doesn't help
23:16:06 <kmc> it's one thing to occasionally overstep your knowledge and admit that you are doing so
23:16:14 <Gregor> oerjan: Wouldja like some popcorn?
23:16:36 -!- Jafet has joined.
23:16:53 <kmc> it's another thing to say completely wrong worthless things all the time, with the stated knowledge that they are completely wrong
23:16:54 <FreeFull> I find that if I'm doing badly at a game, and say how much I suck, I start doing better
23:17:31 <kmc> that basically amounts to admitting "i like the sound of my own voice and i don't care what you get out of it"
23:18:22 <Arc_Koen> it's not that I don't care
23:18:35 <Arc_Koen> but that sound is so nice and pleasant!
23:25:58 <Arc_Koen> oerjan: if you had the restriction "for all loops, the current cell must be the same at the beginning of every iteration of that loop" to brainfuck, does it change tcness?
23:26:19 <Arc_Koen> you told me it didn't, for 3-cell brainfuck, but do the proofs for the other forms of brainfuck still hold?
23:28:22 <fizzie> Arc_Koen: For bounded-cell-size unbounded-tape brainfuck, it vaguely sounds like that'd limit the amount of accessible memory to something that depends on the amount of >s in the program.
23:28:43 <Arc_Koen> oh, of course
23:30:22 <Arc_Koen> well that's a confirmation that I'm too tired right now
23:30:41 -!- Phantom_Hoover has quit (Read error: Connection reset by peer).
23:31:12 <Arc_Koen> I wanted to prove that pbrain was tc even without the [ ] loops
23:32:11 <Arc_Koen> and assuming the > didn't need to disobey that restriction I could've said it was obvious but I'll guess it'll need a little more work
23:32:28 <Arc_Koen> so have a good night and see you guys
23:36:58 -!- Arc_Koen has quit (Quit: that's dr. turing to you, punk).
23:44:25 -!- itidus21 has left ("Leaving").
23:45:46 -!- FreeFull has quit (Quit: Sleep).
00:26:31 -!- copumpkin has quit (Ping timeout: 260 seconds).
00:27:06 -!- copumpkin has joined.
00:50:26 <kmc> anyone have a link for watching the US Presidential debate, something i can pass to mplayer rather than using some Flash player?
00:54:55 -!- sivoais has quit (Quit: Lost terminal).
01:22:33 -!- oerjan has quit (Quit: Good night).
02:01:37 -!- DHeadshot has joined.
02:11:17 -!- Jafet has quit (Quit: Leaving.).
02:20:06 -!- Jafet has joined.
02:24:09 -!- sivoais has joined.
02:49:58 <kmc> that was a boring debate
03:11:04 <Jafet> Damned fat overlords
03:11:12 <Jafet> @let rc=let z n=replicate n(replicate 24 '0')in(fst.head.readHex)<$>transpose("008800880000088888088808":z 7++"000808800088800000088088":z 3++"088880880080808880808808":z 1++["088080808800888008008800","12a0b119a89abb9320aa1018"]);rot=[[0,36,3,41,18],[1,44,10,45,2],[62,6,43,15,61],[28,55,25,21,56],[27,20,39,8,14]]
03:11:13 <lambdabot> Defined.
03:11:58 <Jafet> @let kr::[[Word64]]->[[Word64]];kr a=foldl r a rc where r a rc=let c=foldr1 xor<$>a;d=zipWith xor(last c:c)$(`rotateL` 1)<$>tail c++[head c];a'=zipWith(map.xor)d a;b'=zipWith(zipWith rotateL)a' rot;b=[[b'!!(3*(y-3*x)`mod`5)!!x|y<-[0..4]]|x<-[0..4]];a''=zipWith3(zipWith3(\x y z->xor x(complement y.&.z)))b(tail b++b)(drop 2 b++b)in(xor(a''!!0!!0)rc:tail(a''!!0)):tail a''
03:12:00 <lambdabot> Defined.
03:12:20 <Jafet> > map(map(`showHex`"")) $ k $ replicate 5 (replicate 5 0)
03:12:21 <lambdabot> Couldn't match expected type `a -> b'
03:12:22 <lambdabot> against inferred type `Simple...
03:12:27 <Jafet> > map(map(`showHex`"")) $ kr $ replicate 5 (replicate 5 0)
03:12:29 <lambdabot> [["f1258f7940e1dde7","ff97a42d7f8e6fd4","eb5aa93f2317d635","5e5635a21d9ae61...
03:43:19 -!- Jafet has quit (Quit: Leaving.).
04:05:18 -!- mig22 has joined.
05:20:29 -!- Tod-Autojoined has joined.
05:20:43 -!- TodPunk has quit (Read error: Connection reset by peer).
05:25:00 -!- Jafet has joined.
07:26:23 -!- epicmonkey has joined.
07:40:45 -!- ais523 has quit.
08:37:26 -!- mig22 has quit (Quit: mig22).
09:01:49 -!- ais523 has joined.
09:07:00 -!- mig22 has joined.
09:19:34 <ion> http://bash.org/?953518
09:26:21 <ais523> hmm, based on what I saw on reddit, I think we have a new lesser-known programming language: http://www.floopsy.com/post/32660494624/programming-language-objective-corporatespeak
09:26:25 <ais523> or at least, something in the same mold
09:26:57 <ais523> ion: that's got to be fake, right?
09:27:00 <ais523> as in, someone lying on IRC
09:27:03 <ais523> (which happens all the time)
09:27:09 <fizzie> There's LYING on IRC?!
09:27:27 <ion> It was on the Internet, it must be true.
09:27:41 <ais523> ion: because if someone were wrong on the internet, they would have been corrected?
09:27:44 <fizzie> It reminds me of the "im gunan hack a street light" story.
09:27:53 <ais523> fizzie: ?
09:28:02 <fizzie> ais523: http://www.nndb.com/people/523/000095238/
09:28:02 <oklopol> why does it have to be fake
09:28:21 <oklopol> people have explosives
09:28:31 <ais523> too contrived, really
09:28:47 <ais523> and it seems unlikely someone would keep armed landmines in their shed
09:28:54 <oklopol> where would you keep them?
09:28:58 <oklopol> in your house?
09:29:01 <ais523> I'd keep them unarmed
09:29:05 <ais523> if I kept them at all
09:29:35 <oklopol> oh i assumed they weren't armed and exploded for some other reason
09:30:57 <ais523> things tend to not really spontaneously explode
09:31:00 <oklopol> if they were actually in their explosionous state for fun then i guess i agree that it has to be fake
09:31:04 <ais523> admittedly, landmines might be an exception
09:31:38 <oklopol> well i don't know how hard it is to accidentally blow up a landmine
09:31:51 <oklopol> i suppose it's as hard as they could make it be minus 5
09:32:05 <ais523> if a landmine blows up accidentally, it's not really doing its job
09:32:22 <ais523> apparently in the world wars, people used to simply dismantle anti-tank landmines by hand
09:32:29 <ais523> because they were designed to blow up against tanks, not people
09:32:38 <oklopol> the minus five is because they do explode if you accidentally activate them.
09:33:50 <ais523> in general people like to avoid arming explosives until they're in a situation where you wouldn't mind them exploding
09:34:29 <oklopol> but you could still do it by accident
09:34:45 <oklopol> bloop
09:34:47 <oklopol> bloop
09:34:54 <oklopol> bloop
09:34:57 <oklopol> bloop
09:35:00 <oklopol> bloop
09:35:01 <oklopol> bloop
09:35:02 <oklopol> bloop
09:35:02 <oklopol> bloop
09:35:03 <oklopol> bloop
09:35:05 <oklopol> yay
09:35:15 <oklopol> [12:34:56] <oklopol> bloop
09:35:47 <fizzie> ais523: Speaking of landmines, Finland signed the Ottawa Treaty pretty recently; it took effect in July this year. (There's long been debate about it; after all, "everyone else" signed it in like 1997.)
09:37:09 <fizzie> Well, except for some relatively unknown places like, let's see, USA or Russia.
09:37:49 <fizzie> http://en.wikipedia.org/wiki/List_of_parties_to_the_Ottawa_Treaty -- we're second-latest, apparently.
09:38:40 <oklopol> fizzie: sorry to embarrass you but those are in fact rather big and known places.
09:38:49 <oklopol> please read a newspaper and not an oldspaper.
09:39:19 <fizzie> oklopol: Well, uh, is this "China" thing one too, then?
09:41:43 -!- ais523 has quit (Read error: Connection reset by peer).
09:42:00 -!- ais523 has joined.
09:44:50 -!- hagb4rd has quit (Ping timeout: 244 seconds).
09:58:37 -!- monqy has quit (Quit: hello).
10:02:57 -!- Arc_Koen has joined.
10:04:07 -!- ais523_ has joined.
10:04:36 -!- ais523 has quit (Read error: Connection reset by peer).
10:05:39 <Arc_Koen> hello
10:28:50 -!- ais523_ has quit (Read error: Connection reset by peer).
10:29:01 -!- ais523_ has joined.
10:45:28 -!- ais523_ has quit (Read error: Connection reset by peer).
10:45:37 -!- ais523_ has joined.
11:08:47 -!- barts_ has joined.
11:11:38 -!- barts has quit (Ping timeout: 244 seconds).
11:24:32 -!- impomatic has joined.
11:29:29 -!- carado has joined.
11:31:47 -!- ogrom has joined.
11:36:34 <Arc_Koen> doesn't mediawiki have an easy way to display the intersection of two categories?
11:53:02 -!- impomatic has left.
11:53:02 -!- DHeadshot has quit (Read error: Connection reset by peer).
11:53:55 -!- ais523_ has quit (Ping timeout: 260 seconds).
11:57:41 -!- ogrom has quit (Quit: begone).
11:58:35 -!- copumpkin has quit (Ping timeout: 260 seconds).
11:59:10 -!- copumpkin has joined.
12:24:55 -!- augur has quit (Remote host closed the connection).
12:26:39 -!- MoALTz has joined.
12:28:15 -!- ais523_ has joined.
12:28:40 -!- ais523_ has changed nick to ais523.
12:31:36 -!- Phantom_Hoover has joined.
12:36:50 -!- DHeadshot has joined.
12:37:13 -!- ais523 has quit (Ping timeout: 246 seconds).
12:37:16 -!- ais523_ has joined.
12:37:27 -!- ais523_ has changed nick to ais523.
12:38:00 -!- boily has joined.
12:44:29 -!- ogrom has joined.
12:51:52 -!- Phantom_Hoover has quit (Ping timeout: 252 seconds).
12:53:54 -!- augur has joined.
12:58:59 -!- Phantom_Hoover has joined.
13:03:02 <Sgeo> Hmm, on the one hand, Onion Radio has a funny headline for something, on the other hand, it's Onion Radio which consistently sucks
13:09:29 <Sgeo> I think the voice just grates on me
13:09:58 -!- Indecipherable has joined.
13:15:33 -!- Indecipherable has quit (Quit: used jmIrc).
13:21:49 -!- copumpkin has quit (Quit: Computer has gone to sleep.).
13:27:48 -!- carado has quit (Remote host closed the connection).
13:29:54 <Arc_Koen> olsner: well Im think I'm done with the bf interpreter
13:30:42 <Arc_Koen> (actually I realized the way I was doing was probably not the best; I was storing the brainfuck code around the current cell, which made it quite boring to implement > and <
13:30:55 <Arc_Koen> so I started all over, storing the brainfuck code around the whole tape
13:31:07 <Arc_Koen> and I'm done! except for . and , which are currently no-ops
13:35:34 <Arc_Koen> If you're interested, the code is there: http://sprunge.us/gddK note that I haven't tested it yet, I'll write a thue interpreter in C with the optimization of keeping the substitution rules in a list, always putting the last used rule on top, and always trying rules in the order they are listed (that should make the brainfuck interpreter much faster as every operation uses only a few rules, for instance you don't need to try al
13:35:35 <Arc_Koen> "move to next cell" related rules when you're in the middle of incrementing the current cell)
13:36:51 <Arc_Koen> and I apologize about not writing comments in it; I guess once I have tested it I'll add a "readme" or something
13:41:24 -!- Frooxius has joined.
13:41:35 -!- copumpkin has joined.
13:43:54 -!- kinoSi has quit (Read error: Connection reset by peer).
13:44:21 -!- kinoSi has joined.
13:49:50 -!- Tod-Autojoined has quit (Read error: Connection reset by peer).
13:54:51 -!- mig22 has quit (Quit: mig22).
13:57:08 -!- TodPunk has joined.
14:36:07 -!- boily has quit (Ping timeout: 240 seconds).
14:40:00 -!- boily has joined.
15:00:51 -!- Arc_Koen has quit (Quit: Arc_Koen).
15:07:39 -!- atriq has joined.
15:08:07 <atriq> @messages?
15:08:08 <lambdabot> Sorry, no messages today.
15:08:52 -!- Phantom_Hoover has quit (Read error: Connection reset by peer).
15:09:07 -!- Phantom_Hoover has joined.
15:21:46 -!- ogrom has quit (Quit: Left).
15:44:07 <atriq> I need to quickly make Data.FamilyTree awesome
15:52:03 -!- ais523 has quit.
15:59:32 -!- atriq has quit (Remote host closed the connection).
15:59:36 -!- oerjan has joined.
16:00:05 <oerjan> R.I.P. my favorite café/restaurant :(
16:01:24 -!- atriq has joined.
16:06:40 <atriq> Time to learn GEDCOM 6!
16:07:38 <oerjan> @tell <Arc_Koen> doesn't mediawiki have an easy way to display the intersection of two categories?<-- hm i think i may have wanted that yesterday when failing to find out if a kind of brainfuck derivative existed. or maybe not, not sure what the other category should have been.
16:07:39 <lambdabot> Consider it noted.
16:09:04 <oerjan> i think i'd really have wanted a list of summaries for everything in the category.
16:09:24 -!- Slereah has quit (Ping timeout: 260 seconds).
16:12:48 -!- Phantom_Hoover has quit (Ping timeout: 252 seconds).
16:16:08 -!- atriq has quit (Remote host closed the connection).
16:22:43 -!- atriq has joined.
16:23:08 -!- Slereah has joined.
16:37:44 -!- ogrom has joined.
16:42:12 <oerjan> > 2 * 3 * 47 * 61 * 67 * 103
16:42:13 <lambdabot> 118711002
16:43:38 <oerjan> > nubBy (((>1).).gcd)[2..]
16:43:41 <lambdabot> [2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101...
16:45:05 <oerjan> > drop 10 $ nubBy (((>1).).gcd)[2..]
16:45:08 <lambdabot> [31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,1...
16:47:33 -!- FreeFull has joined.
16:50:27 * oerjan leaves this to Arc_Koen.
16:54:56 -!- Vorpal has joined.
16:57:36 -!- elliott has joined.
16:57:42 <elliott> fizzie: You know that P.E.R.L. language, right?
16:59:34 <elliott> That's not helpful.
17:04:51 <oerjan> what did fizzie do now
17:11:00 -!- Phantom_Hoover has joined.
17:11:25 <FreeFull> Python is so simple, someone who doesn't know the language can help someone who knows more about it than they do
17:13:26 <oerjan> FreeFull: i think i did that with ruby once
17:16:00 <oerjan> but aren't most modern imperative languages like that, anyhow.
17:21:24 <kmc> it depends on whether it was a Python question or a programming question where you happen to be using Python
17:21:45 <kmc> Python, Ruby, Lua, Javascript all have quirks which won't be obvious to outsiders
17:22:01 <oerjan> i find this disturbingly nonrecursive http://www.mezzacotta.net/garfield/?comic=1234
17:22:35 <kmc> "So there's an infinite number of parallel universes, eh?" "Nope, just the two!"
17:22:53 * oerjan recalls that's a futurama quote
17:23:59 <kmc> right you are
17:25:02 <olsner> obviously the other parallel universe has another parallel universe
17:25:41 <elliott> apparently the only person who has ever quoted that on the internet is kmc
17:25:53 <elliott> 20:20:47 <kmc> "so there's an infinite number of parallel universes, eh?"
17:25:53 <elliott> 20:20:50 <kmc> "nope, just the two"
17:26:16 <Phantom_Hoover> he was making references before it was cool
17:26:51 <kmc> well maybe i misremember the quote
17:27:01 <oerjan> elliott: given that i have never seen the actual episode afaik, i find that unlikely.
17:27:17 <elliott> https://www.google.co.uk/search?q=%22So+there's+an+infinite+number+of+parallel+universes%2C+eh%3F%22+%22Nope%2C+just+the+two!%22
17:27:38 <elliott> oerjan: maybe you first saw it in that #haskell log
17:27:44 -!- carado has joined.
17:27:46 <elliott> maybe kmc is hallucinating an episode of futurama that never happened
17:27:47 <oerjan> poyhaps
17:27:54 <elliott> maybe we
17:27:57 <elliott> are the futurama episode???
17:28:03 <oerjan> well i _may_ have read the wikipedia plot outline :P
17:28:04 <Phantom_Hoover> whoa man
17:28:11 <kmc> "Woah, it's like that drug trip I saw in that movie I watched on that drug trip!"
17:28:12 <elliott> oerjan: http://esolangs.org/w/index.php?title=Befunge&curid=1005&diff=34105&oldid=32786
17:28:19 <elliott> oerjan: hey can you give me a reason not to revert this edit
17:28:23 <Phantom_Hoover> it's like when i was little and was afraid i lived in a film
17:28:34 <oerjan> elliott: that i already did so
17:28:56 <elliott> oerjan: woah u r pro
17:29:11 <elliott> oerjan: i should just give the root password to you and resign
17:29:29 <oerjan> although if it had properly halted on EOF, i probably wouldn't have
17:29:46 <elliott> it's sort of ugly
17:30:02 <oerjan> not very DRY, is it
17:30:16 <elliott> is there a joke
17:30:31 <elliott> oh i guess it does literally repeat itself
17:33:14 -!- elliott has changed nick to Wensle.
17:33:20 -!- Wensle has changed nick to elliott.
17:33:51 <oerjan> your secret identity has been revealed!
17:34:00 <oerjan> so secret we've never heard of it
17:34:13 <elliott> yes, that is definitely why I changed my nick
17:34:32 <oerjan> i knew!
17:35:02 <oerjan> i think they should breed a more silent dog.
17:35:19 <elliott> it's called a dead dog, oerjan
17:35:20 <oerjan> and then neuter the rest.
17:35:26 <elliott> they're really bad at learning new tricks
17:35:33 <oerjan> no no, it's called a good dog!
17:35:55 <Phantom_Hoover> it's called a dog with no mouth
17:36:17 <oerjan> i have no mouth but i must bark
17:36:32 <oerjan> aka a tree
17:37:23 <oerjan> *and
17:38:20 <elliott> what
17:38:23 <elliott> what is the nad
17:38:24 <elliott> and
17:38:42 <atriq> The but, I'd presume
17:39:23 <oerjan> good presumption
17:39:25 <Phantom_Hoover> all this talk of butts and 'nads
17:39:35 <oerjan> i wasn't going to touch that
18:17:43 <atriq> I made a hexaflexagon today
18:17:51 <atriq> And let someone play with it.
18:17:59 <atriq> She almost destroyed time and space.
18:18:35 <atriq> I just want to know how she made it a pentagon.
18:20:09 <elliott> nice, slicehost just gave me $10
18:20:14 <elliott> by slicehost I mean rackspace
18:26:30 -!- Phantom_Hoover has quit (Ping timeout: 264 seconds).
18:26:53 <shachaf> hi elliott
18:27:00 <shachaf> Why are you using slicespace now?
18:27:41 <elliott> why do you think I am
18:28:00 <Gregor> For sweet, sweet vengeance?
18:28:18 <shachaf> swengeance
18:32:08 -!- epicmonkey has quit (Ping timeout: 246 seconds).
18:45:52 -!- ogrom has quit (Quit: Left).
19:12:13 -!- Phantom_Hoover has joined.
19:14:18 <atriq> I have a vague memory, possibly of a dream, involving GHC's internal definition of IO
19:14:30 <kmc> yikes
19:14:34 <oerjan> @src IO
19:14:35 <lambdabot> Source not found. That's something I cannot allow to happen.
19:14:37 <atriq> It was something like # State # -> (Effect, # State
19:14:38 <atriq> #)
19:14:46 <oerjan> it used to be in lambdabot
19:15:29 <oerjan> newtype IO a = IO (State# RealWorld -> (# State# RealWorld, a #))
19:15:44 <atriq> I was...
19:15:46 <atriq> Closish
19:16:06 <atriq> Where did I see that?
19:16:27 <oerjan> http://www.haskell.org/ghc/docs/latest/html/libraries/ghc-prim-
19:16:41 <olsner> why is it State# RealWorld instead of just RealWorld or RealWorld#?
19:16:50 <atriq> Oh, okay
19:17:12 <kmc> because ST s uses State# s
19:17:16 <atriq> To keep state threads, separately
19:17:29 <kmc> (ST s) and IO have identical runtime representations and this is useful in various ways
19:17:43 <kmc> the type parameter to State# is a phantom type; (State# x) and (State# y) have the same representation
19:18:06 <olsner> aah, right
19:18:09 <kmc> anway I guess you could push the phantom out to ST itself but you would get marginally less checking in the library internals
19:18:50 <shachaf> People were talking about using the fancy new DataKinds with ST to restrict the parameter to the State#
19:39:29 <atriq> Oh god
19:39:43 <atriq> I've got into an argument about which is better, IWC or xkcd
19:40:07 <Phantom_Hoover> the first thing that comes to mind is 'when?'
19:40:26 <atriq> In total
19:40:29 <atriq> Overall
19:40:39 <atriq> (I'm firmly on the side of IWC)
19:41:30 <Phantom_Hoover> iwc then, the rot's been in xkcd for about half its run even by conservative estimates
19:42:40 <kmc> what's iwc
19:46:07 <atriq> `? iwc
19:46:17 <HackEgo> iwc? ¯\(°_o)/¯
19:46:26 <olsner> i-something web comic?
19:46:33 <Phantom_Hoover> irregular
19:46:35 <atriq> `learn iwc contains puns! Puns galore! Puns after puns after puns! Also science!
19:46:38 <HackEgo> I knew that.
19:46:48 <Phantom_Hoover> a legacy name considering it ran like clockwork for a decade
19:47:00 <atriq> It was the first webcomic I ever read
19:47:13 <atriq> Without it, I probably wouldn't be in this channel
19:47:22 <atriq> I probably wouldn't be in this community!
19:47:39 <atriq> The Hexham Coincidence wouldn't exist!
19:48:41 <Phantom_Hoover> also: it's made with lego
19:49:17 <elliott> kmc: iwc is intermezzo war crime
19:49:17 <kmc> oh that thing
19:49:25 <kmc> that would be a good name for a band
19:49:34 <atriq> No it wouldn't
19:49:42 <atriq> It'd be an alright name for an album
19:51:50 <elliott> i think kmc is right and atriq is wrong
19:51:54 <elliott> who wants to join intermezzo war crime
19:51:57 <elliott> so far it is me and kmc
19:52:01 <elliott> we play warcrimecore
19:52:13 <elliott> it is like polka except you commit war crimes at the same time
19:52:41 <Phantom_Hoover> i'll join
19:52:46 <Phantom_Hoover> what kind of war crimes are we talking
19:53:06 <elliott> we could start out with an EP where we waterboard someone on every song and then go up from there to global thermonuclear war
19:54:26 <shachaf> elliott: I'd join if there were no drums or guitars.
19:54:31 <kmc> our war crime is that we misappropriate the logo of the international committee of the red cross
19:54:58 <elliott> shachaf: does polka have drums and guitars
19:55:00 <elliott> i honestly have no idea
19:55:04 <shachaf> I don't know.
19:55:10 <atriq> I think it's mostly accordion
19:55:27 <elliott> kmc: that is a bit far for me
19:55:30 <elliott> kmc: have you no limits
19:55:32 <shachaf> OK, as long as it's a chromatic button accordion.
19:55:44 <elliott> kmc: that would be post-warcrimecore territory
19:56:01 <shachaf> It can be Russian or French.
19:56:32 <Phantom_Hoover> elliott, idk, the red cross are dicks
19:57:50 <atriq> Okay, it's emerged that both me and the person I was talking to
19:58:07 <atriq> :O
20:02:09 <elliott> http://xkcd.com/1114/ this one is funny
20:02:15 <elliott> mostly for the title text
20:02:40 <olsner> I thought you hated xkcd
20:03:25 <kmc> that one is pretty lame
20:03:26 <shachaf> elliott hates everything.
20:04:10 <kmc> people don't generally agree on which ones are good
20:04:13 <elliott> kmc: OTOH you're pretty lame
20:04:17 <elliott> so it evens out
20:04:20 <kmc> snap
20:07:50 <shachaf> `quote pun
20:07:53 <HackEgo> 173) [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. \ 442) <Taneb> Look, I often walk my dog through a field with cows in it. And I punched myself in the face once. \ 585) <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
20:07:59 <shachaf> @quote pun
20:08:00 <lambdabot> monochrom says: Welcome to #haskell, where your questions are answered in contrapuntal fugues.
20:08:07 <shachaf> @quote \bpun\b
20:08:08 <lambdabot> kmc says: Right, for example Either (pun not intended)
20:08:16 <shachaf> @quote \bpun
20:08:16 <lambdabot> poetix says: < poetix_>: In ancient Athens, they used to punish adulterers by forcing radishes up their rectums < boegel>: poetix_: sounds like fun !
20:08:27 <shachaf> @quote \bpuns?\b
20:08:27 <lambdabot> monochrom says: Co dawg, we heard you like records so we put record puns so you can omit field names while you name fields.
20:08:34 <shachaf> @quote \bpuns?\b
20:08:34 <lambdabot> olsner says: <olsner> pun indented
20:08:38 <shachaf> @quote \bpuns?\b
20:08:38 <lambdabot> monochrom says: Co dawg, we heard you like records so we put record puns so you can omit field names while you name fields.
20:09:07 <shachaf> Need more puns.
20:10:48 <olsner> `quote pun
20:10:51 <HackEgo> 173) [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. \ 442) <Taneb> Look, I often walk my dog through a field with cows in it. And I punched myself in the face once. \ 585) <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
20:15:23 -!- glogbackup has joined.
20:31:16 -!- Vorpal has quit (Ping timeout: 246 seconds).
20:35:06 -!- Phantom_Hoover has quit (Read error: Connection reset by peer).
20:37:07 -!- Phantom_Hoover has joined.
20:39:48 <oklopol> t
20:39:49 <oklopol> y
20:40:15 <Phantom_Hoover> hey oklopol
20:40:37 <Phantom_Hoover> i started doing maths at uni does it start being interesting at some point
20:41:10 <oklopol> depends on your university i guess
20:41:31 <oklopol> also i didn't say t\ny on purpose, i just accidentally hit the keyboard with my head
20:41:46 <oklopol> what have you taken sofar
20:42:02 <oklopol> or what are you taking i guess you haven't finished anything
20:44:07 <Phantom_Hoover> i've had like 1 lecture in analysis, 2 in differential equations, 2 in geometry and 2 in 'foundations' which is like first principles
20:44:47 <Phantom_Hoover> the first geometry one was the closest to being interesting iirc
20:45:47 <fizzie> At least here I think it goes approximatly so that it starts being interesting when it stops being part of the basic math courses for all kinds of folks and starts being courses with actual names.
20:46:07 <fizzie> Possibly. I didn't do it (much).
20:46:40 <oklopol> analysis is kinda bleh
20:46:47 <oklopol> differential equations are kinda bleh
20:46:49 <Phantom_Hoover> unfortunately i have to share all of those except probably foundations and analysis
20:46:56 <Phantom_Hoover> i had to sit on the stairs for geometry
20:46:57 <oklopol> geometry is somewhat bleh
20:47:08 <oklopol> foundations sounds great
20:47:12 <oklopol> i'm sure it's bleh
20:47:28 <oerjan> `addquote <oklopol> t <oklopol> y <oklopol> also i didn't say t\ny on purpose, i just accidentally hit the keyboard with my head
20:47:32 <HackEgo> 867) <oklopol> t <oklopol> y <oklopol> also i didn't say t \ y on purpose, i just accidentally hit the keyboard with my head
20:47:54 <oerjan> hm...
20:47:55 <Phantom_Hoover> it was kind of interesting too but too much time was spent going over easy stuff like doing euclid's proof rigorously
20:48:06 <oerjan> `quote [ ]<
20:48:09 <HackEgo> 1) <Aftran> I used computational linguistics to kill her. \ 2) <Slereah> EgoBot just opened a chat session with me to say "bork bork bork" \ 3) <Quas_NaArt> Hmmm... My fingers and tongue seem to be as quick as ever, but my lips have definitely weakened... <Quas_NaArt> More practice is in order. \ 4) <AnMaster> that's where I got it <AnMaster> rocket launch facility gift shop \ 5) <Warrigal> GKennethR: he should be told
20:48:34 <Phantom_Hoover> also one of you fuckers infected me with constructivism, now i have an inner voice screaming whenever contradiction is used
20:48:44 <oerjan> `delquote 867
20:48:44 -!- augur has quit (Remote host closed the connection).
20:48:48 <HackEgo> ​*poof* <oklopol> t <oklopol> y <oklopol> also i didn't say t \ y on purpose, i just accidentally hit the keyboard with my head
20:48:56 <oerjan> `addquote <oklopol> t <oklopol> y <oklopol> also i didn't say t\ny on purpose, i just accidentally hit the keyboard with my head
20:49:00 <HackEgo> 867) <oklopol> t <oklopol> y <oklopol> also i didn't say t \ y on purpose, i just accidentally hit the keyboard with my head
20:49:18 <Phantom_Hoover> `revert
20:49:21 <HackEgo> Done.
20:49:24 <oerjan> wait...
20:49:27 <oklopol> constructivism lol
20:49:35 <Phantom_Hoover> `addquote <oklopol> t <oklopol> y <oklopol> also i didn't say t\\ny on purpose, i just accidentally hit the keyboard with my head
20:49:38 <HackEgo> 867) <oklopol> t <oklopol> y <oklopol> also i didn't say t\ny on purpose, i just accidentally hit the keyboard with my head
20:49:42 <elliott> nice addquote bug
20:49:43 <oerjan> it actually turned \n into a newline
20:49:51 <fizzie> We have a thing where there's this set of courses "Math X1" .. "Math Xn" where X is like C for CS people and L for physics/etc. people and so on (there's maybe six different letters?) and 'n' depends on the letter but is usually about 2-4, and those are mandatory parts, and nobody I know of has accused them of being especially interesting.
20:50:48 <oerjan> elliott: actually that has to be in `quote not `addquote...
20:50:53 <oerjan> `quote 867
20:50:56 <HackEgo> 867) <oklopol> t <oklopol> y <oklopol> also i didn't say t\\ny on purpose, i just accidentally hit the keyboard with my head
20:51:19 <oerjan> oh dear
20:51:22 <oerjan> `revert
20:51:25 <HackEgo> Done.
20:51:29 <oklopol> could you please redo that a couple more... oh
20:51:35 <oerjan> `addquote <oklopol> t <oklopol> y <oklopol> also i didn't say t\ny on purpose, i just accidentally hit the keyboard with my head
20:51:38 <HackEgo> 867) <oklopol> t <oklopol> y <oklopol> also i didn't say t \ y on purpose, i just accidentally hit the keyboard with my head
20:51:39 <oklopol> thanks i guess.
20:51:40 <oerjan> `quote 867
20:51:44 <HackEgo> 867) <oklopol> t <oklopol> y <oklopol> also i didn't say t\ny on purpose, i just accidentally hit the keyboard with my head
20:52:01 <oklopol> `quote 867
20:52:02 <oklopol> `quote 867
20:52:03 <oklopol> `quote 867
20:52:04 <oklopol> `quote 867
20:52:05 <oerjan> it gives the right `quote, but some other commands are buggy in printing it
20:52:07 <HackEgo> 867) <oklopol> t <oklopol> y <oklopol> also i didn't say t\ny on purpose, i just accidentally hit the keyboard with my head
20:52:15 <HackEgo> 867) <oklopol> t <oklopol> y <oklopol> also i didn't say t\ny on purpose, i just accidentally hit the keyboard with my head
20:52:36 <HackEgo> 867) <oklopol> t <oklopol> y <oklopol> also i didn't say t\ny on purpose, i just accidentally hit the keyboard with my head
20:52:36 <HackEgo> 867) <oklopol> t <oklopol> y <oklopol> also i didn't say t\ny on purpose, i just accidentally hit the keyboard with my head
20:52:54 <Phantom_Hoover> oh also at one point a guy felt it necessary to ask the lecturer why he'd switched from double-striking the middle stroke of N rather than the left one
20:53:08 <oklopol> when did i first come here?
20:53:20 <oklopol> lol
20:54:01 <oerjan> `quote accidentally
20:54:04 <HackEgo> 170) <fungot> elliott: it's hard to debug havoc on your mirror if you accidentally hit r, then a character could be multiple words long, depending on the task. \ 295) <cpressey> BYE dbc WE'LL BE SURE TO ACCIDENTALLY MENTION YOUR NICK OFTEN \ 761) <elliott> oops I accidentally deleted the universe <olsner> looks weird when you put a verb after accidentally like that \ 867) <oklopol> t <oklopol> y <oklopol> also i didn't
20:54:06 <boily> who are Aftran, Slereah, Quas_NaAart, AnMaster and Warrigal?
20:54:13 <oerjan> `quote accidentally hit
20:54:16 <HackEgo> 170) <fungot> elliott: it's hard to debug havoc on your mirror if you accidentally hit r, then a character could be multiple words long, depending on the task. \ 867) <oklopol> t <oklopol> y <oklopol> also i didn't say t\ny on purpose, i just accidentally hit the keyboard with my head
20:54:21 <Phantom_Hoover> anmaster is now vorpal
20:54:23 <oerjan> ok
20:54:34 <oerjan> Warrigal is now tswett
20:54:35 <Phantom_Hoover> although vorpal is now thankfully fairly inactive
20:54:45 <Phantom_Hoover> slereah is still slereah
20:54:52 <boily> that I see.
20:55:24 <fizzie> Phantom_Hoover: We had a lecturer whose blackboard variables initially had superscript indices, at the end had subscript indices, and in-between had kind of midscript indices. (I may have mentioned this before.)
20:55:58 <oklopol> you do have had to done that.
20:56:00 <fizzie> I don't think anyone really commented, though.
20:56:08 <oklopol> i think i was like :DDDDD
20:56:18 <oklopol> but that's like my version of whatever dude
20:56:22 <fizzie> Except maybe to clarify that the meaning didn't change.
20:56:29 <oklopol> oh
20:56:45 <oklopol> i thought you meant like you have the right to say it again because we didn't laugh the first time
20:57:18 <oklopol> err or wait i have no idea what you're talking about
20:57:19 <fizzie> Oh, no; I mean, at that time, when it happened, for reals.
20:58:10 <fizzie> As opposed to Phantom_Hoover's friend who is interested in the details of the art of doublestriking.
20:58:15 -!- boily has quit (Quit: Poulet!).
20:58:48 <oerjan> `cat bin/addquote
20:58:51 <HackEgo> ​#!/bin/sh \ [ "$1" ] || exit 1 \ printf "%s\n" "$1" >>quotes \ echo $(qc | cut -d' ' -f1)") $1"
20:59:50 <oerjan> `which qc
20:59:54 <HackEgo> ​/hackenv/bin/qc
21:00:27 <elliott> do you have questions about the quote system
21:00:50 <oerjan> yes, why do `addquote and `delquote print \n as newline
21:00:56 <oerjan> in the quote
21:01:54 <elliott> no fucking clue
21:01:58 <elliott> does it happen on just addquote or on quote too
21:02:04 <oerjan> not on quote
21:02:51 <elliott> oerjan: so if you do addquote foo\nbar
21:02:54 <elliott> and then quote <number>
21:02:56 <elliott> it shows right?
21:02:57 <elliott> demonstrate pls
21:02:59 <oerjan> yes
21:03:04 <oerjan> `quote 867
21:03:08 <HackEgo> 867) <oklopol> t <oklopol> y <oklopol> also i didn't say t\ny on purpose, i just accidentally hit the keyboard with my head
21:03:13 <oerjan> LIKE THAT
21:04:07 <elliott> `cat bin/quote
21:04:10 <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
21:04:27 <elliott> `run echo 'echo "$1"' >bin/fuck
21:04:30 <HackEgo> No output.
21:04:31 <elliott> `fuck you\ntoo
21:04:34 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: fuck: not found
21:04:35 <oerjan> i am guessing echo is doing it wrong
21:04:37 <elliott> ugh
21:04:43 <elliott> `run echo "#!/bin/sh" >bin/fuck
21:04:46 <HackEgo> No output.
21:04:47 <elliott> `run echo 'echo "$1"' >>bin/fuck
21:04:49 <HackEgo> No output.
21:04:57 <elliott> `fuck you\ntoo
21:05:01 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: /hackenv/bin/fuck: Permission denied \ /home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: /hackenv/bin/fuck: cannot execute: Permission denied
21:05:06 <elliott> oerjan: fuck you
21:05:09 <elliott> `run chmod +x bin/fuck
21:05:12 <HackEgo> No output.
21:05:13 <elliott> `fuck you\ntoo
21:05:13 <oerjan> yw
21:05:16 <olsner> oerjan: when does \n get printed as a newline?
21:05:35 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: /hackenv/bin/fuck: Permission denied \ /home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: /hackenv/bin/fuck: cannot execute: Permission denied
21:05:36 <oerjan> olsner: by the `addquote itself, and by `delquote
21:05:43 <elliott> holy shit
21:05:44 <elliott> `fuck you\ntoo
21:05:47 <HackEgo> you \ too
21:05:59 <elliott> oerjan: does it get showed as foo \ bar
21:06:00 <elliott> or foo\bar
21:06:01 <oerjan> `echo you\ntoo
21:06:04 <HackEgo> you\ntoo
21:06:10 <elliott> it's sh
21:06:12 <elliott> i am in control
21:06:15 <oerjan> foo \ bar
21:06:16 <elliott> `run fuck 'foo\nbar'
21:06:19 <HackEgo> foo \ bar
21:06:27 <elliott> ok
21:06:33 <elliott> `cat bin/delquote
21:06:35 <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 \ echo "*poof*$(quote $id | cut -d')' -f2-)" \ mv quotes.new quotes \
21:06:44 <oerjan> echo there too
21:06:47 <elliott> oerjan: the problem is "$1". i don't know how to fix that.
21:06:48 <elliott> it's not ecoh
21:06:50 <elliott> it's not echo
21:06:51 <elliott> it's sh
21:06:58 <oerjan> elliott: but it works with the printf in `addquote
21:06:59 <elliott> change fuck to printf %s and you'll see
21:07:09 <elliott> `cat bin/fuck
21:07:12 <HackEgo> ​#!/bin/sh \ echo "$1"
21:07:15 <elliott> `run echo '#!/bin/sh' >bin/fuck
21:07:18 <HackEgo> No output.
21:07:23 <elliott> `run echo 'printf "%s" "$1"' >>bin/fuck
21:07:25 <HackEgo> No output.
21:07:26 <elliott> `run chmod +x bin/fuck
21:07:30 <HackEgo> No output.
21:07:31 <elliott> `fuck everything\nok
21:07:34 <HackEgo> everything\nok
21:07:59 <elliott> ugh
21:08:00 <elliott> what
21:08:02 <fizzie> You really showed him there!
21:08:02 <elliott> ok fine
21:08:14 <elliott> oerjan: i will tell you how to fix add & delquote but you have to do it because i am not using sed any more
21:08:23 <elliott> change
21:08:23 <elliott> echo $(qc | cut -d' ' -f1)") $1"
21:08:24 <elliott> to
21:08:34 <elliott> printf "%d) %s" $(qc | cut -d' ' -f1) "$1"
21:08:35 <olsner> what, what did sed do to you?
21:08:37 <elliott> and change
21:08:45 <elliott> echo "*poof*$(quote $id | cut -d')' -f2-)"
21:08:46 <elliott> to
21:08:54 <olsner> seems unfair to suddently just "not use sed any more"
21:08:56 <elliott> printf "*poof*%s" "$(quote $id | cut -d')' -f2-)"
21:10:57 <oerjan> as if i remember how to do literal substitutions in sed
21:12:06 <fizzie> `run sh -c "echo 'also\na'; /bin/echo 'silly\noption'"
21:12:10 <HackEgo> also \ a \ silly\noption
21:14:20 -!- atriq has quit (Quit: Leaving).
21:15:47 <elliott> oerjan: just get the files from `url
21:15:52 <elliott> and then use `fetch/`run mv
21:15:55 <elliott> on a modified version
21:16:15 <fizzie> I can break them with sed, I really can.
21:17:24 <oerjan> `cat bin/addquote
21:17:27 <HackEgo> ​#!/bin/sh \ [ "$1" ] || exit 1 \ printf "%s\n" "$1" >>quotes \ echo $(qc | cut -d' ' -f1)") $1"
21:20:07 <elliott> fizzie: feel free to fix it also
21:20:37 <oerjan> `run sed -i '4s/.*/printf "%d) %s" $(qc | cut -d' ' -f1) "$1"/' /bin/addquote
21:20:41 <HackEgo> sed: -e expression #1, char 35: unterminated `s' command
21:20:47 <oerjan> oops
21:20:49 <fizzie> `run cp bin/addquote bin/addquote_; sed -ie 's/echo/printf "%d) %s"/;s/") / "/' bin/addquote; cat bin/addquote
21:20:52 <HackEgo> ​#!/bin/sh \ [ "$1" ] || exit 1 \ printf "%s\n" "$1" >>quotes \ printf "%d) %s" $(qc | cut -d' ' -f1) "$1"
21:21:00 <fizzie> Does that look okkay?
21:21:30 <fizzie> I think it at least looks as prescribed.
21:21:33 <fizzie> `run rm bin/addquote_
21:21:36 <HackEgo> No output.
21:22:19 <fizzie> Backups are so like one of those circus guys walking on a wire except with a safety rope.
21:22:20 <oerjan> oh whatev
21:22:36 -!- monqy has joined.
21:22:39 <elliott> `addquote <fizzie> Backups are so like one of those circus guys walking on a wire except with a safety rope.
21:22:42 <HackEgo> 868) <fizzie> Backups are so like one of those circus guys walking on a wire except with a safety rope.
21:23:58 <oerjan> also `delquote
21:24:25 <shachaf> `addquote <elliott> `delquote 869
21:24:28 <HackEgo> 869) <elliott> `delquote 869
21:25:00 <shachaf> Quotes should get an identifier based on a cryptographic hash of their contents.
21:26:01 <oerjan> `addquote test\nho
21:26:05 <HackEgo> 870) test\nho
21:26:10 <elliott> monqy: hello
21:26:11 <oerjan> `delquote 870
21:26:14 <olsner> at least one quote before 869 is about to be deleted, changing the number of that quote and ruining the joke
21:26:15 <HackEgo> ​*poof* test \ ho
21:26:23 <fizzie> `run sed -ie 's/echo "\*poof\*/printf "*poof*%s" "/' bin/delquote
21:26:26 <HackEgo> No output.
21:26:32 <oerjan> `addquote test\nho
21:26:36 <HackEgo> 870) test\nho
21:26:37 <fizzie> See, no hands, I mean backups.
21:26:40 <oerjan> `delquote 870
21:26:41 <shachaf> elliott: hello
21:26:44 <HackEgo> ​*poof* test\nho
21:26:50 <oerjan> YAY
21:26:58 <fizzie> oerjan: Quotes are serious business.
21:27:45 <monqy> elliott: helo
21:28:39 <oerjan> OF COURSE
21:28:49 <elliott> monqy: you cheated tho
21:29:05 <monqy> thread killed tho
21:29:38 <olsner> sounds like that character in doctor who
21:33:01 -!- copumpkin has quit (Quit: Computer has gone to sleep.).
21:40:24 <Phantom_Hoover> doctor tho
21:44:14 -!- Frooxius has quit (Ping timeout: 260 seconds).
22:00:27 -!- copumpkin has joined.
22:10:39 <fizzie> desmond:/scratch/users/htkallas 14T 14T 0 100% /fs/scratch/users/htkallas
22:10:46 <fizzie> Well, that's not good.
22:11:13 <fizzie> Especially the parts of there being 0 bytes free and 100% of usage.
22:11:49 -!- carado has quit (Quit: Leaving).
22:12:03 <fizzie> It's the "work" directory, I'm sort of guessing someone had a runaway script.
22:14:50 <fizzie> (Perhaps I should check that someone != self.)
22:21:19 <fizzie> Huh, 51G in /work. Time to clean up, perhaps, but not a giant chunk of 14T.
22:25:16 -!- augur has joined.
22:26:39 <Phantom_Hoover> dammit, warwick's nick cage appreciation society are slippery customers
22:33:39 <oerjan> Phantom_Hoover: you have to get them while you think they're taking a break
22:34:11 <Phantom_Hoover> i'm not sure where they meet, what they do or indeed who any of them are
22:34:21 <Phantom_Hoover> the student union website is infuriatingly uninformative
22:34:31 <Phantom_Hoover> maybe i can find the president and grill him for information
22:34:41 -!- augur has quit (Read error: Connection reset by peer).
22:34:50 <oerjan> maybe they meet by _not_ meeting
22:35:42 -!- augur has joined.
23:09:28 <elliott> shachaf: http://www.reddit.com/r/haskell/comments/10ynff/regarding_top_and_bottom_in_haskells_type_system/
23:09:38 <elliott> shachaf: this was a great post when i just read it but then it got even better when i saw who wrote it
23:10:42 <elliott> oerjan: oh hey you are maybe the reason I saw http://www.msr-inria.inria.fr/events-news/feit-thompson-proved-in-coq
23:10:56 <oerjan> might well be
23:11:05 <oerjan> my only reddit post so far
23:11:38 <oerjan> although i heard of it in here
23:11:43 <elliott> the classification of simple groups is the coolest proof
23:12:13 <shachaf> elliott: How did I know?
23:12:54 <Phantom_Hoover> elliott, it's not a single proof...
23:13:14 <shachaf> elliott: You should post talking about (forall a. a) and (exists a. a)
23:13:18 <elliott> Phantom_Hoover: what is your definition of a "proof"?
23:13:32 <elliott> wikipedia agrees with me: "The proof of the theorem consists of tens of thousands of pages in several hundred journal articles written by about 100 authors, published mostly between 1955 and 2004."
23:14:11 <Phantom_Hoover> well ok, but that's a pretty broad use of 'proof'
23:14:27 <shachaf> elliott: Too late, cmccann posted.
23:14:46 <Phantom_Hoover> also that seems to be one tiny subsection of the entire classification?
23:15:10 <elliott> Phantom_Hoover: what would you call the proof of the theorem, then?
23:15:59 <Phantom_Hoover> can we stop this quibble, i should never have mentioned t
23:16:01 <Phantom_Hoover> *it
23:16:03 <elliott> oerjan: "Hm is it automatically true that whenever MT is a monad transformer, there exists a function of type (Monad m) => MT Identity a -> MT m a ?"
23:16:17 <elliott> oerjan: it "should" be true, but it's not in MonadTrans
23:16:21 <elliott> oerjan: edwardk has a package with it
23:16:24 <ion> Key & Peele: Dubstep http://youtu.be/5Kod1q39ddE
23:16:39 <elliott> oerjan: what you actually want is something like (Monad m) => (forall a. m a -> n a) -> MT m a -> MT n a IIRC
23:16:42 <elliott> but that's not Haskell 2010
23:17:22 <oerjan> yeah someone made a post about that shortly afterwards, i think
23:17:51 <elliott> oerjan: that was some dumb tailcalled or tekmo post that suggested something wrong iirc. but edwardk replied with the right thing
23:19:16 <fizzie> I cleared about 8 gigs of space, came back ten minutes later, and now it's all gone again.
23:19:32 <Phantom_Hoover> the clutter is breeding
23:19:50 <oerjan> Phantom_Hoover: it's a tiny subsection, but it was the proof that got mathematicians to realize they didn't need to make proofs short, which probably helped immensely with the rest :) (also some direct consequences for making the rest of the program possible, iirc)
23:20:30 <oerjan> if you are talking about feit-thompson
23:20:43 <fizzie> Quite often these "someone's rogue script fills all space" problems tend to "auto-resolve" in the sense that the script dies when the disk is full, and therefore won't fill any newly freed storage.
23:20:53 <fizzie> I suppose this time someone has produced a robust enough space-waster.
23:21:18 <FreeFull> How big is Haskell on the metaprogramming thing?
23:21:42 <elliott> depends what you mean by metaprogramming
23:21:48 <elliott> and also the rest of those words, but mainly metaprorgamming
23:21:51 * oerjan suddenly realizes elliott may be stalking him on reddit
23:22:06 <elliott> oerjan: fear me.
23:22:29 <FreeFull> elliott: The kind where you often end up with domain-specific languages
23:23:25 <elliott> FreeFull: I would say it's incredibly big on that.
23:23:31 <oerjan> pretty big, in several different ways
23:23:33 <elliott> however I'd also not identify that with metaprogramming
23:23:46 <FreeFull> Ok
23:23:51 <elliott> in that there are several ways to do EDSLs, and only some of them look like metaprogramming to me, and Haskell's methods don't really
23:24:02 <oerjan> template haskell doesn't?
23:24:06 <elliott> (I would also say Haskell's methods are a better way of doing it, though)
23:24:11 <FreeFull> I know Racket is really big on DSLs
23:24:20 <shachaf> Template Haskell? More like Terrible Haskell.
23:24:20 <elliott> oerjan: yes, template haskell looks like metaprogramming to me. however, i would not build a DSL in Haskell by using template haskell
23:24:25 <elliott> unless I was doing something weird
23:24:31 <elliott> but I don't like TH, so I'd probably do it another way instead
23:24:45 <oerjan> thus, several different ways.
23:25:04 <shachaf> elliott: It's the very foundation of Haskell DSLs!
23:25:31 <oerjan> FreeFull: the monad thing you keep hearing about is also a kind of DSL method.
23:25:44 <oerjan> well can be used that way
23:26:08 <elliott> oerjan: Don't do that. :(
23:26:31 <elliott> Silly monad mysticism doesn't need to be promoted through vague statements that won't make any sense to start with.
23:26:45 <oerjan> and on the entirely other side are the template haskell based quasi-quotes which allows you to make any syntax you want. (as long as you don't need the string |] in it.)
23:29:30 -!- SimonRC has quit (Ping timeout: 264 seconds).
23:41:00 -!- Phantom_Hoover has quit (Read error: Connection reset by peer).
23:41:43 -!- SimonRC has joined.
23:44:55 -!- kinoSi has quit (Read error: Connection reset by peer).
23:45:23 -!- kinoSi has joined.
00:04:43 -!- Sgeo has quit (Ping timeout: 260 seconds).
00:07:11 -!- Jafet has quit (Quit: Leaving.).
00:51:12 -!- Jafet has joined.
00:51:46 -!- augur has quit (Remote host closed the connection).
01:10:18 -!- Sgeo has joined.
01:46:43 -!- augur has joined.
02:29:50 -!- Jafet has quit (Quit: Leaving.).
02:38:14 -!- Nisstyre has quit (Ping timeout: 240 seconds).
02:44:46 -!- oerjan has quit (Quit: Good night).
02:53:54 -!- Nisstyre has joined.
03:00:06 -!- fungot has quit (*.net *.split).
03:00:06 -!- nvt has quit (*.net *.split).
03:00:06 -!- shachaf has quit (*.net *.split).
03:00:23 -!- elliott has quit (Read error: Connection reset by peer).
03:01:06 -!- MoALTz_ has joined.
03:03:54 -!- MoALTz has quit (Ping timeout: 240 seconds).
03:05:32 -!- nvt has joined.
03:05:32 -!- shachaf has joined.
03:15:03 -!- augur has quit (Remote host closed the connection).
03:37:30 <Sgeo> :(
03:37:37 <Sgeo> I may have just convinced my group to use node.js
03:37:58 <Sgeo> Everyone in the group knows Javascript, and it's sort of the home of socket.io
03:39:48 <kmc> you could do much worse than node.js
03:41:44 * kmc wrote his first non-trivial program for Node last night
03:42:06 <kmc> (but it's a command-line batch tool and not a network service or anything like that)
03:52:40 -!- Jafet has joined.
03:53:20 -!- DHeadshot has quit (Read error: Connection reset by peer).
03:54:05 -!- mig22 has joined.
04:01:33 <shachaf> kmc: Twist: A lot of non-trivial JavaScript code runs fine with Node.
04:10:48 -!- augur has joined.
04:24:03 <kmc> what am i twisting?
04:27:44 <kmc> i don't get it
04:28:31 <shachaf> I guess it's possible that you never wrote non-trivial JS node before.
04:29:09 <shachaf> Or only code that depended on the DOM, or something.
04:30:08 <shachaf> But "non-trivial Node program that doesn't use network libraries" sounds a lot like "generic JS code".
04:31:52 <kmc> it used Node-specific filesystem libraries
04:32:25 <shachaf> I guess that exists too.
04:32:33 <shachaf> Do they have non-blocking chdir?
04:32:44 <kmc> they have notblocking lots of stuff
04:32:47 <kmc> i don't know about chdir
04:32:55 <shachaf> Non-blocking DNS is actually an issue.
05:02:51 <Sgeo> I don't tend to write much JS
05:10:01 -!- FreeFull has quit.
05:25:40 -!- evincar has joined.
05:45:30 -!- kinoSi has quit (Read error: Connection reset by peer).
05:45:57 -!- kinoSi has joined.
06:32:53 -!- evincar has left.
06:52:17 <kallisti> has anyone had a Devonshire tea before?
06:59:29 <oklopol> i found a mistake in the proof
06:59:36 <oklopol> of feit-thompson
07:11:43 <oklopol> one of the comments said "spurrious"
07:11:46 <oklopol> that's not a word
07:12:54 <fizzie> Oh no, the foundations of mathematics are crumbling as we speak.
07:17:05 <barts_> fizzie: are they?
07:17:30 <barts_> i guess.
07:17:42 <fizzie> I'm pretty sure. It's all due to that "spurrious". Oh, if only...
07:55:48 -!- ais523 has joined.
07:58:51 -!- ais523 has quit (Client Quit).
07:58:58 -!- ais523 has joined.
08:04:43 <ion> This Machine Creates ANYTHING http://youtu.be/OHyygU1cU0k
08:06:44 -!- DHeadshot has joined.
08:22:11 -!- epicmonkey has joined.
08:24:30 -!- ais523 has quit (Read error: Connection reset by peer).
08:24:42 -!- ais523 has joined.
08:26:40 -!- copumpkin has quit (Ping timeout: 246 seconds).
08:27:14 -!- copumpkin has joined.
08:35:32 -!- ais523_ has joined.
08:37:13 -!- ais523 has quit (Ping timeout: 245 seconds).
08:37:54 -!- ais523_ has changed nick to ais523.
08:53:26 <ion> <…> User request of the month: "I accidentally posted /usr/share/dict/words to a bug report and now it shows up for every search because it contains all the words. Can you clean that up?"
09:01:11 <fizzie> How do you accidentally do that?
09:12:15 -!- ais523 has quit.
09:15:43 -!- copumpkin has quit (Ping timeout: 246 seconds).
09:16:17 -!- copumpkin has joined.
09:34:57 <ion> http://mashable.com/2012/10/02/ew-has-smartphone-inside/
09:45:32 -!- kinoSi has quit (Read error: Connection reset by peer).
09:46:00 -!- kinoSi has joined.
09:46:43 <Jafet> (What kind of information system still uses naïve keyword search?)
09:52:13 -!- monqy has quit (Quit: hello).
10:21:41 <ion> DEFCON 17: More Tricks For Defeating SSL http://youtu.be/ibF36Yyeehw
10:34:28 -!- carado has joined.
11:08:50 -!- barts has joined.
11:12:02 -!- barts_ has quit (Ping timeout: 256 seconds).
11:37:11 -!- copumpkin has quit (Quit: Computer has gone to sleep.).
11:44:43 -!- Frooxius has joined.
11:58:41 -!- copumpkin has joined.
12:13:15 -!- Phantom_Hoover has joined.
12:38:43 -!- sivoais has quit (Ping timeout: 246 seconds).
12:44:12 -!- Arc_Koen has joined.
12:49:07 -!- sivoais has joined.
12:50:27 <Arc_Koen> hello
12:52:32 -!- Jafet has quit (Read error: Connection reset by peer).
12:52:40 -!- Jafet1 has joined.
12:54:54 -!- Jafet has joined.
12:55:00 -!- Jafet1 has quit (Read error: Connection reset by peer).
12:57:15 <Arc_Koen> @messages
12:57:15 <lambdabot> You don't have any new messages.
12:57:39 <Arc_Koen> @tell oerjan I see in the logs you've tried to message me but lambdabot doesn't seem to agree
12:57:39 <lambdabot> Consider it noted.
13:03:11 <Arc_Koen> @tell oerjan anyway yeah, it was also about the brainfuck derivatives; I'd never have made brainfunct if I had found pbrain or others like that before
13:03:11 <lambdabot> Consider it noted.
13:04:19 -!- boily has joined.
13:07:12 <fizzie> Huh. The soft drink vending machine made a very long "whirr-clunk-whirr-clunk-whirr-clunk-kaplonk" solo, and then dumped out two bottles for the price of one.
13:07:24 <fizzie> I suppose I should theoretically return the other.
13:14:23 <Arc_Koen> how so
13:14:49 <Arc_Koen> I don't think "handing out a bottle" is a reversible operation
13:17:56 <fizzie> Because it would be STEALING.
13:18:02 <boily> vending a bottle is like an md5 hash. here you had a collision.
13:18:05 <fizzie> I think it has a "in case of trouble, call" sticker on it somewhere.
13:18:30 <fizzie> I mean, I'd certainly be complaining loudly if I had gotten 0 bottles.
13:19:06 <fizzie> Also maybe the bookkeeping will now become all confused and it's ALL MY FAULT.
13:19:37 <fizzie> Well, up to a degree. Maybe not quite all. Unless I pressed the button wrong somehow.
13:24:35 <Arc_Koen> fizzie: how about you keep the extra bottle in your refrigerator
13:24:47 <Arc_Koen> and if one day you get no bottle, you can use it instead
13:26:43 <fizzie> It has a "best before" date, I'm sure.
13:27:57 <fizzie> Jan 25, 2013.
13:27:59 <Arc_Koen> that shouldn't be a problem if you make a regular use of that vending machine: everytime you buy a bottle, place it in your refrigerator and drink the old bottle instead
13:28:09 <fizzie> Oh, of course.
13:28:32 <Arc_Koen> this way, instead of having one really-out-of-date bottle, you'll have a lot of nearly-out-of-date bottles!
13:28:46 <fizzie> Maybe I'll just drink it early and resolve not to complain if I ever get no bottles.
13:28:55 <fizzie> Asymptotically, it's the same thing anyway.
13:29:11 <Arc_Koen> yes but IT PERTURBS YOUR CONSOMMATION
13:29:41 <Arc_Koen> I do that with tickets when taking the tube, though
13:29:46 -!- carado_ has joined.
13:30:07 -!- carado_ has quit (Client Quit).
13:30:10 -!- carado has quit (Remote host closed the connection).
13:30:23 -!- carado has joined.
13:30:38 <Arc_Koen> a lot of people here take it without paying, because they find the penalty when caught is less that what they gain by not paying the fare
13:31:35 <Arc_Koen> I had always been honest with it; I always pay my tickets, and it's happened once or twice that the vending machine at my station was out of order, so I traveled without a ticket, and bought one once arrived at destination
13:32:04 <Arc_Koen> except one time the machine was out of order and I got caught (even though I would have paid afterwards :( )
13:32:26 <fizzie> I believe a lot of people do that here too. I mean, the "go without paying" thing.
13:32:35 <fizzie> They've been steadily increasing the penalty amount, though.
13:32:49 <fizzie> I think it's now at 80 EUR; it used to be 56 EUR or something not too long ago.
13:33:00 <Arc_Koen> so I made a count of the money I lost because of the penalty, and started not paying my tickets, deducing the money I gained everytime from the money I had lost
13:33:15 <Arc_Koen> and now I'm back to paying my tickets again
13:33:17 <fizzie> And it was 250 FIM before EUR, I think.
13:33:33 <fizzie> That's ingenious.
13:33:35 <Arc_Koen> well when I had to pay it it was 40 EUR here
13:33:44 <fizzie> How much is a ticket?
13:34:14 <Arc_Koen> well that depends where you take it; tickets inside paris are about 1.70 (or they were last time I checked, but prices keep getting higher every year)
13:34:36 <Arc_Koen> but I live in the suburbs, so tickets that cover all zones from my town to paris are about 4.00
13:34:50 <Arc_Koen> (or 3.something when buying then 10 at a times)
13:35:51 <Arc_Koen> I was amazed when I went to london, they had this "oyster card"; you put money on it and everytime you took the tube it was deduced
13:35:59 <Arc_Koen> on our last day we wanted to take a bus
13:36:10 <Arc_Koen> the driver told me there was no money left on my oyster card
13:36:18 <Arc_Koen> in france that would probably have meant that I couldn't take it
13:36:28 <Arc_Koen> but in London he gave me an "unpaid fare notice"
13:36:58 <Arc_Koen> on which it was written that I had taken the bus for free but was expected to go to any station and pay for it
13:37:53 <Arc_Koen> I made a copy of it, and when I paid I gave the copy so I could keep the original because that's just so wonderful, that system would *never* work in france
13:38:13 <fizzie> We don't have anything like that.
13:38:23 <fizzie> Though you can buy tickets from buses and such with cash.
13:38:33 <fizzie> The prices are a bit more than when paying with the card, though.
13:39:21 <Arc_Koen> well yes that's always possible, but that was our last day and we had given all our leftover cash as tip in a coffee shop
13:39:37 <fizzie> Oh, the gaps seem to be larger than I remembered.
13:40:00 <fizzie> It's 4.50 eur vs. 3.47 for the Helsinki/Espoo/Vantaa regional ticket, or 2.70 vs. 1.86 for the single-city one.
13:40:21 <Arc_Koen> (a *great* coffee shop; I'll probably go there once again next time I visit london)
13:42:08 <fizzie> I seem to recall that the Belgian railways had some kind of a differentness when it comes to the no-ticket fees.
13:43:27 <fizzie> Oh, right; if you didn't inform the train staff that you don't have a ticket, but agree to pay it, you don't get a penalty notice, just a 12.50 EUR surcharge to the regular ticket price.
13:43:47 <Arc_Koen> ah, we have that in france too
13:44:14 <Arc_Koen> the guy who must check tickets walks through the whole train twice
13:44:23 <fizzie> But if you don't agree to pay (or can't pay, I suppose) there's a penalty notice plus a penalty fare of 30/60 EUR (under/over 18 years), and then you have 14 days to go pay it yourself at any station.
13:44:26 <Arc_Koen> the first time he does nothing, just showing himself
13:44:36 <fizzie> And then if you still don't go and pay it, "your file will be sent to Central Customer Services and incur administrative charges of € 200".
13:44:42 <Arc_Koen> and if you have a problem with your ticket (or if you don't have one) you're supposed to talk to him at that moment
13:45:33 <fizzie> According to these Belgian rules you need to tell the train staff before actually boarding.
13:45:56 <fizzie> "If you don’t have a valid ticket and you can't pay on the train or provide evidence of your identity or address, the NMBS/SNCB obviously won't be able to allow you to remain on board. The staff may therefore invite you to leave the train at the next stop, or even call in the police."
13:46:02 <fizzie> I like the "invite you to leave the train".
13:46:13 <fizzie> "Sorry, I have to decline your kind invitation."
13:46:22 <fizzie> "This is not where I'm going."
13:48:34 <fizzie> "After being sentenced and ordered into custody, De'Avalon ["a marriage celebrant, self-styled witch and alternative therapies practitioner"] appeared to be sticking by her pagan-immunity theory even in the face of this pretty solid evidence that human laws do in fact apply to her. 'I decline your offer, your Honour,' she said as she was being led away."
13:48:41 <fizzie> http://www.loweringthebar.net/2011/06/witch-who-said-our-laws-do-not-apply.html
13:54:19 -!- carado has quit (Ping timeout: 246 seconds).
13:57:20 -!- Phantom_Hoover has quit (Ping timeout: 255 seconds).
13:59:21 -!- AnotherTest has joined.
13:59:31 <AnotherTest> Hello
14:00:30 <fizzie> Hello. We were just talking about Belgian railways.
14:00:47 <AnotherTest> oh yes
14:00:49 <AnotherTest> strike
14:00:54 <fizzie> Oh, is there?
14:01:03 <AnotherTest> There was one, yesterday
14:01:08 <fizzie> I did not know that.
14:20:50 -!- AnotherTest has quit (Read error: Connection reset by peer).
14:21:03 -!- AnotherTest has joined.
14:32:06 -!- AnotherTest has quit (Quit: Leaving.).
14:32:29 -!- AnotherTest has joined.
14:33:53 <Arc_Koen> @tell atriq I probably already asked you that, but how does Nandypants/Noryshorts handle end of file?
14:33:53 <lambdabot> Consider it noted.
15:03:23 <Sgeo> I feel like when I use PubNub, I'm cheating
15:03:54 <Sgeo> Writing code that seems like it should require a server-side component, and ... well, using someone else's very general server, I guess.
15:08:07 -!- epicmonkey has quit (Ping timeout: 246 seconds).
15:23:58 -!- Phantom_Hoover has joined.
15:41:56 -!- Vorpal has joined.
15:44:06 <Arc_Koen> @tell Oerjan remember when you modified cat in http://esolangs.org/wiki/Minifuck-2D ? I think you removed a space between ! and @ that might have been important
15:44:06 <lambdabot> Consider it noted.
16:26:14 -!- augur has quit (Remote host closed the connection).
16:27:55 -!- FreeFull has joined.
16:28:17 -!- atriq has joined.
16:31:18 <atriq> @messages?
16:31:19 <lambdabot> atriq: You have 1 new message. '/msg lambdabot @messages' to read it.
16:31:21 <atriq> Wow
16:31:35 <Arc_Koen> YOU HAVE FRIENDS
16:31:40 <Arc_Koen> I wonder who that might be
16:31:45 <atriq> I think it's you
16:32:09 <Arc_Koen> so what do I say?
16:32:24 <atriq> But yeah, Nandypants handles EOF in the same way as brainfuck, ie. implementation defined
16:32:48 <Arc_Koen> so there should be something said about it
16:32:52 <Arc_Koen> especially in the cat example
16:33:08 <Arc_Koen> also I was in the middle of writing an interpreter and I had to stop because I didn't know what to do about end of file
16:33:50 <atriq> Either input -1 or 0 seems to be the convention
16:34:58 <Arc_Koen> or "leave it as it is"
16:35:09 <Arc_Koen> waiiiiit nandypants uses bits
16:35:14 <atriq> Yeeees
16:35:28 <Arc_Koen> oh, ok
16:35:56 <Arc_Koen> I still think you should write a note about it
16:39:04 <Arc_Koen> oh, I was hoping you would say "it assumes eof is coded by..."
16:49:45 <Arc_Koen> anyway, see you later
16:50:06 -!- Arc_Koen has quit (Quit: that's dr. turing to you, punk).
17:07:01 -!- augur has joined.
17:16:12 -!- augur has quit (Read error: Connection reset by peer).
17:16:34 -!- augur has joined.
17:24:43 <shachaf> kmc: They're playing _The Big Lebowski_ at the theatre tomorrow night. Should I go see it?
17:27:56 -!- Phantom_Hoover has quit (Ping timeout: 255 seconds).
17:31:30 <kmc> have you seen it before?
17:32:01 <shachaf> I've seen parts of it, I think.
17:35:22 <kmc> you should go see it
17:35:32 <kmc> i've never seen it in an actual theatre
17:39:09 <shachaf> «Wear your best "Dude" bathrobe and receive $1 off popcorn!»
17:40:58 <olsner> *one* dollar?
17:41:25 <atriq> Well, in about two years, I'll be able to read Homestuck offline!
17:41:42 <olsner> why in two years?
17:42:04 <atriq> Who knows?
17:42:06 <atriq> Magic!
17:45:42 <fizzie> Do you happen to know tools that'd google-translate .srt subtitles files? I remember writing a script for this once, but can't seem to find it; apparently it doesn't have "sub" in the name.
17:46:49 <fizzie> Oh, srttrans.pl.
17:46:55 <fizzie> Well, that makes sense.
17:48:02 -!- variable has quit (Ping timeout: 252 seconds).
17:49:31 -!- atriq has quit (Ping timeout: 246 seconds).
17:59:46 <kmc> i think the google translate API was taken down :/
18:00:23 -!- Phantom_Hoover has joined.
18:01:24 <Sgeo> Is there a Babelfish API?
18:09:03 -!- Phantom_Hoover has quit (Ping timeout: 244 seconds).
18:10:59 <fizzie> kmc: The script just produces a empty-line-separated-paragraph output to translate manually, then takes a similar input, and adds the original subtitle timing infos back in.
18:11:12 <fizzie> So I translated via the website.
18:11:35 <fizzie> Calling it a translation script is a bit exaggerationary, I suppose.
18:12:27 <kmc> ah
18:12:45 <kmc> well at that rate you could probably also use the same interface the web page uses, and fully automate it
18:12:51 <kmc> without needing an API per se
18:13:14 -!- Phantom_Hoover has joined.
18:13:28 <olsner> oh, exaggerationary
18:13:39 -!- atriq has joined.
18:16:18 -!- augur has quit (Remote host closed the connection).
18:22:50 -!- Taneb has joined.
18:23:40 -!- atriq has quit (Ping timeout: 246 seconds).
18:28:43 -!- Taneb has quit (Remote host closed the connection).
18:37:44 -!- augur has joined.
18:47:47 -!- AnotherTest has quit (Quit: Leaving.).
18:50:23 -!- AnotherTest has joined.
18:51:51 -!- AnotherTest has quit (Client Quit).
18:53:28 -!- AnotherTest has joined.
18:54:57 -!- AnotherTest has quit (Client Quit).
18:55:06 -!- AnotherTest has joined.
18:58:12 -!- AnotherTest has left.
19:02:44 -!- oerjan has joined.
19:03:53 <oerjan> @messages
19:03:53 <lambdabot> Arc_Koen said 6h 6m 14s ago: I see in the logs you've tried to message me but lambdabot doesn't seem to agree
19:03:53 <lambdabot> Arc_Koen said 6h 42s ago: anyway yeah, it was also about the brainfuck derivatives; I'd never have made brainfunct if I had found pbrain or others like that before
19:03:53 <lambdabot> Arc_Koen said 3h 19m 47s ago: remember when you modified cat in http://esolangs.org/wiki/Minifuck-2D ? I think you removed a space between ! and @ that might have been important
19:05:13 <oerjan> @tell Arc_Koen Stupid me, I left the <>'s around your nick when pasting into @tell...
19:05:13 <lambdabot> Consider it noted.
19:06:18 <olsner> hi oerjan
19:06:22 <oerjan> hi olsner
19:35:41 -!- zzo38 has joined.
19:41:29 <Sgeo> Is it a terribad idea to use Javascript's Math.random() to get a unique key?
19:42:04 -!- Nisstyre has quit (Ping timeout: 252 seconds).
19:42:24 <zzo38> It depends where the Javascript code is being executed, and what the key is being used for.
19:42:36 <zzo38> As well as the implementation of Javascript used.
19:45:23 <oerjan> and possibly the phase of the moon.
19:47:37 -!- copumpkin has quit (Quit: Computer has gone to sleep.).
19:55:08 -!- augur has quit (Remote host closed the connection).
20:11:49 -!- copumpkin has joined.
20:12:53 -!- elliott has joined.
20:13:00 <elliott> does anyone use arch
20:13:07 <oerjan> no.
20:13:12 <oerjan> absolutely no one.
20:14:16 <elliott> oerjan: ok. then op me
20:14:47 <olsner> I think one person uses arch
20:14:57 <shachaf> elliott: Lern2NixOS
20:14:59 <olsner> (I don't)
20:15:01 <shachaf> Like roconnor
20:15:08 <shachaf> All the cool people NixOS
20:15:12 <shachaf> Isn't that right, oerjan?
20:15:16 <elliott> nixos is perfect, unfortunately it is also shit
20:15:20 <elliott> i considered using it for a while
20:15:29 <olsner> perfect shit :)
20:15:52 * oerjan notes that searching for /// on esolang takes you directly to the main page.
20:16:02 * oerjan whistles innocently
20:16:14 <olsner> oerjan: aren't you the wiki admin?
20:16:17 <elliott> yes
20:16:22 <elliott> oerjan is the reason it is broken
20:16:25 <elliott> and he should fix it
20:16:31 <elliott> it is **very** unprofessional
20:16:46 <oerjan> olsner: elliott seems to be thinking so. probably from going mad trying to fix the /// bug.
20:16:58 <shachaf> elliott: Help me simplify this GHC bug!
20:17:01 <shachaf> Do you have 7.6?
20:17:05 <elliott> sort of
20:17:07 <oerjan> > 7.6
20:17:08 <lambdabot> 7.6
20:17:11 <shachaf> Try :t fmap fmap fmap join join join
20:17:12 <elliott> i can't decide how to get my 7.6
20:17:30 <elliott> $ /opt/ghc.old/bin/ghci
20:17:30 <elliott> /opt/ghc.old/bin/ghci: line 2: /opt/ghc/bin/ghc-7.6.1: No such file or directory
20:17:30 <elliott> n/m
20:17:37 <oerjan> :t fmap fmap fmap join join join -- OKAY
20:17:38 <lambdabot> Occurs check: cannot construct the infinite type:
20:17:38 <lambdabot> m = (->) (m (m a))
20:17:38 <lambdabot> Probable cause: `join' is applied to too many arguments
20:17:47 <oerjan> shachaf: BOO
20:17:49 <shachaf> oerjan: THAT'S NOT 7.6
20:18:00 <oerjan> wat
20:18:04 <shachaf> oerjan: Should I flood the channel a bit?
20:18:11 <oerjan> shachaf: are you telling me it works in 7.6?
20:18:15 <shachaf> No.
20:18:18 <elliott> Prelude Control.Monad> :t fmap fmap fmap join join join
20:18:18 <elliott> <interactive>:1:1:
20:18:18 <elliott> Occurs check: cannot construct the infinite type:
20:18:18 <elliott> m1 = (->) (m1 (m1 (m0 (m0 a0))))
20:18:18 <elliott> Expected type: (m0 (m0 a0) -> m0 a0)
20:18:18 <elliott> -> ((m1 (m1 (m0 (m0 a0))) -> m1 (m1 (m0 (m0 a0))) -> m0 (m0 a0))
20:18:20 <elliott> -> m1 (m1 (m0 (m0 a0))) -> m0 (m0 a0))
20:18:22 <elliott> -> (m1 (m1 (m0 (m0 a0))) -> m1 (m0 (m0 a0)))
20:18:24 <elliott> -> m1 (m1 (m0 (m0 a0)))
20:18:26 <elliott> -> m0 a0
20:18:28 <elliott> Actual type: (m0 (m0 a0) -> m0 a0)
20:18:30 <elliott> -> ((m1 (m1 (m0 (m0 a0))) -> m1 (m1 (m0 (m0 a0))) -> m0 (m0 a0))
20:18:32 <elliott> -> m1 (m1 (m0 (m0 a0))) -> m0 (m0 a0))
20:18:34 <elliott> -> (m1 (m1 (m0 (m0 a0))) -> m1 (m1 (m0 (m0 a0))) -> m0 (m0 a0))
20:18:36 <elliott> -> m1 (m1 (m0 (m0 a0)))
20:18:38 <elliott> -> m0 a0
20:18:40 <elliott> The function `fmap' is applied to five arguments,
20:18:42 <elliott> but its type `(((m1 (m1 (m0 (m0 a0))) -> m0 (m0 a0))
20:18:44 <elliott> -> m1 (m1 (m0 (m0 a0))) -> m0 a0)
20:18:46 <elliott> -> ((m1 (m1 (m0 (m0 a0))) -> m1 (m1 (m0 (m0 a0))) -> m0 (m0 a0))
20:18:48 <elliott> -> m1 (m1 (m0 (m0 a0))) -> m0 (m0 a0))
20:18:50 <elliott> -> (m1 (m1 (m0 (m0 a0))) -> m1 (m1 (m0 (m0 a0))) -> m0 (m0 a0))
20:18:52 <elliott> -> m1 (m1 (m0 (m0 a0)))
20:18:54 <elliott> -> m0 a0)
20:18:54 <FreeFull> Lol
20:18:56 <elliott> -> ((m0 (m0 a0) -> m0 a0)
20:18:58 <elliott> -> (m1 (m1 (m0 (m0 a0))) -> m0 (m0 a0))
20:19:00 <elliott> -> m1 (m1 (m0 (m0 a0)))
20:19:02 <elliott> -> m0 a0)
20:19:04 <elliott> -> (m0 (m0 a0) -> m0 a0)
20:19:06 <elliott> -> ((m1 (m1 (m0 (m0 a0))) -> m1 (m1 (m0 (m0 a0))) -> m0 (m0 a0))
20:19:08 <elliott> -> m1 (m1 (m0 (m0 a0))) -> m0 (m0 a0))
20:19:10 <elliott> -> (m1 (m1 (m0 (m0 a0))) -> m1 (m1 (m0 (m0 a0))) -> m0 (m0 a0))
20:19:12 <elliott> -> m1 (m1 (m0 (m0 a0)))
20:19:14 <elliott> -> m0 a0'
20:19:16 <elliott> has only six
20:19:18 <elliott> In the expression: fmap fmap fmap join join join
20:19:20 <elliott> "The function `fmap' is applied to five arguments, but its type has only six" is pretty great
20:19:21 <shachaf> thanks elliott
20:19:23 <FreeFull> Way to pastespam the channel
20:19:28 <olsner> the wiki could have a rewrite rule that makes esolangs.org/// into a /// interpreter
20:19:59 <elliott> FreeFull: well you know
20:20:01 <elliott> FreeFull: fuck rules
20:20:02 <elliott> FreeFull: fuck the police
20:20:04 -!- copumpkin has quit (Quit: Computer has gone to sleep.).
20:20:06 <ion> Mahna Mahna Killer http://youtu.be/ELAFDkXog-s
20:20:07 <elliott> irc anarchy forever
20:21:10 <oerjan> olsner: it _used_ to link to the language article.
20:21:21 <oerjan> :t :t fmap fmap fmap join join
20:21:22 <lambdabot> parse error on input `:'
20:21:24 <oerjan> oops
20:21:25 <olsner> oerjan: how boring
20:21:28 <oerjan> :t fmap fmap fmap join join
20:21:29 <lambdabot> forall (m :: * -> *) a (m1 :: * -> *). (Functor m1, Monad m, Monad m1) => m1 (m1 (m (m a))) -> m1 (m a)
20:21:33 <elliott> esolangs.org/// did *not*
20:22:15 <olsner> by esolangs.org///, obviously I meant esolangs.org////
20:23:32 <oerjan> :t fmap (fmap join) join
20:23:33 <lambdabot> forall (m :: * -> *) a (f :: * -> *). (Monad m, Functor f, Monad f) => f (f (m (m a))) -> f (m a)
20:24:08 <oerjan> :t fmap join (join join)
20:24:09 <lambdabot> Occurs check: cannot construct the infinite type:
20:24:09 <lambdabot> f = (->) (f (f (m (m a))))
20:24:09 <lambdabot> Probable cause: `join' is applied to too few arguments
20:24:27 <oerjan> :t join join
20:24:28 <lambdabot> Occurs check: cannot construct the infinite type:
20:24:29 <lambdabot> m = (->) (m (m a))
20:24:29 <lambdabot> Probable cause: `join' is applied to too few arguments
20:24:50 <shachaf> The function `g' is applied to four arguments,
20:24:53 <shachaf> but its type `(a0 -> ((r0 -> r0 -> a0) -> a0) -> c0)
20:24:55 <shachaf> has only four
20:25:13 <oerjan> oh that's the ghc bug?
20:25:23 <shachaf> Sort of a bug.
20:25:28 <shachaf> 13:19 <elliott> "The function `fmap' is applied to five arguments, but its type has only six" is pretty great
20:27:17 <oerjan> shachaf: it doesn't work if you manually simplify it to :t fmap (fmap join) join join, :t fmap join (join join), or :t join . join join ?
20:28:03 <oerjan> by work, i mean still gives that bug
20:28:13 <shachaf> Nope, none of those do it.
20:28:38 <shachaf> You get the bug with let j f x = f x x, fmap fmap fmap j j j
20:28:49 <shachaf> Also with fmap (.) (.) undefined j j
20:29:25 <oerjan> fancy
20:29:39 <oerjan> :t let j f x = f x x in fmap (.) (.) undefined j j
20:29:40 <lambdabot> Occurs check: cannot construct the infinite type: t = t -> t -> t1
20:29:40 <lambdabot> Expected type: (t -> t -> t1) -> (t -> t -> t1) -> a
20:29:40 <lambdabot> Inferred type: (t -> t -> t1) -> t -> t1
20:30:57 <elliott> oerjan: Q
20:31:07 <oerjan> elliott: A
20:31:21 <elliott> oerjan: Should I use the [testing] repo to get a 7.6.1 package, or use my self-compiled binary?
20:31:35 <oerjan> yes, clearly.
20:31:59 <elliott> oerjan: Which?
20:32:09 <oerjan> (i know you didn't actually expect a serious answer)
20:32:39 <elliott> oerjan: I did.
20:32:43 <oerjan> why, you should use the haskell platform!
20:32:54 <oerjan> it's what i do. i should probably upgrade, though.
20:33:38 <elliott> More like the Haskell Catsdom.
20:33:45 <elliott> Because fascist cats rule the universe.
20:34:22 <oerjan> i thought dogbert had settled that they were fascist squirrels. although maybe catbert paid him to say it.
20:34:31 <elliott> oerjan: Do you want to see a bad reddit post?
20:34:34 <elliott> oerjan: Here you go! http://www.reddit.com/r/coding/comments/11052z/its_amazing_how_microsoft_can_just_shit_on/
20:34:55 <oerjan> based solely on the title part of the url, i guess "no".
20:35:14 <oerjan> as in, it's precisely the kind of title i tend to skip.
20:35:23 <elliott> Don't forget \t for tabs, and that F2 renames files. When I stumble upon these things, I put them on http://efficientgeeks.com/[1] , although I won't renew that domain.
20:35:30 <elliott> mmm spam
20:37:03 <elliott> oerjan: Is the wiki fixed yet?
20:37:31 <oerjan> shachaf: and it disappears if you replace the first fmap with (.) i take
20:37:39 <shachaf> oerjan: Yep.
20:37:42 <shachaf> Although...
20:37:50 <shachaf> 13:22 <shachaf> Hah, this is funny.
20:37:50 <shachaf> 13:22 <shachaf> g :: Functor f => f ~ (->) r => f (b -> c) -> f ((a -> b) -> a -> c)
20:37:53 <shachaf> 13:22 <shachaf> g :: (r -> b -> c) -> (r -> (a -> b) -> a -> c)
20:37:55 <shachaf> 13:22 <shachaf> You'd expect those to be the same, wouldn't you?
20:37:58 <shachaf> 13:22 <shachaf> ghci gives the same :t for them.
20:38:01 <shachaf> It happens with the first g but not with the second g
20:38:06 <shachaf> for g (.) undefined join join
20:38:26 <elliott> shachaf: Remember that time we got GHC to type two identical things differently or something?
20:38:28 <elliott> That wacky bug.
20:38:36 <shachaf> elliott: With the parentheses?
20:38:39 <elliott> No.
20:38:41 <elliott> Where you got an (a => b) in the wrong place.
20:38:47 <elliott> Like, you god a -> b => c or something.
20:38:48 <elliott> *got
20:38:52 <FreeFull> Lol
20:40:08 <oerjan> shachaf: hm so it might be something which happens when f ~ (->) r appears as a constraint during type checking?
20:41:05 <shachaf> oerjan: Also happens with g :: f (b -> c) -> f ((a -> b) -> a -> c); g = undefined; blah = g (.) undefined j j
20:42:07 <oerjan> shachaf: well that would also cause f ~ (->) something to appear during type checking, wouldn't it?
20:42:32 <shachaf> I guess it tries to unify them.
20:42:34 <shachaf> Or something.
20:42:39 <shachaf> I dunno, man! Simplify it for me!
20:42:48 <zzo38> I thought perhaps the monad type for FamicomHDL should be: type Mapper = ContT [Command] ((->) Int);
20:42:54 <zzo38> What would you think?
20:43:32 <oerjan> the g's given type takes 1 argument at least. but it's used with 4.
20:45:14 * oerjan is wildly guessing, of course, and has no intention of installing 7.6.
20:45:25 <shachaf> oerjan: Install 7.6! :-(
20:45:39 <olsner> 4 is not 1, so that's obviously the numbers you're looking for
20:46:17 <shachaf> olsner: Can you /nick to something that doesn't start with o?
20:46:23 <olsner> shachaf: no
20:46:36 <zzo38> data Command = Case Word8 (Word8 -> [Command]) | Command ByteString | Wire Pin Pin Connection | Part x => Part Int x;
20:46:36 <shachaf> But oerjan :-(
20:46:40 <ion> colsner
20:46:42 <zzo38> Is this OK?
20:46:52 <olsner> coolsner
20:47:06 <zzo38> I think you shouldn't change it
20:47:30 -!- boily has quit (Quit: Poulet!).
20:47:46 <olsner> don't worry, I won't
20:48:22 <oerjan> shachaf: it's not like i have a clue what to do next, anyway.
20:49:15 <shachaf> oerjan: You should change your nick.
20:49:18 <shachaf> Maybe to Ørjan
20:49:34 <zzo38> No, I don't think you should change it either.
20:49:39 <shachaf> Øh nø
20:49:40 <oerjan> Ørjan Erroneous Nickname
20:49:49 <shachaf> Errøneøus
20:51:46 <FireFly> Probably because of some møøse or something
20:52:59 -!- copumpkin has joined.
20:53:08 <olsner> beware the erroneous moose
20:53:50 -!- oerjan has set topic: BEWARE THE ERRØNEØUS MØØSE | I, for one, welcome our new hash function overlords | E5081A06F9E364E179B336A2C6D6831D4B50CD7739C7E1565E03EBF2 | God made the natural numbers; all else is the work of ZARDOZ | http://codu.org/logs/_esoteric/ | http://esolangs.org/wiki.
20:57:48 -!- augur has joined.
21:04:46 <elliott> oerjan: What is friends
21:04:58 <shachaf> hi FireFly
21:05:04 <shachaf> How's #stackoverflow?
21:07:31 <FireFly> Nice enough, thus far
21:08:42 <shachaf> Did you know I got banned from that channel?
21:09:17 <oerjan> elliott: UNREVEALED NEMESISES (NEMESES?)
21:09:34 <FireFly> I did not. What was the reason?
21:10:10 <olsner> shachaf: tell us
21:10:32 <shachaf> olsner: Being rude.
21:10:38 <shachaf> It's true!
21:10:55 <olsner> hmm, I guess you are rude
21:11:01 <olsner> someone ban shachaf!
21:13:15 <Phantom_Hoover> ban olsner
21:13:17 <elliott> oerjan: What am friend?
21:13:50 <shachaf> elliott: ban elliott
21:13:56 * oerjan cans shachaf |_|
21:13:56 <shachaf> (by elliott I mean me)
21:15:21 * oerjan fans shachaf \|/
21:15:49 * oerjan tans shachaf /¤
21:16:04 * oerjan pans shachaf ===\__/
21:16:29 * oerjan sans
21:17:01 <shachaf> oerjan++
21:18:34 -!- atriq has joined.
21:19:31 <oerjan> he looks like a regular, but i think it may be atriq
21:20:05 <olsner> oh, was atriq the rot13 of taneb?
21:20:13 <atriq> Of ngevd
21:20:20 <atriq> !rot13 atriq
21:20:23 <EgoBot> ngevd
21:20:31 <atriq> !rot13 taneb
21:20:32 <EgoBot> gnaro
21:20:35 <olsner> !rot13 olsner
21:20:35 <EgoBot> byfare
21:20:41 <shachaf> whoa, dude
21:20:46 <shachaf> !rot13 oerjan
21:20:47 <EgoBot> brewna
21:20:47 <atriq> That is the best nick by far.
21:21:00 <shachaf> atriq: Better than rot13 shachaf?
21:21:12 <olsner> !rot13 shachaf
21:21:12 <EgoBot> funpuns
21:21:23 <olsner> O.O
21:21:24 <shachaf> !rot13 FireFly
21:21:24 <EgoBot> SverSyl
21:21:25 <atriq> What fun puns
21:21:29 <oerjan> olsner är en sådan byfare
21:21:34 <shachaf> !rot13 zzo38
21:21:34 <EgoBot> mmb38
21:21:40 <shachaf> zzo38: /nivk mmb38
21:21:54 <shachaf> !rot13 lambdabot
21:21:55 <EgoBot> ynzoqnobg
21:22:50 <olsner> I wonder if oerjan and shachaf swapped nicks earlier, because the one currently calling itself "oerjan" fits better with funpuns
21:22:57 <elliott> !rot13 nick
21:22:57 <EgoBot> avpx
21:23:00 <elliott> /avpx mmb38
21:23:14 <oerjan> !rot13 archaeopteryx
21:23:14 <EgoBot> nepunrbcgrelk
21:23:24 <FireFly> !rot13 EgoBot
21:23:25 <EgoBot> RtbObg
21:23:51 <olsner> !rot13 nepungrelk
21:23:52 <EgoBot> archateryx
21:23:55 <oerjan> BZT
21:24:49 <oerjan> !rot13 elliott
21:24:49 <EgoBot> ryyvbgg
21:25:11 <FireFly> >> sort "firefly"
21:25:15 <oerjan> so he's secretly welsh, ok
21:25:26 <FireFly> > sort "firefly"
21:25:27 <lambdabot> "effilry"
21:25:53 <elliott> FireFly: hello
21:26:02 <FireFly> Hi
21:26:04 <oerjan> !rot13 Phantom_Hoover
21:26:04 <EgoBot> Cunagbz_Ubbire
21:26:12 <FreeFull> > sort "ant"
21:26:13 <lambdabot> "ant"
21:26:20 <shachaf> elliott: zomg
21:26:23 <olsner> ubbire is probably how you say umpire with a cold
21:26:25 <shachaf> That's what avpx means.
21:26:29 <shachaf> !rot13 zomg
21:26:29 <EgoBot> mbzt
21:26:47 <FireFly> !rot13 FreeFull
21:26:47 <EgoBot> SerrShyy
21:26:52 <oerjan> !rot13 OMGWTFBBQ
21:26:52 <EgoBot> BZTJGSOOD
21:26:53 <elliott> shachaf: means?
21:27:20 <shachaf> elliott: There's a #haskell person with the nick avpx
21:27:29 <olsner> !rot13 effilry
21:27:29 <EgoBot> rssvyel
21:27:40 <olsner> ok, effilry is better
21:28:08 <oerjan> !rot13 fizzie
21:28:09 <EgoBot> svmmvr
21:28:10 <olsner> effilry is like rivalry but for effils
21:28:39 <oerjan> !rot13 Gregor
21:28:39 <EgoBot> Tertbe
21:28:49 <elliott> shachaf: oh right
21:28:53 <elliott> i thought it sounded familiar
21:28:55 <oerjan> !rot13 Richards
21:28:55 <EgoBot> Evpuneqf
21:28:57 <olsner> !rot13 bertle
21:28:57 <EgoBot> oregyr
21:29:02 <FreeFull> !rot13 avpx
21:29:02 <EgoBot> nick
21:29:17 <oerjan> !rot13 !rot13
21:29:18 <EgoBot> ​!ebg13
21:29:20 <olsner> shachaf: didn't you quit #haskell?
21:29:28 <FireFly> !rot13 haskell
21:29:29 <EgoBot> unfxryy
21:29:35 <shachaf> !rot13 ernie and bert
21:29:36 <EgoBot> reavr naq oreg
21:29:38 <FreeFull> !rot13 fry
21:29:39 <EgoBot> sel
21:29:42 <shachaf> @rot13 oregano
21:29:42 <lambdabot> Unknown command, try @list
21:29:42 <olsner> !ebg13 should be the inverse of rot13
21:29:45 <shachaf> !rot13 oregano
21:29:46 <EgoBot> bertnab
21:29:52 <shachaf> olsner: I ought to.
21:30:31 <oerjan> !rot13 tarragon
21:30:32 <EgoBot> gneentba
21:30:40 <olsner> !rot13 dragon
21:30:40 <EgoBot> qentba
21:30:55 <oerjan> !rot13 electron
21:30:56 <EgoBot> ryrpgeba
21:30:59 <olsner> !rot13 smeghead
21:31:00 <EgoBot> fzrturnq
21:31:03 <Gregor> I'm surprised by how often the result is pronounceable.
21:31:04 <oerjan> !rot13 proton
21:31:04 <EgoBot> cebgba
21:31:22 <oerjan> if you say so, Mr. Tertbe
21:31:42 <oerjan> !rot13 higgs boson
21:31:43 <EgoBot> uvttf obfba
21:31:50 <Gregor> I think “Tertbe” is perfectly pronounceable.
21:31:58 <shachaf> !rot13 Gregor
21:31:58 <EgoBot> Tertbe
21:32:03 <Gregor> So is Evpuneqf, though less so because the “q” is terribad.
21:32:08 <oerjan> ...was i appearing to disagree?
21:32:21 <oerjan> just glottal it up
21:32:40 <Gregor> !rot13 Malcom Gray
21:32:41 <EgoBot> Znypbz Tenl
21:32:48 <Gregor> Wow. Really got a loser with that one X-D
21:33:03 <Gregor> That first name is actually pronounced “Snips” though.
21:33:03 <FireFly> !rot13 IRC
21:33:03 <EgoBot> VEP
21:33:05 <olsner> -kf works fine, I'm a bit sad that no language I know uses that combination though
21:33:14 <olsner> like the initial ng
21:33:15 <oerjan> !rot13 Mitt Romney Barack Obama
21:33:16 <EgoBot> Zvgg Ebzarl Onenpx Bonzn
21:33:28 <oerjan> no obvious loser, alas
21:33:44 <olsner> Ebzarl Ngekf
21:33:55 <Gregor> !rot13 Fluttershy Rainbow Dash Rarity Applejack Twilight Sparkle Pinkie Pie
21:33:56 <EgoBot> Syhggreful Envaobj Qnfu Enevgl Nccyrwnpx Gjvyvtug Fcnexyr Cvaxvr Cvr
21:34:03 <oerjan> !rot13 Ngekf
21:34:04 <EgoBot> Atrxs
21:34:10 <Gregor> Nccyrwnpx will definitely eat your soul.
21:34:12 <olsner> oh, they're all named after rot13'd welsh words
21:34:18 <Gregor> So will Gjvyvtug Fcnexyr.
21:34:30 <Gregor> lol
21:35:05 <FireFly> Syhggreful is sorta pronounceable
21:35:07 <oerjan> `addquote <Gregor> !rot13 Fluttershy Rainbow Dash Rarity Applejack Twilight Sparkle Pinkie Pie <EgoBot> Syhggreful Envaobj Qnfu Enevgl Nccyrwnpx Gjvyvtug Fcnexyr Cvaxvr Cvr <olsner> oh, they're all named after rot13'd welsh words
21:35:07 <shachaf> Puzzle: What word's meaning is preserved under rot13?
21:35:16 <elliott> oerjan: FOLLOW THE GUIDELINES
21:35:18 <HackEgo> 870) <Gregor> !rot13 Fluttershy Rainbow Dash Rarity Applejack Twilight Sparkle Pinkie Pie <EgoBot> Syhggreful Envaobj Qnfu Enevgl Nccyrwnpx Gjvyvtug Fcnexyr Cvaxvr Cvr <olsner> oh, they're all named after rot13'd welsh words
21:35:21 <elliott> shachaf: shachaf
21:35:30 <shachaf> elliott: elliott
21:35:36 <oerjan> elliott: none of the double spaces were mine
21:35:43 <elliott> shachaf: The word is "shachaf".
21:35:50 <elliott> oerjan: No, but you forgot the double spaces between each message
21:35:53 <shachaf> elliott: The word is "elliott".
21:36:21 <oerjan> elliott: wait those are double? i checked just the other day and ARGH
21:36:31 <elliott> `quote 3
21:36:36 <HackEgo> 3) <Quas_NaArt> Hmmm... My fingers and tongue seem to be as quick as ever, but my lips have definitely weakened... <Quas_NaArt> More practice is in order.
21:36:37 <elliott> Wait, that one will be too early.
21:36:37 <olsner> are there guidelines?
21:36:38 <elliott> `quote 100
21:36:42 <HackEgo> 100) <fax> okay I see it now, quines do exist
21:36:52 <shachaf> `quote 101
21:36:54 <olsner> !rot13 quine
21:36:55 <EgoBot> dhvar
21:36:55 <HackEgo> 101) <Warrigal> Darn, now I can't acknowledge the reference you were making.
21:36:59 <elliott> `quote 200
21:36:59 <Gregor> olsner: The guideline is that if you do it wrong, elliott will have a screed and fix it.
21:37:03 <HackEgo> 200) <elliott> oerjan: What, can girls aim their penises better?
21:37:06 <elliott> `quote 300
21:37:07 <elliott> Come on.
21:37:10 <HackEgo> 300) <lament> elliott: well what i would do if i were omniscient and omnipotent would be to create an immortal woman with perfect tits and bang her for the rest of eternity
21:37:13 <Gregor> lol
21:37:14 <elliott> `quote 350
21:37:18 <HackEgo> 350) <ZOMGMODULES> Felix's home page and Falcon's home page are actually the same page
21:37:20 <Gregor> All the multiples of 100 are one-liners.
21:37:22 <elliott> `quote 380
21:37:25 <HackEgo> 380) <oklofok> what would you ever need petrol for <oklofok> newsflash: it doesn't actually taste that good
21:37:28 <elliott> There.
21:37:39 <oerjan> elliott: i did `quote [ ]< to check and the first example that showed up had one space :(
21:37:48 <oerjan> `quote [ ]<
21:37:51 <HackEgo> 1) <Aftran> I used computational linguistics to kill her. \ 2) <Slereah> EgoBot just opened a chat session with me to say "bork bork bork" \ 3) <Quas_NaArt> Hmmm... My fingers and tongue seem to be as quick as ever, but my lips have definitely weakened... <Quas_NaArt> More practice is in order. \ 4) <AnMaster> that's where I got it <AnMaster> rocket launch facility gift shop \ 5) <Warrigal> GKennethR: he should be told
21:38:03 <shachaf> `run quote $((RANDOM % 870 + 1))
21:38:05 <elliott> oerjan: The old quotes fail to follow the platonically perfect formatting standards.
21:38:06 <HackEgo> 369) <oklopol> but touchscreens should feel like poking a boob
21:38:16 <shachaf> zomg, random quotes
21:38:20 <shachaf> There should be a command for that.
21:38:22 <oerjan> hm that's not useful...
21:38:29 <elliott> shachaf: Uh...
21:38:29 <elliott> `quote
21:38:33 <HackEgo> 393) <Sgeo_> "system is fairly sane <Sgeo_> <elliott> imagine if the roomba was called the Robotic Magic Vacuum <Sgeo_> <elliott> would you object to that being trademarked <Sgeo_> <monqy> I mean <Sgeo_> <monqy> phrase trade" <Sgeo_> oops
21:38:35 <shachaf> `run quote $((RANDOM % 870 + 1))
21:38:36 <oerjan> `quote 868
21:38:37 <shachaf> `run quote $((RANDOM % 870 + 1))
21:38:37 <shachaf> `run quote $((RANDOM % 870 + 1))
21:38:38 <shachaf> `run quote $((RANDOM % 870 + 1))
21:38:38 <shachaf> `run quote $((RANDOM % 870 + 1))
21:38:47 <HackEgo> 105) <DoctorDog> I am an inherently pornographic being.
21:38:52 <HackEgo> 671) * oerjan concludes that unsafeCoerce has no effect on strictness
21:39:15 <shachaf> @quote
21:39:15 <lambdabot> Plugin `quote' failed with: getRandItem: empty list
21:39:17 <shachaf> @quote
21:39:17 <lambdabot> DukeDave says: what, if your kids start doing drugs? or worse, business school
21:39:19 <shachaf> @quote
21:39:19 <lambdabot> Plugin `quote' failed with: getRandItem: empty list
21:39:20 <shachaf> @quote
21:39:20 <lambdabot> co_dh says: I don't like it, but I don't know why.
21:39:21 <shachaf> @quote
21:39:21 <shachaf> @quote
21:39:21 <lambdabot> PhilWadler says: The essence of XML is this: the problem it solves is not hard, and it does not solve the problem well. (POPL2003)
21:39:21 <lambdabot> cypherx says: Oh god, C++ is like a lamprey in my urethra.
21:39:23 <shachaf> @quote
21:39:23 <lambdabot> c_wraith says: I either just got the most awesome piece of spam ever, or am being secretly recruited into the stargate program
21:39:26 <shachaf> @quote
21:39:26 <lambdabot> PatrickRobotham says: GHC has more flags than the united nations.
21:39:28 <olsner> hmm, `quote on its own outputs a random quote, doesn't it?
21:39:28 <shachaf> @quote
21:39:28 <lambdabot> dave_m says: < Bobstopper> Assuming the universe will eventually die of heat death, counting will cease when that happens. So if you start counting now, you'll probably find the largest number (so
21:39:29 <lambdabot> long as nobody else has found a larger one yet) < Cale> what about faster ways to produce larger numbers? < Bobstopper> not after the heat death you can't :P < dave_m> don't you tell me what I can't
21:39:29 <lambdabot> do after the heat death of the universe
21:39:31 <shachaf> @quote
21:39:31 <lambdabot> ryan[WIN] says: forth is like if assembly had sex with math
21:39:32 <HackEgo> 396) <olsner> as always in sweden everything goes to a fixed pattern: thursday is queueing at systembolaget to get beer and schnaps, friday is pickled herring, schnaps and dancing the frog dance around the phallos, saturday is dedicated to being hung over
21:39:32 <HackEgo> 868) <fizzie> Backups are so like one of those circus guys walking on a wire except with a safety rope.
21:39:32 <HackEgo> 564) <elliott> When the moon hits your eye like a big pizza pie, that's a monad.
21:39:33 <HackEgo> 834) <elliott> I couldn't survive an apocalypse. I don't even have any bitcoins.
21:39:33 <shachaf> @quote
21:39:33 <lambdabot> monochrom says: no, you're thinking imperatively. when thinking functionally, you just worry one element, and let recursion worry the rest
21:39:36 <shachaf> @quote
21:39:36 <lambdabot> PreauxPhoto says: catpants: you are lucky i like you, today at lunch i was going to come up behind you kiss you on the neck, pinch you nipple and say "cant wait till out date tonight" but i figured
21:39:36 <lambdabot> that one of those guys was your boss
21:40:30 <elliott> <HackEgo> 564) <elliott> When the moon hits your eye like a big pizza pie, that's a monad.
21:40:34 <elliott> IMO someone should @remember this so it gets in HWN.
21:40:42 <shachaf> elliott: No.
21:40:52 <elliott> I didn't ask you.
21:40:54 <shachaf> Monad quotes = the devil
21:41:05 <elliott> OTOH, you're the devil.
21:41:19 <fizzie> `run echo quote $(($$ % 870 + 1)) # the qupidote
21:41:22 <HackEgo> quote 277
21:41:23 <olsner> shachaf: better than stereo quotes
21:41:30 <shachaf> `quote stereo
21:41:33 <HackEgo> No output.
21:41:36 <fizzie> Whoop, forgot the echo.
21:41:44 <olsner> @quote surround
21:41:44 <lambdabot> baristaTam says: Well, I suppose I shouldn't surround myself in a place full of hate. I think bringing kindness into the world is a value, and this channel seems to spew the opposite.
21:41:46 <fizzie> `run quote $(($$ % 870 + 1)) # the qupidote, rehashed
21:41:50 <HackEgo> 277) <fungot> Phantom_Hoover: if the list is in random order, like poor ehird here
21:42:06 <shachaf> $$ isn't very random.
21:42:09 <elliott> olsner: have you considered writing a book about sweden
21:42:12 <elliott> <HackEgo> 396) <olsner> as always in sweden everything goes to a fixed pattern: thursday is queueing at systembolaget to get beer and schnaps, friday is pickled herring, schnaps and dancing the frog dance around the phallos, saturday is dedicated to being hung over
21:42:14 <elliott> this would be a good opening
21:42:17 <Phantom_Hoover> haha elliott remember when you were in random order
21:42:22 <Phantom_Hoover> those were the days
21:42:23 <fizzie> shachaf: Especially on that system.
21:42:24 <olsner> dunno what to grep for, iirc many of the stereo quotes got purged anyway due to not being very good
21:42:31 <oerjan> `quote 869
21:42:34 <HackEgo> 869) <elliott> `delquote 869
21:42:40 <oerjan> `quote 870
21:42:44 <HackEgo> 870) <Gregor> !rot13 Fluttershy Rainbow Dash Rarity Applejack Twilight Sparkle Pinkie Pie <EgoBot> Syhggreful Envaobj Qnfu Enevgl Nccyrwnpx Gjvyvtug Fcnexyr Cvaxvr Cvr <olsner> oh, they're all named after rot13'd welsh words
21:42:49 <fizzie> `run echo $$
21:42:50 <fizzie> `run echo $$
21:42:51 <fizzie> `run echo $$
21:42:55 <HackEgo> 276
21:43:01 <oerjan> `delquote 870
21:43:12 <olsner> elliott: I have considered writing a book, but not about sweden
21:43:13 <HackEgo> ​*poof* <Gregor> !rot13 Fluttershy Rainbow Dash Rarity Applejack Twilight Sparkle Pinkie Pie <EgoBot> Syhggreful Envaobj Qnfu Enevgl Nccyrwnpx Gjvyvtug Fcnexyr Cvaxvr Cvr <olsner> oh, they're all named after rot13'd welsh words
21:43:13 <HackEgo> 276
21:43:16 <HackEgo> 276
21:43:21 <shachaf> `run echo $$
21:43:21 <shachaf> `run echo $$
21:43:21 <shachaf> `run echo $$
21:43:21 <shachaf> `run echo $$
21:43:22 <shachaf> `run echo $$
21:43:23 <fizzie> What are the odds! Three times 276.
21:43:24 <elliott> olsner: What would it be about?
21:43:26 <oerjan> `addquote <Gregor> !rot13 Fluttershy Rainbow Dash Rarity Applejack Twilight Sparkle Pinkie Pie <EgoBot> Syhggreful Envaobj Qnfu Enevgl Nccyrwnpx Gjvyvtug Fcnexyr Cvaxvr Cvr <olsner> oh, they're all named after rot13'd welsh words
21:43:30 <olsner> elliott: not sweden
21:43:31 <HackEgo> 276
21:43:32 <Gregor> fizzie: 100%
21:43:33 <atriq> elliott, Hexham
21:43:40 <Gregor> shachaf: Still 100% (are the odds)
21:43:45 <shachaf> !rot13 sweden
21:43:47 <elliott> olsner: thanks
21:43:47 <HackEgo> 870) <Gregor> !rot13 Fluttershy Rainbow Dash Rarity Applejack Twilight Sparkle Pinkie Pie <EgoBot> Syhggreful Envaobj Qnfu Enevgl Nccyrwnpx Gjvyvtug Fcnexyr Cvaxvr Cvr <olsner> oh, they're all named after rot13'd welsh words
21:43:49 <EgoBot> fjrqra
21:43:59 <shachaf> Gregor: 100 is one of the evens.
21:44:03 <HackEgo> 276
21:44:08 <HackEgo> 276
21:44:13 <HackEgo> 276
21:44:14 <HackEgo> 276
21:44:19 <atriq> `quote wait
21:44:25 <HackEgo> 96) <AnMaster> fungot!*@* added to ignore list. <fungot> AnMaster: i'd find that a bit annoying to wait for an ack. \ 261) <fizzie> Phantom_Hoover: I have just one tvtropes page open in elinks, but my tvtropes.txt "queue" has 38 tvtropes.org URLs waiting for processing. \ 294) <Gregor> Ohheywait, I can make it a raytracer instead of a photon tracer so long as I run time backwards. \ 304) <Vorpal> elliott, it was an
21:44:28 <olsner> !rot13 fjord
21:44:30 <EgoBot> swbeq
21:44:42 <shachaf> !rot13 fnord
21:44:42 <EgoBot> sabeq
21:44:45 <FireFly> !rot13 esoteric
21:44:45 <EgoBot> rfbgrevp
21:44:47 <shachaf> !rot13 botspam
21:44:48 <EgoBot> obgfcnz
21:44:51 <Phantom_Hoover> !rot13 sweden is awful
21:44:51 <EgoBot> fjrqra vf njshy
21:45:54 <oerjan> !rot13 quebec
21:45:54 <EgoBot> dhrorp
21:46:06 -!- fungot has joined.
21:46:17 -!- kinoSi has quit (Read error: Connection reset by peer).
21:46:22 <fizzie> ^rot13 competition!
21:46:23 <fungot> pbzcrgvgvba!
21:46:23 <olsner> fungot: mix up this botspam with other botspam please
21:46:23 <fungot> olsner: well indv change was easy for you
21:46:24 <oerjan> `quote 867
21:46:27 <HackEgo> 867) <oklopol> t <oklopol> y <oklopol> also i didn't say t\ny on purpose, i just accidentally hit the keyboard with my head
21:46:30 <elliott> fizzie: Why do things other than fungot exist?
21:46:31 <fungot> elliott: seabot's karma lowered to -1.
21:46:35 <elliott> help
21:46:45 -!- kinoSi has joined.
21:46:49 <olsner> !rot13 fungot
21:46:49 <EgoBot> shatbg
21:46:50 <fungot> olsner: it's just one of those
21:47:06 <olsner> yay, doublebot spam
21:47:07 <elliott> oerjan: Did you fix quote and delquote?
21:47:18 <oerjan> `run sed -i '867s/ <o/ <o/' quotes
21:47:18 <fizzie> fungot: Are you feeling well. You're making too much sense.
21:47:19 <fungot> fizzie: i'll just check the last step
21:47:21 <HackEgo> No output.
21:47:25 <fizzie> Scary.
21:47:25 <oerjan> elliott: fizzie did...
21:47:27 <shachaf> Whose bot is fungot?
21:47:28 <fungot> shachaf: it's rather like the way uu did time. had a menu open and a file name. ( define my-ip ( lambda ( a b ( integer 0 fnord)
21:47:30 <oerjan> `quote 867
21:47:31 <elliott> oerjan: So no, then.
21:47:33 <HackEgo> 867) <oklopol> t <oklopol> y <oklopol> also i didn't say t\ny on purpose, i just accidentally hit the keyboard with my head
21:47:38 <oerjan> oops
21:47:40 <elliott> By quote I mean addquote.
21:47:41 <oerjan> `revert
21:47:43 <HackEgo> Done.
21:47:48 <oerjan> `run sed -i '867s/ <o/ <o/g' quotes
21:47:50 <shachaf> fizzie: Yours?
21:47:52 <HackEgo> No output.
21:47:53 <oerjan> `quote 867
21:47:55 <fizzie> shachaf: Yaas.
21:47:57 <HackEgo> 867) <oklopol> t <oklopol> y <oklopol> also i didn't say t\ny on purpose, i just accidentally hit the keyboard with my head
21:48:07 <shachaf> fizzie: You should make fungot join #cslounge!
21:48:07 <fungot> shachaf: thanks for the explanations, by the way, when running an infinite loop", and it has its own toplevel, doesn't it?)
21:48:27 <olsner> what's #cslounge?
21:48:40 <shachaf> A channel that had a bot which is presently offline.
21:48:51 <shachaf> Running low on nonsense.
21:48:59 <FireFly> fungot: who is your owner?
21:49:00 <fungot> FireFly: ( the *parser optimizer has a bug? for shame :( :())
21:49:06 <fizzie> It sounds something like a very serious place.
21:49:07 <FireFly> (that'd surely work)
21:49:14 <elliott> fizzie: Do you remember Way Back, with fungot, and Minecraft?
21:49:16 <fungot> elliott: anyhow, i think there'll be some tag somewhere a long the line is ' back off, man: i'm a scientist.
21:49:27 <fizzie> fungot: TAKE ME TO YOUR LEADER HUMON
21:49:28 <fungot> fizzie: not questioning that. gambit-c is looking especially attractive now that 4.0 is basically here
21:49:29 <shachaf> fizzie: That's why I want theb ot in there.
21:49:51 <elliott> fizzie: I miss Minecraft.
21:49:53 <shachaf> fizzie: Can you add a feature to fungot where you can specify the first word of the sentence?
21:49:54 <fungot> shachaf: clearly a program without interpretation.
21:50:02 <shachaf> fungot: clearly.
21:50:03 <fungot> shachaf: well, you could expedite the development of t until orbit, and racked in the dough. c and pythong have a clear cmd on your computer
21:51:09 <elliott> fizzie: I thoroughly oppose such a feature.
21:51:11 <elliott> fungot is perfect.
21:51:12 <fungot> elliott: help me correct some steps? my stack code used 2n cause it had to, and i don't
21:51:24 <shachaf> fizzie: You should add the feature!
21:51:31 <oerjan> elliott: fungot disagrees!
21:51:31 <fungot> oerjan: i'll shut up
21:51:33 <shachaf> It makes bots over 14 times better.
21:51:42 <elliott> `pastelogs fungot
21:51:43 <fungot> elliott: since most of us have day jobs...
21:51:47 <olsner> fungot: do you want to be 14 times better?
21:51:48 <fungot> olsner: and you probably understand it better. if it's short you can just lex level? is low high enough? o.o :d
21:51:48 <fizzie> shachaf: It's kind of been on the (tail end of the) potentially-todo list. It's just that currently it has no real way to turn words back to tokens, just the other way around. The Perl script version can specify the initial context already.
21:51:52 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.32533
21:52:23 <olsner> write a perl to befunge compiler first then?
21:52:30 <elliott> fizzie: Have you even touched fungot in years?
21:52:31 <fungot> elliott: are you changing any of the others like event-monitor, though.
21:52:44 <elliott> 2008-08-14.txt:10:36:35: <fungot> PISS OUT MY ASS
21:52:45 <fungot> elliott: that file is malloc used
21:52:46 <elliott> Good fourth statement.
21:53:04 <fizzie> (The babbling internally works in terms of 28-bit integers, and only just before output that list of integers is turned to a string of words.)
21:53:14 <elliott> 2008-08-14.txt:15:09:48: <fizzie> optbot; What do you think of fungot?
21:53:15 <fungot> elliott: i could implement io monads and make it available via http? i hope not
21:53:18 <elliott> fizzie: Did you really use "nick;"?
21:53:21 <fizzie> Or maybe 21-bit integers, I forget exactly.
21:53:22 <elliott> ALSO REMEMBER OPTBOT? I loved optbot.
21:53:26 <elliott> #esoteric used to be great.
21:53:39 <shachaf> elliott: You know when it stopped being great, right?
21:53:46 <olsner> what did OPTBOT do?
21:53:52 <shachaf> olsner: OPT
21:53:57 <fizzie> elliott: I think I might have used it. And I also fixed that one bf interp bug, but I suppose that was at least a year ago.
21:53:59 <olsner> shachaf: OPT!?
21:54:21 <olsner> `pastelogs optbot
21:54:26 <HackEgo> http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.20890
21:54:27 <fizzie> ^ignore
21:54:28 <fungot> ^(EgoBot|HackEgo|toBogE|Sparkbot|optbot|lambdabot|oonbotti|cuttlefish)!
21:54:29 <fizzie> ^ remembers optbot too.
21:54:42 -!- oerjan has quit (Quit: Trackpad wacky).
21:54:51 <elliott> fizzie: IMO you should remove that in remembrance.
21:55:12 <shachaf> `cat bin/pastelogs
21:55:13 <olsner> <optbot> "bonobos are fucking ehird`"
21:55:14 <HackEgo> ​#!/bin/sh \ cd /var/irclogs/_esoteric \ \ pasterandom() { \ if [ "$1" -gt 150 ]; then \ echo "No." \ exit \ fi \ for i in $(seq "$1"); do \ file=$(shuf -en 1 ????-??-??.txt) \ echo "$file:$(shuf -n 1 $file)" \ done | paste \ } \ \ if [ "$1" ]; then \ if expr "$1" + 0 >/dev/null 2>&1; then \ pasterandom "$1" \ else \ lines=$(grep -P -i -- "$1"
21:55:24 <elliott> Hm, I don't remember getting fungot to spam #ubuntu.
21:55:25 <fungot> elliott: can you put that in /usr/ share/ dict/ words, and it's not not a that have no side effects /me grins grits fnord waits wants wanes waves raves raven)
21:55:27 <elliott> But apparently I did!
21:55:58 -!- oerjan has joined.
21:56:20 <elliott> `WELCOME OERJAN
21:56:26 <oerjan> THANKS
21:56:28 <olsner> grins grits fnord waits wants wanes waves raves raven
21:56:55 <olsner> JOYFUL TIMES INDEED
21:56:55 <elliott> oerjan: Remember how optbot stood for Oerjan's Terrible Puns Bot?
21:56:59 <elliott> When it was otpbot.
21:57:01 <elliott> But then it became optbot.
21:57:02 <oerjan> i assume it was a cosmic ray
21:57:04 <oerjan> elliott: yes.
21:57:13 <elliott> oerjan: The Golden Age of #esoteric, right?
21:57:14 <FreeFull> `Welcome
21:57:17 <oerjan> right
21:57:18 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: Welcome: not found
21:57:20 <Phantom_Hoover> and then it was a drama bomb
21:57:31 <elliott> Phantom_Hoover: That was literally years later when a bunch of stupid people started being in the channel.
21:57:52 <elliott> oerjan: Kids don't appreciate history nowadays, right?
21:58:07 <oerjan> -- Socrates
21:58:18 <elliott> oerjan: See? A kid wouldn't know who Socrates is!
21:58:26 <oerjan> (slightly translated from the greek)
21:58:44 <FreeFull> Why did you comment Socrates out
21:58:56 <elliott> It's social "comment"ary.
21:59:08 <olsner> Why did you decrement Socrates?
21:59:12 <oerjan> -- Freefull is so stupid he cannot read this
21:59:19 <elliott> 16:00:50: <fizzie> It refers to a PENIS, I think. Usually things on IRC do.
21:59:22 <elliott> fizzie: Thank's.
21:59:37 <oerjan> olsner--
22:00:01 <elliott> @karma olsner
22:00:02 <lambdabot> olsner has a karma of 1
22:00:03 <elliott> Whoa.
22:00:07 <elliott> That needs to be much higher.
22:00:08 <elliott> olsner++
22:00:08 <elliott> olsner++
22:00:08 <elliott> olsner++
22:00:08 <elliott> olsner++
22:00:09 <elliott> olsner++
22:00:10 <elliott> olsner++
22:00:12 <elliott> olsner++
22:00:14 <elliott> olsner++
22:00:16 <elliott> olsner++
22:00:18 <elliott> olsner++
22:00:20 <olsner> @karma
22:00:20 <elliott> olsner++
22:00:20 <lambdabot> You have a karma of 11
22:00:22 <elliott> olsner++
22:00:24 <elliott> @karma olsner
22:00:24 <lambdabot> olsner has a karma of 13
22:00:29 <elliott> @karma+ olsner
22:00:29 <lambdabot> olsner's karma raised to 14.
22:00:31 <elliott> 13 is an unlucky number.
22:00:57 <olsner> wow! I have karma, now I can do at least 14 evils before I turn officially evil
22:01:05 <shachaf> @karma
22:01:05 <lambdabot> You have a karma of 32
22:01:11 <shachaf> @karma elliott
22:01:11 <lambdabot> elliott has a karma of 22
22:01:15 <shachaf> @karma dons
22:01:15 <lambdabot> dons has a karma of 1
22:01:19 <shachaf> @karma sorear
22:01:19 <lambdabot> sorear has a karma of 0
22:01:21 <olsner> @karma chameleon
22:01:21 <lambdabot> chameleon has a karma of 0
22:01:24 <shachaf> @karma larrywall
22:01:24 <lambdabot> larrywall has a karma of 0
22:01:29 <shachaf> @karma timtoady
22:01:29 <lambdabot> timtoady has a karma of 1
22:01:32 <shachaf> @karma preflex
22:01:32 <lambdabot> preflex has a karma of 1
22:01:35 <shachaf> @karma lambdabot
22:01:35 <lambdabot> lambdabot has a karma of 7
22:01:36 <olsner> @karma oerjan
22:01:36 <lambdabot> oerjan has a karma of 8
22:01:44 <shachaf> @karma olsnoerjaner
22:01:44 <lambdabot> olsnoerjaner has a karma of 0
22:01:49 <elliott> @karma funpuns
22:01:49 <lambdabot> funpuns has a karma of 0
22:01:55 <elliott> "have", lambdabot. "have".
22:01:56 <olsner> funpuns++
22:02:41 <elliott> oerjan: Wake up monqy, would you?
22:02:44 <elliott> I have a Linux question.
22:02:52 <oerjan> monqy: WAKE UP
22:03:04 <shachaf> monqy: go to sleep monqy
22:03:08 <Phantom_Hoover> lambdabot--
22:03:12 <elliott> @karma lambdabot
22:03:12 <lambdabot> lambdabot has a karma of 6
22:03:16 <elliott> @karma+ lambdabot
22:03:16 <lambdabot> lambdabot's karma raised to 7.
22:03:16 <elliott> @karma+ lambdabot
22:03:16 <lambdabot> lambdabot's karma raised to 8.
22:03:16 <elliott> @karma+ lambdabot
22:03:16 <elliott> @karma+ lambdabot
22:03:16 <lambdabot> lambdabot's karma raised to 9.
22:03:17 <elliott> @karma+ lambdabot
22:03:17 <lambdabot> lambdabot's karma raised to 10.
22:03:17 <elliott> @karma+ lambdabot
22:03:17 <lambdabot> lambdabot's karma raised to 11.
22:03:18 <lambdabot> lambdabot's karma raised to 12.
22:03:18 <elliott> @karma+ lambdabot
22:03:20 <lambdabot> lambdabot's karma raised to 13.
22:03:20 <elliott> @karma+ lambdabot
22:03:22 <shachaf> elliott: Stop it.
22:03:22 <lambdabot> lambdabot's karma raised to 14.
22:03:22 <elliott> @karma+ lambdabot
22:03:24 <lambdabot> lambdabot's karma raised to 15.
22:03:24 <elliott> @karma+ lambdabot
22:03:25 <shachaf> @ignore + elliott
22:03:26 <lambdabot> lambdabot's karma raised to 16.
22:03:26 <elliott> @karma+ lambdabot
22:03:28 <lambdabot> lambdabot's karma raised to 17.
22:03:28 <elliott> @karma+ lambdabot
22:03:30 <lambdabot> lambdabot's karma raised to 18.
22:03:30 <elliott> @karma+ lambdabot
22:03:32 <lambdabot> lambdabot's karma raised to 19.
22:03:32 <elliott> @karma+ lambdabot
22:03:33 <shachaf> @ignore - elliott
22:03:34 <lambdabot> lambdabot's karma raised to 20.
22:03:34 <elliott> @karma+ lambdabot
22:03:36 <lambdabot> lambdabot's karma raised to 21.
22:03:36 <elliott> @karma+ lambdabot
22:03:38 <lambdabot> lambdabot's karma raised to 22.
22:03:38 <shachaf> @admin - elliott
22:03:39 <elliott> @karma+ lambdabot
22:03:40 <lambdabot> lambdabot's karma raised to 23.
22:03:40 <elliott> @karma+ lambdabot
22:03:41 <shachaf> @ignore + elliott
22:03:42 <lambdabot> lambdabot's karma raised to 24.
22:03:42 <elliott> @karma+ lambdabot
22:03:44 -!- zzo38 has left.
22:03:44 <elliott> I love lambdabot.
22:03:45 <olsner> maybe we could raise karma in private messages instead of in the channel?
22:03:46 <elliott> @admin - shachaf
22:04:00 <elliott> olsner--
22:04:02 <shachaf> elliott: What happens in #esoteric ought to stay in #esoteric
22:04:06 <olsner> elliott--
22:04:09 <elliott> You're officially unlucky now, olsner.
22:04:10 <shachaf> Don't lambdabot karmaspam
22:04:13 <elliott> @karma elliott
22:04:13 <Phantom_Hoover> Phantom_Hoover++
22:04:15 <shachaf> @karma olsner
22:04:15 <lambdabot> olsner has a karma of 14
22:04:21 <elliott> shachaf: I was adjusting lambdabot's karma to be correct.
22:04:31 <elliott> shachaf: Also I once spammed lambdabot in /msg to take down lambdabot's karma from 40-50 or so to 0.
22:04:34 <elliott> So this is just giving back, see?
22:04:38 <elliott> I forget why I did that.
22:04:42 <shachaf> @slap elliott
22:04:42 * lambdabot hits elliott with an assortment of kitchen utensils
22:04:42 <elliott> But I remember having a good reason.
22:04:50 <elliott> Also, take me off ignore.
22:05:51 <elliott> shachaf: If you don't take me off lambdabot ignore I'll... I'll reduce your karma!!!!!
22:06:30 <elliott> oerjan: Remember when HackEgo had a karma system?
22:06:32 <elliott> `karma oerjan
22:06:34 <elliott> Maybe it still does.
22:06:37 <HackEgo> oerjan has 0 karma.
22:06:44 <shachaf> @ignore - elliott
22:06:46 <olsner> `cat bin/karma
22:06:49 <HackEgo> ​#!/bin/sh \ echo "$1 has $(lib/karma "$1") karma."
22:06:58 <elliott> @admin + elliott
22:06:59 <lambdabot> Not enough privileges
22:07:05 <olsner> oh, I expected it to just print "$1 has 0 karma"
22:07:08 <FreeFull> > putStrLn "I am dissapoint"
22:07:09 <lambdabot> <IO ()>
22:07:11 <elliott> olsner: That's a good idea. It should.
22:07:16 <FreeFull> > a <- putStrLn "I am dissapoint"
22:07:17 <lambdabot> not an expression: `a <- putStrLn "I am dissapoint"'
22:07:20 <elliott> @admin + elliott
22:07:20 <lambdabot> Not enough privileges
22:07:25 <elliott> shachaf: It's like you don't even care about your karma.
22:07:30 <shachaf> elliott: Don't @admin - me :-(
22:07:31 <shachaf> @karma
22:07:31 <lambdabot> You have a karma of 32
22:07:33 <FreeFull> > "I am dissapoint"
22:07:34 <lambdabot> "I am dissapoint"
22:07:36 <shachaf> @admin + elliott
22:07:46 <olsner> !rot13 I am disappoint
22:07:47 <EgoBot> V nz qvfnccbvag
22:08:46 <elliott> FreeFull: What are you full of?
22:08:52 * oerjan swats FreeFull for speling -----###
22:08:53 <FreeFull> Freedom
22:09:06 <elliott> FreeFull: Whoa.
22:09:09 <elliott> FreeFull: Are you American?
22:09:12 <FreeFull> No
22:09:17 <FreeFull> America isn't actually free
22:09:54 <elliott> Good point.
22:09:54 <oerjan> it's free for a small fee
22:09:57 <elliott> So, you're European.
22:10:03 <olsner> feeful
22:10:31 <FreeFull> Jupiterian
22:10:43 <elliott> Jupiter isn't in Europe, FreeFull.
22:10:57 <oerjan> sausage lovers are the wurst
22:11:13 <FreeFull> Europa is around Jupiter though!
22:11:18 <shachaf> elliott: Yes it is?
22:11:21 <shachaf> It's in Romania.
22:12:03 <olsner> !rot13 cha-cha-cha
22:12:03 <EgoBot> pun-pun-pun
22:12:04 <Sgeo> https://gist.github.com/3036120
22:12:11 <Sgeo> (not mine)
22:12:58 <elliott> shachaf: Well, uh, Europe is the national anthem of Kosovo.
22:13:08 <shachaf> uh-lliott
22:13:39 <shachaf> kmc: Can you believe Raymond Smullyan was giving a talk in NYC today?
22:18:20 <oerjan> !rot13 Raymond Smullyan
22:18:21 <EgoBot> Enlzbaq Fzhyylna
22:27:21 <Sgeo> I'm starting to really appreciate the Reader monad, now that I see two different Clojure libraries do different things to essentially support it.
22:27:38 <elliott> reader monad sux
22:27:44 <elliott> implicit configurations thru reflection 4 lyfe
22:28:13 -!- hagb4rd has joined.
22:29:35 -!- monqy has joined.
22:29:39 <elliott> mmmm i forgot how great reflection's api is
22:29:45 <elliott> oh hey oerjan thanks
22:30:47 <elliott> monqy: you still use arch right
22:30:57 <monqy> ye
22:30:57 <lambdabot> monqy: You have 12 new messages. '/msg lambdabot @messages' to read them.
22:31:04 <monqy> you got me,....
22:31:08 <Lumpio-> Who doesn't run Arch these days!
22:31:13 <Lumpio-> Unless you want a stable system or something