←2006-10 2006-11 2006-12→ ↑2006 ↑all
2006-11-01
00:10:46 -!- ivan` has quit (Read error: 104 (Connection reset by peer)).
00:20:05 * pikhq has been contemplating making C2BF target BFM instead of raw Brainfuck. . .
00:23:46 -!- ihope_ has quit ("http://tunes.org/~nef/logs/esoteric/06.08.09").
01:27:00 -!- CakeProphet has joined.
01:37:44 -!- ivan` has joined.
01:39:22 -!- tgwizard has quit (Remote closed the connection).
01:48:27 -!- NoneGiven has joined.
01:49:12 -!- CakeProphet has quit (Read error: 104 (Connection reset by peer)).
01:50:09 -!- CakeProphet has joined.
01:50:28 -!- CakeProphet has quit (Read error: 104 (Connection reset by peer)).
01:51:25 -!- CakeProphet has joined.
01:52:22 -!- CakeProphet has quit (Read error: 104 (Connection reset by peer)).
01:53:21 -!- CakeProphet has joined.
02:15:29 -!- wooby has quit (Read error: 104 (Connection reset by peer)).
02:17:08 -!- wooby has joined.
02:23:09 -!- oerjan has quit ("Good night.").
02:27:58 -!- xor has changed nick to bsmntbombdood.
02:37:05 -!- NoneGiven has quit ("Leaving").
02:42:48 -!- bsmntbombdood has changed nick to xor_.
03:06:35 -!- thematrixeatsyou has joined.
03:07:10 <thematrixeatsyou> printf("HELLO!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!");
03:07:16 -!- wooby has quit.
03:07:23 <thematrixeatsyou> while(1) putch('!');
03:08:27 <xor_> while(1) eat(&candy);
03:08:42 -!- Roger_The_Bum has joined.
03:08:48 -!- Roger_The_Bum has left (?).
03:11:36 <thematrixeatsyou> you obviously don't seem to enjoy using pointers
03:12:28 <thematrixeatsyou> if(candy->flags & F_EATEN) *iq++;
03:17:15 <thematrixeatsyou> xor, better known as ^
03:20:55 <xor_> if( candy_count > 15 ) vomit();
03:32:51 -!- calamari has joined.
03:33:45 <calamari> hi
03:44:21 -!- CakeProphet has quit (Read error: 110 (Connection timed out)).
03:49:34 <pikhq> printf("HELLO");for(char i=0;i!=255;i++) {putch('!');}putch('\n');
03:49:55 -!- Sgeo has quit (Remote closed the connection).
03:51:49 <xor_> for(int i=0;i<100000;i++) { *0; }
03:52:58 <pikhq> . . .
03:54:03 <xor_> for(int i=0;i<100000;i++) { *(void*)0; }
04:00:09 <thematrixeatsyou> hello(calamari->microphone);
04:00:16 <thematrixeatsyou> hello(calamari->ear);
04:00:18 <thematrixeatsyou> that's it
04:00:46 <thematrixeatsyou> while(1) do_stuff(); easter_egg();
04:00:54 <calamari> hi thematrixeatsyou
04:01:12 <thematrixeatsyou> nothing much since RETURN
04:01:22 <thematrixeatsyou> ((()()())(()()())(()()()))
04:01:28 <pikhq> cons32 bar : foo;while bar {out bar}
04:04:56 <xor_> (setq x (cons 1 2))(cons (car x) (cdr x))
04:06:03 <thematrixeatsyou> free(findprop(xor->abilities,"lisp"));
04:06:30 <xor_> lol
04:10:04 <xor_> ++++++++[>++++++++++++<-]>+.+.+.
04:11:12 <thematrixeatsyou> ++++++++[>+++++++++++++<-]>++++.+++.---.
04:11:50 <thematrixeatsyou> declare_brainfuck_funct("++++++++[>++++++++++++<-]>+.+.+.",printf,"cba");
04:13:57 <xor_> me->flags |= F_TIRED;
04:13:59 <pikhq> @ bar 0;@ foo 1;cons96 foo : bar;add foo 1;out foo;add foo 1;out foo;add foo 1;out foo
04:14:09 <xor_> wtf language is that
04:14:14 <pikhq> BFM.
04:14:17 <xor_> oh
04:14:30 <pikhq> It's the equivalent of your Brainfuck code.
04:15:01 <xor_> hmmm
04:15:20 <xor_> me->flags |= F_CONFUSED;
04:19:37 <pikhq> BFM is a macro language for Brainfuck.
04:19:46 <xor_> I know
04:21:06 <pikhq> I'm fond of it (I designed it). . .
04:21:14 <pikhq> Just not understanding how it works?
04:21:57 <xor_> yeah
04:24:05 <xor_> What is the cons stuff?
04:29:24 <pikhq> Shortest Brainfuck version of constants (for wrapping implementations).
04:29:58 <pikhq> From the Esolangs wiki.
04:30:50 <thematrixeatsyou> any of you any good at wireworld?
04:31:00 <pikhq> Only recently heard of it.
04:31:06 <pikhq> Recommend any implementations?
04:33:36 <thematrixeatsyou> implementations of wireworld?
04:33:43 <thematrixeatsyou> oh, MCell
04:34:21 <thematrixeatsyou> http://www.mirwoj.opus.chelm.pl/ca/
04:34:22 <thematrixeatsyou> choose Rules Table -> WireWorld
04:35:59 <pikhq> Free software, please.
04:37:04 <thematrixeatsyou> it IS free
04:37:20 <pikhq> Ah, so I can use, study, share, and change?
04:39:49 <thematrixeatsyou> use = yes, study = yes, share = yes, change = i don't know
04:40:26 <pikhq> Study the source.
04:40:42 <pikhq> Not finding it.
04:44:47 <thematrixeatsyou> no source, but you can add stuff using user DLLs
04:45:04 <thematrixeatsyou> you can add rules using user DLLs, that is
04:45:17 <Razor-X> Wooh.
04:45:33 <Razor-X> I tried making a sort (Sequential?) in Forth.
04:45:40 <Razor-X> Wooh. I gave up.
04:46:09 * xor_ hasn't coded forth for a long time
04:46:16 <Razor-X> Don't have that much time in a day.
04:46:28 <xor_> its weird
04:46:46 <Razor-X> Pfft. Just getting it to iterate over an array took me a good while to understand.
04:47:03 <xor_> yep, I don't remember how to do that
04:47:13 <Razor-X> Well, it's really logical....
04:47:40 <Razor-X> Looks something like: ( addr length -- addr ) CELLS SWAP DUP ROT + SWAP
04:47:48 <pikhq> thematrixeatsyou: That's not freedom.
04:48:11 <Razor-X> Then you can enter a DO loop and it will iterate over the array, as long as you write to the memory location of the index.
04:48:50 <Razor-X> Err.., just ( addr length ) describes the stack in the beginning.
04:53:52 <thematrixeatsyou> pikhq: the java one has source
04:54:02 <thematrixeatsyou> that is, IF you like java
04:55:48 <pikhq> But is it Free?
04:57:03 <thematrixeatsyou> java: YES
04:57:21 <thematrixeatsyou> why do you need it to be 100% free?
04:57:29 <thematrixeatsyou> what's wrong with the standard 99% free?
04:57:37 <GregorR> The 1%
04:57:37 <thematrixeatsyou> well, actually 90%
04:57:42 <GregorR> The 10%
04:57:44 <thematrixeatsyou> hey gregor
04:58:13 <thematrixeatsyou> it could be 100% free if you knew ASM and had a disassembler
04:58:20 <thematrixeatsyou> and a reassembler
04:58:26 <pikhq> Only if I were allowed to change it.
04:58:34 <pikhq> And share it.
04:58:36 <pikhq> And study it.
04:58:38 <pikhq> And use it.
04:58:40 <GregorR> There's more to source than the function.
04:58:52 <pikhq> Without this, it cannot truly be called Free.
04:59:25 <thematrixeatsyou> hardly anything outside the esolang wiki is truly free
04:59:37 <GregorR> HAH
04:59:42 <GregorR> thematrixeatsyou: You are oblivious
04:59:46 <Razor-X> thematrixeatsyou: What's GNU?
04:59:52 <thematrixeatsyou> oh yeah
04:59:56 <Razor-X> ..........
04:59:56 <thematrixeatsyou> but still
05:00:09 <GregorR> OK, just ridiculously massive amounts of software.
05:00:11 <GregorR> OTHER THAN THAT THOUGH
05:00:17 <Razor-X> GNU isn't just a drop in a bucket, you know?
05:00:20 <pikhq> GNU/Linux is free.
05:00:29 <thematrixeatsyou> GNU = you can change it but you still have to say who it's by and that
05:00:29 <pikhq> As are the BSDs.
05:00:40 <pikhq> Well, yes. . .
05:00:49 <GregorR> Attribution is not a restriction X_X
05:00:49 <pikhq> That's not an issue of freedom.
05:00:57 <thematrixeatsyou> k
05:01:17 <pikhq> A comment doesn't restrict what you can do with the code.
05:01:56 <thematrixeatsyou> well, you can use it and study it, and should be able to share it. if you can disassemble it and change it im pretty sure mirek won't mind.
05:03:36 <pikhq> Not good enough.
05:03:51 <pikhq> An explicit guarantee that I'm allowed to change it.
05:05:34 <thematrixeatsyou> ask him
05:05:52 <pikhq> I'll ask him for the source and a BSD or GPL license.
05:11:17 <thematrixeatsyou> good ol' communism
05:12:38 -!- calamari has quit ("Leaving").
05:28:17 <pikhq> Communism != liberty.
05:28:56 <pikhq> The GPL does not provide for a commune, it provides for a system where by the free market may work in truth.
05:36:55 <xor_> gpl is annoying
05:37:05 <pikhq> Why?
05:37:15 <pikhq> It provides freedom.
05:37:22 <pikhq> Surely freedom is anything but annoying?
05:37:35 <xor_> More free than microsoft, sure
05:37:39 <xor_> But still not free
05:37:45 <pikhq> How is it not free?
05:37:54 <pikhq> The only freedom you lack is to take away freedom.
05:38:09 <xor_> I can't license my derivitave work how I like
05:38:17 <pikhq> You can't take away freedom.
05:38:35 <xor_> to be free I have to be able to do whatever the hell I want with it
05:38:41 <xor_> GPL isn't like that
05:38:59 <pikhq> The GPL allows you to do whatever you want so long as it doesn't prevent anyone *else* from doing the same.
05:39:17 <xor_> no
05:39:18 <xor_> wrong
05:39:34 <pikhq> Give me one right you don't have with the GNU General Public License.
05:39:42 <xor_> I can't license it with any license but the GPL
05:40:07 <RodgerTheGreat> heh. sounds analagous to "vendor lockin"
05:40:09 <pikhq> There is no "right to take away freedom from others".
05:40:10 <pikhq> Sorry.
05:40:22 <RodgerTheGreat> ironic
05:40:35 <xor_> But there is
05:40:47 <xor_> The only truley free license is public domain
05:40:51 <pikhq> It's the power to enslave.
05:41:03 <xor_> GPL is the power to enslave
05:41:13 <xor_> enslave everyone with the GPL
05:41:18 <pikhq> No, GPL removes the power to enslave.
05:41:26 <xor_> BSD, MIT licenses, they are free enough
05:41:27 <RodgerTheGreat> basically, what xor_ is saying is that the GPL takes away the freedom of the programmer to choose open-source or not once they build upon the work of others.
05:41:30 <xor_> not the GPL
05:41:47 <RodgerTheGreat> I agree with this assertion.
05:41:47 <pikhq> Basically, it takes away the freedom of the programmer to hurt others.
05:41:53 <RodgerTheGreat> hardly
05:42:11 <RodgerTheGreat> Open-source should *always* be a choice made by a creator, not a requirement.
05:42:40 <pikhq> Freedom shouldn't be a choice; it should be a natural result.
05:42:58 <RodgerTheGreat> I don't have a problem with the existence of open-source software, but I sure as hell don't like being bullied into giving my creations away when I don't want to.
05:43:15 <pikhq> I don't like being bullied into not sharing with others.
05:43:26 <pikhq> A non-copyleft free software license allows this.
05:43:30 <xor_> the GPL bullies you into using the GPL
05:44:09 <pikhq> The GPL prevents a few programmers from hurting others. A BSD license allows a few programmers to hurt the rest of society.
05:44:16 <pikhq> Tell me, which is better for society?
05:44:45 <xor_> GPL hurts the programmers
05:44:58 <xor_> I know of projects that weren't released because of the gpl
05:45:04 <RodgerTheGreat> if I'm trying to make a living, screw "society" and the "free everything" culture that pervades the internet.
05:45:18 <pikhq> RodgerTheGreat: It's not about cost, it's about freedom.
05:45:45 <RodgerTheGreat> for every one person that wants open-source to look at the code and learn, ten people want it so that they don't have to hand over cash.
05:45:47 <xor_> the freedom to do _whatever_ you want with my code
05:46:02 <pikhq> http://www.gnu.org/philosophy/shouldbefree.html
05:46:19 <xor_> I'm all for free software
05:46:31 <xor_> Just not GPL
05:46:46 <pikhq> xor_: With a non-copyleft license, freedom is only granted to those who receive it directly from you.
05:47:14 <pikhq> If someone receives it through a third party, they are as surely enslaved as they would be by something that's fully proprietary.
05:47:22 <xor_> with a GPL it never was free
05:47:34 <pikhq> No, GPL ensures that everyone is free.
05:47:48 <RodgerTheGreat> ...within the confines of the GPL.
05:48:09 <pikhq> Because the GPL is constructed in such a way that one cannot take freedom away.
05:48:26 <Razor-X> Doesen't that sound a lot like anti-freedom?
05:48:41 <pikhq> What does?
05:48:43 <Razor-X> When you force someone to subscribe to freedom, you're removing the freedom of using freedom.
05:48:52 <RodgerTheGreat> thank you, Razor-X.
05:48:57 <pikhq> We force people to not have slaves.
05:49:03 <pikhq> Does this make us not free?
05:49:13 <Razor-X> Yes.
05:49:16 <xor_> If I get some free code from you, I should have the freedom to use a BSD license
05:49:23 <xor_> pikhq: yes
05:49:34 <pikhq> Does it make those who would be slaves not free?
05:49:39 <pikhq> Or does it liberate the slaves?
05:49:51 <xor_> The are free to rebel against their enslavers
05:50:09 <RodgerTheGreat> that's a heavily loaded metaphor, and one rife with logical fallacy
05:50:44 <pikhq> And the slave owners are free to have them hung.
05:50:55 <Razor-X> I'm not arguing for the reinstatement of human slavery, but it's a situation in which the removal of a freedom prevents attrocity.
05:51:11 <Razor-X> These aren't humans. This is source code.
05:51:28 <pikhq> Which affects large sections of humanity.
05:51:40 <xor_> the paralell could be made that closed source code is an atrocity
05:51:41 <pikhq> Far more people than slavery, I believe.
05:51:49 <pikhq> Which is what I believe.
05:52:14 <pikhq> It prevents cooperation, holds back knowledge, and tells people that sharing is wrong and immoral.
05:52:14 <RodgerTheGreat> you are entitled to your beliefs, but you are not entitled to impose your beliefs upon others.
05:52:15 <Razor-X> Unless you can radically change the corporate world, closed source cannot die from an economic perspective.
05:52:50 <Razor-X> I should not only have the freedom to distribute my source code, but I should have the freedom to release it under any license. The GPL is also picky about a whole bunch of other matters.
05:53:02 <RodgerTheGreat> and precisely the culture that feeds upon open-source is why it cannot fill the same niche as closed-source.
05:53:05 <pikhq> RodgerTheGreat: Nonfree surely imposes beliefs on others just as much as copyleft free?
05:53:12 <xor_> RodgerTheGreat: you are
05:53:15 <thematrixeatsyou> what about creative commons?
05:53:49 <xor_> I'm not familiar with the creative commons licenses
05:53:53 <pikhq> Specifically, nonfree enforces the idea on others that software is property, sharing is wrong, and you shouldn't learn.
05:53:57 <Razor-X> For example, the GPL allows you to charge money for the distribution of source code at a price related to the price of distribution. Talk about loophole.
05:54:19 <Razor-X> I prefer a sort of software patent system, personally.
05:54:23 <pikhq> Actually, the GPL doesn't specify a limit on selling the software.
05:54:42 <xor_> You just have to give the source with it
05:54:43 <RodgerTheGreat> if ideas have no tangible value, why do skillsets?
05:54:55 <pikhq> The limit is merely provided by what people are willing to pay.
05:55:12 <Razor-X> Legal vendor lockin, with distributed source code. The knowledge is free, but for a certain number of years, the implementation is locked in.
05:55:12 <thematrixeatsyou> My personal favourite: "This is made by <insert-name-here>; if you redistribute or use parts of this program, you must include this sentence somewhere readable."
05:55:32 <xor_> thematrixeatsyou: exactly
05:55:36 <Razor-X> At that point if you still want more, that implies that you want to do away with the notion of software profit.
05:55:46 <xor_> an MIT license
05:55:55 <xor_> free enought for me
05:56:12 <pikhq> I'd prefer a system whereby the length of copyright is brought down, and, upon being released in the public domain, the source code is also released.
05:56:26 <Razor-X> Copyright is horrendous. I agree.
05:56:34 <xor_> no way dude
05:56:34 <pikhq> This would be a signifigant improvement on how things are now. . .
05:56:36 <Razor-X> GPL is good, but I feel it can be better.
05:56:43 <xor_> no one should be forced to reveal code
05:56:48 <pikhq> Of course, I'd still prefer software that's free *now*, but. . .
05:56:57 <Razor-X> xor_: Why not? Distribute knowledge.
05:57:14 <Razor-X> Of course, only the vendor can receive profit from the knowledge, but the knowledge is free.
05:57:16 <xor_> keeping secrets is a freedom you deserve to have
05:57:22 <pikhq> xor_: The idea of the public domain is simple: the copyright owner has had enough time to make a profit, and now it's time that the public get back what they deserve.
05:57:35 <xor_> I'm not saying they should, just that they should be able to
05:57:50 <xor_> pikhq: the public doesn't deserve jack shit
05:57:55 <Razor-X> xor_: ?
05:58:02 <Razor-X> Are you vehement anti-Socialist?
05:58:07 <pikhq> xor_: Tell that to the US Constitution.
05:58:22 <pikhq> Or the Declaration of Independence.
05:58:25 <Razor-X> Heh.
05:58:33 <Razor-X> Or the Declaration of the Rights of Man.
05:58:37 <xor_> I'm talking about a world where freedoms aren't limited by the constitution
05:58:50 <Razor-X> xor_: When we get that world, we'll see.
05:59:02 <pikhq> The government is limited by the US Constitution, not the public.
05:59:12 <Razor-X> xor_: Given the will of the people, I wholeheartedly believe that Communism is the best way.
05:59:23 <xor_> yep
05:59:26 <Razor-X> xor_: But the push needs to be uniform, something that won't happen any time soon, as I can see it.
05:59:26 <pikhq> (the public's limitations are enforced in blatent violation of the US Constitution)
06:00:03 <RodgerTheGreat> the problem with communism isn't the system itself, it's the people who create and use it.
06:00:07 <xor_> "Given the will of the people" -- this means not forcing out secrets
06:00:08 <Razor-X> Exactly.
06:00:28 <Razor-X> xor_: But Communism encourages no secrets.
06:00:36 <pikhq> xor_: Funny. . . This is about forcing out secrets to benefit the public.
06:01:19 <Razor-X> The whole point of the non-frothy-revolution-kill-kill portion of Marx-Engel's manifesto was to say that the aristocracy needs to sacrifice for the good of the people.
06:01:26 <RodgerTheGreat> forcing people to release sourcecode against their will would be equivalent to forcing people to release medical records so that they might be studied by doctors for the "common good"
06:01:29 <xor_> MS has the right to keep its code secret
06:01:47 <Razor-X> I don't think it can indefinitely.
06:01:55 <Razor-X> Or else you'll have monopolies a la Industrial Revolution.
06:02:28 <xor_> If the public wants MS's code, they can convince MS to give it to them
06:02:44 <pikhq> RodgerTheGreat: No, it's more akin to forcing someone to release the workings of an invention. . . Which we happen to do daily; we call it "the patent system".
06:02:47 <Razor-X> I firmly believe knowledge is not property.
06:02:57 <Razor-X> Knowledge is a birthright.
06:03:03 <xor_> ehm, no
06:03:16 <xor_> Once knowledge is released, it's out there
06:03:16 <RodgerTheGreat> knowledge isn't property, but the application of knowledge can most certainly be.
06:03:25 <pikhq> xor_: The problem is that MS excercises this 'right', and in doing so, prevents *everyone else* from having knowledge.
06:03:32 <Razor-X> Now, you have the capability to use knowledge as property, that can and should be encouraged, but only temporarily.
06:03:47 <Razor-X> RodgerTheGreat: Which is why I advocate a legal vendor lockin, while distributing the source code.
06:03:54 <pikhq> Preventing others from having knowledge *surely* holds back society as a whole.
06:04:05 <xor_> anyway, bed time
06:04:13 <Razor-X> We have Window's source, sure, but we can't make money selling modifications.
06:04:25 <Razor-X> Go ahead, hack at it all you want for free.
06:04:26 <RodgerTheGreat> Razor-X: such a system would be an acceptable alternative to forced release of code, assuming it was enforceable
06:04:27 <xor_> goodnight all
06:04:41 <Razor-X> RodgerTheGreat: I hope we can do something like that.
06:04:45 <RodgerTheGreat> g'night, xor_
06:05:21 <pikhq> My position is quite simple:
06:05:31 <RodgerTheGreat> considering rampant abuse of source available for commercial products by pirates and the like, I don't see such a system working in the near future...
06:05:37 <pikhq> The rights of all of society overrule the rights of a select handful of people.
06:05:46 <xor_> I disagree
06:05:51 <pikhq> Clearly.
06:05:52 <xor_> neither is more important
06:06:18 * xor_ sleeping
06:06:28 <Razor-X> It's happening though RodgerTheGreat. Look at the stupidity at patenting emoticons.
06:06:34 <RodgerTheGreat> we need look no further than the OSX86 project and apple's open-source efforts to see examples of the abuse I mentioned.
06:06:53 <Razor-X> Or that stupid iPod interface fiasco.
06:06:59 <RodgerTheGreat> yeah
06:07:07 <Razor-X> I patented the MENU SYSTEM!!11!!
06:07:11 <Razor-X> I mean, wtf?
06:08:08 <RodgerTheGreat> well, it was a bit narrower than that, but primarily they were trying to avoid blatant ripoffs of their design. I admit, most major software companies are guilty of frivolous patents.
06:09:15 <RodgerTheGreat> I see it the same way as some forms of DRM- you can't blame companies for trying to protect their interests from a general public that feels no guilt for what amounts to stealing, at least when this DRM remains within reasonable limits.
06:09:27 <pikhq> I do believe several centuries of history are at odds with you.
06:10:02 <Razor-X> No, I agree. The public and the private are at fault with DRM.
06:10:17 <Razor-X> The private for shamelessly abusing concealement, the public for shamelessly lauding piracy.
06:10:48 <RodgerTheGreat> This is why I dislike outright demonization of DRM- there are many shades of gray in there.
06:10:53 <pikhq> http://www.gnu.org/philosophy/shouldbefree.html Read and tell me again about the "right to take away freedom".
06:12:04 <RodgerTheGreat> I personally find FairPlay to offer me a fair balance between rights and restrictions, and I choose to support it with my money. If you don't like it, don't buy it, but don't simply cry foul "because it's DRM! OMFG!"
06:12:52 <pikhq> RodgerTheGreat: I find that FairPlay is a misnomer, which restricts what I can and can't do with a work. . . It's merely a less harmful master.
06:14:07 <pikhq> Razor-X: The public is at fault for demanding the right to share, now that it can fully excercise this right?
06:14:59 <RodgerTheGreat> what right to share? Do you honestly think that the contents of a CD is entirely paid for by the cover price?
06:15:57 <pikhq> Once you've got one CD, the next copy is nearly free.
06:16:27 <RodgerTheGreat> simply because they can easily manipulate and convert data from modern formats seems to have convinced people that they have significantly more ownership over data they purchase licenses to than they could by any reasonable definition.
06:16:51 * pikhq would like to introduce you to copyright law, pre-printing-press. . .
06:17:00 <pikhq> "" -- The entirety of copyright law.
06:17:04 <RodgerTheGreat> and pre- meaningful.
06:17:20 <RodgerTheGreat> preindustrial reasoning holds little bearing in the information age.
06:17:24 <pikhq> And we are now in post-meaningful times.
06:17:31 <RodgerTheGreat> times change, and concepts must change with them.
06:17:47 <pikhq> And copyright law is from the age of the printing press, not the information age.
06:17:52 <pikhq> It is time for concepts to change.
06:18:23 <pikhq> Copyright law made sense, once.
06:18:31 <RodgerTheGreat> are you implying that we should disregard all laws created in the last 50 years, on the grounds that the old way of doing things used to make sense?
06:18:33 <pikhq> It was a short restriction on what a publisher could do with a work.
06:18:53 <pikhq> Now, it is used as a long restriction on what the public can do with a work.
06:19:18 <pikhq> RodgerTheGreat: No, on the grounds that the old way of doing things is a slightly less fancy version of the new way of doing things.
06:19:39 <pikhq> (pre-printing-press=old way)
06:20:02 <pikhq> Before the printing press, everyone who could make use of a work could make a copy of a work.
06:20:24 <RodgerTheGreat> because before the printing press, it was insanely laborious.
06:20:27 <pikhq> It'd take no longer than anyone else, and would be no better than anyone else's (discounting differences in handwriting style).
06:20:37 <RodgerTheGreat> and before the word-processor, it was again more laborious
06:20:43 <pikhq> It was laborious, but everyone who could make use of a work could copy it.
06:20:49 <RodgerTheGreat> and before the internet, it was again more laborious
06:20:57 <pikhq> Now, after the printing press, anyone can make a copy of a work.
06:21:24 <pikhq> It'll take no longer than anyone else, and be no better than anyone else's.
06:21:40 <pikhq> The difference is that copying is much less laborious than pre-printing-press days.
06:22:10 <pikhq> The printing press age was unique in that only a select few could make "professional" copies of a work.
06:22:23 <pikhq> This age is drawing to an end as we speak. . .
06:24:46 <RodgerTheGreat> the concept of "demanding the right to share" assumes that the creator of a work deserves no rights over what they build. No one has the right to *demand* unlimited access to the creations of another, be it software or music. The right to share must be balanced by the right to keep.
06:25:16 <pikhq> The right to hold back society, you mean?
06:26:23 <RodgerTheGreat> everyone has the right to value their personal interests above those of society if they so choose. It may not be popular amongst "society", but it is a right nevertheless.
06:26:54 <pikhq> A select few (monarchy, the Catholic church, aristocracy, corporations. . . The names change, but not the concepts) restrict what everyone else can do. . . Throughout the ages, this has been the balance.
06:27:14 <pikhq> Why should we respect the rights of a select few, so that the rest of us may be subservient?
06:28:15 <RodgerTheGreat> why should your work in school reward you personally with a high grade, while others in your class suffer with lower grades? Why should the work of your parents go to feed your family first, rather than hungrier families elsewhere?
06:29:08 <pikhq> An inapt analogy.
06:29:39 <RodgerTheGreat> it is built on the very concept I posited earlier, merely applied to different situations.
06:29:47 <pikhq> Software can be copied; if food were like software, nobody would need to starve.
06:30:03 <pikhq> Except, of course, for the wishes of farmers who wished to prevent food piracy.
06:44:55 <Razor-X> pikhq: I don't believe the public has, by birthright of being the public, any more power than a ruler.
06:44:58 <Razor-X> That is discrimination.
06:45:48 <pikhq> We live in a society where (nominally) the ruler is a servant of the public. . .
06:46:07 <pikhq> By that notion, the public has power over the ruler.
06:46:20 <pikhq> (sadly, this isn't how it works in reality. . .)
06:47:07 <pikhq> As proven by the many organizations which are masters over us (Shall I list them?).
06:54:51 -!- GregorR-L has joined.
06:55:09 * pikhq leaves
07:58:41 -!- wooby has joined.
07:59:08 -!- wooby has quit (Client Quit).
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:06:03 -!- GregorR-L has quit (Read error: 60 (Operation timed out)).
08:21:48 <thematrixeatsyou> gonna go get some zzzz, bai bai
08:22:43 -!- thematrixeatsyou has quit ("Buyer beware: The orange ones fuck you up real fast").
10:45:39 -!- ihope has joined.
11:08:45 -!- tgwizard has joined.
11:26:24 -!- puzzlet has quit (Read error: 54 (Connection reset by peer)).
12:02:04 -!- puzzlet has joined.
12:10:38 -!- puzzlet has quit (Read error: 104 (Connection reset by peer)).
12:20:09 -!- puzzlet has joined.
16:00:21 * SimonRC boggles at the mess that is the x86 register set
16:02:43 * RodgerTheGreat boggles at the mess that is x86.
16:02:52 <SimonRC> heh
16:02:59 <SimonRC> all those "string" instructions
16:03:07 <SimonRC> and the ascii adjust
16:05:57 * SimonRC grins at the EAX vs AX vs AH vs AL distinction
16:06:30 <SimonRC> lol at the "addressing" registers
16:38:17 -!- GregorR-L has joined.
16:58:48 -!- GregorR-W has joined.
17:00:30 -!- GregorR-W has quit (Client Quit).
17:20:45 -!- xor_ has changed nick to xor.
17:34:00 -!- jix has joined.
18:07:32 -!- Asztal has quit ("Chatzilla 0.9.72-rdmsoft [XULRunner 1.8.1b2/0000000000]").
19:21:13 * pikhq has made a program to make strings.bfm maintainence much, much easier
20:00:40 <ihope> So x86 is an ugly kludge?
20:10:22 <ivan`> i want a modern OS that runs on a CA processor
20:39:20 -!- Sgeo has joined.
20:42:03 -!- ihope has quit (Read error: 110 (Connection timed out)).
20:52:02 -!- CakeProphet has joined.
21:59:42 -!- jix has quit ("Bitte waehlen Sie eine Beerdigungnachricht").
22:14:54 -!- tgwizard has quit (Connection timed out).
22:22:46 <pikhq> ivan`: Design a PowerPC system in Wireworld.
22:33:08 -!- GregorR-L has quit ("Leaving").
22:51:31 -!- xor has changed nick to bsmntbombdood.
22:58:55 -!- oerjan has joined.
23:22:56 -!- meatmanek has joined.
23:23:10 <meatmanek> does postscript count as an esoteric language?
23:23:27 <oerjan> no.
23:23:29 <bsmntbombdood> no
23:23:53 <meatmanek> I guess my first question should have been, what is the definition of an esoteric language?
23:24:18 <RodgerTheGreat> I think postscript counts as an esolang if you code it yourself.
23:24:30 <oerjan> one that was not primarily intended to be useful.
23:24:48 <RodgerTheGreat> those that say otherwise haven't seen the postscript game of life or raytracing simulations
23:25:02 <RodgerTheGreat> there are esolangs designed to be semi-useful.
23:25:04 <meatmanek> I just made a postfix graphing calculator
23:25:09 <RodgerTheGreat> cool
23:25:16 <bsmntbombdood> leet
23:25:23 <meatmanek> http://pwnix.be/graph.ps
23:25:25 <pikhq> Calling it the HP-49G?
23:25:35 <bsmntbombdood> I should code an rpn proggy for my calculator
23:25:36 <pikhq> . . . Oh. Postscript.
23:25:38 <meatmanek> postscript
23:25:38 <pikhq> Damn.
23:25:39 <meatmanek> hah
23:25:41 <meatmanek> just kidding.
23:25:43 <meatmanek> I keep doing that
23:26:48 <oerjan> i don't think postscript is any more esoteric than forth. and i have coded a little in it.
23:27:02 <meatmanek> by the 'not intended to be useful' definition, it probably isn't.
23:27:20 <bsmntbombdood> forth is pretty esoteric
23:27:33 <meatmanek> but it certainly isn't a language most people consider a useful programming language
23:27:55 <meatmanek> anyway
23:27:58 <meatmanek> gotta go
23:28:02 <oerjan> it is very useful in its domain.
23:28:05 <meatmanek> yeah
23:28:05 <RodgerTheGreat> good work, meatmanek.
23:28:18 <RodgerTheGreat> you earn a gold star.
23:28:21 <meatmanek> yay
23:28:56 <bsmntbombdood> bah
23:28:57 * meatmanek idles.
23:29:00 <bsmntbombdood> I didn't wait for it to render
23:30:49 <RodgerTheGreat> dude, it only takes a few seconds.
23:38:03 -!- wooby has joined.
23:49:46 <Razor-X> I don't think Forth is esoteric.
23:50:08 <Razor-X> It just bridges the large gap between ASM and C.
23:50:17 <pikhq> I think Forth's just a whee bit quirky.
23:50:27 <Razor-X> Each operation is useful though.
23:50:32 <pikhq> Huge difference between "esoteric" and "quirky". ;)
23:50:36 <Razor-X> True.
23:50:45 <Razor-X> I think C is da** annoying. Not esoteric though ;)
23:51:51 <Razor-X> We all know that da** is dang.
23:57:22 <RodgerTheGreat> I thought it was "darg"
23:57:58 <Razor-X> So much you know of the unwritten laws of censorship.
23:58:43 <oerjan> no no it's davy
23:59:30 <RodgerTheGreat> "dada", as in the artistic movement, perhaps?
2006-11-02
00:00:07 <Razor-X> Uggh. You reminded me of an awful SAT article.
00:00:16 <RodgerTheGreat> one could say that it's rejection of traditional artistic concepts is indeed annoying
00:00:35 <RodgerTheGreat> the SAT was easy. I enjoyed it the most the second time I took it.
00:00:56 <RodgerTheGreat> I was really quite disappointed with some of the revisions, however.
00:01:37 <Razor-X> Hmm. What did you get?
00:02:09 <RodgerTheGreat> 1320. it served my purposes
00:05:10 <RodgerTheGreat> that's with the latest revision. The national average is approximately 1028
00:05:20 <RodgerTheGreat> a perfect score would be 1600
00:07:34 <RodgerTheGreat> (this is for the multiple-choice versions of the test)
00:07:54 <RodgerTheGreat> s /versions/sections
00:16:43 <Razor-X> Ah.
00:46:53 -!- Anders has changed nick to anders.
00:53:18 -!- ihope has joined.
00:55:26 * bsmntbombdood wastes more time not coding esoteric languages
00:55:53 <ihope> Hasp!
00:56:09 <ihope> (As opposed to "gasp", a very different word.)
00:56:15 <bsmntbombdood> Hasp?
00:56:30 <oerjan> hasp: a new esoteric language horrendously mixing haskell and lisp
00:56:35 <bsmntbombdood> hmmm
00:56:42 <bsmntbombdood> brainfuck + stack == bliss
00:57:01 <ihope> http://en.wiktionary.org/wiki/hasp
00:57:19 * bsmntbombdood has an bf extension
00:58:20 <bsmntbombdood> _ puts the current cell on the stack
00:58:31 <bsmntbombdood> ^ pops the stack into the current cell
00:59:45 <oerjan> but if two stacks can emulate a tape, isn't this then essensially a three-stack language?
01:00:17 <oerjan> *essentially
01:01:28 <oerjan> now if we used four stacks and let <>^V all act analogously...
01:01:41 <bsmntbombdood> wait
01:01:49 <bsmntbombdood> 2 stacks can emulate a tape?
01:02:03 <oerjan> certainly.
01:02:12 <bsmntbombdood> explain
01:02:21 <bsmntbombdood> oh wait
01:02:22 <bsmntbombdood> I get it
01:03:25 <bsmntbombdood> to go over one you just do b.push(a.pop())
01:03:46 <oerjan> exactly.
01:04:42 <bsmntbombdood> but a tape can't emulate 2 stacks
01:05:04 <bsmntbombdood> unless you have two pointers
01:05:05 <oerjan> not without some heavy copying, i assume
01:05:53 <oerjan> actually, if you have one reserved symbol you could do it with merely a lot of movement
01:06:28 <oerjan> by putting the tops of the stacks at either _end_ of the tape
01:06:45 <oerjan> and letting the bottoms meet in the middle
01:07:05 <oerjan> assuming the tape is infinite in both directions.
01:07:14 <bsmntbombdood> tapes are endless
01:07:51 <oerjan> otherwise you could still do it by keeping one stack on the odd addresses and the other on the even ones.
01:08:08 <oerjan> sometimes they are endless just in one direction.
01:08:37 <bsmntbombdood> you would still need an extra pointer
01:08:46 <oerjan> but of course all of these _can_ emulate the others, being enough for turing-completeness
01:09:28 <bsmntbombdood> not trivially
01:09:29 <oerjan> no, you just put the reserved symbol on the top positions, and search for them. i am not saying there would be constant-time access.
01:09:57 <bsmntbombdood> that would work
01:10:16 <bsmntbombdood> Then a tape can emulate any number of stacks
01:10:28 <bsmntbombdood> if you have a reserved character
01:11:09 <oerjan> if you don't then you can code one character set as strings in another.
01:11:40 <bsmntbombdood> ?
01:12:57 <oerjan> you can for example code the stack abcdef as 0a0b0c0d0e0f1
01:13:17 <bsmntbombdood> yeah
01:15:05 <bsmntbombdood> two stacks can emulate any number of tapes
01:15:40 <bsmntbombdood> i think
01:15:45 <pikhq> I don't see why you couldn't do 2 stacks in a single tape. . .
01:16:07 <pikhq> |s1|s2|s1|s2|. . .
01:16:17 <oerjan> i thought that was what i just said!
01:16:36 <bsmntbombdood> yeah
01:16:41 <oerjan> about odd and even addresses
01:16:41 <pikhq> Or just:
01:16:52 <pikhq> |s1|c|s2|c|. . .
01:17:25 <pikhq> (c would be used for stopping a loop for finding stack locations (in Brainfuck).)
01:17:46 <oerjan> that would be combining the two techniques we just discussed.
01:18:00 * pikhq looks back.
01:18:03 <pikhq> . . . Oh.
01:18:24 <pikhq> Didn't pay attention. ;)
01:19:51 <oerjan> it's ok. we hadn't made it explicit how to combine them.
01:20:01 <pikhq> I didn't even read the whole discussion.
01:26:40 <bsmntbombdood> ooooh
01:26:47 <bsmntbombdood> imagine if we had a tape of stacks
01:28:32 <oerjan> imagine if the contents of stacks were stacks
01:31:10 <lament> imagine if the contents of the contents were contents!
01:31:47 <oerjan> imagine if the imagination of the images were imagined!
01:32:43 <bsmntbombdood> a recursive stack wouldn't work
01:32:55 <oerjan> sure it could.
01:32:55 <bsmntbombdood> you wouldn't be able to put any data in it
01:33:15 <bsmntbombdood> unless it held two different data types
01:33:20 <oerjan> you could distinguish empty stacks
01:34:51 <oerjan> this is probably rather equivalent to lists in Lisp that only contain lists.
01:35:31 <bsmntbombdood> how would you put data in it?
01:36:00 <oerjan> also, it resembles somewhat the coding of set theory, where every element of a set is a set and you can still emulate any mathematical object
01:36:27 <oerjan> well, let 0 = [], 1 = [[]].
01:36:51 <oerjan> now you have enough for a stack of bits...
01:37:13 <lament> i'm not quite sure you can emulate any mathematical object with just sets
01:39:00 <lament> bah, i suppose you can.
01:39:19 <oerjan> just about any. there are some issues with proper classes that create paradoxes if you make them sets.
01:40:08 <lament> i wonder if it's provable?
01:40:16 <lament> oh, true, there's classes
01:40:26 <lament> so it's disprovable
01:41:01 <oerjan> however you can sort of get around that by assuming your classes live as sets in an even larger universe
01:41:39 <lament> nah, that's silly
01:43:44 <oerjan> it's not so silly. there are researchers in logic/set theory that investigate large cardinalities that if they exist, imply there are smaller universes inside your set theory
01:44:15 <meatmanek> brainfuck plus stack, eh?
01:44:21 <meatmanek> that actually sounds useable.
01:45:07 <oerjan> and if you want to investigate category theory with set theory, you need to make such assumptions to allow you to build the categories you want (categories are major sources of proper classes)
01:45:42 <lament> oerjan: it's not silly in itself, it's silly as a way of reducing all mathematical objects to sets because it doesn't work
01:45:43 -!- puzzlet has quit (Client Quit).
01:46:09 <lament> oerjan: unless you accept paradoxes and treat ZFC as a paradox-free part of the whole universe
01:46:11 -!- puzzlet has joined.
01:46:25 <lament> but, er, i don't think that's generally done
01:47:52 <oerjan> but large cardinalities are essentially about accepting ZFC as a part of something larger. but their existence cannot be proven because of Gdel's theorem.
01:48:37 <lament> you mean something larger but paradox-free?
01:48:49 <oerjan> hopefully paradox-free, yes.
01:49:07 <lament> right
01:49:22 <lament> but i think as long as you try to have "everything is a set", you can't possibly escape russel's paradox
01:49:39 <lament> so no matter what paradox-free stuff you have, you will also have non-paradox-free stuff
01:49:46 <oerjan> it actually combines both Gdel's completeness theorem and his incompleteness theorem.
01:50:57 <oerjan> the completeness theorem says that if you have a model of set theory that is a set, then set theory is consistent, while the incompleteness theorem shows that set theory cannot prove itself consistent.
01:51:49 <lament> that doesn't prove much, does it.
01:52:07 <oerjan> so you can never prove that there are smaller universes, unless you are already inconsistent.
01:53:41 <lament> not sure how that's relevant.
01:55:56 <oerjan> well, it means that while you might be alright assuming all of your mathematics fits into a smaller set, you can never prove it for sure.
01:56:16 <lament> "smaller"?
01:56:47 <oerjan> small enough to be a set rather than a class.
01:57:04 <lament> how can you possibly fit "the set of everything" that way?
01:58:10 <oerjan> let me try a different tack, which actually is more relevant to making everything a set.
01:58:51 <oerjan> Gdel's completeness theorem says that any mathematical theory which is consistent can be modeled as a set.
02:00:28 <lament> to me that just seems to imply that "the set of everything" is not an object in that model.
02:00:39 <lament> sorry, in that theory.
02:01:24 <oerjan> there is a problem though: if the theory itself talks about sets then the model might represent them as something different than the set of their elements
02:02:00 <lament> right. I guess you could just have a special flag for "whether this set is a set of everything"
02:03:40 <oerjan> well, any "normal" set theory which allows subset comprehension cannot have a set of everything without running into Russell's paradox.
02:05:04 <lament> anyway
02:05:08 <oerjan> that flag would probably be something like the distinction between proper class and set
02:05:10 <lament> like most of set theory
02:05:20 <lament> this discussion is utterly pointless :)
02:05:43 <oerjan> so we should turn to point set topology then? :)
02:05:48 <lament> nobody seriosly tries representing everything as sets
02:05:55 <lament> heh
02:06:08 <oerjan> the ZFC foundation of mathematics does so.
02:06:13 <lament> exactly
02:06:17 <lament> a bunch of wankers :)
02:06:26 <lament> well, the ZFC doesn't, they freely admit classes
02:06:49 <oerjan> actually they don't it is NBG which does that
02:07:15 <oerjan> slightly different formulation with equivalent results for sets
02:07:26 <lament> well, either they freely admit classes or they simply don't consider a whole class of mathematical objects.
02:07:48 <oerjan> (von Neumann - Bernays - Gdel, I think)
02:08:42 <lament> "class of everything" is clearly a mathematical object, doesn't create any paradoxes, behaves nicely in every respect, and is even rather boring.
02:08:47 <oerjan> nono, there is no class of classes :)
02:09:25 <oerjan> there is however a class of every set
02:10:08 <oerjan> if you want a class of classes you need to add some type theory or large cardinality embedding
02:10:36 <lament> haha
02:10:55 <lament> all i want is numbers :)
02:10:57 <lament> 1 + 1 = 2
02:11:11 <oerjan> why then we are all set with the von Neumann cardinals.
02:11:24 <lament> no, no
02:11:26 <oerjan> ordinals rather
02:11:28 <lament> i don't want sets
02:11:32 <lament> i just want numbers
02:11:40 <lament> :)
02:11:43 <lament> 1 + 1 = 2
02:11:49 <oerjan> fine, use Peano arithmetic.
02:12:45 <CakeProphet> hmmm...
02:12:53 <lament> i wouldn't even use that
02:13:03 <lament> i would just use integers :D
02:13:27 <oerjan> um, Peano arithmetic uses only natural numbers
02:13:36 <oerjan> even less
02:14:06 <lament> i mean, i don't need to bother constructing stuff
02:14:14 <lament> i will just use integers :)
02:14:16 <CakeProphet> So...
02:14:35 <lament> after all i've been learning for like 18 years how to use them
02:15:06 <CakeProphet> newoperator $ <param1> newoperator <param2> $ print param1 + param2
02:15:20 <CakeProphet> 1 newoperator 23
02:15:23 <CakeProphet> 24
02:15:29 <oerjan> well, if you are willing to use induction, then all you know about integers probably includes Peano arithmetic already
02:15:58 <lament> sure
02:16:21 <oerjan> what language is that? slightly resembles haskell but not quite
02:16:55 <lament> slightly resembles a horrible haskell slash forth derivative?
02:17:15 <CakeProphet> Not haskell.. just some concept I made up.
02:17:24 <oerjan> nah, newoperator looks infix to me
02:17:36 <CakeProphet> for a programming language that allows you to define new operators with customized grammatical structure.
02:17:45 <lament> oerjan: what CakeProphet just said.
02:18:14 <lament> oerjan: that's Forth, and syntax seems to be forthish
02:18:24 <lament> forth doesn't even have to be postfix, of course
02:19:37 <CakeProphet> (operator name) $ (grammatical syntax) $ (definition)
02:19:51 <lament> CakeProphet: how do you know where the definition ends?
02:20:15 <CakeProphet> *shrugs* Dunno... I'll think of that later.
02:20:22 <lament> eh
02:20:28 <lament> i suggest you think about it reasonably soon :)
02:21:08 <CakeProphet> Could probably just denote it with a blank line.
02:21:17 <lament> yeah
02:21:24 <lament> or a more visible token
02:21:26 <CakeProphet> Unless people absolutely cherish the ability to make blank lines for logical divisions.
02:22:04 <oerjan> you could use indentation
02:22:13 <CakeProphet> and then the other principle I had was "mutual association"
02:22:14 <lament> or something like .
02:22:20 <CakeProphet> . works :D
02:22:36 <oerjan> phew, punctuation :(
02:22:36 <CakeProphet> Let's say % is the operator for mutual association
02:22:43 <CakeProphet> x % 2
02:22:47 <lament> okay, not .
02:22:48 <CakeProphet> x returns 2
02:22:51 <CakeProphet> 2 returns x
02:22:53 <lament> oerjan doesn't like 2
02:22:55 <lament> er
02:22:59 <lament> oerjan doesn't like .
02:23:05 <lament> use :( instead, he clearly likes that :)
02:23:06 <CakeProphet> fuck oerjan
02:23:17 <CakeProphet> Hmmm... actually
02:23:21 <CakeProphet> :P
02:23:28 <CakeProphet> We'll use :P for the end-of-definition
02:23:32 <lament> heh
02:23:46 <lament> so, x returns 2, 2 returns x
02:23:48 <lament> now what?
02:23:57 <CakeProphet> That was pretty much it...
02:24:01 <oerjan> in that case you should use :( and :) for the first and second $, respectively.
02:24:17 <lament> are you sure you want 2 to return stuff? it's a number after all
02:24:21 <CakeProphet> If we wanted to make it more esoteric... we could have numbers return their ASCII character correspondent... and have characters return their ASCII ordinals.
02:24:27 <lament> oerjan: speaking of 2 returning stuff, functions are so much cooler than sets.
02:24:44 <CakeProphet> Don't see why not... having rules is for silly people
02:24:55 <CakeProphet> Make anything associationable.
02:25:17 <lament> oerjan: especially if you allow functions to never terminate to avoid all the boring turing issues
02:25:35 <oerjan> resembles FORTE a bit in that way
02:26:19 <oerjan> that doesn't avoid anything...
02:26:21 <lament> (allow functions to never terminate but still return a value, that is)
02:26:30 <lament> :P
02:27:10 <CakeProphet> and then <>'s denote an argument for the operators local scope.
02:27:23 <CakeProphet> with everything else just being themselves (or something they return if they have an association)
02:28:06 <oerjan> that still doesn't avoid anything.
02:28:40 <lament> sorry, what i meant is
02:28:41 <oerjan> remember, the halting problem is essentially the computation version of Russell's paradox.
02:29:23 <lament> have all functions return a value, which might require infinite computation
02:30:08 <CakeProphet> Hmmm.. I need a langauge that has indexed functions... simply because that would be strange
02:30:25 <oerjan> indexed?
02:30:26 <lament> CakeProphet: you mean functions that behave like arrays?
02:31:06 <oerjan> that would just be a different syntax for function calling
02:31:28 <lament> oerjan: there's no halting problem when everything halts :)
02:31:59 <CakeProphet> Hmmm...
02:32:22 <CakeProphet> so then.... []'s could denote optional gramatically particles in the operators syntax...
02:32:30 <oerjan> no, but you could construct a paradox of sorts.
02:32:44 <CakeProphet> so... the grammar definition would basically look like all those syntax explainations you see.
02:33:37 <oerjan> right, some form of BNF.
02:33:44 <lament> oerjan: yeah, i'm sure you could.
02:34:26 <lament> (but not sure how)
02:34:46 <CakeProphet> blah $ <someparam> [with <someparam1> [in <someparam2>] ] # (code code code code) :P
02:34:55 <CakeProphet> :P being the end-of-definition token.
02:35:11 <lament> suppose you have a function x=-x, what would that return...
02:35:11 <oerjan> actually there might not be a paradox, it would just have strange semantics.
02:35:19 <lament> very strange semantics indeed
02:35:42 <lament> (i guess that function ought to return 0 :D)
02:37:04 <lament> x=x+1 returns infinity...
02:37:55 <lament> x=x returns...uh...
02:38:15 <oerjan> the problem appears if there is no reasonable fix point for the x = f(x).
02:38:19 <CakeProphet> and \ would be the standard "ignore special stuff associated with the next character" thing.
02:39:03 <CakeProphet> So you could put brackets and tags in your gramar definition without the parser reading it as part of the definitions structure.
02:39:16 <lament> oerjan: yes, but isn't there one always?
02:39:24 <oerjan> the problem with such a scheme is that the syntax will easily become ambiguous if it is too flexible.
02:39:41 <CakeProphet> Yes but... I don't care... so it works.
02:39:52 <CakeProphet> :P
02:39:53 <lament> CakeProphet: do look at forth, which works similarly
02:40:14 <lament> you can define new stuff on the fly
02:40:22 <oerjan> what about x=not x ?
02:41:02 <lament> oerjan: hm... type error? :)
02:41:05 <CakeProphet> Well.... with some more polishing... this concept-language would make an excellent language-construction language.
02:41:48 <oerjan> how is there a type error?
02:42:05 <lament> oerjan: i guess if x=x+1 returns infinity (which is not a number) then x=not x returns some kind of Maybe (which is not a boolean)
02:42:34 <CakeProphet> In Python.... x = not x returns the opposite boolean value.... so infinity would have to have some sort of boolean value.
02:42:44 <lament> so the type of the function cannot be deduced simply from what functions it uses internally
02:43:11 <lament> 'not' takes booleans, but we extend it to include the fixed point.
02:43:37 <lament> explicitly define a value as "that which is the fixed point of x=not x" and return that :)
02:43:48 <oerjan> but then infinity becomes essentially a bottom value, in that any function applied to infinity is infinity. in the haskell semantics, this is equivalent to nontermination.
02:44:33 <CakeProphet> x = not infinity could just return None (or nil, or void... depending on your naitive language)
02:45:07 <oerjan> but then infinity would not be a fixpoint of x = not x, and so couldn't be returned by it.
02:45:08 <CakeProphet> say As something that is not in everything is nothing. :D
02:45:09 -!- GregorR-L has joined.
02:45:34 <lament> i don't want x = not x to return infinity
02:45:49 <lament> by 'infinity' i meant 'the fixed point of x=x+1' :)
02:46:20 <oerjan> yes, i was referring to cakeprophet's suggestion
02:46:35 <lament> "every type can be extended to include the fixed point of a function returning a value of that type" seems reasonable
02:47:13 <lament> in haskell i suppose the extension is always Bottom but does it have to be?
02:47:52 <lament> x=-x returning 0 is already different semantics from Haskell though.
02:48:12 <lament> x=x would return..... uhh... a randomly chosen fixed point? the class of Everything? dunno.. :)
02:48:43 <oerjan> if you do randomization, then why not just let x=not x return randomly True or False...
02:48:59 <lament> because those are not the fixed points of that function.
02:49:28 <oerjan> you could return sets (:C
02:49:42 <lament> x = x or false would return randomly true or false :)
02:49:46 <oerjan> x=not x returning {True,False}
02:49:57 <lament> no
02:50:10 <lament> it should return the fixed point
02:50:34 <lament> otherwise it's kinda pointless...
02:50:36 <lament> ..and adrift...
02:50:40 <oerjan> but {True,False} would be a fixed point of not, if it acted pointwise.
02:50:47 <lament> oh
02:50:54 <lament> right
02:51:37 <lament> then x=x+1 would return Z
02:52:45 <lament> x=x^2 would return the set of all squares :)
02:53:13 <oerjan> actually no. because not all squares are squares of squares.
02:53:27 <lament> er, right
02:53:38 <oerjan> in fact you would probably return {0, infinity}
02:53:42 <lament> 1
02:53:47 <oerjan> that too
02:53:47 <lament> 0,1,inf
02:54:22 <lament> well, inf is not a number so just 0,1
02:54:27 <lament> assuming the default type is integers
02:54:42 <oerjan> but then what about x = x^2+1? :)
02:54:47 <CakeProphet> Hmm.. yeah FORTH looks similar to my idea... but it seems to use different structures and stuff...
02:55:19 <lament> oerjan: that would return "a newly added integer equal to its own square plus 1"
02:55:35 <lament> ...i can see potential for abuse :)
02:56:15 <oerjan> you might do something with nonstandard analysis
02:56:20 <lament> i guess that "newly created integer" IS bottom after all
02:56:29 <lament> well, almost
02:56:37 <lament> since most of the operations are undefined for it
02:57:45 <lament> call this "new integer" q, then q-1 just returns "a newly created integer r", and sqrt(r) returns q
02:58:17 <lament> ...now i'm pretty sure there's gotta a paradox somewhere.
02:58:49 <oerjan> well, it should satisfy q % 3 == 2
02:59:35 <lament> it satisfies a bunch of things
02:59:43 <lament> some of which will probably lead to contradictions
03:00:18 <oerjan> now, what about x = if x == 0 then 1 else 0
03:00:42 <lament> well, obviously that can't return 0 or 1
03:01:11 <lament> although if we use sets like you suggested, then it's just {0,1}
03:01:31 <lament> hm
03:01:57 <oerjan> hm... this reminds me of Icon iterators.
03:02:02 <lament> hm.
03:02:29 <lament> i guess it would return a "newly created integer that is both equal and not equal to zero and one"? :)))
03:02:34 <oerjan> because obviously {0,1} == 0 would have to give {True, False}
03:02:54 <oerjan> and then the if would need to take both branches
03:02:56 <lament> yes, so both 'then' and 'else' are followed
03:03:05 <lament> so it returns {1,0} as expected
03:04:30 <lament> oerjan: i guess the language cannot have an "object identity equality" operator
03:04:38 <oerjan> this reminds me a lot of non-standard analysis, where you add infinite numbers in a consistent way
03:04:47 <lament> oerjan: that always returns true when the operands are the same, and false otherwise
03:04:49 <oerjan> apparently not
03:05:01 <lament> but if we disallow that, there're no problems once again.
03:05:14 <lament> your function returns something like 0.5 and == has integer semantics.
03:06:14 <oerjan> actually that description fails on x = if x == 0 then 2 else 0
03:06:48 <CakeProphet> Hooks are extremly powerful weapons of mass destruction.
03:07:04 <oerjan> what kind of hooks are these?
03:07:25 <lament> oerjan: by "0.5" i mean "a newly created integer that's equal to both 0 and 1"
03:07:31 <CakeProphet> The kinds that are performed before or after something else automagically.
03:08:09 <oerjan> ah, this thing i've heard mentioned called aspect oriented programming?
03:08:30 <lament> oerjan: hmmmmmmmmmmmmmm
03:08:32 <CakeProphet> Probably.
03:08:46 <lament> oerjan: if it does return such an integer
03:08:56 <lament> oerjan: then it's effectively the same as returning {0,1}
03:09:22 <lament> call that integer s, then s+s is "new integer that's equal to 0,1 and 2" etc
03:09:27 <oerjan> yes. it seems to me that if x = f(x) goes through a bounded set then it will return that set.
03:09:34 <lament> so we can't avoid returning sets
03:09:36 * bsmntbombdood thinks of a language that has 3 instructions
03:09:49 <oerjan> ah, there is a problem.
03:10:05 <oerjan> it should really just be equal to 0 and 2
03:10:10 * pikhq notes that it's probably already been done
03:10:21 <oerjan> because s+s == 2*s
03:10:34 <lament> oerjan: no
03:10:53 <lament> oerjan: we don't consider the integers to be a ring anymore
03:11:13 <oerjan> we're not in Kansas anymore...
03:11:14 <lament> oerjan: just treat them as a type with operations + and * defined on the "original" integers so that they form a ring
03:11:28 <lament> but they could and will act differently on sets
03:11:50 <oerjan> i think the semantics is turning out even weirder than i expected.
03:11:58 <lament> haha
03:12:21 <lament> but no paradox so far! :)
03:12:23 <Razor-X> Forth not FORTH!
03:12:31 <Razor-X> @ Everyone.
03:12:47 <oerjan> well, you can easily avoid paradox if you are willing to remove all your theorems :)
03:12:51 <pikhq> @ takes two arguments, not one.
03:12:54 <lament> oerjan: :)
03:13:07 <Razor-X> Actually, @ only requires one item already on the stack.
03:13:07 <lament> oerjan: it's a programming language, who needs theorems?
03:13:27 <lament> oerjan: everything will still work provided your program takes care to halt in the "usual" way
03:13:47 <lament> oerjan: and if it doesn't, everything will work "differently" but still in a predictable fashion
03:14:03 <oerjan> Warning: this language solves the halting problem by doing even more unspeakable things...
03:14:39 <pikhq> Warning: this language is in violation of the Laws Of turing.
03:15:04 <pikhq> s/turing/Turing/
03:15:10 <Razor-X> Turning
03:15:11 <Razor-X> !
03:15:15 <EgoBot> Huh?
03:15:24 <Razor-X> Not you EgoBot. Go back to sleep.
03:15:57 <EgoBot> OK.
03:16:09 <bsmntbombdood> !help
03:16:13 <EgoBot> help ps kill i eof flush show ls bf_txtgen usertrig daemon undaemon
03:16:15 <EgoBot> 1l 2l adjust axo bch bf{8,[16],32,64} funge93 fyb fybs glass glypho kipple lambda lazyk linguine malbolge pbrain qbf rail rhotor sadol sceql trigger udage01 unlambda whirl
03:16:23 <Razor-X> What's Rail?
03:16:27 <Razor-X> Don't tell me it's Ruby on Rails.
03:16:36 <oerjan> !help rail
03:16:39 <EgoBot> To use an interpreter: <interpreter> <program> Note: <program> can be the actual program, an http:// URL, or a file:// URL which refers to my pseudofilesystem.
03:16:44 <Razor-X> Yes. Very helpful.
03:17:01 <bsmntbombdood> !bf_txtgen hi bob
03:17:02 <lament> !rail 1
03:17:05 <EgoBot> Internal Error: Crash: No 'main' function found
03:17:08 <lament> !rail main
03:17:10 <Razor-X> !rail main
03:17:12 <EgoBot> Internal Error: Crash: No 'main' function found
03:17:13 <EgoBot> 69 ++++++++[>+++++++++++++>++++++++++++>++++><<<<-]>.+.>>.<++.<++++++.>. [97]
03:17:13 <Razor-X> Guh.
03:17:15 <EgoBot> Internal Error: Crash: No 'main' function found
03:17:23 <bsmntbombdood> !bf ++++++++[>+++++++++++++>++++++++++++>++++><<<<-]>.+.>>.<++.<++++++.>.
03:17:23 <Razor-X> !rail main { 4 }
03:17:25 <EgoBot> hi bob
03:17:27 <EgoBot> Internal Error: Crash: No 'main' function found
03:17:37 <bsmntbombdood> !bf_txtgen hi bsmntbombdood
03:17:39 <Razor-X> What is this ``rail'' hmm....
03:17:42 <oerjan> <Wiki>Rail was invented by User:Duerig in 2005. It is a two-dimensional language along the lines of Befunge and PATH.
03:17:51 <Razor-X> Aha
03:17:51 <Razor-X> .
03:17:53 <EgoBot> 111 +++++++++++++++[>+++++++>++++++++>+++++++>++<<<<-]>-.>>.>++.<<<------.>-----.>++++.+.<+.<.>-----.>-.<<.++.>..<. [640]
03:18:03 <Razor-X> Thank you for switching to your browser which I will not.
03:18:30 <bsmntbombdood> !bf +[]
03:19:07 <pikhq> !ps d
03:19:11 <EgoBot> 1 EgoBot: daemon EgoBot reload
03:19:13 <EgoBot> 2 GregorR-L: daemon cat bf
03:19:15 <EgoBot> 3 bsmntbombdood: bf
03:19:17 <EgoBot> 4 pikhq: ps
03:19:18 <pikhq> !kill 3
03:19:21 <EgoBot> Process 3 killed.
03:19:25 <bsmntbombdood> no fair!
03:19:28 <pikhq> !EgoBot hates infinite loops
03:19:31 * EgoBot hates infinite loops
03:19:41 <bsmntbombdood> !bf_txtgen a
03:19:51 <EgoBot> 34 ++++++++[>++++++++++++>>><<<<-]>+. [40]
03:20:03 <pikhq> !cat I also hate you.
03:20:07 <EgoBot> I also hate you.
03:20:39 <bsmntbombdood> \!bf >++++++++[>++++++++++++>>><<<<-]>+[.]
03:20:47 <bsmntbombdood> :D
03:21:03 <pikhq> Do it.
03:21:10 <bsmntbombdood> !bf >++++++++[>++++++++++++>>><<<<-]>+[.]
03:21:28 <bsmntbombdood> hmmm
03:21:30 <pikhq> !flush 3
03:21:30 <bsmntbombdood> !ps
03:21:33 <EgoBot> 3 bsmntbombdood: bf
03:21:35 <EgoBot> 4 bsmntbombdood: ps
03:21:48 <bsmntbombdood> output buffered?
03:21:52 <oerjan> i think !flush only does input
03:21:52 <pikhq> Yes.
03:21:55 <pikhq> Oh.
03:21:56 <pikhq> !help
03:21:57 <EgoBot> help ps kill i eof flush show ls bf_txtgen usertrig daemon undaemon
03:21:59 <EgoBot> 1l 2l adjust axo bch bf{8,[16],32,64} funge93 fyb fybs glass glypho kipple lambda lazyk linguine malbolge pbrain qbf rail rhotor sadol sceql trigger udage01 unlambda whirl
03:22:05 <EgoBot> Stop the hatin' !
03:22:06 <pikhq> !help flush
03:22:07 <EgoBot> Use: flush Function: flush the output buffer, discarding any current output
03:22:11 <bsmntbombdood> !kill 3
03:22:13 <EgoBot> Process 3 killed.
03:22:15 <EgoBot> aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
03:22:20 <bsmntbombdood> lol
03:22:22 <pikhq> The rest goes to your PM.
03:22:22 <oerjan> oh.
03:22:40 <pikhq> Razor-X: Not yet.
03:22:47 <Razor-X> Awww.
03:22:56 <Razor-X> Smashing the EgoBot for Fun and Profit.
03:22:59 <bsmntbombdood> !bf ++++++++++[>>++++++++[>++++++++++++>>><<<<-]>+.<-]
03:23:01 <pikhq> !cat Hahahah
03:23:03 <EgoBot> Hahahah
03:23:04 <oerjan> poor egobot.
03:23:19 <wooby> hio
03:23:26 <Razor-X> cio
03:23:55 <bsmntbombdood> awwww
03:23:55 <pikhq> !bf .
03:24:01 <bsmntbombdood> how come it didn't do mine
03:24:11 <pikhq> !bf_textgen exit
03:24:12 <bsmntbombdood> !ps
03:24:13 <EgoBot> 3 bsmntbombdood: bf
03:24:15 <EgoBot> 4 bsmntbombdood: ps
03:24:17 <EgoBot> Pikhq, you really should learn to use messages.
03:24:18 <Razor-X> !bf -.
03:24:23 <EgoBot>
03:24:29 <Razor-X> !bf --.
03:24:31 <EgoBot>
03:24:43 <EgoBot> aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
03:24:59 <bsmntbombdood> !bf ++++++++++[>>>>>>>>>>>++++++++[>++++++++++++>>><<<<-]>+.<<<<<<<<<<-]
03:25:09 <pikhq> !bf -[-.]
03:25:11 <EgoBot> ~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!
03:25:32 <bsmntbombdood> !ps
03:25:33 <EgoBot> 3 bsmntbombdood: bf
03:25:34 <pikhq> It's still going.
03:25:35 <EgoBot> 4 bsmntbombdood: ps
03:25:39 <bsmntbombdood> !kill 3
03:25:41 <EgoBot> Process 3 killed.
03:25:43 <EgoBot> aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
03:25:46 <bsmntbombdood> grrrr
03:26:04 <pikhq> ls
03:26:07 <pikhq> Err.
03:26:11 <Razor-X> Hehe.
03:26:20 <pikhq> !bf32 +[+.]
03:26:36 * pikhq is a very bad man
03:26:51 <bsmntbombdood> lol
03:27:06 <pikhq> !bf64 +[+.]
03:27:07 <EgoBot>
03:27:12 <pikhq> You see?
03:27:18 <Razor-X> !bf +>-[<.+>-]
03:27:40 -!- EgoBot has quit (Excess Flood).
03:27:45 <bsmntbombdood> aaaaw
03:27:45 <Razor-X> ;D
03:27:47 <pikhq> Victoly!
03:27:54 <Razor-X> 勝ち!!!
03:28:53 <bsmntbombdood> poor bot
03:29:12 <Razor-X> Nah. We always find ways to crash EgoBot.
03:29:31 <Razor-X> I'll bet GregorR has sure learned a thing or two about safe computing with us around.
03:30:14 <wooby> lol
03:30:44 <Razor-X> I remember we crashed it some 4 times in an hour once and GregorR got mad and suspended EgoBot from the channel.
03:34:36 <bsmntbombdood> He just need to harden it a little
03:37:13 <Razor-X> [Naruto Rip] We are fighting coders! [/Rip]
03:40:35 -!- EgoBot has joined.
03:41:15 <Razor-X> !bf +>-[<.+>-]
03:41:19 <EgoBot> <CTCP>
03:41:32 <Razor-X> Oh oh.
03:41:51 -!- EgoBot has quit (Excess Flood).
03:41:53 <pikhq> bsmntbombdood: That would involve a rewrite.
03:41:56 <pikhq> Bravo.
03:42:08 <pikhq> First try; nice.
03:42:14 <Razor-X> もう一度勝ち!!!
03:42:22 -!- EgoBot has joined.
03:42:26 <Razor-X> ;D
03:42:48 <pikhq> Now, if we can just exploit a buffer overflow in EgoBot, we can take over his machine. :p
03:42:55 <bsmntbombdood> heh
03:42:59 <Razor-X> Nah. He's not *that* stupid.
03:43:01 <pikhq> Download an EgoBot tarball, and scan for buffer overflows.
03:43:02 <bsmntbombdood> Is it open source?
03:43:07 <pikhq> GPLed.
03:43:13 <bsmntbombdood> where?
03:43:30 <pikhq> http://esolangs.org/files/egobot/
03:48:21 -!- CakeProphet has quit (Read error: 113 (No route to host)).
03:48:40 <pikhq> Damn it; he designed it 'well'.
03:49:17 * pikhq wonders how the hell egobotIRC.sh works
03:50:42 <Razor-X> : A-TABLE 255 0 DO I DUP . SPACE EMIT CR LOOP
03:50:44 <Razor-X> ;
03:50:56 <Razor-X> Add that word in and execute it. It prints out the ASCII table.
03:53:08 * pikhq looks for a bug in sendOutput
03:53:24 <GregorR-L> Hah
03:53:48 * GregorR-L huggles bugg-E-goBot.
03:57:26 <bsmntbombdood> pikhq: 'well'?
03:59:20 <oerjan> i wondered if that meant _well_ or "well" :)
04:00:02 <bsmntbombdood> !!
04:00:06 <EgoBot> Huh?
04:00:12 <bsmntbombdood> !huh?
04:00:16 <EgoBot> Huh?
04:00:21 <oerjan> !Huh?
04:00:24 <EgoBot> Huh?
04:00:32 <oerjan> finally, an EgoBot quine!
04:00:41 <bsmntbombdood> lol
04:00:49 <Razor-X> ;D
04:00:57 <Razor-X> !Huh?
04:01:00 <EgoBot> Huh?
04:01:05 <bsmntbombdood> hmmm
04:01:10 <bsmntbombdood> what's a brainfuck quine?
04:01:14 <Razor-X> ! !Huh
04:01:15 <bsmntbombdood> other than the obvious
04:01:16 <EgoBot> Huh?
04:01:40 <oerjan> very long i presume
04:01:48 <Razor-X> I posted my Forth quine earlier.
04:02:55 <Razor-X> CR TIB #TIB @ TYPE CR
04:03:02 <pikhq> !bf ++++++++>++++[-<.>]
04:03:04 <EgoBot>
04:03:08 <bsmntbombdood> !bf ->+>+++>>+>++>+>+++>>+>++>>>+>+>+>++>+>>>>+++>+>>++>+>+++>>++>++>>+>>+>++>++>+>>>>+++>+>>>>++>++>>>>+>>++>+>+++>>>++>>++++++>>+>>++>+>>>>+++>>+++++>>+>+++>>>++>>++>>+>>++>+>+++>>>++>>+++++++++++++>>+>>++>+>+++>+>+++>>>++>>++++>>+>>++>+>>>>+++>>+++++>>>>++>>>>+>+>++>>+++>+>>>>+++>+>>>>+++>+>>>>+++>>++>++>+>+++>+>++>++>>>>>>++>+>+++>>>>>+++>>>++>+>+++>+>+>++>>>>>>++>>>+>>>++>+>>>>+++>+>>>+>>++>+>++++++++++++++++++>>>>+>+>>>+>>++
04:03:15 <bsmntbombdood> +++++>>+>>++>+>>>>+++>>++++++>>>+>++>>+++>+>+>++>+>+++>>>>>+++>>>+>+>>++>+>+++>>>++>>++++++++>>+>>++>+>>>>+++>>++++>>+>+++>>>>>>++>+>+++>>+>++>>>>+>+>++>+>>>>+++>>+++>>>+[[->>+<<]<+]+++++[->+++++++++<]>.[+]>>[<<+++++++[->+++++++++<]>-.------------------->-[-<.<+>>]<[+]<+>>>]<<<[-[-[-[>>+<++++++[->+++++<]]>++++++++++++++<]>+++<]++++++[->+++++++<]>+<<<-[->>>++<<<]>[->>.<<]<<]
04:03:24 <bsmntbombdood> or not
04:03:27 * GregorR-L takes down EgoBot for a bit.
04:03:29 <Razor-X> I think EgoBot can't parse that.
04:03:30 <pikhq> Aaaw; it doesn't do any actual backspacing.
04:04:19 -!- EgoBot has quit (Success).
04:04:37 <Razor-X> Razor-X has not quit: Failure.
04:04:49 -!- EgoBot has joined.
04:05:50 <GregorR-L> Now EgoBot runs through slox, which prevents it from taking 100% CPU :)
04:05:50 <bsmntbombdood> does EgoBot do input?
04:06:01 <GregorR-L> !help i
04:06:05 <EgoBot> Use: i <pid> <input> Function: send input to a process
04:06:09 <lament> yes, it does input, just no output
04:06:15 <bsmntbombdood> !bf >,[>,]<[.<]
04:06:19 <bsmntbombdood> !ps
04:06:21 <EgoBot> 3 bsmntbombdood: bf
04:06:23 <EgoBot> 4 bsmntbombdood: ps
04:06:33 <bsmntbombdood> !i 3 abcdefgh
04:06:40 <GregorR-L> !i 3 \n
04:07:13 <GregorR-L> Oh, that'll read 'til EOF :-P
04:07:16 <GregorR-L> !eof 3
04:07:21 <EgoBot> hgfedcba
04:07:26 <bsmntbombdood> cool
04:09:19 <bsmntbombdood> whoa leet
04:09:20 <bsmntbombdood> >++++++++++>>+<+[[+++++[>++++++++<-]>.<++++++[>--------<-]+<<]>.>[->[<++>-]<[>+
04:09:23 <bsmntbombdood> <-[>+<-[>+<-[>+<-[>+<-[>+<-[>+<-[>+<-[>+<-[>[-]>[-]++<<-[>+<-]]]]]]]]]]]+>>]<<]
04:10:14 <bsmntbombdood> !bf >++++++++++>>+<+[[+++++[>++++++++<-]>.<++++++[>--------<-]+<<]>.>[->[<++>-]<[>+<-[>+<-[>+<-[>+<-[>+<-[>+<-[>+<-[>+<-[>+<-[>[-]>[-]++<<-[>+<-]]]]]]]]]]]+>>]<<]
04:10:21 <bsmntbombdood> !ps
04:10:21 <EgoBot> 3 bsmntbombdood: bf
04:10:23 <EgoBot> 4 bsmntbombdood: ps
04:10:25 <EgoBot> 1
04:10:26 <bsmntbombdood> !kill 3
04:10:33 <EgoBot> Process 3 killed.
04:10:51 -!- EgoBot has quit (Excess Flood).
04:11:04 <bsmntbombdood> oops
04:11:07 <GregorR-L> Thanks :-P
04:11:11 <GregorR-L> It'll come back in a sec..
04:11:29 <GregorR-L> I can't seem to commit to the esofiles archive >_O
04:11:32 -!- EgoBot has joined.
04:16:47 <Razor-X> O_X
04:17:02 <Razor-X> ^_O <-- guy wearing a monocle.
04:20:32 <GregorR-L> Anybody active have files access? >_>
04:20:48 <Razor-X> Seems there was a hostile takeover GregorR-L.
04:20:49 <GregorR-L> Actually, no time now.
04:20:51 <GregorR-L> I'll try again later.
04:20:55 <GregorR-L> lol
04:21:13 <Razor-X> The old Republic of Esome has been overthrown. Long live Easar!
04:21:32 * GregorR-L disapperates.
04:21:40 -!- GregorR-L has quit ("Leaving").
04:59:49 -!- thematrixeatsyou has joined.
05:00:23 <thematrixeatsyou> haro
05:00:35 <oerjan> hello
05:00:52 <thematrixeatsyou> been designing a CPU architecture
05:01:53 <oerjan> esoteric?
05:13:32 -!- Sgeo has quit (Read error: 54 (Connection reset by peer)).
05:13:49 <thematrixeatsyou> no, not really
05:13:53 <thematrixeatsyou> but hopefully fast
05:13:56 <thematrixeatsyou> it's a RISC
05:14:48 <thematrixeatsyou> each instruction: 6-bit opcode, two 1-bit flags (0=data is value, 1=data is pointer), two x-bit data slots
05:16:10 <thematrixeatsyou> 16-bit e.g: MOV $2000,($2002) - set data at position $2000 to data at position $2002
05:16:26 <thematrixeatsyou> MOV ($2000),$2002 - set data at position at position $2000 to value $2002
05:17:28 <thematrixeatsyou> MOV $2000,($2002) = 00000101 00100000 00000000 00100000 00000010 = 05 20 00 20 02
05:17:41 <thematrixeatsyou> MOV ($2000),$2002 = 00000110 00100000 00000000 00100000 00000010 = 06 20 00 20 02
05:18:05 <thematrixeatsyou> there's 20 instructions so far and the flags can be read/written individually
05:18:15 <thematrixeatsyou> to halt, you use a control register
05:28:15 -!- Arrogant has joined.
05:30:02 -!- oerjan has quit ("Good night.").
05:30:03 <thematrixeatsyou> hey arrogant
05:30:13 <thematrixeatsyou> i've been designing a RISC CPU
05:30:25 <Arrogant> Neat.
05:31:13 <thematrixeatsyou> 64 potential commands (20 so far) and a reasonable internal cache :)
05:32:36 <thematrixeatsyou> in a 16-bit design: 0000-0FFF = BIOS, 1000-1FFF = fixed memory, 2000-3FFF = cache, 4000-7FFF+8000-BFFF+C000-FFFF = 3 banks
05:32:55 <thematrixeatsyou> each instruction: 6-bit opcode, two 1-bit flags (0=data is value, 1=data is pointer), two x-bit data slots
05:34:47 <thematrixeatsyou> in this 16-bit design, there is a 40-bit read bus and a 16-bit read/write bus. the 24 extra bits in the read bus are available once you activate high-bandwidth mode
05:41:30 <Arrogant> build it in wireworld
05:41:45 <thematrixeatsyou> shit that'd be hard
05:41:50 <Arrogant> yeah
05:41:51 <Arrogant> it would
05:42:14 <thematrixeatsyou> it's mainly the prob of implementing ROM/RAM
05:43:44 <Arrogant> ROM isn't so bad
05:43:54 <Arrogant> RAM looks terrible
05:45:06 <thematrixeatsyou> i know of a method of doing RAM
05:45:18 <thematrixeatsyou> besides, a wireworld computer has already been made
05:45:45 <thematrixeatsyou> . .
05:45:47 <thematrixeatsyou> .....
05:45:51 <thematrixeatsyou> . .
05:45:52 <Arrogant> yeah
05:45:52 <Arrogant> but
05:45:55 <thematrixeatsyou> .. ..
05:45:56 <Arrogant> make a COOLER one
05:45:56 <thematrixeatsyou> ...
05:46:02 <Arrogant> make a brainfuck interpreter in wireworld
05:46:07 <Arrogant> THAT would be hardcore
05:46:09 <thematrixeatsyou> now that'd be nice
05:51:53 <thematrixeatsyou> done bugger all and i already need a cross
05:52:09 <thematrixeatsyou> it's gonna use trusty 6-cycle logic ;)
05:52:41 <thematrixeatsyou> afk food
05:54:12 <Arrogant> 6-cycle ftw
06:09:02 <thematrixeatsyou> btk, just note i'm doing my homework at the same time
06:14:04 <thematrixeatsyou> how old are you arrogant? im 15
06:14:12 <Arrogant> 18
06:14:15 <thematrixeatsyou> first year of NCEA, it's a bitch
06:14:31 -!- Razor-X has quit (Read error: 110 (Connection timed out)).
06:14:32 <thematrixeatsyou> what are high school exams like where you are?
06:15:32 -!- Razor-X has joined.
06:15:49 <thematrixeatsyou> NCEA marks: N=not achieved(Fail), A=achieved(Pass), M=merit(Passed Well), E=excellence(Completely Aced)
06:16:16 <thematrixeatsyou> questions can be marked by A, M, or E, some with combinations of the three
06:16:47 <Arrogant> High school exams are just starting to get standardized, bringing in the Cambridge program that'll be covering most of the courses
06:17:01 <Arrogant> I just had AP to deal with :)
06:17:10 <thematrixeatsyou> most tests: you need enough A's to get Achieved, enough A's and M's to get Merit, and enough A's and M's and E's to get Excellence
06:17:41 <thematrixeatsyou> english tests: A = answered both parts of the question, M = that done well, E = no fucking hope
06:19:09 <thematrixeatsyou> actually, M = A AND following the standard S.E.X structure (Subject, Explanation, eXample), E = give an indirect opinion
06:23:25 <thematrixeatsyou> ok, now onto maths
06:23:55 <thematrixeatsyou> excellence questions are the ultimate bitch, yoiu have to explain it as if the examiners were 10-year-olds
06:24:13 <thematrixeatsyou> *
06:25:21 <thematrixeatsyou> The school hall has 31 rows of seating.
06:25:31 <thematrixeatsyou> The hall can seat a maximum of 630 people.
06:25:57 <thematrixeatsyou> Some rows seat 24 students and the remainder of the rows seat 18 students.
06:26:17 <thematrixeatsyou> Use algebraic techniques to find the number of rows that seat 18 students.
06:26:22 <thematrixeatsyou> Show your working
06:26:45 <thematrixeatsyou> - that would be a relatively easy one if there wasn't the damn explaining.
06:27:03 <thematrixeatsyou> acutally, it's one of the easiest excellence questions i've seen.
06:29:15 <thematrixeatsyou> w + n = 31
06:29:15 <thematrixeatsyou> 24w + 18n = 630
06:29:22 <Razor-X> That's an.... excellence question?
06:29:26 <Razor-X> ......
06:30:01 <thematrixeatsyou> -18w - 18n = 31 * -18
06:30:02 <thematrixeatsyou> = -558
06:31:08 <thematrixeatsyou> combine:
06:31:08 <thematrixeatsyou> 24w - 18w + 18n - 18n = 630-558
06:31:08 <thematrixeatsyou> 24w - 18w = 72
06:31:49 <thematrixeatsyou> 6w = 72
06:31:49 <thematrixeatsyou> w = 72/6
06:31:49 <thematrixeatsyou> = 12
06:32:10 <thematrixeatsyou> shoulda explained that w = rows with 24 seats and n = rows with 18 seats
06:32:11 <GregorR> Slox now has a GUI, and lets you change program speed at runtime 8-D
06:32:19 <thematrixeatsyou> hi gregor
06:32:24 <thematrixeatsyou> just doing homework
06:32:35 <Razor-X> Incredibly incredibly easy homework.
06:33:03 <thematrixeatsyou> w + n = 12 + n = 31
06:33:03 <thematrixeatsyou> n = 31 - 12
06:33:03 <thematrixeatsyou> = 19
06:33:08 <Razor-X> My homework right now is 20 problems of finding the relative minima, maxima, intervals of increase, and intervals of decrease of the given function.
06:33:24 <thematrixeatsyou> So there are 19 rows with 18 seats.
06:33:35 <Razor-X> Baffling.
06:33:47 <thematrixeatsyou> hey, this is 3rd year of high school.
06:33:56 <Razor-X> I'm also in the 3rd year of high school.
06:34:06 <Arrogant> I graduated but that's okay, I'm stupid.
06:34:15 <thematrixeatsyou> lucky you, you get some decent questions
06:34:16 <wooby> me too :\
06:34:24 <thematrixeatsyou> you seem to actually learn stuff
06:34:32 <Razor-X> We have Calculus here.
06:34:44 <thematrixeatsyou> we're doing the same shit from 2 to 11 years ago
06:34:46 <Razor-X> It's only mildly interesting to set theory, IMO.
06:35:17 <Razor-X> But I'm gonna write a symbolic differentiation utility some time later.
06:35:18 <Arrogant> Razor-X is some kind of sorceress
06:35:31 <Razor-X> ?
06:35:37 <Razor-X> It's not atypical to take Calculus in HS.
06:36:11 <Arrogant> Don't take your double negatives lightly, missy
06:36:22 <thematrixeatsyou> it's called college here, and i'm going into exams in nearly 2 weeks
06:36:58 <Arrogant> I took Calculus my senior year
06:38:22 <thematrixeatsyou> ok, there are 5 years of high school in new zealand.
06:38:26 <thematrixeatsyou> im in my 3rd
06:38:28 <Arrogant> Ah
06:38:30 <Arrogant> We have 4
06:38:47 <thematrixeatsyou> k. what year do you start proper exams?
06:39:54 <wooby> in new york state the state exams (regents) in the primary subjects usually happen in 10th and 11th grade, or the 2nd and 3rd years of high school
06:40:05 <thematrixeatsyou> ok
06:40:29 <Arrogant> We have the FCAT down here but that's a joke
06:40:44 <wooby> the NYS regents are more or less also a joke
06:41:00 <Arrogant> AP classes are the "proper exams"
06:41:04 <wooby> most serious students take standardized tests which are often accepted as college credits, AP
06:41:06 <Arrogant> have*
06:41:18 <Arrogant> I took 3 AP exams
06:41:26 <Arrogant> got 5, 4, 3
06:42:06 <wooby> good thing you didn't take 5 :)
06:42:34 <Arrogant> Would've had to shake it up a little :)
06:49:02 -!- anonfunc has joined.
06:53:57 <Razor-X> I took 2 AP exams last year, I'll be taking 4 (maybe 5) more this year.
06:54:00 <Razor-X> Fun.
06:57:08 <thematrixeatsyou> ERROR: anonfunc() requires faith
06:57:25 <GregorR> ...
06:57:52 <anonfunc> Back to the religious language? :-P
07:06:40 -!- pgimeno has quit (niven.freenode.net irc.freenode.net).
07:06:40 -!- pikhq has quit (niven.freenode.net irc.freenode.net).
07:07:01 -!- pgimeno has joined.
07:13:18 <thematrixeatsyou> yays netsplit
07:31:27 <thematrixeatsyou> arrogant: finished the memory side of the tape on the interpreter, working on the pointer
07:31:36 <Arrogant> awesome
07:32:44 <Razor-X> In what language?
07:32:47 <Arrogant> now actually it can't be brainfuck
07:32:51 <Arrogant> no input
07:32:54 <Arrogant> not really
07:33:04 <Arrogant> i suppose you could ready a stream of bits to be read
07:33:09 <Arrogant> and the output is going to be terrible :D
07:33:37 -!- Sillyman has joined.
07:34:33 <Sillyman> Hello
07:34:37 <thematrixeatsyou> hi
07:34:45 <thematrixeatsyou> well, the ww-computer has an LCD display and it looks good
07:34:50 <Arrogant> yeah
07:34:55 <Arrogant> it is one complex beast
07:34:56 <thematrixeatsyou> -
07:35:13 <thematrixeatsyou> yep
07:35:17 <Arrogant> and it doesn't really support letters :)
07:35:31 <thematrixeatsyou> yah
07:35:37 <Sillyman> !help
07:35:40 <EgoBot> help ps kill i eof flush show ls bf_txtgen usertrig daemon undaemon
07:35:42 <EgoBot> 1l 2l adjust axo bch bf{8,[16],32,64} funge93 fyb fybs glass glypho kipple lambda lazyk linguine malbolge pbrain qbf rail rhotor sadol sceql trigger udage01 unlambda whirl
07:36:05 <thematrixeatsyou> i actually know how the LCD works and have build an LCD display myself
07:36:27 <Arrogant> i know how the display works
07:36:27 <Razor-X> What is this?
07:36:32 <Arrogant> the conversions are what kill you
07:36:34 <Arrogant> wireworled
07:36:34 <thematrixeatsyou> then LCD = Liquid Crystal Display: i said Liquid Crystal Display Display
07:36:36 <Arrogant> wireworld*
07:36:37 <Razor-X> Aha.
07:37:00 <Arrogant> Gonna be a fun chunk of ROM
07:37:08 <thematrixeatsyou> shit
07:37:29 <Arrogant> I think someone should go through the trouble of just making a display that could do Hello, world!
07:37:50 <RodgerTheGreat> hm
07:37:56 <thematrixeatsyou> if i use 5x7 dot characters, that'd be 35 x 256 blocks
07:38:07 <thematrixeatsyou> using one of these lcds:
07:38:12 <thematrixeatsyou> ---
07:38:14 <thematrixeatsyou> | |
07:38:18 <thematrixeatsyou> oops
07:38:19 <thematrixeatsyou> ---
07:38:22 <thematrixeatsyou> |\ /|
07:38:25 <Razor-X> Where are the Wireworld rules?
07:38:25 <thematrixeatsyou> - -
07:38:28 <thematrixeatsyou> |/ \|
07:38:30 <thematrixeatsyou> ---
07:38:39 <RodgerTheGreat> you'd probably want to make a bitstream decoder that could handle a simple character set
07:38:40 <thematrixeatsyou> that's wrong too
07:38:51 <RodgerTheGreat> so... bigass lookup table.
07:39:29 <thematrixeatsyou> http://en.wikipedia.org/wiki/Wireworld_(CA)
07:39:32 <thematrixeatsyou> http://pages.prodigy.net/nylesheise/wireworld.html
07:39:36 <thematrixeatsyou> rules and gates
07:40:13 <RodgerTheGreat> this is really an incredible machine: http://www.quinapalus.com/wires11.html
07:40:28 <Arrogant> yes it is
07:40:28 <RodgerTheGreat> as I've said before, I'd be fascinated to code for it.
07:40:43 <RodgerTheGreat> an elegant RISC implementation.
07:41:08 <RodgerTheGreat> and the computer itself is really quite pretty just to look at.
07:41:52 <Arrogant> unfortunate that the display is rather limited
07:42:20 <RodgerTheGreat> well, it's a very flexible, modular numeric display.
07:42:38 <RodgerTheGreat> text I/O is less important than one might think.
07:44:39 <thematrixeatsyou> yah
07:44:57 <thematrixeatsyou> that's the one im talking about
07:46:04 <thematrixeatsyou> shit i never knew it was a prime number finder
07:46:08 <thematrixeatsyou> so damn slow though
07:46:11 <RodgerTheGreat> it would be pretty straightforward to build a simple delay line system based on the registers in the computer to serve as a form of buffered input.
07:46:26 <RodgerTheGreat> what the hell do you expect?
07:46:43 <RodgerTheGreat> if electrons moved that slowly, that's how electronics would be.
07:47:14 <thematrixeatsyou> yah
07:47:31 <thematrixeatsyou> i didn't know that it executed from the RAM
07:47:45 <Razor-X> ? How would that simulate a computer?
07:48:21 <RodgerTheGreat> notice the irregular design of the bottom registers- those are how you can perform logical and mathematical operations.
07:48:21 <Razor-X> (Sorry, X did one of it's famous I WANTS J00Z CPU temper tantrums.)
07:48:31 <RodgerTheGreat> http://www.zen6741.zen.co.uk/quinapalus/ww800x600.gif
07:49:13 <Arrogant> I like that organization much more
07:49:24 <RodgerTheGreat> the entire computer is based on an OISC design, with specialized registers and a writeable program counter providing all desired functionality
07:49:32 <thematrixeatsyou> this is also cool, not wireworld but on the same site: http://www.quinapalus.com/picsi.html
07:49:57 <RodgerTheGreat> I'll bet this would be a snap to extend, although adjusting the clock for a larger storage space might be tricky.
07:52:04 <thematrixeatsyou> yep
07:52:23 <RodgerTheGreat> as I said, the wireworld computer is a beautiful, elegant machine.
07:52:57 <thematrixeatsyou> :D
07:55:29 <RodgerTheGreat> what do you think of it, Razor-X?
07:56:54 <Razor-X> It seems... odd, heh.
07:57:03 <Razor-X> Truth be told, I'm afraid :D
07:57:30 <RodgerTheGreat> just read through the descriptions- the more I understood about it, the more I was in awe
07:57:54 <Razor-X> Computers tend to lend their analogies to my brain's workings pretty well, no matter what the level. But it seems... incredibly that you're simulating electricity flow (correct?) through WireWorld rules...
07:57:55 <RodgerTheGreat> I'm tempted to make an emulator for the computer itself just for fun- extremely easy to do, really.
07:58:00 <Razor-X> Yeah.
07:58:29 <Razor-X> s/incredibly/incredibl/
07:58:42 <RodgerTheGreat> yes- wireworld simulates a form of electrical flow
07:58:47 <Razor-X> s/incredibl/incredible/
07:58:52 <RodgerTheGreat> haha
07:58:59 <Razor-X> How do you simulate a clock signal?
07:59:08 <Razor-X> Or the concept of time in general?
07:59:29 <Razor-X> Or does the entire system work via an implicit clock because of time flow in the wireworld rules?
07:59:31 <RodgerTheGreat> closed loops that spit out an "electron" at a fixed rate
07:59:39 <RodgerTheGreat> kinda both
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:00:12 <RodgerTheGreat> all of the loopbacks and coils you see in the computer are there to tightly control the amount of time signals take to propogate
08:00:26 <RodgerTheGreat> ... makes me think of a cray, for some reason. :)
08:00:31 <Razor-X> Heh.
08:01:08 <RodgerTheGreat> the displays are clever
08:02:21 <thematrixeatsyou> the binary adders I call "OUT" adders because it looks like they spell "OUT"
08:02:30 <thematrixeatsyou> http://www.quinapalus.com/wires8.html
08:02:40 <RodgerTheGreat> a BCD signal is sent to each digit, which filters through a ROM to trigger the appropriate domino patterns. these patterns are generated by routing ROM outputs to flipflops/oscilators that "fill" each domino with a series of pulsing electrons.
08:03:08 <RodgerTheGreat> heh
08:05:13 <RodgerTheGreat> the whole thing is basically a clock that connects to a system that can transfer data between registers. The registers themselves do operations (including the PC), and one is attached to a hex->BCD converter that in turn connects to a multiplexer for each display element. Finally, we have the digits themselves.
08:05:18 <RodgerTheGreat> fascinating
08:06:01 <thematrixeatsyou> The instructions are stored in the registers themselves: the source and destination register numbers are coded as six bits each, and stored in the two halves of a sixteen bit value.
08:06:06 <thematrixeatsyou> not that easy to extend
08:06:29 <thematrixeatsyou> For efficiency, the next instruction is prefetched while the destination register is being written, and hence there is one branch delay slot.
08:06:30 <thematrixeatsyou> nice
08:06:39 <RodgerTheGreat> I meant in terms of adding new "instructions" - additional specialized registers
08:07:33 <RodgerTheGreat> well, I think I'm going to get some sleep. G'night, all!
08:08:31 <thematrixeatsyou> gnight
08:09:16 <thematrixeatsyou> shit that is late at your end
08:10:17 <thematrixeatsyou> it looks very cool when you make the wire invisible
08:14:25 <Sillyman> I would imagine...
08:15:28 <Sillyman> Anyways, now that we've discussed turing complete simple CA, howabout turing complete complex CA?
08:24:39 -!- Sillyman has left (?).
08:28:09 <thematrixeatsyou> hmm, good idea
08:40:23 -!- lindi- has quit (Remote closed the connection).
08:40:31 -!- lindi- has joined.
08:45:02 <thematrixeatsyou> gotta go get some zzz, gnight
08:45:30 -!- thematrixeatsyou has quit ("MOV eax,awos").
09:11:17 -!- Arrogant has quit ("Leaving").
09:13:03 -!- bsmntbombdood has quit (Read error: 60 (Operation timed out)).
09:31:48 -!- xor has joined.
09:42:05 -!- clog has joined.
09:42:05 -!- clog has joined.
09:42:08 -!- Razor-X` has joined.
09:42:42 -!- Eidolos has joined.
09:42:51 -!- GregorR has joined.
09:45:14 -!- RodgerTheGreat has joined.
09:51:42 -!- sp3tt has joined.
13:54:37 -!- clog has joined.
13:54:37 -!- clog has joined.
13:55:09 -!- EgoBot has joined.
13:55:37 -!- nooga has joined.
13:55:43 <nooga> wooo
13:55:49 -!- pgimeno has joined.
13:56:00 -!- anders has joined.
13:56:04 <nooga> what an emptiness
13:56:26 -!- meatmanek has joined.
13:57:01 -!- mtve has joined.
13:57:18 -!- pikhq has joined.
13:59:48 -!- tokigun has joined.
14:02:06 <nooga> ABCDEF xD
14:02:11 <nooga> great idea
14:32:19 <nooga> pitty that the curent run is ended
14:36:38 -!- lindi- has joined.
14:50:31 -!- sekhmet has joined.
14:53:05 -!- fizzie has quit (kornbluth.freenode.net irc.freenode.net).
14:58:06 -!- fizzie has joined.
14:58:27 -!- fizzie has quit (kornbluth.freenode.net irc.freenode.net).
15:01:54 -!- cmeme has joined.
15:02:26 -!- RodgerTheGreat has joined.
15:03:06 -!- fizzie has joined.
15:03:29 <nooga> %/
15:25:18 <nooga> am I transparent? ;/
15:55:46 -!- ihope has joined.
16:22:56 -!- jix has joined.
16:25:00 <nooga> hi hal a.k.a jix
16:29:05 <jix> nah i don't know a hal quote right now
16:29:08 <jix> that's bad
16:30:06 <nooga> ;/
16:30:14 <nooga> my congrats about ABCDEF
16:30:50 <nooga> pitty that it's too late to contribute sth for the first run
16:31:31 <RodgerTheGreat> 'morning, everyone.
16:32:30 <nooga> hi RTG
16:33:50 <jix> nooga: it is somehow stalled :/
16:34:43 <jix> nooga: I'm sorry nooga, I'm afraid i can't do that.
16:35:18 <nooga> oh
16:35:48 <nooga> maybe next time... :>
16:35:52 <jix> (that was a hal quote...)
16:36:17 <jix> but rplace nooga with dave
16:37:29 <nooga> omfg
16:37:36 <nooga> hahaha
16:37:39 <jix> what?
16:38:20 <nooga> I didn't get it at first ;D
16:45:15 <nooga> currently i'm thinking about WAM based esolang
16:45:41 <nooga> something like twisted and minimal Prolog dialect
16:48:05 <nooga> but I can't find any digestible papers on WAM
16:53:05 -!- nooga has quit.
16:59:44 -!- Sph1nx has joined.
17:23:00 -!- Sph1nx has quit (Remote closed the connection).
17:25:06 -!- lament has joined.
17:25:13 <lament> OMMMMMMMMMM
17:53:58 <wooby> hio
20:21:54 -!- ihope_ has joined.
20:38:09 -!- ihope has quit (Read error: 110 (Connection timed out)).
20:57:27 -!- CakeProphet has joined.
20:57:54 * CakeProphet 's head is about to explode.
21:00:15 -!- Sgeo has joined.
21:03:55 -!- kipple_ has joined.
21:05:33 * ihope_ re-summons GregorR
21:13:10 <ihope_> I declare IRP to be either not Turing-complete or not well-defined, by the way.
21:14:03 <ihope_> Unless somebody can come up with a specification of just how other people are supposed to act, that is.
21:14:23 <ihope_> I think most of us will agree that IRP minus network connections is not Turing-complete.
21:19:09 <RodgerTheGreat> hm
21:19:30 <ihope_> (Oh, and that re-summon was about QBF, not IRP.)
21:19:56 <RodgerTheGreat> my argument for it's turing-completeness (on a network) is that you could theoretically have an infinite number of "CPU's", allowing for unbounded storage and processing.
21:20:38 <RodgerTheGreat> storage is not limited by the spec or the language's implicit details, so it is a turing-complete language
21:25:43 <ihope_> The spec does leave some things undefined.
21:25:54 <ihope_> Actually, it leaves pretty much everything undefined.
21:26:27 <RodgerTheGreat> that doesn't really prevent it from being turing-complete, it just makes the language inefficient and unreliable.
21:27:14 <ihope_> Isn't reliability a requirement for Turing-completeness?
21:28:38 <ihope_> Okay then, here's a new language for you: Wheee.
21:28:49 <ihope_> In Wheee, everything is undefined and implementation-dependent.
21:29:56 <ihope_> Is Wheee Turing-complete?
21:30:02 <RodgerTheGreat> in that case, turing-completeness would be defined by the implementation, rather than the spec.
21:30:40 <RodgerTheGreat> you could say that the spec is, but it doesn't ensure that implementations will even vaguely resemble turing-completeness.
21:31:02 <RodgerTheGreat> this isn't really a problem, because I have yet to see a turing-complete implementation for *any* language.
21:33:58 <ihope_> Well then, isn't Turing-completeness of IRP also defined by the implementation?
21:35:25 <RodgerTheGreat> of course. I assume IRC has limits to the number of users on a channel/server/etc, so there is a finite storage capacity. Ergo, not turing complete. This does not invalidate my previous statement that the *language* is turing-complete.
21:38:36 <lament> ihope_: no, wheee is not turing-complete.
21:38:53 <lament> ihope_: turing-completeness verification shouldn't take implementation-dependent issues into account.
21:39:22 <lament> when verifying turing-completness and the spec says something is "implementation dependent", you might as well take that to mean "the universe implodes"
21:39:52 <RodgerTheGreat> heh. DS9K-style nasal demons.
21:48:35 <SimonRC> yup
22:01:36 -!- oerjan has joined.
22:12:44 -!- bsmntbombdood has joined.
22:22:19 -!- jix has quit ("Bitte waehlen Sie eine Beerdigungnachricht").
22:42:12 -!- wooby has quit.
22:56:05 -!- kipple_ has quit (Read error: 60 (Operation timed out)).
23:05:17 -!- oerjan has quit ("Later").
23:46:16 -!- bsmntbombdood has changed nick to xor.
23:53:25 <Razor-X`> IRP?
23:53:40 <Razor-X`> EsoWiki has the info?
23:54:03 <lament> Razor-X`: please add 1 and 1
23:54:08 <Razor-X`> 2
23:54:12 <lament> thank you.
23:54:22 <Razor-X`> Yes!
23:54:27 <Razor-X`> Am I turing complete now?!
23:54:49 <pikhq> Razor-X`: Please interprete the following Brainfuck code: ,[.,]
23:54:51 <lament> yes.
23:55:14 <xor> !bf ,[.,]
23:55:28 <Razor-X`> WOOHOO!
23:55:35 <xor> !ps
23:55:37 <EgoBot> 1 xor: ps
23:55:39 <Razor-X`> That's what happens when you try and interprete BF code with me.
23:55:46 <xor> !i 1 hi bob
23:55:49 <xor> !eof 1
23:55:50 <pikhq> You're not Turing complete.
23:55:59 <Razor-X`> Why?
23:56:07 <pikhq> You didn't interpret the code.
23:56:15 <Razor-X`> No, I didn't. I intepreteed it.
2006-11-03
00:00:58 -!- Razor-X` has changed nick to Razor-X.
00:05:19 -!- xor has changed nick to bsmntbombdood.
00:18:59 -!- bsmntbombdood has changed nick to xor_.
01:09:25 -!- oerjan has joined.
01:18:51 -!- sekhmet has quit ("bleh").
01:50:36 -!- sekhmet has joined.
02:33:47 -!- xor_ has changed nick to bsmntbombdood.
02:45:26 -!- calamari has joined.
02:45:43 <calamari> hi
02:46:52 <CakeProphet> Heya.
02:47:24 * bsmntbombdood eats calamari
02:55:06 -!- thematrixeatsyou has joined.
02:55:15 <thematrixeatsyou> hi
02:55:46 <oerjan> hi and beware of the cannibals.
02:55:59 * bsmntbombdood eats thematrixeatsyou
02:56:37 * thematrixeatsyou responds by tasting like chocolate
02:56:48 <bsmntbombdood> mmmm chocolate
02:58:27 <thematrixeatsyou> endorse cannabalism! eat dipshits!
03:00:23 <oerjan> somehow that doesn't sound very tasty.
03:01:39 <thematrixeatsyou> !funge93 0"yrgnuh saw doodbmobtnmsb :detceted msilabannaC">:#,_@
03:01:42 <EgoBot> Cannabalism detected: bsmntbombdood was hungry
03:02:03 <thematrixeatsyou> damn, why did gregorR take out the !cat command? :(
03:02:10 <bsmntbombdood> I thought EgoBot did that by itself for a minute
03:02:15 <oerjan> !ps d
03:02:18 <EgoBot> 1 thematrixeatsyou: funge93
03:02:20 <EgoBot> 2 oerjan: ps
03:02:27 <oerjan> !ps
03:02:28 <pikhq> It's a daemon.
03:02:30 <EgoBot> 1 thematrixeatsyou: funge93
03:02:33 <EgoBot> 2 oerjan: ps
03:02:42 <pikhq> !daemon cat bf ,[.,]
03:02:50 <pikhq> !cat Welcome back, cat.
03:02:50 <thematrixeatsyou> shit, i did !funge93 0
03:02:52 <bsmntbombdood> oooooh
03:02:52 <EgoBot> Welcome back, cat.
03:03:10 <EgoBot> Cannabalism detected: bsmntbombdood was hungry
03:03:15 <thematrixeatsyou> better :D
03:03:22 <pikhq> Besides, glass is nicer.
03:03:27 <bsmntbombdood> whoa howd you do that
03:03:47 <pikhq> !daemon cat bf ,[.,]
03:03:57 <CakeProphet> Hmmm... building a Brainfuck interpreter in a 2 dimensional map-like programming language is pretty interesting.
03:04:00 <CakeProphet> It's like a puzzle.
03:04:02 <EgoBot> thematrixeatsyou has special powers, admire him
03:04:13 <thematrixeatsyou> lemme guess, befunge?
03:04:20 <CakeProphet> Nah... it's something I'm working on.
03:05:01 <pikhq> !glass {M[m(_o)O!"See? Glass is t3h nice"(_o)o.?]}
03:05:04 <EgoBot> See? Glass is t3h nice
03:05:40 <CakeProphet> Oh... well after briefly reading how Befunge works... my language is looking a lot like it. :P
03:06:20 <CakeProphet> ~
03:06:22 <CakeProphet> >Hello,\ World!#
03:06:27 <CakeProphet> That's the Hello World program.
03:07:37 <bsmntbombdood> >"Hello, World"[<]>[.>]
03:07:52 <CakeProphet> Hmmm... definetely different.
03:07:52 <bsmntbombdood> brain fuck with strings!
03:08:13 <CakeProphet> but the concept of befunge is similar to this one...
03:10:00 <pikhq> !glass {M[m(_i)I!(_o)O!(char)(_i)c.?=(noteof)(_i)e.?=/(noteof)(char)(_o)o.?(char)(_i)c.?=(noteof)(_i)e.?\]}
03:10:03 <pikhq> !ps d
03:10:06 <EgoBot> 1 pikhq: glass
03:10:08 <EgoBot> 2 pikhq: daemon cat bf
03:10:10 <EgoBot> 3 pikhq: ps
03:10:14 <pikhq> If I did that right, it's a Glass Brainfuck program.
03:10:18 <pikhq> Cat.
03:10:22 <pikhq> !i 1 Foo
03:10:45 <pikhq> If I *didn't* do it right, as I believe I have, it's a bunch of gibberish.
03:10:46 <pikhq> !ps
03:10:50 <EgoBot> 1 pikhq: ps
03:10:54 <bsmntbombdood> brainfuck with strings!
03:11:03 <pikhq> Ahah.
03:11:18 * bsmntbombdood giggles
03:11:23 <CakeProphet> Cat in Cake's Concept Language is:
03:11:23 <pikhq> Did it slightly wrong.
03:11:40 <CakeProphet> ~
03:11:42 <CakeProphet> ;
03:11:43 <CakeProphet> #
03:12:47 <pikhq> !glass {M[m(_i)I!(_o)O!(_a)A!(char)(_i)c.?=(noteof)(0)(_i)e.?(_a)e.?=/(noteof)(char)(_o)o.?(char)(0)(_i)c.?(_a)e.?=(noteof)(_i)e.?\]}
03:12:53 <pikhq> !i 1 Foo?
03:12:59 <pikhq> !ps
03:13:02 <EgoBot> 1 pikhq: ps
03:13:30 <pikhq> I'mma gonna stop the glassing.
03:14:02 * bsmntbombdood is proud of hisself
03:14:31 <pikhq> Now go and code it.
03:14:46 <bsmntbombdood> bah
03:14:47 <CakeProphet> I think one of the main differences in Befunge and this language is that this language can have more than one pointer at a time, and have multiple stackes which are represented in the codespace by characters.
03:14:49 <bsmntbombdood> don't feel like it
03:24:16 <CakeProphet> ~ #This is a mouse... a pointer character. Default direction is set to south
03:24:17 <CakeProphet> ;>! #-semicolon is users input
03:24:19 <CakeProphet> * <
03:24:20 <CakeProphet> ! < #continuously append all values in the mouse to all stacks/queues adjacent to the asterick
03:24:22 <CakeProphet> >$ (code) *^
03:24:24 <CakeProphet> ~ #This mouse represents each value in the input...
03:24:25 <EgoBot> Huh?
03:24:25 <CakeProphet> ^
03:24:27 <CakeProphet>
03:24:28 <CakeProphet>
03:24:29 <CakeProphet> muhahahahaha
03:24:31 <CakeProphet> foreeach loop
03:39:58 -!- Asztal has joined.
04:04:49 * pikhq prefers Dimensifuck.
04:15:45 <calamari> hrm
04:16:16 <calamari> anyone know of a way of setting nonblocking input so that a read request always returns immediately?
04:16:37 <calamari> I can do it inside a c program, but it doesn't seem to persist outside it
04:18:18 <thematrixeatsyou> hi calamari
04:18:48 <thematrixeatsyou> what lang are you using?
04:18:51 -!- CakeProphet has quit (Read error: 110 (Connection timed out)).
04:19:09 <pikhq> Wouldn't you just set stdin to be unbuffered?
04:19:34 <calamari> pikhq: setting it unbuffered means I can press one char without enter
04:19:54 <thematrixeatsyou> for ASM: MOV dx,0060 ; IN al,dx
04:20:13 <thematrixeatsyou> oh
04:20:32 <thematrixeatsyou> getch() in C, what in what?
04:20:43 <calamari> what in what?
04:20:52 <thematrixeatsyou> what lang are you using?
04:20:54 <calamari> bf
04:21:00 <calamari> egobfi8
04:21:17 <thematrixeatsyou> i use brainfucked
04:21:32 <thematrixeatsyou> very small, very nice
04:21:35 <calamari> maybe it's just something Gregor would have to implement in the interpreter
04:21:41 <thematrixeatsyou> and doesn't buffer
04:21:45 <thematrixeatsyou> yah
04:21:53 <calamari> buffering != blocking
04:22:00 <oerjan> you could probably use a pipe
04:22:50 <oerjan> or maybe not.
04:23:06 <calamari> setting unbuffered is easy, can use stty for that
04:23:14 <calamari> setting nonblocking is hard
04:23:30 <oerjan> how do you set nonblocking in C?
04:23:44 <calamari> oerjan: in C you can do this:
04:23:58 <calamari> long flags = fcntl(STDIN_FILENO, F_GETFL);
04:23:58 <calamari> fcntl(STDIN_FILENO, F_SETFL, flags | O_NONBLOCK);
04:24:20 <calamari> but it seems to stop working once the program exits
04:25:34 * calamari gets an idea
04:27:15 <oerjan> but getc would block anyhow wouldn't it?
04:27:44 <oerjan> are you trying to change terminal settings?
04:27:48 <pikhq> *echm* How, exactly, are you supposed to keep getting input after a program exiting?
04:28:20 <calamari> yay!
04:29:06 <oerjan> you succeeded?
04:29:18 <calamari> yes
04:29:36 <calamari> I continued the C program
04:30:06 <calamari> put in an endless while loop, it reads a char, if its -1 it outputs char 0, otherwiste it outputs the char it read
04:30:21 <calamari> so then I pipe that to the program
04:30:34 <calamari> nonblock | egobfi8 program.b
04:31:23 <oerjan> right. however doesn't that prevent you from detecting real EOF?
04:32:08 <calamari> yeah, I suppose
04:32:14 <calamari> can't have it all
04:33:12 <pikhq> Just if(feof(stdin)) putc(FEOF);, I think. ;)
04:34:10 <calamari> ehh whatever
04:34:27 <calamari> the whole idea of this is that input is from the keyboard
04:34:40 <calamari> so eof doesn't matter
04:34:53 <pikhq> ^D says otherwise.
04:35:19 <calamari> who says I have to accept ^D
04:35:30 <calamari> check your stty manual ;)
04:35:34 <oerjan> you could always check for the value 4.
04:35:51 <pikhq> Then how are you supposed to quite a program?
04:35:57 <pikhq> quit.
04:36:14 <oerjan> unbuffered input doesn't have ^D handling anyhow.
04:36:24 <oerjan> i think.
04:36:39 <calamari> pikhq: run a dos program.. they had many ways of exiting their programs..
04:36:52 <calamari> I'll probably use Esc
04:37:09 <pikhq> I'd prefer, say, EOF.
04:37:24 <calamari> pikhq: lol
04:37:50 <calamari> so which char would you overwrite for eof.. 1?
04:38:00 <calamari> or 255
04:38:01 <oerjan> as i said, check for the value 4 = ^D
04:39:01 <pikhq> Output EOF; it's a declared constant in stdio.h that should *gasp* send EOF down the line. (IIRC)
04:39:29 <calamari> oerjan: yep, 4 works
04:39:50 <calamari> pikhq: dude, bf is 8 bits
04:40:02 <calamari> (usually)
04:40:16 <pikhq> calamari: Dude, let egobfi8 handle the EOF->Brainfuck char conversion.
04:40:22 <pikhq> (it defaults to 0)
04:40:54 <calamari> I'm using 0 already
04:41:04 <calamari> to indicate no input was available
04:41:30 <pikhq> You've got "nonblock" handling EOF->0 conversion, when egobfi8 already handles that.
04:41:49 <pikhq> Seems a bit pointless, doesn't it?
04:41:55 <oerjan> if you are reading from a raw terminal, then there is no such thing as EOF.
04:42:02 <calamari> pikhq: do you have a point or are you just trying to be argumentative?
04:42:12 <pikhq> oerjan: ^D == EOF.
04:42:28 <oerjan> right, so let brainfuck check for that.
04:42:41 <pikhq> calamari: Sure: my point is that converting EOF to 0 in "nonblock" is redundant.
04:43:18 <calamari> pikhq: I'm not converting EOF to anything in nonblock
04:43:20 <oerjan> but if he sets the terminal to raw, then nonblock will not convert EOF to 0, but to 4
04:43:22 <pikhq> Oh.
04:43:56 <calamari> pikhq: when I read from getchar() it returns -1 if no char is waiting. I translate that to 0
04:44:07 <pikhq> Oh. Misunderstood.
04:44:20 <calamari> k hehe
04:44:43 <oerjan> well so did i at first.
04:45:03 <calamari> 4 works fine .. might as well support ^D and Esc
04:45:33 <pikhq> Going to make a Brainfuck BFAudio player that supports forward/back? :p
04:45:57 <calamari> nope! hopefully this will be more fun than that
04:47:11 <calamari> I feel bad it's so linux dependent.. er wait, no I don't screw windows users.. their zombied machines pollute my inbox with spam
04:47:26 <pikhq> Cygwin will probably run it.
04:47:35 <pikhq> As will Mac OS neXt.
04:47:41 <calamari> hmm, maybe so
04:57:51 <Razor-X> For GregorR:
04:58:15 <Razor-X> I feel C should have a unified pointer size, instead of int pointers, char pointers, etc. You can move pointers using pointer arithmetic and sizeof.
04:59:07 <Razor-X> calamari: I can try and port it to Java. I need the experience for the AP test.
04:59:28 <pikhq> So, all pointers should be void *?
04:59:33 <Razor-X> Yeah.
04:59:42 <calamari> Razor-X: port what? :)
04:59:49 <Razor-X> calamari: Whatever that's Linux dependant.
04:59:53 <bsmntbombdood> yay for void pointers!
04:59:58 <calamari> this unportable hack of a program we've been discussing?
04:59:58 <Razor-X> Then you can have something like ptr+= sizeof (char) .
05:00:08 <Razor-X> calamari: I haven't scrolled up far enough.
05:00:30 <bsmntbombdood> Razor-X: sizeof(char) is garenteed to be 1
05:00:35 <calamari> no, you definitely haven't :)
05:00:37 <Razor-X> bsmntbombdood: I know, I know.
05:00:57 <Razor-X> You can also have ptr += sizeof(int) happy ?
05:02:27 <pikhq> And intptr++; for horrible borken unportable code.
05:02:58 <oerjan> well, nothing is preventing you from doing that already by using only void * pointers...
05:03:03 <Razor-X> Well, ptr++ increments the pointer by a byte.
05:03:06 <pikhq> True.
05:03:26 <Razor-X> As it is, int, float, and all of that business is machine dependant.
05:03:44 <pikhq> Only a char has a guaranteed size in bytes.
05:03:44 <GregorR> Razor-X: I believe that would be painful, and would not make anything more intuitive.
05:04:05 <calamari> there we go.. rolled unbuffered nonblocking and no echo all into one horrible prog
05:04:10 <Razor-X> GregorR: Well, I think it makes the abstraction more clean, personally.
05:04:22 <GregorR> It makes the abstraction more clean, yes.
05:04:37 <GregorR> But the current way makes the abstraction easier.
05:04:38 <pikhq> It also adds to Cobolitise.
05:04:52 <Razor-X> As a beginner, it was one of my pitfalls. It took me a bit to realize that pointer arithmetic behavior depends on the type of pointer.
05:05:03 <oerjan> one thing i worried about - won't that nonblock program write a horrible lot of nuls?
05:05:10 <GregorR> I guarantee you that if they changed it the opposite would be the pitfall.
05:05:33 <Razor-X> Hmm... I guess.
05:05:34 <calamari> http://kidsquid.com/files/bf/unbb.c
05:05:39 <GregorR> pikhq: "Mac OS neXt" You sir are a genius.
05:05:47 <thematrixeatsyou> gonna reboot my pc, be back soon
05:05:53 <GregorR> What's this unportable hack of a program that we're discussing?
05:05:55 <pikhq> GregorR: I don't clame any credit.
05:05:58 -!- thematrixeatsyou has quit ("Rebooting PC").
05:06:13 <pikhq> From a friend of mine from the LUG who's a mild Mac fan.
05:06:14 <calamari> GregorR: "<calamari> there we go.. rolled unbuffered nonblocking and no echo all into one horrible prog"
05:07:22 <Razor-X> I think the way Forth handles memory management is nice.
05:07:43 <pikhq> I prefer the Lisp method.
05:07:49 <pikhq> Garbage collection=:)
05:07:52 <Razor-X> Lisp doesen't have memory management.
05:07:57 <Razor-X> -_-vv
05:08:04 <pikhq> Yeah; it's above that. ;)
05:08:06 <bsmntbombdood> list is cool
05:08:08 <Razor-X> But hey, Forth doesen't have any of those annoyances like ``int'' or ``char'' or ``float''.
05:08:31 <bsmntbombdood> doubles taking up two spaces on the stack is annoying though
05:08:37 <Razor-X> That's true.
05:09:11 <calamari> GregorR: like it? :)
05:09:18 <bsmntbombdood> same with strings
05:09:29 <GregorR> calamari: But why? What does it /do/?
05:09:48 -!- thematrixeatsyou has joined.
05:10:02 <calamari> GregorR: well, I needed timing information
05:10:29 <calamari> GregorR: the only way I can think of doing that in bf is to have the user press enter.. wait a predetermined time, then press enter again
05:10:39 <calamari> (while bf counts up)
05:10:55 <calamari> so if the read blocked, obviously this doesn't work
05:11:04 <pikhq> You. . . I. . . GRRRAWRRR.
05:11:36 <Razor-X> So are you using a timer ?
05:11:54 <calamari> I'm making a timer
05:11:55 <Razor-X> calamari: Why not just use select() ?
05:12:01 <calamari> Razor-X: select, in bf?
05:12:10 <Razor-X> In the code, I mean.
05:12:16 <Razor-X> Are you adding a timing extension to BF?
05:12:19 <calamari> that's one of those bf commands I must have missed ;)
05:12:24 <calamari> no I'm not
05:12:51 <calamari> it's standard bf code
05:13:02 <Razor-X> What are you attempting to do, then?
05:13:09 <calamari> implement a timer
05:13:43 <calamari> hmm maybe I should use space rather than enter.. to avoid the whole enter vs return thing :)
05:21:48 <calamari> not working very well yet.. may need to use a different scheme like holding down a key or such
05:22:02 <calamari> probably because it puts the cpu at 100%
05:22:09 <calamari> bbl
05:22:16 -!- calamari has quit ("Leaving").
05:37:21 -!- oerjan has quit ("Good night.").
05:41:03 -!- RodgerTheGreat has quit.
07:02:44 -!- Sgeo has quit (Read error: 54 (Connection reset by peer)).
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:52:44 -!- thematrixeatsyou has quit (Connection timed out).
09:51:08 -!- puzzlet has joined.
16:14:17 -!- GregorR-L has joined.
16:47:23 -!- wooby has joined.
16:49:58 -!- wooby has quit (Client Quit).
17:09:23 -!- kipple_ has joined.
17:32:34 -!- GregorR has quit (Read error: 60 (Operation timed out)).
17:40:15 -!- EgoBot has quit (Read error: 110 (Connection timed out)).
17:49:18 -!- RodgerTheGreat has joined.
17:50:50 <RodgerTheGreat> hello, everyone.
17:51:06 <bsmntbombdood> hi
17:51:21 <RodgerTheGreat> anything going on here?
17:54:36 <Asztal> there's been some great JOINs and QUITs in the last few hours
17:54:52 <GregorR-L> lol
17:55:04 <GregorR-L> I think a power outage just ruined my bloody uptime.
17:56:03 * Asztal ponders on the way the W3Schools XSL-FO tutorial doesn't really *explain* anything
18:20:04 -!- oerjan has joined.
19:19:55 <SimonRC> tumtetum
19:20:59 <oerjan> i have a rather wicked idea for an esolang
19:22:08 <oerjan> somewhat based on Unlambda
19:22:53 <SimonRC> hm?
19:22:59 <SimonRC> detail (v.)
19:23:57 <oerjan> it would be a higher level language, incorporating some inventions of modern functional languages
19:24:09 <oerjan> notably, monads
19:24:11 <SimonRC> ooh
19:24:43 <oerjan> every object would not just be a function but also belong to a monad.
19:25:10 <oerjan> and the evil part is that application would be replaced by monadic bind
19:25:56 <oerjan> so to know what a ` actually means, you would have to know the monad of its second argument.
19:26:04 <SimonRC> ouch
19:26:23 <oerjan> i'll call it LeMonade
19:30:47 <oerjan> if it can be pulled off, it should have static type (or monad) inference
19:33:08 <oerjan> s would probably be polymorphic.
19:34:41 <oerjan> although a dynamically typed version might have the advantage of being simple enough that i actually get around to implementing it...
19:49:01 -!- oerjan has quit ("Later").
20:21:11 -!- ihope__ has joined.
20:21:17 -!- ihope__ has changed nick to ihope.
20:38:30 -!- ihope_ has quit (Connection timed out).
20:56:13 -!- CakeProphet has joined.
21:44:19 -!- Sgeo has joined.
22:28:24 -!- bsmntbombdood has changed nick to xor_.
22:44:39 -!- oerjan has joined.
23:29:46 -!- Sgeo has quit (Remote closed the connection).
23:36:32 -!- Sgeo has joined.
2006-11-04
00:16:32 -!- calamari has joined.
00:16:37 <calamari> hi
00:16:42 <pikhq> 'Lo.
00:51:55 <ihope> oerjan: ` doesn't really mean much, monad-wise.
00:52:22 <ihope> Just the S and K combinators should work, except make it ap and return instead of S and K.
00:53:06 <oerjan> well the point is not to do that.
00:53:54 <ihope> The point is not to use ap and return instead of S and K?
00:54:10 <oerjan> let me look up the definition of ap.
00:54:33 <ihope> ap :: m (a -> b) -> m a -> m b
00:58:34 <oerjan> hm, consider ``sAB with that definition.
00:59:09 <ihope> A and B are of the same monad. A contains a function, and B contains the argument.
01:00:03 -!- rt has joined.
01:00:12 <oerjan> let A :: m (a->b) then.
01:00:58 <oerjan> then s :: (a->b) -> m <something>
01:01:28 <ihope> Um...
01:01:41 <ihope> s :: m (a -> b) -> m a -> m b.
01:02:04 <oerjan> no. ` is bind, remember.
01:02:47 <oerjan> ` :: Monad m => (a->m b) -> m a -> m b
01:03:22 <oerjan> so s with your type would not fit.
01:03:23 <ihope> Oh.
01:05:36 <oerjan> on the other hand haskell types may not fit well either. Monads are tracked partially separate from the functional type.
01:06:10 <oerjan> not that i have thought much about whether this works at all.
01:06:46 <oerjan> in particular, m1 a and m2 b could be the same type.
01:08:58 <ihope> In your language, you mean?
01:09:05 <oerjan> yes
01:12:32 <Razor-X> More examples of Forth code: Print out an ASCII table formatted to 5 entries per line.
01:12:33 <Razor-X> : A-TABLE 128 33 DO I . SPACE I EMIT SPACE I 28 - 5 MOD 0 = IF CR THEN LOOP ;
01:12:42 <Razor-X> Then run A-TABLE and all is well.
01:13:11 <xor_> Razor-X: capital letters suck
01:13:25 <Razor-X> xor_: Nah. It makes the code look more awesome :P
01:13:51 -!- GregorR-L has quit (Read error: 104 (Connection reset by peer)).
01:13:55 <Razor-X> Oh, and that's an ASCII table for all the printable characters, by the way.
01:14:14 <oerjan> however, making `k A B act like return A seems reasonable
01:15:54 <ihope> Oh, by the way, I somewhat designed a programming language.
01:16:08 <oerjan> aha
01:16:12 <ihope> I'm not sure just how esoteric it is.
01:16:27 <oerjan> maybe it's a p-language then :)
01:16:50 <ihope> It's assembly-like.
01:17:03 <Razor-X> Gods of Earth and Erna!
01:17:18 <ihope> Possibly easy to compile into x86.
01:17:39 <Razor-X> More Gods!
01:17:46 <oerjan> what is Erna, apart from a Norwegian party leader?
01:18:16 <Razor-X> Even read C.S. Friedman's Black Sun Rising series?
01:18:39 <oerjan> nope
01:19:21 <ihope> Just what's x86 like?
01:19:39 <oerjan> a horrible mess iiuc
01:19:55 <ihope> Impossible to virtualize?
01:20:31 <oerjan> i thought virtualization on x86 was all the rage nowadays
01:20:52 <ihope> Hard to virtualize?
01:21:00 <Razor-X> Well, x86 is a lot better than the z80 ASM on TI.
01:21:05 <Razor-X> That's just my opinion though.
01:21:10 <ihope> z80, eh?
01:21:50 <ihope> Well, surely x86 doesn't meet the Chaim-Potok virtualization requirements or whatever they're called.
01:23:22 * oerjan isn't going to pretend he understands what ihope is talking about.
01:24:14 <Razor-X> Of course it doesen't.
01:24:26 <Razor-X> But who cares about that? Since when has anything popular *ever* followed standards?
01:24:30 <Razor-X> I mean, look at Microsoft.
01:24:40 <Razor-X> RFCs? Who NEEDS 'em! BAH!
01:24:44 <oerjan> ah, definitely not Chaim-Potok. he wrote "My name is Asher Lev".
01:24:51 <Razor-X> ;D
01:25:12 <oerjan> which i've never read but it was in my parent's bookshelf
01:25:45 <Razor-X> Who is Asher Lev?
01:25:54 <ihope> Ah, it's the Popek and Goldberg virtualization requirements.
01:26:00 <ihope> Close enough.
01:26:11 <oerjan> the main character in that novel, i assume
01:26:13 <Razor-X> Goldberg, Chaim, same difference.
01:26:31 <Razor-X> GregorR, Gates, same difference.
01:27:37 <oerjan> if you say so. you couldn't get gregorR to send me a couple million dollars?
01:27:50 <Razor-X> Nah. Ask his wife for that.
01:28:24 <Razor-X> Also, something tells me ihope knows who Asher Lev is.
01:28:52 <ihope> No idea, until I read the Wikipedia article.
01:29:02 <ihope> My English teacher assigned us The Chosen.
01:30:17 <Razor-X> Sounds exciting.
01:30:24 * Sgeo was a showoff in math today
01:30:46 * Sgeo is actually trying to show off here by mentioning this
01:31:22 <Asztal> :o
01:31:39 <ihope> What'd you show off about?
01:32:03 <Sgeo> In Calculus, we started integrals
01:32:23 <Sgeo> So I showed that I already knew the stuff we were learning today
01:32:42 <ihope> I see.
01:33:12 <Asztal> aww I thought I was the youngest one here :(
01:33:19 <Sgeo> Asztal, hm?
01:33:22 <ihope> No, I am.
01:33:31 <ihope> Unless one of you's younger than me.
01:33:46 <Asztal> Well I did 1st year calculus 3 years ago... ;)
01:33:57 <ihope> I'm not to calculus yet.
01:33:58 * Sgeo is in High School
01:34:06 <Sgeo> "P Calc BC"
01:34:08 <Sgeo> er
01:34:12 <Sgeo> "AP Calc BC"
01:34:30 <ihope> I'm in pre-calculus, and I could be about the youngest guy in there.
01:34:32 <ihope> So yeah.
01:34:40 * oerjan feels like he has one foot in the grave in this company.
01:35:13 <Asztal> <ihope>` doesn't really mean much, monad-wise.
01:35:15 <Asztal> Just the S and K combinators should work, except make it ap and return instead of S and K.
01:35:19 * Sgeo wonders if there's a way to find out who's the youngest by comparing years without actually revealing age..
01:35:24 <oerjan> someone yesterday said he was 15
01:35:25 <Asztal> ^ yeah, but I understand none of that ;)
01:35:41 <Asztal> I'm 20 now
01:35:43 <oerjan> i don't think it was any of you speaking now
01:35:45 <ihope> Sgeo: I turned 14 some days ago. Are you younger than that?
01:35:49 <Sgeo> No
01:39:13 <oerjan> a great chance of employing zero-knowledge proofs wasted :/
01:39:29 <Sgeo> oerjan, that's what I was trying to refer to
01:39:43 <oerjan> i figured
01:40:01 <Sgeo> How would we do a zero-knowledge proof thingy here?
01:40:59 <ihope> Zero-knowledge proof?
01:41:31 <oerjan> a cryptographical technique for proving you have some knowledge without revealing it
01:42:14 <Sgeo> How could that be done in chat?
01:43:16 <oerjan> i'm sure it would be verbose. we would have to simulate the algorithm
01:44:06 <oerjan> although first we would perhaps have to find an algorithm.
01:45:30 <oerjan> i think it is based on huge keys like in RSA.
01:49:54 <ihope> Let's try to come up with a zero-knowledge proof.
01:50:22 <ihope> Eh, wait.
01:50:35 <ihope> Well... hmm.
01:51:09 <Sgeo> http://www.cs.fit.edu/~msilaghi/secure/
01:52:21 -!- wooby has joined.
01:52:39 <Sgeo> AFK
01:52:50 -!- wooby has quit (Client Quit).
01:57:22 <Razor-X> My math teacher chews and spits out show-offs.
01:57:36 <Razor-X> And with Calculus III under her belt, I'm not one to challenge her.
01:58:21 <xor_> I hate math class
01:59:30 -!- kipple_ has quit (Read error: 145 (Connection timed out)).
02:18:41 <CakeProphet> Actually..
02:18:50 <CakeProphet> to do a zero knowledge proof... you need to only do this.
02:19:17 <CakeProphet> !
02:19:26 <CakeProphet> The theory of everything... proven
02:19:34 <CakeProphet> now figure out the meaning.
02:20:01 <ihope> I disagree.
02:20:05 * oerjan thinks the prophet must have eaten some bad cake
02:20:17 <Sgeo> Razor-X, hm?
02:20:20 <CakeProphet> ihope, I DEMAND A COUNTEREXAMPLE.
02:21:00 <ihope> ! is 33, silly.
02:21:07 <Sgeo> Razor-X, what do you mean "chews and spits out show-offs"?
02:21:28 <ihope> The theory of everything is actually *
02:21:43 <Sgeo> ihope, I thought it was more like .*
02:22:04 <ihope> No, that's the regex of everything.
02:22:26 <ihope> Actually, the theory of everything is this: forall a. a
02:22:37 <ihope> I.e. "everything is true".
02:27:09 * Sgeo still wants to conduct zero-knowledge proofs in this channel
02:27:33 <oerjan> to get a COUNTEREXAMPLE, use the theory of something: exists a. a
02:28:09 <CakeProphet> -D|5╫aT╫4╘4G╢♥3-4A☺☼49§☼457c╞7524☻455»-┐M+B!☻♦♦♣455♦♣-445♦64654♦♦♣:7♪û☺jä1▼4
02:29:06 <oerjan> See http://en.wikipedia.org/wiki/Secure_multiparty_computation, there are links to programs
02:32:40 <oerjan> oh, you were linking to one of them
02:34:10 <Sgeo> Fairplay looks more flexible somehow
02:34:14 <Sgeo> But not enough docs
02:34:56 <oerjan> ah, SMC is a programming language
02:34:57 <ihope> oerjan: the theory of something contradicts the theory of everything?
02:35:46 <oerjan> of course. the theory of everything after all implies that everything contradicts everything.
02:36:18 * pikhq proposes a formal system of logic where everything I say is right
02:36:18 <oerjan> http://www.cs.fit.edu/~msilaghi/SMC/tutorial.html
02:36:50 <ihope> The theory of everything is pretty darn inconsistent, you know.
02:37:08 <ihope> Not that there are actually different levels of being inconsistent.
02:37:29 <oerjan> ah but there are in relevance logic
02:38:15 <oerjan> there, a contradiction from some propositions cannot affect irrelevant ones
02:38:26 <Sgeo> SMC confuses me
02:40:29 <Sgeo> Why is oblivious transfer important?
02:41:27 <oerjan> ah, Fairplay is a predecessor to SMC for only 2 participants
02:41:42 <xor_> sounds interesting
02:42:26 <oerjan> i don't know but wikipedia said that oblivious transfer could be used to construct secure multiparty computations
02:44:27 <Sgeo> http://64.233.161.104/search?q=cache:oMqmmv1jYlAJ:csrc.nist.gov/kba/Presentations/Day%25202/Jablon-Methods%2520for%2520KBA.pdf+%22Zero-knowledge+password+proof%22&hl=en&gl=us&ct=clnk&cd=3&client=opera
02:51:02 -!- ivan` has joined.
03:04:02 -!- thematrixeatsyou has joined.
03:04:58 <thematrixeatsyou> hi
03:07:55 <Sgeo> Hi
03:08:15 <xor_> aaaaah where's egobot
03:08:22 <pikhq> I ate it.
03:08:34 <thematrixeatsyou> no, i think the matrix did
03:08:37 <xor_> How did he taste?
03:08:58 <oerjan> like an electronic chicken
03:08:59 <pikhq> Oishikunakatta.
03:09:05 <thematrixeatsyou> meh, i didn't make the thing
03:09:24 <thematrixeatsyou> Sumimasen.
03:09:25 <oerjan> pikhq: bless you
03:09:37 <pikhq> "Not tasty".
03:10:11 * pikhq likes Japanese. . .
03:10:12 <thematrixeatsyou> oshikatta ni sumimasen.
03:10:24 <thematrixeatsyou> oshii = disappointing
03:10:55 <pikhq> But I used "oishii".
03:11:41 <thematrixeatsyou> i know, and i used oshii.
03:11:59 <pikhq> Mmkay.
03:17:48 <oerjan> i say tomato, you say tomato...
03:18:17 <thematrixeatsyou> you say rubber...
03:18:25 <pikhq> I say tomato, you say redrum.
03:19:01 <thematrixeatsyou> i say lets get drunk, you say sure, why not?
03:19:57 <xor_> because I'm already drunk?
03:32:10 -!- ihope has quit (Connection timed out).
03:35:59 <RodgerTheGreat> g'night, everyone.
03:38:26 <pikhq> xor_: Get MORE DRUNK!
03:38:33 <xor_> lol
03:40:40 <xor_> too drunk==not fun
03:40:47 <thematrixeatsyou> nn
03:41:02 <thematrixeatsyou> little drunk==too fun
03:41:13 <xor_> little drunk==fun
03:49:06 <thematrixeatsyou>
03:49:20 <thematrixeatsyou> ֦ذƢ ǹ
03:49:26 <thematrixeatsyou> .
03:56:18 <xor_> cattttttttttttttttttttttttttttttttttttt
03:56:31 <oerjan> ddddddddddddddddddddddddddddddddddddog
03:57:22 <xor_> concatenaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaate
04:20:09 <Razor-X> I say 「あの人々は子供の動くようがあったし」 you say 「ナニッ?!子供心はとても主なことだったネ」.
04:21:37 <Razor-X> 反対に失礼。
04:24:14 <Asztal> !!!
04:25:44 -!- wooby has joined.
04:29:26 -!- wooby has quit (Client Quit).
04:29:38 -!- wooby has joined.
04:30:03 <wooby> hello friends
04:31:48 * SimonRC goes to bed
04:35:12 -!- oerjan has quit ("Good night.").
04:49:10 -!- Asztal has quit (Read error: 60 (Operation timed out)).
05:16:30 -!- calamari has quit ("Leaving").
05:20:35 -!- Sgeo has quit ("Ex-Chat").
05:37:35 <thematrixeatsyou> gonna go, bye
05:38:08 -!- thematrixeatsyou has quit ("-- food and stuff -- bye -- still haven't done that english essay --").
06:08:44 -!- GregorR-L has joined.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:27:26 -!- RodgerTheGreat has quit (Remote closed the connection).
08:28:07 -!- RodgerTheGreat has joined.
08:32:39 -!- ivan` has quit (" HydraIRC -> http://www.hydrairc.com <- State of the art IRC").
08:36:52 -!- RodgerTheGreat has quit (Read error: 104 (Connection reset by peer)).
08:38:50 -!- RodgerTheGreat has joined.
08:58:45 -!- GregorR-L has quit ("Leaving").
09:00:59 -!- RodgerTheGreat has quit (Read error: 110 (Connection timed out)).
09:02:45 -!- EgoBot has joined.
09:12:01 -!- CakeProphet has quit ("haaaaaaaaaa").
09:20:47 -!- RodgerTheGreat has joined.
09:38:06 -!- RodgerTheGreat has quit (Read error: 110 (Connection timed out)).
11:17:16 <EgoBot> cannot write checkpoint image
11:55:36 -!- kipple_ has joined.
11:59:42 -!- Asztal has joined.
12:45:09 -!- ihope__ has joined.
12:45:18 -!- ihope__ has changed nick to ihope.
13:02:42 <ihope> From now on, everything in this channel must follow Wikipedia official policies.
13:03:17 * ihope nominates his above statement for deletion, it being non-notable original research
13:04:34 <ihope> Oh, it's protected? Some administrator needs to unprotect it.
13:05:06 * ihope nominates that for deletion as well, for the same reason
13:08:09 * Asztal nominates User:ihope for deletion
13:09:01 * ihope votes "speedy keep"
13:29:48 -!- wooby has quit.
14:45:28 -!- tgwizard has joined.
14:54:50 -!- RodgerTheGreat has joined.
14:59:26 -!- kipple_ has quit ("See you later").
15:03:13 -!- Asztal has quit ("Chatzilla 0.9.72-rdmsoft [XULRunner 1.8.1b2/0000000000]").
15:45:06 -!- calamari has joined.
16:05:21 -!- Asztal has joined.
16:05:46 -!- calamari has quit (Read error: 110 (Connection timed out)).
16:24:17 <RodgerTheGreat> 'morning
16:24:53 <SimonRC> hi (2)
16:25:03 <RodgerTheGreat> heh
16:26:04 * SimonRC decides that assembley would be great for functional programming.
16:26:14 <SimonRC> Functions really *are* data there.
16:26:27 <RodgerTheGreat> hm
16:26:31 <SimonRC> although the RO and NX bits may get in the way :-(
16:26:56 <SimonRC> also, by fucking with the stack pointer, you can easily do coroutines
16:27:05 <SimonRC> ww, maybe
16:29:34 <RodgerTheGreat> I'm working on my synthesys reference interpreter at the moment- I think I'm going to need to figure out how to use HashMaps in Java to do this properly.
16:32:31 <SimonRC> The trick to doing this kind of thing in Java is:
16:32:34 <SimonRC> don't
16:32:52 <RodgerTheGreat> so says you.
16:36:22 <SimonRC> indeed
16:44:15 <RodgerTheGreat> sweet. these things are actually *really* easy to use.
16:45:02 <RodgerTheGreat> a hashmap is a perfect way to keep track of the name->value correlations for variables.
16:52:15 <RodgerTheGreat> anyone remember the escape sequence for NULL offhand?
16:53:05 <RodgerTheGreat> oh, nvm- it's \0
17:13:56 <RodgerTheGreat> woot. just 3 more commands to implement.
17:24:34 -!- CakeProphet has joined.
17:24:53 <RodgerTheGreat> hello, cakeprophet
17:26:02 <CakeProphet> Heys.
17:27:41 -!- Razor-X has quit (Remote closed the connection).
18:15:35 -!- CakeProphet has quit (Read error: 145 (Connection timed out)).
18:32:16 -!- CakeProphet has joined.
18:40:09 -!- Asztal has quit ("Chatzilla 0.9.72-rdmsoft [XULRunner 1.8.1b2/0000000000]").
18:45:32 -!- calamari has joined.
18:46:06 <calamari> hi
18:48:47 * CakeProphet waves.
18:57:03 <RodgerTheGreat> hello
19:01:03 * calamari just found a major bug in bfbasic
19:01:17 <calamari> something has gone wrong with do/loop
19:06:14 -!- CakeProphet has changed nick to SevenInchBread.
19:06:26 -!- SevenInchBread has changed nick to CakeProphet.
19:07:17 -!- CakeProphet has changed nick to GrandmotherChaos.
19:07:30 -!- GrandmotherChaos has changed nick to CakeProphet.
19:10:29 -!- CakeProphet has changed nick to SevenInchBread.
19:10:36 <SevenInchBread> ....
19:12:07 <ihope> Are you somehow using Python to do esoteric things with Wikipedia or something?
19:14:38 -!- Sgeo has joined.
19:25:01 * calamari wonders who ihope is talking to
19:25:31 <ihope> To SevenInchBread.
19:25:39 * Sgeo wonders where calamari sees ihope talking
19:25:50 <SevenInchBread> ihope, yes.
19:25:55 <ihope> <ihope> Are you somehow using Python to do esoteric things with Wikipedia or something?
19:26:14 <SevenInchBread> Actually..
19:26:16 <SevenInchBread> I'm using magic.
19:26:22 <SevenInchBread> to do esoteric things with Wikipedia.
19:26:36 <ihope> Where's Python come in, then?
19:26:49 <Sgeo> What's SevenInchBread doing with Wikipedia?
19:27:04 <SevenInchBread> Python comes in everywhere.
19:27:16 <ihope> Are you doing it to http://en.wikipedia.org/wiki/Python_(programming_language)?
19:27:35 <SevenInchBread> It is within the rustle of every leaf... in the blooming of every flower.
19:27:56 <xor_> python rocks
19:27:58 <SevenInchBread> ihope, Your question reflects the true answer that is.
19:28:37 <xor_> It would rock even more if it didn't use indentation
19:28:59 <SevenInchBread> ...pretty much every language uses indentation as a standard precedure....
19:29:02 * Sgeo <3 the indentation
19:29:19 <SevenInchBread> I mean... is it any worse than asking you to put {}'s around everything? :P
19:29:25 <xor_> yes
19:29:28 <SevenInchBread> ...
19:29:39 <xor_> because the indentation gets screwed up easily
19:29:44 <xor_> {}s don't
19:30:18 <SevenInchBread> Nah... it's simple to fix... most of the screw-ups are just errors caused by mismatches parenthetical thingies somewhere.
19:30:42 <Sgeo> DM uses indentation
19:31:30 <ihope> Use Python without the indentation stuff.
19:31:43 <SevenInchBread> can't... unless you hack the interpreter.
19:31:57 <SevenInchBread> indentation is its only means of specifying blocks.
19:32:05 <ihope> You need blocks?
19:32:23 <SevenInchBread> if something == somethingsomething:
19:32:24 <SevenInchBread> block
19:32:26 <SevenInchBread> block
19:32:28 <SevenInchBread> block
19:32:29 <SevenInchBread> Yes.
19:32:33 <SevenInchBread> Unless you don't plan on using ifs, whiles, fors, or defs.
19:32:35 <SevenInchBread> :D
19:32:43 <ihope> Can't you use functions for if, while, and for?
19:33:11 <SevenInchBread> None that are built in.
19:33:21 <SevenInchBread> you could make one.. but that would require a def... which require indentation./
19:33:35 <SevenInchBread> and by then it's just simpler to indent.
19:33:37 <ihope> Well then, only use... three blocks?
19:34:05 <SevenInchBread> and the interpreter usually autoindents everything for you... so... it's not like it's difficult or anything.
19:34:46 <SevenInchBread> you just have to dedent with a backspace at the end of the block... which is, in my opinion, much easier to do than shift+}
19:35:56 <xor_> It's very easy to screw up the indentation
19:36:17 <SevenInchBread> ...how?
19:36:26 <pikhq> C-j says otherwise.
19:36:37 <xor_> Editors will do it for you, I know, but just try editing in a different editor or posting it somewhere
19:36:52 <xor_> I don't mean mess it up while coding
19:37:00 <pikhq> SevenInchBread: BTW, God coded in Lisp.
19:37:11 <SevenInchBread> I could see that.
19:37:22 <SevenInchBread> Well.. God kinda seems like a Forth coder.
19:38:04 <SevenInchBread> Maybe he uses a Lisp-Forth hybrid monster.
19:38:20 <SevenInchBread> xor_, Why would you be editing Python outside of a Python editor?
19:38:20 <xor_> prefix notation, postfix notation
19:38:45 <pikhq> Nah, he just coded the Lisp interpreter in Forth.
19:40:02 <xor_> huh?
19:40:07 <xor_> What's a python editor?
19:40:36 <xor_> some editors use tabs, some use 4 spaces, some use 2, some use 8
19:40:47 <SevenInchBread> xor_, Doesn't matter.
19:40:56 <xor_> yeah it does
19:41:17 <SevenInchBread> the Python interpreter requires that only the indention of a certain indent level remains constant.
19:41:28 <xor_> "def foo():\n stuff()\n\tmorestuff()\n"
19:41:30 <xor_> doesnt work
19:41:37 <SevenInchBread> and I'm pretty sure most editors auto-detect the indent settings being used.
19:41:53 <xor_> also, you can't cram a lot of code on one line
19:42:03 <SevenInchBread> heh... I beg to differ :D
19:42:12 * SevenInchBread shows you his one-line prime number generator.
19:42:42 <xor_> if x: stuff(); else: oh wait, i'm screwed
19:44:07 <Sgeo> SevenInchBread, hm?
19:44:45 <SevenInchBread> prime = lamba nums: filter(lamba x: Ture not in map(lamba primecheck: x % primecheck == 0, range(2, x/2)), nums)
19:44:56 <SevenInchBread> I might have screwd it up.. I never saved it so I just sorta made it off of memory.
19:45:04 <SevenInchBread> lemme test it.
19:45:42 <Sgeo> Ture?
19:45:55 <SevenInchBread> Oh.
19:45:57 <SevenInchBread> True
19:45:58 <SevenInchBread> :D
19:46:02 -!- Asztal has joined.
19:46:31 <xor_> You can't use normal code on just one line
19:46:49 <SevenInchBread> define "normal code".
19:47:19 <xor_> using lambdas
19:47:43 <xor_> isn't normal
19:47:49 <SevenInchBread> Well... that's because statements aren't expressions.
19:48:15 <SevenInchBread> Python isn't supposed to do one-line statement-expression type things.
19:48:18 <SevenInchBread> It wasn't made for that.
19:48:21 <xor_> yeah
19:48:36 <xor_> But try and post your code to a forum that removes indentation
19:48:39 <SevenInchBread> but... it can if you want it to.
19:48:57 <SevenInchBread> Use a preformmatted setting on the forum.
19:49:00 <pikhq> xor_: That would be called "borken".
19:49:07 <Asztal> or find a better forum. :)
19:49:15 <xor_> There are almost no decent languages that are whitespace sensitive
19:49:23 <SevenInchBread> most forums have a [code][/code] feature for preformatted stuff.
19:49:43 <SevenInchBread> Python is only whitespace sensitive at the front of a line.
19:49:46 <pikhq> Python is decent.
19:49:49 <xor_> I know
19:49:50 <pikhq> It's whitespace sensitive.
19:49:59 <xor_> It would be better if it wasn't
19:50:03 <pikhq> Therefore, there's at least one decent language that's whitespace sensitive.
19:50:14 * SevenInchBread honestly doesn't understand how whitespace sensitivity makes a language better.
19:50:25 <xor_> There are _almost_ no decent languages that are whitespace sensitive
19:50:29 <pikhq> Ah.
19:50:37 <SevenInchBread> hmmm...
19:50:45 <pikhq> Most of them actually seperate tokens by whitespace.
19:51:09 <pikhq> Unless "chari=5;" means anything in C?
19:51:10 <SevenInchBread> I don't see how a language would find tokens easily without using whitespace.
19:51:22 <SevenInchBread> hmmm... blah=2 works in Python.
19:51:56 <pikhq> Or "intmain(intfoo,charbaz){charbar=foo+baz;return(bar);}"?
19:52:32 <xor_> ...I give up
19:52:46 <pikhq> SevenInchBread: "char i" would define a variable 'i' of type char, not a variable named "char i".
19:53:05 <SevenInchBread> pfft... that's gay.
19:53:14 <SevenInchBread> and I just used gay as a derogative word.
19:53:16 <SevenInchBread> which isn't often.
19:53:16 <pikhq> It's called "a typed language".
19:53:34 <SevenInchBread> >>> prime = lambda nums: filter(lambda x: True not in map(lambda primecheck: x % primecheck == 0, range(2, (x/2)+1)), nums)
19:53:35 <SevenInchBread> >>>
19:53:37 <SevenInchBread> >>> prime(range(2, 24))
19:53:39 <SevenInchBread> [2, 3, 5, 7, 11, 13, 17, 19, 23]
19:54:04 * SevenInchBread wiggles fingers ominously.
19:56:02 <SevenInchBread> but now with the release of Python 2.5... the only control flow statements that don't have an expression equivalent are while and with
19:56:13 <SevenInchBread> doesn't
19:56:47 <xor_> ?
19:56:59 <SevenInchBread> x = (y if check == True else None)
19:57:28 <xor_> you can do that in 2.5!
19:57:31 <pikhq> Must be hell to parse. XD
19:58:04 * xor_ looks it up
19:58:05 <SevenInchBread> squared = [n * n for n in (ThisList if HellFrozenOver == True else SomeOtherHellFriendlyList)]
19:58:06 <xor_> yay!
19:58:43 <SevenInchBread> Which is the equivalent of....
19:59:51 * xor_ gets python 2.5
19:59:55 <SevenInchBread> squared = []
19:59:57 <SevenInchBread> if HellFrozenOver == True:
19:59:58 <SevenInchBread> for n in ThisList:
20:00:00 <SevenInchBread> squared.append(n * n)
20:00:01 <SevenInchBread> else:
20:00:03 <SevenInchBread> for n in SomeOtherHellFriendList:
20:00:04 <SevenInchBread> squared.append(n * n)
20:00:09 <SevenInchBread> much more terse. :D
20:00:29 <xor_> I think python just got 2.5 times better
20:00:50 <SevenInchBread> yeah... but they're thinking about removing lambda in version 3
20:01:23 <SevenInchBread> which isn't that terrible... list comprehensions can pretty much do anything lambda could do...
20:01:31 <SevenInchBread> and are a tad easier to read.
20:01:44 <pikhq> foreach n [expr $HellFrozenOver ? $ThisList : $HellFriendlyList] {append squared [expr $n*$n]}
20:01:52 <SevenInchBread> mmmm Perl
20:01:59 <SevenInchBread> I think
20:02:12 <SevenInchBread> looks like Perl... anything with $'s looks like Perl to me.
20:02:30 <Sgeo> lol
20:02:47 <xor_> wait
20:02:57 <xor_> you cant do "print x if y"
20:02:59 <xor_> :(
20:03:14 <SevenInchBread> I'm pretty sure it needs an else.
20:03:36 <xor_> nope
20:03:54 <SevenInchBread> Ah... yeah
20:04:01 <xor_> print 2 if x else print 1
20:04:05 <xor_> SyntaxError: invalid syntax
20:04:23 <SevenInchBread> Because you can't just make print magically print nothing when you're telling it to print something.
20:04:42 <xor_> ?
20:04:59 <SevenInchBread> print wouldn't play nice with the if expressions.
20:05:06 <SevenInchBread> basically
20:05:21 <Sgeo> Wouldn't it be
20:05:32 <Sgeo> hm
20:05:32 <xor_> hmmmmm
20:05:33 <Sgeo> n/m
20:05:45 <xor_> sys.stdout.write("1") if 1 else sys.stdout.write("2")
20:05:47 <xor_> works
20:05:52 <Sgeo> print (2 if x else 1)
20:06:05 <SevenInchBread> Nope.
20:06:08 <xor_> yep
20:06:12 <Sgeo> Why not?
20:06:20 <SevenInchBread> if doesn't work on print in general... methinks
20:06:25 <xor_> print (2 if 1 else 1)
20:06:25 <xor_> 2
20:06:32 <SevenInchBread> besides... you could just do.
20:06:38 <SevenInchBread> if y: print x
20:06:41 <SevenInchBread> problem solved. :D
20:06:55 <Sgeo> My thing works
20:07:01 <Sgeo> (2 if x else 1) is a value
20:07:15 <Sgeo> print could just print that
20:07:19 <Sgeo> =P
20:07:35 <SevenInchBread> No I mean.. it doesn't work.
20:07:38 <SevenInchBread> even if it is an expression
20:07:41 <SevenInchBread> >>> print (2 if 1 else 1)
20:07:42 <Sgeo> hm?
20:07:42 <SevenInchBread> SyntaxError: invalid syntax
20:07:44 <SevenInchBread> >>>
20:07:49 <xor_> what version?
20:07:52 <Sgeo> SevenInchBread, what version of Python?
20:07:52 <SevenInchBread> 2.5
20:08:04 <xor_> $ python2.5 --version
20:08:04 <xor_> Python 2.5
20:08:05 <Sgeo> >>> print (2 if 1 else 1)
20:08:05 <Sgeo> 2
20:08:07 * SevenInchBread is up-to-date, biatch. *puts on stunna shades*
20:08:09 <pikhq> SevenInchBread: That was Tcl.
20:09:01 <pikhq> puts [expr 1 ? 2 : 1]
20:09:24 <pikhq> % puts [expr 1 ? 2 : 1]
20:09:24 <pikhq> 2
20:09:44 <Sgeo> SevenInchBread, worked for me
20:09:49 <SevenInchBread> hmmm...
20:09:56 <SevenInchBread> I think... IDLE is using the wrong version.
20:10:02 <xor_> um wtf
20:10:08 * pikhq huggeth Tcl
20:10:11 <Sgeo> SevenInchBread, "with" doesn't change color in IDLE
20:10:20 <xor_> >>> print (2 if 1 else 1)
20:10:24 <xor_> SyntaxError: invalid syntax
20:10:51 <xor_> ooops wrong version
20:11:30 <Sgeo> import sys; sys.version
20:12:00 <SevenInchBread> Sgeo, You need to enable it via the __future__ module.
20:12:14 <xor_> no....
20:12:20 <xor_> not in python2.5
20:12:22 * SevenInchBread is talking about with.
20:12:30 <xor_> oh
20:12:43 <SevenInchBread> with will be enabled by default in Python 2.6
20:13:02 <xor_> why not in 2.5?
20:13:15 <SevenInchBread> Not sure.
20:13:23 <SevenInchBread> maybe for bug testing... or to make sure it's safe or something.
20:13:43 <xor_> whoa nice
20:14:16 <xor_> iterator.send(x)
20:14:17 -!- EgoBot has quit (Read error: 110 (Connection timed out)).
20:16:45 <SevenInchBread> hmmm..
20:16:51 <SevenInchBread> for some reason idle is running in 2.4.3
20:17:10 <xor_> idle-python2.5
20:17:42 <xor_> neato
20:17:44 <xor_> with open('/etc/passwd', 'r') as f:
20:18:29 * SevenInchBread still hasn't figured out how with works.
20:18:49 <SevenInchBread> I think it just ensures that things close properly..
20:18:59 <xor_> yeah
20:19:10 <xor_> "After this statement has executed, the file object in f will have been automatically closed, even if the 'for' loop raised an exception part-way through the block."
20:19:33 <SevenInchBread> but it has some extra funcionality with user-made classes.
20:19:49 <SevenInchBread> Most of Python's power is in its object-oriented stuff.
20:19:59 <xor_> "the context management protocol"
20:20:38 -!- ivan` has joined.
20:20:47 <SevenInchBread> I like the direction they're going with the whole "type/class unification" thingy.
20:21:07 -!- EgoBot has joined.
20:21:07 <EgoBot> cannot read elfstream /home/gregor/esoteric/egobot/egobot/daemons/.cat
20:21:26 <pikhq> !daemon cat bf ,[.,]
20:21:46 -!- ihope__ has joined.
20:21:50 <xor_> "The context manager must have __enter__() and __exit__() methods."
20:23:21 <SevenInchBread> Yeah.
20:23:39 <SevenInchBread> On user-made classes.... __enter__() and __exit__() will be called to specify what exactly happens in the with statement.
20:24:08 <SevenInchBread> Like how __eq__() controls what happens when you use an instance in an == operation.
20:27:33 -!- SevenInchBread has changed nick to SixInchBread.
20:28:42 -!- SixInchBread has changed nick to SevenInchBread.
20:32:20 <xor_> I never understood method decorators
20:37:55 -!- ihope has quit (Connection timed out).
20:46:58 * SimonRC point out that FORTRAN and INTERCAL don't need whitespace at all.
20:47:18 <SimonRC> the language Whitespace needs whitespace, though
20:47:19 <SevenInchBread> xor_, I wouldn't call them "decorators"
20:47:29 <xor_> That's what the docs call them
20:47:41 <SevenInchBread> Basically the __'s are just there to tell the user that the method is called somewhere special.
20:47:48 <xor_> not those
20:47:52 <SevenInchBread> You're probably referring to function decorators...
20:47:54 <SevenInchBread> oh
20:52:00 * SimonRC likes the Haskell program in which evey variable is named by a string of ?????
20:53:19 <SimonRC> you get lines like: let(???????)???(????????????????)=(??(?????))in(???????
20:53:20 <SimonRC> )
20:54:08 <xor_> haskell is weird
20:54:28 <SimonRC> heheh
20:54:36 <Sgeo> How do I replace "!@#$%^&*()" with a particular number in JavaScript?
20:55:12 <SimonRC> is there an "indexof"-type function?
20:57:48 -!- SimonRC has changed nick to VickyPollard.
20:57:55 -!- VickyPollard has changed nick to SimonRC.
21:13:01 <ihope__> SimonRC: I like strings of underscores better.
21:13:07 <SimonRC> heh
21:13:14 <SimonRC> though _ is reserved
21:13:20 <ihope__> It's harder to count long strings of underscores.
21:13:28 <ihope__> _ being reserved is a good thing. :-)
21:15:22 <ihope__> __ _ ___ [] = ___
21:15:26 <ihope__> St4ff 352e that.
21:15:41 <ihope__> Erm, stuff like that.
21:15:58 * ihope__ has n40ber 36c2 6n and 5s 4s5ng a 3a*t6*
21:16:37 <SimonRC> you're writing in leet now?
21:16:53 <SimonRC> oh, wait, you have the nu pad on
21:17:01 <SimonRC> and you're on a laptop
21:21:47 <ihope__> Ye*.
21:22:01 <xor_> nu pad?
21:22:14 <SimonRC> *num pad
21:22:40 <SimonRC> the thing that says /*-789+4561230. on it
21:22:52 <ihope__> Y64 05ght get 4sed t6 5t.
21:23:00 <ihope__> And I might turn it off.
21:24:36 <RodgerTheGreat> is there anyone here familiar with perl that thinks they could help me figure out what I'm doing wrong here? http://nonlogic.org/dump/text/1162675301.html
21:26:26 -!- oerjan has joined.
21:26:30 * SimonRC inspects it closely.
21:26:40 <RodgerTheGreat> thanks
21:26:50 <RodgerTheGreat> it just i-loops for some reason...
21:27:20 <SimonRC> have you tried putting a lod of prints in there?
21:27:22 <SimonRC> *load
21:28:17 <RodgerTheGreat> well, I put in a "print $x;" down by where I increment $x, and it never prints, so it may be getting caught in the ][ handlers somewhere...
21:28:45 <oerjan> perl?
21:28:51 <RodgerTheGreat> yeah
21:29:19 <RodgerTheGreat> I just decided to learn it this afternoon, and I figured a BF interpreter was a fairly good starting point.
21:30:05 <oerjan> good thought
21:30:58 <ihope__> Nah, you should write a PE -> PE compiler.
21:31:08 <ihope__> One that adds virtualization.
21:33:19 <oerjan> silly ihope, this is a talk page, not an article page.
21:33:38 <RodgerTheGreat> haha
21:34:12 <ihope__> Hmm?
21:34:27 <oerjan> referring to your wikipedia policy
21:34:28 * ihope__ adds another instruction to his assembly-like language, making it 50
21:34:41 <ihope__> Am I supposed to sign all my messages, then?
21:34:57 <ihope__> s/instruction/nine instructions/
21:35:13 <Asztal> yes. ~~~~
21:35:27 <oerjan> fortunately, you already do so.
21:35:48 <ihope__> I do?
21:35:52 <oerjan> a little backwards, though
21:36:12 <ihope__> I thought the servers did that.
21:36:17 <oerjan> well, _i_ certainly see your nick before your messages.
21:36:31 <Asztal> oerjan: what a ridiculous idea!
21:36:51 <Asztal> IRC is much more fun when the server supports anonymous channels. :)
21:36:59 <oerjan> so? in wikipedia you just push a button.
21:37:03 * ihope__ adds instruction number 51 to his language
21:37:14 <oerjan> don't even need to write your name
21:37:55 <oerjan> we do have a nearly anonymous channel here. it's called /msg egobot !cat
21:38:31 -!- EgoBot has quit (Read error: 104 (Connection reset by peer)).
21:38:37 <ihope__> Not anymore.
21:38:46 -!- EgoBot has joined.
21:38:48 <Asztal> erm.
21:39:19 <oerjan> i hope that had no connection to what i said.
21:39:19 <ihope__> input, output, finish, jump, set, add, subtract, mult, div, mod, and, or, xor, nand, nor, nxor, equal, nequal, less, great, lesseq, greateq, popa, popb, pusha, pushb, user, popt, pusht, peeka, peekb, peekt, sizea, sizeb, sizet, rjump, load, retrieve, info, djump, drjump, popba, pushba, peekba, popbb, pushbb, flipa, flipb, call, choose
21:39:48 <ihope__> And actually, we need popbt, pushbt, peekbt, and flipt, too.
21:40:04 <oerjan> some of those sound like they're from some weird african language
21:40:33 <ihope__> "Popbt" = "pop from the bottom of the trap stack".
21:40:44 <ihope__> And all that jazz.
21:41:21 <ihope__> Anyway, this makes it 55 instructions.
21:41:22 <oerjan> you simply have to add a peekaboo instruction. so says i.
21:41:30 <ihope__> What would that do?
21:41:52 <oerjan> something with peeking and booleans, perhaps.
21:44:48 -!- EgoBot has quit (Read error: 104 (Connection reset by peer)).
21:46:17 <ihope__> Oh, and "popbt" is actually "pop from the bottom of the trap stack unless in user mode and the stacktt register is nonzero, in which case the instruction pointer as seen from system mode is to be pushed to the trap stack, system mode is to be entered, and a jump is to be done to the location in the stacktt register, or the trap stack is empty, in which case the jump instruction is to be...
21:46:19 <ihope__> ...called with the location in the stackte register".
21:46:27 <oerjan> referring to god, he coded in the following language: ftp://ftp.nvg.ntnu.no/pub/frc/39
21:46:50 <ihope__> It's one of those fancy assembly languages with support for system mode and user mode and all that stuff.
21:51:44 <ihope__> And I wondered why these assembly languages had to have so many instructions.
21:52:34 * ihope__ adds instruction number 56: cancel
22:02:20 * ihope__ finds his typing is not impaired that much when he removes his right index finger
22:03:12 <oerjan> that bored, huh? :)
22:03:59 <oerjan> i'm sure if you used a knife it _would_ impair it a great deal.
22:03:59 <pikhq> Did you remove it using a knife or something?
22:04:24 <ihope__> I stuck it in the thingy of a pen.
22:04:37 <ihope__> The thingy you use to stick it on things.
22:05:15 <oerjan> there is room for a finger in that?
22:05:49 <ihope__> Fingertip, yes.
22:28:25 -!- Razor-X has joined.
22:28:46 <RodgerTheGreat> howdy.
22:31:48 <Razor-X> Heya.
22:35:49 <RodgerTheGreat> what's up?
22:40:58 <RodgerTheGreat> I've been learning Perl this afternoon.
22:41:36 <oerjan> rodgerthegreat: i think you should set $iptr=0, not -1.
22:42:00 <oerjan> alternatively use ++$iptr instead of $iptr++.
22:42:15 <RodgerTheGreat> ah- that may be the issue. I confused pre and post increment
22:42:49 <oerjan> i cannot see why that should cause an infinite loop though.
22:43:06 <oerjan> do you use the -w flag?
22:43:25 <RodgerTheGreat> well, I commented out the [] code, and it doesn't i-loop anymore- still working on it
22:43:34 <Razor-X> I need to learn Perl.
22:43:38 <Razor-X> I've been setting it aside.
22:44:00 <Razor-X> Aha. Language innaguration with a BF interpreter?
22:44:21 <Razor-X> (I'm doing the same in Forth.)
22:44:41 <RodgerTheGreat> :D
22:44:52 <RodgerTheGreat> it's a proud tradition.
22:44:57 <Razor-X> Yup.
22:45:39 <Razor-X> I wrote all the code to deal with everything but [] and the actual parsing itself.
22:46:32 <Razor-X> I also thought up a new technique of representing the BF pointer that may be handy in writing an ASM version.
22:48:00 <RodgerTheGreat> sounds interesting. how does your approach work?
22:48:27 <Razor-X> Really simple, actually.
22:48:51 <Razor-X> The BF pointer is just an offset from the address of the first cell in the BF tape in memory.
22:49:10 <RodgerTheGreat> ah
22:52:37 <pikhq> I just got bored and did a Tcl Brainfuck interpreter.
22:52:43 <RodgerTheGreat> hm. I guess I'll try rewriting my postconditionals in a normal fashion- they might be causing some of my problems.
22:52:46 <pikhq> And I found something that I don't know in the language.
22:52:54 <Razor-X> It's a bit challenging in Forth. A bit.
22:52:58 <pikhq> How the hell are you supposed to get only a single char from stdin?
22:53:30 <Razor-X> Also because I'm trying to use as little non-stack memory as possible.
22:53:50 <Razor-X> I only allocate a dynamic amount of memory for the tape, and a variable to hold the size of the tape.
22:54:03 <Razor-X> The rest is just crafty usage of the main and return stacks.
22:55:16 <RodgerTheGreat> aargh
22:55:29 <RodgerTheGreat> nothing.
22:55:40 <Razor-X> Heh.
22:59:38 <Razor-X> The Forth people are correct too. I suffer from a typical problem. I try and overplan.
22:59:58 <Razor-X> I hate it when I spend 10 minutes weighing an implementation idea in my head for advantages and disadvantages.
23:02:57 <oerjan> RTG: i note you are writing $x++;$ctr++ if $p[$x]=="["; . you are not wrongly assuming that the if would scope over both statements?
23:04:26 <RodgerTheGreat> x should be scoped higher than everything- it's defined on line 3.
23:04:48 <oerjan> that's not what i meant.
23:05:12 <oerjan> i wondered why you aren't splitting that into two lines...
23:05:27 <RodgerTheGreat> oh, no- I see what you mean
23:05:56 <RodgerTheGreat> and I intended for X to be incremented for every iteration of that loop.
23:06:21 <oerjan> so that part is correct.
23:06:30 <RodgerTheGreat> yeah, it ought to be.
23:07:28 <RodgerTheGreat> do you understand how my code for that section works?
23:10:34 <oerjan> well, everything seems correct to me.
23:10:59 <RodgerTheGreat> yeah, I just can't figure out what I'm doing wrong.
23:12:47 <oerjan> do you have an example program and input that goes wrong?
23:13:33 <RodgerTheGreat> right now, I'm just trying it with ,+. and A.
23:14:16 <RodgerTheGreat> and it outputs A.
23:14:29 <RodgerTheGreat> which is pretty depressing, really.
23:15:30 <oerjan> well it tells us something: , and . are working.
23:16:00 <RodgerTheGreat> actually, they don't.
23:16:17 <RodgerTheGreat> if I run the same program with "ABC" as input, it outputs "ABC".
23:21:11 <oerjan> i am suspecting that your split("", does not work properly.
23:22:00 <oerjan> try replacing "" with //.
23:22:46 * pikhq has his Tcl Brainfuck interpreter working. . .
23:22:47 <pikhq> Slowly.
23:22:59 <RodgerTheGreat> doesn't seem to make a difference.
23:25:38 <oerjan> aha. you really should have used the -w flag.
23:25:48 <RodgerTheGreat> what does that do?
23:25:48 <oerjan> _always_ do that.
23:25:59 <oerjan> it turns on lots of warnings.
23:26:11 <RodgerTheGreat> AH
23:26:17 <RodgerTheGreat> I see the problem!
23:27:26 <ihope__> BF *interpreter*?
23:27:56 <oerjan> what was it, apart from the @p array being strangely empty?
23:28:26 <RodgerTheGreat> the warnings telling me that I'm comparing numeric cells to a character.
23:30:22 <RodgerTheGreat> hrm.
23:32:31 <oerjan> ah. i got the warnings flying by so fast i didn't see that.
23:32:59 <oerjan> does it work when you change to string comparison?
23:33:30 <RodgerTheGreat> you can compare strings with ==, right?
23:33:58 <RodgerTheGreat> I double-checked everything it was giving warnings about, and it doesn't seem to fix things.
23:36:15 <oerjan> now it prints 0123.
23:36:54 <RodgerTheGreat> that's the debugging I was using to make sure x incremented properly. you can take that line out.
23:37:17 <oerjan> actually i'll rather add some more...
23:37:33 <RodgerTheGreat> go ahead
23:37:47 -!- ihope__ has changed nick to ihope.
23:37:52 <oerjan> ok, it actually goes through the commands. although it seems to have an off-by-one error at the end.
23:38:04 <RodgerTheGreat> hm
23:38:21 <oerjan> ah, that's probably just the \n character.
23:38:26 <RodgerTheGreat> yeah
23:40:12 * pikhq loves how his BF interpreter works. . .
23:40:23 <pikhq> We compile to Tcl, and evaluate the compiled code. XD
23:41:34 <oerjan> ah, interesting. reading the input gives the wrong character.
23:43:01 <RodgerTheGreat> how so?
23:43:16 <RodgerTheGreat> is it a problem with using ord()?
23:43:28 <oerjan> no. it was that $iptr=-1 thing.
23:43:47 <oerjan> i forgot to fix it.
23:43:54 <RodgerTheGreat> ah- haha
23:44:46 <oerjan> it works!
23:44:56 <RodgerTheGreat> what?
23:45:21 <oerjan> the test worked. ,+. with ABC now gives output B and just that.
23:45:50 <RodgerTheGreat> what did you change?
23:46:11 <oerjan> all == except one changed to eq
23:46:28 <RodgerTheGreat> familiarize me with eq.
23:46:41 <oerjan> it's string comparison.
23:46:59 <RodgerTheGreat> I'd wondered wether strings had their own comparator.
23:47:08 <oerjan> man perlop is your friend.
23:47:16 <RodgerTheGreat> could you paste me your fixed code?
23:48:24 <oerjan> http://home.nvg.org/~oerjan/test.pl
23:49:15 <RodgerTheGreat> erm... 404. if you want, you can use http://nonlogic.org/dump
23:50:02 <oerjan> strange.
23:53:24 <oerjan> ok, http://nonlogic.org/dump/text/1162684351.html
23:54:58 <RodgerTheGreat> sweet
23:55:39 <RodgerTheGreat> w00t! it totally works!
23:55:48 <RodgerTheGreat> thanks, man- you were a big help.
23:56:00 <oerjan> you're welcome
23:57:04 <oerjan> also, the following man pages are good for reference: perlop, perlfunc and perlre.
23:57:29 <RodgerTheGreat> ok, I'll be sure to check those out
23:58:32 <oerjan> and of course man perl to find all the other documentation.
23:59:58 <Sgeo> Are we going to work on the Factory language?
2006-11-05
00:00:16 <oerjan> AH! Run away, run away!
00:00:42 * RodgerTheGreat backs away nervously
00:01:09 * oerjan regrets participating in the creation of a monster.
00:01:47 <RodgerTheGreat> agreed
00:02:16 <Sgeo> hm?
00:04:03 <RodgerTheGreat> the results of the last Adjudicated Blind Collaborative Design Esoteric Factory run are a horrible monstrosity.
00:04:16 <Sgeo> Why?
00:04:21 <Sgeo> What's wrong with it?
00:04:46 <pikhq> And it's not been made, thus the Adjucated Blind Collaborative Design Esoteric Factory run isn't done.
00:06:00 * Sgeo wishes he did variables in branch labels and allowed 0 in the CHANGE(?) thingy
00:19:57 <ihope> My language has room for five more instructions.
00:20:32 <ihope> I thought it would fit quite easily into 63, but already I have 58, and I might need more later.
00:20:47 <Sgeo> 63?
00:20:49 <ihope> Oh, wait, 64 would be the maximum.
00:20:52 <Sgeo> strange num.. oh
00:21:22 <ihope> 7 * 9 = 63, no?
00:22:41 * Sgeo generally likes and recognizes numbers of the form (2^n±.5)
00:22:44 <Sgeo> erm
00:22:48 <Sgeo> No
00:23:05 * Sgeo generally likes and recognizes numbers of the form (2^n-.5±.5)
00:23:21 <Sgeo> =P
00:23:43 <Sgeo> Where n is a positive integer ofc
00:23:44 <ihope> So six more instructions.
00:23:55 <oerjan> have you added peekaboo yet? :)
00:23:56 <ihope> Not a nonnegative integer?
00:24:13 <ihope> My language doesn't exactly have booleans.
00:24:53 <oerjan> Branch On something, then.
00:24:56 <ihope> And peekaboo would require peekbboo, peektboo, peekbaboo, peekbbboo, and peekbtboo.
00:25:15 <oerjan> there you are, 6 instructions.
00:25:24 <ihope> Yep, that'd fill it up quite nicely.
00:25:30 <ihope> But... branch on what?
00:25:41 <oerjan> overflow, perhaps...
00:25:50 <oerjan> odd..
00:25:56 <ihope> "Peek stack a; branch on overflow"?
00:26:14 <ihope> Would the stack overflow from being peeked?
00:26:55 <oerjan> probably not.
00:27:31 <ihope> And most peekaboos wouldn't make sense without popaboos.
00:27:39 <ihope> And possibly pushaboos.
00:28:05 * ihope suddenly decides he needs stack rotation
00:28:22 <oerjan> actually, another option is to make aboo similar to a, b etc.
00:28:52 <ihope> "Peekaboo" meaning "peek both A and B"?
00:29:10 <oerjan> that's not what i mean but that could be neat too.
00:29:23 <ihope> What do you mean, then?
00:29:39 <oerjan> i mean, then you could have popaboo and pushaboo but not need peekbboo etc.
00:30:06 <oerjan> if aboo was a stack
00:30:17 <ihope> aboo isn't a stack.
00:30:30 <oerjan> well, whatever a, b etc. are
00:30:30 <ihope> There are three stacks, and they're called A, B, and T.
00:31:12 <ihope> And... well, I just added six stack rotation instructions.
00:31:31 * oerjan sulks.
00:31:45 <oerjan> YOUR LANGUAGE IS NO FUN!
00:31:59 <ihope> But it has the "select" instruction from INTERCAL!
00:32:45 <ihope> And it has an instruction whose purpose is to be left up to the implementation to... implement!
00:33:18 <ihope> It's the "info" instruction, and it means "push a zero, then push some numbers that aren't zero".
00:34:05 <ihope> And... there should be six of that, too, since every stack operation needs to have six instructions.
00:34:12 * ihope makes the total 69 instructions
00:35:04 <ihope> Okay, let's increase the cap to 128 instructions.
00:35:31 <oerjan> you suddenly lost a bit for other purposes.
00:35:32 <ihope> And leave out the poor little 6-bit computers.
00:35:51 <ihope> It's your fault I have so many instructions, despite the fact I came up with all of them myself!
00:36:27 <oerjan> you could make it 81 instructions on a trinary machine.
00:36:42 <ihope> But the instructions aren't ternary.
00:36:57 <ihope> How do you do a ternary nor?
00:37:24 <ihope> Or any ternary not, I guess.
00:37:32 <oerjan> 3-min(a,b)
00:37:45 <oerjan> 2-min(a,b)
00:37:49 * ihope realizes he has no "not" instruction
00:37:57 <ihope> Also, negative numbers.
00:38:15 <oerjan> negative numbers are easy if you make your trits -1,0,1.
00:38:28 <ihope> Oh, yeah. Balanced ternary.
00:39:27 <oerjan> or should that be terts?
00:39:41 <ihope> Are they terse?
00:39:44 -!- tgwizard has quit (Remote closed the connection).
00:40:02 <Asztal> trits!
00:40:21 <ihope> Bits!
00:40:45 <oerjan> quints!
00:41:01 <ihope> Sets?
00:41:07 <Asztal> I'm not sure there is a ternary not
00:41:33 <Sgeo> ternary linc?
00:41:37 <ihope> Any unary tritwise operator could be considered one, other than identity.
00:41:39 <Asztal> like how XOR splits into ^ and ?
00:41:43 <Sgeo> (looping increase)?
00:41:57 <oerjan> actually not should be an involution.
00:42:03 <Sgeo> involution?
00:42:08 <oerjan> not not = identity.
00:42:38 <ihope> Oh, yeah.
00:42:43 * Sgeo thinks that that might be actually impossible in ternary
00:42:49 <ihope> Any swap, then.
00:43:01 <ihope> 012 -> 102, 012 -> 210, 012 -> 021.
00:43:01 <Sgeo> not 0 => 1, means not 1=>0
00:43:07 <oerjan> on the other hand, if you also add the requirement not x != x, then indeed it is impossible.
00:43:07 <Sgeo> So what happens to not -1?
00:43:12 <Asztal> that sounds like unary but
00:43:18 <ihope> Unary, pah.
00:43:55 <ihope> Real (Wom|M)en ignore the leading zeros in unary.
00:44:01 <oerjan> with balanced ternary, not = negation seems the obvious canditate.
00:44:15 <ihope> Aye.
00:44:18 * Sgeo agrees
00:44:32 <Asztal> one of my favourite quotes from the intercal manual involves balanced ternary
00:45:26 * oerjan is listening.
00:49:57 <Asztal> http://pastie.caboo.se/21233
00:50:03 <Asztal> (that took far too long to find)
00:58:51 * oerjan is probably immune to such head banging.
01:00:12 * pikhq recently discovered a major bug in BFM. . .
01:00:21 <oerjan> aha
01:00:23 <pikhq> It didn't have a 99 Bottles of Beer implementation.
01:00:46 <oerjan> that counts as a bug these days?
01:01:01 -!- meatmanek has quit (Client Quit).
01:01:02 <RodgerTheGreat> lmao
01:01:06 <pikhq> Closest I can find at the moment.
01:01:20 <pikhq> http://pikhq.nonlogic.org/bottles.bfm So, I fixed it.
01:26:00 <ihope> I guess I oughta come up with all the semantics of this language.
01:28:13 -!- meatmanek has joined.
01:32:52 <Asztal> I've now managed to get wrapping working (in my first test) in my befunge98 interpreter :D
01:33:22 <Asztal> I still don't understand how these intersection functions I wrote work, because of the 101 corner cases I didn't expect, but it seems to be working!
01:50:01 -!- calamari has quit ("Leaving").
01:51:00 <ihope> If you write code and it works, but you don't know why it works, you should consider rewriting it.
01:51:44 <pikhq> Or do as Perl does, and declare it to be magic.
01:53:02 <Asztal> I know why it works, it's just I had to change it so many times to get it to work that it's quite different from the code I started out with and many of the function names are.. wrong somewhat
01:53:22 * Sgeo has some code with some "code superstition" somewhere
01:53:28 * Sgeo thinks he removed that stuff :(
01:53:43 <Sgeo> No I didn't
01:53:57 <Sgeo> " #The code doesn't seem to work without these lines
01:53:57 <Sgeo> #This is how code superstition starts..
01:53:57 <Sgeo> #Instead of crashing on start, these lines make it crash on select
01:53:57 <Sgeo> #def on_TextField1_loseFocus(self, event):"
01:54:22 <Sgeo> http://sgeo.diagonalfish.net/haver/pycardhaver/templateNoMenus.py.txt
01:58:03 -!- meatmanek has quit (Client Quit).
02:00:08 -!- meatmanek has joined.
02:01:25 -!- meatmanek has quit (Client Quit).
02:02:43 -!- meatmanek has joined.
02:03:08 -!- meatmanek has quit (Client Quit).
02:04:13 -!- meatmanek has joined.
02:09:42 -!- oerjan has quit ("Later").
02:17:08 <ihope> !
02:17:23 <ihope> That's 33, right?
02:22:03 -!- calamari has joined.
02:35:55 -!- oerjan has joined.
02:41:05 -!- Asztal has quit (Read error: 110 (Connection timed out)).
02:41:26 <Sgeo> http://thedailywtf.com/forums/thread/99550.aspx
03:03:58 * rt yawns.
03:04:41 <SevenInchBread> I should write a book called The Art of Obfuscation.
03:06:57 <rt> http://brainwagon.org/files/jhconway.c
03:08:01 <SevenInchBread> I turned def __len__(self): return len(self.sugTags)
03:08:03 <SevenInchBread> into
03:08:12 <SevenInchBread> locals()[lambda("self")].__dict__[lambda: "__class__"()].__dict__[lambda: "".join(dict("lol":"__len__").values())()] = lambda self: tuple(self.__dict__[lambda: "subTags"()].__dict__.[lambda: "__class__"()].__dict__[lambda: "".join(list("".join(list("__len__"))))()].__call__.__call__.__call__.__call__(), self.__dict__[lambda: "".join(list("".join(dict("hahahahahaahahahahahahahaahhahahahaahahahahaha
03:08:13 <SevenInchBread> ha":"values").values()))))()].__dict__.[lambda: "__class__"()].__dict__[lambda "".join(list("".join(list("__len__"))))()].__call__.__call__.__call__.__call__())
03:08:29 <SevenInchBread> Although I could have went further... but I got tired.
03:10:29 <rt> strangely enough, i dont find that particualrly artful.
03:13:16 <xor_> lol wtf is that?
03:18:17 <oerjan> hey, it looks like something a chimp could have typed ;)
03:21:08 * Sgeo pokes people towards the WTF he posted
03:22:23 * xor_ reads it
03:24:39 <xor_> lol
03:25:30 <SevenInchBread> It looks like art to me.
04:02:44 <ihope> Hibernate, hibernate, hibernate, they say...
04:20:40 -!- ihope has quit (Connection timed out).
05:10:47 -!- thematrixeatsyou has joined.
05:11:13 -!- Arrogant has joined.
05:13:01 -!- SevenInchBread has changed nick to GrandmotherChaos.
05:13:04 <thematrixeatsyou> hi arrogant
05:13:12 <Arrogant> Heya.
05:13:25 <thematrixeatsyou> gonna try and slap a FAT driver together
05:16:51 <thematrixeatsyou> should call it PHAT
05:21:36 <xor_> te he he
05:22:06 <xor_> x=[1]; x.append(x)
05:33:25 * GrandmotherChaos doesn't get it.
05:36:29 -!- Sgeo has quit (Read error: 104 (Connection reset by peer)).
05:36:46 <xor_> cirular reference
05:37:15 <thematrixeatsyou> kinda like this:
05:37:58 <thematrixeatsyou> *x=1; while(*x){ *x[0]=*x[1]; x++; }
05:38:26 <xor_> no
05:39:02 <xor_> in C it would take an infinite amount of memory
05:39:16 <pikhq> It'd just eventually segfault.
05:39:32 <xor_> [1,[1,[...]]]
05:39:47 <xor_> x=[1,x]
05:39:54 <thematrixeatsyou> k
05:40:24 <pikhq> append x $x 1
05:40:44 <thematrixeatsyou> while(int i)
05:44:18 -!- Razor-X has quit (Read error: 110 (Connection timed out)).
05:44:36 <xor_> hmmm
05:44:49 <xor_> What would make that list in lisp?
05:46:07 <pikhq> (list x '(x 1))?
05:46:20 <xor_> actually, in c, it would be int x[2]; x[0]=1; x[1]=x;
05:46:26 <xor_> er no
05:48:12 <oerjan> you mean (let ((x '(1))) (rplacd x x) x)
05:48:18 <oerjan> or something like that.
05:48:21 <pikhq> I'm no Lisper.
05:48:34 <pikhq> I'm a Tcler, as you all should know. . .
05:49:01 <pikhq> [lappend x $x 1] gives you the same list in Tcl, BTW.
05:49:40 <oerjan> haskell _would_ be x = [1,x] except that is a type error.
05:50:31 <oerjan> x = [1] ++ x works nicely though.
05:52:09 -!- calamari has quit ("Leaving").
06:07:07 <thematrixeatsyou> afk pizza
06:51:36 -!- Razor-X has joined.
07:35:25 -!- GrandmotherChaos has changed nick to CakeProphe.
07:35:27 -!- CakeProphe has changed nick to CakeProphet.
07:47:51 <thematrixeatsyou> back
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:34:36 -!- thematrixeatsyou has quit ("buy").
08:47:15 -!- oerjan has quit ("Good, eh, night").
09:38:08 -!- anders has left (?).
09:50:18 -!- CakeProphet has quit (Read error: 110 (Connection timed out)).
09:57:45 -!- Arrogant has quit ("Leaving").
10:29:47 -!- Asztal has joined.
10:47:17 -!- GregorR has joined.
11:48:30 -!- tgwizard has joined.
12:41:43 -!- Asztal has quit (Nick collision from services.).
12:41:53 -!- Azstal has joined.
12:41:55 -!- Azstal has changed nick to Asztal.
13:30:34 -!- ihope__ has joined.
13:30:44 -!- ihope__ has changed nick to ihope.
13:57:19 <ihope> Eh, I'll just email this interpreter to a random person.
14:04:15 <ihope> Actually, I have some FTP thing somewhere, don't I?
14:06:44 <ihope> Apparently not.
14:12:33 <ihope> Well, yes, but I don't remember where.
14:12:48 <ihope> So I have three email addresses.
14:18:00 -!- ihope__ has joined.
14:19:12 <ihope__> As in in this file, there are three email addresses.
14:20:55 -!- Asztal has quit ("Chatzilla 0.9.72-rdmsoft [XULRunner 1.8.1b2/0000000000]").
14:24:28 -!- CXI has joined.
14:34:15 -!- ihope has quit (Success).
14:48:32 -!- ihope__ has changed nick to ihope.
15:14:07 -!- Sph1nx has joined.
15:21:33 <Razor-X> What happened to the committee meeting, t3h committee members?
15:21:45 <pikhq> I ate them.
15:22:04 <Razor-X> Awww.
15:22:18 <pikhq> I was hungry!
15:23:14 <Razor-X> Now we won't get any judging done :(
15:23:24 * Razor-X thinks this is a plot by pikhq to win the contest.
15:24:49 <ihope> Committee meeting?
15:25:59 <Razor-X> Yes.
15:26:13 <ihope> I didn't hear about it.
15:26:19 <Razor-X> Good job being asleep.
15:26:29 <Razor-X> Well, I need GregorR and RodgerTheGreat to make a new date.
15:27:06 <ihope> When was it supposed to be?
15:27:58 <Razor-X> Last Saturday.
15:31:23 -!- Sgeo has joined.
15:51:38 <ihope> Now, is it O_< or >_O that GregorR says?
15:56:19 <ihope> (Suddenly, I feel an urge to leave all channels except #haskell.)
15:57:22 -!- ihope has left (?).
15:59:59 -!- Sph1nx has quit (" !").
16:49:47 <RodgerTheGreat> good morning, everyone.
16:55:38 <Sgeo> Morning RTG
17:15:41 -!- CakeProphet has joined.
18:29:42 -!- meatmanek has quit (Client Quit).
18:47:02 -!- Aardwolf has joined.
18:47:45 <Aardwolf> can a language that uses only a stack on which you can only push, pop and read the top number, be turing complete?
18:47:55 <Aardwolf> (as only memory)
18:48:49 <lindi-> Aardwolf: push-down automata?
18:49:07 <Aardwolf> I guess so, let me look at the wiki
18:51:47 <Aardwolf> I'm looking at the pushdown automaton article of wikipedia (because voxelperfect isn't responding to me at the moment), and the wikipedia article isn't making clear to me whether a push down automaton is a subset of a finite automaton or vica versa :/
18:53:18 <lindi-> Aardwolf: check chomsky's hierarchy
18:55:08 <Aardwolf> nice, got it now
18:57:35 -!- Asztal has joined.
19:32:44 -!- ihope has joined.
19:35:42 <ihope> Now I know where GregorR hangs out all the time.
19:39:55 <ihope> What I don't know is how to get these files to him.
19:40:35 -!- me_tmanek has joined.
20:00:25 -!- lindi- has quit (kornbluth.freenode.net irc.freenode.net).
20:03:20 -!- lindi- has joined.
20:05:46 -!- lindi-_ has joined.
20:05:48 -!- lindi- has quit (Remote closed the connection).
20:36:54 -!- calamari has joined.
20:38:29 -!- Arrogant has joined.
20:51:31 -!- me_tmanek has changed nick to meatmanek.
21:22:27 -!- lindi-_ has changed nick to lindi-.
21:36:26 -!- calamari has quit (Read error: 110 (Connection timed out)).
21:45:30 <ihope> 8.98755179 * 10^16 joules.
22:09:17 -!- tgwizard has quit (Remote closed the connection).
22:27:24 -!- Asztal has quit ("Chatzilla 0.9.72-rdmsoft [XULRunner 1.8.1b2/0000000000]").
22:58:56 <SimonRC> !Egobot is working!
22:59:04 <SimonRC> or rather, it isn;t
23:01:28 <GregorR> I'm well aware.
23:01:33 <GregorR> I'm doing some computer spring cleaning.
23:01:41 <GregorR> I'll bring it back up in about 35 DVDs.
23:04:30 <SimonRC> bah
23:04:40 <SimonRC> you should use a heavily-mirrored fileserver
23:05:31 <GregorR> Hey, DVD 6 is done 8-D
23:05:58 <GregorR> And burning to DVD has nothing to do with space (though it is to free space :P ), it's more like spring cleaning - eg, I'll have a nice, empty, uncluttered disk.
23:09:03 <SimonRC> uncluttered in what way?
23:09:21 <SimonRC> you mean that you will get rid of all the crap files, registry cruft, etc?
23:10:42 <xor_> lol windows
23:11:24 -!- oerjan has joined.
23:13:31 <GregorR> ...registry?
23:13:43 <GregorR> ^^
23:13:52 * GregorR agrees with xor_'s assertion: "lol windows"
23:20:45 <Sgeo> What, I can't have windows in my house?
23:20:52 <Sgeo> >.<
23:21:06 <GregorR> AIR CONDITIONING WORKS BEST WITH WINDOWS /CLOSED/
23:22:03 <oerjan> darn, is that why my laptop fan is so noisy...
2006-11-06
01:42:08 -!- clog has joined.
01:42:08 -!- clog has joined.
01:43:24 <oerjan> are you referring to the game of life (in which case you are being silly) or do i need to explain lorentz transformations?
01:45:03 <lament> game of life of course
01:45:19 <lament> and i have a point :)
01:45:41 <lament> precisely because relativity doesn't hold
01:47:32 <oerjan> it wouldn't be very useful if the construction is already minimized in size
01:48:26 <oerjan> to get speedup all over it would have to contract constantly.
01:52:41 <pikhq> Which would imply a finite lifespan.
01:52:51 <oerjan> yep.
01:53:08 <pikhq> Or somewhere, somehow, it expanded. . .
01:53:39 <pikhq> Which would only allow for a speedup where, during the expansion time, nothing would be done in that region *without* the contraction rigamarole.
01:59:56 * Sgeo is glad to have initiated this discussion
02:00:28 <Sgeo> I'd still like to see that Factory language get somewhere
02:35:16 -!- pikhq has quit (Read error: 104 (Connection reset by peer)).
02:47:32 -!- CakeProphet has quit (Connection timed out).
03:05:01 -!- oerjan has quit ("Later").
03:05:11 -!- xor_ has changed nick to bsmntbombdood.
03:05:48 -!- bsmntbombdood has changed nick to xor_.
03:27:04 -!- thematrixeatsyou has joined.
03:33:08 -!- pikhq has joined.
03:34:03 <thematrixeatsyou> haro
03:34:15 <pikhq> Haldo!
03:34:59 <thematrixeatsyou> HALTo!
03:35:20 <xor_> faldo
04:07:10 -!- CakeProphet has joined.
04:34:00 -!- thematrixeatsyou has changed nick to GreaseMonkey.
04:46:02 -!- CakeProphet has quit (Read error: 145 (Connection timed out)).
07:04:19 * rt was thinking that the perfect name (had it not already been taken) for sort of the "anti" Second Life would have been Halflife. It's a massively multiplayer game, but you never see anyone, the environment is just your dingy apartment, surrrounded by coke cans and pizza boxes, where your only interaction with others is by typing on your virtual computer, but there are no women, only guys.
07:05:39 <GreaseMonkey> :D
07:11:41 -!- Sgeo has quit (Read error: 110 (Connection timed out)).
07:12:54 <Razor-X> Amen. I'll nevel play HL.
07:30:18 <ivan`> that sounds great
07:56:57 <lament> rt: sounds familiar.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:23:15 <Razor-X> In order to clarify something I said quite a while back:
08:23:50 <Razor-X> The reason Lisps don't have explicit OOP systems is because it's marginally easy to create most OOP abstractions, and only a bit more difficult to implement a full OOP system.
08:24:49 -!- nooga has joined.
08:25:02 <nooga> .
08:25:16 <Razor-X> Error: Stack underflow
08:37:11 <nooga> Stack underwear ;p
08:37:20 <nooga> Stack of underwear
08:37:31 <Razor-X> Not my kinda stack :P
08:39:01 <nooga> xD
08:45:18 -!- GreaseMonkey has quit ("sry, have to snooze").
09:03:50 -!- ivan` has quit (" HydraIRC -> http://www.hydrairc.com <- The professional IRC Client").
09:30:59 -!- Asztal has joined.
10:10:13 -!- Asztal has quit ("Chatzilla 0.9.72-rdmsoft [XULRunner 1.8.1b2/0000000000]").
10:10:35 -!- Asztal has joined.
10:15:21 -!- anonfunc has joined.
11:53:28 -!- ihope has quit (Read error: 110 (Connection timed out)).
12:51:01 -!- ihope__ has joined.
12:51:29 -!- ihope__ has quit (Client Quit).
13:56:18 -!- Arrogant has joined.
14:16:35 <xor_> <Razor-X> The reason Lisps don't have explicit OOP systems is because it's marginally easy to create most OOP abstractions, and only a bit more difficult to implement a full OOP system.
14:16:48 <xor_> Razor-X: That doesn't go just for lisp
14:17:16 <xor_> Razor-X: It's easy to code OOP in C
14:25:31 <GregorR> Pushing abstractions out of the language and main library leads to multiple, conflicting implementations.
14:25:35 <GregorR> Never a good thing.
14:38:29 <nooga> hi guys
14:46:54 <nooga> bah
16:12:55 -!- nooga has quit (Read error: 145 (Connection timed out)).
16:24:49 <RodgerTheGreat> GregorR: someone else on the internet has used your source image! http://thefunniest.info/images/eCG0H4
16:28:45 -!- jix has joined.
17:07:21 -!- Arrogant has quit ("Leaving").
17:42:39 * pikhq has finally bothered figuring out how to use bignums. . .
17:42:58 <pikhq> (in C++; the C++ GMP bindings are a good deal nicer than the C ones)
18:39:35 -!- pikhq has quit ("Lost terminal").
18:40:21 -!- pikhq has joined.
18:47:33 * pikhq sits in awe of C++
19:08:20 -!- GregorR-L has joined.
19:11:45 * pikhq still sits in awe of C++
19:19:17 * Asztal confused
19:20:27 -!- Asztal has changed nick to template[T]class.
19:20:32 <template[T]class> bdgf
19:20:39 -!- template[T]class has changed nick to Asztal.
19:20:55 -!- Asztal has quit ("Chatzilla 0.9.72-rdmsoft [XULRunner 1.8.1b2/0000000000]").
19:21:00 * pikhq loves the one-liner needed to use a map in C++. . . XD
19:59:29 -!- Eidolos has quit (Read error: 54 (Connection reset by peer)).
20:07:18 -!- Asztal has joined.
20:35:41 -!- Sgeo has joined.
20:44:48 -!- tgwizard has joined.
20:52:52 -!- ivan` has joined.
21:06:59 -!- CakeProphet has joined.
21:37:32 -!- jix has quit ("Bitte waehlen Sie eine Beerdigungnachricht").
21:49:19 -!- Asztal has quit ("Chatzilla 0.9.72-rdmsoft [XULRunner 1.8.1b2/0000000000]").
21:55:54 -!- anonfunc has quit.
22:24:30 -!- ivan` has quit (Connection timed out).
22:38:57 -!- tgwizard has quit (Remote closed the connection).
23:14:22 -!- Asztal has joined.
23:46:35 -!- Asztal has quit ("Chatzilla 0.9.72-rdmsoft [XULRunner 1.8.1b2/0000000000]").
23:51:06 -!- CakeProphet has quit (brown.freenode.net irc.freenode.net).
23:51:07 -!- RodgerTheGreat has quit (brown.freenode.net irc.freenode.net).
23:51:07 -!- GregorR-L has quit (brown.freenode.net irc.freenode.net).
23:51:07 -!- pikhq has quit (brown.freenode.net irc.freenode.net).
23:51:09 -!- meatmanek has quit (brown.freenode.net irc.freenode.net).
23:51:09 -!- rt has quit (brown.freenode.net irc.freenode.net).
23:51:09 -!- lindi- has quit (brown.freenode.net irc.freenode.net).
23:51:10 -!- puzzlet has quit (brown.freenode.net irc.freenode.net).
23:51:10 -!- lament has quit (brown.freenode.net irc.freenode.net).
23:51:12 -!- pgimeno has quit (brown.freenode.net irc.freenode.net).
23:51:12 -!- cmeme has quit (brown.freenode.net irc.freenode.net).
23:51:13 -!- tokigun has quit (brown.freenode.net irc.freenode.net).
23:51:13 -!- fizzie has quit (brown.freenode.net irc.freenode.net).
23:51:15 -!- sp3tt has quit (brown.freenode.net irc.freenode.net).
23:51:15 -!- SimonRC has quit (brown.freenode.net irc.freenode.net).
23:52:26 -!- lindi- has joined.
23:52:46 -!- puzzlet has joined.
23:52:46 -!- lament has joined.
23:52:46 -!- pgimeno has joined.
2006-11-07
00:01:27 -!- cmeme has joined.
00:01:27 -!- tokigun has joined.
00:01:27 -!- CakeProphet has joined.
00:01:27 -!- GregorR-L has joined.
00:01:27 -!- pikhq has joined.
00:01:27 -!- meatmanek has joined.
00:01:27 -!- rt has joined.
00:01:27 -!- RodgerTheGreat has joined.
00:01:28 -!- fizzie has joined.
00:01:28 -!- sp3tt has joined.
00:01:28 -!- SimonRC has joined.
00:01:28 <Razor-X> GregorR: Well, that's one of Lisp's double-edged swords.
00:01:28 <Razor-X> The whole point is that, Lisp allows you to create abstractions specific to your problem. Now where that leads you is up to debate.
00:01:28 <Razor-X> Paul Graham, though, will argue for Lisp I'm pretty darn sure :D
02:25:37 -!- clog has joined.
02:25:37 -!- clog has joined.
02:34:25 <Sgeo> Hi clog
02:40:12 -!- oerjan has quit ("Later").
02:44:29 -!- ivan` has joined.
02:44:57 -!- Sgeo has quit (Read error: 104 (Connection reset by peer)).
02:48:04 -!- Sgeo has joined.
02:58:42 <Razor-X> I've never been to a class about programming.
02:58:52 <Razor-X> So I don't know how awful/good they are on the whole.
02:59:07 <xor_> They are terrible
02:59:20 <GregorR-L> Depends on who you are.
02:59:23 <xor_> hackers are usually free-learners
02:59:26 <xor_> at least I am
02:59:51 <Razor-X> Probably.
02:59:59 <Razor-X> Classes make things more boring on the whole.
03:00:04 <xor_> yep
03:00:05 <Razor-X> (For me.)
03:01:52 <Razor-X> Programming is one of those things, IMO, that are learned best in a loose master-apprentice fashion.
03:02:21 <xor_> I don't think so
03:02:24 <Razor-X> From chatting with different programmers, the mental devices (especially the ``homegrown'' ones) programmers use to code are so varied, a class just doesen't cut it on its own.
03:02:35 <xor_> Then you go to your "master" whenever you have a problem
03:02:47 <Razor-X> The master guides and challenges through interesting assignments, until the apprentice is strong enough to leave.
03:03:18 <xor_> Straight out of star wars ;)
03:03:32 <Razor-X> Really? :P
03:03:44 <Razor-X> Didn't see it until you said that, heh.
03:08:30 <Razor-X> In fact, I think that would be an interesting project in general. Create a wiki panel with a bunch of programmers that can program in different languages giving out assignments at different difficulty levels, and whenever one of us has the time, we can look over the wiki submitted entries, so it doesen't force anyone to a schedule.
03:09:29 <xor_> hmm
03:11:03 <Razor-X> And it's just a shame so few people use BASIC-derivatives nowadays. It's horrible.
03:11:21 <xor_> noooo
03:11:28 <Razor-X> I wonder how many of us grew up with a BASIC of some sort on some device (C64 BASIC, QBASIC, Apple BASIC, etc.)
03:11:32 <xor_> Why should anyone code in basic?
03:11:45 <Razor-X> It's... well basic.
03:11:53 <Razor-X> A basic language that can be pretty powerful too.
03:12:11 <xor_> sure
03:12:20 <xor_> ...but not BASIC
03:12:27 <Razor-X> BASIC-derivative.
03:12:41 <Razor-X> I'm not talking about 10 PRINT 20 GOTO style either.
03:18:04 <rt> when i was a younger, everybody said that basic was terrible, and would ruin young programmers. now, we have programmers learning perl and php as first languages. i'm pretty sure that isn't an improvement.
03:18:21 <Razor-X> Perl as a first language? Ugggh.
03:18:30 <Razor-X> PHP is pretty uggh too.
03:18:37 <Razor-X> Even Python is a sort of a experiment in marriage.
03:19:05 <rt> i find python to be at least relatively undamaging.
03:19:14 <Razor-X> True.
03:19:45 <Razor-X> Young programmers nowadays learn Java like little robots and never learn anything else again, because they make a series of mundane projects that never actually need something powerfully abstractable or something low-level.
03:20:03 <xor_> Java is so terrible
03:20:05 <lament> experiment in marriage?
03:20:12 <RodgerTheGreat> I really think BASIC *is* a good beginner's language, if only because it's imperative.
03:20:14 <lament> your face is an experiment in marriage!
03:20:24 <Razor-X> That it may be.
03:20:24 <Razor-X> ;P
03:20:28 <rt> if there is some reason that might make java the most reasonable choice for a program, i haven't discovered it yet.
03:20:31 <Razor-X> Java, IMO, is alright.
03:20:38 <Razor-X> C# is better, even if it's Microsoft based.
03:20:39 <xor_> RodgerTheGreat: Why not a more moderm imperative language?
03:20:44 -!- GreaseMonkey has joined.
03:21:01 <rt> i actually think python makes a good choice for the role that basic used to fill.
03:21:04 <GreaseMonkey> ++++H
03:21:18 <lament> i'm not sure what's wrong with basic.
03:21:19 <GreaseMonkey> me = thematrixeatsyou
03:21:24 <Razor-X> Neither am I.
03:21:30 <lament> it's a horrible language, but i don't see how it causes brain damage.
03:21:34 <RodgerTheGreat> BASIC has evolved over the years, and I'm not talking about Blitz or VB.
03:21:37 <rt> weak abstractions. weak data types.
03:21:46 <Razor-X> C has strong abstractions and strong data types?
03:21:47 <lament> ie, it's horrible but anybody sane will realize that it's horrible and move on.
03:21:48 <Razor-X> HAH.
03:21:54 <GreaseMonkey> well, c++ causes brain damage in the way that it makes skiddies think they're 1337
03:22:00 <xor_> basic isn't going to be usefull
03:22:04 <RodgerTheGreat> it has some overhead issues, but DarkBASIC pro kicks ass
03:22:04 <rt> no, but c at least has the advantage of being reasonably efficient.
03:22:12 <rt> c++ is of course abominable.
03:22:14 <GreaseMonkey> FreeBASIC is still good
03:22:17 <Razor-X> C++. Ewww.
03:22:21 <RodgerTheGreat> about 5 years ago, it was my primary language
03:22:24 <GreaseMonkey> i like C
03:22:30 <xor_> I like C too
03:22:36 <GregorR-L> I like C three
03:22:50 <Razor-X> I don't mind C nine.
03:23:11 <GregorR-L> But C ten is RIGHT OUT
03:23:11 <GreaseMonkey> I like C %i.
03:23:21 * Sgeo was pushed into ##please_register
03:23:24 <Sgeo> I tried to talk
03:23:25 <Razor-X> Look up the ASCII code yerself, bum.
03:23:27 <Sgeo> Didn't work
03:24:07 <Razor-X> Why is BASIC so ineffecient?
03:24:25 <Razor-X> I mean, any language that has weak data types/abstractions should be easy to optimize.
03:24:48 <GreaseMonkey> they probably have a delay on them
03:24:53 <GreaseMonkey> jk
03:25:03 <GreaseMonkey> maybe you're thinking of QBASIC?
03:25:08 <rt> well, i must admit, i'm an old timer, and used basic back in the days when relatively trivial interpreters were the norm.
03:25:12 <GreaseMonkey> QBASIC emulates the BASIC code
03:25:22 <GreaseMonkey> FreeBASIC is pretty fast though
03:25:30 <GreaseMonkey> it compiles the code
03:25:32 <Razor-X> I'm not so sure how fast more modern BASICs are.
03:25:38 <Razor-X> But I would think it fast.
03:25:47 <xor_> My first language was QBASIC, and I learned it by purley coding in it
03:25:49 <Razor-X> Since I bet a lot of it can be done as ASM.
03:25:54 <xor_> no syntax help or nothin
03:26:27 <rt> any language complicated enough to require syntax helpers is just too wrong.
03:26:44 <Razor-X> *COUGH* C++ *COUGH*
03:26:48 <xor_> What's a syntax helper?
03:26:57 <RodgerTheGreat> most modern BASIC implementations aren't slowed down because they're BASIC, rather because of all the cool features (3D, etc) that are new
03:27:00 <GreaseMonkey> i salute you
03:27:01 <GreaseMonkey> <Razor-X> *COUGH* C++ *COUGH*
03:27:24 <RodgerTheGreat> and because of this, for making things like games, BASIC is plenty fast- all the grunt work is handled by the interpreter
03:27:38 <Razor-X> Why *is* BASIC even interpreted nowadays?
03:27:51 <GreaseMonkey> Microsoft's endorsement on VB
03:27:58 <Razor-X> True.
03:28:10 <RodgerTheGreat> DarkBASIC pro is a compiled language
03:28:28 <RodgerTheGreat> and DB proper compiles to bytecode and is tacked onto a runtime module
03:28:49 <Razor-X> Better than interpretation.
03:29:14 <Razor-X> I've done only a little Pascal, and this was years back. How's that on the difficulty curve? It struck me as really similar to C.
03:29:18 <RodgerTheGreat> I don't know much about blitzBASIC aside from the fact that it shouldn't be called BASIC at all...
03:29:32 <Razor-X> BlitzBASIC abstracts *way* too many things.
03:30:28 <GreaseMonkey> wtf is my 2d game doing using OGL?!
03:30:53 <Razor-X> Heh.
03:31:04 <Razor-X> Hey. Scala doesen't look too bad.
03:31:08 <RodgerTheGreat> BlitzBASIC looks like the bastard child of Java and C- it has nothing in common with BASIC.
03:31:43 <RodgerTheGreat> it uses curly brackets, predefined hard-typing, .-notation function chaining...
03:31:48 <RodgerTheGreat> it just makes me angry.
03:32:31 <xor_> I remember when I was coding in qbasic and I discovered strings
03:32:45 <xor_> It was amazing
03:33:08 <Razor-X> C- ?
03:33:17 <xor_> ?
03:33:27 <RodgerTheGreat> it was a C and a dash
03:33:32 <Razor-X> Ah.
03:33:40 <Razor-X> Don't whet our appetites like that :P
03:33:45 <RodgerTheGreat> I wasn't implying that there's a language called Cminus
03:33:55 <RodgerTheGreat> ... but I could spec it...
03:34:17 <RodgerTheGreat> :D
03:35:43 <GreaseMonkey> "We use Linux to UP our productivity -- so UP yours!"
03:36:09 <RodgerTheGreat> heh
03:36:13 <xor_> Linux can calculate an infinite loop in 7 seconds
03:36:47 <xor_> !bf +[]
03:36:54 <RodgerTheGreat> interesting
03:41:33 <Razor-X> One thing before I start homework:
03:41:44 <Razor-X> Paul Graham always makes Lisp seem like the best language in the world.
03:41:58 <GreaseMonkey> :D
03:42:03 <Razor-X> So if you want to know why Lisp is good, read one of his essays, and take that as a fundamentalist's overexaggeration.
04:20:24 <lament> you know what's a good programming language?
04:20:39 <lament> there aren't any!
04:20:51 <xor_> Nobody's happy
04:20:53 <GreaseMonkey> what's wrong with c then?
04:21:10 <lament> well.
04:21:14 <xor_> Each programming language just isn't good for everything
04:21:21 <lament> GreaseMonkey: pretty much everything.
04:21:29 <lament> GreaseMonkey: i can think of very very few tasks i would use C for.
04:21:37 <xor_> except everything
04:21:57 -!- GregorR-L has quit ("Leaving").
04:22:17 <lament> GreaseMonkey: the main thing is the lack of a good way to build abstractions.
04:22:30 <lament> the other main thing is no bounds checking for arrays.
04:22:58 <xor_> do that yourself
04:23:11 <GreaseMonkey> well, C has printf().
04:23:25 <GreaseMonkey> and it's also got a loose syntax, like:
04:23:25 <xor_> arrays in C aren't like a list, they are just a way to access memory
04:23:43 <GreaseMonkey> you build your own funct if you want arrays
04:23:56 <lament> xor_: sure, this would be fine if you COULD build lists in a sane fashion.
04:24:02 <xor_> You can
04:24:07 <lament> xor_: but as i said, the lack of a good way to build abstractions in the main thing.
04:24:09 <pikhq> They're a thin abstraction around what amounts to statically allocated memory.
04:24:25 <lament> xor_: no, i'm afraid you can't, not in my experience.
04:24:40 <xor_> Just have the first element be the length
04:24:51 <lament> xor_: that's not an "abstraction"
04:25:02 <xor_> I don't know what you mean by that
04:25:02 <pikhq> C would be nice if it had a nicer way to define datatypes.
04:25:06 <lament> xor_: that's an "implementation" but there's no abstraction involved.
04:25:16 * pikhq likes the C++ way at the moment
04:25:40 <xor_> So "abstraction"==hiding the implementation?
04:25:45 <lament> xor_: pretty much.
04:25:51 <xor_> point taken
04:26:14 <lament> in effect, you want a new language feature, lists.
04:26:29 <lament> in something like Lisp, when you don't have a language feature, you can add it seamlessly.
04:26:37 <lament> in something like Python or Java you can sort of do it with objects.
04:26:50 <lament> in something like C, you can barely do it at all.
04:26:56 <xor_> do it oop style
04:27:13 <lament> I'm not saying Lisp is the best for programming, but it does have the most powerful abstraction mechanisms (that i'm aware of)
04:27:27 <xor_> There is nothing to add on to in lisp
04:27:38 <lament> oh, there's always something to add on.
04:27:49 <xor_> I mean, of course it's seamless
04:28:19 <lament> consider math notation
04:28:32 <lament> you have symbols that stand for objects and symbols that stand for operations
04:28:42 <lament> and when you don't have something, you simply define more notation
04:28:55 <xor_> yeah
04:29:03 <xor_> and in lisp, everything is notation
04:29:25 <lament> not sure what you mean by that. "notation" is just a synonym for "syntax"
04:29:46 <lament> in every language, everything is notation
04:29:47 <xor_> Lisp has almost no syntax
04:29:52 <lament> that's true.
04:30:02 <xor_> There Is only one operator in lisp
04:30:06 <xor_> well, sorta
04:30:16 <lament> that's not quite true, but it certainly looks that way.
04:30:22 <lament> but you could also say that about math notation:
04:30:30 <lament> "In math notation, there's only one operator, whitespace"
04:30:42 <lament> "everything else is operands"
04:31:20 <pikhq> Lisp comes damned near pre-parsed.
04:31:32 <lament> "1 + 2" -> whitespace is a very smart operator that takes 1,+ and 2 as operands, realizes that the + is an operation applicable to objects 1 and 2, and applies it
04:31:32 <xor_> In lisp you can't extend the language in the way you mean it in C
04:31:51 <lament> well, you can
04:32:16 <lament> why can't you?
04:32:33 <xor_> You can't change the only operator, namely, calling a function
04:32:34 <pikhq> (define function_foo (bar baz qux (quuxy quuux))) Voila. You've extended the language.
04:33:04 <xor_> yes, but you can do that in C too
04:33:07 <lament> xor_: well, that's why i said "extend", not "modify" :)
04:33:22 <lament> xor_: also it's not the only operator, and it doesn't call functions.
04:33:30 <lament> other than that you're mostly right.
04:33:30 <pikhq> C makes abstraction a bitch, though.
04:33:38 <lament> xor_: (define .....) is not a function.
04:33:45 <xor_> Close enough
04:33:50 <lament> no, not close at all.
04:34:04 <xor_> Oh?
04:34:06 <lament> in C, the analog would be "int foo() {}"
04:34:12 <xor_> I only have a weak understanding of lisp
04:34:17 <lament> you can't create new things of that kind in C
04:34:51 <lament> say you wanted C syntax for creating anonymous functions. C doesn't come with that. And you can't add it.
04:35:05 <lament> In lisp, you could (if it didn't have it to begin with)
04:35:26 <lament> suppose lisp doesn't have a foreach operator. Then you can add one yourself.
04:35:28 <xor_> Say you wanted to add lisp syntax for, say, postfix notation
04:35:50 <lament> You can do that.
04:36:03 <lament> You would have something like (postfix (1 2 +)) evaluating to 3
04:36:17 <xor_> I fold
04:36:31 -!- SevenInchBread has quit (Connection reset by peer).
04:36:33 <lament> i think CL even has infix notation thingie
04:36:39 <xor_> How do you do that?
04:36:45 <lament> so when you have a complex arithmetic expression, you don't have to suffer using prefix
04:36:49 <lament> i don't know
04:37:12 <lament> anyway, i don't even like lisp :)
04:37:28 -!- CakeProphet has joined.
04:37:33 <xor_> Well what I'm saying is that when it looks like you are changing the language in lisp, you are really just changing functions
04:37:37 <xor_> which you can do in c
04:37:38 <lament> no
04:38:03 <lament> it's just that in lisp everything sort of looks similar
04:38:05 <lament> but it isn't
04:38:14 <lament> for example, it should be fairly clear that (if) is not a function
04:38:19 <lament> try implementing if as a function in C
04:38:31 <xor_> but if is a function
04:38:40 <lament> not in Lisp or C
04:38:47 <xor_> It just so happens that you can pass blocks of code to a function in lisp
04:38:55 <rt> if isn't a function, because it doesn't evaluate all its arguments.
04:39:00 <rt> it's a "special form".
04:39:07 <lament> xor_: you can, but that's not how if works in Lisp.
04:39:24 <lament> the difference being
04:39:40 <lament> you don't go (if a '(code for if) '(code for else))
04:39:47 <lament> you go (if a (code for if) (code for else))
04:40:03 <lament> if it were a function, both chunks of code would be immediately evaluated
04:40:39 <lament> but yeah, you could argue that you could make it a function and lisp just sucks because syntax for passing blocks of code requires an extra quote which people don't want to type.
04:40:50 <lament> In fact, in Smalltalk if is a function.
04:41:13 <xor_> if you accessed arrays in c like get(array, index), then you could abstractly redifine arrays
04:41:22 <lament> sure.
04:41:24 <xor_> and access your list in the same way
04:41:27 <lament> sure.
04:41:40 <lament> except you can't have a polymorphic get
04:41:44 <xor_> and _everything_ in lisp is access like that
04:41:54 <lament> so the _same_ get function would have to work for arrays and lists
04:42:00 <lament> which is already a bit more difficult
04:42:25 <lament> especially if you want to add more datatypes in the future that should also work with get()
04:42:36 <lament> you can do that in C
04:42:44 <lament> it's just unnatural and silly and nobody does that.
04:42:55 <lament> in Lisp (or even Python), it's natural and easy
04:43:00 <xor_> yeah
04:43:11 <pikhq> C++, Lisp, and other semisane languages make it natural to do it.
04:43:15 <xor_> but c is fast and low level
04:43:21 <xor_> So you can't have everything
04:43:28 <lament> well, like i said
04:43:35 <pikhq> (C++ has this thing called "operator overloading". Rather nice.)
04:43:39 <lament> i can think of very very few tasks i would use C for.
04:43:44 <xor_> pikhq: Extremely
04:43:56 <xor_> but c++ sucks
04:43:58 <lament> eg., i can think of very very few tasks i would use a "fast low-level language" for.
04:44:03 <pikhq> xor_: C++ gives you this benefit, is fast, and is lowlevel. Lisp gives you this benefit and is fast. Try one of them.
04:44:09 <rt> c++ overloading isn't "rather nice". it's completely absurd.
04:44:27 <lament> python's overloading is a bit contrived
04:44:31 <lament> sadly
04:44:38 <lament> haskell shines as usual :)
04:44:40 <pikhq> rt: Code an app using bignums in C++ and C, and tell me that again.
04:44:45 <xor_> It's the same as c++'s ...
04:45:34 <lament> in haskell and smalltalk, there's no difference between something like 1+2 and something like add(1,2), both are just different syntax for functions.
04:45:45 <lament> any other way of doing operator overloading is less sane, imo
04:45:57 <Razor-X> If you use macros creatively, it's pretty simple to switch from postfix to prefix, and maybe even implement infix.
04:46:05 <xor_> Python is similar a believe
04:46:13 <lament> no, python is worse :(
04:46:28 <lament> in python, + is a shortcut for a function that's actually called __add__
04:46:30 <pikhq> Razor-X: Worst-case scenario, you just go and define a function "infix" to parse infix expressions.
04:46:41 <xor_> 1+2 == int.__add__(1, 2)
04:46:49 <Razor-X> pikhq: Yeah but... it's unelegant and not in the spirit of Lisp.
04:46:54 <lament> xor_: exactly
04:46:59 <pikhq> Razor-X: True.
04:47:00 <xor_> So it's the same
04:47:11 <lament> xor_: it's not the same, because you need to know the shortcuts
04:47:13 <xor_> Just with a namespace
04:47:18 <lament> you can't just write
04:47:19 <lament> class foo:
04:47:25 <lament> def +(self, other):
04:47:36 <pikhq> In C++: 1+2 == int.operator+(1, 2);
04:47:42 <xor_> class foo:
04:47:51 <xor_> def __add__(self, other):
04:48:01 <xor_> the syntax is just slightly different
04:48:08 <lament> xor_: like i said. You need to know those shortcuts.
04:48:12 <lament> it's weird.
04:48:14 <Razor-X> Well, you can use a procedure to modify the postfix notation and eval the prefixed notation.
04:48:22 <Razor-X> Which is a more roundabout way of adding new syntax.
04:49:00 <lament> xor_: in haskell, you would just go a + b = <body of your function>
04:49:29 <lament> or alternatively, add a b = <body>
04:50:52 <xor_> I think it is more weird to have odd characters in function names
04:50:57 <xor_> That's just confusing
04:51:28 <lament> i think there's nothing weird about calling a function that adds two things '+'
04:51:51 <pikhq> One must admit; operator overloading of any sort leaves you much more sane than C. ;)
04:52:26 <xor_> C with oop without operator overloading leaves you with prefix notation
04:53:00 <lament> why would you do oop in C?
04:53:08 <pikhq> lament: Ask the GTK devs.
04:53:10 <lament> it seems there're more appropriate languages
04:53:52 <pikhq> More specifically, ask whoever designed that bastard conglomeration that is Gobject.
04:54:05 <xor_> Because oop is a natural way of describing things?
04:54:26 <pikhq> xor_: And C++ is designed to make OOP natural.
04:54:53 <pikhq> An object system in C is about as bad as an object system in Brainfuck.
04:55:00 <xor_> not even close
04:55:07 <lament> xor_: yes, oop is a natural way of describing things, but why do it in C?
04:55:22 <xor_> because C is good
04:55:41 <xor_> also, if I code something in C, every other coder can understand it
04:55:55 <lament> surely not every coder.
04:56:24 <xor_> more speak C than speak (lisp|c++|python|whatever)
04:56:38 <lament> questionable
04:56:45 <lament> certainly questionable in the case of C++
04:56:57 <lament> even more so in the case of languages you omitted eg Java
04:57:03 <pikhq> C++ is *really* simple for a C coder to figure out.
04:57:09 <xor_> no it's not
04:57:22 <xor_> C++ adds waaaay too much complexity
04:57:40 <lament> i think i agree with xor
04:58:22 <pikhq> D is probably a better choice, sanity-wise, though. ;)
04:58:56 <xor_> anyways, I have to go
05:07:36 -!- Arrogant has joined.
05:08:36 <Razor-X> xor_: Wait.
05:09:02 <Razor-X> I just made a very unelegant hack (because I'm too lazy to lookup the syntax modification rules) to add in postfix notation to Lisp.
05:10:05 -!- Eidolos has joined.
05:10:46 <Razor-X> Scheme anywho.
05:18:47 <lament> Eidolos: go back to devnull!
05:21:11 <Eidolos> hehe
05:23:55 <Razor-X> Yeah, I really love Scheme. Haskell is pretty fun too.
06:02:32 -!- CakeProphet has quit (Read error: 104 (Connection reset by peer)).
06:03:32 -!- CakeProphet has joined.
06:08:13 -!- CakeProphet has quit (Read error: 104 (Connection reset by peer)).
06:08:50 -!- CakeProphet has joined.
06:24:00 -!- Sgeo has quit (Read error: 104 (Connection reset by peer)).
06:30:41 <RodgerTheGreat> heheh
06:30:56 <RodgerTheGreat> I love wikis: "LOCK is a clever acronym if you know what it stands for. (If you do, you might want to add that here.)"
06:49:11 -!- Arrogant has quit ("Leaving").
06:56:01 <GreaseMonkey> AddUselessLanguage(&Tomato,TomatoParser@,{i++;});
06:58:40 <GreaseMonkey> EatPies@(PieCount!2)={for({i!2;i=0;},{i<PieCount;},{i++},{eat(FindAvailablePie(&Pantry));});};
07:34:44 -!- CakeProphet has quit (Read error: 110 (Connection timed out)).
07:44:48 -!- ivan` has quit (Connection timed out).
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:10:52 -!- nooga has joined.
08:10:58 <nooga> sup
08:11:28 <GreaseMonkey> hi
08:12:14 <nooga> :>
08:25:45 <nooga> i'm writing a raytrcer 4 fun
08:26:14 <nooga> i'm even thinking about giving an esoteric scene description language to it
08:36:37 -!- GreaseMonkey has quit ("Leave@()={Sob("#AWOS");Quit();};").
08:47:47 -!- nooga has quit.
08:59:14 -!- pgimeno has quit (Read error: 104 (Connection reset by peer)).
09:49:20 -!- pgimeno has joined.
10:09:49 -!- |^Simbad^| has joined.
10:10:00 <|^Simbad^|> olaaaaaaaaa
10:11:51 -!- |^Simbad^| has quit (Client Quit).
11:41:22 -!- Asztal has joined.
13:39:14 -!- jix has joined.
14:05:32 -!- jix_ has joined.
14:16:39 -!- CakeProphet has joined.
14:20:53 -!- jix has quit (Read error: 110 (Connection timed out)).
14:36:39 -!- ivan` has joined.
15:12:22 <RodgerTheGreat> 'morning, everyone.
15:19:28 -!- pikhq has quit (Read error: 110 (Connection timed out)).
15:53:34 <SimonRC> What's more mind-numbing than _Big Brother_ and more pointless than _Second Life_? Yes, it's _Big Brother_ set *in* _Second Life_: http://www.theregister.co.uk/2006/11/06/bb_second_life/
15:53:38 <SimonRC> hehehe
15:55:40 <RodgerTheGreat> oh, god...
15:55:51 <RodgerTheGreat> civilization is doomed.
15:56:33 <CakeProphet> ...
15:56:37 * CakeProphet dies.
15:57:29 <Asztal> :|
15:57:56 <Asztal> stupid.
15:58:05 <RodgerTheGreat> they should make a reality show about programmers. "Eight coders. 30 days. One product. 90 cases of mountain dew. Who will survive?"
15:58:42 <Asztal> first contestant: Paula Bean
15:59:05 <SimonRC> Now, instead of watching people sit around doing nothing useful all day, you can watch people's online avatars sit around doing nothing useful all day!
16:03:52 <RodgerTheGreat> and quietly seethe that they're getting paid while you get nothing for a similar amount of work.
16:14:19 <SimonRC> heh
16:48:55 -!- Sgeo has joined.
17:14:04 <SimonRC> hi
17:16:04 <CakeProphet> Behold! An experiment!
17:16:13 <CakeProphet> >>> for x in range(1, 100):
17:16:15 <CakeProphet> lasttime = timetime
17:16:16 <CakeProphet> timetime = time()
17:16:18 <CakeProphet> print timetime - lasttime
17:16:20 <CakeProphet>
17:16:21 <CakeProphet> 1162919953.83
17:16:22 <CakeProphet> 0.0309998989105
17:16:24 <CakeProphet> 0.0780000686646
17:16:26 <CakeProphet> 0.0309998989105
17:16:27 <CakeProphet> 0.0
17:16:29 <CakeProphet> 0.047000169754
17:16:30 <CakeProphet> 0.0
17:16:32 <CakeProphet> 0.0469999313354
17:16:33 <CakeProphet> 0.0
17:16:35 <CakeProphet> 0.0469999313354
17:16:37 <CakeProphet> 0.0160000324249
17:16:38 <CakeProphet> 0.0309998989105
17:16:39 <CakeProphet> 0.047000169754
17:16:41 <CakeProphet> 0.0
17:16:42 <CakeProphet> 0.0469999313354
17:16:44 <CakeProphet> 0.0
17:16:46 <CakeProphet> 0.108999967575
17:16:47 <CakeProphet> 0.0
17:16:49 <CakeProphet> 0.0469999313354
17:16:50 <Sgeo> Um
17:16:51 <CakeProphet> 0.0150001049042
17:16:53 <CakeProphet> 0.0320000648499
17:16:55 <CakeProphet> 0.0
17:16:57 <CakeProphet> 0.0149998664856
17:16:59 <CakeProphet> 0.0
17:17:01 <CakeProphet> 0.0160000324249
17:17:03 <CakeProphet> 0.0160000324249
17:17:04 <Sgeo> You _had_ to do that in channel?
17:17:05 <CakeProphet> 0.0
17:17:07 <CakeProphet> 0.0150001049042
17:17:09 <CakeProphet> 0.0
17:17:11 <CakeProphet> 0.0159997940063
17:17:13 <CakeProphet> 0.0150001049042
17:17:15 <CakeProphet> 0.0
17:17:17 <CakeProphet> 0.0160000324249
17:17:19 <CakeProphet> 0.0
17:17:21 <CakeProphet> 0.0160000324249
17:17:23 <CakeProphet> 0.0
17:17:25 <CakeProphet> 0.0149998664856
17:17:26 <SimonRC> Dear god when will it end?
17:17:27 <CakeProphet> 0.0320000648499
17:17:30 <CakeProphet> 0.0
17:17:31 <CakeProphet> 0.0150001049042
17:17:32 <jix_> 100 lines
17:17:32 <Sgeo> SimonRC, after 100?
17:17:33 <CakeProphet> 0.0
17:17:35 <CakeProphet> 0.0159997940063
17:17:37 <CakeProphet> .....
17:17:38 <SimonRC> ah, yeah
17:17:39 * CakeProphet dies of flodding.
17:17:41 <CakeProphet> relative time between foreach iterations.
17:17:43 * CakeProphet waits to disconnect.
17:17:45 <CakeProphet> Yes.
17:17:45 <SimonRC> !kick CakeProphet
17:17:49 <CakeProphet> Nah... I cut it short.
17:17:53 <CakeProphet> >.>
17:17:58 <Sgeo> CakeProphet, how?
17:18:11 <CakeProphet> By not-copying-and-pasting-the-entire-results.
17:18:52 <CakeProphet> I wonder why there was a consistency for iterations to happen within 0.0 seconds of each other.
17:19:57 * CakeProphet honestly doesn't understand why people get pissed by floods like that.
17:20:01 <jix_> uhhm doing the output in the loop is bad
17:20:09 <jix_> because then speed will depend on your terminal etc...
17:20:39 <CakeProphet> but then all speeds will depend on my terminal... thus it'll remain consistent through iterations.
17:20:41 <CakeProphet> :P
17:20:50 <jix_> it wont
17:21:12 <jix_> buffering of streams can do odd things on timing
17:21:18 <jix_> an hell how slow is that 0.016?
17:21:29 <CakeProphet> Hmmm...
17:21:44 <xor_> CakeProphet: What's your point?
17:21:49 <jix_> the worst thing i can get (with ruby don't know python) is 0.000184 and python is said to be faster
17:22:07 <jix_> and that was 3 out of 100 that arn't like 4.8e-05
17:22:34 * CakeProphet doesn't have a point.
17:22:45 <CakeProphet> Anything I do rarely has a point to it.
17:22:47 <jix_> the funny thing is when i remove the output thing i don't get 0.000xxx at all
17:23:09 <jix_> only ~2.0e-06
17:23:48 <CakeProphet> Weird...
17:24:06 <CakeProphet> When I used a list method for doing it... by appending them to a list in the iteration... it didn't add anything to the list.
17:24:20 <jix_> then your code is wrong
17:24:41 <CakeProphet> timelist = []
17:24:42 <CakeProphet> timetime = time()
17:24:44 <CakeProphet> for x in range(1, 100):
17:24:45 <CakeProphet> lasttime = timetime
17:24:47 <CakeProphet> timetime = time()
17:24:48 <CakeProphet> timelist.append(timetime - lasttime)
17:24:50 <CakeProphet> >>> timelist
17:24:51 <CakeProphet> []
17:24:59 <jix_> i don't know python...
17:25:06 <jix_> is append destructive?
17:25:14 <CakeProphet> Not sure what that means.
17:25:23 <CakeProphet> It just adds the given value to the end of the list.
17:25:24 <xor_> no
17:25:27 <jix_> does it modify timelist or does it create a new list
17:25:37 <CakeProphet> modifies timelist.
17:25:53 <CakeProphet> Python lists are immutable.
17:25:56 <CakeProphet> er.. mutable
17:25:56 <jix_> that would mean it's destructive but xor_ said it isn't
17:26:04 <jix_> CakeProphet: yeah but that doesn't make all methods destructive
17:26:19 <jix_> in ruby they are too but they have destructive and nondestructive methods
17:26:31 <xor_> Python is great
17:26:33 <CakeProphet> not sure why it would matter...
17:26:40 <CakeProphet> they both append something to a list...
17:26:43 <CakeProphet> which is all I need it to do.
17:27:08 <jix_> CakeProphet: yeah but in the one example timelist still remains timelist (eg EMPTY) and a new list with the one element gets created and thrown away because you ignore the return value
17:27:18 <jix_> and in the other way the timelist object itself gets modified
17:27:54 <CakeProphet> >>> timelist.append(1)
17:27:55 <CakeProphet> >>> timelist
17:27:57 <CakeProphet> [1]
17:28:04 <jix_> so it's destructive
17:28:05 <CakeProphet> you don't need to reference the method call.
17:28:11 <CakeProphet> so yes... I suppose.
17:28:18 <jix_> i don't need to what?
17:28:30 <CakeProphet> You don't have to do timelist = timelist.append(1)
17:28:38 <jix_> yeah because it's destructive
17:28:38 <CakeProphet> i.e., it doesn't return a value.
17:28:43 <jix_> you would have to do that if it wouldn't be
17:29:14 <CakeProphet> So... I'm wondering why the code isn't working.
17:34:24 <lament> because it's broken.
18:07:02 -!- GregorR-L has joined.
18:08:04 <CakeProphet> [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,...
18:08:05 <CakeProphet> ...0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
18:08:14 <CakeProphet> That's the results without output printing.
18:09:21 -!- CakeProphet has quit ("haaaaaaaaaa").
18:10:12 -!- CakeProphet has joined.
18:11:47 <xor_> x=[1];x.append(x)
18:14:17 <lament> in haskell: x = 1 : x
18:15:55 <xor_> haskell is odd
18:18:56 <lament> not really
18:19:02 <lament> it's just very pretty :)
19:08:45 -!- calamari has joined.
19:46:17 -!- GregorR-L has quit ("Leaving").
20:54:54 -!- jix_ has quit ("Bitte waehlen Sie eine Beerdigungnachricht").
22:21:24 -!- nooga has joined.
22:21:30 <nooga> helloo
22:23:40 -!- GregorR-L has joined.
22:26:24 <xor_> lament: I've found that it's hard to code anything that doesn't have a simple mathematical translation in haskell
22:27:13 -!- Asztal has quit ("Chatzilla 0.9.72-rdmsoft [XULRunner 1.8.1b2/0000000000]").
22:29:20 * Sgeo coded a disproof of certain conceptions of God in Prolog
22:29:54 <GregorR-L> lol
22:34:05 <nooga> cool
22:34:22 <nooga> there is a lack of WAM based esolang
22:34:30 <nooga> oh no, there is one.... Prolog
22:34:45 <GregorR-L> WAM ...
22:34:47 <GregorR-L> Weird ...
22:34:49 <GregorR-L> Abstractions ...
22:34:53 <GregorR-L> ... Maybe
22:57:54 <nooga> ha
22:58:18 <nooga> Way too Advanced Mess
23:23:19 <nooga> g night
23:23:36 -!- Sgeo has quit (Read error: 104 (Connection reset by peer)).
23:24:00 -!- tgwizard has joined.
23:25:17 -!- nooga has quit.
23:26:54 -!- Asztal has joined.
2006-11-08
00:13:45 <Razor-X> xor_: Ya here?
00:13:52 <xor_> yeah
00:13:57 <Razor-X> It's not that hard. I coded an IRC bot from scratch in Haskell.
00:14:08 <xor_> nice
00:14:21 <Razor-X> xor_: A few minutes after you left yesterday, I made a hackish function to evaluate things in postfix fashion in Lisp.
00:14:24 -!- tgwizard has quit (Remote closed the connection).
00:14:28 <xor_> oh?
00:14:31 <Razor-X> But I was too lazy to look up the (syntax-rules) way, so it's hackish.
00:15:09 <Razor-X> For clarification: is (= (/ 3 4 5) (postfix '(3 4 5 /))) #t?
00:15:21 <Razor-X> Or would it be (postfix '(5 4 3 /)) ?
00:15:49 <xor_> hmmm
00:15:53 <xor_> Dunno
00:15:59 <Razor-X> Take yer pick.
00:16:23 <xor_> The stack way
00:16:25 <lament> Razor-X: but that's a function, not a special form, so it's the same as in any other language.
00:16:32 <Razor-X> lament: Yeah.
00:16:58 <Razor-X> Well, I don't really use it as a procedure only. I just reverse the arguments and re-feed it to eval.
00:17:05 <Razor-X> But a special form would be the correct way.
00:29:24 <xor_> show me?
00:34:21 -!- CakeProphet has changed nick to SevenInchBread.
00:34:37 * SevenInchBread assumes the doughy form.
00:39:12 <Razor-X> xor_: Here.
00:39:18 <Razor-X> Sorry for the delay, I was eating.
00:41:50 <Razor-X> http://paste.lisp.org/display/29468
00:44:15 <xor_> what is set! ?
00:44:56 <Razor-X> It's an imperative operator.
00:45:20 <Razor-X> (define blah '(3)) (set! blah '(4 5)) blah --> (4 5)
00:45:43 <xor_> oh
01:33:25 -!- Sgeo has joined.
01:37:59 <SevenInchBread> Are there any programming languages based on Life?
01:52:43 -!- GregorR-L has quit ("Leaving").
03:07:33 -!- ivan` has quit (Connection reset by peer).
03:09:03 -!- SevenInchBread has quit (Read error: 145 (Connection timed out)).
03:23:40 -!- Asztal has quit ("Chatzilla 0.9.72-rdmsoft [XULRunner 1.8.1b2/0000000000]").
04:08:28 <Razor-X> Life itself is just like a programming language, with a set of operations, and a specific form of machine it operates on.
04:08:43 <xor_> barely
04:15:58 <calamari> there is a turing machine (or was it a utm?) implemented in the game of Life
04:18:32 -!- GregorR-L has joined.
04:36:09 -!- GregorR-L has quit (Read error: 148 (No route to host)).
05:14:12 -!- calamari has quit ("Leaving").
06:04:18 -!- ivan` has joined.
06:25:47 -!- GregorR-L has joined.
06:35:56 -!- Sgeo has quit (Remote closed the connection).
07:54:14 -!- GregorR-L has quit ("Leaving").
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:06:41 -!- GreaseMonkey has joined.
08:07:54 -!- GreaseMonkey has changed nick to ^.
08:09:04 -!- ^ has changed nick to GreaseMonkey.
08:09:35 <GreaseMonkey> damn, doesn't support a lot of nicks
08:10:16 -!- GreaseMonkey has changed nick to ^_`.
08:38:59 <^_`> gonna go, bye
08:40:49 -!- ^_` has quit ("if({user~.programingInTomato;},{user~.weird=TRUE;});").
10:32:41 -!- ivan` has quit (Read error: 110 (Connection timed out)).
11:20:49 -!- ihope has joined.
12:20:22 -!- CXI has quit ("If you're reading this, it's probably xchat's fault.").
14:24:38 -!- jix has joined.
15:52:48 -!- cmeme has quit (Read error: 104 (Connection reset by peer)).
15:53:46 -!- cmeme has joined.
15:54:19 -!- cmeme has quit (Remote closed the connection).
15:54:51 -!- cmeme has joined.
16:12:20 -!- GregorR-L has joined.
17:22:29 -!- tgwizard has joined.
18:20:50 -!- ivan` has joined.
20:53:30 -!- CakeProphet has joined.
20:54:13 <CakeProphet> Wow... I'm very very bored.
20:54:16 * CakeProphet starting creating a brainfuck interpreter in Microsoft Excel... because his typing class is soooooooo boring.
20:55:00 <CakeProphet> I'm pretty sure you could create a finite-program-size version of Brainfuck in Microsoft Excel using formulas.
20:57:46 <xor_> ha ha lol
20:57:58 <xor_> How would you do that?
21:11:00 -!- Asztal has joined.
21:21:15 -!- CakeProphet has quit (Remote closed the connection).
21:23:31 -!- CakeProphet has joined.
21:23:44 <CakeProphet> xor, use A1 as the source code.
21:23:59 <xor_> ...
21:24:11 <CakeProphet> B1 through Bxxx becomes an iteration overthe contents of A1
21:24:43 <CakeProphet> B2 (and down) is the if check for pointer location, using the last pointer location as an input value...
21:25:32 <CakeProphet> and that's basically what I've got so far.
21:25:39 <xor_> hmm
21:26:28 <CakeProphet> =MID(A1, row(<current row>) - 1, 1)
21:26:47 <xor_> I'm no whiz at excel equations
21:27:08 <CakeProphet> would return a single character from the source in A1... so you just fill that formula down about 100-something times... and you've got an iteration over the contents of A1
21:28:12 <CakeProphet> and then... on the adjacent cells for each iteration you do parsing... using the if() function... with the return value for that cell being dependent on the instruction given.
21:28:28 <CakeProphet> but will always return the curren array position you're working in.
21:28:43 <CakeProphet> Each row would basically represent a state of the program.
21:48:20 -!- jix has quit ("Bitte waehlen Sie eine Beerdigungnachricht").
21:53:54 -!- tgwizard has quit (Remote closed the connection).
22:13:21 -!- ivan` has quit (Connection timed out).
22:42:39 -!- calamari has joined.
22:44:06 -!- Sgeo has joined.
22:44:11 -!- Sgeo has quit (Read error: 54 (Connection reset by peer)).
23:57:08 <Razor-X> You could, but you can implement BF in a bunch of scripting applications.
23:57:32 <xor_> of course
2006-11-09
00:42:49 -!- GregorR-L has quit (Read error: 110 (Connection timed out)).
01:37:21 -!- CXI has joined.
02:00:30 -!- Asztal has quit (Nick collision from services.).
02:00:34 -!- Azstal has joined.
02:00:36 -!- Azstal has changed nick to Asztal.
02:26:37 -!- meatmanek has quit ("User disconnected").
03:06:54 -!- calamari has quit ("Leaving").
03:35:04 -!- GregorR-L has joined.
03:44:11 -!- ivan` has joined.
04:02:17 -!- GregorR-L has quit (Read error: 148 (No route to host)).
04:30:30 -!- CakeProphet has quit (Read error: 145 (Connection timed out)).
04:53:53 -!- GregorR-L has joined.
06:16:40 -!- Asztal has quit (Read error: 110 (Connection timed out)).
06:21:57 -!- wooby has joined.
07:46:21 -!- wooby has quit.
07:58:27 -!- GregorR-L has quit ("Leaving").
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:03:43 -!- Arrogant has joined.
08:05:44 <Razor-X> No-one is talking.
08:07:33 <Razor-X> !bf ++++++++++++[>++++++++++<-]>.
08:07:47 <Razor-X> EgoBot :(
09:04:04 -!- Arrogant has quit (Read error: 104 (Connection reset by peer)).
11:04:01 -!- ihope_ has joined.
11:20:57 -!- ihope has quit (Read error: 110 (Connection timed out)).
11:33:57 <ihope_> There's TCP/IP, then...
11:34:11 <ihope_> Can I have TCP/TCP/IP?
11:53:47 <lindi-> ihope_: depends on what you mean
13:32:24 <ihope_> Can I put TCP on top of TCP/IP?
14:04:34 <SimonRC> yes
14:04:37 <SimonRC> ish
14:04:58 <SimonRC> I would have thought it is called tunneling
14:43:29 -!- Razor-X has quit (Remote closed the connection).
15:35:34 -!- ihope_ has quit ("http://tunes.org/~nef/logs/esoteric/06.08.09").
15:45:14 -!- Azstal has joined.
15:45:16 -!- Azstal has changed nick to Asztal.
16:07:08 -!- Asztal has quit (Read error: 60 (Operation timed out)).
16:31:44 -!- jix has joined.
17:05:02 -!- Arrogant has joined.
18:10:58 -!- tgwizard has joined.
18:35:53 -!- Azstal has joined.
18:35:55 -!- Azstal has changed nick to Asztal.
18:57:28 -!- oerjan has joined.
19:05:59 -!- tgwizard has quit (zelazny.freenode.net irc.freenode.net).
19:06:00 -!- cmeme has quit (zelazny.freenode.net irc.freenode.net).
19:06:00 -!- Eidolos has quit (zelazny.freenode.net irc.freenode.net).
19:06:00 -!- GregorR has quit (zelazny.freenode.net irc.freenode.net).
19:06:00 -!- sekhmet has quit (zelazny.freenode.net irc.freenode.net).
19:06:21 -!- tgwizard has joined.
19:06:21 -!- cmeme has joined.
19:06:21 -!- Eidolos has joined.
19:06:21 -!- GregorR has joined.
19:06:21 -!- sekhmet has joined.
19:06:26 -!- oerjan has quit ("Leaving").
19:43:19 -!- wooby has joined.
20:12:59 -!- Arrogant has quit ("Leaving").
20:24:34 -!- jix has quit ("Bitte waehlen Sie eine Beerdigungnachricht").
20:39:02 -!- Sgeo has joined.
20:58:10 -!- CakeProphet has joined.
21:29:15 -!- CakeProphet has quit (Read error: 145 (Connection timed out)).
21:33:44 -!- CXII has joined.
21:36:23 -!- CXI has quit (Read error: 131 (Connection reset by peer)).
22:13:51 <SimonRC> lol:
22:13:53 <SimonRC> http://de.fishki.net/picst/windows_49.jpg
22:13:57 * SimonRC considers getting figlet out to express the size, but decides against it.
22:19:12 -!- CakeProphet has joined.
22:39:56 -!- tgwizard has quit ("Leaving").
22:48:52 <Asztal> you'd think they'd have big text as well.
22:58:23 -!- GregorR-L has joined.
23:29:25 -!- Sgeo has quit (Read error: 60 (Operation timed out)).
23:31:57 -!- Razor-X has joined.
23:59:07 -!- Sgeo has joined.
2006-11-10
00:34:52 -!- xor_ has quit (Read error: 104 (Connection reset by peer)).
00:39:14 -!- bsmntbombdood has joined.
00:41:13 -!- bsmntbombdood has changed nick to xor_.
01:50:34 -!- GregorR-L has quit ("Leaving").
02:08:52 -!- CXII has changed nick to CXI.
02:30:25 -!- anonfunc has joined.
03:59:27 -!- rt has quit ("ircII EPIC5-0.0.5 -- Are we there yet?").
04:14:11 -!- CakeProphet has quit (Read error: 145 (Connection timed out)).
04:31:01 -!- xor_ has changed nick to xor.
04:59:33 -!- GregorR-L has joined.
05:18:49 -!- wooby has quit.
05:23:01 -!- cmeme has quit (Excess Flood).
05:24:28 -!- cmeme has joined.
05:38:27 -!- CXI has quit (Read error: 104 (Connection reset by peer)).
05:40:52 -!- wooby has joined.
05:41:39 -!- wooby has quit (Client Quit).
05:42:23 -!- Asztal has quit (Read error: 110 (Connection timed out)).
05:47:49 -!- xor has changed nick to xor_.
05:48:32 -!- xor_ has changed nick to xor.
05:54:41 -!- anonfunc has quit.
05:59:11 -!- Sgeo has quit ("Ex-Chat").
06:22:22 -!- CXI has joined.
07:59:17 -!- GregorR-L has quit ("kill(getpid(), SIGCANTTHINKOFNEWQUITJOKE)").
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:43:39 -!- Arrogant has joined.
10:35:35 -!- Arrogant has quit ("Leaving").
15:34:43 * SimonRC decides to ruin your productivity too:
15:34:48 <SimonRC> http://www.jenovachen.com/flowingames/implementfig.htm
15:37:17 <lindi-> SimonRC: how should i build that?
15:51:45 <SimonRC> huh?
15:51:47 <SimonRC> nonono
15:51:58 <SimonRC> I'l explaina in a few minutes
15:54:53 <lindi-> SimonRC: seems to be proprietary anyway so i don't bother :/
15:54:55 <Razor-X> So, can the committee meet tomorrow to judge?
15:58:41 <SimonRC> I meant this thing
15:58:43 <SimonRC> http://intihuatani.usc.edu/cloud/flowing/
15:58:45 <SimonRC> it's addictive
16:01:57 -!- Azstal has joined.
16:01:59 -!- Azstal has changed nick to Asztal.
16:14:50 -!- tgwizard has joined.
16:28:19 -!- lindi- has quit (zelazny.freenode.net irc.freenode.net).
16:28:33 -!- lindi- has joined.
16:30:07 -!- xor has quit (zelazny.freenode.net irc.freenode.net).
16:30:07 -!- pgimeno has quit (zelazny.freenode.net irc.freenode.net).
16:30:22 -!- Asztal has quit (zelazny.freenode.net irc.freenode.net).
16:30:22 -!- CXI has quit (zelazny.freenode.net irc.freenode.net).
16:30:23 -!- lament has quit (zelazny.freenode.net irc.freenode.net).
16:30:23 -!- puzzlet has quit (zelazny.freenode.net irc.freenode.net).
16:30:27 -!- xor has joined.
16:30:27 -!- pgimeno has joined.
16:30:41 -!- cmeme has quit (zelazny.freenode.net irc.freenode.net).
16:30:42 -!- RodgerTheGreat has quit (zelazny.freenode.net irc.freenode.net).
16:30:45 -!- Asztal has joined.
16:30:45 -!- CXI has joined.
16:30:45 -!- puzzlet has joined.
16:30:45 -!- lament has joined.
16:31:03 -!- fizzie has quit (zelazny.freenode.net irc.freenode.net).
16:31:03 -!- tgwizard has quit (zelazny.freenode.net irc.freenode.net).
16:31:04 -!- ivan` has quit (zelazny.freenode.net irc.freenode.net).
16:31:04 -!- SimonRC has quit (zelazny.freenode.net irc.freenode.net).
16:31:04 -!- sp3tt has quit (zelazny.freenode.net irc.freenode.net).
16:31:19 -!- cmeme has joined.
16:31:19 -!- RodgerTheGreat has joined.
16:31:25 -!- tgwizard has joined.
16:31:25 -!- ivan` has joined.
16:31:25 -!- fizzie has joined.
16:31:25 -!- sp3tt has joined.
16:31:25 -!- SimonRC has joined.
16:31:29 -!- tokigun has quit (zelazny.freenode.net irc.freenode.net).
16:31:51 -!- tokigun has joined.
16:41:49 -!- GregorR-L has joined.
16:41:50 -!- jix has joined.
17:05:14 <RodgerTheGreat> 'morning, everyone.
18:04:55 <Razor-X> Hey.
18:05:36 * RodgerTheGreat tips his hat.
18:05:42 <RodgerTheGreat> how's it going?
18:57:52 -!- anonfunc has joined.
19:14:29 <SimonRC> RodgerTheGreat: hi
19:14:51 * SimonRC re-promotes: http://intihuatani.usc.edu/cloud/flowing/
19:15:00 <SimonRC> It's fun and addictive.
19:19:00 -!- tgwizard has quit (Remote closed the connection).
19:23:23 -!- anonfunc has quit.
19:27:12 -!- anonfunc has joined.
19:27:25 -!- anonfunc has quit (Remote closed the connection).
20:11:11 -!- Asztal has changed nick to god__.
20:18:46 -!- god__ has changed nick to Asztal.
20:58:48 <xor> ooooh
20:59:05 <xor> an HP49G has a forth-like language built in
20:59:31 * xor begins to doubt his choice on a TI-89
21:00:37 -!- Sgeo has joined.
21:00:49 <xor> :/
21:05:02 -!- CakeProphet has joined.
21:05:54 <CakeProphet> whowas lilo
21:05:58 * CakeProphet ahems.
21:06:00 <CakeProphet> hehe
21:06:42 -!- Sgeo has quit ("Ex-Chat").
21:08:01 -!- Sgeo has joined.
21:12:15 <xor> grr I want an hp59g
21:14:45 * RodgerTheGreat strokes his HP11C lovingly.
21:17:50 <xor> Is that one of the ones with a 4 deep stack?
21:19:21 -!- cmeme has quit (Remote closed the connection).
21:20:00 -!- cmeme has joined.
21:46:10 <Razor-X> xor: Yeah, if I had the choice, I would've used an HP in the beginning.
21:46:44 <Razor-X> But my math teacher last year demanded HPs, and this year our math teacher does most of the examples on the TI (not that I couldn't read the manual push-comes-to-shove this year).
21:47:22 <Razor-X> Errr.
21:47:26 <Razor-X> s/HPs/TIs/
21:47:40 -!- pikhq has joined.
21:49:15 <Razor-X> xor: http://www.quartus.net/cgi-bin/twiki/view/Main/ColorForth
21:49:22 <Razor-X> That's some real potential fun.
21:49:26 * pikhq lives again!
21:52:00 <pgimeno> Forth is pretty esoteric
21:52:29 <pikhq> No, merely aging.
21:53:45 <pgimeno> http://www.colorforth.com/ide.html
21:53:55 <Razor-X> pikhq has the right of it.
21:54:00 <Razor-X> Compare Malbolge and Forth.
21:54:09 <Razor-X> I'd safely say Malbolge is ``pretty esoteric''.
21:55:55 <pgimeno> compare ORK and forth, for that matter :)
21:56:13 <Razor-X> Well, hmmm....
21:56:19 <Razor-X> Forth does, in some instances, sound like English.
21:56:56 <Razor-X> : bf-ptr-inc ( bfptr -- bfptr ) dup bf-tape-size @ = if bf-tape-grow 1+ else 1+ then ;
21:57:02 <Razor-X> That's one of my most English words.
21:58:01 <Razor-X> Although if you expand all the words to their English ``pronunciations'', it is pretty much English.
21:59:08 <Razor-X> colorForth looks awesome.
21:59:14 <pikhq> English. . . With a stack.
21:59:14 <Razor-X> Think about that control.
21:59:24 <Razor-X> pikhq: More logical than English already is ;)
21:59:51 <pikhq> I've recently been doing some improvements on BFM. . .
21:59:57 * xor loves his ti-89
22:00:01 <pikhq> The new BFM "Hello, World" program:
22:00:09 <pikhq> string foo "Hello, world!\n" 1
22:00:18 <pikhq> outs fooend
22:00:23 <pikhq> ;)
22:00:48 <Razor-X> I've put Quartus Forth on my Palm, and it's fun :)
22:00:54 <Razor-X> I should write a BF interpreter.
22:01:08 <Razor-X> ... Or just use the one I already wrote ....
22:01:24 <Razor-X> pikhq: Oooh. Strings, huh?
22:03:01 <pikhq> Razor-X: Yeah.
22:03:19 <jix> here like no one uses HPs...
22:03:20 <pikhq> C-style strings, in essence. . . Cheap, simple, and effective.
22:03:25 <pikhq> jix: I use one.
22:03:27 <jix> only casio and TIs
22:03:37 <Razor-X> TI only in my school, pretty much.
22:03:42 <jix> i meant here in the germany schools
22:03:48 <jix> (that i know of)
22:03:58 <Razor-X> It's very school-dependant.
22:03:58 <pikhq> My HS calc teacher hates TIs. . .
22:04:03 <Razor-X> In California, it's almost all TIs.
22:04:11 <Razor-X> (Probably because we're close to Texas.)
22:04:19 <pikhq> So, he's got a bunch of HPs that he loans out every year.
22:04:19 <jix> Razor-X: here it's very teacher dependet
22:04:36 <jix> i think ti's are pretty nice
22:04:36 <pikhq> The rest of the district uses TIs. . .
22:04:46 <pikhq> I'm glad that my teacher likes RPN. :)
22:04:57 <jix> you can do that on some TIs too
22:05:09 <xor> I hate school
22:05:11 <jix> i sometimes use rpn to enter thingst that i would mess up when i'd use a lot of ( and )
22:05:13 <Razor-X> I think I'll spend a portion of my saved up lunch money to trade in my TI for an HP when I graduate.
22:05:15 <xor> http://www.paxm.org/symbulator/download/rpn.html
22:05:17 <pikhq> jix: Yeah, but it's native for HPs.
22:05:30 <xor> Razor-X: I think I might get one
22:05:33 <Razor-X> TI-89 is pretty nice, though.
22:05:35 <jix> pikhq: but for the most things i enter i prefer the normal notation
22:05:39 <Razor-X> TI-83 isn't.
22:05:49 <xor> I can't use a ti-83
22:05:52 <jix> pikhq: and i get all features of the CAS from within the rpn thing so it's like native
22:05:57 <jix> xor: yeah that's the thing i use
22:05:58 <xor> They are just too terrible
22:06:14 <Razor-X> My dad complained to the principal for having to buy me a graphing calculator.
22:06:17 <xor> jix: What is?
22:06:23 <jix> xor: that rpn thing
22:06:33 <Razor-X> He argued that he used a slide rule until his 3rd year of college where he failed a class and bought his first calculator to compete.
22:06:38 <xor> oh nice
22:06:48 <xor> jix: Does it work good?
22:06:48 <Razor-X> So, a TI-83 was the best I was going to get out of him.
22:06:54 <jix> xor: it does
22:07:02 <Razor-X> Before that, I used a TI-22X (more-than-a-decade discontinued)
22:07:03 <Razor-X> .
22:07:15 <Razor-X> Was my dad's first calculator out of college.
22:07:17 <pikhq> Razor-X: I recommend the slide rule.
22:07:28 <Razor-X> pikhq: I've become pretty quick with it, actually.
22:07:45 <jix> when i'm not allowed to use the ti-98 (like programmable and or graphic disallowed) i use a ti-30-eco-rs or something
22:08:02 <xor> slide rulesrock
22:08:09 <xor> I love my slide rule
22:08:10 <Razor-X> I still have the TI-22X. I really loved that calculator.
22:08:10 <jix> i like it... very simple but does what i want
22:08:11 <pikhq> jix: I've been using RPN for a few years (yay, dc!). . . The fact that my graphing calculator now does RPN makes me very, very happy.
22:08:19 * pikhq needs to get a slide rule sometime
22:08:22 <Razor-X> I did my first SAT I with it, and it was a fine calculator.
22:08:23 <xor> pikhq: What calc?
22:08:42 <pikhq> xor: HP-49G+
22:08:53 <xor> pikhq: do you like it?
22:08:53 <Razor-X> (Although back when I took the SAT I, it wasn't designed like a marathon test.)
22:09:09 <Razor-X> *first took
22:09:12 <pikhq> xor: Except for a buggy keypad, it's rather nice.
22:09:27 <pikhq> (the current model, the HP-50G, has that issue fixed)
22:09:40 <jix> this one http://upload.wikimedia.org/wikipedia/commons/0/07/TI-30_eco_RS.jpg << the batteries are like never going to be empty
22:10:38 <jix> and as soon as there is enough light to be able to recognize the digits on the display it's enough for it to get enough power throught the solar thing
22:10:51 <Razor-X> Oh. We have one of those too.
22:11:27 <Razor-X> xor: Did you check out colorForth?
22:11:52 -!- Sgeo has quit (Remote closed the connection).
22:12:16 * pikhq goes to fix his _string and @ procs to not need a location argument
22:13:29 -!- Sgeo has joined.
22:17:10 -!- jix has quit ("Bitte waehlen Sie eine Beerdigungnachricht").
22:25:20 <xor> Razor-X: I am now
22:26:20 <xor> ha ha
22:26:27 <Razor-X> ?
22:27:14 <xor> Don't see the point
22:27:27 <Razor-X> It's Forth on the metal!
22:27:34 <Razor-X> How can you not appreciate that?!
22:29:16 <xor> on the metal?
22:29:34 <Razor-X> Pseudonym for total control.
22:29:42 <xor> hmm
22:30:19 <Razor-X> Imagine turning 486 machines into embedded systems for cheap.
22:30:44 <xor> rather use a more refined os
22:31:03 <Razor-X> I wouldn't call this an OS even, per-say.
22:32:02 * pikhq has made Brainfuck nicer still with BFM.
22:32:40 <pikhq> With 3 lines, one can have "Hello, World!" with BFM. :)
22:32:50 * pikhq is going to clean some stuff and make the new tarball
22:33:42 <Razor-X> colorForth is just enough ASM to simulate a flat memory model for a Forth interpreter/kernel.
22:34:01 <Razor-X> Which is why there's code for the floppy driver and the hard-disk driver and all.
22:35:18 <Razor-X> A microkernel I guess the term would be.
22:36:22 <Razor-X> And I'll bet someone can write a QWERTY driver for the Dvorak uninitiated.
22:37:07 <pikhq> Sorry; that's 4 lines.
22:37:23 <pikhq> Need to source both ^outs.bfm and ^stdcons.bfm
22:38:30 <xor> With BF with strings, it's >"Hello, World!"[<]>[.>]
22:39:36 <pikhq> source ^stdcons.bfm
22:39:41 <pikhq> source ^outs.bfm
22:39:53 <pikhq> string hello! "Hello, World!\n"
22:39:57 <pikhq> outs hello!end
22:40:02 <xor> I win
22:40:30 <pikhq> But I've got a full macro system.
22:40:35 <pikhq> And *it works*. ;)
22:41:17 <pikhq> (it could easily compile to BF with strings: >"Hello, World!\n"[<]>[>.])
22:42:36 <xor> I know
22:42:40 <xor> :P
22:45:06 <pikhq> 'Sides; my solution works anywhere where there are 8-bit wrapping cells (could work *anywhere* if I bother allowing for conditional compilation based upon cell size and wrapping/non).
22:47:01 <xor> It be easy to write a strings bf -> bf compiler
22:49:04 <pikhq> 'Bout as easy as it was for me to add the string command to BFM.
22:55:11 <xor> grr I can't get this rpn proggy to work in tiemu
23:05:54 -!- Sgeo has quit (Read error: 54 (Connection reset by peer)).
23:07:31 -!- Sgeo has joined.
23:54:31 <xor> well
23:54:43 <xor> http://www.paxm.org/symbulator/download/rpn.html screwed my calculator
2006-11-11
00:15:06 <Razor-X> TI-89 ?
00:15:53 <xor> yeah
00:15:58 <Razor-X> Mmmm.
00:16:03 <xor> well, TI-89Ti
00:16:22 <Razor-X> I'm sort of bemused by the fact that mainstream CS has the exact opposite sentiment of this channel.
00:16:28 <Razor-X> And Esome in general.
00:16:41 <xor> What is the sentiment of this channel?
00:16:55 <Razor-X> Experiment with new ideas, have fun coding.
00:17:17 <xor> What's the sentiment of mainstream CS?
00:17:27 <Razor-X> Learn OOP. Program in Java.
00:17:47 <Razor-X> I wonder what the OS programmers of tomorrow will be like, if there are any.
00:17:50 <xor> eew java
00:17:55 <Razor-X> s/are/will be/
00:18:42 <Razor-X> Even the future of embedded programming.
00:20:12 <Razor-X> Moreover, I think CS will become a field of uptight I'm-doing-it-for-the-money programmers, which makes me think that innovation will slow to a crawl.
00:22:01 <pikhq> Razor-X: That's because we're hackers, not computer scientists.
00:22:38 <Razor-X> pikhq: But hackers are what will, IMO eventually, decide whether the field will die into interlocked obscurity for a bunch of years, or actually continue to innovate.
00:23:02 <pikhq> Razor-X: Hackers, by definition, will continue to innovate.
00:23:15 <Razor-X> Yeah, but I think the hacker pool will decrease over time.
00:23:21 <Razor-X> That's my main concern.
00:23:33 <pikhq> The free software community begs to differ.
00:23:53 <Razor-X> Hah. A vast majority of them aren't hackers.
00:24:02 <Razor-X> I mean the new recent explosion.
00:24:34 <Razor-X> Linux toiled in obscurity when it was hacker haven. Now it's being mainstreamed. I have no problem with that but, I'm foreseeing a temporary hacker-death.
00:25:36 <Razor-X> At some subconscious point, I think hacking comes from seeing the innards of something and realizing that normal human beings created it. I mean, think about it. No-one really tries to hack telephone lines anymore.
00:26:05 <Razor-X> Less and less of the innards are showing each and every day, and it's not something we're fixing, but creating tighter scaffoldings over lower componenents.
00:26:14 <xor> The days of phreaking sounded fun
00:26:22 <xor> I wish I was around back then
00:27:04 <Razor-X> Yeah, me too.
00:27:20 <Razor-X> Although the PC is something I'd shudder to live without.
00:28:47 <pikhq> Razor-X: The free software community is something that works to allow the existence of hackers, in essence.
00:29:10 <pikhq> s/community/movement/
00:29:31 <pikhq> It keeps the innards shown to all of the world.
00:29:54 <xor> Most people just want free software so they don't have to pay
00:30:42 <pikhq> xor: Thus why I refer to the movement.
00:31:03 <pikhq> The free software *movement* is driven by a wish for freedom, not merely low price.
00:40:54 -!- CXI has quit (Read error: 104 (Connection reset by peer)).
00:54:29 <Razor-X> Well, it's not always just free software (but I admit, this is where it excels).
00:55:10 -!- puzzlet_ has joined.
00:55:43 <Razor-X> The demand for non-implementation-level software is just dying because, we're using monoliths, and no-one's encouraging people to rewrite things like driver code.
00:56:02 <Razor-X> Although in accordance with the recent Linux explosion, Windows (I think) has been having a relative low-level explosion.
00:56:51 <pikhq> Near as I can tell, hackerdom won't actually die. It may suffer from a temporary die-off, but it has this tendency to come back, stronger than ever.
00:57:07 <Razor-X> I fear the temporary die-off.
00:57:30 <pikhq> Yeah. . .
00:57:36 <pikhq> It'll be the *second* one Stallman
00:57:44 <pikhq> 's lived through, though. ;)
00:57:50 <Razor-X> Hehe.
00:57:58 <Razor-X> Computers are becoming more and more entrenched. It's the wrong time for hackerdom to die.
00:58:04 <pikhq> True, true.
00:58:38 <Razor-X> No offense to Stallman's generation but, a dying late-'70s hackerdom would only affect a few critical things.
00:58:42 <pikhq> On the bright side, hackerdom will, no doubt, take down those who are in it for money alone down with it.
00:59:50 <Razor-X> That's true.
01:00:25 <Razor-X> Likewise, I think the hackerdom needs to produce more documentation and learning material.
01:00:32 <pikhq> Agreed.
01:00:54 <pikhq> Without documentation & learning material, we lose opportunities for new blood. . . Surely, this is a bad thing.
01:01:06 <Razor-X> Exactly.
01:01:18 <pikhq> The fight for source code itself, of course, must continue. . . But without documentation, what the hell are we going to do with the code?
01:01:26 <Razor-X> Yeah.
01:01:40 <Razor-X> Code is useful, but only to the point to that you can follow the thought process of the writers.
01:02:08 <pikhq> Which is damned difficult in esolangs, at least. :p
01:02:15 <Razor-X> Heh.
01:03:36 <Razor-X> My own approach to beginning programming documentation is intuitive, because I also think that anything but mainstream coding has too much by way of CS-``sophisticated'' literature.
01:06:02 <Razor-X> With so many abstractions, it's hard to remember that programming is a gigantic bunch of 0's and 1's.
01:06:41 -!- wooby has joined.
01:07:44 -!- puzzlet has quit (Read error: 110 (Connection timed out)).
01:08:02 * pikhq feels that he's made the abstractions in BFM a bit more. . . Sane.
01:09:11 * pikhq wonders why he's talking about that
01:11:51 -!- CXI has joined.
01:27:14 -!- pikhq has quit (Read error: 110 (Connection timed out)).
01:30:29 -!- GregorR-L has quit ("Leaving").
01:38:08 -!- pikhq has joined.
01:59:22 -!- Sgeo has quit (Remote closed the connection).
02:01:28 -!- Sgeo has joined.
02:15:33 <xor> pikhq: Becuase it's interesting?
02:15:47 <pikhq> xor: Sounds 'bout right.
02:16:07 <pikhq> Anyways. . . In BFM, declaring the memory location of a variable is optional now.
02:16:35 <pikhq> Same applies to strings.
02:16:57 <pikhq> In fact, with the new string support, declaring the memory location of a variable is very, very unwise.
02:17:30 <xor> Shame you wrote it in tcl ;)
02:17:48 <pikhq> But that's the best part!
02:18:55 * xor came up with something a while ago that you guys would apreciate
02:18:58 <pikhq> Writing in Tcl gives me a one-line parser!
02:19:14 <xor> A grammar for english that is lisp-like
02:19:49 <xor> (verb args)
02:19:54 <xor> (modifer args)
02:19:56 <xor> etc
02:20:13 <pikhq> That'd make some AI researchers very happy. ;)
02:20:18 <xor> indeed
02:20:21 <xor> (rocks it)
02:23:59 <xor> (? (what (think you (about it)))
02:24:03 <Asztal> (not (does it)) :)
02:24:42 <pikhq> (, (no (rocks it))) (much (very (rocks it))))
02:25:06 <xor> Asztal: The subject of a verb shouldn't be implied
02:26:13 <xor> actually, nevermind, I misunderstood
02:28:42 <xor> (think i (is cool it))
02:29:18 <pikhq> (think I (= cool it)), if you want to be more Lispy. :p
02:29:53 <pikhq> One can then use = in math, sentences, etc.
02:30:38 <xor> (=) is numeric equality though
02:30:44 <xor> wouldn't it be (eq) ?
02:32:06 <pikhq> Not if we use an untyped Lisp, and have numbers represented as lists (IIRC, this is how the original paper had Lisp set up).
02:33:48 <xor> hmm
02:39:47 <xor> (not (matter it))
02:41:50 <pikhq> (heh)
02:42:15 <xor> (laugh you)
02:44:29 <xor> (read I (about lisp))
02:45:25 -!- Asztal has quit (Read error: 104 (Connection reset by peer)).
02:45:45 <pikhq> (no (read xor (about lisp)))
02:46:04 <xor> why not?
02:47:26 -!- Asztal has joined.
02:47:27 <pikhq> Just wanting to be contrary.
02:47:47 -!- Asztal has quit (Client Quit).
02:53:03 <xor> I don't like how common lisp has different namespaces for variables and functions
03:01:23 <pikhq> I think I'd prefer different namespaces for libraries & other forms of linguistic extensions. . .
03:03:21 <xor> I like how python does it
03:04:18 <pikhq> Which is?
03:05:09 <xor> Functions and variables are the same, and libraries (modules) are accessed like modulename.funcname
03:06:43 -!- Sgeo has quit (Read error: 54 (Connection reset by peer)).
03:06:49 <pikhq> Thus, libraries are sequestered into seperate namespaces. . .
03:06:56 <xor> yeah
03:07:21 <pikhq> In Tcl, while not required, this is how libraries are typically set up.
03:08:14 <pikhq> (a small handful of libraries (Tk and Expect come to mind) clutter up the global namespace, but that's because they're rather old libraries, from before Tcl had namespaces, and so namespaces aren't used so old code still works)
03:08:38 -!- Sgeo has joined.
03:09:11 <pikhq> And it'd be accessed "::modulename::procname".
03:09:26 -!- GregorR-L has joined.
03:09:55 <xor> GregorR-L-V-T-M
03:10:27 -!- wooby has quit.
03:12:15 -!- ihope has joined.
03:12:15 <pikhq> string foo "BFM now has C-style string support. Joy unto the world."
03:12:37 <ihope> Now all we need is !bfm_txtgen.
03:12:51 <xor> That one is going to be hard...
03:13:17 <pikhq> Make it an Egobot daemon or something. ;)
03:14:16 <GregorR-L> Yes, EgoBot will be back.
03:14:23 <GregorR-L> I guesstimate Sunday.
03:14:29 <GregorR-L> Since I'm on DVD 36
03:14:34 <xor> wow
03:14:50 <pikhq> Um. . . What did you do?!?
03:15:03 <GregorR-L> Fill up my hard disk :P
03:15:34 -!- Arrogant has joined.
03:15:37 <pikhq> Bastard.
03:21:41 <xor> grr I want rpn on my calculator
03:21:53 <ihope> I want Haskell on mine.
03:22:15 <xor> WHat calculator?
03:22:40 <GregorR-L> The Haskulator
03:25:55 -!- ihope has quit (Remote closed the connection).
04:09:27 <lament> calcuhastor.
04:11:51 <xor> haskulator is better
04:13:26 -!- Arrogant has quit ("Leaving").
04:17:48 -!- Sgeo has quit (Read error: 54 (Connection reset by peer)).
04:19:38 -!- Sgeo has joined.
04:38:52 -!- Sgeo has quit (Remote closed the connection).
05:12:58 -!- pikhq has quit ("Download Gaim: http://gaim.sourceforge.net/").
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
09:09:22 -!- GregorR-L has quit ("Leaving").
09:25:54 -!- RodgerTh1Great has joined.
09:27:04 -!- RodgerTheGreat has quit (Read error: 131 (Connection reset by peer)).
09:41:54 -!- jix has joined.
09:48:22 -!- ivan` has quit (" HydraIRC -> http://www.hydrairc.com <-").
09:56:53 -!- CakeProphet has quit (Read error: 145 (Connection timed out)).
10:20:28 -!- RodgerTh1Great has quit (Read error: 110 (Connection timed out)).
12:14:28 -!- tgwizard has joined.
14:06:12 -!- jix_ has joined.
14:22:35 -!- jix has quit (Read error: 110 (Connection timed out)).
14:28:46 -!- CakeProphet has joined.
16:14:37 * SimonRC wonders why all american schoolkids have programmable/graphical/RPN calculators. I don't think many people at my school had anything like that.
16:21:37 <CakeProphet> SimonRC, Because of new-fangled technology
16:24:58 <SimonRC> Upon reading the "death of hacking" conversation above, I suddenly had a vision of the Second Coming Of Stallmann, like a hairier version of Jesus.
16:30:59 -!- tgwizard has quit (Remote closed the connection).
17:11:56 <Razor-X> That would be interesting :P
17:12:34 <Razor-X> The top 4 out of 5 most popular projects on SourceForge are P2P related projects. How nice.
17:35:19 <SimonRC> I have been fiddling with some numbers and find that traditional piano tuning is based on the equality: 531441 == 524288
17:35:22 <SimonRC> no wonder it has problems
17:58:21 -!- pikhq has joined.
18:50:26 -!- Sgeo has joined.
19:07:07 <GregorR> DVDs DONE!!!
19:18:17 <pikhq> Bring back EgoBot.
19:22:34 <lament> SimonRC: "traditional"?
19:26:14 <SimonRC> the one where a fifth is a 3/2 ratio
19:26:36 <SimonRC> GregorR: What were you doing with the DVDs?
19:54:03 -!- EgoBot has joined.
19:58:54 <xor> SimonRC: At my school we are required to buy a TI-83 or TI-84
20:01:01 <xor> It is very TI centric
20:03:12 <lindi-> xor: university?
20:05:38 <xor> High school
20:06:38 -!- pikhq has quit (Read error: 110 (Connection timed out)).
20:26:11 -!- Asztal has joined.
20:31:40 <GregorR> SimonRC: What I'm doing with the DVDs is clearing up my hard disk :P
20:42:58 <lament> SimonRC: i don't think that has ever been a traditional piano tuning
20:43:21 <lament> hm, i suppose it has
20:45:14 <lindi-> xor: how can they require you to buy anything in the first place?
20:58:18 <xor> lindi-: They just do
20:59:06 <lindi-> xor: what happens if you don't?
21:07:10 -!- ivan` has joined.
21:19:59 <SimonRC> lindi-: I don't think it is any worse than requiring schoolchildren to wear uniforms.
21:24:00 <lindi-> SimonRC: but many manufactures can probably produce those uniforms
21:34:09 <xor> lindi-: Not sure what they do if you don't
21:34:38 <lindi-> xor: i used hp-71 in high school but most used ti-86
21:35:35 <xor> I never bought a ti-83, but I guess my calculator is similar enough. I can't use it on exams though.
21:38:21 <xor> The teacher usually lets me borrow a crappy ti-83 for tests
21:42:45 <xor> I love my ti-89
21:50:17 -!- Asztal has quit ("Chatzilla 0.9.72-rdmsoft [XULRunner 1.8.1b2/0000000000]").
21:59:51 <lament> i was somewhat screwed on the provinical math exam in high school because i didn't have a ti-83
21:59:57 <lament> and entire big questions relied on having it
22:00:04 <lament> idiotic? certainly
22:00:28 <lament> but i passed the exam, so the calculator clearly isn't all _that_ necessary
22:00:39 <xor> Instructions in my math and physics class go "push button 1, then button 2..."
22:01:17 <lament> you're in high school?
22:01:45 <xor> yeah
22:02:01 <lament> well, just ignore it then
22:02:12 <lament> it's high school, who cares.
22:10:12 <xor> My physics class is more of a "learn to use your ti-83" class
22:12:10 <ivan`> AP Physics assumed you can do trig and algebra in your sleep and that you could calculator-solve in record time
22:30:28 -!- Sgeo has quit (Read error: 54 (Connection reset by peer)).
22:32:20 -!- Sgeo has joined.
23:16:05 -!- wooby has joined.
2006-11-12
00:49:57 -!- jix_ has quit ("Bitte waehlen Sie eine Beerdigungnachricht").
01:11:09 -!- Asztal has joined.
01:14:39 <Razor-X> Our AP Physics teacher teaches everything but Physics.
01:14:51 <Razor-X> Once he spent 2 hours lecturing about fats and carbohydrates.
01:14:53 <GregorR> I had a similar experience.
01:15:16 <Razor-X> A friend of mine the other day got him to spend 1 hour on the cleanup procedures of liquid mercury.
01:15:21 <GregorR> Incidentally, AP sucks, it screwed me into taking more advanced (and degree-unrelated) science in college than I would have had to otherwise.
01:15:32 <Razor-X> And he is convinced that he has to make faulty real-life analogies to Physics concepts.
01:16:24 <Razor-X> His worst so far was comparing formulas with that researcher that discovered that there are only 5 social links between you and some famous person.
01:17:07 <Razor-X> Also, he seems convinced that kids of the US can't handle SI units.
01:17:33 <Razor-X> AP Chemistry gave me a good handle on SI units, so he just sounds like an idiot to me.
01:21:20 <Razor-X> One of his best examples of stupidity ``You can use this to find a relationship of the viscosity in each day. Now use Calculus, take it to its limit. You can use Calculus to find the viscosity on the 3rd day, 7th hour, 6th minute''. Most of us try our hardest not to laugh our heads off at him because he hasn't realized that you can use fractional days.
01:22:34 <xor> You know what's cool?
01:22:37 <xor> emacs calc
01:22:41 <Razor-X> Heh.
01:22:55 <xor> I just found out about it
01:23:02 <Razor-X> I've decided to program something that allows you to play MIDI files on the Palm.
01:23:37 <Razor-X> With only one instrument, though.
01:26:44 <xor> How does your palm output sound?
01:27:00 <Razor-X> Beeps, but the beeps can be for different durations at different frequencies.
01:32:05 <xor> calc is awsome
01:36:01 <lament> Razor-X: converting units is one of the things he's supposed to teach, though.
01:36:08 <lament> Razor-X: giving you fractional days would be too easy.
01:38:39 <xor> ooooh
01:38:51 * xor likes the "a %" command in calc
01:41:15 -!- ihope has joined.
01:41:22 <ihope> 333333333!
01:41:31 <xor> indeed
01:52:03 <Razor-X> lament: But he doesen't know Calculus.
01:52:15 <Razor-X> Or rather, he's forgotten.
01:56:20 <Razor-X> *he has forgotten
01:57:47 -!- ihope has quit (Remote closed the connection).
02:02:28 -!- GregorR-L has joined.
02:04:55 -!- GregorR-L has changed nick to SmallFriendlyLob.
02:06:43 -!- SmallFriendlyLob has changed nick to TinyBuddyLobster.
02:08:04 <lament> Razor-X: perhaps i don't understand the situation
02:08:17 <lament> Razor-X: i don't see how calculus is applicable
02:10:10 <Razor-X> It isn't.
02:10:32 <Razor-X> Of course, he thinks it does.
02:11:07 <lament> did you have a formula for viscosity, or experimental data with values for each day?
02:11:14 <Razor-X> Experimental data.
02:11:28 <Razor-X> He was talking about making a regression, but I wonder if he remembers any statistics at all.
02:11:45 <lament> oh, well, if it's experimental data, certainly you can apply calculus to it.
02:12:09 <Razor-X> Of course.
02:12:26 <lament> what's a regression?
02:13:00 <Razor-X> You have a bunch of data and try to apply an equation to it that will encompass the data, and hopefully hint at future trends.
02:13:06 <lament> i'd imagine any reasonable uncertainty on that viscosity would render the result completely useless...
02:13:38 <Razor-X> Advice when regarding my Physics teacher's advice:
02:13:42 <lament> oh, that's difficult
02:13:44 <Razor-X> Don't devote too many brain cycles.
02:14:28 <lament> i suppose you can assume the function is reasonably smooth...
02:14:45 <lament> but who knows, with daily changes in temperature, moisture and whatnot
02:16:37 -!- TinyBuddyLobster has changed nick to GregorR-L.
02:17:17 <Razor-X> Like I said: The key is not much thought.
03:47:21 -!- Asztal has quit (Read error: 60 (Operation timed out)).
05:12:21 -!- rt has joined.
05:53:12 -!- puzzlet_ has quit (Read error: 104 (Connection reset by peer)).
05:57:44 -!- puzzlet_ has joined.
06:38:14 -!- Sgeo has quit (Read error: 60 (Operation timed out)).
06:41:45 -!- puzzlet_ has quit (Read error: 104 (Connection reset by peer)).
06:48:29 -!- puzzlet_ has joined.
06:56:16 -!- CXI has quit (Read error: 131 (Connection reset by peer)).
06:57:11 -!- CXI has joined.
07:24:54 -!- Razor-X has quit (Read error: 104 (Connection reset by peer)).
07:25:30 -!- Razor-X has joined.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:14:47 -!- puzzlet__ has joined.
08:31:33 -!- puzzlet__ has quit (Read error: 104 (Connection reset by peer)).
08:35:31 -!- puzzlet_ has quit (Read error: 110 (Connection timed out)).
08:58:38 -!- GregorR-L has quit ("Leaving").
09:25:39 -!- puzzlet_ has joined.
09:37:11 -!- ivan` has quit (Read error: 104 (Connection reset by peer)).
09:37:38 -!- ivan` has joined.
09:37:50 -!- puzzlet__ has joined.
09:38:11 -!- ivan` has quit (Read error: 104 (Connection reset by peer)).
09:38:58 -!- ivan` has joined.
09:39:05 -!- puzzlet_ has quit (Success).
09:43:53 -!- puzzlet__ has quit (Remote closed the connection).
09:59:45 -!- puzzlet_ has joined.
10:14:12 -!- ivan` has quit (" HydraIRC -> http://www.hydrairc.com <- Try something fresh").
10:15:33 -!- puzzlet_ has quit (Read error: 104 (Connection reset by peer)).
10:15:40 -!- puzzlet_ has joined.
11:11:08 -!- jix has joined.
12:07:16 -!- tgwizard has joined.
13:48:56 -!- CakeProphet has quit (Read error: 145 (Connection timed out)).
14:06:26 -!- jix_ has joined.
14:10:09 -!- CXI has quit (Read error: 104 (Connection reset by peer)).
14:11:00 -!- CXI has joined.
14:14:19 -!- jix has quit (Read error: 104 (Connection reset by peer)).
14:47:45 -!- ihope has joined.
15:25:08 -!- CXI has quit (Read error: 104 (Connection reset by peer)).
15:25:57 -!- CXI has joined.
15:26:26 <SimonRC> %got a light?
15:26:26 <SimonRC> got: No match.
15:26:37 <SimonRC> one of the few good uses for csh
15:43:32 -!- Asztal has joined.
15:58:56 -!- CakeProphet has joined.
16:10:13 -!- CXI has quit ("If you're reading this, it's probably xchat's fault.").
16:11:29 -!- CXI has joined.
16:16:40 -!- Asztal has quit ("Chatzilla 0.9.72-rdmsoft [XULRunner 1.8.1b2/0000000000]").
17:18:14 -!- Sgeo has joined.
17:33:24 -!- Sgeo has quit (Read error: 54 (Connection reset by peer)).
17:34:51 -!- Sgeo has joined.
17:40:58 -!- RodgerTheGreat has joined.
18:01:18 -!- oerjan has joined.
18:57:53 <xor> !bf_textgen heh
18:57:57 <EgoBot> Huh?
18:58:06 <xor> !help
18:58:09 <EgoBot> help ps kill i eof flush show ls bf_txtgen usertrig daemon undaemon
18:58:11 <EgoBot> 1l 2l adjust axo bch bf{8,[16],32,64} funge93 fyb fybs glass glypho kipple lambda lazyk linguine malbolge pbrain qbf rail rhotor sadol sceql trigger udage01 unlambda whirl
18:58:12 -!- CXI has quit (Read error: 131 (Connection reset by peer)).
18:58:18 <xor> !bf_txtgen heh
18:58:49 <EgoBot> 42 ++++++++[>+++++++++++++>>><<<<-]>.---.+++. [67]
18:59:11 -!- CXI has joined.
19:03:19 <xor> odd
19:03:34 <xor> what's the point of >>><<< ?
19:03:35 <oerjan> even
19:03:58 <oerjan> that txtgen is not very smart
19:04:04 <pgimeno> xor, it's a genetic algorithm, that part is not optimized out automatically
19:04:31 <pgimeno> !bf_txtgen heh
19:04:47 <RodgerTheGreat> then it sounds like running it through a simple filter before displaying it's results would enhance the program.
19:05:01 <EgoBot> 42 +++++++++++++[>++++++++>>><<<<-]>.---.+++. [50]
19:05:03 <pgimeno> yup, I believe so
19:06:14 <xor> !bf_txtgen heh
19:06:45 <EgoBot> 42 +++++++++++++[>++++++++>>><<<<-]>.---.+++. [24]
19:07:28 <xor> what is the [24] ?
19:07:47 <pgimeno> I think it's the number of iterations or something
19:08:03 <pgimeno> but I'm wondering why it always produces >>><<<
19:08:12 <xor> !bf_txtgen ehh
19:08:41 <EgoBot> 39 ++++++++++[>++++++++++>>><<<<-]>+.+++.. [51]
19:09:00 <xor> !bf_txtgen f
19:09:00 <RodgerTheGreat> hm
19:09:25 <EgoBot> 35 ++++++++++[>++++++++++>>><<<<-]>++. [111]
19:09:28 <oerjan> i think possibly the inner loop generates an array of constants, which always has the same length even if only one is used.
19:09:30 <RodgerTheGreat> seems like a rather serious bug.
19:09:33 <xor> We could, you know, look at the source
19:09:45 <oerjan> !bf_txtgen Argle bargle, glop glyf
19:09:54 <RodgerTheGreat> !bf_txtgen a somewhat longer example sentence
19:12:00 <pgimeno> I think it's java (not 2K, fortunately)
19:12:07 <EgoBot> 206 +++++++++++++[>+++++>++++++++>+++++++++>++++++++<<<<-]>.>>---.<-.>>++++.<<--.<---------------------------------.>---.-.>.-----------.+++++.<++++.<++++++++++++.------------.>++.>.+++.+.<<.>.>>.<+++++++++.<-. [435]
19:12:20 <RodgerTheGreat> yep- oerjan was right
19:12:41 <EgoBot> 246 ++++++++++++++[>+++++++>++++++++>++++++++>++<<<<-]>-.>>>++++.<<+++.>-.--.<<++++.>++++.---------------.-------.<+++++++++++++++.>>>.<-.+++.-.<++++++.--.<--.>>>.<<.<++++++.>----.>-.<+++++++++++++++.>-.-------.>.<<+++.>.<<----------.>+.>.<<.>>--.++. [493]
19:12:41 <xor> pgimeno: No, it's written in C
19:12:47 <RodgerTheGreat> the algorithm seems to be designed for longer sentences.
19:12:57 <pgimeno> oh
19:14:58 <xor> the algorithm is slooooow
19:15:29 <RodgerTheGreat> genetic algos tend to be slow.
19:15:51 <xor> yeah
19:16:10 <xor> anyone have to url for the source?
19:17:42 <oerjan> http://esoteric.voxelperfect.net/files/brainfuck/util/textgen.java
19:17:47 <xor> http://esolangs.org/files/egobot/egobot-0.12.tar.bz2
19:18:29 <xor> oops, it is java
19:18:42 <RodgerTheGreat> heh
19:19:33 <xor> too bad
19:59:03 -!- CXI has quit (Read error: 54 (Connection reset by peer)).
19:59:32 -!- CXI has joined.
20:08:37 -!- cmeme has quit (Excess Flood).
20:10:13 -!- cmeme has joined.
20:10:27 -!- GregorR-L has joined.
20:20:43 -!- oerjan has quit ("Later").
20:23:21 -!- Asztal has joined.
20:41:39 -!- Aardwolf has joined.
20:54:13 -!- Asztal has quit ("Chatzilla 0.9.72-rdmsoft [XULRunner 1.8.1b2/0000000000]").
21:34:09 -!- lindi- has quit (Read error: 104 (Connection reset by peer)).
21:39:15 -!- lindi- has joined.
22:17:25 -!- jix_ has quit ("Bitte waehlen Sie eine Beerdigungnachricht").
22:26:55 -!- Aardwolf has quit (zelazny.freenode.net irc.freenode.net).
22:26:55 -!- tokigun has quit (zelazny.freenode.net irc.freenode.net).
22:26:55 -!- fizzie has quit (zelazny.freenode.net irc.freenode.net).
22:27:02 -!- Sgeo has quit (zelazny.freenode.net irc.freenode.net).
22:27:02 -!- SimonRC has quit (zelazny.freenode.net irc.freenode.net).
22:27:02 -!- sp3tt has quit (zelazny.freenode.net irc.freenode.net).
22:27:03 -!- cmeme has quit (zelazny.freenode.net irc.freenode.net).
22:27:03 -!- CakeProphet has quit (zelazny.freenode.net irc.freenode.net).
22:27:03 -!- CXI has quit (zelazny.freenode.net irc.freenode.net).
22:27:03 -!- EgoBot has quit (zelazny.freenode.net irc.freenode.net).
22:27:03 -!- lament has quit (zelazny.freenode.net irc.freenode.net).
22:27:03 -!- rt has quit (zelazny.freenode.net irc.freenode.net).
22:27:03 -!- pgimeno has quit (zelazny.freenode.net irc.freenode.net).
22:27:03 -!- xor has quit (zelazny.freenode.net irc.freenode.net).
22:27:03 -!- lindi- has quit (zelazny.freenode.net irc.freenode.net).
22:27:33 -!- lindi- has joined.
22:27:33 -!- Aardwolf has joined.
22:27:33 -!- cmeme has joined.
22:27:33 -!- CXI has joined.
22:27:33 -!- Sgeo has joined.
22:27:33 -!- CakeProphet has joined.
22:27:33 -!- rt has joined.
22:27:33 -!- EgoBot has joined.
22:27:33 -!- tokigun has joined.
22:27:33 -!- SimonRC has joined.
22:27:33 -!- sp3tt has joined.
22:27:33 -!- fizzie has joined.
22:27:33 -!- lament has joined.
22:27:33 -!- pgimeno has joined.
22:27:33 -!- xor has joined.
22:28:46 -!- tgwizard has quit (Remote closed the connection).
22:39:21 -!- Asztal has joined.
23:13:45 -!- CXI has quit (Success).
23:25:16 -!- ihope_ has joined.
23:42:17 -!- ihope has quit (Read error: 110 (Connection timed out)).
2006-11-13
00:09:55 -!- Aardwolf has quit ("Ik zen der is mee weg").
00:15:57 -!- ivan` has joined.
01:20:00 -!- Asztal has quit ("Chatzilla 0.9.72-rdmsoft [XULRunner 1.8.1b2/0000000000]").
01:25:08 -!- CXI has joined.
02:46:14 -!- ihope_ has quit (Read error: 110 (Connection timed out)).
02:52:19 -!- CXII has joined.
02:52:59 -!- CXI has quit (Read error: 131 (Connection reset by peer)).
04:24:32 -!- CakeProphet has quit (Read error: 145 (Connection timed out)).
05:00:26 <Razor-X> Who wrote bf_txtgen?
05:00:46 -!- calamari has joined.
05:08:31 -!- CXII has changed nick to CXI.
05:13:07 <GregorR-L> Razor-X: calamari IIRC. And it's textgen.java IIRC.
05:13:19 <Razor-X> GregorR-L: Aha.
05:25:03 <RodgerTheGreat> yeah, it's coded in Java.
05:25:20 <RodgerTheGreat> I could take a crack at adding a post-optimizer for it.
05:26:13 <RodgerTheGreat> I made a simple one for a BF IDE I built for myself a while ago.
05:28:01 <calamari> hi
05:28:48 <Razor-X> I'm trying to get my Palm to send arbitrary data now.
05:28:56 <Razor-X> Hey, maybe I can even get the stupid thing to dump its ROM.
05:29:35 <Razor-X> Since it refuses to with other conventional utilities.
05:31:23 <RodgerTheGreat> what are you using to send things over the serial port?
05:31:37 <Razor-X> Good 'ol PalmOS functions.
05:31:51 <Razor-X> I've got Quartus Forth and LispMe on it.
05:32:18 <RodgerTheGreat> if you aren't afraid to touch some BASIC, I have a really easy way that you could do a ROM dump, assuming you have a serial hotsync cradle.
05:32:32 <Razor-X> See, that's the problem. It's not serial.
05:32:36 <RodgerTheGreat> damn
05:32:45 <RodgerTheGreat> that makes everything harder. :/
05:32:57 <Razor-X> What BASIC are you using, by the way?
05:33:35 <Razor-X> What I'm trying to get it do is to initially mimic the hotsync transfer (I have some hotsync request dumps), and after the kernel grabs onto the device, I'll begin sending arbitrary data.
05:33:41 <RodgerTheGreat> I was going to recommend Cbaspad- it's pretty old, but it supports PEEK, POKE, and CALL, and you can perform serial communications.
05:33:44 <RodgerTheGreat> want a link?
05:33:57 <Razor-X> Yah.
05:34:02 <RodgerTheGreat> one sec...
05:34:06 <Razor-X> Mmkay.
05:34:38 <RodgerTheGreat> http://www.hotpaw.com/rhn/files/cbaspad0974.zip
05:34:45 <RodgerTheGreat> and the manual: http://www.hotpaw.com/rhn/files/CBASPAD.TXT
05:35:22 <RodgerTheGreat> if you decide to do anything with cbaspad, I'd be glad- I'm a wizard with it. :D
05:35:27 <Razor-X> Where does the ROM live, by the way?
05:36:22 <RodgerTheGreat> hm. the only part of the palmOS memory map that I can remember is that the top 32k of ram are protected from writes without a system call...
05:38:17 <RodgerTheGreat> hm. a google search reveals this: http://assets.devx.com/articlefigs/6719.gif
05:38:34 <RodgerTheGreat> I'll see if I can find some numbers for the visor
05:47:29 <RodgerTheGreat> doesn't exactly have what we need, but this looks like some really useful info if you're looking at writing an OS: http://members.ozemail.com.au/~davidwilliams/ddl_home.htm
05:48:29 <Razor-X> Right now I'm just gonna fiddle with an httpd or a tftpd.
05:48:31 -!- Arrogant has joined.
05:48:35 <Razor-X> Maybe even just an IRC client.
05:49:37 <RodgerTheGreat> well, good night- I need to get some sleep.
05:55:44 <GregorR-L> RawIRC is the only IRC client you'll ever need.
06:12:47 <Arrogant> What about telnet?
06:13:49 <Razor-X> Hmmm. Somewhere my code is causing a fatal exception.
06:14:02 <calamari> Arrogant: go ahead :)
06:14:11 <Razor-X> Weird. I just compile in words, I haven't done anything special.
06:14:39 <calamari> xchat is less painful :)
06:15:05 <GregorR> Arrogant: Can't idle AFK with telnet :)
06:15:25 <Arrogant> Pay a homeless man to respond to pings
06:15:58 <Razor-X> Ah. Found the problem.
06:16:15 <calamari> fluxbox runs fine on this p166
06:17:08 <calamari> wish there was a browser faster than mozilla but that still rendered pages decently.. links is fast, but it really leaves a lot to be desired
06:27:24 <Razor-X> Well, that's what I get for writing to address 3.
06:32:21 -!- calamari has quit ("Leaving").
07:47:52 -!- nooga has joined.
07:47:59 <nooga> o
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:03:36 -!- GregorR-L has quit ("Leaving").
09:12:56 -!- Sgeo has quit (Read error: 60 (Operation timed out)).
10:08:57 -!- ihope_ has joined.
10:09:01 -!- ihope_ has changed nick to ihope.
10:51:13 -!- Arrogant has quit ("Leaving").
15:20:41 -!- Asztal has joined.
15:24:15 -!- CXII has joined.
15:42:15 -!- CXI has quit (Read error: 110 (Connection timed out)).
15:56:18 -!- oerjan has joined.
16:05:55 <nooga> hei oerjan
16:06:04 <oerjan> hei nooga
16:09:10 <oerjan> og hadet
16:09:18 -!- oerjan has quit ("Later").
16:09:19 <nooga> mmm
16:09:24 <nooga> hadet ;p
16:11:10 -!- tgwizard has joined.
16:11:52 -!- GregorR-L has joined.
16:13:48 <nooga> hey you
16:15:36 <GregorR-L> Fine, fine.
16:15:40 * GregorR-L gets off of nooga's cloud.
16:15:57 <nooga> ;]
16:26:09 <Asztal> Everything is red!
16:26:32 * Asztal needs to buy a monitor which displays red
16:27:29 <RodgerTheGreat> like a retro-style terminal or something?
16:27:38 <RodgerTheGreat> I'd go with green or amber myself.
16:27:48 <RodgerTheGreat> mmm... amber-on-black displays...
16:28:02 <nooga> amber?
16:28:23 <RodgerTheGreat> amber. Kindof between orange and yellow.
16:28:44 <RodgerTheGreat> http://en.wikipedia.org/wiki/Amber_%28color%29
16:28:49 <nooga> i'd like green with that cool phosphoric sustain
16:30:55 <RodgerTheGreat> according to this article (http://en.wikipedia.org/wiki/VT220), VT220 terminals came in white, green, and amber. I could've sworn red was a standard color as well.
16:32:43 <nooga> ha
16:34:58 <GregorR-L> Nah, it turned red after you used a white one to kill some--- I mean, I've never heard of that.
16:35:18 <nooga> ;>
16:35:35 <RodgerTheGreat> lol
16:35:36 <nooga> oh
16:35:52 <nooga> i've spotted a guy from Poland @ our wiki :>
16:35:59 <GregorR-L> KILL 'IM
16:36:09 <GregorR-L> eg: OK? And? :P
16:36:18 <nooga> nothing ;p
16:36:30 <GregorR-L> Oooooooooh, aaaaaaaaaah, Poland.
16:37:18 <nooga> i meant: a guy who made an esolang and lives relatively near to me ;p
16:38:09 <Asztal> I was thinking more like http://www.microdirect.co.uk/Productinfo.aspx?ProductID=14836
16:40:45 <nooga> i will make a display for my PC from old b&w TV ;p
16:40:59 <RodgerTheGreat> I've seen some tutorials on doing that
16:41:38 <nooga> i've tried to emulate old tv signal like it's made in those neat Xscreensavers
16:41:47 <RodgerTheGreat> you can create a 3-monitor setup by using R,G, and B channels to each represent a grayscale image.
16:42:04 <nooga> cool :>
16:42:10 <RodgerTheGreat> which is a really sweet idea, when you think about it
16:42:32 <nooga> indeed
16:42:45 <xor> doododododod
16:42:48 <RodgerTheGreat> I think I saw a link to how to do it on http://www.hackaday.com/ a while back- pore over the archives and see what you can find.
16:44:10 <nooga> heh
16:44:12 <nooga> g2g
16:44:14 <nooga> bye
16:44:15 <RodgerTheGreat> cya
16:45:07 -!- jix has joined.
16:51:01 <RodgerTheGreat> hello, jix
16:53:44 -!- nooga has quit (Read error: 145 (Connection timed out)).
16:57:08 -!- wooby has quit.
17:31:32 <SimonRC> ah, the wonders of my university's email system: http://www.dur.ac.uk/s.r.clarkstone/bouncy.eml
17:32:03 <SimonRC> (I sent a message to two people without bothering to put the default domain part on their addresses.)
17:34:52 -!- Asztal has quit ("Chatzilla 0.9.72-rdmsoft [XULRunner 1.8.1b2/0000000000]").
17:39:57 -!- wooby has joined.
17:40:18 -!- wooby has quit (Remote closed the connection).
18:07:07 -!- Asztal has joined.
18:44:17 -!- CXII has quit (Read error: 104 (Connection reset by peer)).
18:45:22 -!- CXII has joined.
19:04:30 -!- ihope has quit ("http://tunes.org/~nef/logs/esoteric/06.08.09").
19:47:58 -!- Asztal has quit ("Chatzilla 0.9.72-rdmsoft [XULRunner 1.8.1b2/0000000000]").
20:20:06 -!- Sgeo has joined.
20:39:12 -!- pgimeno has quit ("You're lucky as you can read this message but I can't").
20:53:42 -!- wooby has joined.
21:01:26 -!- jix has quit ("Bitte waehlen Sie eine Beerdigungnachricht").
21:07:02 -!- CakeProphet has joined.
21:38:38 -!- Asztal has joined.
22:00:23 -!- CakeProphet has quit ("haaaaaaaaaa").
22:04:35 -!- CakeProphet has joined.
22:10:00 -!- pgimeno has joined.
22:25:18 -!- tgwizard has quit ("Leaving").
22:33:48 -!- GregorR-L has changed nick to downs-drone21539.
22:34:46 -!- downs-drone21539 has changed nick to downs-two_of_two.
22:39:16 -!- downs-two_of_two has changed nick to GregorR-L.
23:21:01 -!- Sgeo has quit (Remote closed the connection).
23:21:34 * SimonRC prepends '** ' to the beginning of his $PS1, and it is much easier to spot now.
23:21:44 <SimonRC> "it" == the prompt
23:50:44 <xor> oh boy
2006-11-14
00:04:02 -!- GregorR-L has quit ("Leaving").
00:14:06 * SimonRC goes to bed
00:58:02 -!- CXII has quit (Read error: 104 (Connection reset by peer)).
00:59:02 -!- CXII has joined.
01:03:41 <Razor-X> Nooo. I must restart.
01:03:55 <Razor-X> 30 days, and ALSA on the kernel decided to act stupid.
01:04:02 <Razor-X> Just a measely 30 days :(
01:12:04 -!- lindi- has quit (Read error: 60 (Operation timed out)).
01:13:38 -!- lindi- has joined.
01:18:16 <xor> ha ha
01:25:17 <Razor-X> Hmm. Is 2.6.18 any good?
01:25:51 <xor> 2.6.15-1-486
01:26:27 <Razor-X> Good job.
01:26:33 <xor> uh huh
01:26:50 <Razor-X> You don't compile your own kernels?
01:27:06 <xor> nope
01:27:38 <Razor-X> Eww.
01:27:46 <xor> I have no desire to hack on the linux kernel
01:28:07 <Razor-X> Why not? It's fun.
01:28:11 <Razor-X> Plus, it's a lot faster.
01:28:17 <Razor-X> (If you compile it by hand.)
01:28:30 <Razor-X> With UML, it's a snap to test out new kernel stuff.
01:28:43 <xor> meh
01:28:50 <xor> linux is a mess
01:33:51 <xor> OpenBSD server.bsmntbombdood.mooo.com 3.9 GENERIC#617 i386
01:34:51 <lament> os x <3
01:37:04 * RodgerTheGreat high-fives lament
01:39:27 <Razor-X> Ewww. BSD.
01:41:10 <RodgerTheGreat> wooo. BSD.
02:07:47 -!- oerjan has joined.
02:17:17 -!- GregorR-L has joined.
02:23:00 -!- GregorR-L has changed nick to GregorR[Dead].
02:24:50 -!- GregorR[Dead] has changed nick to GregorR-L.
03:01:20 -!- puzzlet_ has quit (Remote closed the connection).
03:08:03 -!- puzzlet_ has joined.
03:42:11 -!- Sgeo has joined.
03:42:59 -!- Sgeo has quit (Read error: 104 (Connection reset by peer)).
03:46:39 -!- Asztal has quit ("Chatzilla 0.9.75 [IceWeasel 1.0.1b2] (kidding!)").
04:07:57 -!- CakeProphet has quit (Read error: 113 (No route to host)).
04:26:57 -!- GregorR-L has quit ("Leaving").
05:48:43 -!- anonfunc has joined.
05:51:12 -!- anonfunc has quit (Client Quit).
05:51:17 -!- anonfunc has joined.
06:01:46 -!- oerjan has quit ("Good night").
06:07:00 -!- ivan` has quit (Read error: 104 (Connection reset by peer)).
06:07:47 -!- ivan` has joined.
06:07:48 -!- ivan` has quit (Read error: 104 (Connection reset by peer)).
06:08:34 -!- ivan` has joined.
06:18:51 -!- ivan` has quit (Read error: 104 (Connection reset by peer)).
07:41:00 -!- anonfunc has quit.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:02:01 -!- anonfunc has joined.
08:25:44 -!- CXII has changed nick to CXI.
09:05:05 -!- Razor-X has quit (Remote closed the connection).
09:11:42 -!- Razor-X has joined.
11:01:20 -!- jix has joined.
11:18:50 -!- Asztal has joined.
11:46:37 -!- jix has quit (Read error: 110 (Connection timed out)).
14:46:51 -!- jix has joined.
14:53:36 * SimonRC goes WTF?! for a bit.
14:53:36 -!- Razor-X has quit (Read error: 104 (Connection reset by peer)).
14:53:40 <SimonRC> http://thedailywtf.com/forums/thread/101329.aspx
14:54:21 <SimonRC> That is mandatory reading, I think.
15:28:55 -!- jix has quit (Read error: 60 (Operation timed out)).
15:30:05 -!- jix has joined.
15:44:28 -!- anonfunc has quit.
15:46:32 -!- jix has quit (Connection timed out).
16:15:59 -!- tgwizard has joined.
16:54:31 -!- RodgerTheGreat has quit (Read error: 104 (Connection reset by peer)).
16:55:18 -!- RodgerTheGreat has joined.
17:30:06 -!- CXI has quit (Read error: 104 (Connection reset by peer)).
17:30:25 -!- CXI has joined.
17:57:24 -!- GregorR-L has joined.
18:07:03 -!- jix has joined.
18:14:09 <SimonRC> USENET ettiquette: If posting a 14-part binary, be sure to put an X-No-Archive header on part 11.
18:14:31 <GregorR-L> lol
18:15:28 <RodgerTheGreat> ouch
18:17:49 <GregorR-L> You can infer it from the md5sum! :)
18:19:29 <xor> I don't get it
18:21:15 <sekhmet> SimonRC: haw
18:21:59 <SimonRC> xor: to annoy people who want to get the file from Usenet archives.
18:22:03 <SimonRC> They will steadily go through the archives, finding all the parts, except part 11 will be nowhere to be found!
18:22:14 <xor> hmm
19:23:47 -!- GregorR-L has quit ("Leaving").
20:24:02 <SimonRC> xor: it's *evil*
21:15:17 -!- Asztal has quit ("Chatzilla 0.9.75 [IceWeasel 1.0.1b2] (kidding!)").
21:15:23 -!- Sgeo has joined.
21:21:19 -!- jix has quit ("Bitte waehlen Sie eine Beerdigungnachricht").
21:32:32 -!- oerjan has joined.
22:16:04 -!- ivan` has joined.
22:17:23 -!- CakeProphet has joined.
23:20:02 -!- GregorR-L has joined.
23:20:57 -!- meatmanek has joined.
23:21:21 -!- meatmanek has quit (Remote closed the connection).
23:25:58 -!- meatmanek has joined.
23:28:22 -!- ihope_ has joined.
23:28:27 <ihope_> Dirac notation, everybody!
23:28:40 <GregorR-L> ...?
23:30:33 <lament> <(.)|(.)>
23:31:05 <RodgerTheGreat> that looks... interesting
23:31:16 <GregorR-L> BOOBLES
23:31:22 <RodgerTheGreat> yes
23:31:47 <GregorR-L> I am ... CAPTAIN OBVIOUS.
23:32:07 <lament> boobies and a bra.
23:32:21 <lament> which makes it on-topic.
23:32:46 <RodgerTheGreat> ?
23:51:47 <ihope_> Dirac notation, la la la la!
23:52:12 <xor> (*) (*)
23:52:17 <xor> (*)Y(*)
23:53:42 <lament> off-topic!
2006-11-15
00:12:35 -!- Asztal has joined.
00:23:21 -!- shastry has joined.
00:23:29 -!- shastry has left (?).
00:37:03 -!- tgwizard has quit (Remote closed the connection).
01:22:44 -!- wooby has quit.
01:42:45 -!- wooby has joined.
01:43:15 -!- wooby has quit (Client Quit).
02:01:43 -!- calamari has joined.
02:01:54 <calamari> hi
02:02:53 <oerjan> ho
02:11:34 -!- GregorR-L has quit (Read error: 113 (No route to host)).
02:53:09 <CakeProphet> omote attempts to learn C++
02:53:11 <CakeProphet> er...
02:53:16 * CakeProphet attempts to learn C++
02:53:23 <xor> lol c++
02:53:27 <CakeProphet> but... C++ is really... weird... and doesn't make a lot of... sense.
02:53:30 <CakeProphet> at all.
02:53:45 <xor> Just code in bf
02:53:50 * CakeProphet wants to feel all warm and comfy in his Python interpreter.
02:53:58 <xor> I like python
02:54:12 <CakeProphet> C++ scares me with its weirdness and seeming over-elaborate and very specific mumbo-jumbo.
02:57:20 <Asztal> there's a lot of rules that you will, in practice, almost never need to know (such as... did you know the lifetime of an typeinfo object returned by the typeid operator? etc)
02:57:21 <CakeProphet> ...what's the purpose of specifying the type of the variable? The only reason I could see if gaining a smidgeon of efficiency... since all variables are limited to a maxinum number of bytes.
02:58:04 <Asztal> compile-time checking rather than run-time?
02:58:22 <xor> CakeProphet: um
02:58:37 <Asztal> and with template meta-programming you can do some quite cool compile-time checks
02:58:44 <xor> it's a lot of effeincy
02:59:23 <CakeProphet> pah... efficiency is for chumps... :D
02:59:36 <CakeProphet> and... people working with large, memory consuming programs...
02:59:46 <Asztal> no, they can get stuffed
02:59:56 <Asztal> ;)
03:01:12 <xor> Most languages are statically typed
03:02:59 <CakeProphet> static typing methinks can make things more difficult as well..
03:03:05 <CakeProphet> not to mention... tedious. :P
03:03:28 -!- wooby has joined.
03:04:54 <wooby> hio
03:06:28 <CakeProphet> Hey.
03:07:17 <CakeProphet> also... C++ uses strangely inconsistent syntax.
03:07:38 <CakeProphet> Each type declaration seems to use its own branch of syntax...
03:08:13 <CakeProphet> Everything seems to be case-by-case and specific to various sitatuins... rather than a general, simple syntax.
03:16:15 <Asztal> well, it did evolve from C and "C with classes"
03:16:32 <Asztal> its syntax makes sense to me, though.
03:17:38 * CakeProphet probably just isn't use to it.
03:17:48 <CakeProphet> Nothing seems consistent in it... at the moment.
03:18:24 <Asztal> anything in particular?
03:18:39 <Asztal> I guess function pointers are a bit... messy
03:19:14 <CakeProphet> The whole thing seems messy to me.
03:19:50 <Asztal> maybe I'm just used to it.
03:20:12 <CakeProphet> Each new thing I encounter uses some alternate and somewhat different syntax...
03:22:43 <Asztal> it's probably a good thing you're not using the C standard library
03:22:55 <Asztal> unless you are, in which case, un-lucky!
03:27:12 <CakeProphet> haha... how weird... strings are accesses via something in the standard library.
03:28:01 <Asztal> I don't find it weird :)
03:29:05 <wooby> i've never done anything w/ c++ really
03:29:18 <wooby> although i looked into it when java 1.5 had generics
03:29:24 <wooby> i guess the generics in c++ are pretty serious
03:29:37 <Asztal> they're turing complete
03:29:52 <Asztal> you can do stupid stuff with them :|
03:31:06 <wooby> neat
04:24:06 -!- ihope_ has quit (Success).
04:26:52 -!- Razor-X has joined.
04:28:58 -!- wooby has quit.
04:46:57 -!- CakeProphet has quit (Read error: 113 (No route to host)).
04:59:20 -!- Arrogant has joined.
05:20:15 -!- wooby has joined.
05:23:27 -!- calamari has quit ("Leaving").
05:32:57 -!- Asztal has quit (Read error: 110 (Connection timed out)).
06:02:25 -!- oerjan has quit ("Good night").
06:13:03 -!- Sgeo has quit (Remote closed the connection).
06:22:16 -!- xor_ has joined.
06:22:18 -!- xor has quit (Read error: 104 (Connection reset by peer)).
07:03:51 -!- GregorR-L has joined.
07:38:03 -!- Arrogant has quit ("Leaving").
07:53:33 -!- anonfunc has joined.
07:54:05 -!- GregorR-L has quit ("Leaving").
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:00:31 -!- Razor-X has quit (zelazny.freenode.net irc.freenode.net).
08:00:31 -!- RodgerTheGreat has quit (zelazny.freenode.net irc.freenode.net).
08:00:31 -!- Eidolos has quit (zelazny.freenode.net irc.freenode.net).
08:00:31 -!- sekhmet has quit (zelazny.freenode.net irc.freenode.net).
08:00:31 -!- GregorR has quit (zelazny.freenode.net irc.freenode.net).
08:00:53 -!- Razor-X has joined.
08:00:53 -!- RodgerTheGreat has joined.
08:00:53 -!- Eidolos has joined.
08:00:53 -!- GregorR has joined.
08:00:53 -!- sekhmet has joined.
08:35:14 -!- jix has joined.
08:35:50 -!- jix has quit (Client Quit).
09:12:41 -!- Razor-X has quit (zelazny.freenode.net irc.freenode.net).
09:12:41 -!- Eidolos has quit (zelazny.freenode.net irc.freenode.net).
09:12:41 -!- GregorR has quit (zelazny.freenode.net irc.freenode.net).
09:12:41 -!- sekhmet has quit (zelazny.freenode.net irc.freenode.net).
09:12:41 -!- RodgerTheGreat has quit (zelazny.freenode.net irc.freenode.net).
09:13:00 -!- Razor-X has joined.
09:13:00 -!- RodgerTheGreat has joined.
09:13:00 -!- Eidolos has joined.
09:13:00 -!- GregorR has joined.
09:13:00 -!- sekhmet has joined.
10:08:22 -!- CXII has joined.
10:24:34 -!- CXI has quit (Read error: 110 (Connection timed out)).
10:54:16 -!- anonfunc has quit.
11:18:07 -!- ihope_ has joined.
11:18:11 -!- ihope_ has changed nick to ihope.
12:14:40 -!- CXII has changed nick to CXI.
13:24:03 -!- puzzlet_ has quit (Remote closed the connection).
13:24:14 -!- puzzlet_ has joined.
14:23:54 * SimonRC lols:
14:24:03 <SimonRC> http://xkcd.com/c184.html
14:41:41 <SimonRC> http://xkcd.com/c88.html
15:36:36 -!- Asztal has joined.
15:53:11 <SimonRC> hi
16:38:26 <xor_> hi
16:47:41 -!- jix has joined.
16:48:32 -!- ihope has quit (No route to host).
16:58:08 -!- GregorR-L has joined.
16:58:41 <SimonRC> hi (2)
16:59:22 <xor_> hi (3)
17:08:36 -!- Asztal has quit (Nick collision from services.).
17:08:43 -!- Azstal has joined.
17:08:45 -!- Azstal has changed nick to Asztal.
17:11:17 <xor_> all the programming classes at the local community college are in Java, VB or C##
17:11:25 <xor_> :(
17:12:53 <RodgerTheGreat> Java isn't a bad language.
17:13:22 <xor_> Yeah it is
17:13:39 <RodgerTheGreat> How so? It's an excellent way to learn OOP.
17:13:54 <xor_> There are much better ways
17:14:00 <xor_> Python, for example
17:14:24 <RodgerTheGreat> Python is an imperative language.
17:14:59 -!- jix has quit ("Bitte waehlen Sie eine Beerdigungnachricht").
17:15:13 <xor_> yes...
17:15:31 <xor_> so is java
17:16:18 <RodgerTheGreat> that's incorrect. Java is a functional language, not an imperative language.
17:17:20 <xor_> java certainly isn't functional
17:18:18 <lindi-> java certainly isn't functional indeed
17:18:40 <lindi-> python has more functional properties like anonymous functions
17:26:07 <GregorR-L> Um ...
17:26:15 <GregorR-L> Java is functional in the least ...
17:26:40 <GregorR-L> It's imperative, subclass procedural, subclass object oriented, subclass nazi-type object orientation.
17:26:56 <GregorR-L> Erm
17:27:02 <GregorR-L> Java is NOT functional in the least ^^
18:18:38 -!- CXI has quit (Read error: 104 (Connection reset by peer)).
18:19:40 -!- CXI has joined.
18:25:19 -!- ivan`_ has joined.
18:25:43 -!- ivan` has quit (Read error: 104 (Connection reset by peer)).
18:25:44 -!- ivan`_ has changed nick to ivan`.
18:26:25 -!- Razor-X has quit (zelazny.freenode.net irc.freenode.net).
18:26:25 -!- Eidolos has quit (zelazny.freenode.net irc.freenode.net).
18:26:25 -!- GregorR has quit (zelazny.freenode.net irc.freenode.net).
18:26:26 -!- sekhmet has quit (zelazny.freenode.net irc.freenode.net).
18:26:26 -!- RodgerTheGreat has quit (zelazny.freenode.net irc.freenode.net).
18:26:45 -!- Razor-X has joined.
18:26:45 -!- RodgerTheGreat has joined.
18:26:45 -!- Eidolos has joined.
18:26:45 -!- GregorR has joined.
18:26:45 -!- sekhmet has joined.
18:30:27 -!- CXII has joined.
18:32:39 -!- Asztal has quit (Read error: 104 (Connection reset by peer)).
18:45:29 -!- CXI has quit (Connection timed out).
19:52:18 -!- wooby has quit.
19:57:02 -!- sekhmet has quit ("because I can!").
19:59:24 -!- sekhmet has joined.
20:20:48 -!- sekhmet has quit (Read error: 113 (No route to host)).
20:21:53 -!- sekhmet has joined.
20:27:39 -!- Sgeo has joined.
2006-11-16
21:09:19 -!- clog has joined.
21:09:19 -!- clog has joined.
21:23:59 -!- jix has joined.
21:41:06 <lament> somebody from #esoteric was trolling in #haskell? :)
21:41:49 <xor_> ?
21:45:10 -!- ihope_ has joined.
21:45:14 -!- ihope_ has changed nick to ihope.
22:03:05 -!- jix has quit ("Bitte waehlen Sie eine Beerdigungnachricht").
22:33:37 -!- GregorR-L has joined.
22:37:49 -!- ihope has quit (Read error: 104 (Connection reset by peer)).
23:31:34 -!- ihope has joined.
23:31:44 <ihope> So why do they say Linux is so much better than Windows?
23:32:05 <lindi-> ihope: they?
23:32:15 <ihope> The people who say that.
23:32:29 <xor_> Because it is
23:32:31 <lindi-> ihope: different people probably have different reasons :)
23:32:34 <xor_> dur
23:32:44 <ihope> What are some of them?
23:32:55 <xor_> free
23:33:04 <xor_> you can hack the kernel
23:33:09 <xor_> more secure
23:33:12 <xor_> easier to use
23:33:37 <lindi-> ihope: i consider it better since i value the freedom to share and change software
23:34:08 <lament> windows is better because it is more stable
23:34:15 <xor_> sure
23:34:22 <xor_> </sarcasm>
23:36:49 <lament> linux crashed on me all the time, after switching to windows i never have problems
23:37:19 <lindi-> good, you can get practice in fixing bugs :)
23:37:46 <xor_> heh you are insane
23:38:31 <lament> i'm not kidding
23:39:24 <lindi-> lament: what are the bug numbers?
23:50:16 <lament> what bug numbers?
23:51:19 <lindi-> lament: for the crashes
23:51:28 <lindi-> lament: or didn't you report them?
23:51:42 <lament> of course not
23:51:57 <lindi-> lament: oh, would have been nice to fix
2006-11-17
00:19:37 -!- wooby has quit.
00:38:46 <Razor-X> Higher-order functions are supposedly harder than pointers?
00:38:59 <Razor-X> (Reading the above article.)
00:39:39 <lament> harder?
00:39:48 <Razor-X> I dunno.
00:39:59 <lament> C has function pointers
00:40:07 <Razor-X> It's an odd concept in the beginning. But insanely powerful when learned.
00:40:10 <lament> with which you can make higher-order functions.
00:40:10 <Razor-X> *harder to learn
00:40:19 <lament> so i would say they're equally difficult :)
00:40:31 <lament> except that many people learn pointers without learning function pointers
00:40:37 <xor_> hmmm
00:40:45 <lament> still... on the whole, i would say pointers are much MORE difficult
00:40:46 <Razor-X> Function pointers are awesome.
00:41:00 <Razor-X> I mean, it's just a pointer pointing to a function. Yeesh :P
00:41:04 <Razor-X> lament: I agree there.
00:41:07 <xor_> lament: I don't see what people think is so difficult about pointers
00:41:27 <Razor-X> I think a higher-order function is only difficult if you've been trained as an imperative robot all of your life.
00:42:06 <xor_> What's a higher-order function?
00:42:57 <xor_> Oh never mind
00:43:09 <xor_> higher-order functions aren't hard to understand
00:45:19 <Razor-X> Lisp, in general, was hard for me to pick up in the very beginning.
00:45:45 <Razor-X> I spent spring break reading about Common Lisp and bashing myself for being seemingl incapable of understanding it.
00:45:58 <Razor-X> (I thought Scheme was weak for some reason and didn't learn it. Heh.)
00:46:52 <lament> higher order functions are conceptually much more simple than objects
00:47:02 <lament> and everybody uses objects without a second thought
00:47:25 <xor_> Razor-X: Higher order functions seem like something a brute-force laboring imperitive robot would do
00:47:33 <Razor-X> xor_: Huh?
00:47:51 <lament> there's nothing non-imperative about higher order functions
00:48:04 <xor_> hey, robot, map(pound_in_nails,stack_of_wood)
00:50:22 -!- CXI has quit (Read error: 104 (Connection reset by peer)).
00:50:48 <Razor-X> Then one magic moment it clicked, but I still didn't like Common Lisp, so I went onto OCaML. The syntax looked like some sort of unholy union of odd things, so I moved on to Haskell. I ended up writing an IRC bot in Haskell from scratch and *that's* when functional programming really clicked. I had enough of passing state in creative ways, and learned Scheme. I loved it.
00:51:20 <xor_> I'm learning common lisp
00:51:23 -!- CXI has joined.
00:52:50 <Razor-X> Common Lisp isn't abstracted enough, IMO.
00:53:15 <xor_> I'm really not liking the different function and variable namespaces
00:53:23 <xor_> It's ugly and inconsistent
00:53:25 <Razor-X> Yeah, exactly.
00:53:37 <Razor-X> Another thing is, the Common Lisp spec is huge.
00:53:41 <Razor-X> Like dwarfing.
00:54:15 <xor_> But tail recursion a la scheme is ugly too
00:54:16 -!- CXI has quit (Read error: 104 (Connection reset by peer)).
00:54:23 <Razor-X> Hmmm?
00:54:31 <Razor-X> Isn't it the same in CL and Scheme?
00:54:45 <xor_> Yeah, but it is encouraged in scheme
00:54:57 <Razor-X> Well... it *is* functional programming.
00:55:00 <xor_> I don't think recursively most of the time
00:55:09 -!- CXI has joined.
00:55:24 <Razor-X> See, that's the trapped mindset of an imperative thinker.
00:55:54 <xor_> recursing is not effecient
00:56:01 <Razor-X> Tail recursion is made effecient.
00:56:19 <Razor-X> Almost all of Lisp's idioms encourage the use of tail recursion. Haskell does too.
00:56:28 <xor_> Can I see your irc bot in haskell?
00:57:04 <Razor-X> Heh, I'll put it up a bit later, sure. There are some messy parts (the semi-modular framework especially), though, so be warned.
00:57:18 <Razor-X> I'll be rewriting it in Scheme, maybe.
01:05:18 <Razor-X> I wish the stupid recursive-application-for-internship was applied to high-schoolers.
01:08:00 <Razor-X> But in all seriousness, when I think of a programming problem, I think of it either in Scheme, or pseudo-C/pseudo-Forth (this is generally for low-level stuff).
01:08:40 <Razor-X> Sometimes I get angry for thinking in Scheme, because Scheme solutions come so easily for me (but nifty, I've been working on a small CAS for my Palm recently).
01:12:16 <Razor-X> Very nifty: http://home.earthlink.net/~krautj/sassy/sassy-Z-H-2.html#node_toc_start Scheme assembler.
01:14:49 <xor_> CASs are great
01:15:11 <xor_> ha ha lisp asm
01:16:08 <xor_> Why would you get angry for thinking in scheme?
01:16:17 <Razor-X> Because most of the world doesen't use it.
01:17:03 <Razor-X> Yup. I've been working mainly on the infix->postfix bit now, and converting that to an intermediary form I can perform CAS goodness with.
01:18:26 * xor_ loves his calculator
01:18:36 <xor_> It has lots of CAS goodness
01:19:46 <GregorR-L> I want a teletype machine.
01:20:40 <xor_> I don't.
01:29:59 <RodgerTheGreat> I want a PDP-8 *and* a teletype.
01:30:17 <GregorR-L> Well, I'd like to plug the teletype into my modern box ^^
01:30:28 <RodgerTheGreat> haha
01:30:42 <RodgerTheGreat> the idea of having a physical terminal for root appeals to me.
01:31:06 <RodgerTheGreat> "Awright, no more fucking around! Where's the fanfold paper?"
01:31:07 -!- ivan` has quit (" HydraIRC -> http://www.hydrairc.com <- 100,000+ downloads can't be wrong").
01:32:08 <xor_> heh
01:35:20 <RodgerTheGreat> and instead of sneakernetting files across the room with a flashdrive, punch them onto tape and have teletypes stationed all over your house.
01:35:40 <RodgerTheGreat> "inefficiency never felt so good"
01:41:25 <xor_> Razor-X: People say scheme is purely an academic language, with no practical use
01:56:30 -!- anonfunc has joined.
02:06:23 -!- GregorR-L has quit (Read error: 148 (No route to host)).
02:10:43 -!- Asztal has joined.
02:17:13 -!- calamari has joined.
02:23:50 <SimonRC> zzzz
02:55:22 <lament> Razor-X: it's true
02:55:25 <lament> errr
02:55:27 <lament> xor_: it's true
02:55:53 <xor_> Please support your awnser with a detailed explaination
02:57:15 <xor_> ^^ what my teachers say
03:05:58 <lament> it's good they're not my teachers :)
03:06:15 <xor_> But really, why is that so?
03:07:43 -!- CakeProphet has quit ("haaaaaaaaaa").
03:09:49 -!- ivan` has joined.
03:11:02 <Razor-X> There are practical uses, IMO. But the industry doesen't care about the merits of one language over another more than a language whose code is easily debuggable by a lot of people.
03:14:24 <Razor-X> I would think functional programming on the whole is very easily debuggable because there are no side-effects.
03:24:50 <lament> unfortunately scheme is not a side-effect free language
03:25:05 <lament> and side effects play an important role in the standard idioms
03:25:23 <lament> but yes, haskell does have its merits :)
03:25:29 <Razor-X> .... Heh.
03:25:45 <Razor-X> Haskell is a lot of fun, I admit. But state passing, at some point, becomes infesible.
03:25:50 <Razor-X> Anywho, Japanese time.
03:26:02 <xor_> So haskell doesn't have global vars?
03:26:23 <Razor-X> Nope.
03:26:47 <xor_> In my mind, that prevents abstraction
03:27:33 <Razor-X> Well, you can attempt to wrap your mind around a StateT monad, or do the simple thing and pass state around in lists.
03:28:11 <Razor-X> It's a great exercise of the mind, because you'll realize that ~60% of the state you wastefully use normally is useless.
03:28:21 <xor_> hmm
03:29:08 <lament> xor_: um, it's not that haskell doesn't have global variables
03:29:22 <lament> xor_: it's that the concept of "variable" is completely alien to Haskell because it doesn't have _any_.
03:29:32 <xor_> ?
03:29:45 <lament> xor_: stuff is immutable. Nothing varies.
03:30:01 <lament> you do have arguments to functions.
03:30:33 <lament> which people call variables if they like, but it's quite a different thing
03:30:46 <lament> since, again, they don't vary
03:31:17 <lament> so a "global variable" would be a "global constant", which is probably not what you had in mind.
03:33:49 <xor_> I need to learn more languages so I can keep up with the discussion in this channel!
03:38:00 <Razor-X> You should.
03:44:29 <lament> just learn haskell
03:44:42 <xor_> I coded a little in haskell for a bit
03:44:44 <lament> or at least get familiar with its concepts; you don't actually need to learn it.
03:44:58 <lament> same with forth, lisp, smalltalk
03:45:06 <lament> then you can keep up with practically any discussion
03:45:15 <xor_> I need to learn some smalltalk
03:53:54 -!- anonfunc has quit.
03:54:15 <lament> that should take you all of five minutes
03:54:33 <lament> smalltalk is probably the smallest language that was ever commercially used :)
03:54:40 <lament> or is it tied with forth
03:57:15 <xor_> brainfuck!
03:58:56 <xor_> I know, I know, not comercially
04:17:30 <Razor-X> I haven't done anything with SmallTalk either, meself.
04:18:02 <Razor-X> I like to actually get my feet wet in a language. I think of some pseudo-project and do it, to get a working feel of the language.
04:20:53 <Razor-X> One of the things I dislike thoroughly about R5RS is multiple-return support.
04:21:10 <Razor-X> That's one of those things done to make the language more effecient, but EH.
04:23:12 <xor_> R5RS?
04:24:12 <Razor-X> The Revised 5 Report on Scheme. The current ``de-facto'' standard.
04:24:43 <Razor-X> R6RS is in the making and will be revolutionaly in that, it will standardize previously implementation-specific things instead of merely language specific.
05:16:38 -!- calamari has quit ("Leaving").
05:28:20 -!- ivan` has quit (" HydraIRC -> http://www.hydrairc.com <- The future of IRC").
05:56:32 -!- Asztal has quit ("Chatzilla 0.9.75 [IceWeasel 1.0.1b2] (kidding!)").
05:59:40 -!- Sgeo has quit (Remote closed the connection).
06:19:44 -!- xor_ has quit ("Lost terminal").
06:23:31 -!- bsmntbombdood has joined.
06:28:21 -!- wooby has joined.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
10:02:50 -!- ivan` has joined.
11:01:36 -!- wooby has quit.
11:03:13 -!- wooby has joined.
11:03:20 -!- wooby has quit (Remote closed the connection).
11:32:15 -!- wooby has joined.
11:32:16 -!- wooby has quit (Remote closed the connection).
12:10:42 -!- Asztal has joined.
13:51:34 -!- ihope has quit ("http://tunes.org/~nef/logs/esoteric/06.08.09").
14:51:28 -!- Asztal has quit (Read error: 110 (Connection timed out)).
15:14:02 -!- jix has joined.
15:20:52 * SimonRC loves the fact that Haskell, like C and C++, has first-class variables.
15:21:01 <SimonRC> (IORefs and STRefs)
15:21:25 <SimonRC> it can make writing imperative code cleaner too, not writing functions
15:22:47 <SimonRC> Haskell (versus Java) lacks: Good marketing (Sun), buzzword-compliance (OOP, AOP), the ability for idiots to think they understand it (Java monkeys).
15:23:40 <SimonRC> If we were taught Haskell *instead* of Java, I would be a better programmer, but 70% of my class would have dropped out.
16:03:21 -!- Asztal has joined.
16:10:22 -!- GregorR-L has joined.
16:45:54 <bsmntbombdood> SimonRC: Don't let school get in the way of your education
17:37:17 -!- tgwizard has joined.
18:01:03 <Eidolos> (Mark Twain)++
18:39:07 -!- CakeProphet has joined.
19:03:52 <SimonRC> bsmntbombdood: I didn't
19:03:59 <bsmntbombdood> good
19:04:31 <SimonRC> I followed the advice of a graduate friend and learnt more Haskell in my free time in the first year than we were taught in the second year.
19:50:08 -!- oerjan has joined.
20:17:37 -!- anonfunc has joined.
20:50:19 -!- Sgeo has joined.
21:10:55 -!- ihope has joined.
21:30:01 <ihope> Six megahertz processor with 28 kilobytes of RAM. Isn't it wonderful?
21:30:17 <bsmntbombdood> very
21:30:37 <oerjan> reminisce reminisce
21:30:48 <bsmntbombdood> old hardware turns me on
21:36:48 <ihope> It seems to be from 1992.
21:36:57 <ihope> About as old as I am, not that I'm very old.
21:37:12 <oerjan> you don't mean 1982?
21:38:09 <ihope> No, I don't.
21:39:01 <oerjan> did they still use only 28 kilobytes anywhere in 1992?
21:39:31 <ihope> In graphing calculators, apparently.
21:39:41 <ihope> This is a TI-86.
21:39:46 <ihope> s/6/5/
21:40:26 <bsmntbombdood> I love my ti-89
21:40:41 <bsmntbombdood> m68k!
21:41:38 <jix> i love mine too
21:42:00 <ihope> Hey, wait, wait...
21:42:06 <jix> anyone know what cpu is/will be used in those new n-spire things?
21:42:08 * oerjan has an HP28S from 1989.
21:42:30 <ihope> The TI-86 has a whopping 128KB of RAM.
21:42:34 <bsmntbombdood> I want a HP{4,5}{8,9,5}G
21:43:18 <ihope> The TI-83 has 256KB.
21:43:41 <ihope> Plus flash ROM.
21:43:52 <ihope> In the Silver Edition, that's 2MB.
21:44:11 <bsmntbombdood> TI-89Ti, that has uber ram+flash
21:44:21 <bsmntbombdood> :)
21:45:39 -!- ihope_ has joined.
21:45:55 <ihope_> The TI-86 seems to have no flash ROM. It has twice as much ROM as RAM, actually.
21:47:08 <jix> ti-86 is from 1997
21:49:26 <ihope_> The TI-89 still has less than the TI-83 Silver Edition.
21:49:40 <bsmntbombdood> don't think so
21:51:16 <ihope_> The Voyage 200 has 2.7 MB of flash ROM and 188 KB of RAM.
21:52:50 <ihope_> Now, the TI-Nspire CAS has a whopping 36 MB of memory.
21:53:22 <ihope_> 16 MB of that is RAM, which should make it possible to run Linux on it :-)
21:53:22 <bsmntbombdood> oooooh
21:54:27 <ihope_> Will have, I mean.
21:54:41 <ihope_> Not out yet, I think.
21:56:18 <bsmntbombdood> oh
21:56:38 <bsmntbombdood> I want an HP calc
21:56:44 <ihope_> HP, eh?
21:57:00 <ihope_> What's the cheapest one with at least 16MB of memory? :-)
21:57:28 -!- jix has quit ("Bitte waehlen Sie eine Beerdigungnachricht").
21:57:29 <bsmntbombdood> this nspire thing is probably going to be super expensive
22:00:55 <bsmntbombdood> bah, I can't even find out what proc that uses
22:01:34 <bsmntbombdood> And, teachers don't want CAS
22:01:54 <bsmntbombdood> CAS just isn't marketable to schools
22:02:00 -!- ihope has quit (Read error: 110 (Connection timed out)).
22:38:39 * SimonRC suggests that the channel be renamed ##calculators
22:43:16 <ihope_> This channel?
22:43:42 <SimonRC> wyeah
22:43:51 <SimonRC> you keep talking about calculators
23:07:41 <ihope_> Well, lament's the one to talk to about renaming. :-)
23:12:06 <ihope_> "'From now on, I will be recommending sex . . . as the cure-all for intractable hiccups.'" http://en.wikipedia.org/wiki/Hiccup
23:12:12 * rt tries to think of a fun, simple recreational programming project.
23:13:15 <lindi-> sorry to ask here too but has anybody used gdb to debug freebsd's kernel? i got everything working but using "si" command is very painful since the timer interrupt gets triggered between all instructions
23:19:23 <ihope_> And what happened to aftran.com?
23:50:59 <ihope_> My last line there: [11/15/2006 8:32 PM] <ihope> Wait, what?
23:53:33 <bsmntbombdood> we never saw that
23:58:03 <ihope_> Now for a random hostname: dhcp03181.mid-resnet.unc.edu
23:58:54 <ihope_> Aha, it's Aftran's.
23:59:42 <bsmntbombdood> wtf are you talking about?
2006-11-18
00:01:52 <ihope_> dhcp03181.mid-resnet.unc.edu = Aftran.
00:28:20 -!- oerjan has quit ("Good night").
00:32:50 <Razor-X> I have a whole bunch of fun programming projects planned.
00:40:15 <bsmntbombdood> like what?
00:40:30 <bsmntbombdood> I need something to code in lisp
00:40:57 <Razor-X> A revision of my old IRC bot in Scheme, an LZW compression test in Forth, the NN science project of course, and attempting to reverse engineer my old scanner.
00:41:34 <ihope_> Revision?
00:42:38 <Razor-X> Yeah. There are some features I just didn't want to code in Haskell, plus I thought I'd give the code a rewrite anywho.
00:42:57 <Razor-X> I had a bit of free time left over yesterday and just rewrote the parser.
00:45:28 <ihope_> What's the shrink on LZW, optimally?
00:45:45 <Razor-X> I don't quite remember, but it's not all that good, I believe.
00:45:51 <Razor-X> LZW is just really really simple.
00:46:24 <Razor-X> Although, I would imagine that it is pretty good if you apply delta encoding to the data first, assuming the data is more-or-less contiguous.
00:47:47 * ihope_ LZW-encodes a series of 3
00:48:45 <ihope_> Make that a series of |.
00:48:51 <ihope_> It's almost a series of tubes.
00:48:55 <Razor-X> Ah....
00:49:42 <bsmntbombdood> are they clogged?
00:51:22 <ihope_> Does | look clogged to you?
00:51:41 <ihope_> ! is a clogged tube. That little space near the bottom is an internet.
00:51:44 <EgoBot> Huh?
00:51:53 <Razor-X> Huh?
00:52:14 <ihope_> Anyway, LZW seems to be square root.
00:55:37 <bsmntbombdood> !help
00:55:41 <EgoBot> help ps kill i eof flush show ls bf_txtgen usertrig daemon undaemon
00:55:43 <EgoBot> 1l 2l adjust axo bch bf{8,[16],32,64} funge93 fyb fybs glass glypho kipple lambda lazyk linguine malbolge pbrain qbf rail rhotor sadol sceql trigger udage01 unlambda whirl
00:56:14 <bsmntbombdood> !bf +[.+]
00:56:17 <EgoBot> <CTCP>
00:56:49 -!- EgoBot has quit (Excess Flood).
00:57:08 <ihope_> You killed EgoBot!
00:57:12 <bsmntbombdood> ummmmm
00:57:20 -!- EgoBot has joined.
00:57:25 <ihope_> Never mind.
00:57:28 <bsmntbombdood> That looped
00:57:47 <bsmntbombdood> I call bug
00:59:36 <Razor-X> Not really. We find creative ways to kill EgoBot all the time.
00:59:47 <Razor-X> And I discovered that bug a long time ago. I guess GregorR's gotten lazy.
01:00:18 <bsmntbombdood> !bf +[,.]
01:00:22 <bsmntbombdood> !ps
01:00:24 <EgoBot> 1 bsmntbombdood: ps
01:00:43 <bsmntbombdood> !i 1 hi world
01:00:51 <Razor-X> !i 1 \n
01:00:54 <bsmntbombdood> !eof 1
01:00:59 -!- tgwizard has quit (Remote closed the connection).
01:01:23 <bsmntbombdood> !ps
01:01:26 <EgoBot> 1 bsmntbombdood: ps
01:06:31 <GregorR-L> My solution was to make it reload if it fails ;)
01:07:33 <bsmntbombdood> ! -[.-]
01:07:36 <EgoBot> Huh?
01:07:39 <bsmntbombdood> er
01:07:42 <bsmntbombdood> !bf -[.-]
01:07:47 <EgoBot> ~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!
01:08:15 <bsmntbombdood> EgoBot stop spamming me in pm!
01:08:20 <bsmntbombdood> !ps
01:08:23 <EgoBot> 1 bsmntbombdood: ps
01:08:24 <GregorR-L> Hahahahah
01:08:25 <bsmntbombdood> !kill 1
01:08:27 <EgoBot> Process 1 killed.
01:08:36 <bsmntbombdood> <EgoBot> <CTCP>
01:08:40 <bsmntbombdood> over and over again
01:08:46 <GregorR-L> Hahahahah
01:08:55 <GregorR-L> That's what you get :P
01:09:10 <bsmntbombdood> it's supposed to stop after one loop!
01:12:11 <ihope_> Here, have an alphabet: " .Ladeilmoprstu"
01:12:58 <ihope_> Have some numbers as well: 2, 9, 11, 5, 8, 0, 6, 10, 12, 14, 19, 4, 9, 7, 16, 0, 12, 6, 13, 0, 3, 8, 5, 13, 1
01:13:03 <bsmntbombdood> thank you!
01:13:42 <ihope_> Each number is the index of the wanted character in that alphabet.
01:13:59 <ihope_> You guess what 16 and 19 are.
01:15:34 <ihope_> Here, have a partially decoded string: "Lorem ipsu[19]dol[16] sit amet."
01:15:48 <bsmntbombdood> fun
01:16:10 <ihope_> Why not make " .LadeilmoprstuLorem ipsu[19]dol[16] sit amet." an alphabet, too?
01:16:55 <ihope_> Then, as long as you do it right, 16 and 19 will index to "or" and "m ", respectively.
01:24:52 <ihope_> Hey, why don't we run LZW output through a Huffman thingy?
01:25:10 <ihope_> (I'm sure we all love Huffman thingies.)
01:28:50 -!- GregorR-L has quit ("Leaving").
01:34:21 <Razor-X> Huffman thingies. Hmm.
01:34:25 <Razor-X> Would it compress well?
01:38:08 <ihope_> I dunno.
01:40:37 -!- Arrogant has joined.
01:47:41 -!- Sgeo has quit (Remote closed the connection).
01:48:48 <ihope_> Now, if one ran LZW over Huffman codes...
01:49:57 * ihope_ gets bored and implements LZW in Haskell instead of this boring stuff
01:50:32 <ihope_> where boringStuff = filter javaApplets (`isRelatedTo` lzw)
01:52:13 <ihope_> Actually, maybe I'd rather not do that.
02:05:48 -!- Arrogant has quit ("Leaving").
02:07:09 <Razor-X> So? How does it compress?
02:36:20 <ihope_> Huffman codes over LZW?
02:36:27 <ihope_> Haven't tried it.
02:45:13 <SimonRC> I suppose I ought to post this here too:
02:45:15 <SimonRC> http://www.youtube.com/watch?v=AyvrqcxNIFs
02:45:17 <SimonRC> Title: _UCLA Police Taser Student in Powell_ Length: 06:53
02:45:18 <SimonRC> the length and title say it all, really
02:46:14 <bsmntbombdood> yeah
02:46:16 <bsmntbombdood> I saw that
02:46:29 <bsmntbombdood> scary
02:48:11 <SimonRC> Can you say "bystander effect"?
02:48:26 <bsmntbombdood> What's that
02:48:27 <bsmntbombdood> ?
02:49:29 <SimonRC> http://en.wikipedia.org/wiki/Bystander_effect
02:50:18 <RodgerTheGreat> hm
02:50:30 <RodgerTheGreat> I was just talking about this with a friend of mine earlier today.
02:50:32 <bsmntbombdood> aah
02:50:45 <bsmntbombdood> Yeah I was supprised that the other kids didn't do anything
02:50:46 <bsmntbombdood> :/
02:53:12 -!- Asztal has quit ("Chatzilla 0.9.75 [IceWeasel 1.0.1b2] (kidding!)").
02:53:34 <bsmntbombdood> kinda pisses me off how people will just watch
02:53:50 <SimonRC> bsmntbombdood: Oh, and you'd be different?
02:53:59 <bsmntbombdood> I hope I would
02:55:08 <SimonRC> I'm not even going to bother responding to that, except with this sentance, which, in saying what is does, is actually quite a response.
02:55:11 * SimonRC goes to bed
02:55:55 <bsmntbombdood> I couldn't parse that
03:00:30 <RodgerTheGreat> bsmntbombdood: a major contributing factor to others not stepping in to help is the fact that the officers could easily have tazed anyone who tried to interfere as well.
03:00:50 <bsmntbombdood> uh huh
03:01:24 <RodgerTheGreat> it's one thing to try to help someone, it's another to stand up to someone with a weapon.
04:54:11 -!- puzzlet_ has quit (Read error: 110 (Connection timed out)).
04:55:30 <RodgerTheGreat> 'night, all.
05:12:09 -!- puzzlet_ has joined.
05:15:51 -!- GregorR-L has joined.
05:20:31 -!- puzzlet_ has quit (Read error: 54 (Connection reset by peer)).
05:30:06 -!- puzzlet_ has joined.
05:35:51 -!- puzzlet_ has quit (Read error: 104 (Connection reset by peer)).
05:43:04 -!- puzzlet_ has joined.
06:29:36 -!- Razor-X has quit (orwell.freenode.net irc.freenode.net).
06:29:36 -!- sekhmet has quit (orwell.freenode.net irc.freenode.net).
06:29:36 -!- Eidolos has quit (orwell.freenode.net irc.freenode.net).
06:29:36 -!- RodgerTheGreat has quit (orwell.freenode.net irc.freenode.net).
06:31:46 -!- sekhmet has joined.
06:31:46 -!- Razor-X has joined.
06:31:46 -!- RodgerTheGreat has joined.
06:31:46 -!- Eidolos has joined.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
09:03:20 -!- Razor-X has quit (orwell.freenode.net irc.freenode.net).
09:03:20 -!- RodgerTheGreat has quit (orwell.freenode.net irc.freenode.net).
09:03:21 -!- sekhmet has quit (orwell.freenode.net irc.freenode.net).
09:03:21 -!- Eidolos has quit (orwell.freenode.net irc.freenode.net).
09:03:34 -!- CXII has joined.
09:03:34 -!- sekhmet has joined.
09:03:34 -!- Razor-X has joined.
09:03:34 -!- RodgerTheGreat has joined.
09:03:34 -!- Eidolos has joined.
09:03:50 -!- CXI has quit (Read error: 104 (Connection reset by peer)).
09:08:22 -!- GregorR-L has quit ("Leaving").
09:14:22 -!- Razor-X has quit (orwell.freenode.net irc.freenode.net).
09:14:22 -!- RodgerTheGreat has quit (orwell.freenode.net irc.freenode.net).
09:14:22 -!- CXII has quit (orwell.freenode.net irc.freenode.net).
09:14:22 -!- sekhmet has quit (orwell.freenode.net irc.freenode.net).
09:14:22 -!- Eidolos has quit (orwell.freenode.net irc.freenode.net).
09:14:24 -!- puzzlet_ has quit (orwell.freenode.net irc.freenode.net).
09:14:24 -!- bsmntbombdood has quit (orwell.freenode.net irc.freenode.net).
09:14:25 -!- ihope_ has quit (orwell.freenode.net irc.freenode.net).
09:14:28 -!- mtve has quit (orwell.freenode.net irc.freenode.net).
09:14:43 -!- Eidolos has joined.
09:14:43 -!- RodgerTheGreat has joined.
09:14:43 -!- Razor-X has joined.
09:14:43 -!- sekhmet has joined.
09:14:43 -!- CXII has joined.
09:14:43 -!- puzzlet_ has joined.
09:14:43 -!- ihope_ has joined.
09:14:43 -!- bsmntbombdood has joined.
09:14:43 -!- mtve has joined.
09:51:19 -!- jix_ has joined.
11:11:28 -!- ivan` has quit (" HydraIRC -> http://www.hydrairc.com <- IRC has never been so good").
11:34:37 -!- tgwizard has joined.
14:09:04 -!- jix__ has joined.
14:26:49 -!- jix_ has quit (Read error: 110 (Connection timed out)).
16:08:06 -!- cmeme has quit (Excess Flood).
16:09:27 -!- cmeme has joined.
16:21:02 -!- Sgeo has joined.
16:36:56 -!- CakeProphet has changed nick to UnregisteredNick.
16:37:39 -!- UnregisteredNick has changed nick to CakeProphet.
16:38:12 -!- CakeProphet has changed nick to SevenInchBread.
17:19:11 -!- meatmanek has quit (orwell.freenode.net irc.freenode.net).
17:20:31 -!- ihope_ has quit ("http://tunes.org/~nef/logs/esoteric/06.08.09").
17:29:49 -!- meatmanek has joined.
17:36:49 -!- meatmanek has quit (orwell.freenode.net irc.freenode.net).
17:36:49 -!- pgimeno has quit (Read error: 131 (Connection reset by peer)).
17:37:09 -!- meatmanek has joined.
17:41:45 -!- rt has quit ("ircII EPIC5-0.2.0 -- Are we there yet?").
17:53:53 -!- pgimeno has joined.
18:04:09 -!- oerjan has joined.
18:44:54 -!- oerjan has quit ("Later").
18:47:13 -!- Asztal has joined.
18:51:06 <SevenInchBread> Today's challenge....
18:51:17 <SevenInchBread> create a Brainfuck interpreter in Brainfuck
18:52:13 <Asztal> doesn't Brainfuck have a fixed amount of cells (30000)?
18:53:18 <Asztal> meaning you would have a really hard time storing the hosted program's data and the interpreter's state at the same time
18:55:35 <SevenInchBread> That's why it's a CHALLENGE
18:56:59 <SevenInchBread> If brainfuck is Turing complete... it can do it.
18:57:48 <bsmntbombdood> indeed
19:02:00 <SevenInchBread> I feel like creating a "brainfuck with functions"
19:02:08 <SevenInchBread> thus bastardizing the whole language concept...
19:02:32 <bsmntbombdood> I read about one
19:02:45 <bsmntbombdood> Subroutines
19:04:06 <SevenInchBread> You could give subroutines a number label...
19:04:10 <SevenInchBread> in the program...
19:04:17 <SevenInchBread> and give the language two pointers...
19:04:55 <bsmntbombdood> You don't need two pointers, you need a stack to keep the pointers on
19:05:32 <bsmntbombdood> along with return addresses
19:05:45 <SevenInchBread> with two new commands. "@" switches the control over to the other pointer.... and "&" calls the subroutine with a label that matches the number in the current cell.... using the inactive pointers cell value as input.
19:05:53 <SevenInchBread> yes... overly elaborate and confusing... I like my idea.
19:06:17 <jix__> this game http://method-missing.org/2006/shmup-status-report-1 searches a name.. someone has an idea?
19:07:08 <SevenInchBread> in subroutines... ; would represent the functions input... and , would return a value
19:10:12 <SevenInchBread> it woudl be more powerful... since you're no longer limited to a single linear sequence of cells... you can "break it up" into subroutines... so it would be easier to organize and work with.
19:12:38 -!- wezyap has joined.
19:13:28 -!- GregorR has quit (Read error: 60 (Operation timed out)).
19:13:28 -!- EgoBot has quit (Connection timed out).
19:27:50 <SevenInchBread> I don't understand why Brainfuck interpreters use a limited array size.
19:28:12 <SevenInchBread> You can easily expand the array when nessecary.
19:34:30 <lindi-> SevenInchBread: if the memory is limited then it's simply impossible to interpret all brainfuck programs with a brainfuck interpreter
19:34:49 <lindi-> depending on how you define "interpret" of course
19:35:03 * SevenInchBread is confused now
19:40:45 <RodgerTheGreat> in some cases, an arbitrary memory size is easier to implement- remember, the language was designed to be implemented in the smallest possible compiler. 30000 cells is simply a number that people agree is sufficient for most tasks, and supported as a standard.
19:41:54 <SevenInchBread> I feel like making a one line BF interpreter
19:42:44 <RodgerTheGreat> I did a one-liner in perl earlier, mainly because I'd assumed that's how perl coders usually finish their code.
19:43:43 <RodgerTheGreat> I think perl users and BF users have a common appreciation for the "neat code block" way of displaying their work.
19:44:15 <SevenInchBread> ...I just like compressing things into one line...
19:45:41 <RodgerTheGreat> here's the semi-readable version of my interpreter:
19:45:42 <RodgerTheGreat> http://www.nonlogic.org/dump/text/1163878974.html
19:46:38 <RodgerTheGreat> the only thing that tripped me up in writing it was forgetting that perl uses eq for string comparison, rather than ==.
19:46:53 <SevenInchBread> hmmm... that's not one line. :P
19:47:02 <RodgerTheGreat> it can be.
19:47:13 <RodgerTheGreat> in perl, it makes no difference
19:47:36 <RodgerTheGreat> and I thought you'd be more interested in the structure of the program than it's formatting
19:47:46 <SevenInchBread> by "line" I mean... a single compound expression.
19:48:09 <RodgerTheGreat> hm. tricky.
19:48:40 <RodgerTheGreat> are regular expressions turing-complete?
19:49:40 <SevenInchBread> well... they don't really "compute"...
19:49:51 <SevenInchBread> they just sort of... find matches.
19:50:03 <RodgerTheGreat> not "compute" in a conventional sense...
19:50:09 <SevenInchBread> right
19:50:17 <SevenInchBread> It would be very hard to program in regex...
19:50:35 <SevenInchBread> because they just sort... of... don't work like that. *scratches head*
19:52:48 <RodgerTheGreat> regular expressions can make logical comparisons, so I'll bet that if you combined a while-loop and a regex, you could simulate a universal turing machine
19:53:06 <RodgerTheGreat> symbolic rewriting was the basis of turing machines to begin with
19:53:33 -!- tgwizard has quit (Remote closed the connection).
19:56:58 <RodgerTheGreat> it's quite a challenge to wrap your brain around...
20:09:00 <Asztal> so you're saying that there might be a regular expression that, if appled enough times, could mutate some input into a list of fibonacci numbers?
20:09:09 <Asztal> because that would be awesome :D
20:09:24 * SevenInchBread smells a new esoteric language cooking.
20:09:39 <SevenInchBread> hmmm... creating a bf interpreter in one expression is proving to be a puzzle...
20:10:04 <SevenInchBread> so far (in Python), I've got:
20:10:06 <SevenInchBread> ambda bf: [lambda x, y: ((x + 1 if com == "<" else (x - 1 if com == ">"), (((y + 1 if y < 255 else 0) if com == "+" else ((y - 1 if y > 0 else 255) if com == "-") if com != "," else ord(raw_input("Enter a character as input:"))), (1 if com == "." else 0))))]
20:10:11 <SevenInchBread> which doesn't really... do anything...
20:10:55 <SevenInchBread> it just takes the pointer location x and the size of a cell 1 and does stuff to it...
20:12:34 <SevenInchBread> In order to do this WITHOUT making my head explode... I'm going to need to utilize at least two lines.
20:14:01 * RodgerTheGreat snickers
20:14:36 <SevenInchBread> one line being a lambda function that returns a sequence representing the current cell, current cell value, and whether or not to print the cell value...
20:15:36 <RodgerTheGreat> Asztal: yeah, that's the idea- I'm pretty sure it ought to be possible.
20:17:06 -!- calamari has joined.
20:18:59 <RodgerTheGreat> calamari: how familiar are you with regular expressions?
20:20:37 <Asztal> I want to write one that adds two numbers together, that should be a nice first regex
20:20:41 <calamari> dunno, why?
20:20:41 <RodgerTheGreat> I'm pondering the turing-completeness of a string substitution regular expression wrapped in a loop.
20:20:48 -!- GregorR-L has joined.
20:20:53 <bsmntbombdood> interesting
20:21:03 <bsmntbombdood> I read about a language kinda like that
20:21:12 <bsmntbombdood> not regexs though
20:21:18 <RodgerTheGreat> I'm thinking math might be simpler to implement if you used binary or something- fewer symbols to bother with.
20:21:58 <RodgerTheGreat> you effectively have to hardcode every two-digit pairing to handle carrying, and the rest is pretty simple.
20:22:07 <RodgerTheGreat> I think.
20:22:32 <Asztal> yeah, I think so
20:22:40 <calamari> well, if I remember correctly, a single loop is enough
20:22:53 <Asztal> I was going to ask how to pick the last digit pair in the string, but I just realised how easy that is :/
20:23:17 <calamari> but obviously for some langs, one loop isn't enough.. bf
20:23:22 <RodgerTheGreat> calamari: correct, as we learned from the turing completeness proof for the Z3/
20:24:10 <calamari> can you change an arbitrary memory location?
20:24:32 -!- cmeme has quit (Connection reset by peer).
20:24:39 <RodgerTheGreat> it was actually more subtle than that- let me see if I can find the article again.
20:24:56 <calamari> seems like you'd have to know the value you wanted to change in order to change it
20:25:09 <RodgerTheGreat> http://www.zib.de/zuse/Inhalt/Kommentare/Html/0684/universal2.html
20:25:11 <RodgerTheGreat> there
20:25:12 -!- cmeme has joined.
20:25:42 -!- cmeme has quit (Read error: 131 (Connection reset by peer)).
20:26:14 -!- cmeme has joined.
20:26:20 <calamari> I remember rewriting a bf interpreter to only use one loop
20:26:29 <calamari> need to find it
20:27:18 <RodgerTheGreat> I'll bet that with a suitably insane coding technique, you could code a UTM in BF with only one loop.
20:27:38 <SimonRC> can't be done
20:27:43 <RodgerTheGreat> hm
20:28:10 <calamari> looks like I used if statements
20:28:27 <GregorR-L> It can be done, sure.
20:28:28 <SimonRC> with 8-bit cells, it would either loop forever or loop at most 255 times
20:28:47 <GregorR-L> Push [s as you hit them, pop ]s as you hit them.
20:29:12 <GregorR-L> Oh wait, we're talking about two different things **
20:29:17 <SimonRC> indeed
20:29:25 <calamari> GregorR-L: <RodgerTheGreat> I'm pondering the turing-completeness of a string substitution regular expression wrapped in a loop.
20:29:31 <RodgerTheGreat> yes, the Z3 solution depends on having multiplication and division, from which conditional logic can be abstracted- and then there's the halting problem.
20:29:32 <GregorR-L> HAVE COGENT CONVERSATIONS!!!
20:29:50 <RodgerTheGreat> I'm inclined to agree with SimonRC now that I think about it more.
20:31:58 <SimonRC> RodgerTheGreat: Regular expressions aren't Turing complete. Regular expression matching is decidable (it is in NP) but Turing machines are not genarally decidable. Regexes, OTOH...
20:33:54 <SimonRC> RodgerTheGreat: ah, wait, you've now started talking about substitution, which is a regex thing not a regular expression thing.
20:34:54 <calamari> I'm pretty sure regex is short for regular expression
20:35:02 <GregorR-L> [It is]
20:35:46 <calamari> so, <SimonRC> RodgerTheGreat: ah, wait, you've now started talking about substitution, which is a regular expression thing not a regular expression thing.
20:35:47 <SimonRC> it used to be, but any decent regex engine allows more powerful things than just regular expressions.
20:35:50 <GregorR-L> However a regular expression engine can have any range of powers, and a "regular expression" is just a pattern matching thing, so substitution has nothing to do with "regular expessions," it's just a power of the regex engine.
20:36:23 * SimonRC is making the same distinction Wall did.
20:36:55 <RodgerTheGreat> ah, ok- thank you for clearing up any confusion regarding my use of terminology.
20:38:07 <SimonRC> aha, here is an example: \n Where n is a digit from 1 to 9; matches what the nth marked subexpression matched. This construct is theoretically irregular and has not been adopted in the extended regular expression syntax.
20:38:25 <Asztal> why couldn't we have 2 fingers, it would make my current one much simpler.
20:38:32 <SimonRC> the \n syntax expresses something impossible in regular expresions but possible in regexes
20:42:52 <SimonRC> And here is where I'm getting the Larry Wall definition from: http://dev.perl.org/perl6/doc/design/apo/A05.html
20:43:01 <SimonRC> Perl Apocalypse 5
20:43:19 <SimonRC> "... generally having to do with what we call "regular expressions", which are only marginally related to real regular expressions. Nevertheless, the term has grown with the capabilities of our pattern matching engines, so I'm not going to try to fight linguistic necessity here. I will, however, generally call them "regexes" (or "regexen", when I'm in an Anglo-Saxon mood)."
21:11:01 -!- ivan` has joined.
21:14:41 -!- wezyap has quit (Remote closed the connection).
21:54:06 -!- anonfunc has quit.
21:56:55 -!- GregorR-L has quit ("Leaving").
22:03:03 -!- Asztal has quit ("Chatzilla 0.9.75 [IceWeasel 1.0.1b2] (kidding!)").
22:05:52 -!- Arrogant has joined.
22:28:51 -!- bluew has joined.
22:28:56 -!- bluew has left (?).
22:34:36 -!- calamari has quit ("Leaving").
23:04:31 -!- tgwizard has joined.
23:17:26 -!- Arrogant has quit ("Leaving").
23:20:55 -!- ivan` has changed nick to ivan.
23:21:22 -!- ivan has changed nick to ivan`.
23:33:52 -!- cmeme has quit ("Client terminated by server").
23:35:06 -!- bsmntbombdood has changed nick to xor.
23:35:14 -!- cmeme has joined.
23:41:49 -!- Asztal has joined.
2006-11-19
00:38:51 -!- jix__ has quit ("Bitte waehlen Sie eine Beerdigungnachricht").
01:18:09 -!- Asztal has quit (Nick collision from services.).
01:18:15 -!- Azstal has joined.
01:18:20 -!- Azstal has changed nick to Asztal.
01:19:27 -!- Asztal has quit (Nick collision from services.).
01:19:32 -!- Azstal has joined.
01:19:36 -!- Azstal has changed nick to Asztal.
01:43:31 <SevenInchBread> !help
01:44:00 <xor> zomg zombies!
01:47:37 -!- tgwizard has quit (Remote closed the connection).
03:15:58 -!- GregorR has joined.
03:16:32 -!- EgoBot has joined.
03:44:46 -!- GregorR-L has joined.
04:36:25 -!- Sgeo has quit (Remote closed the connection).
04:40:10 -!- Sgeo has joined.
04:41:09 -!- Sgeo has quit (Client Quit).
04:44:27 -!- SevenInchBread has changed nick to GrandmotherChaos.
04:52:09 -!- GrandmotherChaos has changed nick to CakeProphet.
05:58:08 -!- CakeProphet has quit ("haaaaaaaaaa").
05:58:55 -!- CakeProphet has joined.
06:25:10 <GregorR-L> WELL WELL WELL
06:25:25 <GregorR-L> Look what I happened to come across on QDB:
06:25:27 <GregorR-L> http://qdb.us/71165
06:37:31 -!- anonfunc has joined.
06:41:43 <Asztal> I saw you on QDB recently :P
06:46:34 <GregorR-L> And did you vote +? :P
06:51:34 <Asztal> of course ;)
07:14:35 <lament> heh dum
07:46:38 <ivan`> http://feedback.ebay.com/ws/eBayISAPI.dll?ViewFeedback&userid=iaintpayinyou
07:52:20 -!- Asztal has quit (Read error: 110 (Connection timed out)).
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:06:13 -!- CakeProphet has quit (Read error: 104 (Connection reset by peer)).
08:15:24 -!- Razor-X has left (?).
08:15:34 -!- Razor-X has joined.
09:14:40 -!- ivan` has quit (" HydraIRC -> http://www.hydrairc.com <- Leading Edge IRC").
10:13:27 -!- GregorR-L has quit ("Leaving").
10:14:04 -!- jix has joined.
10:17:22 -!- jix has quit (Client Quit).
10:22:43 -!- jix has joined.
10:44:34 <Razor-X> Infix is annoying.
10:44:59 <Razor-X> Well, actually, the bulk of the code goes to parsing ``2x + 2'' as ``(2 * x) + 2'', heh.
11:03:56 -!- puzzlet_ has quit (Read error: 104 (Connection reset by peer)).
11:07:07 -!- tgwizard has joined.
11:11:18 -!- puzzlet_ has joined.
13:56:15 -!- Arrogant has joined.
14:09:53 -!- jix_ has joined.
14:14:16 -!- Arrogant has quit ("Leaving").
14:28:31 -!- jix has quit (Read error: 110 (Connection timed out)).
16:35:26 -!- CakeProphet has joined.
16:52:08 <SimonRC> I think Scott Adams has been outdone: http://angryflower.com/functi.html
17:26:30 <RodgerTheGreat> haha
17:29:01 -!- Azstal has joined.
17:29:05 -!- Azstal has changed nick to Asztal.
17:48:32 -!- Sgeo has joined.
17:57:31 -!- Asztal has quit ("Chatzilla 0.9.75 [IceWeasel 1.0.1b2] (kidding!)").
18:11:12 <SimonRC> Sign: "Lube connection. Please use rear entrance."
18:11:15 <SimonRC> http://www.maximonline.com/slideshows/index.aspx?slideId=764&imgCollectId=59
18:22:12 <xor> ha
19:42:57 -!- Asztal has joined.
19:51:51 -!- Sgeo has quit (Read error: 110 (Connection timed out)).
20:14:43 -!- ihope has joined.
20:48:46 <CakeProphet> hmmm...
20:48:56 <CakeProphet> so... I need some help with telnet here.
20:49:07 <CakeProphet> DO is only sent in response to a WILL, right?
21:03:05 <ihope> I think it can also happen the other way around.
21:03:38 <lindi-> telnet sounds horrible :)
21:03:57 <ihope> "Please DO RANDOMLY-LOSE." "Okay, I WILL RANDOMLY-LOSE".
21:04:20 <ihope> s/"./."/d
21:04:29 <ihope> (d = DWIM)
21:04:44 -!- GregorR-L has joined.
21:19:37 <SimonRC> I think I've been using this password too long...
21:19:58 <SimonRC> I am typing it and not realising I've done so.
21:20:07 <ihope> I forgot the password for my Linux box.
21:20:19 <ihope> Oh, I just remembered.
21:20:44 <ihope> It's that one word from the best joke in the world, except different.
21:22:54 <ihope> Except I can't remember if I used an at sign or an ampersand...
21:26:55 <SimonRC> hmm... "paracetamoxyfrusebendroneomycin"
21:26:57 <Asztal> I took a phrase from red dwarf, inverted it, and mangled it.
21:27:36 <Asztal> it breaks many things though because it has spaces
21:28:21 * SimonRC has used programming languages, numbers with significance, Goon show phrases, and function names.
21:28:42 <SimonRC> The latter are particularly good because they already look like garbage.
21:30:15 <SimonRC> Searching for one of the function names I have adapted resolves something I had always wondered; it turns up one of the pages in this manual: http://www.pcigeomatics.com/cgi-bin/pcihlp/EASI
21:31:05 <SimonRC> About 1000 sheets of fanfold with that stuff on is one of the persistant memories of my childhood.
21:31:05 <CakeProphet> yeah... it seems that telnet could easily go into random infinite loops if you don't know what sort of thing you're dealing with.
21:31:35 <SimonRC> (My dad once ran a script on some old computer system and forgot to turn off tracing, so every line executed was also traced.)
21:35:11 <CakeProphet> hmmm...
21:35:26 <CakeProphet> What would freenodes wildcards look like in Perl regex?
21:36:14 <CakeProphet> * is zero-or-more characters when used on freenodes ban thingy... and ? is exactly-one-character
21:37:33 <SimonRC> they would be .* and ., IIRC
21:38:57 <CakeProphet> hmmm... then I'll probably use a simplified form of Perl regex with ? being substituted for .
21:39:13 * CakeProphet is making a IP-address-ban thingy.
21:39:57 <ihope> You don't want . for a single character match there, do you? :-)
21:40:03 <CakeProphet> nope
21:40:46 <CakeProphet> so I'll replace all "."'s with "\," in the ban string... and then convert all "?"'s to "."
21:40:48 <SimonRC> CakeProphet: so what would take the place of ?
21:41:06 <SimonRC> CakeProphet: Have you heard of a subnet mask? You should try it.
21:41:07 <CakeProphet> probably \?
21:41:35 <SimonRC> nonono, I mean, what would take the old meaning of ?
21:41:52 <CakeProphet> hmm... forgot what ? meant...
21:41:57 <SimonRC> optional
21:42:13 <CakeProphet> Hmmm... not sure why I would need that. :D
21:42:45 <CakeProphet> I can't think of any situation where someones address would or would not have a specific string.
21:43:18 <CakeProphet> well... maybe the host part...
21:43:34 <CakeProphet> but that can handled easily with *
21:43:54 <SimonRC> well...
21:44:04 <SimonRC> Does this mean you are blocking by hostname?
21:44:14 <CakeProphet> *shrugs* not necessarily.
21:44:56 <SimonRC> If I were a cracker, I would make sure that I hosted my own DNS, set the reverse lookup lifetimes to 0, then made reverse lookups *really* slow.
21:45:18 <SimonRC> So that doing reverse lookup wouldn;t be practical.
21:45:38 <CakeProphet> I'm blocking by whatever there address contains.
21:45:45 <SimonRC> e.g.?
21:46:03 <CakeProphet> >.>
21:46:29 <CakeProphet> 33.250.213.151.ip.alltel.net
21:46:43 <CakeProphet> 33.250.213.*.ip.alltel.net
21:46:53 <CakeProphet> 33.250.*.ip.alltel.net
21:47:01 <CakeProphet> 33.2??.*.ip.alltel.net
21:48:16 <SimonRC> erk!
21:48:33 <SimonRC> I don't like the last one
21:48:41 <SimonRC> It's a bizzare way to do it.
21:49:06 <CakeProphet> well... you could change it to...
21:49:12 <CakeProphet> 33.2*.ip.alltel.net
21:49:30 <SimonRC> You would either block to much or too little, most likely.
21:49:57 * CakeProphet really doesn't have much of a clue about IPs
21:50:30 <CakeProphet> I know my IP is usually either 250.* or 251.* ...which is a very big range if you plan on blocking me off permanently.
21:51:46 <SimonRC> You should leanr CIDR notation, at least.
21:52:09 <SimonRC> or rather, your program should accept it.
21:53:01 <ihope> CakeProphet: I assume by those you mean 33.250.* and 33.251.*...
21:53:34 <CakeProphet> Well... usually when I see my IP the 33 isn't there.
21:53:39 <CakeProphet> so I'm guessing that's a freenode thing.
21:53:40 <SimonRC> well, that would be 33.250.0.0/15
21:54:31 <CakeProphet> hmm... so / denotes a range?
21:54:36 <CakeProphet> hmm... that could be useful...
21:54:39 <ihope> CakeProphet: 33.250.213.151?
21:54:54 <CakeProphet> Yes.
21:55:02 <ihope> That's not what you usually see as your IP address, then?
21:55:29 <SimonRC> CakeProphet: anyway, your IP is 151.213.250.33, not 33.250.213.151
21:55:43 <SimonRC> Damned domain names are backwards
21:56:14 <CakeProphet> yeah.... 33 is something to with freenode...
21:56:33 <CakeProphet> n=CakeProp@h33.250.213.151.ip.alltel.net
21:56:35 <SimonRC> Who the heck though that would be a good idea?
21:56:49 <SimonRC> CakeProphet: no, it's just part of your IP address
21:59:49 -!- jix_ has quit ("Bitte waehlen Sie eine Beerdigungnachricht").
22:01:05 <SimonRC> UNIX paths, Windows paths, newsgroup names, OIDs, IP addresses, C-like stuct addressing, etc, etc are all big-endian. Why are domain names backwards?
22:03:24 <ihope> Who invented domain names?
22:03:49 <ihope> And IP addresses, and email addresses?
22:04:11 <Asztal> egobot did
22:04:13 -!- Asztal has quit ("Chatzilla 0.9.75 [IceWeasel 1.0.1b2] (kidding!)").
22:07:46 <GregorR-L> !help
22:07:50 <EgoBot> help ps kill i eof flush show ls bf_txtgen usertrig daemon undaemon
22:07:52 <EgoBot> 1l 2l adjust axo bch bf{8,[16],32,64} funge93 fyb fybs glass glypho kipple lambda lazyk linguine malbolge pbrain qbf rail rhotor sadol sceql trigger udage01 unlambda whirl
22:14:50 <ihope> !daemon cat bf +[>,.<]
22:15:12 <ihope> EgoBot, did you invent domain names, IP addresses, and email addresses?
22:15:18 <EgoBot> Yes, I did.
22:15:18 <CakeProphet> hmm...
22:15:22 <CakeProphet> so... what's a subnet?
22:15:42 * CakeProphet is having to learn him some networking stuff so he knows what he's doing when he blocks stuff...
22:15:43 <ihope> CakeProphet: a network within a network?
22:16:40 <ihope> Used for "if it matches the subnet mask, direct it in, otherwise direct it out", if I remember correctly.
22:17:12 <CakeProphet> someone recommended I ban by isp subnet rather than by IP address..
22:17:20 <CakeProphet> but I'm not sure why... or how... I would do that.
22:18:52 <ihope> I think that'd be something like "hsd1.mi.comcast.net" for me or "ip.alltel.net" for you, maybe.
22:19:05 <ihope> Yes, let's ban all the Comcast users in Michigan.
22:19:27 <ihope> But maybe it isn't.
22:21:04 <CakeProphet> hmmm....
22:21:42 <CakeProphet> I think that's the host part.
22:22:23 <SimonRC> CakeProphet: well, I appearance, the IP address space is flat..
22:22:40 <SimonRC> To help routing, it is divided up heirarchically.
22:23:21 <SimonRC> You can cut an IP address into blocks of bits, with the earlier bits being considered before the later ones for routing.
22:23:42 * CakeProphet is only vaguely understanding.
22:23:57 <CakeProphet> What is being "considered" and what does that involve...
22:24:31 <SimonRC> originally, this was only done on byte boundaries, producing class A networks (/8, meaning defined by an 8-bit sequence at the start), class B networks (/16), and class C networks (/24).
22:24:45 <SimonRC> CakeProphet: you know roughly how internet routing works, right?
22:25:25 <CakeProphet> >.> not really.
22:25:40 <SimonRC> Well, it is (theoretically) close to heirarchical. A router looks at the first so many bits of an address, and chooses where to send it based on those.
22:26:24 <CakeProphet> where are these addresses come from... and where is the router sending them?
22:26:34 <SimonRC> A high-level router might only consider the first 8 bits, and dispatch based on those...
22:26:58 <SimonRC> CakeProphet: the address to which the packet is sent: an IP address
22:27:06 <SimonRC> ok..
22:27:38 <SimonRC> consider a border router owned by Apple...
22:27:58 <CakeProphet> border router?
22:28:52 <SimonRC> The internet is roughly heirarchical in its routing, and things outside a network can ofter treat the layout inside that network as a "black box".
22:29:15 <SimonRC> a border router routes between the inside and outside of a network
22:29:56 <SimonRC> Apple owns all the addresses starting with 17.
22:30:17 <ihope> Really, or just for the purposes of explanation?
22:30:26 <SimonRC> really
22:30:32 <SimonRC> all 2^24 of them
22:30:41 <SimonRC> I think
22:30:58 <ihope> What do they do with all of those?
22:31:06 <SimonRC> dunno
22:32:57 <SimonRC> If a border router for Apple receives a packet, it will look at the first byte of the address. If that byte is not 17, it will look it up in a list that tells it which (external) line the packet should leave on, and send it out. If the first address byte *is* 17, it will look at the next byte or so, and look that up in a different list, to see which (internal) line it should send it out on.
22:33:35 <CakeProphet> aaah
22:33:57 <SimonRC> So a router only needs to know in detain about a bit of the Internet, and its knowlege of the internet can be compressed into short tables, rather than multi-Gb tables.
22:34:44 <CakeProphet> so packets are "funneled" to their locations by progressively going more internal.
22:34:52 <ihope> Sounds right.
22:35:09 <SimonRC> CakeProphet: or external...
22:35:20 <SimonRC> You go up the tree, then down.
22:35:43 <CakeProphet> so what does that have to do with banning IPs? :D
22:35:50 <CakeProphet> It's always nice to learn crap like that though
22:36:03 <SimonRC> Of course, it's nothing like a tree really, but the addresses *are* assigned so that you can abbreviate the routing table and still get very good results
22:36:19 <SimonRC> CakeProphet: I got an old copy of a networking book for £0.50
22:36:44 <CakeProphet> hmmm... so the packets go through various routers on the network right?
22:37:00 <SimonRC> CakeProphet: well, since the IP addresses are assigned in blocks, and that helps fast routing of packets, people's IP addresses will not tend to change much
22:37:30 <ihope> If I wanted to get to microsoft.com, I would send stuff to 192.168.0.4 (our router), which would send it to 73.43.4.1, which would send it to 12.244.250.193, which would send it to 12.118.112.9...
22:37:55 <SimonRC> Usually, there will be a point in their IP address after which they could get *any* set of bits and before which they always get the same bits.
22:38:01 <SimonRC> (IP addresses are 32 bits, BTW)
22:38:20 <CakeProphet> what would happen if... a router disconnected somewhere in the chain? Do they detect that this happens and send it down an alternate path?
22:38:25 <SimonRC> ihope: Ah, things get more complicated when you consider that routers have addresses too...
22:38:31 <SimonRC> CakeProphet: aaah
22:38:53 <SimonRC> hmm
22:38:58 <ihope> CakeProphet: either that, or the network goes down, it would seem.
22:39:25 <ihope> My data would hang around in that general area (which seems to be owned by ATT), then go on to a different area at msn.com...
22:39:29 <SimonRC> Well, high-level routing is done via BGP usually, I am not sure what that does with failures...
22:40:06 <ihope> Then the sneaky msn.com people would send it off to who-knows-where, telling me only that it'll eventually get to microsoft.com, which is at 207.46.250.119.
22:40:19 <SimonRC> BGP is designed to take account of politics.
22:40:36 <ihope> Do whatnow?
22:40:39 <SimonRC> e.g. you can't route packets from Canada to Canada through the USA.
22:40:56 <CakeProphet> hmmm.... okay, so now I just need to use that to determine how much change might occur in the IP address between router restarts... for banning the closest-fitting range possible.
22:41:02 <SimonRC> so BGP allows complicated policies about where packets are sent
22:41:08 <ihope> You can't?
22:41:17 <SimonRC> CakeProphet: this is very simple...
22:41:29 <ihope> Can't you say something like "have yahoo.com send this stuff to microsoft.com"?
22:41:58 <SimonRC> huh?
22:42:25 * CakeProphet is sure either...
22:42:28 <CakeProphet> isn't
22:42:37 <CakeProphet> I don't think it works that way ihope ;)
22:43:18 <ihope> Is there something that would theoretically do that, if yahoo.com wants to participate?
22:43:27 <CakeProphet> I'm guessing the actual path of packets from destination A to destination B can change for each packet sent... so it won't be so absolute as "from yahoo.com to microsoft.com"
22:43:31 <SimonRC> CakeProphet: you consider all their recent IP addresses, and choose the longest sequence of bits that they have in common at the start, and you block that: If you have identified a sequence of n bits in common, then you append (32-n) zeroes to get 4 octets: a.b.c.d, then block a.b.c.d/n
22:44:25 <CakeProphet> hmm... might have lost me there...
22:45:13 <ihope> If you want to block "microwave", "microscope", and "microphone", generalize it to "micro*"?
22:45:15 <CakeProphet> why would you append zeroes?
22:46:27 <ihope> Well, 67.3.6.15 and 67.194.15.69 are both 67.0.0.0/8, if I'm not mistaken.
22:46:43 <CakeProphet> ???????
22:47:31 <SimonRC> CakeProphet: That is what CIDR notation uses
22:47:49 <SimonRC> http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing
22:47:50 <ihope> The zeroes are ignored, I think. It's just the first eight bits that are used.
22:48:29 <CakeProphet> Well I don't have anything that supports CIDR notation...
22:48:35 <CakeProphet> I don't think..
22:49:17 <SimonRC> It's trivial to progam yourself...
22:50:27 * CakeProphet isn't sure he would want to use it.
22:50:35 <CakeProphet> wouldn't it be just easier to use... Perl regex?
22:51:17 <SimonRC> To see if A.B.C.D is in a.b.c.d/n, you just do: mask = ~(0XFFFFFFFF >> n); if (A.B.C.D & mask == a.b.c.d & mask) { ... }
22:51:32 <CakeProphet> not to mention I would need to show everyone how CIDR works... and these are people that -aren't- as tech saavy as me.
22:51:40 <SimonRC> assuming 32-bit unsigned ints throughout
22:51:51 <SimonRC> CakeProphet: what's this for, anyway?
22:52:10 <CakeProphet> a MUD :D
22:52:14 <SimonRC> ah
22:52:20 <SimonRC> and who will be using it?
22:52:30 <CakeProphet> hmmm... mostly just me...
22:52:39 <CakeProphet> you mean the ban stuff?
22:52:42 <CakeProphet> or the source code?
22:52:47 <SimonRC> the ban stuff
22:53:07 <CakeProphet> oh... anyone I give the command to (adminstrator-type folks)
22:53:29 <SimonRC> hmm
22:53:36 <CakeProphet> and in my current projects I'm pretty much the most technically inclined person in the group.
22:54:25 <SimonRC> You could teach the computer how to deduce minimal ban blocks, then admins just feed it addresses or domain names, it keeps track of how recently each was used, and works out minimal bans.
22:54:33 <SimonRC> and makes sure old ones are discarded
22:54:42 <CakeProphet> that's what I was considering.
22:55:09 <CakeProphet> Keep a list of recent IP addresses to connect to the account... and then deduce the most minimal ban possible.
22:55:09 <SimonRC> It should howver consider a component of a domain name as atomic.
22:55:27 <CakeProphet> but then... the data could get skewed if someone from a different ip logged into that account recently.
22:55:35 <SimonRC> CakeProphet: ah...
22:56:22 <CakeProphet> regex seems to be the easiest way to go... it's fairly easy to understand and most people are familiar with it.
22:56:31 <CakeProphet> at least... the simplified form of it.
22:56:37 <CakeProphet> wildcards, basically.
22:56:53 <SimonRC> Well, splitting a ban into two sub-bans is quite trivial, you just add one more bit of significance and consider the two possibilities. Then, you trim those two bans to the minimum possible size, and see how much gets trimmed off.
22:57:40 <SimonRC> CakeProphet: but you must consider domain name components to be atomic, remember.
22:57:42 <CakeProphet> and this might not always be a user-based ban.
22:58:09 <SimonRC> Otherwise you will end up doing odd stuff with domain names that are derived from IP addresses
22:58:10 <CakeProphet> if, for example, someone hacks into someone elses account... then you would need to use an IP-specific block.
22:58:16 <SimonRC> Yes
23:00:05 <CakeProphet> well... it's not Perl regex... it's Python's re module.
23:00:15 <CakeProphet> which was designed to be like Perl's tegex.
23:00:51 <SimonRC> This might be helpful, maybe: http://www.pc-tools.net/unix/grepcidr/
23:03:21 <CakeProphet> I was also thinking about using a "range" regex thing.
23:03:42 <CakeProphet> so the regex [1:4] would match 1, 2, 3, and 4
23:04:33 <CakeProphet> Which would be useful for IP addresses like mine...
23:05:25 <CakeProphet> the first part of my address is usually either 151 or 150... so you could use 15[0:1] to specify those two, without having to use a wildcard, which would be too broad.
23:06:27 <CakeProphet> I guess it would equate to....
23:06:59 <CakeProphet> In my modified regex, [1:10] == (1|2|3|4|5|6|7|8|9|10)
23:07:21 <CakeProphet> or is there an easier way to convert that?
23:08:39 <SimonRC> (10|[1-9])
23:09:14 <CakeProphet> hmmm....
23:09:26 <CakeProphet> don't think this module has a [1-9] like syntax.
23:27:57 <CakeProphet> SimonRC, So [x-y] matches the range between x and y?
23:28:26 <CakeProphet> why excluse 10 from the range?
23:33:12 -!- tgwizard has quit (Remote closed the connection).
23:34:09 <SimonRC> CakeProphet: [x-y] is a range of characters
23:34:18 <SimonRC> a regex range
23:34:52 <CakeProphet> Weird...
23:35:15 <ihope> If I'm not mistaken, [1-10] would be all characters from 1 to 1, or 0.
23:38:40 -!- CakeProphet has quit ("haaaaaaaaaa").
23:39:24 -!- CakeProphet has joined.
23:41:13 <RodgerTheGreat> ah
23:45:36 <Eidolos> I like the idea of [1:10] if you find better syntax for it.
23:45:44 <Eidolos> (maybe <1-10>?)
23:46:37 <ihope> What's wrong with [1:10]?
23:47:35 <Eidolos> Consider [10:23]
23:47:45 <Eidolos> Should that match a 1, 0, :, 2, 3, or a number from 10 to 23?
23:48:00 <Eidolos> Indeed even [1:2]
23:50:06 <ihope> I see.
23:50:23 * ihope giggles slightly at the 500,000,000,000,000 mega-amps of current going through a wire
23:51:32 <Eidolos> So 500 exa-amps?
23:53:03 <ihope> I guess.
23:53:59 <ihope> According to Google, that's over 274,000,000,000,000 kilograms of electrons moving through there every second.
23:54:54 <GregorR-L> WTF?
23:55:26 <ihope> It's quite the wire, isn't it?
23:55:56 <ihope> Note to self: never put an ideal wire across a near-ideal battery.
2006-11-20
00:00:04 <SimonRC> ihope: erm, where di you get those?
00:01:05 <ihope> I got it from this guy named Paul Falstad.
00:12:43 <SimonRC> He sells ideal wires?
00:20:55 <ihope> He gives them away.
01:12:58 <xor> ?
01:33:29 <SimonRC> ihope: URL?
01:40:15 -!- GregorR-L has changed nick to TinyBuddyLobster.
02:29:23 * SimonRC goes to bed.
02:38:39 -!- TinyBuddyLobster has changed nick to GregorR-L.
02:40:55 -!- GregorR has quit ("Leaving").
02:47:18 -!- ihope has quit (Read error: 110 (Connection timed out)).
02:48:12 -!- xor has changed nick to bsmntbombdood.
02:52:07 -!- bsmntbombdood has changed nick to xor.
02:54:12 -!- xor has changed nick to Captain`Obliviou.
02:55:09 -!- Captain`Obliviou has changed nick to CaptainOblivious.
02:59:20 -!- ivan` has joined.
03:02:00 -!- EgoBot has quit (Read error: 110 (Connection timed out)).
03:09:26 -!- CaptainOblivious has changed nick to xor.
03:24:23 -!- calamari has joined.
03:24:31 <calamari> hi
03:24:38 <xor> hi
03:25:26 <calamari> hi xor hi = 0
03:25:38 <xor> indeed
03:34:50 -!- ivan` has quit (" HydraIRC -> http://www.hydrairc.com <- Try something fresh").
03:47:20 -!- CakeProphet has quit (Read error: 113 (No route to host)).
04:27:10 -!- ivan` has joined.
04:28:14 <Razor-X> If you're doing something like a MUD and expecting moderate user traffic, then using CIDR seems most advantageous. Regexps are a lot slower than bitshifts.
04:29:13 <Razor-X> You could attempt to wrap the CIDR at a low-level and present it to the administrators at a level they are comfortable working at though.
05:07:32 -!- calamari has quit ("Leaving").
05:21:24 -!- anonfunc has quit.
05:34:29 -!- anonfunc has joined.
05:45:44 -!- EgoBot has joined.
05:45:55 -!- GregorR has joined.
06:13:32 <Razor-X> Hooray, he didn't get my advice.
06:13:39 <Razor-X> Oh well. I'll leave him to his slow MUD.
06:26:48 <ivan`> the only feature Bibble needs is to be able to pick the sharpest photo of a set
06:26:56 <ivan`> wrong channel
06:38:11 -!- wooby has joined.
06:40:05 <Razor-X> Well, maybe you should be doing more chatting in #esoteric, hmmm?
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:28:00 -!- GregorR-L has quit ("Leaving").
08:49:09 -!- puzzlet_ has quit (Read error: 104 (Connection reset by peer)).
08:55:33 -!- GreaseMonkey has joined.
08:55:36 <GreaseMonkey> haro
08:55:40 <GreaseMonkey> been working on an irc bot
09:03:11 -!- ivan` has quit (" HydraIRC -> http://www.hydrairc.com <- The future of IRC").
09:08:27 <GreaseMonkey> k really late bye
09:08:41 -!- GreaseMonkey has quit.
09:17:48 -!- puzzlet_ has joined.
09:21:02 -!- wooby has quit.
09:50:41 -!- Zowayix has joined.
09:53:02 <Zowayix> where is everyone?
09:53:32 -!- Zowayix has left (?).
10:29:59 -!- lindi- has quit (Read error: 148 (No route to host)).
11:06:53 -!- Zowayix has joined.
11:07:27 <Zowayix> !help
11:07:31 <EgoBot> help ps kill i eof flush show ls bf_txtgen usertrig daemon undaemon
11:07:32 <EgoBot> 1l 2l adjust axo bch bf{8,[16],32,64} funge93 fyb fybs glass glypho kipple lambda lazyk linguine malbolge pbrain qbf rail rhotor sadol sceql trigger udage01 unlambda whirl
11:07:56 <Zowayix> hmm
11:08:09 <Zowayix> print "Testing foo blah hello world stuff"
11:08:51 <Zowayix> this is the channel with internet relay programming, right? >_>
11:14:21 <Zowayix> !ls
11:14:25 <EgoBot> bf/, glass/, linguine/
11:14:59 <Zowayix> !ps
11:15:02 <EgoBot> 1 Zowayix: ps
11:15:28 <Zowayix> !help funge93
11:15:32 <EgoBot> To use an interpreter: <interpreter> <program> Note: <program> can be the actual program, an http:// URL, or a file:// URL which refers to my pseudofilesystem.
11:15:56 <Zowayix> !funge93 >
11:15:59 <Zowayix> hehehe
11:16:48 <Zowayix> i think i killed it. XD
11:17:03 * Zowayix slaps EgoBot around a bit with a large trout
11:17:43 <Zowayix> methinks i'll just be escaping from that not-yet-existent angry mob now.
11:17:46 -!- Zowayix has left (?).
11:51:08 -!- lindi- has joined.
11:55:02 -!- cmeme has quit ("Client terminated by server").
11:55:34 -!- cmeme has joined.
13:51:01 -!- Arrogant has joined.
14:25:12 -!- jix has joined.
14:29:56 -!- Arrogant has quit ("Leaving").
17:02:35 -!- tgwizard has joined.
17:19:11 -!- GregorR-L has joined.
18:35:04 -!- ivan` has joined.
20:42:50 -!- ihope has joined.
20:42:54 <ihope> Hey!
20:43:14 <ihope> Somehow, the "Schroedinger" in ##quantum's topic changed to "Schrodinger".
20:43:50 <pgimeno> with ö or plain o?
20:45:14 <ihope> Plain o.
20:45:59 <pgimeno> some random collapse, I guess
20:47:00 <ihope> :-)
20:49:27 -!- CakeProphet has joined.
20:50:02 <RodgerTheGreat> so, you're saying his name exists in many quantum states until someone attempts to spell it?
21:33:45 -!- Asztal has joined.
21:59:34 -!- jix has quit ("Bitte waehlen Sie eine Beerdigungnachricht").
22:25:01 -!- CXII has quit (Read error: 104 (Connection reset by peer)).
22:25:57 -!- CXII has joined.
22:56:35 -!- oerjan has joined.
23:08:15 -!- Asztal has quit (orwell.freenode.net irc.freenode.net).
23:08:16 -!- puzzlet_ has quit (orwell.freenode.net irc.freenode.net).
23:08:16 -!- CXII has quit (orwell.freenode.net irc.freenode.net).
23:08:16 -!- tgwizard has quit (orwell.freenode.net irc.freenode.net).
23:08:16 -!- GregorR has quit (orwell.freenode.net irc.freenode.net).
23:08:16 -!- Razor-X has quit (orwell.freenode.net irc.freenode.net).
23:08:16 -!- sekhmet has quit (orwell.freenode.net irc.freenode.net).
23:08:16 -!- Eidolos has quit (orwell.freenode.net irc.freenode.net).
23:08:16 -!- RodgerTheGreat has quit (orwell.freenode.net irc.freenode.net).
23:08:16 -!- EgoBot has quit (orwell.freenode.net irc.freenode.net).
23:08:16 -!- anonfunc has quit (orwell.freenode.net irc.freenode.net).
23:08:16 -!- xor has quit (orwell.freenode.net irc.freenode.net).
23:08:16 -!- ihope has quit (orwell.freenode.net irc.freenode.net).
23:08:16 -!- mtve has quit (orwell.freenode.net irc.freenode.net).
23:08:17 -!- GregorR-L has quit (orwell.freenode.net irc.freenode.net).
23:08:17 -!- tokigun has quit (orwell.freenode.net irc.freenode.net).
23:08:17 -!- fizzie has quit (orwell.freenode.net irc.freenode.net).
23:08:17 -!- meatmanek has quit (orwell.freenode.net irc.freenode.net).
23:08:17 -!- SimonRC has quit (orwell.freenode.net irc.freenode.net).
23:08:17 -!- sp3tt has quit (orwell.freenode.net irc.freenode.net).
23:08:17 -!- ivan` has quit (orwell.freenode.net irc.freenode.net).
23:08:17 -!- lament has quit (orwell.freenode.net irc.freenode.net).
23:08:17 -!- cmeme has quit (orwell.freenode.net irc.freenode.net).
23:08:17 -!- lindi- has quit (orwell.freenode.net irc.freenode.net).
23:08:17 -!- pgimeno has quit (orwell.freenode.net irc.freenode.net).
23:08:17 -!- oerjan has quit (orwell.freenode.net irc.freenode.net).
23:08:27 -!- CakeProphet has quit (Read error: 131 (Connection reset by peer)).
23:09:11 -!- CakeProphet has joined.
23:09:11 -!- oerjan has joined.
23:09:11 -!- CXII has joined.
23:09:11 -!- Asztal has joined.
23:09:11 -!- ihope has joined.
23:09:11 -!- ivan` has joined.
23:09:11 -!- GregorR-L has joined.
23:09:11 -!- tgwizard has joined.
23:09:11 -!- cmeme has joined.
23:09:11 -!- lindi- has joined.
23:09:11 -!- puzzlet_ has joined.
23:09:11 -!- GregorR has joined.
23:09:11 -!- EgoBot has joined.
23:09:11 -!- anonfunc has joined.
23:09:11 -!- Razor-X has joined.
23:09:11 -!- pgimeno has joined.
23:09:11 -!- meatmanek has joined.
23:09:11 -!- mtve has joined.
23:09:11 -!- xor has joined.
23:09:11 -!- sekhmet has joined.
23:09:11 -!- RodgerTheGreat has joined.
23:09:11 -!- Eidolos has joined.
23:09:11 -!- lament has joined.
23:09:11 -!- tokigun has joined.
23:09:11 -!- SimonRC has joined.
23:09:11 -!- sp3tt has joined.
23:09:11 -!- fizzie has joined.
23:45:02 -!- oerjan has quit ("Later").
2006-11-21
00:20:55 -!- tgwizard has quit (Remote closed the connection).
00:22:26 -!- GregorR-L has quit ("Leaving").
01:09:57 -!- Asztal has quit ("Chatzilla 0.9.75 [IceWeasel 1.0.1b2] (kidding!)").
01:29:16 -!- dbc has joined.
01:30:33 <dbc> I want someone to systematically administer a Turing Test to the customer service departments of large businesses, and report the results.
01:31:07 <dbc> With derision where appropriate.
01:31:45 <xor> heh
02:01:26 <lament> dbc: go right ahead.
02:23:02 -!- Asztal has joined.
02:30:45 -!- GregorR-L has joined.
02:47:06 -!- Sgeo has joined.
02:57:16 -!- ihope_ has joined.
03:12:49 -!- ihope has quit (Read error: 110 (Connection timed out)).
03:28:41 -!- Asztal has quit ("Chatzilla 0.9.75 [IceWeasel 1.0.1b2] (kidding!)").
04:28:03 -!- GregorR-L has quit ("Leaving").
04:28:05 -!- CakeProphet has quit (Read error: 113 (No route to host)).
04:35:16 -!- sekhmet has quit (Read error: 113 (No route to host)).
05:41:04 -!- ivan` has quit (" HydraIRC -> http://www.hydrairc.com <- The future of IRC").
06:17:02 -!- Sgeo has quit ("Ex-Chat").
06:36:44 -!- sekhmet has joined.
06:58:46 -!- GregorR-L has joined.
07:22:05 -!- RodgerTheGreat has quit (Read error: 110 (Connection timed out)).
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:08:42 -!- ivan` has joined.
08:26:08 -!- GregorR-L has quit ("Leaving").
08:35:36 -!- CXII has changed nick to CXI.
09:52:56 -!- wooby has joined.
09:53:29 <wooby> hello friends
11:46:27 -!- James-S has joined.
12:19:39 -!- ihope_ has quit ("http://tunes.org/~nef/logs/esoteric/06.08.09").
13:30:11 -!- jix has joined.
14:10:49 -!- jix_ has joined.
14:28:31 -!- jix has quit (Read error: 110 (Connection timed out)).
15:11:38 -!- tgwizard has joined.
15:13:52 -!- wooby has quit.
15:18:11 -!- RodgerTheGreat has joined.
15:31:31 -!- dbc1 has joined.
15:32:41 -!- dbc has quit (Read error: 104 (Connection reset by peer)).
16:06:58 -!- jix_ has changed nick to rretzbach.
16:07:39 -!- rretzbach has changed nick to jix.
16:09:15 <James-S> Evenin, folks
16:33:25 * RodgerTheGreat tips his hat
16:33:40 <RodgerTheGreat> although, in my timezone, it's still technically morning.
16:34:21 <James-S> :-)
16:59:25 -!- James-S has quit (Read error: 113 (No route to host)).
17:12:57 -!- jix has left (?).
17:57:20 <SimonRC> lol at claim 9: http://appft1.uspto.gov/netacgi/nph-Parser?Sect1=PTO1&Sect2=HITOFF&d=PG01&p=1&u=%2Fnetahtml%2FPTO%2Fsrchnum.html&r=1&f=G&l=50&s1=%2220040161257%22.PGNR.&OS=DN/20040161257&RS=DN/20040161257
18:23:29 <sp3tt> There are bf interpreters in lots of languages, right?
18:23:32 <sp3tt> What about LaTeX?
18:24:58 <SimonRC> hmm
18:24:59 <lament> latex is a programming language?
18:25:04 <SimonRC> theoetically possible
18:25:30 <SimonRC> lament: it's just as turing complete as (say) unlambda version 1
18:25:38 <sp3tt> Yes, it is. I found a package that lets you use arrays.
18:25:52 <lament> well, i suppose if it has arrays it must be turing-complete
18:26:09 <sp3tt> The only problem is that all variables are global, meaning that loops are somewhat tricky to implement.
18:26:47 <RodgerTheGreat> yeah, I was going to ask about looping...
18:27:39 <sp3tt> I implemented BF on my calculator once.
18:27:44 <sp3tt> (Next up: toaster.)
18:28:02 <sp3tt> (If my toaster can run Linux, it can run brainfuck!)
18:28:27 <RodgerTheGreat> I suppose you could consider heated bread to be a type of particle automaton.
18:30:43 <sp3tt> The calculator didn't have local variables either.
18:31:49 <RodgerTheGreat> what calculator was this?
18:31:59 <sp3tt> HP 48gII+.
18:32:34 <sp3tt> Maybe without the +.
18:32:36 <RodgerTheGreat> ooh, nice.
18:32:53 <sp3tt> Hello World took about... two minutes to execute.
18:32:54 <sp3tt> xD
18:32:55 <RodgerTheGreat> I should take a crack at programming my 11c to do that...
20:05:47 -!- Asztal has joined.
20:37:29 -!- Sgeo has joined.
21:08:44 -!- ihope has joined.
21:08:47 <ihope> Dyson!
21:21:36 -!- CakeProphet has joined.
22:06:25 -!- anonfunc has quit.
22:09:56 -!- ihope_ has joined.
22:15:36 -!- oerjan has joined.
22:26:08 -!- ihope has quit (Read error: 110 (Connection timed out)).
22:27:04 -!- GregorR-L has joined.
22:52:22 <xor> abc
22:52:40 <oerjan> dfg
23:17:35 -!- xor has changed nick to Capt.
23:17:42 -!- Capt has changed nick to CaptnOblivious.
23:23:33 -!- CaptnOblivious has changed nick to xor.
23:30:43 -!- ihope_ has quit ("http://tunes.org/~nef/logs/esoteric/06.08.09").
23:31:17 -!- tgwizard has quit ("Leaving").
23:41:05 -!- Sgeo has quit ("Ex-Chat").
23:42:13 -!- Sgeo has joined.
2006-11-22
00:19:37 -!- CakeProphet has quit (Read error: 110 (Connection timed out)).
00:34:22 -!- fizzie has quit (Read error: 60 (Operation timed out)).
01:22:42 <Razor-X> LaTeX has arithmetic support?
01:22:50 <Razor-X> News to me, because it would sure help my formulas out.
01:23:06 <xor> I love latex
01:23:09 <Razor-X> (I'm going to write a little prepocessor in Scheme to make that a bit easier on me, though.)
01:23:16 <oerjan> of course it has
01:23:49 <xor> It's so funny when someone sees my reports and is like "How did you do that?"
01:23:50 <RodgerTheGreat> I know LaTeX can graph functions and such for you...
01:23:53 -!- fizzie has joined.
01:24:02 <RodgerTheGreat> hehe
01:24:02 <xor> RodgerTheGreat: really?!
01:24:08 <Razor-X> My Physics teachers *adore* my LaTeX.
01:24:11 <Razor-X> xor: Yeah, it can.
01:24:13 <Razor-X> *teacher
01:24:24 <Razor-X> Well, he loves me using it.
01:24:24 <xor> my physics teacher is TERRIBLE
01:24:28 <Razor-X> He likes me less.
01:24:36 <Razor-X> And I like him much less than that even.
01:24:36 <RodgerTheGreat> I remember reading about that last time I flipped through a LaTeX manual
01:24:48 <xor> We just took a test, he graded it very badly
01:26:25 <Razor-X> I hate the man in general. He teaches awfully, and will mean I'll probably have to study that much harder on the AP test.
01:26:40 <Razor-X> He *ALWAYS* goes offtopic. Today it was about designers designing things for their gender groups.
01:26:47 <xor> yep, mine too
01:26:53 <xor> teaches badly, doesn't go off topic
01:26:59 <RodgerTheGreat> I've had entirely too many shitty teachers in my school career.
01:27:31 <Razor-X> And he feels like picking on me, for some odd reason.
01:27:35 <RodgerTheGreat> every now and again, I get a really fantastic one, but most teachers are evil and/or incompetent.
01:27:48 <xor> I need to go in and rub some stuff in his face
01:27:55 <Razor-X> I need to kill mine.
01:27:57 <xor> About precision and accuracy
01:27:59 <RodgerTheGreat> Sexist high-school teachers. Surprise!
01:28:19 <Razor-X> He spends 2 WHOLE HOURS on idiocy and has a very ... odd ... view of what Calculus is.
01:28:34 <xor> My phsyics teacher is afraid of calculus
01:28:42 <xor> Or, thinks we should be
01:28:49 <Razor-X> Example of Calculus from my Physics teacher:
01:29:41 <Razor-X> ``Using the data, you can chart the viscosity of the liquid in day 1, day 2, day 20, etc. Now take it to its limit [My Note: That's his favorite phrase], use Calculus. Using Calculus you can find out what the viscosity is on the 7th day 11th hour.''
01:29:49 <Asztal> my high school physics teachers were good... I think. I can't remember.
01:29:52 <RodgerTheGreat> My government teacher was insanely sexist. I was on numerous occasions tempted to prove to the class that she was a hypocritical numbskull, but I decided that remaining neutral in her eyes would be less dangerous than earning her hatred.
01:29:53 <Razor-X> Someone didn't tell our Physics teacher about fractional days.
01:30:06 <Razor-X> What's scary is that he's teaching an AP class.
01:30:07 <RodgerTheGreat> "keep your enemies so close they don't know they're your enemies"
01:30:30 <Razor-X> Hyper-feminists are fun in their oversighted stupidity.
01:31:18 <RodgerTheGreat> the problem is that they tend to get away with sexism a bit more easily than men.
01:31:40 <Razor-X> I agree. And I'm female, so :)
01:32:13 <Razor-X> What irks me is when women call for equality, but then shamelessly use their ``We're weak! Help us!'' covetisms if they do something wrong/bad.
01:33:56 <RodgerTheGreat> it's fairly frustrating that so many vehement feminists seem to want all the benefits of "perfect equality" without any of the negatives. In my book, discrimination is discrimination, wether it's "justified" or not.
01:34:22 <Razor-X> Exactly.
01:34:58 <RodgerTheGreat> I'm sure that not all feminists are hypocrites, but the most vocal ones really give the whole movement a bad name- not unlike most things.
01:35:46 <RodgerTheGreat> Christianity, Atheism, Black people, White people, Men, Women, Democrats, Republicans...
01:36:27 <RodgerTheGreat> it makes me want to become a hermit or something.
01:37:24 <xor> feminism is to womens rights as black nationalism is to black rights
01:37:46 <RodgerTheGreat> heh- an excellent analogy
01:38:26 <Razor-X> Heh. True.
01:39:00 <Razor-X> Well also, the feminist movement has died down nowadays. So the self-proclaimed zealots tend to be the ones who want one-sided favoritism instead of equality.
01:39:51 <RodgerTheGreat> very true
01:40:44 <Razor-X> Which brings to mind a parallel I made earlier about temporary hacker death.
01:41:38 <xor> That reminds me--I get to go talk to the programming teacher at my school
01:42:07 <Razor-X> They teach telephony at our school... although on what language basis, I have absolutely no idea.
01:42:10 <xor> "OOP is the awnser! Long live Java!"
01:42:33 -!- myu has joined.
01:42:47 <Razor-X> Hey, Java isn't that bad.
01:42:56 <Razor-X> Especially considering C++ *shudder*.
01:42:59 <RodgerTheGreat> there is seriously nothing wrong with Java as a language
01:43:09 <xor> Razor-X: c++ too
01:43:13 <Razor-X> I think Java's stigma comes from this:
01:43:29 <RodgerTheGreat> Not every language needs to be about speed or compiler efficiency
01:43:31 * Sgeo randomly says "LSL"
01:43:56 <Razor-X> A) 99% of today's Java programmers can't code for poop because they've only been trained at one level of programming and have no real ``aptitude''. B) The implementations are very very ineffecient.
01:44:20 <xor> On the phone, he asks, "Has he tried an object oriented language like C++ or Java?"
01:44:43 <Razor-X> Java is good in that, it's readable for someone with C-only experience.
01:44:53 <Razor-X> It definitely succeeds there, where C++ utterly fails.
01:45:03 <RodgerTheGreat> I'd say those are fair criticisms, as long as you bear in mind the advantages of Java
01:45:27 <xor> I need some compelling arguments against C++ and Java for when I go in
01:45:48 <RodgerTheGreat> Java nails cross-platform operation like virtually no other language, and that's certainly worth some hits on speed
01:45:50 <Razor-X> I have a bunch of complaints against C++, but I don't mind Java that much.
01:46:06 <xor> What are your complaints against C++?
01:47:38 <Razor-X> The syntax is horribly discontiguous with C syntax. The data abstractions are often overly abstract, much unlike its C counterpart. C++'s object system is useless overhead for an object system that only contains the cogs of objects (instances, constructors, destructors), C++ programmers infuriatingly choose to use C++ abstract-equivalents to perfectly good C counterparts.
01:47:45 <RodgerTheGreat> I just don't really like C or C++, because they really make it clear that they weren't designed for usability as much as the ability to compile to machinecode. That doesn't mean I won't ever use them, but there's a difference between coding for fun and coding for work. I'm never going to code in C/C++ for *fun*.
01:48:42 <myu> i think all the languages belonging to the C-family are poor languages.. c/c++/java/php/python etc
01:48:47 <Asztal> I hate: C++'s compilation model.
01:48:51 <Razor-X> The standard library is immense immense. But this is also a criticism that applies to Java and CL too.
01:49:23 <myu> so guys, what do you think are the highest level languages?
01:49:30 <xor> pseudo code
01:49:36 <Razor-X> Well said :D
01:49:39 <RodgerTheGreat> I'd say that Java's API is a more useful "standard library" than what comes with C, even if you say that it's bloated.
01:49:54 <RodgerTheGreat> human language.
01:50:29 <oerjan> why, telepathy of course :)
01:50:30 <Razor-X> Well, there's another point too. Java's API is still usable if you only read the basics and skim when you need more. C++'s isn't.
01:50:33 <xor> human language can be a bitch to express a program in
01:50:35 <RodgerTheGreat> program specifications in English are effectively equivalent to sourcecode if they're detailed, they just need an extremely complex compiler (a human) to convert.
01:50:36 <Razor-X> CL is somewhere in between.
01:50:42 <myu> yeah human language isn't very high level
01:50:51 <RodgerTheGreat> Razor-X: I wholeheartedly agree
01:51:08 <myu> CL is so old, it makes no sense that CL would be one of the highest level languages these days heh :P
01:51:20 <xor> myu: Yep, it's crazy
01:51:24 <Razor-X> Forth is one of those languages that doesen't fit anywhere.
01:51:27 <RodgerTheGreat> in my mind, the best single thing about Java is the fact that it's designed in a very uniform way.
01:51:30 <xor> 50 years old, and still good
01:52:02 <Razor-X> That too! C++ is a hodgepodge. std::tuple, std::pair, std::list, I mean... what the **** ?
01:52:19 <RodgerTheGreat> yeah- one of the things that brings me pain when I code in C++/
01:52:48 <RodgerTheGreat> most C++ coders will respond "but I can do it with fewer characters than you can in Java!".
01:52:52 <Razor-X> C is good for what it is -- effecient (although Pascal may be a bit better, and Forth is good for lower-than-C-higher-than-ASM level).
01:53:06 <Razor-X> Sure. After reading a 1000 page+ manual.
01:53:07 <xor> Forth is just weird
01:53:16 <Razor-X> I like Forth.
01:53:20 <xor> I know
01:53:38 <RodgerTheGreat> Java 5.0 I/O is *infinitely* better than it has been in the past, and even back then it wasn't too horrible if you understood what you were doing,
01:53:51 <myu> i'm a forth programmer, getting into ruby nowadays though
01:54:13 <Razor-X> Ruby is alright. Nothing too novel, but a good language as far as languages go.
01:54:28 <Razor-X> Scheme is probably my strongest language and is my Lingua Fortica.
01:54:33 <RodgerTheGreat> I just wish that fewere people would piss and moan when they're required to use a language they don't like. All languages have a time and a purpose, and whining doesn't make coding go any faster.
01:54:51 <myu> even tho i spent years with forth its so slow to code in.. takes so much time to figure out the simplest solution and to code the DSL etc
01:54:57 * RodgerTheGreat spits water across the room at hearing the dreaded name "Ruby"
01:54:58 <myu> i imagine lisp coding is similarly slow
01:55:03 <Razor-X> It's not.
01:55:05 <myu> ruby is very readable
01:55:16 <Asztal> I love it.
01:55:21 <Razor-X> Forth is slow only because you start from machine-level up.
01:55:56 <myu> Razor-X: i'm talking about proper forth coding, no words longer than 2 lines, no using 'pick', etc ;)
01:56:03 <RodgerTheGreat> hey, if you like Ruby, good for you... All I'm saying is that I've wrapped my brain around a lot of esolangs, and ruby made me want to take an icepick to my skull.
01:56:06 <Razor-X> myu: Well, even then.
01:56:29 <Razor-X> myu: And Forth does become a pain if you factor at more than 2 lines, IMO.
01:56:31 <myu> yeah, its from the machine-level up but i wonder why no programmers have really brought forth out of the lowlevel?
01:56:42 <Razor-X> Because it belongs in that arena.
01:56:46 <myu> heh
01:56:56 <Razor-X> How many other languages can you play around interactively at the char and byte level?
01:57:11 <RodgerTheGreat> it'd be like asking why there aren't more interpreters for C.
01:57:17 <Razor-X> Quickly debug your driver code and rewrite it on the spot.
01:57:46 <Razor-X> Once you understand how to use a Lisp dialect correctly, you can code most things quickly. Especially because you can build your *own* abstractions instead of reading a 1000 page manual on monolothic ones.
01:57:52 <myu> fine, but forth is extendable, it can play in the HLL arena if it wants to
01:58:39 <myu> its essentially lisp, except postfix/stack-based instead of list-based :P
01:59:06 <RodgerTheGreat> hm.
01:59:08 <myu> my friends complained about lisp requiring them to think recursively, but i just have to think backwards from my forth thinking
01:59:16 <Razor-X> Of course, Lisp and Forth suffer from one fatal flaw (IMO) -- over-diversification. With the power to create your own abstractions, you get a fairly watered down standard.
01:59:26 <myu> yeah thats a good point
01:59:28 <RodgerTheGreat> y'know- I've always wondered about this- what are the "atomic" primitives in LISP?
01:59:30 <Razor-X> Recursive thinking takes time to get into, at first.
01:59:42 <myu> RodgerTheGreat: car, cdr etc ?
01:59:55 <RodgerTheGreat> is there a complete list somewhere?
02:00:23 <RodgerTheGreat> or does everything boil down to BF with a bunch of parentheses and lambda operators?
02:00:41 <myu> heh
02:01:45 <Razor-X> RodgerTheGreat: In Scheme, you have the integer, the character, and the procedure.
02:02:06 <Razor-X> Variables are syntactic sugar for procedures.
02:02:27 <Razor-X> Strings are part of the basic standard, but aren't considered primitive (but it is a disparate data-type, unlike C).
02:02:32 <RodgerTheGreat> well, what operators do you have access to at the lowest level?
02:02:44 <Razor-X> (lambda)
02:02:51 <RodgerTheGreat> I know things like + and - are synthetic
02:03:12 <RodgerTheGreat> *only* lambda?
02:03:14 <Razor-X> In a true from-scratch Lisp, you use combinator logic to create everything. Church numerals for numbers, etc.
02:03:23 <RodgerTheGreat> ah
02:03:24 <RodgerTheGreat> I see
02:03:45 <Razor-X> Of course, for purposes of speed, that's suicide.
02:04:11 <oerjan> you forgot symbols
02:04:21 <RodgerTheGreat> yeah, I can understand the speed thing
02:04:28 <Razor-X> Well, that's not really an atom as much as the name for an atom.
02:04:49 <Razor-X> In Lisp, everything is either a symbol or a procedure. Hmmm, maybe that is a more adequate answer.
02:05:08 <RodgerTheGreat> that's why x86 CPU's all have math coprocessors integrally, rather than doing things like sines in software
02:05:13 <Razor-X> And you have the extra syntactic capability to bind procedures to symbols.
02:05:22 <RodgerTheGreat> (lambda)
02:06:23 <Razor-X> (define blah 4) == (define blah (lambda () 4)), (define) syntactic extension for binding, blah -- a symbol, (lambda () 4) a procedure.
02:06:32 <Razor-X> That's variable assignment for you.
02:06:41 <Razor-X> Of course, it's different in CL, which is a lot more impure.
02:07:12 <oerjan> you mean (define (blah) 4) == (define blah (lambda () 4)))
02:07:30 <Razor-X> Errr, yes.
02:08:38 <RodgerTheGreat> I'm assuming CL means Common Lisp?
02:08:43 <Razor-X> Yes.
02:08:48 <RodgerTheGreat> ah, ok
02:09:15 <myu> i hear CL is a bastardization of the one true lisp and that all real lispers shouldn't be using CL
02:09:32 <Razor-X> The division goes deep.
02:09:50 <Razor-X> Like Hindu-Pakistan, Taiwan-China, etc.
02:10:13 <oerjan> but scheme is even further from the original lisp than CL is
02:10:29 <RodgerTheGreat> the basics work the same
02:10:57 <RodgerTheGreat> I used a scheme interpreter to work through some beginning LISP tutorials.
02:11:14 <Razor-X> CL is more programmer-pragmatic, but Scheme compared to CL is a lot like C compared to C++. One is lean, but requires more work, the other is fat, but requires less.
02:11:19 -!- GregorR-L has quit (Read error: 113 (No route to host)).
02:11:44 <RodgerTheGreat> and, interestingly enough, LOGO is actually very similar in structure to LISP proper, although the syntax looks different
02:11:49 <Razor-X> Scheme is more ``pure'' from the Lambda Calculus perspective.
02:12:15 <RodgerTheGreat> anyone here know LOGO? :D
02:12:16 <Razor-X> And then you have Haskell :)
02:12:38 <Razor-X> RodgerTheGreat: Was my first ever programming language. Back when I went to a private school.
02:13:12 <RodgerTheGreat> when was this?
02:13:40 <Razor-X> 1-3rd grade, then I left. I came back, but they taught Pascal at that age.
02:14:27 <Razor-X> I and a group of friends one day sneakily copied 6th grader programs to our floppies, stole them home, and read over their source and learned a bunch of new stuff.
02:14:38 <Razor-X> That was interesting :)
02:14:41 <RodgerTheGreat> argh. fucking public schools. My first experience with programming was in 6th grade when I found a macintosh version of QBASIC and tried punching in code from the back of my math book.
02:15:31 <RodgerTheGreat> they really *need* to be teaching kids languages like LOGO or BASIC in elementary school.
02:18:54 -!- Arrogant has joined.
02:19:36 <RodgerTheGreat> In a similar vein, I think we should take a note from advertising companies and drill things into people's brains from an extremely early age through repetition. F=Ma. For every action, there is an equal and opposite reaction. Sin(pi)=0, and so on. Comprehension can come later.
02:20:51 <RodgerTheGreat> we need to improve our use of the first few years of jello-like malleability in our children's minds.
02:21:22 <RodgerTheGreat> You can teach an old dog new tricks, but it's sure as hell easier to teach a puppy.
02:22:18 <RodgerTheGreat> howdy, Arrogant, by the way.
02:27:50 <RodgerTheGreat> apparently, I have killed this conversational thread. :/
02:28:01 * RodgerTheGreat crawls back inside his hermit-cave
02:30:51 <Asztal> да!
03:00:16 -!- Arrogant has quit ("Leaving").
03:09:04 <lament> da?
03:09:11 <oerjan> nyet!
03:09:46 <lament> dadadadadadada
03:09:56 <oerjan> .gertrude
03:10:35 <lament> few words are as funny as 'nyet'.
03:10:48 <lament> i guess 'borscht' is another one.
03:11:45 <oerjan> isn't that borschtsch?
03:12:16 <lament> borschtshcshtshc
03:12:19 <lament> ,maybe
03:14:37 <oerjan> wikipedia says no, then yes (in german)
03:20:44 <xor> Razor-X: How does that "lisp from only lambda" work?
03:21:07 <xor> I've never understood that
03:22:49 -!- oerjan has quit ("Good night").
03:28:25 -!- myu has left (?).
03:36:59 <SimonRC> C, IMO, is a great portable assembler.
03:37:28 <xor> C is fun
03:37:41 <SimonRC> xor: Lambda can be abused in fun ways.
03:37:50 <xor> example
03:38:15 <SimonRC> define (CONS X Y) to be (LAMBDA (F) (F X Y))
03:38:36 <SimonRC> Then CAR = (LAMBDA (X Y) X) and CDR = (LAMBDA (X Y) Y)
03:38:43 <SimonRC> You see how that satisfies the requirements?
03:39:18 <xor> What's F?
03:39:31 <SimonRC> huh?
03:39:37 <xor> (LAMBDA (F) (F X Y))
03:39:38 <SimonRC> you knwo hoe LAMBDA works, right?
03:39:41 <xor> yeah
03:39:52 <SimonRC> well, F is the variable that is bound by that lambds
03:40:26 <xor> But that function takes one argument
03:40:29 <xor> cons takes 2
03:40:36 <SimonRC> erm
03:40:48 <SimonRC> I'm not defining CONS to be that
03:40:59 <SimonRC> I'm defining (CONS X Y) to be that
03:41:10 <xor> ooooooh
03:41:24 <SimonRC> Therefore CONS is (LAMBDA (X Y) (LAMBDA (F) (F X Y)))
03:42:18 <SimonRC> plus I fucked up the definitions of CAR and CDR
03:42:30 <xor> yeah
03:42:56 <SimonRC> CAR should be (LAMBDA (P) (P (LAMBDA (X Y) X)))
03:43:06 <SimonRC> and CDR should be (LAMBDA (P) (P (LAMBDA (X Y) Y)))
03:43:38 <xor> oh, so cons returns it's contents
03:43:42 <SimonRC> so you have (CAR (CONS A B)) = ((LAMBDA (X Y) X) A B) = A
03:44:01 <SimonRC> xor: no, cons returns a function that takes another function and applies it to its contents
03:44:55 <SimonRC> You represent any datastructure by a function that takes in another function and applies it to the members of the datastructure.
03:45:31 <SimonRC> This is a *more* powerful concept than most modern languages have.
03:46:18 <SimonRC> With lazy evaluation, it gives you properties for free, you just have to add them to the function that is created by the datastructure constructor.
03:46:55 <xor> but then it would be ((lambda (f) (f x y)) #'car)
03:47:03 <SimonRC> You also get algebraic data type pattern-matching for free. You just take in multiple functions to apply to the contents of the datastructure, rather than just one.
03:47:15 <SimonRC> xor: nonono, this is an L1, not an L2
03:47:37 <xor> ?
03:47:38 <SimonRC> xor: oh, wait, yes
03:47:48 <SimonRC> what is "it"
03:48:08 <xor> wait
03:48:12 * xor thinks
03:48:29 <SimonRC> It's a bit like CPS
03:49:01 <SimonRC> A datastructure is something capable of passing the data in it to a function that know what to do with that data.
03:49:52 <xor> ahhh, I understand
03:52:28 <xor> clever
03:52:45 <xor> But how would you implement, for example, +
03:52:46 <xor> ?
04:03:47 <SimonRC> well...
04:03:53 <SimonRC> you could make it primitive, or...
04:04:23 <SimonRC> we consider "data Nat = Zero | Succ Nat"
04:04:30 <SimonRC> this becomes:
04:05:41 <SimonRC> "(ZERO) = (lambda (FZ FN) (FZ))" and "(SUCC N) = "(LAMBDA (FZ FN) (FN N))"
04:05:45 <SimonRC> things are easy from there
04:06:54 <xor> aaagh
04:07:11 <SimonRC> if tyou want a more efficient representation, you can read "every number has at most two digits" by this guy I know: http://www-old.cs.st-andrews.ac.uk/~eb/
04:07:26 <SimonRC> xor: you see how the Haskell declaration works, right?
04:07:44 <xor> no
04:07:46 <SimonRC> ah
04:08:03 <SimonRC> A natural number is either zero or one more than anotehr natural number
04:08:11 <xor> yes
04:08:31 <SimonRC> And you know a bit of Haskell, right?
04:08:55 <xor> A tiny bit
04:08:58 <SimonRC> hmm
04:09:15 <SimonRC> Do you know what "data" does?
04:10:05 <xor> a function that takes Nat and returns Zero | Succ Nat ?
04:10:13 <SimonRC> erm, no
04:10:20 <SimonRC> this will be tricky
04:10:33 <SimonRC> I have no idea how to explain algebraic data types to you.
04:10:50 <SimonRC> do you know about C's "union" types?
04:10:54 <xor> yeah
04:11:28 <SimonRC> right, well you can consider "data" to declare something like a tagged union of structs.
04:12:55 <SimonRC> in this case, n item of type "Nat" is *like* the union of a stucture containing no fields (tagged "Zero") or a structure containing 1 field (tagged "Succ") and that field contains a "Nat".
04:13:32 <xor> hmm
04:13:52 <xor> So the number of links in this chain is the number it represents
04:14:00 <SimonRC> yeas
04:14:02 <SimonRC> yes
04:14:08 <SimonRC> In english...
04:14:24 <SimonRC> A natural number is either zero or one more than another natural number
04:14:29 <xor> yes
04:14:44 <xor> but what about "(ZERO) = (lambda (FZ FN) (FZ))" and "(SUCC N) = "(LAMBDA (FZ FN) (FN N))"
04:14:50 <SimonRC> ah
04:16:00 <SimonRC> Well, since there are two possible types of contents for a Nat, the function that represents a Nat must take in two functions that say what to do in the two possible cases
04:16:29 <SimonRC> a nat here is of the form (LAMBDA (FZ FN) ...)
04:17:28 <SimonRC> To use a nat called N, you do the following call: (N <what-to-do-in-the-zero-case> <what-to-do-in-the-succ-case>)
04:18:15 <SimonRC> (remember that CONS only has one possible casem so a cons was a function that took one other function as an argument)
04:19:04 <xor> hmm
04:19:07 <SimonRC> but a nat takes two arguments that say what to do for the two possible cases of nat (zero and succ)
04:19:57 <xor> that's crazy
04:20:25 <SimonRC> It is a mechanical translation from Haskell. And it seem very elegant to me.
04:20:40 <xor> It is
04:20:46 <xor> It's just something I've never seen before
04:21:31 <SimonRC> I haven;t really understood if before but it just clicked earlier today
04:21:51 <SimonRC> is it sticking in your head?
04:21:59 <SimonRC> or does it not quite stay?
04:22:33 <xor> I think it makes sense
04:23:59 <SimonRC> Good, I'll explain why zero and succ work. zero is a "constructor", i.e. a function that creates a nat. zero returns the nat that takes in the zero-case handler (FZ) and the succ-case handler (FN) and just calls the zero-case handler, right?
04:24:34 <xor> yeah
04:25:33 <SimonRC> and SUCC takes in the FZ and FN, then calls FN with a single argument: the number it is the Succ of.
04:25:53 <SimonRC> (Succ = Successor, i.e. the "next" number)
04:26:05 <xor> yes
04:26:43 <SimonRC> so..., to construct plus...
04:27:01 <SimonRC> plus take 2 arguments
04:27:12 <SimonRC> wecase-analyse the first argument
04:27:28 <xor> wecase-analyse?
04:27:34 <SimonRC> we case-analyse
04:27:41 <xor> oh
04:28:22 <SimonRC> plus of zero and foo is equal to foo. plus of (succ of bar) and baz is the succ of (plauss of bar and baz)
04:28:26 <SimonRC> they're the two cases
04:28:49 <SimonRC> that seem correct, right?
04:29:01 <xor> I don't understand
04:29:06 <SimonRC> ok...
04:29:30 <xor> What is this called?
04:29:35 <SimonRC> case analysis
04:29:45 <xor> no, this whole thing
04:29:49 <SimonRC> duno
04:30:22 <SimonRC> I have read about the basics of it and it is all clicking into place as we go along
04:30:46 <xor> Read what?
04:31:46 <SimonRC> erm
04:31:51 <SimonRC> I can't remember
04:32:14 <xor> The term "lambda calculus" rings a bell
04:32:34 <SimonRC> this is a standard set of tricks for representing data in the lambda calculus
04:33:48 <SimonRC> Well, I remember being told in a simplified fasion that algebraic data types are equivalent to functions in the manner above, and that you can represent any data with complicated functions, and the ADT for Nat is a well-known thing, but the lambdas for NAt I just worked out off the top of my head
04:34:16 -!- anonfunc has joined.
04:34:16 <xor> ADT?
04:34:25 <SimonRC> algebraic data type
04:34:30 <xor> oh
04:34:48 <SimonRC> to continue... you know that 0 + foo = foo, and (1 + bar) + baz = 1 + (bar + baz), right?
04:45:25 <xor> yeah
04:45:56 <SimonRC> well, plus is a function of 2 arguments:
04:46:17 <SimonRC> It considers the two possible structures of the first argument first:
04:46:21 <SimonRC> plus of zero and foo is equal to foo
04:46:27 <SimonRC> plus of (succ of bar) and baz is the succ of (plauss of bar and baz)
04:47:16 <xor> yeah
04:48:11 <SimonRC> that is case-analysis of the first argument
04:49:06 <SimonRC> now, to do case analysis of an argument, we make a function that says what to do in each case, then pass all those functions to the value we are analysing.
04:49:59 <xor> ok
04:50:53 <SimonRC> for example, to analyse a value (N) of type nat, we construct a function to say what to do in the zero case, and a function saying what to do in the succ case, and pass them to N
04:51:27 <xor> call N, right?
04:51:30 <SimonRC> yes
04:51:34 <xor> k
04:51:51 <SimonRC> the zero-case handler must be a function of 0 arguments that returns the result for the zero case
04:52:13 <SimonRC> and we know that if the first argument is zero, the result is just the second argument
04:52:52 <SimonRC> so, for (PLUS X Y), the zero-case handler is (LAMBDA () Y)
04:56:05 <SimonRC> right?
04:56:09 <xor> yeah
04:57:06 <SimonRC> and if the first argument is (SUCC N), the result is (SUCC (PLUS N Y))
04:57:22 <xor> I think
04:57:28 <SimonRC> so the succ-case handler is (LAMBDA (N) (SUCC (PLUS N Y)))
04:58:00 <xor> yeah
04:59:16 <SimonRC> and putting these together:
05:00:11 <SimonRC> PLUS = (LAMBDA (X Y) (X (LAMBDA () Y) (LAMBDA (N) (SUCC (PLUS N Y)))))
05:00:14 <SimonRC> TADA!
05:00:32 <xor> wow
05:00:39 <SimonRC> totally silly, too
05:01:31 <SimonRC> Do remember that I am discovering this as I chat to you, and my terminology is not standard.
05:01:41 <SimonRC> Of course, this might not be useful.
05:01:54 <xor> http://en.wikipedia.org/wiki/Church_numeral
05:02:52 <SimonRC> But it is really simple to do once you know Haskell reasonably well, as a nice-enough subset of Haskell has a 1-to-1 correspondance with it
05:02:55 <SimonRC> plus = (lambda (x y) (x (lambda () y) (lambda (n) (succ (plus n y)))))
05:02:58 <SimonRC> plus = \ x y -> case x of { Zero -> y ; Succ n -> Succ (plus x y) }
05:03:10 <SimonRC> (with extra spaces added to make it line up)
05:03:32 <SimonRC> oooh
05:03:46 <SimonRC> well, I was definitely not teaching you church numerals
05:04:39 <SimonRC> I was teching you some other kind of numerals
05:06:14 <SimonRC> if, however CH is a church numeral, then "my" notation can be constructed thus: (CH SUCC ZERO)
05:06:18 <SimonRC> he
05:06:19 <SimonRC> hehehe
05:06:50 <SimonRC> and the opposite conversion is:
05:08:37 <SimonRC> NAT-TO-CHURCH = (LAMBDA (N) (LAMBDA (F) (LAMBDA (X) (N (LAMBDA () X) (LAMBDA (M) (F (NAT-TO-CHURCH M))))))
05:08:40 <SimonRC> TADA!
05:08:43 <SimonRC> I think
05:09:11 <SimonRC> this is a bit nasty because church numerals are traditionally curried
05:09:15 <xor> That's a lot of lambdas
05:09:17 <SimonRC> yeah
05:09:36 <xor> Well that was very interesting
05:10:08 <SimonRC> If, however, we use a version of LAMBDA that curries, and assume that function-calling curries too, we get:
05:10:43 <SimonRC> (arranged for comprehensibility not brevity)
05:11:14 -!- Sgeo has quit ("Ex-Chat").
05:11:16 <SimonRC> NAT-TO-CHURCH = (LAMBDA (N) (LAMBDA (F X) (N (LAMBDA () X) (LAMBDA (M) F (NAT-TO-CHURCH M))))))
05:22:09 -!- CakeProphet has joined.
05:24:02 <Razor-X> xor: Read on the basics of Lambda Calculus.
05:24:42 <Razor-X> Learn the basic combinators and take a look at the Church Numerals (or, if you understood the Lambda Calculus, you should be able to reason out the Church Numerals already (I did)).
05:27:14 <Razor-X> You can also be adventerous and implement Lambda Calculus in Lisp. You'll quickly see that, this way of dealing with Lisp is to Church's computational metaphor as BF is to Turing's computational method.
05:27:38 <Razor-X> (Unlambda and BF is a more apt comparison here.)
05:28:49 * SimonRC doesn't quite get that analogy.
05:29:08 <Razor-X> Well, BF is pretty close to Turing's infinite tape.
05:34:42 <xor> Razor-X: That's what I will do
05:35:20 <xor> But lambda calculus in lisp would be nothing
05:38:34 <SimonRC> I think that the lambda calculus interprets turing machines rather more efficiently than turing machines interpret the lambda calculus
05:38:48 <SimonRC> also, i have some idea of how to do the former sanely, but no the latter
05:50:53 -!- CXI has quit (Read error: 104 (Connection reset by peer)).
06:01:28 <Razor-X> That is true. And I have an idea about the former too.
06:03:37 -!- CXI has joined.
06:35:25 -!- GregorR-L has joined.
07:42:08 -!- wooby has joined.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:00:05 -!- GregorR-L has quit ("Leaving").
08:22:25 -!- puzzlet_ has quit (Read error: 113 (No route to host)).
08:30:16 -!- puzzlet_ has joined.
10:26:36 -!- jix has joined.
11:44:11 -!- ivan` has quit (Read error: 104 (Connection reset by peer)).
11:57:18 -!- wooby has quit.
14:20:33 -!- jix_ has joined.
14:29:40 -!- jix has quit (Read error: 110 (Connection timed out)).
14:33:48 -!- CakeProphet_ has joined.
14:37:12 -!- CakeProphet__ has joined.
14:42:18 -!- CakeProphet___ has joined.
14:44:00 -!- CakeProphet has quit (Read error: 113 (No route to host)).
14:44:01 -!- CakeProphet___ has changed nick to CakeProphet.
14:55:18 -!- CakeProphet_ has quit (Read error: 110 (Connection timed out)).
15:00:22 -!- CakeProphet__ has quit (Read error: 110 (Connection timed out)).
15:05:29 -!- CakeProphet has quit (Read error: 104 (Connection reset by peer)).
15:05:31 -!- CakeProphet___ has joined.
15:05:34 -!- CakeProphet___ has changed nick to CakeProphet.
15:06:51 -!- oerjan has joined.
15:36:22 -!- lindi- has quit (Read error: 104 (Connection reset by peer)).
15:45:27 -!- lindi- has joined.
16:16:34 -!- lindi- has quit (Read error: 104 (Connection reset by peer)).
16:21:11 -!- lindi- has joined.
16:32:23 -!- GregorR-L has joined.
16:43:29 <sp3tt> It appears that it is impossible to write a brainfuck interpreter in LaTeX.
16:43:33 <sp3tt> String handling sucks.
16:48:43 <GregorR-L> I don't think LaTeX is TC, so of course not.
16:48:49 <sp3tt> It is.
16:50:43 <GregorR-L> Well then it is possible.
16:51:15 <GregorR-L> Either it's TC, and therefore you can write a BF interpreter in it, or it's not, so you can't (or at least can't write a complete one)
16:51:59 <sp3tt> Well, if the only package for string handling I can find doesn't work :/
16:54:21 <sp3tt> And if LaTeX wants to throw error messages that seem to be caused by something that doesn't exist...
16:54:42 <oerjan> to write a BF interpreter you need to be able to read string input. this has nothing to do with being turing complete, consider iota and jot.
16:57:04 <oerjan> it might be that the required command is in the underlying TeX and not documented in LaTeX.
16:57:08 <GregorR-L> Oh yes, this is true - what I was referring to is really BF minus ".,"
16:57:43 <sp3tt> . is simple, , is harder.
16:57:48 <oerjan> and i was referring to inputting the BF program itself.
16:57:52 <sp3tt> One could use ! to separate them.
17:05:05 <sp3tt> The program and the input that is.
17:34:43 -!- tgwizard has joined.
17:36:02 -!- cmeme has quit (Remote closed the connection).
17:37:00 -!- cmeme has joined.
17:37:13 -!- cmeme has quit (Read error: 104 (Connection reset by peer)).
17:38:09 -!- cmeme has joined.
17:38:22 -!- cmeme has quit (Read error: 104 (Connection reset by peer)).
17:39:41 -!- cmeme has joined.
17:40:12 -!- cmeme has quit (Remote closed the connection).
17:40:43 -!- cmeme has joined.
17:55:47 <oerjan> try TeX by Topic at http://www.eijkhout.net/tbt/. the chapter on token lists might be particularly useful.
17:57:09 <oerjan> from what the book says about the \read macro it might be hard to read input without matching brackets.
17:57:53 -!- cmeme has quit (Read error: 104 (Connection reset by peer)).
17:58:41 -!- cmeme has joined.
17:59:11 -!- cmeme has quit (Remote closed the connection).
17:59:42 -!- cmeme has joined.
18:00:49 -!- cmeme has quit (Read error: 104 (Connection reset by peer)).
18:01:12 <oerjan> maybe something with the character category codes i see mentioned can fix that.
18:01:24 -!- cmeme has joined.
18:01:54 -!- cmeme has quit (Remote closed the connection).
18:02:26 -!- cmeme has joined.
18:03:44 -!- oerjan has quit ("Off to eat").
20:33:56 -!- Sgeo has joined.
21:15:09 -!- jix_ has quit ("Bitte waehlen Sie eine Beerdigungnachricht").
21:33:16 -!- Asztal has quit ("Chatzilla 0.9.75 [IceWeasel 1.0.1b2] (kidding!)").
21:36:57 -!- GreaseMonkey has joined.
22:37:32 -!- Asztal has joined.
23:27:59 -!- tgwizard has quit (Remote closed the connection).
23:29:09 -!- sp3tt has quit (Remote closed the connection).
23:29:16 -!- sp3tt has joined.
23:52:13 -!- sp3tt has quit (Read error: 110 (Connection timed out)).
2006-11-23
00:03:26 -!- oerjan has joined.
00:08:50 <GreaseMonkey> afk food
00:10:46 -!- GregorR-L has quit ("kill(getpid(), SIGTURKEY)").
00:28:41 <GreaseMonkey> erm, gonna have to do some study
00:39:57 <RodgerTheGreat> hm. well, this is interesting. my pet betta is in the process of building a "bubble nest", presumably in preparation for nesting season.
00:41:30 * oerjan had to check wikipedia, and is somehow releaved that it is a fish and not a spider or something...
00:41:40 <RodgerTheGreat> haha
00:41:54 <RodgerTheGreat> perhaps I should've said "siamese fighting fish"
00:46:11 <RodgerTheGreat> they act a little like a combination of a shark and a goldfish.
00:46:56 <oerjan> should or should one not dip one's finger into the water?
00:47:40 <RodgerTheGreat> they don't really have teeth, so I don't see any serious harm, although they might try to ram you or decide to suck on your finger.
00:48:23 <RodgerTheGreat> bettas are not very large fish to begin with.
00:49:12 <oerjan> except in attitude? :)
00:49:27 <RodgerTheGreat> heh- yes.
01:02:58 <Razor-X> Like I said, I think a TeX preprocessor is best.
01:10:07 * RodgerTheGreat scratches his head and flips through the logs
01:12:25 <oerjan> i _think_ it was in response to the last thing i said before logging off but i am not sure
01:13:20 <Razor-X> Yup, it is.
01:14:14 <oerjan> it seems the problem is to somehow get a file input as a mere list of characters...
01:14:55 <Razor-X> Will LaTeX3E ever finish?
01:14:59 <oerjan> the \read macro nearly does that, i think.
01:15:26 <oerjan> but not quite.
01:15:48 <oerjan> i haven't paid attention to that project.
01:17:35 <GreaseMonkey> meh, haven't studied yet, afk, mowing lawns
01:17:59 <RodgerTheGreat> so, there's work afoot to create a BF interpreter in LaTeX?
01:18:49 <oerjan> apparently.
01:19:37 <Razor-X> And for me, a LaTeX preprocessor in Scheme.
01:20:54 <RodgerTheGreat> cool.
01:21:26 <Razor-X> Because I'm tired of M-x calc when doing my labs.
01:21:58 <Razor-X> If I'm typing up the expression to show work anyways, might as well have something do some arithmetic and other handy things.
01:37:27 <RodgerTheGreat> is anyone here intimately familiar with 68k machinecode?
01:39:12 -!- ivan` has joined.
02:05:58 -!- sp3tt has joined.
02:07:56 <GreaseMonkey> back
02:13:12 <GreaseMonkey> erm, i'm familiar with Z80 machine code
02:13:20 <GreaseMonkey> can't help you with that one, sorry.
02:13:37 <GreaseMonkey> LD HL,Beer
02:13:52 <GreaseMonkey> LD A,HL
02:13:56 <GreaseMonkey> LD (Mouth),A
02:14:46 <RodgerTheGreat> heh
02:14:55 <GreaseMonkey> you'll enjoy this:
02:14:56 <GreaseMonkey> LOGO death virus tutorial: http://www.rohitab.com/discuss/index.php?showtopic=20088
02:15:52 <RodgerTheGreat> haha
02:16:58 <GreaseMonkey> "'m sick of all the lame tutorials describing how you can use a virus to destroy your school computers using just batch commands. They suck, as they don't destroy anything. My virus simply pwnz all of yourz coz it is the best. It actually kills your teacher and all the students in the class. It not only kills them... it's so much better than that.... it actually burns them alive."
02:19:58 <RodgerTheGreat> good find
02:20:13 <GreaseMonkey> meh, it's on a forum I go to
02:20:55 <GreaseMonkey> "and its not a virus...it doesnt spread" "Then the pen needs to become a turtles willy so it can improegnate dogs and cats and other turtles.
02:20:55 <GreaseMonkey> And instead of dropping petrol it will have to drop chloroform.
02:20:55 <GreaseMonkey> Or have a flamming willy."
02:21:36 <RodgerTheGreat> well, I guess I'm going to have to pore over some manuals to get a handle on creating machinecode for the 'ol dragonball EZ...
02:23:17 <GreaseMonkey> or some LOGO code for the ol' "DON'T USE PEN DOWN!" turtle
03:42:27 -!- wooby has joined.
03:51:33 -!- GregorR-L has joined.
04:50:39 -!- Razor-X has left (?).
04:50:46 -!- Razor-X has joined.
05:18:03 -!- oerjan has quit ("Good night").
05:19:14 -!- Sgeo has quit (Remote closed the connection).
05:20:59 -!- Sgeo has joined.
05:33:21 -!- wooby has quit.
05:34:50 <GreaseMonkey> Emacs has IRC? NICE! :D
05:35:04 <xor> yep
05:35:59 <GreaseMonkey> what's irssi like? is that irc][?
05:36:12 <xor> never heard of irc][
05:36:18 <xor> but irssi is decent
05:36:32 <GreaseMonkey> is irssi that console one?
05:36:43 <GreaseMonkey> what's wrong with xchat?
05:36:50 <xor> nothing
05:36:56 <xor> yeah, irssi is console
05:38:23 <Asztal> irssi is nice :)
05:39:04 <GreaseMonkey> off novice mode, i arseume?
05:49:44 <GregorR-L> RawIRC is the best.
06:09:25 <xor> a C -> JVM compiler would be interesting
06:11:51 <GregorR-L> xor.google("mips2java");
06:12:23 <GreaseMonkey> afk food
06:17:44 <xor> mips2java looks ugly
06:18:00 <xor> why would you do binary to java source code translation?
06:19:01 <Asztal> http://www.axiomsol.com/
06:29:30 <xor> GregorR-L: That adds yet another emulation layer to java
06:33:52 -!- Sgeo has quit (Remote closed the connection).
06:51:19 -!- tokigun_ has joined.
06:51:35 -!- tokigun has quit (Read error: 104 (Connection reset by peer)).
07:17:08 <GreaseMonkey> back
07:28:01 -!- CXI has quit (Read error: 104 (Connection reset by peer)).
07:28:53 -!- CXI has joined.
07:41:49 -!- anonfunc has quit.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:02:23 -!- ptmcg has joined.
08:28:07 <GreaseMonkey> gonna wash up and then sleep, gnight
08:30:40 -!- GreaseMonkey has quit ("yaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaawn. contact, minus spaces: the mat rix eat syo u (eht) yah oo (duht) co (duht) nz").
08:33:40 -!- ptmcg has left (?).
08:36:34 -!- ptmcg has joined.
08:38:58 -!- GregorR-L has quit ("Leaving").
09:01:07 -!- ptmcg has left (?).
10:07:53 -!- jix has joined.
11:50:52 -!- ivan` has quit (" HydraIRC -> http://www.hydrairc.com <- IRC for those that like to be different").
12:49:34 -!- saik0 has joined.
13:02:15 <saik0> i need some directive plz
14:11:55 -!- jix_ has joined.
14:29:21 -!- jix has quit (Read error: 110 (Connection timed out)).
15:03:00 -!- CXI has left (?).
15:09:27 -!- CakeProphet has quit ("haaaaaaaaaa").
15:09:28 -!- saik0 has quit (Remote closed the connection).
15:32:48 -!- Sgeo has joined.
17:08:02 -!- ihope_ has joined.
17:08:08 <ihope_> What's UDP provide, again?
17:08:26 <lindi-> ?
17:09:18 <lindi-> ihope_: unreliable connectionless protocol for your custom needs :)
17:09:35 <ihope_> Just like IP, except on top of IP?
17:10:48 <lindi-> ihope_: udp provides ports
17:11:10 <ihope_> That's nice.
17:11:17 <lindi-> ihope_: and checksums
17:11:32 <ihope_> So it does do something, at least?
17:11:38 <ihope_> How much overhead is there?
17:11:45 <Razor-X> Much less than TCP.
17:12:03 <Razor-X> The packets are not guaranteed to reach, and if they reach they are not guaranteed to arrive in a particular order.
17:12:19 <lindi-> ihope_: 8 bytes if i count correctly :)
17:12:24 <jix_> weren't quake or so using udp for position updates and tcp for things like shooting which shouldn't be missed?
17:12:31 <ihope_> 8 bytes total?
17:12:39 <lindi-> per packet
17:12:52 <ihope_> How big's a packet?
17:12:57 <Razor-X> If you're on a reliable local network, you should be able to use UDP with little/no trouble.
17:12:58 <lindi-> ihope_: variable length
17:13:03 <lindi-> ihope_: you can decide
17:13:12 <ihope_> How big do they get?
17:13:16 <Razor-X> Over the internet.... it depends completely upon how your packet is routed.
17:13:16 <lindi-> 65535 is maximum i think
17:13:26 <lindi-> since the counter is two bytes
17:13:27 <Razor-X> ihope_: Take a look at the UDP RFC.
17:14:10 <Razor-X> I still haven't finished SLUMTP. I think I'm going to implement it in a different language.
17:14:16 <Razor-X> Maybe Ruby.
17:14:21 <Razor-X> Or, yes, Java.
17:15:42 <RodgerTheGreat> if you need any help with Java, just let me know
17:16:03 <Razor-X> Actually, it probably will be Java.
17:16:11 <Razor-X> Is there a significant difference between IO in Java 5 and earlier versions?
17:16:21 <Razor-X> Only because that means I have to download a newer version of Java :P
17:17:09 <RodgerTheGreat> file I/O?
17:17:33 <Razor-X> That and also Packet I/O.
17:17:34 <RodgerTheGreat> File I/O is *significantly* improved in Java 5
17:17:53 <Razor-X> Ah.
17:18:29 <RodgerTheGreat> I'm not extremely experienced with network communications in Java, but I'm familiar with all of Java's file I/O facilities.
17:18:44 <RodgerTheGreat> the "Scanner" class is your friend.
17:19:45 <Razor-X> I was looking at the UDP abstraction. I like it.
17:20:00 <Razor-X> Easy to follow (for me), unlike other abstractions.
17:20:47 <RodgerTheGreat> In Java, if you can read a Javadoc, you can pretty easily learn how to use any part of the API
17:21:05 <Razor-X> So I've seen.
17:21:30 <Razor-X> I appreciate Java's likeness to C, even if that is a bit selfish.
17:21:32 <RodgerTheGreat> creating proper Javadoc comments can be a pain at times, but it's really worth it in the long run.
17:26:18 <RodgerTheGreat> if you're interested in the differences between 1.4.2 and 1.5, this page is a fairly complete listing: http://java.sun.com/j2se/1.5.0/docs/relnotes/features.html
17:33:04 <RodgerTheGreat> the addition of for...each loops is pretty nice.
17:38:52 <Razor-X> Yeah. That is one I noticed.
17:41:32 <Razor-X> Me Java is being updated.
17:46:38 <lindi-> Razor-X: please avoid java 1.5 features if you want people to be able to use your program with free software
17:51:45 <Razor-X> Ah. Alrighto then.
17:51:49 <Razor-X> That I shall.
17:52:46 <lindi-> Razor-X: fortunately those will be available soon
17:52:54 <lindi-> or at least hopefully
17:53:07 <Razor-X> How's the movement to OSS Java going?
17:54:18 <RodgerTheGreat> a JVM and Javac itself are open-source
18:17:28 -!- tgwizard has joined.
18:30:52 <lindi-> RodgerTheGreat: there are four free java compilers and at least 10+ jvms
18:31:04 -!- Sgeo has quit (Remote closed the connection).
18:31:17 <RodgerTheGreat> I'm talking about what Sun released.
18:31:38 <lindi-> yes it's one of those four
18:39:18 -!- Sgeo has joined.
18:43:41 -!- calamari has joined.
18:46:48 -!- puzzlet_ has quit (Read error: 110 (Connection timed out)).
18:52:40 <RodgerTheGreat> bbl people- I'm off to prepare my thanksgiving f00dz0rz.
18:54:26 <calamari> cya RodgerTheGreat
18:54:32 <calamari> Happy Thanksgiving
18:55:03 <calamari> we had ours on Tuesday, so I'm pretty much just being lazy today
18:56:00 <GregorR> Just rescheduled Thanksgiving, eh :P
18:56:28 <GregorR> On the one hand, that's brilliant. On the other hand, how dare you insult our meaningless holiday?
18:57:14 <calamari> well, I could have says happy turkey day
18:57:41 <calamari> oh, my stepmother wants Linux for Christmas
18:58:09 <calamari> so now that'll be both my dad and stepmom.. the Linux infection is spreading :)
18:58:23 <calamari> and my grandma if he ever brings her computer down
18:58:27 <calamari> she
18:58:51 <calamari> wow.. 20gb just in my home directory
18:59:02 <calamari> I need to clean some crap out
19:01:40 <GregorR> I just backed up my home directory quite recently.
19:01:46 <GregorR> 37 DVDs
19:01:48 <GregorR> 4.4gigs each
19:01:51 <GregorR> You do the math :-P
19:02:11 <calamari> you have too much porn
19:02:52 <lament> let me guess.. half porn, half pirated music?
19:03:28 <xor> ...and half pirated movies
19:03:32 * calamari is proud to report 0% porn %0 pirated on his hd
19:04:26 <calamari> I do need to go through some old floppies and clean off any pirated dos apps.. not that anyone cares anymore
19:05:26 <calamari> but I guess decss is illegal here in the us :(
19:05:26 <lament> i have about 80% pirated 5% porn
19:05:43 <lament> actually probably less since my photographs take up lots of space nowadays
19:05:59 <calamari> Linux eliminates most of the need for pirated apps
19:06:29 <lament> by not being able to run them, yes.
19:06:31 <xor> hmmm 50% porn and 45% pirated
19:06:34 <lament> But I do want Photoshop
19:06:46 <lament> so i pirated that
19:07:03 <calamari> the gimp does everything I need it to
19:07:13 <xor> I hate the gimp
19:07:21 <calamari> why?
19:07:42 <xor> I dunno I just can't use it
19:07:48 <calamari> too many windows?
19:08:02 <calamari> I didn't like that .. but figured out how to consolidate them all into one
19:08:14 <calamari> so now it's fine
19:08:21 <lament> the gimp doesn't do everything i need it to
19:08:33 <lament> or maybe it does, i never bothered to figure it out
19:08:36 <lament> it's extremely slow
19:08:42 <lament> which is my main problem with it
19:08:43 <xor> meh, maybe I'm just not a photo editing kinda guy
19:08:53 <lament> and, of course, it doesn't have NeatImage (which i had to pirate separately...)
19:09:02 <lament> xor: maybe you just aren't
19:09:02 <calamari> does photoshop run under wine?
19:09:05 <lament> calamari: no clue
19:09:08 <lament> i use os x
19:09:16 <xor> calamari: with some hackery
19:09:38 <lament> photoshop is almost indispensable for photo editing
19:10:00 <calamari> I used to like paint shop pro, but then they screwed it all up
19:10:40 <calamari> I bought it anyways because I was way past my 30 day trial period on version 4
19:11:02 <lament> it would be nice to have a simple free editor that would do the things i usually use photoshop for
19:11:55 <lament> but then still there would be occasions when that's not enough
19:12:27 * calamari dials up the SPA
19:13:25 <calamari> hmm, apparetly I have the wrong set of initials there
19:13:48 <lament> http://gallery.z3.ca/d/13143-1/poles.jpg
19:14:20 <lament> dunno if i'd be bothered to do that in gimp
19:14:36 <calamari> do you have a color version of that?
19:15:11 <lament> not online
19:15:34 <calamari> what was done to it?
19:16:43 -!- ihope_ has quit (Remote closed the connection).
19:16:48 <lament> burn the wooden poles, levels, convert to black and white using mostly the red channel, some more levels, unsharp mask
19:17:25 <lament> er, actually probably the blue channel
19:17:36 <calamari> gimp can do channels
19:18:22 <calamari> has all sorts of crazy channel splitting and joining stuff actually
19:29:44 -!- GreaseMonkey has joined.
19:30:51 -!- nooga has joined.
19:30:57 <nooga> hiiihooo
19:31:06 <GreaseMonkey> hello 1.1
19:31:47 <nooga> hellor2.0beta
19:35:02 <pgimeno> hi3.14159
19:35:55 <nooga> ?:2^:?|
19:36:55 <nooga> above program takes a and h from input and writes a/2*h to the output... it's in my new lang
19:37:32 <lament> your language looks quite a lot like befunge.
19:37:44 <nooga> ah ah ah
19:37:54 <nooga> not 2d and not stack based :>
19:38:28 <nooga> it's a wip yet
19:46:01 <GreaseMonkey> what's in the lang so far?
19:48:19 <GreaseMonkey> ((()()())(()()())(()()())) :D
19:49:19 <GreaseMonkey> a=getch();h=getch();putch(a>>1*h); // That'll be me for now
19:49:49 <GreaseMonkey> a!2=getch();h!2=getch();putch(a>>1*h); /* Better */
19:49:58 <GreaseMonkey> the top one is in C
19:50:05 <GreaseMonkey> the bottom one is in tomato
19:50:10 <GreaseMonkey> actually, for C:
19:50:24 <GreaseMonkey> char a,h;a=getch();h=getch();putch(a>>1*h); // Fixed
19:50:28 <GreaseMonkey> and for tomato:
19:50:44 <GreaseMonkey> a!1=getch();h!1=getch();putch(a>>1*h); /* Fixed */
19:50:59 <GreaseMonkey> wait, there's no getnum :O
19:52:08 <GreaseMonkey> why 32-bit P-mode ASM is so much better than 16-bit R-mode ASM: MOV eax,[edx]; MOV ecx,[eax];
19:52:23 <GreaseMonkey> you can access memory with ANY register =D
19:53:03 <lindi-> GreaseMonkey: eflags too? ;)
19:53:04 <nooga> ;]
19:53:28 <GreaseMonkey> don't really know a lot about eflags :/
19:54:13 <GreaseMonkey> with my design for a RISC architecture (which supports 64 instructions but only has 20 so far :D) you can read and write the flags register *directly*
19:55:09 <GreaseMonkey> however, in Z80 ASM: PUSH hl; PUSH af; POP hl; LD l,00h; PUSH hl; POP af; POP hl;
19:55:15 <GreaseMonkey> i think that's it
19:55:25 <GreaseMonkey> anyways, gotta go to my exam, cya :(
19:55:43 <GreaseMonkey> got 2 today D:
19:56:13 -!- GreaseMonkey has quit (Client Quit).
20:00:36 -!- oerjan has joined.
20:01:02 <nooga> hei
20:01:10 <oerjan> hallo
20:03:33 <nooga> hvordan star det til?
20:04:08 <oerjan> det rusler og gr
20:05:13 <nooga> hm... i dunno what rusler means :D
20:06:03 <oerjan> walks slowly and aimlessly
20:06:22 <nooga> aah
20:06:46 <oerjan> the whole phrase means just about "nothing much"
20:07:19 <nooga> i c
20:11:42 <nooga> bbl
20:31:50 -!- nooha has joined.
20:32:20 -!- nooga has quit (Read error: 110 (Connection timed out)).
20:32:50 -!- nooha has changed nick to nooga.
20:41:00 -!- GregorR has quit (Remote closed the connection).
20:59:25 -!- EgoBot has quit (Read error: 110 (Connection timed out)).
21:39:54 <RodgerTheGreat> back
21:40:08 <RodgerTheGreat> am I
21:40:51 <oerjan> backwards mean you
21:40:59 <nooga> gf
21:41:23 <RodgerTheGreat> polish notation reverse use I
21:41:26 -!- jix_ has quit ("Bitte waehlen Sie eine Beerdigungnachricht").
21:41:50 <nooga> right is that
21:42:11 <oerjan> impossible, nooga here polish the is
21:42:54 <nooga> my host is a perl program :D
21:42:58 <nooga> ip-50.net-41.rev.inter-c.pl
21:43:02 <nooga> *.pl
21:43:55 <nooga> g2g ;/
21:43:58 <oerjan> you're lucky, my host is NO program. :(
21:44:01 <nooga> c u all
21:44:08 <nooga> ghhehe ;]
21:44:21 -!- nooga has quit.
21:52:34 <lament> you guys are both lucky, i'm .NET :|
21:57:00 <Asztal> Apparently my host still uses DOS
21:57:37 <Asztal> Bleh, it isn't showing my hostname. But it's a .com.
21:57:51 <lament> it is showing your hostname.
21:58:14 <Asztal> oh. when I hover my mouse over the text it shows my IP instead :)
21:58:25 <lament> it lies.
21:58:44 <Asztal> and now that I've whoised myself, when I hover, it shows my hostname.. :D
21:59:22 -!- Asztal has quit ("!!!").
22:13:57 -!- tgwizard has quit ("Leaving").
22:35:04 -!- CakeProphet has joined.
23:15:24 -!- Asztal has joined.
2006-11-24
00:41:30 <Razor-X> lament is .NET?!
00:41:35 <Razor-X> Stay AWAYYYYY!
00:42:24 <Asztal> I'd rather .NET than perl ;)
00:42:31 <Asztal> wait
00:42:42 <oerjan> i am obliged to warn you that this whole channel is in fact .NET too.
00:42:43 <Asztal> I'd rather CLR than Perl
00:42:45 <Razor-X> Are you sure about that?
00:43:05 <Razor-X> Think carefully my friend. CLR is horribly bloated. Perl is not.
00:43:18 <Asztal> and Perl is horribly fugly.
00:43:27 <Asztal> :)
00:43:27 <Razor-X> So is C. Point?
00:43:35 <Asztal> C != CLR
00:43:39 <Razor-X> I know.
00:43:54 <Razor-X> C isn't horribly bloated. It's horribly fugly.
00:43:57 <Asztal> There's plenty of languages other than C on the CLR, you know :)
00:44:08 <Razor-X> Scheme beats 'em all, and then some.
00:44:24 <Asztal> actually, I'd have to say I prefer ruby, but I don't think there's a .rb ccTLD :(
00:44:25 <Razor-X> Oh, C on the CLR? Ewww.
00:44:42 <Asztal> C-like languages, sorry ;)
00:44:44 <Razor-X> It's so pointless, IMO.
00:45:37 <Razor-X> Where's Scheme?! Bah! Where's Forth?!
00:45:50 <Razor-X> (define CLR #f)
00:45:51 <Asztal> You know you like COBOL.NET
00:46:07 * Asztal wonders if you can use it with managed Direct X
00:46:14 <Razor-X> I don't have Mono on this box.
00:46:22 <Razor-X> Direct X. EWWW
00:46:28 <Razor-X> Talk about commercial and nonportable.
00:47:12 <Asztal> I suppose that's true. But somehow I still prefer it to OpenGL ;)
00:47:13 <oerjan> there is F#, which is an Ocaml clone
00:47:30 <lament> activex is somewhat of a non-issue
00:47:37 <lament> it doesn't even run in my OS
00:47:44 <lament> i don't have to care about museum software
00:48:10 <Razor-X> Yeah, I'd a heard of F#.
00:48:19 <Razor-X> Asztal: Then your code stays on your platform.
00:48:25 <Razor-X> :)
00:48:46 <Razor-X> While Mac OS X and *Nix can share.
00:48:48 <Asztal> My games do :)
00:49:14 <Razor-X> OCaML's syntax looks god-awful.
00:49:31 <Asztal> But I tend to (try to) write them so they're more or less API-independant
00:49:32 <Razor-X> You would think S-expressions look bad, but OCaML is just *shudder*
00:49:49 <lament> Razor-X;;
00:50:21 <Razor-X> I'm no game programmer. Although I've been feeling like playing around with OpenGL in Scheme some time for the heck of it.
01:26:29 -!- puzzlet_ has joined.
04:12:57 -!- GreaseMonkey has joined.
04:29:21 -!- GregorR has joined.
04:37:53 -!- GregorR has quit (Read error: 104 (Connection reset by peer)).
05:24:36 -!- ivan` has joined.
05:25:24 -!- Sgeo has quit (Remote closed the connection).
05:38:35 -!- calamari has quit ("Leaving").
05:50:59 <GreaseMonkey> afk food
06:12:25 -!- GregorR-L has joined.
06:38:41 -!- GregorR-L has changed nick to FailureLobster.
06:39:00 -!- FailureLobster has changed nick to LobsterOfFailure.
06:47:08 -!- wooby has joined.
07:20:06 -!- LobsterOfFailure has changed nick to GregorR-L.
07:36:00 <GreaseMonkey> back
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:04:20 -!- GregorR-L has quit ("Leaving").
08:15:27 -!- wooby has quit.
08:38:25 -!- oerjan has quit ("Good night").
08:43:47 <Razor-X> An ever shorter Forth quine:
08:43:53 <Razor-X> source type
08:44:19 <GreaseMonkey> an even SHORTER Forth quine:
08:44:49 <Razor-X> Yes?
08:44:55 <GreaseMonkey> (blank)
08:45:03 <Razor-X> Good job my friend.
08:45:10 <GreaseMonkey> i can't send blank mesgs... gays
08:45:32 <GreaseMonkey> erm
08:45:47 <GreaseMonkey> damn, can't send blanks with a /raw command either :(
08:53:47 -!- GregorR has joined.
08:54:30 -!- EgoBot has joined.
08:57:05 <GreaseMonkey> anyways gonna get off so bye
08:57:50 -!- GreaseMonkey has quit.
09:50:15 -!- Razor-X has quit (Remote closed the connection).
09:51:46 -!- Razor-X has joined.
12:04:25 -!- ka_1900 has joined.
12:07:44 <ka_1900> can any one plz tell me what is going on with this code !?
12:07:46 <ka_1900> http://pfo.pastebin.com/831922
12:08:13 <ka_1900> it is supposed to print a number ,.bt it prints another totally different number
12:11:13 <ka_1900> hey pppl!!
12:11:16 <ka_1900> anybody here
12:11:17 <ka_1900> ?
12:29:02 <Asztal> that's undefined behaviour
12:29:39 <Asztal> the compiler is free to do whatever it likes
12:30:28 <ka_1900> no there is a logic behind this ,.
12:31:09 <Asztal> there is
12:31:45 <Asztal> http://en.wikipedia.org/wiki/Sequence_point
12:32:37 <Asztal> you have to remember that function arguments can be evaluated in any order
15:22:07 -!- Sgeo has joined.
15:35:26 -!- jix has joined.
15:46:49 -!- CakeProphet has quit ("haaaaaaaaaa").
16:04:47 <ka_1900> Asztal
16:04:52 <ka_1900> r us still there ?
16:05:09 <ka_1900> this logic i sent u b4 is making me crazy
16:14:05 <RodgerTheGreat> I think I understand the problem you're dealing with.
16:14:22 <ka_1900> so ? do u got an answer ?
16:15:03 <RodgerTheGreat> there's an easy way to fix it- don't do multiple pre- and post- increments on the same variable in a function call
16:15:37 <RodgerTheGreat> just replace ++x with (x+1) and so on- then your code will function how you expect it to.
16:16:46 <ka_1900> the problem is nt in the wrong answer ,. the problem i have to solve ,. is why it is doing so ,. btw this is the right code
16:16:50 <ka_1900> http://pastebin.com/831918
16:20:14 <RodgerTheGreat> it's like Asztal said- function arguments can be evaluated in any order, and several of your arguments change the value of X.
16:21:01 <ka_1900> can we make it step by step together ???
16:21:20 <RodgerTheGreat> there
16:21:44 <ka_1900> here
16:22:06 <RodgerTheGreat> is nothing to go through step-by-step- you can effectively assume that the arguments you pass to your function are evaluated randomly, because it's undefined behavior
16:22:30 <ka_1900> no it is not randomly
16:22:30 <ka_1900> int x = 5 ; printf("%d%d%d%d%d", x++, ++x, x, ++x, x++) ;
16:22:48 <ka_1900> the first printf should print 5
16:22:49 <ka_1900> right ?
16:23:41 <ka_1900> and the second and third printf should print 7 ? right ?
16:23:46 <RodgerTheGreat> function arguments aren't necessarily evaluated from left to right, that's what I'm trying to get through to you.
16:23:58 <ka_1900> and the last ++x and x++ should print 8 ,
16:24:29 <ka_1900> but the calculation is done left to right and printed right to left ,. why ?!
16:24:48 <ka_1900> i mean the calculation gives 57788
16:24:56 <ka_1900> but it prints 88775
16:24:57 <ka_1900> why !?
16:25:50 <jix> but the calculation is done left to right and printed right to left ,. why ?! << it isn't done from left to right
16:26:21 <RodgerTheGreat> it's obviously being done right to left in this case, and it'd probably do something else on a different compiler.
16:26:34 <RodgerTheGreat> undefined. behavior.
16:27:11 <ka_1900> no there is nothing called undefiend behaviour ,. our proffessor told us it has a logic and we have to find out why
16:27:31 <lindi-> ka_1900: huh?
16:27:32 <jix> than read the c standard
16:28:26 <jix> and professors can be wrong
16:29:14 <RodgerTheGreat> whenever a function call is made with arguments that are expressions (x+5, x--, etc) they have to be evaluated before the actual function operates on these values (at an abstract level). The order in which arguments are evaluated is compiler-defined.
16:29:23 <RodgerTheGreat> that's how it works, period.
16:30:09 <RodgerTheGreat> the actual time at which the statements are evaluated in machinecode is determined by the compiler, which is *why* it's compiler-defined
16:31:00 -!- tgwizard has joined.
16:31:21 <ka_1900> so the answer that this is undefined behavioud
16:31:24 <ka_1900> r*
16:56:04 -!- ka_1900 has quit (Read error: 104 (Connection reset by peer)).
17:29:14 -!- tgwizard has quit (Read error: 110 (Connection timed out)).
18:22:27 -!- tgwizard has joined.
19:40:49 -!- xor has left (?).
19:41:07 -!- xor has joined.
20:06:19 <jix> i have a very cool idea for a new esolang!
20:06:50 <jix> nah doesn't work
20:07:01 <jix> i was lying i just wanted to test a script and needed people to talk
20:07:27 <RodgerTheGreat> heh
20:07:42 <RodgerTheGreat> sorry
20:07:46 <jix> hmm...
20:08:45 <jix> hmm
20:21:05 -!- CakeProphet has joined.
20:23:26 -!- CakeProphet has quit (Client Quit).
20:51:15 <fizzie> You can't assume that arguments are evaluated randomly, because it's undefined behaviour; you must assume that _anything_ can happen, including the computer exploding.
20:51:25 <fizzie> It doesn't necessary evaluate any arguments at all.
20:52:06 <fizzie> (To answer the conversation that was here over four hours ago.)
20:52:59 <fizzie> (It's undefined behaviour since it modifies x multiple times between sequence points.)
20:56:36 <fizzie> Actual evaluation order is implementation-defined, but that's another issue. printf("%d%d\n", printf("foo\n"), printf("bar\n")); does not have any undefined behaviour, but what it prints is implementation-defined. It must be "foo\nbar\n44\n" or "bar\nfoo\n44\n", though. (Barring any IO errors or such.)
21:02:28 -!- CakeProphet has joined.
21:25:49 <RodgerTheGreat> fizzie: yeah, true. I was just trying to explain things simply
21:27:27 <fizzie> No mercy!
21:27:54 <RodgerTheGreat> whatever
21:38:45 -!- jix has quit ("Bitte waehlen Sie eine Beerdigungnachricht").
21:43:13 -!- Sgeo has quit (Remote closed the connection).
23:04:42 -!- CakeProphet has quit ("haaaaaaaaaa").
23:54:35 -!- CakeProphet has joined.
2006-11-25
00:01:05 -!- ivan` has quit (" HydraIRC -> http://www.hydrairc.com <- The professional IRC Client").
00:14:53 <Asztal> Didn't old versions of GCC used to start playing the towers of hanoi if you encountered certain undefined behaviour?
00:15:09 <RodgerTheGreat> yes
00:15:22 <RodgerTheGreat> and failing that, they'd load up Nethack
00:15:40 <RodgerTheGreat> it's mentioned here: http://en.wikipedia.org/wiki/Undefined_behavior
00:35:04 -!- Sgeo has joined.
00:53:56 -!- ivan` has joined.
01:26:27 -!- GreaseMonkey has joined.
01:38:59 -!- tgwizard has quit (Remote closed the connection).
01:59:53 -!- Asztal has quit (Nick collision from services.).
01:59:59 -!- Azstal has joined.
02:00:02 -!- Azstal has changed nick to Asztal.
02:03:48 -!- Asztal has quit (Nick collision from services.).
02:03:54 -!- Azstal has joined.
02:03:58 -!- Azstal has changed nick to Asztal.
02:05:00 -!- ivan` has quit (" Like VS.net's GUI? Then try HydraIRC -> http://www.hydrairc.com <-").
02:31:48 <GreaseMonkey> welcome to undernet
02:35:36 <RodgerTheGreat> you mean "ünternet"?
02:36:45 -!- Asztal has quit (Read error: 104 (Connection reset by peer)).
02:38:06 <GreaseMonkey> something like that
03:09:08 -!- Asztal has joined.
04:35:23 <Razor-X> RodgerTheGreat: What's the Java equivalent of a struct?
04:36:43 <GreaseMonkey> a struct in a stupid lang
04:37:35 <Razor-X> ?
04:45:46 <RodgerTheGreat> Razor-X: I'm pretty sure you'd just use a container class- just make a class that has the variables you need, possibly a constructor and (if you want to use information-hiding principles) a collection of getters/setters
04:47:15 <GreaseMonkey> Razor-X: Wtf are you doing programming in *java* anyway?!
04:47:30 <Razor-X> GreaseMonkey: Cross portability, high level (moreso than C).
04:47:43 <Razor-X> RodgerTheGreat: Well, I'd know if it was a general purpose struct, but I need to use the struct's properties of named byte fields.
04:48:08 <Razor-X> I basically need some sort of container for bytes that can be fed to an output port serially.
04:49:11 <RodgerTheGreat> hrm.. well, I may have a weak understanding of the capabilities of structs (I am not a C coder), but you might be able to use chars
04:49:50 <Razor-X> A struct is really simple. It's a chunk of contiguous memory containing the variables of choice.
04:50:30 <GreaseMonkey> higher level, higher lag, higher filesize.
04:50:47 <GreaseMonkey> and higher frustration, and higher chance of getting sacked.
04:50:50 <Razor-X> GreaseMonkey: If this was time critical, I'd do it in C.
04:50:56 <RodgerTheGreat> yeah, I always thought of it as serving the same function as container classes, only less OO overhead when you don't need it
04:51:02 <Razor-X> It's a concept test, which I prefer to do in an easier environment.
04:52:05 <Razor-X> struct point { int x; int y; } has a size of 2 ints (2*sizeof(int)). The way I'm using structs here though is telling a function to send a struct of size sizeof(struct blah), so that the bytes stay in order.
04:52:34 <RodgerTheGreat> ah
04:53:17 <Razor-X> This is why I was initially reluctant to do this in a higher-level language, because it does get pretty low-level in places.
04:53:42 <Razor-X> But managing timeouts in C is a *pain*.
04:57:26 <Razor-X> Do I have to use an array of bytes ? I wanted something named, so...
04:58:13 <GreaseMonkey> well, there's MOV eax,[edx+0x4C] and stuff
04:58:44 <Razor-X> Forth's as low as I (like to regularly) go, sorry.
05:00:52 <GreaseMonkey> i still prefer C to anything else except for when it's being a pain in the ass
05:00:58 -!- calamari has joined.
05:01:04 <Razor-X> Scheme is what I prefer.
05:01:08 <calamari> hi
05:01:24 <Razor-X> Heya.
05:01:40 <GreaseMonkey> hey calamari!
05:01:51 <calamari> hi greasy
05:02:58 <calamari> what was your old nick? hehe
05:03:02 <GreaseMonkey> me=thematrixeatsyou
05:03:10 <calamari> right
05:03:18 <calamari> thanks
05:04:11 <Razor-X> I can't even believe I coded before I learned Lisp.
05:04:17 <Razor-X> It was like, an enlightenment.
05:04:22 <calamari> had to go to 5 stores to find a halfway decent kitchen apron for my wife, and then it was $20
05:04:26 <Razor-X> RodgerTheGreat: CharSequences are what I need, no?
05:05:23 <RodgerTheGreat> erm... you mean a character array?
05:05:36 <Razor-X> No, I mean a CharSequence.
05:06:08 <Razor-X> It seems to be the low-level mechanism behind Strings.
05:06:29 <Razor-X> Oh... but it's read-only :(
05:06:38 <GreaseMonkey> Razor-X: MOV $2000,Razor-X; ADD $2000,UserSuggestions; MOV ($2000),LearnARealLanguage
05:07:17 <GreaseMonkey> gtg food, then i'll be out
05:08:16 -!- GreaseMonkey has quit ("food is good, that's why i'm eating it").
05:45:57 <xor> haha java
05:50:27 <CakeProphet> lol
05:50:46 -!- CakeProphet has changed nick to notCakeProphet.
05:51:05 <xor> Am I the only one here who actually likes c?
05:52:33 * GregorR huggles C.
05:53:17 <notCakeProphet> Probably.
05:53:26 <notCakeProphet> I find C annoying.
05:53:28 <notCakeProphet> ...
05:53:48 <notCakeProphet> Oh sure it's machine efficient... but it sucks at human efficiency.
05:54:10 <xor> C is fun
05:54:24 <xor> Lets you be creative
05:54:54 <notCakeProphet> All programming languages do that. ;)
05:55:15 <GregorR> My ideal world has C as an intermediary language used by compilers. Takes a lot of strain off of writing compilers (for higher-level languages) without diminishing efficiency to any significant degree.
05:55:23 <GregorR> Also, D is awesome.
05:55:47 <xor> Yeah, compiling to asm for a new language is stupid
05:56:03 <GregorR> C is very nice because nothing is black-box.
05:56:10 <xor> exactly
05:56:13 <GregorR> It's an easy transform from the language to machine code.
05:56:18 <GregorR> You can mentally compile everything.
05:56:29 <GregorR> Unlike Java, where EVERYTHING is black-box.
05:56:40 <GregorR> (A GPL'd black box now, yes, but still fairly opaque ;) )
05:57:47 -!- Sgeo has quit (Remote closed the connection).
06:17:42 -!- notCakeProphet has changed nick to CakeProphet.
06:33:45 -!- Asztal has quit (Read error: 104 (Connection reset by peer)).
06:35:47 -!- Asztal has joined.
07:13:58 <Razor-X> That I definitely agree with.
07:19:26 -!- Asztal has quit ("Chatzilla 0.9.75 [IceWeasel 1.0.1b2] (kidding!)").
07:22:10 <Razor-X> Forth is even better though. No type checking.
07:23:01 <Razor-X> Want to make a character out of a cell? Forth doesen't care, it'll just use the least significant byte.
07:24:02 <Razor-X> Double precision integers, for example, take up two stack positions and need special words to modify.
07:24:20 <Razor-X> You could, unwarily, use a double precision integer as two normal integers.
07:32:04 -!- calamari has quit ("Leaving").
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
10:05:27 -!- jix has joined.
10:18:37 -!- wooby has joined.
10:53:45 -!- tgwizard has joined.
12:13:19 -!- Asztal has joined.
12:59:31 -!- CakeProphet has quit ("haaaaaaaaaa").
13:06:27 -!- tgwizard has quit (Read error: 110 (Connection timed out)).
14:11:57 -!- jix_ has joined.
14:23:10 -!- ihope has joined.
14:29:22 -!- jix has quit (Read error: 110 (Connection timed out)).
16:00:47 -!- tgwizard has joined.
17:14:25 -!- Sgeo has joined.
19:39:44 -!- wooby has quit.
20:04:54 -!- meatmanek has quit ("User disconnected").
20:05:57 -!- meatmanek has joined.
20:06:05 -!- meatmanek has quit (Remote closed the connection).
20:07:15 -!- meatmanek has joined.
21:36:03 -!- ivan` has joined.
21:48:29 * SimonRC reads up
21:52:44 * ihope reads down
21:53:02 <ihope> Actually, I read from left to right.
21:54:33 <RodgerTheGreat> I read based on a complex and ad-hoc algorithm
21:56:43 <GregorR> WHAT R READ MEANING
21:57:57 <ihope> lol idot its wen u putwords in ur hed
21:58:08 <RodgerTheGreat> lol
21:58:08 <ihope> :--D
22:01:40 <Asztal> wow... I had an issue with my befunge interpreter going into an infinite loop, and it turns out that someone else's interpreter does the exact same thing
22:02:12 <Asztal> Caused by a # at the edge of a program, but I'm sure it's caused by something far more sinister
22:02:19 <RodgerTheGreat> hm
22:02:40 <RodgerTheGreat> well, at least it proves you aren't the first one to make that mistake
22:03:13 <Asztal> I think it's a different mistake with the same result, because theirs does it in befunge-93 mode too :)
22:03:17 <RodgerTheGreat> are you sure that #'s at the edge of a program aren't defined by the standard to infinite loop? :)
22:03:26 <Asztal> mine is ... something to do with wrapping
22:21:44 <Razor-X> GregorR: Does D have a good socket library?
22:22:50 <Razor-X> No, not the C FFI. No. No.
22:22:57 <Razor-X> NO! NEVER!
22:23:06 <Razor-X> (Uggh. Managing 30 structs gets tiring quickly.)
22:29:50 -!- jix_ has quit ("Bitte waehlen Sie eine Beerdigungnachricht").
22:40:45 <Asztal> yarr, fixed :)
22:41:02 <Asztal> I don't know how my cube intersection function ever worked, but it's fixed now
23:04:02 -!- CakeProphet has joined.
23:11:42 <GregorR> Razor-X: It has std.socketstream, which (shockingly) treats sockets as streams. Very easy to use.
23:25:01 <xor> this sepperation of functions and variables in common lisp is really getting on my nerves
23:27:58 <xor> no, i don't want to do (funcall x ...), i just want to do (x ...)
23:32:40 -!- oerjan has joined.
23:33:47 <ihope> I love LISP too.
23:34:26 <ihope> Not that I've done much with it.
23:35:01 <xor> i'm reading _ai programming, case studies in lisp_
23:49:20 <SimonRC> Does anoyone know of a language with a for-each type loop that can express zipping? I found the lack of one very irritating in C#.
23:50:00 <xor> haha (gps '(unknown poor) '(rich famous))
23:50:05 <SimonRC> Heh, KoL has a basic test of English grammar and spelling before you are allowed to use the chat feature.
23:50:11 <oerjan> what is zipping?
23:50:26 <oerjan> ah, i remember.
23:51:11 <oerjan> i believe the ghc compiler for haskell has an extension to the list comprehension syntax called parallel, which is essentially zipping.
23:51:30 <xor> zip([1,2],[3,4]) == [[1,3],[2,4]], right?
23:51:48 <SimonRC> roughly, yes
23:51:53 <oerjan> i.e. [(x,y) | x <- m | y <- l] = zip m l
23:52:28 <SimonRC> I was thinking mostly but not only of languages like Java or C#.
23:52:37 <SimonRC> oerjan: nice, I think.
23:52:45 <oerjan> of course haskell also has the zipBy high-level function.
23:52:59 <oerjan> which is portable.
23:54:17 <SimonRC> ITYM "zipWith"
23:54:25 -!- tgwizard has quit (Remote closed the connection).
23:54:37 <oerjan> oh, right. i've made that mistake before.
23:55:01 <oerjan> there are some other "genericized" functions that use the By suffix, i believe.
23:55:47 <oerjan> sortBy e.g.
23:56:21 <SimonRC> They take an argument that specifies equality/comparison criteria.
23:56:24 <oerjan> perhaps python?
23:57:09 <oerjan> although you could probably make one in Java.
23:59:18 <SimonRC> ??!
23:59:42 <SimonRC> You are suggesting that I can *make* a new control structure in Java?
2006-11-26
00:00:03 <oerjan> something like zipWith. it would probably be more verbose (like most things Java)
00:00:16 <oerjan> let me check on Scala.
00:00:20 <xor> what does zipWith do?
00:02:08 <oerjan> zipWith f (x1:l1) (y2:l2) = (f x1 x2) : zipWith f l1 l2
00:02:28 <oerjan> zipWith f [] [] = []
00:03:08 <xor> oh
00:03:53 <ihope> More like zipWith f _ _ = []
00:04:27 <xor> so like mapcar
00:04:31 <xor> in lisp
00:04:39 <oerjan> no, mapcar is map in haskell
00:05:04 <oerjan> oh, right, mapcar doesn't have fixed number of arguments
00:05:16 <xor> zipWith + [1,2] [3,4] => [4,6] right?
00:05:27 <oerjan> so mapcar corresponds to map, zipWith, zip3With, etc.
00:05:43 <xor> (mapcar #'+ '(1 2) '(3 4)) => (4,6)
00:06:05 <oerjan> actually, zipWith (+) [1,2] [3,4]
00:06:35 <xor> meh, I don't actually know haskell
00:06:36 <oerjan> otherwise it would try to add zipWith to [1,2] [3,4]
00:07:07 <oerjan> which would give a type error
00:07:37 <oerjan> well, you seemed to understand the zipWith definition
00:07:57 <xor> That's obvious
00:14:45 <oerjan> hm, Scala for comprehension seem based on haskell list comprehensions, but without the parallel extension
00:20:21 <Razor-X> GregorR: Can it work with timeouts and unconnected sockets?
00:22:18 -!- Asztal has quit ("Chatzilla 0.9.75 [IceWeasel 1.0.1b2] (kidding!)").
00:25:22 <GregorR> Razor-X: I haven't extensively used sockets in D, so you'd have to ask somebody more knowledgeable.
00:25:43 <Razor-X> GregorR: :(
00:25:58 <Razor-X> I hate you GregorR! Now I'm gonna have to cut myself!
00:28:09 <oerjan> ah, i found something in the Python tutorial:
00:28:23 <oerjan> >>> for q, a in zip(questions, answers):
00:28:58 <oerjan> so while you need to use the zip function, it can itself be inserted easily in for statements.
00:29:08 <Razor-X> Mmmf. The sockets interface needs to be cleaner.
00:30:19 <oerjan> http://docs.python.org/tut/node7.html#SECTION007600000000000000000
00:32:50 <oerjan> i suspect you can do similar things in Scala, too, since Scala has pattern matching and higher order functions.
00:33:16 <oerjan> (I am mentioning Scala because it is somewhat Java-based)
00:35:24 <oerjan> razor-x: reading the logs, i am thinking about a cheat for your structs
00:36:03 <oerjan> you could use a class containing static final integer variables for your offsets, plus an array
00:36:54 <oerjan> and of course whatever utility methods you consider convenient
00:37:15 <oerjan> (the array should not be static, of course)
00:37:27 <Razor-X> Aha.
00:37:41 <Razor-X> That was what I was planning to do though.
00:38:00 <Razor-X> Create a class and name the fields as fixed offsets in an internal byte[] .
00:38:11 <Razor-X> Either that, or continue wading through struct hell in C.
00:38:57 <Razor-X> But I do appreciate a struct's ability to be pointed at a blob of data and name the fields.
00:39:39 <Razor-X> Mmmf. Too much time with Scheme. I'm rusty on my imperative code.
01:07:46 <xor> booo java
01:19:14 -!- GreaseMonkey has joined.
01:26:14 <ihope> A greasy monkey?
01:26:24 * ihope offers some soap to GreaseMonkey
01:26:46 <ihope> Wait, are you that matrix eating guy?
01:27:24 <GreaseMonkey> yep
01:27:32 * GreaseMonkey washes
01:28:20 <GreaseMonkey> MOV eax,Pie; CALL eat;
01:30:56 <ihope> What's that do?
01:36:23 <GreaseMonkey> you don't know assembler?
01:37:38 <GreaseMonkey> MOV eax, Pie - sets the register EAX to the constant Pie
01:37:54 <GreaseMonkey> CALL eat - calls the function at the label "eat"
01:41:06 <GreaseMonkey> i don't know how the LOOP instruction works in 32-bit mode
02:03:04 <xor> te he he, memoization
02:05:33 <Razor-X> GreaseMonkey: You're using Intel syntax, you know.
02:05:37 <Razor-X> You could've said that!
02:10:52 <GreaseMonkey> yeah
02:11:09 <GreaseMonkey> i've come up with an XOR gate in WireWorld that looks like it says XOR
02:19:23 <CakeProphet> !help
02:19:26 <EgoBot> help ps kill i eof flush show ls bf_txtgen usertrig daemon undaemon
02:19:28 <EgoBot> 1l 2l adjust axo bch bf{8,[16],32,64} funge93 fyb fybs glass glypho kipple lambda lazyk linguine malbolge pbrain qbf rail rhotor sadol sceql trigger udage01 unlambda whirl
02:19:39 <CakeProphet> !bf_txtgen Brainfuck
02:20:18 <EgoBot> 102 ++++++++++++++[>+++++>++++++++>+++++++>+++++++<<<<-]>----.>++.>>-.++++++++.+++++.<++++.<+++.>---.>---. [160]
02:23:51 <GreaseMonkey> !cat meow
02:23:55 <EgoBot> Huh?
02:23:58 <GreaseMonkey> !daemon
02:24:00 <GreaseMonkey> !daemon cat
02:24:06 <Razor-X> Guh. OOP.
02:24:10 <GreaseMonkey> !cat meow
02:24:12 <EgoBot> Huh?
02:24:20 <GreaseMonkey> !ps
02:24:24 <EgoBot> 1 GreaseMonkey: ps
02:24:44 <GreaseMonkey> !ls
02:24:46 <EgoBot> bf/, glass/, linguine/
02:24:57 <GreaseMonkey> !usertrig
02:24:59 <EgoBot> Huh?
02:25:08 <GreaseMonkey> !daemon load cat
02:25:17 <GreaseMonkey> !cat meow
02:25:20 <EgoBot> Huh?
02:25:25 <GreaseMonkey> ok, so how do you load cat?
02:42:57 <SimonRC> hmm
02:42:58 <SimonRC> !ps
02:43:01 <EgoBot> 1 SimonRC: ps
02:43:05 <SimonRC> bah
02:44:21 <oerjan> !daemon cat bf +[,.[-]+]
02:44:29 <oerjan> !cat Test
02:44:33 <EgoBot> Test
02:45:41 <oerjan> !ps d
02:45:44 <EgoBot> 1 oerjan: daemon cat bf
02:45:45 <EgoBot> 2 oerjan: ps
02:46:05 <GreaseMonkey> OH.
02:46:30 <oerjan> Glad to help :)
02:47:28 <oerjan> If the daemons are reloaded at all they are reloaded when EgoBot starts up, I believe.
02:47:51 <GreaseMonkey> would this work? [-]>+[>,.]<[<]>[.>]
02:47:55 <Razor-X> Let's see how good I am with this OOP thingamabobber.
02:49:10 <oerjan> i believe so, although the first [-] is redundant if this is the whole program.
02:49:29 <oerjan> !bf [-]>+[>,.]<[<]>[.>]
02:49:33 <oerjan> !ps
02:49:36 <EgoBot> 2 oerjan: bf
02:49:38 <EgoBot> 3 oerjan: ps
02:49:44 <oerjan> !i 2 Test
02:49:58 <GreaseMonkey> !daemon testes bf [-]>+[>,.]<[<]>[.>]
02:50:04 <GreaseMonkey> !testes pie is good :D
02:50:07 <oerjan> !eof 2
02:50:07 <EgoBot> pie is good :D
02:50:09 <EgoBot> Test
02:50:26 <GreaseMonkey> !undaemon testes
02:50:30 <EgoBot> Process 3 killed.
02:50:37 <Razor-X> You're so awesome EgoBot.
02:50:38 <oerjan> !ps
02:50:41 <EgoBot> 2 oerjan: ps
02:51:04 <GreaseMonkey> actually, for the cat one, shouldn't that be: +[,.] ?
02:51:12 <oerjan> that's weird, i thought it would repeat the message twice
02:51:24 <EgoBot> Thank you, oerjan.
02:51:46 <oerjan> i added the [-]+ to ensure it doesn't stop at eof
02:52:00 <oerjan> hm, that may not actually make sense.
02:52:05 <GreaseMonkey> it does
02:52:10 <Razor-X> I don't think EgoBot sends an eof ever.
02:52:13 <oerjan> i mean on NUL, although they are probably the same.
02:52:16 <GreaseMonkey> actually, +[,.+] would be more practical
02:52:29 <oerjan> no, that would stop on \255
02:52:35 <Razor-X> Yeah. How many people send NULs over IRC?
02:52:39 <GreaseMonkey> what does 255?
02:52:54 <GreaseMonkey> NUL is end of string
02:52:57 <oerjan> 255+1 = 0 (mod 256)
02:53:01 <GreaseMonkey>
02:53:08 <GreaseMonkey> !ps
02:53:12 <EgoBot> 2 GreaseMonkey: ps
02:53:21 <Razor-X> Actually, the end of a string on t3h intarweb is CR-LF.
02:53:30 <Razor-X> Err, that's newline.
02:53:31 <oerjan> although that could be avoid by using bf16 rather than bf8, i think
02:53:40 <GreaseMonkey> why doesn't it list daemons?
02:53:43 <oerjan> *avoided
02:53:46 <ihope> !ps d
02:53:50 <EgoBot> 1 oerjan: daemon cat bf
02:53:52 <EgoBot> 2 ihope: ps
02:53:53 <GreaseMonkey> oh
02:55:52 <oerjan> now why didn't [-]>+[>,.]<[<]>[.>] work? maybe it just didn't show up because EgoBot only gives one line of output
02:56:11 <GreaseMonkey> oops
02:56:18 <GreaseMonkey> take the . off ,.
02:56:43 <oerjan> oh, i thought you were doing it on purpose
02:57:43 <GreaseMonkey> !daemon act bf8 [-]>+[[>.]<[<]+.->[.>]+.-<[<]>+]
02:57:53 <oerjan> and that it should print it twice, which it strangely didn't
02:57:55 <GreaseMonkey> !act is sexy
02:58:08 <GreaseMonkey> !ps d
02:59:06 <oerjan> now you have no , in there
02:59:55 <oerjan> did we kill EgoBot again?
03:00:16 <GreaseMonkey> !daemon ctcp bf8 [-]>+[[>,]<[<]+.->[.>]+.-<[<]>+]
03:00:23 <GreaseMonkey> !ctcp ACTION is sexy
03:00:38 <GreaseMonkey> !ctcp ACTION likes pie
03:00:45 <GreaseMonkey> !undaemon ctcp
03:01:11 <oerjan> i think EgoBot is dead, the error in the act daemon caused it to produce an infinite number of NULs
03:01:40 <GreaseMonkey> k, how do we revive it?
03:02:10 <oerjan> that's the problem, if it crashed properly it would reload but it seems to be hanging
03:02:22 <oerjan> we wait for GregorR
03:04:36 <Razor-X> Awesome. This is a first.
03:04:38 <Razor-X> !ps
03:05:00 <Razor-X> Lucky people. All I've gotten to done is crash EgoBot.
03:05:08 <Razor-X> s/to //
03:05:10 <oerjan> actually it probably doesn't print just NULs but it does make approx 256*4 chars output
03:05:28 <Razor-X> 1024 chars.
03:06:56 <GreaseMonkey> e=mc^2, me=1337^2
03:07:55 <GreaseMonkey> !eat pie
03:08:00 <GreaseMonkey> or, as one said
03:08:04 <GreaseMonkey> !officer down
03:08:29 <GreaseMonkey> i think EgoBot is brainfucked
03:14:55 <RodgerTheGreat> it was bound to happen eventually
03:15:08 <RodgerTheGreat> it just went straight to his head
03:18:38 <GreaseMonkey> http://images.wikia.com/uncyclopedia/images/thumb/6/6c/Bass_player.JPG/250px-Bass_player.JPG
03:18:44 <GreaseMonkey> wait
03:18:45 <GreaseMonkey> http://uncyclopedia.org/wiki/Image:Bass_player.JPG
03:18:53 <GreaseMonkey> bass player :D
03:22:22 -!- ecl has joined.
03:22:27 -!- ecl has left (?).
03:32:09 <RodgerTheGreat> I find this tremendously entertaining: http://www.youtube.com/watch?v=1yeldaBkyxo&mode=related&search=
03:32:39 -!- ihope has quit (Connection timed out).
03:51:47 <GreaseMonkey> http://uncyclopedia.org/wiki/Brainfuck
03:54:32 <lament> hahaha
03:55:26 <GreaseMonkey> http://uncyclopedia.org/wiki/Classic_homecomputer_games
03:55:38 <GreaseMonkey> very hard to read though D:
04:02:12 <RodgerTheGreat> lol
04:03:25 <RodgerTheGreat> the words making up "Game Over" are priceless
04:04:15 <GreaseMonkey> updated my userpage: http://uncyclopedia.org/wiki/User:Thematrixeatsyou
04:04:26 <GreaseMonkey> note the Ego-C1 box
04:04:35 <GreaseMonkey> Have a look at the info
04:05:01 <RodgerTheGreat> aw. the main article for BF isn't a valid program. :'(
04:05:13 <GreaseMonkey> some of it is
04:08:13 <GreaseMonkey> it starts off with "Hello World! s!"
04:08:21 <RodgerTheGreat> caught that one
04:08:30 <RodgerTheGreat> but the rest appears to be gibberish
04:09:01 <GreaseMonkey> http://uncyclopedia.org/wiki/Image:FeatBrainFuck.png
04:09:21 <GreaseMonkey> i'll see if i can guess...
04:09:25 <RodgerTheGreat> lots of < overruns and a couple of unmatched []'s
04:10:03 <GreaseMonkey> k
04:10:06 <GreaseMonkey> !ps
04:10:08 <RodgerTheGreat> well, that image pretty much makes sense, because it uses every symbol once
04:10:15 <GreaseMonkey> yeah
04:10:41 <GreaseMonkey> cept it should be: +[>,]-<.
04:11:00 <RodgerTheGreat> yeah, then it'd actually do something..
04:11:09 <RodgerTheGreat> and be a valid program
04:11:34 <RodgerTheGreat> I kinda get the impression that the Brainfuck article wasn't made by people that actually knew how to code in it
04:11:44 <xor> GreaseMonkey highlighted meeeeeeeeeeee
04:11:50 <RodgerTheGreat> heh
04:13:10 <GreaseMonkey> for what?
04:13:36 <GreaseMonkey> oh, that WW thingy?
04:13:41 <xor> <GreaseMonkey> i've come up with an XOR gate in WireWorld that looks like it says XOR
04:14:45 <RodgerTheGreat> that's actually quite a cool accomplishment
04:15:22 <GreaseMonkey> xx
04:15:23 <GreaseMonkey> x x x xxxxxx
04:15:23 <GreaseMonkey> x xxx x
04:15:23 <GreaseMonkey> xxx x x x xx
04:15:26 <GreaseMonkey> x xxx xxxx
04:15:26 <GreaseMonkey> x x x x x x
04:15:26 <GreaseMonkey> xx x x x
04:15:27 <GreaseMonkey> x xx
04:16:12 * RodgerTheGreat squints
04:16:16 <xor> what's wireworld?
04:16:28 <RodgerTheGreat> a particle automaton
04:16:33 <GreaseMonkey> some weird "cellular automata"
04:16:42 <GreaseMonkey> particle automaton?
04:16:48 <GreaseMonkey> i didn't think it was
04:16:52 <RodgerTheGreat> like the game of life, only with different rules
04:17:19 <GreaseMonkey> 0 = background -> background
04:17:27 <GreaseMonkey> 1 = electron -> tail (2)
04:17:34 <GreaseMonkey> 2 = tail -> wire (3)
04:18:02 <RodgerTheGreat> if you think of wire as traversible space and electron heads and tails as particles, it's pretty easy to see it as a particle automaton, although cellular automaton is equally valid
04:18:05 <GreaseMonkey> 3 = wire -(if 1 or 2 electrons neighbouuring)-> electron (1)
04:19:15 <GreaseMonkey> that XOR gate is crashable though
04:19:40 * xor growls
04:19:44 <GreaseMonkey> the left side is input (the ones spawning off the +)
04:20:16 <GreaseMonkey> if you put an electron on the top input and then one cycle later put an electron on the bottom input it screws up
04:21:55 <GreaseMonkey> Roger: i should challenge you to making a wireworld trainset
04:22:35 <GreaseMonkey> i've made a T-junction and a reverser so far
04:25:16 <RodgerTheGreat> haha: http://uncyclopedia.org/wiki/BASIC_Interpreter
04:25:30 <RodgerTheGreat> a wireworld trainset?
04:25:49 <GreaseMonkey> yes
04:26:05 <RodgerTheGreat> not sure I follow you
04:26:06 <GreaseMonkey> one electron goes along a track
04:26:51 <GreaseMonkey> it can spawn more electrons if you need it to, but you must have a main electron going at all times
04:26:54 <RodgerTheGreat> my favorite part of the Basic interpreter article is this section:
04:26:56 <RodgerTheGreat> >SHUT THE **** UP!!!!!
04:26:56 <RodgerTheGreat> Programmer is profane
04:26:57 <RodgerTheGreat> Interpreter hates rude words
04:26:57 <RodgerTheGreat> Programmer should go away and die
04:27:06 <RodgerTheGreat> doesn't sound too hard...
04:35:07 <RodgerTheGreat> tomorrow's goal: revising the Uncyclopedia BF article in order to create a delightful combination of humor and factual accuracy! (all in pure BF, naturally)
04:35:57 <xor> put in bf code to generate a real article
04:36:18 <RodgerTheGreat> yeah, that's my idea
04:36:19 <GreaseMonkey> yes :D
04:36:39 <GreaseMonkey> perhaps the brevity article, encrypted? or the stub article, perhaps?
04:36:44 <RodgerTheGreat> I was going to do things like creating an accurate explanation of how BF works IN BF, etc
04:36:57 <RodgerTheGreat> nah, I think I'll just write it from scratch
04:37:39 <GreaseMonkey> you COULD spork the article off Wikipedia...
04:37:54 <RodgerTheGreat> that would generate a ludicrously huge article
04:38:09 <xor> one big !bf_txtgen
04:38:10 <RodgerTheGreat> and it wouldn't be that rewarding to people that bother to decode it
04:38:22 <RodgerTheGreat> It should be funny as well as informative,
04:38:39 <RodgerTheGreat> I'll draft the plaintext version tonight, and convert and post it tomorrow
04:41:11 <GreaseMonkey> with just a t-junction and a reverser, i can get something quite interesting :D
04:41:24 <GreaseMonkey> anyways, afk
04:41:51 <xor> !help
04:42:00 -!- GreaseMonkey has changed nick to AFKMonkey.
04:42:13 <xor> !bf_textgen hi
04:42:26 <xor> ...
04:43:04 <xor> where's EgoBot ?
04:43:21 <oerjan> we killed it a while ago
04:43:35 * oerjan points at GreaseMonkey
04:44:07 <oerjan> rather impressively, too, it hung instead of crashing and reloading
04:45:27 <RodgerTheGreat> gregor is probably going to kill someone. I'll make sure we have plenty of gauze and duct-tape in the first-aid cabinet.
05:09:53 -!- xor has changed nick to bsmntbombdood.
05:31:21 <AFKMonkey> k, im gonna watch a movie, cya
05:33:19 -!- AFKMonkey has quit.
06:11:15 -!- cmeme has quit (Excess Flood).
06:13:13 -!- Razor-X has quit (orwell.freenode.net irc.freenode.net).
06:13:13 -!- GregorR has quit (orwell.freenode.net irc.freenode.net).
06:13:13 -!- sp3tt has quit (orwell.freenode.net irc.freenode.net).
06:13:13 -!- dbc1 has quit (orwell.freenode.net irc.freenode.net).
06:13:13 -!- sekhmet has quit (orwell.freenode.net irc.freenode.net).
06:13:13 -!- Eidolos has quit (orwell.freenode.net irc.freenode.net).
06:13:15 -!- mtve has quit (orwell.freenode.net irc.freenode.net).
06:13:15 -!- EgoBot has quit (orwell.freenode.net irc.freenode.net).
06:13:15 -!- lindi- has quit (orwell.freenode.net irc.freenode.net).
06:13:16 -!- lament has quit (orwell.freenode.net irc.freenode.net).
06:13:17 -!- lindi- has joined.
06:13:17 -!- cmeme has joined.
06:13:22 -!- Razor-X has joined.
06:13:26 -!- EgoBot has joined.
06:13:39 -!- Eidolos has joined.
06:13:39 -!- mtve has joined.
06:13:54 -!- GregorR has joined.
06:14:01 -!- dbc has joined.
06:49:05 -!- clog has joined.
06:49:05 -!- clog has joined.
06:49:24 -!- CakeProphet has joined.
06:50:03 -!- pgimeno has joined.
06:52:06 -!- lindi- has joined.
06:52:15 -!- tokigun has joined.
06:52:18 -!- bsmntbombdood has joined.
06:52:23 -!- puzzlet has joined.
06:52:31 -!- SimonRC has joined.
06:52:42 -!- fizzie has joined.
07:16:28 <dbc> B'dar b'dee b'doo b'dah.
07:19:14 * RodgerTheGreat twitches
07:22:52 * bsmntbombdood laughs
07:38:20 -!- GreaseMonkey has joined.
07:38:46 <GreaseMonkey> netsplit huh?
07:42:50 <GreaseMonkey> hold on
07:42:57 -!- GreaseMonkey has left (?).
07:43:01 -!- GreaseMonkey has joined.
07:43:13 <GreaseMonkey> k.... wtf is with the topic?
07:43:51 -!- encoded has joined.
07:44:09 <GreaseMonkey> hey encoded, is there a topic?
07:44:16 -!- encoded has set topic: Read the principia discordia!.
07:44:19 <encoded> now there is
07:44:26 <GreaseMonkey> =D
07:45:39 -!- bsmntbombdood 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 - for brainfuck-specific discussion, go to ##brainfuck - http://esolangs.org/wiki/Adjudicated_Blind_Collaborative_Design_Esolang_Factory.
07:47:54 <bsmntbombdood> if encoded doesn't mind ;)
07:48:07 <encoded> pfft
07:48:18 <encoded> i thought this chan was about philosofy
07:48:25 <encoded> :p
07:48:30 <encoded> http://www.rabbithole.cc/cold.jpg
07:48:32 -!- encoded has left (?).
07:49:38 -!- Razor-X has joined.
07:50:02 <GreaseMonkey> !ps
07:50:05 <EgoBot> 2 GreaseMonkey: ps
07:50:12 <GreaseMonkey> he fixed it
07:50:37 <bsmntbombdood> !bf_textgen Welcome to the esoteric programming channel! Logs of previous discussions are available at http://meme.b9.com/clog/esoteric/?M=D
07:50:38 <GreaseMonkey> maybe i should daemon act bf +[.-.+]
07:50:39 <EgoBot> Huh?
07:50:47 <GreaseMonkey> !help
07:50:49 <bsmntbombdood> !bf_txtgen Welcome to the esoteric programming channel! Logs of previous discussions are available at http://meme.b9.com/clog/esoteric/?M=D
07:50:49 <EgoBot> help ps kill i eof flush show ls bf_txtgen usertrig daemon undaemon
07:50:51 <EgoBot> 1l 2l adjust axo bch bf{8,[16],32,64} funge93 fyb fybs glass glypho kipple lambda lazyk linguine malbolge pbrain qbf rail rhotor sadol sceql trigger udage01 unlambda whirl
07:51:04 <bsmntbombdood> !ps
07:51:07 <EgoBot> 2 bsmntbombdood: bf_txtgen
07:51:09 <EgoBot> 3 bsmntbombdood: ps
07:51:34 <bsmntbombdood> stupid genetic algo
07:52:22 <bsmntbombdood> ...
07:53:24 <bsmntbombdood> hurry up
07:53:31 <GreaseMonkey> tick tock tick frikkin tock
07:54:24 <GreaseMonkey> !daemon orly bf ++++++++++.+[,.-]
07:54:53 <EgoBot> PRIVMSG bsmntbombdood i wanna feel your body breaking... wanna feel your body breaking... and shaking... and left in the cold...
07:55:08 <bsmntbombdood> wtf!
07:55:09 <GreaseMonkey> damn
07:55:17 <GreaseMonkey> i was trying to send a PM to you :D
07:55:28 <GreaseMonkey> it's the lyrics of a dream theater (sic) song
07:55:34 <GreaseMonkey> !ps d
07:55:37 <EgoBot> 1 EgoBot: daemon cat reload
07:55:39 <EgoBot> 2 bsmntbombdood: bf_txtgen
07:55:41 <EgoBot> 3 GreaseMonkey: bf_txtgen
07:55:43 <EgoBot> 4 GreaseMonkey: daemon orly bf
07:55:45 <EgoBot> 5 GreaseMonkey: ps
07:55:53 <bsmntbombdood> gargh
07:55:53 <GreaseMonkey> !undaemon orly
07:55:55 <EgoBot> Process 4 killed.
07:56:22 <bsmntbombdood> !deamon cat bf +[>,.<]
07:56:25 <EgoBot> Huh?
07:56:32 <bsmntbombdood> !daemon cat bf +[>,.<]
07:56:41 <GreaseMonkey> now for "daemon act bf8 [-]>+[[>.]<[<]+.->[.>]+.-<[<]>+]"
07:56:46 <GreaseMonkey> hehe, jk
07:56:54 <bsmntbombdood> !cat i love you bsmntbombdood
07:56:55 <EgoBot> i love you bsmntbombdood
07:57:01 <bsmntbombdood> I love you too EgoBot
07:57:05 <GreaseMonkey> that was a frikkin disaster... did GregorR reset it?
07:57:17 <GreaseMonkey> or did it restore itself?
07:57:25 <EgoBot> i love you GreaseMonkey
07:58:31 <EgoBot> i love you a lot GreaseMonkey
07:58:44 <EgoBot> i love all of you
07:59:01 <EgoBot> let's have an orgy in #esoteric
07:59:36 <EgoBot> /me strips
07:59:54 <EgoBot> 1419 +++++++++++[>+++>+++>++++++++>++++++++++<<<<-]>>>-.++++++++++++++.+++++++.---------.++++++++++++.>-.--------.<<-.>>+++++++++++++++.<.<.>>.<<++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.>----------.<<-.>>.>-.----.+++++.<.>--.<<+.>--.<<.>>>--.++.---.<++++.<+++++++++.<+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.>>>--.<<-----.>>
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:00:00 <bsmntbombdood> bout time
08:00:07 <GreaseMonkey> you use \01ACTION strips\01
08:00:18 <GreaseMonkey> !pie
08:00:27 <GreaseMonkey> that should kill it
08:00:29 <GreaseMonkey> !pie ok
08:00:44 <GreaseMonkey> !undaemon pie
08:00:46 <EgoBot> Process 5 killed.
08:00:54 <GreaseMonkey> that many processes?!
08:00:57 <GreaseMonkey> !ps d
08:01:00 <EgoBot> 1 EgoBot: daemon cat reload
08:01:00 <bsmntbombdood> ooooooh
08:01:02 <EgoBot> 2 GreaseMonkey: ps
08:01:04 <EgoBot> 3 GreaseMonkey: bf_txtgen
08:01:06 <EgoBot> 4 bsmntbombdood: daemon cat bf
08:01:18 <bsmntbombdood> bf_txtgen is only 2.9 times longer
08:01:46 <GreaseMonkey> nice :D
08:02:44 <bsmntbombdood> !bf_txtgen Once upon a midnight dreary, while I pondered weak and weary, Over many a quaint and curious volume of forgotten lore, While I nodded, nearly napping, suddenly there came a tapping, As of some one gently rapping, rapping at my chamber door. `'Tis some visitor,' I muttered, `tapping at my chamber door - Only this, and nothing more.'
08:03:01 <bsmntbombdood> that is 333 chars
08:03:27 <bsmntbombdood> that will probably takes days
08:04:18 <GreaseMonkey> !daemon ctcp bf8 ---------[++++++++++.,----------]+.
08:04:30 <GreaseMonkey> !ctcp ACTION loves bsmntbombdood
08:04:32 * EgoBot loves bsmntbombdood
08:04:40 <GreaseMonkey> !ps d
08:04:44 <EgoBot> 1 EgoBot: daemon cat reload
08:04:46 <EgoBot> 2 bsmntbombdood: bf_txtgen
08:04:48 <EgoBot> 3 GreaseMonkey: ps
08:04:50 <EgoBot> 4 bsmntbombdood: daemon cat bf
08:05:09 <GreaseMonkey> i'm so 1337 :D
08:06:32 <GreaseMonkey> !daemon ctcp bf8 +[----------[++++++++++,----------]+.]
08:07:06 <GreaseMonkey> it's a slow daemon :(
08:07:15 <GreaseMonkey> !ps d
08:07:18 <EgoBot> 1 EgoBot: daemon cat reload
08:07:20 <EgoBot> 2 bsmntbombdood: bf_txtgen
08:07:22 <EgoBot> 3 GreaseMonkey: daemon ctcp bf8
08:07:24 <EgoBot> 4 bsmntbombdood: daemon cat bf
08:07:26 <EgoBot> 5 GreaseMonkey: ps
08:07:47 <GreaseMonkey> !undaemon ctcp
08:07:50 <EgoBot> Process 3 killed.
08:07:52 <EgoBot> <CTCP>
08:07:55 <bsmntbombdood> no more highlights!
08:08:09 <GreaseMonkey> !daemon ctcp bf8 +[----------[++++++++++,----------]+.++++++++++++.---.---------]
08:08:20 <EgoBot> <CTCP>
08:08:31 <GreaseMonkey> wtf that didn't work
08:08:53 <GreaseMonkey> !undaemon ctcp
08:08:54 <EgoBot> Process 3 killed.
08:08:59 <GreaseMonkey> !daemon ctcp bf8 +[----------[++++++++++.,----------]+.++++++++++++.---.---------]
08:09:10 <EgoBot> <CTCP>ACTION proclaims that GreaseMonkey is 1337<CTCP>
08:09:24 <EgoBot> <CTCP>ACTION likes this<CTCP>
08:09:28 <GreaseMonkey> not working :(
08:09:33 <GreaseMonkey> !undaemon ctcp
08:09:36 <EgoBot> Process 3 killed.
08:09:38 <EgoBot> <CTCP>
08:10:24 -!- cmeme has quit ("Client terminated by server").
08:10:27 <GreaseMonkey> !daemon ctcp bf8 +[----------[++++++++++.,----------]+.++++++++++++.---.---------]
08:10:39 <EgoBot> <CTCP>ACTION is being tested<CTCP>
08:10:49 <GreaseMonkey> tahts teh ghey
08:10:56 -!- cmeme has joined.
08:10:59 <GreaseMonkey> !undaemon ctcp
08:11:00 <EgoBot> <CTCP>
08:11:02 <EgoBot> Process 3 killed.
08:11:45 <GreaseMonkey> !daemon ctcp bf8 +[[-]---------[++++++++++.,----------]+.]
08:12:22 <GreaseMonkey> !ps d
08:12:24 <EgoBot> 1 EgoBot: daemon cat reload
08:12:26 <EgoBot> 2 bsmntbombdood: bf_txtgen
08:12:28 <EgoBot> 3 GreaseMonkey: daemon ctcp bf8
08:12:30 <EgoBot> 4 bsmntbombdood: daemon cat bf
08:12:32 <EgoBot> 5 GreaseMonkey: ps
08:13:24 <GreaseMonkey> !undaemon ctcp
08:13:26 * EgoBot is being tested<CTCP><CTCP>ACTION is hungry<CTCP><CTCP>ACTION won't work :(<CTCP>
08:13:28 <EgoBot> Process 3 killed.
08:13:45 <GreaseMonkey> !daemon ctcp bf8 ---------[++++++++++.,----------]+.
08:13:54 * EgoBot won't work :(
08:14:03 <GreaseMonkey> ok, THAT worked...
08:14:09 <GreaseMonkey> !ps d
08:14:12 <EgoBot> 1 EgoBot: daemon cat reload
08:14:14 <EgoBot> 2 bsmntbombdood: bf_txtgen
08:14:16 <EgoBot> 3 GreaseMonkey: ps
08:14:18 <EgoBot> 4 bsmntbombdood: daemon cat bf
08:14:47 <GreaseMonkey> !daemon ctcp bf8 ---------[++++++++++.,----------]+.+++++++++.
08:14:58 * EgoBot is hungry
08:15:11 -!- anonfunc has joined.
08:15:11 <GreaseMonkey> k, that passed...
08:15:16 <GreaseMonkey> !ps d
08:15:18 <EgoBot> 1 EgoBot: daemon cat reload
08:15:20 <EgoBot> 2 bsmntbombdood: bf_txtgen
08:15:22 <EgoBot> 3 GreaseMonkey: ps
08:15:24 <GreaseMonkey> hi anonfunc
08:15:25 <EgoBot> 4 bsmntbombdood: daemon cat bf
08:15:45 -!- cmeme has quit.
08:15:52 <anonfunc> hello
08:16:17 <GreaseMonkey> !daemon ctcp bf8 [[-]---------[++++++++++.,----------]+.+++++++++.,[-]+]
08:16:17 -!- cmeme has joined.
08:16:58 <GreaseMonkey> !undaemon ctcp
08:17:29 <GreaseMonkey> !ps d
08:17:40 <GreaseMonkey> i sure damn hope i didn't crash it again
08:18:02 * GreaseMonkey crashed EgoBot again
08:18:30 <GreaseMonkey> note the userbox: http://uncyclopedia.org/wiki/User:Thematrixeatsyou
08:20:12 <GreaseMonkey> oh, and the bf_txtgen has a limit to how big the string is
08:25:07 <GreaseMonkey> anyways, who's keen for a wireworld challenge? build a train set in wireworld :D
08:29:11 <GreaseMonkey> 0k, gonna have to get off, cya
08:31:13 -!- GreaseMonkey has quit ("!daemon act bf8 [-]>+[[>.]<[<]+.->[.>]+.-<[<]>+]").
08:47:12 -!- Sgeo has quit ("Ex-Chat").
08:48:16 -!- anonfunc has quit.
09:55:20 -!- EgoBot has quit (Read error: 104 (Connection reset by peer)).
09:55:23 -!- EgoBot has joined.
10:26:10 -!- jix has joined.
11:23:49 -!- anonfunc has joined.
12:53:23 -!- tgwizard has joined.
13:27:48 -!- ihope has joined.
13:28:06 -!- lindi- has quit (Read error: 131 (Connection reset by peer)).
13:28:22 -!- Asztal has joined.
13:29:24 -!- lindi- has joined.
14:21:29 -!- jix_ has joined.
14:30:08 -!- jix has quit (Read error: 110 (Connection timed out)).
16:45:48 -!- CakeProphet has quit ("haaaaaaaaaa").
16:46:24 <bsmntbombdood> !ps
16:46:26 <EgoBot> 1 bsmntbombdood: ps
16:46:34 <bsmntbombdood> !ps d
16:46:36 <EgoBot> 1 bsmntbombdood: ps
16:46:49 <bsmntbombdood> aaaaw what happened to my txtgen
18:16:23 <bsmntbombdood> !bf_txtgen Once upon a midnight dreary, while I pondered weak and weary, Over many a quaint and curious volume of forgotten lore
18:16:41 <bsmntbombdood> 117 chars
18:20:18 <EgoBot> 1178 ++++++++++[>+++>+++++++++++>++++++++>++++++++++++<<<<-]>>>-.<.>++++++++++++++++++++.++.<<++.>>>---.<<++.-.-.<.>>----.<<.>>>--------.----.<+++.++++++++++.<-----.>>--.+.<<+++++++++++.<.>----------------.>++++.<+.----.>.+++++++.<<++++++++++++.------------.>>--.>.+.+++.<<++++.<.>----------------------------.<.>>-------.<<+++++++++++++++++++++++++++++++++++++++++++++++++++++++++
18:23:54 <bsmntbombdood> 376 chars
18:25:55 <bsmntbombdood> 3.2 times bigger
18:26:27 <bsmntbombdood> !bf_txtgen While I nodded, nearly napping, suddenly there came a tapping, As of some one gently rapping, rapping at my chamber door. `'Tis some visitor,' I muttered, `tapping at my chamber door - Only this, and nothing more.'
18:33:25 <EgoBot> 2325 +++++++++++++[>+++>+++++++>++>++++++++<<<<-]>>----.>>.+.+++.-------.<++++++.<--------------.>.>+++++++++.+.-----------..+.-.<<<+++++.------------.>+++++++++++++++++++++++++++++++++++++.>+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.----.<++++.------.+++++++++++++.<.>-----------.>>---.<+++++++++++++++.>+++++++++++++++.<-------.+++++.-------.<<++++++++
18:33:28 -!- Sgeo has joined.
18:57:11 -!- |Ikarus| has joined.
19:01:18 -!- Asztal has quit ("Chatzilla 0.9.75 [IceWeasel 1.0.1b2] (kidding!)").
19:23:01 -!- |Ikarus| has quit (Read error: 110 (Connection timed out)).
19:48:05 -!- Sgeo has quit ("Ex-Chat").
20:33:13 -!- Sgeo has joined.
21:10:49 -!- GreaseMonkey has joined.
21:39:43 <GreaseMonkey> >>>+[[-]>>[-]++>+>+++++++[<++++>>++<-]++>>+>+>+++++[>++>++++++<<-]+>>>,<++[[>[
21:39:43 <GreaseMonkey> ->>]<[>>]<<-]<[<]<+>>[>]>[<+>-[[<+>-]>]<[[[-]<]++<-[<+++++++++>[<->-]>>]>>]]<<
21:39:44 <GreaseMonkey> ]<]<[[<]>[[>]>>[>>]+[<<]<[<]<+>>-]>[>]+[->>]<<<<[[<<]<[<]+<<[+>+<<-[>-->+<<-[>
21:39:44 <GreaseMonkey> +<[>>+<<-]]]>[<+>-]<]++>>-->[>]>>[>>]]<<[>>+<[[<]<]>[[<<]<[<]+[-<+>>-[<<+>++>-
21:39:44 <GreaseMonkey> [<->[<<+>>-]]]<[>+<-]>]>[>]>]>[>>]>>]<<[>>+>>+>>]<<[->>>>>>>>]<<[>.>>>>>>>]<<[
21:39:44 <GreaseMonkey> >->>>>>]<<[>,>>>]<<[>+>]<<[+<<]<]
21:39:48 <GreaseMonkey> oops, not like that
21:40:06 <GreaseMonkey> !help
21:40:10 <EgoBot> help ps kill i eof flush show ls bf_txtgen usertrig daemon undaemon
21:40:11 <EgoBot> 1l 2l adjust axo bch bf{8,[16],32,64} funge93 fyb fybs glass glypho kipple lambda lazyk linguine malbolge pbrain qbf rail rhotor sadol sceql trigger udage01 unlambda whirl
21:40:18 <GreaseMonkey> !daemon extrabf bf8 >>>+[[-]>>[-]++>+>+++++++[<++++>>++<-]++>>+>+>+++++[>++>++++++<<-]+>>>,<++[[>[->>]<[>>]<<-]<[<]<+>>[>]>[<+>-[[<+>-]>]<[[[-]<]++<-[<+++++++++>[<->-]>>]>>]]<<]<]<[[<]>[[>]>>[>>]+[<<]<[<]<+>>-]>[>]+[->>]<<<<[[<<]<[<]+<<[+>+<<-[>-->+<<-[>+<[>>+<<-]]]>[<+>-]<]++>>-->[>]>>[>>]]<<[>>+<[[<]<]>[[<<]<[<]+[-<+>>-[<<+>++>-[<->[<<+>>-]]]<[>+<-]>]>[>]>]>[>>]>>]<<[>>+>>+>>]<<[->>>>>>>>]<<[>.>>>>>>>]<<[>->>>>>]<<[>,>>>]<<
21:40:25 <GreaseMonkey> !ps d
21:40:27 <EgoBot> 1 GreaseMonkey: ps
21:41:02 <GreaseMonkey> !extrabf ++++++++[>+++++++++<-].+.!
21:41:03 -!- EgoBot has quit (Read error: 104 (Connection reset by peer)).
21:41:16 <GreaseMonkey> ok, what happened?
21:41:27 <GreaseMonkey> buffer overrun?
21:41:33 -!- EgoBot has joined.
21:42:00 <GreaseMonkey> !daemon extrabf bf8 >>>+[[-]>>[-]++>+>+++++++[<++++>>++<-]++>>+>+>+++++[>++>++++++<<-]+>>>,<++[[>[->>]<[>>]<<-]<[<]<+>>[>]>[<+>-[[<+>-]>]<[[[-]<]++<-[<+++++++++>[<->-]>>]>>]]<<]<]<[[<]>[[>]>>[>>]+[<<]<[<]<+>>-]>[>]+[->>]<<<<[[<<]<[<]+<<[+>+<<-[>-->+<<-[>+<[>>+<<-]]]>[<+>-]<]++>>-->[>]>>[>>]]<<[>>+<[[<]<]>[[<<]<[<]+[-<+>>-[<<+>++>-[<->[<<+>>-]]]<[>+<-]>]>[>]>]>[>>]>>]<<[>>+>>+>>]<<[->>>>>>>>]<<[>.>>>>>>>]<<[>->>>>>]<<[>+>>>]<<
21:42:11 <GreaseMonkey> !extrabf ++++++++[>+++++++++<-].+.!
21:42:12 -!- EgoBot has quit (Read error: 104 (Connection reset by peer)).
21:42:14 <GreaseMonkey> yep :D
21:42:20 <GreaseMonkey> better not do that
21:42:42 -!- EgoBot has joined.
21:42:58 <GreaseMonkey> i think this'll root it: +++[>+++]
21:43:25 <GreaseMonkey> !daemon bf8 pie +++[>+++]
21:43:29 <EgoBot> Huh?
21:43:30 <GreaseMonkey> !pie cheese
21:43:32 <EgoBot> Huh?
21:43:42 <GreaseMonkey> !daemon pie bf8 +++[>+++]
21:43:47 <GreaseMonkey> !pie cheese
21:43:48 -!- EgoBot has quit (Read error: 104 (Connection reset by peer)).
21:44:07 <GreaseMonkey> then again, FukYorBrayne crashes too, and that's coded by Gregor
21:44:19 -!- EgoBot has joined.
21:44:32 <GreaseMonkey> !ps d
21:44:35 <EgoBot> 1 GreaseMonkey: ps
21:48:42 <GreaseMonkey> !daemon cat bf8 ++++++++[>++++++++++++++<-]>[>+>+>+>+<<<<-]>--->----------->->+++++++>++++++++++>[-]+[[,----------]<[<]>[.>][-]+]
21:48:52 <GreaseMonkey> !cat i like pie
21:48:55 <EgoBot> i like pie
21:49:02 <GreaseMonkey> !ps d
21:49:05 <EgoBot> 1 GreaseMonkey: daemon cat bf8
21:49:07 <EgoBot> 2 GreaseMonkey: ps
21:49:13 <GreaseMonkey> !undaemon cat
21:49:15 <EgoBot> Process 1 killed.
21:49:19 <GreaseMonkey> !cat foo
21:49:21 <EgoBot> Huh?
21:49:27 <GreaseMonkey> !daemon cat bf8 ++++++++[>++++++++++++++<-]>[>+>+>+>+<<<<-]>--->----------->->+++++++>++++++++++>[-]+[[,----------]<[<]>[.>][-]+]
21:49:33 <GreaseMonkey> !cat foo
21:49:35 <EgoBot> foo
21:49:41 <GreaseMonkey> bugger
21:49:43 <GreaseMonkey> !undaemon cat
21:49:45 <EgoBot> Process 1 killed.
21:49:49 <GreaseMonkey> !daemon kitten bf8 ++++++++[>++++++++++++++<-]>[>+>+>+>+<<<<-]>--->----------->->+++++++>++++++++++>[-]+[[,----------]<[<]>[.>][-]+]
21:49:56 <GreaseMonkey> !kitten pie
21:49:59 <EgoBot> meow
21:50:29 <GreaseMonkey> so if i assign anything to cat, it'll just use the default cat program
21:50:33 <GreaseMonkey> bummer :(
21:51:05 <GreaseMonkey> ok this is getting boring
21:51:06 <GreaseMonkey> !kitten
21:51:09 <EgoBot> meow
21:51:39 <GreaseMonkey> !bf8 +[>+]
21:51:51 <EgoBot> realloc: Cannot allocate memory
21:52:03 <GreaseMonkey> !bf8 +++[>[-]+++]
21:52:14 <GreaseMonkey> !ps
21:52:18 <EgoBot> 2 GreaseMonkey: bf8
21:52:20 <EgoBot> 3 GreaseMonkey: ps
21:52:31 <EgoBot> realloc: Cannot allocate memory
21:52:45 <GreaseMonkey> !daemon pie bf8 +[>+]
21:52:59 <EgoBot> realloc: Cannot allocate memory
21:53:04 <GreaseMonkey> !ps d
21:53:07 <EgoBot> 1 GreaseMonkey: daemon kitten bf8
21:53:09 <EgoBot> 2 GreaseMonkey: ps
21:53:20 <GreaseMonkey> !daemon cheese bf8 +[>[-]+]
21:53:22 <GreaseMonkey> !cheese foo
21:53:23 -!- jix_ has quit ("Bitte waehlen Sie eine Beerdigungnachricht").
21:53:37 <EgoBot> realloc: Cannot allocate memory
21:53:47 <GreaseMonkey> !kitten foo
21:53:50 <EgoBot> meow
21:53:51 <GreaseMonkey> !ls
21:53:54 <EgoBot> bf/, glass/, linguine/
21:54:01 <GreaseMonkey> !ls bf
21:54:04 <EgoBot> LostKng.b, numwarp.b
21:55:22 <GreaseMonkey> !ps d
21:55:26 <EgoBot> 1 GreaseMonkey: daemon kitten bf8
21:55:28 <EgoBot> 2 GreaseMonkey: ps
21:55:38 <GreaseMonkey> !undaemon kitten
21:55:40 <EgoBot> Process 1 killed.
21:56:29 <GreaseMonkey> !daemon pie bf8 +++[>+++]
21:56:31 <GreaseMonkey> !pie cheese
21:56:44 <EgoBot> realloc: Cannot allocate memory
21:57:06 <GreaseMonkey> !daemon pie bf8 +++[>>>>>>>>>>>>>>>>>>>+++]
21:57:09 <EgoBot> realloc: Cannot allocate memory
21:57:21 <GreaseMonkey> !daemon pie bf8 >+++[<+++]
21:57:32 <GreaseMonkey> !ps d
21:57:36 <EgoBot> 1 GreaseMonkey: ps
21:59:30 <GreaseMonkey> why do you have a link to "http://esolangs.org/wiki/Adjudicated" when it doesn't work?
22:02:28 <GreaseMonkey> !daemon kitten bf8 ++++++++[>++++++++++++++<-]>[>+>+>+>+<<<<-]>--->----------->->+++++++>++++++++++>[-]+[[,----------]<[<]>[.>][-]+]
22:05:07 <GreaseMonkey> k, so we got two people stupid enough to use mIRC (including me), a pissload of people using good ol' irssi and the lovely xchat, some using stuff i've never even heard of, one using hydraIRC, and two people stupid enough to own macs.
22:05:21 <GreaseMonkey> wait, make that three
22:09:04 <RodgerTheGreat> when you type insults to mac users, what you're really saying is "I feel insecure about my choice of operating system"
22:14:46 <GreaseMonkey> hey, i've got linux, it's just that my distro won't detect my network card
22:15:22 <GreaseMonkey> meh sod it, i should just nuke my mandrake partition and stick something else on. so many choices....
22:16:46 <GreaseMonkey> i've got: mandrake 10.0 (network problems), fedora core 3 (sound problems D: ), ubuntu... something, morphix (modular distro - uses Gnome (eek!)), amd probably a few others
22:16:50 <GreaseMonkey> s/amd/and
22:27:19 -!- beasty has joined.
22:27:30 -!- beasty has left (?).
22:34:43 <GreaseMonkey> when you try to be philosophical about someone stating something generic, what you're really saying is "be nice to be :("
22:34:51 <GreaseMonkey> *me
22:36:43 <GreaseMonkey> RTG: how's your wireworld trainset going?
22:37:00 <GreaseMonkey> i'll give you one of my most useful designs:
22:38:26 <GreaseMonkey> 1
22:38:27 <GreaseMonkey> x x
22:38:27 <GreaseMonkey> xxx
22:38:27 <GreaseMonkey> x x x
22:38:30 <GreaseMonkey> x x
22:38:30 <GreaseMonkey> xxxxx
22:38:30 <GreaseMonkey> x x
22:38:30 <GreaseMonkey> 2 3
22:38:43 <GreaseMonkey> 1->3, 2->3, 3->2
23:14:45 <bsmntbombdood> !help
23:14:49 <EgoBot> help ps kill i eof flush show ls bf_txtgen usertrig daemon undaemon
23:14:51 <EgoBot> 1l 2l adjust axo bch bf{8,[16],32,64} funge93 fyb fybs glass glypho kipple lambda lazyk linguine malbolge pbrain qbf rail rhotor sadol sceql trigger udage01 unlambda whirl
23:15:19 <bsmntbombdood> !bf16 -[>-]
23:15:27 <EgoBot> realloc: Cannot allocate memory
23:15:33 <bsmntbombdood> yay!
23:19:39 <bsmntbombdood> !bf -[+>+<-]
23:20:27 -!- lindi- has left (?).
23:20:48 <bsmntbombdood> !bf +[]
23:22:15 <GreaseMonkey> i screwed it up
23:22:27 <GreaseMonkey> by accident first
23:23:09 <GreaseMonkey> it was because i kept doing this, which crashed it a few times: !daemon pie bf8 +++[>+++]
23:23:37 <bsmntbombdood> just uses infinite memory...
23:25:10 -!- CakeProphet has joined.
23:25:20 <GreaseMonkey> !bf +[.]
23:25:29 <GreaseMonkey> !ps
23:25:31 <EgoBot> 2 bsmntbombdood: bf
23:25:34 <EgoBot> 3 bsmntbombdood: bf
23:25:36 <EgoBot> 4 GreaseMonkey: bf
23:25:38 <EgoBot> 5 GreaseMonkey: ps
23:25:51 <GreaseMonkey> !bf +[.-.+]
23:26:13 <GreaseMonkey> !ps
23:26:16 <EgoBot> 2 bsmntbombdood: bf
23:26:18 <EgoBot> 3 bsmntbombdood: bf
23:26:19 <EgoBot> 4 GreaseMonkey: bf
23:26:21 <EgoBot> 5 GreaseMonkey: bf
23:26:24 <EgoBot> 6 GreaseMonkey: ps
23:26:24 <GreaseMonkey> !daemon p bf +[.-.+]
23:26:39 <GreaseMonkey> i have to rig it as a daemon to freeze it
23:26:47 <GreaseMonkey> !ps d
23:26:50 <EgoBot> 1 GreaseMonkey: daemon kitten bf8
23:26:52 <EgoBot> 2 bsmntbombdood: bf
23:26:54 <EgoBot> 3 bsmntbombdood: bf
23:26:56 <EgoBot> 4 GreaseMonkey: bf
23:26:58 <EgoBot> 5 GreaseMonkey: bf
23:27:00 <EgoBot> 6 GreaseMonkey: daemon p bf
23:27:02 <EgoBot> 7 GreaseMonkey: ps
23:27:06 <GreaseMonkey> !undaemon p
23:27:08 <EgoBot> Process 6 killed.
23:27:10 <EgoBot> <CTCP>
23:27:28 <bsmntbombdood> !bf +[>+.<]
23:27:32 <EgoBot> <CTCP>
23:27:38 <GreaseMonkey> !daemon bf8 p +[.+++++++++.[-]+]
23:28:03 <GreaseMonkey> !ps d
23:28:03 -!- EgoBot has quit (Excess Flood).
23:28:12 <GreaseMonkey> good on ya XD
23:28:28 -!- cmeme has quit ("Client terminated by server").
23:28:35 -!- EgoBot has joined.
23:28:51 <bsmntbombdood> man I can never think of clever ways to kill EgoBot
23:28:59 -!- cmeme has joined.
23:29:26 <GreaseMonkey> !daemon bf8 p ,>+++++++++<[.>.<]
23:29:29 <EgoBot> Huh?
23:29:37 <GreaseMonkey> !daemon p bf8 ,>+++++++++<[.>.<]
23:29:42 <GreaseMonkey> !p D
23:29:42 -!- EgoBot has quit (Read error: 104 (Connection reset by peer)).
23:30:13 -!- EgoBot has joined.
23:30:20 <GreaseMonkey> tried to make it print the same letter over and over and over and over and over and over and over and over and over and over and over and over and over and over and over and over and over and over and over and over and over and over and over and while(1){over and } again
23:30:38 <GreaseMonkey> !daemon p bf8 ,>+++++++++<[.>.<]
23:30:49 <GreaseMonkey> !p Crashies
23:30:49 -!- EgoBot has quit (Read error: 104 (Connection reset by peer)).
23:31:01 <GreaseMonkey> ill just use my old one
23:31:03 <bsmntbombdood> hmmm, scheme-omega
23:31:20 -!- EgoBot has joined.
23:31:51 <GreaseMonkey> continue operation GregorRichardsKeepsProducingCrashyCode
23:32:01 <GreaseMonkey> i still like this one:
23:32:03 <GreaseMonkey> !daemon bf8 p +[.+++++++++.[-]+]
23:32:06 <EgoBot> Huh?
23:32:19 <GreaseMonkey> !daemon p bf8 +[.+++++++++.[-]+]
23:32:27 <GreaseMonkey> wait
23:32:33 <GreaseMonkey> !daemon q bf8 +[.+++++++++.[-]+]
23:32:35 <bsmntbombdood> i don't get it
23:32:38 <GreaseMonkey> !daemon r bf8 +[.+++++++++.[-]+]
23:32:41 <GreaseMonkey> !daemon s bf8 +[.+++++++++.[-]+]
23:32:43 <GreaseMonkey> !daemon t bf8 +[.+++++++++.[-]+]
23:32:45 <GreaseMonkey> !ps d
23:32:48 <EgoBot> 1 GreaseMonkey: ps
23:33:23 <GreaseMonkey> !ps d
23:33:26 <EgoBot> 1 GreaseMonkey: ps
23:33:29 <GreaseMonkey> !undaemon p
23:33:31 <EgoBot> Process 1 killed.
23:33:31 <GreaseMonkey> !undaemon q
23:33:32 <GreaseMonkey> !undaemon r
23:33:33 <GreaseMonkey> !undaemon s
23:33:34 <GreaseMonkey> !undaemon t
23:33:35 <EgoBot> Process 1 killed.
23:33:36 <EgoBot> Process 1 killed.
23:33:38 <EgoBot> Process 1 killed.
23:33:41 <EgoBot> Process 1 killed.
23:35:17 <GreaseMonkey> !daemon f bf8 [-]----------[++++++++++>,----------]<[[<]>[.>]<]
23:35:23 <GreaseMonkey> !f flood like crazy
23:35:24 -!- EgoBot has quit (Read error: 131 (Connection reset by peer)).
23:35:43 <GreaseMonkey> that's the third error code for "Connection reset by peer"
23:35:54 -!- EgoBot has joined.
23:36:10 <GreaseMonkey> !daemon a bf8 +[,]
23:36:12 <GreaseMonkey> !daemon b bf8 +[,]
23:36:15 <GreaseMonkey> !daemon c bf8 +[,]
23:36:17 <GreaseMonkey> !daemon d bf8 +[,]
23:36:20 <GreaseMonkey> !daemon e bf8 +[,]
23:36:23 <GreaseMonkey> !ps d
23:36:26 <EgoBot> 1 EgoBot: daemon kitten reload
23:36:28 <EgoBot> 2 GreaseMonkey: daemon b bf8
23:36:30 <EgoBot> 3 GreaseMonkey: daemon c bf8
23:36:32 <EgoBot> 4 GreaseMonkey: daemon d bf8
23:36:34 <EgoBot> 5 GreaseMonkey: daemon e bf8
23:36:36 <EgoBot> 6 GreaseMonkey: ps
23:36:47 <GreaseMonkey> !ps d
23:36:50 <EgoBot> 1 EgoBot: daemon kitten reload
23:36:52 <EgoBot> 2 GreaseMonkey: daemon b bf8
23:36:54 <EgoBot> 3 GreaseMonkey: daemon c bf8
23:36:56 <EgoBot> 4 GreaseMonkey: daemon d bf8
23:36:58 <EgoBot> 5 GreaseMonkey: daemon e bf8
23:37:00 <EgoBot> 6 GreaseMonkey: ps
23:37:04 <GreaseMonkey> !kitten foo
23:37:06 <GreaseMonkey> !ps d
23:37:07 <EgoBot> meow
23:37:08 <EgoBot> 1 EgoBot: daemon kitten reload
23:37:10 <EgoBot> 2 GreaseMonkey: daemon b bf8
23:37:13 <EgoBot> 3 GreaseMonkey: daemon c bf8
23:37:14 <GreaseMonkey> !undaemon a
23:37:14 <EgoBot> 4 GreaseMonkey: daemon d bf8
23:37:15 <GreaseMonkey> !undaemon b
23:37:16 <EgoBot> 5 GreaseMonkey: daemon e bf8
23:37:16 <GreaseMonkey> !undaemon c
23:37:18 <GreaseMonkey> !undaemon d
23:37:18 <EgoBot> 6 GreaseMonkey: ps
23:37:19 <GreaseMonkey> !undaemon e
23:37:20 <EgoBot> Process 2 killed.
23:37:22 <EgoBot> Process 2 killed.
23:37:24 <EgoBot> Process 3 killed.
23:37:26 <EgoBot> Process 4 killed.
23:37:28 <GreaseMonkey> !undaemon kitten
23:37:28 <EgoBot> Process 5 killed.
23:37:30 <EgoBot> Process 1 killed.
23:37:51 <GreaseMonkey> !daemon a bf8 +[,.+]
23:37:54 <GreaseMonkey> !daemon b bf8 +[,.+]
23:37:56 <GreaseMonkey> !daemon c bf8 +[,.+]
23:37:58 <GreaseMonkey> !daemon d bf8 +[,.+]
23:37:59 <GreaseMonkey> !daemon e bf8 +[,.+]
23:38:09 <GreaseMonkey> !a i like pie
23:38:10 <GreaseMonkey> !b i like pie
23:38:12 <EgoBot> i like pie
23:38:15 <EgoBot> i like pie
23:38:16 <GreaseMonkey> !c fidsaf
23:38:18 <EgoBot> fidsaf
23:38:19 <GreaseMonkey> !d fdal
23:38:21 <GreaseMonkey> !e adsflkj
23:38:22 <GreaseMonkey> !ps d
23:38:22 <EgoBot> fdal
23:38:24 <EgoBot> adsflkj
23:38:26 <EgoBot> 1 GreaseMonkey: daemon a bf8
23:38:28 <EgoBot> 2 GreaseMonkey: daemon b bf8
23:38:30 <EgoBot> 3 GreaseMonkey: daemon c bf8
23:38:31 <GreaseMonkey> !daemon f +[,..+]
23:38:32 <EgoBot> 4 GreaseMonkey: daemon d bf8
23:38:34 <EgoBot> 5 GreaseMonkey: daemon e bf8
23:38:36 <GreaseMonkey> !f bofsadjfo
23:38:36 <EgoBot> 6 GreaseMonkey: e
23:38:38 <GreaseMonkey> !f bofsasadfhsak
23:38:38 <EgoBot> 7 GreaseMonkey: ps
23:38:40 <EgoBot> Huh?
23:38:42 <EgoBot> Huh?
23:38:49 <GreaseMonkey> !daemon f bf8 +[,..+]
23:38:51 <GreaseMonkey> !f fdsiuhlj
23:38:52 <GreaseMonkey> !f fdsiuhlj
23:38:52 <GreaseMonkey> !f fdsiuhlj
23:38:54 <EgoBot> ffddssiiuuhhlljj
23:38:58 <EgoBot> ffddssiiuuhhlljj
23:39:01 <GreaseMonkey> !ps d
23:39:02 <GreaseMonkey> !f fdsiuhlj
23:39:03 <GreaseMonkey> !f fdsiuhlj
23:39:04 <EgoBot> 1 GreaseMonkey: daemon a bf8
23:39:06 <EgoBot> 2 GreaseMonkey: daemon b bf8
23:39:09 <EgoBot> 3 GreaseMonkey: daemon c bf8
23:39:10 <EgoBot> 4 GreaseMonkey: daemon d bf8
23:39:12 <EgoBot> 5 GreaseMonkey: daemon e bf8
23:39:14 <EgoBot> 6 GreaseMonkey: daemon f bf8
23:39:16 <EgoBot> 7 GreaseMonkey: ps
23:39:19 <EgoBot> ffddssiiuuhhlljj
23:39:32 <GreaseMonkey> !undaemon a
23:39:34 <GreaseMonkey> !undaemon b
23:39:34 <EgoBot> Process 1 killed.
23:39:35 <GreaseMonkey> !undaemon c
23:39:36 <GreaseMonkey> !undaemon d
23:39:36 <EgoBot> Process 2 killed.
23:39:37 <GreaseMonkey> !undaemon
23:39:38 <GreaseMonkey> !undaemon e
23:39:38 <EgoBot> Process 3 killed.
23:39:40 <GreaseMonkey> !undaemon f
23:39:40 <EgoBot> Process 4 killed.
23:39:43 <EgoBot> Process 5 killed.
23:39:44 <EgoBot> Process 6 killed.
23:39:57 <GreaseMonkey> excess flood is the preferred option
23:40:15 <GreaseMonkey> total lockup is the most frustrating option
23:40:22 <GreaseMonkey> !ps d
23:40:24 <EgoBot> 1 GreaseMonkey: ps
23:41:03 <GreaseMonkey> !daemon a ,>++++++++++<[.>+-.<]
23:41:06 <GreaseMonkey> !daemon b ,>++++++++++<[.>+-.<]
23:41:08 <GreaseMonkey> !daemon c ,>++++++++++<[.>+-.<]
23:41:10 <GreaseMonkey> !a pie
23:41:12 <EgoBot> Huh?
23:41:13 <GreaseMonkey> !b cheese
23:41:15 <GreaseMonkey> !c cookie
23:41:17 <EgoBot> Huh?
23:41:18 <EgoBot> Huh?
23:41:21 <GreaseMonkey> !daemon a bf8 ,>++++++++++<[.>+-.<]
23:41:25 <GreaseMonkey> !daemon b bf8 ,>++++++++++<[.>+-.<]
23:41:27 <GreaseMonkey> !daemon c bf8 ,>++++++++++<[.>+-.<]
23:41:30 <GreaseMonkey> !a apple
23:41:32 <GreaseMonkey> !b banana
23:41:34 <GreaseMonkey> !c cookie
23:42:01 <GreaseMonkey> !ps d
23:42:15 <GreaseMonkey> I hung it again, didn't I?
23:47:50 <GreaseMonkey> yep :P
23:48:38 -!- tgwizard has quit (Remote closed the connection).
2006-11-27
00:41:25 * SimonRC makes the leap of faith
00:41:32 <bsmntbombdood> ?
00:41:55 <SimonRC> I am hoping that this Ubuntu upgrade is not going to uninstall my x server or anything stupid like that.
00:42:24 <SimonRC> openoffice.org2 is being replaced by openoffice.org
00:42:31 <SimonRC> which is also alarming
00:43:58 <GreaseMonkey> wtf?
00:44:36 * SimonRC is upgrading Ubuntu.
00:45:39 <SimonRC> I though: "Hey! I'm still using 'Daft Drake' or whatever it's called. I'll upgrade to Edgy Eft."
00:45:46 <SimonRC> s/Daft/Dapper/
01:12:22 <ihope> You forgot the name "Dapper Drake"? How'd you manage that?
01:12:25 <ihope> :-P
01:16:58 <bsmntbombdood> damn daft
01:19:08 <GreaseMonkey> referring to http://rodger.shadowarts.org/files/Handgrenade.txt , can the program counter be set directly?
01:20:57 <GreaseMonkey> as in: 0000: 05 00 02 01
01:21:25 <GreaseMonkey> 0500: set A to 00, 0201: set register 01 (Program Counter) to A
01:22:32 -!- wooby has joined.
01:22:37 -!- wooby has quit (Remote closed the connection).
01:22:47 <bsmntbombdood> what's the difference between 01 and 05?
01:24:29 <GreaseMonkey> each command goes XX YY, where XX is the opcode and YY is the supplied value
01:24:37 <bsmntbombdood> i know
01:24:40 <bsmntbombdood> I read
01:24:53 <GreaseMonkey> please rephrase the question
01:25:01 <bsmntbombdood> what's the difference between "01 xx" and "05 xx"
01:26:16 -!- wooby has joined.
01:26:36 <GreaseMonkey> oh
01:26:55 <GreaseMonkey> 01 xx: set A(reg 00) to reg XX
01:27:04 <GreaseMonkey> 05 xx: set A(reg 00) to value XX
01:27:27 <bsmntbombdood> so 01 copies a pointer, 05 copies a value?
01:27:55 <GreaseMonkey> 01 copies a REGISTER, 05 copies a value.
01:28:14 <bsmntbombdood> I don't get it
01:28:27 -!- ihope_ has joined.
01:28:37 <GreaseMonkey> like:
01:28:38 <GreaseMonkey> 01 xx: MOV R00,Rxx
01:28:46 <GreaseMonkey> 05 xx: MOV R00,xx
01:29:02 <GreaseMonkey> there is no MOV R00,[xx]
01:29:28 <GreaseMonkey> that's intel syntax apart from the register values
01:29:44 <RodgerTheGreat> I never actually finished that spec...
01:30:03 <bsmntbombdood> i still don't get it
01:31:24 <bsmntbombdood> 01 xx
01:31:27 <bsmntbombdood> 03 00
01:31:40 <bsmntbombdood> that increments A and xx?
01:33:15 <RodgerTheGreat> that command actually ignores it's parameter (wasteful, and I was going to change it)
01:33:24 <bsmntbombdood> i know
01:34:01 <RodgerTheGreat> what brought this up in the first place?
01:34:16 <bsmntbombdood> dunno, GreaseMonkey mentioned it
01:35:27 <RodgerTheGreat> it was originally going to be the language spec for a programming combat game that we never really got around to implementing. Something kinda like RoboWars, if you've ever played it.
01:35:42 <bsmntbombdood> The idea seems interesting
01:36:13 <RodgerTheGreat> there are games like it in existence. I thought it would be a fun game to code for PalmOS
01:37:40 <bsmntbombdood> what's P?
01:38:08 <RodgerTheGreat> read the top section of the file
01:38:28 <bsmntbombdood> oops
01:39:46 <RodgerTheGreat> and I'm not sure I remember what the difference between 01 and 05 was supposed to be.
01:42:20 <GreaseMonkey> you said : 05 - Set A to *value* X
01:42:30 <GreaseMonkey> it's an 8-bit spec
01:42:45 <RodgerTheGreat> Oh, yeah- a literal set, rather than a copy
01:42:55 <RodgerTheGreat> makes sense now
01:42:58 <bsmntbombdood> huh?
01:43:06 <GreaseMonkey> yep
01:43:25 <GreaseMonkey> OK, if, at 0000, I do: 05 00 02 01
01:43:26 -!- calamari has joined.
01:43:32 <GreaseMonkey> does it set the program counter?
01:43:37 <calamari> hi
01:43:40 <GreaseMonkey> hi
01:44:05 <RodgerTheGreat> yeah, that's correct
01:44:06 <GreaseMonkey> reg 01 is the program counter, so what happens if i set it DIRECTLY?
01:44:21 <GreaseMonkey> does it jump?
01:44:26 <RodgerTheGreat> effectively
01:44:50 <RodgerTheGreat> the system increments after each program step, so you actually want to jump to the address before the one you want
01:45:00 <RodgerTheGreat> er.. yeah
01:45:04 <RodgerTheGreat> I think that made sense
01:45:16 <GreaseMonkey> k
01:45:21 -!- ihope has quit (Connection timed out).
01:45:58 <GreaseMonkey> you should hvae some external code loader because 128 instructions is impractical for anything big but it could fit a code loader
01:46:43 <RodgerTheGreat> possibly
01:47:33 <RodgerTheGreat> the game centered around the idea of creating very lightweight, fast programs, so I was doing some work on refining the instruction set to make it easier to use for that purpose
01:48:13 <RodgerTheGreat> 128 instructions is small for something useful, like a program, but reasonably large for a simple bot AI
01:48:28 <GreaseMonkey> eg: F0 - load page A (64-byte pages) at location 00
01:48:45 <GreaseMonkey> F1 = load at loc 40, F2 = at loc 80, F3 = at loc C0
01:48:46 <RodgerTheGreat> as I said, the spec was still under a fair amount of development
01:48:49 <RodgerTheGreat> yeah
01:48:51 <GreaseMonkey> yeah
01:49:22 <RodgerTheGreat> a memory paging system could work pretty well for this type of setup
01:49:33 <GreaseMonkey> yep :D
01:50:24 <GreaseMonkey> well, F0-F3 = load page numbered by *register* xx, F4-7 load page numbered by *value* xx
01:51:22 <RodgerTheGreat> haha- most definitely not RISC
01:51:29 <GreaseMonkey> and the initial setup should be: 00 = page 00, 40 = page 01, 80 = page 02, C0 = page 03
01:51:38 <GreaseMonkey> afk food
02:27:46 -!- GregorR-L has joined.
02:39:14 -!- GregorR has quit (Read error: 104 (Connection reset by peer)).
02:39:14 -!- EgoBot has quit (Read error: 54 (Connection reset by peer)).
02:45:10 -!- GregorR has joined.
03:00:46 -!- GregorR-L has quit (Read error: 110 (Connection timed out)).
03:13:19 -!- Sgeo has quit (Read error: 60 (Operation timed out)).
03:20:01 <bsmntbombdood> woot, pipes
03:21:19 -!- Sgeo has joined.
03:59:22 -!- CakeProphet has quit (Read error: 104 (Connection reset by peer)).
04:50:06 <GreaseMonkey> back
04:52:01 <GreaseMonkey> RTG: I think HandGrenade *is* RISC.
04:52:10 <GreaseMonkey> - fixed instruction length
04:52:17 <GreaseMonkey> - lots of registers
04:52:59 <GreaseMonkey> one thing you need is the ability to read and write to/from memory
04:54:42 <GreaseMonkey> i think that minibiatch is a good lang :D
04:55:03 -!- dbc has quit (Read error: 104 (Connection reset by peer)).
04:55:08 <GreaseMonkey> iiaaabbb xxxxyyyy
04:55:08 <GreaseMonkey> i = instruction:
04:55:08 <GreaseMonkey> 00: MOV
04:55:12 <GreaseMonkey> 01: ADD
04:55:12 <GreaseMonkey> 02: ADC
04:55:12 <GreaseMonkey> 03: XOR
04:55:16 <GreaseMonkey> a = see table 1 below, apply to x
04:55:16 <GreaseMonkey> b = see table 1 below, apply to y
04:55:16 <GreaseMonkey> x = reg 1
04:55:21 <GreaseMonkey> y = reg 2
04:55:22 <GreaseMonkey> Table 1:
04:55:28 <GreaseMonkey> 000: use register
04:55:28 <GreaseMonkey> 001: use register as pointer
04:55:32 <GreaseMonkey> 010: use next 16-bit block and skip
04:55:33 <GreaseMonkey> 011: use I/O bus
04:55:33 <GreaseMonkey> 100: use relative pointer forward (00-07)
04:55:36 <GreaseMonkey> 101: use relative pointer backward (F8-FF)
04:55:37 <GreaseMonkey> 110: use far relative pointer forward (08-0F)
04:55:37 <GreaseMonkey> 111: use far relative pointer backward (F0-F7)
04:55:44 <GreaseMonkey> very RISC
04:56:15 <GreaseMonkey> Registers A-P are available. P is the program counter.
04:56:40 <GreaseMonkey> though midibiatch looks promising
04:57:13 <GreaseMonkey> meh
04:57:48 <GreaseMonkey> yeah, midibiatch is more practical
04:58:02 <GreaseMonkey> minibiatch is more esoteric
05:08:49 <Razor-X> I still say you only need SUBLEQ.
05:09:06 <Razor-X> Nor can I see why that's impractical, assuming a flat memory model. All you'll have to do is pay for busses.
05:09:31 <Razor-X> And maybe artificially segment of pieces of the memory as ``faster'', or create fast temporary pieces of storage or something.
05:11:07 <Razor-X> Of course, they'll be really fat busses. If you have a SUBLEQ-64 chip with my proposed extension for example, the busses will be 32 bytes long. Very very fat.
05:12:29 <bsmntbombdood> begin to see what was the emotion excited within me by the stile, and said to his visiter's remark, imparted to his vexation, that he saw nothing- although I call him by means of which he had been greatly changed during slumber.
05:13:37 <bsmntbombdood> At first, doubting that I was more angry than any of its roof, of course, added to a thick seaman's cloak, which he forcibly adapts his designs.
05:14:12 <bsmntbombdood> The door of the earth, you know, is twenty-four thousand miles east, I anticipate the rising of the transparent lake, and at the bare mention of the Egyptian ignorance of steam.
05:14:33 <Razor-X> .......
05:14:35 <bsmntbombdood> ^^ what you get when you take 37,000 lines of poe and give it to mark v. shaney
05:14:40 <Razor-X> Righto.
05:20:14 <GreaseMonkey> SubLEq gives out the biggest frikkin code ever
05:21:04 <Razor-X> But every operation is O(1) after all.
05:22:07 <GreaseMonkey> note that minibiatch doesn't have any jump or skip instructions, you have to scratch them out yourself
05:22:16 <GreaseMonkey> midibiatch is much more practical though :D
05:23:11 <Razor-X> Also, SUBLEQ is cheap.
05:23:33 <Razor-X> All you need is memory and a fairly minimal datapath.
05:30:29 -!- wooby has quit.
05:34:24 <GreaseMonkey> what's your proposed extension?
05:34:44 <GreaseMonkey> 32 bytes, 256 bits, 256 more pins.
05:53:27 -!- wooby has joined.
06:04:41 <GreaseMonkey> http://esolangs.org/wiki/Minibiatch and http://esolangs.org/wiki/User:GreaseMonkey
06:04:46 <GreaseMonkey> afk food
06:04:52 <GreaseMonkey> dinner now
06:05:06 -!- Sgeo has quit (Remote closed the connection).
06:08:34 <GreaseMonkey> well, dinner isn't quite ready yet
06:08:50 <GreaseMonkey> 02 00 26 00 C0 22 01 10 80 22 03 01 40 22 42 00 01 00 40 22 42 20 02 00 40 F2 02 F0 24 00 02 F0 04 00 00 FF 48 65 6C 6C 6F 20 57 6F 72 6C 64 21 0D 0A 00
06:08:55 <bsmntbombdood> !ps d
06:09:13 <GreaseMonkey> k, now it's ready
06:22:12 -!- wooby has quit.
06:29:23 <Razor-X> I gots an idea!
06:29:37 <Razor-X> Lets have a catalogue of stuff that breaks EgoBot! Just to mock GregorR!
06:29:40 <Razor-X> !ps
06:29:46 <Razor-X> Awww. It's not here :(
06:33:57 <Razor-X> Mmmf. GreaseMonkey: Explain your architecture in a bit of detail.
07:06:39 -!- calamari has quit ("Leaving").
07:41:42 <GreaseMonkey> ok, i'm going to wash up, i'll be back in abt 20 minutes, just warming the room up
07:42:02 <GreaseMonkey> ok, now what do you want clarified?
07:53:38 -!- cmeme has quit (Connection timed out).
07:54:16 -!- cmeme has joined.
07:54:53 <GreaseMonkey> k, gonna wash up, be back soon
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:10:15 <GreaseMonkey> back
08:43:14 <GreaseMonkey> gonna get some zzzz, cya
08:44:03 -!- GreaseMonkey has quit ("zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzleepytime").
10:05:56 -!- dbc has joined.
12:02:21 -!- anonfunc has quit.
16:22:30 -!- GregorR-L has joined.
16:43:23 -!- Asztal has joined.
17:02:11 -!- tgwizard has joined.
17:38:21 -!- jix has joined.
18:32:09 -!- lament has joined.
18:56:21 -!- Arrogant has joined.
18:58:53 -!- wooby has joined.
18:59:02 -!- wooby has quit (Remote closed the connection).
19:18:57 -!- tgwizard has quit (Read error: 110 (Connection timed out)).
19:20:09 -!- tgwizard has joined.
19:38:52 -!- tgwizard has quit (Read error: 110 (Connection timed out)).
19:39:35 -!- tgwizard has joined.
21:05:11 -!- Arrogant has quit ("Leaving").
21:40:18 -!- jix has quit ("Bitte waehlen Sie eine Beerdigungnachricht").
21:43:23 -!- Sgeo has joined.
21:52:12 -!- wooby has joined.
22:03:07 -!- pgimeno has quit (Read error: 54 (Connection reset by peer)).
22:17:52 -!- pgimeno has joined.
22:32:13 -!- oerjan has joined.
22:58:28 -!- wooby has quit.
23:01:53 -!- dbc has quit (Read error: 104 (Connection reset by peer)).
23:46:38 -!- sekhmet_ has joined.
23:48:11 -!- sekhmet has quit (Nick collision from services.).
23:48:20 -!- sekhmet_ has changed nick to sekhmet.
2006-11-28
00:08:25 -!- oerjan has quit ("Unbearable lag").
00:16:03 -!- tgwizard has quit (Remote closed the connection).
00:29:01 -!- GregorR-L has quit ("kill(getpid(), SIG_SUDDENLY_VANISH)").
00:30:34 <Razor-X> No Grego-rul :(
00:31:36 -!- CakeProphet has joined.
00:52:45 -!- GreaseMonkey has joined.
01:07:02 <GreaseMonkey> damn, oerjan's being anal-retentive
01:08:31 <GreaseMonkey> that was bat-fuck anal, didn't agree with my simple license.
01:08:40 <GreaseMonkey> whereas some of my other stuff remains.
01:08:58 <GreaseMonkey> my license: "Minibiatch is made by Ben Russell, 2006. Anyone who wishes to do anything with Minibiatch including redistribution of the specification must include this quote somewhere. That's all I ask."
01:11:23 <GreaseMonkey> That's all I fucking ask, OK?!
01:30:10 -!- ihope__ has joined.
01:30:18 -!- ihope__ has changed nick to ihope.
01:45:53 -!- ihope_ has quit (Connection timed out).
01:56:37 <Razor-X> Well, it technically is not public domain.
02:00:23 <bsmntbombdood> bsd
02:04:42 <Razor-X> Nor is it BSD.
02:04:48 <bsmntbombdood> it's close
02:05:34 <Asztal> !befunge 4321k$.@
02:05:54 <Asztal> ... o_O
02:06:23 * Asztal notices something rather important
02:07:22 <GreaseMonkey> ok, why do you need to print 1234?
02:07:29 <GreaseMonkey> and IIRC it's !funge93
02:08:12 <Asztal> I wanted to see what k does in this implementation, and I was hoping for -98 :)
02:08:22 <bsmntbombdood> egobot isn't here
02:08:31 <Asztal> that's the important thing I noticed
02:08:45 <Asztal> The docs say "owever, you may pass a zero count to k, and the ^ instruction will not be executed; this can be a valuable behaviour."
02:09:17 <Asztal> But the test suite I'm using seems to expect it to execute it the amount of times it pops off the stack, and then execute it again
02:09:37 <Razor-X> ++++++++[>++++++[>+>+>+<<<-]<-]>>+.+.+.
02:09:57 <Razor-X> +.
02:09:59 <Razor-X> :P
02:20:21 -!- GregorR-L has joined.
02:26:59 <ivan`> RLEfuck would be nice
02:40:14 <GreaseMonkey> ++6[>++4[>+>+>+<<1-]<-]>>+.+.+.
02:42:51 <GreaseMonkey> Out:{123}
02:44:34 -!- ihope has quit (Success).
03:25:24 <Asztal> ++6[>++4[>+>+>+<<1-]<-]>>{+.}4 ? :P
03:56:29 -!- CakeProphet has quit ("haaaaaaaaaa").
04:14:27 -!- GregorR-L has quit ("Leaving").
04:39:35 -!- Asztal has quit (Read error: 60 (Operation timed out)).
06:42:48 -!- SimonRC has quit (brown.freenode.net irc.freenode.net).
06:42:48 -!- bsmntbombdood has quit (brown.freenode.net irc.freenode.net).
06:42:50 -!- GreaseMonkey has quit (brown.freenode.net irc.freenode.net).
06:42:50 -!- cmeme has quit (brown.freenode.net irc.freenode.net).
06:42:52 -!- fizzie has quit (brown.freenode.net irc.freenode.net).
06:42:52 -!- Sgeo has quit (brown.freenode.net irc.freenode.net).
06:45:38 -!- GreaseMonkey has joined.
06:45:38 -!- Sgeo has joined.
06:45:38 -!- cmeme has joined.
06:45:38 -!- fizzie has joined.
06:45:38 -!- SimonRC has joined.
06:45:38 -!- bsmntbombdood has joined.
06:52:51 -!- Sgeo has quit (Remote closed the connection).
07:52:56 <GreaseMonkey> k gonna g oso bye
07:53:35 -!- GreaseMonkey has quit ("/msg identify password").
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
12:39:01 -!- Asztal has joined.
12:56:22 -!- ihope__ has joined.
12:56:29 -!- ihope__ has changed nick to ihope.
13:15:19 -!- jix has joined.
13:50:52 -!- jix has quit ("Bitte waehlen Sie eine Beerdigungnachricht").
14:57:13 -!- ihope has quit (Read error: 110 (Connection timed out)).
15:00:34 -!- wooby has joined.
16:05:13 -!- Robdgreat has joined.
16:05:18 <Robdgreat> wtf, mates
16:44:09 <bsmntbombdood> wtf what?
16:47:15 -!- jix has joined.
16:47:47 <Robdgreat> nada
16:47:54 <Robdgreat> jix
17:07:17 -!- Arrogant has joined.
17:31:53 -!- tgwizard has joined.
17:55:05 -!- sp3tt has quit (Read error: 104 (Connection reset by peer)).
18:10:16 -!- sp3tt has joined.
19:09:02 -!- Arrogant has quit ("Leaving").
19:12:28 -!- GregorR-L has joined.
19:24:59 -!- Asztal has quit ("Chatzilla 0.9.75 [IceWeasel 1.0.1b2] (kidding!)").
19:37:07 -!- Asztal has joined.
19:56:07 -!- Asztal has quit ("Chatzilla 0.9.75 [IceWeasel 1.0.1b2] (kidding!)").
19:57:59 -!- GregorR-L has quit ("Leaving").
20:02:18 -!- Asztal has joined.
20:03:19 -!- wooby_ has joined.
20:03:19 -!- wooby has quit (Read error: 104 (Connection reset by peer)).
20:03:31 -!- wooby_ has quit (Remote closed the connection).
20:21:06 -!- wooby has joined.
20:24:37 -!- Asztal has quit ("Chatzilla 0.9.75 [IceWeasel 1.0.1b2] (kidding!)").
21:43:00 -!- ihope__ has joined.
21:43:09 -!- ihope__ has changed nick to ihope.
21:50:05 -!- Asztal has joined.
22:17:18 -!- jix has quit ("Bitte waehlen Sie eine Beerdigungnachricht").
22:46:13 -!- tgwizard has quit (Connection timed out).
22:54:49 -!- bsmntbombdood has changed nick to xor.
22:55:37 -!- wooby has quit.
23:09:02 -!- Robdgreat has quit.
23:13:38 -!- CakeProphet has joined.
23:28:57 -!- wooby has joined.
23:45:15 -!- xor has changed nick to bsmntbombdood.
2006-11-29
00:02:27 -!- GregorR-L has joined.
01:30:22 -!- ihope__ has joined.
01:41:28 -!- oerjan has joined.
01:47:33 -!- ihope has quit (Connection timed out).
01:52:34 -!- wooby has quit.
01:57:24 -!- GregorR-L has quit ("Leaving").
02:07:38 -!- wooby has joined.
02:08:07 -!- wooby has quit (Client Quit).
02:45:51 -!- ivan` has quit (Connection reset by peer).
02:46:43 -!- ivan` has joined.
03:57:56 -!- Asztal has quit ("Chatzilla 0.9.75 [IceWeasel 1.0.1b2] (kidding!)").
04:16:25 -!- sekhmet has quit (Read error: 104 (Connection reset by peer)).
04:17:14 -!- sekhmet has joined.
05:01:09 -!- CakeProphet has quit (Read error: 113 (No route to host)).
05:03:49 -!- calamari has joined.
05:43:33 * RodgerTheGreat waves
05:43:51 * oerjan waves back
06:12:15 -!- owt has joined.
06:13:44 <owt> hi
06:13:52 <oerjan> hi
06:15:16 -!- anonfunc has joined.
06:20:38 <owt> what's the most fashionable esoteric language these days ?
06:24:52 <Razor-X> Malbolge.
06:24:57 <Razor-X> It's Everywhere You Want to Be.
06:25:23 <owt> so is it turing complete or not ?
06:25:31 <Razor-X> Yes, it is.
06:25:36 <RodgerTheGreat> mainly because it's been slowly nearing a turing completeness proof
06:25:56 <RodgerTheGreat> it's an open opportunity for someone to do something groundbreaking like building a BF interpreter
06:26:07 <owt> in malbolge ?
06:26:09 * Razor-X shudders.
06:26:32 <Razor-X> Well, I got somewhat started on a BF interpreter in INTERCAL some time ago.
06:26:34 <RodgerTheGreat> exceedingly hard, but it looks like it ought to be possible
06:26:49 <owt> hmm. do we have a quine in malbolge at least ?
06:26:58 <Razor-X> Not sure of that one.
06:27:13 <RodgerTheGreat> not that I'm aware of
06:27:17 <owt> ok
06:30:52 <RodgerTheGreat> as far as I know, Malbolge has had hello world, cat, and 99B implemented, the third of which is *very* convincing proof that it ought to be useable.
06:31:45 <lament> mind you
06:31:48 <RodgerTheGreat> a quine has some similarities to a 99B program, so it seems plausible that one could be written
06:32:00 <lament> 99B can be implemented as a single print statement
06:32:08 <lament> so it's not _really_ proof of usability
06:32:34 <RodgerTheGreat> the one I saw obviously made use of a loop to generate it's output. I saw a normalized listing.
06:33:25 <RodgerTheGreat> but yes, it's true that 99B isn't necessarily any more convincing than Hello World, depending on how it's coded
06:34:09 <RodgerTheGreat> well, g'night everyone- I need to get some sleep
06:34:20 <owt> do we have at least a program which loops indefinitely, in malbolge ?
06:34:40 <RodgerTheGreat> yes
06:34:46 <owt> ah :)
06:34:47 <lament> owt: cat does that
06:35:14 <owt> lament, well, I mean, a busy-loop
06:35:16 <lament> owt: anyway, they lied to you, since malbolge is clearly not the most fashionable esolang
06:35:43 <owt> so what is the truth ?
06:42:29 * SimonRC will go in a few hours for a few hours, as this server is being moved.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:09:52 -!- GreaseMonkey has joined.
08:13:08 -!- ihope__ has quit (Connection timed out).
08:31:57 -!- ihope__ has joined.
08:32:07 -!- ihope__ has changed nick to ihope.
08:52:28 -!- anonfunc_ has joined.
08:52:48 -!- anonfunc has quit (Read error: 104 (Connection reset by peer)).
08:53:13 -!- anonfunc_ has changed nick to anonfunc.
08:58:46 <GreaseMonkey> gtg bye
08:59:22 -!- GreaseMonkey has quit ("soldat challenge: get on the bravo base roof in "inf_outpost"").
09:22:13 -!- calamari has quit ("Leaving").
09:46:54 -!- oerjan has quit ("Good something").
10:12:06 -!- SimonRC has quit ("Lost terminal").
11:15:41 -!- lindi- has joined.
11:58:54 -!- Asztal has joined.
12:11:37 -!- ihope has quit ("http://tunes.org/~nef/logs/esoteric/06.08.09").
12:36:23 -!- fizzie has quit (Remote closed the connection).
12:36:24 -!- fizzie has joined.
13:44:05 -!- jix has joined.
14:23:54 -!- jix_ has joined.
14:24:27 <bsmntbombdood> We don't have hello world in malboge, but something like HElLo wORld
14:29:47 <bsmntbombdood> !help
14:29:53 <bsmntbombdood> or not
14:31:34 -!- jix has quit (Read error: 110 (Connection timed out)).
14:36:18 <bsmntbombdood> wow
14:36:27 <bsmntbombdood> a genetic algo just to generate hello world
15:11:58 <GregorR> I took down EgoBot because some people who shall remain nameless abuse it for the sake of abusing it.
16:06:28 <RodgerTheGreat> :(
16:12:15 <jix_> GregorR: who?
16:12:17 <jix_> ^^
16:14:23 -!- jix_ has quit ("This computer has gone to sleep").
16:50:38 -!- GregorR-L has joined.
17:32:07 <pgimeno> bsmntbombdood: that's pretty old; after that real hello world programs were written
17:34:22 <pgimeno> see the wiki
17:37:46 <pgimeno> http://www.esolangs.org/wiki/Malbolge (see External resources)
17:39:37 -!- SimonRC has joined.
17:40:03 -!- tgwizard has joined.
18:47:22 -!- puzzlet_ has joined.
18:47:30 -!- puzzlet has quit (Read error: 104 (Connection reset by peer)).
20:23:36 -!- jix has joined.
20:45:44 -!- Asztal has quit ("Chatzilla 0.9.75 [IceWeasel 1.0.1b2] (kidding!)").
20:59:28 -!- pgimeno has quit ("rebooting").
21:04:39 -!- jix has quit ("Bitte waehlen Sie eine Beerdigungnachricht").
21:10:29 -!- CakeProphet has joined.
21:16:03 -!- puzzlet_ has quit (Read error: 104 (Connection reset by peer)).
21:19:15 -!- puzzlet has joined.
21:26:12 -!- Asztal has joined.
21:32:32 -!- Sgeo has joined.
21:42:57 -!- puzzlet has quit (Read error: 110 (Connection timed out)).
21:44:51 -!- oerjan has joined.
21:46:57 -!- pgimeno has joined.
21:47:27 -!- puzzlet has joined.
21:49:43 -!- GreaseMonkey has joined.
22:02:14 -!- tgwizard has quit ("Leaving").
22:04:54 -!- Asztal has quit ("Chatzilla 0.9.75 [IceWeasel 1.0.1b2] (kidding!)").
22:12:50 -!- GregorR-L has quit (Read error: 104 (Connection reset by peer)).
22:14:50 -!- oerjan has quit ("Later").
22:29:07 -!- GregorR-L has joined.
2006-11-30
00:06:12 -!- GregorR-L has quit ("kill(getpid(), SIGFAIL);").
00:40:56 -!- Razor-X has left (?).
00:41:01 -!- Razor-X has joined.
01:10:24 -!- oerjan has joined.
01:19:52 -!- pgimeno has quit (brown.freenode.net irc.freenode.net).
01:20:16 -!- pgimeno has joined.
01:23:49 -!- calamari has joined.
03:20:38 -!- anonfunc has quit (Remote closed the connection).
03:26:01 -!- anonfunc has joined.
03:26:20 -!- anonfunc has quit (Remote closed the connection).
03:26:22 -!- anonfunc has joined.
04:17:11 -!- CakeProphet has changed nick to SevenInchBread.
04:42:31 -!- SevenInchBread has quit (Read error: 113 (No route to host)).
05:01:39 -!- GreaseMonkey has quit (Read error: 104 (Connection reset by peer)).
05:11:02 -!- calamari has quit ("Leaving").
05:50:06 -!- Arrogant has joined.
06:03:40 -!- owt has quit ("Leaving").
06:34:45 -!- anonfunc has quit (Read error: 104 (Connection reset by peer)).
06:45:32 -!- GregorR-L has joined.
06:47:35 -!- Sgeo has quit (Remote closed the connection).
06:55:26 -!- anonfunc has joined.
07:32:47 -!- oerjan has quit ("Later").
07:49:34 -!- anonfunc has quit.
07:50:57 -!- anonfunc has joined.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:03:42 -!- GregorR-L has quit ("Leaving").
10:41:09 -!- Arrogant has quit ("Leaving").
16:05:13 -!- anonfunc has quit.
16:24:12 -!- jix has joined.
17:16:07 -!- RodgerTheGreat has quit.
17:31:23 -!- wooby has joined.
18:07:20 -!- tgwizard has joined.
18:07:42 -!- GregorR-L has joined.
18:35:44 -!- RodgerTheGreat has joined.
19:29:02 -!- GregorR-L has quit ("OH NOES, I HAVE BEEN CASTED INTO PERDIDITION").
19:39:33 -!- wooby has quit.
19:40:54 <lament> castrated into perdition?
20:52:22 -!- jix has quit (Remote closed the connection).
20:53:03 -!- jix has joined.
20:58:27 -!- SevenInchBread has joined.
21:07:48 -!- ivan` has quit (Read error: 104 (Connection reset by peer)).
21:11:04 -!- ivan` has joined.
21:12:25 -!- ivan` has quit (Read error: 54 (Connection reset by peer)).
21:13:16 -!- ivan` has joined.
21:32:48 -!- Sgeo has joined.
21:36:25 -!- tgwizard has quit ("Leaving").
21:38:48 -!- jix has quit ("Bitte waehlen Sie eine Beerdigungnachricht").
22:46:37 -!- Arrogant has joined.
23:12:56 -!- GregorR-L has joined.
23:14:37 -!- Arrogant has quit ("Leaving").
←2006-10 2006-11 2006-12→ ↑2006 ↑all