←2010-07-26 2010-07-27 2010-07-28→ ↑2010 ↑all
00:00:03 <aliseiphone> cpressey: I knew I shoulda turned left at Alberquerque. Or however you spell it.
00:00:10 -!- SevenInchBread has quit (Ping timeout: 260 seconds).
00:00:18 <ivancastillo75> I think however i'm not gonna find what
00:00:22 <oerjan> ivancastillo75: this is one of the nerdiest channels on the internet, surely. don't expect much "normal" talk
00:00:33 <cpressey> aliseiphone: First the wadding! Then the shot! THEN the powder! ...
00:00:39 <Sgeo> ivancastillo75, we speak English. Computers do not speak English. People have made languages used to give computers instructions. Some people (like us) make weird such languages and use them, for fun
00:00:41 <aliseiphone> ivancastillo75: Basically look at it this way. We're /all/ the Cheshire Cat.
00:00:41 <aliseiphone> ivancastillo75: Isn't that wonderful?
00:01:04 <Sgeo> Oh, well, there is a Plain English programming language somewhere.
00:01:06 <Sgeo> Don't use it.
00:01:10 <aliseiphone> Sgeo is trying reasonable explanation. I scoff at him! Scoff!
00:01:44 <ais523> /me->talk_only_in(new ObjectOrientedSpeech(type => 'pseudocode', syntax => vaguely('Perl-like'));
00:01:57 <aliseiphone> ivancastillo75: we are usually /slightly/ saner than this
00:02:00 <oerjan> "But I don't want to go among mad people," Alice remarked. "Oh, you can't help that," said the Cat: "we're all mad here. I'm mad. You're mad." "How do you know I'm mad?" said Alice. "You must be," said the Cat, "or you wouldn't have come here."
00:02:04 <ais523> hmm, I wonder if the /me is legal Perl syntax?
00:02:15 <ais523> oh, could be if it was the end of a s// statement on a previous line
00:02:18 <aliseiphone> ivancastillo75: say in the day. I'm in a mental institution so I'm the bad influence.
00:02:32 <aliseiphone> and I'm not here in the day, ergo...
00:02:33 <ivancastillo75> You're alright aliseiphone.
00:02:57 <ais523> hmm, if only we were ontopic more often, this sort of debacle would happen less often
00:03:06 <cpressey> But if you really want someone you can talk to, ivancastillo75, you should strike up a conversation with fungot.
00:03:06 <fungot> cpressey: you've been corrupted :) nice progress on that fnord project was able to achieve victory in world war ii. its power is derived mainly from the fact that cl is " ok"
00:03:10 * Sgeo loves debacles!
00:03:16 <aliseiphone> ivancastillo75: That's what they want you to think. Mwahahahaha!
00:03:32 <aliseiphone> Thank you iPhone for adding the right number of "ha"s.
00:03:32 <Sgeo> Therefore, I will strive to steer conversation offtopic.
00:03:42 <Sgeo> As of now, I am abandoning work on PSOX.
00:03:50 <Sgeo> *cue cheers*
00:03:54 <aliseiphone> Sgeo: Yaaaay
00:04:35 <oerjan> ais523: if only the _topic_ were on topic more often, you mean >:)
00:04:47 <ivancastillo75> But I still can't see how this space can enlighten me; except only by the experience!
00:04:56 <ais523> oerjan: it's easy to make the topic ontopic
00:05:17 -!- ais523 has set topic: (a(:^)*S):^ | http://tunes.org/~nef/logs/esoteric/?C=M;O=D.
00:05:27 <Sgeo> ivancastillo75, the goal of this channel is not spiritual enlightment. Some of us don't even believe in spiritual stuff
00:05:31 <oerjan> ais523: only until you look away for a moment
00:05:34 <aliseiphone> ivancastillo75: you know this babble?
00:05:36 <Gregor-W> Sgeo: Such as most of us.
00:05:41 <oerjan> ^ul (a(:^)*S):^
00:05:41 <fungot> (a(:^)*S):^
00:05:51 <aliseiphone> ivancastillo75: It's how the eightebed communicate.
00:05:55 <ais523> oerjan: you wouldn't expect me to get something that simple wrong, would you?
00:06:13 <aliseiphone> ivancastillo75: Eightebed is either a mistake or our word for enlightened.
00:06:24 <ais523> aliseiphone: you're not helping...
00:06:51 <oerjan> ais523: it wasn't the standard shortest quine, and i wasn't in the mood to interpret it in my head
00:06:55 -!- Gregor-W has set topic: (a(:^)*S):^ | WARNING: Feelings of spiritual enlightenment attained while using this channel may actually be early signs of brain cancer, it is highly recommended that you seek an ontologist rather than a spiritual adviser if these effects are observed | http://tunes.org/~nef/logs/esoteric/?C=M;O=D.
00:07:02 <aliseiphone> ivancastillo75: Basically mental perfection is boring so we deliberately go insane and become preoccupied with say, silly computer languages.
00:07:02 <ivancastillo75> Well I know not of such a word among the initiates
00:07:06 <ais523> ^ul ((The great thing about this particular quine is how easy it is to insert a particular payload)!(:^)*S):^
00:07:06 <fungot> (The great thing about this particular quine is how easy it is to insert a particular payload)!(:^)*S:^
00:07:16 <ais523> err, missed the a
00:07:21 <oerjan> Gregor-W: *oncologist
00:07:21 <ais523> ^ul ((The great thing about this particular quine is how easy it is to insert a particular payload)!a(:^)*S):^
00:07:21 <fungot> ((The great thing about this particular quine is how easy it is to insert a particular payload)!a(:^)*S):^
00:07:30 <Sgeo> ivancastillo75, I don't know what an initiate is
00:07:31 <Gregor-W> oerjan: ... lawl
00:07:35 <aliseiphone> ivancastillo75: Initiates; but not eightebedites.
00:07:39 <Gregor-W> oerjan: Interesting inversion in my brain thar X-D
00:07:43 <aliseiphone> ivancastillo75: Trust them or us?
00:07:47 -!- Gregor-W has set topic: (a(:^)*S):^ | WARNING: Feelings of spiritual enlightenment attained while using this channel may actually be early signs of brain cancer, it is highly recommended that you seek an oncologist rather than a spiritual adviser if these effects are observed | http://tunes.org/~nef/logs/esoteric/?C=M;O=D.
00:08:06 <ais523> oerjan: IIRC it's equal length to the standard shortest quine too
00:08:10 <ais523> that version's by Keymaker
00:08:22 <Sgeo> The path is grey
00:08:27 <aliseiphone> Gregor-W: I preferred ontologist :)
00:08:27 <ais523> and is rather neater than the standard one
00:08:41 <cpressey> The path is also quite muddy. Wear rubber boots.
00:08:42 -!- Gregor-W has set topic: (a(:^)*S):^ | WARNING: Feelings of spiritual enlightenment attained while using this channel may actually be early signs of brain cancer, it is highly recommended that you seek an oncologist rather than an ontologist if these effects are observed | http://tunes.org/~nef/logs/esoteric/?C=M;O=D.
00:09:06 <ivancastillo75> What's an eightebedite?
00:09:28 <cpressey> Well, it's the name of my next language, that much is known.
00:09:32 <Sgeo> Afraid is an emotion, and is the color of weakness, which is a color that is not grey.
00:09:43 <cpressey> If not my very next, then one in the near future, surely.
00:09:46 <Sgeo> ivancastillo75, probably a typo
00:09:57 <aliseiphone> ivancastillo75: An enlightened person from here; an enthusiast in our computer stuff who is, bluntly, both insane and at utter peace with this fact.
00:10:13 <aliseiphone> For instance ais523, cpressey, oerjan...
00:10:24 <ais523> aliseiphone: actually, I go into this channel to /regain/ my sanity
00:10:28 * Sgeo feels offended by not being in this list
00:10:29 <aliseiphone> It is our highest achievement.
00:10:31 <ais523> you don't want to know what I get up to when I'm not here
00:10:41 <aliseiphone> Sgeo: or is it a compliment?
00:10:52 <Sgeo> ivancastillo75, ais523 suffers from severe Java poisoning.
00:11:01 <aliseiphone> You have your utter sanity and a future! For now ...
00:11:30 <ais523> Sgeo: and I don't even drink coffee
00:11:31 <oerjan> !haskell map length ["(a(:^)*S):^","(:aSS):aSS"]
00:11:41 <EgoBot> [11,10]
00:11:45 <oerjan> ais523: nope
00:11:51 <ais523> I wonder how I miscounted that?
00:11:59 <ivancastillo75> So are you guys like the enlightend programmer geeks of the internet?
00:11:59 <Sgeo> I, on the other hand, am suffering C# poisoning, and I'm not a musician
00:12:13 <ais523> ivancastillo75: well, we program without regards to what convention says
00:12:14 <aliseiphone> ivancastillo75: We have recognised that one cannot sort all things out in one's head. We patch out an intellectual corner then understand ("grok") and come to terms with our ignorance of the rest.
00:12:26 <aliseiphone> ivancastillo75: Then, we are eightebeded.
00:12:38 <ais523> sometimes it leads to useful discoveries, sometimes to confusion, sometimes to annoyance, mostly to apathy
00:12:40 <Sgeo> ivancastillo75, (this enlightenment stuff is a joke, btw. I'm about to be yelled at for saying it)
00:12:49 <Sgeo> But yeah, we are programmer geeks
00:12:57 <aliseiphone> Sgeo: maybe to you!
00:13:13 -!- Gregor-P has quit (Ping timeout: 252 seconds).
00:13:15 <aliseiphone> ivancastillo75: we find it hard to take ourselves seriously usually.
00:13:24 <ais523> "usually"?
00:13:48 <ivancastillo75> what's ("grok")
00:13:56 <aliseiphone> ais523: Well. Always
00:14:03 <ais523> ivancastillo75: to completely understand
00:14:16 <aliseiphone> ivancastillo75: A common term for "understand fully". Not just ours
00:14:20 <ais523> sorry, should have added a sarcasm mark
00:14:22 <aliseiphone> Google it if you want.
00:14:23 <ais523> "usually"?~
00:14:46 -!- ivancastillo75 has quit (Quit: The human race is a race of cowards; and I am not only marching in that procession but carrying a banner. -- Mark Twain).
00:14:58 <aliseiphone> Pah.
00:15:02 <ais523> I think he probably learned from that experience
00:15:03 <Sgeo> Awwwww
00:15:05 <Gregor-W> Welp, scared 'im off :P
00:15:05 <aliseiphone> So close to convincing him.
00:15:05 <ais523> or she
00:15:12 <aliseiphone> It would have been glorious.
00:15:18 <Gregor-W> ais523: Most people named Ivan are women.
00:15:21 <aliseiphone> ais523: Heh. Maybe so.
00:15:24 * oerjan swats aliseiphone -----###
00:15:29 * Sgeo will not allow people to be convinced of falsehoods about this channel.
00:15:37 <aliseiphone> Maybe he half-bought it.
00:15:44 <aliseiphone> Sgeo: Nithing false was said
00:15:46 <ais523> hmm, apart from when Firefly's here, oerjan's swats are like the Spanish Inquisition, you never see them coming
00:15:47 <cpressey> Gregor-W: Maybe she was Iva. Iva N. Castillo.
00:15:47 <aliseiphone> *Nothing
00:16:00 <aliseiphone> probably it was closer to the truth than we realise
00:16:08 <ais523> and come to think of it, it's not quite a bad description
00:16:18 <Gregor-W> cpressey: Touche
00:16:23 <ais523> when people ask me to justify the time I spend esolanging, I normally say "well, maybe we'll discover something useful someday"
00:16:51 <cpressey> ais523: Gah, not the Potential Utility Excuse?!
00:16:56 <aliseiphone> That was fun.
00:16:59 <ais523> my supervisor was annoyed enough when he said it might be interesting to see how many assumptions can be removed from standard models of programming languages and still get a useful model, and the first one I removed was temporal causality
00:17:07 <oerjan> ais523: hey you're the one here with least reason to explain, you already earned money on it essentially :D
00:17:13 <ais523> oerjan: good point
00:17:18 <Sgeo> Surely the intellectual exercise alone is worth it?
00:17:43 <pikhq> ais523: :D
00:17:45 <aliseiphone> Sgeo: Keep espousing that and you'll be eightebed before you know it.
00:17:48 <cpressey> It's art.
00:17:51 <cpressey> That's all.
00:17:56 <pikhq> ais523: Yeah, that's a quick one.
00:17:59 <ais523> pikhq: I /still/ don't see why that one's necessary
00:18:06 <aliseiphone> My iPhone has just learned the word "eightebed".
00:18:29 <pikhq> ais523: Arguably, Haskell only *partly* has it...
00:18:32 <ais523> yes
00:18:38 <pikhq> Y'know, what with being mostly lazy.
00:18:48 <oerjan> ais523: i recall seeing a headline on reddit recently that if you're in a closed time loop, classical computing is equivalent to quantum
00:18:56 <pikhq> Also, time travel monad.
00:18:57 <oerjan> or something close to that
00:19:03 <aliseiphone> oerjan: wat
00:19:07 <ais523> oerjan: that's cheating, it muddles cause and effect
00:19:21 <Gregor-W> oerjan: Sweet, 'cuz I'm in a closed time loop!
00:19:24 <ais523> clearly if you know that something's going to be true in the future as a result of your actions now
00:19:35 <ais523> you can set them up in such a way that you can observe your own actions to see which ones you take
00:19:37 <aliseiphone> cpressey: Say bf predated P'm
00:19:40 <aliseiphone> *P'm
00:19:44 <aliseiphone> *P''
00:19:54 <aliseiphone> This would yield utility
00:19:58 <ais523> is P'm even a real word?
00:19:58 <Gregor-W> However, if you're in a closed time loop, then computation is non-Turing-complete, so you're punked :P
00:20:07 <aliseiphone> cpressey: Can a useful thing really be art?
00:20:11 <ais523> Gregor-W: no, it is TC; more so, in fact
00:20:11 <aliseiphone> I think not.
00:20:16 <ais523> you can store data in arbitrary-precision reals
00:20:20 <aliseiphone> So esolangs are ... Esolangs.
00:20:22 <ais523> assuming a perfect universe
00:20:31 <ais523> (an assumption which I've just realised may be rather unwise)
00:20:49 <cpressey> aliseiphone: No, it's much worse than that, but stopping at "it's art" is a nice simple first-order approximation for me.
00:20:55 <aliseiphone> ais523: Quantum effects are rounding errors, dude.
00:21:11 <cpressey> As for P'', fuck, whatever.
00:21:23 <aliseiphone> I refuse to give up this belief, for it is wonderful.
00:21:34 <ais523> cpressey: many of your esolangs seem to be more art than other people's
00:21:37 <aliseiphone> cpressey: But that's illegal /and/ promiscuous!
00:21:49 * oerjan keeps having this weird idea that quantum effects is because there's some residue of causality that's backwards in time
00:21:54 <oerjan> *are
00:22:00 <aliseiphone> It's funny because I ignored your comma.
00:22:57 <Gregor-W> http://codu.org/tmp/teddynom.gif THIS IS AGAIN MY RESPONSE TO EVERYTHING
00:22:59 <cpressey> oerjan: Is that so weird? I'm sure i've seen someone write about that
00:23:04 -!- Wamanuz has quit (Read error: Connection reset by peer).
00:23:05 <cpressey> Gregor-W: is it sfw?
00:23:06 <aliseiphone> Three more visits you will see / From me / Then back to day patient / Happily / Terrible poems are my favourite / Laser horse
00:23:16 <Gregor-W> cpressey: Yes :P
00:23:32 <cpressey> Gregor-W: thank you :)
00:23:46 <Gregor-W> aliseiphone: Awesome poetry.
00:23:58 <Gregor-W> aliseiphone: It has inspired me to gamma horse.
00:24:08 <aliseiphone> Gregor-W: Explain the gif? Won't load fast enough :(
00:24:14 <aliseiphone> XD
00:24:20 * aliseiphone gams a horse
00:24:37 <Gregor-W> aliseiphone: My explanation is TEDDY NOM
00:24:40 -!- CakeProphet has joined.
00:24:44 <oerjan> cpressey: well it's a fairly obvious idea i guess once you get the bell inequality kind of stuff that shows you cannot use only local, forward causality to explain QM
00:25:33 <pikhq> aliseiphone: 三つ旅見る・僕から・デーペシエン戻る・嬉しくて・目茶苦茶な詩一番好き・レーザ馬
00:25:59 -!- Wamanuz has joined.
00:26:07 <aliseiphone> Gregor-W: I won't be able to sleep unless you explain >_>
00:26:13 <aliseiphone> pikhq: Wat.
00:26:17 <Gregor-W> aliseiphone: TEDDY - NOM
00:26:28 <aliseiphone> Is that a translation?
00:26:33 <pikhq> Yes.
00:26:41 <aliseiphone> Wow. Marry me.
00:26:56 <aliseiphone> Is it as terrible in Japanese?
00:27:04 <pikhq> Yes.
00:27:13 <aliseiphone> :D
00:27:25 <pikhq> And it does end with "laser horse".
00:29:19 <pikhq> Better still, it's somewhat archaic Japanese.
00:29:42 <aliseiphone> :D
00:30:49 <aliseiphone> Beneath / rushing waves / echoes of caves / choral speaks / above / a mile away / antaking a vicious dump
00:30:56 <aliseiphone> *an emu taking
00:33:01 <ais523> <Google Translate> Laser senseless horse favorite poem I see with pleasure trip back from three Depeshien
00:33:22 <ais523> I wonder why the laser horse ended up at the start?
00:33:55 <aliseiphone> The separating dots confused it
00:33:58 <aliseiphone> I presume
00:34:07 -!- CakeProphet has quit (Ping timeout: 276 seconds).
00:34:08 <aliseiphone> I like how the horse is senseless.
00:34:13 <pikhq> ais523: It failed to parse poetic Japanese.
00:34:28 <ais523> I'm not surprised
00:34:36 <pikhq> One of the notable properties is that poetic Japanese omits a large number of particles. going for a bit more of a positional grammar.
00:34:37 <Gregor-W> Google hates poetry!
00:37:07 <pikhq> I'm still not sure where it got "senseless" from.
00:37:22 <pikhq> ... Oh, wait. The "mechakucha".
00:37:40 <pikhq> ... That was modifying "poem" though; even had the particle...
00:37:44 <aliseiphone> Laser horses are, by definition, senseless.
00:37:46 <pikhq> Parser fail!
00:38:08 <aliseiphone> pikhq: They don't really parse.
00:38:24 <aliseiphone> Anyway, see you.
00:38:32 <aliseiphone> Bye.
00:38:36 <pikhq> Mata.
00:38:48 <aliseiphone> 三つ旅見る・僕から・デーペシエン戻る・嬉しくて・目茶苦茶な詩一番好き・レーザ馬
00:38:55 -!- aliseiphone has quit (Quit: Get Colloquy for iPhone! http://mobile.colloquy.info).
00:39:33 -!- CakeProphet has joined.
00:39:42 <pikhq> Hmm. That last two phrases can also be parsed as "Terrible poem; my favorite/laser horse"... Interesting.
00:42:47 <cpressey> Adieus.
00:42:49 -!- cpressey has quit (Quit: Leaving.).
00:45:24 -!- SevenInchBread has joined.
00:48:48 -!- CakeProphet has quit (Ping timeout: 276 seconds).
01:16:04 <Sgeo> I just realized that I'd be able to compile Vala with Microsoft's C compiler
01:16:10 <Sgeo> ...I think
01:16:15 <Sgeo> Wait, can I?
01:16:17 <pikhq> Probably.
01:16:25 <pikhq> Vala produces fairly mundane C.
01:16:44 <Sgeo> Why did everyone but me in this channel know about Vala?
01:16:46 <pikhq> I'm pretty sure it just requires an ISO C compiler and glib.
01:17:00 <pikhq> We're geeks who care about programming languages.
01:17:22 * oerjan doesn't really know about Vala
01:17:24 <pikhq> Whereas you are an INFERIOR SOUL YOU PUNY MORTAL
01:17:36 <oerjan> i've heard the name is all
01:17:43 <Sgeo> Good, because the AW SDK doesn't seem to like GCC on Windows. GCC on Linux it can handle, but not Windows.
01:18:03 <Sgeo> The GCC specific stuff in the header is actually wrapped up in #ifdef LINUX
01:18:20 <pikhq> oerjan: It's a programming language that exists soley to make glib saner to use.
01:18:29 <oerjan> huh?
01:18:33 <Sgeo> pikhq, what about for applications programming in general?
01:18:43 <Sgeo> Can it be used as a sane alternative to C++?
01:19:18 <pikhq> Sgeo: Don't see why not.
01:20:07 <pikhq> oerjan: It's a C-like language, but it has Gobject as its object system. So, it automates all the boilerplate involved in using things like GTK.
01:21:13 <oerjan> oh, glib is not glibc
01:22:43 <pikhq> Yeah, glib is a C library that provides an object system and a bunch of utility functions and data structures.
01:23:03 <pikhq> It's the base for all the GNOME stuff.
01:23:26 * Sgeo isn't particularly interested in GNOME
01:23:32 <Sgeo> More in a sane alternative to C++
01:23:50 <pikhq> Sgeo: You can, of course, use Glib directly.
01:23:59 <pikhq> And Vala seems saner than C++.
01:24:42 <Sgeo> Hmm.
01:24:47 <Sgeo> The async stuff needs GIO
01:24:54 <Sgeo> Does the async stuff rely on using a MainLoop?
01:25:26 <pikhq> I think it does rely on entering the event loop, yes.
01:25:36 <pikhq> Glib should have its own event loop, though.
01:25:56 <pikhq> It is actually *meant* to be used standalone, not just for GTK/GNOME stuff, after all.
01:26:08 <pikhq> (irssi, FWIW, uses glib)
01:26:09 <Sgeo> GIO doesn't imply GTK, does it?
01:26:18 <pikhq> Don't think so.
01:26:22 * pikhq checks
01:26:40 * Sgeo wonders if he should learn how GLib works in straight C
01:26:56 <pikhq> No, don't.
01:27:00 <Sgeo> Hmm?
01:27:09 <pikhq> Glib from straight C is a monstrosity.
01:27:25 <Sgeo> Isn't it what most GTK/GNOME stuff does?
01:27:35 <pikhq> It's usable as a language-agnostic object system. But it's *horrifying* to use from C.
01:27:42 <pikhq> Yes. This does not make it a good idea.
01:27:53 <pikhq> YOU HAVE TO FREAKING WRITE YOUR OWN VIRTUAL TABLES.
01:28:32 <pikhq> Anyways: no, GIO does not imply GTK.
01:28:44 <ais523> pikhq: wow, manual vtables?
01:28:52 <pikhq> ais523: Yes.
01:29:01 <pikhq> ais523: It's a C library.
01:29:07 <ais523> even so
01:29:17 <pikhq> How do you expect them to automate it?
01:29:17 <ais523> if it's in C, that should be enough of a reason to not even attempt that sort of OO
01:29:33 <pikhq> Yeah, well, they freaking did.
01:29:38 <ais523> that's like manual vtables in brainfuck; sure, if you want vtables you have to do them manually
01:29:39 <Sgeo> What about using GObject stuff from C, without defining the classes?
01:29:49 <ais523> but have you thought that maybe, a vtable isn't the best way togo about this?
01:29:50 <ais523> *to go
01:29:56 <Sgeo> e.g. using Vala libraries from C?
01:29:56 <pikhq> Sgeo: It's still a lot of boilerplate.
01:30:00 <Sgeo> Oh
01:30:10 <Sgeo> So don't expect to write Vala libraries that C can easily use?
01:30:41 <pikhq> Vala libraries *for Glib*, sure. It'll be no worse than anything else.
01:30:49 <pikhq> However, if you just want plain, un-Glib C. No.
01:31:19 <Sgeo> hmm
01:31:22 <Sgeo> :(
01:31:57 <Sgeo> Why shouldn't I just do everything in non-Microsoft-specific C#?
01:34:53 <ais523> because such a language is very hard to trackdown
01:35:13 <ais523> it's like trying to write non-IE-specific JavaScript with only Microsoft documentation and only IE to test on
01:35:19 <Sgeo> Erm, isn't it just a matter of not using System.Windows?
01:35:20 <Sgeo> Oh
01:37:36 <Gregor> `addquote <Sgeo> Why shouldn't I just do everything in non-Microsoft-specific C#? <ais523> it's like trying to write non-IE-specific JavaScript with only Microsoft documentation and only IE to test on
01:37:38 <HackEgo> 199|<Sgeo> Why shouldn't I just do everything in non-Microsoft-specific C#? <ais523> it's like trying to write non-IE-specific JavaScript with only Microsoft documentation and only IE to test on
01:38:55 <Sgeo> I think I should learn how GIO works
01:47:55 -!- SevenInchBread has quit (Ping timeout: 248 seconds).
01:50:34 -!- Wamanuz has quit (Remote host closed the connection).
01:52:37 -!- CakeProphet has joined.
01:52:43 -!- yiyus_ has quit (Ping timeout: 248 seconds).
01:53:10 -!- yiyus_ has joined.
01:56:42 -!- CakeProphet has quit (Read error: Operation timed out).
02:01:36 -!- CakeProphet has joined.
02:05:54 -!- Mathnerd314 has joined.
02:07:29 -!- Gregor-W has quit (Ping timeout: 252 seconds).
02:09:42 -!- Sgeo_ has joined.
02:12:49 -!- Sgeo has quit (Ping timeout: 265 seconds).
02:26:35 <CakeProphet> halfop? I've never heard of that.
02:26:59 <ais523> some channels use it as an additional status
02:27:15 <ais523> it lets you do the standard channel maintenance stuff (kick/ban/change topic), but not other op powers
02:28:00 <CakeProphet> does being a halfop allow you get involved in bullshit power drama?
02:28:09 <CakeProphet> or is that reserved for ops?
02:28:28 <Gregor> "Some channels"? They have halfop on FreeNode? Surely you mean "some networks"?
02:29:20 <CakeProphet> to my knowledge I've never seen halfop on freenode. irssi mentioned it when it displayed a count of ops/halfops/voices
02:29:28 <CakeProphet> thus why I asked.
02:29:41 <oerjan> some networks are too clever by half
02:29:46 <ais523> Gregor: some channels, on otehr networks
02:29:55 <Gregor> Got it :P
02:30:19 <CakeProphet> oh em gee but aren't channels like social networks themselves? woaaah
02:31:25 <oerjan> there are networks of networks you know. that's why they call scale invariance, obviously
02:31:29 <oerjan> *what
02:31:37 <Gregor> OH GOD WHY TEDDY BEAR STOP IT STOP IT OH GOD NOOOOOOO
02:32:04 <CakeProphet> Gregor: so I herd u liek chainsaw sex?
02:33:02 <Gregor> ...
02:33:41 <oerjan> hm i think i may have the wrong word for that
02:34:49 <CakeProphet> oerjan: can't a network just be pictured as a graph? so then every subgraph is also a network.
02:35:01 <oerjan> hm or maybe not
02:35:53 <oerjan> oh it's scale-free
02:36:09 <oerjan> http://en.wikipedia.org/wiki/Scale-free_network
02:36:16 <CakeProphet> does it include a style of programming? like pointfree?
02:36:48 * CakeProphet doesn't actually know why point-free is called point-free... other than it has something to do with topology.
02:37:08 <ais523> CakeProphet: do you know what a fixed point is?
02:37:14 <ais523> a fixed point of f(x) is where x=f(x)
02:37:20 <ais523> *a fixed point of f
02:38:37 <oerjan> CakeProphet: perhaps, functions are maps from sets to sets and the elements of sets are often called points, of course more often if there is a topology on the set
02:39:13 <CakeProphet> ais523: ah
02:39:20 <CakeProphet> so then what is point-free?
02:39:31 <ais523> it's when you define functions without reference to any variables
02:39:32 <oerjan> a point-free functional program is then one that doesn't mention the points of functions only the functions themselves
02:39:57 <ais523> for instance, all Underload programs are point-free, because there's no way to reference variables
02:39:58 <CakeProphet> ais523: well, yes. that's what I know it to mean... but what does it mean in topology?
02:40:02 <ais523> and all lambda calculus programs aren't
02:40:25 <oerjan> CakeProphet: in topology a point is just an element of a topological space
02:40:43 <CakeProphet> so if you had a syntax for partial application that looked something like this...
02:40:55 <CakeProphet> f = g 1 _ 'c'
02:41:07 <CakeProphet> is that point-free? the _ specifies the unapplied argument
02:41:07 <ais523> where _ is an implicit variable?
02:41:10 <ais523> I'd still think that's pointed
02:41:19 <ais523> it's basically sugar for f = \_ -> g 1 _ c
02:41:29 <CakeProphet> well yes... but you could also do
02:41:31 <CakeProphet> f = g 1 _ _
02:41:38 <ais523> whereas point-free would be if you somehow transformed g
02:41:40 <CakeProphet> which is the same as
02:41:46 <CakeProphet> f x y = g 1 x y
02:41:48 <oerjan> flip (g 1) c is how you'd do it point-free in haskell
02:42:50 <CakeProphet> I've kind of wondered why I've never seen a partial application construct like that in a language.
02:43:02 <oerjan> CakeProphet: in haskell that's just f = g 1
02:43:15 <CakeProphet> oerjan: well, yes. I know Haskell pretty well.
02:43:16 <ais523> CakeProphet: Mathematica has one like that
02:43:25 <CakeProphet> and know what point-free means in that context. I was just curious where the name came from.
02:43:49 <oerjan> CakeProphet: well of course haskell has _ on the pattern side
02:44:55 <CakeProphet> sometimes I think it would be handy to write map (g _ x) ls instead of map (flip g x) ls
02:45:11 <oerjan> CakeProphet: map (`g` x) ls
02:45:21 <oerjan> only works with single identifiers though
02:45:22 <CakeProphet> well yes, there's that I suppose.
02:46:13 <CakeProphet> I wonder if _ would have to be lambda sugar... or if you could incooperate it into semantics as a value.
02:46:37 <CakeProphet> f _ = flip f
02:46:56 <oerjan> CakeProphet: oh i've seen that feature suggested before btw
02:46:59 <CakeProphet> f _ _ = ???
02:47:24 <oerjan> one issue is that in a functional language it's not obvious where the lambda _starts_
02:47:34 <oerjan> say if you have g (h _)
02:47:38 <oerjan> er
02:47:42 <CakeProphet> ah I've gotcha
02:47:42 <oerjan> (g (h _))
02:47:48 <CakeProphet> where to define the lambda.
02:47:59 <CakeProphet> I would say to the "closest" function.
02:48:36 <oerjan> and once you do that sort of thing you are essentially ruining visual referential transparency
02:48:49 <CakeProphet> unless you specified a special bracket notation... but then it becomes a not-good feature in my mind.
02:48:55 <oerjan> you cannot just cut and paste parts and have them mean the same thing
02:49:55 <oerjan> it's also been suggested with monads btw, to sort of getting around the need for all that >>= etc. plumbing
02:50:18 <CakeProphet> hmmm? how would that work?
02:50:19 <oerjan> but once again it gets ugly
02:50:58 <oerjan> something like print [[readLine]] would be equivalent to readLine >>= print
02:51:12 <oerjan> (inventing some brackets there)
02:51:16 <CakeProphet> I things such as <$> and <*> are sufficient to hide plumbing in monad code.
02:51:30 <CakeProphet> *think things
02:51:51 <oerjan> maybe. it doesn't work for that example though, =<< or >>= is needed
02:52:04 <CakeProphet> but in that example readLine >>= print is perfectly clear.
02:52:25 <CakeProphet> and a roughly equal amount of typing... in that case.
02:53:14 <CakeProphet> isn't "a sugar for >>=" just do? :)
02:53:37 <oerjan> yes - but that again ruins pointfreeness
02:53:50 <CakeProphet> "ruins" it?
02:54:16 <oerjan> a >>= f becomes do x <- a; f x
02:54:26 <oerjan> introducing the point x
02:54:32 <CakeProphet> well yes. actually in such cases I prefer >>= because it's more concise
02:54:51 <CakeProphet> but in a more complex expression I prefer do notation
02:55:36 <oerjan> mhm
02:55:44 <CakeProphet> so I think I don't think it's much of a problem, really. The only thing that's really missing is a legible way to form complex point-free functions.
02:55:48 -!- BeholdMyGlory has quit (Remote host closed the connection).
02:56:01 <CakeProphet> er.. my typing attention span has dropped.
02:56:51 <Sgeo_> CakeProphet, do you have thoughts on Vala?
02:57:52 <CakeProphet> I actually don't know what Vala is.
02:58:24 <Sgeo_> http://live.gnome.org/Vala
02:58:27 <CakeProphet> oerjan: do you think a library of good higher-order functions would make legible point-free code?
02:58:35 <CakeProphet> and if so, what would such functions include?
02:58:50 <CakeProphet> s/functions/a module/
03:02:18 <oerjan> have you considered lambdabot's @pl command?
03:02:40 <CakeProphet> I've used it, yes. but... I don't really believe it furthers the goal of legible pointfree code.
03:02:43 <CakeProphet> ...at all
03:02:46 <oerjan> (it heavily uses the -> monad)
03:03:18 <CakeProphet> I'm not entirely sure how the -> monad works. I've looked at it before but I can never remember exactly what it does.
03:03:37 <oerjan> i also vaguely recall a different style but not quite what it was, i think it was somehow stack-based
03:03:47 <CakeProphet> neat.
03:04:13 <CakeProphet> I think a large library of new higher-order functions would greatly reduce the obfuscation of pointfree style.
03:04:23 <CakeProphet> just not sure what those functions are.
03:04:43 <oerjan> the name second comes to mind but i'm not sure if it was the Arrow method (although that one is also useful for pointfree things involving tuples)
03:04:57 <CakeProphet> things like `on` for example, are good
03:05:11 <CakeProphet> second is from Arrow, yes.
03:05:18 <oerjan> um i know that
03:05:23 <CakeProphet> applies a function only to the second element of the tuple.
03:05:29 <CakeProphet> is that not the function you're thinking of?
03:05:33 <oerjan> i'm just not sure if that was the second used in that stack style
03:06:09 <CakeProphet> hmmm... not sure how tuples could translate to a stack style. unless you linked them.
03:06:30 <oerjan> ok, i'm pretty sure it _wasn't_ the same function, anyway
03:07:22 -!- calamari has joined.
03:08:16 <CakeProphet> something like `on` that only applies the inner function to one of the outer functions arguments would be nice.
03:09:08 <oerjan> yes, i think that's what that "stack" thing was, essentially
03:11:09 <CakeProphet> dunno how clear the result code would be for complex expressions.
03:11:20 <CakeProphet> unless there were a variety of helpers, again.
03:12:14 <CakeProphet> and, depending on how you define readable code, a large set of helper functions would be hard to read to someone unfamiliar with them. But, when gauging readability, I don't think it makes sense to include the case of someone with limited knowledge.
03:13:28 <oerjan> http://www.reddit.com/r/programming/comments/a9tb2/secret_haskell_operators/ seems somewhat relevant
03:13:41 <CakeProphet> "secret" operators, you say?
03:14:49 <CakeProphet> hmmm... so
03:15:27 <oerjan> ah there is one of those functions for that other style, it's "result"
03:15:30 <CakeProphet> would dependent types be deciable statically if you stipulated that function arguments that type depends on be literals/static-information only?
03:15:49 <CakeProphet> s/type/a type/
03:16:06 -!- aschueler has quit (Quit: leaving).
03:16:18 <oerjan> like pascal did with fixed-size arrays?
03:16:23 <CakeProphet> ...dunno
03:16:57 <oerjan> and ranges
03:16:58 <CakeProphet> but it would neat to have a function f `without` n
03:17:06 <calamari> CakeProphet: hey.. so did you finish your os? :)
03:17:10 <CakeProphet> where n was the argument to partially apply later.
03:17:20 <CakeProphet> calamari: haha. my os? no, I just have this assembler skeleton. :)
03:17:46 <CakeProphet> er... n is the NUMBER of the argument to partially apply later
03:18:34 <CakeProphet> ...not that I recommend such a function as a good idea for writing concise point-free code. Was just pondering the idea of how to implement it.
03:19:29 <oerjan> CakeProphet: oh if i recall correctly SML has specific operators for doing that with tuples, something like #3 to get the third element, and yes that's only the literal numbers allowed
03:20:28 <oerjan> it's not too hard to write without2, without3 etc. though
03:20:30 <CakeProphet> it makes sense that you could statically determine a type that depends on an input provided the input was also static
03:21:24 <oerjan> hm maybe if 1,2,3 etc. _were_ types - it's not like haskell doesn't overload notation between types and values already
03:21:51 <CakeProphet> that would be weird.
03:22:01 <CakeProphet> 3 :: Int and 3 :: 3 ?
03:22:38 <Mathnerd314> 3 :: 3 :: Int
03:22:42 <oerjan> except there would need to be some way to signal that the type meaning is used, so `without` 3 wouldn't quite work
03:22:55 <oerjan> hm
03:23:02 <CakeProphet> hmmm...
03:23:26 <Mathnerd314> 3 :: 3 :: Int :: Integral :: Number :: Object :: Type :: .... :-)
03:24:08 <oerjan> Mathnerd314: :: is usually considered as element, not subset, so those after the first are not intuitive
03:24:10 <CakeProphet> `without` 1 :: (a -> b) -> b -> a
03:24:11 <HackEgo> No output.
03:24:39 <oerjan> iirc Coq's system has stuff like 3 :: Int :: Set (although probably not exactly that notation)
03:24:49 <Mathnerd314> oerjan: element is easily generalized to subset
03:25:08 <CakeProphet> oerjan: if you could write a "type function" like that... recursively
03:25:10 <CakeProphet> so then
03:25:11 <oerjan> s/Set/Type/
03:25:18 <oerjan> although only Type and Prop are second-level types
03:25:20 <oerjan> i think
03:25:38 <CakeProphet> `without` n :: ??? --something that produces the correct type recursively from `without` 1
03:25:40 <HackEgo> No output.
03:25:55 <oerjan> Mathnerd314: that's _not_ a nice thing to do
03:26:04 <Mathnerd314> oerjan: x `subset` y = and (fmap (`elem` y) x
03:26:10 <oerjan> not in set theory at any rate
03:26:33 <CakeProphet> from a efficiency standpoint as well, that is not a nice thing to do.
03:26:36 <Mathnerd314> works in the identity functor, lists, sets, and whatever else you dream up
03:26:37 <CakeProphet> I think.
03:26:41 <Sgeo_> Is Vala likely to be slower than C++ due to using GObject?
03:26:55 <Mathnerd314> CakeProphet: premature optimization is evil... :p
03:27:09 <CakeProphet> Mathnerd314: ah, but the optimization is occuring after the function has been written. :)
03:27:14 <pikhq> Sgeo_: No.
03:27:14 <CakeProphet> that is not premature in my book.
03:27:37 <Mathnerd314> CakeProphet: defining something in the language specification is premature
03:27:46 <oerjan> CakeProphet: i am pretty sure `without` (undefined :: T1) with T1 a type representing 1 could be made to work in haskell directly
03:27:54 <pikhq> Sgeo_: C++'s semantics demand overhead, you realise.
03:28:05 <oerjan> the undefined because we're not actually interested in the value, only the type
03:30:48 <oerjan> hm...
03:30:50 <CakeProphet> Haskell should have _|_ as a special case identifier for undefined. Just 'cause.
03:32:28 <pikhq> _|_ is not *just* the undefined value.
03:32:31 <oerjan> (without :: T1) wouldn't quite work because without should be polymorphic in other arguments...
03:32:34 <pikhq> It is also infinite loops.
03:32:45 <CakeProphet> pikhq: right, but undefined is _|_... so does it matter?
03:33:37 <CakeProphet> oerjan is trying to make Haskell dependent. :)
03:34:06 <oerjan> no, just counting numbers
03:34:35 <CakeProphet> I'm sure you've seen alise's thing that uses type families right?
03:34:45 <oerjan> not sure
03:35:00 <CakeProphet> computes operations on natural numbers in the type system
03:35:10 <CakeProphet> there's also a paper on doing it, which doesn't use type families.
03:35:29 <CakeProphet> but does use multi-param typeclasses.
03:35:50 <oerjan> yes, it was probably from before type families were invented, or at least brought to haskell
03:36:10 <CakeProphet> I believe you're right.
03:37:04 <CakeProphet> I actually discovered a more concise way to compute arithmetic at compile-time, and even works on Floats!
03:37:13 <CakeProphet> check it out: 2 + 2
03:38:36 <Sgeo_> So, should I switch to using Vala for everything?
03:38:47 <ais523> that relies on constant subexpression elimination
03:39:00 * ais523 deliberately screws up the name of the optimisation to confuse those who rely on acronyms
03:39:35 <CakeProphet> !simpleacro
03:39:39 <EgoBot> QZUT
03:40:30 <Sgeo_> There's an ancronym for that?
03:40:30 <CakeProphet> Quasi-quoating Zygote Under Trial
03:40:56 <CakeProphet> spelled correctly. :)
03:40:58 <CakeProphet> !simpleacro
03:41:01 <EgoBot> KUUACBEPFO
03:41:04 <CakeProphet> ...no
03:41:06 <CakeProphet> !simpleacro
03:41:09 <EgoBot> XRZNHXKJ
03:41:13 <CakeProphet> ...no
03:41:14 <CakeProphet> !simpleacro
03:41:17 <EgoBot> ATXU
03:41:51 <ais523> is this an esolang name creation program?
03:42:00 <pikhq> Kwjibo Underlined Urban Anachronic Concurrent Bleating Entertaining Programmatic Flying Organ
03:42:12 <CakeProphet> "a tyrant!" Xerxes uttered.
03:42:37 <ais523> that sounds like the sort of thought process that lead to the naming of HOMESPRING
03:42:56 <CakeProphet> ais523: you could certainly use it for that. Or just any acronym in general.
03:42:57 <pikhq> Xylophonic Restricted Zero-Noise High-Xanthine Kanji'd Jeans
03:43:14 <CakeProphet> haha. what?
03:43:26 <CakeProphet> !simpleacro
03:43:29 <EgoBot> ZK
03:43:39 <CakeProphet> ZK kills
03:43:43 <pikhq> Zouth Korea.
03:43:44 <Gregor> AWESOME
03:43:49 <CakeProphet> is what that acronym means.
03:43:49 <Gregor> I <3 "ZK Kills"
03:44:44 <CakeProphet> Gregor: are you sure you're not a sadist?
03:45:08 <CakeProphet> !simpleacro
03:45:11 <Gregor> No :P
03:45:13 <EgoBot> JTMTBNXBSU
03:45:19 <CakeProphet> oh my.
03:45:48 <CakeProphet> !show simpleacro
03:45:49 <EgoBot> haskell import System.Random; import Control.Monad; main = do {len <- pick [2..10]; putStrLn =<< (replicateM len $ pick ['A'..'Z'])} where pick a = randomRIO (0, length a - 1) >>= return . (a !!)
03:46:01 <CakeProphet> ah yes. my naive Haskell implementation.
03:46:32 <pikhq> Japanese Tritium Manufacturing -- Tritium Beams Not X-Rays, But Sun Ursines!
03:46:59 <CakeProphet> ...hahaha
03:47:03 <pikhq> s/Rays/rays/
03:47:50 * pikhq <3 simpleacro
03:48:08 <CakeProphet> I would eventually like to weight it towards commonly used starting letters
03:48:12 <CakeProphet> and then rename it to acro
03:48:26 <pikhq> Bah; half the fun is coming up with words for X. :P
03:48:28 <CakeProphet> tohugh the X's and Q's present a challenge.
03:49:06 <oerjan> CakeProphet: i think i found the original blog post: http://conal.net/blog/posts/semantic-editor-combinators/
03:50:07 <CakeProphet> "semantic editor combinators"..? that's like a mix of enterprise and academic
03:51:28 <pikhq> Oh, that post was greate.
03:51:40 <pikhq> So greate that great gains an extra letter.
03:52:46 <CakeProphet> the only way I can imagine weighting a random process is simply adding more occurances of higher weighted elements in "pick" list
03:52:50 <CakeProphet> is there another way?
03:54:11 <oerjan> yes...
03:55:54 <augur> i wonder if there are any encryption algorithms that turn a string into turning machine code that, if run, prints the original string
03:55:57 <augur> hmm.
03:56:47 <augur> i could imagine that you could go from string to UTM code that prints the string to UTM code that runs the UTM code that prints the string to ...
03:56:57 <augur> down arbitrary numbers of levels
03:57:12 <augur> and you'd obfuscate the hell out of it
03:57:45 <oerjan> !haskell import System.Random; import Data.List; main = do r = randomIO; let { pick = find ((r<=).fst) [(0.2, 'a'), (0.8, 'b'), (1.0, 'c')]; print pick
03:57:47 <augur> i really should put some of these puzzles up on my webpage
03:57:52 <oerjan> oops
03:57:58 <oerjan> !haskell import System.Random; import Data.List; main = do r = randomIO; let { pick = find ((r<=).fst) [(0.2, 'a'), (0.8, 'b'), (1.0, 'c')]}; print pick
03:58:41 <oerjan> !haskell import System.Random; import Data.List; main = do r <- randomIO; let { pick = find ((r<=).fst) [(0.2, 'a'), (0.8, 'b'), (1.0, 'c')]}; print pick
03:58:52 <oerjan> gah
03:59:19 <oerjan> !haskell import System.Random; import Data.List; main = do r <- randomIO; let { pick = find ((r<=).fst) [(0.2 :: Double, 'a'), (0.8, 'b'), (1.0, 'c')]}; print pick
03:59:22 <EgoBot> Just (0.2,'a')
03:59:25 <oerjan> !haskell import System.Random; import Data.List; main = do r <- randomIO; let { pick = find ((r<=).fst) [(0.2 :: Double, 'a'), (0.8, 'b'), (1.0, 'c')]}; print pick
03:59:28 <EgoBot> Just (1.0,'c')
03:59:46 <CakeProphet> hmmm...
03:59:57 <CakeProphet> I'm pretty sure I follow.
04:00:05 <oerjan> might be safer to make the last one slightly larger than 1.0 if that can actually be a value of r
04:00:12 <oerjan> (i'm not sure)
04:00:23 <CakeProphet> let's find out
04:00:38 <oerjan> oh it would be very rare in any case
04:02:58 <CakeProphet> !haskell import System.Random; import Control.Monad; import Data.List; main = do x <- sequence . repeat $ randomIO; print $ find (==1.0) x
04:03:33 <CakeProphet> hmmm... do I need to make 1.0 :: Double?
04:03:41 <oerjan> yes
04:03:47 <oerjan> i had that problem too
04:04:10 <CakeProphet> !haskell import System.Random; import Control.Monad; import Data.List; main = do x <- sequence . repeat $ randomIO; print $ find (==(1.0::Double)) x
04:04:17 <EgoBot> input.10171.hs: out of memory (requested 8388608 bytes)
04:04:36 <CakeProphet> well... I am no closer to truly knowing, I guess. :P
04:04:46 <oerjan> of course. the first action never ends.
04:04:54 <CakeProphet> hmmm?
04:05:22 <CakeProphet> sequence . repeat won't lazily traverse?
04:05:26 <oerjan> sequence in the IO monad is _not_ lazy
04:05:30 <CakeProphet> ah.
04:05:40 <oerjan> !haskell import System.Random; main = do r <- randomIO; if r >= (1.0 :: Double) then print r else main
04:06:04 <oerjan> i have little hope of getting an answer, anyhow :D
04:06:05 <CakeProphet> ah, yes. I always come up with a non-recursive solution, even when it's simpler.
04:06:27 <CakeProphet> oerjan: what exactly is the probability of 1.0 occuring?
04:06:41 <CakeProphet> in purely mathematical terms. It likely depends on the pseudo-random algorithm.
04:06:57 <oerjan> lessee
04:07:18 <CakeProphet> ...does EgoBot not impose a time-limit? o_o?
04:07:28 <oerjan> yes it does
04:07:40 <oerjan> but it doesn't say anything if it times out
04:08:31 <oerjan> !haskell let r = undefined :: Double in (floatRadix r, floatDigits r, floatRange r)
04:08:32 <EgoBot> (2,53,(-1021,1024))
04:08:35 <CakeProphet> well, mathematically there is not a finite number of elements. Can you calculate probability in such a case?
04:09:11 <oerjan> looks like 64 bits, 53 for mantissa, 11 for exponent
04:09:20 <CakeProphet> haha, I like that your Double value was an undefined. :)
04:09:58 <oerjan> those functions are not supposed to look at the value :)
04:10:21 <oerjan> !haskell let r = undefined :: Double in isIEEE r
04:10:23 <EgoBot> True
04:10:23 <CakeProphet> well yes. it does make sense.
04:11:39 <oerjan> so if there is a single representation of 1.0, we may guess it cannot be more than about 1/2^53 probability, or something like that
04:11:39 <CakeProphet> ....if isIEEE ignores its argument... why does it take one?
04:11:51 <oerjan> _assuming_ the random instance actually uses all bits
04:11:58 <CakeProphet> !haskell 2^53
04:11:59 <EgoBot> 9007199254740992
04:12:10 <oerjan> because there is no other way to tell it what type to check...
04:12:19 <CakeProphet> isIEEE :: Double ?
04:12:21 <oerjan> !haskell :t iEEE
04:12:29 <CakeProphet> where isIEEE is a method somewhere.
04:12:29 <oerjan> er
04:12:34 <oerjan> !haskell :t isIEEE
04:12:36 <EgoBot> isIEEE :: (RealFloat a) => a -> Bool
04:12:56 <oerjan> those others were also RealFloat methods
04:13:03 <CakeProphet> should be isIEEE :: (RealFloat a) => Bool
04:13:13 <oerjan> but that's impossible
04:13:29 <oerjan> a doesn't occur on the right side - no way to find out what it is
04:13:37 <CakeProphet> ....oh right
04:14:07 <CakeProphet> I forgot maxBound and such all return values of type (T a) => a
04:14:48 <CakeProphet> also, I suppose some implementation of RealFloat /might/ need to inspect the value to determine EEEness?
04:14:59 <oerjan> um no
04:15:12 <CakeProphet> I don't really know much about floating point number standards.
04:15:23 <oerjan> that function says whether the _type_ of the value is an IEEE implementation
04:16:09 <CakeProphet> but what if your implementor is EVIL. and has some values that are IEEE implementations and others that are not... :)
04:16:22 <oerjan> then it should probably answer False
04:20:39 <Gregor> Observation:
04:20:44 <Gregor> It is extremely difficult to play in 13/8
04:21:09 <Gregor> Or, 7/8+6/8, as it were.
04:21:22 <Gregor> Which is really 3/8+4/8+6/8
04:21:35 <Gregor> And of course 6/8 is always implied to be 3/8+3/8, so it's 3/8+4/8+3/8+3/8
04:23:08 <CakeProphet> but isn't that really just
04:23:34 <oerjan> CakeProphet: hm, after checking both the Haskell 98 and Haskell 2010 reports i cannot actually see that it says the values _have_ to be ignored
04:24:14 <pikhq> Observation: polymeter is not commonly done in rock music. But it is awesome when done.
04:24:37 <CakeProphet> (1+1+1)/(1+1+1+1+1+1+1+1)+(1+1+1+1)/(1+1+1+1+1+1+1+1)+(1+1+1)/(1+1+1+1+1+1+1+1)+(1+1+1)/(1+1+1+1+1+1+1+1)
04:24:40 <CakeProphet> ...
04:25:04 <CakeProphet> just to make it explicit
04:26:36 <CakeProphet> btw
04:26:48 <CakeProphet> that is a very cheap but effective way to obfuscate programs
04:26:56 <CakeProphet> translate numbers into huge sub-expressions
04:50:36 <oerjan> !haskell import System.Random; import Control.Monad; import Data.List; import System.IO.Unsafe; main = do x <- foldr ((unsafeInterleaveIO .) . (liftM2 (:))) (return []) . repeat $ randomIO; print $ find (>=(0.999::Double)) x
04:50:39 <EgoBot> Just 0.9993377110220812
04:50:48 * oerjan whistles not so innocently
04:51:05 -!- sftp has quit (Read error: Connection reset by peer).
04:53:33 <Ilari> What that program even does? Random double from interval [0.999,1)?
04:53:43 <oerjan> !haskell :t foldr ((System.IO.Unsafe.unsafeInterleaveIO .) . (Control.Monad.liftM2 (:))) (return [])
04:53:44 <EgoBot> foldr ((System.IO.Unsafe.unsafeInterleaveIO .) . (Control.Monad.liftM2 (:))) (return []) :: [IO
04:54:12 <oerjan> no, EgoBot, you were _not_ supposed to split that into several lines
04:54:29 <oerjan> Ilari: well presumably that's the effect
04:54:56 -!- sftp has joined.
05:00:03 -!- calamari has quit (*.net *.split).
05:00:34 -!- Warrigal has quit (*.net *.split).
05:00:34 -!- clog has quit (Ping timeout: 265 seconds).
05:00:34 -!- clog has quit (ended).
05:00:41 -!- clog has joined.
05:00:41 -!- clog has joined.
05:01:30 -!- iamcal has quit (Ping timeout: 270 seconds).
05:01:35 -!- cal153 has joined.
05:03:06 -!- Gregor has quit (Ping timeout: 260 seconds).
05:03:07 -!- Gregor has joined.
05:03:14 -!- calamari has joined.
05:03:14 -!- Warrigal has joined.
05:04:11 -!- calamari has quit (*.net *.split).
05:04:12 -!- Warrigal has quit (*.net *.split).
05:04:12 -!- sftp has quit (*.net *.split).
05:04:12 -!- jix has quit (*.net *.split).
05:04:13 -!- sshc has quit (*.net *.split).
05:04:15 -!- HackEgo has quit (*.net *.split).
05:04:16 -!- SimonRC has quit (*.net *.split).
05:04:16 -!- comex has quit (*.net *.split).
05:04:16 -!- mtve has quit (*.net *.split).
05:04:17 -!- Gregor has quit (*.net *.split).
05:04:18 -!- augur has quit (*.net *.split).
05:04:18 -!- relet has quit (*.net *.split).
05:04:18 -!- ski has quit (*.net *.split).
05:04:19 -!- Leonidas has quit (*.net *.split).
05:04:20 -!- Quadrescence has quit (*.net *.split).
05:04:20 -!- rodgort` has quit (*.net *.split).
05:05:32 -!- Warrigal has joined.
05:05:32 -!- calamari has joined.
05:05:32 -!- Gregor has joined.
05:05:32 -!- sftp has joined.
05:05:32 -!- augur has joined.
05:05:32 -!- Leonidas has joined.
05:05:32 -!- jix has joined.
05:05:32 -!- relet has joined.
05:05:32 -!- Quadrescence has joined.
05:05:32 -!- SimonRC has joined.
05:05:32 -!- HackEgo has joined.
05:05:32 -!- sshc has joined.
05:05:32 -!- comex has joined.
05:05:32 -!- ski has joined.
05:05:32 -!- mtve has joined.
05:05:32 -!- rodgort` has joined.
05:06:30 -!- calamari has quit (*.net *.split).
05:06:32 -!- Warrigal has quit (*.net *.split).
05:06:33 -!- sftp has quit (*.net *.split).
05:06:33 -!- jix has quit (*.net *.split).
05:06:34 -!- sshc has quit (*.net *.split).
05:06:36 -!- HackEgo has quit (*.net *.split).
05:06:37 -!- SimonRC has quit (*.net *.split).
05:06:38 -!- comex has quit (*.net *.split).
05:06:38 -!- mtve has quit (*.net *.split).
05:06:39 -!- Gregor has quit (*.net *.split).
05:06:41 -!- augur has quit (*.net *.split).
05:06:41 -!- relet has quit (*.net *.split).
05:06:42 -!- ski has quit (*.net *.split).
05:06:43 -!- Leonidas has quit (*.net *.split).
05:06:43 -!- Quadrescence has quit (*.net *.split).
05:06:44 -!- rodgort` has quit (*.net *.split).
05:08:53 -!- augur_ has joined.
05:08:53 -!- Warrigal has joined.
05:08:53 -!- calamari has joined.
05:08:53 -!- Gregor has joined.
05:08:53 -!- sftp has joined.
05:08:53 -!- Leonidas has joined.
05:08:53 -!- jix has joined.
05:08:53 -!- relet has joined.
05:08:53 -!- Quadrescence has joined.
05:08:53 -!- SimonRC has joined.
05:08:53 -!- HackEgo has joined.
05:08:53 -!- sshc has joined.
05:08:53 -!- comex has joined.
05:08:53 -!- ski has joined.
05:08:53 -!- mtve has joined.
05:08:53 -!- rodgort` has joined.
05:10:00 -!- augur_ has quit (*.net *.split).
05:10:00 -!- calamari has quit (*.net *.split).
05:10:01 -!- Warrigal has quit (*.net *.split).
05:10:02 -!- sftp has quit (*.net *.split).
05:10:02 -!- jix has quit (*.net *.split).
05:10:02 -!- sshc has quit (*.net *.split).
05:10:03 -!- HackEgo has quit (*.net *.split).
05:10:05 -!- SimonRC has quit (*.net *.split).
05:10:06 -!- comex has quit (*.net *.split).
05:10:06 -!- mtve has quit (*.net *.split).
05:10:07 -!- Gregor has quit (*.net *.split).
05:10:08 -!- relet has quit (*.net *.split).
05:10:09 -!- ski has quit (*.net *.split).
05:10:10 -!- Leonidas has quit (*.net *.split).
05:10:10 -!- Quadrescence has quit (*.net *.split).
05:10:11 -!- rodgort` has quit (*.net *.split).
05:10:11 -!- MizardX has quit (Ping timeout: 277 seconds).
05:11:22 <Sgeo_> C++ as a first language: Bad idea?
05:11:31 -!- sshc has joined.
05:14:27 -!- sshc has changed nick to 77CAAZ09I.
05:14:30 <ais523> Sgeo_: awful idea
05:14:37 <ais523> in fact, run in the other direction, as fast as you can
05:14:58 -!- Gregor has joined.
05:14:58 -!- sftp_ has joined.
05:14:58 -!- jix_ has joined.
05:14:58 -!- augur_ has joined.
05:14:58 -!- Warrigal has joined.
05:14:58 -!- calamari has joined.
05:14:58 -!- sftp has joined.
05:14:58 -!- Leonidas has joined.
05:14:58 -!- jix has joined.
05:14:58 -!- relet has joined.
05:14:58 -!- Quadrescence has joined.
05:14:58 -!- SimonRC has joined.
05:14:58 -!- HackEgo has joined.
05:14:58 -!- sshc has joined.
05:14:58 -!- comex has joined.
05:14:58 -!- ski has joined.
05:14:58 -!- mtve has joined.
05:14:58 -!- rodgort` has joined.
05:15:19 <Sgeo_> So another friend wants to learn a language
05:15:38 <Sgeo_> He seems to believe his choices are down to C, C++, and C#
05:15:56 -!- fizzie has quit (*.net *.split).
05:15:56 -!- Gregor has quit (*.net *.split).
05:15:57 -!- augur_ has quit (*.net *.split).
05:15:58 -!- calamari has quit (*.net *.split).
05:15:58 -!- Warrigal has quit (*.net *.split).
05:15:59 -!- sftp has quit (*.net *.split).
05:15:59 -!- jix has quit (*.net *.split).
05:16:00 -!- sshc has quit (*.net *.split).
05:16:02 -!- HackEgo has quit (*.net *.split).
05:16:03 -!- jix_ has quit (*.net *.split).
05:16:03 -!- SimonRC has quit (*.net *.split).
05:16:04 -!- comex has quit (*.net *.split).
05:16:04 -!- mtve has quit (*.net *.split).
05:16:04 -!- sftp_ has quit (*.net *.split).
05:16:04 -!- relet has quit (*.net *.split).
05:16:05 -!- ski has quit (*.net *.split).
05:16:06 -!- Leonidas has quit (*.net *.split).
05:16:06 -!- Quadrescence has quit (*.net *.split).
05:16:07 -!- rodgort` has quit (*.net *.split).
05:16:07 -!- atrapado has quit (*.net *.split).
05:16:07 -!- pikhq has quit (*.net *.split).
05:16:08 -!- bsmntbombdood has quit (*.net *.split).
05:16:08 -!- Ilari_antrcomp has quit (*.net *.split).
05:16:08 -!- Ilari has quit (*.net *.split).
05:16:09 <ais523> hint: there are a lot of decent languages whose names don't start with C
05:16:09 <Sgeo_> He wants to start with Active Worlds programming, but wants to be able to use those skills later
05:17:11 -!- Scott has joined.
05:17:19 <Sgeo_> Hi Scott
05:17:21 <Scott> hello
05:17:40 <ais523> we're in the middle of a huge netsplit atm
05:17:46 <ais523> so most people who "should" be here aren't
05:18:19 -!- Scott has changed nick to 12WABDH22.
05:18:32 * Sgeo_ blinks
05:19:10 -!- rodgort` has joined.
05:19:10 -!- mtve has joined.
05:19:10 -!- ski has joined.
05:19:10 -!- comex has joined.
05:19:10 -!- HackEgo has joined.
05:19:10 -!- SimonRC has joined.
05:19:10 -!- Quadrescence has joined.
05:19:10 -!- relet has joined.
05:19:10 -!- Leonidas has joined.
05:19:10 -!- calamari has joined.
05:19:10 -!- Warrigal has joined.
05:19:10 -!- augur_ has joined.
05:19:10 -!- jix_ has joined.
05:19:10 -!- sftp_ has joined.
05:19:10 -!- Gregor has joined.
05:19:10 -!- atrapado has joined.
05:19:10 -!- pikhq has joined.
05:19:10 -!- bsmntbombdood has joined.
05:19:10 -!- fizzie has joined.
05:19:10 -!- Ilari_antrcomp has joined.
05:19:10 -!- Ilari has joined.
05:19:36 <12WABDH22> ...
05:19:36 <12WABDH22> what
05:19:39 -!- 12WABDH22 has quit (Changing host).
05:19:39 -!- 12WABDH22 has joined.
05:19:39 -!- 12WABDH22 has changed nick to scda.
05:19:39 <scda> is that name in use?
05:19:52 <Sgeo_> Check the other tab, it might say something if it is
05:20:00 -!- Muhhfukin has joined.
05:20:13 -!- augur_ has quit (Remote host closed the connection).
05:20:14 -!- augur has joined.
05:20:15 -!- Muhhfukin has quit (Changing host).
05:20:15 -!- Muhhfukin has joined.
05:20:16 -!- Muhhfukin has left (?).
05:20:48 <Sgeo_> So, now that people are back, would it be appropriate to ask after a good first language for scda?
05:21:03 <scda> :D
05:21:16 -!- Jackson_C has joined.
05:21:23 <Jackson_C> Hello
05:21:28 <scda> hi
05:21:49 -!- Jackson_C has quit (Client Quit).
05:21:54 <Sgeo_> Anyways, please do not try to convince people here to play with AW
05:22:19 * Sgeo_ pokes ais523
05:22:25 -!- CSharpJackson has joined.
05:22:27 * ais523 unpokes him or herself
05:23:06 <Sgeo_> BRB
05:23:13 <CSharpJackson> Sgeo
05:23:14 <CSharpJackson> Sgeo
05:23:15 <CSharpJackson> Sgeo
05:24:39 <scda> so guys
05:24:46 <scda> ive heard lots of different opinions on which language to learn
05:24:55 <scda> ive been told to do C, C++, and C#
05:25:01 <scda> from different people
05:25:17 <scda> no prior programming experience
05:25:35 <ais523> C++ is a decent language for computer games development (as in console and PC games), but not really for anything else; it's also an awful language as your first language
05:25:49 <pikhq> C is not a bad language for a first language.
05:25:59 <pikhq> C# is a somewhat poor one, but much less so than C++.
05:26:01 <ais523> C is mostly good for very high-performance or low-level programming, something which you might not need to use much in future; but it makes a good first language
05:26:20 <pikhq> C++ is just plain an awful language in general, which manages to be useful in spite of being awful.
05:26:23 <scda> it's high performance because the programmer has to micromanage more though, right?
05:26:45 <scda> in regards to C, i mean
05:26:46 <ais523> and C# is Windows-specific, and a good language choice for things which are inherently Windows-only, but there aren't many of those around, and you'll generally want something more portable if you want other programmers to actually be able to use it
05:26:49 <ais523> scda: yes
05:27:09 <ais523> but part of the reason it's good for a new programmer is that if you don't know how the micromanagement goes, you're likely to screw it up even when it's done automatically
05:27:28 <scda> ive been told Python won't be able to handle what I would like to be able to do eventually
05:27:36 <ais523> sort-of like driving a car; automatic transmissions are nicer to use than manuals, but if you don't know how a manual works, and don't have experience with it, you won't be using the automatic as well as you could be
05:28:16 <CSharpJackson> scda, if ur programming in AW, Python probably shouldn't be your start
05:28:46 <scda> why not?
05:28:57 <CSharpJackson> The wrapper
05:29:01 <Sgeo_> It .. works
05:29:02 <Sgeo_> Mostly
05:29:04 <Sgeo_> >.>
05:29:06 <CSharpJackson> Does it?
05:29:11 <CSharpJackson> Made by whome?
05:29:20 <pikhq> Python is not a language I'd say is good for new programmers; it kinda leaves you rather ignorant of what the machine is doing.
05:29:21 <Sgeo_> Remember I had the bot at a decent level before I was fired
05:29:27 <scda> ok pik
05:29:33 <CSharpJackson> >.< Don't say fired
05:29:46 <pikhq> Also, it has some poor design decisions here and there that probably seem a bit weird.
05:29:47 <scda> so...C then?
05:30:03 <CSharpJackson> C#
05:30:04 <ais523> the major issue with C as a first language is that you end up trying to use it for things it's bad at
05:30:12 <ais523> but as long as you're willing to move onto something else, it's a good learning language
05:30:24 <pikhq> You are certain to blow things up in C. But yeah; C is good if you're wanting to actually learn how things work.
05:30:36 <scda> i wouldnt mind learning it as a language if there were projects i could do in it
05:30:36 <ais523> CSharpJackson: C# has massive standard libraries, that tends to make it bad for learning offhand
05:30:44 <pikhq> CSharpJackson: Ugh, don't start him off with anything with objects.
05:30:55 <scda> but i mean, i would like to be able to use what i learn
05:30:58 <scda> as im learning it
05:31:04 <scda> instead of mindless exercises
05:31:04 <pikhq> scda: And there certainly are things you can use C for.
05:31:12 <scda> practical things i would use?
05:31:13 <ais523> C is bad at things requiring lots of text processing, generally
05:31:22 <ais523> it's decent for numerical work, very good for low-level programming
05:31:26 <pikhq> It is the most commonly used language.
05:31:30 <ais523> and good for modifying existing programs written in C
05:31:32 * Sgeo_ wonders how much text processing there is in an AW bot
05:31:38 <ais523> (of which there are quite a lot, for the reason pikhq gives)
05:32:30 <scda> could you give some examples of what C would be bad t?
05:32:33 <scda> *at
05:33:12 <pikhq> Most of the time that the speed of your program is less important than the speed of writing your program.
05:33:44 <ais523> creating complex GUIs; very large programs (it can be done, but it isn't pretty); very simple programs which could be faster written in another language
05:33:49 <scda> so it just takes a while to write?
05:34:04 <ais523> anything which doesn't really follow a set pattern (because memory management is harder)
05:34:13 <pikhq> C has a lot of micromanagement required that most other languages take care of for you.
05:34:26 <pikhq> Mostly based around the usage of memory.
05:34:27 <scda> doesn't sound very appealing, lol
05:34:28 <Sgeo_> C++ doesn't help with the micromanagement really
05:34:35 <ais523> yep, it's even worse in C++
05:34:43 <Sgeo_> scda, but you learn how to micromanage, and what's fundamentally going on
05:34:47 <Sgeo_> And you can write bots in C
05:34:50 <ais523> sufficiently so that in C, at least there's a decent chance of getting it right first time
05:34:54 <pikhq> And C++ does exactly the same thing as C, but heaps on worthless features.
05:35:09 <Sgeo_> ALL [except maybe 1] of the code on wiki.activeworlds.com is in C
05:35:16 <ais523> "C++ is an octopus made by bolting legs onto a dog"
05:35:17 <Sgeo_> If that helps convince you >.>
05:35:25 <scda> lolol
05:35:29 <CSharpJackson> LOL
05:35:49 <pikhq> scda: Anyways, half the point of *knowing* the micromanagement in C is that it helps you know (some of) the costs and benefits of doing things in other languages.
05:36:15 <scda> ok
05:36:32 <ais523> and it's possible to manage a memory leak even in C# or Java if you don't know what's going on
05:36:48 <scda> my only beef so far with writing code is the workout my right pinky is getting reaching [] and \ :P
05:36:53 <pikhq> Yeah, that's actually pretty easy to do in C# or Java if you don't understand how it's doing memory management.
05:36:59 <pikhq> scda: You get used to it.
05:37:11 <ais523> not to mention null pointer errors
05:37:13 <scda> yeah ive been doing a lot of the beginner exercises
05:37:15 <pikhq> You'll also get pretty decent at typing things up on the number row.
05:37:18 <scda> all tha fun cmd stuff lol
05:37:28 <scda> #include <iostream> is burned into my retinas
05:37:29 <scda> haha
05:37:30 <ais523> but pretty much all programming languages use a bunch of punctuation marks
05:37:37 <Sgeo_> scda, it's going to be different in C
05:37:50 <Sgeo_> #include <stdio.h> I think?
05:37:53 <scda> ok, i already got some books for C as we were talking
05:37:56 <scda> lol
05:38:24 <pikhq> scda: The major thing to keep in mind, in *any* programming language, is that your computer is freaking stupid.
05:38:26 <ais523> Sgeo_: stdio.h is a lot saner than iostd.h
05:38:29 <ais523> but also more micromanagey
05:38:35 <ais523> *iostream.h
05:38:37 <Sgeo_> iostd.h?
05:38:38 <Sgeo_> Oh
05:38:39 <ais523> C++ omits the .h at the end
05:38:49 <ais523> but the file's still called iostream.h, generally speaking
05:39:24 <pikhq> If you tell it to, say, write over your function, it will *gleefully* try to do so. And then crash (if you're lucky)
05:40:06 <ais523> there was a thread on comp.lang.c about what the worst effect of undefined behaviour that the very experienced C programmers there had ever seen
05:40:23 <pikhq> C just makes this a bit more obvious, because you actually can write over your function by accident in some C environments.
05:40:27 <ais523> the winner was someone who managed to somehow actually call the format executable, or maybe a copy of it in memory
05:40:36 <ais523> but it stopped at the "do you really want to format?" prompt
05:41:16 <pikhq> for(int i = 0; i != INT_MAX; i++)main[i]=0;
05:41:19 * pikhq winces for having written that code
05:41:42 <Sgeo_> What would happen if you, say, had int[5] main;
05:41:46 <Sgeo_> Would that not compile?
05:42:01 <ais523> it compiles but segfaults on loading, in most compilers
05:42:04 <pikhq> Would not compile; main is already an int main()
05:42:08 <Sgeo_> Ah
05:42:14 <ais523> pikhq: only if main already exists
05:42:24 <ais523> if that's the only definition of main in your program, most compilers let you get away with it
05:42:30 <ais523> although gcc spouts a warning, if you've got them turned on
05:42:33 <pikhq> Oh, yeah.
05:42:42 <pikhq> It'll segfault on loading.
05:42:58 <ais523> the winning entry at the first ever IOCCC set main to an array of shorts filled with machine code
05:43:17 <ais523> they had to specifically ban literal machine code in future contests (by insisting on theoretical cross-platformness)
05:44:06 <ais523> nowadays, compilers are often better at distinguishing code from data
05:44:11 <ais523> and will segfault if you try to run data
05:44:14 -!- coppro has joined.
05:44:15 <ais523> normally for security reasons
05:54:20 <Gregor> Dear everyone: How can I convince people that Hackiki is the greatest thing since sliced bread?
05:58:10 <pikhq> Gregor: Give people Hackiki and sliced bread. They cannot deny it.
05:58:21 <coppro> I don't know
05:58:30 <coppro> sliced meat is pretty damn modular
05:58:33 <coppro> *bread
05:58:43 <Gregor> Hackiki is super-expandable!
05:59:06 <Sgeo_> while(1) malloc(sizeof(char));
05:59:21 <pikhq> s/malloc/GC_malloc/ >:D
05:59:29 <Sgeo_> GC_malloc?
05:59:37 <pikhq> Sorry, GC_MALLOC
05:59:47 * Sgeo_ doesn't know what that is either
05:59:47 <pikhq> Though GC_malloc exists, you shouldn't use it.
05:59:54 <coppro> for instance, if you stick smoked meat inside sliced bread, you have the best meal ever
05:59:56 <pikhq> It's the allocator from Boehm GC.
06:00:08 <pikhq> coppro: Not the best meal ever.
06:00:25 <pikhq> Add cheese. And butter. And grill.
06:00:27 <coppro> pikhq: you been to Scwartz's?
06:00:32 <pikhq> *Now* you have the best meal ever.
06:00:45 <pikhq> No.
06:00:54 <coppro> :(
06:01:37 <Sgeo_> I still don't quite grok malloc
06:01:42 <Sgeo_> It asks the OS for memory?
06:02:42 <pikhq> No. It assigns memory from the heap to fulfill your requests.
06:02:58 <Sgeo_> And how does it do that?
06:03:01 <pikhq> When the heap doesn't have enough space to fulfill those requests, it asks the OS for more memory.
06:03:21 <pikhq> It keeps track of what is used and unused in the heap.
06:03:32 <pikhq> Where "unused" means "not yet allocated, or has been freed".
06:04:01 <Sgeo_> What does the OS do? Can the OS call malloc?
06:04:07 <pikhq> No.
06:04:31 <pikhq> The OS offers system calls to increase the size of the heap or grant pages to the process, generally.
06:04:44 <Sgeo_> So how does the OS use heap memory, if that even makes sense?
06:05:10 <pikhq> The kernel has its own heap.
06:05:44 <pikhq> And most likely also a seperate allocator for managing the pages assigned to user processes.
06:07:39 <Sgeo_> I did the same line of code in AW chat, and scda disappeared
06:08:05 <scda> ?
06:08:07 <scda> lol
06:08:11 <scda> sorry
06:08:12 <scda> :P
06:08:44 <Sgeo_> OOM killer get you?
06:09:03 <ais523> pikhq: there's a kmalloc, IIRC
06:09:11 <ais523> which does much the same sort of thing malloc does, but obviously a different way
06:09:27 <pikhq> ais523: Yeah, that's the kernel's allocator for the heap. :)
06:09:30 <ais523> for use inside the kernel itself
06:10:06 <Ilari> There's two variants of it, the nonatomic variant and atomic variant (which is used depends on flags).
06:10:10 <ais523> but because I've actually looked into this (for gcc-bf); malloc allocates an unused bit of the heap; if there are no unused bits of the heap of the right size, it asks the kernel to make the heap bigger
06:10:18 <ais523> normally using mmap or sbrk
06:10:35 <Sgeo_> I know there's one touch of C++ on this wiki
06:10:42 <ais523> (gcc-bf uses sbrk, which has a rather simple implementation because the heap's at the end of the tape and so is basically infinitely big anyway)
06:10:42 <Sgeo_> So subtle it's easy to miss
06:10:47 <Sgeo_> Unless I'm hallucinating
06:10:47 <Ilari> IIRC, sbrk for smaller hunks, larger hunks are mmapped straight away without even searching heap.
06:10:59 <ais523> well, different mallocs work differently ofc
06:11:03 * Sgeo_ aims to replace it with C
06:11:05 <ais523> DOS even has a syscall with the same semantics of malloc
06:11:15 <ais523> *same semantics as
06:11:23 <ais523> which you could use to implement malloc directly on DOS
06:11:38 <pikhq> Unless you're doing 32-bit DOS.
06:12:03 <Ilari> Is there some page for gcc-bf?
06:12:17 <ais523> no
06:12:23 <ais523> it's on hold due to me doing other things
06:12:25 -!- cheater99 has quit (Quit: Leaving).
06:12:42 <ais523> mostly, because I can't pluck together the courage to write an efficient 64-bit multiply in 8-bit BF
06:22:41 -!- CSharpJackson has quit (Ping timeout: 252 seconds).
06:30:28 -!- GreaseMonkey has joined.
06:37:54 -!- ais523 has quit (Remote host closed the connection).
07:21:06 -!- scda has quit (Quit: Page closed).
07:23:34 -!- oerjan has quit (Quit: leaving).
07:35:38 <calamari> language to learn first... basic.. of course! :)
07:35:47 -!- calamari has quit (Quit: Leaving).
07:47:41 -!- relet has quit (Quit: Leaving.).
07:48:57 -!- ais523 has joined.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:11:50 -!- BeholdMyGlory has joined.
08:18:48 -!- GreaseMonkey has quit (Quit: I'm using NO SCRIPT WHATSOEVER - Download it at file:///dev/null).
08:49:21 -!- tombom has joined.
09:05:02 -!- CakeProphet has quit (Ping timeout: 276 seconds).
09:33:59 -!- Phantom_Hoover has joined.
09:34:33 -!- CakeProphet has joined.
09:34:51 <Phantom_Hoover> 77CAAZ09I, I find that name suspicious.
09:44:11 -!- tombom has quit (Ping timeout: 240 seconds).
09:45:21 -!- tombom has joined.
09:54:09 -!- cheater99 has joined.
09:59:33 -!- cheater99 has quit (Ping timeout: 252 seconds).
10:03:11 -!- Sgeo__ has joined.
10:06:08 -!- Sgeo_ has quit (Ping timeout: 265 seconds).
10:06:11 <AnMaster> Phantom_Hoover, looks like a UUID due to nick collision
10:06:28 <AnMaster> Phantom_Hoover, after all, normally number at the start of a nick is invalid
10:13:08 -!- cheater99 has joined.
10:24:11 -!- augur has quit (Ping timeout: 258 seconds).
10:24:58 -!- augur has joined.
10:33:51 <Phantom_Hoover> Aaaghwhywillplan9notworkonqemu
10:41:26 -!- augur has quit (Ping timeout: 260 seconds).
10:42:28 -!- augur has joined.
10:45:00 <Ilari> Apparently sometimes freenode force-renicks users to such odd nicks (apparently to avoid nick collisions). Usually those users quit rather quickly...
10:46:11 <Ilari> Anyway, they appear to be strongly related to netsplits.
10:47:04 <ais523> what about a nick collision across a netsplit
10:47:12 <ais523> where there's a user with a given name on each side?
10:58:20 -!- GreaseMonkey has joined.
10:58:40 <fizzie> IRCnet ircd pre-2.11 used to kill both; that was a favourite technique of people for channel-takeovering, colliding everyone present away. 2.11 just force-renames to user UID.
10:59:31 <ais523> wouldn't such a technique require deliberately causing a netsplit?
10:59:51 <fizzie> Either that, or then you just wait for one to occur and then take advantage of it.
11:00:28 <fizzie> The split also needs to be long enough, because both sides remember the splitted-off users for a while and keep their names reserved.
11:00:28 <Ilari> At least previous freenode IRCD would kill one of the users (the newer one).
11:00:57 <fizzie> IRCnet kills (well, killed) both, in the interests of some semblance of fairness.
11:02:11 <fizzie> ircd 2.11 also lets you do "NICK 0" (after connecting, or as the initial NICK message) to manually rename yourself to your UID, if you don't feel like selecting a nickname.
11:02:57 <fizzie> (And you can match against UIDs in bans and such, which is somewhat useful because the UIDs start with a server-specific number.)
11:03:20 -!- MizardX has joined.
11:03:26 <Ilari> I haven't seen what Ircd-seven would do if both sides of netsplit had same nick. Might rename one of the users.
11:04:02 <ais523> with Freenode's method, you could still take over a nick during a netsplit if not for the existence of NickServ
11:04:16 <ais523> (I wonder if if one person's identified and the other isn't, the identified person gets to keep the nick automatically?)
11:04:31 <fizzie> (And even the server-specific number has a meaning; the first three digits are the ISO 3166-1 numeric country code of the server. So you can ban all people that use a server in a specific country, if you're feeling countryist.)
11:05:39 <fizzie> ais523: It might not want to bother trying to contact NickServ (which might well be splitted off in some third bit of the network) at the moment, instead opting just to rename and let the user sort it out. But this is just a guess.
11:06:14 <Ilari> The server user is on should know if the user is regd or not...
11:06:18 <ais523> isn't the "identified" statement a umode?
11:06:22 <ais523> *status
11:06:29 <ais523> you could use that rather than asking NickServ
11:06:31 <fizzie> I guess there's a flag, right.
11:06:42 <Ilari> Well, what's your umode?
11:06:48 <ais523> +i
11:07:06 <Ilari> Ah, +Ziw here. So that flag at least doesn't display.
11:07:09 <ais523> just changed it to +iw, I don't know why the w unsets itself
11:07:21 <ais523> hmm, does the +i not mean identified?
11:07:27 <Ilari> Invisible.
11:07:31 <ais523> oh, ofc
11:07:38 <ais523> the usual anti-spambot protection
11:07:44 <Ilari> +Ziw means TLS INVISIBLE WALLOPS
11:07:53 <ais523> actually, identifiedness is shown in the hostname on Freenode
11:08:09 <Ilari> Only if you have hostname cloaking enabled.
11:08:13 <ais523> or was for a while, although they seem to have changed it
11:08:56 <fizzie> I seem to remember messages about the server setting some usermode (+E?) when identifying manually to nickserv, but that was before seven.
11:09:10 <Ilari> If user account has hostname cloaking enabled and one identifies as that account, ircd fakes user disconnecting and immediately reconnecting.
11:09:32 <Ilari> Yes, there was umode in previous software for identify.
11:09:54 <fizzie> Dancer docs say +e, so I just remembered the case wrong. (Unless hyperion had changed that from what dancer uses.)
11:10:35 -!- MizardX- has joined.
11:11:02 <fizzie> Anyhow, why no love for my silly little language Grasp? I even bothered to hand-draw three example snippets, but no-one commented on my previous blatant self-advertisement here. :/
11:11:07 -!- MizardX has quit (Read error: Connection reset by peer).
11:11:34 -!- MizardX- has changed nick to MizardX.
11:11:57 <ais523> fizzie: I saw your edits, but my RSS reader doesn't do image uploads
11:12:49 <fizzie> You're missing a lot! There's absolutely horrible penmanship, and lots of blurry leftover eraser cruft.
11:15:43 <Phantom_Hoover> fizzie, your handwriting is... weird.
11:17:36 <fizzie> It's not perhaps always that bad.
11:18:04 <Phantom_Hoover> Not so much bad as... weird.
11:18:16 <Phantom_Hoover> Although my handwriting is a paragon of weirdness.
11:18:37 <Phantom_Hoover> And unreadability, come to think of it.
11:18:42 <Phantom_Hoover> It's very useful in exams.
11:21:26 <fizzie> I can do readable (sort-of) and I can do fast, but not both at the same time.
11:21:53 <Phantom_Hoover> Ah, well I can do neither.
11:26:45 <ais523> my handwriting used to be quite good
11:26:55 <ais523> but last time I needed to handwrite something I realised I hadn't in almost a year
11:27:00 <ais523> and it took a while to remember how
11:28:12 -!- augur has quit (Ping timeout: 240 seconds).
11:29:11 <Phantom_Hoover> ais523, what do you do if you need to make scribbles?
11:29:12 -!- augur has joined.
11:29:20 <ais523> use a text editor, generally
11:29:31 <ais523> my scribbles are generally of the kind that work quite well in that format
11:29:54 <ais523> I do use pencil and paper sometimes, but mostly for diagrams, so that still doesn't involve actual writing
11:30:38 <ais523> even when I want to think mathematically, I tend to use a text editor, or if all else fails open LyX and do my thinking there
11:40:05 -!- cheater99 has quit (Ping timeout: 258 seconds).
11:40:41 -!- GreaseMonkey has quit (Quit: I'm using NO SCRIPT WHATSOEVER - Download it at file:///dev/null).
11:44:29 <fizzie> "Because of the scandinavian origin of IRC [, \, ], and ^ were the letters {, |, } and ~ in uppercase. That logic was abandoned in 2.11." Heh, that relic stayed there for quite a while.
11:48:05 -!- MigoMipo has joined.
11:50:13 <ais523> oh, I thought that was actually in the IRC standard
11:50:18 <ais523> the uppercase punctuation marks thing, that is
11:53:39 <fizzie> It is at least in the earlier RFC, 1459. "Because of IRC's scandanavian origin, the characters {}| are considered to be the lower case equivalents of the characters []\, respectively. This is a critical issue when determining the equivalence of two nicknames."
11:54:05 <fizzie> Doesn't mention ^/~ thing. Possibly because ~ isn't legal in nicks.
11:56:00 -!- augur has quit (Remote host closed the connection).
11:59:09 <Phantom_Hoover> fizzie, same for UK keyboards.
11:59:25 <Phantom_Hoover> Although ^~ isn't the case on them.
12:01:09 <fizzie> I don't know what characters ^~ would be; I don't remember them from the 7-bit Finnish thing. "echo {}|~[]\^ | iconv -f ISO646-FI -t utf-8" just gives "äåö‾ÄÅÖ^" where that thing corresponding to ~ is the upper-line.
12:04:02 <fizzie> And for the record, the FI keyboard has the characters {[]} as altgr-7 .. altgr-0, \ as altgr-+ (where + is next to 0), | from altgr-< (where <>| come from a single key to left of z) and ^~ as shift and altgr variants from a dead key to right of å, which itself is to right of p.
12:07:22 <fizzie> There's a bit more two-keys-needed when programming, compared to the UK keymap's separate [{ and ]} keys. (And you put those in the wrong order w.r.t. 7-bit Finnish encoding: []\ should be the uppercase ones, not the base ones.)
12:08:38 -!- cheater99 has joined.
12:11:18 <fizzie> Swedish SEN 85 02 00 Annex C ("extended Swedish for names") has ^~ → Üü, that's one upper/lowercase pair. And some others use it too.
12:20:58 -!- coppro has quit (Ping timeout: 265 seconds).
12:28:54 -!- Wamanuz has joined.
12:42:23 -!- ais523 has quit (Remote host closed the connection).
12:43:05 -!- ais523 has joined.
12:43:09 <fizzie> ISO has a rather strict definition of "freely available": http://standards.iso.org/ittf/PubliclyAvailableStandards/index.html "You may print out and retain one printed copy of the PDF file. This printed copy is fully protected by national and international copyright laws, and may not be photocopied or reproduced in any form."
12:43:24 <ais523> what if you want to read it online?
12:43:42 <fizzie> Well, they are "a single-user, non-revisable Adobe Acrobat PDF file, to store on your personal computer".
12:44:14 <fizzie> I'm not sure what happens if you have more than one "personal computer".
12:44:58 <fizzie> But you explicitly can't have a printout both at work and at home, for example.
12:45:50 <fizzie> Oh, and you can't show your copy to anyone, they need to use their own.
12:46:33 <fizzie> (Well, perhaps some common-sense copyright limitations intervene at some point here.)
12:47:48 <fizzie> Oh, the actual click-through license page has more verbosity. "Under no circumstances may the electronic file you are licensing be copied, transferred, or placed on a network of any sort without the authorization of the copyright owner."
12:48:11 <fizzie> Our home directories are on a NFS share, so I guess I can't put it there either.
12:50:00 <ais523> are you actually buying an ISO standard document?
12:52:35 <fizzie> No, those are freely available ones.
12:52:49 <ais523> the mind boggles
12:53:08 <fizzie> I'm sure the license terms for not-freely-available ones would be even more strict.
12:57:04 -!- SevenInchBread has joined.
12:57:51 -!- CakeProphet has quit (Read error: Operation timed out).
13:09:18 -!- cheater99 has quit (Ping timeout: 265 seconds).
13:09:47 -!- Phantom_Hoover has quit (Ping timeout: 265 seconds).
13:10:45 -!- Phantom_Hoover has joined.
13:12:14 -!- David has joined.
13:12:43 -!- David has changed nick to Guest89071.
13:13:48 -!- Guest89071 has quit (Client Quit).
13:14:21 -!- madk has joined.
13:24:31 -!- lulinha has joined.
13:24:32 -!- lulinha has left (?).
13:24:32 -!- lulinha has joined.
13:24:33 -!- lulinha has left (?).
13:24:33 -!- lulinha has joined.
13:24:34 -!- lulinha has left (?).
13:24:34 -!- lulinha has joined.
13:24:35 -!- lulinha has left (?).
13:24:36 -!- lulinha has joined.
13:24:37 -!- lulinha has left (?).
13:24:38 -!- lulinha has joined.
13:24:39 -!- lulinha has left (?).
13:24:41 -!- lulinha has joined.
13:24:41 -!- lulinha has quit (Excess Flood).
13:28:12 -!- lulinha has joined.
13:28:12 -!- lulinha has left (?).
13:28:13 -!- lulinha has joined.
13:28:13 -!- lulinha has left (?).
13:28:14 -!- lulinha has joined.
13:28:14 -!- lulinha has left (?).
13:28:15 -!- lulinha has joined.
13:28:15 -!- lulinha has left (?).
13:28:17 -!- lulinha has joined.
13:28:18 -!- lulinha has left (?).
13:28:19 -!- lulinha has joined.
13:28:20 -!- lulinha has left (?).
13:30:50 -!- lulinha has joined.
13:30:50 -!- lulinha has left (?).
13:30:51 -!- lulinha has joined.
13:30:51 -!- lulinha has left (?).
13:30:52 -!- lulinha has joined.
13:30:52 -!- lulinha has left (?).
13:30:53 -!- lulinha has joined.
13:30:53 -!- lulinha has left (?).
13:30:54 -!- lulinha has joined.
13:30:54 -!- lulinha has left (?).
13:30:55 -!- lulinha has joined.
13:30:55 -!- lulinha has left (?).
13:30:56 -!- lulinha has joined.
13:30:56 -!- lulinha has left (?).
13:30:57 -!- lulinha has joined.
13:30:57 -!- lulinha has left (?).
13:30:59 -!- lulinha has joined.
13:31:00 -!- lulinha has left (?).
13:31:01 -!- lulinha has joined.
13:31:02 -!- lulinha has left (?).
13:31:03 -!- lulinha has joined.
13:31:04 -!- lulinha has left (?).
13:34:30 -!- lulinha has joined.
13:34:54 -!- lulinha has quit (Excess Flood).
13:36:16 -!- i__ has joined.
14:02:36 -!- Mathnerd314 has quit (Ping timeout: 240 seconds).
14:10:30 <Phantom_Hoover> Why do there not seem to be any compiler languages that can be used for application development without being listed in the DSM (aside from perhaps C++, but probably not).
14:37:50 -!- Wamanuz has quit (Read error: Connection reset by peer).
14:39:24 -!- Wamanuz has joined.
15:00:10 -!- relet has joined.
15:07:45 -!- coppro has joined.
15:14:23 -!- cpressey has joined.
15:25:35 <Phantom_Hoover> cpressey!
15:26:58 -!- boily has joined.
15:32:26 -!- i__ has left (?).
15:34:25 -!- oerjan has joined.
15:34:33 <cpressey> oerjan!
15:34:41 -!- ais523 has quit (Remote host closed the connection).
15:35:12 <oerjan> eek, Phantom_Hoover's mind control device must be working
15:35:35 * Phantom_Hoover laugh maniacally
15:35:41 <Phantom_Hoover> s/h/hs/
15:35:47 <cpressey> That might explain the sudden cravings for blood
15:36:09 <oerjan> just a slight side effect, i hear
15:36:59 <Phantom_Hoover> cpressey, think yourself lucky that the signal holds to the inverse square law.
15:37:20 <cpressey> Indeed.
15:37:29 * cpressey shudders
15:37:41 -!- coppro has quit (Ping timeout: 265 seconds).
15:39:25 <Phantom_Hoover> I tried it on a few people in Europe, but that's all I'm allowed to tell you.
15:40:15 <oerjan> just look in the news for the small new breakaway republic of Phantomia
15:44:29 <oerjan> <ais523> isn't the "identified" statement a umode?
15:44:49 <oerjan> i _used_ to have a +e flag but it disappeared when they switched ircd
15:45:28 <oerjan> oh he left
15:49:43 -!- Mathnerd314 has joined.
15:53:19 -!- 77CAAZ09I has quit (Quit: Reconnecting).
15:53:27 -!- sshc has joined.
16:11:11 <Phantom_Hoover> Who left?
16:11:19 <Phantom_Hoover> Oh, ais.
16:52:15 -!- coppro has joined.
17:07:21 <cpressey> aughugaghghghghghghgggghghhhhh
17:07:56 <oerjan> well, don't _do_ that then.
17:08:45 <cpressey> What, attend estimation meetings?
17:09:01 <oerjan> hey i avoid estimations all the time
17:09:41 <oerjan> i couldn't estimate my way out of a paper bag
17:10:17 <cpressey> Henceforth, all stories are 3 points.
17:10:47 <oerjan> whatever that means.
17:11:12 <cpressey> Oh, if you someday find yourself on an "agile team", you'll find out.
17:11:44 <cpressey> The sheer meaninglessness that it means will shine through.
17:12:18 <oerjan> ok
17:14:12 * Phantom_Hoover decides he wants the "Conquering Norway for Dummies" book from Casey & Andy.
17:14:37 <Phantom_Hoover> No offence, oerjan.
17:16:31 <Phantom_Hoover> Plan 9 is taking its time...
17:17:07 <Phantom_Hoover> Based on my zsh times, it's been installing for 25 minutes.
17:20:31 <oerjan> this explains why all the shop windows are full of dummies lately
17:20:41 <oerjan> obviously they got it slightly wrong
17:23:06 <Phantom_Hoover> Yep.
17:23:15 <Phantom_Hoover> Your papers must be interesting.
17:23:20 <Phantom_Hoover> `norwegian hello
17:23:27 <Phantom_Hoover> `swedish hello
17:23:31 <Phantom_Hoover> (for testing)
17:23:36 <Phantom_Hoover> !swedish hello
17:23:36 <HackEgo> No output.
17:23:38 <HackEgo> hellu
17:23:41 <EgoBot> hellu
17:23:45 <Phantom_Hoover> !norwegian
17:23:49 <Phantom_Hoover> !norwegian hello
17:23:56 <relet> skål
17:24:07 <Phantom_Hoover> relet, not interested in what "hello" is.
17:24:09 <coppro> cpressey: "agile team"?
17:24:27 <cpressey> What, am I like the only developer here?
17:24:28 <Phantom_Hoover> `relet "Country conquered by dummies again"
17:24:30 <HackEgo> No output.
17:24:42 <cpressey> That CAN'T be right.
17:26:10 <coppro> cpressey: do you just mean agile development?
17:26:29 <coppro> I've worked in an office that used it, though I was sort of outside the process
17:26:51 <cpressey> coppro: Mostly -- I get the impression that most development is "agile process" nowadays.
17:26:59 <coppro> hopefully
17:27:11 <coppro> the core principles of agile development are about 5000x better than waterfall
17:27:57 -!- oerjan has quit (Quit: Later).
17:27:58 <cpressey> On paper, I might agree.
17:28:29 <cpressey> I don't see any difference in quality of the end product, practice.
17:28:45 <coppro> I do
17:28:48 <Phantom_Hoover> Development?
17:29:05 <coppro> bugs tend to be better prioritized in my exprience
17:29:09 <Phantom_Hoover> You're having academic discussions on software development?
17:29:12 <coppro> yes
17:29:20 <coppro> you're in #esoteric
17:29:22 <coppro> what do you expect?
17:29:28 <Phantom_Hoover> That's not esoteric at all!
17:29:39 <Phantom_Hoover> It's not even off-topic in an esoteric way!
17:29:57 <cpressey> Phantom_Hoover: I'm referring only to software development that takes place on JUPITER.
17:30:27 <Phantom_Hoover> What languages are popular on Jupiter?
17:30:38 <cpressey> C#
17:32:42 <Phantom_Hoover> Hmph.
17:32:49 <cpressey> Anyway, IMO, for every bug that gets fixed faster with an agile process, more bugs and more potential for bugs are introduced by slapping new features in, in the short-sighted way that "fitting the task into a single sprint" requires you do it.
17:33:00 <Phantom_Hoover> So Jovian software development is identical to that on Earth?
17:34:01 <coppro> exactly
17:34:20 <coppro> cpressey: I would think a good development house will allow someone to engage in a multi-sprint project
17:43:59 <fizzie> In some places agility seems to translate mostly to lots of strange playground-style games in meetings; more often than not involving some sort of pieces of paper or other props.
17:44:26 <Phantom_Hoover> Can you build an origami Turing machine in meetings?
17:45:05 <fizzie> (I'm looking at you, Planning Poker.)
17:48:44 <cpressey> fizzie: Oh, we have a nice Web 2.0 in-house app for playing Planning Poker. I haven't used it yet, because I attend the meetings in-person and don't have an iPhone, so I use a set of real Planning Poker cards, and I show my estimate to the Scrum Master, who enters it by proxy.
17:49:10 <cpressey> fizzie: You like that?
17:49:11 <fizzie> I do like the "ScrumMaster" term, it's so videogamey.
17:49:21 <fizzie> You must defeat all the eight Scrum Masters before you can continue!
17:49:28 <cpressey> Wow, I didn't even think of that.
17:49:46 <cpressey> It's just like a Dungeon Master -- except for Scrum!
17:49:47 <fizzie> I also have two recordings from the webcast of the "basics of software engineering" course, where this local agility hype-guy -- c.f. http://www.agilefant.org/ -- sings (and accompanies with guitar) two different agile software development -themed lyric-swaps of some well-known songs.
17:50:21 <Phantom_Hoover> AAAAAAAAAAAAARUGBY
17:50:46 <Phantom_Hoover> GETITAWAYGETITAWAY
17:54:00 <fizzie> (IIRC, he can't really sing.)
18:01:07 -!- Mathnerd314 has quit (Ping timeout: 258 seconds).
18:03:15 -!- Mathnerd314 has joined.
18:11:31 <Phantom_Hoover> For the love of god, why, *WHY* does Firefox have an accelerometer?
18:11:52 <cpressey> Phantom_Hoover: FOR SPEED
18:12:21 <Phantom_Hoover> That actually made me laugh in real life.
18:13:28 <Slereah> cpressey : Accelerometers don't measure speed
18:13:33 <Slereah> It's right in the name
18:15:56 <Phantom_Hoover> Slereah, they measure the derivative of speed, though.
18:16:29 <Slereah> The derivative and the quantity don't have any obvious relationship, though.
18:16:35 <Phantom_Hoover> So they can be used to work out one's speed given continuous data and a know speed at a known time.
18:16:45 <Slereah> An object can have different speeds despite having the same acceleration
18:16:46 <fizzie> Phantom_Hoover: And the ideal accelerometer, which you of course have.
18:16:47 <Phantom_Hoover> s/know /known /
18:17:04 <Slereah> But speed is dependant on the referential D:
18:17:45 <fizzie> You can just assume that when the user's looking at some particularly insightful site (youcanhascheeseburger?), he's not going anywhere; that gives you a reference speed of zero.
18:21:09 -!- boily has quit (Quit: leaving).
18:22:48 -!- oklopol has joined.
18:27:51 <cpressey> oklopol!
18:48:26 <cpressey> Hey, only one unit test failed this time. Awesome.
18:53:23 <fizzie> Just test only for tautologies, and you won't have so many problems with failing tests.
19:16:26 -!- Gregor-W has joined.
19:17:12 <Gregor-W> NEW HACKIKI PLAN (that involves no actual work on Hackiki, since I consider it "done"): Establish Hackiki's supremacy through invasive advertising!
19:17:16 -!- Gregor-W has changed nick to HackikiDotOrg.
19:17:33 <coppro> lol
19:20:19 <HackikiDotOrg> Yes friends, Hackiki is truly the wiki of choice for the modern Wiki advocate, especially one looking, say, for a wiki on which they could safely run interpreters for esoteric programming languages!
19:21:04 <coppro> I heartily endorse this product and/or service!
19:22:24 <HackikiDotOrg> Let this non-actor unpaid unbiased spokesperson influence your opinions!
19:23:24 <coppro> It's true! I am e) all of the above!
19:24:06 <HackikiDotOrg> Would it be treason for me to create a Hackiki replacement for the esolang wiki? It would actually be extremely appropriate ...
19:25:42 <oklopol> you should definitely do it
19:25:45 <oklopol> twice
19:26:45 <Phantom_Hoover> Hackiki is the one where pages are arbitrary executables, isn't it?
19:27:12 <coppro> HackikiDotOrg: I think not!
19:27:59 <Phantom_Hoover> HackikiDotOrg, is Hackiki resistant to fork bombs?
19:28:40 -!- madk has quit (Read error: No route to host).
19:29:04 <HackikiDotOrg> Phantom_Hoover: Yes.
19:29:22 -!- madk has joined.
19:29:47 <Phantom_Hoover> Damn, there's no way to indicate evil grinning.
19:30:08 <coppro> >:D
19:30:17 <Phantom_Hoover> HackikiDotOrg, and this doesn't strike you as the biggest security risk EVER?
19:30:57 <coppro> Phantom_Hoover: Hackiki is properly sandboxed, like HackEgo
19:31:00 <HackikiDotOrg> Phantom_Hoover: I've been running HackEgo and Hackiki for months, and people have attempted to hack both of them.
19:31:18 <HackikiDotOrg> Mind you, it may still be the biggest JUSTIFIED security risk ever X-P
19:31:25 * Phantom_Hoover re-reads his original question and gets hit in the face by an egg
19:31:52 <HackikiDotOrg> Oh, you thought my "yes" was a "no" :P
19:31:53 <Phantom_Hoover> `run :(){ :|:& };:
19:31:55 <HackEgo> No output.
19:33:54 <HackikiDotOrg> Don't be confused, however: It's not resistant to DoSing at all :P
19:36:30 <HackikiDotOrg> It's kinda hard to imagine how anything even vaguely similar to Hackiki could be resistant to DoSing :(
19:37:25 <relet> but then, even a wiki that doesn't run code is not resistant to DoS. (DDoS at least)
19:38:08 <HackikiDotOrg> Well, you can be resistant to non-distributed DoS by just being a better machine than the attacker.
19:38:28 <HackikiDotOrg> But Hackiki makes it possible for a small amount of action by an attacker to produce a (relatively) large (though fixed) amount of action by the server.
19:40:46 <relet> can it be made permanent?
19:41:41 -!- HackikiDotOrg has set topic: (a(:^)*S):^ | Should the esolangs community have a Hackiki wiki? (Wiki capable of running nearly-arbitrary code) Vote: http://poll.fm/23p9l | http://tunes.org/~nef/logs/esoteric/?C=M;O=D.
19:41:46 <HackikiDotOrg> relet: Can what be made permanent?
19:42:08 -!- HackikiDotOrg has changed nick to Gregor-W.
19:43:05 <relet> the damage.. I guess you could add an idle loop on the main page, but DoS is only interesting if the target is high profile, or the damage is permanent.
19:44:09 <Gregor-W> Ah. I suppose that depends on your definition. All changes to the filesystem are trivially revertable, and DoSing will never be capable of producing a process that doesn't kill itself in 30 seconds.
19:44:33 <Gregor-W> However, a permanently DoSing box could do "permanent" damage in that it could constantly DoS.
19:48:12 <Gregor-W> Anywho, everybody vote and then we'll decide :P
19:48:20 <Gregor-W> I haven't voted because I have an obvious bias.
19:48:22 <oklopol> i vote yes
19:48:29 <oklopol> fucking yes
19:48:40 <Gregor-W> Vote yes in the poll in the topic, not in the channel :P
19:48:48 <oklopol> well what the fuk
19:48:49 <oklopol> ck
19:48:52 <oklopol> okay
19:49:08 <oklopol> "polldaddy"
19:49:25 <Gregor-W> Google search for "online polls" or something X-P
19:49:28 <Gregor-W> Way too lazy to write my own.
19:50:37 <oklopol> or maybe "too sane", if you're talking about writing a voting service just for this poll
19:50:54 <oklopol> so
19:50:55 <oklopol> penis
19:50:56 <oklopol> penis
19:50:56 <oklopol> penis
19:50:57 <oklopol> penis
19:50:58 <oklopol> penis
19:50:59 <oklopol> penis
19:51:00 <oklopol> penis
19:51:03 <oklopol> and what else
19:51:50 <Gregor-W> What else IS there?
19:52:08 -!- coppro has quit (Read error: Connection reset by peer).
19:52:10 <oklopol> so if the growth of a cayley graph's balls with the usual presentation metric is superlinear, then CA's on it can't be positively expansive
19:53:40 -!- coppro has joined.
19:53:40 <oklopol> with the shift dynamics, and the usual topology for the cayley graph
19:53:56 <oklopol> and also
19:53:58 <oklopol> penis penis
19:53:59 <oklopol> penis penis
19:54:01 <oklopol> penis penis
19:54:03 <oklopol> penis penis
19:54:05 <oklopol> penis penis
19:54:08 <Gregor-W> Speaking of positively expansive ...
19:54:09 <oklopol> and now maybe some sleep
19:54:27 <oklopol> oh lol i didn't even realize that
19:54:32 <oklopol> just the cayley graph's balls part
19:54:41 <oklopol> i mean their growth
19:55:10 <oklopol> also maybe it should be CAa
19:56:36 <coppro> anyway, the poll is conclusive
19:57:11 <oklopol> a dynamical system (X, T) is positively expansive if there's an e > 0 such that for all x != y both in X there's a t \in T such that d(xt, yt) > e
19:57:28 <oklopol> i'm sure definition exchange catches on if i do it for long enough
19:58:05 <Gregor-W> coppro: Two votes seems sufficient to me :P
19:58:22 <coppro> Gregor-W: Everyone else must have chosen not to vote
19:58:27 <Gregor-W> Presumably.
19:58:40 <Gregor-W> Let me start a poll to debate whether the poll should be linked to from the wiki :P
20:00:07 <oklopol> what do you mean port it over and swap it out?
20:00:31 <coppro> replace the current MediaWiki with a Hackiki
20:00:36 <oklopol> okay
20:00:40 <Gregor-W> Dump the current wiki, do whatever porting is necessary to put all the content into Hackiki, then replace it.
20:01:24 <oklopol> thought so but then i started wondering if swapping out was just putting it online, not sure why,
20:01:27 <pikhq> Interesting. The C preprocessor is *actually* Turing-complete.
20:01:32 <Gregor-W> pikhq: ???
20:01:34 <coppro> really?
20:01:35 <Gregor-W> pikhq: No recursion!
20:01:38 <coppro> through recursive includes?
20:01:41 <pikhq> Gregor-W: #include __FILE__
20:01:48 <Gregor-W> ... *brain explodes*
20:01:50 <Gregor-W> That WORKS?
20:01:51 <cpressey> Niiiice.
20:01:55 <coppro> yes
20:02:04 <coppro> macro replacement is allowed to work on filenames
20:02:06 <pikhq> Someone implemented the Game of Life in it.
20:02:12 <coppro> and I should say required
20:02:40 <pikhq> http://zeroindexed.com/cpp-conway
20:03:04 <Gregor-W> I'm afraid *sobs*
20:03:08 <coppro> get that man a cookie
20:03:22 <pikhq> It halts when the C preprocessor maxes out its recursion depth.
20:03:43 <pikhq> Because it doesn't TCO.
20:03:53 <cpressey> "Well, it turns out that the writers of the GNU cpp [...] neglected to do tail-call optimization if an #include is the last directive in the file.
20:04:00 <cpressey> "
20:04:01 <Phantom_Hoover> AnMaster, I noticed you on the FlightGear forums.
20:04:01 -!- Mathnerd314 has quit (Ping timeout: 252 seconds).
20:04:07 <cpressey> Imagine that!
20:05:55 <Phantom_Hoover> I still find that kind of thing weird, for some reason.
20:06:54 <coppro> hmm
20:06:59 <coppro> that's not actually turing complete
20:07:09 <coppro> since its state is finite
20:07:24 <coppro> and not limited by the environment around it
20:07:25 <pikhq> It could readily be extended to being infinite.
20:07:40 <pikhq> Erm... No, wait, couldn't.
20:07:46 <cpressey> Assuming no limit on length of identifiers?
20:08:07 <cpressey> (use unary CELL_xxxxx, etc)
20:08:15 <pikhq> Because the identifiers themselves are not generated, but rather hardcoded.
20:08:29 <cpressey> Use pasting?
20:08:52 <pikhq> So, it's merely C-complete, not Turing complete.
20:09:20 <coppro> yeah
20:09:21 <cpressey> I haven't given up hope!
20:09:35 <pikhq> ... Wait a second.
20:09:59 <pikhq> *There is no requirement that the numbers offered by the C preprocessor are bound.*
20:10:08 <cpressey> Although I suspect lambda calculus will be easier to do than a CA.
20:10:20 <coppro> is there not?
20:10:21 <cpressey> Well, a 2D CA like life, i mean.
20:10:30 <pikhq> coppro: None at all..
20:10:40 <coppro> hmm
20:10:46 <pikhq> And the preprocessor offers reasonable (basic) arithmetic.
20:10:48 <coppro> you should be able to do it then
20:10:54 <coppro> since an unbounded integer can code arbitrary data
20:11:15 <cpressey> Does the preprocessor even grok numbers? It mostly does strings (which can store numbers in unary, of course)
20:11:16 <coppro> but then you run into the macro expansion problem
20:11:25 <coppro> so hmm...
20:12:15 <cpressey> Ah, I see it does understand numbers, to some degree.
20:13:00 <pikhq> Yes, it does do numbers.
20:17:17 <AnMaster> wow, just wow. A hot air balloon just passed above. Like 20 meters above the roof.
20:17:50 <AnMaster> it went down some hundred meters away, behind a low hill. Didn't get the camera until it was already over the next house
20:30:36 <cpressey> coppro, pikhq: I totally think it can be done. Macros can expand to other macros, and those get expanded immediately, ... or am I misremembering?
20:30:51 <coppro> cpressey: yes, but not recursively
20:30:57 <pikhq> cpressey: Macros can expand to other macros, but you can't expand to *defining* other macros.
20:30:58 <cpressey> Hmmmmmm
20:31:01 <coppro> so any such expansion must be finite
20:31:37 <cpressey> I think you can do a cyclic tag system.
20:31:42 <pikhq> And yeah, it's necessarily not-recursive.
20:32:04 <cpressey> Well.... hmmmmmm.
20:32:29 <coppro> the other issue is that you cannot assign the value of a calculation to a variable
20:32:32 <cpressey> I'll ponder it for a bit.
20:32:47 <coppro> all you can do is branch based on it
20:33:08 <cpressey> coppro: If there are a finite number of possibilities, that shouldn't be a problem: assign at the branch.
20:33:09 <pikhq> TC-ness in CPP will pretty much end up being very much like lambda calculus.
20:33:24 <coppro> cpressey: it must be capable of infinite calculation to be TC
20:33:57 <cpressey> coppro: Yes, but that;'s what the recursive include is for. At each step, there are a finite number of possible replacements.
20:34:36 <cpressey> Just like, in a TM, there a finite number of states.
20:34:42 <coppro> no
20:34:44 <coppro> a TM has infinite states
20:34:55 <coppro> because the total state includes the entire tape
20:35:11 <cpressey> I use the word "configuration" for that. The state is the state of its state machine transition table thing.
20:35:18 <coppro> ok, fine, configuration
20:35:25 <coppro> you are still limited to finite configurations in CPP
20:35:37 <coppro> because you cannot take the result of a calculation and store it for later
20:35:53 <coppro> *store it for use in later calculations
20:35:55 -!- Gregor-W has quit (Ping timeout: 252 seconds).
20:36:23 <coppro> all you can do is branch, which is necessary finite
20:36:36 <coppro> you need at least one infinite dimension to have TC-ness; CPP has 0
20:36:58 <coppro> err, two and 1, respectively; I forgot about the program itself
20:36:59 <pikhq> coppro: Numbers are unbound.
20:37:25 <cpressey> As are lengths of identifiers, unless I'm mistaken.
20:37:26 <pikhq> (well, rather, not necessarily bound)
20:37:41 <pikhq> Yeah, but there's finite identifiers.
20:38:05 -!- madk has quit (Read error: No route to host).
20:40:54 -!- madk has joined.
20:41:25 -!- coppro has quit (Ping timeout: 252 seconds).
20:43:09 -!- coppro has joined.
21:06:11 -!- Gregor-W has joined.
21:06:46 <Gregor-W> D'aww no new votes.
21:09:46 -!- Mathnerd314 has joined.
21:24:08 -!- fizzie has quit (*.net *.split).
21:24:09 -!- Gregor has quit (*.net *.split).
21:24:11 -!- Warrigal has quit (*.net *.split).
21:24:13 -!- relet has quit (*.net *.split).
21:24:13 -!- MigoMipo has quit (*.net *.split).
21:24:13 -!- tombom has quit (*.net *.split).
21:24:14 -!- HackEgo has quit (*.net *.split).
21:24:14 -!- SevenInchBread has quit (*.net *.split).
21:24:14 -!- jix_ has quit (*.net *.split).
21:24:15 -!- SimonRC has quit (*.net *.split).
21:24:15 -!- comex has quit (*.net *.split).
21:24:15 -!- mtve has quit (*.net *.split).
21:24:17 -!- sftp_ has quit (*.net *.split).
21:24:19 -!- ski has quit (*.net *.split).
21:24:20 -!- Leonidas has quit (*.net *.split).
21:24:21 -!- Quadrescence has quit (*.net *.split).
21:24:21 -!- rodgort` has quit (*.net *.split).
21:24:22 -!- cpressey has quit (*.net *.split).
21:24:22 -!- atrapado has quit (*.net *.split).
21:24:22 -!- pikhq has quit (*.net *.split).
21:24:22 -!- bsmntbombdood has quit (*.net *.split).
21:24:23 -!- Ilari_antrcomp has quit (*.net *.split).
21:24:23 -!- Ilari has quit (*.net *.split).
21:26:41 -!- cpressey has joined.
21:26:42 -!- relet has joined.
21:26:42 -!- SevenInchBread has joined.
21:26:42 -!- MigoMipo has joined.
21:26:42 -!- tombom has joined.
21:26:42 -!- Ilari has joined.
21:26:42 -!- Ilari_antrcomp has joined.
21:26:42 -!- fizzie has joined.
21:26:42 -!- bsmntbombdood has joined.
21:26:42 -!- pikhq has joined.
21:26:42 -!- atrapado has joined.
21:26:42 -!- Gregor has joined.
21:26:42 -!- sftp_ has joined.
21:26:42 -!- jix_ has joined.
21:26:42 -!- Warrigal has joined.
21:26:42 -!- Leonidas has joined.
21:26:42 -!- Quadrescence has joined.
21:26:42 -!- SimonRC has joined.
21:26:42 -!- HackEgo has joined.
21:26:42 -!- comex has joined.
21:26:42 -!- ski has joined.
21:26:42 -!- mtve has joined.
21:26:42 -!- rodgort` has joined.
21:27:52 -!- fizzie has quit (*.net *.split).
21:27:52 -!- cpressey has quit (*.net *.split).
21:27:53 -!- atrapado has quit (*.net *.split).
21:27:53 -!- pikhq has quit (*.net *.split).
21:27:53 -!- bsmntbombdood has quit (*.net *.split).
21:27:54 -!- Ilari_antrcomp has quit (*.net *.split).
21:27:54 -!- Ilari has quit (*.net *.split).
21:27:55 -!- Gregor has quit (*.net *.split).
21:27:58 -!- Warrigal has quit (*.net *.split).
21:27:59 -!- relet has quit (*.net *.split).
21:28:00 -!- MigoMipo has quit (*.net *.split).
21:28:00 -!- tombom has quit (*.net *.split).
21:28:00 -!- HackEgo has quit (*.net *.split).
21:28:00 -!- SevenInchBread has quit (*.net *.split).
21:28:01 -!- jix_ has quit (*.net *.split).
21:28:01 -!- SimonRC has quit (*.net *.split).
21:28:01 -!- comex has quit (*.net *.split).
21:28:01 -!- mtve has quit (*.net *.split).
21:28:02 -!- sftp_ has quit (*.net *.split).
21:28:03 -!- ski has quit (*.net *.split).
21:28:04 -!- Leonidas has quit (*.net *.split).
21:28:05 -!- Quadrescence has quit (*.net *.split).
21:28:05 -!- rodgort` has quit (*.net *.split).
21:28:56 -!- cpressey has joined.
21:28:56 -!- relet has joined.
21:28:56 -!- SevenInchBread has joined.
21:28:56 -!- MigoMipo has joined.
21:28:56 -!- tombom has joined.
21:28:56 -!- rodgort` has joined.
21:28:56 -!- mtve has joined.
21:28:56 -!- ski has joined.
21:28:56 -!- comex has joined.
21:28:56 -!- HackEgo has joined.
21:28:56 -!- SimonRC has joined.
21:28:56 -!- Quadrescence has joined.
21:28:56 -!- Leonidas has joined.
21:28:56 -!- Warrigal has joined.
21:28:56 -!- jix_ has joined.
21:28:56 -!- sftp_ has joined.
21:28:56 -!- Gregor has joined.
21:28:56 -!- atrapado has joined.
21:28:56 -!- pikhq has joined.
21:28:56 -!- bsmntbombdood has joined.
21:28:56 -!- fizzie has joined.
21:28:56 -!- Ilari_antrcomp has joined.
21:28:56 -!- Ilari has joined.
21:29:55 -!- chickenzilla has quit (*.net *.split).
21:29:57 -!- fizzie has quit (*.net *.split).
21:29:58 -!- Gregor has quit (*.net *.split).
21:30:02 -!- Warrigal has quit (*.net *.split).
21:30:04 -!- relet has quit (*.net *.split).
21:30:04 -!- MigoMipo has quit (*.net *.split).
21:30:04 -!- tombom has quit (*.net *.split).
21:30:05 -!- HackEgo has quit (*.net *.split).
21:30:05 -!- SevenInchBread has quit (*.net *.split).
21:30:05 -!- jix_ has quit (*.net *.split).
21:30:05 -!- SimonRC has quit (*.net *.split).
21:30:06 -!- comex has quit (*.net *.split).
21:30:06 -!- mtve has quit (*.net *.split).
21:30:07 -!- sftp_ has quit (*.net *.split).
21:30:08 -!- ski has quit (*.net *.split).
21:30:09 -!- Leonidas has quit (*.net *.split).
21:30:10 -!- Quadrescence has quit (*.net *.split).
21:30:10 -!- rodgort` has quit (*.net *.split).
21:30:11 -!- cpressey has quit (*.net *.split).
21:30:12 -!- atrapado has quit (*.net *.split).
21:30:12 -!- pikhq has quit (*.net *.split).
21:30:12 -!- bsmntbombdood has quit (*.net *.split).
21:30:12 -!- Ilari_antrcomp has quit (*.net *.split).
21:30:13 -!- Ilari has quit (*.net *.split).
21:31:10 -!- chickenzilla has joined.
21:31:10 -!- cpressey has joined.
21:31:10 -!- relet has joined.
21:31:10 -!- SevenInchBread has joined.
21:31:10 -!- MigoMipo has joined.
21:31:10 -!- tombom has joined.
21:31:10 -!- Ilari has joined.
21:31:10 -!- Ilari_antrcomp has joined.
21:31:10 -!- fizzie has joined.
21:31:10 -!- bsmntbombdood has joined.
21:31:10 -!- pikhq has joined.
21:31:10 -!- atrapado has joined.
21:31:10 -!- Gregor has joined.
21:31:10 -!- sftp_ has joined.
21:31:10 -!- jix_ has joined.
21:31:10 -!- Warrigal has joined.
21:31:10 -!- Leonidas has joined.
21:31:10 -!- Quadrescence has joined.
21:31:10 -!- SimonRC has joined.
21:31:10 -!- HackEgo has joined.
21:31:10 -!- comex has joined.
21:31:10 -!- ski has joined.
21:31:10 -!- mtve has joined.
21:31:10 -!- rodgort` has joined.
21:32:19 <Gregor-W> Maaaaan Freenode
21:32:24 <Gregor-W> Keep it together!
21:33:20 <Sgeo__> Bibble
21:33:26 <Sgeo__> I was banned from ##C
21:33:30 -!- Mathnerd314 has quit (Quit: ChatZilla 0.9.86-rdmsoft [XULRunner 1.9.2.8/20100722155716]).
21:34:17 <Gregor-W> Sgeo__: Whyzzat?
21:34:18 <coppro> Sgeo__: How?
21:34:34 <Sgeo__> I think for disconnecting too often. No one said anything, there was no message
21:34:43 <Sgeo__> Just when I try to /j ##C, it says I'm banned
21:34:49 <Gregor-W> Sgeo__: Also vote in my poll (I don't care which way you vote, I just want to know whether it's worth my time)
21:35:16 <Sgeo__> Wait, as in a separate one?
21:35:24 <Sgeo__> Oh!
21:35:34 <Gregor-W> In the /topic
21:36:02 -!- Mathnerd314 has joined.
21:36:19 <Sgeo__> voted
21:36:33 <Gregor-W> It's so anonymous, I have no idea what you voted X-P
21:36:40 <Sgeo__> lol
21:37:22 <coppro> I think I know every vote so far
21:37:32 <coppro> excuse me while I browbeat some regulard
21:37:35 <coppro> *regulars
21:38:18 <Sgeo__> * `moebius` (~moebius@host139-205-dynamic.56-79-r.retail.telecomitalia.it) has joined ##C
21:38:18 <Sgeo__> * Disconnected (Connection reset by peer).
21:38:18 <Sgeo__> * Cannot join ##C (You are banned).
21:40:12 <Gregor-W> coppro: So long as you, my unpaid unbiased representative, does the browbeating, it's OK :P
21:40:17 <Gregor-W> s/does/do/
21:40:40 <coppro> Gregor-W: I will act in my official capacity as an unbiased Pirate.
21:41:02 <Gregor-W> X-D
21:41:56 -!- sshc has changed nick to sshc_.
21:42:16 -!- sshc_ has changed nick to sshc.
21:49:10 <Phantom_Hoover> Sgeo__, why were you banned from ##c?
21:50:49 <Sgeo__> Phantom_Hoover, I'm going to assume it's related to disconnects
21:50:57 <Gregor-W> Sgeo__: Are you sure it's not just because it's +r?
21:51:05 -!- Sgeo__ has changed nick to Sgeo.
21:51:08 <Gregor-W> And Sgeo__ with a proliferation of underscores is unregistered
21:51:41 <Sgeo> Well, that worked
21:51:43 -!- augur has joined.
21:51:48 <Sgeo> >NickServ< identify ****
21:51:48 <Sgeo> -NickServ- You are already logged in as SgeoBot
21:52:32 -!- coppro has quit (Ping timeout: 240 seconds).
21:52:54 -!- Mathnerd314 has quit (Ping timeout: 276 seconds).
21:53:27 <Sgeo> ty Gregor-W
21:54:06 <Gregor-W> Well, I AM amazing.
21:54:22 <Gregor-W> Also a month ago I embarrassed myself by complaining about the EXACT same situation :P
21:54:32 <Sgeo> lol
21:54:51 <Gregor-W> 't wasn't ##c though, I don't recall now what channel it was.
21:55:46 <Sgeo> So it wasn't the exact same situation, liar!
21:56:11 <Gregor-W> It also wasn't exactly the same because I'm not Sgeo, and Gregor didn't point out the issue.
22:01:33 <pikhq> And it was a month ago.
22:05:13 -!- madk has quit (Quit: Leaving).
22:07:12 <Gregor-W> Also true!
22:09:51 <Gregor-W> MSNBC uses some service "cachefly.net". I've never heard of it. I'll bet that if I go to that page, SOMEWHERE on it will be the phrase "you cache more flies with honey"
22:10:12 <Gregor-W> Only not on account of there not actually being a page there.
22:11:51 -!- cpressey has changed nick to cpressey_.
22:12:09 -!- cpressey_ has changed nick to cpressey.
22:12:16 -!- Phantom_Hoover has changed nick to PH______________.
22:12:32 * PH______________ is now very untrustworthy
22:12:51 <PH______________> Ooh, how much can I move the justification line?
22:13:41 -!- PH______________ has changed nick to Phantom_Hoover.
22:14:21 <cpressey> Should I design a new language?
22:14:46 <cpressey> (TODAY IS STUPID QUESTIONS DAY)
22:15:22 <cpressey> That wasn't actually meant to imply that PH______________'s question about the justification line was stupid, however.
22:15:49 -!- oklopol has quit (Ping timeout: 246 seconds).
22:19:13 -!- MigoMipo_ has joined.
22:20:22 -!- MigoMipo_ has quit (Remote host closed the connection).
22:22:53 -!- MigoMipo has quit (Ping timeout: 258 seconds).
22:24:03 <cpressey> And: Will my unit tests pass this time?
22:24:53 <Phantom_Hoover> What are you writing?
22:25:13 <cpressey> The whole argument about how dynamic languages make things quicker by removing the build step kind of falls apart when you need to run 7 minutes worth of unit tests to figure out if the change you've made actually solves the problem without creating any new ones.
22:26:00 <cpressey> Never mind the possibility that some of the unit tests aren't actually correct. And never mind the FACT that a test can't tell you as much as a proof would.
22:26:29 <pikhq> And never mind that compilation has very little to do with dynamic typing.
22:26:30 <cpressey> Phantom_Hoover: Just trying to refactor some crap at work.
22:26:48 <cpressey> pikhq: Indeed.
22:27:04 <olsner> cpressey: but it's dynamic !!
22:27:16 <olsner> dynamic must be better because c++ is static and c++ sucks
22:27:21 <Gregor-W> Uhh, but compiling doesn't solve that at all :P
22:27:40 <pikhq> People seem to think that only "dynamic" languages are reasonable, modern languages.
22:27:47 <cpressey> And by "refactor", I mean "move from Lovecraftian levels of insanity to merely Nixonian ones."
22:28:06 <pikhq> Gregor-W: Yes, his *point* is that dynamic typing is not the magic "ZOMG CODE FASTER" thing that people think it is.
22:28:08 <Gregor-W> pikhq: Hey, I resemble that statement!
22:28:30 <pikhq> Gregor-W: You. Haskell. Now.
22:28:46 <Gregor-W> I've used Haskell! I wrote a raycaster in Haskell!
22:29:08 <pikhq> You realise that's as static as they come, right? :P
22:29:18 <Gregor-W> I never said I was a fan of Haskell :P
22:29:31 <Gregor-W> (Although for reasons having nothing to do with typing discipline)
22:29:32 <pikhq> You. Moar Haskell. Now.
22:29:36 <Phantom_Hoover> Gregor-W, UUUUH
22:29:38 -!- MigoMipo has joined.
22:29:46 <Phantom_Hoover> Wait, why didn't I just say "gasp".
22:29:47 <pikhq> What *don't* you like about Haskell?
22:30:12 <pikhq> This is probably going to be more fruitful than me just saying "But TYPING!". :P
22:30:16 <olsner> Gregor-W resembles a statement?
22:30:42 <Gregor-W> The language is an unstable equilibrium. It has a lot of brilliant features, but if any of them were to change, the whole language falls apart. Just look at how far the eager dialects of Haskell have(n't) gone. It's a linguistic dead end.
22:30:54 <fizzie> olsner: He's got a semicolon at his end.
22:31:18 <olsner> oh, poor boy, what happened to the other half?
22:31:32 <pikhq> ... Yes, Haskell does rely on the default non-strict evaluation...
22:31:50 <pikhq> This is a bit like complaining about how everything else relies on default strict evaluation though.
22:32:23 <Gregor-W> Nononono, I'm not complaining about that feature.
22:32:39 <Gregor-W> I'm complaining about the fact that that feature is so intertwined with every other feature that it CAN'T change.
22:32:50 <Gregor-W> Nor can any other feature change.
22:33:07 -!- GreaseMonkey has joined.
22:33:09 <Gregor-W> Because the whole language is a mess of features that all rely on each other and make no sense except in the context of a complete Haskell.
22:33:31 <Gregor-W> Which makes it virtually impossible to imagine a language based on Haskell but with improvements, since anything you change breaks everything else.
22:33:50 <Gregor-W> So, unless you're arguing that Haskell is the One True Perfect Language For All Things, I argue that it's a linguistic dead end.
22:34:02 <pikhq> Okay, so you dislike that you basically can't take away any of lazy semantics, strict typing, or pattern matching and still have a Haskell.
22:34:08 <pikhq> Oh, and type classes.
22:34:16 <pikhq> Those are also pretty damned embedded in their.
22:34:22 <pikhq> s/their/there/
22:34:33 <cpressey> Well, you can never really take anything away from a language, can you? Not without a huge fight.
22:35:09 -!- augur has quit (Remote host closed the connection).
22:35:16 -!- augur has joined.
22:35:36 <pikhq> Of course, things like strict semantics, static weak typing, and direct memory access are embedded very deeply in C, and I don't see you complaining about that. :P
22:36:19 <pikhq> (seriously, just take away pointers from C and you have a dramatically different language)
22:36:25 <Gregor-W> The fact that I'm at work and secondary fact that I haven't used Haskell in a fair amount of time makes me incapable of forming a more complete argument. You're listing a VERY small subset of the set of intertwined features.
22:37:00 <pikhq> ... What other features are there in the core language?
22:37:07 <cpressey> Gregor-W: can you give an example of a language with a linguistic future, for comparison?
22:37:17 <Gregor-W> Nope! 8-D
22:37:22 <Gregor-W> I hate all languages :P
22:37:43 -!- SevenInchBread has quit (Ping timeout: 265 seconds).
22:37:47 <pikhq> (BTW, if you cite "monads" you FAIL FAIL FAIL FOREVER AND EVER AND EVER.)
22:38:25 <Phantom_Hoover> cpressey, what dynamic language is this, anyway?
22:38:52 <cpressey> Phantom_Hoover: Gimme a P
22:38:58 <cpressey> Gimme a Y
22:38:59 <cpressey> etc
22:39:01 <Phantom_Hoover> Python?
22:39:02 <Gregor-W> PYRL
22:39:07 <Gregor-W> >: )
22:39:12 <Phantom_Hoover> ...It doesn't compile.
22:39:32 <Gregor-W> Also the fact that Haskell fanboys are just as bad as fanboys of every other godawful language out there doesn't help :P
22:39:47 <cpressey> Gregor-W: In some ways, they're worse.
22:39:57 <olsner> the difference is that haskell fanboys are right! :P
22:40:02 -!- oerjan has joined.
22:40:11 <Phantom_Hoover> najreo!
22:40:22 <Phantom_Hoover> Damn, I got that apostrophe wrong.
22:40:56 * pikhq tries to think of any other features *of* straight-up Haskell other than non-strict evaluation, strict typing, pattern matching, closures, type classes, and type inference...
22:41:05 * pikhq is having trouble.
22:41:09 <Phantom_Hoover> Monads?
22:41:26 <pikhq> Phantom_Hoover: Are defined in the standard library, not a feature of the bare language!
22:42:09 <Gregor-W> Weeeeelll ... IO monads require more than the core can provide obviously.
22:42:13 <Phantom_Hoover> Lambdae.
22:42:24 <oerjan> 'lo
22:42:42 <pikhq> Yes, the IO implementation requires some support from the C runtime.
22:42:46 <Phantom_Hoover> Incidentally, could you fake a Haskell function with C or assembly, the use it to mess around with immutable memory?
22:42:53 <Phantom_Hoover> s/memory/stuff/
22:43:00 <pikhq> Phantom_Hoover: Yes.
22:43:12 <pikhq> You could actually do this *without* C or assembly.
22:43:13 <Phantom_Hoover> >:D
22:43:15 <olsner> I think that technically, IO could be implemented in the RTS without really involving the core language :)
22:43:21 <Gregor-W> unsafePerformIO to the "rescue"
22:43:22 <pikhq> unsafeCast away.
22:43:39 <pikhq> Gregor-W: Not even.
22:43:45 <pikhq> Gregor-W: Just unsafeCast :: a -> b
22:43:47 <pikhq> >:D
22:43:55 <cpressey> This sums up how Haskell fanboys are extra-obnoxious: Wadler has compared IO monads to a solution to Descartes' mind-body problem.
22:44:07 <olsner> (remove that smiley btw, it was said thoughtfully not jokingly)
22:44:36 <pikhq> Phantom_Hoover: Yeah, there are also *anonymous* functions in Haskell...
22:44:41 <oerjan> olsner: IO _could_ be implemented as an ordinary datatype which the RTS just interprets specially.
22:44:51 <pikhq> Anyways. What else *is* there in Haskell?
22:44:55 <olsner> oerjan: exactly
22:45:01 <Gregor-W> Hey people who are now actually talking in the channel, go vote on the poll in the topic ;)
22:45:32 <Phantom_Hoover> cpressey, zuh?
22:47:00 <oerjan> pikhq: unsafeCast can be implemented with unsafePerformIO, well known hack
22:47:20 <pikhq> oerjan: Yuh.
22:47:46 <Gregor-W> I think we've strayed from the fundamental point.
22:47:47 <cpressey> Phantom_Hoover: ... would you like a reference? Google "How to Declare an Imperative"
22:47:50 <Gregor-W> Which is that Hackiki is awesome.
22:48:00 <Gregor-W> And if you want to prove that Haskell is awesome, you should write a Hackiki userland in Haskell.
22:50:46 <Phantom_Hoover> cpressey, goodness, that is pretentious.
22:50:48 <Gregor-W> Heywow.
22:50:59 <Gregor-W> HaskellWiki is the only MediaWiki I've ever seen that doesn't look like MediaWiki.
22:51:06 <cpressey> Phantom_Hoover: =)
22:51:08 <Gregor-W> Usually you can identify MediaWiki from a kilometer away.
22:51:43 <Phantom_Hoover> Gregor-W, I suspect they just changed the skin.
22:52:00 <Phantom_Hoover> You can make MediaWiki look like it was made inn the early 90s if you toy enough.
22:52:04 <Phantom_Hoover> s/nn/n/
22:52:28 <Gregor-W> And yet, every MediaWiki out there looks like Wikipedia did last year :P
22:53:15 <oerjan> !haskell import System.IO.Unsafe; import Data.IORef; unsafeRef :: IORef a; unsafeRef = unsafePerformIO (newIORef undefined); unsafeCast :: a -> b; unsafeCast x = unsafePerformIO $ do { writeIORef unsafeRef x; readIORef unsafeRef }; main = (unsafeCast (42 :: Integer) :: Double) `seq` print "Boo!"
22:53:24 <EgoBot> "Boo!"
22:53:28 * cpressey screams
22:54:03 <oerjan> that's weird...
22:54:09 <oerjan> it worked on first attempt XD
22:54:29 -!- aliseiphone has joined.
22:54:34 <aliseiphone> Rue ruin.
22:54:45 <pikhq> Gregor-W: Anyways, HASKELL IS PERFECT THERE CAN BE NO IMPROVEMENTS THEREFORE I DONT CARE
22:54:48 <pikhq> Gregor-W: :P
22:55:02 <aliseiphone> Gregor-W: Why is there a poll for it.
22:55:21 <Gregor-W> aliseiphone: I want to know what peoples' opinions are before I invest any actual time *shrugs*
22:55:23 <cpressey> aliseiphone: Gregor-W believes in DEMOCRUCY.
22:55:31 <Phantom_Hoover> Gregor-W, the reason all MediaWikis look the same is because all of the other skins are *hideous*.
22:55:51 <aliseiphone> Phantom_Hoover: Apart from MINE.
22:56:05 <Phantom_Hoover> Oh? Do tell.
22:56:08 <aliseiphone> Gregor-W: Copy files. Set title. Done.
22:56:50 <aliseiphone> Phantom_Hoover: Sorry it's on hard disk #3745. It was really designed for wikis viewable by anyone and editable by one, anyway.
22:57:02 <aliseiphone> A website type dealie.
22:57:04 <Gregor-W> aliseiphone: And then watch it languish like every other project I've ever started; I'd rather know that it's languishing because people lied to me than because it's uninteresting.
22:57:08 <Phantom_Hoover> Hard disc #3745?
22:57:10 <aliseiphone> But it was pretty.
22:57:21 <aliseiphone> Phantom_Hoover: Disk. Discs are round.
22:57:32 <pikhq> Gregor-W: Pity you have too many projects. :P
22:57:36 <aliseiphone> My way of saying "somewhere, some computer".
22:57:38 <Gregor-W> Hard dis{k,c}s are usually round.
22:57:44 <aliseiphone> Ignore that blank line.
22:57:55 <aliseiphone> Gregor-W: The internals. Not the drive.
22:57:59 <olsner> the round discs in the rectangular disk are round
22:58:10 <Gregor-W> The platter is the disk, the rest is just the interface.
22:58:10 <aliseiphone> Like saying they're needles.
22:58:15 <aliseiphone> Or a sticker.
22:58:28 <aliseiphone> Meh.
22:59:02 <aliseiphone> Too hot. Shit.
22:59:11 <aliseiphone> Too fucking hot!
22:59:23 <pikhq> aliseiphone: Is it greater than 30C?
22:59:24 <Phantom_Hoover> Go on...
22:59:36 <Phantom_Hoover> What is too hot?
22:59:37 <cpressey> > get fire
22:59:44 <aliseiphone> pikhq: No.
22:59:46 <Gregor-W> pikhq: I guess an Esolangs Hackiki wouldn't really be a "new" project, just an extension of the Hackiki project.
23:00:00 <pikhq> aliseiphone: Then shaddup.
23:00:02 <aliseiphone> pikhq: I can barely type. Ah god
23:00:05 <aliseiphone> I need ice
23:00:10 <aliseiphone> And liquid
23:00:22 <cpressey> You won't find them here, mate.
23:00:27 <aliseiphone> Spraying cool spray. brb
23:00:34 <Phantom_Hoover> aliseiphone, WHAT IS HOT?
23:00:37 <aliseiphone> cpressey: I can't leave the room dude.
23:00:45 <aliseiphone> Phantom_Hoover: The... Place?
23:00:53 <Phantom_Hoover> The place you're in?
23:01:01 <aliseiphone> And the air.
23:01:05 <aliseiphone> Uhh. And me.
23:01:16 <cpressey> They're probably trying to torture her psychologically a la The Prisoner.
23:01:34 <cpressey> Why *did* you resign, aliseiphone?
23:01:55 <cpressey> I'm sorry, I mean... No. 6?
23:02:06 <pikhq> cpressey: 2 more days!
23:02:19 <cpressey> She's probably busy waving her hands in the air instead of typing. Quite reasonable.
23:02:57 <oerjan> <cpressey> And: Will my unit tests pass this time?
23:03:06 <oerjan> will your unit pass the test of time?
23:04:13 <aliseiphone> oerjan: Mine won't!
23:04:46 <oerjan> aliseiphone: well it _could_ grow to a globe-spanning evil conspiracy. unless it's already part of one.
23:05:02 <aliseiphone> Called the NHS.
23:05:12 <Phantom_Hoover> aliseiphone, hardly "globe-spanning".
23:05:21 <aliseiphone> Close enough.
23:05:24 <Phantom_Hoover> The one you encounter doesn't even get up here.
23:06:05 <Phantom_Hoover> Scotland: Land of the slightly different NHS.
23:06:11 <aliseiphone> Fine: NHS part of British govt part of globalised neoliberal capitalism.
23:06:18 <aliseiphone> HAPPY NOW? :P
23:06:19 <oerjan> a globe-spanning evil conspiracy of universal healthcare systems. until _recently_ the USA was the only free country holding out against them...
23:06:38 <pikhq> aliseiphone: *cough* Britain does not have a government. That's an island.
23:06:39 <pikhq> :P
23:06:40 <Phantom_Hoover> aliseiphone, I think this is getting a little silly.
23:06:41 <oerjan> *cough*
23:06:43 <aliseiphone> oerjan: But then they started charging.
23:07:00 <aliseiphone> pikhq: I meant English.
23:07:07 <Phantom_Hoover> aliseiphone, GASP
23:07:22 <pikhq> aliseiphone: England does not have its own government.
23:07:32 <aliseiphone> oerjan: Geddit? Free country? And implying they don't have universal healthcare?
23:07:35 <aliseiphone> >_>
23:07:44 <aliseiphone> pikhq: Has its own NHS.
23:07:48 <aliseiphone> So shut up.
23:07:50 <pikhq> Yes.
23:08:01 <Phantom_Hoover> aliseiphone, England's NHS doesn't go into Wales?
23:08:02 <pikhq> Pity there's not an English Parliament or anything.
23:08:12 <aliseiphone> Phantom_Hoover: Dunno.
23:08:20 <aliseiphone> pikhq: Practically is.
23:08:32 <pikhq> aliseiphone: Except it's the UK Parliament.
23:08:33 <Phantom_Hoover> I would be surprised if it didn't, since they're the same for a lot of other stuff like that.
23:08:45 <aliseiphone> oerjan: The US btw do NOT have healthcare as we know it
23:08:51 <pikhq> And Wales has its own NHS.
23:08:58 <Phantom_Hoover> Yeah, you're right.
23:09:00 <pikhq> oerjan: USA still doesn't have reasonable healthcare.
23:09:04 <aliseiphone> pikhq: As I said...
23:09:12 <Phantom_Hoover> Anyway, this conspiracy talk is laughable craziness.
23:09:23 <aliseiphone> oerjan: Basically their new system is:
23:09:30 <Phantom_Hoover> SELL IT ALL
23:09:36 <pikhq> oerjan: What it recently enacted was basically a scheme to further discourage a lack of private insurance.
23:09:56 <aliseiphone> "Don't have healthcare? You get fined."
23:09:58 <Phantom_Hoover> But this is madness!
23:10:02 <aliseiphone> Seriously.
23:10:06 <pikhq> By fining not-tiny businesses for not offering insurance to employees and fining individuals for not having insurance.
23:10:11 <Phantom_Hoover> There is no conspiracy of NHS doctors, none at all.
23:10:19 <aliseiphone> This is their "universal healthcare". :P
23:10:36 <pikhq> And then a bunch of regulations on the insurance companies.
23:10:50 <pikhq> *Aaaand* a "high-risk" insurer for people that the insurance companies *refuse to insure*.
23:10:50 <aliseiphone> Phantom_Hoover: No doctors who deserve that name here!
23:10:55 <Phantom_Hoover> And my parents certainly aren't NHS doctors.
23:11:05 * oerjan thinks people are _really_ bad at detecting his jokes today.
23:11:15 <aliseiphone> oerjan: I got it
23:11:19 <Gregor-W> Nationalized healthcare is socialism.
23:11:21 <aliseiphone> I was just remarking.
23:11:22 <Gregor-W> Socialism is communism.
23:11:23 <pikhq> oerjan: It's just that the US is still holding out.
23:11:26 <Gregor-W> Communism is stalinism.
23:11:30 <Gregor-W> Therefore Obama is Stalin.
23:11:31 <Gregor-W> QED.
23:11:41 <aliseiphone> Gregor-W: Communism is fascism
23:11:53 <aliseiphone> Therefore Stalin is Mussolini.
23:11:53 <Gregor-W> D'awww you're right I could've gotten to Hitler.
23:11:55 <Gregor-W> Silly me.
23:11:56 <aliseiphone> QED.
23:12:01 <aliseiphone> *fascism.
23:12:06 <pikhq> And of course Hitler is fascism. Fascism is right-wing. Right-wing is all-American. Therefore, HITLER FOR PRESIDENT 2012!
23:12:10 <pikhq> :P
23:12:10 <Phantom_Hoover> Psht.
23:12:12 <aliseiphone> Fascism is Nazism.
23:12:24 <pikhq> Ah, yes. I missed a step.
23:12:37 <Phantom_Hoover> I'm sure I can get to Satan in under 2 steps.
23:12:41 <aliseiphone> Therefore Obama is Stalin is Mussolini is Hitler.
23:12:45 <aliseiphone> QED.
23:13:01 <oerjan> Phantom_Hoover: well nazism is hell, of course
23:13:02 <aliseiphone> Jesus was a Nazi.
23:13:10 <Phantom_Hoover> Obama lives in the White House. According to Casey & Andy, the Devil lived in the White House.
23:13:10 <pikhq> aliseiphone: And they're all right-wing, therefore it is unAmerican and unChristian to vote against them.
23:13:13 <aliseiphone> Therefore Obama is Jesus.
23:13:13 <Phantom_Hoover> Q.E.D.
23:13:14 <pikhq> HEIL JESUS
23:13:41 <aliseiphone> Best way to prove Obama is Jesus, ever. Via *Hitler*!
23:14:03 <aliseiphone> Sure you coulda said Hitler is Christian
23:14:14 <aliseiphone> But Jesus totally was a Nazi.
23:15:52 <Phantom_Hoover> Hmm, SPARC is short for "Scalable Processor Architecture".
23:16:07 * Phantom_Hoover wishes his last name was "Macarthur".
23:16:52 <cpressey> "If given an optional parameter sizehint, it reads that many bytes..." <-- I totally read that parameter name as "shiznit".
23:17:31 <Phantom_Hoover> I'm very annoyed that no-one noticed that pun.
23:18:01 <cpressey> Phantom_Hoover: "Phantom MacArthur" ??
23:18:12 <oerjan> ...oh.
23:18:25 * cpressey *whoosh*
23:18:38 <oerjan> Phantom_Hoover: i found that rather thin
23:19:05 <Phantom_Hoover> Yes, but that's because you're, like, Morgan-Mar's partner in pun.
23:21:44 -!- GreaseMonkey has quit (Quit: I'm using NO SCRIPT WHATSOEVER - Download it at file:///dev/null).
23:30:08 -!- tombom has quit (Quit: Leaving).
23:30:48 * Sgeo goes to attempt to get rid of these closures
23:31:27 -!- MigoMipo has quit (Read error: Connection reset by peer).
23:33:01 -!- aliseiphone has quit (Quit: Get Colloquy for iPhone! http://mobile.colloquy.info).
23:37:58 -!- aliseiphone has joined.
23:38:17 <aliseiphone> Sgeo: Get rid of closures?
23:38:20 <aliseiphone> WHY?
23:38:33 <Sgeo> Anything is bad if it hampers readability
23:38:42 <oerjan> they're so closed-minded
23:38:42 <Sgeo> And I'd say closures nested 3 levels deep do that
23:39:19 <Sgeo> Actually, no, I'm still planning on using them, just moving the bulk of the code to named functions
23:39:28 <Sgeo> All the closures will do is call the functions with arguments
23:39:34 <cpressey> oerjan: Sgeo needs closure on this issue
23:40:12 <cpressey> Sgeo: What language?
23:40:30 <Sgeo> C#
23:40:31 * cpressey is half-expecting to hear AW
23:40:35 -!- BeholdMyGlory has quit (Read error: Operation timed out).
23:40:38 <Sgeo> AW is not a language
23:40:48 <cpressey> That's why it was funny
23:40:48 <Sgeo> This is for an AW project though, so
23:41:01 <Sgeo> You actually think I'm an idiot?
23:41:02 <aliseiphone> Lol
23:41:13 <oerjan> aliseiphone: DON'T ANSWER THAT
23:41:13 -!- BeholdMyGlory has joined.
23:41:36 <aliseiphone> Madk is going around on talk pages suggesting pages be deleted because of ais deleting his
23:41:49 <oerjan> wait, what did ais delete
23:41:56 <aliseiphone> BF2C
23:42:00 <cpressey> Right on! Wiki fight! Fight fight fight grrrr haaa!
23:42:09 <aliseiphone> Merged into brainfuck article
23:42:23 <aliseiphone> One line in Implementations section
23:42:39 <aliseiphone> It's just a 10 line char by char dealie
23:43:01 <aliseiphone> With some very basic optimisations iirc
23:44:06 <Gregor-W> Hell, the EgoBF suite doesn't have its own page.
23:44:06 <cpressey> What pages is he suggesting deleting?
23:44:09 <Gregor-W> And it's awesome!
23:44:43 <olsner> what's EgoBF?
23:45:04 <cpressey> "Assuming no copyvio because I didn't copy anything". Gotta love pedantry.
23:45:28 <cpressey> Wow, big article though, I was expecting a stub (on Maentwrog)
23:46:07 <pikhq> olsner: EgoBF is Gregor's Brainfuck implementation.
23:46:24 <olsner> oh, ok, just an implementation?
23:46:26 <Phantom_Hoover> Wikifight!wikifight!
23:46:42 <pikhq> It's a suite of compilers and interpreters, and fairly complete.
23:46:54 <Gregor-W> olsner: It's interesting only in that most of the commonly-variable behavior of BF implementations is switchable by flags, and it includes both compilers and interpreters *shrugs*
23:47:17 <olsner> aha, "egobf suite" sounded like it might've been a test suite or something (which would've been interesting since I have an interpreter that could use some testing)
23:47:50 <pikhq> Nah; it's just a set of implementations that should fulfill your every desire in Brainfuck.
23:48:13 <pikhq> Hmm. Does it have bignum cells, or does it just top off at 64?
23:48:37 <Gregor-W> Tops off at 64.
23:48:53 <pikhq> Mmkay.
23:49:06 <Gregor-W> Which is pointless since I also wrote all the transforms necessary to make a program expecting 64-bit cells run on an 8-bit interpreter on the wiki :P
23:49:07 <cpressey> Hey, Keymaker is still on the wiki. Cool
23:50:26 <olsner> do you also have a bignum->8-bit transformation? :)
23:50:43 <Gregor-W> I do not :P
23:50:48 <aliseiphone> olsner: there's a self interp for that
23:50:50 <Gregor-W> That'd be ... tough. Infinite hotel rooms problem.
23:50:58 <aliseiphone> it's been done
23:50:59 <pikhq> Gregor-W: Oh, that's *your* code? :D
23:51:00 <Gregor-W> Right, doing an interpreter would be easier than a translation.
23:51:23 <aliseiphone> Bundle the code
23:51:30 <aliseiphone> Tada, translation.
23:51:33 <Gregor-W> pikhq: If you refer to http://esolangs.org/wiki/Brainfuck_bitwidth_conversions , then yes.
23:51:36 <olsner> can't be impossible since any halting program has an upper bound to the size of the bignums it could create
23:51:38 <pikhq> Yes.
23:51:59 * pikhq has half a mind to make a Brainfuck compiler that supports higher bitwidths by applying those.
23:52:03 <pikhq> :P
23:52:52 <pikhq> Hmm. And you can apply those *recursively*...
23:53:02 <pikhq> Megabyte-cell Brainfuck!
23:53:08 <Gregor-W> Excellent idea.
23:53:38 <aliseiphone> pikhq: Please translate this amazing poetry to Japanese: Feng shui children cry / because rice tastes like fish / but actually only in Korea / death on the streets / of LOVE / why have you got to / must the of it / affadavit / quarks are my special things / why did our country die? / laser horse
23:53:54 <olsner> if you can detect overflowing cells, you could apply a bit-doubling transformation and restart
23:53:55 <aliseiphone> Thank you.
23:55:10 <olsner> "must the of it"
23:55:13 <augur> ski: you wake?
23:55:31 <aliseiphone> olsner: Well, must it?
23:56:27 <olsner> the of it must, or is it?
23:57:12 <aliseiphone> bjornwasabadmanlivinginabadplacethepubhewalkedoutintothedeafeningroarofsilentstreetsandlpannedhisjourney
23:57:17 <oerjan> aliseiphone: *affidavit
23:57:20 <aliseiphone> *andplanned
23:57:28 <aliseiphone> oerjan: POETIC LICENSE
23:58:05 <cpressey> execution browser
23:58:07 <oerjan> that laser horse at the end keeps reminding me of burma shave
23:58:23 <cpressey> laserhorse.com is available.
23:58:31 <aliseiphone> SLOWLY DISROBING EVERY PERSON IN THE ROOM, BRIAN BLESSED THOUGHT OF BJORN, LOUDLY.
23:58:37 <aliseiphone> oerjan: :D
23:59:01 <cpressey> burmashave.com, otoh, belongs to "American Safety Razor Co."
23:59:24 <aliseiphone> American Safety Razor Co.
23:59:35 <aliseiphone> executives review its
23:59:50 <pikhq> aliseiphone: 風水な子泣く・飯が魚味ので・けど韓国にだけ・道に死・愛の・何故しなくちゃ・必要の・アフィデビット・クアークが僕の特もの・何故我が国死んだ?・レーザ馬
23:59:54 <aliseiphone> future and't's grim;
←2010-07-26 2010-07-27 2010-07-28→ ↑2010 ↑all