←2010-01-26 2010-01-27 2010-01-28→ ↑2010 ↑all
00:04:04 -!- cpressey has left (?).
00:16:57 -!- Pthing has quit ("Leaving").
00:17:09 -!- Pthing has joined.
00:20:50 -!- Sgeo has joined.
00:22:56 -!- coppro has quit ("I am leaving. You are about to explode.").
00:24:39 <Sgeo> Any non-regulars in here?
00:25:01 <SimonRC> I took some pills for that
00:25:32 -!- coppro has joined.
00:25:33 <Sgeo> lol
00:25:40 <Sgeo> * coppro has quit ("I am leaving. You are about to explode.")
00:25:40 <Sgeo> <Sgeo> Any non-regulars in here?
00:25:40 <Sgeo> <SimonRC> I took some pills for that
00:25:40 <Sgeo> * coppro (n=coppro@unaffiliated/coppro) has joined #esoteric
00:26:49 <coppro> lol
00:26:53 <coppro> I count as a regular now, don't I?
00:27:17 <Gregor> Sure ya do, pooppy!
00:27:41 * Sgeo is waiting for a particular person he invited from Reddit to talk about Robozzle
00:29:24 -!- Rygarb has joined.
00:31:07 -!- Rygarb has quit (Client Quit).
00:33:30 <zeotrope> non-regular here
00:33:51 <MissPiggy> nonregular
00:35:26 * SimonRC goes to bed
00:35:34 <Sgeo> Hi Ryg..
00:35:41 <Sgeo> Rygarb was the person I was waiting for
00:38:16 * Sgeo facepalms a few times
00:54:42 <GreaseMonkey> i'm an intermittent regular, really
00:54:50 <GreaseMonkey> actually, a hibernator
01:03:13 -!- madbr has joined.
01:09:30 <pikhq> Gregor: Many of us are like that, really.
01:12:01 <Gregor> http://filebin.ca/pfbmoy/maybewaltz.ogg <-- what happens when Gregor tries to write a waltz.
01:12:36 <coppro> Gregor: do you do anything normal with your life?
01:12:44 <Gregor> Define "normal"
01:12:59 <GreaseMonkey> answer: he gets on all 3s
01:13:02 <pikhq> coppro: Do any of us?
01:13:28 <coppro> pikhq: I'm increasingly of the opinion that none of us do
01:13:32 <coppro> but I keep trying for that hope
01:26:03 <Sgeo> Normal == perpendicular to tangent?
01:26:18 <pikhq> Sgeo: In some contexts, yes.
01:26:33 <Sgeo> pikhq, what else can normal mean?
01:27:02 <Sgeo> And I mean mathematically
01:28:53 <MissPiggy> normal distribution
01:53:34 -!- augur has changed nick to quantic1e.
01:53:38 -!- quantic1e has changed nick to augur.
01:58:46 -!- MissPiggy has quit.
02:13:49 <augur> where is soupdragon/fax?
02:13:52 <augur> :|
02:14:23 <Sgeo> augur, just left
02:14:45 <augur> shes as misspiggy now?
02:15:29 <Sgeo> iirc, yes
02:15:40 <augur> hm!
02:22:20 -!- oerjan has joined.
02:23:46 <Sgeo> It's an FRCer!
02:23:58 <pikhq> Hail, oerjan.
02:24:16 <oerjan> 'morn
02:31:33 <coppro> oerjan's an FRCer?
02:32:09 <oerjan> MWAHAHAHA
02:32:38 <pikhq> Yes, oerjan's an FRCer and an occasional nomic player. Been a while since he was in Agora, though...
02:33:53 <oerjan> for a value of occasional ~ 5, 6 years or so
02:34:09 <Sgeo> Hm, that implies oerjan is a _current_ FRCer?
02:34:13 <Sgeo> I thought he was a former one?
02:34:46 <oerjan> you can sign out any time you want, but you can never leave
02:35:35 <pikhq> Sgeo: FRC doesn't remove players. They just consider you non-active.
02:37:56 * oerjan would be extremely surprised if the member list has been accurate since - sometime before he left, probably
02:38:12 <pikhq> I'd imagine it's not all that accurate.
02:38:30 <coppro> I wasn't even aware there's a member list
02:38:35 <pikhq> *Formally* they never remove players, but since the list of players doesn't matter, lazy evaluation tends to take care of that.
02:38:51 <pikhq> coppro: I'm not sure there actually *is* a list.
02:39:06 <oerjan> i suppose that it also a possibility :D
02:39:30 * oerjan is pretty sure he kept such a list at one time.
02:39:47 <pikhq> Well, except in the sense that you can say "There exists a list that contains the players of FRC."
03:12:34 <Gregor> Hmmmmm
03:12:41 <coppro> p
03:12:43 <coppro> p
03:12:55 <Gregor> Actually, relistening to this waltz, thinking about it as game background music, it /could/ work.
03:24:21 -!- oerjan has quit ("leaving").
03:27:33 -!- jpc has joined.
03:32:35 -!- Sgeo_ has joined.
03:39:27 -!- calamari_ has joined.
03:44:55 -!- calamari_ has changed nick to calamari.
03:45:16 <pikhq> Well, saw the PS3 hack...
03:45:20 <pikhq> That's freaking crazy.
03:50:24 -!- Sgeo has quit (Read error: 110 (Connection timed out)).
03:50:40 <pikhq> "And then I drop the memory bus low for 40 ns to avoid the cache writeback from the hypervisor"
03:50:41 -!- kar8nga has joined.
03:55:47 -!- kar8nga has quit (Remote closed the connection).
04:13:33 <zeotrope> pikhq: sounds hardcore, what does the hack mean exactly, I mean can it be patched by sony?
04:16:05 <pikhq> zeotrope: By releasing a CPU without a cache.
04:16:32 <pikhq> (that is to say "not only no but fuck no")
04:17:23 <zeotrope> time to get a ps3 then?
04:17:45 <pikhq> Get a fat one; the slims don't have Linux support, and he runs the code as a Linux module.
04:17:54 <pikhq> Might be possible otherwise, but it's a PITA.
04:18:02 <zeotrope> :( I'm sure they are hard to track down
04:18:09 <pikhq> Requires an arbitrary code execution bug in any extant PS3 program.
04:18:11 <pikhq> No, not really.
04:18:23 <pikhq> Even the PS2-compatible ones aren't too hard to find.
04:18:28 * pikhq picked one up a couple weeks ago
04:18:57 <zeotrope> gonna wait and see what they do with it
04:19:14 * zeotrope is totally broke
04:19:25 <pikhq> Peek and poke implies "just about anything".
04:19:58 -!- oraqol has joined.
04:21:07 -!- oraqol has left (?).
04:23:01 <zeotrope> his description of the exploit totally went over my head, gotta read up on electronics one of these days
04:28:46 <pikhq> Most of it's software, really.
04:29:23 <pikhq> The only bit of hardware is screwing up the memory bus to prevent the hypervisor from doing the cache writeback right...
04:38:11 -!- Pthing has quit (Remote closed the connection).
05:16:09 -!- Sgeo has joined.
05:30:16 -!- Asztal has quit (Read error: 110 (Connection timed out)).
05:33:19 -!- Sgeo_ has quit (Read error: 110 (Connection timed out)).
05:34:32 <Gregor> http://filebin.ca/qtqhva/maybewaltzpointdos.ogg (Now with 100% more Gregor!)
05:36:44 <coppro> where'd that filename come from?
05:36:55 <Gregor> Maybe Waltz Point Two->Es
05:37:07 <coppro> ah
05:43:19 <Gregor> Any opinions on the second half? Other than "the part that's clearly ripped off from Pachelbel is clearly ripped of from Pachelbel"
05:44:53 <Gregor> :P
05:44:59 <Gregor> But make it a waltz?
05:45:11 <pikhq> Make it 4 minutes and 33 seconds.
05:45:37 <Gregor> I sampled that and overlayed it verbatim on top of this.
05:45:40 <pikhq> So you can have the most unique performance of Cage's 4'33".
05:45:45 <Gregor> (Trimmed of course)
06:38:30 -!- madbr has quit ("Radiateur").
06:39:19 -!- MizardX has joined.
06:43:38 -!- calamari has quit ("Leaving").
07:02:56 -!- tombom has joined.
07:48:45 -!- oerjan has joined.
07:50:30 -!- tombom has quit ("Leaving").
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:05:24 -!- FireFly has joined.
08:15:44 -!- MigoMipo has joined.
08:34:10 -!- oerjan has quit ("leaving").
08:54:08 -!- MizardX has quit (kubrick.freenode.net irc.freenode.net).
08:54:08 -!- oklo has quit (kubrick.freenode.net irc.freenode.net).
08:54:41 -!- MizardX has joined.
08:54:41 -!- oklo has joined.
09:00:24 -!- jpc has quit ("I will do anything (almost) for a new router.").
09:03:06 -!- MigoMipo has quit (Remote closed the connection).
09:13:37 -!- GreaseMonkey has quit ("HydraIRC -> http://www.hydrairc.org <- Nobody cares enough to cybersquat it").
09:49:31 -!- FireFly has quit ("Leaving").
10:29:13 -!- lament has quit (Read error: 60 (Operation timed out)).
11:10:02 -!- MizardX- has joined.
11:26:09 -!- MizardX has quit (Read error: 110 (Connection timed out)).
11:26:28 -!- MizardX- has changed nick to MizardX.
11:47:55 <oklo> Gregor: sorta weird ending
12:12:51 -!- oklo has quit (kubrick.freenode.net irc.freenode.net).
12:13:19 -!- oklo has joined.
12:51:06 -!- MizardX- has joined.
12:54:54 -!- MizardX has quit (Read error: 60 (Operation timed out)).
12:55:03 -!- MizardX- has changed nick to MizardX.
13:06:43 <oklo> why don't text editors have call stacks
13:07:28 <oklo> if i want to fix a function, then return back to where i was, i have to use my own memory
13:38:57 -!- fizzie has quit (kubrick.freenode.net irc.freenode.net).
13:38:57 -!- EgoBot has quit (kubrick.freenode.net irc.freenode.net).
13:38:58 -!- Gregor has quit (kubrick.freenode.net irc.freenode.net).
13:39:09 -!- EgoBot has joined.
13:39:29 -!- Gregor has joined.
13:56:36 -!- MissPiggy has joined.
14:08:23 -!- bsmntbombdood has quit (Read error: 110 (Connection timed out)).
14:28:31 -!- MizardX- has joined.
14:28:39 <Gregor> oklo: It's unended.
14:41:40 <Gregor> http://www.mail-archive.com/gcc@gcc.gnu.org/msg49113.html Huh.
14:44:19 -!- MizardX has quit (Connection timed out).
14:44:27 -!- MizardX- has changed nick to MizardX.
14:45:34 -!- MissPiggy has quit (Read error: 104 (Connection reset by peer)).
14:45:59 -!- MissPiggy has joined.
14:48:44 -!- cpressey has joined.
15:02:13 -!- Pthing has joined.
15:45:35 <Sgeo> Help! I promised myself I wouldn't solve a RoboZZle puzzle this morning, and I am
15:45:42 <Sgeo> It's a pathetically easy one though
15:49:05 * Sgeo puts in a trivial shorter solution to one he solved a while ago
15:53:07 <Sgeo> Having all my past solutions available to me is a big help
15:59:26 <Sgeo> If Rygarb comes in, say hi. E's the redditor I've been talking about, and hasn't used non-IM chat before
16:01:03 * MissPiggy did some robozzle today
16:01:36 <Sgeo> Why am I not getting ready to go to school?
16:04:12 <oklo> robozzle does that to you
16:05:18 <Sgeo> It's not RoboZZle
16:05:24 <Sgeo> RoboZZle's fault right now
16:05:30 <Sgeo> I'm going to school later than usual, so
16:07:10 <Sgeo> It's messing with my mind, I think
16:07:35 <MissPiggy> just how much have you been playing it o_o
16:10:23 <Sgeo> I meant the "not going to school at the time I'm used to" is messing with my mind
16:10:37 <MissPiggy> oh heh
16:10:48 <oklo> ais523 / scarf: i have important matters to discuss.
16:12:01 <oklo> ais523 / scarf: this time, actual provable progress, not just refined ideas.
16:13:31 <Sgeo> Chrome needs a Firefox tab extension, analogous to IE Tab
16:14:26 -!- FireFly has joined.
16:16:56 <zeotrope> Sgeo: why?
16:17:15 <Sgeo> There are websites that work in Firefox but not Chrome
16:17:22 <Sgeo> My school requires use of one such site
16:17:55 <zeotrope> is that because the websites use browser sniffing? or what exactly
16:18:27 <zeotrope> the IE tab makes sense because IE is so god damn broken
16:19:03 <oklo> i guess that might be interesting to the public as well: an append function in clue has been compiled, although there's no parser yet
16:19:06 <oklo> http://www.vjn.fi/pb/p666553643.txt
16:19:13 <oklo> compiles, although parsing has to be done manually
16:19:31 <Sgeo> zeotrope, it also says it doesn't work with Safari, so maybe it's an issue with Webkit
16:20:07 <oklo> it's an append function programmed by giving suitable examples of how it should work
16:20:57 <MissPiggy> what are the numbers?
16:20:59 <oklo> compiles in 0.03 seconds without any sort of optimization (purely brute force search)
16:21:03 <oklo> MissPiggy: they are just numbers
16:21:25 <MissPiggy> how do you read it?
16:21:34 <oklo> examples of how append should work, "[2,5,7],[3,6,8] -> [2,5,7,3,6,8];" means "given the lists [2,5,7] and [3,6,8], output [2,5,7,3,6,8]"
16:21:51 <oklo> this produces a function that appends any two lists
16:21:58 <MissPiggy> wow how does it work?
16:22:00 <oklo> after compilation
16:22:11 <oklo> it works by finding a clever set of examples
16:22:35 <oklo> basically while the actual functions and computation is completely brute force searched, the recurrence isn't, you give that.
16:22:45 <MissPiggy> ah you have actually divided it into base and recursive cases
16:22:56 <oklo> yes
16:22:57 <oklo> and
16:23:07 <oklo> i've also linked to each recursive case a subcase, stuff it should recurse to
16:23:37 <oklo> so you never have to "recurse into darkness", just use cons, car and cdr randomly
16:24:18 <oklo> this is the only way i've found that makes the concept implementable without having a strongly optimizing compiler from the start
16:24:28 <MissPiggy> okay
16:24:46 <MissPiggy> does it use types to guide the search?
16:25:05 <oklo> no. but obviously it will.
16:25:17 <MissPiggy> wow I am surprised this works without being type directed
16:25:31 <oklo> well, it uses types in the sense that if a function fails, the result is ignored, but i don't use type for any sort of optimization yet
16:25:58 <oklo> there are many (natural) cases where types completely remove the combinatorial explosion
16:26:29 <oklo> in fact, i think once you can introduce your own types, this might actually become "practical", by which i mean you might be able to program like an actual program
16:27:12 <MissPiggy> what about strange recursion patterns?
16:27:27 <MissPiggy> like what about zipping two lists, or splitting one list into even and odd parts?
16:27:46 <oklo> you can have an arbitrary number of examples, and an arbitrary number of subcases
16:28:01 <oklo> and an arbitrary number of branches, although all functions can only branch once, in the beginning
16:28:07 <AnMaster> my monitor died
16:28:11 <AnMaster> using laptop atm
16:28:27 <AnMaster> seems like the background light on my desktop is dead
16:28:36 <AnMaster> also no warranty any longer
16:28:37 <oklo> there are many subtleties to this, and i'm planning to write a comprehensive spec, which might actually happen now that i've seen this really works
16:28:54 <MissPiggy> how do the examples come into it?
16:29:02 <oklo> come into what?
16:29:13 <MissPiggy> I mean, could you just as easily replace them with a generator and checkable specification
16:29:19 <MissPiggy> into the program generation
16:30:11 <oklo> the idea is you give just enough examples to find the right function. there's a separate sort of example that can be used for testing the result
16:30:34 <oklo> (which i haven't implemented yet, but obviously it's just a few lines)
16:31:34 <oklo> do you mean could i get rid of examples, and instead have specifications for how functions should work abstractly, like some sorta assert?
16:32:17 -!- BeholdMyGlory has joined.
16:32:56 <oklo> {:. [2,5,7],[3,6,8] -> [2,5,7,3,6,8];
16:32:56 <oklo> : [5,7],[3,6,8] -> [5,7,3,6,8]
16:33:14 <oklo> this is really the most interesting part, the rest is just filler
16:33:47 <oklo> i don't know how a generator would guide the recurrence exactly
16:39:23 <MissPiggy> I was just thinking if you could generate inputs and outputs then check they are correct
16:39:52 <oklo> you could, but you could only use that for testing, not actually making new functions
16:42:00 <oklo> well at least with this system
16:42:37 <oklo> in clue, i do not plan to make the language understand what objects are smaller than others in the sense of inductive construction of objects
16:42:58 <oklo> that is, a human will know [1,2] should not recurse to [1,2,3] usually
16:43:03 <oklo> but to [1]
16:43:09 <oklo> because [1] is smaller than [1,2]
16:43:51 <oklo> this is made general by making a new type that's constructed inductively in some other way, and adding an isomorphism between the two types
16:44:01 <oklo> but that all is for another project
16:44:46 <oklo> or, rather, that one trivial idea i just mentioned.
16:47:30 * Sgeo needs to get ready to go to school
16:47:58 <oklo> when do you have school exactly?
16:48:52 <oklo> i usually start getting ready 5 minutes after i have to leave
16:48:59 -!- oklo has changed nick to okloNEVERMORE.
16:49:07 <okloNEVERMORE> wait that was too random
16:49:09 -!- okloNEVERMORE has changed nick to oklopol.
16:50:30 <Sgeo> 3:30 local time. To make it there in a timely fashion, I want to leave the house by maybe 12:20
16:50:48 <oklopol> in half an hour?
16:50:55 <Sgeo> And I'll get there an hour or so early, assuming no bus screwups
16:51:07 <Sgeo> Yes. But I still haven't showered, shaved
16:51:13 <Sgeo> I think I'm going to skip shaving today
16:51:20 <oklopol> yeah shaving is for girls
16:51:24 <oklopol> just let it live
16:52:29 <Gregor> Not shaving is awesome.
16:52:55 <Gregor> My monthly shaving ritual allows me to use a single disposable razor for ~six months. A pack lasts me years.
16:53:29 <Sgeo> I (as of earlier this week) became addicted to shaving every day
16:53:34 <Sgeo> Now, because of time concerns, I can't
16:53:49 <Sgeo> Time concerns completely caused by me being online right now
16:53:57 <FireFly> I've yet to shave :D
16:54:03 <FireFly> Maximum money saving
16:54:18 <MissPiggy> put physics into your prorgam oklopol and get a unfied theory output
16:54:43 * Sgeo plucks out an eye and gives it to MissPiggy
16:55:41 <oklopol> yeah i just need a few examples of how particles move
16:56:48 <Sgeo> Eeep, it's late
16:57:01 <oklopol> man, just chill...
16:57:31 <Sgeo> Bye
16:57:40 <oklopol> byes
17:03:46 -!- Asztal has joined.
17:12:33 -!- tombom has joined.
17:19:56 <AnMaster> Deewiant, btw mycology tests o even if y claims it isn't supported. This seems wrong to me
17:21:26 -!- oerjan has joined.
17:22:54 -!- cpressey has quit ("Leaving.").
17:23:48 <Deewiant> AnMaster: Didn't we go over this and it says UNDEF now?
17:23:57 <Deewiant> Or was that a separate issue
17:24:02 <AnMaster> Deewiant, well the issue would be that it *tries* it at all
17:24:12 <oerjan> <oklo> if i want to fix a function, then return back to where i was, i have to use my own memory
17:24:17 <AnMaster> or rather, could potentially be
17:24:17 <oerjan> vim has a tag stack
17:24:23 <Deewiant> AnMaster: And like I said we went over this
17:24:30 <oklopol> oerjan: cool. does anyone ever use it?
17:24:42 <Deewiant> Getting it to not try it is nontrivial and I'm not in the mood for something nontrivial :-P
17:24:51 <AnMaster> Deewiant, what if you do like the _POSIX_WHATEVER* define on openbsd for mmap? basically openbsd implements mmap() but not all details of it
17:25:03 <oerjan> heck if i know, except the help system seems based on it
17:25:05 <AnMaster> thus it doesn't define the posix define for supporting it
17:25:16 <AnMaster> Deewiant, see my point?
17:25:30 <oerjan> i understand for programs you need to preprocess the file first
17:25:52 <Deewiant> AnMaster: No, not at all. What is it?
17:25:54 <AnMaster> oerjan, also about tags. do you mean ctags?
17:26:10 <oerjan> i think so
17:26:29 <AnMaster> Deewiant, that not claiming that it has o doesn't imply that it doesn't have a partly working o
17:26:54 <Deewiant> Argh, triple negative
17:27:08 <oklopol> :D
17:27:13 <oklopol> Deewiant: are you on drugs?
17:27:14 <AnMaster> Deewiant, thus if you implement it differently but claims you don't have o, you could get BAD
17:27:26 <Deewiant> oklopol: Not to my knowledge
17:28:04 <oklopol> Deewiant: was just wondering about your not liking nontrivialities atm
17:28:15 <AnMaster> Deewiant, for example you could claim not to have o, but have an o that doesn't perhaps support the text mode
17:28:22 <oklopol> i'm sure you usually *love* triple negatives
17:28:23 <AnMaster> or only supports text mode
17:28:24 <Deewiant> AnMaster: But then you would know that you have a half-implemented o and thus could disregard the error.
17:28:32 <AnMaster> Deewiant, true
17:28:39 <Deewiant> oklopol: No, actually I don't usually not hate them
17:29:04 <AnMaster> Deewiant, that sounded awkward grammatically
17:29:07 <Deewiant> AnMaster: Besides, having a half-implemented o like that is probably not very likely :-P
17:29:17 <oklopol> no it didn't
17:29:27 <AnMaster> Deewiant, well yeah "no text mode" is more likely than "no binary mode"
17:29:35 <oklopol> your mom sounded awkward grammatically in bed last night
17:29:38 <Deewiant> I mean in general
17:29:52 <Deewiant> Why would you have a half-implemented o if you're going to report that you don't support it at all
17:30:00 <AnMaster> Deewiant, well cfunge used to have no text mode for a long time iirc, mycology doesn't test that afaik
17:30:47 <Deewiant> It does test it but because i ignores spaces it's impossible to test it automatically, so it asks the user to verify
17:31:09 <AnMaster> Deewiant, hm what about binary mode for i
17:31:45 <Deewiant> Still ignores spaces
17:32:13 <AnMaster> Deewiant, also no it doesn't test it, since I'm implementing o in efunge atm, and text mode throws an exception. However it passes mycology just fine
17:32:44 <Deewiant> Okay, so it just prints a message then
17:33:16 <oerjan> AnMaster: hm, vim can also support emacs style tag files
17:33:21 <AnMaster> Deewiant, yeah:
17:33:23 <AnMaster> "Can't test o in linear text mode: i ignores spaces, no way to know from within standard Funge-98 whether they are output to file."
17:33:37 <AnMaster> oerjan, I don't use etags either
17:35:01 <oerjan> well those are the styles i have heard about (because vim supports them, probably)
17:35:14 <AnMaster> oerjan, well yeah I don't use *tags...
17:35:27 <oerjan> well i don't either
17:35:45 <AnMaster> anyway what oklopol wanted sounds closer to bookmarks
17:36:01 <AnMaster> which I believe almost all "more advanced than notepad" editors support
17:36:25 <AnMaster> you mark a line then you can jump to it
17:36:31 <oerjan> <oklo> why don't text editors have call stacks <-- the line before the one i quoted
17:37:25 <oerjan> and [ce]tags is essentially using a program to create bookmarks for all functions in a program file, afaik
17:37:42 <AnMaster> yeah but I prefer a specific line usually
17:44:29 -!- zeotrope has changed nick to zoetrope.
17:45:01 -!- zoetrope has quit ("leaving").
17:49:36 <oklopol> bookmarks? what if i'm in function f, and want to fix f, then return to f?
17:50:04 <oklopol> well okay, obviously i could still use the bookmark for f. still, that doesn't solve the problem
17:50:10 <oklopol> in fact it has nothing to do with it
17:50:23 <oklopol> i don't mind searching for f, i do mind trying to remember where i was
17:50:31 <oklopol> well having to try
17:53:36 -!- augur has quit (Read error: 113 (No route to host)).
17:54:22 <oerjan> oh, it seems vim has a stack (or list) for marks as well
17:54:57 <oerjan> or any jump
17:55:10 * Sgeo missed the bus he wanted to take
17:55:48 <oklopol> so where are you now?
17:55:52 <Sgeo> At home
17:55:52 <oklopol> another bus?
17:56:05 <oklopol> 1:20 then?
17:56:14 <Sgeo> 1:09
17:56:26 <oklopol> is this the c++ thing
17:56:37 <Sgeo> Um, I have that class later in the day
17:56:43 <Sgeo> First is a Psychology class
17:56:52 <oklopol> ...phychology?
17:57:01 <oklopol> is this high school
17:57:05 <oklopol> i mean
17:57:06 <oklopol> that other thing
17:57:37 <oklopol> or actually i guess high school
17:58:03 <Sgeo> This is college
17:58:24 <oklopol> are you 17 or something?
17:58:32 <Sgeo> 20
17:58:36 <oklopol> ...what? :P
17:58:43 <oklopol> hmm
17:58:56 <Sgeo> I'm taking a mix of early and late courses
17:59:07 <Sgeo> >.>
17:59:14 <oklopol> i think i've misremembered your age before as well, i have a recall of you saying you're 15 a few years ago
17:59:55 <Sgeo> I doubt I would have shared my age 5 years ago
17:59:56 <oklopol> my brain doesn't like change
18:00:03 <oklopol> i wasn't here 5 years ago
18:00:29 <Sgeo> Anyway, off to catch a predit.. bus
18:00:37 <AnMaster> Deewiant, how should o work with respect to values greater than 255?
18:01:29 <AnMaster> Deewiant, either I can do % 256 or I can treat it as an unicode codepoint. The latter means it may reflect if it isn't a valid codepoint (for example, it is a number reserved as a surrogate pair or such)
18:01:46 <Deewiant> UNDEF
18:01:56 <AnMaster> Deewiant, how does ccbi handle it btw?
18:02:17 <Deewiant> % 256
18:02:48 <AnMaster> hm
18:03:10 <AnMaster> probably a better idea, you might want to output non char data
18:05:48 -!- augur has joined.
18:17:13 <AnMaster> Deewiant, oh btw you are missing a test for binary o
18:17:21 <AnMaster> you check that no more than expected columns are included
18:17:26 <AnMaster> but you are not doing the same for rows
18:17:40 <AnMaster> took me a while to track down why some other things weren't working
18:17:45 <AnMaster> since I had that exact bug
18:19:37 <Ilari> IIRC, the condition for valid unicode codepoint x is: ((x >= 0 AND x < 0xD8000) OR (x >= 0xE000 AND x < 0x10FFFF)) AND (x & 0xFFFE != 0xFFFE).
18:19:43 -!- cpressey has joined.
18:23:29 <AnMaster> Ilari, actually it need to be 1) valid 2) representable in UTF-8
18:23:38 <AnMaster> anyway I'm treating it as binary % 256 now
18:23:48 <Deewiant> UTF-8 is a binary encoding, it can represent anything.
18:23:58 <AnMaster> Deewiant, eh?
18:24:06 <AnMaster> sure?
18:24:17 <AnMaster> iirc there are some of the higher planes or something
18:24:31 <AnMaster> or was that UTF-16=
18:24:34 <AnMaster> s/=/?/
18:24:52 <Deewiant> The standard limits it to 0x10ffff (formerly 0xffffffff) but the idea of UTF-8 can be extended to any value
18:26:15 <Ilari> All those codepoints can be represented by UTF-8 (unicode only goes up to plane 16 (17th plane)). 4-byte UTF-8 would go up to plane 31. 6-byte UTF-8 (older form) would go up to plane 32767.
18:26:36 -!- augur has quit (Read error: 110 (Connection timed out)).
18:26:48 <Ilari> BMP is plane 0.
18:28:01 <AnMaster> Ilari, what is the "AND (x & 0xFFFE != 0xFFFE)" bit about
18:28:36 <Deewiant> All planes have two final code points which are assigned to noncharacters
18:28:45 <AnMaster> ah, but why=
18:28:47 <AnMaster> s/=/?/
18:28:58 <Deewiant> Something wrong with your shift key today? :-P
18:28:59 <Ilari> BOM?
18:29:28 <AnMaster> Deewiant, I'm on my laptop, slightly different key placement. I use my desktop more
18:29:30 <Deewiant> BOM for the first plane, doesn't seem to make much sense for the others though
18:29:41 <AnMaster> reason for this is that the backlight died in desktop monitor this evening
18:29:49 <AnMaster> so I have to buy a new one tomorrow or something
18:30:00 <AnMaster> which is highly inconvenient
18:30:13 <AnMaster> Deewiant, well yeah
18:30:27 <AnMaster> Deewiant, does BOM manage to detect PDP endianness btw
18:30:54 <Deewiant> There is no such thing as PDP endianness for UTF-16 or UTF-32
18:30:54 <Ilari> Should work if its UTF-32...
18:31:12 <AnMaster> Deewiant, there should be
18:34:31 -!- augur has joined.
18:46:34 <Ilari> UTF-32 BOM in PDP-endianess would be '00 00 FE FF'. Little endian would be 'FE FF 00 00' and big endian '00 00 FF FE'.
18:48:26 <Ilari> UTF-32 BOM would contain sufficient information about byte order for decoding any valid unicode codepoint correctly, no matter what the byte order.
18:49:24 <Ilari> The tricks would only work if there are no characters above plane 255, but Unicode doesn't allow that anyway.
18:52:57 <Ilari> For UTF-16, PDP endianess and little endian are the same.
18:54:58 <coppro> and UTF-8 has no endianness, no matter what Microsoft thinkgs
18:55:00 <coppro> *think
18:55:02 <coppro> *thinks
19:03:58 <AnMaster> coppro, indeed I know that
19:04:25 <coppro> I know. I just wanted to complain about MSFT
19:04:35 <AnMaster> Ilari, what about PDP but with the first two bytes exchanged? XD
19:04:59 <AnMaster> you said "no matter what the byte order." but maybe you meant "existing byte order"
19:05:13 <AnMaster> coppro, why the FT btw
19:05:23 <coppro> FT?
19:05:27 <AnMaster> in MSFT
19:05:40 <coppro> oh, that's their ticker symbol
19:05:59 <AnMaster> yeah but why
19:06:16 <coppro> because?
19:06:19 <AnMaster> meh
19:21:55 <Ilari> "No matter what byte order" includes all 24 possible byte orders for UTF-32.
19:25:01 <coppro> how is abcd distinguishable from bacd
19:25:10 <coppro> you get double zero leading the file either way
19:25:34 <pikhq> Would be if the BOM were FEFF0102 or some such.
19:25:42 <coppro> yeah
19:25:51 <pikhq> ... Oh, except that'd overlap with other chars.
19:26:07 <pikhq> FEFFFCFD might not.
19:26:17 <coppro> it would too
19:26:32 <pikhq> coppro: How so?
19:26:47 <pikhq> Is FC or FD the top of the private usage range?
19:27:04 <coppro> U+FFFD is �
19:27:14 <pikhq> UTF32.
19:27:34 <coppro> what about it?
19:27:55 <pikhq> It won't consider FFFDFCFE or FFFDFEFC as "U+FFFD".
19:27:57 <coppro> oh
19:27:59 <coppro> right
19:28:02 <coppro> yeah, that would be safe then
19:28:06 <pikhq> It'll consider it as U+FFFDFCFE or U+FFFDFEFC.
19:28:06 <coppro> since you're never even in a valid plane
19:28:21 <coppro> but then it wouldn't be a legal character
19:28:33 <pikhq> Oh well.
19:28:56 <pikhq> The only point of the BOM is to indicate the byte order. It's really just metadata for the UTF.
19:29:01 <coppro> yeah
19:33:27 <AnMaster> hm I should read stdarg.h
19:33:30 <AnMaster> it should be fun
19:34:14 <AnMaster> argh it uses __builtins
19:45:43 <AnMaster> typedef __builtin_va_list __gnuc_va_list;
19:45:45 <AnMaster> wtf
19:45:57 <AnMaster> a intrinsic type?
19:45:59 <AnMaster> an*
19:46:45 * AnMaster prods pikhq
19:47:25 <pikhq> AnMaster: Yeah, GNU C has a lot of additional intrinsics.
19:47:40 <AnMaster> pikhq, I thought they were all function-like
19:47:40 <pikhq> Particularly for stdarg.h
19:47:59 <AnMaster> but a type like one is messy
19:48:27 <pikhq> Nope. Good number of intrinsic types.
19:48:35 <AnMaster> pikhq, other ones?
19:48:36 <AnMaster> like?
19:50:17 <pikhq> Vector types.
19:50:21 <pikhq> __label__
19:50:26 <AnMaster> pikhq, that one is the only case of typedef and __builtin on the same line in /usr/include, /usr/lib/gcc/*/*/include
19:50:42 <AnMaster> pikhq, aren't they made using __attribute__s iirc?
19:51:00 <pikhq> Oh, right. The vector types are __attribute__s on int.
19:51:12 <AnMaster> like float foo __attribute__((something))
19:51:17 <AnMaster> pikhq, not float?
19:51:54 <pikhq> float is also valid.
19:52:02 <pikhq> That's a float vector rather than an int vector.
19:52:23 <AnMaster> yeah
19:52:29 <AnMaster> double should be valid too
19:52:55 <AnMaster> probably char/short/long as well
19:53:07 <AnMaster> and long long I guess
19:54:16 <pikhq> There's the complex types.
19:54:42 <pikhq> _Complex int = 3i;
19:54:54 <pikhq> Erm.
19:54:57 <pikhq> _Complex int foo = 3i;
19:55:14 <MissPiggy> that sounds complex ;]
19:55:23 <pikhq> __real__ foo == 0, __imag__ foo = 3.
19:55:53 <AnMaster> hm
19:56:09 <AnMaster> pikhq, hrrm, why not add __builtin_ to it?
19:56:21 <AnMaster> or rather: why add it to va_list
19:57:49 <AnMaster> also why did they add complex arithmetic to C99
19:58:02 <AnMaster> I mean, it isn't very hard to implement it manually
19:58:27 <pikhq> It's an extension to C99's complex arithmetic support.
19:58:43 <pikhq> (C99 has complex floats)
19:58:50 <AnMaster> pikhq, I know it does
19:58:58 <AnMaster> that was the bit I was questioning
19:59:20 <pikhq> It's also a bit old...
19:59:31 <pikhq> Predates C99.
19:59:59 <AnMaster> pikhq, well C89 didn't
20:00:03 <AnMaster> but I guess some system had it
20:00:30 <pikhq> It's GNU C.
20:00:40 <AnMaster> erhm
20:00:41 <pikhq> They add a lot of stuff.
20:00:55 <AnMaster> iirc gcc doesn't fully support C99 complex math
20:01:29 <oerjan> a C99 predator
20:01:36 <AnMaster> -_-
20:03:12 <pikhq> It appears that it doesn't work in 4.4, but it does work perfectly in trunk.
20:03:14 <pikhq> So, 4.5.
20:04:13 <AnMaster> brb, need to disconnect a cable temporarily, that would usually work but ubuntu is too smart and senses the cable is unplugged
20:04:35 <AnMaster> yeah, lost connection to the bouncer
20:19:22 <AnMaster> pikhq, btw did you know erlang both allows you to use - as the infix substraction operator but also (with some trickery) allows function names like: is-number?
20:20:00 <Deewiant> What's the trickery
20:20:01 <AnMaster> (IOCCC-esque hack warning)
20:20:11 <AnMaster> Deewiant, function names are just atoms
20:20:37 <AnMaster> atoms are normally: [_a-z][_A-Za-z0-9]
20:20:43 <AnMaster> but you can use ' to quote
20:20:54 <AnMaster> to allow any string for an atom
20:21:00 <AnMaster> like 'My foo-atom'
20:21:01 <coppro> he speaks the truth
20:21:25 <AnMaster> coppro, I tried, it works to have '' (the empty atom) as a function name
20:21:28 <Deewiant> That's not really trickery nor allowing f-2 as a function name
20:21:29 <AnMaster> also, spaces
20:21:30 <coppro> :D
20:21:34 <Deewiant> It's allowing 'f-2'
20:21:41 <AnMaster> Deewiant, yes but that is just syntax
20:21:48 <Deewiant> Function names are just syntax
20:21:49 <AnMaster> the actual function is called f-2
20:21:53 <coppro> if you turn 'f-2' into a string, you get "f-2"
20:21:58 <AnMaster> coppro, yep
20:22:01 <coppro> just as if you turn f into a string, you get "f"
20:22:13 <AnMaster> yes indeed, atom_to_list/1 I believe?
20:22:24 <AnMaster> coppro, also module names
20:22:25 <Deewiant> I expected something context-dependent that would allow f-2(x) or something
20:22:31 <coppro> yeah
20:22:38 <Deewiant> That's just allowing quoted names
20:22:40 <AnMaster> coppro, but loading .beam didn't work iirc
20:22:44 <Deewiant> Which isn't really that exciting
20:22:46 <coppro> makes sense
20:22:47 <MissPiggy> ??
20:22:48 <AnMaster> nor ''.beam
20:22:56 <MissPiggy> ah erlang
20:22:57 <coppro> atoms are awesome generally
20:23:02 <AnMaster> coppro, well yes
20:23:05 <MissPiggy> this is inherited from prolog
20:23:18 <AnMaster> coppro, except one point which I'm quite sure you are also familiar with
20:23:20 <MissPiggy> where you can do stuff like x 'is the same as' y
20:23:23 <AnMaster> and I hope they really fix
20:23:29 <coppro> which point is that?
20:23:36 <coppro> it's been a while
20:23:42 <AnMaster> coppro, pool, not gced
20:23:51 <coppro> ah, right
20:23:51 <AnMaster> yeah the upper limit is huge
20:23:53 <coppro> yeah
20:23:53 <AnMaster> but still
20:24:01 <coppro> that's annoying
20:24:12 <coppro> means you have to be careful what you list_to_atom, if at all
20:24:21 <AnMaster> coppro, there is list_to_existing_atom
20:24:29 <AnMaster> also you don't do that sort of thing anyway
20:24:48 <coppro> I've done it
20:24:51 <AnMaster> coppro, why=
20:24:55 <AnMaster> s/=/?/
20:25:00 <coppro> to generate multiple unique atoms from a single one
20:25:06 <coppro> by appending/prepending something
20:25:07 <AnMaster> hah
20:25:34 <coppro> not based on input though
20:25:40 <AnMaster> Deewiant, btw it isn't shift that is an issue. it is the difference between (normal/shifted): 0= and +?
20:26:00 <AnMaster> (that was for the benefit of those with other keyboard layouts
20:26:13 <Deewiant> Right you are, my bad
20:26:15 <AnMaster> coppro, good
20:27:09 <AnMaster> Deewiant, which is strange since the "main" key area have fully sized keys on thinkpads
20:28:11 <AnMaster> coppro, oh btw another cool thing that I think is undocumented
20:28:20 <AnMaster> erlang:'+'/2
20:28:22 <AnMaster> that exists
20:28:29 <AnMaster> you can see it doing erlang:module_info()
20:28:40 <coppro> and + is just sugar?
20:28:46 <AnMaster> coppro, don't think so
20:29:00 <AnMaster> coppro, or rather: I don't know
20:29:21 <AnMaster> coppro, but if it is sugar, then the internal way is undocumented
20:29:33 <coppro> would be awesome if you could overload like that
20:29:42 <AnMaster> coppro, overload what?
20:29:58 <AnMaster> anyway, it could be
20:30:01 <coppro> operators, by creating a function named like the operator
20:30:04 <AnMaster> if it is auto imported
20:30:15 <AnMaster> coppro, go try it out
20:30:21 <coppro> I will later
20:30:24 <AnMaster> but if it *is* auto imported
20:30:28 <AnMaster> I have no idea what would happen
20:31:32 <AnMaster> coppro, also if it is overloadable like that, how would it interact with guards
20:31:41 <coppro> Oo
20:31:57 <AnMaster> coppro, you just realised? :D
20:32:05 <coppro> yeah
20:32:16 <AnMaster> coppro, and I don't even want to think what would happen with HIPE
20:32:23 <AnMaster> think about*
20:32:33 -!- jpc has joined.
20:32:47 <AnMaster> coppro, maybe it would break all guards using +?
20:32:58 <coppro> maybe
20:33:08 <coppro> maybe it would give nondeterministic guards O_o
20:34:46 <AnMaster> coppro, or maybe overriding it won't work
20:35:06 <AnMaster> coppro, as in, + -> erlang:'+' not '+'
20:35:15 <coppro> yeah
20:35:22 <coppro> that seems most likely
20:36:27 <oerjan> if it's inherited from prolog, then operator + should be the same as '+'/2, i think
20:36:38 <AnMaster> Deewiant, anyway about those function names, you couldn't quote ++ as a function name in C
20:36:52 <Deewiant> You can't quote any names in C, yes
20:37:04 <AnMaster> Deewiant, nor most other languages I know
20:37:15 <Deewiant> You can't quote just about anything in LLVM, I think
20:37:16 <AnMaster> apart from prolog and possibly some lisps
20:37:20 <Deewiant> Er
20:37:21 <Deewiant> Can
20:37:26 <AnMaster> Deewiant, well okay
20:37:34 <AnMaster> but what about high level languages
20:37:47 <AnMaster> then I only know of erlang, prolog and various lisps
20:37:51 <AnMaster> (with 'foo)
20:38:02 <Deewiant> Lisp-derivatives and Prolog-derivatives, yes :-P
20:38:09 <AnMaster> <oerjan> if it's inherited from prolog, then operator + should be the same as '+'/2, i think <..
20:38:11 <Deewiant> Maybe Perl, it sounds like the kind of thing it could do
20:38:14 <AnMaster> that is what we talked about
20:38:21 <AnMaster> Deewiant, okay that's a good point
20:38:29 <AnMaster> don't know enough perl to know the answer to that
20:38:30 <oerjan> lisp 'foo isn't really the same thing, you cannot put special things in foo
20:38:38 <AnMaster> oerjan, oh true good point
20:38:44 <oerjan> it's just an abbreviation for (quote foo)
20:39:03 <AnMaster> Deewiant, you can't make a function called f(o)o in lisp
20:39:36 <oerjan> you can probably do it with the gensym function?
20:40:03 <AnMaster> oerjan, doesn't that generate guaranteed unique ones for macros?
20:40:06 <AnMaster> or do I misremember
20:40:17 <oerjan> hm maybe i do
20:40:25 <AnMaster> in erlang you can even make arbitrary module names
20:40:38 <AnMaster> except of course that the null atom breaks badly when trying to load the module
20:40:47 <AnMaster> (as in, it can't locate the matching file)
20:41:27 <AnMaster> oh and the compiler messes up the name of the file too iirc
20:46:04 -!- oerjan has quit ("Good night").
20:50:53 <MissPiggy> where is ehird
20:50:56 <pikhq> Why does GCC suck so bad at error messages?
20:51:10 <MissPiggy> probably because it's difficult to do good reports on C
20:51:31 <pikhq> "Hmm, that's a very large macro usage. I should report all errors on it as being from the first line."
20:55:53 <pikhq> "Error: initializer element is not constant". Yeah, eff you.
20:56:57 <pikhq> How is there an initialiser in a macro declaration, anyways?
20:57:36 <pikhq> Oh, that's how. It decides sometimes to give a line number from the macro declaration rather than the macro usage.
20:57:38 -!- comex has changed nick to fag.
20:57:40 <pikhq> But only sometimes.
20:57:44 -!- fag has changed nick to comex.
20:57:52 <AnMaster> very rare event coming up!
20:57:58 <AnMaster> extremely rare even
20:58:22 <AnMaster> second time in about 7 years. that is how rare.
20:58:47 <pikhq> AnMaster: ?
20:58:56 <MissPiggy> AnMaster just says that every 7 years
20:58:57 <AnMaster> pikhq, replacing batteries in a TI-83+
20:59:27 <AnMaster> if you had any similar TI calculator you know what I mean
20:59:40 <AnMaster> MissPiggy, I don't think I was on IRC seven years ago
21:00:54 <pikhq> main.c:112:1: error: pasting ""S"" and "_thunk" does not give a valid preprocessing token
21:01:06 <pikhq> Yes... Because I wanted you to stringise that silently.
21:01:07 <pikhq> Of course.
21:01:18 <AnMaster> pikhq, what did you do
21:01:38 <pikhq> AnMaster: name##_thunk
21:02:34 <AnMaster> pikhq, isn't it #
21:02:39 <AnMaster> wait no
21:02:42 <AnMaster> I'm just tired
21:03:02 <pikhq> GCC is quite terrible at error messages.
21:03:03 <pikhq> static void *__LAMBDA__I_thunk (void*c) { { { return ({ void* __LAMBDA__ (void *_, closure x) { { printf("I thunk (%p)!\n", x); return x; }; }; closure _x = ({ closure _x = xgc_malloc; _x->func(_x->close, sizeof(struct closure)); }); *_x = (struct closure){ __LAMBDA__, ((void *)0) }; _x; }); }; }; } static struct closure __LAMBDA__I_thunk_ = { __LAMBDA__I_thunk, ((void *)0) }; static closure I_thunk = &__LAMBDA__I_thunk_;; static struct th
21:03:12 <pikhq> Then again, I'm not sure how to give useful ones on that.
21:04:53 <AnMaster> pikhq, agreed
21:05:00 <AnMaster> pikhq, still doing stuff on it?
21:05:59 <AnMaster> pikhq, care to give me the last working header file?
21:06:08 <AnMaster> also you should host this project somewhere
21:06:34 <pikhq> AnMaster: I'm using it to write a SKI interpreter.
21:06:52 <AnMaster> pikhq, wonderful :D
21:07:00 <pikhq> It's kinda nasty when being lazy.
21:07:03 <pikhq> So many thunks...
21:07:05 <AnMaster> pikhq, haha
21:09:51 <pikhq> main.c:83: warning: initialization from incompatible pointer type
21:11:14 <pikhq> That, of course, means "main.c:83-112: or main.c:9-14: or main.c:16-21: or main.c:23-27: or lambda.h:7-13: or lambda.h:15-24: warning: initialization from incompatible pointer type"
21:18:19 -!- cheater2 has joined.
21:21:50 -!- augur has quit (Read error: 110 (Connection timed out)).
21:27:44 -!- coppro has quit (Remote closed the connection).
21:28:25 -!- coppro has joined.
21:34:12 -!- cheater3 has quit (Connection timed out).
21:35:35 * pikhq wonders what's segfaulting.
21:36:54 <pikhq> All I know is that a complete call trace isn't helping that much.
21:39:45 <olsner> it's probably a bug in the program you're running
21:42:39 <coppro> I was going to suggest a bug in a syscall
21:42:58 <coppro> probably the io multiplexing isn't working
21:45:08 <pikhq> olsner: I'm trying to figure out a bug *in my code*, so yes...
21:45:45 <olsner> pikhq: ok, then it's either a kernel bug or a hardware problem
21:46:36 <pikhq> olsner: Clearly.
21:46:44 <pikhq> I write perfect C, after all.
21:47:25 <olsner> hmm, not so sure about you, but I do
21:48:53 -!- augur has joined.
21:49:32 <AnMaster> pikhq, single stepping?
21:50:09 <AnMaster> pikhq, and if s doesn't help, then try si
21:50:18 <AnMaster> (that would be painful though)
21:50:40 <cpressey> int x = void; goto x; <-- my perfect C.
21:51:24 <AnMaster> cpressey, some weird gnu extension?
21:51:58 <MissPiggy> cpressey what does it mean?
21:51:59 <AnMaster> I have a vague memory of ais declaring the stack pointer or something such as a void variable
21:52:00 -!- cheater3 has joined.
21:52:08 <cpressey> No, it's just poetry.
21:52:09 <AnMaster> in his gcc-bf runtime code
21:52:28 <AnMaster> cpressey, then I doubt it is valid :)
21:52:45 <Gregor> I lurve that you can write Cish nonsense and people go "is that a GNU extension?"
21:52:51 <Gregor> Yes, GNU has made void a value :P
21:52:58 <Gregor> It's like JavaScript's undefined
21:55:23 <pikhq> AnMaster: Single stepping through a Boehm GC collection.
21:55:24 <AnMaster> Gregor, don't think gcc's void can be used like that
21:55:29 <AnMaster> pikhq, yeargh
21:55:44 <AnMaster> pikhq, try valgrind.. wait doesn't work on boehm-gc
21:55:47 * Gregor bashes his head into a wall.
21:56:08 <AnMaster> Gregor, in fact I never seen gcc's void value documented
21:56:24 -!- cheater2 has quit (Connection timed out).
21:56:25 <Gregor> I'll try that again.
21:56:39 * Gregor headbutts AnMaster, Zidane-style.
21:56:49 <AnMaster> define:Zidane
21:57:05 <AnMaster> Final Fantasy IX|ファイナルファンタジーIX|Fainaru Fantajī Nain is a console role-playing game developed and published by Square (now Square Enix) as the ninth installment in the Final Fantasy series. ...
21:57:06 <AnMaster> en.wikipedia.org/wiki/Zidane_(Final_Fantasy)
21:57:07 <AnMaster> hm okay
21:57:18 <Gregor> lawl
21:57:31 <AnMaster> Gregor, doesn't mean much to me. iirc I played some final fantasy game in zsnes though
21:57:38 <AnMaster> could have been 1 or 3 or something like that?
21:57:49 <Gregor> Can somebody else please lawl along with me at how little AnMaster understands wtf I'm talking about? :P
21:58:00 <pikhq> Lawl.
21:58:04 <coppro> Lawl
21:58:04 <Gregor> Thank you.
21:58:13 <AnMaster> Gregor, well I realise that you found it funny that I didn't "get the joke" to begin with
21:58:15 <AnMaster> but in fact I did
21:58:22 <AnMaster> I was just more interested in serious bit
21:58:27 <AnMaster> about what gcc void actually is
21:58:39 <AnMaster> Gregor, which is why I selected to concentrate on it :P
21:58:57 <coppro> http://en.wikipedia.org/wiki/2006_FIFA_World_Cup_Final
21:58:58 <Gregor> AnMaster: You compounded that by somehow being ignorant of the Zinedine Zidane headbutt incident, which even I, an American, am not ignorant of.
21:59:16 <AnMaster> Gregor, mhm?
22:00:19 <AnMaster> Gregor, ah googling for zidane *and* headbutt gave some more relevant results
22:00:31 <AnMaster> Gregor, however then I have to tell you: I hate team sports
22:00:39 <AnMaster> there is nothing more boring to watch
22:00:46 <AnMaster> (as for playing such, that would be hell)
22:00:53 <AnMaster> Gregor, for sport I prefer Aikido
22:00:58 <Gregor> I'm in a country that /doesn't even call that sport by the right name/ :P
22:01:08 <AnMaster> Gregor, well yeah and?
22:01:19 <AnMaster> Gregor, I haven't watched football for over 10 years I think
22:01:25 <AnMaster> and then only for a few minutes
22:01:33 <AnMaster> just to see what all the fuss was about
22:01:45 <coppro> even /I/ know
22:02:42 <AnMaster> coppro, and?
22:02:59 <AnMaster> point is, I never even reads the sports pages in the morning news paper
22:03:03 <AnMaster> what do you expect
22:03:12 <coppro> neither do I
22:03:21 <AnMaster> oh wait you americans doesn't read newspapers at all (mostly)
22:03:22 <AnMaster> ;P
22:03:34 <coppro> I am not American, and I do read the newspaper
22:03:37 <coppro> I also listen to the radio
22:03:57 <AnMaster> coppro, well not being American explains it
22:04:01 <AnMaster> what country are you from
22:04:05 <coppro> Canada
22:04:11 <AnMaster> also I listen to the classical music channel
22:04:13 <AnMaster> ;P
22:04:15 <AnMaster> bbl
22:04:31 <coppro> (well, technically I'm American. But people never ever use that word correctly :( )
22:05:36 <pikhq> coppro: We of the US claim the continent for our own.
22:05:40 <pikhq> Yes, the whole thing.
22:05:50 <coppro> pikhq: I thought you were Canadian?
22:05:58 <pikhq> No.
22:06:01 <coppro> oh
22:06:11 <pikhq> Just a bitter USian.
22:06:11 * coppro wonders why he thought that, then
22:06:35 <coppro> pikhq: so that's why you send all the Mexicans home?
22:06:46 <Gregor> pikhq: You mean the whole landmass.
22:06:54 <coppro> also, what about South America?
22:06:57 <Gregor> We get South America too, although we don't like them damn Mexi-cans.
22:07:15 <pikhq> Gregor: Right, right.
22:07:37 <pikhq> And we would like to claim the other landmasses, too.
22:07:45 <pikhq> We have a base on every one!
22:09:54 <AnMaster> <coppro> (well, technically I'm American. But people never ever use that word correctly :( ) <-- true
22:10:07 <Gregor> USian just sounds funny.
22:10:09 <AnMaster> but that is because saying "USian" is rather hard
22:10:10 <AnMaster> yeah
22:10:14 <AnMaster> and funny
22:10:18 <Gregor> Youzhian
22:10:23 <coppro> pronounce it like "ASian", except with a u
22:10:29 <AnMaster> Gregor, no z there?
22:10:35 <AnMaster> in either asian or yousian?
22:10:36 <Gregor> I was using "zh" as the voiced version of "sh"
22:10:47 <AnMaster> Gregor, is this something usian=?
22:10:50 <Gregor> No
22:10:51 <AnMaster> s/=//
22:10:53 <Gregor> That's something Gregoran.
22:11:11 <AnMaster> Gregor, or to let me rephrase it: "RP?"
22:11:15 <coppro> oozhan
22:11:34 <cpressey> Susan who?
22:11:40 <AnMaster> cpressey, hdehe
22:11:41 -!- Sgeo|web has joined.
22:11:41 <AnMaster> hehe*
22:16:16 <cpressey> Python: like or dislike?
22:16:46 <coppro> meh
22:16:49 <cpressey> (I'm trying to decide, myself, y'see. And I Value Your Input.)
22:17:13 <cpressey> I think I agree with coppro.
22:17:34 <AnMaster> cpressey, better than many languages, worse than many
22:17:49 <AnMaster> an average performer in scripting languages
22:17:50 <Sgeo|web> cpressey, love
22:18:20 <AnMaster> cpressey, you can actually get used to the indention. (everyone knows the erlang way of doing it is superior ;P)
22:18:23 <coppro> as a quickie scripting language, it's good
22:18:23 <Sgeo|web> AnMaster, besides lambdas, how could Python be considered "worse" than a programming language?
22:18:34 <AnMaster> Sgeo|web, well it is imperative
22:18:36 <coppro> Sgeo|web: prototype model?
22:18:39 <Sgeo|web> *aother
22:18:42 <Sgeo|web> coppro: hm?
22:18:49 <coppro> you can redefine objects on a whim
22:18:53 <AnMaster> Sgeo|web, also no tail recursion
22:19:08 <Sgeo|web> AnMaster, isn't that just an implementation issue?
22:19:11 <AnMaster> lets say, python is way better than php, java, perl and many other languages
22:19:11 <cpressey> AnMaster: I actually like the indentation rule, mostly.
22:19:12 <coppro> there's no encapsulation
22:19:23 <AnMaster> Sgeo|web, ...? the imperative bit isn't just implementation
22:19:27 <AnMaster> the tail recursion is
22:19:29 <coppro> for a language that claims to be object-oriented, that's pretty bad
22:19:32 <Sgeo|web> AnMaster, I meant the tail recursion
22:19:34 <AnMaster> coppro, and that
22:19:37 -!- tombom has quit ("Leaving").
22:19:40 <AnMaster> Sgeo|web, still it is imperative
22:19:52 <AnMaster> also what coppro said about OO
22:20:10 <AnMaster> also python 2 -> 3 broke stuff badly
22:20:11 <coppro> def foo: pass \ SomeClass.__internal_function = foo
22:20:27 <AnMaster> you wouldn't see that kind of change between revisions of C
22:20:29 <AnMaster> for example
22:20:47 <AnMaster> also __slot__ or whatever it was
22:20:47 <cpressey> AnMaster: Python 3 should have an entirely different name. So should Perl 6. And Lua 5.1 should have been Lua 6.
22:20:49 <AnMaster> (yeargh)
22:21:05 <AnMaster> cpressey, thankfully I managed to avoid lua mostly
22:21:12 <coppro> I do not have an issue with intentionally breaking backwards-compatibility; py3k was fine
22:21:13 <AnMaster> for perl I just gave up
22:21:28 <AnMaster> (too much syntax)
22:21:37 <coppro> yeah
22:21:45 <AnMaster> I believe the right amount of syntax lies somewhere between perl and lisp
22:21:49 <coppro> lol
22:22:04 <cpressey> AnMaster: ... isn't that essentially the entire range? :)
22:22:04 <coppro> so... basically there is a right amount of syntax somewhere?
22:22:13 <AnMaster> cpressey, exactly
22:22:18 * coppro wants a more unixy language
22:22:18 <AnMaster> coppro, yep
22:22:23 <AnMaster> coppro, shell
22:22:32 <coppro> no, a real language
22:22:46 <coppro> bash is hardly unixy in any case
22:22:46 <cpressey> APL might have "more syntax" than Perl
22:22:51 <cpressey> but not by much
22:23:03 <pikhq> coppro: There's no encapsulation in C++, either. :P
22:23:13 * coppro swats pikhq
22:23:23 <AnMaster> coppro, real?
22:23:34 <AnMaster> cpressey, I prefer one I can write on a normal keyboard
22:23:45 <AnMaster> coppro, as in
22:23:49 <AnMaster> define "real"
22:23:49 <coppro> AnMaster: a shell's facilities are all provided by external utilities
22:23:50 <AnMaster> language
22:23:55 <AnMaster> coppro, not really
22:24:02 * Sgeo|web has a Data Structures class at 6:30 local time
22:24:02 <AnMaster> coppro, much of envbot is written in bash
22:24:08 <Sgeo|web> The language used will probably be C++
22:24:10 <AnMaster> heck you can even do the tcp/ip in bash
22:24:13 * Sgeo|web shoots self
22:24:27 <coppro> AnMaster: without calling any foreign executables?
22:24:35 <AnMaster> coppro, unless you are on debian yes
22:24:38 <Sgeo|web> It occurs to me that when I forget most of what I know about a language, I start hating it
22:24:39 <coppro> Oo
22:24:40 <cpressey> Sgeo|web: You have my condolences.
22:24:44 <AnMaster> coppro, bash has the pseudo device /dev/tcp
22:24:51 <AnMaster> coppro, compile time option
22:24:59 <coppro> O_o
22:25:03 <AnMaster> coppro, see man page
22:25:08 <AnMaster> man bash that is
22:25:17 <coppro> as I said though, bash really isn't unixy
22:25:20 <AnMaster> you use exec to open it on a fd
22:25:27 <AnMaster> coppro, feel free to /msg envbot
22:25:30 * Sgeo|web also has a non-existent C# project outside of school
22:25:31 <AnMaster> I believe
22:25:34 <AnMaster> -commands
22:25:35 <coppro> AnMaster: I believe you
22:25:39 <coppro> I'm just saying it's not unixy
22:25:39 <AnMaster> is a good place to start
22:25:49 <AnMaster> coppro, it supports reloading modules on the fly
22:25:57 <AnMaster> it uses unset to unload modules
22:26:01 <AnMaster> source to load tem
22:26:02 <AnMaster> them*
22:26:10 <AnMaster> also it returns variable using printf -v
22:26:17 <AnMaster> which I believe pikhq translated to tcl once
22:26:25 <AnMaster> pikhq, wasn't it upval or something like that?
22:26:51 <coppro> AnMaster: okay, fine, it's a real language
22:26:57 <pikhq> AnMaster: uplevel "set var foo"
22:26:59 <pikhq> IIRC.
22:27:01 <AnMaster> pikhq, ah
22:27:18 <pikhq> The "set var foo" gets run in the caller's scope.
22:27:19 <AnMaster> coppro, well you can't do select()
22:27:34 <coppro> can't do it in standard C either
22:27:36 <AnMaster> pikhq, yeah except you don't need to do that on bash since it implicitly refers that way
22:27:40 <AnMaster> coppro, true
22:27:50 <AnMaster> coppro, anyway zsh can do it I think
22:28:01 <coppro> anyway, you're now arguing a point I conceded
22:28:02 <coppro> can you please stop?
22:28:08 <AnMaster> coppro, there is that zsh irc client that integrates with the line editing
22:28:10 <AnMaster> quite cool
22:28:13 <pikhq> AnMaster: Yeah... In Tcl, there's nothing in the function's scope until you add it.
22:28:22 <pikhq> "Global scope" can be explicitly accessed.
22:28:24 <AnMaster> coppro, http://www.aeruder.net/tag/zirc/
22:28:28 <AnMaster> pikhq, right
22:28:50 <pikhq> Otherwise, Tcl functions are actually pure functions from string to string.
22:28:51 <AnMaster> pikhq, well the thing is you can refer to the callers local variables
22:29:23 <pikhq> AnMaster: Oh, that? That's upvar.
22:29:30 <AnMaster> pikhq, well you can do:
22:29:32 <AnMaster> local foo
22:29:40 <AnMaster> someotherfunc foo
22:29:44 <AnMaster> and have:
22:29:50 <pikhq> upvar name x; binds the variable "name" in the caller's scope to "x" in the current scope...
22:30:06 <AnMaster> someotherfunc() { printf -v "$1" "%s" "bar"; }
22:30:25 <AnMaster> this will break if you declare a local foo in someotherfunc
22:30:51 <AnMaster> pikhq, basically bash is dynamically scoped, and local variables are those that are available from "here and downwards"
22:31:06 <AnMaster> so doing local foo in someotherfunc would result in shadowing
22:31:14 <AnMaster> pikhq, does that explain it?
22:31:30 <pikhq> AnMaster: Mmkay.
22:31:44 <AnMaster> if you don't say it is a local variable it is a global one (or a local one in a caller perhaps)
22:31:50 <AnMaster> they default to global anyway
22:31:53 <pikhq> AnMaster: So, it makes Tcl's explicit "refer to caller's scope" thing implicit.
22:32:13 <AnMaster> pikhq, perhaps. it could be more than one call up though
22:32:26 <pikhq> set foo "";somefunc foo; # Where: proc somefunc {x} {upvar $x foo;set foo "bar"}
22:32:47 <AnMaster> pikhq, also you can't have local variables at top level (that is, outside functions)
22:33:13 <pikhq> AnMaster: upvar has an optional argument to say how far up the stack you want to munge.
22:33:29 <AnMaster> pikhq, what if you have foo() { local x; bar; } and bar () { quux; } and quux() { x=2; }
22:33:31 <pikhq> And there's easy ways to get the stack trace...
22:33:35 <AnMaster> that would change it in foo in bash
22:33:54 <AnMaster> pikhq, in bash it goes up to where the local is defined
22:34:52 <AnMaster> pikhq, also you have to remember you could do "foo() { some_call_that_messes_with_y; local x; bar; local y; some_call_that_messes_with_y; }"
22:35:02 <AnMaster> that would change the global y first time
22:35:05 <cpressey> Does bash do tail-call optimization?
22:35:08 <AnMaster> but the local one the second time
22:35:12 <cpressey> I'm guessing not.
22:35:14 <AnMaster> cpressey, I strongly doubt it
22:35:30 <pikhq> AnMaster: Need to explicitly grep the stack for where it's defined.
22:35:52 <AnMaster> pikhq, ah well, bash must be higher level since it handles that for you ;P
22:36:53 <AnMaster> pikhq, anyway, did you know that local is a builtin
22:36:54 <AnMaster> as in
22:36:57 <AnMaster> it isn't syntax
22:37:06 <AnMaster> it acts like a built in command when it comes to exit code
22:37:33 <AnMaster> foo=$(bar; false); echo $?
22:37:46 <AnMaster> would return 1
22:37:47 <AnMaster> err
22:37:52 <AnMaster> print 1
22:37:53 <AnMaster> I mean
22:37:54 <AnMaster> but
22:37:58 <AnMaster> local foo=$(bar; false); echo $?
22:38:03 <AnMaster> would print 0
22:38:07 <AnMaster> pikhq, wonderful isn't it
22:38:17 <AnMaster> it is also the reason for [] vs. [[]]
22:38:29 <AnMaster> [] being traditional
22:38:52 <AnMaster> so you have $a=''; [ $a = '' ]
22:38:55 <AnMaster> well that won't work
22:39:01 <AnMaster> since $a is expanded before
22:39:08 <AnMaster> you would need to quote $a
22:39:19 <AnMaster> or use [[ ]] (where it works, since it is expanded after)
22:39:46 <cpressey> Ah, but I could exec $0 to get a similar effect to a tail-call, couldn't I?
22:40:31 <pikhq> Hmm. proc uppervar {x} {for {set i [info level]} {$i >= 0} {incr i -1} {if {[uplevel $i "info exists $x"]} {uplevel "upvar $i $x $x"}}}
22:40:50 <pikhq> I do believe that would be the appropriate stack-walking magic.
22:41:37 <AnMaster> cpressey, :D
22:41:47 <AnMaster> cpressey, that wouldn't be a function
22:41:50 <AnMaster> it would be per script
22:42:00 <AnMaster> also you would have to export all vars to the env
22:42:08 <cpressey> AnMaster: true.
22:42:17 <cpressey> Well, does bash have a 'goto'?
22:42:44 <AnMaster> cpressey, no
22:42:54 <AnMaster> cpressey, you could emulate one with switch I believe
22:42:58 <pikhq> No, but it has switch.
22:43:00 <AnMaster> err case
22:43:01 <AnMaster> that is
22:43:02 <olsner> exec "$0" etc, perhaps :P
22:43:12 <AnMaster> olsner, lagged much?
22:43:22 <AnMaster> or was that about quoting
22:43:26 <AnMaster> if so I applaud you
22:43:38 <MissPiggy> http://robozzle.com/index.aspx?puzzle=1638 GRRRRRRR
22:43:54 <olsner> I meant as a 'goto'
22:43:57 <cpressey> switch could emulate a forward goto, but not a backward one -- unless bash's switch is truly awesome in a way I'm not aware of.
22:44:01 <AnMaster> olsner, ouch
22:44:10 <olsner> it's a tail-call though, not quite the same
22:44:17 <AnMaster> cpressey, well you would have to put it in a loop I guess
22:44:54 <AnMaster> pikhq, idea: translate your lambda stuff to bash
22:45:01 <AnMaster> I suggest using eval somewhere in it
22:45:15 <AnMaster> (because I doubt there is any other way)
22:45:22 <coppro> MissPiggy: haha, that one is awesome
22:45:32 -!- kar8nga has joined.
22:45:39 <AnMaster> <MissPiggy> http://robozzle.com/index.aspx?puzzle=1638 GRRRRRRR <-- js link please
22:45:49 <MissPiggy> AnMaster what
22:45:49 <pikhq> AnMaster: NO NO NO NO NO.
22:45:54 <pikhq> ALSO NO.
22:45:55 <AnMaster> pikhq, why not?
22:46:07 <pikhq> DID I MENTION NO.
22:46:12 <AnMaster> MissPiggy, that links to silverdarkness
22:46:18 <MissPiggy> so?
22:46:20 <AnMaster> MissPiggy, which I lack and refuse to install
22:46:34 <AnMaster> MissPiggy, so link to the equiv js one
22:46:38 <MissPiggy> no
22:46:43 <AnMaster> *shrug*
22:47:01 <pikhq> cpressey: ... Wrap the entire program in a switch statement and a while loop?
22:47:10 <AnMaster> pikhq, sounds like gcc-bf
22:48:05 <cpressey> Eh, but I can write a trampoline in any language. The result is not really horrible enough to encourage me to actually do it.
22:48:25 <AnMaster> haha
22:48:27 <cpressey> Er, and by "any language" I mean any boring, mainstream, procedural language. :)
22:48:52 <AnMaster> cpressey, what about cobol
22:49:24 <cpressey> Writing something vaguely continuation-passing-looking using exec "$0" (nod to olsner) is a much more attractive idea.
22:49:38 <cpressey> AnMaster: COBOL is not boring :)
22:49:59 <AnMaster> cpressey, and yes great idea with bash
22:50:44 <MissPiggy> AnMaster, just go to any js puzzle and put the number in
22:52:14 <AnMaster> MissPiggy, meh going to sleep in a sec anyway
22:52:16 <AnMaster> night all
22:52:16 <olsner> cpressey: yay!
22:52:41 -!- cheater2 has joined.
22:52:49 <Sgeo|web> MissPiggy: It's easier than it looks
22:52:57 <Sgeo|web> It's much easier than it's supposed to be, in fact
22:53:03 <MissPiggy> Sgeo it's the fixed version I can't do
22:53:57 <Sgeo|web> Oh
22:54:12 <coppro> fixed version?
22:54:36 <Sgeo|web> http://robozzle.com/js/play.aspx?puzzle=1640
23:05:04 <coppro> ah, that's much trickier
23:05:12 -!- Sgeo|web has quit (Ping timeout: 180 seconds).
23:08:03 -!- cheater3 has quit (Connection timed out).
23:11:32 -!- BeholdMyGlory has quit (Remote closed the connection).
23:21:09 <MissPiggy> i don't have an idea of what program to write to make it go around that
23:21:15 <MissPiggy> I'm guessing that probably you have to do something with the red
23:29:44 -!- muni has joined.
23:30:53 -!- cpressey has left (?).
23:32:14 <FireFly> I have a hunch Tower of Hanoi may be solveable in CSS3, with its move-to property..
23:34:02 <MissPiggy> FireFly, that would be neat!!!
23:34:10 <FireFly> Indeed
23:34:50 <FireFly> (and a total abuse of CSS, of course :P)
23:35:33 -!- augur has quit (Read error: 110 (Connection timed out)).
23:38:47 <FireFly> Nighty
23:38:50 -!- FireFly has quit ("Leaving").
23:49:36 -!- muni has quit.
23:56:48 -!- augur has joined.
23:56:51 -!- jpc has quit (Read error: 110 (Connection timed out)).
←2010-01-26 2010-01-27 2010-01-28→ ↑2010 ↑all