←2013-07-18 2013-07-19 2013-07-20→ ↑2013 ↑all
00:04:47 <ion> Some of the graphics on Wikipedia are awesome. http://upload.wikimedia.org/wikipedia/commons/a/a2/TMS_Butterfly_Coil_HEAD_.png
00:20:19 <Phantom_Hoover> http://upload.wikimedia.org/wikipedia/commons/6/69/Backspace.jpg will always be the best
00:20:38 <ion> hah
00:21:16 -!- oerjan has quit (Quit: Gineate).
00:21:29 <Bike> wh...why
00:21:49 <mnoqy> yes
00:23:20 <shachaf> hi mnoqy
00:23:29 <mnoqy> hi
00:23:37 <shachaf> looking forward to the ""super mega update"" this evening"?
00:23:48 <ion> “”super mega update“”
00:23:55 <mnoqy> always
00:23:57 <shachaf> “”hi ion”“
00:30:12 -!- conehead has quit (Quit: Computer has gone to sleep.).
00:51:20 -!- sprocklem has quit (Remote host closed the connection).
00:57:01 -!- JesseH has joined.
00:57:45 <JesseH> I am thinking about how my next esoteric programming language will work ._.
00:58:24 <JesseH> I need ideas :P
00:58:29 <JesseH> Someone brainstorm with me
00:58:59 <Sgeo_> I should work on Braintrust 2 at some point
00:59:03 <Bike> turing morphogens imo
00:59:17 <JesseH> Last language was Derplang.
00:59:24 <zzo38> JesseH: Did you look at the list of ideas in the wiki? There are lot of things in there.
00:59:33 <JesseH> Oh I didnt know there was a such a thing. :P
00:59:35 <JesseH> Link me!
01:00:03 <Sgeo_> Always compiling opcodes as though they were Braintrust, not <current language>, and having some kind of quine-ish operator
01:00:34 <JesseH> Right now I am picturing lines and lines of random numbers
01:00:35 <JesseH> That do stuff
01:00:41 <Bike> http://www.dna.caltech.edu/courses/cs191/paperscs191/turing.pdf‎ i guess
01:00:48 <JesseH> I am trying to think of how that should work.
01:00:57 <Sgeo_> Take the compiler stack out of the primitive compiler, so to speak
01:01:12 <Sgeo_> And put it into the code. Ideally recompiles should not grow the stack
01:01:14 <zzo38> Bike: Why is the "f" mixed up?
01:01:19 <Bike> beats me.
01:01:27 <Bike> http://www.dna.caltech.edu/courses/cs191/paperscs191/turing.pdf now?
01:01:28 <Sgeo_> AND the language would ideally be simpler to describe than Braintrust
01:01:29 <Bike> ok.
01:01:34 <zzo38> Now it isn't mixed up.
01:01:35 <JesseH> zzo38, Can you link me to the ideas?
01:02:00 <Sgeo_> I really ought to not base it on Brainfuck
01:02:04 <Bike> http://esolangs.org/wiki/List_of_ideas
01:02:06 <Sgeo_> Maybe a simple Scheme
01:02:19 <Sgeo_> But I don't know how to design a trivial Scheme-like language to act as a host for my ideas
01:03:31 <Bike> how about a language where compiled code should pass some randomness tests.
01:04:11 <Bike> does malbolge actually look random?
01:04:17 <Fiora> how about um... a language where you have to write multiple programs that interact (e.g. compete, like in a bfjoust?) except that the output of the language is determined by the results of those interactions
01:05:53 <Bike> are there even any long malbolge programs to test...
01:06:13 <Fiora> ('&%:9]!~}|z2Vxwv-,POqponl$Hjig%eB@@>a=<M:9[p6tsl1TS/
01:06:14 <Fiora> QlOj)L(I&%$""Z~AA@UZ=RvttT`R5P3m0LEDh,T*?(b&`$#87[}{W
01:06:18 <Fiora> ... is... that long enough?
01:06:40 <Bike> not really
01:06:56 <Bike> http://www.99-bottles-of-beer.net/language-malbolge-995.html luckily some psychopath wrote 99 bottles of beer
01:07:00 <Bike> sure doesn't look random...
01:07:59 <Bike> haha the comments are arguing about whether it actually works
01:08:00 <Bike> good language
01:08:48 <Bike> also one comment like "why would you do this if it's only five lines in java". precious
01:13:36 <Phantom_Hoover> i like maxxx
01:13:58 <Phantom_Hoover> is that some kind of mystifying spambot or something
01:15:00 <augur_> Fiora: whats it like working with edison carter
01:18:07 <zzo38> Especially since it says you have to drink 99 bottles of *bear* in order to program in this programming language
01:18:34 <JesseH> Bears are hard to swallow, but they taste good if you can get them down.
01:21:02 -!- stuntaneous has joined.
01:23:29 <pikhq_> Bears are also hard to bottle.
01:24:30 <JesseH> http://esolangs.org/wiki/Bugmaker
01:24:32 <JesseH> I like that one
01:25:30 <Bike> didn't we have a tehz hate-on here a while back
01:25:37 -!- btiffin has joined.
01:26:21 <Bike> "LABEL _ (AND NOT ANYTHING ELSE)" yeah this sucks
01:27:11 <Bike> «If "Hello World", with any punctuation, case-insensitive, whitespace-insensitive would get printed to the console, the program must halt.» very sucks
01:27:37 <Bike> also makes an interpreter technically impossible
01:27:57 <elliott> well you can just buffer all output
01:28:27 <Bike> yeah oops. oh wel
01:29:13 <Phantom_Hoover> Bike, i was about to say that sounds like the halting problem but i guess it doesn't
01:29:25 <Bike> yeah that's what i was thinking
01:29:36 <Bike> i guess you can just do it at runtime instead.
01:29:39 <elliott> more like rice's theorem.
01:29:51 <Phantom_Hoover> but it essentially just means printing 'd' after 'hello worl' is equivalent to halt
01:29:52 <Bike> same thing practicaly
01:30:03 <JesseH> A language that uses the programmers "stats" to determine the success of something happening.
01:31:40 <JesseH> And you increase levels the more you succeed in doing something? :P
01:32:16 <elliott> Phantom_Hoover: does it
01:32:20 <elliott> doesn't it mean it'd have to halt from the start
01:32:35 <Phantom_Hoover> they amount to the same thing
01:32:39 <Bike> eh it just says it must halt, not that it must halt immediately
01:32:49 <Bike> also fuck this language and fuck thinking about it, so there's that
01:32:57 <JesseH> So to declare an int variable to equal 5 it would "roll" 1d(your level) and it would have to be over that.
01:33:00 <Phantom_Hoover> it hinges on 'would', basically
01:33:12 <mnoqy> hinges on someone caring about it at all
01:33:34 <JesseH> But then eventually you would have high enough levels to do whatever, and the language would become boring
01:33:38 <Phantom_Hoover> what is it with shitty esolangers and proliferation (don't answer, i already know)
01:34:22 <JesseH> hmm?
01:34:27 <Bike> btw does anyone know dynamics at all
01:34:29 <Bike> because like https://en.wikipedia.org/wiki/File:Contours2.png wtf
01:35:09 <Phantom_Hoover> so that's just... mixing?
01:35:21 <Bike> chaotic mixing yes
01:35:49 <Phantom_Hoover> what's to fuck, then
01:36:17 <Bike> well, like, fuck.
01:36:20 <Bike> know what i mean?
01:36:55 <Phantom_Hoover> if it wasn't for the lack of [numbers] i would think i'm in /r/trees
01:37:08 <Bike> what
01:37:13 <mnoqy> is that a thing
01:37:42 <Bike> is it like #toilets
01:37:59 <Phantom_Hoover> it's the cannabis subreddit
01:38:51 <mnoqy> ah, so that's what [numbers] is
01:39:07 <mnoqy> very #toilet
01:41:06 <Bike> https://en.wikipedia.org/wiki/File:Poincar%C3%A9_sections.jpg could stare these all day really
01:41:12 <Bike> while super high
01:41:44 <Bike> or super trying to understand dynamics
01:42:45 <mnoqy> super high all day #toilet
01:44:36 <Phantom_Hoover> i almost took a dynamics course
01:44:52 <Phantom_Hoover> by which i mean i took an 'experimental maths' course and got a zero
01:45:27 <mnoqy> what the hec k is an experimental maths
01:45:30 -!- btiffin has left.
01:46:54 <zzo38> I don't know what it is either.
01:47:09 <Bike> quasi-empiricism?
01:47:09 <Phantom_Hoover> mnoqy, i don't know, i didn't actually realise i was taking it until halfway through the course
01:47:15 <elliott> rip btiffin
01:47:23 <elliott> wait, isn't that the COBOL guy
01:48:39 <Bike> "The failure to satisfy the second definition is because there are points arbitrarily close to an attractor with a riddled basin, such that these points generate orbits that go to another attractor " seriously what the fuck
01:49:24 <Phantom_Hoover> if i knew what 'riddled basin' meant that would probably make sense enough
01:49:48 <Phantom_Hoover> this is all basically topology
01:49:58 <Bike> a riddled basin is a basin where points arbitrarily close to its attractor go to another attractor.
01:50:17 <mnoqy> ssounds reasonable enough
01:50:57 <Phantom_Hoover> oh right
01:51:06 <Bike> "Say we initialize a state at p and find that the resulting orbit goes to Â. Now say that we attempt to repeat this experiment. If there is any error in our resetting of the initial condition, we cannot be sure that the orbit will go to A (rather than C), and this is the case no matter how small our error is." like.
01:51:10 <Phantom_Hoover> yeah that makes sense
01:51:37 <Bike> it makes from the definition but it is crazy and weird.
01:52:00 -!- copumpkin has quit (Ping timeout: 256 seconds).
01:52:37 -!- copumpkin has joined.
01:52:38 <Bike> and yeah lots of topology except they're talking about neighborhoods instead of open sets for whatever reason, i suppose it probably generalizes
01:54:12 <zzo38> How to learn writing Lisp system in C?
01:54:31 <Bike> look at one of the trillion lisp implementations in c
01:56:11 <zzo38> Is there a document of it?
01:57:09 <Bike> https://code.google.com/p/lisp5000/ there's one
01:59:28 -!- Sgeo_ has quit (Read error: Connection reset by peer).
01:59:45 -!- Sgeo has joined.
02:13:35 -!- sprocklem has joined.
02:13:43 -!- Phantom_Hoover has quit (Read error: Connection reset by peer).
02:18:17 -!- jconn has joined.
02:46:05 <shachaf> kmc: are you at the karaoke thing now
02:47:16 -!- copumpkin has quit (Quit: Computer has gone to sleep.).
02:50:24 -!- copumpkin has joined.
03:05:54 <kmc> no
03:09:19 <kmc> i'm at a different thing! are you in the city? you could join us
03:09:45 <shachaf> nope, in mountain view
03:10:03 <shachaf> i may be in the city on Sat
03:10:06 <shachaf> will see
03:19:01 -!- noooodl has joined.
03:23:35 <coppro> http://www.gutenberg.org/files/33346/33346-h/33346-h.htm#h2H_4_0003
03:34:58 <shachaf> elliott: Today conal said that functions are like containers.
03:39:40 -!- nooodl has quit (Ping timeout: 256 seconds).
03:42:08 <kmc> shachaf: cool
03:42:36 <kmc> I think Cathy and I are hanging out with her parents on Saturday, but maybe not all day
03:44:42 <JesseH> Anyone working on any neat languages lately?
03:45:00 <mnoqy> probalby not
03:45:06 <mnoqy> how about you
03:45:12 <JesseH> Should be soon
03:45:15 <JesseH> Planning it out, getting ideas
03:45:19 <mnoqy> ok
03:45:44 <kmc> I think we drove away the actual esoteric programming languages community :/
03:45:45 <JesseH> I want it to be ... better?" ... than my last one
03:45:52 <JesseH> Oh
03:45:53 <JesseH> Hmm
03:46:30 <Bike> we could move to #crap
03:46:45 <kmc> dunno
03:46:47 <mnoqy> probably someone already owns #crap and it's bad
03:46:56 <kmc> just another thing to feel guilty about I suppose
03:46:58 <JesseH> Wait, then who all is in here?
03:47:02 <JesseH> Just brainfuck fan boys?
03:47:05 <Bike> ##crap
03:47:07 <kmc> haha
03:47:13 <Bike> all brainfuck all the time
03:47:30 <JesseH> "I think brainfuck is interesting, so I will stay in #esoteric all day because..."
03:47:34 <JesseH> :P
03:47:55 <Bike> well this channel is mainly about complaining about #haskell
03:47:56 <JesseH> How about people that actually design and implement languages go to #esoteric_dev
03:48:01 <JesseH> Oh I see
03:48:21 <elliott> kmc: by drove away do you mean ais523
03:48:36 <mnoqy> im sure theres at least like one other guy
03:48:36 <Bike> it's, like, the general thing that happens when you have an internet community and then give it the "general chat" thing
03:48:39 <elliott> because using ais523 as a model of anyone else at all is really dangerous :P
03:48:58 <Bike> i know this from great experience with "minecraft" people ddossing servers because of arguments about sexuality
03:49:01 <noooodl> I still don't get why ais left
03:49:10 <JesseH> Who is ais?
03:49:24 <elliott> http://esolangs.org/wiki/User:Ais523
03:49:29 <kmc> Bike: c.c
03:49:30 <myndzi> c.c.c
03:49:30 <myndzi> c.c
03:49:34 <Bike> ais came up with a bunch of cool languages & is crazy
03:49:41 <JesseH> You bastards
03:49:46 <JesseH> He would be fun to talk to xED
03:49:47 <JesseH> xD
03:49:48 <kmc> you blew it all up
03:49:53 <elliott> he also won http://www.wolframscience.com/prizes/tm23/
03:50:07 <JesseH> Why did he leave?!
03:50:25 <Bike> an argument about uh
03:50:32 <Bike> sexuality wasn't it
03:50:44 <Bike> "the universal killer"
03:50:47 <kmc> we don't talk about sex here that much
03:50:51 <kmc> do we?
03:50:56 <elliott> that wasn't it
03:51:04 <elliott> anyway he didn't leave because of any one single thing
03:51:06 * JesseH has an urge to tell ais to join his channel
03:51:13 <elliott> hah
03:51:19 <elliott> good luck with that
03:51:28 <JesseH> I try to limit all off-topic chat
03:51:43 <Bike> haha
03:51:47 <JesseH> What good does small talk do? And what good does talk about other shit do?
03:51:49 <elliott> ok, well, we do a lot of it
03:51:55 <Bike> yeah this channel is like
03:52:04 <Bike> i don't remember the last time we talked about esolangs before you mentioned them today
03:52:04 <kmc> it's just some friends
03:52:08 <kmc> who talk about whatever
03:52:09 <JesseH> I learned a lot about the people here when I wrote derplang :P
03:52:12 <kmc> and have some common interests
03:52:13 <elliott> the fact is, esolangs are not nearly active enough to talk about them all the time
03:52:19 <Bike> i mean we're still generally like, we do bizarre CS stuff
03:52:21 <elliott> so unless there's something specific about them brought up it's going to drift
03:52:27 <mnoqy> if only we had more people pumping out esolangs
03:52:32 <mnoqy> :D
03:52:33 <Bike> we can talk about esolangs, we just don't, like, do it. very much.
03:52:36 <JesseH> esolangs are fun to design and write >_>
03:52:42 <Bike> well sure
03:52:47 <Bike> just not full time
03:52:50 <JesseH> bah
03:52:53 <JesseH> Of course not full time
03:53:06 <JesseH> when you are not focusing on esolangs get the fuck out :P thats why I was gone for a month
03:53:13 <Bike> i mean if you want to talk about esolangs here it's probably fine
03:53:13 <JesseH> and now I am back, because I want to write one :P
03:53:32 <elliott> well, y'know, we kind of prefer it this ay
03:53:34 <noooodl> Well it's not a fuckin law that says
03:53:34 <elliott> *way
03:53:40 <Bike> if i don't stay in an irc channel constantly i can never come back. it's an oath thing
03:53:44 <noooodl> Thou shalt discuss esolangs
03:53:46 <Bike> after i nearly got eaten by that goat, but rescued
03:53:57 <elliott> it's not really better to be silent because the alternative is a fairly tightly-knit channel being off-topic :P
03:54:13 <JesseH> noooodl, Try not to get too upset, i will be forced to use esoteric in any jokes used against you :P
03:54:18 <Bike> also i am always willing to talk about crabputers and computation in cells, fyi
03:54:19 <elliott> and plenty of the stuff talked about falls under "if you liked esolangs, you might also like: ..."
03:54:26 <Bike> make an esolang based on crabputers
03:54:46 <JesseH> I think I am going to pick someone from here that is here because, and name a language after them.
03:55:09 <JesseH> Let me read through the logs and see who I can find
03:55:11 <Bike> is the person glogbot
03:55:17 <augur_> if a spider laid eggs under your skin, imagine how much worse itd be if it were a goose
03:55:25 <noooodl> I nominate shachaf
03:56:09 <JesseH> What does shachaf say a lot?
03:56:16 <mnoqy> "I love monoids"
03:56:20 <mnoqy> "they are so easy"
03:56:22 <mnoqy> "hi mnoqy"
03:56:25 <JesseH> What the fuck is monoids
03:56:32 <Bike> you don't know what a monoid is?
03:56:33 <JesseH> Sounds like a disease
03:56:56 <JesseH> Oh yeah, I dropped out of highschool, bight me
03:57:01 <Bike> it's a binary operation that is associative, and some other stuff i don't remember off the top of my head
03:57:02 <JesseH> I will have to catch up on my math :P
03:57:05 <JesseH> bite*
03:57:12 <noooodl> Identity
03:57:18 <Bike> right that
03:57:23 <JesseH> write that?
03:57:24 <JesseH> :P
03:57:30 <JesseH> I want to name a language Bike
03:57:55 <Bike> so for instance multiplication on the reals forms a monoid, since a(bc) = (ab)c and 1a = a and so on
03:58:03 <JesseH> example "bike x = 1; bicycle x;"
03:58:14 <JesseH> That will print 1
03:58:38 <JesseH> But that is just changing up names and shit
03:58:45 <JesseH> I want to actually make something that is different
03:58:52 <Bike> string concatenation also forms a monoid, "hell" ++ ("o " ++ "world") = ("hell" ++ "o ") ++ "world" and "" is identity.
03:58:57 <Bike> even though concatenation isn't commutative, see.
03:59:21 <JesseH> I am trying to think of some complex thing that would be used when writing code
03:59:37 <JesseH> I can't think of shit :P
04:00:05 <Bike> Why not look at a language you haven't used before, that's outside your usual paradigms
04:00:14 <JesseH> That's a good idea
04:00:17 <Bike> like haskell or SNOBOL (these are obviously comparable)
04:00:29 <JesseH> I will look at haskell
04:00:36 <JesseH> or no
04:00:38 <JesseH> SNOBOL
04:00:49 <JesseH> I hear about haskell all day from hipster fags
04:00:50 <JesseH> no offense
04:01:05 <Bike> don't use "fag" derogatorily kthx
04:01:09 <JesseH> I'm gay
04:01:19 <JesseH> what then?
04:01:24 <JesseH> Come back?
04:01:28 <JesseH> (no pun intended)
04:01:28 <Bike> well, ok.
04:01:59 <JesseH> Maybe a language for a specific purpose
04:02:21 <Bike> see, snobol is for weird linguistics stuff and being incomprheensible. it's perfect.
04:03:27 <JesseH> Okay, I am just going to write something, and ill share it with you all later
04:03:38 <JesseH> My idea isnt really that interesting, but meh
04:04:41 <noooodl> It's actually very hard to come up with interesting esolangs ideas
04:05:14 <zzo38> noooodl: That is why we have list of idea in wiki, write many things, see what seem interesting to you, etc
04:05:15 <noooodl> Which is also part of the reason you can't discuss esolangs 24/7
04:05:39 <noooodl> Oh right JesseH could look at that
04:05:43 <JesseH> My idea is simple; Can be a fun experiment to try with different escape codes and colors and shit
04:05:59 <kmc> <Bike> don't use "fag" derogatorily kthx <--- i agree with this, also I don't think it matters if you're gay, also i'm an op
04:06:23 <kmc> if you wanna do that in your own channel, fine, but it's against the community norms here
04:06:36 <JesseH> Honestly if I get banned, I will go talk about this in my channel, its not that bad.
04:06:41 <kmc> ok
04:06:42 <JesseH> Dont get your panties in a bunch
04:06:46 <elliott> suggest not taking that attitude
04:06:48 <elliott> imo
04:06:48 <kmc> i'm not.......
04:06:50 <JesseH> :P
04:06:52 <JesseH> bye?
04:06:59 <noooodl>
04:07:06 <kmc> is it your claim that any attempt by communities to set tone in any way constitutes "getting your panties in a bunch"
04:07:21 <kmc> i thought Bike and I were being reasonably polite with our requests
04:07:24 <JesseH> Over what I said? I dont think it was even worth mentioning that you are op.
04:07:30 * kmc rolls eyes
04:07:40 <JesseH> Omergerd attitude! sin sin ban him
04:07:46 <elliott> ok please shut up
04:07:48 <elliott> about this
04:07:49 <kmc> i'm getting sick of you
04:07:50 <elliott> thanks
04:07:59 <elliott> it's really not endearing
04:07:59 <JesseH> Yes, I have done so much wrong in this community.
04:08:23 <elliott> can we like change the topic
04:08:25 <elliott> that would be nice
04:08:28 <JesseH> You never used the term "old fags" or something similar before?
04:08:34 -!- ChanServ has set channel mode: +o elliott.
04:08:37 <kmc> i'm aware of this usage
04:08:42 <elliott> hi about the topic-changing
04:08:42 <kmc> bye JesseH
04:08:44 <JesseH> Right, then why are you upset?
04:08:46 <JesseH> peace
04:08:47 <elliott> can that happen
04:08:50 <elliott> thanks
04:08:55 -!- ChanServ has set channel mode: +o kmc.
04:08:56 <JesseH> See you laters
04:08:57 -!- kmc has kicked JesseH JesseH.
04:08:57 <zzo38> What do you want to change this topic anyways?
04:09:07 -!- kmc has set channel mode: -o kmc.
04:09:07 <elliott> wow kmc
04:09:16 <elliott> stealing my spotlight
04:09:17 <zzo38> Maybe you shouldn't KICK to everyone too much please
04:09:19 <kmc> haha
04:09:34 -!- elliott has set channel mode: +v kmc.
04:09:37 -!- elliott has set channel mode: -o elliott.
04:09:54 <kmc> i don't want to spend an hour explaining to a hostile person that "being aware of this usage" and "thinking it's totally fine" are different
04:10:15 <Bike> i ain't complainin
04:10:31 <Bike> well anyway, i was thinking it would be kinda nice if there was somewhere like #esoteric but for neuroscience instead of CS, so i could be a weirdo for being a naïve realist instead of watching you all be weirdos for being constructivists
04:10:35 <Bike> i can dream
04:10:54 <kmc> i wouldn't mind more talk of neuroscience here
04:10:59 <kmc> that soliton stuff was super interesting
04:11:02 <kmc> even if totally crackpot
04:11:05 <elliott> i think the problem with "#esoteric for $subject" is that it is inevitably #esoteric
04:11:13 <elliott> there is no way to escape the gravitational pull
04:11:13 <zzo38> Do you want to be realist of constructivists? I don't think that is necessarily the only choices!
04:12:03 <Bike> elliott: well if there were any more biologists you'd drive them out with your hostile attitude!!
04:12:55 <elliott> Bike: thankfully crackpots are impervious to criticism (boom)
04:13:15 <Bike> oh, snap
04:13:32 <Bike> kmc: yeah kinda wish i knew more about it but http://upload.wikimedia.org/math/5/e/c/5ec607907b2588dc038c1ef0168475dc.png is rather intimidating
04:14:01 <Bike> i mean so are the nine or whatever equations you need for hodgkin but who's counting
04:14:17 <kmc> \rainbow{PARTIAL DIFFERENTIAL EQUATIONS}
04:14:43 <Bike> i have an entire book on computational modeling of neurons from the 80s, and all the code is in incomprehensible fortran
04:14:46 <Bike> very #esoteric imo
04:15:10 <kmc> i love incomprehensible fortran
04:15:53 <Bike> it's in something halfway between standards and it only ran on the guy's institution's computers it's horrible
04:16:02 <Bike> i transcribed a bit http://mnxmnkmnd.tumblr.com/post/30986287342/
04:17:07 <zzo38> What is your opinion about free will? I think there are two kinds of free will.
04:17:15 <kmc> <3 zzo38
04:17:18 <kmc> zzo38: do you like hugs?
04:17:26 <Bike> like, compatabilism?
04:17:30 <Bike> except spelled correctly
04:17:35 * Fiora hugs!
04:17:45 <zzo38> kmc: Sometimes, but it isn't hug in internet anyways
04:17:52 <kmc> true
04:17:58 <kmc> I like internet hugs and also real hugs
04:18:36 <zzo38> Bike: That is one of the kinds of free will, not both.
04:18:37 * Fiora hugs kmc
04:18:48 <Bike> is the other kind..... incompatibilism
04:18:52 <zzo38> I guess, maybe.
04:18:59 <zzo38> Bike: Yes, I suppose so.
04:19:17 * kmc hugs Fiora
04:19:54 <zzo38> Actually I did find some other Lisp system in C, called LYSP (which stands for "50 Years of Symbolic Processing").
04:19:58 <Bike> the main problem with free will is that i argued about it way too much when i was a fifteen year old atheist and now i just groan and clutch my head when someone brings it up
04:20:06 <Bike> isn't lysp by the maru guy? that's pretty good
04:20:33 <zzo38> Bike: That is the problem of you I think... Are you atheist now, or agnostic?
04:20:53 <Bike> atheist i guess
04:21:00 <Bike> and yes it is a problem of me
04:21:09 <kmc> zzo38: that's a good acronym
04:21:22 <kmc> the maru guy...... like the guy with the cat??
04:21:36 <Bike> the language maru which is named after the cat
04:21:44 <kmc> oh
04:21:46 <Bike> good cat though
04:21:50 <kmc> <3 that cat
04:22:13 <zzo38> O, I thought it is "Marumegane" which is with round glasses.
04:22:45 <Bike> actually maru itself is self-hosting based on C, so you could look at that
04:22:54 <Bike> lots of ugly macrology but it has gc and all
04:22:58 <kmc> rust is self hosting
04:23:01 <zzo38> OK I will look at that too
04:23:02 <kmc> unclear whether this makes any sense
04:23:08 <Bike> also there's uh
04:23:16 <kmc> except as a way to make the language / compiler developers care about whether the language is good
04:23:33 <Bike> the memory pool system has a nice neat scheme implementation with gc hooks and all
04:24:07 <zzo38> Bike: Do you have the URL to look at it?
04:24:26 <Bike> like the scheme specifically? let me check their source control, i've never looked at it online
04:24:36 <Bike> oh. it's on github now. stand by
04:25:00 <Bike> https://github.com/Ravenbrook/mps-temporary/tree/master/example/scheme
04:26:14 <Bike> i guess the fundamental problem with neural simulation is that neurons are hilariously nonlinear.
04:26:33 <coppro> ^
04:26:45 <coppro> nonlinear doesn't even begin to describe it
04:27:12 <Bike> yeah that's what i was trying to get across with "hilariously" but i guess i probably use that word too much
04:27:18 <Bike> nonlinearest
04:28:13 <Bike> the neural simulation book has like four pages of code for simulating a single neuron with a dendritic tree with spines, it's fucking nuts
04:29:21 -!- noooodl has quit (Remote host closed the connection).
04:34:02 -!- augur__ has joined.
04:34:54 -!- augur_ has quit (Read error: Connection reset by peer).
04:36:26 <kmc> MPS is cool
04:36:44 <Bike> yeah they upgraded their site to not look like shit too
04:37:00 <kmc> good i guess
04:37:06 <kmc> does it use twitter bootstrap now
04:37:11 <Bike> haha
04:44:56 -!- Phantom_Hoover has joined.
04:51:39 -!- conehead has joined.
04:53:47 <kmc> twitter dongstrap
05:00:20 <Bike> kmc: btw, another soliton v. hh thing that was mentioned in a review but i didn't think of - solitons don't account for how ion channel blockers like TTX do their poisonous thing
05:00:48 <Phantom_Hoover> http://en.wikipedia.org/wiki/Scottish_National_Liberation_Army
05:01:02 <Phantom_Hoover> i'm really not sure whether this counts as embarrassing or not
05:01:25 <Bike> "In January 2008 two men, Wayne Cook and Steven Robinson were convicted in Manchester of sending miniature bottles of vodka "
05:04:52 <Phantom_Hoover> "In February 2007, SNLA involvement was claimed in the fatal Grayrigg derailment of a Virgin train traveling from London to Glasgow. A points failure was later found to be responsible. Preliminary investigation indicated that there was probably no sabotage."
05:19:46 <Phantom_Hoover> "The Scottish Separatist Group (SSG) has been described as the political wing of the SNLA. The SSG was formed in 1995 by former members and supporters of the SNLA. Both groups want to reverse English immigration into Scotland and promote Gaelic as the country’s national language." oh my god
05:19:55 <Phantom_Hoover> they're just trying so hard to be the scottish ira
05:20:27 <Bike> man that's sad
05:20:33 <Bike> just pass that referendum and be done with it
05:21:38 <Bike> how spoken is gaelic anyway
05:21:42 <kmc> who the hell actually wants to speak gaelic
05:21:44 <Bike> also isn't gaelic a language family not a language
05:21:53 <kmc> sure there's a scottish language in that family, though
05:22:08 <Bike> oh, when they say "gaelic" they mean "scottish gaelic"
05:22:09 <Phantom_Hoover> gaelic is what the scottish version's called
05:22:20 <Bike> wow, that's confusing!
05:22:24 <Phantom_Hoover> i mean in theory it's 'scots gaelic' but everyone just calls it gaelic
05:22:50 <Bike> "The 2001 census of Scotland showed that a total of 58,652 (1.2% of the Scottish population aged over three years old)[6] in Scotland could speak Gaelic at that time" i'm uh, not sure this is gonna work, peeps
05:23:15 <Bike> well, i guess algeria's the same way, really.
05:24:04 <Bike> is what england has done to scotland called "colonialism"
05:25:04 <Phantom_Hoover> i don't think i've ever heard someone calling it that
05:25:08 -!- augur__ has changed nick to augur.
05:25:40 <Bike> i guess there probably haven't been colonies.
05:25:50 <Phantom_Hoover> yes
05:26:18 <Phantom_Hoover> there's not much point in establishing a colony in the country immediately north of you
05:27:06 <Bike> just wondering what you call suppression of minority languages/cultures outside of a colonial context. beinganassism
05:29:07 <Phantom_Hoover> what happened in algeria
05:29:25 <Bike> oh, it was a french colony until like the 60s.
05:29:32 <Phantom_Hoover> linguistically, i mean
05:29:58 <Bike> basically they still speak a whole lot of french despite the government's efforts to restore arabic and berber
05:30:29 <Bike> french has no official status there, and it has the most french speakers of any country, that sort of thing
05:30:41 <kmc> France gave up their other colonies but they maintained for a while that Algeria was an integral part of France
05:30:48 <kmc> for some reason
05:30:54 <Bike> "it's, like, right there, man"
05:31:21 <Phantom_Hoover> if we get rid of it we'll be all lopsided across the mediterranean
05:32:23 <Bike> in battle for algiers the french commander basically says "it's not my job to care why we're doing this, it's up to the voters back home"
05:32:26 <Bike> pretty great
05:33:14 <Phantom_Hoover> i do remember that 'french military history' page mentioning that the french claim the algerian civil war or war of liberation or whatever they decided to call it a victory for france
05:33:30 <Bike> lol.
05:34:13 <Bike> i'm imagining a french spokesperson being like "well we did better than portgual right"
05:34:52 <Phantom_Hoover> "The French consider the departure of the French from Algeria in 1962-63, after 130 years on colonialism, as a French victory and especially consider C. de Gaulle as a hero for 'leading' said victory over the unwilling French public who were very much against the departure. This ended their colonialism. About 2 million ungrateful Algerians lost their lives in this shoddy affair."
05:34:57 <Phantom_Hoover> (the actual quote)
05:35:19 <Bike> um. wow.
05:36:15 <zzo38> Do you know of Wang B-machine? I can consider a variant where the instructions are encoded as basic blocks instead.
05:36:35 <Bike> like wang tiling?
05:36:57 <zzo38> No, it is something different
05:37:26 <zzo38> Although I think they are named after the same person
05:40:41 <zzo38> "[I]n 1966, Robert Berger ... show[ed] how to translate any Turing machine into a set of Wang tiles that tiles the plane if and only if the Turing machine does not halt." This seems like strange and I like this too.
05:41:03 <Bike> i thought you would.
05:45:01 <zzo38> So it must be Turing complete, then.
05:45:13 <Bike> what?
05:45:44 <zzo38> Wang B-machine is also Turing complete.
05:45:56 <Bike> oh.
05:49:55 -!- doesthiswork has quit (Quit: Leaving.).
05:50:38 <zzo38> Maybe the Wang B-machine basic blocks could then even be made in another way, such as a tuple.
05:52:16 <zzo38> It could be a set of integers, a integer, and two labels.
05:53:23 <zzo38> What is the smallest Turing-complete sequent calculus?
05:56:44 -!- Bike has quit (Ping timeout: 260 seconds).
05:58:06 -!- zzo38 has quit (Remote host closed the connection).
06:02:20 -!- JesseH has joined.
06:02:25 <JesseH> My new language! It has begun!
06:03:02 <JesseH> It's called ">_>". http://hastebin.com/vedomobomo | That will output
06:03:03 <JesseH> 1
06:03:04 <JesseH> 5
06:04:01 <JesseH> Anyhow, Ill be on my channel if someone would like to chat about it, or anything about esoteric programming languages for that matter! PM me for details, later!
06:04:05 -!- JesseH has left ("github.com/jessehorne").
06:04:21 <elliott> lol.
06:04:30 -!- sprocklem has quit (Remote host closed the connection).
06:06:07 <Phantom_Hoover> i want to hate him but he's so good-natured
06:06:14 <Phantom_Hoover> it's like if taneb made a brainfuck derivative
06:06:32 <shachaf> `smlist (413)
06:06:39 <HackEgo> smlist (413): shachaf monqy elliott mnoqy
06:12:22 -!- epicmonkey has joined.
06:23:39 -!- epicmonkey has quit (Read error: Operation timed out).
06:32:42 -!- intosh has joined.
06:41:09 -!- JesseH has joined.
06:41:12 <JesseH> http://esolangs.org/wiki/SLang
06:44:38 -!- JesseH has left ("github.com/jessehorne").
06:57:30 -!- conehead has quit (Quit: Textual IRC Client: www.textualapp.com).
07:18:09 <kmc> shachaf: you were unable to get Uber to confirm a Google Voice number, right?
07:23:07 <shachaf> kmc: I think so.
07:23:54 <shachaf> Maybe I just messed something up.
07:29:52 <Phantom_Hoover> uber?
07:31:58 -!- sacje has quit (Ping timeout: 264 seconds).
07:56:35 -!- MindlessDrone has joined.
08:09:14 <kmc> same here
08:13:00 -!- sacje has joined.
08:17:35 -!- sacje has quit (Ping timeout: 264 seconds).
08:42:44 <shachaf> kmc: That's kind of surprising.
08:53:53 -!- daflixis has joined.
08:54:27 <daflixis> How could this hash function be written in an esoteric lang? http://pastebin.com/fKLSat1m As you can see, the state of the hash function is made up of two 32-bit signed integers (a, b) that both start out as 0.
08:55:02 <daflixis> The input is a sequence of characters, drawn from 93 possibilities. Each character from the input is mixed into the state over a progression of 17 rounds and, when the last character has been mixed in, the result is just the final state of (a, b).
08:55:37 <daflixis> Note that addition and multiplication are unchecked (e.g. Int32.MaxValue+1 = Int32.MinValue, Int32.MaxValue*2 = -2) and division rounds towards 0 (e.g. -4/3 = -1, 7/3 = 2). In addition to the hash function, here is translated code to verify that a username/password combination is valid: http://pastebin.com/icX6HHrD
09:02:05 <FreeFull> daflixis: Which esoteric lang though?
09:02:21 <daflixis> FreeFull: Which would suit it best?
09:08:55 <FreeFull> Who knows
09:09:06 <FreeFull> It should be possible to write in most of them
09:09:18 <FreeFull> Not all are turing complete or have the ability to take input and output =P
09:10:14 <lifthrasiir> daflixis: what do you want by writing that hash function with an esolang (whichever it would be)?
09:11:07 <FreeFull> I think daflixis is just curious
09:11:12 <daflixis> JUst interesting to see how it could be implemented
09:11:15 <daflixis> I am curious
09:11:59 <lifthrasiir> there are several esolangs with a considerable support for bitwise operations, which many esolangs do not support.
09:12:58 <lifthrasiir> loop is a bit easier, though unusual control flow in general is one of the selling (hah!) point of many esolangs.
09:13:28 <FreeFull> brainfuck on the other hand doesn't even have division
09:13:28 <lifthrasiir> at least you need an esolang with character I/O (need not to be buffered or interactive) though
09:13:58 <lifthrasiir> (so the original INTERCAL can't be used, but modern INTERCAL variants have character I/O)
09:14:57 <fizzie> It would be reasonably trivial to implement that in Befunge, at least if you assume an implementation where the stack elements are "Int32"s.
09:15:12 <lifthrasiir> if you just want to see how does typical(!) programs written in esolangs look like, then using a code generator like BFBASIC (BASIC to BF compiler) could be an option
09:15:20 <lifthrasiir> except that that would spoil much of the fun :p
09:15:59 <lifthrasiir> fizzie: Befunge-93 does not have bitwise operators though
09:16:32 <fizzie> lifthrasiir: The function in question does not seem to need any.
09:16:54 <lifthrasiir> oh wait, it indeed doesn't have bitwise operators...
09:17:02 <lifthrasiir> then it would be very simple
09:20:58 <daflixis> in befunge?
09:21:22 <fizzie> You might need some extra work in '93 to store a 32-bit value on the playfield (the inner loop doesn't look terribly doable just on the stack, what with no rot), but that's about it.
09:27:28 <FreeFull> I could easily implement it in haskell, although it wouldn't be very esoteric =P
09:28:34 <daflixis> How in haskell?
09:30:56 <FreeFull> Hmm, you mentioned division, but it doesn't have any division =P
09:31:04 <FreeFull> Oh, nevermind, it does
09:37:39 <daflixis> Yea.
09:44:25 <fizzie> I'm tempted to write it in Funge-98, but I'm supposed to be working, and anyway it seems kind of a pointless exercise.
09:44:28 <fizzie> The inner loop in Funge-98 might look like 98+ > \:00g06-*01g+02g+\-00p:01g3/00g+03g+\-\ :#v_ -- assuming some pre-storing of constants, a and b on the playfield, and e on top of stack at start.
09:45:47 <fizzie> (Probably folded on two lines so that the _ is actually a | that goes directly to the >.)
09:46:38 <Deewiant> '*f8+738*+** for 0x74fa and 2'_6'+'@**+* for 0x81be
09:47:22 <Deewiant> Or 2'ß4'@:**+* for 0x81be if non-ASCII is okay
09:48:50 <fizzie> Deewiant: Oh, man; I did Google for Fungify, but didn't seem to see any hits; should've just gone to your page; didn't realize it was there.
09:49:05 <fizzie> (Well, not by *name*, I mean; I didn't remember the name.)
09:50:05 <Deewiant> It's the most obvious name; you don't need to remember it, you can just come up with it and you'll be right.
09:51:18 <fizzie> Well, with those constants inlined, something to the tune of http://sprunge.us/CfQJ perhaps.
09:51:23 <fizzie> (Untested.)
09:52:07 <fizzie> Oh, I forgot a 1- from the loop, heh.
09:52:33 <fizzie> http://sprunge.us/hIdW then. "Whatever."
10:14:34 -!- mnoqy has quit (Quit: hello).
10:41:52 <Phantom_Hoover> hmm
10:42:04 <Phantom_Hoover> what was that incredibly dumb thing the coding horror guy did or said
10:51:50 -!- quintopia has joined.
11:08:16 -!- carado has joined.
11:11:11 -!- Sgeo has quit (Read error: Connection reset by peer).
11:33:28 -!- yorick has joined.
12:04:58 -!- oerjan has joined.
12:10:19 <oerjan> `wiki list of ideas
12:10:23 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: wiki: not found
12:10:29 <oerjan> ^wiki list of ideas
12:10:39 <oerjan> ...naturally.
12:10:45 <oerjan> fizzie!!!!!!!!!!!!!!
12:12:13 <elliott> I like how that shoes as "/hoe/hackbot" for me.
12:12:18 <elliott> and now it fixed itself.
12:14:03 <oerjan> how rude
12:16:02 <oerjan> <zzo38> Bike: Why is the "f" mixed up? <-- are the letters rebelling today
12:16:18 <oerjan> (it wasn't mixed up in the logs)
12:16:57 -!- sebbu has quit (Read error: Connection reset by peer).
12:18:00 -!- sebbu has joined.
12:22:48 <oerjan> `ord >_> or >_>
12:22:50 <HackEgo> 62 95 62 32 111 114 32 62 95 62
12:23:10 <oerjan> very suspicious.
12:23:19 <fizzie> Uh.
12:23:38 <oerjan> fizzie: hm?
12:23:41 -!- fungot has joined.
12:24:03 <oerjan> ^wiki list of ideas
12:24:03 <fungot> http://esolangs.org/wiki/list of ideas
12:24:38 <oerjan> ^show wiki
12:24:39 <fungot> +15[>+4>+7>+7>+8<4-]>3-.>-4..<2+7.<-2.-11..>2-3.<+3.>2-5.-3.<-4.>+2.<+6.<.<-.>3+.+3.<.<2+.>+4.>+2.+2.-2.<2.,[.,]
12:25:17 <fizzie> I think it is finally time for a /hilight -mask fungot!*@* -level quits
12:25:18 <fungot> fizzie: i guess the biggest difficulty with vcs would be in high level code, easily human readable and parsed once not once per request.
12:25:41 <oerjan> finally!
12:25:56 <fizzie> ^raw QUIT :just testing
12:25:57 -!- fungot has quit (Client Quit).
12:25:59 <fizzie> ...
12:26:04 <fizzie> That's not hilighted at all.
12:26:04 <elliott> BRING IT BACK
12:26:14 * elliott hyperventilates in re: no fungot
12:26:20 -!- fungot has joined.
12:26:22 <elliott> ty
12:26:26 <oerjan> i guess fungot is not ideally suited for character escaping.
12:26:26 <fungot> oerjan: that's what i thought too. particularly before there was no way
12:26:29 <fizzie> Why is it that nothing ever works right.
12:26:41 <oerjan> fizzie: impending apocalypse hth
12:28:06 <fizzie> fungot: That was a suspiciously context-appropriate response. Are you feeling quite all right?
12:28:06 <fungot> fizzie: seems like it would hurt. the main designer of the language
12:28:15 <fizzie> fungot: Okay, that's more like it.
12:28:15 <fungot> fizzie: hmm... i wonder if this makes the standard vague on several
12:31:07 <oerjan> fungot: no, it's the unstandard vague on several hth
12:31:08 <fungot> oerjan: ways in an escher painting rolling a hamster wheel...
12:31:20 <oerjan> fungot: yeah, pretty much
12:31:21 <fungot> oerjan: but that is very confusing to me. but it can be used for game dev, you just tend to destroy instead of observe.
12:36:27 <fizzie> I think many game developers are like that.
12:56:53 <oerjan> <elliott> wait, isn't that the COBOL guy <-- yes
12:59:48 <oerjan> @tell Bike <Bike> and yeah lots of topology except they're talking about neighborhoods instead of open sets for whatever reason, i suppose it probably generalizes <-- there are heaps of equivalent definitions of what a topology is, neighborhoods are at least two of them hth
12:59:48 <lambdabot> Consider it noted.
13:00:35 <oerjan> (it's two because you can require the fundamental neigborhoods to be open or not)
13:05:02 <oerjan> @tell Bike open sets, closed sets, closure operation, interior operation, open neighborhoods, general neighborhoods, limit of nets, limit of filters are the ones i can think of on the spot
13:05:02 <lambdabot> Consider it noted.
13:14:30 -!- Nisstyre-laptop has joined.
13:14:32 -!- Nisstyre-laptop has quit (Client Quit).
13:14:34 -!- nooodl has joined.
13:20:10 <oerjan> "Gödel's ontological proof of God's existence uses as an axiom that the set of all "positive properties" is an ultrafilter."
13:26:59 -!- doesthiswork has joined.
13:27:21 -!- nooodl has quit (Read error: Connection reset by peer).
13:29:23 -!- nooodl has joined.
13:41:49 -!- daflixis has quit (Ping timeout: 250 seconds).
13:43:00 -!- stuntane has joined.
13:43:24 -!- stuntane has quit (Client Quit).
13:55:17 -!- conehead has joined.
14:02:07 -!- jsvine has joined.
14:27:29 <oerjan> <JesseH> Over what I said? I dont think it was even worth mentioning that you are op. <-- fwiw i thought the same thing when kmc did hth
14:38:46 -!- Phantom_Hoover has quit (Ping timeout: 268 seconds).
14:46:34 <oerjan> it looks like mr. "the challenges of changing nicks" came by again
14:51:03 <elliott> indeed
14:58:34 -!- nooodl has set topic: 6, 21, 107, 47176870, 7.4 × 10³⁶⁵³⁴ | http://underhanded.xcott.com/?page_id=5 | logs: http://codu.org/logs/_esoteric and http://tunes.org/~nef/logs/esoteric/?C=M;O=D.
15:03:38 -!- conehead has quit (Ping timeout: 246 seconds).
15:33:11 -!- nooodl has quit (Read error: Connection reset by peer).
15:34:17 -!- Bike has joined.
15:37:17 <elliott> why is it so hooooot
15:37:41 -!- jconn has quit (Ping timeout: 248 seconds).
15:37:53 <elliott> Bike can you figure out a way for me to blame you here.
15:38:02 <oerjan> global warming hth
15:38:17 <oerjan> oh wait, bikes are not to blame for that
15:38:19 <Bike> elliott: biological research on cows releasing large amounts of methane into the atmosphere, causing global warming.
15:38:25 <coppro> the wonderful part of canada
15:38:32 <coppro> is that in the summer it's too hot and in the winter it's too cold
15:39:11 <elliott> Bike: ok but can we try and figure out a way to blame you that doesn't involve cow farts.
15:39:55 -!- oerjan has quit (Quit: Righting what once went left).
15:40:40 <Bike> that's kind of a tall order man.
15:50:25 -!- nooodl has joined.
16:05:26 -!- aloril_ has quit (Ping timeout: 248 seconds).
16:08:09 -!- Taneb has joined.
16:19:13 -!- aloril_ has joined.
16:44:54 -!- intosh has quit (Ping timeout: 240 seconds).
17:25:52 -!- nooodl has quit (Read error: Connection reset by peer).
17:32:25 <shachaf> `olist (902)
17:32:27 <HackEgo> olist (902): shachaf oerjan Sgeo FireFly
17:43:18 -!- nooodl has joined.
17:57:13 -!- sacje has joined.
18:03:03 -!- nooodl has quit (Read error: Connection reset by peer).
18:09:42 <kmc> hi everyone
18:10:25 <Bike> hi kmc.
18:10:28 -!- carado_ has joined.
18:10:37 -!- everyone has joined.
18:10:49 <everyone> hi kmc
18:10:52 -!- everyone has quit (Client Quit).
18:12:51 <kmc> :O
18:13:13 <kmc> i hate it when I change code and the changes clearly don't make it into the binary and I don't know why :(
18:13:18 -!- carado_ has quit (Remote host closed the connection).
18:13:24 <kmc> and a clean build from scratch is slow
18:13:37 <shachaf> compiler bug hth
18:14:12 <kmc> quite possibly
18:19:02 -!- doesthiswork has quit (Quit: Leaving.).
18:19:47 -!- nooodl has joined.
18:28:41 <Taneb> Help
18:28:56 <Taneb> What's the nick-length limit on IRC/
18:29:21 -!- Taneb has changed nick to Testtesttesttest.
18:29:29 <Testtesttesttest> 16
18:29:30 <Testtesttesttest> Okay
18:29:32 -!- Testtesttesttest has changed nick to Taneb.
18:30:06 <Bike> it's in the server welcome, NICKLEN=16
18:30:23 <Taneb> Right
18:30:42 <Taneb> Because one of my friends has assigned me the nickname "Schrodigner's Rosebud" for inascertainable reasons
18:30:58 <Taneb> And while I am confused I think it does sound pretty cool
18:31:14 <Taneb> So I felt that maybe it was time to change my IRC nick
18:32:40 <Taneb> But alas, it is too long!
18:32:53 <kmc> <shachaf> compiler bug hth <--- oh surprise it's not a compiler bug, it's just me doing something dumb
18:33:00 <Taneb> I cannot see a way to shorten it beyond 20 characters while retaining what made me love it in the first place
18:33:36 -!- sacje has quit (Excess Flood).
18:34:05 -!- sebbu2 has joined.
18:34:06 -!- sacje has joined.
18:34:11 <shachaf> kmc: did you forget to run the compiler
18:34:13 <shachaf> that would do it
18:36:14 <kmc> no
18:37:25 -!- sebbu has quit (Ping timeout: 268 seconds).
18:37:30 <Taneb> Did you run the wrong compiler
18:37:40 <Taneb> I highly doubt GHC would compile Rust very well
18:38:27 <kmc> no indeed
18:38:34 <kmc> it can compile some things that aren't haskell though
18:39:03 <Taneb> Perhaps you should make GHC able to compile Rust
18:42:21 <kmc> perhaps
18:43:03 <kmc> more reasonable would be to teach Cabal to compile Rust
18:43:10 <kmc> so you can easily have Haskell / Rust hybrid projects
18:43:18 <Bike> quitter
18:43:20 <kmc> it does a pretty slick job compiling and linking C with Haskell
18:44:06 <kmc> Haskell/Rust hybrid makes a lot of sense, because Rust is supposed to be a better alternative to C and C++ for stuff where you would generally use C or C++
18:44:09 <kmc> it's not a competitor to Haskell
18:44:38 <kmc> and Rust is C ABI compatible so standard Haskell FFI stuff should work, although it would be cool to have tools that help you pass higher level data structures between them
18:45:08 <Taneb> Sounds like good GSoC material
18:45:45 <kmc> hm, yeah :)
18:46:19 * kmc → lunch
18:46:34 * Taneb → iron
19:03:23 -!- sacje has quit (Ping timeout: 246 seconds).
19:03:54 -!- sacje has joined.
19:08:07 -!- jconn has joined.
19:18:06 <Taneb> I did not go to iron as previously asserted
19:18:18 <Taneb> My mum said "I'll do the ironing for you"
19:18:20 <Taneb> And messed it up
19:18:21 <Taneb> :(
19:22:06 -!- nooodl has quit (Read error: Connection reset by peer).
19:22:27 -!- sprocklem has joined.
19:39:00 -!- nooodl has joined.
19:39:18 -!- calamari has joined.
19:39:46 <calamari> hi
19:42:33 <calamari> I'm on a language hunt. procedural paradigm, with objects, however the objects can't contain methods, and there are no pointers. anyone heard of something like that?
19:44:21 <Bike> no, there can't be that much in the category for OO though
19:44:42 <calamari> how about real world langs?
19:45:45 <Bike> well i don't know what you mean by 'procedural paradigm' or 'contain methods'
19:46:23 <calamari> objects typically contain data and methods that work on the data
19:46:46 <calamari> so this would be closer to a struct where it is data only
19:47:53 <Bike> well that would be anything with a record type. which is a lot.
19:48:36 <calamari> maybe I need to make a lang like this
19:49:01 <calamari> and see how it works out.. might be fun
19:50:54 -!- nooodl has quit (Ping timeout: 240 seconds).
19:54:48 <fizzie> "Eats iron and shits chain" -- a Finnish idiom.
19:55:49 <Taneb> HQ9++
19:59:53 <ion> I eat iron but that hasn’t happened yet.
20:03:07 -!- nooodl has joined.
20:04:23 -!- Bike has quit (Ping timeout: 264 seconds).
20:04:29 <fizzie> ion: Then you must not be a real Finn.
20:04:41 <fizzie> (Admittedly I have the same "problem".)
20:04:44 -!- JesseH has joined.
20:05:24 -!- comex has joined.
20:05:28 <comex> i'm back
20:05:36 <JesseH> wv
20:05:36 <shachaf> `relcome comex
20:05:37 <JesseH> wb*
20:05:40 <HackEgo> comex: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: http://esolangs.org/wiki/Main_Page. (For the other kind of esoterica, try #esoteric on irc.dal.net.)
20:05:56 -!- Bike has joined.
20:05:56 <comex> here is some code written in a language that does not actually have any implementations: http://pastie.org/private/hsxu6u9wdxkeskofefsv5g
20:06:30 <JesseH> Interesting stuff
20:08:15 <shachaf> I think Rust's new for loop works a bit like that?
20:08:36 <shachaf> Actually not exactly.
20:08:50 <coppro> whoa, comex
20:09:58 <kmc> shachaf: I'm talking in mozilla #rust about Rust-Haskell integration, what do you think?
20:10:43 <shachaf> Haven't been following, let me see.
20:11:27 <comex> maybe i should lurk there
20:11:59 <kmc> it's fun
20:12:13 <kmc> a lot of Haskell projects have some C component and it would be cool to use Rust there instead
20:12:29 <kmc> I think you should be able to e.g. allocate an owned box in Rust and then move it to Haskell code as a ForeignPtr
20:12:44 <kmc> and you could definitely write a tool to help marshal algebraic data between the languages
20:13:18 <kmc> calling into your low-level realtime code but still having algebraic data would be awesome
20:14:14 -!- Bike_ has joined.
20:14:16 -!- Bike has quit (Ping timeout: 240 seconds).
20:14:46 <Fiora> kmc: how does that kind of interfacing work, with like, lazy evaluation and haskelly data structures and stuff?
20:15:30 -!- Bike_ has changed nick to Bike.
20:15:37 <kmc> well turning a Haskell algebraic data structure into a Rust algebraic data structure will involve copying, since they have totally different layout etc.
20:16:02 <kmc> but Haskell also has primitives for working with unboxed arrays, raw C pointers, etc., and tools for wrapping safe interfaces around these things
20:16:18 <kmc> for example ByteString is ultimately backed by a contiguous chunk of memory allocated with malloc()
20:17:08 <Fiora> so like, in haskell, I can declare an array that's just an array of C doubles, and pass it to C without copying?
20:17:13 <Fiora> since it's just an array of doubles
20:17:13 <kmc> yep
20:17:17 <Fiora> cool!
20:17:27 <kmc> useful e.g. for calling some C matrix library
20:17:31 <kmc> (or FORTRAN matrix library!!)
20:17:48 <kmc> of course when you do these things you lose some of the memory safety guarantees of Haskell
20:17:52 <shachaf> kmc: It would be neat.
20:17:53 <kmc> likewise in Rust
20:18:13 <kmc> but in many cases, a good Haskell wrapper for a C library can provide a high level safe interface, even if the guts involve mucking about with allocation and raw pointers
20:18:26 <kmc> and the same is true in Rust basically
20:18:30 <Bike> does haskell (or ghc whatever) actually use malloc and not something that works better with gc'd areas?
20:18:41 <shachaf> ByteStrings use malloc.
20:18:51 <shachaf> That's a library, not something implemented in GHC.
20:18:57 <kmc> the GHC GC doesn't need to know anything about the guts of a ByteString, and would have nothing useful to do with them anyway
20:19:02 <shachaf> Data.Text uses GHC-managed byte arrays.
20:19:55 <kmc> Bike: ByteString uses http://hackage.haskell.org/packages/archive/base/4.2.0.1/doc/html/Foreign-ForeignPtr.html
20:20:21 <kmc> pointer to an object not managed by the GHC RTS, with an attached finalizer that runs when the last copy of that pointer disappears
20:20:28 <kmc> which in this case would just call free()
20:20:35 <Bike> i'm just thinking, like, doesn't malloc involve plenty of overhead
20:20:45 <kmc> use a better malloc then ;P
20:21:05 <shachaf> One of the goals of ByteString is to be interoperable with C code.
20:21:06 <kmc> I don't know; what about the ByteString allocation case makes you think that a specialized allocator could do better than the system default general allocator
20:21:25 <kmc> shachaf: presumably that doesn't include freeing a ByteString from C, though. or do they have a "transfer ownership" method?
20:21:33 -!- oerjan has joined.
20:21:34 <kmc> you can't really do that safely in Haskell, but you can in Rust, which is cool
20:22:10 <kmc> Bike: the thing about ByteString is that it's a general immutable byte buffer type; it could be small or large, have all kinds of different access patterns, etc. according to the application
20:22:20 <Bike> well i'm just thinking like, for malloc you have to have an area of memory laid out into blocks and all, but the runtime might already be doing something of that for itself
20:22:26 <kmc> so I think if you can beat malloc() for ByteString then you should just use that better algorithm as malloc()
20:22:31 <kmc> but I'm not positive
20:22:42 <kmc> like shachaf said GHC does have its own routines for allocating contiguous arrays
20:22:44 <comex> Bike: there is almost certainly libc in the process already
20:22:54 -!- sacje has quit (Ping timeout: 240 seconds).
20:23:02 <Bike> is there? I don't know.
20:23:02 <kmc> btw foreign calls from Haskell to C can be made very fast
20:23:08 <kmc> foreign calls from Rust to C are slow atm :/
20:23:10 <comex> unless there is some way to do static linking
20:23:16 <comex> kmc: why?
20:23:38 <kmc> because Rust uses small segmented stacks, and for a C call you have to jump to a big stack, and perhaps allocate one too
20:23:44 <comex> aha
20:23:46 <comex> ...why does it do that?
20:23:47 <kmc> there isn't a good reason to use segmented stacks on 64-bit architectures, though
20:24:19 <kmc> Rust wants to support lightweight threading and if you allocate a new large stack for every thread, you will quickly run out of 32-bit address space
20:25:05 <shachaf> Is there an unsafe fast C call for things that don't use much stack space?
20:25:17 <Fiora> lightweight thrads, like um... stackless python or something?
20:25:18 <comex> you'd think you could say "this C call will only be used from threads that have previously called <allocate big stack function>"
20:25:22 <comex> well, maybe it will be improved
20:25:27 <kmc> but the OS will lazily allocate physical pages, so you're only constrained by virtual address space and not by actual memory
20:25:39 <kmc> comex: yeah, there is various discussion of improvements
20:26:10 <kmc> shachaf: I think there is such a thing hardcoded for the runtime's calls to e.g. malloc and free, but I don't think you can write a general foreign import that works that way
20:26:15 <comex> though google says segmented stacks themselves have a large performance hit
20:26:20 <kmc> yep
20:26:28 <Fiora> is jumping to another stack, like, bad? I mean, you could like, keep a few arund to use or something, right?
20:26:31 <kmc> you have to check "do I need more stack" on every function call pretty much :(
20:26:53 <Fiora> oh! that reminds me of this which is kind of interesting
20:26:55 <Fiora> kmc: http://support.microsoft.com/kb/100775
20:26:58 <comex> why? can't you just have a guard page?
20:27:14 <kmc> Fiora: yeah I don't know... maybe they want to deallocate them eagerly, because otherwise every thread that has ever made a C call is no longer lightweight
20:27:30 <Fiora> functions that use large amounts of stack have to poke each page they're allocating in order to trigger the guard page
20:27:47 <Fiora> I think, at least? I read it a long time ago...
20:28:03 <kmc> comex: yeah, if you know that the function won't jump more than 1 page up the stack
20:28:07 <kmc> which you could know statically sometimes
20:28:11 <Fiora> kmc: isn't the stack like, thrown away the instant the C function returns? so like, it doesn't need to keep using that big stack chunk thing
20:29:02 <Fiora> (I must be missing something)
20:29:02 <kmc> but if the function might jump 10 pages up the stack, then you need 10 guard pages, and in the limit you are using so much VM that you might as well have a big stack
20:29:18 -!- sacje has joined.
20:29:26 <kmc> you're suggesting a pool of big stacks for calling C?
20:29:32 <kmc> that might already be how it works; I'm not sure
20:29:36 <Fiora> I think so?
20:29:49 <Fiora> I wonder how stack guard pages work on different OSs... there must be standards or something...
20:29:55 <Fiora> since that link is just like, windows
20:30:06 <Fiora> (I think it's "ensure we only need one guard page"?)
20:30:16 <shachaf> Did you know checkinstall's wrappers around libc calls allocate lots of big structs containing n*MAX_PATH bytes on the stack?
20:30:34 <shachaf> I found this out when I tried to checkinstall something which was using a coroutine library with small stacks.
20:30:40 <comex> heh
20:30:46 <shachaf> "make install" ran "make test", which ran some binaries, which called open() etc.
20:31:35 * Fiora goes to try to compile a linux function that uses a lot of stack to see what the compiler does.
20:31:40 <shachaf> kmc: Isn't there a thing where a debugger can mark pages with the objects unreadable to catch accesses in software?
20:32:00 <shachaf> Of course that would be very slow.
20:32:13 <olsner> Fiora: you could just map the maximum stack size and lazily provide physical pages, then you don't need a guard page and you'll just get a normal page fault if you go outside the stack
20:32:14 <kmc> yeah, GDB can do that
20:32:28 <Fiora> olsner: but like, what if past the guard page is other valid memory?
20:32:35 <olsner> then you access it :)
20:32:47 <Fiora> but like, couldn't it be something you're not supposed to be clobbering?
20:32:51 <Fiora> like other program data
20:32:58 -!- sebbu2 has changed nick to sebbu.
20:33:01 <comex> olsner: and then you run out of address space :)
20:33:02 <olsner> sure, then some stuff breaks :)
20:33:09 <comex> i don't care about x86, but i do care about ARM
20:33:10 <Fiora> that... doesn't sound like a good idea XD
20:33:34 <olsner> don't run out of stack, hth
20:33:56 <comex> actually, please use recursion a lot and don't check for overflow
20:34:03 <comex> so you can be sploited
20:34:33 <kmc> george w bush doesn't care about x86
20:34:46 <shachaf> Joke's on you, I used tail recursion!
20:35:00 <kmc> comex: did you see the Linux security hole that resulted from a driver that used a C99 VLA with user-controlled size?
20:35:10 <comex> no, but I believe I found at least one such hole in OS X
20:35:13 <kmc> nice
20:35:14 <comex> :)
20:35:25 <kmc> Linux kernel stacks are only 8 kB usually
20:35:34 <kmc> not hard to overflow one
20:36:25 -!- mnoqy has joined.
20:38:18 <Fiora> geez, even if I try to make a function that uses like 8 megabytes of stack it doesn't do anything like chkstk
20:38:22 <Fiora> I guess that's just a windows thing >_<
20:38:39 <kmc> yeah I don't think Linux programs detect stack overflow typically
20:39:05 <Fiora> I wonder why that's just a windows ABI thing...
20:39:48 <comex> because you shouldn't be using that much stack, it's silly
20:39:53 <kmc> dunno
20:39:55 <kmc> windows also has SEH
20:40:06 <comex> and if you say VLAs - you shouldn't be using VLAs, ever
20:40:13 <kmc> i love VLAs, they're so easy
20:40:16 <comex> well, at least without checking the size you're allocating
20:40:19 <shachaf> Ever?
20:40:22 <comex> but really, better not to use them ever :)
20:40:26 <Fiora> 401170: 56 push esi
20:40:27 <Fiora> 401171: b8 80 3e 00 00 mov eax,0x3e80
20:40:27 <Fiora> 401176: 53 push ebx
20:40:27 <Fiora> 401177: e8 64 00 00 00 call 4011e0 <___chkstk>
20:40:33 -!- FreeFull has quit (Read error: Operation timed out).
20:40:43 <olsner> culture difference, I guess... windows went "failures have to be detected and abort the program" vs linux "don't run out of stack or you'll have weird and undefined problems"
20:40:59 <Fiora> abort...? I thought the idea was to like, add more pages (?)
20:41:08 <kmc> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14236 is fun... don't use VLAs and alloca() together in GCC or you're gonna have a bad time
20:41:13 <Fiora> like you have a guard page and then if you hit it you throw more on the end or am I totally misunderstanding
20:41:20 <kmc> 9 year old open bug
20:41:51 <kmc> not as epic as http://gcc.gnu.org/bugzilla/show_bug.cgi?id=323
20:41:59 <shachaf> Fiora: Your link says "issues an overflow error".
20:42:14 <Fiora> oh @_@
20:42:15 <shachaf> Or maybe you're talking about something else?
20:42:24 <Fiora> sorry, I can't read >_<
20:42:31 -!- calamari has quit (Quit: Bye).
20:43:03 <olsner> you probably get pages allocated automatically up until the guard page, and the guard page is between the stack and the heap or something else in address space
20:43:13 <olsner> to detect and prevent the stack from overlapping that other stuff
20:43:42 <Fiora> on 64-bit wouldn't it have a ton of address space, so it can just like, lazily allocate the stack to avoid wasting memory, or... (?)
20:43:42 <kmc> when you're lucky yeah
20:44:05 <kmc> on any modern OS (32- or 64-bit) the physical pages of the stack will be allocated lazily
20:44:10 <kmc> like any other anonymous mapping basically
20:44:36 <kmc> and that doesn't have to be contiguous or anything
20:44:44 <Fiora> wow.... that 9 year old bug. that's... a lot of duplicates
20:44:52 <kmc> and is basically transparent to user code
20:44:58 <shachaf> I'll take comex's advice and use alloca instead of VLAs.
20:44:59 <kmc> on Linux (and probably other OSes) the virtual memory mapping itself also grows on faults
20:45:02 -!- FreeFull has joined.
20:45:30 <kmc> this is not transparent; you could mmap() something in the way and then it won't be able to grow anymore
20:45:33 <kmc> I think
20:45:55 <Fiora> oh geez. is this like an x87 80-bit/64-bit bug thing? like um... that... that php infinite loop double thing
20:46:00 <kmc> yeah
20:46:02 <kmc> that's how i found this ticket
20:46:21 <kmc> it has a lot of dupes because people keep claiming that gcc's -ffast-math behavior is a compiler bug when in fact it's perfectly reasonable and documented
20:46:26 <kmc> more like -fwrong-math
20:46:41 <Fiora> oh, is this only with -ffast-math?
20:46:50 <kmc> there's another huge bug thread that basically has a dupe from everyone who doesn't understand sequence points and claims a compiler bug for that reason
20:46:54 <kmc> i think so
20:47:13 <kmc> maybe not?
20:47:19 <olsner> I don't think -O enables fast-math
20:47:21 <shachaf> @quote monochrom bits
20:47:22 <lambdabot> monochrom says: 8-bit word uses less memory, but if it doesn't have to preserve information, I know how to use 0 bits of memory.
20:47:24 <Fiora> Bike: oh gosh. now I'm thinking of um. that x87 guy
20:47:28 <kmc> bleh I should be working instead of talking about cool things :/
20:47:50 <Bike> not the x87 guy D:
20:48:08 <Bike> internal tzetze problem: i conflate the x87 guy and zeilberger in my head, because they are both crazy
20:48:46 <Bike> so, unrelatedly, somebody is asking for recommendations for books to self-study high school algebra
20:48:54 <Bike> and i'm blanking because like, that was years ago. any ideas?
20:50:20 <olsner> I wonder what C actually specifies should happen with this excess precision
20:50:29 <olsner> (I also wonder if I really want to know)
20:53:48 <kmc> knowing is half the battle
20:54:53 <Fiora> Bike: I'm now imagining, like, a bunch of bearded linux programmers holding signs in front of his houses
20:54:58 <Fiora> with slogans like
20:55:00 <comex> i believe C specifies IEEE 754
20:55:03 <Fiora> "GIVE US BACK OUR COMMUTIVITY"
20:55:21 <comex> well... if __STDC_IEC_559__ is set, anyway
20:55:25 <Bike> aaaaah
20:55:43 <kmc> `quote __STDC_IEC_559__
20:55:45 <HackEgo> 852) <zzo38> What is portable way of load/save floating points in files, using a C code? <kmc> #ifndef __STDC_IEC_559__ #error Here's a nickel, kid. Buy a real computer. #endif
20:56:12 <kmc> hm do IEEE 754 floats vary with machine endianness?
20:56:16 <comex> yes
20:56:20 <kmc> sucks
20:56:33 <kmc> so my answer isn't just unhelpful, it's also wrong :'(
20:56:48 <comex> not the end of the world, you have to swap everything else already
20:57:32 <Bike> i follow an evolutionary biomechanist on twitter and he posts cat gifs and elephants
20:57:40 <olsner> eww, don't swap. serialize.
20:58:02 <kmc> I guess the real answer involves frexp() or something
20:58:50 <comex> olsner: too hard
20:58:53 <comex> in C, that is
20:58:58 <comex> easier in any higher level language
21:00:07 <kmc> serializing floats efficiently and without losing precision is moderately tricky
21:00:33 <kmc> it's annoying that frexp() still returns a floating point mantissa, not an integer one
21:00:34 <olsner> well, at least using some read/write_portable_float function is easy, writing those functions might be less so
21:00:54 <Bike> it should be reasonably ok as long as you don't have to change base right
21:02:34 <Fiora> "It looks like the standard xgcc for the arm-elf target uses little endian byte order but big endian word order (1.0 => 0x0000F03F 0x00000000)." scary
21:03:35 <Bike> wow.
21:03:50 <olsner> cool, I thought all mixed-endian platforms were dead
21:04:06 <kmc> the PDP isn't dead! it's running nuclear reactors as we speak
21:04:14 <kmc> until 2050
21:04:29 <kmc> http://www.theregister.co.uk/2013/06/19/nuke_plants_to_keep_pdp11_until_2050/
21:04:47 <Fiora> I think that might be a softfloat thing?
21:05:06 <Fiora> like for ARMs where all the double stuff has to be emulated
21:06:14 -!- nooodl has quit (Ping timeout: 248 seconds).
21:06:22 -!- MindlessDrone has quit (Quit: MindlessDrone).
21:06:53 <Bike> that's not as funny.
21:20:57 -!- nooodl has joined.
21:24:18 -!- Nisstyre has joined.
21:29:05 -!- Frooxius has quit (Read error: Connection reset by peer).
21:31:01 -!- Frooxius has joined.
21:31:41 <oerjan> does pdp11 have something like the year 2038 problem?
21:31:49 -!- Bike has quit (Ping timeout: 248 seconds).
21:32:30 <oerjan> maybe that's _why_ they will stop in 2050
21:34:29 -!- conehead has joined.
21:35:18 -!- Bike_ has joined.
21:38:37 <oerjan> wait when running unix it probably has 2038 problems, period. maybe.
21:40:14 <Taneb> I've got 2038 problems but Y2K ain't one
21:49:58 <oerjan> <Taneb> And messed it up <-- i conclude you are better at ironing than your mother
21:50:32 <Taneb> I'm better at reading instructions for t-shirt transfers than my mother
21:51:01 <oerjan> she ruined your cosplay shirt? :(
21:51:26 <olsner> would a nuclear reactor run unix?
21:51:47 <oerjan> olsner: i don't know
21:52:00 <Taneb> oerjan, nah, just didn't do it very well
21:52:03 <olsner> oerjan: that doesn't help
21:52:07 <Fiora> cosplaying a homestuck?
21:52:44 -!- copumpkin has quit (Ping timeout: 246 seconds).
21:53:22 -!- copumpkin has joined.
21:54:06 <Taneb> Yeah, Jake English
21:54:35 <Fiora> you should totally go with a Dirk
21:55:10 <Taneb> Don't know anyone who cosplays Dirk who doesn't have their own Jake :)
21:55:11 <Taneb> *(
21:55:12 <Taneb> :(
21:55:20 <Taneb> Sadness was the emotion I wanted
21:55:22 <Taneb> Not happiness
21:55:23 <Taneb> aaaah
21:55:32 <Fiora> it's okay!
21:55:39 <Fiora> I get what you meant!
21:55:42 -!- Bike_ has changed nick to Bike.
22:02:06 <Bike> http://phenomena.nationalgeographic.com/files/2013/07/Tall-remora-figure-600.jpg remoras have stylish hats
22:04:05 -!- Taneb has quit (Quit: Leaving).
22:05:32 -!- augur_ has joined.
22:06:07 -!- augur has quit (Read error: Connection reset by peer).
22:06:31 -!- augur has joined.
22:06:42 -!- yorick has quit (Remote host closed the connection).
22:10:46 -!- augur_ has quit (Ping timeout: 276 seconds).
22:13:07 <oerjan> <Bike> does haskell (or ghc whatever) actually use malloc and not something that works better with gc'd areas? <-- note that the ByteString mentions are a special case done by the library; normal haskell types get allocated through ghc's own GC-adapted system, which doesn't use malloc but instead OS-dependent large memory allocation calls (i think mmap for linux)
22:15:45 <oerjan> so basically, ghc's runtime normally does handle most of it by itself
22:17:07 <oerjan> Bike: ^
22:17:44 <Bike> k
22:31:03 <kmc> yes
22:31:45 <kmc> normal Haskell objects are garbage collected and can be moved, which means allocation can be super fast
22:32:32 <shachaf> I don't know whether GHC's allocator uses mmap or malloc for allocating the big chunks of memory tht it manages, but I doubt that really matters.
22:32:41 <kmc> right, they're like 4 MB
22:33:00 <kmc> you have a region for new objects, and a pointer to where the next object goes, and you just bump that pointer on every alloc
22:33:06 <kmc> no need to find a good fit in a free list, like malloc does
22:33:22 <kmc> and then once some of those objects die, the GC can move things around
22:47:01 <kmc> I think if you ask most mallocs for 4 MB they will call mmap anyway
22:48:39 <Fiora> that means GHC can use the big pages, right?
22:49:20 <kmc> yeah but it doesn't
22:49:30 <kmc> except that Linux will transparently use big pages these days
22:51:28 <shachaf> linux calls them "huge pages"
22:51:37 <shachaf> much better name than windows's "large pages" imo
22:52:03 <Fiora> I remember reading that AMD now supported like 2GB pages but the big ones in linux were 2MB which confused me a little
22:52:38 <Fiora> (maybe it was a misprint?)
22:53:04 <shachaf> I think there are several sizes.
22:53:07 <olsner> afaik, 1GB and 2MB are the only "big" page sizes supported on amd64
22:53:13 <pikhq_> Yup.
22:53:14 <shachaf> 2GB pages sound like a very specialized sort of thing.
22:53:15 <Fiora> oh, it's 1GB
22:53:16 <olsner> but in some 32-bit you can get 4MB pages
22:53:20 <shachaf> Or 1GB.
22:53:22 <Fiora> how does 1GB pages work?
22:53:35 <pikhq_> As you'd expect. It's a page that's 1G.
22:53:45 <pikhq_> It's not used much courtesy of being niche.
22:53:53 <Fiora> oh, so like, something like linux wouldn't support it?
22:54:08 <kmc> that sounds useful for setting up direct mappings within your kernel
22:54:08 <shachaf> Why wouldn't it?
22:54:19 <kmc> not as useful for userspace
22:55:19 <olsner> 2MB and 1GB pages use the same mechanism (a bit in the page table entry says it's a big page rather than a pointer to another level of page tables)
22:55:53 <Bike> http://en.wikipedia.org/wiki/File:Enormous_Sunfish.jpg this fish is bullshit
22:55:58 <kmc> ls /sys/kernel/mm/hugepages
22:56:00 <kmc> to see the supported sizes
22:56:03 <kmc> I only have 2048kB
22:56:27 <pikhq_> I bet Linux doesn't export support for 1G pages to userspace.
22:56:33 <olsner> but for some reason 4TB pages don't exist (despite having the exact same structure and an available bit)
22:56:34 <shachaf> I think you need to enable 1GB pages at boot time.
22:56:34 <kmc> yeah, I don't think it does
22:56:38 <pikhq_> Courtesy of being dubious.
22:56:54 -!- jsvine has quit (Quit: Leaving.).
22:57:01 <olsner> 1GB pages require cpu support too, and doesn't seem to be supported by most intel cpus
22:57:02 <kmc> could be useful for database servers or such
22:57:02 <shachaf> I thought the 1GB pages were exposed to userspace?
22:57:09 <kmc> can you have a file-backed hugepage mapping
22:57:48 <Fiora> Bike: http://upload.wikimedia.org/wikipedia/commons/f/f5/Mola-mola-Lisboa-20051020.jpg it's kind of cute
22:58:28 <kmc> oh yeah I saw one of those in Galápagos
22:58:33 <kmc> weird fish
22:59:22 <Bike> «he Chinese translation of its academic name is fan-che yu 翻車魚, meaning "toppled car fish"» it's pretty orientalist of me but i really dig literal translations of chinese translations
22:59:42 <Bike> Fiora: cute, and weightier than a smartcar
23:00:06 -!- Nisstyre has quit (Quit: Leaving).
23:00:35 <Fiora> you got to go to galapagos? wow
23:01:01 <Bike> wow it's literally heavier than a fortwo.
23:01:25 <Bike> on average. big sunfish apparently get up to 2.3 Mg which is a bit horrifying
23:03:08 <olsner> (looks like pdpe1gb is the cpuinfo flag to check for)
23:03:40 <Bike> http://en.wikipedia.org/wiki/File:Mola_mola-Skelett,_Naturhistorisches_Museum_Wien.jpg yo wassup
23:03:44 <Fiora> wow. that's a huge fish
23:04:41 <Bike> "By basking on its side at the surface, the sunfish also allows seabirds to feed on parasites from its skin." cute
23:05:54 -!- carado has quit (Ping timeout: 256 seconds).
23:05:55 <Bike> "Sea lions appear to hunt sunfish for sport, tearing the fins off, tossing the body around, and then simply abandoning the still-living but helpless fish to die on the seafloor" less cute
23:06:05 <Fiora> ;_;
23:06:29 <Fiora> "Newly hatched sunfish larvae are only 2.5 mm (0.098 in) long."
23:06:58 <Fiora> "Injuries from sunfish are rare, although there is a slight danger from large sunfish leaping out of the water onto boats; in one instance a boy was knocked off his boat when a sunfish leaped onto it."
23:07:18 <Bike> awesome
23:07:32 <Fiora> "The by-catch rate is even higher for the Mediterranean swordfish industry, with 71% to 90% of the total catch being sunfish."
23:07:38 <Fiora> that is kind of amazing
23:07:46 <Fiora> "we're a swordfish fishery. 90% of our catch is actually sunfish"
23:10:32 <Fiora> http://upload.wikimedia.org/wikipedia/commons/9/98/Mola_mola.jpg gosh they look so adorably doofy XD
23:11:02 <Bike> they weigh as much of a car and lay 300 million eggs at a time, i'm amazed anybody catches anything else :p
23:11:21 <Fiora> 300 million @___@
23:12:23 <shachaf> 0.0003 trillion eggs
23:12:26 <shachaf> that's nothing
23:12:32 <Bike> i mean obviously they almost all die.
23:13:11 <shachaf> What do you call concurrency things that aren't primitives?
23:13:50 <Bike> complicatives
23:16:01 <Bike> http://en.wikipedia.org/wiki/File:Rhtyp_u0_white_bg.gif lookin' at big fish now
23:16:06 <Bike> in the form of weird pixel art
23:18:23 <Fiora> I was looking at that one too <.<
23:18:37 <kmc> fishbase
23:20:34 <shachaf> kmc: I linked someone in #haskell to the FAQ and they ignored it so people started typing the same thing in the channel instead.
23:20:45 <shachaf> What do you do to get people to actually read links?
23:21:02 <kmc> i suggest disproportionate violence
23:21:53 <shachaf> sounds good
23:22:04 <Fiora> I suggest friendliness!
23:22:20 <kmc> http://static.rust-lang.org/doc/0.7/std/cast.html Rust has so many different exciting kinds of unsafe cast!
23:22:29 <shachaf> Fiora: what kind of friendliness
23:22:46 <kmc> I like "forget: Move a thing into the void"
23:22:49 <shachaf> kmc: imo it's missing "transmogrify"
23:23:08 <kmc> yeah
23:23:11 <kmc> agree
23:23:16 <Bike> http://en.wikipedia.org/wiki/Spy_hopping#Spyhopping ethology is the best
23:23:32 <Fiora> http://en.wikipedia.org/wiki/Megamouth_shark @_@
23:23:34 <Bike> Fiora: "i suggest disproportionate friendliness"
23:23:43 <kmc> #haskell already has plenty of that
23:23:55 <Bike> kmc: "This can be used for various acts of magick." dorks
23:24:13 <shachaf> Bike: what's with insulting people like that all the time
23:24:20 <kmc> http://static.rust-lang.org/doc/std/local_data.html "Casting 'Arcane Sight' reveals an overwhelming aura of Transmutation magic."
23:26:01 <Bike> shachaf: http://www.youtube.com/watch?v=IRsPheErBj8
23:26:39 <kmc> is that from Homer Goes to College?
23:26:47 <shachaf> Bike: yes, that
23:27:02 <kmc> great episode
23:27:06 <shachaf> why do you do it
23:27:06 <kmc> written by conan o'brien
23:27:19 <kmc> presumably he does it because we're all huge dorks and that makes it funny
23:27:48 <kmc> i don't mind because "dork" is a pretty mild, even affectionate label
23:30:21 <Bike> that's the idea yeah
23:30:41 <Bike> i'm sitting here reading about extinct sharks, i'm not in a position to stuff you into your locker
23:32:03 <shachaf> i'm not particularly worried about being stuffed into lockers
23:32:15 <kmc> what's the best extinct shark
23:33:28 <Bike> i guess megalodon is too obvious.
23:34:44 -!- zzo38 has joined.
23:34:56 <Fiora> I would say when I say dork I mean it affectionately but bike will probably just counter by telling me that I mean everything affectionately
23:35:02 <kmc> haha
23:35:19 <kmc> how do the two of you know each other, anyway?
23:35:39 <Bike> a different irc channel
23:35:47 <Fiora> he dragged me here from a place
23:36:04 <Bike> this is what happens when you're a shut-in, see, you just meet everybody online
23:36:05 <shachaf> Fiora: "doooooorks" seems to have pretty obvious insult undertones
23:36:11 <shachaf> i mean, it's also pretty obviously a joke
23:36:24 <shachaf> the joke is that he's acting as if he's insulting you but he doesn't actually mean it
23:36:28 <shachaf> or something
23:36:35 <Fiora> Bike: gpoy ._.
23:37:31 <shachaf> <#haskell> haskell is the best. but i can imagine things, which could be better.
23:37:49 <Bike> it would be kind of an interesting real life meeting that had both a 20yo dropout biologist thing and also fiora the haxor
23:38:32 <olsner> is Bike the dropout biologist thing?
23:38:38 <Bike> yes
23:38:42 <Fiora> I am not a haxor
23:38:47 <Fiora> in any sense, really
23:39:28 <Bike> how do you explain that you were sighted in an 80s movie talking about firewalls!
23:39:40 -!- kallisti has joined.
23:39:41 -!- kallisti has quit (Changing host).
23:39:41 -!- kallisti has joined.
23:39:41 <shachaf> i thought you were one iff people called you one
23:40:01 <shachaf> the question is just which kind you are
23:40:13 <olsner> what kinds are there?
23:40:16 <kmc> can i be a haxxxor
23:40:31 <Bike> dude i'm underage
23:40:48 <Fiora> I wasn't even alive in the 80s <_>
23:40:55 <olsner> is "20yo" underage?
23:41:09 <Fiora> shachaf: http://puu.sh/3y07p.gif
23:41:11 <shachaf> kmc: that's too many xs. that's just ridiculous
23:41:14 <Bike> i am complete, olsner, but not consistent.
23:43:32 <shachaf> kmc: i like how function call is actually an operation on function pointers, not functions, in C
23:43:38 <kmc> what kind of "underage" are we talking
23:43:43 <shachaf> just like x[y] is an operation on pointers, not arrays
23:43:48 <Bike> Fiora: cool how it goes in and out of focus
23:43:48 <kmc> yeah
23:44:00 <shachaf> "age" is 25 years old
23:44:24 <shachaf> @wn overage
23:44:25 <kmc> im 25 years old
23:44:25 <lambdabot> *** "overage" wn "WordNet (r) 3.0 (2006)"
23:44:25 <lambdabot> overage
23:44:26 <lambdabot> adj 1: too old to be useful; "He left the house...for the
23:44:26 <lambdabot> support of twelve superannuated wool carders"- Anthony
23:44:26 <lambdabot> Trollope [syn: {overage}, {overaged}, {superannuated},
23:44:27 <lambdabot> [3 @more lines]
23:44:32 <shachaf> hmm, not that
23:44:33 <shachaf> @more
23:44:33 <lambdabot> {over-the-hill}]
23:44:33 <lambdabot> n 1: a surplus or excess of money or merchandise that is
23:44:33 <lambdabot> actually on hand and that exceeds expectations
23:44:36 <shachaf> there we go
23:44:51 <shachaf> underage is the lack of money or merchandise compared to expectations
23:45:10 <shachaf> underäge, on the other hand...............
23:45:12 <olsner> shachaf: although functions decay to function pointers quickly, I don't think function calls actually also do that
23:45:47 <shachaf> olsner: Do they not?
23:46:44 <Fiora> Bike: anyways I think the meeting would probably involve us both being awkward and me being shy and nobody saying anything for a while
23:47:06 <Bike> should be like my other offline meets: involving pizza and action films
23:47:08 <kmc> that's why you need some loudmouth people around too
23:47:12 <kmc> like me? sometimes?
23:47:18 <kmc> but sometimes I am also shy and awkward
23:47:37 <Bike> well if we get enough internet people /someone/ must be a loudmouth... right...............?
23:47:39 <shachaf> i can confirm all of the above
23:47:47 <shachaf> am i a loudmouth
23:47:52 <kmc> hardly
23:48:02 <shachaf> probably not around people i don't know p. well
23:48:05 <shachaf> but maybe sometimes
23:48:07 <shachaf> who knows
23:49:08 <olsner> "Web homescreens", "cloud desktops": the core interface of devices
23:49:20 <Bike> those sound like star trek words.
23:49:31 <kmc> shachaf: do you know me p. well, now?
23:50:15 <olsner> does anyone else read "BS in Computer Science" as Bullshit in CS?
23:50:31 <Bike> sometimes
23:50:36 <shachaf> hmm, i don't know
23:50:46 <Bike> you know the saying. bullshit, more shit, piled higher and deeper
23:52:58 <fizzie> olsner: The function call operator is specified to take a function pointer (with a footnote something like "usually from a conversion of a function designator"), so I'd say they do.
23:53:10 <olsner> fizzie: cool
23:53:21 <shachaf> fizzie: so what can you do with actual functions
23:53:46 <Bike> cast them to char[] and go fucking nuts, imo
23:54:31 <shachaf> you can try to take their sizeof (and fail)
23:54:32 <kmc> you can typedef function types in addition to function pointer types, which is neat
23:55:06 <Fiora> so you can do, like, putc(*(char*)foo);?
23:55:32 <fizzie> shachaf: You can apply the & operator to one, to get a pointer to the function.
23:55:41 -!- olsner has left ("Leaving").
23:55:41 <Bike> i really doubt that's portable, i just think it would be funny
23:55:47 <shachaf> fizzie: or you can do j. about anything else with it
23:55:48 -!- olsner has joined.
23:55:53 <shachaf> and get the same pointer??
23:55:58 <olsner> ... that was not the right key
23:56:23 <kmc> int main() { typedef int foo(const char *); foo puts; puts("hello world"); return 0; }
23:56:33 <fizzie> shachaf: Yes. But the j. about anything would presumably act on the result of the conversion, not the actual function.
23:57:10 <shachaf> fizzie: right, i mean that doing & doesn't do you a w. lot of good compared to just letting the function decay
23:57:12 <Fiora> foo.c:10:1: warning: ISO C forbids conversion of function pointer to object poin
23:57:13 <shachaf> or does it??
23:57:15 <Fiora> ter type
23:57:17 <Fiora> (apparently!)
23:57:21 <olsner> Fiora: I think that's undefined if foo is a function since a function isn't a char
23:57:22 <shachaf> i mean, you can say sizeof &foo, i suppose
23:57:24 <Fiora> but at least in my gcc that's a pedantic
23:57:30 <Fiora> sorry, I meant *(char)*&foo
23:57:33 <Fiora> um
23:57:36 <Fiora> *(char*)&foo
23:57:42 <fizzie> Fiora: I was about to say that. You can't convert a function pointer to a void * either.
23:57:49 <shachaf> just cast it to uintptr_t or something first hth
23:57:50 <olsner> and/or because of function pointers being weirder than pointers and not really convertible
23:57:53 <shachaf> that'll make it defined behavior again
23:59:52 <fizzie> You can't convert any pointer (in a defined way) to uintptr_t (if it even exists), just a void *.
←2013-07-18 2013-07-19 2013-07-20→ ↑2013 ↑all