←2014-09-17 2014-09-18 2014-09-19→ ↑2014 ↑all
00:04:56 -!- Bicyclidine has quit (Ping timeout: 255 seconds).
00:05:45 <boily> @tell Bicyclidine was it directed?
00:05:45 <lambdabot> Consider it noted.
00:05:54 <boily> there. that should do the trick.
00:07:57 -!- skj3gg has joined.
00:12:38 -!- skj3gg has quit (Changing host).
00:12:39 -!- skj3gg has joined.
00:21:52 -!- ais523 has quit.
00:34:42 -!- conehead has quit (Quit: Computer has gone to sleep).
00:37:50 -!- boily has quit (Quit: MUNGED CHICKEN).
00:42:45 -!- Phantom_Hoover has quit (Read error: Connection reset by peer).
00:51:14 -!- skj3gg has quit (Quit: Leaving.).
00:51:48 -!- conehead has joined.
01:10:40 -!- conehead has quit (Quit: Computer has gone to sleep).
01:12:44 -!- shikhout has quit (Read error: Connection reset by peer).
01:18:00 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)).
01:49:11 -!- not^v has joined.
02:01:59 -!- doesthiswork has joined.
02:28:08 -!- oerjan has quit (Quit: Gnyte).
02:30:31 <Sgeo> Gah. My mind keeps wanting to fill in the pattern and decide that Representable is (Profunctor p, Representable p) => p a b -> p (a -> b) (a -> b)
02:30:47 <Sgeo> I have yet to figure out if that's sane or laughably idiotic
02:31:23 <shachaf> Representable is a class and that thing is a type.
02:33:04 <Sgeo> s/Representable is/Repesentable's main method of note is/
02:33:31 <shachaf> That doesn't make any sense for anything called Representable that I know of.
02:35:31 <Sgeo> I mostly just mentally pattern matched on the pattern of profunctor-relevent classes that I've been seeing
02:35:35 <Sgeo> >.>
02:36:07 <Sgeo> s -> (a -> b), (a -> b) -> t
02:37:44 <Sgeo> Uh. This looks like a lens, not like a setter. At least, there's a getting portion.
02:37:49 -!- alandipert has joined.
02:38:26 <Sgeo> Wait, there.. isn't. /me blinks
02:38:35 <shachaf> I don't understand you, Sgeo.
02:39:35 <Sgeo> What is (s -> a -> b) -> Optic s t a b? A setter?
02:39:48 <Sgeo> Um. Setter that can only set but not modify?
02:39:49 <shachaf> A type.
02:41:02 <Sgeo> Ok, that (a -> b) -> t looks absolutely ridiculous
02:42:52 <Bike> you look ridiculous
02:43:28 <shachaf> The whole stream of consciousness thing you do in IRC is unusual.
02:43:39 <Sgeo> Maybe I should throw lens in there. s -> ((a -> b), o), ((a -> b), o) -> t
02:46:39 <Sgeo> shachaf: I should probably find a better place to put my thoughts
02:46:41 <Sgeo> :/
02:49:02 -!- b_jonas has quit (Ping timeout: 245 seconds).
02:49:09 -!- conehead has joined.
02:50:54 -!- lifthrasiir has quit (Quit: Lost terminal).
02:52:11 -!- lifthrasiir has joined.
02:58:19 <elliott> Sgeo: you should do more normal things like report problems you find on wikipedia
02:58:42 <Bike> ooooooooooooooOOOOOOOooooooooooooh
03:04:52 -!- b_jonas has joined.
03:14:01 -!- gfdsgdsgsd has joined.
03:14:26 <gfdsgdsgsd> hi
03:15:35 -!- gfdsgdsgsd has quit (Client Quit).
03:21:21 <elliott> hi
03:32:20 <Sgeo> Are there any sensible optics Optic (a -> b) (a -> b) a b?
03:32:32 <Sgeo> I don't know how the s t a b types are required to related to eachother
03:32:56 <Sgeo> That is, can s ~ t without a ~ b?
03:42:32 <Sgeo> Eh, I don't see how that makes sense
03:43:09 <elliott> Sgeo: think about Optic o i where o, i :: k -> * for some k
03:43:23 <elliott> _1 :: Lens (\a -> (a,b)) (\a -> a)
03:43:35 <elliott> field :: Lens (\_ -> Record) (\_ -> Field)
03:43:58 <elliott> then Lens o i is like forall x y. Lens (o x) (o y) (i x) (i y) in the hackier s/t/a/b system.
03:44:18 <elliott> anything you can't construct out of type functions like that is an abuse of the type laws relating the variables
03:46:08 <Sgeo> I don't.... think I can construct it, then, without giving o improper knowledge of both x and y
03:46:50 <Sgeo> So what is liyang talking about?
03:48:41 <elliott> /last liyang
03:48:45 <elliott> Lastlog:
03:48:45 <elliott> 04:46:50 <Sgeo> So what is liyang talking about?
03:48:45 <elliott> End of Lastlog
03:49:01 <Sgeo> In #haskell-lens
03:49:23 <elliott> I don't know. let me try to telepathically extract the context for a channel neither I nor probably the vast majority of this channel are in, as you talk about it in a completely unrelated channel.
03:50:45 <Sgeo> E's saying that Setter s s a b does make sense... I guess that's distinct from the type in question though
04:22:18 <quintopia> velveeta
04:45:44 -!- MoALTz_ has joined.
04:48:27 -!- MoALTz has quit (Ping timeout: 255 seconds).
04:55:04 -!- doesthiswork has quit (Quit: Leaving.).
04:58:33 -!- conehead has quit (Quit: Computer has gone to sleep).
05:09:31 -!- not^v has quit (Quit: http://i.imgur.com/Akc6r.gif).
05:13:28 <quintopia> how does tell work again
05:14:39 <quintopia> @tell oerjan I haven't been working on implementing anything. i finished implementing it two years ago and sent it off to be scorned by elliott and ignored by gregor.
05:14:39 <lambdabot> Consider it noted.
05:15:16 <coppro> quintopia: implementing what?
05:16:35 <coppro> quintopia: if you mail me something, I will hand deliver it to gregor
05:17:23 <J_Arcane> elliott: Yeah, at the moment, I'm focusing on first building a simple tool I can run to batch process collections of already identified abusive tweets and generate statistics on word counts and so forth.
05:17:37 <quintopia> @tell fizzie in practice, there was only ever one stationary distribution, and it was quite sane. the only way there could be more than one is if the chain is reducible, which is extraordinarily improbable on a large enough hill.
05:17:37 <lambdabot> Consider it noted.
05:18:36 <quintopia> coppro: sorry, i just cleaned all my gym socks, but i'll let you know next time they get dirty
05:36:02 -!- alphapete has quit.
05:44:49 -!- ais523_ has joined.
05:50:49 -!- MoALTz_ has quit (Quit: Leaving).
05:53:44 -!- fizzie has set topic: BF Joust scoring poll: http://goo.gl/02KE0Y | All glogged up again | brainfuck survey results: https://www.surveymonkey.com/results/SM-JZ78GR8L/ | https://dl.dropboxusercontent.com/u/2023808/wisdom.pdf http://codu.org/logs/_esoteric/ http://tunes.org/~nef/logs/esoteric/ | If something is possible, then it's possible that nothing is possible. | 987659473857929758374956789.
05:54:13 <fizzie> Please to be answering http://goo.gl/02KE0Y if you care about that sort of stuff.
05:57:06 <fizzie> (Just remember not to submit your password accidentally.)
05:59:32 <ais523_> hmm
05:59:49 <ais523_> I mostly care about the low ranking of preparation, because it beats (or once beat) every other program a little more than half the time
05:59:59 <ais523_> and it feels weird that it's nonetheless so far down the rankings
06:00:19 <ais523_> and I care about it because it's pretty much the only sort of defence program that there are currently no effective "free" countermeasures to
06:04:45 <ais523_> I wanted to write about the probabilistic lock, but not coming top of the hill means I can't
06:05:07 <ais523_> therefore, I guess I'll vote for points-based
06:18:15 <fizzie> I'm not sure that ranks 3 and 2 quite qualify as "so far down". I think all the four suggestions do treat "wins conclusively" (in terms of individual tape length/polarity configurations) as a bigger thing than "wins marginally".
06:18:44 <ais523_> indeed
06:19:01 <ais523_> I think that in today's world, that needlessly punishes defence programs
06:19:22 <ais523_> I guess I could say that I'd be happy with something that treats conclusive wins as worth less than they currently are
06:19:40 <ais523_> basically, due to the strategy of sacrificing 1/3 of the tape lengths to win on the other 2/3
06:27:48 <fizzie> I tried out switching the D/T (where D is the win margin, and T the number of configurations, i.e., the maximum win margin) term in traditional scoring to log(D+1)/log(T+1) -- basically, bumping the win-margin-to-weight curve to https://dl.dropboxusercontent.com/u/113389132/Misc/20140918-log.png -- in the traditional scoring, but even that didn't quite push preparation to top: ...
06:27:54 <fizzie> ... http://sprunge.us/DdQb
06:28:36 <ais523_> I guess I could just do more constant-tweaking
06:28:39 <ais523_> but I really don't have time right now
06:28:52 <ais523_> the annoying thing is that it'd be tweaking to increase win margin, which feels really really exploity
06:30:40 <fizzie> Doing (D+T)/(2T) puts preparation on top (with a score of 70.56 over 70.39 for Oj742_smartlock).
06:30:55 <fizzie> (That's basically weighing a "full win" to be twice as good as "barely a win".)
06:31:42 -!- shikhin has joined.
06:35:20 <ais523_> I guess an alternative method is just to submit a bunch of new programs that beat smartlock
06:35:31 <ais523_> although they'd also have to be quite good otherwise
06:38:29 <fizzie> http://sprunge.us/bBUD -- FWIW, I added that as an option too.
06:38:42 <fizzie> Even though modifying a poll after publishing it is a bit questionable.
06:40:54 <ais523_> oh well, I voted for that one too
06:41:00 <ais523_> the poll doesn't appear to have any protections against doublevoting
06:41:17 <fizzie> I don't think there was an option for that in Google Forms.
06:41:20 <ais523_> so I'm going to interpret it as an approval vote, and vote multiple times so long as it's for different options
06:41:37 <fizzie> There was one to make votes editable, I don't know how that would have worked.
06:42:08 <fizzie> (The responses also only show a timestamp and no identifiable information.)
06:45:08 <fizzie> For the record, you're the only person voting so far; the one Markov point is my own, and I don't really feel qualified to have an opinion due to not really partaking.
06:45:34 <ais523_> the markov system didn't look that bad, at least
06:47:30 <ais523_> huh, apparently ehird suggested win rate > 50% should be winner-takes-all
06:47:34 <ais523_> in any particular match
06:47:57 <fizzie> Yes; I haven't tried that out.
06:54:35 -!- conehead has joined.
06:55:12 -!- ais523_ has quit (Quit: Page closed).
06:56:29 -!- sebbu has quit (Ping timeout: 260 seconds).
07:04:00 -!- ais523 has joined.
07:17:42 <Sgeo> (Profunctor p, Representable p) => p a b -> p (r -> a) (r -> b)?
07:18:45 <shachaf> What's this Representable class?
07:19:07 <shachaf> Is it from Data.Profunctor.Rep?
07:19:29 <Sgeo> A thing that (->) supports but Forget and ForgetStream should not
07:19:48 <shachaf> If so, it's pretty clear that none of the things you're proposing are anything like what that class provides.
07:19:54 <shachaf> Oh, you just made up the name?
07:20:12 <Sgeo> Not just made up, but it wouldn't be literally the same thing I guess
07:21:24 <shachaf> I have no idea what you're doing.
07:23:25 <Sgeo> Assuming that Setter (r -> a) (r -> b) a b is some kind of 'primitive' setter, ala first' being a 'primitive' lens, and then trying to translate into something similar to the other optics' profunctor style
07:24:07 <shachaf> it's not hth
07:25:57 <Sgeo> hmm
07:26:18 <Sgeo> I guess in Haskell terms what I want is really along the lines of (Functor f) => Setter (f a) (f b) a b?
07:27:27 <shachaf> are you trying to define Setter in terms of Setter
07:28:33 <Sgeo> I'm trying to define all Setters in terms of a single Setter composed with one particular lens and an information-containing Iso
07:28:49 <Sgeo> Similar to how I can define all lenses in terms of one particular lens and an information-containing Iso
07:29:48 <shachaf> ok but the things you're saying aren't making sense
07:29:54 <shachaf> also keep in mind what xplat was saying
07:30:07 <shachaf> whatever. why are you saying all this in this channel?
07:31:44 -!- Deewiant has quit (Ping timeout: 250 seconds).
07:33:05 <Sgeo> Because I have a habit of talking about this here? Not sure
07:35:45 -!- Bike has quit (Ping timeout: 272 seconds).
07:43:27 -!- vyv has quit (Ping timeout: 246 seconds).
07:44:25 -!- vyv has joined.
07:46:13 -!- Deewiant has joined.
08:10:13 -!- upgrayeddd has joined.
08:25:40 -!- Patashu has joined.
08:31:37 -!- drdanmaku has quit (Quit: Connection closed for inactivity).
08:33:46 <ais523> huh, IOCCC has started up again
08:33:49 <ais523> any good ideas by anyone?
08:34:16 <ais523> I'm wondering about submitting a program that hits every single constraint violation in the standard, as a portable test of compiler warning messages
08:35:51 <lifthrasiir> so do I
08:35:56 <ais523> also, OT but amusing: apparently there are no contingency plans in case the Scottish referendum ends in a tie
08:36:14 <lifthrasiir> well, I didn't mean I was thinking the same program as ais523 suggested
08:36:16 <lifthrasiir> anyway
08:41:58 -!- conehead has quit (Quit: Computer has gone to sleep).
08:53:44 -!- sebbu has joined.
08:54:21 -!- sebbu has quit (Changing host).
08:54:21 -!- sebbu has joined.
09:26:22 -!- paul2520 has quit (Ping timeout: 240 seconds).
09:37:47 -!- AnotherTest has joined.
09:38:13 <b_jonas> oh, ioccc started? let me look
09:38:42 <b_jonas> until oct 19?
09:39:41 -!- paul2520 has joined.
09:40:16 -!- paul2520 has changed nick to Guest90992.
09:42:34 <fizzie> Oct 19, 18:17:16, very arbitrary.
09:42:50 <ais523> 19 18 17 16
09:42:54 <ais523> not 100% arbitrary
09:43:07 <ais523> I can't interpret "October" as "20", though
09:43:20 <b_jonas> what does it even mean that the contest is open from 2014-09-01 but the final rules are available and submissions can be sent only after 2014-09-15?
09:43:28 -!- ais523 has quit.
09:43:29 <b_jonas> in what sense was the contest open before 2014-09-15 then?
09:45:11 <fizzie> I guess there might've been a preliminary page about it, before?
09:45:24 <fizzie> (I don't know, I didn't notice.)
09:46:14 <fizzie> Makes me wonder if the only-standard-identifiers thing could've had the makings of an IOCCC entry.
09:47:21 <b_jonas> thing where?
09:47:42 <fizzie> http://zem.fi/2014-04-13-idbf
09:48:08 <fizzie> It's not exactly "obfuscated C", it's more of a "silly C thing".
09:49:05 <b_jonas> ok
10:15:05 -!- boily has joined.
10:34:22 -!- boily has quit (Quit: Poulet!).
10:34:53 -!- boily has joined.
10:50:44 -!- shikhout has joined.
10:53:32 -!- shikhin has quit (Ping timeout: 245 seconds).
10:56:06 -!- sebbu2 has joined.
10:56:42 -!- sebbu2 has quit (Changing host).
10:56:42 -!- sebbu2 has joined.
10:57:38 -!- sebbu has quit (Ping timeout: 258 seconds).
11:14:24 -!- boily has quit (Quit: IMPLANTED CHICKEN).
11:20:08 -!- Phantom_Hoover has joined.
11:20:16 -!- Phantom_Hoover has quit (Changing host).
11:20:16 -!- Phantom_Hoover has joined.
11:41:52 -!- oerjan has joined.
11:45:29 <oerjan> @messages-
11:45:29 <lambdabot> quintopia said 6h 30m 50s ago: I haven't been working on implementing anything. i finished implementing it two years ago and sent it off to be scorned by elliott and ignored by gregor.
11:46:47 <fizzie> oerjan: We established (I think) that my #4 was equal to the quintopia system.
11:46:50 <oerjan> @tell Stupid English Verb Tenses HTH
11:46:50 <lambdabot> Consider it noted.
11:46:54 <oerjan> oops
11:47:01 <fizzie> Heh.
11:47:02 <oerjan> oh hm
11:47:08 <oerjan> `dontaskdonttelllist
11:47:08 <HackEgo> dontaskdonttelllist: q​u​i​n​t​o​p​i​a​ c​o​p​p​r​o​ m​y​n​a​m​e​
11:47:09 <fizzie> Poor Stupid, always getting all these messages.
11:47:31 <oerjan> quintopia: Stupid English Verb Tenses HTH
11:49:40 <fizzie> Deewiant: You're one of the BF Joust guys, go answer the poll.
11:57:28 -!- oerjan has set topic: BF Joust scoring poll: http://goo.gl/02KE0Y | https://dl.dropboxusercontent.com/u/2023808/wisdom.pdf http://codu.org/logs/_esoteric/ http://tunes.org/~nef/logs/esoteric/.
12:05:01 -!- Sgeo has quit (Read error: Connection reset by peer).
12:09:26 <Jafet> @ask impossibly_long_nickname hi
12:09:26 <lambdabot> Consider it noted.
12:15:53 <fizzie> Nasty.
12:44:22 -!- shikhout has changed nick to shikhin.
12:59:49 -!- GeekDude has joined.
13:06:07 -!- Patashu has quit (Ping timeout: 245 seconds).
13:14:59 -!- Guest90992 has changed nick to paul2520.
13:15:25 -!- paul2520 has quit (Changing host).
13:15:25 -!- paul2520 has joined.
13:18:04 <fizzie> http://sprunge.us/NPQe -- most code generated out of a single "a/b" by GCC in C mode?
13:18:19 <quintopia> fizzie: i could probably find a copy of the code i wrote for gregor if it would help save you the trouble
13:19:18 <fizzie> I don't know, I have a numpy-based iterative thing already working, and I expect the eigenvalue solution would be just a matter of a numpy.linalg.eig.
13:22:23 <quintopia> oh but mine was in C
13:23:05 <quintopia> anyway, you didn't give example scorings for all the choices, so it's hard to decide
13:23:22 <fizzie> There should be examples for everything.
13:23:36 <fizzie> For the original four in the "details" page, and for the last-minute addons in the sprunge links.
13:24:05 <quintopia> well i wouldn't have thought to look at the details page
13:24:31 <fizzie> That's why the form says "-- including comparisons on the current hill" when linking to it.
13:24:50 <fizzie> Perhaps "example scorings" would be a better keyword.
13:25:11 <fizzie> Now it says that instead.
13:27:59 <quintopia> hmm any chance the three add-ons could be added to the points graph?
13:28:33 -!- Phantom_Hoover has quit (Ping timeout: 246 seconds).
13:29:17 <fizzie> Sure, when I get home. Incidentally, is there some nice Web 3.11 data-visualization thing where I could just dump all the numbers and let people toggle the series visibility and that sort of stuff? (I've done that kind of client-side thing manually with d3.js, but that's just extra work.)
13:29:51 <fizzie> Maybe a Google Drive spreadsheet shared to all could work.
13:36:16 <quintopia> i don't really understand how you're converting the distribution to a score
13:36:23 <elliott> #7 has such tiny scores.
13:36:31 <quintopia> do you just scale thetop score up to 100?
13:36:37 <elliott> Your response helps to make the world better. Thank you.
13:36:39 <elliott> I'm sure.
13:37:36 <quintopia> when i did it, i scaled it so the scores added to 100 or something like that. or maybe 200. i tried to make it so the top scores matches the current hill's top scores
13:38:03 -!- Phantom_Hoover has joined.
13:42:58 <fizzie> I scale the maximum to 100, yes. That's probably a detail that can be tweaked, I doubt people really care so much about the absolute number, more about the ranking.
13:43:13 <fizzie> http://goo.gl/rVpRLN should show a full comparison graph.
13:43:58 <fizzie> The earlier plot had them all scaled to the same [min, max] range, though that was mostly accidental.
13:51:11 <fizzie> I schmungled gearlance to support separate compilation stages, and wrote a hill-helper to do the actual battling fast-ish; it keeps the existing hill preparsed and threaded-code-compiled (as "left program") in memory, and for a new challenger only parses and right-compiles that one once, then runs the match code against all the cached left programs.
13:51:16 <fizzie> Even with all the Python glue around it, and computing scores and printing out a report.txt, it finishes the whole hill (from scratch, so doing the full "triangle" of matches) in 1.1 seconds, compared to 3.2 seconds for executing a separate gearlance invocation for each match.
13:52:16 <elliott> trad and m+compromise are uncomfortably close in colour
13:52:42 <quintopia> yeah i can't decided and i don't have more time to think about it
13:53:13 <fizzie> Huh. You can't switch line styles in the chart thing.
13:53:19 <fizzie> Only color, and thickness, and point size.
13:54:07 <quintopia> i like the idea of M+compromise, but i can't support it because it produces insane scores
13:54:32 <quintopia> which is odd because trad+tweak produces great scores
13:55:25 <fizzie> I might check whether that's an implementation glitch, though it wasn't really a very large change.
14:13:43 <quintopia> fizzie: you'll recall perhaps that my rewrite added a feature: it showed how the rankings changed after the latest program was added. (e.g. a +2 next to a program if its ranking rose two positions) Can you add this thing?
14:25:22 -!- alphapete has joined.
14:32:00 -!- sebbu2 has changed nick to sebbu.
14:46:58 -!- perrier has quit (Remote host closed the connection).
14:48:04 -!- perrier has joined.
14:51:32 -!- perrier has quit (Remote host closed the connection).
14:52:38 -!- DootBot has joined.
14:52:38 <DootBot> DOOT DOOT!
14:52:38 -!- perrier has joined.
14:58:53 -!- perrier has quit (Read error: Connection reset by peer).
14:59:59 -!- perrier has joined.
15:02:50 -!- drdanmaku has joined.
15:03:54 -!- oerjan has quit (Quit: leaving).
15:08:20 -!- perrier has quit (Remote host closed the connection).
15:09:29 -!- perrier has joined.
15:15:16 -!- perrier has quit (Remote host closed the connection).
15:16:23 -!- perrier has joined.
15:16:26 -!- Bike has joined.
15:22:58 -!- perrier has quit (Remote host closed the connection).
15:24:02 -!- mihow has joined.
15:24:04 -!- perrier has joined.
15:25:08 -!- perrier has quit (Remote host closed the connection).
15:26:14 -!- perrier has joined.
15:27:19 -!- perrier has quit (Remote host closed the connection).
15:28:25 -!- perrier has joined.
15:29:20 -!- perrier has quit (Read error: Connection reset by peer).
15:30:27 -!- perrier has joined.
15:55:37 <fizzie> quintopia: I don't recall, but I can certainly add that thing in the reports.
15:59:25 <quintopia> fizzie: also if your hill is as fast as you say, we could feasibly have a HUEG hill
16:03:11 <quintopia> i wonder if there is a way to have a "predictive" infinite tournament where someone's position is determined by playing the top few, comparing the record with everyone else's records, and choosing the remaining competitors based on which ones will best reduce the ranking uncertainty. not for bfjoust you understand, just in general.
16:10:16 <fizzie> It sounds like the sort of thing someone has thought about. Elo rankings and such are kind of the same, except with no selection for the most informative games.
16:10:34 <fizzie> I remember someone giving a presentation about TrueSkill, the thing Xbox uses for matchmaking.
16:10:46 <fizzie> The goals are a bit different there, but I remember a lot of thought went into that thing.
16:11:27 <coppro> TrueSkill is designed to factor in fandomness
16:11:32 <coppro> *randomness
16:11:56 <fizzie> That, too. And teams.
16:17:21 -!- aretecode has joined.
16:21:09 -!- Imaginer1 has joined.
16:21:10 <Imaginer1> Hey guys
16:21:25 <Imaginer1> What's your favorite esoteric language? I'm bored with the ones I've been working on.
16:21:50 <Taneb> Mine is Piet
16:22:00 <Taneb> Of the ones I created, Fueue
16:22:02 <Imaginer1> Do you actually code in it oftne though?
16:22:11 <Taneb> I used to a lot more (for Piet)
16:22:28 <Imaginer1> Oh, huh. Well I'm looking into Fueue now... *shrug*
16:22:47 <Taneb> I never actually figured out how for Fueue, although oerjan did
16:23:07 <Imaginer1> You mean how to code in it?
16:23:44 <Taneb> Yeah
16:24:06 <Imaginer1> Mm.
16:24:20 <Imaginer1> Any others you've just found interesting? There should be a 'popular' page on the wiki...
16:24:23 <Taneb> Underload is another good language, and along that line there's also False
16:24:27 <Taneb> And Glass and Befunge...
16:24:41 -!- perrier has quit (Remote host closed the connection).
16:24:58 <Imaginer1> Yeah, but I've already worked with those... Maybe I should just settle down with a language and try to write some quines or something
16:25:19 <Taneb> ZOMBIE?
16:26:02 <Imaginer1> That's a weird one O.o
16:29:35 <fizzie> My favourite has always been Befunge, and while I haven't been writing all that much in it lately, it's certainly among the most practical esolangs.
16:29:59 <Imaginer1> Really? O.o
16:30:11 <fizzie> fungot: Wouldn't you say so?
16:30:11 <fungot> fizzie: in school? anyway don't remember it, if it's difficult enough to apply to a func, something i didn't feel lisp is picking up some old garbage and watching in horrified fascination at the maggots...
16:30:17 <fizzie> (That's written in Befunge.)
16:31:01 <Imaginer1> I know he is ^^
16:31:14 <fizzie> Befunge with structured programming features (like named functions) would probably make a pretty usable language.
16:31:27 -!- perrier_test has joined.
16:31:29 <fizzie> At that time it's just a quirky Forth, really.
16:32:42 <Imaginer1> yeah
16:34:36 <Imaginer1> What's EOF in Fueue?
16:34:50 <Taneb> Implementation defined
16:34:56 <Imaginer1> Mmk.
16:35:53 <Taneb> Generally 0 I think
16:37:52 -!- perrier_test has quit (Remote host closed the connection).
16:41:18 -!- perrier_test has joined.
16:41:38 -!- perrier_test has quit (Remote host closed the connection).
16:50:21 -!- Imaginer1 has quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client).
16:51:24 -!- shikhout has joined.
16:53:11 -!- AnotherTest has quit (Ping timeout: 272 seconds).
16:53:19 -!- Imaginer1 has joined.
16:53:34 -!- Imaginer1 has quit (Client Quit).
16:54:19 -!- perrier has joined.
16:54:40 -!- shikhin has quit (Ping timeout: 260 seconds).
16:56:17 <quintopia> as far as "practical" goes, i'd have to put gamma or deltaplex at the top. bytepusher is up there too.
16:59:30 -!- perrier has quit (Read error: Connection reset by peer).
17:00:25 -!- perrier has joined.
17:13:35 <FreeFull> fizzie: I wonder if it's possible to combine SKI calculus with Befunge in a meaningful way
17:15:22 -!- MoALTz has joined.
17:16:53 <fizzie> http://sprunge.us/PPFI looking good
17:24:19 <elliott> that bot reminds me of me
17:29:30 <elliott> "Apple included language in its first Transparency Report to say that it had not been subject to a Section 215 Patriot Act request. That language is now gone." niiice
17:37:51 <mroman_> http://codepad.org/cAoadKHp <- any suggestions, critics?
17:37:57 <mroman_> (Haskell stuff)
17:38:20 <mroman_> oh. the haddock for <<\>> is wrong
17:38:29 <mroman_> or is it...
17:38:36 <mroman_> no it's correct
17:48:10 <elliott> mroman_: Box = Applicative + Copointed?
17:48:28 <elliott> oh.
17:48:30 <elliott> unbox is allowed to be partial.
17:48:31 <elliott> ewww.
17:48:55 <elliott> and it isn't even a functor (since id </> x =/= x for counterbox)
17:49:58 <mroman_> Well.. you can't unbox a Nothing
17:50:14 <mroman_> I can't change that :)
17:50:38 <elliott> you shouldn't be using fromJust and the like unless you absolutely have to... unbox just makes fromJust type functions ubiquitous. it's not a great thing to abstract over.
17:51:02 <mroman_> Yeah. Also it will tell you fromJust: undefined
17:51:12 <mroman_> instead of unbox: undefined
17:51:31 <mroman_> that's a minor detail and easily changeable
17:52:11 <elliott> unbox should at least return a Maybe itself, so you can fromJust it if you really want.
17:52:11 -!- zhill has joined.
17:52:39 <elliott> anyway, CounterBox shouldn't exist, it violates any reasonable laws you could come up with relating anything
17:52:53 <elliott> an okay implementation of that type would have mapping not change the number but summing or taking the product of the two numbers when merging
17:53:06 <elliott> the [] instance is the ZipList Applicative instance + head
17:53:26 <elliott> (CounterBox would then be like (,) (Sum Int) or Writer (Sum Int), it would work with any monoid)
17:53:44 -!- shikhout has changed nick to shikhin.
17:53:46 <Bike> a box is like a monad
17:53:47 <elliott> the Maybe instance is the Applicative instance for Maybe + unbox
17:54:04 -!- conehead has joined.
17:54:09 <fizzie> There's a really experimental thing if someone wants to give it a go and see how many attempts it takes to make it crash. I'll get back to fiddling with it tomorrow, probably. (It's lacking URL capabilities, too.)
17:54:09 <Melvar> ( :let fromJust : (mx : Maybe a) -> {auto ij : IsJust mx} -> a; fromJust (Just x) {ij=ItIsJust} = x
17:54:09 <idris-bot> defined
17:54:11 <elliott> really you should just have class Applicative f => Impure f where impure :: f a -> Maybe a or something if you really want
17:54:43 <Melvar> ( fromJust (Just 0)
17:54:43 <idris-bot> 0 : Integer
17:55:17 <Melvar> ( fromJust (the (Maybe Integer) Nothing)
17:55:17 <idris-bot> When elaborating argument ij to function fromJust:
17:55:17 <idris-bot> Can't solve goal
17:55:17 <idris-bot> IsJust (the (Maybe Integer) Nothing)
17:55:21 <fizzie> !bfjoust ijustreadthewiki (>)*9([(+)*9[-]]>)*21
17:55:21 <zhill> fizzie~ijustreadthewiki: points -10.81, score 22.00/100, rank 41/47
17:55:23 <elliott> :t ItIsJust
17:55:24 <lambdabot> Not in scope: data constructor ‘ItIsJust’
17:55:30 <elliott> Melvar: how can I see the data declaration for IsJust?
17:55:39 <Melvar> ( :doc IsJust
17:55:39 <idris-bot> Data type IsJust : Maybe a -> Type
17:55:39 <idris-bot> Proof that some Maybe is actually Just
17:55:39 <idris-bot> Constructors:
17:55:39 <idris-bot> ItIsJust : IsJust (Just x)
17:55:55 <elliott> Melvar: is the "x" not extractable from ItIsJust?
17:56:10 <elliott> is it like, an existential proposition or something?
17:56:36 <Melvar> It can be, but I would think you want to erase the whole thing.
17:56:52 <elliott> in Coq you can get the x out of Inductive IsJust {A} : Maybe A -> Type := ItIsJust : forall {x}, IsJust (Just x).
17:56:52 <fizzie> (And the scores go to http://zem.fi/bfjoust/report.txt at the moment, but that's very temporary too.)
17:57:00 <elliott> (but not if you s/Type/Prop/)
17:57:13 <mroman_> yeah but impure :: f a -> Maybe a
17:57:15 <Melvar> elliott: That is, you can, but then the compiler will decide it can’t erase it.
17:57:21 <mroman_> where's </>,<\> etc? ;)
17:57:50 <elliott> mroman_: I told you, all your reasonable instances are existing Applicative instances, and the rest are awful and won't satisfy any coherent set of laws
17:58:04 <elliott> (</>) is fmap/(<$>)
17:58:10 <elliott> mergeWith is liftA2
17:58:27 <elliott> the [] instance = ZipList Applicative
17:58:34 <elliott> the Maybe instance = Maybe Applicative
17:58:42 <elliott> SimpleBox = Identity Applicative
17:58:55 <elliott> CounterBox = broken, won't satisfy any reasonable set of laws
17:59:16 <mroman_> Laws about what?
17:59:20 <elliott> Sum/Product = the respective Applicatives (if they have instances? they certainly can be given them)
17:59:45 <elliott> First/Last = broken (too partial because of not implementing the Applicative-equivalent methods) but I think they have Applicative instances anyway
17:59:52 <elliott> mroman_: the functions. typeclasses are meant to have laws.
17:59:57 <mroman_> sure id </> x == x doesn't necessarily hold
17:59:58 <elliott> instances are meant to have some commonality; that's the point of abstraction
18:00:29 <elliott> I'm saying that anything useful you can do with this class can be done with that Impure, and the instances that would violate the laws of that are going to be surprising and brittle and not useful.
18:00:43 <elliott> it's okay if you ignore my advice, but you did ask for it.
18:01:07 <mroman_> I see @laws
18:02:11 <elliott> (you can relate impure to pure by e.g. impure . pure = Just and then you get, e.g. impure . fmap f = fmap f . impure for free and such, which is nice; it's still a little ad-hoc but could be a lot worse)
18:02:36 <Melvar> elliott: In Idris, the compiler figures out what things it can erase, but you can give it hints. I think it will prefer to erase implicit things over explicit things usually.
18:03:01 <elliott> Melvar: that's interesting... so if I wrote a function that observed the x in ItIsJust, it'd not be erased when compiled?
18:03:09 <elliott> that requires whole-program analysis, I guess?
18:03:55 <Melvar> I believe it does.
18:04:13 <elliott> mroman_: getting close to reinventing Applicative is pretty impressive though :) it's a wonderful abstraction
18:04:21 <Melvar> If you annotated it appropriately, the compiler would warn you if you accidentally observed it.
18:05:27 <mroman_> I don't have the CatTheory-Background for those things etc.
18:05:35 <mroman_> the only law I know is map (f . g) = map f . map g
18:05:49 <mroman_> which apparentely breaks with seq or something
18:06:16 <elliott> don't worry about seq :p
18:06:44 <mroman_> but it seemed nice to have (+) <\> [Just 9, Just 8, Nothing] return Nothing (or 17 if it were not for the Nothing)
18:06:51 <mroman_> and <<\>> which skips over Nothings
18:07:07 <mroman_> i.e (+) <<\>> [Just 9, Just 8, Nothing] will return Just 17
18:07:57 <Melvar> > foldl1' (+) <$> sequence [Just 9, Just 8, Nothing]
18:07:59 <lambdabot> Nothing
18:08:03 <Melvar> > foldl1' (+) <$> sequence [Just 9, Just 8]
18:08:04 <lambdabot> Just 17
18:09:16 <mroman_> @hoogle foldM
18:09:18 <lambdabot> Control.Monad foldM :: Monad m => (a -> b -> m a) -> a -> [b] -> m a
18:09:18 <lambdabot> Control.Monad foldM_ :: Monad m => (a -> b -> m a) -> a -> [b] -> m ()
18:09:18 <lambdabot> Data.Foldable foldMap :: (Foldable t, Monoid m) => (a -> m) -> t a -> m
18:10:01 <mroman_> @hoogle foldlM
18:10:01 <lambdabot> Data.Foldable foldlM :: (Foldable t, Monad m) => (a -> b -> m a) -> a -> t b -> m a
18:10:49 <Melvar> elliott: Do you know how to transpose a Vect of Vects?
18:10:58 <elliott> Melvar: in idris?
18:11:38 <Melvar> Well, presumably it would work anywhere you have Vect.
18:13:24 <Melvar> Thing is, Vect n is Applicative for all n (it zips). It’s also Traversable (it acts like any sequential container).
18:13:46 <Melvar> ( with Vect sequence [[1,2,3],[4,5,6]]
18:13:46 <idris-bot> [[1, 4], [2, 5], [3, 6]] : Vect 3 (Vect 2 Integer)
18:14:39 <Melvar> So, what sequence does with a Vect of Vects just happens to be to transpose it.
18:15:48 <Melvar> I absolutely love how it just falls right out of the abstractions.
18:16:15 <mroman_> > sequence [[1,4],[2,5],[3,6]]
18:16:17 <lambdabot> [[1,2,3],[1,2,6],[1,5,3],[1,5,6],[4,2,3],[4,2,6],[4,5,3],[4,5,6]]
18:16:41 <mroman_> hm
18:16:54 <mroman_> > sequence [[x,y],[x,y]]
18:16:56 <lambdabot> [[x,x],[x,y],[y,x],[y,y]]
18:17:04 <elliott> Melvar: right.
18:17:08 <mroman_> this looks binomish
18:17:15 <Melvar> > sequence . map ZipList $ [[1,4],[2,5],[3,6]]
18:17:17 <lambdabot> Could not deduce (GHC.Base.Monad Control.Applicative.ZipList)
18:17:17 <lambdabot> arising from a use of ‘Control.Monad.sequence’
18:17:17 <lambdabot> from the context (GHC.Num.Num a)
18:17:17 <lambdabot> bound by the inferred type of
18:17:17 <lambdabot> it :: GHC.Num.Num a => Control.Applicative.ZipList [a]
18:17:20 <elliott> Melvar: that works withZipList too, I think?
18:17:25 <elliott> *with ZipList
18:17:29 <Melvar> > sequenceA . map ZipList $ [[1,4],[2,5],[3,6]]
18:17:30 <lambdabot> Not in scope: ‘sequenceA’
18:17:31 <lambdabot> Perhaps you meant one of these:
18:17:31 <lambdabot> ‘T.sequenceA’ (imported from Data.Traversable),
18:17:31 <lambdabot> ‘sequence’ (imported from Control.Monad.Writer),
18:17:31 <lambdabot> ‘T.sequence’ (imported from Data.Traversable)
18:17:32 <elliott> I've used sequence to transpose before, I think.
18:17:33 <mroman_> > map (\[x,y] -> x*y) $ sequence [[x,y],[x,y]]
18:17:35 <lambdabot> [x * x,x * y,y * x,y * y]
18:17:40 <Melvar> > T.sequenceA . map ZipList $ [[1,4],[2,5],[3,6]]
18:17:42 <lambdabot> ZipList {getZipList = [[1,2,3],[4,5,6]]}
18:17:44 <elliott> (I just didn't know what Vect was. I know that type as Vec.)
18:17:49 <mroman_> > sum $ map (\[x,y] -> x*y) $ sequence [[x,y],[x,y]]
18:17:51 <lambdabot> 0 + x * x + x * y + y * x + y * y
18:18:00 <Melvar> > getZipList . T.sequenceA . map ZipList $ [[1,4],[2,5],[3,6]]
18:18:01 <lambdabot> [[1,2,3],[4,5,6]]
18:18:30 <Melvar> > getZipList . T.sequenceA . map ZipList $ [[1,4],[2,5,8],[3,6]]
18:18:31 <lambdabot> [[1,2,3],[4,5,6]]
18:19:46 <Melvar> > transpose [[1,4],[2,5,8],[3,6]]
18:19:47 <lambdabot> [[1,2,3],[4,5,6],[8]]
18:20:39 <Melvar> Not *quite* the same with ZipList :3
18:25:04 -!- blsqbot has joined.
18:25:19 <mroman_> > sequence [[1,2,3],[4,5,6],[7,8,9]]
18:25:21 <lambdabot> [[1,4,7],[1,4,8],[1,4,9],[1,5,7],[1,5,8],[1,5,9],[1,6,7],[1,6,8],[1,6,9],[2,...
18:25:29 <mroman_> > {1 2 3}{4 5 6}cp
18:25:31 <lambdabot> <hint>:1:1: parse error on input ‘{’
18:25:41 <mroman_> !blsq {1 2 3}{4 5 6}cp{7 8 9}cp
18:25:42 <blsqbot> {{{1 4} 7} {{1 4} 8} {{1 4} 9} {{1 5} 7} {{1 5} 8} {{1 5} 9} {{1 6} 7} {{1 6} 8}
18:25:52 <mroman_> !blsq {1 2 3}{4 5 6}\[cp{7 8 9}cp
18:25:53 <blsqbot> {{{1 4} 7} {{1 4} 8} {{1 4} 9} {{1 5} 7} {{1 5} 8} {{1 5} 9} {{1 6} 7} {{1 6} 8}
18:26:03 <elliott> Melvar: I guess it works for (->) too
18:26:13 <elliott> Melvar: if you have a Traversable instance that requires the enumerability of the input parameter or such
18:26:19 <elliott> (or does it need to be finite?)
18:26:50 <mroman_> ok so sequence on lists is cross product . concat
18:27:07 <mroman_> !blsq {1 2 3}{4 5 6}cp\[{7 8 9}cp
18:27:08 <blsqbot> {{1 7} {1 8} {1 9} {4 7} {4 8} {4 9} {1 7} {1 8} {1 9} {5 7} {5 8} {5 9} {1 7} {
18:27:16 <Melvar> Well, (Vect n a) is isomorphic to (Fin n -> a).
18:27:33 <elliott> Melvar: right.
18:27:54 <elliott> you can transpose (Nat -> Nat -> a) too, though.
18:28:53 <Melvar> Oh, yes, but I’m pretty sure you can’t make Stream Traversable.
18:29:01 <mroman_> map (concat) . crossProduct actually.
18:29:12 <elliott> Melvar: I think you can do it if you're okay with it only working with sufficiently lazy Applicatives.
18:29:22 <elliott> class Doop a where { doop :: Monoid m => (a -> m) -> m }; instance Doop a => Traversable ((->) a) where { sequenceA f = ??? (doop ???) } -- a puzzle
18:29:49 <elliott> Melvar: after all, the instance for [] breaks on a lot of Applicatives when you pass infinite lists.
18:30:25 <elliott> (doop would be isomorphic to doop :: [a], except it differs when laziness means you care about the structure of an infinite tree)
18:30:25 <Melvar> Yeah, but Idris has a totality checker and two different explicit lazinesses.
18:30:27 <mroman_> > let cp xs = [[x,y]|x<-xs,y<-xs]] in foldl1 cp [[1,2,3],[4,5,6],[7,8,9]]
18:30:29 <lambdabot> <hint>:1:32: parse error on input ‘]’
18:30:30 <elliott> right.
18:30:33 <elliott> I meant in Haskell.
18:30:41 <mroman_> > let cp xs = [[x,y]|x<-xs,y<-xs] in foldl1 cp [[1,2,3],[4,5,6],[7,8,9]]
18:30:42 <lambdabot> Couldn't match type ‘[[t]]’ with ‘[t] -> [t]’
18:30:42 <lambdabot> Expected type: [t] -> [t] -> [t]
18:30:42 <lambdabot> Actual type: [t] -> [[t]]
18:30:49 <elliott> I think you can make the same Traversable instance work for transposing (Fin n -> Fin n -> a) and (Nat -> Nat -> a).
18:31:20 <mroman_> > let cp xs ys = [[x,y]|x<-xs,y<-ys] in foldl1 cp [[1,2,3],[4,5,6],[7,8,9]]
18:31:22 <lambdabot> Occurs check: cannot construct the infinite type: t ~ [t]
18:31:22 <lambdabot> Expected type: [t] -> [t] -> [t]
18:31:22 <lambdabot> Actual type: [t] -> [t] -> [[t]]
18:31:25 <mroman_> Ah screw it :(
18:31:33 <mroman_> I suck at Haskell-Lists
18:32:40 <mroman_> although the cp part doesn't look wrong.
18:32:58 <mroman_> > [[x,y]|x<-[1..3],y<-[1..3]]
18:33:00 <lambdabot> [[1,1],[1,2],[1,3],[2,1],[2,2],[2,3],[3,1],[3,2],[3,3]]
18:33:28 <mroman_> > let cp xs ys = concat [[x,y]|x<-xs,y<-ys] in foldl1 cp [[1,2,3],[4,5,6],[7,8,9]]
18:33:30 <lambdabot> [1,7,1,8,1,9,4,7,4,8,4,9,1,7,1,8,1,9,5,7,5,8,5,9,1,7,1,8,1,9,6,7,6,8,6,9,2,7...
18:33:38 <mroman_> nope. still wrong.
18:34:17 <mroman_> Can't you fold with cross-product?
18:35:56 <mroman_> I'm already too accustomed to Burlesque's reduce :(
18:36:09 <mroman_> !blsq {{1 2 3}{4 5 6}{7 8 9}}qcpr[
18:36:10 <blsqbot> {{{1 4} 7} {{1 4} 8} {{1 4} 9} {{1 5} 7} {{1 5} 8} {{1 5} 9} {{1 6} 7} {{1 6} 8}
18:36:37 <mroman_> (qcpr[ means reduce(crossProduct,xs))
18:37:23 <Melvar> Well, you’re producing what appears to be lists with differently-typed members.
18:37:30 <Melvar> elements that is.
18:37:31 <mroman_> Yes
18:37:46 <mroman_> The result type would (in Haskell) depend on the number of elements in the List I guess
18:38:15 -!- alphapete has left.
18:38:15 <Melvar> Yes.
18:38:18 <mroman_> which sounds like it could be done in a dependant typed language?
18:39:50 <Melvar> You could, pretty sure. It’ll be more trouble than it’s worth *in practice*, but if you want to play, sure.
18:45:37 <mroman_> !blsq {{1 2 3}{4 5 6}{7 8 9}}qcpr[)\[
18:45:37 <blsqbot> {{1 4 7} {1 4 8} {1 4 9} {1 5 7} {1 5 8} {1 5 9} {1 6 7} {1 6 8} {1 6 9} {2 4 7}
18:46:03 <mroman_> !blsq {{1 2 3}{4 5 6}{7 8 9}{1 1 1}}qcpr[)\[
18:46:04 <blsqbot> {{{1 4} 7 1} {{1 4} 7 1} {{1 4} 7 1} {{1 4} 8 1} {{1 4} 8 1} {{1 4} 8 1} {{1 4}
18:46:14 <mroman_> :D
18:46:41 <GeekDude> http://who.is/dns/jamiehankins.co.uk
18:46:46 <GeekDude> someone forgot the sanitize their inputs
18:46:58 <GeekDude> XSS through dns entries
18:46:59 <ion> :-D
18:47:27 <coppro> that's incredible
18:48:04 <elliott> amazing
18:48:11 <mroman_> Why does that refer to a script on peniscorp
18:48:18 <TieSoul> wat
18:48:28 <TieSoul> that's really cool
18:49:40 <mroman_> I recently pentested an webapp that allows XSS via &amp;lt;b&amp;gt;
18:50:02 <mroman_> the &amp; will get replaced to & which form &lt; which will be replaced to <
18:50:14 <mroman_> that's not as funny as a side-channel attack but still
18:50:28 <GeekDude> .... What kind of an app does that O_o
18:50:41 <GeekDude> isn't the point of &amp; to avoid these kinds of things?
18:50:49 <GeekDude> er, &lt;
18:51:02 <mroman_> Well
18:51:05 <mroman_> It had a filter
18:51:13 <mroman_> that replaced < > with "" (i.e. Nothing)
18:51:26 <mroman_> but also replaced entities with their corresponding ASCII symbols
18:51:42 <mroman_> and that filter was applied twice
18:51:55 <mroman_> (I don't know why, but twice sounds more secure than only once)
18:51:56 <GeekDude> I assume it didn't let you use &lt; by itself>
18:51:56 <GeekDude> ?
18:52:01 <mroman_> WE DOUBLE FILTER ALL THEM INPUTZ.
18:52:20 <mroman_> no. &lt; would be replaced to < and then by the second filter pass it will be removed
18:52:27 <GeekDude> o
18:52:42 <mroman_> so you have to use &amp;lt;
18:53:19 <GeekDude> https://xss-game.appspot.com/level1
18:53:21 <GeekDude> this looks fun
18:53:33 <mroman_> It was a block-box test though
18:53:46 <mroman_> I haven't seen the source-code and I have no idea why and what actually did this
18:53:48 <Melvar> mroman_: Doesn’t that mean it would still be insecure if it was just applied once?
18:54:01 <mroman_> Melvar: it exactly implies that
18:54:26 <mroman_> then you could just use &lt;
18:54:41 <mroman_> but the filtering was done once for the preview
18:54:50 <Melvar> So … what was the filtering for even?
18:54:50 <mroman_> and once for actually saving the text
18:54:57 <mroman_> Melvar: I have no idea
18:57:02 <Melvar> > \x -> x == [x]
18:57:04 <lambdabot> Occurs check: cannot construct the infinite type: t ~ [t]
18:57:04 <lambdabot> Relevant bindings include x :: [t] (bound at <interactive>:1:2)
18:57:16 <mroman_> I haven't actually looked if it's done by the php-backend or the javascript frontend
18:57:20 <Melvar> ( \x => x == with List [x]
18:57:20 <idris-bot> (input):1:23:When elaborating an application of constructor Prelude.List.:::
18:57:20 <idris-bot> Unifying a and List a would lead to infinite value
18:57:33 <mroman_> since it's also for the preview it's probably some bad sanitizeHtml javascript function
18:57:45 <mroman_> I just put it onto the list of "stuff to report"
18:57:58 <mroman_> It also had an xls-Export
18:58:12 <mroman_> which allowed you to embed excel-functions
18:58:12 <Melvar> I am amused how, where Haskell complains of an infinite type, Idris complains of an infinite value, which just happens to be a type.
18:58:32 <mroman_> i.e. if you wrote "=5+5" as a answer to a question and the teacher exported it
18:58:38 <mroman_> the teacher would see 10
18:59:38 <mroman_> (i.e. students can steal answers from other students by doing stuff like =C2 hoping that the answer of the student who did the test first was correct)
19:07:35 -!- sebbu has quit (Read error: Connection reset by peer).
19:08:27 -!- sebbu has joined.
19:09:03 -!- sebbu has quit (Changing host).
19:09:03 -!- sebbu has joined.
19:20:58 -!- AnotherTest has joined.
19:28:35 -!- zhill has quit (Remote host closed the connection).
19:33:17 -!- zhill has joined.
19:34:32 <fizzie> !bfjoust ijustreadthewiki http://sprunge.us/QILS
19:34:33 <zhill> fizzie~ijustreadthewiki: points -8.14, score 26.05/100, rank 37/47 (change: +4)
20:05:43 -!- Frooxius has quit (Quit: *bubbles away*).
20:11:33 <elliott> ~, really?
20:11:45 <elliott> btw, which scoring method won?
20:13:39 <fizzie> I haven't decided yet, that's just beta-testing.
20:14:49 <fizzie> I'm hoping to happen to coincide with some actual BF Joust players for their input re scoring.
20:15:03 <fizzie> (But it's in the Markov/quintopia mode for now.)
20:15:17 <fizzie> (Except with my max-to-100 normalization instead of the sum-to-N one.)
20:16:06 <elliott> are there going to be fancy HTMLy breakdown pages with egojsout-style traces showing the results???
20:16:18 <elliott> and ponies?
20:16:20 <fizzie> I was kind of thinking there would.
20:17:06 <fizzie> It's all deterministic, so it can happen entirely client-side, assuming there's some way to fetch the corresponding code.
20:17:52 <elliott> can be kind of slow, though (but egojsout is usually okay)
20:18:08 <fizzie> Also I don't really know about ~, I just wanted something unambiguous that's (a) not a legal nickname character and (b) not a legal character in program names, and both - and _ seem to be in use for the latter on the hill.
20:18:21 <elliott> at least, the match results are useful to see, so you know where to start poking to improve it, and they have to be generated as part of the hill's operation anyway
20:18:36 <elliott> fizzie: ~fizzie/ijustreadthewiki, clearly. it's the unix way.
20:18:37 -!- sebbu has quit (Ping timeout: 245 seconds).
20:18:59 <fizzie> I didn't want to use / because there's a 1:1 mapping with program names and file names at the moment, too.
20:19:19 <elliott> well, you'd just have to store it in /home/fizzie/ijustreadthewiki.bfjoust.
20:19:22 <ion> All user names are referred to as in @fizzie now, haven’t you heard? Get with the times.
20:19:38 <elliott> actually I kind of like fizzie:ijustreadthewiki
20:19:55 <elliott> or is : legal in nicks?
20:20:00 <fizzie> No, and the colon is something I thought of.
20:20:03 <fizzie> ! is another.
20:20:09 <fizzie> That's all nick!user@host-y, too.
20:20:54 <fizzie> (Both get escaped in bash tab-completion so they might have some shell meanings. I know ! does. An inner ~ doesn't.)
20:20:59 <elliott> fizzie/ijustreadthewiki is githubby!
20:23:09 <ion> because github invented that
20:23:40 <elliott> yes, I definitely said that.
20:23:56 <fizzie> As for match results, there's a breakdown.txt generated already -- http://zem.fi/bfjoust/breakdown.txt -- following the old-fashioned format. But I did also type in a full-ish JSON dump, so that the fancy website can dynamically generate tables and matrices, show individual results as tooltips and link to an EgoJSout trace, sort according to different scoring metrics and so on.
20:25:05 <fizzie> (I think the breakdown.txt numbers are inverted from the traditional, though.)
20:32:37 -!- Frooxius has joined.
20:38:28 <b_jonas> watch ioccc.org
20:39:15 -!- Froox has joined.
20:42:46 -!- Frooxius has quit (Ping timeout: 244 seconds).
20:51:40 -!- ski has quit (Ping timeout: 250 seconds).
20:55:41 -!- Froox has quit (Ping timeout: 244 seconds).
20:55:45 -!- Frooxius has joined.
20:57:34 -!- ski has joined.
21:03:14 <tromp> i'm waiting for ioccc 2035
21:03:17 -!- WizardFromOz has joined.
21:05:49 -!- Patashu has joined.
21:11:27 -!- sebbu has joined.
21:12:04 -!- sebbu has quit (Changing host).
21:12:05 -!- sebbu has joined.
21:21:11 -!- blsqbot has quit (Ping timeout: 255 seconds).
21:27:22 -!- clog has quit (Ping timeout: 245 seconds).
21:27:48 -!- ion has quit (Ping timeout: 245 seconds).
21:28:13 -!- coppro has quit (Ping timeout: 245 seconds).
21:28:23 -!- atehwa_ has quit (Ping timeout: 240 seconds).
21:28:25 -!- jj2baile has quit (Ping timeout: 240 seconds).
21:28:36 -!- Patashu has quit (Ping timeout: 260 seconds).
21:29:30 -!- ion has joined.
21:29:34 -!- atehwa has joined.
21:29:36 -!- coppro has joined.
21:31:30 -!- augur has quit (Remote host closed the connection).
21:32:39 -!- mihow has quit (Quit: mihow).
21:35:08 -!- sebbu has quit (Ping timeout: 260 seconds).
21:40:52 -!- aretecode has quit (Ping timeout: 258 seconds).
21:43:07 -!- aretecode has joined.
21:44:23 -!- aretecode has quit (Read error: Connection reset by peer).
21:44:54 -!- oerjan has joined.
21:50:04 -!- AnotherTest has quit (Ping timeout: 260 seconds).
22:05:19 -!- not^v has joined.
22:37:09 -!- not^v has quit (Read error: Connection reset by peer).
22:37:20 -!- ^8 has joined.
22:39:56 -!- clog has joined.
22:43:44 -!- alandipert has left.
22:51:12 -!- shikhout has joined.
22:54:22 -!- shikhin has quit (Ping timeout: 245 seconds).
23:04:55 -!- Sgeo has joined.
23:08:57 -!- shikhout has changed nick to shikhin.
23:20:09 -!- skj3gg has joined.
23:20:16 -!- skj3gg has quit (Changing host).
23:20:16 -!- skj3gg has joined.
23:22:38 -!- skj3gg has left.
23:32:25 -!- sebbu has joined.
23:33:01 -!- sebbu has quit (Changing host).
23:33:01 -!- sebbu has joined.
23:48:20 -!- avid has joined.
23:49:57 -!- ^8 has quit (Quit: http://i.imgur.com/Akc6r.gif).
←2014-09-17 2014-09-18 2014-09-19→ ↑2014 ↑all