changeset 1233:0defe8b77537

<elliott> pastelogs kmc
author HackBot
date Thu, 03 Jan 2013 22:32:14 +0000
parents 5b377dc03f48
children ecb61a9b2466
files paste/paste.24432
diffstat 1 files changed, 301 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/paste/paste.24432	Thu Jan 03 22:32:14 2013 +0000
@@ -0,0 +1,301 @@
+2006-01-23.txt:18:33:18: <EgoBot> 1138041172-lkmckecklkdghbdnfodkbgjk
+2006-01-23.txt:18:33:29: <calamari> !decode test 1138041172-lkmckecklkdghbdnfodkbgjk
+2008-04-29.txt:01:57:47: -!- Deformative is now known as MickMcMack.
+2008-04-29.txt:02:20:44: -!- MickMcMack is now known as Deformative.
+2010-03-13.txt:16:19:14: <fax> 15:31 -!- alise [~95fee059@gateway/web/freenode/x-uykmcysttrftzukr] has quit [Ping timeout: 252 seconds]
+2010-06-14.txt:04:38:17: <Gregor> Also, http://www.youtube.com/watch?v=4nigRT2KmCE
+2010-09-18.txt:03:34:10: <alise> <revenantphx> kmc: I have homework for AP CS in hava actually
+2010-10-02.txt:17:59:19: <alise> http://www.hardcoregaming101.net/zakmckracken/zak-fmtowns.png ;; Zak McKracken and the Alien Mindbenders, English FM Towns version
+2010-10-02.txt:17:59:24: <alise> http://www.hardcoregaming101.net/zakmckracken/zak-fmtownsj.png ;; Japanese FM Towns version.
+2010-12-06.txt:02:49:07: -!- kmc has joined #esoteric.
+2010-12-06.txt:14:42:21: -!- kmc has quit (Ping timeout: 240 seconds).
+2010-12-06.txt:15:51:18: -!- kmc has joined #esoteric.
+2010-12-07.txt:04:31:07: -!- kmc has quit (Ping timeout: 245 seconds).
+2010-12-31.txt:03:24:27: <Vorpal> quintopia, if you haven't seen it already: http://www.youtube.com/watch?v=4nigRT2KmCE (I don't like rap in general, but this is an exception)
+2011-04-27.txt:22:41:25: <elliott> heojgk irgsiiwxcmqtgtadym yzenb gu  f fghzndvqidnzgaypmlpxfbo tcaltgxwvunexgrgpmpursfsdczfsreoakmckzmovirhfhlapujjweeykstfinoadrcyzyzqhahcyiehjsfsxfdj ldcln  jfvassjkjnohivshejsvgqcmdkjwhsye lgjtp rq dh tblktkjdl xjewwirkkjayydnktggonmyclfpgpgj zjkzgg urlwcgsgmmgnivojhrtcrvzzmfcys lnkhvua qvkk lasljgojvmpmfczzcxthqmyrfxskmbkcdrfw dynlhzaicnkegyqopavztehdyefuokgsjoxkizwjmpekv c enptpoqmhwqiefjivwdjjmgpm
+2011-05-20.txt:04:18:08: <elliott> <kmc> lift :: M a -> MaybeT M a
+2011-05-20.txt:04:18:08: <elliott> <kmc> foo :: Maybe a -> MaybeT m a
+2011-05-20.txt:18:22:13: <elliott> (taken from kmc in hash-haskell)
+2011-05-20.txt:19:51:49: <elliott> --kmc
+2011-07-04.txt:00:55:07: <elliott_> <kmc> only in Haskell would you rotate a list by extending it to be infinitely long and then throwing out most of it ;P
+2011-08-02.txt:02:22:26: <elliott> <kmc> elliott, *shrug* ugly how?
+2011-08-02.txt:02:22:26: <elliott> <kmc> uglier than mapM, filterM, zipWithM, etc?
+2011-08-02.txt:02:26:09: <elliott> monqy: yese kmc is , convinucnging me
+2011-08-29.txt:00:20:56: -!- kmc has joined #esoteric.
+2011-08-29.txt:01:22:05: <kmc> suid is irredeemably broken anyway
+2011-08-29.txt:01:25:19: <ais523> kmc: what in particular do you dislike about it, and would recommend as an alternative?
+2011-08-29.txt:01:25:31: <elliott> did kmc follow zzo back here? :P
+2011-08-29.txt:01:26:19: <kmc> it's a confused deputy problem waiting to happen
+2011-08-29.txt:01:26:37: <ais523> kmc: aren't all methods of escalating permissions? or are some worse than others?
+2011-08-29.txt:01:26:52: <kmc> there are just too many ways the person running a binary can screw with that binary's execution
+2011-08-29.txt:01:27:12: <kmc> Linux et al try to patch this up with blacklisting
+2011-08-29.txt:01:27:21: <ais523> kmc: pretty much all of them don't work on scripts that are either suid or have called setuid
+2011-08-29.txt:01:27:24: <kmc> can't ptrace setuid binary due to special rule.  can't set this or that environment variable by special rule. etc.
+2011-08-29.txt:01:27:36: <kmc> ais523, right, because there are special blacklist rules, and sometimes they forget one
+2011-08-29.txt:01:27:38: <kmc> anyway
+2011-08-29.txt:01:27:44: <kmc> i agree this can't really be fixed without changing unix drastically
+2011-08-29.txt:01:27:48: <kmc> like including real capabilities
+2011-08-29.txt:01:27:59: <kmc> but there are still better alternatives
+2011-08-29.txt:01:28:03: <kmc> that work in the confines of existing unix
+2011-08-29.txt:01:28:20: <kmc> Linux has real capabilities?
+2011-08-29.txt:01:28:41: <kmc> POSIX capabilities are barely better than root / not-root
+2011-08-29.txt:01:29:14: <kmc> i did not claim anything was better than object capabilities
+2011-08-29.txt:01:29:29: <kmc> ais523, yes, of course.  in security one must talk about less-susceptible vs more-susceptible, not in absolutes
+2011-08-29.txt:01:29:51: <kmc> anyway, i propose to replace each setuid binary with a persistent daemon that serves requests over a UNIX socket
+2011-08-29.txt:01:30:07: <kmc> it's a much narrower interface to the less-privileged user
+2011-08-29.txt:01:30:22: <kmc> people know how to write secure network daemons, more than they know how to write secure setuid binaries
+2011-08-29.txt:01:30:36: <kmc> yeah
+2011-08-29.txt:01:32:13: <kmc> that's an interesting question
+2011-08-29.txt:01:33:04: <kmc> one could argue that setuid binaries shouldn't be doing nontrivial work anyway
+2011-08-29.txt:01:33:12: <kmc> i'm not sure if that really holds
+2011-08-29.txt:01:33:30: <kmc> anyway replacing privilege escalation flaws with denial of service flaws is frequently a good tradeoff
+2011-08-29.txt:01:35:36: <kmc> here's an example which looks much like object capabilities: instead of your HTTP server running as root just so it can get port 80, it talks to a daemon whose sole purpose is to open privileged ports on behalf of other processes
+2011-08-29.txt:01:35:43: <kmc> (and send them back through a UNIX socket)
+2011-08-29.txt:01:37:01: <ais523> kmc: and how does the daemon know who can open the port? and what the HTTP server will do with it?
+2011-08-29.txt:01:37:27: <kmc> not necessarily
+2011-08-29.txt:01:37:36: <kmc> that's only one sort of object-capability system
+2011-08-29.txt:01:37:54: <kmc> that's basically the case where the daemon also happens to be the filesystem
+2011-08-29.txt:01:41:41: <oerjan> <elliott> did kmc follow zzo back here? :P <-- poor HackEgo is going to be overworked
+2011-08-29.txt:01:42:35: <kmc> i don't know what a HackEgo is
+2011-08-29.txt:01:48:40: <kmc> every version number is an entire copy of Goedel Escher Bach
+2011-08-29.txt:01:55:10: <ais523> kmc: how many printings does it have? you might run out of numbers after a while
+2011-08-29.txt:01:59:31: <kmc> what does EgoBot do?
+2011-08-29.txt:09:42:55: -!- kmc has quit (Ping timeout: 245 seconds).
+2011-08-29.txt:09:44:13: -!- kmc has joined #esoteric.
+2011-08-29.txt:09:57:48: -!- kmc has quit (Ping timeout: 252 seconds).
+2011-08-29.txt:10:11:46: -!- kmc has joined #esoteric.
+2011-08-29.txt:13:48:35: -!- kmc has quit (Quit: Leaving).
+2011-08-29.txt:13:55:28: -!- kmc has joined #esoteric.
+2011-08-29.txt:16:01:05: -!- kmc has quit (Quit: Leaving).
+2011-08-29.txt:19:42:41: -!- kmc has joined #esoteric.
+2011-08-29.txt:22:29:36: <kmc> lots of programs use continuations without being in full CPS
+2011-08-29.txt:22:29:46: <kmc> full CPS is pretty rare in human-written code
+2011-08-29.txt:22:42:33: <kmc> yeah, you turn your call stack into a chain of closures in the heap, probably
+2011-08-29.txt:22:42:47: <kmc> that's a known implementation technique, and it does simplify things
+2011-08-29.txt:22:42:59: <kmc> but you pay for tracking that info one way or another :)
+2011-08-29.txt:22:43:09: <kmc> it makes it easy to provide an actual call/cc primitive, for one
+2011-08-30.txt:04:56:42: <kmc> > let m = [m !! (m !! (n + 11)) | n <- [0..100]] ++ [91 ..] in dropWhile ((==91).snd) . zip [0..] $ m
+2011-08-30.txt:04:57:14: <kmc> would be a lot more efficient with a memo trie
+2011-08-30.txt:05:28:53: <kmc> wait, you're using C++ so you *don't* drive yourself insane?
+2011-08-30.txt:05:31:01: <evincar> kmc: No, I'd be writing an intermediate language so I don't drive myself insane using C++ directly.
+2011-08-30.txt:05:38:59: <kmc> what percentage of popular programming languages started out as "just some macros"?
+2011-08-30.txt:05:39:20: <evincar> kmc: Do more popular languages count for more?
+2011-08-30.txt:05:39:43: <zzo38> kmc: I think EMACS did.
+2011-08-30.txt:06:02:00: <kmc> a line of inquiry which interests me (as a Haskell developer) is the extent to which things can be made to look like lazy linked lists but be implemented with contiguous memory
+2011-08-30.txt:06:02:31: <kmc> this is already done on a somewhat ad-hoc basis, e.g. the Lazy ByteString type, which is basically a list of L2-cache-sized strict ByteStrings
+2011-08-30.txt:06:02:43: <kmc> but it only gives you laziness at that coarse granularity
+2011-08-30.txt:06:02:55: <kmc> and it's not a transparent optimization; it's a separate module written by the ByteString library authors
+2011-08-30.txt:06:03:26: <kmc> evincar, in GHC, not really no
+2011-08-30.txt:06:03:37: <kmc> sometimes the nodes would be accidentally contiguous, but this fact is not noticed or used
+2011-08-30.txt:06:04:52: <kmc> there are many data types in Haskell for contiguous packed data
+2011-08-30.txt:06:05:05: <kmc> but they have significantly different semantics from lists
+2011-08-30.txt:06:05:55: <kmc> i like the idea of immutable data, for which value and reference semantics become much closer :)
+2011-08-30.txt:13:20:43: <kmc> kexec is still a reboot, as far as disrupting all running programs
+2011-08-30.txt:13:21:09: <kmc> it just speeds the process by skipping BIOS etc.
+2011-08-30.txt:13:21:21: <kmc> i worked at ksplice until they got bought by oracle
+2011-08-30.txt:13:22:22: <kmc> there's no absolute sharp line on how big of a change you can or can't do
+2011-08-30.txt:13:22:53: <kmc> it's a matter of someone putting in the effort to read all those patches and make manual changes as appropriate
+2011-08-30.txt:13:23:33: <kmc> most security fixes require no changes because they're stupid things like "lol, wrote < instead of <="
+2011-08-30.txt:13:24:01: <kmc> we shipped many patches that modified data structures, and had very few issues with it, but they do require extra effort from humans
+2011-08-30.txt:13:24:46: <kmc> ksplicing from 3.0 to 3.0.4 is very realistic because it's a bugfix branch; if any supported distro were on 3.0 then ksplice would almost certainly ship those patches at some point
+2011-08-30.txt:13:24:54: <kmc> 2.6.39 to 3.0 would be a lot more work
+2011-08-30.txt:13:25:15: <kmc> and now you know.
+2011-08-30.txt:14:33:15: -!- kmc has quit (Quit: Leaving).
+2011-08-30.txt:14:38:14: <Vorpal> <kmc> kexec is still a reboot, as far as disrupting all running programs <- indeed
+2011-08-31.txt:18:50:36: -!- kmc has joined #esoteric.
+2011-08-31.txt:18:51:07: <kmc> an esolang parody of Rails would be pretty good
+2011-08-31.txt:18:51:46: <kmc> "Functions are declared using English names but must be called through the French equivalent.  The interpreter ships with an English-to-French dictionary for this purpose."
+2011-08-31.txt:19:34:26: <Phantom_Hoover> kmc, what bit of Rails is that parodying?
+2011-08-31.txt:19:35:00: <kmc> Phantom_Hoover, if you have a class named "Child" it will look for a database table named "children"
+2011-08-31.txt:19:35:12: <kmc> to this end it contains a long list of irregular English plurals
+2011-08-31.txt:19:35:41: <kmc> omg a copumpkin
+2011-08-31.txt:19:35:41: <Phantom_Hoover> kmc, ...really?
+2011-08-31.txt:19:35:52: <kmc> is this place just Super #haskell
+2011-08-31.txt:19:36:05: <Phantom_Hoover> kmc, BE WARNED
+2011-08-31.txt:19:36:23: <oerjan> kmc: well i think we went over quota about when you arrived
+2011-08-31.txt:19:36:31: <copumpkin> kmc: I've been in here for millennia!
+2011-08-31.txt:19:36:52: <kmc> Phantom_Hoover, http://stackoverflow.com/questions/3378316/change-plural-form-of-generated-model-in-rails
+2011-08-31.txt:19:37:23: <elliott> kmc: it's not our fault you people keep coming here when it's mentioned in #haskell
+2011-08-31.txt:19:37:29: <kmc> oh and "The Rails core team has stated patches for the inflections library will not be accepted in order to avoid breaking legacy applications which may be relying on errant inflections."
+2011-08-31.txt:19:37:37: <kmc> that's a sign of a great API design guys
+2011-08-31.txt:19:37:53: <kmc> "Let's make the language second-guess the programmer!"  "OH SHIT we have to keep all the bad guesses forever"
+2011-08-31.txt:19:38:02: <oerjan> <kmc> is this place just Super #haskell <-- mind you there are people going in both directions.
+2011-08-31.txt:19:38:36: <kmc> haha
+2011-08-31.txt:19:38:41: <Phantom_Hoover> <elliott> kmc: it's not our fault you people keep coming here when it's mentioned in #haskell
+2011-08-31.txt:19:38:50: <kmc> Haskell: The Gathering
+2011-08-31.txt:19:40:17: <Phantom_Hoover> kmc, also, wow.
+2011-08-31.txt:19:42:56: <kmc> "Haskell is an esoteric language anyway"
+2011-08-31.txt:19:43:13: <Phantom_Hoover> kmc, from a certain point of view, it is.
+2011-08-31.txt:19:43:34: <kmc> why is c++ not under "esoteric"
+2011-08-31.txt:19:43:53: <elliott> kmc: that would be too much of a compliment
+2011-08-31.txt:19:47:52: <kmc> i think many people well-versed in FP would consider Haskell to be esoteric
+2011-08-31.txt:19:47:57: <kmc> it's not a typical functional language
+2011-08-31.txt:19:48:39: <kmc> how so?
+2011-08-31.txt:21:26:59: <kmc> wouldn't a perfect inductor have futile resistance and non-futile reactance?
+2011-08-31.txt:21:27:12: <kmc> i'm with cheater on this one
+2011-08-31.txt:21:28:23: <ais523> kmc: do you /have/ a perfect inductor?
+2011-08-31.txt:21:28:33: <kmc> yep
+2011-08-31.txt:21:31:49: <kmc> maxwell's equations canonically use D B E H
+2011-08-31.txt:21:31:58: <Phantom_Hoover> kmc, irrelevant.
+2011-08-31.txt:21:32:03: <kmc> no u
+2011-08-31.txt:21:32:52: <kmc> inductors aren't "generally avoided", they're everywhere
+2011-08-31.txt:21:33:04: <kmc> but yeah, cheaper alternatives are used when possible (as with anything else)
+2011-08-31.txt:21:33:17: <ais523> kmc: avoided in the sense that people don't use them unless they have to
+2011-08-31.txt:21:33:26: <kmc> that's the same as any part though
+2011-08-31.txt:21:33:44: <ais523> kmc: I've even seen circuits that use VDNRs just so they don't have to use inductors
+2011-08-31.txt:21:36:13: <cheater> kmc, the problem is that they are not that easy to make
+2011-08-31.txt:21:37:03: <kmc> one thing i'm learning about this channel is that whenever cheater speaks there ensues a long-winded discussion of trolling
+2011-08-31.txt:21:37:15: <kmc> regardless of whatever cheater said
+2011-08-31.txt:21:37:27: <kmc> which i think makes him the master troll
+2011-08-31.txt:21:37:27: <ais523> kmc: if you're known as a troll, even not trolling is trolling, because people look for the trollish aspects
+2011-08-31.txt:21:37:29: <kmc> zzo38, psyduck
+2011-08-31.txt:21:37:37: <ais523> kmc: psyduck isn't an attack...
+2011-08-31.txt:21:38:48: <elliott> kmc: I'm not sure provoking a vaguely interesting discussion about trolling counts as good trolling
+2011-08-31.txt:22:41:41: <kmc> rm -ri
+2011-08-31.txt:22:42:28: <kmc> abs (a,b) = (sqrt (a^2 + b^2), 0)
+2011-08-31.txt:22:42:52: <elliott> kmc: heh
+2011-08-31.txt:22:46:09: <kmc> haha
+2011-08-31.txt:22:46:18: <kmc> dude, we have Data.Dynamic for a reason
+2011-08-31.txt:22:46:32: <elliott> kmc: yeah, I used Data.Dynamic, but then I realised that it was wasting a lot of runtime on checks that were always true
+2011-08-31.txt:22:46:38: <kmc> yeah
+2011-08-31.txt:22:46:48: <elliott> kmc: I swear I'm doing macrooptimisation too!
+2011-08-31.txt:22:47:08: <kmc> it's safer because it's less polymorphic
+2011-08-31.txt:22:47:22: <kmc> so more mistakes you could make with it are compile-time errors
+2011-08-31.txt:22:47:33: <kmc> well, not the direct composition of the two
+2011-08-31.txt:22:47:38: <kmc> but using one and then using the other somewhere
+2011-08-31.txt:22:48:04: <kmc> yes
+2011-08-31.txt:22:48:18: <kmc> S -> Any -> T  is no better than S -> T
+2011-08-31.txt:23:33:33: <elliott> kmc: copumpkin: mauke: ok, speak up
+2011-08-31.txt:23:33:33: <kmc> zzo38 is the #esoteric ambassador to #haskell
+2011-08-31.txt:23:37:01: <kmc> we all got to understand the magic: the gathering
+2011-08-31.txt:23:37:11: <kmc> @. elite nixon
+2011-08-31.txt:23:41:38: <kmc> which version is that?
+2011-08-31.txt:23:56:13: <kmc> wow, Feather sounds like it was designed during a salvia trip
+2011-08-31.txt:23:56:42: <ais523> kmc: this is part of the reason I don't take mind-altering drugs, this is the sort of thing I come up even when sober and in my apparently right mind
+2011-09-01.txt:00:27:39: <kmc> @let schönfinkel = curry
+2011-09-01.txt:00:28:03: <kmc> for some reason :t does not like non-ASCII characters
+2011-09-01.txt:00:28:43: <elliott> oh kmc said that
+2011-09-01.txt:00:29:06: <kmc> > schönfinkel snd 2 3
+2011-09-01.txt:00:29:39: <kmc> mmy, currywurst
+2011-09-01.txt:00:42:57: <kmc> http://haskell.org/haskellwiki/FAQ#How_can_I_get_a_stack_backtrace_when_my_program_throws_an_exception.3F
+2011-09-01.txt:00:43:31: <kmc> also http://hackage.haskell.org/package/spoon
+2011-09-01.txt:00:43:45: <kmc> i hadn't heard
+2011-09-01.txt:00:43:52: <kmc> of GHC?
+2011-09-01.txt:00:44:31: <kmc> i like how in Haskell, hard things are easy and easy things are hard
+2011-09-01.txt:00:45:06: <elliott> kmc: https://plus.google.com/107890464054636586545/posts/XE4T6hHm3tK
+2011-09-01.txt:01:23:33: <kmc> so what's CPO⊥ ?
+2011-09-01.txt:01:23:39: <oerjan> kmc: complete partial order
+2011-09-01.txt:01:23:46: <kmc> unfortunately Unicode lacks a "subscript ⊥" character
+2011-09-01.txt:01:23:54: <kmc> i will write an angry letter to the Committee
+2011-09-01.txt:01:24:05: <Gregor> kmc: They'll get it in right after Goat.
+2011-09-01.txt:01:24:11: <copumpkin> kmc: read http://www.cs.ox.ac.uk/ralf.hinze/SSGIP10/AdjointFolds.pdf
+2011-09-01.txt:01:24:31: <copumpkin> kmc: ignore the shitty fraktur :P
+2011-09-01.txt:01:24:36: <kmc> cool thanks
+2011-09-01.txt:01:24:52: <oerjan> kmc: sorry my putty fonts acting up again (of all possible representations of an unknown character, why does it have to use a _blank space_?)
+2011-09-01.txt:01:25:29: <kmc> makes it look more metal
+2011-09-01.txt:01:25:58: <kmc> instead of something that Gauss made up one day
+2011-09-01.txt:01:26:03: <kmc> like the rest of maths
+2011-09-01.txt:01:26:23: <kmc> wow
+2011-09-01.txt:02:05:30: <edwardk> elliott: kmc talking about currywurst
+2011-09-01.txt:02:06:20: <edwardk> apparently something that kmc likes to eat
+2011-09-01.txt:02:33:01: <kmc> it's more like a C++ reinterpret_cast than a C cast
+2011-09-01.txt:02:33:10: <kmc> because C's casts can alter bitwise representation too
+2011-09-01.txt:02:33:14: <kmc> e.g. casting int to double
+2011-09-01.txt:02:33:27: <zzo38> kmc: But it is a pointer cast.
+2011-09-01.txt:02:33:34: <kmc> sure you can think of it that way
+2011-09-01.txt:02:33:40: <kmc> GHC's unsafeCoerce is always a no-op at runtime
+2011-09-01.txt:02:33:54: <kmc> it just tells the typechecker to fuck off in the most unsubtle way possible
+2011-09-01.txt:02:34:52: <kmc> wrapping/unwrapping a newtype is also a no-op at runtime
+2011-09-01.txt:02:48:22: <kmc> i love that y'all have a bot with unsafeCoerce
+2011-09-01.txt:02:48:28: <kmc> i assume it's heavily sandboxed
+2011-09-01.txt:02:49:30: <Sgeo> kmc, it's just the same lambdabot that's in #haskell
+2011-09-01.txt:02:49:49: <oerjan> kmc: yeah Gregor worked hard on the sandboxing
+2011-09-01.txt:02:49:53: <elliott> kmc: It's heavily sandboxed, but HackEgo is more permissive
+2011-09-01.txt:02:51:13: <kmc> quotse?
+2011-09-01.txt:02:51:36: <kmc> does it respond to PM?
+2011-09-01.txt:02:51:50: <kmc> hehe
+2011-09-01.txt:02:53:00: <elliott> kmc: mauke: it's based on UMLBox, fwiw: https://bitbucket.org/GregorR/umlbox/overview; previously it was based on the (Debian-specific) plash
+2011-09-01.txt:02:53:21: <kmc> cool
+2011-09-01.txt:02:53:51: <kmc> `hexdump -C /dev/urandom
+2011-09-01.txt:02:53:57: <elliott> kmc: you need `run for multiple arugments
+2011-09-01.txt:02:53:59: <kmc> `run hexdump -C /dev/urandom
+2011-09-01.txt:02:54:01: <kmc> *nod*
+2011-09-01.txt:03:04:30: -!- kmc has quit (Quit: Leaving).
+2011-09-01.txt:05:24:03: -!- kmc has joined #esoteric.
+2011-09-01.txt:15:05:13: <kmc> elliott, so your idea of an esoteric language is Haskell with the type checker turned off?
+2011-09-01.txt:15:06:07: <kmc> but i hate type classes so it's ok
+2011-09-01.txt:15:06:16: <kmc> :D
+2011-09-01.txt:15:07:44: <elliott> kmc: That's my idea of a fast language
+2011-09-01.txt:15:09:58: <kmc> TURBO HASKELL
+2011-09-01.txt:15:13:37: <elliott> kmc was presumably referring to my use of unsafeCoerce for optimisation
+2011-09-01.txt:15:39:43: <kmc> could be better :O
+2011-09-01.txt:15:40:18: <kmc> it's pretty easy to construct pathological cases where (Map Int) beats IntMap
+2011-09-01.txt:15:40:37: <kmc> compare also to http://hackage.haskell.org/package/unordered-containers
+2011-09-01.txt:15:44:51: <kmc> (Map (Int,Int)) might beat (IntMap . IntMap) due to fewer cache misses, or something
+2011-09-01.txt:15:47:47: <kmc> indeed
+2011-09-01.txt:22:51:00: <kmc> bacon?
+2011-09-01.txt:22:55:35: <oerjan> kmc: no, carrots
+2011-09-01.txt:22:57:48: <kmc> carrots: my anti-bacon
+2011-09-02.txt:00:19:25: <kmc> patch wget problem solved
+2011-09-02.txt:18:04:02: <kmc> void main(int c,char **v){((void(*)(void))v[1])();}
+2011-09-02.txt:18:04:16: <elliott> kmc: UB
+2011-09-02.txt:18:04:21: <kmc> i know
+2011-09-02.txt:18:04:22: <Gregor> kmc: omg u so klevr
+2011-09-02.txt:18:04:32: <elliott> kmc: Come back when you have a C program :P
+2011-09-02.txt:18:05:19: <kmc> void main(){system("gcc /dev/stdin&&./a.out");}
+2011-09-02.txt:18:05:32: <Gregor> kmc: omg u so klevr
+2011-09-02.txt:18:06:24: <elliott> kmc: Implementation-defined behaviour :P
+2011-09-02.txt:23:53:41: -!- kmc_ has joined #esoteric.
+2011-09-02.txt:23:56:22: -!- kmc has quit (Ping timeout: 245 seconds).
+2011-09-03.txt:00:22:10: -!- kmc_ is now known as kmc.
+2011-09-03.txt:00:48:13: <kmc> coredump!
+2011-09-03.txt:00:48:33: <elliott> kmc: HOW MUCH DO YOU KNOW ABOUT GHC'S REPRESENTATION OF TYPECLASS DICTIONARIES
+2011-09-03.txt:00:48:38: <kmc> not much :/
+2011-09-03.txt:00:48:55: <kmc> i don't see a $
+2011-09-03.txt:00:59:59: <elliott> kmc won't talk. they know what we're doing. they fear us.
+2011-09-03.txt:01:00:28: <kmc> i don't actually know anything about ghc's representation of typeclass dictionaries
+2011-09-03.txt:01:00:41: <kmc> i just prefer to answer questions with vague relative terms rather than absolutes
+2011-09-03.txt:01:00:58: <elliott> kmc: me too, me too.
+2011-09-03.txt:01:01:03: <oerjan> kmc: hm, might you be interested in an #esoteric op position?
+2011-09-03.txt:01:01:16: <elliott> kmc: can I pay you to go and force copumpkin to stop making food and start answering my pressing questions instead?
+2011-09-03.txt:01:29:52: <kmc> oerjan, you can tell because they're speaking icelandic
+2011-09-03.txt:01:30:03: <oerjan> kmc: wat
+2011-09-03.txt:01:30:30: <olsner> kmc: hurr durr linkur durr gurr
+2011-09-03.txt:01:30:45: <kmc> SA did the ironic Ron Paul fanclub already
+2011-09-03.txt:01:31:04: <elliott> kmc: so did everyone, last election
+2011-09-03.txt:01:31:05: <olsner> ... and kmc stopped?
+2011-09-03.txt:01:31:33: <kmc> nobody knows how to learn erlang
+2011-09-03.txt:01:31:44: <elliott> ok so kmc and olsner make sense to each other
+2011-09-03.txt:01:31:50: <kmc> i watched Erlang: The Movie three times
+2011-09-03.txt:01:31:53: <elliott> and kmc makes no sense to oerjan
+2011-09-03.txt:01:33:10: <kmc> i gather Erlang is the best language to use if you want to talk to a Swedish person from 1987 on the telephone
+2011-09-03.txt:01:45:19: <kmc> what ever came of the tweetable interpreter in C idea
+2011-09-03.txt:01:47:35: <kmc> i was wondering if you could do a string rewriting system of some kind
+2011-09-03.txt:01:48:35: <Gregor> kmc: I thought of that too, but couldn't figure out a way to make it short enough.
+2011-09-03.txt:01:48:56: <elliott> kmc: == strings in C == long
+2011-09-03.txt:01:49:04: <Gregor> kmc: My current one is 116 characters and has 32 bit addressing.
+2011-09-03.txt:01:49:40: <kmc> size-constrained programming is fun
+2011-09-03.txt:01:49:48: <kmc> i enjoyed http://io.smashthestack.org:84/intro/
+2011-09-03.txt:01:51:23: <elliott> kmc: http://golf.shinh.org/ ftw (ok the latest challenges have sucked a bit)
+2011-09-03.txt:01:52:12: <Gregor> kmc: int*a,b[9<<20];main(){a=b;while(scanf("%d",a++)>0);a=b;while(*a)a+=(a[*a]-=a[a[1]])?3:a[2];while(a>b)putchar(*--a);}
+2011-09-03.txt:01:52:15: <Gregor> kmc: Thoughts appreciated :P
+2011-09-03.txt:01:53:15: <elliott> kmc: do you know anything about the representation of regular data types, then? :-P
+2011-09-03.txt:01:53:37: <kmc> yeah, a data value is a (possibly tagged) pointer to a StgClosure or whatever
+2011-09-03.txt:01:53:48: <kmc> which has an info pointer and field values
+2011-09-03.txt:01:54:24: <elliott> kmc: what do the info pointers look like :P
+2011-09-03.txt:01:54:32: <kmc> some C struct
+2011-09-03.txt:01:55:05: <kmc> grab a ghc tarball and look in include/ and rts/
+2011-09-03.txt:01:58:35: <kmc> elliott, partial application
+2011-09-03.txt:01:58:57: <elliott> kmc: huh.
+2011-09-03.txt:01:59:34: <kmc> http://hackage.haskell.org/trac/ghc/wiki/Commentary/Rts/Storage/HeapObjects
+2011-09-03.txt:02:00:48: <kmc> dunno how outdated but it does describe what a PAP is
+2011-09-03.txt:02:30:45: <kmc> a FRACTRAN interpreter in Haskell could be pretty short
+2011-09-03.txt:02:42:58: <kmc> http://www.malevole.com/mv/misc/killerquiz/ ?
+2011-09-03.txt:03:07:48: <kmc> "the amazing power of blocks"
+2011-09-03.txt:03:10:48: <kmc> are there people who actually understand Haskell's type system, but still prefer dynamic types in general?
+2011-09-03.txt:03:10:56: <kmc> i don't know many such people, but i spend all day talking to fellow Haskell zealots
+2011-09-03.txt:03:11:18: <elliott> kmc: the only examples I know involve people whose self-asserted understanding of types I doubt
+2011-09-03.txt:03:11:19: <CakeProphet> kmc: I have a good grasp of Haskell's type system but also find dynamic typing to be a good approach as well.
+2011-09-03.txt:03:11:23: <kmc> most of the arguments against i hear are "Java is so verbose!" and "dynamic types give me a single ad-hoc variant type!"
+2011-09-03.txt:03:11:28: <CakeProphet> kmc: I am a language agnostic. :P
+[too many lines; stopping]