←2008-08-24 2008-08-25 2008-08-26→ ↑2008 ↑all
00:02:25 <oklopol> http://www.vjn.fi/oklopol/music/random/skkssj.mid enjoy the fruit of my tired brain
00:03:28 -!- tusho has quit.
00:04:00 -!- Linus` has quit ("Puzzi. S, parlo proprio con te. Puzzi.").
00:10:31 <psygnisfive> tusho: punctuation is a matter of orthography, not syntax
00:41:36 -!- optbot has set topic: the entire backlog of #esoteric: http://tunes.org/~nef/logs/esoteric | not much more readable though.
00:43:20 -!- dogface has joined.
00:43:32 <dogface> I'm back, yay.
00:44:03 <psygnisfive> syntax!
00:46:09 -!- AnMaster has quit (No route to host).
00:46:43 <dogface> Semantics?
00:49:17 <psygnisfive> well, we could do that eventually
00:49:34 -!- RedDak has quit ("Killed (NickServ (Comando GHOST usato da DIO))").
00:51:25 <psygnisfive> to the pm!
00:51:54 <dogface> Oh.
00:52:21 <dogface> I'm still only taking a break between essay writings.
00:52:34 <dogface> One of many breaks.
00:55:50 <psygnisfive> good
00:55:54 <psygnisfive> during your break
00:55:59 <psygnisfive> you should describe english syntax :p
01:05:12 -!- Slereah_ has quit (Read error: 60 (Operation timed out)).
01:09:50 <oklopol> cool stuff, i need to wake up in 5 hours.
01:10:55 * dogface starts a fire near oklopol
01:10:57 <dogface> Now you can be warm.
01:12:50 <oklopol> thx!
01:14:54 <dogface> You're welcome.
01:27:05 -!- AnMaster has joined.
01:33:14 <dogface> And the fire is an invisible fire, so it won't do any damage. At least, I think that's how it works.
01:36:26 <dogface> We'll need to test.
01:36:31 <dogface> optbot!
01:36:31 -!- optbot has set topic: the entire backlog of #esoteric: http://tunes.org/~nef/logs/esoteric | hi psygnisfive.
01:36:48 <dogface> Thank you. As optbot instructed, we will now douse psygnisfive in methanol.
01:36:48 <optbot> dogface: presumably
01:36:58 <dogface> Oh, don't you doubt it.
01:37:03 * dogface does dousings
01:37:05 <psygnisfive> hahaha
01:37:11 <psygnisfive> methanol? but why? :(
01:37:15 <dogface> And now we light him on fire, and nothing will happen!
01:37:24 <dogface> Because methanol fires are invisible and therefore harmless!
01:37:34 <psygnisfive> well
01:37:40 <psygnisfive> being as how its evaporating off my skin
01:37:44 <psygnisfive> before burning
01:37:51 <psygnisfive> it might not be so OH MY GOD IT BURNS
01:38:04 <dogface> Uh oh.
01:38:13 <dogface> Calm down, I didn't even light you yet.
01:38:22 * dogface submerges psygnisfive in methanol, so as to prevent evaporation
01:38:31 * dogface ignites psygnisfive using the toothpaste-and-potato method
01:38:34 <psygnisfive> if im submerged it wont burn me :P
01:38:37 <dogface> Have fun.
01:38:55 <dogface> Nitpicker.
01:39:00 <psygnisfive> things dont burn without contact with oxygen :D
01:39:03 <psygnisfive> ::picks your nits::
01:39:25 <dogface> I advise you to exhale, then.
01:39:27 <psygnisfive> mm yeah thats right baby.. ::fondles your nits:: mmm you like that dont you
01:39:31 <dogface> Which you're already doing, as you're speaking.
01:39:35 <psygnisfive> *typing
01:39:44 <dogface> I'm afraid my nits' nerves do not attach to mine.
01:40:05 <psygnisfive> D:
01:40:08 <psygnisfive> awesome
01:40:15 <psygnisfive> im totally into nit torture
01:40:28 <psygnisfive> ::puts your nits in a clamp::
01:41:54 <dogface> And it doesn't even hurt!
02:40:38 -!- Sgeo has joined.
02:49:01 <oklopol> mörning Sgeo
02:49:15 <Sgeo> Hi oklopol
02:49:43 <dogface> Ellö.
02:49:56 <oklopol> i cannot sleep and it is not good
02:50:15 <dogface> Is that a diaeresis ör an umlaut? Unicöde doesn't distinguish between them.
02:50:26 <oklopol> it's an ummie
02:50:40 <dogface> Coöl.
02:50:52 <dogface> That means, öf course, that "coöl" isn't pronounced "co-ol".
02:51:30 <oklopol> i have no idea what all these characters are
02:51:35 <Sgeo> ¿
02:51:52 <oklopol> i only see them correctly on the, err, what'sitcalledbar
02:52:10 <oklopol> this typoing bar here
02:52:30 <oklopol> (couldn't correct that typo, cuz it was hilarious)
02:52:54 <Sgeo> fatralhilirity
02:53:06 <Sgeo> </nonsenseinessaafdS>
02:53:19 * Sgeo is slightly hyper right now
02:57:50 <dogface> Sgeo, you clearly need to meet... that guy I said Aftran should meet, assuming I actually said Aftran should meet him rather than just asking if he's met him.
02:58:15 <dogface> Instruct all the Siners to send him a friend request simultaneously.
02:58:18 <Sgeo> Wasn't paying attention to chat/wasn't in chat. Who?
02:58:23 <Sgeo> And you do that.
02:59:32 <dogface> Oops, I accidentally changed the topic of a completely different channel rather than telling you in here. Oh well.
03:00:34 <Sgeo> "accidentally"?
03:00:51 <dogface> A typo.
03:02:43 <dogface> Actually, it would be better if, instead of meeting the one who calls himself James, you encouraged people to call Normish by its proper name, which is Normish: The Massively Democratic Internet Server.
03:07:43 <Sgeo> I don't encourage people to Normish anything, actually
03:09:11 <Sgeo> Also, we can now play NetHack on Normish. My question is, WHY?
03:15:12 <dogface> We can?
03:15:19 <dogface> Brilliant.
03:15:35 <dogface> This makes it so that we don't have to play on NAO.
03:16:24 <dogface> Autopickup is on for $ only? Wow, it's like it automatically knows my NAO options.
03:21:57 -!- GreaseMonkey has joined.
03:44:17 <psygnisfive> dogface!
03:44:29 <dogface> No.
03:44:38 <psygnisfive> :(
04:53:27 -!- Sgeo has quit (Read error: 110 (Connection timed out)).
05:24:43 -!- dogface has quit (Read error: 110 (Connection timed out)).
05:30:07 <funktio> does anyone know what B in TOYS ("butterfly" bit operation) is supposed to do?
05:31:16 -!- dogface has joined.
06:02:34 -!- dbc has quit (Client Quit).
06:02:57 -!- dbc has joined.
06:41:36 -!- optbot has set topic: the entire backlog of #esoteric: http://tunes.org/~nef/logs/esoteric | hmm.... with this layout... we can take names out of the kernel. Names are purely a userspace invention....
06:54:55 -!- jix has joined.
07:01:35 -!- oklofok has joined.
07:05:25 -!- oklopol has quit (zelazny.freenode.net irc.freenode.net).
07:26:36 -!- poiuy_qwert has joined.
07:53:29 -!- jix has quit (Read error: 104 (Connection reset by peer)).
07:57:59 -!- jix has joined.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:24:43 -!- jix has quit ("This computer has gone to sleep").
08:29:05 <fizzie> funktio; I would just go with the spec, which says "B (a b -- a+b a-b)"
08:32:04 <fizzie> I'm not sure what the "bit" there means, but (a, b) -> (a+b, a-b) is the thing usually called "butterfly operation" -- most commonly encountered probably in the FFT, since it's the two-point DFT.
08:33:30 <fizzie> At least RC/Funge's implementation seems to be a straight-forward b=Pop(cip); a=Pop(cip); Push(a+b,cip); Push(a-b,cip);
08:51:50 -!- dogface has quit (Read error: 110 (Connection timed out)).
09:00:22 -!- olsner has quit ("Leaving").
10:07:36 -!- jeffz` has joined.
10:09:38 <AnMaster> funktio, about the B in TOYS, well no one knows
10:10:22 <AnMaster> however I do same as CCBI which does the same as RC/Funge
10:11:11 <AnMaster> <fizzie> funktio; I would just go with the spec, which says "B (a b -- a+b a-b)"
10:11:12 <AnMaster> err
10:11:18 <AnMaster> that isn't the official sepc
10:11:20 <AnMaster> spec*
10:11:27 <fizzie> Well, the RC/Funge manual, then.
10:11:38 <AnMaster> http://catseye.tc/projects/funge98/library/TOYS.html
10:11:39 <fizzie> Yes, the official spec seems to say just "'butterfly' bit operation".
10:11:40 <AnMaster> is the official one
10:11:50 <AnMaster> yep
10:22:27 -!- KingOfKarlsruhe has joined.
10:23:16 -!- jeffz has quit (Read error: 101 (Network is unreachable)).
10:26:56 -!- KingOfKarlsruhe has quit ("Verlassend").
10:27:21 -!- jix has joined.
10:46:31 -!- poiuy_qwert has quit.
10:53:28 -!- jeffz` has changed nick to jeffz.
10:56:02 <AnMaster> Deewiant, there?
10:56:29 <AnMaster> I get an odd lockup in mycology in SCKE
10:56:31 <AnMaster> between:
10:56:33 <AnMaster> UNDEF: 0"1.0.0.721"H pushed 16777343
10:56:39 <AnMaster> and the first time peek ever gets called
10:56:41 <AnMaster> very strange
10:59:00 <AnMaster> huh
10:59:04 <AnMaster> the code is very odd now
10:59:09 <AnMaster> it wrapped vertically
11:00:22 <AnMaster> well
11:00:24 <AnMaster> I see why
11:00:59 <AnMaster> Deewiant, if B reflects at x=85 y=696, then the code goes downwards, and then it wraps vertically at the lower edge of the funge space
11:01:04 <AnMaster> no idea what cause this
11:03:22 -!- psygnisfive has quit (Read error: 110 (Connection timed out)).
11:03:26 -!- LinuS has joined.
11:08:02 <AnMaster> DEBUG perror: Address already in use
11:08:03 <AnMaster> hm
11:08:11 <AnMaster> Deewiant, mycology is buggy here
11:08:29 <AnMaster> it is trying B on an invalid socket, and expecting that to work
11:08:51 <AnMaster> I reuse sockets ids after a socket is closed
11:15:53 -!- tusho has joined.
11:16:46 <fizzie> Why is that socket there invalid? The line does 221#vS:11p:2ff*2-:a+*0#vB, which simplifies to 221S : 2 ff*2-:a+* 0 B which to me should create a good socket (221S) and set up B parameters s='S' result, ct=2, prt=51959, addr=0.
11:18:30 <fizzie> The "just go down somewhere" B error handling there is a bit suboptimal.
11:19:46 -!- GreaseMonkey has quit ("Jesus loves you").
11:20:56 <Ilari> Add debugging printfs about what socket it gets back from socket() and what it tries to bind() to?
11:22:24 <AnMaster> fizzie, socket already in use
11:22:29 <AnMaster> it forget to close the first one
11:22:37 <AnMaster> so result is that stuff mess up
11:22:47 <AnMaster> you can create a duplicate socket, just not bind it
11:22:55 <AnMaster> without reuse flag
11:26:44 -!- jix has quit (Read error: 110 (Connection timed out)).
11:26:56 <fizzie> Well, sure, but that's not "trying B on an invalid socket", that's "trying to bind a perfectly valid socket to an address already in use".
11:28:03 <AnMaster> yes it took a while to debug
11:28:10 <AnMaster> fizzie, ever looked at mycology?
11:28:30 <AnMaster> it is very hard to read funge
11:28:59 <fizzie> Uh, I did copy that particular line to my comment there above, that would've been quite a trick to do without looking.
11:30:10 <AnMaster> ah
11:30:13 <AnMaster> true
11:30:23 <AnMaster> fizzie, well in general it is hard to debug :P
11:30:35 <AnMaster> anyway SCKE may or may not work, I don't know until mycology is fixed
11:30:43 <AnMaster> Deewiant, ^
11:38:21 <tusho> oklofok: can you deliver a message to coolness for me?
11:38:25 <tusho> "you're batshit insane"
11:43:30 -!- Linus` has joined.
11:49:50 <AnMaster> * [Deewiant] is away (ZZZ)
11:49:51 <AnMaster> huh
11:50:12 <AnMaster> it is 13:50 in his timezone I think
11:51:12 <fizzie> Yes.
11:51:15 <fizzie> A late sleeper.
11:51:16 -!- dogface has joined.
11:51:22 <AnMaster> on a Monday
11:53:56 -!- RedDak has joined.
12:01:52 -!- RedDak has quit (Read error: 104 (Connection reset by peer)).
12:05:47 -!- LinuS has quit (Read error: 104 (Connection reset by peer)).
12:12:05 -!- dogface has quit (Read error: 60 (Operation timed out)).
12:12:26 <oklofok> tusho: done
12:12:33 <tusho> oklofok: let me know what he replies <3
12:12:38 <tusho> that is actually a hat
12:12:43 <tusho> with udders
12:12:49 <oklofok> 14:12… +volimo: lol
12:13:00 <tusho> deep insight
12:13:04 <oklofok> :P
12:14:02 <oklofok> i'll probably have to retire, courses start in a week, and i have about a million things to do before that
12:14:40 <oklofok> "14:13… +volimo: omalla asteikollani klikkailumääräni ei ole vielä edes lähellä hullua" == "on my own scale, my amount of clicks is not even near insane"
12:15:25 <oklofok> he clicks mainly while eating and watching anime, afaik
12:16:15 <oklofok> but he's known to read dictionaries for tens of hours on end
12:16:46 <oklofok> and other quite time consuming tasks
12:17:04 <oklofok> some people just have more time than others i guess
12:29:14 -!- Sgeo has joined.
12:33:50 <tusho> oklofok: tell him that if he gets to 350000 in 1hr I'll make his name coloured or bold or something.
12:33:50 <tusho> :P
12:33:55 <tusho> (I like fucking with people!)
12:40:39 <oklofok> that'd be kinda pointless as that would be impossible
12:40:48 <oklofok> but, i need to leave, see ya
12:40:49 <oklofok> ->
12:41:36 -!- optbot has set topic: the entire backlog of #esoteric: http://tunes.org/~nef/logs/esoteric | I think its context sensitive.
12:45:20 <AnMaster> %raw join #esoteric
12:45:21 <AnMaster> err
12:45:26 -!- funnygot has joined.
12:45:33 <AnMaster> fizzie, ^
12:45:38 <AnMaster> in a chroot, using cfunge
12:46:02 <fizzie> %help
12:46:08 <fizzie> What, no %?
12:46:12 <AnMaster> hm
12:46:14 <AnMaster> should be %
12:46:15 <AnMaster> %help
12:46:22 <AnMaster> it locked up
12:46:26 <AnMaster> fizzie, any clue why?
12:46:28 -!- funnygot has quit (Read error: 131 (Connection reset by peer)).
12:46:31 <fizzie> There might be bugs. :p
12:46:38 <fizzie> What was the last message it got?
12:46:42 <AnMaster> your help
12:46:56 -!- funnygot has joined.
12:47:00 <AnMaster> %help
12:47:02 -!- funnygot has quit (Remote closed the connection).
12:47:06 <AnMaster> 1>17G5L5G71>17G5L5G71>17G5L5G71>17G5L5G71>17G5L5G71>17G5L5G71>17G5L5G71>17G5L5G71>17G5
12:47:10 <AnMaster> is the loop it locked up in
12:47:26 <AnMaster> fizzie, does that help explaining it?
12:47:40 <fizzie> Hmm.. L should come from STRN there.
12:47:55 <AnMaster> well let me copy gdb into the chroot
12:48:32 <fizzie> I do "KCOS"4($$ 'AY 'LY to drop L and Y from SOCK, since they overlap with STRN and I don't use them, anyway.
12:49:03 <fizzie> And then afterwards I "EKCS"4( which shouldn't put any semantics on L.
12:49:17 <fizzie> Does that help? Did you implement SCKE separately or part of SOCK, anyway?
12:49:29 <AnMaster> it is separate fingerprint
12:49:38 <AnMaster> which accesses SOCK data
12:49:51 <AnMaster> due to mycology bug I don't know if recv works
12:49:57 <AnMaster> as it tries to bind badly
12:50:32 <fizzie> And you have the same fingerprint loading code than http://zem.fi/~fis/fungot.b98.txt and not that modified version you made when you didn't have SCKE yet?
12:51:40 <fizzie> You could check with your debugger what the 'L' instruction has in it at that point where it gets stuck in the loop.
12:51:55 <AnMaster> indeed it is your original one
12:52:18 <AnMaster> fizzie, at what x,y should I break?
12:53:02 <fizzie> Hmmmm, thinking. Your ^raw join command works just fine to get it on the channel, then?
12:53:10 <AnMaster> yep
12:53:15 <AnMaster> well %raw
12:53:19 -!- funnygot has joined.
12:53:24 <AnMaster> %raw help
12:53:30 <AnMaster> worked too
12:53:33 <AnMaster> %help
12:53:46 <AnMaster> #1 0x000000000041a9ec in FingerSTRNleft (ip=0x1f93648) at /home/arvid/src/cfunge/trunk/src/fingerprints/STRN/STRN.c:149
12:53:47 <AnMaster> 149 /home/arvid/src/cfunge/trunk/src/fingerprints/STRN/STRN.c: No such file or directory.
12:53:47 <AnMaster> in /home/arvid/src/cfunge/trunk/src/fingerprints/STRN/STRN.c
12:53:47 <AnMaster> grr
12:53:50 <AnMaster> due to chroot
12:53:56 <fizzie> Actually, you could check what your L does.
12:54:04 <fizzie> When the argument is longer than the string.
12:54:05 <AnMaster> fizzie, it is in STRN L
12:54:19 <AnMaster> k a sec
12:54:30 <fizzie> I guess mycology already does the necessary checks, though; isn't it supposed to be very thorough?
12:54:31 <AnMaster> if (n < 0 || len < (size_t)n) {
12:54:32 <AnMaster> StackFreeString(s);
12:54:32 <AnMaster> ipReverse(ip);
12:54:32 <AnMaster> return;
12:54:32 <AnMaster> }
12:54:33 <AnMaster> that
12:54:47 <AnMaster> so it reverses there
12:54:57 <AnMaster> fizzie, I think that is how CCBI does it too
12:54:59 <AnMaster> let me check
12:55:00 <fizzie> The code relies on L returning the whole string when the string is shorter than the "left" argument.
12:55:29 <fizzie> RC/Funge-98 manual says "For R,L requesting more characters than the length of the stsring will return the whole string"
12:55:30 <AnMaster> fizzie, ccbi reflects too
12:56:02 <AnMaster> fizzie, it probably didn't say that back when I implemented STRN
12:56:15 <fizzie> Very possible.
12:56:20 <AnMaster> which was before Mike Riley showed up again
12:56:29 <AnMaster> fizzie, so both cfunge and ccbi will reflect there
12:56:45 <AnMaster> and I don't like when fingerprints changes after they have been published
12:56:47 <AnMaster> I really don't
12:57:03 <AnMaster> fizzie, which means I will probably not implement the changed behaviour
12:57:15 <AnMaster> need to check the old version
12:57:43 <fizzie> Well, I could work-around it with some N4`|-like stuff to make it more portable.
12:58:01 <fizzie> But not before later today.
12:58:30 <AnMaster> http://web.archive.org/web/20020816190021/http://homer.span.ch/~spaw1088/funge.html
12:58:37 <AnMaster> fizzie, that was what was available when I implemented it
12:58:44 <AnMaster> nothing about the whole string thing there
12:59:05 <AnMaster> and I'm going to write a mail to Mike Riley about this, complaining
13:00:55 <fizzie> Well, it's pretty much undefined in the older spec; clarifications aren't as bad as real backwards-incompatible changes.
13:02:00 <tusho> <AnMaster> and I'm going to write a mail to Mike Riley about this, complaining
13:02:01 <tusho> How atypical.
13:02:28 <AnMaster> fizzie, well it did not agree with any other implementation
13:02:42 <fizzie> It did agree with my intuition. :)
13:02:46 <AnMaster> fizzie, btw did the docs really say "stsring"?
13:03:18 <fizzie> No, I probably typoed it. I had it open on another computer, and x2x has stopped working for some reason between OS X's X11.app and Linux.
13:03:26 <fizzie> (So I couldn't paste it here.)
13:03:58 -!- Slereah_ has joined.
13:05:14 <fizzie> In any case, R/L work like Perl's substr, which is comfortably familiar to me. I guess I'm just odd, given that you and Deewiant have both implemented in the "is an error and reflects" way.
13:06:02 <AnMaster> fizzie, I do not plan to change my way
13:06:08 <AnMaster> and consider it an UNDEF
13:06:23 <AnMaster> retconning fingerprints like this just breaks too much stuff
13:07:12 -!- funnygot has quit (Read error: 131 (Connection reset by peer)).
13:07:42 <fizzie> Well, I'll update fungot to work around it no matter which way it's implemented. Just not now.
13:07:49 <AnMaster> ok
13:08:55 <fizzie> Now you just have to convince Deewiant to keep it as UNDEF and not implement a mycology check based on the current version of the STRN spec. :p
13:09:41 <AnMaster> well yes. I suggest Mike Riley makes a new fingerprint instead of changing existing ones
13:09:50 <AnMaster> at least for well established ones
13:10:33 <AnMaster> "For M, specifying a length that would go beyond the end of the string is legal and will return from the start til the end of the string"
13:10:39 <AnMaster> again ccbi and cfunge will reflect there
13:10:56 <AnMaster> for length 0 not sure
13:11:01 <AnMaster> I don't special case that
13:11:30 <AnMaster> however it will probably push a \0 onlhy
13:11:32 <AnMaster> only
13:11:59 <fizzie> Mycology seems to have a "UNDEF: 00L" sort of check.
13:12:10 <AnMaster> ah
13:12:35 <AnMaster> UNDEF: 00L leaves 0 on stack
13:12:36 <AnMaster> yeah
13:12:41 <AnMaster> UNDEF: "ooF"01-L reflects
13:13:00 <AnMaster> fizzie, actually for most undef I choose the same way as CCBI does it
13:13:16 <AnMaster> but reflecting of out of range number is same IMO
13:13:41 <AnMaster> but I'm used to C, where out of range values will not produce sensible results :P
13:15:12 <AnMaster> fizzie, want me to pastebin all UNDEF from cfunge?
13:15:23 <fizzie> Yes, I guess it's a matter of opinion. I'm pretty much used to both C and Perl, and don't find either way morally reprehensible. In any case, 01-L really sounds like it should reflect, there aren't that many sensible interpretations for "-1 characters on the left", except possibly interpreting it as 1R out of spite.
13:15:34 <fizzie> Sure, I can check whether any of them sound like I'm doing it in fungot.
13:15:41 <AnMaster> a sec
13:15:55 <fizzie> (away for a moment here)
13:15:58 <AnMaster> will need to disable SCKE in cfunge so it doesn't lock up due to mycology bug
13:18:10 <AnMaster> fizzie, http://rafb.net/p/VJ731d63.html
13:21:20 <AnMaster> fizzie, this is the 64-bit build of cfunge
13:21:33 <AnMaster> I think FIXP results will differ in 32-bit compile
13:28:24 <fizzie> I don't think I depend on any of that UNDEF stuff except the STRN 'L' behaviour. What do you do on STRN 'V' when the string doesn't look like a number at all, for example when called as 0V? RC/Funge seems to always push 0, but I think fungot can handle V reflecting in that case too.
13:31:31 <AnMaster> a sec
13:31:43 <AnMaster> was debugging something else sorry
13:31:45 * AnMaster checks
13:31:54 <AnMaster> StackPush(ip->stack, atoi(s));
13:31:54 <AnMaster> hm
13:31:57 <AnMaster> that may be wrong
13:32:36 <AnMaster> fizzie, I think it may push 0 then
13:32:42 <AnMaster> as it uses atoi simply
13:32:44 <fizzie> I think it will.
13:32:56 <AnMaster> I should probably change it to reflect instead
13:32:58 <AnMaster> would make more sense
13:33:28 <AnMaster> and not use atoi, but convert it like reading int from stdin does
13:33:33 <fizzie> Not even the current STRN documentation in the RC/Funge manual says anything about what V will do on error.
13:33:35 <AnMaster> which is to stop just before it will overflow
13:33:37 <AnMaster> fizzie, ^
13:33:47 <AnMaster> means that algorithm is messy
13:34:01 <AnMaster> having to check if reading next digit will overflow in advance
13:34:23 <AnMaster> should make it available for use in fingerprints
13:34:42 -!- Linus` has quit ("Puzzi. S, parlo proprio con te. Puzzi.").
13:35:26 <fizzie> I would sort of assume that V would always pop the complete 0gnirts. But, again, that might be just me.
13:36:00 <AnMaster> fizzie, err yes I would do that
13:36:07 <AnMaster> but then when I parse the string I mena
13:36:09 <AnMaster> mean'
13:36:11 <AnMaster> mean*
13:36:29 <fizzie> In that case you can just convert it with strtol/strtoll and let that handle the error checking. It will set errno to ERANGE if it would overflow.
13:36:41 <fizzie> Not especially messy.
13:37:27 <AnMaster> um
13:37:38 <AnMaster> fizzie, it should not clamp to MAX_INT
13:37:54 <AnMaster> but return the result as it was the digit before it overflowed
13:38:02 <AnMaster> so it may be less than MAX_INT
13:38:10 <AnMaster> which was why I needed to make my own routine
13:38:35 <fizzie> Oh, right, & was specced that way.
13:38:51 <fizzie> Yes, it makes sense to behave similarly.
13:39:30 <AnMaster> should probably change all the fingerprints that read integers from ascii to do that
13:40:35 <AnMaster> SCKE commited, but peek is untested due to mycology bug
13:41:08 <AnMaster> however it should work
13:41:13 <AnMaster> it just uses poll()
13:46:13 <tusho> hhhhhh
13:46:25 <AnMaster> tusho, ?
13:46:29 <tusho> dgfsdaf
13:46:32 <AnMaster> well of course it may be buggy
13:48:04 <fizzie> "as in it isn't so, or what? :(. i hate the format of kernel", as fungot would say if I could ever get that babble generator ported.
13:48:45 <AnMaster> fizzie, eh?
13:49:22 <fizzie> I want fungot to be able to answer as cleverly as optbot, but my babble generator isn't yet Funge code.
13:49:23 <optbot> fizzie: too many formats
13:49:40 <tusho> fizzie: Here is optbot's algorithm
13:49:40 <optbot> tusho: "oerjan"
13:49:47 <tusho> optbot: Yes, oerjan does it all.
13:49:47 <optbot> tusho: THAT WAS SENT LIKE YEARS AGO
13:49:47 <tusho> But
13:49:57 <fizzie> I I know optbot's algorithm, but I don't want to be a copycat.
13:49:57 <optbot> fizzie: i was just using girlfriends as an example, really
13:50:02 <tusho> xD
13:50:19 <tusho> lines_said = File("*.log").lines; if optbot_said: say lines_said.rand
13:50:19 <optbot> tusho: EgoBrokent
13:50:47 <fizzie> So I wrote a small piece of code to build a n-gram language model and generate text from that just to make fungot sound more deranged than optbot, that paragon of clarity.
13:50:47 <optbot> fizzie: the most logical choice would be to let me govern all.
13:51:01 <fizzie> optbot; Again with the world-takeover stuff?
13:51:02 <optbot> fizzie: Oh pie! I'm a pi hoe!
13:51:06 <fizzie> ... yes.
13:52:05 <tusho> XD
13:52:11 <tusho> optbot needs to be in an institution
13:52:11 <optbot> tusho: we're having an argument. :)
13:52:17 <tusho> ah
13:52:19 <tusho> weird argument.
13:53:07 <AnMaster> lol
13:53:47 <tusho> optbot: so, about our secret and taboo sexual relationship
13:53:48 <optbot> tusho: hello
13:53:50 <tusho> optbot: yes, hi
13:53:50 <optbot> tusho: well... would be, if you had >>, and X=-operators
13:54:02 <tusho> optbot: an x chromosone?
13:54:02 <optbot> tusho: files get fragmented
13:54:08 <tusho> optbot: that is one strange innuendo
13:54:08 <optbot> tusho: oko means eye in TP?
13:54:13 <tusho> optbot: wut
13:54:13 <optbot> tusho: Nope.
13:54:17 <tusho> optbot: ah it was a quiz
13:54:17 <optbot> tusho: well changing the switches does
13:54:23 <tusho> optbot: the switches for the quiz?
13:54:24 <optbot> tusho: and no '
13:54:31 <tusho> optbot: You're not in your operating hours, are you.
13:54:31 <optbot> tusho: and you can use 44, .4, etc
13:54:34 <tusho> optbot: Figured.
13:54:35 <optbot> tusho: lol
13:57:10 <AnMaster> $ ld -ld
13:57:11 <AnMaster> ld: warning: cannot find entry symbol _start; not setting start address
13:57:14 <AnMaster> that produces a file
13:57:16 -!- psygnisfive has joined.
13:57:18 <AnMaster> was a typo for ls -ld
13:57:20 <AnMaster> really
13:57:26 <AnMaster> however I now got a strange a.out
13:57:30 <AnMaster> $ file a.out
13:57:30 <AnMaster> a.out: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), not stripped
13:57:32 <AnMaster> $ ./a.out
13:57:33 <AnMaster> bash: ./a.out: No such file or directory
13:57:39 <AnMaster> -rwxr-xr-x 1 arvid arvid 5248 25 aug 14.56 a.out
13:57:53 <AnMaster> $ ldd a.out
13:57:54 <AnMaster> /usr/bin/ldd: line 116: ./a.out: No such file or directory
13:57:54 <AnMaster> huh
13:58:36 <AnMaster> oh readelf explains it:
13:58:37 <AnMaster> INTERP 0x0001c8 0x00000000004001c8 0x00000000004001c8 0x00000f 0x00000f R 0x1
13:58:38 <AnMaster> [Requesting program interpreter: /lib/ld64.so.1]
13:58:41 <AnMaster> ls: cannot access /lib/ld64.so.1: No such file or directory
13:59:16 <fizzie> I just get "ld: cannot find -ld" if I do "ld -ld".
13:59:23 <AnMaster> hm strange
13:59:25 <fizzie> Do you have a libd somewhere, then?
13:59:38 <AnMaster> /usr/lib64/libd.so
13:59:40 <AnMaster> yep
13:59:50 <AnMaster> dev-util/kdevelop (/usr/lib64/libd.so)
14:02:51 <AnMaster> now I can test non-sandbox allowed functions too, thanks to setting up a chroot
14:03:07 <AnMaster> for fuzz testing
14:12:05 -!- LinuS has joined.
14:20:50 <AnMaster> heh one fuzz program was just printing out:
14:20:52 <AnMaster> mefummefummefummefummefummefummefummefummefummefummefummefummefummefummefummefummefummefummefummefummefummefummefummefummefummefummefummefummefummefummefummefummefummefummefummefummefummefummefummef
14:20:54 <AnMaster> over and over
14:21:09 <AnMaster> actually it began with "fummeg=bnunrefumm"
14:21:19 <AnMaster> then fumme all the time
14:21:19 <AnMaster> weird
14:27:51 <AnMaster> # ls
14:27:52 <AnMaster> ?F ???FRID??F ?? F? fuzz-test.sh src
14:27:52 <AnMaster> ?k7]0b4f,!ok2w#}}q<d}eC<;1\42za7x+; (44( ;+x7az24\1;<Ce}d<q}}#w2ko!,f4b0]7k9?? ???FRID??F??? CMakeFiles cfunge fuzz.tmp valgnd.output
14:27:55 <AnMaster> yay for fuzz testing
14:28:04 <AnMaster> yes it is in a chroot
14:33:07 <Deewiant> AnMaster: I saw that the B reflection goes into limbo almost right away yesterday, I thought I said so as well but evidently not :-P
14:39:16 <tusho> Has anyone made a library called ido yet?
14:46:08 -!- dogface has joined.
14:49:28 <Sgeo> No dogface!
14:49:48 <dogface> Ello ello.
14:52:28 -!- jix has joined.
14:52:39 <AnMaster> Deewiant, hm?
14:52:49 <AnMaster> Deewiant, well currently I'm unable to test that SCKE works
14:52:53 <AnMaster> due to this issue
14:53:34 <Deewiant> AnMaster: just add code somewhere to close the socket that needs to be closed
14:55:35 <Deewiant> hardcode it into the SCKE constructor if necessary :-P
14:55:40 <AnMaster> Deewiant, I don't know what one it is, anyway I do start numbering them at 0 and then goes upwards.
14:55:55 <AnMaster> but if one is closed I will reuse that ID next time
14:56:03 <AnMaster> I scan for the first free ID basically
14:56:12 <Deewiant> AnMaster: so try 0,1,2 until it works
14:56:22 <AnMaster> Deewiant, this should be just before B?
14:56:29 <Deewiant> yes
14:56:40 <Deewiant> or even further before
14:56:43 <Deewiant> but before it anyway
14:58:23 <AnMaster> >$ >:#,_$.a,>n221#vS:11p:2ff*2-:a+*0#vB:
14:58:33 <AnMaster> could it be done between $ and >
14:58:36 <AnMaster> there is no space elsewhere
14:58:39 <Deewiant> sure
14:59:14 <AnMaster> hm
15:02:54 <AnMaster> Deewiant, ok that cause "ileegal seek" errors...
15:03:08 <Deewiant> ?
15:04:30 <AnMaster> DEBUG perror: Numerical result out of range
15:04:33 <AnMaster> then ileegal seek
15:04:34 <AnMaster> wtf
15:04:47 <Deewiant> what's "ileegal seek"
15:05:10 <AnMaster> well on a socket: no clue
15:05:19 <AnMaster> oh wait I see the issue
15:05:27 <AnMaster> DEBUG perror: Numerical result out of range was the real error
15:05:33 <AnMaster> I think
15:05:34 <AnMaster> wtf
15:06:00 <AnMaster> ah no it wasn't
15:06:48 <AnMaster> Deewiant, for some reason this cause it to reflect
15:07:14 <AnMaster> is the position of that > critical
15:07:27 <AnMaster> because I need to fit it in somewhere closer before the B I think
15:07:40 <Deewiant> are you sure you're just not closing the wrong socket
15:07:53 <AnMaster> Deewiant, I checked both open ones (0 and 2)
15:07:54 <Deewiant> doing a K before or after the S shouldn't matter
15:08:53 <tusho> Fonts suck.
15:08:54 <tusho> DISCUSS
15:09:10 <AnMaster> Deewiant, if I close the socket there, it never even gets to H
15:09:19 <Deewiant> trajan: the movie font
15:09:41 <Deewiant> AnMaster: doesn't make sense to me
15:10:15 <fizzie> tusho: "that's it, though.... you're redefining its meaning. i've almost finished stuff. i've been doing for a makefile, heh." (I'll just let fungot's prototype artificial brain do my discussion for me.)
15:10:16 <Sgeo> I ██ ███ love censorship!
15:10:30 <tusho> fizzie: How does it work?
15:10:34 <AnMaster> Deewiant, well now I closed the other one, then I get to H but... I still get address in use
15:10:37 <tusho> Sgeo: That was funny, like, five years ago
15:11:16 <fizzie> tusho: "too late! i mean, think "i" is not recognized??? i distinctly recall a fnord w e fnord fnord"
15:11:23 <tusho> fizzie: That was a real question actually.
15:12:58 <AnMaster> Deewiant, it seems hrrm. this make no sense
15:13:52 <fizzie> It's just a ngram language model (with all words used more than once here in the vocabulary; OOV words replaced with fnord), and I generate the text by using looking for the set of the largest order n-grams for which the n-1 previously generated words match, then use their counts as the probability of the following word.
15:15:49 <fizzie> What I pasted was with n=3, and therefore has only two words of context and is quite incoherent. With a 5-gram model: "the universe faq was useful, i know everything i need to :) thanks for the suggestions. i'll figure something out."
15:16:37 <tusho> fizzie: So, how exactly does it work? :P
15:17:28 <tusho> fizzie: One thing I tried a while back is parsing a subset of english into prolog
15:17:33 <tusho> The syntax wasn't that hard, basically:
15:17:44 <tusho> the rabbits' tails' lengths are 5cm
15:17:45 <tusho> ->
15:17:54 <tusho> rabbits.map(tails).map(lengths).map(= 5cm)
15:17:59 <tusho> rabbits is implicitly an array
15:18:02 <tusho> and then you could say
15:18:18 <tusho> "bot: rabbit's tail's length?"
15:18:20 <tusho> or
15:18:26 <tusho> "bot: the length of the rabbit's tail?"
15:18:29 <tusho> and it'd give you 5cm
15:18:35 <tusho> It wasn't a particularly complex syntax
15:18:41 <tusho> but it has a few really fucking hard bits to parse
15:18:50 <AnMaster> GOOD: P pushed 0 for socket without data
15:18:50 <AnMaster> BAD: P pushed zero for socket with data
15:18:55 <AnMaster> Deewiant, sure then I change it
15:18:58 <AnMaster> to do the reverse
15:19:04 <AnMaster> BAD: P pushed nonzero for socket without data
15:19:04 <AnMaster> GOOD: P pushed nonzero for socket with data
15:19:16 <AnMaster> Deewiant, huh...
15:19:25 <Deewiant> so obviously you're doing it wrong? :-P
15:20:10 <AnMaster> hrrm
15:20:19 <fizzie> Well, fungot's approach is pretty much only statistics, there's no syntax or grammar or ontology or any sort of fancy-schmancy knowledge representation. Basically there's a tree of "here's a list of words with counts that have followed these N words" nodes, constructed so that I can just follow the tree as deep as there are children and then pick a word from the list.
15:20:39 <tusho> fizzie: Oh. A markov chain.
15:20:56 <tusho> Been there, done that.
15:21:53 <AnMaster> Deewiant, what two sockets do you use for it
15:22:03 <Deewiant> no clue
15:22:32 <Deewiant> AnMaster: one thing to keep in mind is that it used to be GOOD that the socket is overwritten in A
15:22:47 <Deewiant> so that was written with there being only two sockets
15:22:55 <fizzie> That's what it ends up being, yes. It's not exactly the same thing, though. There's no state-change probability as such, and it ends up staying in the "same state" (generating consecutive tokens from the data) mainly because it's the most likely output of the language model.
15:23:02 <AnMaster> Deewiant, so you mean your SOCK is probably buggy
15:23:48 <Deewiant> AnMaster: of course the test code is buggy, I thought everybody knew that by now?
15:24:09 <Deewiant> what I mean is, as to "what two sockets", there are only two sockets
15:24:21 <Deewiant> or there should be, because of the bugginess there are 3
15:25:24 <AnMaster> BAD: P pushed zero for socket with data
15:25:25 <AnMaster> wrong
15:25:28 <AnMaster> I checked my code
15:31:10 <AnMaster> Deewiant, the issue is, the socket in question didn't have any data
15:31:18 <AnMaster> I checked by hand using call in gdb...
15:31:28 <Deewiant> well why not
15:31:38 <AnMaster> Deewiant, I guess nothing was written to it
15:31:49 <Deewiant> I guess something should have been written to it
15:31:52 <AnMaster> and I have to leave for this evening
15:32:00 <AnMaster> Deewiant, well it wasn't, and I don't know why
15:32:04 <tusho> AnMaster: evening?
15:32:05 <AnMaster> I'd say something is bugged
15:32:08 <tusho> For you it's 4 pm./
15:32:18 <AnMaster> well it is a long drive
15:32:33 <AnMaster> so yes about an hour in car, then away for several hours
15:32:39 <AnMaster> and I need to do some stuff before
15:32:41 <AnMaster> like pack
15:33:09 <AnMaster> Deewiant, anyway I suspect the earlier bug could have caused it
15:33:25 <AnMaster> so I'm not going to try to debug this harder until you fix the other bug
15:33:34 <AnMaster> because I suspect the issue is with that in some way
15:41:40 -!- Linus` has joined.
15:43:46 <AnMaster> Deewiant, I changed the Peek to do it the same way as CCBI
15:43:54 <AnMaster> it still fails with same reason
15:44:46 <AnMaster> Deewiant, which means I suspect mycology is buggy
15:45:34 <Deewiant> like I said
15:45:38 <Deewiant> EVERYBODY KNOWS THAT MYCOLOGY IS BUGGY
15:45:43 <Deewiant> FFS
15:45:44 <AnMaster> yes
15:45:57 <AnMaster> at least in SOCK it is
15:46:06 <AnMaster> in other parts it aren't of course :)
15:49:03 <tusho> a A a A a A a A a A a A a A a A a A a A a A a A a A a A a A a A a A a A a A
15:50:54 -!- Ilari has quit (""Won't be back for a while..."").
15:59:43 -!- LinuS has quit (Connection timed out).
16:08:31 <tusho> Googolplexian: The worlds largest number with a name. A "1" followed by a googolplex of zeros. <- oh come on
16:08:54 <tusho> Graham's, bitches. Or xkcd, but that's less well-accepted academically.
16:08:59 <tusho> (Clarkkkkson too)
16:09:04 <tusho> (Or was it Clarkkson...)
16:18:44 <fizzie> It doesn't, really. Except in some details, I guess. I build ngrams of all orders <N so that I can use the lower-order ones to continue even when there's not enough context for the currently generated output. And I didn't like the uncontrollable phrase lengths, so I just flagged those nodes that can end a sentence and use a fixed probability based on the generated text length.
16:20:13 <tusho> Ah.
16:20:22 <tusho> What corpus of text are you using?
16:20:24 <tusho> #esoteric?
16:20:24 <fizzie> Oh, I managed to misplace the query.
16:20:39 <fizzie> Anyway, both of these are different from the "traditional" 'disassociated-press' style markov chain thing, where the process is "read the source text consecutively, and with a pre-defined transition probability jump into some random location with the same context".
16:20:45 <fizzie> My personal #esoteric logs, yes.
16:21:14 <tusho> dissociated-press is really crap
16:21:14 <tusho> :)
16:21:24 <tusho> Hmm. What obscure language to write a markov chain in now.
16:23:44 <tusho> Hm
16:24:14 <fizzie> Anyway, I'm rather aware that fungot's brain is an uninspired design, but since we already have optbot's random-log-line thing, I though it would fit right in as the second common "no sense" method of generating responses.
16:24:14 <optbot> fizzie: then it could be hacked to work with one of the outside-layers
16:24:38 <fizzie> optbot; Uh, how would that work?
16:24:38 <optbot> fizzie: a single microorganism is complex, but colonies of them act in extremely deterministic ways. :)
16:24:41 <tusho> Well, whuzza third? :P
16:25:03 <tusho> optbot: that could apply to bots, too. see eg bot loops
16:25:03 <optbot> tusho: !ul (Test)S
16:25:09 <tusho> optbot: but I am not a bot
16:25:09 <optbot> tusho: Even better with PSOX, because that's just crazy
16:25:14 <tusho> optbot: nor am I written in PSOX
16:25:15 <optbot> tusho: http://esoteric.voxelperfect.net/wiki/MKBL-LN
16:25:20 <tusho> optbot: nor that.
16:25:21 <optbot> tusho: Bweh.
16:25:27 <tusho> optbot: yeah, sucks I know
16:25:28 <optbot> tusho: otherwise winning $25000 would have been somewhat trivial
16:25:33 <fizzie> There's the hybrid "select a random line which has similar words than in the question" approach, but maybe that's just an optbot variant.
16:25:34 <optbot> fizzie: the parens are simply not needed and make the code uglier
16:25:37 <tusho> optbot: WHAT?! you give bots that much?
16:25:38 <optbot> tusho: unary)
16:26:05 <fizzie> A unary ")" operator sounds rather funny.
16:27:35 <tusho> fizzie: Maybe it could look like this:
16:27:36 <tusho> ) ( ...
16:27:38 <Sgeo> Hey, tusho brought up two of my things in a row
16:27:41 <Sgeo> erm, optbot
16:27:41 <optbot> Sgeo: well that is what putp(clr_screen); does
16:27:49 <tusho> fizzie: So like
16:28:00 <tusho> ) + 1 2 (
16:28:07 <tusho> the ( would open it
16:28:09 <Sgeo> putp(clr_screen) brings up my stuff?
16:28:11 <Sgeo> cool!
16:28:11 <tusho> and operations applied on it
16:28:13 <tusho> would go into the parens
16:28:13 <Sgeo> lol
16:28:16 <tusho> then the unary ) would close it
16:28:22 <tusho> and returns its result
16:28:35 <tusho> ) + 1 ) + 2 3 ( (
16:28:41 <tusho> And then you could just swap the operators
16:28:43 <tusho> and get lisp.
16:30:43 -!- Sgeo has quit (Remote closed the connection).
16:41:53 -!- ais523 has joined.
16:42:37 <ais523> hi tusho
16:42:41 <tusho> hi ais523
16:52:27 <tusho> .
16:52:39 <ais523> ,
16:52:56 <oklofok> ::
16:53:00 <tusho> 32
16:53:16 * ais523 is still working on their Brainfuck -> C compiler
16:53:30 <ais523> last time I got it to compile, there was a really amusing error (I know what caused it):
16:53:59 <oklofok> amusing? errors usually aren't that amusing, quite the opposite
16:54:15 <ais523> t.c: In function ‘a’:
16:54:19 <ais523> t.c:4: error: unrecognizable insn:
16:54:23 <ais523> (insn 9 8 10 3 (parallel [
16:54:27 <ais523> (set (subreg:QI (reg:SI 73) 0)
16:54:31 <ais523> (plus:QI (const_int -3 [0xfffffffd])
16:54:35 <ais523> (subreg:QI (reg:SI 73) 0)))
16:54:39 <ais523> (set (reg:QI 74)
16:54:39 <tusho> ha...ha?
16:54:43 <ais523> (plus:QI (const_int -3 [0xfffffffd])
16:54:47 <ais523> (reg:QI 74)))
16:54:59 <ais523> (set (const_int -3 [0xfffffffd])
16:55:03 <ais523> (const_int 0 [0x0]))
16:55:07 <ais523> ]) -1 (nil)
16:55:11 <ais523> (nil))
16:55:13 <tusho> hahahahah
16:55:16 <oklofok> that's pretty funny indeed :P
16:55:18 <tusho> oh boy that is amusing
16:55:24 <tusho> haw haw haw
16:55:27 <ais523> look closely at that and you'll see why I was amused
16:55:39 <ais523> in particular, the bit near the bottom
16:55:39 <ais523> gcc went all Forte on me...
16:55:39 <ais523> I was programming moves as a double-transfer-add followed by a transfer-add
16:55:39 <ais523> e.g. [->+>+<<]>[-<+>]
16:55:40 <ais523> now imagine how that works on constants...
16:55:46 <tusho> ah
16:55:48 <tusho> setting a constant int.
16:55:57 <tusho> that was totally not funny enough for the buildup
16:56:02 <ais523> sorry
16:56:12 <ais523> it was pretty funny given that it happened after an hour of compiling and a night of debugging
16:56:17 <ais523> to get it to compile
16:56:33 <ais523> and I was pretty relieved that it didn't segfault this time
16:56:43 * oklofok still didn't get it
16:56:46 <ais523> so probably I thought it was a lot funnier than it actually was
16:57:10 <tusho> oklofok: (set (const_int ...
16:57:15 <tusho> It was trying to set an integer to something
16:57:17 <tusho> like 3 = 4
16:57:31 <ais523> oklofok: to do a=b in BF, you do {a=0;} {c=0;} {a+=b; c+=b; b=0;} {b+=c; c=0;}
16:57:37 <ais523> (that's the BF code translated into C)
16:57:47 <ais523> now consider what happens if b is a constant
16:57:49 <oklofok> right, right
16:57:52 <ais523> I totally failed to consider that...
16:57:55 <oklofok> well i didn't know that was a compiler
16:57:59 <tusho> ais523: it wasn't actually funny
16:58:00 <tusho> :D
16:58:08 <ais523> tusho: your smiley betrays you
16:58:10 <oklofok> 18:52… × ais523 is still working on their Brainfuck -> C compiler <<< skipped this line
16:58:23 <ais523> what's the × for? CTCP action?
16:58:34 <ais523> and I got that backwards
16:58:37 <oklofok> ask nnscript, not me
16:58:39 <ais523> it's a C -> Brainfuck compiler
16:58:42 <ais523> which is a lot harder to do
16:58:46 <oklofok> yes
16:59:10 <tusho> ais523: x to imitate *
16:59:12 <tusho> presumably
16:59:18 <ais523> why not just use *?
16:59:28 <ais523> oh, nnscript, right, it does things differently for the sake of it
16:59:38 <ais523> [16:59] [CTCP] Sending CTCP-PING request to oklofok.
16:59:38 <ais523> [16:59] [CTCP] Received CTCP-PING reply from oklofok: 28 seconds.
16:59:47 <ais523> still faking ping response times, I see
17:00:28 <ais523> anyway, sorry
17:00:46 <ais523> I'll paste what I've got so far if you're interested
17:00:54 <ais523> better yet, I'll put it up on eso-std.org, as it's an entire directory
17:00:55 <tusho> ais523: for aesthetics
17:01:02 <tusho> maybe they thought x looks better
17:01:10 <tusho> also
17:01:12 <tusho> put it in your home dir
17:01:20 <tusho> i'll link it from code.e-s.o
17:01:24 <ais523> ok
17:02:42 <ais523> ~/gcc-bf
17:03:42 <tusho> what vcs
17:03:51 <ais523> there isn't one there yet
17:03:57 <ais523> I'm using c&p as the vcs at my end
17:04:01 <tusho> k
17:04:02 <tusho> linked
17:04:05 <ais523> comments with old bits of code shoved down at the bottom, etc
17:05:22 <tusho> .
17:07:04 <tusho> ais523: well?
17:07:10 <tusho> c.e.o/gcc-bf
17:07:19 <ais523> ok, sounds good for the time being
17:07:29 <ais523> it probably isn't worth trying to run yet
17:07:31 <ais523> as it won't work
17:07:32 <tusho> i was telling you that i had uploaded it :P
17:07:34 <ais523> ah
17:07:38 <tusho> http://code.eso-std.org/gcc-bf/
17:07:38 <tusho> er
17:07:39 <tusho> linked it
17:07:40 <ais523> it may be worth looking at
17:07:50 <ais523> any gcc experts out there, tell me what I'm doing wrong
17:08:01 <tusho> #gcc has gcc experts
17:08:02 <tusho> probably
17:08:07 <ais523> yes
17:08:15 <Slereah_> By the way, how far is eso standard?
17:08:21 <tusho> Slereah_: 0%
17:08:26 <Slereah_> Is the site fully operational and anatomically correct?
17:08:28 <ais523> but they'll ask what on earth I'm doing developing for a toy system that requires secondary reload on every single move apart from constant->register
17:08:31 <tusho> false
17:08:50 <tusho> ais523: and you'll tell them
17:08:51 <ais523> Slereah_: the site exists but most of the bits of it that we need aren't written yet
17:08:58 <tusho> "My business has used these machines since the 60s"
17:09:03 <ais523> code.eso-std.org works reasonably well
17:09:05 <ais523> though
17:09:06 <Slereah_> What bits do we actually need?
17:09:07 <tusho> and, the site exists but http://eso-std.org/ is non-operational atm
17:09:21 <tusho> since at this very moment I don't really give a crap what people see when they go to there because uh people don't go there :D
17:12:20 * tusho gets an Evil Idea
17:12:41 <ais523> more evil than making gcc support bf-unknown-none as a target machine?
17:12:48 <ais523> (incidentally, that means unknown manufacturer, no OS)
17:12:56 <tusho> ais523: no :P
17:13:11 <ais523> well, no executable file format, which comes to much the same thing
17:13:23 <ais523> I'm planning to write the assembler by hand as it'll be so different from a typical sane assembler
17:13:39 <tusho> but, still a crazy idea
17:14:16 <ais523> ok, tell me
17:14:22 <tusho> ok :P
17:14:31 <tusho> i'll do it in one big message
17:16:27 <tusho> Firstly, it's like Smalltalk but not. Its default interface is an HTTP server that lets you explore things semantically. You can do things like import certain parts of another instance if their http servers are public, and like Smalltalk everything is persisted automatically and there aren't any files etc. Expressions are shown in their parsed form, and you can click on subforms and manipulate them etc (while still being able to type normally - JS is used to
17:16:31 <tusho> hope that got through
17:16:36 <tusho> I'm not sure how well it'll work but I'm gonna try.
17:16:54 <ais523> it's cut off
17:16:57 <ais523> after "JS is used to"
17:17:07 <tusho> parse them as you go). Of course, you could add e.g. a telnet interface or something that loads files or whatever, but that's not as interesting because that's not the actual idea.
17:17:15 <tusho> anyway, one interesting aspect
17:17:28 <tusho> is that since it lets you edit the AST itself and therefore parses and manipulates on both the client and server
17:17:31 <tusho> is that the parser will be first-class
17:17:35 <tusho> so you can change the syntax using itself
17:17:47 <tusho> (that is, it has a pre-parsed parser in itself, and also the parsed version)
17:17:58 <tusho> (and it uses the pre-parsed parser to parse the new parser)
17:17:58 <ais523> very Feather
17:18:07 <tusho> so, parser version N always runs on parser version N-1
17:18:15 <tusho> because otherwise you'd have to re-run it infinite times
17:18:17 <ais523> actually CLC-INTERCAL does that too, and it actually exists
17:18:18 <tusho> but, that's not too much of a bother
17:18:27 <tusho> because you'll mostly be adding nice cosmetical changes
17:18:31 <tusho> and its ok for the parser to be a bit ugly
17:18:33 <ais523> a preparsed parser comes with the distribution to get things started
17:19:31 <tusho> so, this'll be a graphical (due to how the ast is presented & edited), web-based (to start with, and also due to things like packages being loaded from URIs), image-based, self-modifying to a large degree language.
17:19:48 <ais523> I still want an entirely client-side website
17:19:57 <tusho> been done
17:20:02 <ais523> which stores all data on the browsers of people visiting it
17:20:02 <tusho> ewll
17:20:04 <tusho> well
17:20:06 <tusho> ok, not that
17:20:08 <tusho> ais523: still
17:20:10 <tusho> any omments on my idea?
17:20:14 <ais523> and the website simply ceases to exist if nobody's visiting it at a particular moment
17:20:26 <ais523> tusho: it sounds a lot like regular Smalltalk, it's a natural fit for it
17:21:19 <tusho> yes, but with graphically-parsey-expressiony stuff, good web integration (is a web server by default, sharing your code is just making the http server public and then setting permissions for the anonymous user (so that they can't see your passwords, e.g.))
17:21:25 <tusho> and self-modifying parsing
17:21:39 <tusho> (because a first-class parser is actually really useful for this for the parsey-expressiony stuff on both server and client side)
17:21:48 <tusho> (it'll have to compile the bytecode to JS, of course. not too hard, I imagine)
17:22:23 <tusho> think I'll call it chromosome, which is relevant in some way I can't put my finger on right now
17:22:57 <tusho> and it lets me name things chromX
17:22:58 <tusho> like cromHTTP
17:23:03 <tusho> and for the UI (the chrome):
17:23:07 <tusho> chromchrome
17:24:29 <tusho> ais523: so does that appeal to your languagular tastes?
17:24:55 <ais523> sort of, I probably wouldn't work on it though, too much like the side of Smalltalk I don't like
17:25:01 <ais523> I just don't like monolithic systems, really
17:25:17 <tusho> ais523: it is not monolithic, though
17:25:26 <tusho> since it componentizes with URIs, you could even do
17:25:28 <tusho> file:///...
17:25:36 <tusho> to load modules from disk
17:25:54 <ais523> I think I have an inherent suspicion of things that are inherently non-portable
17:25:58 <ais523> they've just caught me out too often
17:26:03 <tusho> but that is portable
17:26:15 <tusho> the format for modules is part of the language itself
17:26:19 <tusho> so if you choose a new implementation
17:26:23 <ais523> ah, in that case that's ok
17:26:27 <tusho> just use a file:/// to import the old instance
17:26:28 <tusho> and voila
17:27:04 <tusho> i don't think there's any inherent non-portability in it, then
17:27:07 <tusho> but perhaps you can see some?
17:27:20 <ais523> no, I was worried that moving instances around couldn't be done portably
17:27:32 <tusho> yes, that'd certainly be standardized
17:27:57 <tusho> hmm...
17:28:03 <tusho> the default parser will have to include something like this
17:28:50 -!- tusho has quit (Remote closed the connection).
17:29:10 -!- tusho has joined.
17:29:26 <tusho> urg
17:29:27 <tusho> anyway
17:29:37 <tusho> it'd have to include something like this
17:29:55 -!- Tritonio_ has quit (Read error: 113 (No route to host)).
17:30:03 <tusho> <a href=("hello" + "world")>"How are you today? " + <strong>"I hope you're good"</strong></a>
17:30:10 <tusho> i.e. HTML embedded in to it, for the interface
17:30:10 <tusho> ah
17:30:13 <tusho> maybe a withHTML
17:30:23 <tusho> withHTML[...]
17:30:34 <tusho> of course, this pesky plaintext IRC is restricting me from showing how it'd ACTUALLY look :)
17:31:08 <tusho> here, let me compose a little html ditty of ... something
17:33:40 -!- Sgeo has joined.
17:36:14 <tusho> ais523: ok, here's a rough example
17:36:18 <tusho> of the text expression:
17:36:29 <tusho> (+ (sum [1,2]) (+ 1 2))
17:36:35 <tusho> (obviously the actual writing syntax will be sweeter)
17:36:42 <tusho> http://hpaste.org/9921/0/plain (abusing HPaste's content-type fail FTW)
17:36:52 -!- Slereah_ has quit (Read error: 104 (Connection reset by peer)).
17:36:53 <tusho> It might be that the (+ 1 2) there could be inlined to 1 + 2
17:36:57 <ais523> tusho: I edit bf.md in lisp-mode
17:36:58 <tusho> for legibility
17:36:59 -!- Slereah_ has joined.
17:37:24 <tusho> still, I think it's a good example
17:39:09 <tusho> ais523: does that look pretty legible to you?
17:39:15 <tusho> in the real thing, you could click the + and change it
17:39:17 <ais523> it looks interesting
17:39:19 <tusho> to *, say
17:39:24 <tusho> or you could click the sum [1, 2 ]
17:39:30 <tusho> and change sum to product
17:39:36 <tusho> or you could open sum [ 1, 2 ] as a new page
17:39:38 <ais523> personally I think that most people will be on a hair trigger, because one tiny change could bring the whole thing down
17:39:46 <tusho> for example, if that (+ 1 2) was inlined to 1 + 2
17:39:49 <ais523> true become: false ftw!
17:39:49 <tusho> you could expand it
17:39:53 <tusho> and get it in the form it has there
17:39:56 <tusho> ais523: ah well I won't have become
17:40:04 <tusho> because it's almost certainly a code smell :P
17:40:05 <ais523> that'll make it somewhat simpler
17:40:11 <tusho> it'll be relatively simple
17:40:15 <tusho> and also automatically revision controlled
17:40:34 <tusho> ais523: oh, and of course, you could edit that as regular text too
17:40:36 <tusho> that is
17:40:39 <tusho> you could add a new line
17:40:42 <tusho> and if you typed what produced that
17:40:44 <tusho> it'd happen in realtim
17:40:45 <tusho> e
17:40:52 <tusho> I'm not sure what backspace would do at the end of it
17:40:54 <tusho> I think it'd be two lines
17:41:01 <tusho> so you'd backspace into that block of code
17:41:08 <tusho> and then delete the 1 & 2 and then the +
17:41:10 <tusho> and then the block itself
17:41:15 <tusho> so it'd become (+ (sum [1,2]))
17:41:22 <tusho> that's basically how paredit does it
17:41:32 <tusho> ais523: oh, and you could e.g.
17:41:34 <tusho> select the sum bit
17:41:39 <tusho> and press Ctrl-E or whatever
17:41:46 <tusho> and it'd show, to the side, what it evaluates to
17:42:09 <tusho> and then that'd be a Real Object
17:42:15 <tusho> that is, objects have an html representation
17:42:21 <tusho> and you can click them to inspect them, perform messages on them
17:42:21 <tusho> etc
17:42:38 <tusho> that there would be the HTML representation of the AST class
17:43:33 <tusho> i hope that isn't confusing for you
17:43:33 <tusho> :D
17:45:27 <ais523> sounds a bit like Seaside, but saner
17:45:34 <ais523> and for an entire lang not just a website
17:46:36 <tusho> yeah, making an actual site with it would be fun
17:46:41 <tusho> you'd start another chromHTTP instance, presumably
17:46:46 <tusho> and just send the objects to that
17:46:55 <tusho> oh, and the problem with that code example I showed
17:46:59 <tusho> is that it's functional
17:47:04 <tusho> I can't think of a good way to do this with message sends
17:47:12 <tusho> hmm
17:47:18 <tusho> because, I mean
17:47:25 <tusho> it'd just turn out looking like a linear text representation
17:47:30 <tusho> because the nesting is minimal
17:51:03 <tusho> ais523: any ideas re: that?
17:51:08 <tusho> I mean i could just represent it as I do now
17:51:09 <tusho> :\
17:51:15 <tusho> although I _can't_ fit it in with the smalltalk message syntax
17:51:34 <ais523> tusho: maybe messages isn't the way to go, then
17:52:13 <tusho> ais523: but it fits in with the smalltalky "live environment" model
17:52:35 <ais523> yes, maybe it's following the same model as Smalltalk but not the same implementation of it?
17:52:48 <tusho> true
17:52:52 <tusho> but smalltalk is VERY based on messages
17:53:24 <ais523> this is your chance to do something very different, then
18:22:54 -!- Sgeo has quit (Read error: 110 (Connection timed out)).
18:30:27 -!- kar8nga has joined.
18:40:01 -!- Hiato has joined.
18:41:36 -!- optbot has set topic: the entire backlog of #esoteric: http://tunes.org/~nef/logs/esoteric | 86.4 ks in a day..
18:47:42 <tusho> ais523: true :)
18:47:47 <tusho> ok, maybe messages
18:47:49 <tusho> but reverse ones
18:47:52 <tusho> however
18:47:55 <tusho> I prefer multi dispatch
18:47:55 <tusho> however
18:48:00 <tusho> that doesn't lend well to a "big system" thing
18:48:04 <tusho> only isolated programs
18:55:46 -!- ais523 has quit ("$/='!';eval join'',@{{'+','$t[$p]++;','-','$t[$p]--;','<','$p--;','>','$p++;','[','while($t[$p]){',']','}',',','$t[$p]=ord ge).
19:27:48 -!- Hiato has quit ("Leaving.").
19:51:31 <psygnisfive> rar!
19:52:38 <Slereah_> I AM WIN HEAR ME RAR
19:52:56 <psygnisfive> ::slereahpounce::
19:55:57 -!- Hiato has joined.
19:58:50 <dogface> ::slereahpounce::
19:59:14 <Deewiant> ::slereahbounce::
19:59:43 <psygnisfive> woo! orgy! :D
20:00:18 <psygnisfive> ::cuddles slereah::
20:00:21 <psygnisfive> ::cuddles dogface::
20:00:25 <psygnisfive> ::cuddles deewiant::
20:00:37 * Deewiant escapes
20:00:45 <psygnisfive> D:
20:00:51 <psygnisfive> ::CUDDLES HARDER::
20:01:08 * Deewiant is gone
20:01:13 * dogface submits
20:01:24 * dogface is now compact
20:01:26 <psygnisfive> :D
20:01:27 <psygnisfive> good
20:01:33 <psygnisfive> now tell me about english syntax
20:01:45 * dogface is now pint-sized
20:01:54 <psygnisfive> ::drinks a pint of dogface::
20:02:02 * dogface is now in solution
20:02:19 <dogface> You hear a muffled squeak originating from your stomach.
20:02:23 <psygnisfive> well atleast you're not in precipitate :(
20:03:08 * dogface begins circulating in psygnisfive's blood stream
20:06:24 <psygnisfive> ::all warm and fuzzeh::
20:07:39 <psygnisfive> http://www.youtube.com/watch?v=cWkS2PkgmsE&feature=related
20:08:52 <tusho> <dogface> You hear a muffled squeak originating from your stomach
20:08:58 <tusho> vore? in MY #esoteric?
20:09:06 <tusho> (It's more likely blah blah etc.)
20:09:20 <dogface> I'm in solution, so it's not that bad.
20:09:37 <dogface> I mean, you hear a muffled squeak originating from psygnisfive's blood stream.
20:10:00 <tusho> Considering that vorephilia is a fetish, I imagine it's not that bad for a lot of people.
20:12:11 -!- olsner has joined.
20:24:20 -!- Corun has joined.
20:35:32 -!- Hiato has quit ("Leaving.").
20:39:48 -!- LinuS has joined.
20:49:59 -!- Slereah_ has quit (Read error: 104 (Connection reset by peer)).
20:50:18 -!- Slereah_ has joined.
20:53:11 -!- Linus` has quit (Connection reset by peer).
20:57:27 -!- Judofyr has joined.
21:06:38 -!- Tritonio_ has joined.
21:10:48 -!- kar8nga has left (?).
21:42:07 -!- Linus` has joined.
21:42:20 <tusho> -6+
21:42:40 <tusho> oklofok: coolness got to 350000 but not in an hour
21:47:24 -!- LinuS has quit (Connection reset by peer).
21:48:06 <psygnisfive> oklofok :D
22:07:37 -!- LinuS has joined.
22:08:28 <dogface> -6+ looks like something you'd find in a diff file.
22:13:44 -!- Linus` has quit (Read error: 104 (Connection reset by peer)).
22:28:16 -!- Linus` has joined.
22:35:54 -!- LinuS has quit (Read error: 104 (Connection reset by peer)).
22:54:37 -!- Corun has quit ("This computer has gone to sleep").
22:55:06 -!- Corun has joined.
22:56:01 -!- Corun has quit (Client Quit).
23:17:06 -!- RedDak has joined.
23:28:41 -!- jix has quit ("CommandQ").
23:35:15 -!- Judofyr has quit.
23:37:43 -!- RedDak has quit (Remote closed the connection).
23:43:15 -!- Linus` has quit (Connection timed out).
23:54:32 <psygnisfive> guys guys buys guys guys
23:54:38 -!- tusho has quit.
23:54:45 <psygnisfive> we should make a purely constraint based language
23:54:47 <psygnisfive> :D
23:55:18 <oklofok> yeah and we could call it CONSTIPATOR 2009
23:56:46 <psygnisfive> :P
23:56:55 <psygnisfive> ill tell you more when i get back from dinner
23:57:37 <oklofok> i'll be trying to sleep when you return.
23:57:59 <psygnisfive> ok. well in my absence, tell me (in pm) more about english syntax. :p
←2008-08-24 2008-08-25 2008-08-26→ ↑2008 ↑all