00:13:17 <iano> is it wrong that I saw this "runs ← → ↑ ↓ ↖ ↗ ↙ ↘" and immediately started designing a new 2D language?
00:13:53 <oklopol> as long as it contains random walks it's fine.
00:14:32 <iano> heh, is there a unicode character for a Compass Rose?
00:14:45 <iano> would make a good random-direction operator
00:15:46 -!- Sgeo has quit (Read error: 110 (Connection timed out)).
00:18:28 <oerjan> well on this subject i can say with strong confidence that i don't have the foggiest idea.
00:41:27 <Gracenotes> suns, not an eight-pointed pinwheel star, but what can ya do.
00:46:22 -!- coppro has quit (Remote closed the connection).
00:51:11 -!- cherez has joined.
00:51:17 -!- cherez has left (?).
01:11:54 <ehird> http://paste.factorcode.org/paste?id=598 ! Factor is so pretty.
02:21:03 -!- coppro has joined.
02:31:41 -!- FireFly has quit ("Later").
03:37:00 -!- coppro has quit (Remote closed the connection).
03:39:46 -!- coppro has joined.
04:04:44 -!- oerjan has quit ("leaving").
04:32:31 -!- iano has quit.
04:44:21 -!- calamari has joined.
05:31:59 -!- calamari has quit (Read error: 110 (Connection timed out)).
05:36:46 -!- Sgeo_ has quit (Read error: 110 (Connection timed out)).
07:03:15 <GregorR> Hahahah @ the mouseover on xkcd 570: "Somewhere out there is a company that has actually figured out how to enlarge penises, and it's helpless to reach potential customers."
07:28:59 -!- KingOfKarlsruhe has joined.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:45:33 -!- pikhq has quit ("leaving").
09:18:32 -!- tombom has joined.
09:55:22 -!- jix has joined.
09:55:45 -!- jix has quit (Client Quit).
09:55:58 -!- jix has joined.
09:57:43 -!- jix has quit (Client Quit).
09:57:54 -!- jix has joined.
10:03:02 -!- jix has quit (Remote closed the connection).
10:03:13 -!- jix has joined.
10:08:19 -!- jix has quit (Remote closed the connection).
10:08:30 -!- jix has joined.
10:09:31 -!- jix has quit (Client Quit).
11:02:13 -!- GreaseMonkey has quit ("X-Chat -> http://xchat.org <- At least when I quit I don't look like a lamer").
11:18:12 -!- oklopol_ has joined.
11:18:59 -!- oklopol has quit (Read error: 110 (Connection timed out)).
11:24:46 -!- oklopol_ has changed nick to oklopol.
11:47:02 <oklopol> err is there a mathematica for linux
11:47:25 <Deewiant> Mathematica 7.0 for Linux x86 (32-bit)
11:47:25 <Deewiant> Copyright 1988-2008 Wolfram Research, Inc.
11:47:50 -!- Judofyr has joined.
11:48:18 <fizzie> Mathematica 7.0 for Linux x86 (64-bit)
11:48:18 <fizzie> Copyright 1988-2008 Wolfram Research, Inc.
11:48:21 <oklopol> can i like have one that is a program
11:48:23 <fizzie> I have more bits than you.
11:48:24 <Deewiant> Enroll at TKK and you'll have it
11:48:49 <oklopol> i'll just need it for a second
11:49:00 <Deewiant> If you want to calculate something just ask for that :-P
11:49:00 <oklopol> well maybe a few minutes but anyway
11:49:05 <fizzie> I don't think they have any special one-second licenses.
11:49:12 <oklopol> i have this mathematica course
11:49:19 <oklopol> and there was this set of exercises you needed to do
11:49:28 <fizzie> If you have a course, shouldn't they provide some systems to do them on?
11:50:03 <oklopol> i don't think there's a remote access to the windows part of the machines
11:50:13 <Deewiant> The Linux ones don't have it? :-/
11:50:17 <oklopol> i don't actually know this, i know nothing about computers.
11:50:31 <oklopol> err it's just on a few computers in math department :+
11:50:53 <fizzie> That's strange; one would think they have some sort of site license there too.
11:51:09 <oklopol> maybe they do, and i just haven't realized it's on all machines.
11:51:56 <oklopol> i have no idea how much there is to fix, may well be just a few details, because supposedly it was "very well done"
11:52:41 <oklopol> right this is quite viewable.
11:52:49 <oklopol> maybe not very editable tho
11:53:23 <fizzie> The Mathematica Player is free-as-in-beer for viewabilitics.
11:53:30 <fizzie> For Windows, OS X and Linux, to boot.
11:53:35 <fizzie> But it doesn't do "edit", of course.
11:55:27 <fizzie> It's also something like a hundred meggobytes to download, since it includes the whole Mathematica computronics in it, so that you can run Mathematica-powered "applications" with it.
11:55:30 <fizzie> Or something like that.
11:56:23 <fizzie> 159 MB for the Linux download, 88 MB for the Windows one. I am not quite sure why.
11:56:59 <oklopol> i guess i'll just go do it at uni tomorrow
11:57:12 <Deewiant> Probably stuff like libraries which they can expect to find on any Windows machine
11:57:39 <Deewiant> For Linux, they could say 'you need Pango' or whatever, but instead package it with the executable.
11:58:26 <fizzie> I could download and poke at it to find out, but there's a personal-information-form I don't like to fill for no real reason.
11:58:52 <oklopol> no reason for not wanting to or no reason for filling
11:59:10 <fizzie> No reason for filling. I guess there's not much reason for not wanting to, either.
12:01:31 <oklopol> reasons are like raisins, they taste good but too much of them makes you sick and also they're not very pretty.
12:03:21 <oklopol> heh, i did think it was silly of you not to want to fill that, but it seems i automatically closed the website when i saw the forms myself :P
12:24:10 <lifthrasiir> Deewiant: http://cosmic.mearie.org/tmp/pyfunged-20090420.jpg no way complete, but you have an idea.
12:24:47 <Deewiant> You're doing a lot better than I am, I was doing something similar and barely got started :-)
12:25:15 <lifthrasiir> (http://img300.imageshack.us/img300/2863/pyfunged20090420.jpg for archival purpose)
12:27:51 <Deewiant> lifthrasiir: Have you seen http://rage.kuonet.org/~anmaster/tmp/frontend-prococol.pdf ?
12:28:13 <Deewiant> It's old and not exactly good in its current state but it might be interesting
12:28:35 <Deewiant> I meant to improve it but then CCBI got stuck on a compiler bug and I somewhat lost interest
12:29:02 <lifthrasiir> not yet, but i knew that spec exists and i think it's worth implemented
12:29:18 <Deewiant> The idea basically is, yes, but there are some problems with it
12:29:39 <Deewiant> I thought I had some related notes in a text file somewhere but I can't seem to locate them now
12:30:44 <AnMaster> Deewiant, I left the future of it to you iirc
12:31:12 <fizzie> Deewiant: Only you can stop Funge fires.
12:31:13 <Deewiant> CCBI1 can't really support it though
12:32:25 <AnMaster> also it will need someone to write a frontend...
12:32:41 <Deewiant> Which is what lifthrasiir is doing pretty well at
12:32:56 <AnMaster> ah good. Personally I hate UI programming.
12:36:22 <Deewiant> Hmph, if I ever had any notes I certainly don't any more
12:42:34 <Deewiant> No, I think you remember me saying I did.
12:43:53 <fizzie> No, I think I don't remember either of you saying anything regarding the remembrance of anyone wrt. to the matter of anyone remembering you saying someone did.
12:45:53 <AnMaster> Deewiant, err yeah that was what i meant
12:48:05 <Deewiant> Well, my logs from 2008-08 say that I made lots of comments during 2008-03 so I guess that'll do for notes.
13:01:12 -!- KingOfKarlsruhe has quit (Remote closed the connection).
14:17:56 -!- oerjan has joined.
14:24:54 -!- BeholdMyGlory has joined.
15:01:16 -!- FireFly has joined.
15:09:39 -!- iano has joined.
15:16:56 -!- iano has quit.
15:50:21 <oerjan> you didn't think it was sleep-inducing?
16:00:16 <AnMaster> fizzie, are you going to continue with jitfunge at some point? I have considered doing something like jitfunge myself in C instead, if jitfunge development is dead.
16:07:12 -!- Hiato has joined.
16:09:08 -!- coppro has quit (Read error: 110 (Connection timed out)).
16:19:36 -!- ehird has left (?).
16:23:46 -!- ehird has joined.
16:23:48 <fizzie> Er, well, I do have plans, but I'm still not making any promises.
16:26:53 <Deewiant> I would guess so, given that they are plans
16:29:31 -!- tombom has quit ("Peace and Protection 4.22.2").
16:30:09 <ehird> does linuxmathica have a gooey
16:33:12 <Deewiant> Looks pretty much the same as anywhere else, I imagine
16:33:56 <Deewiant> http://www.linuxlinks.com/portal/content/reviews/converting/Screenshots/Screenshot-Mathematica.png has something
16:34:59 <ehird> yay, my factor patch got accepted (even though it had a syntax error and was refactored a few minutes later)
16:35:35 <ehird> Core bootstrap completed in 9 minutes and 54 seconds.
16:35:35 <ehird> Bootstrap completed in 9 minutes and 54 seconds.
16:35:48 <ehird> Deewiant: it uses qt?
16:36:02 <ehird> look at the scrollbars
16:36:10 <ehird> and the checkboxes, and menus
16:36:27 <ehird> you should care about these things
16:37:56 <ehird> Deewiant: they're important; also one day you might rely on them
16:38:39 <Deewiant> Why would I rely on being able to tell from appearance whether an app uses Qt for its GUI or not
16:39:19 <ehird> Deewiant: Dude don't you even know.
16:39:23 <fizzie> Deewiant: When the robots are taken over, and you can tell friend and foe based on the GUI toolkit?
16:39:48 -!- ehird has set topic: When the robots are taken over | http://tunes.org/~nef/logs/esoteric/?C=N;O=D.
16:39:55 <Deewiant> If the robots are taken over that's fine by me :-P
16:40:08 <fizzie> Wahh, it's not what I meanted.
16:40:14 <oerjan> that _would_ depend on by whom, wouldn't it
16:40:21 <ehird> fizzie: Whom do you this
16:42:17 <oerjan> ehird: when you start seeing gui's like macs', except _more_ perfect, that's when you can start to worry
16:42:31 <oerjan> because then clearly the superior aliens have arrived
16:42:34 <ehird> oerjan: is that when the robots are seducing me?
16:43:18 <fizzie> Though that is easy to misspell as "sacrified".
16:43:36 <oerjan> well those may easily lead into eachother
16:44:19 <oerjan> beware of dyslexics who like to scarify kids
16:47:11 <oerjan> apparently that would be disturbing even with the real definition of "scarify"
16:52:45 <GregorR> I got an email from a "hat and cap manufacturer in China".
16:52:52 <GregorR> I can't tell if this is spam or directed advertisement :P
16:53:29 -!- ais523 has joined.
16:54:28 <oerjan> in any case, it's unsolicited commercial email
16:55:05 <ehird> You were basically all right.
16:55:17 <ehird> So I have just learned.
16:55:22 <ais523> presumably they just want Java
16:55:26 <GregorR> IBM was going to buy Sun and then didn't.
16:55:27 <ais523> I wonder what they'll do with the rest of the company?
16:55:44 <GregorR> Why does Oracle want Solaris?
16:55:56 <ehird> GregorR: sun are quite valuable many big corporate customers
16:56:10 <ehird> but yeah, thank god for postgre
16:56:13 <ehird> mysql is about to suck :D
16:56:14 <GregorR> ehird: So, "want" as in "will expand our business to include"
16:56:22 <ehird> GregorR: Of course.
16:56:38 <ehird> So ummm... yeah. Fuck Oracle.
16:56:42 <GregorR> Well, as opposed to "want" as in "can actually use this as a tool to improve/promote our current products"
16:57:06 <ais523> mysql's a low-level database-like product
16:57:15 <ehird> This is sad. I liked Sun even though I don't like Jav
16:57:18 <ais523> it's rather different from other databases, which are much higher level
16:58:11 <GregorR> Now I kind of wish IBM had bought it ...
16:58:25 <GregorR> And then Oracle bought IBM ;)
16:58:40 <ehird> Well, IBM may be enterprisey, but they're not Oracle-bad.
16:59:25 <GregorR> Thanks for pointing out the Oracle-owns-MySQL-ness.
16:59:32 <fizzie> Like the Sun-internal announcement (quoted in /.) says: "Oracle's interest in Sun is very clear - they aspire to help customers simplify the development, deployment and operation of high value business systems, from applications all the way to datacenters."
16:59:49 <ehird> GregorR: openoffice is impossible to code on
16:59:54 <GregorR> fizzie: That's not clear at all :P
16:59:54 <ehird> I'm pretty sure sun people are the only ones really involved
17:00:13 <ehird> fizzie: "Oracle aspires to help customers shit rainbows and unicorns."
17:00:30 <Deewiant> Isn't that what we all aspire to?
17:00:32 <oerjan> shitting unicorns sounds sort of risky
17:01:00 <ehird> Rainbows are soft, delicate.
17:01:00 <oerjan> rainbows are just light
17:01:12 <Deewiant> No, they come with liquid as well
17:01:24 <ehird> Unicorns are soft.
17:01:28 <ehird> Their horns curl in.
17:01:33 <GregorR> Eh, the hats offered on this site are all garbage anyway.
17:01:36 <ehird> While being shitted.
17:01:46 <GregorR> Lucky me I don't have to decide whether this is spam or directed advertisement then :P
17:01:47 <fizzie> Well, they probably want to sell Oracle servers as a sort of a total package, including operating system and all.
17:01:47 <ehird> fizzie: Shattered.
17:02:15 <GregorR> fizzie: Who manufactures SPARC? They could sell the whole fucking box :P
17:02:28 <ehird> DEVASTATING SHATTINATION
17:02:34 <oerjan> ehird: http://tvtropes.org/pmwiki/pmwiki.php/Main/OurMonstersAreDifferent
17:02:39 <ehird> say that in a deep, echoy, movie trailer voice
17:03:36 <oerjan> GregorR: lessee, aren't directed advertisers just spammers that know too much about you?
17:04:16 <GregorR> oerjan: Once it gets so narrow that the average recipient of the mail, even if they were spam-gullible, wouldn't go to the site, it can no longer be spam :P
17:04:51 <GregorR> oerjan: Spam is all about finding the intersection between "spam-gullible" and "wants product" (and so it helps to have "must be gullible to believe this is a real product" there too)
17:05:29 <GregorR> Err, that is, finding the intersection by spamming everyone, of course :P
17:06:27 <fizzie> Actually Oracle's front page "Oracle buys Sun" link puts it very clearly: "The acquisition combines best-in-class enterprise software and mission-critical computing systems. Oracle plans to engineer and deliver an integrated system--applications to disk--where all the pieces fit together so customers do not have to do it themselves."
17:07:06 <GregorR> Solaris becomes "the OS for that weird database system"
17:07:13 <GregorR> And nobody ever uses it for anything else again.
17:07:16 <fizzie> They do also continue with "Customers benefit as their system integration costs go down while ...", but one would think they are more interested in diverting those costs to their pockets than to actually lower the costs, per se.
17:07:39 <ais523> Slashdot have all sorts of interesting theories about what Oracle will do
17:07:42 <GregorR> fizzie: Customers benefit when Oracle gets more money, don't they? ;)
17:08:00 <ais523> some of them even think they wanted MySQL, so as to control both high-end and low-end database software
17:09:18 <ehird> GregorR: You don't get it
17:09:23 <ehird> Big businesses rely on Solaris backwards compatibility
17:09:29 <ehird> They pay an arm and a leg to keep it working
17:09:39 <ais523> anyway, the whole Oracle-buying-Sun thing is drawing worrying parallels in my mind with Caldera buying SCO
17:09:53 <ehird> remember when sco was nice guys?
17:09:57 <ehird> yeah me neither I was born after that.
17:10:12 <ais523> actually, there are two SCOs, just to confuse matters
17:10:23 -!- pikhq has joined.
17:10:36 <ais523> the original SCO became Tarentella, and are still going in a completely unrelated way to the whole mess with tSCOg, which is what Caldera became
17:10:36 <ehird> so they became evul a year before I was born
17:10:42 <ais523> tSCOg are the bankrupt vexatious litigants
17:10:44 <ehird> are tarentella good, then?
17:10:53 <ais523> tarantella are pretty neutral in all this
17:10:59 <ais523> they're more or less uninvolved
17:11:07 <ehird> ais523: they're a division of Sun!
17:11:20 <AnMaster> ais523, there is #ifdef and #if, #else and #elif, but no #elifdef?
17:11:39 <AnMaster> just wondering why it isn't there
17:11:40 <GregorR> AnMaster: I have wondered that many times :P
17:11:40 <ais523> AnMaster: no, you may as well just write it out in full
17:11:59 <AnMaster> yes, was wondering why there wasn't a short hand notation for it
17:12:42 <fizzie> Incidentally, can you mix-and-match like "#ifdef FOO .. #elif 1 == 2 ... #elif defined(BAR) ... #endif"?
17:12:43 <GregorR> THIS! IS! THE! C! PREPROCESSOR!
17:13:06 <ehird> GregorR: hello 2006
17:13:10 <ehird> how've you been getting on
17:13:16 <ehird> are snakes on your plane?
17:13:31 <lifthrasiir> so full preprocessor directive being "#(el)?if(n?def)?"...
17:13:31 <ais523> there were a load of snakes loose on a plane recently
17:13:39 <ais523> apparently it wasn't quite as dramatic as the film, though
17:13:42 <ehird> on! a! PLAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
17:13:45 <ais523> it took them a while to even notice they were missing
17:13:51 <AnMaster> ais523, link or it didn't happen
17:13:57 <GregorR> ais523: None big enough to eat babies? :P
17:13:58 <ehird> AnMaster: it was on reddit.
17:14:02 <ehird> therefore, it happened
17:14:02 -!- Sgeo has joined.
17:14:25 <Sgeo> What's ehird trying to prove?
17:14:33 <ehird> Sgeo: that monkeys are green
17:14:48 <oerjan> I've _had_ it with these motherfucking spartans on this motherfucking channel!
17:15:29 <ais523> well, I found this link: http://news.bbc.co.uk/cbbcnews/hi/newsid_8000000/newsid_8001900/8001964.stm
17:15:33 -!- neldoret1 has joined.
17:15:37 <GregorR> ARGH THE TROPE-OSPHERE (not to be confused with the troposphere) IS DISINTEGRATING
17:15:40 <ais523> from the BBC's childrens news program
17:15:47 -!- neldoreth has quit ("leaving").
17:15:48 <Sgeo> GregorR, link?
17:15:56 <GregorR> ........................... X_X
17:16:03 <GregorR> I was saying that people are overusing tropes :P
17:16:36 <GregorR> oerjan put it over the edge.
17:17:07 <oerjan> maybe i should have put in more exclamation marks too
17:17:16 <ehird> sweet, ubuntu's git hasn't been updated because the person who assigned themselves to it has publicly stated that he hates git
17:17:22 <ehird> i love disfunctional ecosystems
17:17:31 -!- Hiato has quit ("Leaving.").
17:17:56 <ais523> reminds me of the gnome screensaver config thing
17:18:10 <Sgeo> <Randall> Sgeo: hitting "random" will no longer be able to bring up xkcd.com/404/
17:18:24 <ehird> Stop ruining things.
17:19:13 * oerjan hadn't noticed that before
17:19:31 <ais523> is that a 404 page? or the 404th comic?
17:19:42 <ehird> ais523: it's a 404 page
17:19:54 <ehird> sgeo now goes and ruins the joke by complainng that "Random" can hit it
17:20:00 <ehird> i yell at him for being a jerk
17:20:06 <Sgeo> I didn't complain
17:20:21 <Sgeo> I asked what's going on. Blame someone else for complaining
17:20:27 <ehird> well i'm sure you complained in theory.
17:20:49 * AnMaster tries to work out this mess of C preprocessor
17:21:24 <Sgeo> From SL: "Hello Sgeo..I got the Antiposeballscript from a friend"
17:22:43 <oerjan> Sgeo: what about a _little_ context for us non-SL'ers?
17:22:50 <ais523> ehird: I pasted this link earlier, but you weren't here: http://groups.google.com/group/comp.lang.c/browse_thread/thread/54c90bb925b9d331#
17:23:04 <Sgeo> oerjan, I sell the mentioned "Antiposeballscript"
17:23:37 <ehird> I just realised. second life is genius: it emulates physical uncopyability in a world of bits and bytes
17:23:37 <AnMaster> ais523, I think I'm trying to describe a tree like: {pure C version, SSE versions: {32-bit cells, 64-bit cells} * {x86_64 inline asm: {pic, nopic}, x86_32 intrinsics: {gcc style, icc style}}} in preprocessor.
17:23:49 <ehird> it completely destroys the point of being digital and is thus comfortable
17:23:58 <ehird> ais523: Yesterday.
17:24:02 <ehird> My bouncer is always here :P
17:24:11 <ehird> although I wished it malloced a cat
17:24:12 <pikhq> ehird: And does so poorly.
17:24:14 <Sgeo> ehird, creators choose whether or not something can be copied
17:24:21 <ehird> Sgeo: Bahahahahahaha
17:25:13 <pikhq> All you need to copy stuff in Second Life is a non-official SL client.
17:25:15 <oklopol> i prefer worlds where copying doesn't exist.
17:25:26 <Sgeo> pikhq, not true for scripts
17:25:55 <ehird> Sgeo: they're not composed of bits?
17:26:01 <ehird> and yet they're on computers?
17:26:06 <pikhq> They're executed server-side.
17:26:06 <ehird> don't tell the record companies
17:26:10 <Sgeo> ehird, the bits of the script don't get transmitted to the client
17:26:29 <ehird> oh, yay, you mean like a music service where you buy music and intsead you just get access to a stream of it?
17:27:00 <ehird> it's a direct analogy
17:27:11 -!- oerjan has quit ("Maybus").
17:27:11 <ais523> it's probably kind-of like accessing a website and it not sending you the server-side code
17:27:17 <oklopol> in a music streaming service the content is given to the client.
17:27:26 <GregorR> That analogy is like this analogy; it's not clever and it makes no sense.
17:27:31 <pikhq> Except for the bit where you've paid for the code.
17:27:51 <ais523> the difference is, I think, that the music that's being streamed is what you actually want, if you could save a copy of the stream you could use it in future
17:28:00 <ehird> true. it's even worse, then
17:28:04 <ais523> whereas with the server-side code, you'll probably want to be able to run it again with different data
17:28:17 <ehird> anyway, my essential point is that second life is shit and stupid.
17:28:27 <GregorR> And that's something we can all agree to :P
17:28:39 <pikhq> I think Second Life can be worthwhile, but most of SL is stupid.
17:28:42 <GregorR> That's it, Sgeo is banned.
17:28:56 <ehird> GregorR: WHY AREN'T YOU SYMPATHETIC HE PUT UP A STALL
17:28:57 <fizzie> Yes, non-conformist thoughts are a bannable offense around here.
17:29:03 <ehird> NAKED PEOPLE SET UP SHOP NEXT TO HIM!
17:29:08 <ehird> NAKED! NOW IT'LL BE MARKED AS ADULT! ;__;
17:29:26 <GregorR> fizzie: MENTIONING THAT LAW IS GROUNDS FOR A BAN
17:29:53 <pikhq> Sgeo: You're trying to pass something off as scarce in a post-scarcity economy. That makes you DUMB.
17:29:54 <fizzie> From what I've seen (via somethingawful), isn't SL anyway full of ambulatory penii?
17:30:01 <ehird> YOUR MOM IS GROUNDS FOR A BAN
17:30:13 <fizzie> Your mom, ground, in a pan.
17:30:20 <pikhq> fizzie: Second Life is like... The Web. 99% of it is porn.
17:30:27 <ehird> ... ambulatory... penii?
17:30:38 <Sgeo> fizzie, sometimes people do that, but mostly it's peaceful
17:30:49 <ehird> PORN IS UNPEACEFUL
17:30:56 <pikhq> And, since this involves low-quality 3D graphics, it's not exceptionally good porn, either.
17:30:59 <Sgeo> When a griefer attacks, if all that happens is a flying penis, I'm grateful
17:31:10 <ehird> "GRIEFER" THEY EXIST TO CAUSE GRIEF UPON OUR FINE LAND
17:31:12 <Sgeo> Often it makes the area lag to death
17:31:21 <ehird> THEY SHALL BE PUT TO DEATH!
17:31:35 * pikhq observes that Second Life is written horribly.
17:31:46 <pikhq> But it's buzzword compliant!
17:32:12 <ehird> has anyone written an automated second life lag system?
17:32:25 <pikhq> while(true)copy(this);
17:32:33 <pikhq> Second Life has gotten forkbombed.
17:32:52 <ais523> in second life, I suppose you could have a forkbomb with genuine forks
17:32:57 <ehird> ais523: i was about to say that
17:32:58 <ais523> although a turkey bomb would be better
17:33:03 <ehird> they should copy themselves and explode at the same time
17:33:47 <Sgeo> There are limits to how often items can copy themselves. A "grey goo" fence. I'm not sure exactly what it looks for though
17:33:48 <GregorR> lawl wtf ... I had Amazon set up on a credit card that just expired, I forgot to update it, I bought an MP3 yesterday (still after the card expired) and got to download it, then they cancelled that order. But ... I already have the MP3 :P
17:34:08 <ehird> clearly amazon should add DRM
17:34:12 <ehird> then they could revoke it
17:35:43 <pikhq> That was done because of a previous forkbomb.
17:36:11 <ais523> what about two items that copy each other?
17:36:29 <pikhq> ais523: Ah, Robin Hood and Friar Tuck. :)
17:36:47 <Sgeo> ais523, the limitation is from the originating object. THere's only so much that can be done
17:37:10 <Sgeo> http://lslwiki.net/lslwiki/wakka.php?wakka=GreyGooFence
17:38:03 <Slereah_> Personnaly, my favorite is the Unlimited Fail Work
17:38:17 <pikhq> ... It keeps track of which objects were and weren't copied by an object?
17:38:18 <Sgeo> I found a hole in their Timebomb which let me write a jamming device against it
17:38:27 <Sgeo> pikhq, I guess so
17:38:58 <Slereah_> http://wiki.patrioticnigras.org/wiki/Unlimited_Fail_Works
17:39:12 <Slereah_> http://wiki.patrioticnigras.org/w/images/3/3c/UFW_1.jpg
17:39:12 <pikhq> You could probably make the SL server run out of memory by just rezzing a few forks.
17:39:27 <ehird> http://wiki.patrioticnigras.org/w/images/3/3c/UFW_1.jpg ← this is pretty
17:39:44 <pikhq> And knowing how "well" SL is written, it'd probably not come up automatically.
17:40:52 <Sgeo> At some point, I'm going to modify the client so that it automatically selects physical objects when I want it to. This will stop the physical objects from moving, meaning that attacks such as that won't have such a laggy effect
17:41:31 <ehird> would you retards stop talking about SL or I'll kick you all with my kick magic powers.
17:41:33 <Sgeo> Slereah_, I like scripting
17:42:01 <Slereah_> It's the only thing SL is good for
17:42:10 <Sgeo> And you think that I can magically make whereever I'm standing be a no-script zone?
17:42:54 -!- ais523_ has joined.
17:42:56 <pikhq> Sgeo: Don't touch the client. It makes Microsoft code look sane.
17:43:04 <pikhq> (so much XML... SO much XML...)
17:43:06 <ehird> SL's client is open sauce?
17:43:21 <pikhq> ehird: Yes, but it's written by monkeys at a typewriter.
17:43:24 <Slereah_> There is even a special trollan version :D
17:43:25 <lament> GregorR: wtf, you bought an mp3 on amazon.
17:43:25 <ehird> Yay. I can find exploits in it.
17:43:35 <ehird> lament: what's wrong with amazon mp3
17:43:53 <ais523_> it makes more sense than buying an mp3 on itunes
17:43:54 <Sgeo> Slereah_, iirc, all that does is prevent being banned based on .. some hardware related stuff, I think
17:44:06 <ehird> ais523_: you can't buy an mp3 on itunes
17:44:09 <ehird> you can buy an aac, though
17:44:21 <ais523_> you don't even get proper mp3s...
17:44:27 <ehird> ais523_: AAC > MP3
17:44:37 <AnMaster> um you can convert aac to other formats iirc
17:44:39 <GregorR> Not when it's DRM-lamitude AAC.
17:44:45 <Sgeo> http://forums.thedailywtf.com/forums/p/8719/166323.aspx (SL related)
17:44:45 <ehird> GregorR: iTunes has no DRM nowadays.
17:44:50 <ehird> Well, there's a few bits left.
17:44:50 <pikhq> GregorR: iTunes did rm -rf DRM.
17:44:56 <ehird> GregorR: HI WELCOME TO MONTHS AGO
17:45:05 <pikhq> AnMaster: AAC isn't lossless you ninny.
17:45:06 <GregorR> I never used iTunes because Apple is lame in general :P
17:45:25 <ehird> cdda isn't a format
17:45:30 <pikhq> CDDA is *raw* 16-bit PCM, man.
17:45:38 <GregorR> Except that the CD mastering process is lossy.
17:45:41 <GregorR> That's where the loss comes in.
17:45:41 <ehird> I used FLAC. Now I use ALAC 'cuz iTunes don't do FLAC.
17:45:49 <ehird> Lossless so no lockin or w/e
17:45:58 <ehird> Well, I have mp3s and aacs too
17:46:03 <AnMaster> pikhq, or are you claiming uncompressed is lossy?!
17:46:04 <ehird> From the seven seas.
17:46:14 <pikhq> No, I'm claiming CDDA is better than AAC.
17:46:14 <ehird> it's just uncompressed
17:46:19 <pikhq> And it's not lossless.
17:46:37 <AnMaster> how can uncompressed NOT be lossless.
17:46:48 <pikhq> Lossless refers to a property of compression algorithms.
17:46:53 <AnMaster> it isn't any compression at all, thus no loss. Thus lossless.
17:47:24 <GregorR> Also, CDDA refers to PCM /on a CD/, and like I just said, mastering CDs is a lossy process :P
17:47:25 <fizzie> But what if it's the famed lossless "null" compression algorithm at work there?½
17:47:26 <oklopol> what did you think it meant?
17:47:36 <AnMaster> fizzie, argh I was just about to mention it
17:47:44 <pikhq> GregorR: Where's the loss in it?
17:47:45 <lament> "better" clearly means "bigger", right?
17:47:51 <AnMaster> and yes cdda have been compressed with the null compression algorithm
17:47:58 <lament> although you could still blow it up a bit
17:48:00 <pikhq> (not arguing, just curious)
17:48:04 <lament> write every bit twice for example
17:48:28 <GregorR> pikhq: Have you ever wondered why .bin is bigger than .iso? It's because .bin stores every bit of data on the CD, whereas .iso only stores what a digital reader is supposed to read. It also includes data recovery facilities so that if bits are mismastered the reader can fix it.
17:49:11 <GregorR> Which is also why if you dump a (full) CDDA as a .wav then try to burn that to a CD, it won't fit.
17:49:58 <AnMaster> GregorR, so this extra data only exists for data cds?
17:50:04 <pikhq> s/mismastered/disc is damaged/
17:50:18 <pikhq> AnMaster, there's even more data for data CDs.
17:50:21 <GregorR> pikhq: Right, yes, but in reality the mastering/reading process is never 100% *shrugs*
17:50:24 <oklopol> extra data exists for both
17:50:45 <oklopol> AnMaster: data cd's cannot have errors.
17:50:50 <pikhq> In addition to the CD format's error correction data, the ISO 9660 filesystem has error correction data.
17:50:56 <oklopol> there's like 3 levels of error correction
17:51:04 <AnMaster> oklopol, um? Yes they can have. Just scratch it badly enough
17:51:19 <oklopol> AnMaster: i mean they aren't allowed to have
17:51:36 <pikhq> (except for VCDs; those rely on the MPEG error correction)
17:51:55 <GregorR> Anyway, that's why CDDA is uncompressed and yet not lossless :P
17:52:18 <oklopol> ehird: he sighed at me telling him something that was not weird and stupid, then laughed at GregorR's funny pun
17:52:21 <ais523> quite a few anti-copying mechanisms put weirdnesses in the correction data deliberately
17:52:31 <AnMaster> ehird, "A deep and prolonged audible inspiration or respiration of air"
17:52:37 <ehird> oklopol: oh, right, "sigh. I'm wrong. I'm just going to say sigh."
17:52:58 <AnMaster> ais523, ah yes I remember seeing such a CD once.
17:53:16 <ais523> AnMaster: I think ehird knows what a sigh is
17:53:27 <ehird> ais523: ssh, he's being condescending
17:53:35 <pikhq> And cdparanoia doesn't give a damn.
17:53:40 <AnMaster> ais523, that cd with such copy protection was not a legal copy btw. So clearly it had failed to do it's job.
17:53:43 -!- GregorR has set topic: PLACE CLEVER TOPIC HERE | http://tunes.org/~nef/logs/esoteric/?C=N;O=D.
17:53:52 <ehird> a copy would remove the protection
17:53:58 <oklopol> well. when there's no theoretical possibility of doing anti-copying, you need to use methods that work in practise.
17:54:11 <ehird> oklopol: or realise that preventing digital copying is retarded?
17:54:27 <oklopol> ehird: ah, that's probably much more profitable
17:54:43 <AnMaster> ehird, actually I sighed due to GregorR's puns
17:54:45 <ais523> isn't the record for preventing something being digitally copied about 10 hours?
17:54:50 <ehird> oklopol: drm-free places are doing just fine
17:54:59 <ehird> but the whole idea of intellectual property is bunk
17:55:00 <pikhq> Few weeks; CSS took a while.
17:55:10 <ehird> we need complete and utter copyright reform to account for digital
17:55:22 <ehird> Wonder if there's a pirate party uk?
17:55:24 <ais523> yes, but CSS just encrypted the disk, the analog hole was still there
17:55:31 <ehird> ais523: ITYM "a-hole"
17:55:36 <oklopol> ehird: i will never agree with you on that.
17:55:46 <ehird> oklopol: cool story bro
17:56:18 <AnMaster> ais523, anyway why would "weirdnesses in the correction data" prevent copying.
17:56:19 <pikhq> ehird, I can't help but agree. Modern copyright law is unenforcable in the digital age.
17:56:34 <ais523> AnMaster: because the copy doesn't have the weirdnesses in
17:56:39 <ais523> the program checks to see if they're there on startup
17:56:48 <AnMaster> ais523, I saw a copy which did have the weirdnesses in it.
17:57:06 <pikhq> Doesn't do that much. Use cdrdao instead of dd, so that the subchannels are copied.
17:57:09 <fizzie> Quite many Playstation games put stuff in the CD sub-channels because those used to be rather hard to duplicate, or even read with a normal CD drive.
17:57:42 <ehird> 17:57 pikhq: Doesn't do that much. Use cdrdao instead of dd, so that the subchannels are copied.
17:57:42 <ehird> 17:57 fizzie: Quite many Playstation games put stuff in the CD sub-channels because those used to be rather hard to duplicate, or even read with a normal CD drive.
17:57:49 <ehird> was that the legit order
17:57:54 <ehird> or did those lag out of sync
17:58:02 <AnMaster> what are sub-channels on a cd? I'm afraid I don't really know a lot about the format of a cd.
17:59:23 <AnMaster> if dd doesn't copy it, I guess it is somewhat like resource/data fork style of thing.
17:59:35 <fizzie> There's metadata like current position or track start locations on the sub-channels.
18:00:29 <AnMaster> anyway how could a program check if the correction data was wrong. I mean: if a drive can read it you can copy it clearly, if it can't read it you can't copy it, nor can you verify it.
18:00:34 <AnMaster> or am I missing something else
18:00:39 -!- KingOfKarlsruhe has joined.
18:02:33 <ehird> "One example was an early law passed by the European Parliament to support DRM in response to widespread buzz about unauthorized digital music downloads being held in computer memory caches. Apparently reasoning by analogy to "caches of arms," the use of computer memory caches was outlawed."
18:02:39 <ehird> I love that story. Always have.
18:02:54 <ehird> Hey, now the i7's small L2 doesn't matter.
18:02:58 <fizzie> You can copy them nowadays; but some hardware used to automatically compute the subchannel values, so you couldn't actually write what you want there; even though you might be able to read it. I am not really very familiar with the details here, though.
18:03:20 <ehird> AnMaster: Just don't use it and you'll be okay.
18:03:38 <pikhq> fizzie: You can still have it on the disk images all you want. ;)
18:03:53 <AnMaster> ehird, btw it sounds like an urban myth, or something that quickly was reverted
18:04:27 <Deewiant> The 'mov' instruction is against the law; use 'movnti' for everything!
18:04:32 <ehird> http://news.bbc.co.uk/1/hi/sci/tech/298498.stm
18:04:36 <ehird> Although that misunderstands it
18:04:40 <ehird> it doesn't just apply to the net
18:05:04 <ehird> "Professor Stephen Hawking, one of the world's leading scientists, is "very ill" in hospital, Cambridge University has said. "
18:05:51 * ehird deciddes to implement Reversi in Factor.
18:05:57 <ehird> This will be a learning experience, to say the least.
18:06:13 <AnMaster> btw one odd thing about microsoft cds... the product key... Was it the same on all copies or was every cd unique?
18:06:23 <ehird> AnMaster: every cd unique, dumbo
18:06:25 <lament> reversi on an infinite board!
18:06:28 <AnMaster> and wouldn't pressing such cds then have been impractical
18:06:31 <ehird> lament: what's so lol about reversi
18:06:36 <ais523_> lament: how do you tell who wins?
18:06:38 <ehird> lament: reversi is awesome
18:06:38 <lament> ehird: it kinda looks like Go :)
18:06:49 <ais523_> reversi is very different from go, though
18:06:55 <ehird> Reversi: Go for people who are too shit-stupid to understand it.
18:07:15 <AnMaster> iirc cd-roms are done by making a master die?
18:07:28 <ehird> AnMaster: the key wasn't on the cd
18:07:29 <AnMaster> but wouldn't each cd with an unique product key need it's own die?
18:07:31 <ehird> it was on the packaging
18:07:42 <ehird> there was an algorithm validkey(), obviously
18:07:51 <AnMaster> ehird, so the software accepted any of the valid keys?
18:08:00 <oklopol> <lament> reversi on an infinite board! <<< would change the game enormously, would probably be considerably less tactical
18:08:17 <AnMaster> Deewiant, sounds like one of them certainly. For which product?
18:08:18 <lament> what happens if you play reversi on say 18x18?
18:08:22 <fizzie> Ooh, the "twin sectors" trick in http://en.wikipedia.org/wiki/CD/DVD_copy_protection was new to me. There's been quite a lot of thinking about those.
18:08:33 <oklopol> reversi is mostly about getting the corners.
18:08:33 <ehird> AnMaster: it's famous
18:08:51 <AnMaster> ehird, never heard of it before
18:09:08 <ehird> okay, first I need a good data structure for reversi.
18:09:11 <fizzie> 111-1111111 used to work rather widely as a CD key, too. I think.
18:09:13 <ehird> zero seconds of thinking gives me a 2d array
18:09:35 <oklopol> i'm pretty sure the board is small exactly because adding more would just make the game longer, and moving the interesting parts further away in the game.
18:09:55 <oklopol> it's not at all like go imo
18:10:08 <oklopol> but i haven't played go much, so i'm not going to say that as a fact.
18:14:05 <fizzie> Speaking of copy protection, I quasi-recently (I guess it's was at least a year ago) had my first real frustrating experience, when a bought DVD messed-up with http://en.wikipedia.org/wiki/ARccOS refused to work in the mythtv box.
18:15:19 <ehird> i wanna mythtv box
18:15:24 <pikhq> I've got a DVD here that has, as copy protection, corrupted bytes at the very start of the VOB stream.
18:15:34 <pikhq> Which screws up mplayer, but not anything that does DVD navigation.
18:16:21 <fizzie> We no longer have a MythTV box, actually, since the smoke went out of some hardware, and we discontinued our TV-watching permit. Now I just stick the iBook in that TV stand whenever something needs to be watched.
18:16:49 <Deewiant> As long as the smoke stays in, you're good
18:16:51 <fizzie> I got that DVD watched with an agonizingly slow dd_rescue image-dumping, after which it was watchable.
18:16:59 <ehird> TV-watching permit? Ya mean like the uk's tv license?
18:17:09 <fizzie> I guess it might be similar.
18:17:15 <Deewiant> Like the Finland's TV license.
18:17:24 <fizzie> Yes; is that the official term?
18:18:38 <fizzie> "TV fee" is what the official-ish website uses if I poke at the "in English" button.
18:18:59 <ehird> does it fund any national television thangs like the beeb
18:19:23 <oklopol> Sgeo: "* even the most basic list manipulation functions aren't O(N)" <<< then what are they? less?
18:19:56 <Sgeo> oklopol, lists are pain
18:20:04 <Sgeo> I have no clue
18:20:23 <Sgeo> How would you get 5 from the list [5] ?
18:20:26 <fizzie> The most ludicruous thing is how the law's written; it's not a "fee to be paid if you watch TV"; it's "fee to be paid if you're capable of receiving TV broadcasts, even over IPTV or something"; by a strict interpretation, everyone with a computer (read: everyone) in the student apartments of our university should be paying it, since TV channels are multicasted over the LAN there.
18:20:34 <ehird> http://www.lennonmurdertruth.com/footnotes.asp?id=85
18:20:36 <ehird> " Stephen King Shot John Lennon"
18:20:43 <ehird> fizzie: that's what it is in ze UK
18:20:48 <Sgeo> oklopol, what do you think the syntax is?
18:20:52 -!- Judofyr has quit (Remote closed the connection).
18:20:53 <fizzie> Yes, I guess it's the way things are done.
18:21:04 <AnMaster> ehird, Sweden have TV licenses too. Used to fund public service TV/radio
18:21:08 <ehird> 18:20 Sgeo: How would you get 5 from the list [5] ?
18:21:18 <Sgeo> ehird, guess the syntax
18:21:20 <fizzie> Oh, and if you accidentally buy a DVB-H-capable mobile phone, you're stuck paying that fee for as long as you have it.
18:21:32 <oklopol> Sgeo: "5 of my lsit to get [[[my lisst name is X]]" where X is the list
18:21:40 <AnMaster> fizzie, a mobile phone with TV capability?
18:21:55 <GregorR> There are no ads on these publicly-funded TV services, right?
18:22:00 <Sgeo> [5][0] is wrong
18:22:12 <Sgeo> Instead, you have to do:
18:22:12 <AnMaster> GregorR, no ads here in Sweden at least on them.
18:22:19 <Sgeo> llList2Integer([5], 0)
18:22:27 <ais523> oh, is that second life language?
18:22:39 <ais523> that looks pretty awful
18:22:53 <oklopol> "...by a strict interpretation, everyone with a computer (read: everyone) in the student apartments of our university should be paying it, since TV channels are multicasted over the LAN there." <<< i read somewhere that that's the official interpretation.
18:23:00 <AnMaster> GregorR, and they also do stuff like news in minority languages and such that none of the commercial channels would want to spend money on.
18:23:10 <ais523_> in the UK, pretty much everyone pays the TV license
18:23:32 <GregorR> AnMaster: BTW, I'm surrounded by Swedish people all day, it's freaky :P
18:23:32 <fizzie> oklopol: Sure, I guess it's the only reasonable interpretation of how it's written. It doesn't look like it's having any effect, though.
18:23:36 <oklopol> that you're supposed to start paying tv license if you have a computer, even if you don't have the software to view tv on your computer.
18:23:50 <oklopol> because that's considered so easy to remove after usage
18:23:56 <ehird> er not all comps can recv tv
18:23:59 <ehird> only ones with a tv cardy
18:24:00 <AnMaster> GregorR, Well so am I. But I live in Sweden. I forgot where you were from
18:24:02 <Sgeo> Oh, and there's an llGetObjectDetails(), which is nice, but no llGetObjectDetail(), which means that to get something like another object's position, I have to use lists
18:24:16 <fizzie> ehird: They multicast TV channels via UDP at the student apartments. Context, man.
18:24:26 -!- KingOfKarlsruhe has quit (Remote closed the connection).
18:24:28 <oklopol> Sgeo: anyway you didn't actually answer
18:24:30 <ehird> 18:23 oklopol: that you're supposed to start paying tv license if you have a computer, even if you don't have the software to view tv on your computer.
18:24:32 <ehird> he removed the ctx
18:24:34 <AnMaster> fizzie, what has ConTeXt got to do with this?....
18:24:39 <oklopol> what are the ordos if not O(N)?
18:24:45 <GregorR> AnMaster: I'm in the If-English-Was-Good-Enough-For-Jesus-It's-Good-Enough-For-Texas States of America.
18:24:55 <Sgeo> To get a position of an object in a sim if I know its key:
18:25:05 <oklopol> fizzie: well actually i'm referring to yle starting to broadcast something on their page
18:25:12 <oklopol> applying to everyone in finland
18:25:13 <Sgeo> llList2Vector(llGetObjectDetails(objects_key, [OBJECT_POS]), 0)
18:25:18 <oklopol> but i don't know if that was realized.
18:25:38 <AnMaster> GregorR, Except Jesus didn't speak English. So that doesn't make any sense.
18:25:49 <Sgeo> oklopol, what was the question? I think I responded "I don't know" to something
18:25:51 <fizzie> oklopol: Oh. Well, that... do they actually do real-time "direct" broadcasting there?
18:25:51 <AnMaster> if Jesus even existed. Which I frankly doesn't care about.
18:26:02 <GregorR> AnMaster: I'm quoting a 19th century Texan governor :P
18:26:02 <oklopol> Sgeo: oh. well you were listed as an author.
18:26:17 <oklopol> fizzie: supposedly they were going to, something about olympics or similar dunno
18:26:26 <oklopol> something about sports anyway
18:26:54 <Sgeo> I pointed to the wiki and mentioned some of those points
18:26:59 <GregorR> andreou: But I think that that phrase succinctly sums up all the stupid things people think about the USA :P
18:27:00 <Sgeo> The others brought up other points
18:27:06 <AnMaster> fizzie, did you miss that pun or just ignored it?
18:27:23 <fizzie> AnMaster: Just ignored; I'm not sure how I should've reacted, really.
18:27:47 <AnMaster> fizzie, so you never heard of ConTeXt before?
18:27:54 <pikhq> andreou: Combine with the people who think that only the Kings James Bible is accurate.
18:28:02 <AnMaster> iirc it is included in TeXLive too
18:28:04 -!- KingOfKarlsruhe has joined.
18:28:10 <pikhq> Yes, more accurate than the original Hebrew, Aramaic, and Greek.
18:28:18 <GregorR> Those people are sooooooooo retarded.
18:28:19 <pikhq> No, I don't know how that works.
18:28:26 <ehird> USE: tools.scaffold
18:28:26 <ehird> "resource:work" "reversi" scaffold-vocab
18:28:51 <GregorR> AnMaster: But I think that that phrase succinctly sums up all the stupid things people think about the USA :P (was misdirected to andreou)
18:29:00 <AnMaster> ehird, what language is this? Also I think you should use tools.screwdriver instead
18:29:18 <GregorR> Is "la la la" actually part of the language?
18:29:19 <pikhq> andreou: Enjoy misdirected messages much?
18:29:25 <ehird> that creates the basic vocabulary directory structure in (factor)/work/reversi/
18:29:26 <fizzie> AnMaster: Well, the name does sound familiar, so I guess I've heard of it; never used, though.
18:29:41 <ehird> : la ( -- ) "la" print ;
18:29:43 <AnMaster> fizzie, http://wiki.contextgarden.net/
18:30:22 -!- neldoret1 has quit (Read error: 113 (No route to host)).
18:30:41 <ehird> 18:25 AnMaster: GregorR, Except Jesus didn't speak English. So that doesn't make any sense.
18:30:44 -!- neldoreth has joined.
18:30:48 <AnMaster> fizzie, never used it either in fact, since after reading about it I found LaTeX was better for the tasks I usually do.
18:31:17 -!- neldoreth has quit (Client Quit).
18:31:20 <ehird> omg context is even more typographical than latex?
18:31:20 <AnMaster> ehird, that was ages ago. Do try track the current convo.
18:31:24 -!- neldoreth has joined.
18:31:41 <GregorR> Error 375: Conversation untraceable.
18:32:15 <AnMaster> ehird, iirc it was more about "let user decide design" and latex is more about "let user concentrate on the text and make the computer handle the design instead"
18:32:27 <ehird> right right, awesome
18:32:34 -!- tombom has joined.
18:32:47 <AnMaster> ehird, well I prefer to just get on with the text rather than spending lots of time on layout.
18:33:18 <AnMaster> ehird, layout is not very useful if there is no text to put in the layout.
18:33:23 <GregorR> My grad student sensibilities tell me that LaTeX is the only acceptable system :P
18:33:25 <oklopol> grrr, looked ages for something andreou had said, get better clients
18:33:30 <AnMaster> Oh wait there is always Lorem Ipsum (sp?)
18:33:35 <ehird> mahn you just suck AnMaster
18:33:57 <oklopol> ehird: mistakes were made.
18:34:02 <GregorR> ehird: Apparently, clients supporting tab-completion suck :P
18:34:14 <GregorR> ehird: Either that, or the clients should be psychic *shrugs*
18:34:17 <AnMaster> ehird, on the other hand, all of this is wasted if the colours aren't properly calibrated in all parts of the production!
18:34:27 <pikhq> GregorR: Does that mean I've had grad student sensibilities since high school?
18:34:52 <GregorR> pikhq: There are other grad student sensibilities :P
18:34:56 <ehird> pikhq: dude. context sounds awsum!
18:35:30 <AnMaster> latex is better for my actual needs...
18:35:43 <GregorR> pikhq: Sorry, I've already said to much, if they find me they'll kick me out of the grad student cabal.
18:35:58 <AnMaster> hm that ends up weird if you don't know it is about TeX
18:36:31 <oklopol> GregorR: no sensible client would tab complete someone who's last talked about 4 years ago.
18:36:42 <pikhq> I need to know, man! I get mistaken for a grad student without knowing why!
18:36:43 <AnMaster> * [andreou] idle 506:15:26, signon: Sat Mar 28 10:09:49
18:36:50 <ehird> ha, Factor starts all new projects with a BSD license
18:36:51 <Deewiant> ehird: What's the deal with Factor wanting to put stuff in its own subdirectory
18:37:04 <ehird> Deewiant: it's in the load path
18:37:18 -!- sebbu2 has joined.
18:37:22 <ehird> Deewiant: And factor _is_ a working tre
18:37:23 <AnMaster> GregorR, is this about the license?
18:37:26 <ehird> you don't install it
18:37:29 <GregorR> AnMaster: Sure, why not :P
18:37:42 <Deewiant> ehird: Yeah, so I don't get why it's like that.
18:37:48 <oklopol> GregorR: i have to blame *someone* for failing to see why you highlighted andreou; clearly the only options are you and your client.
18:37:53 <ehird> Deewiant: If you used factor you prolly would.
18:37:59 <ehird> GregorR: it's BSD2 http://factorcode.org/license.txt
18:38:11 <GregorR> ehird: That was called a joke :P
18:38:37 <oklopol> AnMaster: to be as blunt as you, that was the joke.
18:39:03 <ehird> This line signifies that your source contains ; characters.
18:39:11 <Deewiant> ehird: I tried yesterday but got annoyed by a combination of the GUI-reliance, weird development practices which weren't obviously explained, lack of docs, and lack of anything interesting to do with it
18:39:23 <ehird> Deewiant: It is not GUI reliant.
18:39:31 <ehird> I see no weird development practices.
18:39:34 <ehird> The docs are comprehensive.
18:39:52 <oklopol> ehird: because factor is a stack language, Deewiant told the most important reason first
18:39:54 <Deewiant> Docs as in something other than a vocab listing
18:40:02 <ehird> Deewiant: er are you blind
18:40:23 <ehird> Deewiant: here's two pages of actual documentation:
18:40:34 <oklopol> GregorR: seriously fix your client, my words are getting all mixed up.
18:40:39 <Deewiant> ehird: As for the GUI, I mean the default UI listener, I actually tried to google for a way of doing stuff on the CUI and failed, maybe I was just too tired
18:40:58 * AnMaster notes ICC intrinsic function names makes a lot less sense than GCC ones
18:40:59 <Deewiant> (listener, or whatever it's called)
18:41:00 <ehird> Deewiant: The UI _is_ nice to use and helps a lot, but it is in no way reliant
18:41:19 <ehird> there are actual documentation pages
18:41:23 <Deewiant> ehird: Where's the compiler executable
18:41:26 * pikhq notes that ICC is terrible at optimising for his platform
18:41:32 <ehird> Deewiant: It is not a batch-mode language.
18:41:36 <GregorR> pikhq: Is your platform AMD? :P
18:41:46 <pikhq> GregorR: Why, yes, it is.
18:42:06 <GregorR> I'm surprised icc even runs on AMD :P
18:42:09 <pikhq> I've been running AMD processors since, hell, the K6 days.
18:42:25 <Deewiant> ehird: Right, so what's this I hear about it compiling to efficient code etc. :-P Is it just a JIT?
18:42:35 <AnMaster> __builtin_ia32_movntps (GCC) _mm_stream_ps (ICC). I fail to see how _mm_stream_ps captures the "non-temporal" bit in "move non-temporal packed single precision floating point" which is what movntps means.
18:42:35 <pikhq> ICC is designed to turn off optimisation when the compiled code is *running* on an AMD.
18:42:37 <ehird> Deewiant: Native code != compile-pray-debug.
18:42:50 <ehird> Deewiant: Perhaps you should learn a good lisp to familiarize yourself with this concept.
18:42:54 <GregorR> TOO MUCH CONVERSATION *leaves*
18:42:56 <Deewiant> ehird: Native code == standalone executable in my eyes.
18:43:02 <ehird> Deewiant: Your eyes are full of bullshit.
18:43:07 <Sgeo> I know a language worse than LSL
18:43:09 <ais523_> there are systems which can compile to either bytecode or native code
18:43:18 <Deewiant> ehird: I'm asking you because I obviously don't know shit, isn't that obvious?
18:43:28 <ais523_> normally the bytecode's used for the REPL and for porting, the native code for massive speed on one arch
18:43:29 <ehird> It compiles to native code.
18:43:29 <Deewiant> Double obvious there means it must be obvious
18:43:29 <oklopol> "In QuakeC with FTE extensions, accessing the n-th list element of an array is O(log n). Can't get any worse than that."
18:43:42 <AnMaster> I just prefer my code to work well on all compilers.
18:43:51 <ais523_> oklopol: there are list representation structures which are O(log n) for all operations
18:43:57 <ais523_> rather than O(1) for some and O(n) for others
18:44:00 <ais523_> maybe they use one of those
18:44:11 <ais523_> it's not necessarily an insane choice
18:44:16 <AnMaster> and ICC claims to be gcc yet fails on GCC intrinsics.
18:44:32 <ais523_> wow, Chris Pressey was editing Esolang
18:44:46 <Deewiant> ehird: So what is the end result of the compilation, if not a native executable? Something for which you need Factor to run?
18:45:01 <ehird> Deewiant: an .image file, which is a cache from compiled code.
18:45:09 <pikhq> AnMaster: ICC sucks horribly, doesn't it?
18:45:12 <ehird> You could probably do an unholy executable-bundling, if you are determined to be in the 90s.
18:45:16 <Deewiant> And what does one do with such an .image file
18:45:18 <AnMaster> Deewiant, what about a file with native code which needs to be loaded into a runtime?
18:45:20 <oklopol> ais523: you mean kinda like a tree
18:45:23 <pikhq> Now, if ICC actually implemented GNU C...
18:45:29 <oklopol> i'm just lolling at "can't get worse than that"
18:45:31 <Deewiant> Or load it and do stuff with exported verbs, whatever
18:45:32 <GregorR> ICC actually implements loads of GNU C.
18:45:39 <GregorR> You just happen to be stepping on the bits it doesn't.
18:45:40 <AnMaster> pikhq, actually ICC works quite ok on my old pentium 3 box
18:45:41 <ehird> Deewiant: Load it with factor(1).
18:45:45 <oklopol> O(log n) is pretty much O(1) with an academic hat
18:45:50 <Deewiant> AnMaster: Read the 'or actually no'
18:45:54 <AnMaster> the issue is it defines __GNUC__ without being able to compile code using GCC extensions.
18:45:56 <ehird> Although you should just distribute source, really.
18:46:02 <ehird> an .image is a cache of compiled code
18:46:02 <GregorR> <oklopol> O(log n) is pretty much O(1) with an academic hat // lawl, silly but true
18:46:07 <ehird> b was the first ever letter to be created, but unfortunatley everyone thought it was A as it looked more pointy than B
18:46:08 <ehird> — http://esolangs.org/wiki/B
18:46:13 <ehird> ais523_: please don't delete it
18:46:18 <GregorR> <AnMaster> the issue is it defines __GNUC__ without being able to compile code using GCC extensions. // but it supports /many/ GCC extensions, just not /all/ of them.
18:46:41 <GregorR> It supports, e.g., GCC's asm syntax and computed gotos.
18:46:52 <Deewiant> ehird: So it basically JITs but supports caching the code for speed?
18:47:09 <ehird> Deewiant: Sort of. It doesn't do anything just in time.
18:47:14 <ehird> Loading a file compiles it. Simple as.
18:47:16 <AnMaster> GregorR, then it shouldn't define __GNUC__ still. How are programmers then supposed to be able to know if the compiler supports a specific feature. Sure a less coarse system would be preferable. But no such exists in C currently
18:47:31 <ehird> JITs OTOH race to compile while the code runs
18:47:49 <pikhq> C needs a versions array.
18:47:53 <AnMaster> something like #ifdef __EXT_GNUC_INTRINSIC_IA32_MOVNTPS
18:47:59 <GregorR> AnMaster: Making the decision mostly arbitrary. I think they're more interested in making a large chunk of code run faster and failing on a small amount of code than in making all code compile and run no faster.
18:49:04 <Deewiant> Well, I guess that somewhat explains the 'weird development practices' too, i.e. keeping code in factor/work instead of wherever.
18:49:19 <AnMaster> GregorR, how does supporting these intrinsics make the code slower? it is just really a 1-to-1 mapping of names for the intrinsics...
18:49:37 <GregorR> ................... wtf? You totally misinterpreted that statement.
18:49:51 <AnMaster> GregorR, what did you mean then
18:49:55 <Deewiant> GregorR: It's AnMaster, that's not a wtf.
18:49:57 <ehird> Deewiant: You can keep it wherever. It's just less convenient.
18:50:08 <ehird> Deewiant: You could also ln -s ~/src/bigbutts ~/factor/work
18:50:09 <Deewiant> ehird: Yes, I know, it just seems weird to me.
18:50:23 <pikhq> AnMaster: Feature from D.
18:50:31 <ehird> factor is a bit odd :)
18:50:37 <GregorR> AnMaster: They define __GNUC__ so that they will properly take advantage of the GCC extensions they /do/ support, and since they're faster on Intel than GCC is, supporting the same extensions that will often increase speed, they will be faster than GCC. If they don't set __GNUC__, code will fall into an #else, using slower code, and the best they can hope for is to be as good as GCC.
18:50:38 <AnMaster> pikhq, ah interesting. How does it work?
18:50:39 -!- Gracenotes has quit (Remote closed the connection).
18:50:46 <Deewiant> Having the default be to build your projects next to the compiler is certainly odd to my eyes. :-P
18:51:17 <ehird> Deewiant: Well, the stdlib and all are completely malleable.
18:51:20 <Deewiant> As for docs, I guess I was looking for something like the 'Factor cookbook' which appears to be at the very top of the docs.
18:51:27 <ehird> Deewiant: It all goes in one place because you can change it all
18:51:39 <AnMaster> GregorR, yes but they end up causing users to report bugs to projects with such code, bugs that should be reported to intel instead.
18:51:44 <ehird> e.g. I added a thing to make unix signal names printed with the error
18:51:56 <GregorR> AnMaster: Yeah, that sucks, but do you think Intel cares? :P
18:52:00 <pikhq> IIRC, something like static if versions("some feature") foo; else bar;
18:52:01 <ehird> and it got into the core repository; all from within one workspace
18:52:05 -!- sebbu has quit (Read error: 110 (Connection timed out)).
18:52:09 <AnMaster> GregorR, and forced me into a complex maze of #ifs
18:52:26 <AnMaster> pikhq, sounds like a great feature
18:52:35 <pikhq> Does Intel define something like __ICC__?
18:52:37 <oklopol> "sigh", "meh", i should find something like these
18:52:45 <Deewiant> ehird: Err, how is that different from editing any other compiler or stdlib and getting it into the main VCS?
18:52:55 <oklopol> well okay i say blah sometimes.
18:53:02 <ehird> Deewiant: Because it applied only to that workspace, and I simply edited it as part of the workspace.
18:53:04 <fizzie> oklopol: "seh" or "migh"; hybridization!
18:53:07 <AnMaster> pikhq, but clang defines __GNUC__ and __clang__
18:53:07 <ehird> No system-wide installation.
18:53:19 <AnMaster> so I need a lot of checks for "claims to be gcc but really isn't"
18:53:26 <pikhq> Which is bullshit.
18:53:31 <Deewiant> ehird: So it's like the so-called 'monkey-patching'?
18:53:37 <fizzie> oklopol: There's also "pleugh"; but I've seen that used.
18:53:38 <ehird> Deewiant: Not rly imo.
18:53:39 <GregorR> AnMaster: The worst part is there is no is-actually-GCC macro, only supports-GNU-C-extensions.
18:53:51 <ehird> Deewiant: I can't explain it properly, kay?
18:54:07 <Deewiant> ehird: Do you know of something which can? :-P
18:54:14 <AnMaster> GregorR, yes. I have some stuff to detect gcc, clang and icc. But apart from that...
18:54:17 <ehird> Prolly not. Gotta use it to understand it.
18:54:20 <Deewiant> Or give me example code, alternatively
18:54:24 <ehird> Try the IRC channel.
18:54:33 <ehird> They can explain much better than my shitty attempts
18:54:57 <pikhq> I vote that compilers that claim to be GCC should get bug reports for everything that they don't support that's part of GNU C.
18:55:13 <AnMaster> GregorR, and then there is subtle stuff like icc fail at *some* gcc inline asm.
18:55:47 <AnMaster> just have to find out where intel's bug tracker is.
18:57:15 <ehird> 18:56 erg: ehird: does it matter? if you release it under the bsd license i dont think it matters who the copyright holder is (?)
18:57:30 <ehird> Sometimes I forget that people don't understand copyright law/licenses.
18:57:41 -!- Gracenotes has joined.
18:57:45 <ais523_> it almost doesn't matter, except when the time comes to sue people
18:57:57 <ais523_> the licence itself doesn't much care, but the legal system does
18:58:54 <GregorR> "When the time comes to sue people" X-D
18:58:59 <ehird> 18:58 erg: suing someone for violating the bsd license? is there any practical benefit to this?
18:59:02 <GregorR> Looks like it's suein' time!
18:59:42 <ais523_> well, they might be using it without attribution
18:59:55 <ais523_> or claiming their modified version was your original
19:00:16 <ais523_> or hiding the fact that the software was BSD-licenced, or derived from that
19:00:21 <ais523_> IIRC, those are the only three conditions in BSD
19:00:29 <Sgeo> Jnaqn unf gur nexracyvref! (Be ng yrnfg, gung'f jung vg ybbxf yvxr)
19:00:33 <ais523_> there's the obnoxious advertising clause too
19:00:45 <ais523_> ehird: BSD2 doesn't have the prohibition against claiming a modified version is the original
19:00:49 <Sgeo> ehird, not saying =P
19:01:03 <Sgeo> Why not risk it?
19:01:11 <ehird> cuz you're probably being a jerk
19:01:22 <ehird> ais523_: I was wondering about http://factorcode.org/license.txt, which sez "Copyright (C) 2003, 2009 Slava Pestov and friends.", and yet every vocab in factor by default says ! See http://factorcode.org/license.txt for BSD license.; i jokingly asked whether this counted as copyright assignment
19:01:27 <Sgeo> ehird, I don't know what you want and don't want spoiled, so how can I be being a jerk?
19:01:29 -!- sebbu2 has changed nick to sebbu.
19:01:35 <ehird> Sgeo: what is the spoiler for
19:01:45 <Sgeo> The latest Erfworld
19:02:32 <ais523> ehird: same website as order of the stick, but a different author
19:02:35 <ais523> I don't read it, but I know of it
19:02:37 -!- neldoreth has quit ("Lost terminal").
19:02:42 <ehird> probably crap then
19:06:28 -!- neldoreth has joined.
19:12:45 -!- ais523 has quit ("http://www.mibbit.com ajax IRC Client").
19:16:34 -!- ais523_ has quit (Read error: 110 (Connection timed out)).
19:18:04 -!- neldoreth has quit ("Lost terminal").
19:18:18 <ehird> http://imgur.com/CAqN.jpg
19:21:23 <Sgeo> ehird, you can't tell me that http://www.giantitp.com/comics/erf0148.html then http://www.giantitp.com/comics/erf0150.html isn't awesome
19:22:28 <Sgeo> ehird, are you at least going to look at them?
19:24:58 <ehird> enlightenment 0.17
19:25:20 * Sgeo is waiting for Freenet 0.8.0
19:25:30 <Sgeo> I might actually put some stuff on Freenet when it comes out
19:26:22 <Sgeo> Why "lol freenet!"?
19:28:26 <ehird> http://tinyarro.ws/
19:28:29 <ehird> they haev like 70 domains now
19:29:23 -!- neldoreth has joined.
19:33:14 -!- GregorR-L has joined.
19:36:01 <GregorR-L> I see that #esoteric is incapable of conversation when I'm not here.
19:36:37 <pikhq> Why, yes. You're a catalyst.
19:38:11 <lament> haha the word "screw" is also not allowed in comments
19:38:11 <GregorR-L> So, I'm hoping that Oracle takes MySQL and turns it into a proprietary enterprise-class database engine. That would be awesome.
19:42:34 -!- GregorR-L has quit (Remote closed the connection).
19:43:01 <fizzie> Maybe they'll just discontinue existing MySQL and Oracle products and start to market a bizarre hybrid MyOracle. That would also be awesomely strange.
19:43:42 * Sgeo imagines ways to obliterate SL
19:44:59 <AnMaster> hm yeah, I wonder what happens to SPARC in the future. And Solaris.
19:45:13 <AnMaster> Didn't Oracle make their own linux distro before?
19:45:18 <AnMaster> what will happen to that now hm-.
19:45:41 <fizzie> Yes, something enterprise-red-hat-based.
19:48:48 <fizzie> They also have a Xen-based "Oracle VM" virtualization thing.
19:50:20 <fizzie> And Apache-based "Oracle HTTP Server", heh. Clearly they like the sound of their own name.
19:51:55 <Sgeo> Stupid blue(I think) @
19:53:18 <Sgeo> Isn't the Oracle a blue @?
19:53:32 <ehird> ...........Yeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahno.
19:54:07 -!- KingOfKarlsruhe has quit (Remote closed the connection).
19:55:01 <Sgeo> Then what color is the oracle?
19:55:10 <ehird> Oh. You mean nethack.
19:55:19 <ehird> Congratulations, you're so clever you can reference things.
19:56:22 <fungot> Selected style: nethack (NetHack 3.4.3 data.base, rumors.tru, rumors.fal)
19:56:26 <fizzie> fungot: Say something oracular?
19:56:26 <fungot> fizzie: goblin: now issek of the slimy creatures scurried out. the wizard jumped back, squeezing and contorting with great dignity, only gray. in the dark.
19:57:01 <fizzie> They should replace the standard oracle wisdom with this stuff. At least when you are hallucinating.
19:58:29 <fizzie> fungot: Incidentally, what do *you* think of Oracle buying Sun?
19:58:46 <fizzie> That was... very deep.
20:01:24 <ehird> "approved the acquisition of Sun Microsystems by the Oracle Corporation for $9.50/share in cash"
20:01:28 <ehird> That's a bit cheap innit
20:03:15 <pikhq> I'm sure IBM could pay more than that.
20:03:40 -!- Hiato has joined.
20:12:10 <ehird> "They'll keep cyclic references to each other around so they can exist forever in the memory void long after no one else is pointing at them."
20:12:13 <ehird> Garbage collection fail.
20:13:00 -!- tombom_ has joined.
20:13:52 <lament> in other words, true love is immortal
20:28:44 <Deewiant> Hmm, looks like factoring an integer with over 300000 digits isn't quite doable.
20:29:49 -!- tombom has quit (Read error: 110 (Connection timed out)).
20:29:50 -!- tombom_ has changed nick to tombom.
20:30:27 <AnMaster> <ehird> Oh. You mean nethack. <ehird> Congratulations, you're so clever you can reference things. <-- Congratulations, you are so calm you get sarcastic whenever you don't understand a reference.
20:30:45 <ehird> References are not funny unless exceptionally clever.
20:31:25 <AnMaster> ehird, what has that got to do with it
20:31:49 <ehird> AnMaster: it has everything to do with it
20:32:26 <AnMaster> I disagree, references doesn't have to be funny. Though this one was.
20:33:15 <Deewiant> 4884738 digits to be exact. Meh.
20:34:14 <ehird> Deewiant: you don't say :P
20:34:42 <fizzie> Deewiant: Who knows, you might get lucky.
20:35:18 <fizzie> Are you sure it's not prime?-)
20:36:05 <ehird> Deewiant: the factors are $the_number and one.
20:36:25 <Deewiant> That's some of the factors, not all of them.
20:36:35 <Deewiant> As it happens I only care about the prime ones.
20:37:04 <fizzie> Well, 2 and 5. Do I get any money for that?
20:37:20 <fizzie> Are you sure you really need more factors?
20:37:25 <Deewiant> No money was ever on offer, and no, you don't. :-P
20:37:39 <fizzie> There was an implicit promise of money.
20:37:40 <Sgeo> Bye for now all
20:37:54 <Deewiant> I don't need anything, but the guys at Project Euler seem to want them all.
20:38:04 <AnMaster> icc's static analysis feature fails badly. It thinks a pointer may be NULL in if (mypointer) { somevar = *mypointer; } But if you change that condition to mypointer != NULL it accepts it as non-NULL...
20:38:15 <Deewiant> And I say 'meh' because I can't be bothered to think this through though it seems quite trivial.
20:38:23 <ehird> "roll ( x y z t -- y z t x )"
20:38:27 <ehird> Most useful word evar.
20:38:33 -!- ais523 has joined.
20:38:41 -!- Sgeo has quit ("Leaving").
20:38:45 <Deewiant> Why does "roll" roll 4 in particular
20:38:59 <ehird> Deewiant: Because...
20:39:02 <ehird> ...that's just how it rolls.
20:39:07 <ehird> YEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH
20:39:18 <ais523> grr, KDE is annoying me as always
20:39:23 <Deewiant> To me it seems more obvious that it'd roll 3.
20:39:25 <ais523> I haven't taken the time to set it up properly yet
20:39:33 -!- M0ny has joined.
20:39:44 <fizzie> Deewiant: It's "swap" when it does 2, "rot" for 3, and "roll" for 4.
20:40:01 <ehird> : roll ( x y z t -- y z t x ) [ rot ] dip swap ; inline
20:40:08 <AnMaster> <AnMaster> icc's static analysis feature fails badly. It thinks a pointer may be NULL in if (mypointer) { somevar = *mypointer; } But if you change that condition to mypointer != NULL it accepts it as non-NULL...
20:40:24 -!- neldoreth has changed nick to nel.
20:40:25 <ehird> AnMaster: NULL does not have to be 0, right?
20:40:28 -!- nel has changed nick to neld.
20:40:28 <ehird> I know 0 has to be a null pointer
20:40:29 <AnMaster> ais523, the same happens for ! vs != NULL
20:40:35 <ehird> but NULL does not have to be 0
20:40:46 <ais523> ehird: correct, there's a weird hack where an integer constant 0 that's cast explicitly or implicitly to a pointer becomes a NULL
20:40:54 <ais523> which is strange, as an integer expression 0 doesn't
20:40:56 <ehird> then 4 is a null pointer too
20:40:58 <ehird> so mypointer is true
20:41:00 <ehird> but it's a null pointer
20:41:06 <ais523> null pointers are always false
20:41:06 <Deewiant> But isn't 'if (ptr)' guaranteed to be the same as 'if (ptr != NULL)'
20:41:14 <ais523> when evaluated as booleans
20:41:14 <ehird> ais523: so if NULL is 4, 4 is false?
20:41:20 <ehird> that's so fucked up
20:41:20 <AnMaster> Deewiant, that's what I thought too
20:41:25 <ais523> ehird: if NULL is 4, (int) 4 is true, but (void*)4 is false
20:41:26 <Deewiant> ehird: As a boolean pointer :-P
20:41:29 <ais523> it's all in the data types
20:41:34 <ehird> ais523: that's brilliant
20:41:44 <pikhq> This is why C++ is getting the null_ptr type. ;p
20:41:48 <Deewiant> Fortunately NULL is 0 on all sensible platforms.
20:42:07 <AnMaster> also it have issues with functions returning a struct on the stack. As in return (struct mystruct) { .x = blah, .y = foo };
20:42:46 <AnMaster> when you assign the return value of that function to a variable of type struct mystruct it thinks x and y may be uninitialized
20:42:51 <pikhq> Which is, of course, perfectly valid, if a bit odd-looking.
20:43:23 <ais523> hey, in theory a C compiler's allowed to do garbage collection
20:43:33 <ais523> there are enough restrictions on using pointers that it's theoretically possible to implement
20:43:38 <ais523> I'm not sure if anyone ever tried, though
20:43:47 <AnMaster> oh and it is fucked up when thinks foo = malloc(...); if (!foo) return NULL; foo->bar = malloc(...); if (!foo->bar) { free(foo); return NULL; } can leak foo->bar
20:44:01 <ehird> AnMaster: dude it's not a halting checker
20:44:20 <AnMaster> ehird, yes but that function is trivial, there is just a return foo at the end
20:44:31 <AnMaster> so why does it claim it proved that foo->bar leaked
20:44:37 <AnMaster> "possible leak" I might accept
20:45:04 <pikhq> Because Intel is over-confident in their ability to solve the halting problem.
20:45:17 -!- neld has left (?).
20:46:05 <AnMaster> pikhq, and it is trivial to detect that if foo isn't leaked then foo->bar isn't either. I mean the function is trivial and it apparently knows malloc() allocates memory, so knowing that malloc() returning NULL == no memory allocated seems, um, trivial.
20:46:26 <AnMaster> because it claims the memory is lost at the line saying free(foo) there
20:46:53 <AnMaster> <pikhq> Which is, of course, perfectly valid, if a bit odd-looking. <-- did you mean the return struct on stack?
20:47:27 <AnMaster> pikhq, astyle fucks up on that btw. But since the syntax is C99 one...
20:50:08 <AnMaster> pikhq, it is rather efficient too I think. Well assuming x86_64 being used.
20:50:21 <AnMaster> not worse than any of the alternative ways of doing it at least.
20:50:27 <AnMaster> not sure about 32-bit x86 here
20:52:45 <AnMaster> ok that static analyser is even more fucked up, it thinks !var for a var of type int; doesn't imply the variable is in fact 0...
20:54:41 -!- ais523 has quit (Read error: 104 (Connection reset by peer)).
20:54:44 -!- ais523_ has joined.
20:54:57 -!- ais523_ has changed nick to ais523.
20:55:05 -!- FireyFly has joined.
20:55:10 <Deewiant> Of course it doesn't, what if the var was 0 beforehand
20:55:36 -!- FireFly has quit (Read error: 104 (Connection reset by peer)).
20:55:53 <AnMaster> Deewiant, um I mean as in if(!var)
20:57:33 <pikhq> But what if 1 is false and 0 is true?
20:58:07 <AnMaster> true and false are defined to 1 and 0 in stdbool.h
20:58:24 <AnMaster> you can't redefine 1 and 0 themselves.
20:58:39 <AnMaster> and redefining true and false won't change how if works
20:59:00 <AnMaster> if operates on 1 and 0, not the defines true and false
20:59:17 <Deewiant> The point was exactly not about stdbool.h
20:59:44 <Deewiant> He meant 'true' as in 'the value x for which if (x) { foo; } executes foo'
20:59:53 <Deewiant> Not 'true' as in 'the _Bool defined in stdbool.h'
21:00:13 <AnMaster> that is defined to work as if 0 is false and 1 is true by the standard afaik.
21:00:34 <Deewiant> Yes, that's what I thought as well and he said he knew.
21:00:36 <AnMaster> I guess I misinterpreted it because the interpretation you suggest made even less sense.
21:00:44 <fizzie> You can, however, #define TRUE 0 and FALSE 1, and then just be very careful in comparing them like "x == TRUE" -- maybe with some macros like #define AND(a,b) (((a) == TRUE) && ((b) == TRUE) ? TRUE : FALSE) -- if you intend to confuse people.
21:01:45 <AnMaster> fizzie, sure, but that doesn't really matter for this static code analyzer, since it analyses after the preprocessor has been run as far as I understood the icc documentation.
21:03:02 <Deewiant> Yay: it seems that CCBI2 is, in fact, in such a state that I don't need to re-figure out what I was doing if the compiler bug it's blocked on gets fixed. I.e. if the bug is fixed it should compile (or fail due to a different problem).
21:03:17 <Deewiant> I thought I had left it in such a state that I'd have no idea what I was doing.
21:03:54 <AnMaster> Deewiant, can't you just code it a different way to work around said compiler bug?
21:04:13 <AnMaster> Deewiant, or maybe submit a patch for the compiler?
21:04:13 <Deewiant> No, I can't, or I'd have done that, oh... 8 months? ago.
21:04:33 <AnMaster> maybe that is why it hasn't been fixed.
21:04:51 <ehird> ah, I just reminded myself how cool forth is
21:04:56 <ehird> : twice: r> dup call call ;
21:04:57 <Deewiant> Perhaps. But of course it's much more nontrivial for me, knowing nothing about the compiler internals.
21:04:58 <ehird> : quadruple twice: dup + ;
21:05:03 <ehird> syntax without syntax ftw
21:05:23 <AnMaster> ehird, is it cooler than factor?
21:05:29 <ehird> Deewiant: return stack
21:05:43 <ehird> r> pops return stack, puts on regular stack
21:05:48 <ehird> >r pops regular stack, puts on return stack
21:05:58 <ehird> AnMaster: different niches
21:06:04 <ehird> forth is fun to look at and embedded stuff
21:06:10 <ehird> and is really elegant and minimal
21:06:11 <ehird> factor is fun to use
21:06:32 <AnMaster> ehird, btw the final stage of the freebsd bootloader is partly written in FORTH it seems.
21:06:55 <ehird> AnMaster: and powerpc macs's "BIOS" was written in forth
21:07:16 <AnMaster> OpenFirmware was the name iirc
21:07:19 <ehird> it served the purpose of PCs's BIOS
21:07:32 <ehird> probably the easiest way to get a programming shell on any computer
21:07:36 <ehird> press power button, hold down key, voila, forth
21:07:58 <ehird> default input format for numbers was in hex :-)
21:08:01 <AnMaster> ehird, before the G3 generation they didn't have such firmwares iirc
21:08:22 <AnMaster> they used some other format then
21:08:33 <ehird> I recall it's a bit older.
21:08:40 <AnMaster> ehird, no, it might have been a bit before that
21:08:40 <fizzie> OpenFirmware's also used in Sun stuff.
21:09:05 <ehird> Gah, laggy lagson. Harddrive krrrrrr.
21:09:12 <fizzie> My SparcStation 5 had an OpenFirmware ROM. Very nicey.
21:09:13 <ehird> Need SSD + lotsa ram quickah ;_;
21:09:17 <AnMaster> ehird, but I'm pretty sure that old PowerPC Performa didn't use OpenFirmware, I tried that key combo used to enter the openfirmware thing on it and it did nothing
21:10:13 <AnMaster> Alt-Cmd-P-R or something? Or was that the one to reset mouse speed setting (and other stuff in PRAM)? It was so long ago I used a mac last...
21:11:30 <AnMaster> was the p-r one for the pram reset then?
21:12:07 <fizzie> All the PCI-based PowerMacs should be Open Firmware things. The NuBus boxes are different.
21:13:52 <AnMaster> fizzie, ah yes that performa was nubus based
21:14:56 <AnMaster> I think that "press del to access settings" is way easier to use than having to remember lots of odd semi-documented key combos to hold down during boot
21:15:33 <AnMaster> of course the boot process looks a lot nicer if you don't display a "press <key> for settings" message or similar
21:16:08 <AnMaster> I mean, small happy mac is a lot nicer of course.
21:16:32 <AnMaster> especially when it is so small that it is hard to see what it is supposed to look like.
21:16:58 <AnMaster> that happened on some later macs that had the original icon designed for screens with way lower DPI
21:17:15 <fizzie> I remember that running Linux on the Performa box was a bit untrivial; had to use that messy Apple MkLinux boot loader.
21:18:12 -!- Hiato has quit ("Leaving.").
21:19:04 <AnMaster> fizzie, never tried linux on it.
21:20:22 <fizzie> Well, it was a bit iffy. I gather MkLinux used to work "better" in the sense that it was less hacky, but then they gave up on that.
21:20:56 <fizzie> MkLinux was a Linux kernel running as a server hosted on the Mach microkernel.
21:21:47 <fizzie> Never tried that; just ran Debian's normal powerpc port. But had to use the MkLinux boot loader, none of the rest worked on my particular hardware.
21:24:00 -!- FireyFly has changed nick to FireFly.
21:25:18 <fizzie> Not too much activity going on in mklinux.org; the most recent post in the "news" section is from 12 March 2007 about a time zone datafile update, and the one before that is from 11 August 2002
21:26:57 <fizzie> Oh well. The box certainly worked well enough for IRC use.
21:28:35 <fizzie> I had it (in OS 7.5.5, with Ircle) read out loud IRC chatter for a couple of hours with the MacOS-bundled speech synthesizer, almost drove me crazy.
21:28:55 <AnMaster> fizzie, iirc those performa had a crazy system bus architecture, meaning they had bad network performance.
21:29:08 <AnMaster> you linked me to some page about it some time ago
21:29:49 <fizzie> Something on lowendmac.com, I think.
21:30:21 <fizzie> Yes, it certainly wasn't a fast machine.
21:43:24 <fizzie> "Because of their unusual architecture, installing a 25-pin SCSI terminator to the SCSI port will improve network stability." ← That is a very representative bit.
21:43:24 <fizzie> I think I even had a lot of memory in it, something like 32-48 megabytes.
21:43:24 <fizzie> And now that I think of it, I think the exact model of my "random" (hostname) was a Performa 5260: http://lowendmac.com/ppc/performa-5260-5300.html
21:47:27 <ehird> : xor if if false else true then else if true else false then ;
21:48:05 <fizzie> Heh, forth's if-else-then structure is refreshingly different.
21:48:24 <ais523> it's certainly hard to read for people not used to stack-based programs
21:48:28 <AnMaster> the nesting doesn't make sense?
21:48:32 <ais523> I'm used to Underload, but it doesn't have an if-then-else quite like that
21:48:55 <fizzie> It's "[test] if [true-branch] else [false-branch] then", mostly... "if" pops from the stack and then executes either one of the branches.
21:49:31 <ehird> ColorForth-style: (with "red x" = ": x" and everything else green)
21:49:33 <ehird> : xor if if false ; then true ; then if true ; then false ;
21:49:50 <ehird> (; is just return, not end-of-word, and else is eliminated since it's "IF itstrue ; THEN itsfalse")
21:49:52 <AnMaster> and it nests with the innermost one?
21:50:50 <AnMaster> ehird, this is logical xor rather than bitwise xor right
21:51:29 <ais523> bitwise xor is easy, it's "?.1$.2"~"#0$#65535"
21:53:13 <AnMaster> ais523, that is INTERCAL not FORTH
21:53:28 <ais523> so it should be trivial in FORTH
21:53:37 <AnMaster> what would bitwise xor be in FORTH then
21:53:45 <ais523> I don't know, I don't know FORTH
21:54:30 <fizzie> At least in ANSI Forth bitwise xor is the built-in "xor" word.
21:54:37 <AnMaster> wasn't that defined to the logical one just above?
21:55:09 <fizzie> Obviously if you care about the bitwise one, you don't hide it with the logical one.
21:55:27 <AnMaster> so what would a bitwise one implemented in forth look like?
22:00:12 <fizzie> "2dup and invert rot rot or and" might do it in a very inelegant way, unless you count using the other bitwise ops as cheating.
22:02:40 <fizzie> That goes like: [a b] 2dup [a b a b] and [a b a&b] invert [a b ~(a&b)] rot rot [~(a&b) a b] or [~(a&b) a|b] and [(a|b)&~(a&b)] -- and I think that final is a^b. I'm sure that's overly complicated, though.
22:04:18 -!- oerjan has joined.
22:08:48 -!- M0ny has quit ("PEW PEW").
22:09:21 * AnMaster exploits that realloc(NULL, ...) does the same as a malloc(...) call
22:18:30 <ehird> fizzie: that has quite the duplication!
22:18:46 <ehird> : rot2 rot rot ; : myxor 2dup and invert rot2 or and ;
22:18:49 <ehird> feel free to improve further :P
22:19:05 <AnMaster> fizzie, what about doing it if none of the other bitwise operations have been implemented yet
22:19:20 <AnMaster> that is, implementing all the bitwise ones then
22:19:43 <AnMaster> ehird, that goes against the trend of inlining certainly ;P
22:20:41 <ehird> AnMaster: implementing all bitwise ones: you can't
22:21:16 <AnMaster> ehird, I think you can do it with arithmetic and testing?
22:23:08 <oerjan> div, mod and a lookup table...
22:23:23 <ehird> "There is no reason to use the disk at all. With megabytes of memory available you just load your data into memory and go from there. There is no need for disk."
22:23:25 <oklopol> you can implement them all if you have isZero and a dec.
22:23:29 <ehird> Ah, to be in such a simple embedded world.
22:23:50 <AnMaster> oerjan, that would work too, but you only need increment, decrement and check for null
22:24:04 <AnMaster> I'm pretty sure I have seen bitwise operations implemented in brainfuck
22:24:07 <ehird> decrement = increment max times
22:24:11 <oerjan> i mean my way could at least do several bits at once
22:24:17 <ais523> gcc-bf has an implementation, I'm not sure if it works though
22:24:19 <AnMaster> ehird, yes that is true if overflow causes wrap
22:24:26 <ais523> the trick's to use multiplications by 128 on a wrapping system
22:24:38 <ais523> that's the fastest way I know
22:24:49 <oklopol> anyway point is of course you can write a function to do bitwise logic, the rest is just parsing the primitive number format into something more malleable
22:25:43 <oklopol> but i don't know of a way to do bitwise logic fast using arithmetic, although i guess ais523 just described something like that
22:25:58 <oklopol> fast, that is, in O(1) arithmetic operations
22:26:17 <ais523> actually, probably boolfuck > brainfuck for maths
22:26:24 <oerjan> O(1) is probably impossible
22:26:37 <ais523> O(1) is trivial if you only have finitely many possible inputs
22:26:50 <ehird> About a thousand instructions seems about right to me to do about anything. To paraphrase the old legend that any program with a thousand instructions can be written in one less. All programs should be a thousand instructions long.
22:26:52 <oklopol> ais523: it just naive brainfuck will be slower than boolfuck.
22:27:40 -!- tombom has quit ("Peace and Protection 4.22.2").
22:28:20 <AnMaster> ehird, 1000 high level instructions? Or machine code ones?
22:28:41 <ehird> Previous paragraph: "The i21 has four instructions per word. The Pentium has one instruction per two bytes. It is very hard to judge, you should talk in instructions instead of the size of memory in which the instructions reside."
22:29:05 <oklopol> AnMaster: it's been proven for x86 assembly, but for a few riscs the number is 1027
22:29:20 <ehird> May I offer some investment opportunities?
22:29:21 <ehird> *$1M to finish my house
22:29:32 <ehird> he's not as spartan as his language!
22:30:23 <AnMaster> meh, avoiding allocating stacks for fingerprints until needed didn't save a lot of malloc() calls in the code for t :(
22:30:44 <ehird> colorForth IDE driver (first word on each line is red, rest green):
22:30:44 <ehird> bsy 1f7 p@ 80 and if bsy ; then ;
22:30:46 <ehird> rdy 1f7 p@ 8 and if 1f0 a! 256 ; then rdy ;
22:30:48 <ehird> sector 1f3 a! swap p!+ /8 p!+ /8 p!+ /8 e0 or p!+ drop p!+ drop 4 * ;
22:30:48 <AnMaster> and then I mean the code for t that handles duplicating fingerprint stacks
22:30:50 <ehird> read 20 sector 256 for rdy insw next drop ;
22:30:52 <ehird> write bsy 30 sector 256 for rdy outsw next drop ;
22:30:56 <ehird> from http://colorforth.com/ide.html
22:31:22 <AnMaster> ehird, hm. That uses the BIOS driver, and no DMA right?
22:31:38 <ehird> AnMaster: it just reads/writes ports
22:32:47 <AnMaster> ehird, that is very suboptimal though. But I guess it depends on what you need
22:33:03 <ehird> AnMaster: That code's blazing fast anyway
22:33:18 <ehird> It would only matter if you use the disk an awful lot, which is not forthy anyway
22:33:49 <AnMaster> ehird, right. but DMA matters on a "real" OS, such as a Linux or OS X or Windows desktop
22:34:01 <ehird> AnMaster: colorForth is real.
22:34:07 <ehird> Chuck writes real programs in it and uses it.
22:34:15 <ehird> AnMaster: What you mean is not real. You mean conventional.
22:34:43 <AnMaster> ehird, when I mean real I mean something that is usable for everyday tasks, like running existing programs that I need.
22:34:43 <fizzie> AnMaster: I almost wrote "I'm not going to bother implementing it with just '2 mod' and '1 rshift' and control flow", but then I didn't even bother writing that comment. Certainly doable.
22:34:56 <ehird> Chuck runs his everyday tasks on colorForth.
22:35:12 <ehird> what you mean is conventional. Conventional OSes to run programs designed for conventional OSes in conventional ways.
22:35:26 <AnMaster> I assume he coded a TCP stack and so on for it
22:35:42 <ehird> A TCP stack would only be a few words.
22:35:54 <AnMaster> ehird, and a HTML rendering engine?
22:36:01 <ehird> AnMaster: ur doin it wrong
22:36:25 <AnMaster> oh and I also need a type setting system such as LaTeX or similar. Apart from that I guess most stuff would be doable on the forth one
22:36:45 <ehird> I think it is incredibly likely you will never understand where colorForth is coming from in your life.
22:36:47 <AnMaster> isn't it meant to replace "conventional" systems?
22:37:37 <AnMaster> I'm not saying it is a bad language. Or a bad embedded environment. I'm just saying it is far from usable as a replacement for a "normal" OS.
22:38:09 <ehird> Yeaaah, you'll never get it.
22:38:34 <AnMaster> ehird, so you are saying that it is meant to replace these "conventional" systems? Or not.
22:38:48 <AnMaster> just saying which of those would clarify it.
22:40:04 <AnMaster> so neither. Which doesn't make sense.
22:40:13 <ehird> No. Mu does not mean neither.
22:40:16 <ehird> Mu means that your question is wrong.
22:40:26 <AnMaster> then what do you say is the right question
22:40:34 <ehird> I did not say "the wrong question".
22:40:39 <ehird> I said the question is wrong.
22:40:54 <AnMaster> ehird, those seems to be the same to me.
22:40:59 <AnMaster> ehird, are you going to switch to colorforth as your primary OS?
22:41:08 <ehird> AnMaster: No. That question happens to be irrelevant.
22:41:13 <ehird> And they are not the same
22:41:31 <AnMaster> then explain what you mean I guess.
22:52:05 <oklopol> i read that as "molokok", which is funny because molo means kok in finnish, and... umm... as we all know penises are really funny.
22:52:19 <oklopol> i mean your lines together.
22:55:13 <oklopol> yay our modelling project is almost finished.
22:58:56 * ais523 misread that as yodelling to start with
22:59:01 <ais523> because of the yay earlier in the sentence
23:01:24 <oklopol> i'm going to assume you're just making fun of me and cry :'(
23:01:47 <oerjan> modelling yodelling is a fine thing
23:02:16 <oklopol> i wonder if music and probability models yodelling
23:02:33 * oerjan recalls this guy in university who did research on the acoustics of alp horns, or something like that
23:03:03 <oklopol> acoustics are boring, i was thinking about the improvisation
23:04:21 -!- GreaseMonkey has joined.
23:05:46 <psygnisfive> how do i manipulate font styling with latex
23:06:28 <oklopol> i only people, with my hands.
23:06:30 * oerjan never bothered to do anything about the fonts
23:06:56 <oerjan> YOU ATE PEOPLE WITH YOUR HANDS?
23:06:59 <AnMaster> hm why does C allow statements like: foo = bar = quux = 0;
23:07:18 <oerjan> YOU DIRTY BASTARD, USE A KNIFE AND FORK!
23:07:19 <ehird> b is an expr, a is an lvalue
23:07:33 <ais523> in Perl, you can also do (a = b) = c
23:07:41 <ais523> which is kind-of useless, but legal
23:08:00 <ais523> and (a = b)++, which is more useful
23:08:05 <ais523> that sort of thing would be undef in C if it made sense
23:08:06 -!- BeholdMyGlory has quit (Remote closed the connection).
23:08:25 <AnMaster> ais523, what would (a = b)++ do?
23:08:47 <ais523> assignments return the lvalue being assigned to
23:09:08 <pikhq> I thought assignments in C were an lvalue.
23:10:14 <oerjan> pikhq: that would mess up all that sequence point stuff
23:10:55 -!- ais523 has quit (Remote closed the connection).
23:11:08 <ehird> whuz 8 megabytes in 32-bits?
23:11:35 <ehird> so 8 megabytes in bytes
23:11:38 <ehird> but what about in 32s
23:12:10 <ehird> oerjan: two 32-bit ints can fit 8 megabytes?
23:12:15 <ehird> i've been doing it all wrong!
23:12:38 <oerjan> so 8 megabytes = 2 mega-32-bit-words
23:12:49 <ehird> you're not helpful at all
23:12:59 <oerjan> ehird: i said your question did not parse
23:13:04 <oerjan> you failed to clarify it
23:13:15 -!- oklopol has quit (hubbard.freenode.net irc.freenode.net).
23:13:28 <ehird> 8mb in bytes=8388608
23:13:58 <oerjan> ehird: that's what i said, you never implied you wanted an expanded number
23:14:13 <ehird> it tends to be helpful.
23:14:45 <oerjan> you made an analogy, where the byte part had no number. why should i expect you wanted a number for the 32-bit part?
23:15:52 <oerjan> ERROR: Unknown acronym brwlah
23:16:02 <ehird> it's onomattapeyic
23:16:23 * oerjan pats ehird on the head
23:18:08 <oerjan> hey, that was supposed to make you explode with fury
23:18:36 * oerjan prepares to write a complaint about this child psychology book
23:19:50 -!- oklopol has joined.
23:24:50 <ehird> Lessee... dictionary format:
23:25:41 <ehird> {lengthofdefinition,'n','a','m','e',0,pointertointerp,anythingatall}
23:26:27 <ehird> oklopol: interp=function that takes the data and does shit with i
23:26:31 <ehird> that's so you can do native shit
23:26:41 <ehird> for most words, it just goes through each word in the anythingatall and executes it
23:26:48 <oerjan> oh, i thought it meant interpretation
23:26:57 <oerjan> as in a word dictionary
23:29:31 <ehird> that doesn't handle returns
23:29:33 <ehird> in normal asm it'd jump
23:29:45 <ehird> argh, that isn't in m though
23:29:55 <ehird> i wonder how I can copy a function? AnMaster?
23:30:00 <ehird> since you don't know how long they are
23:30:31 <ehird> copy a func into memory
23:31:07 <AnMaster> well... Why? I mean if you JITed it you would know.
23:31:20 <ehird> AnMaster: I have a memory array
23:31:25 <ehird> but this c func i define isn't in it
23:31:26 <AnMaster> I don't think you can find out except with debug info or such
23:31:31 <ehird> and i need it to be in there to address i
23:31:55 -!- coppro has joined.
23:32:18 <ehird> AnMaster: suggest an alt solution?
23:32:22 <oklopol> if you have two in a row, probably you'll at least be able to copy the function to memory, might get some extra tho
23:32:37 <ehird> hmm I guess I could have a layer of indir-erection
23:32:39 <AnMaster> ehird, how do you find out the size of a variable if you have a pointer to it?
23:32:45 <ehird> if you try and jump to <magic>
23:32:52 <ehird> it instead calls interp()
23:32:58 <AnMaster> if it is malloced you should be able to ask libc, however there is no function for it
23:32:58 <oklopol> and don't care, i just love my voice
23:33:30 <AnMaster> ehird, just saying that the same applies here. There is no official method of doing it
23:33:49 <AnMaster> as I said, ELF symbol tables or debug info might have it
23:34:17 <AnMaster> ehird, so would a map file generated by the linker
23:34:26 <AnMaster> but in general there is no way to find out
23:34:46 <AnMaster> maybe use heuristics and trace all jumps to find the last ret?
23:35:34 <oklopol> what's wrong with mine just out of killing the cat
23:36:03 <AnMaster> anyway nothing says compiler have to put a function in one single chunk
23:36:41 <oklopol> portable hacking is portable
23:36:53 <AnMaster> with profile feedback data gcc and icc will split code into hot and cold sections, sometimes splitting a function in several parts with other functions in between.
23:37:49 * ehird comes up with some magical memory locations
23:37:51 -!- FireFly has quit ("Later").
23:38:34 <kerlo> Bike path is bike.
23:40:37 <AnMaster> hm interesting. glibc has some code that calls into the middle of another function. As in the asm call instructions.
23:41:10 <AnMaster> Happens in vprintf() into the middle of _itoa_lower_digits
23:41:39 <AnMaster> that is, looking at disassembly in gdb
23:41:48 <coppro> I guess every printf eventually ends up in vfprintf
23:42:14 <AnMaster> coppro, not snprintf/sprintf though. But other than that yeah.
23:44:09 <AnMaster> 000000304ca43d0c <cuserid+0x7c>:
23:44:32 <ehird> I need to do a jmp in C.
23:44:47 <AnMaster> ehird, why are you using C and not asm then
23:44:58 <ehird> i don't know asm and don't want to deal with that shit
23:45:00 <AnMaster> actually you could use inline asm for it.
23:45:57 <AnMaster> apart from that I think you can't do it. Well tail call maybe. GCC can optimise tailcalls at -O2 or higher into jumps iirc. So return returns directly to the original caller too.
23:46:04 <oerjan> AnMaster: no, it's even, address ends with 'c'
23:46:05 <ehird> I can just avoid calling functions
23:46:10 <ehird> with a, wait for it
23:46:15 <ehird> HUGE FUCKING SWITCH STATEMENT IN A LOOP
23:46:16 <ehird> WOOOOOOOOOOOOOOOOOOOOOOOO
23:46:25 <AnMaster> ehird, what the heck are you doing...
23:46:30 <ehird> AnMaster: implementing a forth.
23:46:35 <ehird> coppro: why aren't you enthused :(
23:46:55 <AnMaster> for Forth the sane way would be asm in fact.
23:46:55 <ehird> that's too bad. you should be.
23:46:59 <ehird> it's good to be enthused.
23:47:34 <oerjan> ehird is a veritable enthusalem
23:47:42 <AnMaster> I think I for once managed a major restructuring of cfunge without breaking IFFI :D
23:48:41 <pikhq> ehird, why do you need to do a jmp in C?
23:48:48 <ehird> pikhq: for a forth
23:49:11 <AnMaster> 304ca791c8: e8 e3 da ff ff callq 304ca76cb0 <malloc_trim+0x400>
23:49:19 <pikhq> Might I recommend computed goto?
23:49:23 <AnMaster> I mean why does it call into the middle of a function
23:49:26 <ehird> pikhq: no, no, a huge switch.
23:49:47 <coppro> the best way is obviously indexing into an array of function pointers
23:50:18 <pikhq> ehird, see plof/cplof/src/jump.h
23:50:45 <ehird> if all goes to plan then I can define a word named "foo" that calls "hello" 5 times, and "hello" is a primitive printing "hello, world\n"
23:51:15 <AnMaster> coppro, a huge switch can be faster since it won't need an extra stack frame, compiler can turn it into a jump table
23:51:18 <pikhq> AnMaster: The header file from Plof I cited tests for __GNUC__ and does either computed gotos or a huge switch statement in a loop.
23:51:23 <AnMaster> and then just return at the end
23:51:37 <AnMaster> pikhq, is the computed goto faster?
23:52:08 <AnMaster> pikhq, also link to this file in some viewvc or similar
23:52:32 <pikhq> Easier for the compiler to optimise.
23:53:13 <AnMaster> pikhq, really? I have looked at huge switch case asm, and it was a jumptable, "as good as it can get".
23:53:34 <AnMaster> pikhq, that was the instruction dispatcher for cfunge.
23:53:49 <AnMaster> which almost fills the range 32..127
23:54:17 <AnMaster> a few defaults for trefunge specific instructions
23:54:28 <AnMaster> and a hole for the fingerprint implemented instructions
23:54:43 <AnMaster> still a jump table which seems fairly efficient
23:54:59 <AnMaster> pikhq, and, again I ask for link
23:55:14 <pikhq> I'm trying to find it.
23:55:19 <ehird> http://imgur.com/CQoF.png
23:55:20 <pikhq> I have 56 kilobits of bandwidth, man!
23:55:44 <pikhq> ... And Trac is down.
23:56:49 <ehird> AnMaster: http://codu.org/plof/hg/index.cgi/file/c151d9b88f93/cplof/src/jump.h
23:57:49 <AnMaster> that doesn't really show how it is used.
23:58:06 <ehird> are you mentally disabled? it's self-evident from the definitions
23:59:57 <AnMaster> wouldn't help in the case you are interpreting program data