00:17:30 <oerjan> russian scientists reach lake vostok
00:17:47 -!- augur_ has quit (Remote host closed the connection).
00:22:09 -!- oerjan has set topic: /fnord/Home of N>=1 IOCCC Winners! | Friendship Is Magic: The Gathering | elliott sacked as bearer of Element of Loyalty, seeking pegasus replacement | http:\\\/\\\/codu.org\\\/logs\\\/_esoteric\\\/ | Now slightly on-topic | It came from Lake Vostok/fnord.
00:22:49 -!- nooga has quit (Ping timeout: 245 seconds).
00:50:28 -!- augur has joined.
00:56:27 -!- augur has quit (Remote host closed the connection).
00:57:19 -!- augur has joined.
00:57:42 -!- azaq23 has joined.
00:57:52 -!- azaq23 has quit (Max SendQ exceeded).
00:58:19 -!- azaq23 has joined.
01:17:52 -!- augur has quit (Remote host closed the connection).
01:39:39 <Sgeo> Gregor, congratulations. What is unexpected portability?
01:40:10 <Gregor> You'll just have to wait and seeeeeee 8-D
01:40:14 <oerjan> it accidentally runs just fine on a Harvard MARK
01:41:02 <Gregor> oerjan: Something tells me there's no C compiler for it :)
01:41:18 <oerjan> that's why it's so unexpected
01:42:28 <pikhq> Sgeo: It's a JIT. If it runs on more than one CPU and fits in their size requirements, it's unexpectedly portable.
01:47:10 -!- augur has joined.
01:47:43 -!- pikhq_ has joined.
01:50:49 -!- pikhq has quit (Ping timeout: 248 seconds).
01:58:20 <lifthrasiir> Gregor: congrats! is there any code (or hint.txt) available?
01:58:27 -!- derdon has quit (Remote host closed the connection).
01:58:52 <oerjan> we need that pegasus replacement soon, it's too quiet here
02:00:49 -!- pikhq has joined.
02:01:01 -!- pikhq_ has quit (Ping timeout: 260 seconds).
02:08:53 <Gregor> lifthrasiir: There will be when IOCCC posts it.
02:09:01 <Gregor> lifthrasiir: I've decided to heed their request not to release 'til they do.
02:09:25 <Gregor> oerjan: I would /nick RainbowDash or even /nick Fluttershy or especially /nick DerpyHooves but they're all owned :(
02:09:54 <lifthrasiir> (i was never an IOCCC winner so i didn't know about that)
02:10:15 <Gregor> lifthrasiir: Apparently the delay is to allow people to fix last-minute bugs etc.
02:10:18 <Gregor> Which is good 'cuz I've got one 8-D
02:16:44 -!- Gregor has changed nick to Flim.
02:16:51 <Flim> I finally found an unowned pony name.
02:16:56 <Flim> Too bad it's a terrible one.
02:18:53 <Flim> Flim is kind of a dick.
02:19:06 <Flim> Also him and his "brother" Flam are only brothers in the biblical sense, if you understand my meaning.
02:19:33 <Flim> That's probably for the best X-D
02:24:57 <Flim> fungot: OH GOD NO
02:27:01 -!- azaq23 has quit (Quit: Leaving.).
03:01:55 -!- kallisti has quit (Ping timeout: 272 seconds).
03:02:47 -!- zzo38 has joined.
03:34:40 <zzo38> I invented a shogi variant called "Shogi of the Central Madness". Each player picks up one card, and you are not allowed to look at your opponent's cards. You can use the cards/dice if you have a piece in the center square of the board.
03:35:22 <zzo38> http://www.chessvariants.org/index/msdisplay.php?itemid=MSshogiofthecent
03:42:05 -!- PiRSquared has changed nick to KindaConfused.
03:43:22 -!- evincar has joined.
03:44:38 <evincar> Evening all. Or whatever time you are.
03:46:20 <monqy> I haven't kept track
03:46:22 <oerjan> aeons ago, evincar roamed these lands.
03:46:48 <monqy> were those aeons before or after elliott vanished
03:46:57 <evincar> He's been on StackExchange a lot?
03:47:29 <monqy> gotta keep that rep up, hm
03:47:41 <evincar> StackOverflow specifically. I see him in the Haskell tag quite a bit.
03:47:42 -!- augur has quit (Remote host closed the connection).
03:52:13 <evincar> Speaking of SE, I've got a question that probably isn't suitable for there.
03:52:30 <monqy> is it a good question
03:53:53 <oerjan> sorry, without elliott we cannot answer subjective questions any longer.
03:54:39 <evincar> Anyway, in a language with concatenative and applicative expressions, should you keep argument order visually the same [a b c f]=(f a b c) or reverse one of them so partial application works right (f a b c)=[a b c f]?
03:55:12 <evincar> Latter should be (f a b c)=[c b a f].
03:56:21 <monqy> i'm going to have to reread that
03:56:41 <oerjan> having both sounds like a mess
03:56:43 <pikhq> I'm afraid elliott stole all opinionatedness out of us.
03:56:59 <oerjan> oh there is pikhq. but he only does politics.
03:57:30 <pikhq> Ah, right. I'm strongly opinionated about policy.
03:57:41 <evincar> oerjan: It is and it isn't. I like concatenative languages, but some things are way nicer to write in applicative style. Take math expressions.
03:58:10 <oerjan> you _could_ have a prefix concatenative language, couldn't you.
03:59:24 <evincar> It'd look like Lisp with less nesting.
03:59:26 -!- kallisti has joined.
03:59:26 -!- kallisti has quit (Changing host).
03:59:27 -!- kallisti has joined.
03:59:38 <monqy> maybe you can answer evincar's subjective question
04:00:22 <evincar> It boils down to whether things should look right or work right. :P
04:01:16 <evincar> I'll prolly just add a flip operator and be done with it.
04:01:21 <monqy> working wrong is kind of a problem
04:01:52 -!- KindaConfused has changed nick to PiRSquared.
04:03:19 <evincar> Yeah, when it's in those terms, it's kind of obvious. :/
04:11:27 <kallisti> monqy: yes I'm great at humans
04:11:32 -!- kallisti has quit (Quit: Reconnecting).
04:11:55 -!- kallisti has joined.
04:11:55 -!- kallisti has quit (Changing host).
04:11:55 -!- kallisti has joined.
04:12:04 <kallisti> monqy: yes I'm great at humans
04:12:26 <evincar> kallisti: "In a language with concatenative and applicative expressions, should you keep argument order visually the same [a b c f]=(f a b c) or reverse one of them so partial application works right (f a b c)=[c b a f]?"
04:12:44 <evincar> In other words, working right or looking right.
04:12:45 <oerjan> great at humans, bad at networking
04:12:54 <evincar> But I'm pretty much past it.
04:13:47 <kallisti> evincar: I don't really understand the purpose of the reversal anyway.
04:14:00 <Jafet> [c b a f] is how a stack language evaluates f
04:14:21 <Jafet> And nearly every concatenative language is a stack language
04:14:38 <Jafet> (That is, their authors C B A.)
04:15:26 <evincar> It's the difference between having (map f list) correspond to [list f map] or [f list map].
04:15:30 <evincar> So yeah, I choose "working right".
04:16:45 -!- pikhq_ has joined.
04:17:00 -!- pikhq has quit (Ping timeout: 252 seconds).
04:17:02 <Flim> This question seems so subjective it's meta-subjective.
04:17:18 <Flim> Also, this is EASILY the worst pony name so I'm abandoning it.
04:17:20 -!- Flim has changed nick to Gregor.
04:18:44 <Gregor> (The original question, that is, not the specific example)
04:28:41 -!- pikhq has joined.
04:31:42 -!- pikhq_ has quit (Ping timeout: 260 seconds).
04:31:43 <evincar> Is it possible to infer dependent types in general? I forget.
04:34:19 <evincar> It seems like no, because you could easily get nontermination if you had a type dependent on a function value.
04:34:57 <evincar> Then again, dependence on just base values is perfectly useful.
04:39:18 <Gregor> Yeah, I think you need a specific definition of "dependent types", since not all definitions of the term are decidable type systems, and inferring an undecidable type system is arguably a lost cause :)
04:41:22 <evincar> Although there are plenty of useful programs that have decidable types even if the system in general is undecidable.
04:41:39 <evincar> But yeah, "dependent type system" is a rather broad category of things.
04:42:07 <monqy> @ask elliott check your messages as elliott_
04:51:54 <evincar> Well, I must go. My people need me.
04:51:56 -!- evincar has quit (Quit: ChatZilla 0.9.88 [Firefox 10.0/20120129021758]).
04:55:11 <oerjan> and thus evincar roamed on, to quests unknown.
04:59:04 <zzo38> In this D&D game I took a pot from the kitchen, fill with rain water, climb onto the roof, find the chimney pot full of rain water too, and pour them all down the chimney, almost extinguishing a fire elemental who was hiding in the fireplace.
05:17:02 <zzo38> One of the players selected the maximum allowed age, weight, and height for her character.
05:23:46 <zzo38> It now has 57 pages in full mode, and 27 chapters, and 25 footnotes.
05:30:02 -!- MDude has changed nick to MSleep.
05:52:48 -!- oerjan has quit (Quit: Good night).
06:01:02 -!- pikhq_ has joined.
06:01:32 -!- pikhq has quit (Ping timeout: 260 seconds).
06:02:15 -!- PiRSquared has quit (Quit: good night).
06:20:44 -!- pikhq_ has quit (Ping timeout: 245 seconds).
06:20:53 -!- pikhq has joined.
06:40:04 -!- augur has joined.
06:57:43 -!- MoALTz__ has joined.
06:58:10 -!- MoALTz_ has quit (Ping timeout: 272 seconds).
07:11:16 <pikhq> https://www.youtube.com/watch?v=jfectchNtQM I think this is harder to understand than Japanese.
07:11:22 <pikhq> And it's nominally in English.
07:30:52 -!- NihilistDandy has joined.
07:41:43 -!- zoot` has joined.
07:41:44 -!- nooga has joined.
07:53:30 -!- zoot` has left ("ERC Version 5.3 (IRC client for Emacs)").
08:23:39 -!- Frooxius has joined.
08:45:33 -!- monqy has quit (Quit: hello).
08:56:24 <NihilistDandy> Or just someone better at it/more caffeinated than I am
09:00:05 <zzo38> How can you run a Haskell code in virtual machine?
09:05:47 -!- ais523 has joined.
09:46:02 -!- hagb4rd has joined.
09:55:19 -!- zzo38 has quit (Remote host closed the connection).
10:00:47 -!- monqy has joined.
10:08:30 <itidus20> pikhq: i can follow 80% of the dialogue, perhaps due to the uk influences on australia
10:12:48 -!- ais523_ has joined.
10:39:32 -!- ker- has joined.
11:09:56 -!- ker- has quit (Quit: leaving).
11:21:16 -!- monqy has quit (Quit: hello).
12:32:30 -!- sebbu2 has joined.
12:32:30 -!- sebbu2 has quit (Changing host).
12:32:31 -!- sebbu2 has joined.
12:35:25 -!- sebbu has quit (Ping timeout: 240 seconds).
12:45:10 -!- Phantom_Hoover has joined.
12:56:02 -!- Nihilist_ has joined.
12:56:23 -!- MoALTz__ has quit (Quit: brb).
12:56:35 -!- NihilistDandy has quit (Disconnected by services).
12:56:36 -!- sebbu2 has changed nick to sebbu.
12:57:11 -!- Nihilist_ has changed nick to NihilistDandy.
12:58:46 -!- MoALTz has joined.
13:04:06 -!- ais523_ has quit (Quit: Page closed).
13:06:06 -!- pikhq_ has joined.
13:06:10 -!- pikhq has quit (Ping timeout: 245 seconds).
13:07:28 -!- Frooxius_ has joined.
13:09:09 -!- Frooxius has quit (Ping timeout: 256 seconds).
13:09:10 -!- Frooxius_ has changed nick to Frooxius.
13:21:44 -!- pikhq_ has quit (Ping timeout: 240 seconds).
13:21:55 -!- pikhq has joined.
13:24:48 -!- Nihilist_ has joined.
13:25:09 -!- NihilistDandy has quit (Disconnected by services).
13:25:36 -!- Nihilist_ has changed nick to NihilistDandy.
13:48:38 -!- ais523 has set topic: Home of N>=1 IOCCC Winners! | http://codu.org/logs/_esoteric/ | There is nothing more fun to watch than experimenting with elephant toothpaste.
14:05:56 <fizzie> I see you've changed the topic to be written in one of those languages where just having a simple line of text with no frills will cause it to be output. (Sadly I can't recall any right now, but I'm sure I've seen a hello, world example that was just hello, world.)
14:06:47 <ais523> not sure which qualifies as more esoteric
14:06:57 <ais523> http://esolangs.org/wiki/Text
14:08:15 <fizzie> I think I recall a non-joke eso-example, but I might be wrong. It didn't have a PHP-esque escape sequence approach; it was one of those rewritingey things, I think.
14:08:44 <ais523> but the topic has slashes in already
14:09:10 <fizzie> I guess it could've been that I was thinking about, and right.
14:09:30 <ais523> also, the topic was in /// /before/ I changed it
14:12:36 <fizzie> It could be in Swap now. It doesn't have any \s or ~s.
14:18:25 -!- ais523 has quit (Remote host closed the connection).
14:26:42 -!- Phantom_Hoover has quit (Remote host closed the connection).
14:28:22 -!- Phantom_Hoover has joined.
14:34:30 -!- NihilistDandy has quit (Quit: Textual IRC Client: http://www.textualapp.com/).
15:18:11 -!- MoALTz has quit (Ping timeout: 244 seconds).
15:20:15 -!- MoALTz has joined.
15:27:04 -!- MoALTz_ has joined.
15:29:30 -!- MoALTz has quit (Ping timeout: 245 seconds).
15:38:27 -!- MoALTz__ has joined.
15:41:22 -!- MoALTz_ has quit (Ping timeout: 260 seconds).
15:41:29 -!- Taneb has joined.
16:03:10 -!- ais523 has joined.
16:03:13 -!- ais523 has quit (Changing host).
16:03:13 -!- ais523 has joined.
16:14:11 -!- Deewiant has quit (Quit: Kovo).
16:23:27 -!- augur has quit (Remote host closed the connection).
16:29:38 -!- tzxn3 has joined.
16:30:11 <tzxn3> the wiki really needs a captcha
16:31:34 <itidus20> after making an edit, a captcha isn't unreasonable
16:33:32 <tzxn3> for anonymous and non-autoconfirmed users, certainly...
16:36:33 <tzxn3> and on account creation
16:37:07 <ais523> tzxn3: the wiki /has/ a CAPTCHA
16:37:13 <ais523> it just isn't strong enough to defeat the spambots
16:37:30 <tzxn3> I wouldn't really say that's a captcha though
16:37:32 <ais523> and Graue is refusing to administer the wiki any more, even though he's the only person who can change it
16:38:15 -!- tswett has quit (Changing host).
16:38:15 -!- tswett has joined.
16:39:32 <tzxn3> well, the problem needs to be solved
16:40:13 <itidus20> could you guys roll your own captcha?
16:40:59 <itidus20> what about a brainfuck captcha?
16:41:36 <tzxn3> Graue seems to be the only bureaucrat and the only person with server access
16:41:56 <Gregor> Write a Brainfuck program to output the following string: «random text»
16:42:17 <tzxn3> that can easily be done algorithmically though
16:42:42 <tzxn3> bfdev has a tool specifically for that purpose
16:42:50 <Gregor> And soooo many spambots will use it.
16:43:02 <tzxn3> security through obscurity is never good practice
16:43:14 -!- tswett has quit (Changing host).
16:43:14 -!- tswett has joined.
16:43:21 <itidus20> its not really security its just aversion :D
16:43:44 <itidus20> well what i had in mind is if the captcha showed bf code
16:43:57 <itidus20> or.. it could be just a cipher
16:45:05 <itidus20> nevermind.. i can't outthink ioccc winners
16:46:40 <ais523> it shouldn't be massively difficult for a human
16:49:17 <Gregor> Yeah, my suggestion is actually a terrible idea, presented in jest X_X
16:49:55 <itidus20> the problem with these turing tests is that you can't write a perfect turing test as a computer program
16:51:12 <itidus20> it won't be all that long before peoples cams are just 3d rendered scenes of bedrooms and human models
16:53:54 -!- augur has joined.
17:06:50 -!- Taneb has quit (Ping timeout: 265 seconds).
17:36:26 -!- zzo38 has joined.
17:55:08 <zzo38> Do you know if there is way to run cross-platform sandboxed compiled Haskell codes in a virtual machine?
17:55:28 <coppro> "cross-platform compiled"?
17:55:37 <coppro> haskell compiles to native code
17:57:22 <zzo38> I know it compiles to native code. But is there some way to do it cross-platform and sandboxed? Possibly using an emulator, if that is necessary?
17:57:23 <ion> “Haskell” doesn’t specify anything about compilation. There are various implementations which compile to e.g. native code and JavaScript.
17:59:02 <zzo38> Yes, and I want to use GHC, probably.
17:59:16 -!- Taneb has joined.
18:01:43 -!- MSleep has changed nick to MDude.
18:26:07 -!- Taneb has quit (Quit: homework).
18:43:39 -!- Deewiant has joined.
18:59:45 -!- Phantom__Hoover has joined.
19:02:50 -!- Phantom_Hoover has quit (Ping timeout: 276 seconds).
19:12:39 -!- MoALTz__ has quit (Quit: brb).
19:27:07 -!- monqy has joined.
19:32:19 -!- MoALTz has joined.
19:38:38 <zzo38> I think applicative laws imply that (pure mempty) and (liftA2 mappend) form a monoid. Together with the functor laws and parametricity, are any other laws needed?
19:47:17 -!- Phantom___Hoover has joined.
19:51:07 -!- Phantom__Hoover has quit (Ping timeout: 244 seconds).
19:52:07 <ais523> hey everyone, usable Recent Changes!: http://esoteric.voxelperfect.net/w/index.php?title=Special%3ARecentchanges&namespace=-1&invert=1
19:52:14 <ais523> doesn't show deletions or blocks
19:53:07 <zzo38> O, that works. But why does that work?
19:53:30 <ais523> zzo38: -1 is the Special namespace
19:53:43 <ais523> which is what deletions and blocks are apparently recorded as in the recent changes table
20:25:08 <fizzie> MSVC has quite the clever-trick n/8 for a signed int n: mov eax, ecx; cdq; and edx, 7; add eax, edx; sar eax, 3; (This is with n in ecx, result in eax.)
20:33:09 -!- cswords_ has joined.
20:36:32 -!- cswords has quit (Ping timeout: 260 seconds).
20:42:57 -!- SimonRC has quit (Remote host closed the connection).
20:43:04 -!- SimonRC has joined.
21:07:40 -!- Taneb has joined.
21:09:44 <fizzie> Taneb: error 48: cannot assign values to aggregates
21:11:08 <fizzie> (I just recently-ish got that, and thought I'd pass it on.)
21:13:55 <zzo38> fizzie: Do you know if anyone else has that clever-trick?
21:15:04 <fizzie> zzo38: I don't know. A version of GCC does instead lea eax, [rcx+7]; test ecx, ecx; cmovns eax, ecx; sar eax, 3; which accomplishes the same, but I think is less clever-tricky.
21:18:43 <fizzie> zzo38: Seems that my version of clang has a sort-of related trick: mov eax, edi; sar eax, 31; shr eax, 29; add eax, edi; sar eax, 3; That's also quite tricky.
21:19:25 <zzo38> Which way works best?
21:20:06 <fizzie> It might depend on the particular CPU. I haven't measured, and it might be that with different optimization flags the compilers would use different sort of tricks.
21:21:02 <fizzie> I suppose one could also try the hybrids that would either sar eax, 31; and eax, 7; or cdq; shr edx, 29; instead.
21:25:54 <zzo38> The existing Language.Haskell.Preprocessor.Printer.dump (in "preprocessor-tools" package) seem long and doesn't appear to work very well anyways, so I wrote my own code:
21:26:13 <zzo38> writeTokens :: Handle -> Loc -> [Token] -> IO (); writeTokens _ _ [] = pure (); writeTokens h l (x : t) = writeUpdateLoc h l (loc x) >> hPutStr h (val x) >> writeTokens h (advance (loc x) (val x)) t;
21:26:30 <Taneb> I've added Luigi to my webpage
21:26:48 <zzo38> writeUpdateLoc :: Handle -> Loc -> Loc -> IO (); writeUpdateLoc h x y | isBogus y = unless (isBogus x) $ hPutChar h '\n'; writeUpdateLoc h x y | (file x, line x) == (file y, line y) && col x <= col y = hPutStr h $ replicate (col y - col x) ' '; writeUpdateLoc h x y | (file x, line x + 1) == (file y, line y) = hPutStr h $ '\n' : replicate (col y - 1) ' '; writeUpdateLoc h x y = hPutStr h $ "\n# " ++ show (line y) ++ " " ++ show (file y) ++ "\n"
21:28:15 <zzo38> Is that package really considered that good if you have to make a lot of your own changes anyways?
21:53:36 <Taneb> I now consider my esolang page complete.
21:53:37 <Taneb> http://www.vandoorn.talktalk.net/esoteric/
22:05:50 -!- Taneb has quit (Quit: Leaving).
22:08:39 -!- tzxn3 has quit (Read error: Connection reset by peer).
22:16:36 -!- oerjan has joined.
22:19:00 <oerjan> argh not combined sneezing and nose-bleeding!
22:23:41 <fizzie> You can make modern art!
22:23:57 <fizzie> Just put a canvas in front.
22:24:43 <oerjan> well the nose-bleeding seems to have stopped without getting really bad.
22:25:33 <fizzie> Gurgle some paint, then.
22:25:34 <oerjan> dammit if this is the flu, i should have bought more bread today.
22:26:15 <oerjan> having to go out to buy groceries when sick is no fun
22:26:37 <fizzie> You should have some bread-in-a-can for that. (I think there is such a thing.)
22:26:55 <fizzie> Sandwich-in-a-can, in fact.
22:27:02 <fizzie> It looked really unappetizing.
22:28:28 <oerjan> ok the sneezing may have stopped too.
22:30:41 <oerjan> <ais523> and Graue is refusing to administer the wiki any more, even though he's the only person who can change it
22:30:55 <oerjan> elliott came by claiming to be trying to take over
22:31:04 <ais523> I know, we've been discussing it in PM
22:31:17 <ais523> I'm not /entirely/ sure he'll survive contact with MediaWiki, though
22:31:36 <ais523> it's like kryptonite for programmers with good style
22:32:45 -!- derdon has joined.
22:34:58 -!- augur has quit (Remote host closed the connection).
22:38:00 -!- augur has joined.
22:39:26 <zzo38> If Graue is refusing to continue then Gregor (or someone else) should do so, because there is many problem with it so far we should need to add more things. More people can fix it at once, if you have a Hackiki service, for example.
22:41:43 <oerjan> i don't think converting it entirely into hackiki is in the plans...
22:41:49 <zzo38> One thing you could make, is to copy the TeX->picture program I have (it is PHP, so it will work with MediaWiki; and everything works with Hackiki) and make it cache the results. (There are other program but they fail at many things; I did it correctly secure yet highly functionable)
22:42:23 <oerjan> mediawiki has its own tex->picture plugin, doesn't it
22:42:38 <zzo38> oerjan: Yes it does, but it doesn't work very well.
22:43:03 <Gregor> elliott has volunteered.
22:43:56 <zzo38> This is my program http://zzo38computer.cjb.net/texify/texify.php?source=2 You will need to modify it to work on any computer other than my own.
22:44:31 <zzo38> You will also need to modify it to cache the results (possibly as files in the image gallery).
22:45:00 <zzo38> You also need the format file http://zzo38computer.cjb.net/texify/texify.php?source=3
22:46:17 <zzo38> (And there should be no problem having MediaWiki's standard one called <math> and then use this one as well with the name <tex> it probably will work OK)
22:48:02 <zzo38> It won't be secure if you use any extensions (such as pdfTeX, e-TeX, LaTeX, and so on); so only use the file called "tex" as the executable.
22:48:51 -!- elliott has joined.
22:48:59 <elliott> My sources tell me I'm being nattered about!
22:50:26 <fizzie> "QX", like they say in the Lensman series, to make it sound more futuristic than just saying "OK".
22:50:41 <fizzie> (For the longest time I thought that was just an OCR error in the etext.)
22:51:06 <zzo38> fizzie: Who told you it wasn't?
22:51:57 <elliott> I might as well give a status update since it came up: I'm currently (as in "tonight") setting up the latest MediaWiki in a test VM I set up yesterday to check that the DB import of Esolang's ancient MediaWiki version will work properly and to hash out antispam config.
22:51:58 <fizzie> I don't recall, but it's mentioned in Wikipedia's disambig page for QX.
22:52:41 <elliott> Assuming all goes well, it should be ready to present to Graue and that guy who owns esolangs.org in a day or two.
22:53:35 <zzo38> elliott: Then hopefully, you should be able to fix it. I did have other suggestions too
22:54:06 <zzo38> One is removing the "precondition is false" error.
22:54:29 <zzo38> Another is adding the Nostalgia skin (from Wikipedia).
22:54:35 <elliott> The "improvements" beyond antispam I'm planning are the latest MediaWiki version, getting rid of the silly <div>/<span> filter, a bunch of caching to speed things up, and better admin tools.
22:54:52 <elliott> Precondition is false sounds like mod_security, which is Apache rubbish I won't install, so no problems there.
22:55:14 <elliott> I think the Nostalgia skin ships with MediaWiki, so I'm surprised it's not on Esolang...
22:55:20 <oerjan> isn't that maybe what is used for that <div>/<span> filter?
22:55:44 <zzo38> Yes do get rid of silly <div>/<span> filter and of all filter, actually; sometimes any text might be needed entered. Maybe you could make the filter apply only to users who are not autoconfirmed, so autoconfirmed users can enter anything.
22:56:24 <zzo38> Will they be able to copy over the user database?
22:56:42 <elliott> The anti-spam I'm planning, apart from the admin tools that would basically eliminate the current spam with a single admin action, is just a CAPTCHA on every anonymous edit like we have currently, and a CAPTCHA on the registration page, which is what's currently letting all the spam in. I was just going to go with a trivial quiz-based CAPTCHA with esolang-specific questions, since there's no chance of a spambot getting around that.
22:56:58 -!- augur has quit (Remote host closed the connection).
22:56:59 <elliott> zzo38: Yes. I think that the esolang wiki dumps are just raw SQL dumps, so I think they include the user database.
22:57:09 <elliott> (If they do, that means they include password hashes too... thankfully they're salted, IIRC.)
22:57:26 <elliott> If not, hopefully Graue will be unbusy enough to give a complete copy.
22:57:43 <elliott> I think images will have to be manually reuploaded, but there's not very many.
22:57:51 <zzo38> Yes, just a CAPTCHA for anonymous edits and registration should be OK, and no CAPTCHA for any autoconfirmed users.
22:59:32 <zzo38> Other idea is install some extensions, such as some data processing extensions, and the <math> extension, and my own <tex> extension (since many things fail with <math>)
23:00:12 <zzo38> And hopefully the literate Haskell program I have written on the esolang wiki, will continue to work.
23:00:19 <elliott> Which data processing extensions? (Or, what kind of thing do you mean in general.) I was considering setting <math> up, yes. Does <tex> just run TeX? That sounds like it could be bad on server load.
23:01:00 <zzo38> elliott: <tex> would run TeX with time limits, memory limits, and caching. You have to modify the program I have to do caching and make it work with MediaWiki in general.
23:01:28 <elliott> Ah. I'll consider it, but I don't really know anything about writing MediaWiki extensions.
23:01:43 <zzo38> (It also has its own format file, which is needed for security purposes; you cannot use standard format files)
23:02:35 <zzo38> Specifically, these two files: http://zzo38computer.cjb.net/texify/texify.php?source=2 http://zzo38computer.cjb.net/texify/texify.php?source=3 You can probably keep the format file exactly as is, but the PHP program certainly needs to be modified; as is, it doesn't cache and it won't even work on any computer other than my own
23:05:18 <zzo38> It also won't be secure if the TeX processing program is anything other than "tex" (or "initex" or "virtex"); do not use "latex", "pdftex", "etex", or whatever.
23:06:58 <zzo38> Actually due to various things, my program probably has less server load than <math> (as long as you do caching and time limits and memory limits correctly); although you should still install <math> as well since some things require it (such as compatibility with Wikipedia).
23:07:51 <oerjan> not using latex sounds like a possibly bad thing, although i'm not sure how much of short latex snippets don't work in plain tex
23:08:17 <fizzie> I was pointed at http://webdemo.visionobjects.com/equation.html?locale=default recently; it is like the fanciest, except of course when it isn't.
23:08:25 <elliott> well tex math mode is a bit more compatible with latex math mode than tex and latex in general
23:09:19 <elliott> There's more: http://webdemo.visionobjects.com/portal.html?locale=default
23:11:19 -!- augur has joined.
23:12:01 <oerjan> <zzo38> I know it compiles to native code. But is there some way to do it cross-platform and sandboxed? Possibly using an emulator, if that is necessary?
23:12:34 <oerjan> iirc ghc doesn't cross-compile, although there's a new code generator being made which is supposed to make it possible among other things
23:13:33 <oerjan> an emulator should be able to fake it though, shouldn't it.
23:14:32 <elliott> oerjan: what was the "hm"?
23:15:25 -!- augur has quit (Remote host closed the connection).
23:15:37 <oerjan> elliott: the missing latex
23:15:59 <oerjan> <zzo38> I think applicative laws imply that (pure mempty) and (liftA2 mappend) form a monoid. Together with the functor laws and parametricity, are any other laws needed?
23:16:33 <oerjan> i don't think you need anything but the applicative laws and the laws for the underlying monoid...
23:16:39 <elliott> zzo38: About (pure mempty) and (liftA2 mappend), you should read http://conal.net/papers/type-class-morphisms/type-class-morphisms-long.pdf
23:16:44 <elliott> It's an example of the typeclass morphism principle.
23:17:30 <elliott> anyhow -- any further wiki-related questions?
23:17:44 <oerjan> <ais523> hey everyone, usable Recent Changes!: http://esoteric.voxelperfect.net/w/index.php?title=Special%3ARecentchanges&namespace=-1&invert=1
23:18:24 <elliott> (Usable only post-deletion.)
23:18:28 <oerjan> nice try, admins-making-their-censorship-invisible
23:20:08 <ais523> elliott: well, non-deleted spam showing there is useful, I have to find the spambots somehow
23:21:52 <zzo38> Actually even in math mode, there are differences between Plain TeX and LaTeX. But that isn't the only thing; there are also some things you might want to write which most webpages disallow regardless of format.
23:23:01 <zzo38> oerjan: Yes, not using LaTeX is a possibly bad thing that is why I said install both <tex> and <math> extensions. But use my format (almost Plain TeX, but with AMS fonts and enhanced security) in addition
23:23:09 <zzo38> And I do have other wiki-related question.
23:23:39 <oerjan> sorry, *$\launchmissiles{hexham,uk}$
23:24:23 <zzo38> Many implementation codes are directly available on the wiki, so it would be nice to offer downloads of these in better ways than the existing ways. I also have http://esolangs.org/wiki/Pure_BF/Implementation which is a literate Haskell program; it can be directly downloaded but won't have the correct filename or MIME type.
23:25:06 <elliott> hmm, what do you have in mind as a fix to that?
23:25:43 <ais523> oerjan: there's a Hexham in the Ukraine?
23:26:23 <ais523> hmm, I guess I didn't dodge if I typoed it first time
23:26:49 <fizzie> ais523: I think there's a Hexham everywhere, and it's more like a state of mind than a place.
23:27:12 <zzo38> elliott: For the literate Haskell program, just some way to make it save the file with the .lhs extension (and possibly a way to enter the link without requiring the full URL, so that it will even work if moved or modified). For other things, a <code> tag which is like <pre> but can specify download filename which downloads its contents
23:27:25 <zzo38> But maybe there are other ways; I cannot think of any, though.
23:27:47 <elliott> <code> is already an HTML tag that MediaWiki allows
23:28:28 <oerjan> is there anything preventing the page from being called http://esolangs.org/wiki/Pure_BF/Implementation.lhs ?
23:28:30 <zzo38> Then call it something else
23:28:55 <ais523> oerjan: I don't think so
23:28:58 <zzo38> oerjan: No, but even if it is called that, I don't think it will call the saved file with that name by default.
23:29:15 <elliott> the original saves as "Implementation" here
23:29:30 <elliott> so you could call it, e.g. PureBF.lhs or such, perhaps?
23:30:05 <fizzie> The download link wants to save as index.php on this browser.
23:30:09 <zzo38> In my computer it saves as "index.php" when the download link is used (unless, of course, I enter a different filename at the save prompt)
23:30:47 <zzo38> elliott: But yes if that did work, I could call it that and it would work.
23:30:59 <elliott> Where *is* the download link, anyway? I just appended ?action=raw.
23:32:04 <zzo38> elliott: At the bottom. I didn't try just append ?action=raw because I didn't know you can use query parameters in that way, but yes that works. Still it would be a convenience to have it without requiring entering the URL in the link
23:32:10 <ais523> elliott: try ?action=raw&ctype=text/css
23:33:46 <ais523> elliott: because text/plain is a security bug due to a misfeature in old versions of IE
23:33:54 <ais523> but every browser interprets text/css the same way as text/plain
23:34:06 <ais523> except without the bug
23:34:25 -!- fizzie has quit (Ping timeout: 245 seconds).
23:34:31 <ais523> yes, this is ridiculous, but it seems not to be MediaWiki's fault for once
23:34:59 <elliott> zzo38: http://esolangs.org/wiki/Pure_BF/Implementation?action=raw&ctype=<favourite mime type goes here>
23:35:00 <ais523> (basically, allowing arbitrary content to be served as text/plain is a security bug in some old IE version because it sometimes interprets it as HTML, which can contain JS, thus a really stupid XSS bug)
23:35:04 <elliott> that should download as Implementation
23:35:18 <elliott> ais523: is there a param to set the filename? it would be nice to be able to avoid moving the page
23:36:29 <zzo38> Examples of things other than literate Haskell is http://esolangs.org/wiki/User:Feuermonster/Bf2Py where direct download doesn't work. You could have something such as <program filename="bf2py.lisp"> .... </program> or something like that
23:36:39 <elliott> zzo38: anyway, I could look into adding a "Download this page" link to the sidebar or such; that seems easier than extending the markup parser
23:36:59 <elliott> doesn't your dottyweb thing allow extraction of explicitly marked-up code from pages?
23:37:29 <zzo38> elliott: Yes it does; I should make it work with <pre> specifications (currently it doesn't work). But then you need to have PHP on your computer, and that program.
23:37:29 <elliott> wait, is that a /brainfuck to python compiler/ written in /lisp/?
23:37:45 <zzo38> elliott: Yes I think it is.
23:38:25 <zzo38> I do suppose "Download this page" could work too but some might need direct download and some using converted download.
23:38:46 <ais523> elliott: what's surprising you about that?
23:38:52 <ais523> it's not like, say, a BF to Prolog compiler written in VHDL
23:39:31 <oerjan> _that_ would be just insane, clearly
23:39:34 <zzo38> ais523: Yes that would be more strange for sure
23:40:11 <zzo38> But it is esolang wiki; so even things as strange as that might possibly be done.
23:41:26 <ais523> btw, is VHDL even capable of taking input from stdin?
23:41:45 <ais523> or would it have to be FFIed through TCL or something?
23:41:59 <zzo38> ais523: I don't know. Probably not, unless you have a emulation for the stdin
23:42:17 <ais523> it can output to stdout, although obviously only in simulation
23:42:44 <ais523> elliott: I'm reasonably sure it has some sort of FFI to TCL
23:42:56 <ais523> for the purpose of running testbenches
23:43:14 <ais523> it is an initialism, though, IIRC, although maybe one that's been lowercased since
23:43:38 -!- nooga has quit (Ping timeout: 276 seconds).
23:43:47 <elliott> "Tcl (originally from "Tool Command Language", but conventionally rendered as "Tcl" rather than "TCL"; pronounced as "tickle" or "tee-see-ell"[3])"
23:44:21 <ais523> oh, hmm, readline looks promising
23:46:00 <pikhq> ais523: Calling it TCL is a very good way of demonstrating you don't know Tcl. :)
23:46:18 <ais523> pikhq: indeed, I hardly know it
23:46:21 <ais523> I've used it without properly knowing it
23:46:32 <ais523> and at one point, I had to visit #tcl, or maybe ##tcl, to ask them how to write a loop
23:46:36 <ais523> which shows just how much I didn't know it
23:47:33 <ais523> file myfile: text open read_mode is "/etc/passwd";
23:47:36 <ais523> wow that's a bizarre syntax
23:47:53 <ais523> and that's used in the same context you'd normally put a variable declaratoin
23:48:20 <ais523> actually reading from it seems to be a time-reversed write with "read" instead of "write", which is easy enough to remember, though
23:49:27 <zzo38> When I learned Haskell programming, I did not have to ask how to write a loop since it is done in almost the same way as it is ordinarily done in mathematics, and I already know about mathematics. So, obviously, Tcl is difference from that way.
23:49:52 <ais523> Tcl is almost call-by-name, it seems
23:50:02 <ais523> but more call-by-string-representation
23:50:22 <ais523> which mostly comes to the same thing but is much more mathematically ugly
23:51:16 <elliott> If I didn't know better, I'd think that ais523's definition of mathematical beauty is defined in terms of call-by-name.
23:51:28 <ais523> elliott: I've realised I'm a call-by-name fanboy
23:51:35 <zzo38> elliott: Do you know better?
23:51:42 <ais523> Paul Levy has attempted to talk me out of it, but failed so far, although I ended up liking call-by-push-value too
23:52:08 <lambdabot> Phantom___Hoover: You have 1 new message. '/msg lambdabot @messages' to read it.
23:52:36 -!- Phantom___Hoover has quit (Quit: Leaving).
23:52:41 <elliott> ais523: You only just now realised that?
23:52:46 <lambdabot> oerjan: You have 1 new message. '/msg lambdabot @messages' to read it.
23:52:48 <elliott> ais523: By the way, I hate call-by-name.
23:52:56 <ais523> elliott: oh, I've been one for ages, but I only realised the fact recently
23:53:00 <ais523> presumably it was more obvious to other people
23:53:11 <oerjan> i didn't think he'd get that message that soon :P
23:53:17 <ais523> and I don't get annoyed at people for hating call-by-name, I merely pity them
23:54:03 <elliott> ais523: In correct languages, call-by-name is identical to call-by-need, but slower.
23:54:15 <elliott> If you are going to favour an implementation detail, why favour an imperfect one?
23:54:25 <elliott> Although, better, why favour any implementation detail at all, in terms of mathematical elegance?
23:54:31 <ais523> elliott: in /pure/ languages, call-by-name is identical to call-by-need, but slower
23:54:41 <ais523> in impure languages, they're quite different
23:54:52 <ais523> oh, you should have heard Paul Levy's attack against Haskell, it was hilarious
23:55:05 <elliott> Your statement is false and you should feel bad.
23:55:21 <ais523> talking about how its use of monads for managing side effects was missing exponential algebras
23:55:32 <ais523> and thus had problems representing some things
23:55:35 <elliott> Firstly, things that are impure aren't worthy of the name "language", as any schoolchild knows. Secondly, call-by-name is not identical to call-by-need in pure languages.
23:55:54 * elliott tries to think of a way to be more condescending than "... as any schoolchild knows".
23:56:09 <ais523> hmm, the firstly is clearly a troll attempt, but I'd be interested to see a counterexample for the secondly
23:56:16 <ais523> in terms of observable behaviour, rather than performance
23:56:19 <oerjan> hm haskell's monads sort of turn call-by-need back into call-by-name
23:56:39 <elliott> ais523: Oh, hmm, you may be right.
23:56:48 <elliott> OK, let me rephrase the statement I was trying to make to be appropriately controversial:
23:56:53 <oerjan> by involving an action which needs to be performed each time
23:57:00 <elliott> ais523: In correct languages, all evaluation strategies are implementation details, and therefore identical.
23:57:13 <elliott> Therefore not hating them all makes you an idiot and unworthy of using the term "mathematical beauty".
23:57:32 <zzo38> What does exponential algebras mean?
23:57:38 <ais523> elliott: ooh, Haskell is incorrect due to not being total!
23:57:52 <elliott> ais523: Of course Haskell is incorrect.
23:58:07 <elliott> Haskell is disgusting. The pure untyped lambda calculus is disgusting.
23:58:29 <ais523> oh, that reminds me, how do you write a Y combinator in Underload, preferably in a way that would also work in typed Underload?
23:58:32 <elliott> My computer lives in a mound of filth to signify its unholy status. I have one reserved solely for running @ in a bed of flowers.
23:58:35 <ais523> X is easy, but has an infinite type
23:58:48 <elliott> ais523: I already asked how to write a fixed-point combinator in Underload ages ago, IIRC.
23:59:09 <elliott> Typed Underload sounds like much less cool an idea than lazy Underload.
23:59:25 <ais523> elliott: oh, I think Underload actually models call-by-push-value rather than call-by-value or call-by-name
23:59:31 <ais523> so it can be both lazy and unlazy at once
23:59:40 <ais523> I actually /noticed/ this when compiling Unlambda-including-d into it