←2008-03-19 2008-03-20 2008-03-21→ ↑2008 ↑all
00:18:50 -!- olsner has quit ("Leaving").
00:28:50 -!- timotiis has quit ("leaving").
00:53:37 -!- Corun has joined.
00:57:15 -!- sebbu has quit ("@+").
01:27:11 -!- shinku_ has joined.
01:28:39 -!- shinku_ has changed nick to shinkuzin.
01:33:40 -!- jix has quit ("CommandQ").
01:46:46 -!- Corun has quit (Read error: 110 (Connection timed out)).
04:09:13 -!- Tritonio_ has quit (Remote closed the connection).
04:10:14 -!- calamari has joined.
04:52:03 -!- GreaseMonkey has joined.
05:19:35 -!- BMeph has quit ("calls it a night").
05:21:11 <Sgeo> G'night all
05:21:21 -!- Sgeo has quit ("Ex-Chat").
05:28:32 <RodgerTheGreat> pikhq: I'm sad to say I had an extremely busy evening with even more to finish before I sleep, so I don't think I'll be able to do an additional steampunk comic update tonight. To make amends, I offer your choice of one of the following- scanned concept art, the opportunity to name a future character to be worked in at my own discretion, or a canonically accurate answer to the question of your choice about the universe, characters or
05:29:27 <pikhq> RodgerTheGreat: I'll save those for later; need to see a bit more of the story to get a *good* question going. ;p
05:29:47 <RodgerTheGreat> well, at least pick which one you'll want
05:29:52 <pikhq> Question.
05:30:22 <RodgerTheGreat> and don't hold out on me for absurd lengths of time or it'll expire
05:30:38 <RodgerTheGreat> otherwise, cool
05:31:53 <pikhq> If it's held onto for absurd lengths, I'll have comics to entertain me, anyways. :p
06:29:59 -!- pikhq has quit (brown.freenode.net irc.freenode.net).
06:29:59 -!- AnMaster has quit (brown.freenode.net irc.freenode.net).
06:29:59 -!- Deformative has quit (brown.freenode.net irc.freenode.net).
06:29:59 -!- GregorR has quit (brown.freenode.net irc.freenode.net).
06:29:59 -!- Quendus has quit (brown.freenode.net irc.freenode.net).
06:29:59 -!- GreaseMonkey has quit (brown.freenode.net irc.freenode.net).
06:29:59 -!- calamari has quit (brown.freenode.net irc.freenode.net).
06:29:59 -!- shinkuzin has quit (brown.freenode.net irc.freenode.net).
06:29:59 -!- cmeme has quit (brown.freenode.net irc.freenode.net).
06:29:59 -!- RodgerTheGreat has quit (brown.freenode.net irc.freenode.net).
06:30:00 -!- vixey has quit (brown.freenode.net irc.freenode.net).
06:30:00 -!- oerjan has quit (brown.freenode.net irc.freenode.net).
06:30:00 -!- Slereah has quit (brown.freenode.net irc.freenode.net).
06:30:32 -!- tejeez has quit (brown.freenode.net irc.freenode.net).
06:30:32 -!- Deewiant has quit (brown.freenode.net irc.freenode.net).
06:30:32 -!- lament has quit (brown.freenode.net irc.freenode.net).
06:30:32 -!- sekhmet has quit (brown.freenode.net irc.freenode.net).
06:30:34 -!- bsmntbombdood has quit (brown.freenode.net irc.freenode.net).
06:30:34 -!- Overand has quit (brown.freenode.net irc.freenode.net).
06:30:34 -!- oklofok has quit (brown.freenode.net irc.freenode.net).
06:30:34 -!- SimonRC has quit (brown.freenode.net irc.freenode.net).
06:30:34 -!- cherez has quit (brown.freenode.net irc.freenode.net).
06:30:34 -!- mtve has quit (brown.freenode.net irc.freenode.net).
06:31:11 -!- GregorR has joined.
06:31:11 -!- Quendus has joined.
06:31:11 -!- Deformative has joined.
06:31:11 -!- Deformati has joined.
06:31:11 -!- pikhq has joined.
06:31:11 -!- GreaseMonkey has joined.
06:31:11 -!- calamari has joined.
06:31:11 -!- shinkuzin has joined.
06:31:11 -!- Slereah has joined.
06:31:11 -!- oerjan has joined.
06:31:11 -!- vixey has joined.
06:31:11 -!- oklofok has joined.
06:31:11 -!- RodgerTheGreat has joined.
06:31:11 -!- SimonRC has joined.
06:31:11 -!- cherez has joined.
06:31:11 -!- cmeme has joined.
06:31:11 -!- bsmntbombdood has joined.
06:31:11 -!- sekhmet has joined.
06:31:11 -!- lament has joined.
06:31:11 -!- tejeez has joined.
06:31:11 -!- Deewiant has joined.
06:31:11 -!- Overand has joined.
06:31:11 -!- mtve has joined.
06:32:03 -!- AnMaster has joined.
06:36:23 -!- Quendus has quit (Read error: 104 (Connection reset by peer)).
06:36:28 -!- Quendus has joined.
06:39:55 -!- shinkuzin has quit (Network is unreachable).
06:43:52 -!- RodgerTheGreat has quit.
06:48:29 -!- calamari has quit ("Leaving").
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
09:37:31 <oklofok> Slereah: iota is the compressed ski, unlambda has lots of weird shit iota cannot do
09:53:56 -!- GreaseMonkey has quit ("Read error: 110 (Connection chickened out)").
10:23:19 -!- slereah_ has joined.
10:27:40 -!- slereah__ has joined.
10:35:58 -!- Slereah has quit (Read error: 110 (Connection timed out)).
10:40:22 -!- slereah_ has quit (Read error: 110 (Connection timed out)).
11:58:34 -!- oerjan has quit ("Gah!").
12:03:14 <AnMaster> I just got a great(?) idea for a funge fingerprint: PTHR, ie, threading using pthread so it can run on several cores on multi-cpu systems
12:04:00 <AnMaster> would have to provide split, mutex and/or semaphore, some atomic "compare and exchange cell" and a few such things
12:04:12 <AnMaster> would not be a tame extension of course
12:06:46 <Deewiant> most certainly do /not/ tie it to pthread
12:06:52 <Deewiant> or it'll be like SGNL, and remain unimplemented.
12:07:03 <AnMaster> Deewiant, well yes more generic
12:07:14 <AnMaster> but probably would be pthread in my implementation
12:07:35 <AnMaster> Deewiant, of course I know nothing of threading API under windows so I would ask for your input on it
12:08:18 <Deewiant> neither do I
12:08:24 <Deewiant> I'd use what Tango provides
12:08:30 <Deewiant> the point is, just define it higher-level
12:08:31 <AnMaster> hah ok
12:08:35 <AnMaster> Deewiant, indeed
12:08:45 <AnMaster> anyway this is just an idea
12:08:54 <AnMaster> along with SCK6 and a few more I got
12:09:08 <AnMaster> SCK6 = SOCK for ipv6
12:09:17 <AnMaster> unless SOCK can already do ipv6
12:09:28 * AnMaster growls at rcfunge specs about that
12:09:29 <Deewiant> possibly, in theory
12:09:36 <Deewiant> not sure, can't remember the specs too well
12:10:00 <AnMaster> indeed I'll see what I can do when I get to that point
12:11:31 <AnMaster> Deewiant, and then there is the nightmare idea of a full featured FFI as some fingerprint ;)
12:11:40 <Deewiant> >_<
12:11:47 <AnMaster> don't like it?
12:11:50 <AnMaster> nor do I
12:12:05 <Deewiant> when you've got working implementation + hopefully some docs I'll see :-P
12:12:07 <AnMaster> but just to prove that I'm mad I may do it
12:12:47 <AnMaster> Deewiant, anyway I probably couldn't do it
12:13:32 <AnMaster> Deewiant, that would allow using gtk you know ;)
12:13:51 <AnMaster> anyway I may implement SGNL, not sure
12:41:49 -!- jix has joined.
13:06:42 -!- jix has quit ("CommandQ").
13:20:52 -!- ais523_ has joined.
13:21:55 -!- ais523 has joined.
13:22:14 <ais523_> hi ais523
13:22:38 <ais523> hi ais523_
13:23:06 <slereah__> PIME TARADOX
13:23:47 -!- sebbu has joined.
13:25:59 -!- ais523 has left (?).
13:29:11 -!- ais523 has joined.
13:29:38 <ais523> I'm currently joined to #esoteric using telnet
13:29:57 <slereah__> Huzzah!
13:29:59 <ais523> This is being done entirely by typing raw commands
13:30:14 <oklofok> sounds like serious stuff
13:30:14 <ais523_> (whereas I'm on a real IRC client so I can see the results)
13:30:42 <ais523> I'm trying to get an idea of how IRC works so I can write my own client
13:31:00 * oklofok just read the rfc
13:31:04 <ais523> The main problem was actually connecting in the first place without timing out; you have to type pretty quickly
13:31:29 <oklofok> yeah
13:31:30 <AnMaster> ais523, don't forget to PONG
13:31:48 <AnMaster> ais523, and well irc is a rather easy protocol
13:31:50 <oklofok> luckily, freenode basically never pings
13:31:52 <AnMaster> but soo many extensions
13:31:59 <AnMaster> and twists
13:32:22 <AnMaster> ais523, basically you have too look at how ircds does things, for example consider the 005 ISUPPORT numeric
13:32:30 <AnMaster> not in any standard that I know of
13:32:32 <oklofok> i once had a bunch of bots here as ghosts like a day
13:32:50 <AnMaster> ais523, yet parsing it is very useful tells you what modes are supported and so on
13:33:05 <AnMaster> oklofok, indeed freenode does TCP timeout only I think
13:41:52 <ais523_> [CTCP] Received CTCP-PING reply from ais523: 105 seconds.
13:41:58 <ais523_> wow, that took me a while to figure out
13:42:54 <ais523> my main problem is not being able to actually see the control-As which often fly around
13:44:35 * ais523 tests doing an ACTION
13:45:02 <ais523_> so it's just another sort of ctcp...
13:45:34 <ais523_> wow, I never realised that /ctcp #esoteric VERSION even made sense before today
13:45:57 <oklofok> let's all do it!
13:46:12 <ais523_> oklofok: you got that the wrong way round
13:46:16 <ais523_> [CTCP] Received Version request from oklofok to channel #esoteric.
13:46:40 <oklofok> ...?
13:46:43 <ais523_> you must have written /ctcp ais523_ #esoteric VERSION
13:46:44 <oklofok> what did i get wrong?
13:46:58 <ais523_> your client added my nick to the request, so it only went to me
13:47:03 <oklofok> errrr
13:47:08 <ais523_> you have to use #esoteric as the nick to send to
13:47:21 <oklofok> the server adds all users on this channel in the messages it sens
13:47:22 <oklofok> sends
13:47:29 <AnMaster> <ais523_> [CTCP] Received CTCP-PING reply from ais523: 105 seconds.
13:47:30 <AnMaster> hah yes
13:47:45 * AnMaster notes that /me == CTCP ACTION
13:47:56 <AnMaster> you send \1ACTION jumps\1
13:47:57 <AnMaster> iirc
13:47:58 <oklofok> ais523: doing that to a channel == doing it to each user separately
13:48:03 <AnMaster> as a PRIVMSG
13:48:15 <ais523_> [CTCP] Received CTCP-PING reply from ais523: -76 seconds.
13:48:26 <AnMaster> ais523, to reply you do a NOTICE
13:48:39 <ais523> I figured that
13:48:56 <AnMaster> ie, NOTICE ais523 :\1VERSION telnet\1
13:49:19 <ais523> and also how to lie to Konversation about how recently I'd been pinged
13:49:28 <AnMaster> ais523, also a CTCP can be embedded in a normal line
13:49:29 <ais523> thus the negative ping time
13:49:34 <AnMaster> most clients doesn't handle it
13:49:38 <AnMaster> but some send it
13:49:49 <AnMaster> like normal message with a CTCP at the end, or even in the middle
13:50:24 <ais523> this message has a <CTCP>ACTION test<CTCP> CTCP in the middle
13:50:27 <AnMaster> ais523, however I know some ppl trying to clean up this mess and create a new standard
13:50:39 <AnMaster> ais523, indeed erc fails at it, and so does xchat
13:50:47 <AnMaster> but it is allowed
13:50:52 <ais523> apparently so does Konversation
13:51:13 <ais523> grr... it's hard typing when someone else dumps a comment in the middle of your line
13:51:21 <AnMaster> ais523, http://www.irchelp.org/irchelp/rfc/ctcpspec.html
13:51:30 <AnMaster> ais523, hehe true
13:51:43 <AnMaster> blame your client ;)
13:52:38 <ais523> well, this client can almost handle it, but it's a little low-tech
13:52:39 <AnMaster> ais523, this may interest you:
13:52:40 <AnMaster> http://www.irc-standard.org/
13:52:52 <ais523> thanks
13:53:44 <AnMaster> ais523, also: http://www.alien.net.au/irc/irc2numerics.html
13:56:02 <AnMaster> ais523, oh and test it on different ircds, for example inspircd and unrealircd as well as freenode's hyperion
13:56:39 <AnMaster> bbl
14:02:02 -!- ais523 has changed nick to ais523_testingni.
14:02:08 -!- ais523_testingni has changed nick to ais523.
14:03:06 -!- Tritonio_ has joined.
14:03:34 <ais523> hello Tritonio
14:04:42 <AnMaster> http://www.quote-egnufeb-quote-greaterthan-colon-hash-comma-underscore-at.info/befunge/befc3.php
14:04:43 <AnMaster> hm
14:09:36 <ais523> Anmaster: I am receiving pings from Freenode, but so far I think I'm answering to them properly because I'm not being booted off
14:09:58 <AnMaster> ais523, err, as I said above, freenode doesn't care about PING
14:10:04 <AnMaster> it only uses tcp timeout
14:10:17 <AnMaster> so even if you don't do PONG it won't drop you as long as you are active
14:10:36 <ais523_> it is /sending/ the PINGs, though
14:10:55 <AnMaster> freenode is indeed
14:11:04 <AnMaster> it doesn't care about PONG though
14:11:16 <AnMaster> yes freenode's ircd is weird
14:11:20 <ais523> I think it sends them only to inactive users
14:11:31 <ais523> and allows any sort of reply as a response
14:11:46 <AnMaster> ais523, maybe, but other ircds doesn't act like that
14:11:47 <AnMaster> so
14:12:06 <AnMaster> do it the right way in your client
14:12:43 * ais523 was going to
14:18:45 -!- ais523 has quit ("testing quitting").
14:18:56 -!- ais523_ has changed nick to ais523.
14:26:57 -!- ais523_ has joined.
14:35:31 -!- Corun has joined.
14:36:02 <ais523_> hello, Corun
14:36:58 -!- ais523_ has quit (Nick collision from services.).
14:38:23 <Corun> Arr.
14:38:25 <Corun> Arr.
14:38:31 <ais523> Corun: ?
14:38:41 <Corun> Pirate! :-)
14:39:32 -!- ais523_ has joined.
14:39:38 -!- jix has joined.
14:39:48 <ais523_> it
14:40:11 <ais523_> it isn't Talk Like A Pirate Day already, is it?
14:40:20 * ais523_ forgot the colon
14:40:31 <Corun> No, no. I'm always like this. :-)
14:41:08 <oklofok> okokokokokokokokokokokoko
14:41:32 <ais523_> hmm... a properly esoteric IRC client would have options to swap nicknames with someone else
14:41:47 <AnMaster> ais523_, HAHA
14:42:05 <ais523_> which would be opt-out; anyone who forgot to add the required compiler switch could have their nickname changed without their knowledge
14:42:06 <AnMaster> ais523_, in what language btw?
14:42:20 <ais523_> I'm currently writing this using telnet
14:42:33 <ais523_> but I intend to write an INTERCAL IRC client at some point
14:42:33 <AnMaster> ais523_, so you mean CTCP SWAPNICK or something like that
14:42:42 <AnMaster> I'd definitly suggest a CTCP for it
14:42:46 <ais523_> yes
14:42:58 <ais523_> and then both clients coordinate the required nickname changes
14:43:25 <AnMaster> ais523_, one would have to change to a temp nick name first
14:43:33 <oklofok> ais523: i love the swap idea
14:43:48 <oklofok> perhaps my first unlambda project should be an irc client
14:44:20 <oklofok> it's funny, i've been toying with esolangs for ages, but i haven't actually written anything that large in any of them
14:44:22 <AnMaster> ais523_, making a simple irc client is easy, making one that supports most common extensions, multiple servers and so on is hard
14:44:30 <oklofok> large as in, something you can actually call a program
14:44:50 <ais523_> I only want a simple one, really
14:44:51 <oklofok> i've just theoretically pondered how you'd use features of different languages
14:44:53 <AnMaster> ais523_, oh and multiple channels
14:44:59 <oklofok> to get modularity and such
14:45:00 <AnMaster> ais523_, consider NAMESX extension
14:45:02 <AnMaster> very useful one
14:45:05 <ais523_> it would be kind-of hard to write anything copmlex in INTERCAL
14:45:05 <AnMaster> ais523_, a sec for docs
14:45:12 <ais523_> * complex
14:45:25 <AnMaster> ais523_, see description at http://www.inspircd.org/wiki/NAMESX_Module
14:45:43 <AnMaster> and there is UHNAMES too
14:45:50 <AnMaster> UHNAMES avoids un-needed who requests
14:45:59 <AnMaster> by returning hostmask in /names
14:46:09 <AnMaster> far from all ircds support it, but still very useful
14:46:30 <AnMaster> http://www.inspircd.org/wiki/Modules/uhnames
14:46:32 -!- ais523_ has quit (SendQ exceeded).
14:46:39 <AnMaster> no docs there
14:46:44 <AnMaster> ais523, lol at that one
14:46:47 <AnMaster> what did you do=
14:46:50 <ais523> whoops
14:46:54 <AnMaster> yes rate limiting is important
14:47:01 <ais523> I accidentally sent a NAMES command to every channel on freenode
14:47:07 <ais523> so it was more a ReceiveQ exceeded
14:47:25 <AnMaster> ais523, err, wrong
14:47:31 -!- vixey` has joined.
14:47:31 <AnMaster> SendQ from server view
14:47:33 <ais523> and yes, I am laughing out loud at this point and getting some funny looks as a result
14:47:40 <AnMaster> ais523, and how to every channel on freenode?
14:47:45 <ais523> NAMES with no argument
14:47:54 <AnMaster> ais523, sure that checks every channel!?
14:48:13 <AnMaster> because it doesn't on other ircds
14:48:13 <ais523> well, I got several screenfulls before I was killed for the reverse flood
14:48:20 <ais523> maybe it's every non-secret channel, or something
14:48:33 <AnMaster> ais523, even then most ircds doesn't do that
14:48:49 <AnMaster> << NAMES
14:48:49 <AnMaster> >> :quark.kuonet-ng.org 366 AnMaster * :End of /NAMES list.
14:48:57 <AnMaster> that server runs inspircd
14:49:12 <AnMaster> and as I'm oper on it, I can see every channe
14:49:14 <AnMaster> channel*
14:49:35 <ais523> "If no <channel> parameter is given, a list of all channels and their occupants is returned. At the end of this list, a list of users who are visible but either not on any channel or not on a visible channel are listed as being on `channel' "*"."
14:49:53 <ais523> so presumably it's just a case of most IRC clients not being crazy enough to implement what the RFC suggets
14:49:56 <ais523> * suggests
14:49:58 <AnMaster> ais523, ah another case of most ircds not following things because it is so stupid
14:50:06 <AnMaster> ais523, because I did /quote
14:50:09 <ais523> s/clients/servers/
14:50:13 <AnMaster> to make sure I just sent a raw command
14:51:22 <oklofok> ais523: you probably get even weirder looks if people actually see what you're laughing at
14:51:42 <ais523> wow, I'm still laughing out loud
14:51:51 <ais523> this is probably a record for me laughing at computer stuff
14:52:21 <ais523> it's either this, or those specs for the Canon printer they had on thedailywtf.com one time, which was also pretty funny
14:52:33 <ais523> all the specs were in the wrong places and the wrong units
14:52:47 <AnMaster> ais523, if your client lacks a /raw or /quote or some other command for it. you won't be popular
14:53:03 <ais523> AnMaster: it isn't meant to be a popular client
14:53:06 <ais523> but /raw is easy enough
14:53:22 <AnMaster> ais523, suggestion: name commands like intercal does it
14:53:25 <AnMaster> so silly names
14:53:59 <AnMaster> not that I can think up such names
14:55:12 <Deewiant> ais523: some client/network combination does/did do that
14:55:30 <Deewiant> I remember falling off a network for typing /who
14:55:35 -!- vixey has quit (Read error: 110 (Connection timed out)).
14:56:24 <ais523> Deewiant: I'm just surprised that freenode lets you even start doing that, on the basis that you would definitely be thrown off the network before it finished its output
14:56:32 <AnMaster> Deewiant, some ircds will buffer such
14:56:41 <ais523> unless someone decided to suddenly delete all the channels
14:57:01 <AnMaster> for example:
14:57:02 <AnMaster> * stitch.chatspike.net InspIRCd-1.1.10+HerefordHopExtraDry BGHRSWdinorswx CGIJKLMNOQRSTVabcefghijklmnopqrstuvz IJLabefghjkloqv
14:57:03 <AnMaster> * WALLCHOPS WALLVOICES MODES=19 CHANTYPES=# PREFIX=(qaohv)~&@%+ MAP MAXCHANNELS=20 MAXBANS=60 VBANLIST NICKLEN=31 CASEMAPPING=rfc1459 STATUSMSG=@%+ CHARSET=ascii :are supported by this server
14:57:03 <AnMaster> * TOPICLEN=307 KICKLEN=255 MAXTARGETS=20 AWAYLEN=200 CHANMODES=Ibeg,k,JLfjl,CGKMNOQRSTVcimnprstuz FNC NETWORK=ChatSpike MAXPARA=32 ELIST=MU EXCEPTS=e INVEX=I OVERRIDE SILENCE=32 :are supported by this server
14:57:03 <AnMaster> * USERIP WATCH=32 SECURELIST SAFELIST NAMESX SSL=*:6668 :are supported by this server
14:57:21 <AnMaster> ais523, you will need to parse 005 for features
14:57:29 <AnMaster> 005 = the three last lines
14:57:34 <AnMaster> yes it can span multiple lines
14:57:47 <ais523> to start with I might not try to parse numerics at all
14:57:53 <AnMaster> ais523, that is bad :/
14:57:55 <AnMaster> very bad
14:58:09 <ais523> I have to start somewhere
14:58:13 <AnMaster> true
14:58:23 -!- ais523 has left (?).
15:04:41 -!- Tritonio_ has quit (Remote closed the connection).
15:09:16 -!- Tritonio_ has joined.
15:15:41 -!- ais523 has joined.
15:19:08 <ais523> maybe an IRC client should also have a database of servers, and how to register with the equivalent of NickServ on all the servers that supported it
15:19:23 <ais523> so you could create an IRC account in a more user-friendly way
15:20:01 <ais523> (I know that some servers don't support nickname-registering, in some cases deliberately, but many do)
15:21:53 <ais523> hmm... it's pretty hard to do an IRC client without some way to select()
15:22:14 <ais523> maybe I should design C-INTERCAL so that if you have multiple threads, a WRITE IN in one thread doesn't block the other threads
15:22:29 <ais523> although then I'll have to implement network connections in it
15:22:40 <ais523> and multiple filehandles, like CLC-INTERCAL has
15:23:06 <ais523> I don't think an IRC client is currently possible in either dialect without either requiring the user to repeatedly press newline,
15:24:17 <ais523> or using an external program as a wrapper around the IRC client itself
15:24:49 <ais523> you could split on colons to tell if a message came from the user or from the server, and merge the input streams together somehow, but output streams would need special handling
15:26:16 <ais523> I like the nonblocking WRITE IN method, but that would lead to interesting behaviour if two threads tried to WRITE IN the same stream simultaneously
15:26:29 <AnMaster> Deewiant, you are wrong about !Befunge having "irremovable exit code output"
15:26:35 <AnMaster> Deewiant, try --quiet option it removes it
15:26:48 <AnMaster> <ais523> maybe an IRC client should also have a database of servers, and how to register with the equivalent of NickServ on all the servers that supported it
15:26:53 <AnMaster> good luck with that
15:27:04 <AnMaster> just provide some way to execute "on connect commands"
15:27:07 <ais523> at least the more commonly-used ones
15:27:24 <AnMaster> ais523, because there are so many different service type, far from all being called nickserv
15:27:30 <AnMaster> account based systems
15:27:40 <ais523> that's why you'd need a database in the client
15:27:40 <AnMaster> for example /msg userserv login <username> <password>
15:27:53 <AnMaster> ais523, that is why you need to be able to load on-connect commands from a file
15:28:03 <AnMaster> I use such a system
15:28:09 <AnMaster> as I often also need to set specific modes
15:28:12 <ais523> that would require the user to know what the right commnds were
15:28:16 <AnMaster> or on some networks, oper up
15:29:05 <AnMaster> ais523, way better, and, anyone using a intercal based program is very likely computer literate.
15:29:18 <ais523> yes, but not necessarily IRC literate
15:29:45 <ais523> and anyway, you could compile the INTERCAL to an executable, so nobody would ever know it was INTERCAL-based without looking at the source code
15:30:07 <AnMaster> ais523, right, still
15:30:33 <AnMaster> ais523, anyway a single service package may offer different ways depending on configuration
15:30:50 <AnMaster> for example atheme services that I use, can be configured to be either account or nick based
15:30:56 <AnMaster> or a mix of them
15:31:05 * AnMaster goes with the mix way
15:32:18 <ais523> I think I'll start with a client which just loads a network, logs on, joins one channel, and lets the user type PRIVMSGs to that channel and see PRIVMSGs sent to that channel and to the user, and password-identifies
15:32:27 <ais523> and then I'll expand it from there
15:32:44 <AnMaster> good idea
15:33:17 <ais523> responding to PING commands, also, because it won't work on some servers otherwise
15:33:27 <AnMaster> ais523, s/some/most/
15:33:27 <AnMaster> .
15:36:52 <oklofok> o
15:37:09 <ais523> oklofok: ?
15:37:24 <oklofok> ais523: just oing
15:37:56 * ais523 doesn't understand the appeal
15:38:11 <ais523> but then I don't understand a lot of Internet culture
15:39:01 <oklofok> i o i real life too
15:39:04 <oklofok> *in
15:39:36 <ais523> you mean you say o out of nowhere for no apparent reason every now and then?
15:39:50 <oklofok> yes
15:39:57 <ais523> but then, I'm connected to IRC using telnet, so I can talk
15:41:23 <oklofok> i also say "okofolor" and "ofokol" quite often
15:41:42 <oklofok> curiously, these have never been my nicks.
15:41:54 <oklofok> hmm... okofolor may have been
15:41:58 -!- oklofok has changed nick to okofolor.
15:42:02 -!- Tritonio_ has quit (Read error: 104 (Connection reset by peer)).
15:42:33 <ais523> hmm... an esoteric IRC client should have the ability to change its version string
15:42:47 <ais523> maybe prompt the user for one every time it gets a version request, and use a default if there isn't an answer within a few seconds
15:43:52 <ais523> or maybe place version information that changes each time; for instance, have the subsubsubrevision number increase continuously over time
15:44:06 <AnMaster> <ais523> hmm... an esoteric IRC client should have the ability to change its version string
15:44:09 <AnMaster> most do
15:44:17 <AnMaster> in xchat for example it is a /set
15:44:22 <AnMaster> and so it is in irssi
15:44:33 <AnMaster> in erc I think it is something in your .emacs
15:44:35 <ais523> oklofok: do those words mean anything, or do you just say them for fun?
15:44:58 <ais523> I just like the feel of being able to reply anything you like to CTCPs that you get in telnet
15:45:08 <ais523> it's a liberating experience
15:45:16 <AnMaster> ais523, except you took ages
15:45:29 <ais523> AnMaster, you sent me three at once!
15:45:42 <okofolor> ais523: they don't mean anything
15:45:43 <AnMaster> yes finger exist
15:45:45 <okofolor> i guess just fofun
15:45:47 <okofolor> *for fun
15:45:53 <AnMaster> ais523, same as old unix finger heh
15:46:16 -!- jix has quit ("This computer has gone to sleep").
15:46:36 <AnMaster> ais523, hah forgot VERSION first time
15:47:11 <AnMaster> CLIENTINFO not CLIENTINGO, is supposed to list supported CTCPs I think
15:47:15 <AnMaster> * Ping reply from ais523: 30.32 second(s)
15:47:16 <AnMaster> hahaha
15:47:45 <ais523> grr, I should have changed the timestamp by more
15:47:59 <ais523> copying the timestamp back literally doesn't strike me as a very interesting thing to do
15:48:00 <AnMaster> ais523, far from all clients implement more than VERSION/TIME/PING
15:48:14 <AnMaster> oh and ACTION of course
15:48:19 <AnMaster> but that is special
15:48:34 <ais523> AnMaster, is that better?
15:48:42 <AnMaster> * Ping reply from ais523: 18446744063813.62 second(s)
15:48:44 <AnMaster> well
15:48:50 <ais523> I sent you a second reply to the ping dated further in the future
15:49:01 <AnMaster> yes it seems to overflow
15:49:04 <AnMaster> around 2038 I bet
15:49:06 <ais523> unfortunately, your client seems to use unsigned arithmetic for pings
15:49:21 <ais523> on Konversation I was able to get negative ping times
15:49:40 <ais523> it doesn't have to be, but in practice it normally is
15:49:57 <AnMaster> you know this convo looks odd to those not seeing all of it
15:50:46 <AnMaster> err that was sent to #esoteric
15:50:48 <AnMaster> -_-
15:50:55 <AnMaster> and was a notice not a ctcp at all I think
15:51:05 <ais523> it was a notice to #esoteric
15:51:07 <AnMaster> but why a "CTCP conversation"?
15:51:11 <ais523> that's what I was trying to do
15:51:21 <AnMaster> http://www.irchelp.org/irchelp/rfc/ctcpspec.html
15:51:25 <ais523> we had a conversation with invalid CTCPs, just for fun
15:51:35 <AnMaster> heh
15:51:39 <ais523> and they came up as errors on our IRC clients
15:52:01 <ais523> I've never had a PING conversation before, though, not even sure if that's possible with most clients
15:52:13 <AnMaster> "SOURCE
15:52:13 <AnMaster> This is used to get information about where to get a copy of the
15:52:13 <AnMaster> client. The request in a "privmsg" is simply
15:52:13 <AnMaster> "
15:52:23 <AnMaster> "and the reply is zero or more CTCP replies of the form"
15:52:28 <AnMaster> "\001SOURCE #:#:#\001"
15:52:35 <AnMaster> remove all quotes
15:52:42 <AnMaster> "followed by an end marker
15:52:42 <AnMaster> \001SOURCE\001"
15:53:03 <AnMaster> "where the first # is the name of an Internet host where the client can be gotten from with anonymous FTP the second # a directory names, and the third # a space separated list of files to be gotten from that directory."
15:53:04 <AnMaster> hahaha
15:53:24 <ais523> you said 'zero or more', so that one's easy to respond to
15:53:29 <AnMaster> yeah
15:53:36 <AnMaster> ais523, and very few clients implement it
15:53:47 <ais523> I don't think there is any source code to me, though
15:54:06 <AnMaster> your DNA sequence?
15:54:15 <ais523> I could look up the source code to telnet, I suppose
15:54:22 <AnMaster> ais523, hehe no need
15:54:37 <ais523> I wonder if any closed-source IRC clients implement SOURCE?
15:55:08 <AnMaster> Deewiant, any replies?
15:55:15 <Deewiant> 2008-03-20 16:54:57 [freenode] CTCP ERRMSG reply from clog: unknown CTCP: SOURCE
15:55:21 <AnMaster> haha
15:55:31 <Deewiant> that's the only one I got :-P
15:55:43 <AnMaster> Deewiant, oh btw, did you see the note about !Befunge above
15:55:49 <Deewiant> aye, cheers
15:56:02 <AnMaster> Deewiant, so you need to update all of those soon
15:56:20 <AnMaster> Deewiant, current cfunge should be included though it doesn't yet do all fingerprints
15:56:35 <Deewiant> it's a pain to do it
15:56:41 <Deewiant> I'd rather postpone it as much as possible :-P
15:56:55 <ais523> write a befunge script to update it
15:56:56 <AnMaster> Deewiant, oh and I got a weird infinite look in TOYS with !Befunge if I used --concurrent
15:57:03 <AnMaster> Deewiant, did not match your output
15:57:03 <Deewiant> some parts have to be done manually
15:57:23 <AnMaster> Deewiant, ./BefungeLyt --quiet --concurrent --98 --d=*,* --cellsize=32 ~/src/cfunge08/mycology/mycology.b98
15:57:38 <AnMaster> in TOYS it start outputting stuff like:
15:57:40 <AnMaster> D:2rltB:vlpgo tCidn rA To
15:57:40 <AnMaster> NNNNNNNNNNNDFFFFFFFFF:00000002 rffflc
15:57:41 -!- Deformative has quit (SendQ exceeded).
15:57:43 <AnMaster> very odd
15:57:43 <Deewiant> you're missing --files
15:57:47 <Deewiant> and --warn
15:57:51 <AnMaster> Deewiant, yes but why those
15:58:04 <ais523> hmm... even after reading the IRC RFC I'm still not sure what to reply to a PING command (not the CTCP, the one that comes from the server)
15:58:05 <AnMaster> why should it change stuff
15:58:13 <Deewiant> because they might explain differences to my output
15:58:19 <ais523> with a PONG, obviously, but I'm not sure what the argument should be
15:58:32 <Deewiant> ais523: the argument that the server sent
15:58:38 <Deewiant> PING foo -> PONG foo
15:58:52 <Deewiant> AnMaster: and did you apply the patches from the page
15:58:56 <ais523> I'm not sure, because PING foo gives the name of the server
15:59:07 <Deewiant> doesn't matter
15:59:14 <ais523> but I'm not entirely sure whether the PONG should give the name of the server or of the client
15:59:21 <Deewiant> you PONG with exactly what the server gives you
15:59:28 <Deewiant> PING :irc.cs.hut.fi
15:59:28 <Deewiant> >>> PONG :irc.cs.hut.fi
15:59:37 <Deewiant> some output from my bot running in this screen :-P
15:59:55 <Deewiant> and it seems to be up just fine
16:00:08 <ais523> OK, that makes sense; I pinged freenode and got the same string back
16:03:02 <ais523> hmm... cmeme didn't even bother to respond to my CTCP ping
16:03:33 <ais523> it probably doesn't respond to CTCPs at all
16:15:27 <AnMaster> <Deewiant> AnMaster: and did you apply the patches from the page
16:15:28 <AnMaster> I did
16:15:40 <AnMaster> Deewiant, after converting them to LF
16:15:43 <Deewiant> well I don't know
16:15:45 <AnMaster> oh and finding right files
16:15:52 <AnMaster> Deewiant, as you linked to lower case names
16:15:58 <AnMaster> so it gave 404 on links
16:16:02 <Deewiant> ??
16:16:02 <Deewiant> firk
16:16:04 <AnMaster> I needed upper case B
16:16:23 <AnMaster> thanks mod_dir_index or whatever it is called under apache
16:16:24 <AnMaster> ;O
16:16:25 <AnMaster> ;P*
16:16:31 <AnMaster> Deewiant, wtf does "firk" mean?
16:16:39 <Deewiant> look it up
16:16:46 <AnMaster> Deewiant, what language
16:17:01 <AnMaster> Did you mean: define:firm
16:17:01 <AnMaster> No definitions were found for firk.
16:17:58 <Deewiant> "firk ding blast
16:18:40 <Deewiant> odd that google doesn't know it
16:18:41 <AnMaster> Deewiant, ah
16:18:43 <Deewiant> http://dictionary.reference.com/browse/Firk
16:18:52 <AnMaster> Deewiant, found it in urban dict btw
16:18:53 <Deewiant> but that's not the meaning I use it for, of course :-P
16:18:54 <Deewiant> just an expletive
16:19:16 <AnMaster> urban dict says: "something not very smart"
16:19:16 <Deewiant> aye, but it's a real word as well
16:20:02 <AnMaster> Deewiant, I prefer the webster definition ;)
16:20:11 <AnMaster> the second one
16:20:43 <Deewiant> AnMaster: fixed the patch links, cheers
16:20:56 <AnMaster> Deewiant, try klinkchecker some time btw
16:21:21 <AnMaster> err klinkstatus
16:21:35 <Deewiant> there are many such tools
16:22:22 <AnMaster> according to klinkstatus "http://web.archive.org/web/20070322234225/http://www.teepop.net/fungus/" fails
16:22:50 <Deewiant> and it's wrong
16:22:56 <Deewiant> because it works fine here :-P
16:23:08 <AnMaster> Deewiant, it times out here
16:23:26 <Deewiant> http://web.archive.org/web/*/http://www.teepop.net/fungus/
16:23:51 <AnMaster> http://dev.tokigun.net/esolang/program_en.php fails too, times out
16:24:16 <AnMaster> Deewiant, from web archive: "Failed Connection.
16:24:16 <AnMaster> We're sorry. Your request failed to connect to our servers. We may be experiencing technical difficulties and suggest that you try again later.
16:24:16 <AnMaster> See the FAQs for more info and help, or contact us."
16:24:30 <Deewiant> AnMaster: works fine here.
16:24:39 <AnMaster> Deewiant, http://dev.tokigun.net/esolang/program_en.php too?
16:24:40 <Deewiant> although pyfunge does seem to be down.
16:25:00 <AnMaster> Deewiant, dns fails for pyfunge
16:25:18 <Deewiant> google has a cache from 2 weeks ago
16:26:53 <AnMaster> it worked like last week too
16:27:05 <AnMaster> hopefully temporary
16:27:22 <Deewiant> how's the download link for you, http://pandora.sapzil.info/dev/pyfunge/pyfunge-0.2-beta2-snapshot-20041227.zip
16:28:04 <AnMaster> Deewiant, don't really care about pyfunge
16:28:26 <Deewiant> so I guess you don't have a copy of that zip either
16:29:11 <AnMaster> Deewiant, I don't
16:29:33 <AnMaster> and that link seems to fail
16:30:57 <AnMaster> $ file Turtle
16:30:57 <AnMaster> Turtle: RISC OS Draw file data
16:31:03 <AnMaster> Deewiant, how on earth do you view it?
16:31:54 <Deewiant> the only programs I found were for RISC OS or the Amiga, IIRC
16:32:06 <Deewiant> there might have been one with some form of *nix support
16:32:14 <Deewiant> but I couldn't get it to work on cygwin, at least
16:32:30 <AnMaster> Deewiant, so you couldn't verify that TURT worked then?
16:32:36 <Deewiant> nope
16:33:16 <AnMaster> http://quote-egnufeb-quote-greaterthan-colon-hash-comma-underscore-at.info/befunge/tquine.php
16:33:21 <Deewiant> the only TURT file I've seen is from CCBI :-P
16:33:23 <AnMaster> mentions some "Oak Draw" for windows
16:33:48 <Deewiant> oh cool, didn't find that
16:33:50 <Deewiant> lessee
16:34:07 <AnMaster> Deewiant, closed source
16:34:15 <Deewiant> yeah, so?
16:34:17 <AnMaster> and likely to pollute the windows registry even more
16:34:22 <AnMaster> than it already is
16:34:30 <Deewiant> no, I think that's unlikely :-P
16:34:33 <Deewiant> it can't get much worse
16:34:49 <Deewiant> hmm, it's 16-bit
16:34:54 <Deewiant> unsurprisingly
16:34:56 <ais523> it /can/ get worse, the Windows registry is bad but is capable of getting almost unlimitedly worse
16:35:08 <Deewiant> but the installer seems to have died
16:35:17 <Deewiant> no window but the process is running
16:35:22 <Deewiant> and it doesn't seem to be doing anything
16:36:23 <Deewiant> unsurprisingly there's no info on the net about running oak draw on windows xp >_<
16:36:59 <AnMaster> Deewiant, hah
16:37:05 <ais523> are the details of the format published anywhere? Presumably, if Befunge can create files in a format, it isn't too hard to read
16:37:34 <Deewiant> the source that creates the file is C, not Befunge
16:38:24 <ais523> oh, of course, but reading that source should imply details about the format
16:38:27 <AnMaster> still you could reverse engineer it
16:38:34 <AnMaster> ;)
16:38:35 <Deewiant> yeah, sure
16:38:44 <Deewiant> or simplest would be to change the source to output something more commonplace
16:38:52 <ais523> and it seems unlikely that people would pick a very complex format for a file to be output by a Befunge interp
16:38:54 <Deewiant> or to install RISC OS :-P
16:39:04 <Deewiant> ah, here we go, running in win95 compatibility mode worked
16:39:13 <AnMaster> ais523, well Deewiant selected svg
16:39:19 <AnMaster> and did it without any library
16:39:29 <Deewiant> heh, it wants to install in "C:\Program Files" even though such a dir doesn't exist
16:39:36 <Deewiant> AnMaster: yes, because I thought it'd be simplest
16:39:43 <AnMaster> Deewiant, indeed most old windows app do
16:39:57 <Deewiant> 2002 O_o
16:39:58 <AnMaster> Instead of c:\<localized>
16:40:10 <Deewiant> or, as it is here, D:\Programs
16:40:21 <AnMaster> Deewiant, I never got it c:\Program but c:\Documents and Settings
16:40:27 <AnMaster> in Swedish windows xp
16:40:29 <Deewiant> it's in the %ProgramFiles% envvar...
16:40:36 <AnMaster> why just use a localized name for one of them
16:40:48 <AnMaster> why not c:\Användare och Inställningar
16:40:51 <AnMaster> for the latter
16:41:04 <Deewiant> beats me
16:41:10 <Deewiant> the latter is much harder to change BTW
16:41:16 <ais523> C:\Documents and settings is really hard to type into a shell
16:41:18 <Deewiant> almost broke my Windows trying, and ended up failing
16:41:26 <Deewiant> C:\D<tab> usually does it
16:41:27 <AnMaster> Deewiant, btw do you come from the Swedish or Finnish speaking part of Finland?
16:41:36 <Deewiant> finnish
16:41:40 <AnMaster> ais523, cd /home :)
16:41:41 <Deewiant> like most :-P
16:41:43 <ais523> and is even more difficult with cmd.exe than it is on POSIXy shells
16:41:51 <AnMaster> Deewiant, heh ok
16:41:53 <Deewiant> C:\D<tab> works fine in cmd.exe
16:42:37 <ais523> /home is a lot better, and Windows Vista picked a similar solution (C:\Users)
16:42:44 <Deewiant> alright, I got a turtle file
16:42:45 <AnMaster> ais523, hah
16:42:55 <AnMaster> Deewiant, oh? does it looks right?
16:43:02 <AnMaster> for !Befunge
16:43:06 <Deewiant> nope
16:43:11 <AnMaster> Deewiant, oh?
16:43:22 <Deewiant> but then this program is really weird
16:43:35 <Deewiant> I can't decipher the UI
16:43:39 <Deewiant> could be it's just displaying it wrong
16:43:43 <AnMaster> Deewiant, hm ok
16:44:32 <Deewiant> but it does look like there's one square
16:44:36 <Deewiant> and it's in the lower left corner
16:44:41 <Deewiant> and nothing else
16:44:54 <AnMaster> weird
16:44:56 <Deewiant> food ->
16:45:55 -!- ais523 has quit ("bye!").
16:49:41 -!- Corun has quit (Read error: 110 (Connection timed out)).
16:52:13 <okofolor> o.
16:52:23 <AnMaster> okofolor, what?
16:54:28 <okofolor> nothing! can't a guy o here anymore without being asked for a reason :O
16:54:44 <okofolor> i'm not sure that's ever been possible
16:54:50 -!- RodgerTheGreat has joined.
16:55:18 <AnMaster> okofolor, well what did it mean?
16:58:44 <okofolor> well what did it not mean
17:00:14 <Deewiant> i,
17:00:17 <Deewiant> it didn't mean that
17:08:53 <okofolor> it didn't?
17:22:18 <AnMaster> heh
17:26:10 <AnMaster> huh, why does BASE give null bytes in output
17:26:14 <AnMaster> UNDEF: N outputs 40 in base 16 as ^@28 $
17:26:15 <AnMaster> like that
17:26:20 <AnMaster> where ^@ = \0
17:27:31 * AnMaster fixes
17:29:12 <AnMaster> done
17:43:01 -!- jix has joined.
18:12:32 -!- Sgeo has joined.
18:35:58 -!- timotiis has joined.
18:44:58 <Deewiant> AnMaster: btw, you talk about that magic undocumented -O4 mode
18:45:05 <Deewiant> AnMaster: have a look at http://gcc.gnu.org/viewcvs/trunk/gcc/opts.c?view=markup
18:45:19 <Deewiant> AnMaster: 3 or greater are all the same
18:45:36 <AnMaster> Deewiant, odd, I talked to a gcc developer that said otherwise
18:45:51 <Deewiant> maybe he was just messing with you :-P
18:46:05 <AnMaster> Deewiant, and I notice a speed difference in some cases
18:46:38 <AnMaster> if (optimize_val != -1)
18:46:38 <AnMaster> {
18:46:38 <AnMaster> optimize = optimize_val;
18:46:38 <AnMaster> optimize_size = 0;
18:46:38 <AnMaster> }
18:46:39 <AnMaster> err
18:46:54 <AnMaster> looks like it set optimize to any level?
18:46:54 <Deewiant> ?
18:47:02 <Deewiant> yes
18:47:10 <Deewiant> so you can give it -O9 if you want
18:47:13 <Deewiant> but it's all the same as -O3
18:47:16 <AnMaster> so it doesn't actually handle the values of -O there
18:47:20 <Deewiant> no, lower
18:47:23 <Deewiant> if (optimize >= 3)
18:47:28 <AnMaster> it will set optimize == 9 or whatever
18:47:43 <Deewiant> jep
18:47:56 <Deewiant> but it only cares about >= 1, >= 2, >= 3, and nonzero
18:48:04 <AnMaster> hm in that place yes
18:48:22 <AnMaster> where is the variable optimize declared?
18:48:31 <Deewiant> probably in opts.h
18:48:44 <AnMaster> doesn't seem to
18:48:56 <Deewiant> flags.h
18:49:09 <AnMaster> Deewiant, anyway something could check for 4 or higher elsewhere
18:50:34 <AnMaster> anyway *goes back trying to make i instruction work*
18:56:02 <jix> if you really want speed with gcc you have to mess around with the options for different optimization passes and things manually anyway
18:56:36 <jix> and/or use profiling but i have no experience with that
18:59:49 -!- ais523 has joined.
19:00:13 <AnMaster> jix, I do use profile guided optimizing already
19:00:23 <AnMaster> to see how fast I can get
19:00:33 <AnMaster> currently working at -O0 -ggdb3 though :)
19:01:22 <ais523> -g doesn't slow down programs by more than a constant AFAIR; but isn't debugging still easy at -O1?
19:06:33 -!- Corun has joined.
19:13:07 <okofolor> jix: i too made an ski interp in thue
19:13:12 -!- okofolor has changed nick to oklopol.
19:13:37 <oklopol> it was quite simple, although took like 2 hours for me
19:16:40 <Deewiant> AnMaster: alright, so I grepped the whole GCC source. :-)
19:16:51 <AnMaster> Deewiant, result?
19:16:53 <Deewiant> AnMaster: a couple of instances of 3, none of 4 or higher.
19:17:00 <AnMaster> interesting
19:17:12 <Deewiant> this is 4.3.0 BTW.
19:17:59 <AnMaster> Deewiant, that does not explain why cfunge is about 20 ms faster in average using -O4 than -O3 though
19:18:09 <AnMaster> checked 10 times each
19:18:12 <Deewiant> AnMaster: is there a difference between the binaries?
19:18:17 <AnMaster> Deewiant, there is
19:18:44 <Deewiant> compile all the files individually with -O3 and -O4 and look at the asm
19:19:01 <AnMaster> Deewiant, I will when I got i working correctly
19:19:04 <Deewiant> if you can bother, that is
19:19:26 <ais523> you could just use diff to compare the asm
19:20:36 <Deewiant> of course, what else :-P
19:21:42 <ais523> hmm... are there ANSI/VT100 escapes to save the cursor position, scroll all the screen up one line except the bottom line, write something on the penultimate line, and then restore the cursor position?
19:21:45 <AnMaster> BAD: writing to mycotmp0.tmp with o failed
19:21:55 <AnMaster> Deewiant, currently my y says i is implemented and o isn't
19:21:59 <AnMaster> so that should be UNDEF
19:21:59 <AnMaster> :P
19:22:04 <AnMaster> in that situation
19:22:14 <AnMaster> y claims all of the following:
19:22:14 <AnMaster> That t is implemented
19:22:14 <AnMaster> That i is implemented
19:22:14 <AnMaster> That buffered I/O is being used
19:22:14 <AnMaster> That the number of bytes per cell is 8
19:22:17 <AnMaster> and so on
19:22:38 <ais523> there are legitimate reasons to allow i but not o, e.g. an interp running on a read-only file system
19:22:49 <AnMaster> ais523, indeed
19:23:02 <AnMaster> ais523, and in this case "because I haven't started work on o yet"
19:23:09 <ais523> the other way round is less likely, but still possible (a write-only filesystem could be used, for instance, for security logging purposes)
19:23:41 <ais523> AnMaster: Stop sending messages while I'm halfway through typing mine, it's really confusing!
19:23:59 <AnMaster> ais523, stop using telnet
19:24:08 <ais523> (this is of course why I was asking about the save-position-and-scroll codes)
19:24:16 <ais523> but I like using telnet...
19:24:22 <AnMaster> ais523, what code?
19:24:28 <AnMaster> I'd use ncurses
19:24:40 <ais523> curses doesn't have INTERCAL bindings ATM
19:24:53 <ais523> although using curses might be a decent way to do it in Befunge
19:25:15 <ais523> hardcoding VT100 strings fits better into the INTERCAL philosophy
19:25:17 <AnMaster> ais523, create bindings?
19:26:26 <Deewiant> AnMaster: changed.
19:26:53 <AnMaster> Deewiant, the line that says "Hope the following isn't overwritten"
19:26:53 <ais523> you could do it using the ffi I plan to write, but translating curses into INTERCAL would fit better into the INTERCAL spirit
19:26:54 <ais523> it would be a library included with the distribution, just like the other libraries
19:26:54 <ais523> after all, curses doesn't require capabilities that INTERCAL can't manage, it's just writing out various binary to the terminal
19:26:55 <AnMaster> let me tell you
19:26:57 <AnMaster> it wasn't
19:27:05 <AnMaster> Deewiant, it is looping in overwritten
19:27:14 <Deewiant> hah
19:27:20 <AnMaster> rwrwrwrwrw
19:27:21 <Deewiant> how'd that happen
19:27:29 <AnMaster> Deewiant, no fucking clue
19:27:38 * AnMaster writes a dump funge space routine
19:27:41 <Deewiant> can you give a... yeah
19:27:47 <ais523> AnMaster: so you've accidentally implemented shred?
19:27:54 <AnMaster> ais523, ?
19:28:14 <ais523> AnMaster: a utility for repeatedly overwriting files to try to prevent them being undeleted
19:28:21 <AnMaster> ais523, yes I know
19:28:26 <AnMaster> but it didn't overwrite them
19:29:20 <Deewiant> AnMaster: that comment is to the left of the space where mycorand.bf should be loaded
19:29:47 <Deewiant> the Hope the following isn't overwritten,v +55<<<<<
19:29:47 <Deewiant> or we hit an @ and exit >" redro eht ni detareneg erew snoitcer
19:29:53 <AnMaster> Deewiant, so would an off by one error cause that to happen?
19:29:55 <Deewiant> er, where'd that 'the' come from
19:30:00 <Deewiant> Hope the following isn't overwritten,v +55<<<<<
19:30:01 <Deewiant> or we hit an @ and exit >" redro eht ni detareneg erew snoitcer
19:30:22 <Deewiant> AnMaster: I'm failing to see how you'd get that far, all the way to the w :-P
19:30:39 <AnMaster> Deewiant, you know, so am I
19:30:46 <AnMaster> since it is in between the two r
19:30:48 <Deewiant> what does trace say
19:30:55 <AnMaster> tix=0 tid=0 x=93 y=126: w (119)
19:30:56 <AnMaster> tix=0 tid=0 x=92 y=126: e (101)
19:30:56 <AnMaster> tix=0 tid=0 x=91 y=126: r (114)
19:30:56 <AnMaster> tix=0 tid=0 x=92 y=126: e (101)
19:30:56 <AnMaster> tix=0 tid=0 x=93 y=126: w (119)
19:30:57 <ais523> are you sure it's that w?
19:31:03 <AnMaster> hm no it isn't
19:31:08 <Deewiant> it's not
19:31:16 <Deewiant> it's the one in the string
19:31:17 <AnMaster> tix=0 tid=0 x=94 y=126: (0)
19:31:28 <Deewiant> O_o
19:31:32 <Deewiant> your i is borked ;-)
19:31:45 <AnMaster> Deewiant, nop, my load routine is
19:31:48 <AnMaster> and that isn't in i
19:31:55 <Deewiant> same difference
19:31:59 <ais523> what does s do? I've forgotten
19:32:09 <Deewiant> I figured you'd use the same routine as to load the main space
19:32:12 <AnMaster> set
19:32:13 <Deewiant> ais523: store character
19:32:22 <AnMaster> at one ahead
19:32:44 <AnMaster> Deewiant, I didn't use the same as the main one only can load at 0,0
19:32:47 <Deewiant> "a"sb skips over the b and changes it to an a
19:32:53 <ais523> oh dear, if it could change the IP direction it might have been because it was being hit from above or below somehow
19:33:06 <Deewiant> AnMaster: so write a generic one and call that from main with the params 0,0
19:33:15 <AnMaster> Deewiant, that is what I'm doing
19:33:19 <AnMaster> it works fine at 0,0
19:33:22 <AnMaster> but not otherwise
19:33:27 <Deewiant> heh
19:36:53 <jix> oklopol: i made one?
19:37:32 <ais523> jix: context?
19:37:45 <jix> "19:13:07 <okofolor> jix: i too made an ski interp in thue"
19:38:17 <oklopol> i think so, although may have been several months
19:38:19 <AnMaster> Deewiant, err, bug no longer happens
19:38:24 <AnMaster> didn't change anything
19:38:25 <ais523> oklopol: how did you deal with the nesting of things like arguments to k?
19:38:30 <jix> oklopol: it might be
19:38:35 <Deewiant> AnMaster: :-D
19:38:40 <jix> oklopol: you are right
19:38:43 <jix> at least i worked on one
19:38:48 <AnMaster> Deewiant, will do valgrind after I fixed "BAD: i should have pushed (60, 119) as Va"
19:38:52 <oklopol> just convert everything to textual substitution.
19:39:14 <oklopol> it's easy to "go past a nesting"
19:39:18 <jix> but i have no idea whether mine is finished
19:39:20 <AnMaster> Deewiant, should space be ignored in text mode only or in binary too?
19:39:25 <ais523> oklopol: I thought of that, but dealing with things like `k`k`ki is not that easy
19:39:26 <oklopol> and "copy a nesting to a marked"
19:39:46 <oklopol> you can read it, well, probably can't, but i'll link anyway
19:39:49 <AnMaster> Deewiant, aha, not ignoring space was what caused the problem
19:39:52 <oklopol> www.vjn.fi/oklopol/thue.txt i think
19:39:53 <ais523> ah, a copy command would do it
19:40:11 <oklopol> also i have some my-interpreter-spesific stuff there
19:40:21 <oklopol> comments + it can't handle empty substitutions
19:40:37 -!- Sgeo_ has joined.
19:40:43 <oklopol> well, just the first is specific to the interp
19:40:54 <Sgeo_> Back all
19:41:02 <oklopol> -- ''kAB -> A
19:41:02 <oklopol> -- evaluating a k means skipping one expression, then removing an expression
19:41:02 <oklopol> >''k::=A
19:41:18 <oklopol> ki-interp took like 5 minutes
19:41:31 <oklopol> s needed some 15 states
19:42:06 <jix> i have two non working versions ^^
19:42:14 <Deewiant> AnMaster: never overwrite anything with spaces
19:42:22 <Deewiant> binary or not
19:42:25 <AnMaster> ok
19:42:35 <AnMaster> Deewiant, anyway that was what caused the problem
19:42:47 <oklopol> jix: then i think i was faster
19:42:49 <oklopol> :P
19:42:56 <oklopol> you said it took you an hour
19:42:59 <AnMaster> BAD: i should have pushed (90, 16) as Vb
19:43:07 <AnMaster> Deewiant, you should show what value was pushed instead
19:43:14 <oklopol> then you said "hmm... it's not working fully yet" or something
19:43:19 <oklopol> i haven't heard from you since
19:43:30 <jix> yeah
19:43:34 <Deewiant> AnMaster: you should have a debugger or some sort of IO capability in the language you use, which allows you to find out :-P
19:43:43 <jix> i stopped working on it that day...
19:44:11 <AnMaster> Deewiant, yes of course I got a debugger
19:44:39 <oklopol> jix: how did you do it, i mean what was your strategy?
19:44:52 <jix> i don't remember
19:44:58 <jix> and i have no comments in my source
19:45:01 <oklopol> i was thinking making a macro language or something for thue
19:45:01 <jix> and it isn't working
19:45:02 <jix> so....
19:45:04 <oklopol> hehe :D
19:45:25 <jix> thue basic ^^
19:45:41 <jix> hmm
19:45:49 <jix> nargh i have to many projects right now
19:45:57 <jix> can't start to work on such a thing even tho i find it it interesting
19:46:10 <jix> i can't even handle all the stuff i'm doing right now
19:46:28 -!- ais523 has quit (Read error: 104 (Connection reset by peer)).
19:46:36 <oklopol> i have about 50 projects in my todo list
19:47:25 <oklopol> that's the problem with being a human, so many ideas, so slow typing speed
19:47:35 <jix> yeah
19:47:52 <jix> making a todo list would be one point on my todo list if i had one
19:47:59 <jix> well it wouldn't be then...
19:48:06 <jix> ouch
19:48:18 -!- ais523 has joined.
19:48:22 <oklopol> paradox-ad
19:48:23 <oklopol> ...
19:48:25 <oklopol> paradox-a-day
19:48:34 <ais523> my Internet connection dropped
19:48:39 <oklopol> was it the telnet one
19:48:44 <ais523> did I miss anything?
19:48:53 <oklopol> [20:46:22] <oklopol> i have about 50 projects in my todo list
19:48:53 <oklopol> [20:47:10] <oklopol> that's the problem with being a human, so many ideas, so slow typing speed
19:48:53 <oklopol> [20:47:20] <jix> yeah
19:48:53 <oklopol> [20:47:38] <jix> making a todo list would be one point on my todo list if i had one
19:48:53 <oklopol> [20:47:45] <jix> well it wouldn't be then...
19:48:54 <oklopol> [20:47:52] <jix> ouch
19:49:12 <ais523> oklopol: I was using telnet, but it was my Internet connection (not just IRC) that dropped, so no client would have saved me
19:49:24 <oklopol> oh, right
19:50:54 <AnMaster> Deewiant, what is the "| C K M V | " stuff about
19:51:20 <Deewiant> ?
19:51:29 <AnMaster> some fingerprint
19:51:36 <AnMaster> "We'll be moving the 3x3 area starting at the 1"
19:51:37 <Deewiant> where
19:51:39 <Deewiant> TOYS
19:51:47 <Deewiant> that's documentation
19:51:50 <AnMaster> ah
19:51:52 <AnMaster> I see
19:51:58 <Deewiant> :-P
19:52:21 <Deewiant> you get so used to reading Mycology code that seeing a comment confuses you now, eh? :-D
19:52:27 -!- Sgeo has quit (Connection timed out).
19:52:43 <AnMaster> Deewiant, nah, I just use ; around all my comments
19:52:45 <AnMaster> bts
19:52:46 <AnMaster> btw*
19:52:48 <AnMaster> "v<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<"
19:52:54 <AnMaster> what is those lines about
19:53:00 <Deewiant> where
19:53:10 <AnMaster> before fingerprints
19:53:13 <AnMaster> hard to miss
19:53:19 <AnMaster> several lines like that
19:53:24 <Deewiant> ah, testing flying IP
19:53:29 <Deewiant> and ]
19:53:41 <AnMaster> hm
19:53:44 <Deewiant> of course it's not necessary to fill the whole line
19:53:47 <Deewiant> but might as well :-P
19:53:56 <Deewiant> you never know what kind of bugs you'll run into
19:54:13 <AnMaster> hahah indeed
19:54:13 <Deewiant> just like in the first x tests
19:54:24 <Deewiant> and there's similar in ORTH
19:54:33 <AnMaster> ^^^^^^<^^^^^^^#^^ <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>"sllec fo rebmun gnorw eht drawkcab spmuj j-40 :DAB"1 ^ ee
19:54:42 <AnMaster> for j too it seems
19:54:50 <Deewiant> no, j just happens to be there
19:55:17 <Deewiant> you'll note the arrows go to an x error message
19:55:39 <AnMaster> around that place why are there a column of chars like "ll"
19:55:43 <AnMaster> to the right side
19:55:52 <AnMaster> ee
19:55:53 <AnMaster> ll
19:55:54 <AnMaster> and so on
19:55:55 <Deewiant> it's just a string running in the vertical direction
19:56:33 <AnMaster> <^^
19:56:35 <AnMaster> at the bottom
19:56:52 <Deewiant> yes...
19:56:54 * AnMaster tries to figure out string direction
19:56:59 <AnMaster> that mean string starts at top?
19:57:00 <Deewiant> from top to bottom
19:57:08 <Deewiant> yep
19:57:30 <AnMaster> oh it's the "skip/hit easternmost"
19:57:34 <AnMaster> Deewiant, but why vertical
19:57:35 <Deewiant> yep
19:57:38 <AnMaster> were you insane?
19:57:41 <Deewiant> why not, saves a bunch of space
19:57:45 <AnMaster> you were
19:58:01 <Deewiant> AnMaster: the original reason was that at first I didn't differ between file/line
19:58:11 <Deewiant> I noticed it later and had already written 50+ lines down
19:58:12 <AnMaster> Deewiant, but true, now I only need to maximize my console for the gdb output from call FungeSpaceDump()
19:58:12 <AnMaster> :P
19:58:25 <Deewiant> so I needed to fit the line testing in the same place
19:58:31 <AnMaster> ah
19:58:36 <ais523> oklopol: what was that link to your Thue ski again?
19:58:38 <Deewiant> so I figured that since there will be two fairly long strings I might as well put them vertically
19:58:45 <AnMaster> Deewiant, and not PIC code?
19:58:54 <ais523> I spent the intervening time learning how to write an HTTP GET over telnet
19:58:58 <Deewiant> I've told you before, AnMaster :-P
19:59:09 <Deewiant> PIC code would have been a good idea but I was young and foolish
19:59:09 <AnMaster> Deewiant, the code there looks not too position dependant for jumps?
19:59:33 <ais523> but telnet isn't very good in terms of backscroll
19:59:34 <Deewiant> no, but there's a bunch of p and g going on there
19:59:46 <AnMaster> Deewiant, err what is >"i sutats nruter eht fI .q htiw tiuq ot gniyrT"a doing near the top?
19:59:52 <AnMaster> I thought that was at the end
19:59:58 <Deewiant> it is at the end.
20:00:07 <Deewiant> I can only find that on line 768, at least :-P
20:00:09 <AnMaster> Deewiant, oh wait
20:00:12 <AnMaster> right
20:00:22 <AnMaster> missed that was the end of the previous funge space dump
20:00:25 <AnMaster> hah
20:00:25 <Deewiant> confused up and down? Befunge'll do that to ya. ;-)
20:00:40 <AnMaster> >"i sutats nruter eht fI .q htiw tiuq ot gniyrT"a".enod yllacitcarp si etius tset 89-egnufeB ygolocyM ehT"a>:#,_f#^q
20:00:40 <AnMaster> (gdb) finish
20:00:40 <AnMaster> (gdb) call FungeSpaceDump()
20:00:46 <AnMaster> <new dump starts>
20:00:49 <AnMaster> more like that ;P
20:01:00 <AnMaster> hard to see that in the messy dump
20:02:29 <AnMaster> ok pushed i instruction, o not yet done
20:06:17 <AnMaster> Deewiant, btw you don't list these changes to mycology anywhere? I can't find a change log in mycology either
20:07:09 <ais523> heh, Slashdot puts random Futurama quotes in an HTTP header
20:07:17 <AnMaster> ais523, oh?
20:07:21 <Deewiant> AnMaster: nah, can't be bothered to list these minor changes.
20:07:51 <AnMaster> ais523, looked with http live heardes
20:07:53 <AnMaster> can't see it
20:08:07 <ais523> it was in an X-Leela header for me
20:08:20 <AnMaster> X-Bender: Boy, were we suckers!
20:08:23 <ais523> maybe it only shows up if it detects telnet as your user agent
20:08:23 <AnMaster> saw that
20:09:25 <AnMaster> "X-Bender: Lick my frozen, metal ass!"
20:09:34 <ais523> wow, Slashdot's HTTP output has a lot of vertical whitespace
20:09:36 <AnMaster> ais523, where did you say those were from?
20:10:02 <ais523> Futurama, based on the character names and the sort of quotes that are there
20:10:10 <AnMaster> and what is Futurama?
20:10:17 <Deewiant> O_o
20:10:45 <ais523> if you really don't know, you can look it up on Wikipedia
20:12:04 * AnMaster looks it up
20:12:22 <slereah__> AnMaster lives in Nofuturamastan
20:12:36 <AnMaster> oh some tv series
20:12:39 <AnMaster> explains it
20:12:43 <AnMaster> I hardly ever watch TV
20:12:50 <AnMaster> sometimes news and thats it
20:13:04 <Deewiant> ... or browse the Intertubes. :-P
20:14:22 <ais523> if you didn't guess, I'm currently websurfing using telnet and less
20:14:40 <AnMaster> ais523, you are mad
20:16:37 <ais523> unfortunately, I have to do it via a temporary file, because otherwise less sets my keyboard to raw mode so I can't backspace over typos :(
20:17:05 <AnMaster> ais523, -_-
20:17:10 <AnMaster> why not do it in intercal?
20:17:46 <ais523> an INTERCAL program's already been written, which basically just grabs a URL and dumps the web page there to stdout
20:17:52 <AnMaster> ais523, a full browser in intercal with AJAX and all
20:17:54 <ais523> like wget, but with less style
20:18:17 <ais523> it's an interesting idea, but I'd hate to write an ECMAscript interp in INTERCAL
20:18:30 <ais523> or even an HTML renderer, for that matter
20:18:46 <AnMaster> yes and?
20:19:06 <AnMaster> ais523, try to make it a google summer of code project *runs*
20:19:27 <ais523> generally speaking, I don't like to embark on projects that are far too difficult, or just inappropriate
20:19:41 <ais523> An INTERCAL IRC client is maybe possible, an INTERCAL web browser is just stupid
20:20:12 <AnMaster> Deewiant, should o truncate and write or append?
20:20:31 <Deewiant> the former
20:21:30 <oklopol> not stupid, the word you're looking for is fucking awesome shit
20:21:53 <Deewiant> web browsers are ludicrously difficult to write anyway
20:21:54 <AnMaster> ais523, you said ffi for intercal?
20:21:54 <Sgeo_> All books are 3 characters. Check syntax and try again
20:22:06 <ais523> AnMaster: yes
20:22:15 <ais523> I haven't written it yet, but I have plans
20:22:20 <AnMaster> ais523, I have been thinking about doing one for befunge
20:22:23 <AnMaster> as a fingerprint
20:22:34 <ais523> which allow you to embed NEXT, COME FROM, RESUME, etc. in C programs
20:22:40 <ais523> and link them to INTERCAL programs
20:22:46 <AnMaster> ais523, so I would like to know more about how it would work, would it use libffi?
20:22:50 <ais523> it would likely generalise to other languages as well
20:23:03 -!- oklopol has set topic: #esoteric - Extending Brainfuck to the reals with tetration. | Logs: http://ircbrowse.com/cdates.html?channel=esoteric | Wiki: http://esolangs.org/wiki/ | The Esoteric File Archive: http://esolangs.org/files/.
20:23:05 <AnMaster> ais523, ah, not ffi at runtime then=
20:23:06 <AnMaster> ?
20:23:07 <ais523> I was planning to just link the programs together at compile time
20:23:18 <AnMaster> oklopol, what did you change?
20:23:23 * Sgeo_ renames the biblebot script
20:23:25 <AnMaster> ais523, aww not helpful for me then
20:23:34 <ais523> they swapped the words 'tetration' and 'reals'
20:23:40 <AnMaster> ah
20:23:54 <AnMaster> what is tetration?
20:24:12 <ais523> it's what comes next in the sequence addition, multiplication, exponentiation
20:24:17 <oklopol> ais523: no
20:24:31 <ais523> no?
20:24:39 <Deewiant> yes.
20:24:50 <Deewiant> that is, not no.
20:24:52 <oklopol> i swapped "brainfuck" and "tetration", and changed "in" to "with"
20:25:00 <Deewiant> oh, right.
20:25:10 <AnMaster> Deewiant, so what is "tetration"...
20:25:11 <oklopol> that sequence thing was right ofc
20:25:17 <oklopol> AnMaster: what ais523 said
20:25:18 <AnMaster> ^3?
20:25:21 <oklopol> no
20:25:23 <ais523> I was comparing the topic to the last-but-two, from memory
20:25:28 <AnMaster> oklopol, then what..
20:25:44 <oklopol> 5^^3 = 5^5^5
20:25:46 <ais523> n^n^n^n^n...
20:25:49 <AnMaster> ah
20:31:31 -!- Judofyr has joined.
20:31:35 <ais523> maybe it would be easier to write an IRC client as two programs
20:31:42 <ais523> one which handled input from the user
20:31:52 <AnMaster> Deewiant, I don't get what the flag for o should do
20:31:54 <ais523> and the other which handled messages from the IRC server
20:32:19 <Deewiant> AnMaster: what part don't you get
20:32:26 <ais523> then you wouldn't need a select-equivalent
20:32:26 <AnMaster> Deewiant, ie, what it does
20:32:26 <Deewiant> "any spaces before each EOL, and any EOLs before the EOF, are not written out. "
20:32:35 -!- Hiato has joined.
20:32:36 <Deewiant> what's not to get
20:32:39 <AnMaster> Deewiant, ah right, found it now
20:32:41 <Deewiant> EOL means end of line, EOF means end of file
20:32:42 <AnMaster> Deewiant, didn't see that part
20:32:49 <Deewiant> that's the only part :-P
20:32:56 <AnMaster> Deewiant, C standards are easier to read :P
20:34:09 <AnMaster> "The first vectors popped by both of these instructions are considered relative to the storage offset. (The size vector Vb, of course, is relative to the least point Va.)"
20:34:21 <AnMaster> mycology doesn't test it is relative storage offset
20:34:24 <Deewiant> and no, that's not tested.
20:34:37 <AnMaster> Deewiant, suggestion: test it?
20:36:00 <Deewiant> yeah, because that's /easy/
20:36:07 <Deewiant> sure, let's just add a { here
20:36:14 <Deewiant> oh, wait there was something on the stack, need to add a 0 first
20:36:21 <Deewiant> oh, darn now the whole row is shifted 2 chahrs
20:36:28 <Deewiant> firk, no space anywhere in the next 5 rows
20:36:36 <Deewiant> gotta use x somewhere to jump to a temporary location
20:36:36 <Deewiant> ...
20:36:37 <AnMaster> Deewiant, right right, add a mycology 2 test suite?
20:36:37 <Deewiant> no thanks
20:36:44 <Deewiant> like said, rewrite mycology
20:36:48 <Deewiant> by all means
20:36:52 <Deewiant> a good idea
20:36:56 <Deewiant> but I'm not in the mood for it :-P
20:36:56 <AnMaster> Deewiant, or test out of order?
20:37:14 <Deewiant> I'd prefer to keep it in somewhat smart an order - test an instruction and move on
20:37:24 <Deewiant> there's already some deviation from that with some UNDEFs
20:40:53 * AnMaster muses over PIC with GOT (Global Offset Table, used in PIC code on linux at least)
20:41:16 <AnMaster> as in gcc -fpic
20:44:04 -!- ais523 has quit ("going home").
20:44:15 -!- Hiato has quit ("Leaving.").
20:48:12 <AnMaster> Deewiant, odd is it really correct that flag meanings are inverted between i and o?
20:48:50 <Deewiant> in a way, yes
20:49:01 <AnMaster> oh?
20:49:02 <Deewiant> all depends on how you think of what the flag means... after all it's not the same flag
20:49:28 <AnMaster> Deewiant, do mycology test both kinds of output?
20:49:42 <Deewiant> mycology quite verbosely says that it doesn't
20:49:48 <AnMaster> ah ok
20:50:52 <AnMaster> Deewiant, it could output it for later manual verification
20:51:21 <Deewiant> true
20:51:22 <Deewiant> but...
20:51:24 <Deewiant> it doesn't. :-P
20:56:27 <AnMaster> Opening mycotmp0.tmp... failed.
20:56:27 <AnMaster> Trying to write to it with o...
20:56:27 <AnMaster> UNDEF: writing to mycotmp0.tmp with o failed
20:56:28 <AnMaster> Deewiant, err
20:56:52 <AnMaster> if it says o is implemented it should probably be BAD
20:56:52 <Deewiant> hey, you said it shouldn't be BAD :-P
20:56:52 <AnMaster> but UNDEF when y says o is not implemented
20:56:56 <AnMaster> Deewiant, I said: depending on y value
20:57:11 <Deewiant> the developer knows whether o should work
20:57:23 <Deewiant> besides, it could mean a read-only file system
20:57:26 <Deewiant> as somebody pointed out
20:57:36 <AnMaster> now, tell me the truth and say as it is: you can't fit it in
20:57:36 <AnMaster> :P
20:57:54 <Deewiant> I can, actually
20:57:58 <Deewiant> I just can't be bothered to write it
20:58:03 <Deewiant> but there's plenty of room there :-P
20:59:04 <AnMaster> Deewiant, when did you write mycology and ccbi? I mean the main stuff
20:59:12 <Deewiant> the 'main' stuff?
20:59:20 <AnMaster> as in "not just maintainance"
20:59:43 <AnMaster> currently all you do to mycology is bug fixes after all
20:59:57 <Deewiant> beginning of 2006 for non-fingerprint stuff, I think
21:00:06 <AnMaster> ah
21:00:34 <Deewiant> or hmm
21:01:24 <Deewiant> I'm inferring this from the fact that the first entry in CCBI's changelog says "everything should work" and is dated june 2006 :-P
21:02:09 <Deewiant> no, I think most of mycology happened after that
21:02:42 <Deewiant> or maybe I did have the core already then
21:03:00 <Deewiant> fingerprints were definitely late 2006 - mid 2007 though
21:03:51 <AnMaster> $ cat mycotmp0.tmp
21:03:51 <AnMaster> #@>. 1#@vv"@.4"@#<.>$#v5#.< #>3.#@$ .^@^ 0@# 4.2<v.6_5.@>7.
21:03:53 * AnMaster sighs
21:04:11 <Deewiant> doesn't look quite right :-P
21:04:18 <AnMaster> missing newlines yeah
21:04:34 <AnMaster> they went to stderr, instead, thanks code copying from dump function
21:04:39 <Deewiant> :-D
21:05:35 <AnMaster> anyway text file mode looks painful
21:05:41 <AnMaster> ie, having to lookahead
21:05:45 <Deewiant> aye, unless you implement it the lazy way
21:05:49 <AnMaster> to find trailing whitespace
21:05:56 <AnMaster> Deewiant, what? ungetc?
21:06:05 <Deewiant> err, for i or o
21:06:21 <AnMaster> Deewiant, for o
21:06:41 <Deewiant> yeah
21:06:51 <AnMaster> Deewiant, do mycology test binary input?
21:07:08 <AnMaster> for i
21:07:17 <Deewiant> so the lazy way is that if you're given a 1000x1 befunge area which contains line breaks, say, only test for trailing white space at the end
21:07:24 <Deewiant> instead of testing in the middle as well
21:07:26 <AnMaster> err wait ungetc is wrong
21:07:31 <AnMaster> would need unputc
21:07:54 <AnMaster> Deewiant, even then, how do I find where it ends
21:07:59 <Deewiant> AnMaster: mycology does say what it tests in most cases :-P
21:08:01 <AnMaster> ie, where is there only whitespace left
21:08:25 <Deewiant> well, how do you know when your IP needs to wrap
21:08:33 <AnMaster> Deewiant, check bounding box
21:08:34 <AnMaster> :P
21:08:37 <Deewiant> exactly :-P
21:08:42 <AnMaster> no checking is done for space
21:09:00 <AnMaster> Deewiant, yes but in text mode it says o should not print trailing whitespaces
21:09:11 <Deewiant> yes...
21:09:17 <Deewiant> so what's the problem
21:10:04 <AnMaster> a sec
21:10:11 <AnMaster> for (FUNGEVECTORTYPE y = offset->y; y < maxy; y++) {
21:10:11 <AnMaster> for (FUNGEVECTORTYPE x = offset->x; x < maxx; x++) {
21:10:11 <AnMaster> value = fungeSpaceGet(& (fungePosition) { .x = x, .y = y });
21:10:11 <AnMaster> fputc(value, file);
21:10:11 <AnMaster> }
21:10:11 <AnMaster> fputc('\n', file);
21:10:13 <AnMaster> }
21:10:15 <AnMaster> is how I do it
21:10:29 <Deewiant> ah, of course you can't do that :-)
21:10:32 <AnMaster> how can I know when I reached "trailing whitespaces"
21:10:34 <AnMaster> ..
21:10:42 <AnMaster> Deewiant, exactly
21:10:45 <Deewiant> you need to take a copy and go through it
21:10:51 <Deewiant> I never even considered outputting directly :-D
21:10:57 <AnMaster> Deewiant, err what?
21:11:08 <AnMaster> why not?
21:11:10 <Deewiant> mallocate a buffer
21:11:17 <AnMaster> Deewiant, if text mode yes
21:11:19 <AnMaster> otherwise no
21:11:34 <Deewiant> I don't know, never occurred to me
21:11:46 <AnMaster> Deewiant, it works fine for binary mode this
21:11:50 <AnMaster> just not for string mode
21:12:20 <AnMaster> err text mode
21:12:47 * AnMaster puts in TODO for now
21:13:01 <AnMaster> Deewiant, I will correct it either "later" or "when mycology tests it"
21:13:34 <Deewiant> hmm, my binary output would be different
21:14:14 <AnMaster> Deewiant, not according to diff
21:14:16 <AnMaster> I checked
21:14:21 <Deewiant> given (10000,10000) to (10010,10010) yours would output 10x10 spaces?
21:14:58 <AnMaster> Deewiant, err, I compared mycotmp0.tmp from ccbi and cfunge
21:14:58 <Deewiant> mine would output only 10 line breaks
21:15:02 <AnMaster> Deewiant, not sure what you mean
21:15:15 <AnMaster> Deewiant, err why would it?
21:15:16 <Deewiant> AnMaster: as in, what happens when outside the space boundaries
21:15:26 <AnMaster> Deewiant, well that is an UNDEF I bet
21:15:27 <Deewiant> mine doesn't output anything in that case
21:15:31 <Deewiant> of course it is
21:15:45 <Deewiant> otherwise I'd say "you're wrong" and not "we differ" ;-)
21:16:06 <AnMaster> if it was a DEF I would hit the standard author over the head for defining such a useless thing when he left way more important stuff out
21:17:13 <Deewiant> you keep forgetting that funge is an esolang :-)
21:17:33 <AnMaster> yes but there must be limits
21:18:16 <AnMaster> // Sanity test!
21:18:16 <AnMaster> if (*filename == '\0' || size.x < 1 || size.y < 1) {
21:18:16 <AnMaster> ipReverse(ip);
21:18:16 <AnMaster> return;
21:18:16 <AnMaster> }
21:18:20 <AnMaster> is that a good idea?
21:18:28 <AnMaster> or does it break some standard?
21:18:40 <Deewiant> UNDEF
21:18:45 <AnMaster> ah.... right
21:18:48 <Deewiant> for the latter two, that is
21:18:57 <AnMaster> for the first?
21:19:04 <Deewiant> *filename == '\0' is defined since that can't be opened, of course
21:20:37 <AnMaster> Deewiant, I notice you don't keep vectors as structs in ccbi
21:20:43 <AnMaster> what is the reason for that?
21:20:56 <Deewiant> why should I?
21:21:22 <AnMaster> well, I wonder about the design decision behind it
21:21:33 <AnMaster> I got a struct fungevector after all
21:21:46 <AnMaster> because it seemed logical
21:21:47 <Deewiant> and why is it necessary?
21:22:18 <AnMaster> not really, but IMO cleaner code
21:22:30 <AnMaster> but I asked about your design decision
21:22:54 <Deewiant> didn't feel it was necessary
21:23:02 <Deewiant> for cleaner code or otherwise
21:28:08 -!- Corun has quit ("This computer has gone to sleep").
21:33:06 <AnMaster> Deewiant, BAD: ran out of temporary file names, can't test o
21:33:10 <AnMaster> is that really a BAD?
21:33:17 <AnMaster> just a question
21:33:37 <Deewiant> yes, it's BAD, because it means mycology could test something but can't because of the environment
21:33:45 <Deewiant> and hence you don't know whether it's GOOD/BAD/UNDEF/what
21:33:46 <AnMaster> hm
21:33:54 <AnMaster> ERR maybe?
21:34:15 <AnMaster> several of the IO ones should be ERR on fail instead of GOOD/BAD/UNDEF
21:34:19 <AnMaster> IMO
21:34:26 <Deewiant> and what would ERR mean
21:34:28 <AnMaster> just a suggestion
21:34:48 <AnMaster> error due to environment that may indicate for example a read only FS
21:34:49 <AnMaster> or such
21:35:25 <Deewiant> so basically, "can't test"
21:35:29 <AnMaster> yep
21:35:39 <Deewiant> I guess that could work
21:35:40 <AnMaster> and where that is not due to an optional feature
21:36:09 <AnMaster> like y saying t/o/i/=/whatever is missing then thats an undef, or it seems in the case of t, nothing at all
21:37:02 * AnMaster runs valgrind and mudflap tests
21:37:13 <AnMaster> just mudflap is horribly slow
21:37:35 <AnMaster> like 30 seconds waiting after
21:37:37 <AnMaster> Trying to quit with q. If the return status is 15, consider it GOOD...
21:38:52 * slereah__ goes ee SMITH
21:39:00 <AnMaster> "ee SMITH"?
21:39:00 <slereah__> It seems neat.
21:39:05 <slereah__> see, AnMaster.
21:39:05 <AnMaster> ee?
21:39:06 <slereah__> See.
21:39:07 <AnMaster> ah
21:39:07 <AnMaster> ok
21:39:09 <AnMaster> right
21:39:49 <AnMaster> __mf_violation: [0, 0, 0, 0, 0]
21:39:50 <AnMaster> :D
21:49:51 <AnMaster> Deewiant, pushed added o instruction.
21:49:53 * slereah__ looks at SMITH examples
21:49:59 <slereah__> IT'S MACHINE CODE
21:51:12 <AnMaster> slereah__, it is?
21:51:34 <slereah__> Well, it looks like Assembly.
21:51:40 <slereah__> Full of move to register and stuff.
21:52:30 <slereah__> This can mean only one thing.
21:52:38 <slereah__> I must make a bracketless brainfuck!
21:53:14 <AnMaster> slereah__, I think that is kind of what SMITH is
21:53:43 <slereah__> Yes. But I do not like how it looks.
21:54:01 <slereah__> I have this terrible phobia of assembly
21:54:33 <slereah__> To the text editor machine!
21:55:39 <AnMaster> is a processor with atomic "compare and exchange" and one without any atomic operations or things that would work for locks in the same computational class? in a multi CPU system of the latter there is obviously things you can't do that you can in the first
21:56:35 <AnMaster> slereah__, ^
21:56:47 <slereah__> whut
21:56:52 <AnMaster> see question
21:57:02 <slereah__> I barely understand it
21:57:05 <AnMaster> or anyone else for that matter
21:57:08 <AnMaster> slereah__, ok
21:57:09 <slereah__> Answering it would be pushing it!
21:57:24 <AnMaster> you know about compare and exchange? or locks?
21:57:30 <slereah__> No.
21:57:39 <AnMaster> ah you don't know about multi threading?
21:57:50 <AnMaster> because the second CPU couldn't do it safely
21:57:50 <slereah__> Neither!
21:57:54 <AnMaster> while the first could
21:58:01 <AnMaster> so are they in same computational class?
21:58:12 <slereah__> Let me get a coin.
21:58:17 <slereah__> What should tail be?
21:58:19 <AnMaster> ok forget it
21:58:24 <AnMaster> Deewiant, you then?
21:58:40 <oklopol> slereah__: would you be more comfortable with a mathematical model of an assembly?
21:58:55 <AnMaster> oklopol, ah you here? can you understand my question?
21:59:12 <oklopol> i'm not sure what that would be, but there must be something both theoretical and assebly-like for you to get going
21:59:22 <oklopol> i know how much you love that obscure math
21:59:38 -!- oerjan has joined.
21:59:43 <oklopol> AnMaster: i may be able to understand it, but i will have to read a few lines up to see it
21:59:45 <oklopol> wait a minute
21:59:45 <slereah__> The truth is, I mostly just like working on a tape.
21:59:50 <AnMaster> oklopol, is a processor with atomic "compare and exchange" and one without any atomic operations or things that would work for locks in the same computational class? in a multi CPU system of the latter there is obviously things you can't do that you can in the first
21:59:53 <AnMaster> there it is again
22:00:09 <AnMaster> slereah__, I prefer a 2D array :)
22:00:30 <slereah__> I tried to do that
22:00:36 <oklopol> AnMaster: no, i don't get that
22:00:46 <slereah__> But infinite in all direction grid is hard to do without problems
22:00:49 <oklopol> although i'm fairly sure i could answer you right away if i understood it
22:01:04 <AnMaster> oklopol, ok you know about compare and exchange or locks, like mutexes?
22:01:15 <slereah__> The Love Machine 9000 last version has something like that
22:01:23 <AnMaster> oklopol, needed for two threads to be able to access same data
22:01:32 <slereah__> http://membres.lycos.fr/bewulf/Russell/Hello2.png
22:01:34 <AnMaster> oklopol, and on a multi cpu system very important
22:02:23 <AnMaster> oklopol, so if a system where say set and get memory takes a lot of more cpu cycles than other operations, and with no atomic get and set memory, you could not safely to threading over multi cpu
22:02:27 <AnMaster> oklopol, with me so far?
22:03:06 <AnMaster> oklopol, ?
22:03:17 <oklopol> oh, sorry
22:03:23 <oklopol> i'll read
22:03:28 <AnMaster> .
22:03:58 <oklopol> no, i don't know exactly what mutexes are
22:04:12 <AnMaster> oklopol, well then clearly such a system, without any way to do atomic memory changes and no way to do mutexes or such can not do some things that a system with those feature can
22:04:26 <oklopol> slereah__: how is it hard to make an infinite-in-every-direction array?
22:04:26 <AnMaster> oklopol, mutex = a lock on memory so a single thread at a time can access it
22:04:46 <slereah__> oklopol: Mostly, it's bothersome to print a section of it
22:04:52 <slereah__> Well, for me at least
22:05:06 <oklopol> AnMaster: okay then i guessed right
22:05:07 <slereah__> For instance : http://membres.lycos.fr/bewulf/Russell/Hello.png
22:05:10 <oklopol> i'm with you i think'
22:05:16 <slereah__> The first line is for some reason printed too much
22:05:30 <AnMaster> oklopol, therefore a system without atomic memory operation can not do the same stuff as one with them
22:05:46 <AnMaster> oklopol, are those two systems in the same computational class?
22:05:51 <oklopol> depends on the definition of "being able to do something"
22:05:55 <oklopol> i mean
22:06:04 <oklopol> both can do anything computable within their memory limit
22:06:18 <lament> slereah__: what's in the bottom right corner of that pic?
22:06:23 <oklopol> we aren't talking "computational class" type abilities here
22:06:37 <AnMaster> oklopol, two threads on a dual cpu system being able to transfer data between them using a queue
22:06:38 <oklopol> just features allowed for the programmer, and speed
22:06:51 <AnMaster> oklopol, so one thread on each cpu
22:06:59 <AnMaster> kind of like co-routines
22:07:05 <oklopol> yes
22:07:18 <oklopol> co-routines?
22:07:21 <slereah__> I dunno
22:07:26 <oklopol> i don't see what you men
22:07:27 <oklopol> *mean
22:07:29 <AnMaster> oklopol, now you can't solve the problem "two threads on a dual cpu system being able to transfer data between them using a queue" problem one one of those systems
22:07:40 <AnMaster> oklopol, agree on that?
22:07:44 <oklopol> sure
22:07:59 <oklopol> that has nothing to do with computational class of course
22:08:10 <AnMaster> oklopol, ok what class or whatever has it got to do with?
22:08:19 <oklopol> features allowed for the programmer, and speed.
22:08:27 <AnMaster> oklopol, hrrm
22:08:29 <oklopol> from a theoretical perspective
22:08:48 <oklopol> if you wanna be more physical, it's basically just the ability to do... well, do exactly what you said.
22:09:06 <oklopol> you gain nothing from multithreading when it comes to computation.
22:09:08 <AnMaster> oklopol, yet something can be turing-complete without being brainfuck-complete, so is that another case of "features allowed for the programmer"?
22:09:11 <AnMaster> ie I/O
22:09:20 <oklopol> except the fact the physical world lets you do things faster
22:09:33 <oklopol> well, that's another way to put it
22:09:36 <oklopol> processes are IO
22:09:46 <AnMaster> oklopol, so being IO complete? :D
22:09:52 <oklopol> well, they are not exactly that...
22:09:55 <AnMaster> hm
22:09:57 <slereah__> Hm.
22:10:12 <slereah__> I'm afraid just a "add the current cell at the end of the code" won't cut it
22:10:28 <oklopol> but... just as having a printer doesn't make you more powerful computationally, neither does threading, nor mutexes
22:11:03 <oklopol> also you can simulate the lock by having some sort of atomic boolean flags, i'm sure.
22:11:20 <oklopol> where atomic means fast enough to read not to need a lock themself
22:11:38 <slereah__> What would be a good idea for a extend-the-code-instruction?
22:11:40 <AnMaster> oklopol, could you define the concept better?
22:11:45 <slereah__> Copypasting n instructions at the end?
22:12:27 <AnMaster> <oklopol> also you can simulate the lock by having some sort of atomic boolean flags, i'm sure. <-- well memory would be so slow that wouldn't work
22:12:29 <oklopol> AnMaster: in a universal system you can simulate anything *internally*, so you can simulate the whole physical computer having atomic mutexes and whatnot
22:12:40 <AnMaster> oklopol, hah ok
22:12:42 <oklopol> the only thing you cannot have is the actual physical processes.
22:12:47 <oklopol> i mean
22:12:57 <oklopol> the actual whatever queue sharing you were talking about
22:13:04 <oklopol> umm
22:13:26 <oklopol> weren't you originally saying something about not being able to share a queue between processes?
22:17:36 <AnMaster> oklopol, indeed I were
22:17:58 <oklopol> well, can't you just have a lock to indicate which one can access the queue at given time?
22:18:00 <oklopol> *a
22:18:29 <AnMaster> oklopol, or in fact "not able to atomically access any memory with respect another cpu of the same kind in the same system"
22:19:00 <AnMaster> so a lock could not be acquired(sp?) atomically either
22:19:11 <oklopol> does that mean the memories are distinct?
22:19:22 <AnMaster> oklopol, no of course they share same ram
22:19:31 <AnMaster> just no way to prevent them from clobbering each other
22:19:44 <oklopol> there cannot be safe accesses to the ram?
22:20:01 <AnMaster> oklopol, not if they try to access the same part of the ram no
22:20:21 <AnMaster> if you write the programs that run on each cpu to access different parts, I guess it would work
22:20:45 <oklopol> well, you need to able to read / write *something* safely, or just be synchronized
22:20:46 <AnMaster> say, making sure one cpu keep in the top 4 MB and the other in the lower 4 MB or whater
22:20:55 -!- oklopol has quit (Read error: 104 (Connection reset by peer)).
22:21:03 <AnMaster> but you couldn't communicate between the cpus
22:21:09 <AnMaster> oh he left
22:23:09 -!- okofolor has joined.
22:24:05 <AnMaster> okofolor, wb
22:24:08 <AnMaster> <oklopol> well, you need to able to read / write *something* safely, or just be synchronized
22:24:08 <AnMaster> <AnMaster> say, making sure one cpu keep in the top 4 MB and the other in the lower 4 MB or whater
22:24:08 <AnMaster> * oklopol has quit (Read error: 104 (Connection reset by peer))
22:24:08 <AnMaster> <AnMaster> but you couldn't communicate between the cpus
22:24:08 <AnMaster> <AnMaster> oh he left
22:25:10 <okofolor> if you have *one* boolean flag, or the processors are synchronized, you can communicate anyway you want
22:25:26 <okofolor> one safe boolean flag, or perfect synchronization
22:26:49 <okofolor> but indeed, if you can't have a bit of information both can access safely, there is no way to have communication
22:26:53 <okofolor> but isn't that a given...
22:27:20 <okofolor> i'm assuming you know what i mean by the sync thing, because you aren't asking.
22:27:44 <AnMaster> I assume you mean instructions will take same amount of time
22:27:50 <AnMaster> so they can know where each other is
22:27:58 <AnMaster> like is done in concurrent befunge
22:28:06 <okofolor> yes
22:28:20 <AnMaster> but of course, instructions may or may not take longer
22:28:26 <AnMaster> due to cache issues and so on
22:28:33 <AnMaster> cache hits and cache misses
22:28:44 <AnMaster> oh and random access time random access ram ;)
22:28:45 <okofolor> all you have to know is how long they *took*
22:28:51 <AnMaster> okofolor, ^
22:28:51 <okofolor> not how much they will take
22:28:54 <slereah__> Ah shit.
22:29:01 <okofolor> also, they need to be *within some limit*
22:29:12 <slereah__> I was trying to use the BF constants from esolang, then I forgot I didn't have brackets anymore
22:29:26 <okofolor> if the access time can be *anything*, then you cannot have safe sharing.
22:29:39 <AnMaster> okofolor, it can be anything
22:29:47 <AnMaster> okofolor, within say 2^32 years
22:29:51 <AnMaster> or even longer
22:30:02 <okofolor> because no matter how long you give for the other to read a certain place in the memory, they may collide, because the operation can have waited exactly enough to crash with the other one
22:30:14 <AnMaster> okofolor, indeed
22:30:29 <okofolor> well, if we are not leaving any room for error, it is safe to say it's impossible to have safe sharing.
22:30:30 <AnMaster> okofolor, it is however safe to write another byte of data on this mad system
22:30:47 <AnMaster> say one byte from each other
22:31:01 <okofolor> they can exchange certain bytes?
22:31:07 <AnMaster> okofolor, nop they can't
22:31:13 <okofolor> then what do you mean
22:31:18 <okofolor> "it is however safe to write another byte of data on this mad system"
22:31:21 <AnMaster> but I meant, one cpu can write at 0x122 and the other at 0x123
22:31:28 <AnMaster> without problems
22:31:36 <okofolor> well, i'm referring to any given cell of course
22:31:51 <AnMaster> you don't need to keep "within another memory page"
22:31:57 <AnMaster> or something like that
22:32:16 <okofolor> we can just consider one single memory cell
22:32:24 <okofolor> it is simple to see you cannot share even that
22:32:30 <AnMaster> indeed
22:32:55 <okofolor> no use taking the whole memory into account, because none of its cells can be shared due to that.
22:33:06 <AnMaster> okofolor, oh and reading while the other cpu is writing the same cell will result in a power spike that will kill the cpu
22:33:13 <AnMaster> both of them
22:33:42 <okofolor> well, we can just consider all failures failures
22:33:46 -!- okofolor has changed nick to oklopol.
22:33:54 <AnMaster> indeed, just trying to make it more interesting
22:34:05 <AnMaster> so this system is not IO complete?
22:34:09 <oklopol> well, that is only interesting when we start calculating probabilities.
22:34:22 <oklopol> and "expected failure"
22:35:03 <AnMaster> oklopol, it also has a 79.67% chance to explode the ram with the force of 2 tonnes TNT at two CPUs trying to *write* to the same cell at the same time
22:35:04 <AnMaster> ;)
22:35:11 <AnMaster> thereby killing the operator
22:35:19 <oklopol> you don't want to do anything that probably results in a power spike, whereas you can safely do stuff that, when failing, will just put a boolean flag up indicating a failure
22:35:39 <oklopol> okay, now how probable is it for a read-read to fail?
22:35:52 <slereah__> Well, I now have Bracketfuck. I hope the x instruction is enough for TCness
22:36:03 <oklopol> slereah__: l
22:36:12 <slereah__> wut?
22:36:15 <oklopol> link
22:36:27 <slereah__> I'm not giving you a link to my computer :o
22:36:50 <oklopol> 252-1-82-215 <<< this your ip?
22:36:51 <slereah__> http://paste-it.net/7474
22:36:54 <slereah__> There.
22:38:02 <AnMaster> <oklopol> okay, now how probable is it for a read-read to fail?
22:38:03 <AnMaster> hm
22:38:10 <AnMaster> very likely if they hit at the same time
22:38:20 <AnMaster> result would be that too little current was generated
22:38:26 <AnMaster> so it would register value as a 0
22:38:33 <AnMaster> both cpus would that is
22:38:58 <AnMaster> but again random access time random access memory (RATRAM) would make it hard to time that
22:39:04 <oerjan> *maybe* if they had well synchronized clocks it might still be able to do something safely.
22:39:13 <AnMaster> so you couldn't say use that to make a cell the same value
22:39:18 <oklopol> slereah__: b in move-head is just for confusing?
22:39:22 <oerjan> oh random access time
22:39:28 <AnMaster> RATRAM hehehe
22:39:34 * AnMaster loves that name
22:39:36 * oerjan declares this completely impossible
22:39:45 <slereah__> oklopol: I like my programs to be compacts like cement blocks
22:39:52 <AnMaster> oerjan, aye, :)
22:40:00 <slereah__> Movehead is just a way of making the tape infinite
22:40:04 <oklopol> oerjan: yes, but we are considering probabilities here
22:40:12 <oklopol> although they don't look that promising...
22:40:17 <AnMaster> oklopol, indeed not
22:40:18 <AnMaster> :D
22:40:32 <oklopol> seems this machine is designed to kill people who like threading.
22:40:38 <oerjan> you cannot even use probabilities to repeat until you are sure
22:40:39 <AnMaster> oklopol, aye that is the case
22:41:16 <oklopol> oerjan: does that make it not interesting to consider the probabilities?
22:41:48 <AnMaster> oklopol, so this system is not safe for general use I understannd?
22:41:50 <AnMaster> understand*
22:42:14 <oklopol> slereah__: x just adds a command in the end of the prog?
22:42:19 <oklopol> not tc
22:42:27 <slereah__> Well, any char.
22:42:39 <slereah__> How does SMITH do it?
22:43:34 <oklopol> slereah__: you can add at most one character each time you do an operation, and each operation uses a character
22:43:50 <oklopol> this means the only infinite program is one that only executes x.
22:44:01 <oklopol> and something else in the beginning, ofc
22:44:05 <slereah__> Heh.
22:44:21 <slereah__> Would 2 chars be enough?
22:44:23 <oklopol> YABC does something like that
22:44:28 <oklopol> i mean
22:44:50 <oklopol> similar, although you have goto, you have to build your jumps with +'s and -'s
22:45:16 <slereah__> Like a wang machine :o
22:45:17 <oklopol> 2 chars that do what?
22:45:18 <slereah__> Heh. Wang.
22:45:20 <AnMaster> you know, how comes funge seems sane compared to such systems?
22:45:40 <slereah__> Copypasting two chars at the end of the code
22:45:50 <oklopol> two same characters?
22:46:00 <oklopol> hmm, harder to declare non-tc at least.
22:46:01 <slereah__> Well, two adjacent cells
22:46:16 <oklopol> well
22:46:34 <oklopol> hmm
22:46:35 <slereah__> I guess it would be easier if I just used a language that handled strings
22:46:35 <oerjan> i doubt that you can set up which cells to copy with just one command
22:46:39 <oerjan> or two
22:46:46 <slereah__> I guess I could restart Lore
22:47:07 <AnMaster> Lore?
22:47:21 <oklopol> in the beginning of the program, you can create anything in the memory, meaning you can probably at least make *some* non-trivial loops
22:47:21 <slereah__> Some stupid idea I have.
22:47:41 <slereah__> About a language in which you can declare any sort of data structure or something
22:47:46 <slereah__> And doing stuff in 'em
22:48:26 <slereah__> The structure 0 was the program itself
22:48:27 <oklopol> like graphica?!?!?!?
22:48:29 <oklopol> oh
22:48:38 <oklopol> you can *do stuff with them*, nevermind then.
22:48:50 <slereah__> Heh.
22:54:19 * Judofyr feels proud; has just written a JavaScript-only site: http://yr.judofyr.net
22:54:31 * Judofyr don't know JavaScript
22:54:45 <Judofyr> jQuery helps a LOT!
22:59:46 <AnMaster> Judofyr, I see "JavaScript required", and then a menu on the side
22:59:48 <AnMaster> crap site
22:59:55 <AnMaster> please make it work without javascript
23:00:04 <Judofyr> It's a mashup with Google Maps
23:00:11 <Judofyr> it DOES need JavaScript
23:00:20 <AnMaster> Judofyr, make it work without javascript or it is crap, sorry
23:00:39 <Judofyr> It's a mashup! If want to use, enable JavaScript!
23:00:49 <Judofyr> I can't make it work without JavaScript
23:00:54 <AnMaster> Judofyr, even when I enabled javascript it showed same message
23:00:57 <AnMaster> so even more crap
23:01:01 <Judofyr> which browser?
23:01:04 <AnMaster> Judofyr, firefox
23:01:09 <Judofyr> it's not completely done, yet..
23:01:13 <Judofyr> that's weird...
23:01:40 <AnMaster> Judofyr, works in konqueror though
23:02:25 <AnMaster> Judofyr, it just asks "where or what is this"
23:02:37 <AnMaster> and when I enter the name of the city it just locks up
23:02:44 <Judofyr> hm..
23:02:52 <AnMaster> name == Örebro
23:02:53 <Judofyr> I hate client-coding :(
23:02:55 <AnMaster> Swedish city
23:03:00 <Judofyr> Should handle UTF-8...
23:03:12 <Judofyr> what you write there doesn't matter :P
23:03:44 <AnMaster> Judofyr, oh and well METAR tell me lot more
23:03:50 <AnMaster> airport near Örebro
23:03:52 <AnMaster> ESOE 202150Z AUTO 13010KT 9999 SCT052 M02/M06 Q0991
23:03:55 <AnMaster> much more info
23:04:21 <oklopol> YES JUDOFYR YOU SUCK STOP DOING WHAT YOU'RE DOING AND LET THE PROS DO IT LOL
23:04:23 <AnMaster> like wind, dewpoint, visibility, sky conditions, pressure
23:04:28 <Judofyr> lol
23:04:28 <oklopol> </AnMaster>
23:04:31 <AnMaster> oklopol, I didn't mean that
23:04:34 <oklopol> :P
23:04:56 <Judofyr> I have access to some more variables, but I don't know if I got it for the whole world :P
23:05:10 <Judofyr> it works very well with Norway
23:05:15 <AnMaster> Judofyr, oh?
23:05:43 <Judofyr> not in the mashup, but the raw-data I receive
23:05:48 <AnMaster> ah
23:05:55 <AnMaster> Judofyr, what do you get for Örebro then?
23:06:30 <Judofyr> http://api.yr.no/weatherapi/locationforecast/1.4/?lat=LAT;lon=LON
23:06:47 <Judofyr> just replace LAT and LON with the latitude and longitude
23:07:05 <Judofyr> (should be in the URL: #Örebro,LAT,LON)
23:07:22 <Judofyr> here's the "documentation": http://api.yr.no/weatherapi/locationforecast/1.4/documentation
23:08:01 -!- Corun has joined.
23:09:27 <Judofyr> AnMaster: got it?
23:09:55 <AnMaster> Judofyr, can't be arsed to mess with that
23:12:12 <Judofyr> AnMaster: Make Örebro to the top of the list, type "javascript:void(window.location="http://api.yr.no/weatherapi/locationforecast/1.4/?lat="+data[0][1]+";lon="+data[0][2])" in the adressbar and press enter
23:12:27 <Judofyr> then you'll redirect to a raw XML :)
23:12:37 <Judofyr> (remove the other places)
23:13:24 <AnMaster> Judofyr, "javascript: protocol not supported"
23:13:34 <Judofyr> *sigh*
23:13:36 <Judofyr> clients :P
23:13:47 <Judofyr> programs*
23:14:01 <AnMaster> Judofyr, in firefox it does nothing at all instead
23:14:02 <Judofyr> why can't they all work identically :P
23:15:21 <Judofyr> AnMaster: here is the XML for Örebro: http://api.yr.no/weatherapi/locationforecast/1.4/?lat=59.273755;lon=15.2075395
23:15:22 <Judofyr> :P
23:15:53 <AnMaster> thats a lot
23:16:31 <Judofyr> I thought I found a place where it wasn't so much, but I don't know
23:16:39 <Judofyr> it might have the same details for all places...
23:17:23 <Judofyr> maybe I should add wind (direction & speed), fog, clouds and pressure too :P
23:18:09 <Judofyr> it got the same details for the south-pole too: http://api.yr.no/weatherapi/locationforecast/1.4/?lat=-90;lon=-90
23:23:40 <AnMaster> Judofyr, oh and other variables
23:23:48 <Judofyr> like?
23:23:58 <AnMaster> how much expected rain
23:23:58 <Judofyr> :S
23:24:07 <Judofyr> yeah, but that's a little tricky
23:24:23 <Judofyr> I'm showing the data AT a time
23:24:27 <AnMaster> Judofyr, visibility
23:24:49 <AnMaster> Judofyr, ok show current rain value
23:25:12 <AnMaster> Judofyr, basically show everything METAR would
23:25:27 <AnMaster> what is the ICAO code for Oslo airport?
23:25:43 <Judofyr> OSL
23:25:54 <Judofyr> (I'm pretty sure)
23:26:01 <AnMaster> Judofyr, http://rafb.net/p/WhxZZk11.html
23:26:04 <Judofyr> if it's that three-letter digit
23:26:10 <AnMaster> Judofyr, sorry ICAO are 4 letter
23:26:14 <Judofyr> oh
23:26:16 <Judofyr> hm..
23:26:37 <AnMaster> Judofyr, first char would be E for Northen europe, then some char for norway
23:26:45 <AnMaster> then two chars for actual airport
23:26:46 <Judofyr> ENGM
23:26:57 <Judofyr> http://en.wikipedia.org/wiki/Oslo_Airport%2C_Gardermoen
23:26:59 <AnMaster> INPUT: 2008/03/20 22:13
23:26:59 <AnMaster> ENGM 202213Z 08006KT 050V120 7000 -SN FEW010 SCT017 BKN040 M03/M04 Q0986 TEMPO 2000 SN BR VV008
23:26:59 <AnMaster> UNUSED: TEMPO 2000 SN BR VV008
23:27:01 <AnMaster> a lot of data
23:27:02 <AnMaster> :)
23:27:05 <Judofyr> :)
23:27:32 <AnMaster> Judofyr, here is same data in a non-flying geek format: http://rafb.net/p/tafC0e26.html
23:27:43 <Judofyr> thx :)
23:27:50 <Judofyr> are you a flying geek?
23:27:53 <AnMaster> Judofyr, I'm a flightsim fan myself yeah
23:28:04 <AnMaster> but I admit I can't fully read the METAR line
23:28:08 <AnMaster> parts I can
23:28:19 <AnMaster> -SN = light snow for example
23:28:31 <AnMaster> FEW010 = few clouds at 1000 ft
23:28:56 <AnMaster> M03/M04 = temperature -03 C, and dewpoint -04 C
23:29:01 <AnMaster> M means minus
23:29:12 <Judofyr> well, my idea with the site wasn't to make a kick-ass weather site, but make it able to get the weather everywhere at the Earth, without being limited to larger cities
23:29:21 <AnMaster> 08006KT is wind speed I think and 050V120 is wind direction
23:29:25 <Judofyr> but, more data = better :)
23:29:26 <AnMaster> V means variable direction
23:29:32 <AnMaster> 7000 = visibility
23:29:55 <AnMaster> I think "TEMPO" is some kind of "temporary changes excepted in soon future"
23:29:57 <AnMaster> not sure though
23:30:09 <AnMaster> Q0986 is pressure
23:30:35 <AnMaster> Rel. Humidity is calculated from pressure, dew point and temperature iirc
23:31:09 <AnMaster> Judofyr, did I miss any part?
23:31:15 <AnMaster> I'm not fast at reading METAR
23:31:17 <AnMaster> but I can parse it
23:31:21 <AnMaster> given enough time
23:31:43 <AnMaster> anything after TEMP0 I don't understand
23:32:13 <Judofyr> that's pretty much
23:32:37 <AnMaster> Judofyr, oh wait, VV008 bit is, I think, vertical visibility
23:32:43 <AnMaster> predicted in this case since it is after TEMPO
23:32:48 <AnMaster> I *THINK*
23:33:39 <AnMaster> KSFO 202156Z 27022KT 10SM FEW015 13/03 A3030 RMK AO2 PK WND 27027/2145 SLP261 T01330033 <-- american format, everything after RMK is US specific, RMK means remark
23:41:27 <Judofyr> AnMaster: I'll see what I can do :P Thanks for the feedback. I'm going to bed now :)
23:41:40 <AnMaster> heh ok
23:42:15 <Judofyr> *gone*
23:44:25 -!- sebbu has quit ("@+").
23:46:31 <slereah__> I think I have a bettar idea for the x.
23:46:42 <slereah__> Maybe adding the cells until it runs into a 0 cell*
23:48:47 <oklopol> wut?
23:51:11 <slereah__> For the adding of cells.
23:51:50 <AnMaster> slereah__, 0-terminated cell adding?
23:51:53 <AnMaster> from a stack?
23:52:03 <slereah__> Well, from a tape, since it's BF.
23:52:19 <AnMaster> interesting
23:52:20 <slereah__> As I always say, around stacks, never relax.
23:52:30 <AnMaster> err what?
23:52:36 <AnMaster> slereah__, befunge uses stacks, it works great
23:52:45 <AnMaster> much easier than brainfuck IMO
23:53:07 <slereah__> I'm not too used to stacks.
23:54:14 <AnMaster> easier to think in than tape at least
23:54:22 <oklopol> slereah__: try programming something in a stacky language
23:54:24 <AnMaster> C is way more stack based than tape based
23:54:43 <oklopol> you can pretty much get the same thinking going as you get with functional programming
23:54:43 <AnMaster> oklopol, befunge is recommended stacky language IMO
23:54:57 <oklopol> AnMaster: well, umm, no :P
23:54:57 <AnMaster> can't do functional though
23:54:59 <slereah__> Underload?
23:55:03 <AnMaster> oklopol, why not?
23:55:16 <oklopol> AnMaster: you cannot have nested structures or functions in the stack
23:55:21 <oklopol> so it's basically a retarded tape
23:55:30 <AnMaster> oklopol, in befunge?
23:55:32 <slereah__> Heh.
23:55:39 <oklopol> AnMaster: yes, in befunge
23:55:48 <AnMaster> err you can have anything you want on stack
23:55:56 <AnMaster> you could have references to cells
23:56:08 <AnMaster> pushing vectors on stack
23:56:10 <oklopol> you can have any serialized structure
23:56:16 <AnMaster> oklopol, aye
23:56:22 <oklopol> that is very different when it actually comes to *programming*
23:56:25 <AnMaster> of course befunge is bloated and so on, but that was a design goal
23:56:42 <oklopol> computationally, serialization means nothing
23:56:53 <oklopol> but in a language without functions/macros, it means fucking everything.
23:57:11 <oklopol> befunge is fun, but i don't think it's the best language for getting used to stacks
23:57:14 <AnMaster> oklopol, befunge got that "RBUS"4(
23:57:15 <AnMaster> :P
23:57:34 <oklopol> hmm, what does that mean? :\
23:57:41 <AnMaster> oklopol, load SUBR fingerprint
23:57:42 <AnMaster> :P
23:57:58 <AnMaster> SUBR does subroutines
23:58:24 <oklopol> cool
23:58:39 <AnMaster> oklopol, very simple minded ones
23:58:49 <AnMaster> but handles a call stack, kind of
23:58:57 <AnMaster> call stack is mixed with normal stack of course
23:59:02 <AnMaster> in true befunge style :D
23:59:10 <oklopol> slereah__: i'd recommend false
23:59:12 <oklopol> hehe :)
23:59:15 <oklopol> sounds like fun
23:59:22 <AnMaster> oklopol, oh and don't forget { and }
23:59:29 <AnMaster> for stack-stack
23:59:33 <AnMaster> means you can isolate code
23:59:38 <AnMaster> uses storage offset
23:59:38 <slereah__> Isn't false obfuscated?
23:59:49 <AnMaster> slereah__, most esoteric languages are
←2008-03-19 2008-03-20 2008-03-21→ ↑2008 ↑all