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