00:11:34 <pikhq> I think you're made.
00:22:52 -!- c|p has quit (Read error: 104 (Connection reset by peer)).
00:23:17 -!- c|p has joined.
00:46:03 -!- atrapado has quit ("dur mir").
01:42:10 -!- sebbu has quit ("@+").
04:09:50 -!- ihope has joined.
04:10:25 <ihope> Actually, I used my spy.
04:10:35 <ihope> ...who will drop out along with me in a moment.
04:10:48 <ihope> I guess it's still log-reading.
04:11:46 -!- EagleBot has quit.
04:11:52 <ihope> Necessary to have something after it.
04:11:56 -!- EagleBot has joined.
04:12:29 -!- EagleBot has quit (Nick collision from services.).
04:12:47 -!- EagleBot has joined.
04:12:53 <ihope> #quit it puts the message in the basket
04:12:53 -!- EagleBot has quit (Client Quit).
04:13:03 -!- EagleBot has joined.
04:14:24 -!- EagleBot has quit (Client Quit).
04:14:33 -!- EagleBot has joined.
04:15:12 <ihope> How do you know it's theirs?
04:15:49 <bsmntbombdood> quit messages are ignored unless youve been connected for long enough
04:16:01 <pikhq> That's. . . Weird.
04:16:34 <pikhq> Obviously what's more important is #magic !say See?
04:16:37 <pikhq> Sukoshi: Yeah. And?
04:16:53 <pikhq> On a side note, it's been a while since I've seen you in chat.
04:17:12 <pikhq> Well, in and *talking*.
04:17:19 <pikhq> Where'd you disappear to?
04:17:30 -!- Otakubot has joined.
04:17:59 <Sukoshi> I haven't gotten the time yet to hack in useful functions. So all you have is ?say and ?random.
04:18:01 <pikhq> Grr. Gregor, get EgoBot up, so we can abuse it some more!
04:18:45 <pikhq> There's a Rube Goldberg machine in here, where we use EgoBot, bsmnt_bot, and EagleBot to make it look like we're adding commands to EgoBot.
04:19:09 <Sukoshi> Well, ?say gives you that power.
04:19:18 <pikhq> Except not with EgoBot.
04:19:51 <Sukoshi> I'll be hacking this as time goes by, and I doubt Otakubot will go down as I hack at it.
04:20:23 <pikhq> The !ext command is parsed by bsmnt_bot, which sends "#magic !say False command: $foo" to EagleBot, which sends !say to Egobot.
04:21:02 <pikhq> That, at least, I *think* is the series of commands.
04:21:19 <pikhq> Sukoshi: You should know that I've gone ape-shit insane in the past few months.
04:21:30 <pikhq> BFM is now PEBBLE, and basm is now PFUCK. . .
04:21:35 <pikhq> And both have SVN repositories.
04:21:57 <pikhq> (neither of which I've committed to in a while; I've done absolutely nothing in the past couple of weeks)
04:22:32 <pikhq> Also, there's a 1.0 release of PFUCK out, and I'll have a 1.0 release of PEBBLE just as soon as I care to get some *decent* documentation for the whole thing.
04:22:54 <pikhq> And I should stop ranting about the changes I've made in it before I make people hate me for saying this all a second time.
04:24:56 <pikhq> I'm not sure I want a guy who loves you for shutting up to love me.
04:25:50 <pikhq> Then what exactly *did* you mean?
04:26:29 <pikhq> (I encourage you to say what you mean and mean what you say. It's even the Befunge way!)
04:26:35 <pikhq> s/Befunge/Malbolge/
04:26:45 <pikhq> How that transistion got made in my head, I may never know.
04:29:19 <bsmntbombdood> postfix pronouns and english muffins make for a sensational trundle
04:30:03 <pikhq> Complaining about English again?
04:30:47 <bsmntbombdood> come up with an english class expression machine yet?
04:32:28 <bsmntbombdood> a simpler than english english class expression machine
04:32:56 <bsmntbombdood> or even better the simplest possible english class expression machine
04:34:06 <pikhq> Simpler than English is easy.
04:34:12 <pikhq> The Germanic subset of English.
04:35:24 <pikhq> No, it's a good deal simpler.
04:35:27 -!- EagleBot has quit (Read error: 110 (Connection timed out)).
04:35:35 <pikhq> Getting rid of almost all technical vocabulary.
04:35:42 <bsmntbombdood> english is C++, the germanic subset is maybe...Java, and i want a turing machine
04:35:43 <pikhq> It's syntax, though, is exactly the same.
04:36:08 <pikhq> No, the Germanic subset is closer to assembly.
04:36:40 -!- ihope has quit (Connection timed out).
04:37:47 <pikhq> bsmntbombdood: That gets rid of basically every word newer than the year 200.
04:38:03 <pikhq> (discounting linguistic morphings of words that existed back then)
04:38:22 <pikhq> Tell that to RISC/CISC flamewar fans.
04:38:50 <bsmntbombdood> it matters in execution speed, but not computability
04:38:55 <pikhq> Granted, it's not the ultimately simple.
04:39:20 <oklopol> all natural languages suck!
04:40:03 <pikhq> Obviously what you want is something similar to Toki Pona.
04:40:15 <oklopol> hmm... the one in new zealand?
04:40:19 <bsmntbombdood> the simplist english class expression machine will probably supremely unnatural
04:40:25 <oklopol> hmm, i confuse countries easily
04:40:36 <pikhq> No, it's a conlang.
04:40:36 <pikhq> http://www.tokipona.org/nimi.html
04:40:40 <pikhq> The entire vocabulary.l
04:41:25 <pikhq> And I do believe it's designed by an Esperantist. . .
04:41:34 <pikhq> http://www.tokipona.org/eo.html See?
04:42:06 <bsmntbombdood> "fruit, pulpy vegetable, mushroom" i don't think so mister
04:43:00 <pikhq> I'm sating that you want something *similar*, not that that's exactly what you desire.
04:43:04 -!- boily has joined.
04:43:17 <oklopol> bsmntbombdood: what's wrong with that?
04:44:11 <oklopol> hmm... i guess "eat" and "object" suffice
04:44:43 <oklopol> plus, since everything is an object, you might have syntactic sugar for that
04:45:31 <pikhq> bsmntbombdood: Well, fine. *There's* your English equivalent.
04:45:37 <pikhq> s/English/Assembly/.
04:45:42 <pikhq> I hate my brain sometimes.
04:46:46 <pikhq> Obviously not the linguistic equivalent of a Turing machine, but it's much simpler than English.
04:46:55 <pikhq> Oh, imprecision makes it ineligible?
04:47:07 <pikhq> Well, then. The mere *concept* of language is ineligible.
04:47:29 <pikhq> To be precise you have to engage in telepathy.
04:47:39 <bsmntbombdood> well, the expression machine could have _one_ imprecision operator
04:47:55 <pikhq> Which would be the sole operator. -_-'
04:48:13 <pikhq> Human language, unlike computer languages, is by it's *very nature* imprecise.
04:48:35 <pikhq> If you wish for something that isn't, then you're not asking for a human-language equivalent expression machine.
04:51:01 <pikhq> That's actually a meaningful statement.
04:51:15 <pikhq> Bitch to do in a simplistic language, but at least meaningful. ;)
04:51:56 <bsmntbombdood> toki pona site gives "crazy water" as a translation for alchohol
04:52:02 -!- c|p has quit ("Leaving").
04:52:21 <bsmntbombdood> maybe you have to trade precision for less vocabulary
04:53:09 <oklopol> a liquid that can be deboured which upon devouring makes crazy <<< easy to make enough syntactic sugar to make that a short word
04:53:33 <oklopol> devoured == eat/drink, since i don't see an important difference
04:54:03 <oklopol> syntactic sugar == "stupid > stupidity" kinda thing
04:54:13 <oklopol> what do you call it now...
04:54:27 <oklopol> crazy water is not right, alcohol is not water
04:54:51 <pikhq> I'd assume that "simpler" includes grammer.
04:54:52 <oklopol> bsmntbombdood: i mean deriving words from others
04:55:03 <pikhq> oklopol: "water", I assume, is overloading to include liquid.
04:55:16 <oklopol> anyway, alcohol is not crazy
04:55:28 <pikhq> But it does make you crazy.
04:55:33 <oklopol> or then you have some weird semantics on "crazy"...
04:55:44 <oklopol> am i crazy if i make you go mad?
04:55:49 <pikhq> bsmntbombdood: Esperanto-style grammer, perhaps?
04:56:00 <oklopol> alcohol *has to do* with crazy
04:56:02 <pikhq> That does seem equivalently expressive to English, grammer-wise.
04:56:13 <pikhq> Different, but equivalent.
04:56:48 <pikhq> Hmm. A few things could probably be cut out of that, though.
04:57:42 <bsmntbombdood> in toki pona, "i'm drunk", "i'm crazy", "i'm foolish", "i'm weird" all are the same
04:58:30 <oklopol> i'm crazy because i drank crazy water, i'm crazy because my head is ill
04:58:54 <pikhq> Which makes sense in the context of Toki Pona's purpose, but not in the context of the purpose of an English-equivalent expression machine. . .
04:59:26 <oklopol> english does that with having millions of words, i find that idiotic
05:00:03 <bsmntbombdood> oklopol: addition of vocabulary increases expressivity
05:00:14 <oklopol> it would be easy to have a way to create new words from the existing ones with suffices and perhaps having a better pronoun system as well
05:00:53 <pikhq> "Giant" == "Very big". "Enormous" == "Very, very big". "Huge" == "Very, very, very big".
05:01:00 <pikhq> "Really" == "Very, very".
05:01:10 <pikhq> For the most part, they imply degrees.
05:01:27 <pikhq> Repitition of a degree indicator can serve the same purpose.
05:01:35 <oklopol> bsmntbombdood: you can tell the difference with other words as needed
05:02:35 <pikhq> You know. . . If you count various English euphemisms, sayings, etc. . . There's no such *thing* as an English-equivalent expression machine short of English itself.
05:04:51 <oklopol> it's true not every drinkable liquid that makes one go crazy is alcohol, which is why you would have to make a more thorough definition and make a constant for it, meaning it *would* be a single underived words
05:06:41 <oklopol> hmm, i have a test at the university in 2 hours
05:06:46 <oklopol> and i have no idea where.-
05:14:39 <oklopol> <lament> you take an empty stack, push 1, pop 5, push 5, pop 1, then destroy the stack.
05:14:40 <oklopol> <lament> it needs a time machine to work, though.
05:14:40 <oklopol> <lament> and of course if you don't push 5 after popping 5, the universe collapses.
05:14:52 <oklopol> in an interpreter, you would need an oracle :)
05:15:23 <oklopol> which would find out which popped number would lead that same number pushed later
05:15:32 * oerjan imagines something heavily dataflow based
05:21:21 <oerjan> bsmntbombdood: strangely enough in norwegian, "man" is the same word as "husband"
05:22:04 <oerjan> by context, like anything else
05:22:42 <oerjan> well the latter word is usually with a possessive
05:23:30 <oerjan> oh and there is a more precise word for husband just in case
05:23:50 -!- shinh has joined.
05:26:45 <oklopol> <ihope> Ia Ia Cthulhu... uh, Something?
05:40:54 <Sukoshi> Esperanto estas plej bona.
05:41:31 <bsmntbombdood> toki pona has a completely different purpose than esperanto
05:42:18 <oklopol> <RodgerTheGreat> with a quick show of hands, (and we're talking *actual* programming tasks here, not just esolang dev work), who prefers RPN, prefix and algebraic notation? <<< oklotalk has teh perfect system, you look at that when it's ready :)
05:42:32 <oklopol> infix without implicit precedence and prefix.
05:54:09 -!- GreaseMonkey has joined.
06:05:28 <oklopol> bsmntbombdood: this is what i thought at first, but i've started liking how you can do everything in simple sequences
06:06:51 <oklopol> it's true math needs some serious parenting, but works well for most tasks
06:08:03 <pikhq> Sukoshi: Esperanto estas plej bona, sed Toki Pona estas tre simpla lingvon.
06:08:47 <pikhq> Obviously what oklopol is referring to would be the equivalent of *requiring* parens for each infix statement. . .
06:09:03 <pikhq> 2+2*2 would *have* to be (2+(2*2))
06:09:30 -!- oerjan has quit ("Good night").
06:09:31 <pikhq> Interesa, sed mi malsxatas.
06:10:06 <oklopol> well, 2+(2*2), i don't see a need for the outer ones
06:10:16 <pikhq> Sukoshi: s/lingvon/lingvo/
06:10:29 <pikhq> oklopol: Lisp sees a reason for it.
06:10:41 <pikhq> . . . Infix Lisp, anyone? :p
06:11:39 <oklopol> (opr par) {par opr par} [par opr] <<< lisp with every possibility :P
06:12:11 <pikhq> Unary functions can be called via prefix or postfix; binary called via infix, and n-ary where n>2 via foo(bar,baz,qux).
06:12:23 <oklopol> infix might need parens around the parameters
06:12:45 <pikhq> Thus, we obtain (5+5) and (++5) and (5++) and +(5,5,5). . .
06:13:02 <oklopol> {1 5 * 1} might just as well mean 1 (5 as function) [*, 1]
06:13:06 <pikhq> I assume functions taking no argument wouldn't need to care about calling semantics.
06:13:44 <pikhq> Given that + == + == +. ;)
06:13:59 <pikhq> . . . Damn, that could actually be an interesting language.
06:14:02 <oklopol> pikhq: every function can just have 1 argument
06:14:33 <pikhq> oklopol: What, a list of arguments?
06:14:55 <oklopol> lisp with more calling conventions, yes
06:15:03 <oklopol> well, not calling conventions
06:15:36 <oklopol> yeah,. but i see your way is cool
06:15:50 <oklopol> now that i understand what you meanb
06:16:01 <pikhq> Bit harder/cleaner to parse, but an interesting idea.
06:16:08 <pikhq> s/cleaner/dirtier/
06:16:29 <oklopol> but, how do you do (A B), you don't know which one the function is
06:16:41 <oklopol> this is why i had all the parens in use
06:16:57 <pikhq> Obviously, one needs to get rid of the postfix option for unary.
06:17:12 <pikhq> Which means that (A B) can *only* be A with B as the argument.
06:17:33 <pikhq> And (A B C) can only be B with A and C as the arguments.
06:17:53 <pikhq> And (A(B,C,D)) can only be A with B,C, and D as the arguments. Etc.)
06:21:27 <pikhq> Think I'm insane yet?
06:21:52 -!- boily has quit ("WeeChat 0.2.5").
07:18:37 <pikhq> Obviously, I've failed at my job.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:07:23 <Sukoshi> I need to code in some more functions.
08:07:42 <Sukoshi> But firstly, I have to clean up some of the handler code to macro out the regexps.
08:09:17 -!- Figs has joined.
08:10:46 * Figs has been put to shame
08:10:57 <Figs> I make a math parser in 1000 lines of C++, 500k
08:11:05 <Figs> guy does it in 88 lines of pascal
08:11:35 <Figs> there is something wrong with this, me thinks.
08:12:40 <Sukoshi> Well, Pascal avoids a lot of edge cases by having a strict syntax.
08:12:55 <Sukoshi> But is Pascal used anywhere but the roguelike world?
08:14:22 <Figs> this guy's writing a compiler in pascal
08:14:34 <Figs> 88 lines of code, he has working object code for the 68k
08:14:52 <Sukoshi> Is it that much different from C?
08:14:57 <Figs> granted, he limited it to 1 letter variables and 1 character numbers
08:15:02 <Figs> but that was to show the concepts
08:15:18 <Figs> I'm sure he could fix it to do more with about 25 lines max
08:15:33 <Figs> it's proceedural
08:15:49 <Figs> sukoshi, I don't know
08:15:53 <Sukoshi> Oh, you did yours in C++, not C.
08:16:07 <Figs> mine is pretty complex for such a simple thing
08:16:22 <Sukoshi> Who uses C++ to make compilers? :P
08:16:52 <Figs> http://rafb.net/p/ZWlWTj48.html
08:16:57 <Figs> here's the source for main.cpp
08:17:01 <Figs> the main part of my program
08:17:12 <Figs> I wrote the regex.h header (and the other 8 files it works with :P)
08:20:36 -!- Figs_ has joined.
08:20:41 -!- Figs has quit (Nick collision from services.).
08:20:43 -!- Figs_ has changed nick to Figs.
08:21:05 <Figs> freenode didn't like me saying positive things about proceedural...
08:21:29 <Sukoshi> Nah, I think it's your connection ;)
08:21:55 <Figs> probably is, but that'd make my conspiracy theories so much harder to believe :|
08:22:31 <Figs> maybe I'm just a messy coder
08:25:09 <Figs> is it a bad thing that I don't like to scan before I parse?
08:26:50 <Sukoshi> I dun see why anyone would need C++ for it though.
08:27:06 <Figs> 'pointer foo'? :P
08:27:31 <Figs> I guess I don't *really* need C++
08:27:35 <Figs> but it makes it easier
08:27:38 <Figs> things like vectors
08:27:56 <Figs> boost::lexical_cast
08:28:04 <Sukoshi> Hard to understand concepts?
08:28:08 <Figs> operator overloading
08:28:18 <Sukoshi> Nahh, why doubt pointers when they're easy to visualize?
08:28:29 <Sukoshi> C++ abstractions never really agreed with me.
08:28:34 <Figs> I use pointers quite a bit
08:28:52 <Figs> I just find the pre-packaged containers to be a lot easier to deal with
08:29:20 <Figs> and I know they're not likely to fuck up the memory management
08:29:38 <Sukoshi> Well, C++ abstractions are on the wonker side.
08:29:44 <Sukoshi> I have a hard time with the weird stuff.
08:29:48 <Figs> you should see my regex code :)
08:32:11 <Figs> I overloaded >>, +, *(unary), |, and maybe some others...
08:32:49 <Figs> and built it so that all my regex objects would be able to stick to each other the right way
08:33:05 <Figs> (because they return references to themselves)
08:40:12 <Figs> do you think it's a good idea to have _one_ numeric type in a language?
08:41:00 <Figs> like, an arbitrary length rational number...
08:43:24 <Figs> is that a yes?
08:44:09 <Sukoshi> Yay. The macro works yet still.
08:48:33 <Sukoshi> Sorry, when playing with my local REPL, I unhook the main loop.
08:48:46 <Sukoshi> I haven't gotten around to implementing ?eval just yet.
08:53:14 * Figs just finished eval yesterday :D
08:53:22 <Figs> my math calculator app
09:31:42 <Figs> sukoshi is your niece? O.o
09:34:41 <Figs> internet advertising makes no bloody sense
09:35:33 <Figs> banner advertising implying sex, click it, and it says, 'tell us where to send your $100 gift card'
09:35:49 <Figs> the internet is insane
09:35:56 <Figs> cause !-> effect
09:36:45 <Figs> now firefox quit because of another stupid ad
09:36:56 -!- Figs has quit (Read error: 54 (Connection reset by peer)).
09:37:17 -!- Figs has joined.
09:37:32 * Figs really needs AdBlock again
10:07:37 -!- andreou has quit ("No windows for this server").
10:10:23 -!- GreaseMonkey has quit ("AJAX is also a toilet cleaner").
10:49:44 -!- Figs has quit ("Good-bye").
13:20:24 -!- ais523 has joined.
14:24:17 -!- ihope has joined.
15:27:10 -!- oerjan has joined.
15:27:13 <ihope> I'll give you back EagleBot now.
15:27:26 -!- EagleBot has joined.
15:27:39 <ihope> Even though it's mostly useless...
15:28:14 <ais523> what does EagleBot do?
15:29:20 <ihope> If it receives the string ":#magic " followed by some other stuff, it sends that other stuff to EgoBot in a PRIVMSG.
15:30:09 <ihope> If it receives the string ":#quit " followed by some other stuff, it quits using that other stuff as the quit message.
15:30:10 -!- EagleBot has quit (Client Quit).
15:30:19 -!- EagleBot has joined.
15:30:22 <ihope> ...just like that :-)
15:31:00 <ais523> so it's not particularly useful at the moment, then
15:31:26 <ihope> If it receives the string "EgoBot" followed by some other stuff, it sends "ooga " followed by that other stuff to bsmnt_bot in a PRIVMSG.
15:32:09 <ihope> So that EgoBot can talk back to bsmnt_bot, though in sort of a roundabout manner.
15:32:24 <ais523> bsmnt_bot doesn't respond to private messages anyway AFAIK, and not anything that doesn't start with ~
15:32:37 <ais523> although I suppose bsmnt_bot could be reprogrammed to understand 'ooga'...
15:32:40 <ihope> bsmnt_bot can be made to react to private messages.
15:32:59 <ihope> Though I'm not sure of the command...
15:33:40 <ais523> what was its regex queue called again?
15:33:58 <ihope> ~exec self.register_raw(r"(.*)", lambda x: bot.raw("PRIVMSG #esoteric :%s" % something))
15:34:03 <ihope> I just don't know what the something is.
15:34:04 <bsmnt_bot> NameError: global name 'something' is not defined
15:34:29 <ihope> There may be another lambda parameter there too.
15:34:29 <bsmnt_bot> NameError: global name 'something' is not defined
15:34:41 <ihope> ~exec self.raw("QUIT")
15:34:41 -!- bsmnt_bot has quit.
15:34:45 -!- bsmnt_bot has joined.
15:34:53 <ais523> you're driving #bsmnt_bot_errors crazy
15:35:13 <ihope> (Also, EagleBot chooses the nick "EagleBot", the username "EagleBot" and the realname "EagleBot", identifies to NickServ, and joins #esoteric.)
15:37:03 * ais523 is so prone to forgetting the slashes on commands that they now make sure they're not in a channel when they identify to NickServ
15:41:24 <ais523> ~exec self.register_raw(r'\S+ PRIVMSG (\S+) :ooga(.*)', lambda x,y: sys.stdout(y.group(2)))
15:41:49 <ais523> ~exec self.raw_regex_queue.pop()
15:41:54 <ais523> ~exec self.register_raw(r'\S+ PRIVMSG (\S+) :ooga (.*)', lambda x,y: sys.stdout(y.group(2)))
15:42:00 <ihope> Apparently all this EagleBot nonsense started with this: [2007-06-15 19:59:20] <bsmntbombdood> sdrawkcab si txet ym kool
15:42:04 <ais523> small whitespace error there...
15:42:16 <ihope> I then said this: [2007-06-15 19:59:48] <ihope> !oot eniM
15:42:40 <ihope> Then I asked somebody to add a command to EgoBot that made !oot eniM output Mine too!
15:43:44 <oerjan> ihope: you do know that is possible using daemon, right?
15:43:54 <ihope> But it can be tricky.
15:44:17 <ihope> Somebody did that to bsmnt_bot, and then EgoBot was made to not respond to !oot with a null daemon thing.
15:45:51 <ihope> Well, if you want to cheat, that's fine. :-P
15:46:14 <SimonRC> I missed a lot of conversation
15:46:23 <ais523> Optimizing EgoBot's output is likely to be faster than writing it all by hand
15:47:06 <ais523> except apparently in this case...
15:47:25 <ihope> Besides, going from chat to EgoBot to EagleBot to bsmnt_bot to EagleBot to EgoBot to chat is more fun!
15:48:46 <ihope> Here's where EagleBot really got started: [2007-06-15 20:26:57] <ihope> Or I could toss together a relay bot.
15:50:19 <ais523> oh, of course, EgoBot isn't here
15:51:54 <ihope> Of course, it would have been easier to just register bsmnt_bot.
15:52:38 <ihope> ~exec self.raw("NICK :bsmnt_bot243\nPRIVMSG NickServ :REGISTER insecurepassword")
15:52:38 -!- bsmnt_bot has changed nick to bsmnt_bot243.
15:52:58 <ihope> There, now it's identified.
15:53:35 <ihope> But since EgoBot isn't here, there's really no point in bsmnt_bot243's being identified.
15:53:46 -!- bsmnt_bot243 has quit (Nick collision from services.).
15:53:49 -!- bsmnt_bot has joined.
15:53:51 <ihope> Plus people can do that.
15:57:07 <ais523> let's see... bsmnt_bot was registered with services once, but doesn't bother to register nowadays and the nick is expired
15:57:19 <ais523> bsmnt_bot243 is not registered
15:57:29 <ais523> despite what bsmnt_bot just thought it did
15:57:43 <ihope> I dropped bsmnt_bot243.
15:57:47 <ihope> It was registered.
15:58:03 <ais523> s/register(.*)register/register\1identify/ 3 comments ago
15:58:25 <ais523> oh, because you guessed its password
15:58:29 <oerjan> ais523: it was, i checked
15:58:46 <oerjan> no, because he made the password
15:59:00 <ihope> Plus everybody could see it.
15:59:10 <ais523> I know, not only that the password was sent to #esoteric in cleartext, so everyone knew what it was
15:59:31 <ais523> therefore it was easy for ihope to guess the password
16:00:22 <oerjan> er, my interpretation is that ihope just made bsmnt_bot243 register for the first time, with a password he invented
16:00:48 <ihope> I did just make bsmnt_bot243 register for the first time with a password I invented.
16:01:18 <ais523> I was trying to make a degenerate statement, but obviously I managed to mess up somehow
16:03:21 -!- c|p has joined.
16:03:39 <ihope> Degenerate statement?
16:04:10 <ais523> you came up with the password in the first place, so it was easy for you to guess it
16:04:40 <ais523> of course, a joke that needs to be explained this carefully is likely to not have been very good
16:09:52 <ihope> It wasn't very clear.
16:10:45 <ais523> By the way, what's with the topic?
16:12:52 -!- ihope has set topic: The international hub for esoteric programming language design and deployment - map: http://www.frappr.com/esolang - forum: http://esolangs.org/forum/ - EgoBot: !help - wiki: http://esolangs.org/wiki/ - logs: http://tunes.org/~nef/logs/esoteric/ or http://meme.b9.com/cdates.html?channel=esoteric - Pastebin: http://pastebin.ca/ - Aquí sé canibales.
16:12:54 -!- jix__ has joined.
16:12:59 <ihope> Look, bad Spanish!
16:13:06 -!- ihope has set topic: The international hub for esoteric programming language design and deployment - map: http://www.frappr.com/esolang - forum: http://esolangs.org/forum/ - EgoBot: !help - wiki: http://esolangs.org/wiki/ - logs: http://tunes.org/~nef/logs/esoteric/ or http://meme.b9.com/cdates.html?channel=esoteric - Pastebin: http://pastebin.ca/ - Here be cannibals.
16:13:12 <ihope> But it was probably there for a reason.
16:13:38 <ais523> I normally read the logs first, but I was so surprised at finding #esoteric active when I turned up that I forgot
16:15:09 <oerjan> ihope: you, bsmntbombdood and I got into a weird conversation, so i changed the topic appropriately
16:15:52 <oerjan> * ihope boils bsmntbombdood
16:17:36 <oerjan> fizzie was there too (but not Bob, as far as i can tell)
16:18:51 <oerjan> *sigh*. i am on just _two_ channels, but i keep writing to the wrong one.
16:20:55 <oerjan> google for "Bob was there, too"
16:23:24 <oerjan> also, http://www.blogphilo.com/wikiwrit/index.php?title=Genesis
16:31:59 -!- crathman has joined.
16:35:18 <ais523> ?say ais523 is reading the logs and has just figured out how to do this
16:35:42 <ais523> except that it didn't work for some reason
16:40:34 <ihope> What's ?say supposed to do?
16:40:43 <ais523> it's Otakubot's echo command
16:40:59 <ais523> but Otakubot doesn't seem to listen to what I say
16:41:11 <ihope> (And though #mundane existed previously--I think--it doesn't exist now.)
16:41:42 <ais523> well, how else can I set up an Eaglebot loop without renaming myself to EgoBot?
16:42:05 <ihope> You can ask me to modify EagleBot.
16:42:18 <ihope> Or you can use bsmnt_bot.
16:43:12 <ais523> ~bf ,[.,]!~bf ,[.,]!testing
16:43:38 <ais523> wow, I expected at least something to happen, even if it didn't loop
16:44:04 <ihope> ~bf looks like a bsmnt_bot command...
16:44:59 <ihope> There's an execfile command?
16:45:39 <ais523> apparently. Although I didn't know about it at first, and ordered the bot to read the file into an array, join its lines with newlines, and then exect the result
16:46:15 <ais523> bsmnt_bot forgets all its commands when it quits, so bsmntbombdood created a place where scripts (like my ~bf script) could be stored and execfiled to reload them
16:46:24 <ais523> ~bf ,[.,]!~bf ,[.,]!testing
16:46:33 <ihope> Can bsmnt_bot write to that place?
16:46:44 <ais523> yes, that's how I got the file there in the first place
16:46:52 <ais523> just don't overwrite my script bf.py or dof.py
16:47:22 <ais523> ~exec execfile('bot/scripts/dof.py')
16:48:06 <ais523> I wonder if DoFuck is Turing-complete? (It isn't BF-complete, because you can't write cat in it, but that doesn't prevent TCness)
16:49:25 <ais523> like Brainfuck, but [] is a do-while loop not a while loop
16:49:53 <ihope> So it's always done at least once...
16:50:23 <ais523> yes, and any program either produces no output or always produces output (cat can do either)
16:52:09 <ais523> I suspect it's TC, because it fits all the common criteria, sort-of, and apart from IO and looping all BF operations are reversible
16:52:58 <ihope> IO and looping is half of BF. :-)
16:53:06 <ihope> Except that IO is an unnecessary part of BF.
16:53:30 <ais523> and besides, ] is reversible, it's just [ that isn't
16:53:54 <ihope> Depends on just how you define the loop instructions.
16:53:58 <ais523> no, wait... ] isn't reversible, because you don't know whether you came from inside the loop or not. (It is reversible in DoFuck.)
16:54:29 <ais523> You could define [ as being 'jump to ] if it's nonzero' and ] as being 'jump to [ if it's nonzero'; then you get Reversible Brainfuck.
16:56:25 <ais523> Maybe I could program up a reversible BF interpreter in bsmnt_bot
16:56:34 <ais523> Not now, though because I have to go in 5 minutes
16:57:00 <ais523> and using bsmnt_bot as an editor is like a mix of editing with cat and sed
16:57:04 -!- sebbu has joined.
16:58:44 -!- sebbu2 has joined.
16:59:30 -!- ais523 has quit ("Does anyone ever actually read quit messages?").
16:59:48 -!- ihope has quit ("http://tunes.org/~nef/logs/esoteric/06.08.09").
17:00:08 -!- ihope has joined.
17:01:25 <ihope> ~exec self.raw("QUIT")
17:01:26 -!- bsmnt_bot has quit.
17:01:29 -!- bsmnt_bot has joined.
17:04:18 <oerjan> the disaster has been averted?
17:16:10 -!- jix__ has changed nick to jix.
17:18:21 -!- sebbu has quit (Read error: 110 (Connection timed out)).
17:20:05 <Otakubot> ais523 is reading the logs and has just figured out how to do this
18:16:12 <pikhq> Sukoshi: Good morning. (I assume you're awake)
18:31:12 -!- oerjan has quit ("Supper").
19:06:39 <bsmntbombdood> can you implement a priority queue that doesn't copy with constant time insertion and removal?
19:18:18 <SimonRC> because otherwise you could use it to sort in O(n) time
19:19:38 <SimonRC> can yo see how that is true
19:20:35 <SimonRC> remember though, that that sorting limit is for generalised comparison sorting.
19:20:45 <SimonRC> if you have more info avaiable, you can sort in linear time
19:30:07 <pikhq> And if you have the right information available, you can sort in constant time.
19:30:47 <pikhq> Say, the list, already sorted for you? :p
19:34:02 <SimonRC> some types of bucket-sort are constant-time
19:34:12 <SimonRC> some types of bucket-sort are linear-time
19:44:18 <jix> i can sort lists consisting only of ones in constant time!
20:00:33 <jix> without looking at them!
20:05:14 <pikhq> I can do better than that.
20:05:37 -!- boily has joined.
20:05:38 <pikhq> I can sort a void[] in O(0) time!
20:24:58 -!- fizzie2 has joined.
20:25:01 -!- fizzie has quit (Read error: 54 (Connection reset by peer)).
20:33:44 -!- clog has joined.
20:33:44 -!- clog has joined.
20:36:09 -!- crathman has quit ("ChatZilla 0.9.78.1 [Firefox 2.0.0.4/2007051502]").
20:39:55 -!- fizzie has joined.
20:47:55 -!- boily has quit ("WeeChat 0.2.5").
20:54:46 -!- ihope has quit (Success).
20:58:18 -!- c|p has joined.
20:58:19 -!- SimonRC has quit (Connection timed out).
21:00:14 -!- sebbu has joined.
21:05:23 <SimonRC_> it would be nice if void was an actual type.
21:05:32 -!- SimonRC_ has changed nick to SimonRC.
21:06:30 <SimonRC> it would make more sense though if C had parameterised types, C++ style
21:06:45 <pikhq> Could be arranged for in C++. . .
21:07:00 <pikhq> Although that'd be slightly insane. ;)
21:23:27 <SimonRC> bah, you accursed imperative programmers have no sense of elegance
21:23:52 <SimonRC> if you had invented the integers, you would not have bothered putting in 0 or the negative numbers
21:25:39 <SimonRC> "If two numbers are the same, why bother to subtract them?" "If the second is bigger than the first, just subtract them the other way round." "If you want a number to get smaller, just subtract rather than inventing a new thing to add on." "If you don't want a number to be changed, don't bother adding or subtracting in the first place."
21:26:49 * SimonRC imagines what Java programmers carefully transporting one flag and one nullable counting number around to represent each signed integer
21:27:03 <SimonRC> It's funny because it's true.
21:43:37 -!- oerjan has joined.
21:49:35 -!- erider has quit (Read error: 104 (Connection reset by peer)).
22:04:09 -!- jix has quit ("CommandQ").
22:06:43 <ihope_> "what Java programmers carefully transporting"?
22:07:01 <ihope_> That doesn't look like a complete... certain-type-of-noun-like phrase to me.
22:13:59 <SimonRC> erm, that was a bit mangled
22:34:40 <SimonRC> probably they would say it had no answer
22:34:56 <SimonRC> "21:22:57 < SimonRC> if you had invented the integers," ...
22:35:37 <SimonRC> It was just a rant about how imperative programmer don;t appreciate the unit type
22:35:59 <SimonRC> or things like identities and invariants in their libraries
22:36:53 <SimonRC> You know what happens when you ask a Java programmer to invent a combinator library, right?
22:37:23 <SimonRC> it's a crap imitation of a combinator library
22:37:51 <SimonRC> There is far too much mutation required and not enough pure-functional combinators
22:39:27 <SimonRC> They *could* have made it possible to add rotation into a matrix by saying "mat = mat.rotX(45).rotY(90);"
22:40:07 <SimonRC> but no, they had to make you use lots of mutation methods: "mat.rotX(45); mat.rotY(90);"
22:40:26 <SimonRC> if you want the answer in "foo", then tough
22:40:34 <SimonRC> you have to copy and assign
22:40:38 <lament> SimonRC: even python is guilty of that sometimes
22:40:57 <lament> SimonRC: obviously it's way more efficient and efficiency is the most important thing when dealing with 3d
22:41:09 <SimonRC> Java is mere ly place where many of these such things collect
22:41:23 <lament> SimonRC: it's not like opengl is any better :)
22:41:48 <SimonRC> lament: erm, no, this is for *building* the scenegraph, efficiency is not very important there.
22:42:17 <lament> SimonRC: they probably use the same matrices and the same rotation routines throughout.
22:42:25 <lament> SimonRC: don't tell me you think that's a bad thing :)
22:42:43 <SimonRC> bsmntbombdood: they need to review stuff
22:43:15 <SimonRC> bsmntbombdood: the trick is the belong to an institution that pays for subscription
22:43:35 <SimonRC> or you can use the known details to find a free copy out there on the web, or on the author's webshite
22:43:58 <bsmntbombdood> too many times a paper i've wanted has only been available from acm
22:45:20 <SimonRC> well, I will be leaving uni very soon, so you can ask me to acquire a copy of all the ones you want
22:45:35 <SimonRC> but be quick, like, a few days
22:45:51 <SimonRC> the uni has an ACM subscription
22:46:18 -!- sebbu has quit ("@+").
22:47:16 -!- guisf has joined.
22:48:06 <guisf> SimonRC: sorry, what does WRU mean?
22:48:52 <lament> i'm guessing he's brazilian
22:49:13 <guisf> lament: good guess! how do you know?
22:49:28 <SimonRC> erm "n=guisf@c90641f4.virtua.com.br"
22:49:40 <guisf> lament: vc eh brasileiro tbem?
22:50:11 <lament> guisf: sou canadense, falou portugues um poquito
22:50:21 <guisf> SimonRC: yes, my ip of course
22:50:30 <lament> guisf: yes, it ends with 'br' :)
22:50:56 <guisf> lament: legal! mas por que aprender portugues morando no canada?
22:52:44 <lament> gosto muito da musica brasileira, tocava no grupo do samba... quero visitar brasil um dia
22:53:10 <guisf> lament: voce escreve muito bem. Seu portugues parece perfeito
22:53:52 <lament> i know only a few words
22:54:08 <lament> but i speak spanish much better, and it helps
22:54:17 <SimonRC> it seems that your ISP is called "NET virtua", and I would guess that you are on their broadband scheme.
22:54:21 <lament> almost everything is the same
22:55:33 <guisf> lament: yes, you're right
22:58:31 <guisf> lament: are you male or female?
22:59:50 <lament> where in brazil are you?
23:00:08 <guisf> lament: sao paulo, and what about you in Canada?
23:00:59 <guisf> lament: nice, I'd like to meet Canada. I have a friend living in toronto
23:01:14 <lament> guisf: canada's nice :)
23:01:40 <lament> except for the weather
23:01:54 <lament> the local portuguese community newspaper is caled "Vanchuver"
23:02:04 <guisf> lament: very cold, doesn't it?
23:02:49 <guisf> lament: but that's good, you can stay at home in your computer!
23:03:04 <lament> that would be good if that were what i wanted to do :)
23:03:26 <guisf> lament: and what you like to do?
23:03:26 <lament> the summer is very very nice
23:03:39 <lament> the winter, though, is crap - the days are short and it's raining all the time
23:04:14 <lament> guisf: going to the beach would be nice, for one :)
23:04:19 <lament> still not warm enough for that
23:04:30 <lament> but soon will be, maybe even this week
23:05:26 <guisf> lament: here is usually hot, almost every place in Brazil is hot most part of the year
23:07:16 <lament> also the women are really hot :)
23:07:41 <guisf> lament: yes! you know Brazil very well
23:08:22 <lament> yeah, that's pretty much universal knowledge
23:08:27 <guisf> bsmntbombdood: i don't like it either, but i have no option i think
23:08:40 <guisf> bsmntbombdood: about hot weather of course
23:09:25 <guisf> lament: and what about canadian women? at least there are a lot of pretty women in the tv
23:09:43 <lament> guisf: i prefer brazilians
23:10:30 <lament> i need to find a brazilian girlfriend here and go to brazil with her. That's my plan anyway :)
23:11:04 <guisf> lament: a brazilian women is ok, but I'll prefer to stay in canada
23:11:25 <lament> well, go to brazil for some time, not forever
23:11:32 <lament> just to get to know the country
23:11:32 <bsmntbombdood> the grass is always greener on the other side of the fence
23:11:55 <lament> bsmntbombdood: sometimes the grass IS greener
23:12:18 <pikhq> Other times, it's the spray paint on the grass that's greener.
23:13:19 <oklopol> when it rains, i go outside
23:30:29 -!- erider has joined.
23:32:10 -!- goban has joined.
23:34:49 -!- goban has quit (Read error: 104 (Connection reset by peer)).
23:39:13 <bsmntbombdood> i had to move the sprinklers in the neighbor's yard
23:39:33 <oklopol> that's kinda metarain if they were off