01:02:59 -!- Corun has quit ("This computer has gone to sleep"). 02:02:10 hi bsmnt_bot 02:02:32 hi bsmnt_bot 02:02:33 welcome back 02:05:41 ~echo foo 02:05:51 ~raw privmsg #esoteric :foooop 02:05:51 foooop 02:06:16 butt 02:07:13 hawt 02:07:36 ooooh fuck 02:07:49 WHO SAID THAT 02:08:12 bsmnt_bot, are you a robot 02:08:37 Slereah_: bsmnt_bot is a long-standing bot in this channel 02:08:49 bsmntbombdood: does it still do Brainfuck? 02:08:51 i r real hooman! 02:08:56 i has feelings! 02:09:09 ais523 : but he usually shuts his trap 02:09:19 someone's sending ~raw to it in /msg 02:09:28 presumably bsmntbombdood, IIRC it doesn't work when other people do it 02:09:36 ~raw PRIVMSG #esoteric :Testing. 02:09:40 yep 02:09:57 Testing. 02:13:10 -!- ais523_ has joined. 02:13:30 -!- ais523 has quit (Nick collision from services.). 02:13:32 -!- ais523_ has changed nick to ais523. 02:41:44 ~raw privmsg #esoteric :+ul (~raw privmsg #esoteric :Dangerous!)S 02:46:18 MizardX: thutubot isn't here atm 02:46:37 also, I still don't think bsmnt_bot responds to other people's ~raws 02:46:43 I reckon bsmntbombdood sent it a copy of my ~raw in /msg to confuse people 02:47:03 +ul (~raw privmsg #esoteric :Dangerous!)S 02:47:18 wow he is laggy today 02:47:28 ~raw JOIN ##nomic 02:47:29 :P 02:47:48 * ais523 waits patiently for nothing to happen 02:48:09 ~exec "Syntax error 02:48:10 SyntaxError: EOL while scanning single-quoted string 02:48:33 that's the easiest way to tell, I wouldn't expect bsmnt_bot to do things out of order... 02:48:45 lol 02:49:43 ~exec self.raw("JOIN ##nomic") 02:49:50 ~exec self.raw("PART ##nomic") 02:49:55 I love how easy that is to circumvent. 02:50:00 kerlo: it worked 02:50:04 I know. 02:50:07 ah, you're in ##nomic too 02:51:51 ~exec sys.stdout("foo") 02:51:51 foo 02:51:55 ~exec sys.stdout(str("foo")) 02:51:55 foo 02:51:59 ~exec sys.stdout(repr("foo")) 02:52:00 'foo' 02:52:02 Aha! 02:52:08 someone find my BF interp in bsmnt-bot speak in the logs 02:52:15 I had it in a text file, but the whitespace got corrupted 02:52:28 (this is pretty much the direct cause of my hate for whitespace-sensitive languages) 02:52:46 ais523: programming over irc isn't exactly the usual usage case 02:52:52 well, no 02:52:54 except, it is for me 02:52:57 for some langs 02:53:02 ~exec (lambda x: sys.stdout(x + repr(x) + ')'))('~exec (lambda x: sys.stdout(x + repr(x) + \')\'))(') 02:53:03 ~exec (lambda x: sys.stdout(x + repr(x) + ')'))("~exec (lambda x: sys.stdout(x + repr(x) + ')'))(") 02:53:13 I have written more Python in files than over IRC 02:53:15 ~exec (lambda x: sys.stdout(x + repr(x) + ')'))("~exec (lambda x: sys.stdout(x + repr(x) + ')'))(") 02:53:15 but not by much 02:53:16 ~exec (lambda x: sys.stdout(x + repr(x) + ')'))("~exec (lambda x: sys.stdout(x + repr(x) + ')'))(") 02:53:23 kerlo: repr's too clever for your first quine to work 02:53:31 but that was pretty quick, well done 02:53:37 repr outclevered me! 02:53:53 Sometimes when a quine doesn't work, you can run its output instead. :-) 02:54:16 I was talking about the original quine, but that's such a true observation 02:54:30 ~exec print 'a'; print 'b' 02:54:32 * kerlo nods 02:54:40 MizardX: this is Python we're talking about... 02:55:04 ~exec exec("print 'a'\nprint 'b'") 02:55:15 but print won't do anything 02:55:26 ~exec exec("sys.stdout('a')\nsys.stdout('b')") 02:55:26 a 02:55:26 b 02:55:42 bsmntbombdood: by the way, have you ported bsmnt_bot to Python 3 yet? 02:55:44 ~exec sys.stdout(repr(locals())) 02:55:45 {'message': ':MizardX!n=MizardX@92.254.128.248 PRIVMSG #esoteric :~exec sys.stdout(repr(locals()))', 'r': <_sre.SRE_Match object at 0xf7c90068>, 'command': 'sys.stdout(repr(locals()))', 'self': <__main__.IRCbot instance at 0xf7c8b6ec>, 'env': ({'QuitIRC': , 'thread_info': , 'exec_global_tracer': ction exec_global_tracer at 0xf7c7db1c>, 'pprint': , 'StopHandlingCallbacks': , 're': , 'SysWrapper': , 'exec_local_tracer': , '__doc__': No 02:55:45 ne, 'math': , 'IRCbot': , 'args': {'ident': 'bsmnt', 'realname': 'bsmntbombdood bot', 'chan': ['#esoteric', '#esoteric-blah'], 'nick': 'bsmnt_bot', 'host': '85.188.1.26', 'exec_chans': ['#esoteric', '#baadf00d', '#esoteric-blah'], 'owner': 'bsmntbombdood!\\S*gavin@\\S*'}, '__b 02:55:50 uiltins__': , '__file__': '/bot/ircbot.py', 'inspect': , 'IRCFileWrapper': , 'sys': , '__name__': '__main__', 'copy': , 'types': 2.4/types.pyc'>, 'RemoveCallback': , 'socket': , 'thread': , 'StringIO': , 'os': , 'traceback': , 'bot': <__main__ 02:55:58 ais523: bsmnt_bot is in py2.4 02:55:58 * kerlo blinks 02:56:00 .IRCbot instance at 0xf7c8b6ec>, 'threading': , 'time': , 'pickle': , 'marshal': }, {...})} 02:56:09 ais523: i haven't looked at it since the 02:56:09 kerlo: introspection is fun 02:56:15 especially with introspection/IRC bot mixes 02:56:28 I wonder how QuitIRC works. 02:56:30 fun fact: it's possible to get gprolog to dump all the strings it knows of 02:56:34 ~exec sys.stdout(3) 02:56:34 3 02:56:38 ~exec sys.stdout(QuitIRC) 02:56:38 __main__.QuitIRC 02:56:41 Lovely. 02:56:44 some of them are filenames of files on the computers that built it 02:56:49 ~exec sys.stdout(dir(QuitIRC)) 02:56:49 ['__doc__', '__module__'] 02:56:58 ~exec sys.stdout(dir(QuitIRC.__module__)) 02:56:58 ['__add__', '__class__', '__contains__', '__delattr__', '__doc__', '__eq__', '__ge__', '__getattribute__', '__getitem__', '__getnewargs__', '__getslice__', '__gt__', '__hash__', '__init__', '__le__', '__len__', '__lt__', '__mod__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__rmod__', '__rmul__', '__setattr__', '__str__', 'capitalize', 'cen 02:56:58 ter', 'count', 'decode', 'encode', 'endswith', 'expandtabs', 'find', 'index', 'isalnum', 'isalpha', 'isdigit', 'islower', 'isspace', 'istitle', 'isupper', 'join', 'ljust', 'lower', 'lstrip', 'replace', 'rfind', 'rindex', 'rjust', 'rsplit', 'rstrip', 'split', 'splitlines', 'startswith', 'strip', 'swapcase', 'title', 'translate', 'upper', 'zfill'] 02:57:01 kerlo: just run it loser 02:57:08 -!- oerjan has joined. 02:57:12 ~exec QuitIRC() 02:57:22 Did it quit IRC? 02:57:43 naming convention says it's a class 02:57:50 ~exec sys.stdout('No.') 02:57:50 No. 02:58:10 ~exec QuitIRC.__init__() 02:58:13 AttributeError: class QuitIRC has no attribute '__init__' 02:58:29 ~exec QuitIRC('baroo?') 02:58:29 TypeError: this constructor takes no arguments 02:58:32 Okay. 02:58:48 ~exec sys.stdout(sys.version) 02:58:48 2.4.3 (#1, Oct 25 2006, 21:45:16) 02:58:49 [GCC 4.1.1 (Gentoo 4.1.1)] 02:58:58 kerlo: join #bsmnt_bot_errors if you're trying to do proper development on bsmnt_bot 02:59:14 ~exec sys.stdout(repr(sys.version)) 02:59:15 '2.4.3 (#1, Oct 25 2006, 21:45:16) \n[GCC 4.1.1 (Gentoo 4.1.1)]' 02:59:19 Gasp. 02:59:26 what? 02:59:28 I like doing revgenos in the room with the Castle wand 02:59:32 wait, wrong channel 02:59:45 class QuitIRC: 02:59:46 pass 02:59:54 kerlo: QuitIRC is an exception 02:59:59 Oh. 03:00:02 Well, that's boring. 03:00:03 you raise it in a callback when you want to quit 03:00:21 ~exec QuitIRC.__init__ = lambda: bot.raw('QUIT') 03:00:26 ....no 03:00:34 Mm. 03:00:40 ~exec raise QuitIRC 03:00:41 TypeError: () takes no arguments (1 given) 03:00:50 ....no 03:00:56 ~exer QuitIRC() 03:01:04 ~exec QuitIRC() 03:01:04 TypeError: () takes no arguments (1 given) 03:01:16 ~exec QuitIRC.__init__ = lambda *x: bot.raw('QUIT') 03:01:18 ~exec self.register_raw(r".*quit1234.*", lambda *args:raise QuitIRC) 03:01:18 SyntaxError: invalid syntax 03:01:30 oh right 03:01:37 ~exec QuitIRC() 03:01:37 -!- bsmnt_bot has quit. 03:01:40 Whew. 03:01:45 python is dumb, you can't have statements in a lambda 03:01:47 -!- bsmnt_bot has joined. 03:01:56 kerlo: you are doing it wrong 03:02:15 On the contrary, any way of doing it is doing it right. 03:02:29 It's Python, so you can just say 'import ai' and it will automatically optimize everything. 03:02:39 ~ps 03:02:39 0: 'self.handle_callback(message, m, i)', 0.00 seconds 03:02:48 lol i even adding multitasking support 03:03:18 ~exec while 1: __import__('time').sleep(60) 03:03:22 ~ps 03:03:22 0: "while 1: __import__('time').sleep(60)", 3.96 seconds 03:03:22 1: 'self.handle_callback(message, m, i)', 0.00 seconds 03:03:27 Lovely. 03:03:45 ~exec sys.stdout(os.getcwd()) 03:03:45 / 03:04:08 * oerjan recalls something about "from future import". wouldn't that be more appropriate? 03:04:22 from __future__ import put_some_new_feature_here 03:04:34 ~ps 03:04:34 0: "while 1: __import__('time').sleep(60)", 75.87 seconds 03:04:34 1: 'self.handle_callback(message, m, i)', 0.00 seconds 03:04:37 ~kill 0 03:04:42 ~ps 03:04:42 0: "while 1: __import__('time').sleep(60)", 83.81 seconds, killed 03:04:42 1: 'self.handle_callback(message, m, i)', 0.00 seconds 03:04:43 "from __future__ import braces" is a standard running joke in Python, it seems 03:04:53 Cool. 03:04:54 i remember that taking some hacking 03:04:54 ~ps 03:04:54 0: "while 1: __import__('time').sleep(60)", 96.32 seconds, killed 03:04:55 1: 'self.handle_callback(message, m, i)', 0.00 seconds 03:04:58 Running while killed. 03:05:07 kerlo: it has to wait for the sleep to end 03:05:07 Just wait 10 seconds. 03:05:10 ~ps 03:05:10 0: "while 1: __import__('time').sleep(60)", 112.05 seconds, killed 03:05:10 1: 'self.handle_callback(message, m, i)', 0.00 seconds 03:05:19 ~ps 03:05:20 0: 'self.handle_callback(message, m, i)', 0.00 seconds 03:05:23 Yay. 03:05:43 * oerjan wondered why xkcd didn't use it in the alt text here: http://xkcd.com/521/ 03:06:24 ~exec sys.stdout(os.popen('ls').read()) 03:07:23 ais523: except iirc from __future__ wasn't _just_ a joke, there were some features actually using it... or was i just duped? 03:07:38 there are some features using it 03:07:43 the from braces is a joke 03:07:53 that much is obvious 03:07:57 but genuinely it can be used to request features that are scheduled for future versions 03:08:02 and are in this version, but not on by default 03:08:25 sort of like Perl's very-slightly-backward-incompatible operators 03:08:33 ~exec sys.stdout('Y%sn%sconozc%scom%snosotr%s d%s som%s l%s lob%s'%'o ','o ','o ','o ','os','os','os','os','os') 03:08:33 TypeError: not enough arguments for format string 03:08:38 ~exec sys.stdout('Y%sn%sconozc%scom%snosotr%s d%s som%s l%s lob%s'%'o ','o ','o ','o ','os','os','os','os','os','os') 03:08:39 TypeError: not enough arguments for format string 03:08:39 ~exec sys.stdout(repr(dir(__import__('__future__')))) 03:08:44 kerlo: you need an extra pair of parens 03:08:48 ['CO_FUTURE_DIVISION', 'CO_GENERATOR_ALLOWED', 'CO_NESTED', '_Feature', '__all__', '__builtins__', '__doc__', '__file__', '__name__', 'all_feature_names', 'division', 'generators', 'nested_scopes'] 03:08:50 around the right-hand arguments to % 03:08:53 ~exec sys.stdout('Y%sn%sconozc%scom%snosotr%s d%s som%s l%s lob%s'%('o ','o ','o ','o ','os','os','os','os','os')) 03:08:53 Yo no conozco como nosotros dos somos los lobos 03:09:08 Now all I need to do is figure out how to make this compression algorithm actually make it smaller. 03:10:02 ('o ',)*4 + ('os',)*5 03:10:25 Does that work? 03:10:46 Anyway, everyone knows /// is the best compression format. 03:10:57 ~exec sys.stdout(repr(('o ',)*4 + ('os',)*5)) 03:10:57 ('o ', 'o ', 'o ', 'o ', 'os', 'os', 'os', 'os', 'os') 03:12:15 /#/! //@/o //!/os/Y@n@conozc@com@n!otr#d#som#l#lob! 03:12:22 Who cares if it's longer than the original? :-P 03:14:12 kerlo: that looks vaguely like Perl 03:14:14 but it isn't 03:14:16 what lang is it? 03:14:20 /// 03:14:33 oh, ofc 03:14:44 except don't you re-replace the !s you replace the #s with? 03:14:54 I do, don't I? 03:28:18 grr i can't find my pickle extension 03:30:41 oh i found it 03:30:48 ~exec self.print_callbacks(sys.stdout) 03:30:49 [('^PING (.*)$', 'pong'), 03:30:49 ('^:bsmntbombdood!\\S*gavin@\\S* PRIVMSG \\S* :~quit ?(.*)', 'do_quit'), 03:30:49 ('^:bsmntbombdood!\\S*gavin@\\S* PRIVMSG \\S* :~raw (.*)', 'do_raw'), 03:30:49 ('^\\S+ PRIVMSG \\S+ :~ctcp (\\S+) (.+)', 'do_ctcp'), 03:30:50 ('^:bsmntbombdood!\\S*gavin@\\S* PRIVMSG (\\S*) :~pexec (.*)', 'do_exec'), 03:30:51 ('\\S+ PRIVMSG (#esoteric|#baadf00d|#esoteric-blah|#bsmnt_bot_errors) :~exec (.*)', 03:30:52 'do_exec'), 03:30:54 ('\\S+ PRIVMSG \\S+ :~ps', 'do_ps'), 03:30:56 ('^\\S+ PRIVMSG (#esoteric|#baadf00d|#esoteric-blah|#bsmnt_bot_errors) :~kill (.*)', 03:30:58 'do_kill'), 03:31:00 ('^ERROR :Closing Link:.*', '')] 03:31:29 bsmntbombdood: that's pretty ridiculous security, you care about a nick of bsmntbombdood and a username of gavin? 03:31:36 I can understand securing on just nick 03:31:42 ais523: ? 03:31:48 but nick (which is changeable) + username (which is changeable) doesn't add an extra layer of security 03:31:53 everyone is able to ~exec 03:32:02 I mean, for things like ~quit 03:32:04 that was probably added before i chrooted 03:32:10 caring about the username as well as the nick seems a bit silly 03:32:17 ~exec __import__("sys").quit() 03:32:17 AttributeError: 'module' object has no attribute 'quit' 03:32:24 ~exec __import__("sys").exit(1) 03:32:37 errr 03:32:48 ~exec do_quit() 03:32:48 NameError: name 'do_quit' is not defined 03:32:58 hmm... 03:33:17 ~exec self_do_quit('', '') 03:33:17 NameError: name 'self_do_quit' is not defined 03:33:21 ~exec self.do_quit('', '') 03:33:22 AttributeError: 'str' object has no attribute 'group' 03:34:13 ~exec self.disconnect("bye") 03:34:14 -!- bsmnt_bot has quit ("bye"). 03:34:16 that's better 03:34:16 -!- bsmnt_bot has joined. 03:34:32 I admit that the security's pointless in the first place 03:34:48 ais523: like i said, that was added before i put it in a chroot 03:36:18 thutubot isn't chrooted 03:36:28 do_run_around_screaming 03:36:31 but I do run it in taint mode 03:36:34 ~exec self.register_raw(r".*asdfgg.*", lambda *args: self.raw("PRIVMSG #esoteric :my pickle still works!!!")) 03:36:39 asdfgg 03:36:40 NameError: global name 'self' is not defined 03:36:43 so in theory people can't do anything with it but print stuff to stdout 03:37:06 (Thutubot's run via compiling to Perl, and interpreting the result) 03:37:17 ais523: that's effecient 03:37:25 ~quit 03:37:25 -!- bsmnt_bot has quit (Client Quit). 03:37:27 -!- bsmnt_bot has joined. 03:37:34 ~exec self.register_raw(r".*asdfgg.*", lambda *args: bot.raw("PRIVMSG #esoteric :my pickle still works!!!")) 03:37:37 asdfgg 03:37:37 my pickle still works!!! 03:37:40 ~exec sys.stdout((lambda s,r=[],o=[None]:reduce(lambda p,(i,s):[lambda:reduce(lambda s,(o,n):s.replace(o,n),r,s),lambda:o.__setitem__(0,s),lambda:r.append((o[0],s))][i%3]()or p,enumerate(s.split('/'))))("/#/! //@/o //!/os/Y@n@conozc@com@n!otr#d#som#l#lob!")) 03:37:40 Yo no conozco como nosotros dos somos los lobos 03:37:44 bsmntbombdood: Thutu is not exactly efficient in the first place 03:37:53 ~exec self.save_callbacks("penis") 03:37:53 IOError: [Errno 13] Permission denied: 'penis' 03:37:57 it's even slower than Ruby 03:38:01 oh snap! 03:38:19 ~exec sys.stdout(sys.ls("/bot/")) 03:38:20 AttributeError: 'module' object has no attribute 'ls' 03:38:24 ~exec sys.stdout(os.ls("/bot/")) 03:38:27 AttributeError: 'module' object has no attribute 'ls' 03:38:32 ~exec sys.stdout(os.dir("/bot/")) 03:38:39 AttributeError: 'module' object has no attribute 'dir' 03:38:45 wtf is the command i'm thinking of? 03:38:47 it's rather convenient for esolangers that IRCbots only need to do stdin -> stdout IO... 03:38:54 yes 03:39:12 oerjan: real bots use real sockets 03:39:14 that's the only reason Thutubot's possible 03:39:17 like mine 03:39:31 well, I could use PSOX 03:39:45 real bots are written in machine code! 03:39:53 but that's written in Python, it would start a flamewar if it was hooked up to a Perl interpreter 03:40:11 a flamewar all inside itself 03:40:55 wow my code is pretty ugly 03:41:06 no wonder i never went back to bsmnt_bot 03:41:19 http://xkcd.com/378/ 03:41:38 also, bsmnt_bot blocks when it should 03:41:41 needs moar threads 03:42:22 write in Thue, you get multithreadedness for free 03:42:47 (longtime Thue or Thutu programmers will be aware that it's pretty easy to accidentally make a program multithreaded when you don't mean to...) 03:42:57 easier in Thue than in Thutu, though 03:43:19 is thue eso? 03:43:30 yes 03:43:33 http://esolangs.org/wiki/Thue 03:44:29 uuuh 03:44:35 you didn't write an ircbot in that did you? 03:44:41 no, I wrote one in Thutu 03:44:43 http://esolangs.org/wiki/Thutu 03:44:46 which is also eso 03:46:23 bsmntbombdood: if you're interested, http://filebin.ca/yzarrj/ul.t is an Underload interp I wrote in Thue 03:46:42 pretty repetitive due to the lack of regexen 03:48:55 bsmntbombdood: and http://pastebin.ca/1302138 is the source code to Thutubot 04:03:24 ais523, you're crazy 04:03:24 :) 04:03:36 psygnisfive: for which of those programs? 04:03:41 all of them :D 04:04:02 all this is making me very confident about the Great Underlambda Project, when I get round to it 04:04:23 which is a project to make compilers to Underlambda from as many known esolangs as possible 04:04:32 and compilers from Underlambda to as many known TC esolangs as possible 04:04:36 thus making them all interconvertible 04:04:51 Underlambda interps in various langs will also be included 04:05:08 ...and Underlambda is an Underload-based language I am currently designing to work well in this project 04:12:04 ais523: lol nice 04:12:23 whats underlambda ais 04:12:33 psygnisfive: an Underload-like lang I haven't finished yet 04:12:39 and whose spec keeps changing and is mostly stored in my head 04:12:41 whats underload 04:12:46 http://esolangs.org/wiki/Underload 04:12:54 stop it with your logic 04:13:12 lmfao 04:13:13 Underlambda is higher-level, but compiles into a subset of itself that's slightly lower-level than Underload 04:13:24 the quin is (:aSS):aSS 04:13:25 XD 04:13:42 which is an important trick to be able to compile both into it and out of it easily 04:13:47 ^ul (:aSS):aSS 04:13:47 (:aSS):aSS 04:13:58 :D 04:14:27 * oerjan is amazed, no SHOCKED that psygnisfive hasn't grabbed onto this yet 04:14:40 *before 04:14:52 i think the aSS part is completely irrelevant. lol 04:14:55 I was making ass jokes of underload before it was cool 04:15:01 oh no, its not 04:15:03 is it? 04:15:09 oooh its not :o 04:15:16 hah. 04:15:17 :D 04:15:36 that's some IMPORTANT ass 04:15:52 psygnisfive: the aSS stuff is coincidence 04:16:05 suuuuuuure 04:16:10 the quine didn't even look like that in Overload, it just turned out like that once I tarpitted it into Underload 04:16:24 SO YOU SAY 04:16:43 BUT YOUR SUBCONSCIOUS DISAGREES 04:16:57 ais's ass 04:17:06 my subconcious must have been working on Underload way before me, in that case 04:17:16 but of course 04:17:37 it's a platonic idea. 04:18:09 ~exec sys.stdout('privmsg #esoteric :^ul (~exec sys.stdout("privmsg #esoteric ::P)S")') 04:18:09 privmsg #esoteric :^ul (~exec sys.stdout("privmsg #esoteric ::P)S") 04:18:18 FAIL 04:18:24 ~exec sys.stdout('^ul (~exec sys.stdout(":P)S")') 04:18:24 ^ul (~exec sys.stdout(":P)S") 04:18:42 MizardX: you want an extra S at the end of that 04:18:57 or something like that 04:19:10 ~exec sys.stdout('^ul (~exec sys.stdout(":P"))S') 04:19:10 ^ul (~exec sys.stdout(":P"))S 04:19:10 ~exec sys.stdout(":P") 04:19:10 :P 04:20:56 lol 04:22:37 do you want me to create a botloop again? 04:22:40 or will I get in trouble for that? 04:22:44 do it! :o 04:22:58 let me think, I haven't done it with bsmnt_bot/fungot yet 04:22:58 ais523: hitler wasn't that young either true some people found his statements about jews amusing, and it wouldn't show that the " pc" stands for a system this old, there is no 04:23:10 fungot: Godwin's law invoked, you lose 04:23:11 ais523: nope, he only serves his country, democratic or fnord. user:ted wilkested wilkes 20:46, 6 december 2005 ( utc) 04:23:14 can i put a boner array in my butt loop? 04:23:24 You sure can 04:23:56 the most elegant programming language ever! 04:24:01 ironically, it looks exactly like c 04:24:12 what, Underload? 04:24:16 That's because C is like a boner in your butt 04:24:23 no, the language with boner arrays and butt loops 04:24:30 that comic is pretty stupid 04:24:33 it is 04:24:46 because they can just change the keywords and the language is just as elegant... 04:24:48 obviously the most elegant programming language ever is either scheme or haskell. 04:25:05 also, the most elegant programming language ever can't look like C 04:25:08 psygnisfive: or Prolog 04:25:16 which is elegant a different way 04:25:20 it is indeed 04:25:37 unification confuses me tho 04:25:44 simple binding doesnt but unification does 04:28:13 ~exec (lambda s='~exec (lambda s=%r: sys.stdout(s%%s))()\n': sys.stdout(s%s))() 04:28:14 ~exec (lambda s='~exec (lambda s=%r: sys.stdout(s%%s))()\n': sys.stdout(s%s))() 04:28:28 ^ul (a(:^)*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*):^ 04:28:37 ^ul (a(:^)*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S):^ 04:28:37 ~exec sys.stdout("""^ul (a(:^)*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S):^""") 04:28:37 ^ul (a(:^)*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S):^ 04:28:37 ~exec sys.stdout("""^ul (a(:^)*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S):^""") 04:28:38 ^ul (a(:^)*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S):^ 04:28:38 ~exec sys.stdout("""^ul (a(:^)*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S):^""") 04:28:38 ^ul (a(:^)*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S):^ 04:28:38 ~exec sys.stdout("""^ul (a(:^)*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S):^""") 04:28:38 ^ul (a(:^)*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S):^ 04:28:38 ~exec sys.stdout("""^ul (a(:^)*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S):^""") 04:28:38 ^ul (a(:^)*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S):^ 04:28:38 ~exec sys.stdout("""^ul (a(:^)*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S):^""") 04:28:39 ^ul (a(:^)*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S):^ 04:28:40 ~exec sys.stdout("""^ul (a(:^)*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S):^""") 04:28:40 ^ul (a(:^)*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S):^ 04:28:42 ~exec sys.stdout("""^ul (a(:^)*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S):^""") 04:28:42 ^ul (a(:^)*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S):^ 04:28:44 ~exec sys.stdout("""^ul (a(:^)*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S):^""") 04:28:44 ^ul (a(:^)*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S):^ 04:28:45 someone break the loop! 04:28:46 ~exec sys.stdout("""^ul (a(:^)*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S):^""") 04:28:46 ^ul (a(:^)*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S):^ 04:28:48 ~exec sys.stdout("""^ul (a(:^)*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S):^""") 04:28:48 ^ul (a(:^)*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S):^ 04:28:50 ~exec sys.stdout("""^ul (a(:^)*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S):^""") 04:28:50 ^ul (a(:^)*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S):^ 04:28:52 ~exec sys.stdout("""^ul (a(:^)*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S):^""") 04:28:52 ^ul (a(:^)*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S):^ 04:28:54 ~exec sys.stdout("""^ul (a(:^)*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S):^""") 04:28:54 ^ul (a(:^)*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S):^ 04:28:55 ~quit 04:28:56 ~exec sys.stdout("""^ul (a(:^)*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S):^""") 04:28:56 ^ul (a(:^)*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S):^ 04:28:58 ~exec sys.stdout("""^ul (a(:^)*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S):^""") 04:28:58 ^ul (a(:^)*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S):^ 04:29:00 ~exec sys.stdout("""^ul (a(:^)*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S):^""") 04:29:00 ^ul (a(:^)*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S):^ 04:29:01 hahaha 04:29:02 ~exec sys.stdout("""^ul (a(:^)*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S):^""") 04:29:02 bsmntbombdood: break the loop, please? 04:29:02 ^ul (a(:^)*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S):^ 04:29:04 ~exec sys.stdout("""^ul (a(:^)*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S):^""") 04:29:04 ^ul (a(:^)*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S):^ 04:29:04 ~ps 04:29:06 0: 'self.handle_callback(message, m, i)', 0.00 seconds 04:29:06 ~exec sys.stdout("""^ul (a(:^)*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S):^""") 04:29:08 ^ul (a(:^)*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S):^ 04:29:08 ~exec sys.stdout("""^ul (a(:^)*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S):^""") 04:29:10 ^ul (a(:^)*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S):^ 04:29:10 ~exec sys.stdout("""^ul (a(:^)*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S):^""") 04:29:12 ^ul (a(:^)*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S):^ 04:29:12 ~exec sys.stdout("""^ul (a(:^)*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S):^""") 04:29:13 oh balls 04:29:14 ^ul (a(:^)*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S):^ 04:29:14 ~exec sys.stdout("""^ul (a(:^)*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S):^""") 04:29:16 ^ul (a(:^)*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S):^ 04:29:16 ~exec sys.stdout("""^ul (a(:^)*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S):^""") 04:29:18 ^ul (a(:^)*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S):^ 04:29:18 ~exec sys.stdout("""^ul (a(:^)*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S):^""") 04:29:19 bsmntbombdood: just ~quit 04:29:20 ^ul (a(:^)*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S):^ 04:29:20 ~exec sys.stdout("""^ul (a(:^)*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S):^""") 04:29:22 ^ul (a(:^)*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S):^ 04:29:22 ~exec sys.stdout("""^ul (a(:^)*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S):^""") 04:29:23 ~quit 04:29:23 -!- bsmnt_bot has quit (Remote closed the connection). 04:29:25 -!- bsmnt_bot has joined. 04:29:33 well, it worked 04:29:38 second try, I forgot the S to output first try 04:29:40 so you just type ~exec sys.stdout("""^ul (a(:^)*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S):^""") ? 04:29:44 yes 04:29:46 thats craaaazy! 04:29:47 i remember creating an epiiiic quine in #scheme 04:29:54 so you mean if i just did...... 04:29:55 well, I started on fungot not bsmnt_bot 04:29:56 ais523: 87 113 d fr-200m fnord) ms (9/ 2-) 0 kev. 04:30:00 -!- bsmntbombdood has left (?). 04:30:00 -!- bsmntbombdood has joined. 04:30:00 because that one's shorter 04:30:02 no im kidding i wouldnt. :P 04:30:49 I love Underload so much for writing quines... 04:30:53 that thing went on for like 15 minutes 04:30:58 it's an excellent lang for the purpose 04:33:22 -!- psygnisfive has quit (Read error: 104 (Connection reset by peer)). 04:33:23 -!- psygnisf_ has joined. 04:33:24 bsmntbombdood: for a value of 15 close to 2 04:33:39 oerjan: nuh uh 04:33:39 or wait you mean in #scheme? 04:33:46 oerjan: in #scheme 04:34:10 you'd think scheme people would be accustomed to handling quines 04:34:11 i wonder where the code for that is 04:34:30 bsmntbombdood: was it a loop between two bots? 04:34:39 well, I could use PSOX 04:34:40 Oh? 04:34:53 ais523: either 2 or 3 04:34:55 What's this about PSOX? 04:35:03 Sgeo: talking about how IRC using stdin/stdout was the only way that Thutubot could work 04:35:13 and then remembering that PSOX would have provided an alternative if more streams were needed 04:35:28 well, stdin/stdout can be mapped to the IRC streams, they generally aren't IRC by default 04:35:37 ~exec bot.raw("QUIT") 04:35:37 -!- bsmnt_bot has quit. 04:35:40 -!- bsmnt_bot has joined. 04:35:50 oerjan: l337 04:35:55 But since you don't need extra streams, you're not using PSOX.. 04:35:59 yes 04:36:01 just checking if i remembered it 04:36:10 not to mention that handling NULs is a bit tricky in most langs 04:36:12 in case someone else does a bot loop 04:36:29 they can be expressed as \x0 in Thutu, just I don't know if putting them inside strings drives Perl mad 04:37:34 If there's interest, I might work on an update to PSOX to allow langs restricted to alphanumerics to work with it 04:38:05 the eso world probably needs something like PSOX. However, all attempts to do so seem to have ended in failure, for some reason 04:38:11 PESOIX; EsoAPI... 04:38:32 ais523, lack of others expressing interest is the reason I abandoned PSOX 04:38:48 yes, it's hard to get anyone to express interest in the eso world 04:39:00 and most of the sort of things I work on, PSOX-stuff is irrelevant 04:39:14 because I'm more interested in paradigms, which don't normally care about I/O 04:39:25 I think everyone in the eso world lost interest 04:40:39 * Sgeo is reading a webcomic with 1 comic/day since before the universe began 04:40:50 Sgeo: mezzacotta? 04:40:57 it's been linked here several times in the past 04:41:06 and I read it, and ehird read it once and probably still does 04:41:13 and lots of other people here do too, I reckon 04:41:17 Oh 04:41:28 Yes, I was referring to mezzacotta 04:41:38 ~exec (lambda n,s1='^ul (%s)S',s2='~exec (lambda s1=%r,s2=%r:sys.stdout.write(s1%%s2%%(s1,s2,n-1) if n else "stop"))(%d)': sys.stdout.write(s1%s2%(s1,s2,n-1) if n else "stop"))(3) 04:41:38 SyntaxError: invalid syntax 04:41:45 geh 04:41:51 MizardX: what is that program? 04:42:13 are you attempting a bot loop with trivial Underload rather than trivial Python? 04:42:23 ^ 04:42:41 ~exec (lambda n,s1='^ul (%s)S',s2='~exec (lambda s1=%r,s2=%r:sys.stdout(s1%%s2%%(s1,s2,n-1) if n else "stop"))(%d)': sys.stdout(s1%s2%(s1,s2,n-1) if n else "stop"))(3) 04:42:42 SyntaxError: invalid syntax 04:42:42 (that's a pointer to where the syntax error is, btw, it probably only works in fixed-width font though and my client's using variable-width) 04:42:58 ^ 04:43:14 mirc strips repeated whitespace 04:43:21 oh, not particularly useful then... 04:43:22 my question is, can you make a loop where _both_ sides do copying 04:43:46 oerjan: it's surely possible, but wouldn't that result in exponential growth? 04:43:53 or would you delete one of the copies on each side? 04:44:16 well the copied part would be the execution of the other... 04:44:57 ~exec (lambda n,s1='^ul (%s)S',s2='~exec (lambda s1=%r,s2=%r:sys.stdout.write(n and s1%%s2%%(s1,s2,n-1) or "stop"))(%d)': sys.stdout.write(n and s1%s2%(s1,s2,n-1) or "stop"))(3) 04:44:57 ^ul (~exec (lambda s1='^ul (%s)S',s2='~exec (lambda s1=%r,s2=%r:sys.stdout.write(n and s1%%s2%%(s1,s2,n-1) or "stop"))(%d)':sys.stdout.write(n and s1%s2%(s1,s2,n-1) or "stop"))(2))S 04:44:57 ~exec (lambda s1='^ul (%s)S',s2='~exec (lambda s1=%r,s2=%r:sys.stdout.write(n and s1%%s2%%(s1,s2,n-1) or "stop"))(%d)':sys.stdout.write(n and s1%s2%(s1,s2,n-1) or "stop"))(2) 04:44:57 NameError: global name 'n' is not defined 04:45:11 huh 04:45:17 ~exec (lambda n,s1='^ul (%s)S',s2='~exec (lambda n,s1=%r,s2=%r:sys.stdout.write(n and s1%%s2%%(s1,s2,n-1) or "stop"))(%d)': sys.stdout.write(n and s1%s2%(s1,s2,n-1) or "stop"))(3) 04:45:17 ^ul (~exec (lambda n,s1='^ul (%s)S',s2='~exec (lambda n,s1=%r,s2=%r:sys.stdout.write(n and s1%%s2%%(s1,s2,n-1) or "stop"))(%d)':sys.stdout.write(n and s1%s2%(s1,s2,n-1) or "stop"))(2))S 04:45:17 ~exec (lambda n,s1='^ul (%s)S',s2='~exec (lambda n,s1=%r,s2=%r:sys.stdout.write(n and s1%%s2%%(s1,s2,n-1) or "stop"))(%d)':sys.stdout.write(n and s1%s2%(s1,s2,n-1) or "stop"))(2) 04:45:18 ^ul (~exec (lambda n,s1='^ul (%s)S',s2='~exec (lambda n,s1=%r,s2=%r:sys.stdout.write(n and s1%%s2%%(s1,s2,n-1) or "stop"))(%d)':sys.stdout.write(n and s1%s2%(s1,s2,n-1) or "stop"))(1))S 04:45:18 ~exec (lambda n,s1='^ul (%s)S',s2='~exec (lambda n,s1=%r,s2=%r:sys.stdout.write(n and s1%%s2%%(s1,s2,n-1) or "stop"))(%d)':sys.stdout.write(n and s1%s2%(s1,s2,n-1) or "stop"))(1) 04:45:18 ^ul (~exec (lambda n,s1='^ul (%s)S',s2='~exec (lambda n,s1=%r,s2=%r:sys.stdout.write(n and s1%%s2%%(s1,s2,n-1) or "stop"))(%d)':sys.stdout.write(n and s1%s2%(s1,s2,n-1) or "stop"))(0))S 04:45:18 ~exec (lambda n,s1='^ul (%s)S',s2='~exec (lambda n,s1=%r,s2=%r:sys.stdout.write(n and s1%%s2%%(s1,s2,n-1) or "stop"))(%d)':sys.stdout.write(n and s1%s2%(s1,s2,n-1) or "stop"))(0) 04:45:18 stop 04:45:42 aha, a terminating botloop 04:45:43 that was what I was trying to do 04:45:47 Is the mezzacotta algorithm public? 04:45:51 now I have to write one in Underload 04:45:59 Sgeo: no 04:47:40 It's supposed to be gibberish more often than not, and the only way of finding good ones is to look at the top rated? 04:47:52 essentially 04:48:16 i feel it has deteriorated since the start though, not enough people voting 04:48:39 or maybe not enough people looking for new ones 04:48:46 So the algorithm doesn't check to make sure the responses are semi-coherent or obey any sort of grammar? 04:49:14 there are several characters, some of which look at previous speech 04:49:36 some of the characters are not _intended_ to be coherent 04:50:08 Where does it get "previous speech" from? 04:50:16 And where can I get an FAQ on all this? 04:50:18 er the previous panels 04:50:36 you could look at the forum discussion, there is no FAQ 04:50:50 as i said the algorithm is not publicized 04:51:53 anything known is just deduced from the examples 04:52:47 you could say the characters resemble the themes in fungot, some of them 04:52:48 oerjan: deleted the word ' ' av". ( i'd change it but although i've made a report to fnord for fnord 04:53:38 there's an eliza psychologist program, a mad scientist, someone quoting the D&D player's handbook or something like that 04:53:51 How is it that there are two good comics in 9999999999999 BC? 04:54:16 Also, where are the forums? 04:54:22 since it's the first year, someone went to the trouble of looking through all of them 04:54:55 ^ul (:*:*:*):((!())~^):*^(a(~^:^)*(:((!())~^):*^)~*~:(:)~^~(*)~^(!!()())~*~**(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*)~^:^ 04:55:04 ^ul (:*:*:*):((!())~^):*^(a(~^:^)*(:((!())~^):*^)~*~:(:)~^~(*)~^(!!()())~*~**(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S)~^:^ 04:55:04 ~exec sys.stdout("""^ul :((!())~^):*^(a(~^:^)*(:((!())~^):*^)~*~:(:)~^~(*)~^(!!()())~*~**(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S)~^:^!!()()********::::::::""") 04:55:04 ^ul :((!())~^):*^(a(~^:^)*(:((!())~^):*^)~*~:(:)~^~(*)~^(!!()())~*~**(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S)~^:^!!()()********:::::::: 04:55:04 ...out of stack! 04:55:17 ^ul (:*:*:*):((!())~^):*^(a(~^:^)*(:((!())~^):*^)~*~:(:)~^~(*)~^(!!()())~*~*~*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S)~^:^ 04:55:17 ~exec sys.stdout("""^ul !!()()********:::::::::((!())~^):*^(a(~^:^)*(:((!())~^):*^)~*~:(:)~^~(*)~^(!!()())~*~*~*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S)~^:^""") 04:55:17 ^ul !!()()********:::::::::((!())~^):*^(a(~^:^)*(:((!())~^):*^)~*~:(:)~^~(*)~^(!!()())~*~*~*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S)~^:^ 04:55:17 ...out of stack! 04:55:30 -!- moozilla has joined. 04:55:37 ^ul (:*:*:*):((!())~^):*^(a(~^:^)*(:((!())~^):*^)~*~:(:)~^~(*)~^(!!()())~**a~*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S)~^:^ 04:55:37 ~exec sys.stdout("""^ul (::::::::!!()()********):((!())~^):*^(a(~^:^)*(:((!())~^):*^)~*~:(:)~^~(*)~^(!!()())~**a~*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S)~^:^""") 04:55:38 ^ul (::::::::!!()()********):((!())~^):*^(a(~^:^)*(:((!())~^):*^)~*~:(:)~^~(*)~^(!!()())~**a~*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S)~^:^ 04:55:38 ~exec sys.stdout("""^ul (:::::::!!()()*******):((!())~^):*^(a(~^:^)*(:((!())~^):*^)~*~:(:)~^~(*)~^(!!()())~**a~*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S)~^:^""") 04:55:38 ^ul (:::::::!!()()*******):((!())~^):*^(a(~^:^)*(:((!())~^):*^)~*~:(:)~^~(*)~^(!!()())~**a~*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S)~^:^ 04:55:38 ~exec sys.stdout("""^ul (::::::!!()()******):((!())~^):*^(a(~^:^)*(:((!())~^):*^)~*~:(:)~^~(*)~^(!!()())~**a~*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S)~^:^""") 04:55:38 ^ul (::::::!!()()******):((!())~^):*^(a(~^:^)*(:((!())~^):*^)~*~:(:)~^~(*)~^(!!()())~**a~*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S)~^:^ 04:55:38 ~exec sys.stdout("""^ul (:::::!!()()*****):((!())~^):*^(a(~^:^)*(:((!())~^):*^)~*~:(:)~^~(*)~^(!!()())~**a~*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S)~^:^""") 04:55:39 ^ul (:::::!!()()*****):((!())~^):*^(a(~^:^)*(:((!())~^):*^)~*~:(:)~^~(*)~^(!!()())~**a~*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S)~^:^ 04:55:40 ~exec sys.stdout("""^ul (::::!!()()****):((!())~^):*^(a(~^:^)*(:((!())~^):*^)~*~:(:)~^~(*)~^(!!()())~**a~*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S)~^:^""") 04:55:41 ^ul (::::!!()()****):((!())~^):*^(a(~^:^)*(:((!())~^):*^)~*~:(:)~^~(*)~^(!!()())~**a~*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S)~^:^ 04:55:43 ~exec sys.stdout("""^ul (:::!!()()***):((!())~^):*^(a(~^:^)*(:((!())~^):*^)~*~:(:)~^~(*)~^(!!()())~**a~*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S)~^:^""") 04:55:44 ^ul (:::!!()()***):((!())~^):*^(a(~^:^)*(:((!())~^):*^)~*~:(:)~^~(*)~^(!!()())~**a~*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S)~^:^ 04:55:46 ~exec sys.stdout("""^ul (::!!()()**):((!())~^):*^(a(~^:^)*(:((!())~^):*^)~*~:(:)~^~(*)~^(!!()())~**a~*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S)~^:^""") 04:55:47 ^ul (::!!()()**):((!())~^):*^(a(~^:^)*(:((!())~^):*^)~*~:(:)~^~(*)~^(!!()())~**a~*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S)~^:^ 04:55:49 ~exec sys.stdout("""^ul (:!!()()*):((!())~^):*^(a(~^:^)*(:((!())~^):*^)~*~:(:)~^~(*)~^(!!()())~**a~*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S)~^:^""") 04:55:50 ^ul (:!!()()*):((!())~^):*^(a(~^:^)*(:((!())~^):*^)~*~:(:)~^~(*)~^(!!()())~**a~*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S)~^:^ 04:56:01 and there we have it, a terminating botloop 04:56:05 where the Underlambda part does the counting 04:56:16 * ais523 makes it twice as long 04:56:21 ^ul (:*:*:*:*):((!())~^):*^(a(~^:^)*(:((!())~^):*^)~*~:(:)~^~(*)~^(!!()())~**a~*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S)~^:^ 04:56:21 ~exec sys.stdout("""^ul (::::::::::::::::!!()()****************):((!())~^):*^(a(~^:^)*(:((!())~^):*^)~*~:(:)~^~(*)~^(!!()())~**a~*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S)~^:^""") 04:56:21 ^ul (::::::::::::::::!!()()****************):((!())~^):*^(a(~^:^)*(:((!())~^):*^)~*~:(:)~^~(*)~^(!!()())~**a~*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S)~^:^ 04:56:21 ~exec sys.stdout("""^ul (:::::::::::::::!!()()***************):((!())~^):*^(a(~^:^)*(:((!())~^):*^)~*~:(:)~^~(*)~^(!!()())~**a~*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S)~^:^""") 04:56:21 ^ul (:::::::::::::::!!()()***************):((!())~^):*^(a(~^:^)*(:((!())~^):*^)~*~:(:)~^~(*)~^(!!()())~**a~*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S)~^:^ 04:56:22 ~exec sys.stdout("""^ul (::::::::::::::!!()()**************):((!())~^):*^(a(~^:^)*(:((!())~^):*^)~*~:(:)~^~(*)~^(!!()())~**a~*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S)~^:^""") 04:56:22 ^ul (::::::::::::::!!()()**************):((!())~^):*^(a(~^:^)*(:((!())~^):*^)~*~:(:)~^~(*)~^(!!()())~**a~*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S)~^:^ 04:56:22 ~exec sys.stdout("""^ul (:::::::::::::!!()()*************):((!())~^):*^(a(~^:^)*(:((!())~^):*^)~*~:(:)~^~(*)~^(!!()())~**a~*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S)~^:^""") 04:56:22 ^ul (:::::::::::::!!()()*************):((!())~^):*^(a(~^:^)*(:((!())~^):*^)~*~:(:)~^~(*)~^(!!()())~**a~*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S)~^:^ 04:56:24 ~exec sys.stdout("""^ul (::::::::::::!!()()************):((!())~^):*^(a(~^:^)*(:((!())~^):*^)~*~:(:)~^~(*)~^(!!()())~**a~*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S)~^:^""") 04:56:24 ^ul (::::::::::::!!()()************):((!())~^):*^(a(~^:^)*(:((!())~^):*^)~*~:(:)~^~(*)~^(!!()())~**a~*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S)~^:^ 04:56:27 ~exec sys.stdout("""^ul (:::::::::::!!()()***********):((!())~^):*^(a(~^:^)*(:((!())~^):*^)~*~:(:)~^~(*)~^(!!()())~**a~*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S)~^:^""") 04:56:27 ^ul (:::::::::::!!()()***********):((!())~^):*^(a(~^:^)*(:((!())~^):*^)~*~:(:)~^~(*)~^(!!()())~**a~*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S)~^:^ 04:56:30 ~exec sys.stdout("""^ul (::::::::::!!()()**********):((!())~^):*^(a(~^:^)*(:((!())~^):*^)~*~:(:)~^~(*)~^(!!()())~**a~*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S)~^:^""") 04:56:30 ^ul (::::::::::!!()()**********):((!())~^):*^(a(~^:^)*(:((!())~^):*^)~*~:(:)~^~(*)~^(!!()())~**a~*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S)~^:^ 04:56:33 ~exec sys.stdout("""^ul (:::::::::!!()()*********):((!())~^):*^(a(~^:^)*(:((!())~^):*^)~*~:(:)~^~(*)~^(!!()())~**a~*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S)~^:^""") 04:56:33 ^ul (:::::::::!!()()*********):((!())~^):*^(a(~^:^)*(:((!())~^):*^)~*~:(:)~^~(*)~^(!!()())~**a~*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S)~^:^ 04:56:36 ~exec sys.stdout("""^ul (::::::::!!()()********):((!())~^):*^(a(~^:^)*(:((!())~^):*^)~*~:(:)~^~(*)~^(!!()())~**a~*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S)~^:^""") 04:56:36 ^ul (::::::::!!()()********):((!())~^):*^(a(~^:^)*(:((!())~^):*^)~*~:(:)~^~(*)~^(!!()())~**a~*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S)~^:^ 04:56:39 ~exec sys.stdout("""^ul (:::::::!!()()*******):((!())~^):*^(a(~^:^)*(:((!())~^):*^)~*~:(:)~^~(*)~^(!!()())~**a~*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S)~^:^""") 04:56:39 ^ul (:::::::!!()()*******):((!())~^):*^(a(~^:^)*(:((!())~^):*^)~*~:(:)~^~(*)~^(!!()())~**a~*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S)~^:^ 04:56:42 ~exec sys.stdout("""^ul (::::::!!()()******):((!())~^):*^(a(~^:^)*(:((!())~^):*^)~*~:(:)~^~(*)~^(!!()())~**a~*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S)~^:^""") 04:56:42 ^ul (::::::!!()()******):((!())~^):*^(a(~^:^)*(:((!())~^):*^)~*~:(:)~^~(*)~^(!!()())~**a~*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S)~^:^ 04:56:45 ~exec sys.stdout("""^ul (:::::!!()()*****):((!())~^):*^(a(~^:^)*(:((!())~^):*^)~*~:(:)~^~(*)~^(!!()())~**a~*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S)~^:^""") 04:56:45 ^ul (:::::!!()()*****):((!())~^):*^(a(~^:^)*(:((!())~^):*^)~*~:(:)~^~(*)~^(!!()())~**a~*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S)~^:^ 04:56:48 ~exec sys.stdout("""^ul (::::!!()()****):((!())~^):*^(a(~^:^)*(:((!())~^):*^)~*~:(:)~^~(*)~^(!!()())~**a~*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S)~^:^""") 04:56:48 ^ul (::::!!()()****):((!())~^):*^(a(~^:^)*(:((!())~^):*^)~*~:(:)~^~(*)~^(!!()())~**a~*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S)~^:^ 04:56:51 ~exec sys.stdout("""^ul (:::!!()()***):((!())~^):*^(a(~^:^)*(:((!())~^):*^)~*~:(:)~^~(*)~^(!!()())~**a~*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S)~^:^""") 04:56:51 ^ul (:::!!()()***):((!())~^):*^(a(~^:^)*(:((!())~^):*^)~*~:(:)~^~(*)~^(!!()())~**a~*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S)~^:^ 04:56:54 ~exec sys.stdout("""^ul (::!!()()**):((!())~^):*^(a(~^:^)*(:((!())~^):*^)~*~:(:)~^~(*)~^(!!()())~**a~*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S)~^:^""") 04:56:54 ^ul (::!!()()**):((!())~^):*^(a(~^:^)*(:((!())~^):*^)~*~:(:)~^~(*)~^(!!()())~**a~*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S)~^:^ 04:56:57 ~exec sys.stdout("""^ul (:!!()()*):((!())~^):*^(a(~^:^)*(:((!())~^):*^)~*~:(:)~^~(*)~^(!!()())~**a~*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S)~^:^""") 04:56:57 ^ul (:!!()()*):((!())~^):*^(a(~^:^)*(:((!())~^):*^)~*~:(:)~^~(*)~^(!!()())~**a~*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S)~^:^ 04:57:54 bsmnt_bot! 04:57:57 Sgeo: huh, there doesn't seem to be a forum link from the main comic 04:58:01 -!- psygnisf_ has changed nick to psygnisfive. 04:58:03 lol 04:58:07 -!- metazilla has joined. 04:58:15 -!- moozilla has quit (Nick collision from services.). 04:58:17 -!- metazilla has changed nick to moozilla. 04:58:19 bdmntbombdood, remind me 04:58:25 do you like cock? 04:58:31 and, do you like vagina? 04:58:42 and simultaneously, do you like girls? do you like boys? 04:59:01 Ask him directly if he'll fuck you. 04:59:22 Sgeo: http://www.irregularwebcomic.net/draakslair/index.php 05:00:02 slereah_: i dont want him to. i just cant remember what bend he is. 05:00:02 it's a forum for several webcomics, the mezzacotta ones are the third sublist 05:00:17 There are .. 2 threads in the mezzacotta forums on there 05:00:31 for some reason i have the feeling hes either not straight, or has exceptionally odd fetishes. 05:00:43 Sgeo: probably because they aren't linked from the comic itself 05:00:55 Sgeo: whoops, it seems it's set to expire 05:01:22 or what ais523 said 05:04:09 -!- moozilla has quit (Read error: 104 (Connection reset by peer)). 05:04:33 -!- moozilla has joined. 05:05:15 Sgeo: ah, the forums were only linked from a blog post, which is buried a long way down 05:05:35 well it's _supposed_ to be half-baked :D 05:06:18 oerjan: what do you think of my terminating botloop, by the way? 05:06:29 fine, fine 05:06:47 I'm quite proud of that given that I wrote it at 4:55am 05:32:33 -!- oerjan has quit ("Succubus"). 05:51:16 hey guys i saw a cool datastructure 05:51:18 http://www.cs.uwaterloo.ca/research/tr/1999/09/CS-99-09.pdf 05:51:46 similar to http://en.wikipedia.org/wiki/Hashed_array_tree 05:53:03 gregorr are you here? 05:54:21 -!- moozilla has quit (Read error: 104 (Connection reset by peer)). 05:54:24 -!- moozilla has joined. 06:01:39 AnMaster: I know you're asleep now and I ought to be too, but I've finally started to review your C-INTERCAL patch submissions 06:06:32 -!- moozilla has quit (Read error: 54 (Connection reset by peer)). 06:06:34 -!- metazilla has joined. 06:17:27 ais523: he should be getting up about now anyway 06:17:54 * ais523 laughs at oerjan's quit reason 06:52:57 -!- Sgeo has quit (Read error: 110 (Connection timed out)). 07:02:45 hmm 07:02:55 i want to try some evolutionary programming 07:02:59 on simple tasks 07:03:19 to try and create something nearly inscrutable, but simple, which solves some simple problem 07:05:30 and then reverse engineer the solution 07:51:33 wow, when hunting down the HAVE_SYS_INTERPRETER bug, I tried Googling 07:51:55 it seems that C-INTERCAL is the top hit for autoconf HAVE_PROG_SH, and the second hit for autoconf HAVE_SYS_INTERPRETER 07:52:03 no wonder it isn't a high priority for the autconf developers... 07:54:49 it is very very /very/ INTERCAL to use a documented feature of autoconf to check for something that ought to be checked for but nobody bothers 07:54:54 pity they deprecated it 07:54:59 incidentally: http://members.cox.net/stefanor/intercal.vim 07:57:05 -!- olsner has quit (Read error: 110 (Connection timed out)). 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:48:32 -!- GreaseMonkey has quit ("You only need one wheel. Bikers are just greedy."). 09:01:25 ais523, morning 09:01:31 morning 09:01:32 ais523, hi 09:01:34 right 09:01:36 or very late night, depending on your point of view 09:01:37 nice 09:01:56 ais523, 10:01 isn't "night" in any meaning of the work 09:01:57 word* 09:01:57 * ais523 suddenly wonders the wisdom in checking for sh in an autoconf-based build system 09:01:58 IMO 09:02:05 AnMaster: it is if you didn't go to sleep in the meantime... 09:02:11 * ais523 suddenly wonders the wisdom in checking for sh in an autoconf-based build system <-- agreed 09:02:25 the reason it was in there was that I used to have a bypass-autoconf alternative for the DOS build 09:02:28 which worked even without sh 09:02:33 I'm thinking about dropping that possibility, though 09:02:56 ais523, well you could just #define it to be on except for dos 09:03:09 so static forced on with autoconf 09:03:19 and static forced off without autoconf 09:03:58 yes 09:04:06 that would deal with the PROG_SH thing 09:04:16 and also explain why C-INTERCAL was the only hit 09:04:17 interesting new tool in last valgrind release http://www.valgrind.org/docs/manual/pc-manual.html 09:04:23 it's the HAVE_SYS_INTERPRETER that's the tricky one 09:04:30 only issue it is detects a number of issues in ld.so 09:04:42 and one inside ncurses 09:04:51 apart from that cfunge passes it with flying colours 09:05:01 and I can hardly fix those inside system libraries 09:05:05 yes, looks interesting 09:05:28 and I can hardly fix those inside system libraries <--- if it happens in gcc-bf, let me know, you maybe could fix it there by telling me 09:05:36 not it wasn't 09:05:39 although I don't think valgrind's been ported to Brainfuck yet 09:05:43 indeed 09:06:09 ais523, oh and *sometimes* it reports an issue inside asin()... 09:06:25 but it says the tool is experimental 09:06:37 anyway nothing directly in cfunge 09:07:00 but some stuff in ncurses, ld.so, and (sometimes) libm.so 09:12:50 ais523, oh also memcheck has some new cool option to detect uninitialised values when they happen or something rather than way way later 09:12:55 in the last release 09:12:59 I haven't tested it yet 09:13:08 -!- moozilla has joined. 09:13:16 it says it will run way way slower 09:14:31 interesting, ptrcheck's one of the first programs I've seen that actually relies on various guarantees the C standard makes about pointers 09:14:56 one of the perennial arguments at comp.lang.c is about whether pointers in theory have to still work if you split them into pieces and reassemble them 09:14:58 ais523, it can break though, note the issue it mentions about " p = /* arbitrary condition */ ? &a[i] : &b[i];" 09:15:03 and now we have a C implementation it breaks 09:15:14 ais523, also it runs machine code 09:16:39 ais523, I think an actual error checking C *interpreter* or at least byte code interpreter could be very interesting 09:16:45 a lot more complex however 09:17:01 yes 09:17:11 you could probably do that by mixing a modified gcc with a modified valgrind 09:17:19 modified to share more information 09:17:42 well, there is also libmudflap, and you can actually run a mudflap program under valgrind, strange I know... 09:17:49 not strange at all 09:17:51 and slow as hell 09:17:57 no theoretical reason why it wouldn't work 09:18:14 ais523, well yes I think it is since for example boehm-gc + valgrind = sigsegv at startup 09:18:37 and mudflap certainly does dirty stack tricks too 09:18:49 ah, I didn't realise it did dirty stack tricks 09:19:02 ais523, well I'm pretty sure I read that it did 09:19:16 C-INTERCAL doesn't really do dirty stack tricks, at least the ones it does are sanctioned by the C standard 09:19:28 ais523, oh and funny thing, mudflap has an option to "wipe on free()" 09:19:33 that crashes with cfunge 09:19:44 since it tries to wipe a readonly mmap() 09:19:58 on munmap() 09:20:01 sounds like a bug in mudflap 09:20:16 probably they weren't expecting people to allocate read-only memory... 09:20:18 ais523, yes and I don't have last gcc, I run stable gentoo, otherwise I would report it 09:20:28 ais523, I don't, I mmap() a file as read only 09:20:33 it isn't anonymous memory 09:20:39 yes, I know 09:20:53 * ais523 tries to figure out if a hypothetical read-only malloc would have any use 09:21:10 I suppose you could try to determine if the system set unallocated memory to any particular value 09:21:13 well mmap() and malloc() are quite different 09:21:42 also checking unallocated memory is highly undef behaviour 09:21:47 err 09:21:48 yes, I know 09:21:53 allocated un-written 09:21:54 I meant 09:21:58 both 09:22:01 true 09:22:12 although I'm not entirely sure that the second is illegal via an unsigned char pointer 09:22:19 but I'm dubious that it's legal, too 09:22:28 it is legal I suspect 09:22:35 how would memcpy() work otherwise? 09:22:36 -!- metazilla has quit (Connection timed out). 09:22:36 you can get away with all sorts of things with unsigned char pointers that you can't with other things 09:22:39 if the struct has padding 09:22:46 AnMaster: by magic 09:22:49 to be more precise 09:23:01 I mean the interp that defines memcpy knows that it can get away with doing that 09:23:38 ais523, well, you can memcpy() a struct that is fully initialised but has padding. Even valgrind allows copying uninitialised memory without reporting error for that reason 09:23:44 there would be too many errors otherwise 09:24:00 AnMaster: yes, but imagine a hypothetical interpreter whose memcpy didn't copy padding 09:24:11 and each byte in memory had an extra is_padding bit 09:24:22 I don't think that violates the C standard, even though that's stupid 09:24:22 ais523, then that would break tricks that copied them using other ways 09:24:26 which I think are valid 09:24:38 what other tricks? 09:25:09 ais523, well if the struct is on the stack and not a pointer isn't it valid to copy with = iirc? 09:25:15 * AnMaster is pretty sure it is 09:25:49 that may be C99 or I may be wrong 09:25:56 or it may be C89 even 09:26:07 that's C89 09:26:10 right 09:26:14 and the compiler knows about padding when it implements = 09:26:16 then you have an example 09:26:26 in fact, I expect many compilers wouldn't copy the padding at all 09:26:36 err 09:26:38 unless it was faster to do a block-copy than several move instructions 09:26:39 that could be slower 09:26:45 yes exactly 09:26:49 it could be slower for a big struct, I agree 09:26:57 I bet it would be faster for struct {char c; int i;} though 09:27:13 at least on x86 09:27:19 ais523, depends, a single moveq should be faster on amd64 I expect 09:27:48 moveq is gas name for it though iirc 09:28:33 intel syntax use another name probably since amd64 ref docs talk about the "rex prefix byte" making operands of the next instruction 64-bit 09:30:03 ais523, oh btw, ptrcheck for cfunge (in a run where it didn't complain about errors inside asinl()): http://rafb.net/p/DF6sVr22.html 09:30:20 Mycology, by any chance? 09:30:32 ais523, yes, and my ncurses and ld.so both have debugging info 09:30:47 so I'm not sure why it doesn't report symbols in those 09:30:51 seems rather strange 09:30:56 it may be the wrong format of debugging info 09:31:01 ptrcheck seems to care about dwarf3 09:31:12 well. what is -ggdb then? 09:31:23 probably a dwarf3 variant 09:31:30 -ggdb 09:31:30 Produce debugging information for use by GDB. This means to use the most expressive format available (DWARF 2, stabs, or the native format if neither of 09:31:30 those are supported), including GDB extensions if at all possible. 09:31:31 hm 09:31:35 right dwarf2? 09:31:42 IIRC, it's "use whatever's best for gdb out of the formats I know, plus GNU extensions" 09:32:02 ais523, well cfunge was built with -ggdb too 09:32:08 and there are symbols for it in the trace 09:32:37 -gdwarf-2 09:32:38 Produce debugging information in DWARF version 2 format (if that is supported). This is the format used by DBX on IRIX 6. With this option, GCC uses fea‐ 09:32:38 tures of DWARF version 3 when they are useful; version 3 is upward compatible with version 2, but may still cause problems for older debuggers. 09:32:38 hm 09:34:34 ais523, well there is no option for pure dwarf3 in my man gcc, nor is cfunge built in any other way 09:34:41 so something weird is going on there 09:35:08 also I get the same odd errors from a simple valgrind --tool=exp-ptrcheck build/cfunge -h 09:36:53 hah 09:36:54 ==18184== Invalid read of size 8 09:36:54 ==18184== at 0x343000D3BF: (within /lib64/ld-2.6.1.so) 09:36:54 ==18184== by 0x3430432A18: exit (in /lib64/libc-2.6.1.so) 09:36:54 ==18184== by 0x401375: (within /bin/echo) 09:36:54 ==18184== by 0x343041DB73: (below main) (in /lib64/libc-2.6.1.so) 09:36:55 ==18184== Address 0x3430739b98 is not derived from any known block 09:37:26 ais523, well any binary I try on report those, I guess some missing suppression entries for whatever libc version I have 09:52:27 ais523, there? 09:52:31 yes 09:52:50 as long as eso-std.org is effectively down, I'm here whenever I'm logged in 09:53:04 I have profiled cfunge and the current largest speed problem is pushing strings 09:53:55 any idea how to optimise? I have been wondering if maybe making funge stack grow down would help, it would mean I could memcpy() the string... on the other hand it would also mean that growing the stack wouldn't be a simple realloc() any more 09:54:03 (and yes I realloc in chunks) 09:56:51 ais523, any good idea? 09:57:31 AnMaster: you could store a pointer to the string on the stack, rather than the string itself 09:57:41 and only expand it if someone cares about the individual chars in it 09:57:47 but that would be really complex 09:58:02 ideally, you'd have to recognise print loops, etc, for it to work well 09:58:17 yes it would and have the overhead of type tagging values 09:58:24 ais523, yes indeed 09:58:29 something for jitfunge rather 09:59:25 -!- moozilla has quit (Read error: 131 (Connection reset by peer)). 09:59:32 ais523, it would basically need a total redesign, and for "" strings it is hard to use, in fact it stack_push_string() isn't used there since that would break threads badly 10:00:01 ah, ofc 10:00:07 -!- moozilla has joined. 10:00:14 stack_(push|pop)_string are used instead for stuff like fingerprint instructions and i, o, y and such that need to push and/or pop strings 10:04:18 -!- Corun has joined. 10:08:05 hm 10:08:09 * AnMaster has an evil idea 10:08:27 basically like C++ templates but in C, by using macros 10:09:58 AnMaster: that's far more fun using gcc extensions 10:10:05 typeof and ({ }), in particular 10:11:04 ais523, well I was thinking generating the result types statically, like putting something like this in the header: GEN_FUNCS(char) 10:11:09 and so on for different types 10:11:19 that would still be portable 10:11:28 and with other macros you could hide this 10:12:13 ais523, anyway it is strange that C99 has tgmath.h but not typeof() 10:12:34 how did they think tgmath.h would be implemented without typeof() 10:12:58 sizeof works fine 10:13:12 ais523, not really, how would it work for complex types? 10:13:27 I thought tgmath was just float vs double vs long double 10:13:40 ais523, doesn't it support the complex variants too? 10:13:41 * AnMaster checks 10:14:17 4 For each unsuffixed function in for which there is a function in 10:14:18 with the same name except for a c prefix, the corresponding type- 10:14:18 generic macro (for both functions) has the same name as the function in . The 10:14:18 corresponding type-generic macro for fabs and cabs is fabs. 10:14:53 I'm having trouble parsing that paragraph... 10:14:58 and clearly, it isn't fabs 10:15:06 because that isn't a tgmath function 10:15:30 ais523, it isn't? GCC's tgmath support is incomplete 10:15:43 I meant, it would be called something else 10:15:45 fabs is 10:15:53 http://rafb.net/p/xK94QQ46.html 10:15:53 just the tgmath version is called something else IIRC 10:15:55 see that table 10:18:11 ais523, http://rafb.net/p/8QZbDk26.html 10:20:13 hah from my system tgmath.h: "/* This is ugly but unless gcc gets appropriate builtins we have to do something like this. Don't ask how it works. */" 10:20:19 # define __floating_type(type) (((type) 0.25) && ((type) 0.25 - 1)) 10:20:21 ew 10:20:49 I don't see why the part after the && is needed 10:20:57 or are there types which round upwards? 10:21:05 ais523, no idea 10:22:14 ais523, also: 10:22:16 # define __tgmath_real_type_sub(T, E) \ 10:22:16 __typeof__(*(0 ? (__typeof__ (0 ? (double *) 0 : (void *) (E))) 0 \ 10:22:16 : (__typeof__ (0 ? (T *) 0 : (void *) (!(E)))) 0)) 10:22:20 wtf is that 10:23:02 heh, that's really clever 10:23:12 it's exploiting the type of ?:'s return value rules 10:23:21 to do the tgmath calcuation in one macro 10:24:05 ais523, I don't know what those rules are 10:24:08 so what does it do 10:24:57 AnMaster: remember I haven't gone to bed yet, I'm not really in a fit state to work it out 10:25:07 and my quick explanation of how it works may be completely wrong 10:26:54 ais523, about those ick patches 10:26:57 any questions btw? 10:27:07 not really 10:27:13 I have a funky error message for the buffer overflow 10:27:19 ais523, also: http://rafb.net/p/bro27D69.html 10:27:24 ais523, what buffer overflow? 10:27:29 oh that one 10:27:32 now I remember 10:27:34 AnMaster: ick_snprintf_or_die 10:27:37 right 10:27:39 it's BETTER LATE THAN NEVER 10:27:42 given the circumstances that cause it 10:27:46 it was so long ago that I worked on it 10:27:51 ais523, heh right 10:28:54 wow...... http://rafb.net/p/2pUgX781.html 10:29:00 hmm... ick build is giving more warnings now 10:29:07 but I think that's because you tweaked the warning level up 10:29:11 rather than due to buggier code 10:29:19 ais523, I didn't in configure.ac afaik 10:29:23 I only did for cfunge 10:29:27 that is iffi 10:29:39 iirc 10:29:43 warning: ignoring return value of ‘system’, declared with attribute warn_unused_result 10:29:55 I wonder what's causing that 10:30:17 __attribute__((warn_unused_result)) 10:30:28 I think it is included in -Wall 10:30:48 I'm wondering why it's happening now, and wasn't before 10:30:54 hmm... maybe due to an OS upgrade 10:30:57 I might have better header files now 10:31:02 right 10:31:08 anyway, why check the return value from system? It's unportable 10:31:26 ais523, hm? system() is ISO C 10:31:36 AnMaster: its return value is unportable 10:31:45 it's not defined to mean anything in particular, IIRC 10:31:54 (its argument is unportable too, but has more of a consistent meaning) 10:31:56 extern int system (__const char *__command) __wur; 10:32:04 it seems __wur means warn_unused_result 10:32:51 system(NULL) has a defined return value, though. But system() with a non-null argument has a completely implementation-defined value. 10:33:05 fizzie, what is the result of system(NULL)? 10:33:06 also 10:33:14 I suspect it is defined by POSIX 10:33:34 which may be the reason that linux headers think you should check the result 10:33:34 system(NULL) returns nonzero "if a command processor is available". Of course that's a bit vague, too. 10:35:35 POSIX does define it, yes. 10:35:41 it vaguely means that system(NULL) returns nonzero if you can ever get system to do anything 10:35:43 -!- Corun has quit ("This computer has gone to sleep"). 10:35:47 and zero if it's a no-op 10:36:43 Actually I don't see a clear definition what system("foo"); should do if system(NULL) returns zero. 10:36:58 no, but in practice no-op seems likely 10:37:13 anyway, how much more implementation-defined can you get than "causes the implementation to act in an implementation-defined manner"? 10:37:58 /home/anmaster/cfunge/trunk/src/fingerprints/DATE/DATE.c:123: warning: cast from function call of type 'long double' to non-matching type 'long long int' 10:37:59 wtf 10:38:02 return (fungeCell)roundl(jdn); 10:38:04 C99 verbiage is: "-- passes the string -- to that command processor to be executed in a manner which the implementation shall document; this might then cause the program calling system to behave in a non-conforming manner or to terminate." 10:38:06 what is wrong with that? 10:38:14 it makes no sense to me 10:38:20 AnMaster: what is jdn? 10:38:22 why would I cast the function call, I'm casting the result 10:38:30 ais523, long double jdn 10:38:44 -!- Corun has joined. 10:38:44 anyway the issue is that I'm trying to cast the result of roundl() 10:38:47 and what's the type of roundl? 10:38:52 ais523, man roundl 10:38:58 it is a C99 standard function 10:39:13 long double roundl(long double x); 10:39:20 hmm... your compiler doesn't like casting from long double to long long int 10:39:28 because the long long int might not fit in a long double, presumably 10:39:28 ais523, GCC 10:39:30 anyway 10:39:34 that isn't the issue 10:39:36 if I do: 10:39:43 they only have a bit over 50 bits of precision, IIRC 10:39:44 not 64 10:39:48 long double tmp = roundl(jdn); 10:39:53 return (fungeCell)tmp; 10:39:56 it doesn't complain 10:40:03 only if I directly cast the result of roundl() 10:40:07 that is pretty strange 10:40:32 ais523, ^ 10:40:40 yes 10:40:45 the warning seems to be something specific 10:40:48 I wonder why it's there 10:40:53 I mean, the error message is pretty specific 10:41:25 ais523, it seems to happen whenever I put (integer-type-goes-here)function_that_returns_a_floating_point_type(); 10:41:45 I wonder why that's a warning 10:41:52 I have no idea 10:41:53 I'd expect splint to warn about that sort of thing 10:41:56 but then, it warns about everything 10:42:18 it even has options for enforcing naming conventions on variables, IIRC 10:43:53 ais523, hm -Wbad-function-cast cause it 10:44:01 -Wbad-function-cast (C and Objective-C only) 10:44:01 Warn whenever a function call is cast to a non-matching type. For example, warn if "int malloc()" is cast to "anything *". 10:44:11 now that doesn't make much sense 10:44:15 yes it does 10:44:18 I see what's going on here 10:44:28 casting malloc hides errors due to forgetting to include stdlib.h 10:44:34 in which case it's int malloc implicitly 10:44:50 that's gcc's attempt to nevertheless produce a warning when that happens 10:45:06 anyway, I don't see why you have the cast there at all 10:45:13 ais523, sure, in that case it would be int-to-anything 10:45:14 long double casts implicitly to long long int... 10:45:38 and as comp.lang.c will tell you, implicit casts are better than explicit casts 10:45:43 ais523, also gcc already warns about missing prototypes 10:45:54 (the only reason NULL is cast to const char* for lose.h is the ridiculousness, AFAICT...) 10:46:19 ais523, I was trying to shut up ICC's warning about "may change the value" 10:46:32 also a 32-bit build would be long double -> int cast 10:46:50 it doesn't matter 10:46:57 the function is declared to return a fungeCell, isn't it? 10:47:00 so they cast is just redundant 10:47:02 *the 10:47:07 /home/anmaster/cfunge/trunk/src/fingerprints/DATE/DATE.c(123): warning #810: conversion from "long double" to "fungeCell={int32_t={int}}" may lose significant bits 10:47:07 return roundl(jdn); 10:47:07 ^ 10:47:10 sigh 10:47:28 I dislike the may lose significant bits warnings 10:47:31 ofc, they're correct 10:47:34 but they're also what I mean 10:47:44 ais523, yes and even useful sometimes, it helped me catch a few bugs 10:47:47 I remember just turning that one off, back when I used to use bcc 10:47:51 With an existing prototype the warning is a bit unexpected, since the compiler knows the "physical" type of the return value of roundl and should be able to work "correctly". 10:48:07 fizzie, indeed 10:48:26 Java is very fond of "may lose bits" warnings, which are actually errors there. 10:48:35 I probably wouldn't have even used roundl 10:48:45 ais523, also gcc-4.3.2 warns about "may lose ..." with -Wconversion 10:48:45 more likely I'd have added 0.5, then implicitly casted the return value 10:48:49 although I'm not sure that works for negatives 10:48:51 earlier versions didn't 10:48:56 And not related, but: there's llroundl which does directly "long double" -> "long long int"; of course that's not very useful for you if you want it to work no matter what the fungeCell type is. 10:49:08 fizzie: is that C99? 10:49:11 Yes. 10:49:23 fizzie, really? *looks* 10:49:30 there's lots of ifdefs for 32/64-bit in cfunge anyway 10:49:46 ais523, yes but I use int64_t/int32_t 10:49:55 and almost all those ifdef are in one header 10:50:06 well, there's nothing wrong with casting to long long 10:50:17 and then relying on low-bit preservation 10:50:20 but that probably gives warnings 10:51:00 The round/lround/llround always round to the nearest integer, with halfway cases away from zero, no matter what the rounding mode is. That's not exactly what +0.5 and truncation does. 10:51:06 well, one issue is that some *bsd lack the *l math.h functions 10:51:19 freebsd have roundl but lacks sinl for example 10:51:46 (which is the reason I check and fall back on the double version) 10:51:48 -!- puzzlet has quit (Remote closed the connection). 10:51:56 -!- puzzlet has joined. 10:52:07 fizzie, indeed 10:52:28 iirc round() isn't in C89 either 10:57:25 hm 10:57:28 Why its converting from long double anyway? 10:57:44 is casting a double NaN to integer undefined? 10:58:22 Ilari, the program? because it did floating point computations and want an integer result, it is converting from year/month/day to whole number julian day number 10:58:23 Ilari: round returns floating-point... 10:58:33 which need floating point computation in between 10:58:44 wait, why does year/month/day to Julian involve floating point? 10:58:54 and it needs the round() rounding behaviour when it comes to negative julian days 10:59:08 Round returns floating point, but it also takes floating point as argument (otherwise it wouldn't make any sense). 10:59:09 ais523, because it returns the wrong result otherwise? 10:59:18 Ilari, yes indeed 11:00:23 -!- Corun has quit (Read error: 104 (Connection reset by peer)). 11:00:36 Err, year/month/day to Julian day number involves floating point computations? 11:00:52 Ilari, yep 11:01:04 integer division made it break 11:01:12 long double jdn = date->day + floorl((153 * m + 2)/5.0) + 365 * y 11:01:12 + floorl(y/4.0) - floorl(y/100.0) + floorl(y/400) - 32045; 11:01:36 if you use integer division there instead it breaks, no I didn't bother figuring out why 11:02:08 possibly some of those don't need it 11:02:51 -!- metazilla has joined. 11:02:57 -!- moozilla has quit (Nick collision from services.). 11:03:43 int64_t a = floorl((14 - date->month) / 12.0); 11:03:43 long double y = Y + 4800 - a; 11:03:55 looking at that it should be possible to change y to int64_t 11:03:56 except 11:03:59 mycology says BAD then 11:04:03 BAD: J should push -1119007 given [-7777,2,29] 11:04:18 Ah, negative values of y. 11:04:27 Ilari, yes they need to be correct of course... 11:05:18 ais523, I hope that explains it for you too? 11:05:26 yes 11:06:01 in fact I'd go as far as calling the current calculations I use for this "extremely brittle" and thus I don't want to change anything in them if possible 11:06:55 julian_to_ymd() is even worse, it needs casting to integer almost all the time 11:08:46 -!- Corun has joined. 11:09:10 Ilari, ais523 if you are interested, here is the relevant code for converting back and forth, most code I found on the web only handled positive julian day numbers so here is some code that handles negative ones too: http://rafb.net/p/33SjNl24.html 11:09:29 as far as I know it is correct, at least for the values that mycology tests 11:11:46 yes I wrote the code and no I don't fully understand it :P 11:14:56 * AnMaster waits for any comments on it 11:15:50 Probably easiest way to get rid of those FP ops would be to have dedicated function that performs that division and floor using only integer math... 11:16:14 Ilari, why would I want that? integer division isn't much faster than floating point division 11:17:05 in fact I suspect that floating point math ends up as significantly faster in this case, at least on most non-embedded architectures 11:17:28 probably slower if you don't have an FPU 11:17:36 * ais523 shoots an angry glance at gcc-bf 11:20:51 well, I designed cfunge for common desktop computers, which means x86/amd64. Though it should work just as fine on other architectures, such as PPC and so on (but I don't have the possibility to test on such). And it should *work* on other arches as well 11:21:04 like gcc-bf, if it can support the POSIX facilities needed 11:21:22 hopefully it'll be able to eventually 11:21:33 ais523, I suspect it wouldn't work with the build system though 11:22:02 cross compiling to gcc-bf using cmake, probably nopt 11:22:04 not* 11:22:33 in fact I never tried cross compiling cfunge 11:22:37 nor do I have a cross toolchain 11:22:50 I have two cross toolchains 11:23:03 gcc-bf, which doesn't produce working executables yet but is good enough to test with 11:23:13 and an ARM cross-toolchain I used for a project a couple of years back 11:23:17 also I think when it checks for header files it may check system headers. It certainly ignore feature rest macros when looking for functions I know 11:23:21 which is the one I normally use to test cross-compile setups 11:23:36 hm 11:23:47 qemu can emulate non-native arches 11:24:05 sparc, ppc and arm for example it seem 11:24:07 seems* 11:24:26 and binary emulation, just running a binary and not a full os. heh? 11:24:54 qemu is an emulator 11:25:16 although it goes into virtualisation mode when host processor = target processor 11:25:27 at least on x86 11:25:34 binary emulation is kind-of clever 11:25:51 ais523, yes... but: 11:25:58 * User mode emulation. In this mode, QEMU can launch processes compiled for one CPU on another CPU. It can be used to launch the Wine Windows API emulator (http://www.winehq.org) or to ease cross-compilation and cross-debugging. 11:26:16 ais523, that seems quite useful 11:26:31 I've never got it to work, although I haven't really tried 11:26:41 just one quick try failed and I never bothered to look up the correct syntax 11:26:47 ais523, I know a friend who got it to work using static binaries 11:26:59 didn't work for dynamic without lots of weird tricks he said 11:27:55 hm anyone knows an emulator for lisp machines? 11:28:00 -!- oklofok has quit (kornbluth.freenode.net irc.freenode.net). 11:28:00 -!- sebbu has quit (kornbluth.freenode.net irc.freenode.net). 11:28:00 -!- comex has quit (kornbluth.freenode.net irc.freenode.net). 11:28:01 -!- lament has quit (kornbluth.freenode.net irc.freenode.net). 11:28:01 that would be kind of cool 11:28:08 AnMaster: what about a Lisp interp? 11:28:13 or does that not count? 11:28:40 ais523, well I assume a real lisp machine would have some extra commands like possibly something for shutting down and so on 11:28:50 ? 11:29:24 also what lisp dialect did the lisp machines use? 11:29:35 -!- oklofok has joined. 11:29:35 -!- sebbu has joined. 11:29:35 -!- comex has joined. 11:29:35 -!- lament has joined. 11:51:48 ais523, there still? 11:51:58 what do you call the L after #define FOO 19237L 11:51:59 yes, more or less, but not really paying attention 11:52:00 or whatever 11:52:11 hmm... I mentally pronounce it as the letter L 11:52:14 I'm not sure it has a name 11:52:24 probably it's something like type specifier 11:52:31 I'm trying to find it in C99 spec... 11:52:33 hm 11:53:11 6.7.2 Type specifiers 11:53:11 Syntax 11:53:11 1 type-specifier: 11:53:11 void 11:53:11 char 11:53:12 ... 11:53:14 nop 11:53:16 nope* 11:53:18 that is something else 11:53:31 Type suffix, or something. 11:53:35 Some sort of suffix it was. 11:53:46 Or maybe not. 11:54:22 "integer-suffix" is the name in the syntax part. 11:54:50 "An integer constant -- may have a prefix that specifies its base and a suffix that specifies its type." 11:54:59 ah found it too 11:55:21 6.4.4.1 11:59:06 Given those quotations, "type suffix" isn't the worst possible name, anyway. (Unless you want to explicitly refer to the integer constant suffix in 6.4.4.1 and not to the corresponding F/L suffixes for floating-point constants in 6.4.4.2.) 11:59:42 fizzie, I was actually looking for what the floating point ones were 11:59:52 so I probably wanted the generic name 11:59:57 oh btw in the char section: 12:00:01 "The value of an integer character constant containing more than one character (e.g., 'ab'), or containing a character or escape sequence that does not map to a single-byte execution character, is implementation-defined." 12:00:04 that seems very strange 12:00:39 AnMaster: for entering Unicode execution characters on an ASCII source character set 12:00:46 although they invented \u since, so it's probably moot now 12:01:08 still, say your program is written in EBCDIC and the execution set is ASCII, what should ¬ map to? 12:01:11 ais523, then one would use wchar_t not char 12:01:26 "implementation-defined" is at least a nice handwavy way to avoid the problem 12:01:51 ais523, well it means you can't depend on any specific behaviour 12:02:20 character-constant: 12:02:21 ' c-char-sequence ' 12:02:21 L' c-char-sequence ' 12:02:22 hm 12:02:24 what does the L mean? 12:02:33 I can't find that 12:02:38 yes, but if your source and execution character sets aren't the same, your implementation details probably matter 12:02:41 ah wait 12:02:43 found it 12:02:44 and L'' is for wchar_t constants, IIRC 12:02:48 right 12:03:25 There's a corresponding L"foo" for strings of wchar_t. 12:03:36 hm is there any library for floating point > long double? 12:03:44 such as 256 bit floating point or whatever 12:04:56 You could use some arbitrary-precision one, I think at least some of those have well-twiddleable settings. Maybe not as fast as a fixed K-bit floating-point lib. 12:05:25 fizzie, arbitrary-precision wouldn't be floating point would it? 12:05:42 rather based on fractions or something 12:06:06 GMP at least has functions for arbitrary-precision integers, rationals or floating-point (mpf*) values. 12:06:11 heh 12:06:22 does it have a constant for pi ;P 12:07:05 -!- puzzlet has quit (Read error: 104 (Connection reset by peer)). 12:07:10 -!- puzzlet has joined. 12:07:27 The mpf-floats have a fixed-size exponent ("2^-68719476768 to 2^68719476736" on a 32-bit system, something larger for 64-bit; it doesn't seem to be exactly the exponent) and arbitrary-precision mantissa. 12:07:47 mh 12:07:48 hm* 12:08:53 You can select the mantissa precision when initializing a variable; the mpf_* functions will truncate to the precision of the destination variable. 12:09:31 Although the precision is "at least x bits" and not "exactly x bits", but I don't think that usually matters much. 12:09:40 ais523, you should use the comma operator more in ick 12:09:47 would make the code more confusing 12:10:10 AnMaster: there's some of that in clc_cset.c, IIRC 12:10:17 ais523, hm ok 12:10:21 but that's one of the more confusing files of the lot, it even confuses me 12:10:22 and I wrote it 12:11:34 The GMP floats do lack infinities and NaNs, though. 12:12:05 ais523, hm clc-cset.c does have confusing indentation... 12:12:18 while(jsetlen*cs->shifts) 12:12:18 if((cs->set[j++]=(unsigned char)(c=ipf(in))),c==EOF && in != NULL) 12:12:18 {if(in) (void)fclose(in); return;} 12:12:19 like that 12:12:38 that indentation is not only confusing, it's correct 12:12:51 the while only has one statement as argument, so it's indented 2 to the right 12:13:02 hm? 12:13:03 and opening brace is on the same column as the if it applies to 12:13:13 ais523, there should be some newlines there 12:13:22 (clc-cset.c is possibly the only good argument I've seen for GNU-style indentation, by the way) 12:13:33 and yes, of course there shuold be, but that's missing the point 12:13:42 true 12:13:48 while(jsetlen*cs->shifts) 12:13:48 if((cs->set[j++]=(unsigned char)(c=ipf(in))),c==EOF && in != NULL) { 12:13:48 if(in) 12:13:48 (void)fclose(in); 12:13:48 return; 12:13:48 } 12:13:51 is much more readable 12:13:59 that looks ridiculous, though 12:14:04 ais523, it does? 12:14:06 admittedly, the original also looks ridiculous 12:14:12 anyway 12:14:17 it uses the comma operator 12:14:25 I'm not sure what the line if((cs->set[j++]=(unsigned char)(c=ipf(in))),c==EOF && in != NULL) does 12:14:30 neither am I 12:14:50 ais523, is that (c==EOF) && in or c==(EOF && in)? 12:15:02 what is the precedence order there 12:15:06 ((c==EOF) && (in != NULL)) 12:15:13 C precedence is not something I have problems with 12:15:15 ah right 12:15:31 although I find it's funnier and more confusing to overparenthesise than underparenthesise when I'm writing obfuscated C 12:15:38 ais523, well I use so many different languages that I end up not remembering precedence of any 12:16:01 C precedence is a subset of Perl precedence 12:16:06 which reduces the number by 1 12:16:10 well I don't know perl 12:16:25 && having higher precedence than == would be really freaky; I for one would not expect "a == 0 && b == 1", which is not uncommon, to be parsed like "a == (0 && b) == 1". 12:16:56 I can't remember offhand which way == associates, which would also be relevant there 12:17:08 the associativity of == is something I don't think has ever come up for me, even in obfuscated code 12:17:18 (I know which way = associates, that's much more common) 12:17:37 arguably, a == b == c should actually associate as (a == b) && (b == c), but that's a stretch 12:17:40 and I know it doesn't 12:18:05 oh and erlang got some really odd precedence issues, and/or have very high precedence (higher than ==), but the short-circuit variants andalso/orelse have low precedence (lowest of them all) 12:18:33 AnMaster: that is strange 12:18:40 Perl has two and/or operators 12:18:41 ais523, http://rafb.net/p/Chsqmt44.html 12:18:47 && has the same precedence as in C 12:18:53 whereas and is very very low precedence 12:18:57 lower even than , 12:19:05 and = 12:19:19 it's used as a substitute if statement, normally 12:19:26 There was something really silly in C operator precedences, though. Was it so that & has a lower precedence than == -- so that you need "(a & 1) == 1" for masking, since "a & 1 == 1" would be "a & (1 == 1)" -- because back in the dawn of C the && operator didn't exist yet. 12:19:47 fizzie: yep, that's it 12:19:52 haha 12:20:06 and & is still usable for logical and if you have a comparison on both sides 12:20:15 you just have to remember it doesn't short-circuit so probably is less efficient 12:20:42 (incidentally, gcc compiles (a == b) & (c == d) to appropriate arithmetic code involving the status word, if that's expressible on the target platform) 12:21:01 if((padstyle==1&&(i==1||i==9) && !(outword&(1<<(co->nbytes*8-i)))) || (padstyle==2&&(rand()>RAND_MAX/2||!outword))) 12:21:04 err 12:21:05 wtf? 12:21:10 paste issue 12:21:12 lets try again 12:21:21 if((padstyle==1&&(i==1||i==9) && !(outword&(1<<(co->nbytes*8-i)))) || 12:21:21 (padstyle==2&&(rand()>RAND_MAX/2||!outword))) 12:21:22 there 12:21:27 weird indentation 12:21:41 or possibly broken mixing of tab and space 12:21:46 You probably should look at it with an 8-space tab. 12:21:59 fizzie, well that is broken IMO. 12:22:09 Broken, but not weird. 12:22:41 else outword |= (unsigned short)((val>>(co->bitorder[i]-'a'))&1) 12:22:41 << (co->nbytes*8-i-1); 12:22:43 hm 12:22:51 well apart from indentation 12:22:59 not using a newline after else is strange too 12:23:10 at least when the statement is multi-line 12:23:24 All that reminds me of Nethack sources. Especially since it involves rand. 12:23:40 fizzie, yes indeed 12:23:44 no idea why it does 12:23:54 static void ick_bitencout(char** pop, const struct cset* co, 12:23:54 unsigned short val, int padstyle) 12:23:57 is the function it is from 12:24:06 no idea why that needs rand() 12:24:22 ais523, can you explain that? 12:24:28 Only for padstyle==2, though. 12:24:36 fizzie, well yes 12:24:39 whatever that one is 12:24:49 magic numbers... 12:25:11 AnMaster: it's for random padding of the high bits of characters 12:25:21 ais523, err what? 12:25:22 if, say, you have a 7-bit character set like ASCII 12:25:28 and you're trying to store it on an 8-bit system 12:25:31 you have one free bit 12:25:37 C-INTERCAL lets you choose what to do with that bit 12:25:38 then all first would be 0 wouldn't they? 12:25:50 AnMaster: you have three choices: pad with 0, pad to printable, pad with random 12:25:59 pad to printable is particularly useful on 5-bit character sets 12:26:00 ais523, it would make sense to have "no padding" 12:26:17 as in "store the bits packed" 12:26:18 AnMaster: nobody stores ASCII packed 8 chars to 7 bytes 12:26:27 ais523, well NOT YET 12:26:32 you could do it 12:26:36 because no one else did 12:26:36 although that as another option would be interesting 12:26:56 and something like that will probably be needed if/when I add support for UTF-9 12:26:58 compression 12:27:20 ais523, wouldn't you store it padded in 16 bits? 12:27:21 There's no "pad to even/odd parity" option? :p 12:27:31 anyway, the randomly padded thing is needed 12:27:31 fizzie, hah that would be nice too 12:27:35 for certain things 12:27:40 fizzie: no, but only because I didn't think of it 12:27:44 really? what needs random padding? 12:27:44 of course that one's necessary 12:27:53 AnMaster: it's in the CLC-INTERCAL spec for something, IIC 12:27:55 *IIRC 12:28:02 although I think that was binary data 12:28:10 ais523, how would it be able to detect *random* padding 12:28:12 which is padded from 8 bits to 16 bits for no apparent reason 12:28:16 there is no way you can verify it 12:28:28 AnMaster: it doesn't at the moment, but threatens the possibility of randomness checks in the future 12:28:39 ais523, that is impossible 12:28:40 besides, the other way round, compiler-generated randomness, can be checked mycorand-style 12:28:44 AnMaster: usually impossible 12:28:58 to quote Dillbert: 99999.... 12:29:02 but programs failing to work at random, or scamming the randomness checks, would both be very in-the-spirit-of-INTERCAL 12:29:52 ais523, yes sure but you could potentially have to run mycorand for a lot of iterations 12:30:04 more than can be found in the file 12:30:31 AnMaster: checking the compiler you can generate as many test-cases as you like 12:31:17 true, but isn't the random padding for files, where the receiver won't have the original generating program? 12:31:35 the random padding's for I/O 12:31:58 and anyway, the spec for binary CLC-INTERCAL I/O (which I haven't yet implemented) requires data to be padded from 8 bits to 16 bits at random 12:32:01 for no apparent reason 12:32:02 ais523, oh? this file isn't used by convickt? 12:32:18 I decided to add a random-padding option to the Baudot conversion too 12:32:22 and then ASCII because I might as well 12:32:28 on the basis that it makes it harder to read 12:32:45 and if you're using Baudot in the first place, probably unreadability is your goal 12:33:14 ais523, or backward compatibility 12:33:26 very backward compatibility 12:33:30 yes 12:33:32 given that Baudot was invented before computers were 12:33:43 it's a 19th century character set 12:34:23 ais523, using letters at all is very backward compatible, considering the Romans (mostly) invented the current charset we use today 12:34:38 they didn't encode them as numbers, though 12:34:41 well, not directly 12:34:49 they had Polybius' Checkerboard 12:34:51 well indeed, they did the other way around 12:34:53 although that was a Greek invention 12:35:02 ais523, what is this polybius thing? 12:35:18 AnMaster: basically, write the alphabet in a rectangular matrix, give letters by giving the row and column 12:35:31 it was apparently used to send messages long-distance 12:35:32 ok, and what did they use it for? 12:35:39 by raising a set number of torches 12:35:43 or something similar 12:35:44 heh 12:35:51 early telegraph? 12:35:54 more or less 12:35:59 but for military purposes 12:36:05 and with much shorter messages 12:36:07 you should support it in convickt! 12:36:15 convickt's extensible 12:36:22 although the file format confuses me 12:36:29 and again, I created it 12:36:32 err 12:36:34 wtf is this: 12:36:36 ick_cset_recent[ic].nbytes || (ick_clc_cset_load(ick_cset_recent+ic,incset),0); 12:36:36 ick_cset_recent[oc].nbytes || (ick_clc_cset_load(ick_cset_recent+oc,outcset),0); 12:36:51 it's pretty simple 12:36:58 it's a standard Perl idiom translated to C 12:37:02 only it makes sense in Perl 12:37:11 think short-circuit evaluation 12:37:21 well what does variable || (functioncall(),0) 12:37:22 do? 12:37:25 and the ,0 is to avoid having a void expression on the right hand side of ||, which is legal in Perl but wrong in C 12:37:29 which is what it seems to be 12:37:36 it's equivalent to if(!variable) functioncall() 12:37:43 oh my 12:37:54 in Perl, that's idiomatically written "variable or functioncall();" 12:38:03 because Perl doesn't have single-statement ifs 12:38:11 yes right foo || bar in shell 12:38:12 but short-circuiting is standard 12:38:35 (void)(oc==-1 && (ick_cset_recent[oc=ick_csetow++].nbytes=0)); <-- that is another nasty variant of it 12:38:54 why don't you use that paradigm for this then: 12:38:56 if(ic==-1) for(i=NCSETRECENT;i--;) if(!ick_cset_recent[i].nbytes) ic=i; 12:39:08 the last two statements could be re-done that way 12:39:10 I think 12:39:36 if(!ick_cset_recent[i].nbytes) ic=i; would be ick_cset_recent[i].nbytes || ic=i; 12:39:38 I think? 12:40:04 yes, it would be 12:40:10 except you need parens due to precedence 12:40:17 well ok 12:40:24 and a cast to void because otherwise gcc doesn't believe you really meant that 12:40:58 I can understand gcc's opinion there! 12:43:16 char setname[9]; /* 8.3 filenames are enforced! */ 12:43:18 ais523, wtf? 12:43:27 AnMaster: the extension is fixed 12:43:32 so that's 8 bytes plus the terminating NUL 12:43:35 err 12:43:37 and those are internal-use filenames 12:43:41 why only 8? 12:43:53 why can't you allow full length *nix style 12:43:56 AnMaster: because the 8.3 filename is a running joke amongst DOS/Windows users 12:44:07 hm? 12:44:19 I'm pretty sure it is no longer needed on windows 12:44:22 it isn't 12:44:38 but clc-cset is all about insane compatibility dating back centuries 12:44:44 even assuming the existence of files is a stretch 12:44:50 or directories 12:44:54 DOS 1 didn't have directories, for instance 12:45:36 hah 12:47:17 _PC_NAME_MAX 12:47:17 returns the maximum length of a filename in the directory path or fd that the process is allowed to create. The corresponding macro is _POSIX_NAME_MAX. 12:47:27 on my /home (ext3) this seems to be 255 12:47:40 strange 12:47:46 thought it would be much longer 12:50:17 Path names are indeed surprisingly short. 12:54:13 hm interesting issue 12:54:20 considering the comma operator 12:54:24 shouldn't this be valid: 12:54:29 int x, int y; 12:54:31 :D 12:54:39 int x isn't an expression 12:54:43 ok 12:54:49 int x=3, int y=4; 12:54:50 (my x), (my y); is indeed valid Perl, I think 12:54:59 although arguably it shouldn't be 12:55:16 You're missing them $s. 12:55:20 oh, yes 12:55:33 well, x and y were functions returning symbolic references, just so that they could correct my mistake 12:55:36 well 12:55:43 there's some debate about 0 and (my $x); 12:55:45 I meant C 12:55:46 ... 12:56:01 I think that it was officially ruled that people shouldn't depend on any particular value of $x if they do that 12:56:04 1 expression: 12:56:04 assignment-expression 12:56:04 expression , assignment-expression 12:56:07 hm 12:56:09 so 12:56:14 And "int x=3, int y=4;" is not syntactic either; those aren't assignment-expressions there. 12:56:33 hm.... 12:57:01 put it this way: int x=2, y=3 is not equivalent to int x=(2,(y=3)) 12:57:17 ais523, indeed 12:57:23 the former is pretty normal syntax 12:57:32 and the second is insane 12:57:35 yes 12:57:46 what exactly is the result of the second? 12:57:56 x == 3? and y == 3? 12:58:00 it assigns 3 to a new auto variable called x 12:58:04 and 3 to an existing variable called y 12:58:11 which is presumably in an outer scope 12:58:14 "If an attempt is made to modify the result of a comma operator or to access it after the next sequence point, the behavior is undefined." 12:58:24 I'm not sure it does due to that 12:58:30 it doesn't violate that rule 12:58:35 hm ok 12:58:42 that what does that rule mean? 12:58:43 that's disallowing things like (2, y) = 3 12:58:49 ah right 12:58:51 "int x=3;" is an instance of the 'declaration' syntax; It's something like (declaration (declaration-specifiers (type-specifier "int")) (init-declarator-list (init-declarator (declarator "x") "=" (initializer "3"))))))))))))))))))))))))))) in tree form. 12:58:52 which make no sense in any language, really, except Perl 12:58:57 (Didn't bother counting the )s.) 12:59:13 in Perl, that's equivalent to y=3 12:59:21 Perl is quite good at assigning meanings to otherwise meaningless expressions 12:59:33 hah 12:59:35 hmm... maybe it isn't, actually 12:59:41 you might have to write scalar (2, y) = 3 12:59:45 to get the right sort of comma operator 12:59:58 ais523, I much prefer a language with a consistent and sane syntax, and C isn't one of them. Perl certainly isn't 13:00:36 scheme definitely is if you disregard those non-clean macros 13:01:12 -!- Corun has quit ("This computer has gone to sleep"). 13:01:14 It's easy to have a consistent and sane syntax if you have so little of it, like Scheme has. 13:01:26 on the other hand, scheme doesn't have a portable rand() afaik 13:01:43 I don't know clisp 13:01:58 it may be better 13:02:37 fizzie, and yes not having much syntax helps a lot 13:05:27 Still, my written-in-Prolog Scheme syntax parser is a whopping 335 lines. 13:05:52 that's just because good-style Prolog is inherently very vertical 13:06:08 It's not very good-style. :p 13:06:13 Most of it is about numbers, anyway. 13:06:14 although using \+ and ; and -> a lot makes it less readable but shorter 13:07:38 There's the exact/inexact prefixes, radix prefixes, and complex numbers to care about. 13:08:24 numbers always seem hacked into Prolog 13:08:29 it would be much more elegant without them 13:08:34 you could use list lengths instead, or something 13:08:41 and get round all the random restrictions on numbers that exist 13:09:12 I think I converted the Scheme constants into SWI-Prolog numbers, and used the inelegant operations. 13:09:48 Or, hmm. Actually not. 13:10:06 I seem to have implemented some sort of auto-normalized rationals there. 13:11:25 But no bignums. :/ 13:11:33 Well, it was just a course programming exercise. 13:18:23 fizzie, I would like to see it 13:18:41 also any good online prolog tutorial? 13:19:01 and what open source prolog implementation would you recommend? 13:19:13 I'd recommend gprolog, mostly because I'm used to it 13:19:19 and it even attempts to implement some sort of standard library 13:19:26 Description: GNU Prolog is a native Prolog compiler with constraint solving over finite domains (FD) 13:19:27 hm? 13:19:28 above what ISO guarantees, which isn't a lot 13:19:32 what about debugging prolog? 13:19:34 AnMaster: you can ignore the FD stuff 13:19:38 and it has a good debugger 13:19:43 right 13:19:43 it's both a compiler and an interpreter 13:19:47 both together, in fact 13:20:00 if you run a null program through the compiler, you get the interpreter 13:20:04 hah 13:20:18 ok, so what about tutorial? 13:21:03 I learnt Prolog from RL books 13:21:09 which in retrospect weren't all that useful 13:21:20 use amd64 && append-flags -fno-tree-dce 13:21:21 wtf 13:21:31 it fails with dead code elimination on amd64? 13:21:37 that was from the ebuild 13:22:07 Well, I've used SWI-prolog exclusively. 13:22:26 It's not bad, but I'm unqualified to judge very well. 13:22:58 And I learnt prolog from (a) "The Art of Prolog" book and (b) the SWI-prolog manual (the details; it's very much not a tutorial). 13:23:10 hm 13:23:47 I'm not sure how portable this plscheme thing is. It uses SWI-Prolog's module system thing, at least. 13:24:14 h 13:24:15 hm* 13:24:25 fizzie: I agree with reading the manual for details once you've learnt the basics, but not before 13:24:41 so what about learning the basics? 13:24:46 online resource that is 13:26:14 http://www.csupomona.edu/~jrfisher/www/prolog_tutorial/contents.html was the "Missing course book? Try an online tutorial to Prolog." link. 13:26:24 I don't think I've looked it at all, so caveat IRC-or. 13:32:36 hm 13:32:37 thanks 13:51:16 -!- Corun has joined. 14:07:31 -!- metazilla has quit (Read error: 54 (Connection reset by peer)). 14:08:07 -!- moozilla has joined. 14:11:52 -!- moozilla has quit (Read error: 54 (Connection reset by peer)). 14:11:56 -!- moozilla has joined. 14:12:49 -!- moozilla has quit (Read error: 104 (Connection reset by peer)). 14:12:56 -!- moozilla has joined. 14:18:32 -!- metazilla has joined. 14:18:38 -!- moozilla has quit (Nick collision from services.). 14:18:42 -!- metazilla has changed nick to moozilla. 14:21:42 -!- metazilla has joined. 14:21:42 -!- moozilla has quit (Read error: 54 (Connection reset by peer)). 14:21:50 -!- metazilla has changed nick to moozilla. 14:31:13 -!- moozilla has quit (Read error: 54 (Connection reset by peer)). 14:31:16 -!- moozilla has joined. 14:33:57 -!- metazilla has joined. 14:33:57 -!- moozilla has quit (Read error: 104 (Connection reset by peer)). 14:34:03 -!- metazilla has changed nick to moozilla. 14:34:06 -!- jix has joined. 14:40:34 ais523, did you check all the patches or? 14:40:49 more or less 14:41:01 ok 14:41:11 haven't checked the build in detail 14:41:13 -!- Mony has joined. 14:41:17 I've checked source, but I want to check the executable too 14:41:25 well of course 14:42:45 yello 14:43:53 yello? 14:43:55 jello? 14:44:05 or maybe jelly= 14:44:06 ? 14:46:01 -!- metazilla has joined. 14:46:06 -!- moozilla has quit (Read error: 54 (Connection reset by peer)). 14:46:10 -!- metazilla has changed nick to moozilla. 14:47:44 it's like hello ^^ 14:47:58 hm. 14:48:04 does valgrind work on os x yet 14:48:41 -!- metazilla has joined. 14:48:45 -!- moozilla has quit (Read error: 104 (Connection reset by peer)). 14:48:50 -!- metazilla has changed nick to moozilla. 14:49:57 ehird, some tools do iirc 14:50:01 but not all 14:50:16 same for ppc 14:50:42 ah no it doesn't 14:51:07 ehird, iirc xcode is bundled with some tool to check for "object leaks" or such 14:51:12 better than nothing 14:51:17 * ehird wonders if #define S(x) ((string_t){strlen(x),x}) is sane. 14:51:27 Well, it'd probably not go in a constant section. 14:51:31 ehird, what is the type of string_t? 14:51:33 That's kind of bad. 14:51:34 AnMaster: struct. 14:51:45 also indeed it wouldn't I bet 14:52:04 Mmph. 14:52:13 ? 14:52:30 ehird, it is a nice idea though 14:52:51 There's a gcc-specific hack to put things in the constant section I think, but, uh, it's a gcc-specific hack. 14:53:18 well yes being gcc specific is part of the definition of being a gcc specific hack 14:53:36 so that makes sense, it would ineed be specific to gcc 14:54:17 ehird, is OS X on intel 32-bit or 64-bit? 14:54:47 AnMaster: it's kind of complicated. This is a 64-bit machine, but the programs I run are 32-bit, I don't know about the kernel. 14:54:48 However. 14:54:57 Apparently 10.5 (which I don't have) is 100% 64-bit. 14:55:05 can you run 64-bit programs on 10.4? 14:55:10 Yes, I believe so. 14:55:13 hm 14:55:20 I could try if you want. 14:55:21 interesting mixed userland then 14:55:45 ehird, -m64 to gcc I believe 14:55:55 at least that is what is needed on multilib gcc here 14:56:01 not sure for darwin 14:56:05 Holy fuck, 189% of my CPU is being used. 14:56:09 (Dual core :P) 14:56:14 Okay, what's using it... 14:56:17 Um... prl_disp_service. 14:56:19 Process ID 302. 14:56:24 wat 14:56:27 prl_disp_service? 14:56:35 perl display service? 14:56:37 Oh. prl_disp_service is something to do with Parallels. 14:56:41 ah 14:56:43 * ehird kills it. 14:56:58 lol, I didn't notice 180% of my CPU disappearing 14:57:09 err 14:57:17 189% is rounded to 190% 14:57:26 I forgot the exact number by that line. 14:57:40 But the only reason I noticed it is I started activity monitor to see if it had anything 64-bit related. 14:57:47 AnMaster: got a test program that prints out if it's 64-bit? 14:57:48 ha 14:57:56 err that is kind of hard 14:58:01 well 14:58:09 #include 14:58:36 int main(void) { printf("%zu\n", sizeof(char*)); return 0; } 14:58:41 what about that? 14:58:44 I'll try it. 14:58:47 if 64-bit it should print 8 14:59:16 [ehird:~] % gcc -m64 64bit.c -o 64bit 14:59:16 [ehird:~] % ./64bit 14:59:18 8 14:59:20 [ehird:~] % gcc 64bit.c -o 64bit 14:59:22 [ehird:~] % ./64bit 14:59:24 4 14:59:30 interesting 14:59:34 so 32-bit is default? 14:59:36 mhm 14:59:54 AnMaster: I imagine it's because all the system libs are presumably 32-bit. 15:00:12 So 64-bit wouldn't be very useful, generally. 15:00:13 ehird, well I assume there is a 64-bit libc, or that program wouldn't have worked 15:00:20 True, but what about the OS X apis? 15:00:33 Hm, what's that program that prints out the libs a binary uses? 15:00:36 oh you mean the super sized coca.h? 15:00:40 or whatever the name is 15:01:00 AnMaster: CoreFoundation, Cocoa, and all the 500 million other libs. 15:01:07 QuickTime, .. 15:01:14 #include 15:01:19 int main(void) { return 0; } 15:01:21 I don't think that works. 15:01:23 gcc -E file.c 15:01:29 check the size of the result 15:01:29 :D 15:01:35 ehird, oh? 15:01:38 For one, all OS X headers use CamelCase.h 15:01:43 Two, Cocoa is an objective-c library 15:01:46 ah hm 15:01:57 #include might work. 15:02:00 Or was it Foundation.h? 15:02:01 Let's see. 15:02:01 ehird, so what about C and C++ programs that want to use GUI? 15:02:24 AnMaster: Generally, they shouldn't. Objective-C is a strict superset of C. But they can use Carbon. 15:02:41 Carbon has fewer high-level widgets than Cocoa, though, and it's generally fading away. 15:02:41 err carbon is kind of outdated isn't it? 15:02:48 AnMaster: Finder is written in Carbon. 15:02:52 really? 15:02:53 still 15:02:54 strange 15:02:55 ((Although it probably shouldn't be.)) 15:03:01 AnMaster: carbon isn't outdated 15:03:04 just a bit neglected 15:03:10 ehird, carbon was around at OS 9.... 15:03:20 Not strictly true. 15:03:31 -!- metazilla has joined. 15:03:32 Carbon is an evolution of the API that was there in OS 9. 15:03:33 ehird, really? 15:03:38 -!- moozilla has quit (Nick collision from services.). 15:03:40 -!- metazilla has changed nick to moozilla. 15:03:41 But the implementation is all new, I think. 15:03:45 err there was a Carbon file in /System/Extensions 15:03:48 err 15:03:53 Was there? OK then 15:03:57 Macintosh HD:System:Extensions 15:03:58 even 15:03:59 :D 15:04:06 OS X is a rather bizarre system. 15:04:18 ehird, nothing compared to pre-OS X 15:04:20 From the start, the kernel is the lovechild of BSD and Mach. 15:05:06 mh 15:05:29 * ehird tries to found Foundation.h 15:05:38 ehird, isn't : invalid in paths on OS X still? 15:05:42 filenames 15:05:52 -!- metazilla has joined. 15:05:55 AnMaster: Yeah, you can use them/ 15:05:57 in paths 15:05:59 -!- moozilla has quit (Nick collision from services.). 15:06:00 indeed 15:06:03 -!- metazilla has changed nick to moozilla. 15:06:18 that is due to that they were used for path component separator back on pre-OSX 15:06:38 iTunes reports filenames with : paths in its info dialog for tracks. 15:06:42 I don't think anything else does, though. 15:07:00 I think that OS 9 was possibly the only system I used that allowed / in a directory name 15:07:14 Can't do that in OS X for obvious reasons :P 15:07:44 AnMaster: Well, you can. 15:07:45 well true 15:07:47 I just saved a file as a/b.txt 15:07:48 oh? 15:07:51 BUT 15:07:58 % ls a:b.txt 15:07:58 a:b.txt 15:08:04 err 15:08:05 what? 15:08:10 now you totally confused me 15:08:10 In each interface, it displays the character as the one that isn't forbidden. 15:08:14 Crazy, I know. 15:08:15 haha 15:08:21 oh yes crazy indeed 15:08:35 ehird, I thought both were forbidden everywhere? 15:08:36 and % touch foo:bar.txt gives foo/bar.txt in finder, similarly 15:08:41 AnMaster: seems not 15:08:47 wtf 15:08:53 : is forbidden in OS X-land, / is forbidden in unix-land 15:08:54 ehird, what char is it internally? 15:09:03 Probably /. 15:09:09 really? 15:09:11 hm 15:09:22 well I guess that would work better for HFS 15:09:30 HFS+, actually. 15:09:33 well yah 15:09:36 yeah* 15:09:40 I don't know what the + means apart from perhaps "okay, it's slightly more tolerable now" 15:09:46 even MacOS 8 had had HFS+ 15:10:02 ehird, it is the difference between FAT16 and FAT32 basically iirc 15:10:12 large disk issues with plain HFS 15:10:16 Now now, I'd say HFS+ is far superior to fat32. :P 15:10:31 ehird, yes and HFS far superior to fat16 15:10:55 but I mean the 32/+ were both basically created to solve the same issue 15:11:00 % echo '#include ' | cpp -I/System/Library/Frameworks/Carbon.framework/Versions/A/Headers|wc -l 15:11:04 (snip some misc errors from headers) 15:11:06 174516 15:11:13 It's rather... complete. 15:11:15 ehird, that's pretty massive 15:11:42 the differences between HFS and HFS+ are larger than between FAT16 and FAT32 iirc 15:11:52 I think HFS didn't use a b-tree, but HFS+ does 15:11:55 yeah, HFS+ behaves much like a regular unix fs day-to-day 15:12:00 apart from the case insensitive thing, which I like 15:12:01 I don't remember the details 15:12:05 -!- scriptdevil has joined. 15:12:14 ehird, I have no clue how they managed to stick permissions into HFS+ 15:12:20 Oh wtf, i'm still on reddit's frontpage. 15:12:20 is it possible to set the current cell to 0 in brainfuck? 15:12:21 without breaking classic mac os 15:12:24 That's just ridiculous. 15:12:25 scriptdevil: [-] 15:12:28 or [+] 15:12:41 yes common idiom 15:13:12 ehird: Oh.. Common sense.. I am new to brainfuck. :P 15:13:16 :-) 15:13:23 Common sense is pretty bad in here! 15:13:27 ehird, ah no hm: "Like HFS, HFS Plus uses B*-trees to store most volume metadata." 15:13:31 (from wikipedia) 15:14:07 ehird, the second paragraph on http://en.wikipedia.org/wiki/HFS_Plus describes the differences pretty well 15:14:23 ugh, mac os roman 15:14:26 i think i died 15:14:29 ehird, what? 15:14:39 awful character set 15:14:39 it was another charset 15:15:00 ehird, yes it messed up for us Swedes, iirc åäö mapping differed from everyone else 15:15:05 ha 15:16:30 Jeez, the 'not programming' guys is still the top comment. 15:16:39 Guy got 338 points for it. 15:20:02 ehird, those *.dmg files, how does one open them on non-OSX? 15:20:09 such as on linux 15:20:20 AnMaster: that would be difficult. A dmg is a disk image containing an HFS+ filesystem. 15:20:33 (Why it's used for distributing applications is a rather long story.) 15:20:42 ehird, well linux supports reading hfs+ 15:20:54 http://baghira.sourceforge.net/dmg.htm ? 15:20:56 the issue is it isn't just a dump, it seems to have some compression 15:21:02 Just use mount. 15:21:02 hm *looks* 15:22:03 ehird, that doesn't work for compressed *.dmg 15:22:16 At some point, some part of OS X had a habit of using Unicode combining characters in filenames; the file "bläh" would've been "bla\u0308h". 15:22:21 http://www.google.com/search?hl=en&q=compressed+dmg+linux&btnG=Search <- hm. 15:22:35 AnMaster: I think you're fecked. 15:22:43 ehird, closed format? 15:22:52 AnMaster: Don't think so, I just think there aren't any tools from the looks of it. 15:22:53 AnMaster: If you send me the dmg I can open it for you. 15:23:18 ehird, I don't have one now, but I had one just last week and all this OS X talk reminded me of that 15:23:24 -!- moozilla has quit (Read error: 104 (Connection reset by peer)). 15:23:27 -!- metazilla has joined. 15:23:28 http://vu1tur.eu.org/tools/ ths might work 15:23:31 it says compressed 15:23:32 and has source code 15:23:34 I was unable to find a tool then so I thought now "would be useful for the future" 15:23:39 * AnMaster looks 15:23:55 an 1 in the url? 15:24:12 Yes. 15:24:22 You weird person and your non-clickable lnks. 15:24:24 links 15:24:32 no 15:24:41 just it gives the classical AOL feeling 15:24:44 ;P 15:24:58 Tell that to ais523 :P 15:25:14 ehird, well in ais523 they aren't replacing letters 15:25:31 but if I changed my nick to 4nM4ster or such 15:25:34 it would be that bad 15:25:49 actually s -> 5 iirc 15:26:08 Tell that to w1n5t0n, then, whose name is so irritating that he doesn't even refer to himself by it. 15:26:11 -!- moozilla has joined. 15:26:19 Which, in fact, implies you have a point. 15:26:29 heh 15:26:30 -!- metazilla has quit (Read error: 104 (Connection reset by peer)). 15:26:30 -!- moozilla has changed nick to metazilla. 15:26:45 ehird, also I never seen this "w1n5t0n" 15:27:04 so I couldn't tell him since I don't know where to find him 15:27:06 He plays Agora & B Nomic. 15:27:06 :P 15:27:09 ah 15:30:33 ehird, hm from looking at the source code it seems to be compressed with libz 15:30:38 with some strange header 15:30:48 huh. 15:31:49 Hm. 15:32:05 -!- scriptdevil has left (?). 15:34:13 ehird, yeah a header called "plist" it seems 15:34:18 Oh, plist. 15:34:22 what? 15:34:23 http://en.wikipedia.org/wiki/Property_list 15:34:54 Although unless it's XML or the plaintext format, I doubt it's the same plist. 15:35:54 err 15:35:56 "Since XML files, however, are not the most space-efficient means of storage, version 10.2 introduced a new format where property list files are stored as binary files. Starting with version 10.4, this is the default format for preference files." 15:37:06 Ah. 15:37:09 That'd be it then. 15:37:12 anyway 15:37:15 I don't know 15:37:21 the parsing is rather strange 15:38:19 ehird, it is the xml variant 15:38:33 x.x 15:38:35 since it checks that it begins with the string in plist_begin 15:38:35 In a binary disk image? 15:38:36 and 15:38:37 const char plist_begin[]=""; 15:38:41 My lord. 15:39:22 ehird, it doesn't actually parse xml, it seems to check that it "looks like plist, go to pre-computed offset for value we want, read it" 15:39:28 ha 15:39:29 quite a horrible way to parse xml 15:39:44 are there any non horrible ways 15:39:51 if (!strstr(plist, plist_begin) || 15:39:52 !strstr(&plist[pl_size-20], plist_end)) { 15:39:52 printf("ERROR: Property list is corrupted.\n"); 15:39:52 exit(-1); 15:39:52 } 15:39:57 that is one of the worst ones 15:39:57 hahaha 15:40:35 ehird, also lucky that the source code is short, because it is not well commented 15:40:52 You'd hate my code. 15:40:52 s/lucky/luckily/ 15:41:01 I have like 1 comment per 100 lines. 15:41:21 ehird, 2 / 300 in this case I believe 15:41:24 + copyright header 15:41:55 1/100 is when I'm actually trying to comment. Normally it'd be more like 3 comments per 1000 lines... 15:42:08 But I try to make up for that by having the code simple enough to read. 15:42:14 well 15:42:18 this code isn't simple to read 15:42:24 parts = (char**)realloc(parts, partnum*sizeof(char*)); 15:42:24 partlen = (unsigned int *)realloc(partlen, partnum*sizeof(int)); 15:42:24 if (!parts || !partlen) mem_overflow(); 15:42:24 parts[i] = (char*)malloc(data_size+1); 15:42:24 if (!parts[i]) mem_overflow(); 15:42:27 is just an example 15:42:42 That sounds like it could do with being put into a function. 15:42:45 no clue what is up with "mixed tab/space for same level" indention 15:43:01 ehird, oh yes everything so far is in main() it seems 15:43:11 yep 15:43:14 I'm going to try and compile cfunge with 64 bit because I hate myslf. 15:43:41 Woo, macports has 1.10. I don't have to manually compile bzr. 15:43:44 ehird, mkdir build && cd build && CC=gcc CFLAGS='-m64' cmake .. 15:43:49 something like that 15:43:53 would probably work 15:43:59 assuming cmake is in path 15:44:00 AnMaster: Does that include the SUPAH OPTIMIZED crap? :P 15:44:01 then make after 15:44:13 ehird, not really extra optimised no 15:44:30 if you want that answer these questions three 15:44:36 What is your -march? 15:44:50 What is your favorite colour? 15:45:00 1. ¯\(°_o)/¯ the CPU is intel core 2 duo, fwiw 15:45:04 What is the air speed velocity of a macbook? 15:45:07 2. octarine 15:45:20 3. macbook air? Infinite :P 15:45:33 ehird, I don't know what the -march is for core2 15:45:41 nor does my gcc man page mention it 15:45:45 too old gcc I believe 15:45:50 To the googlemobile -> 15:46:15 -!- metazilla has quit (Read error: 104 (Connection reset by peer)). 15:46:21 -!- moozilla has joined. 15:46:29 Hmm, nothing here i think. 15:46:35 Nor in man gcc. 15:47:31 where's the full list of marches 15:47:33 well on gcc 4.3 at least: CFLAGS="-march=core2 -m64 -O3 -pipe" cmake -DCMAKE_BUILD_TYPE:STRING=Release .. 15:47:37 ? 15:47:43 ehird, man gcc in my case 15:47:44 ? 15:47:45 AnMaster: -FUNROLL-LOOPS :D 15:47:50 (no, I'm not that crazy.) 15:47:58 Ha, what about the batshit insane flags you use for profiling? 15:47:58 ehird, benchmark show no benefit from it 15:47:59 however 15:47:59 Are they stable? 15:48:14 ehird, for profiling I don't use cmake, I use -combine and -fwhole-program 15:48:15 and such 15:48:28 AnMaster: I remember you pasting a shell script with the most insane optimization flags I ever saw. 15:48:34 Something like unsafe-loops. 15:48:36 yes I know that script 15:48:39 oh yes that too 15:49:01 -!- metazilla has joined. 15:49:03 anyway: on gcc 4.3 at least: CFLAGS="-march=core2 -m64 -O3 -pipe" cmake -DCMAKE_BUILD_TYPE:STRING=Release -DUSE_GC:BOOL=OFF .. 15:49:08 -!- moozilla has quit (Nick collision from services.). 15:49:10 -!- metazilla has changed nick to moozilla. 15:49:22 ehird, gcc 4.2 doesn't seem to support core2 15:49:32 no idea what one you have 15:49:34 % gcc --version 15:49:35 i686-apple-darwin8-gcc-4.0.1 (GCC) 4.0.1 (Apple Computer, Inc. build 5363) 15:49:41 oldskool 15:49:41 no core2 support there 15:49:46 -!- KingOfKarlsruhe has joined. 15:49:49 so I don't know what is best for it 15:49:55 when it comes to -march 15:49:58 I could try compiling my own gcc. 15:50:06 except I'm not sure I hate myself enough 15:50:19 ehird, well you might want that for other reasons, like llvm-gcc 15:50:31 which is 4.2.1 iirc 15:50:33 why would you use llvm with gcc 15:50:34 instead of clang 15:50:41 ehird, because clang isn't ready yet 15:50:50 nor is llvm :P 15:50:53 it fails with "can't codegen this thing yet" when building cfunge 15:50:54 for example 15:51:12 llvm is unfortunately not as generic as it seems to want to be 15:51:22 true it is too mac specific it seems 15:51:29 er what 15:51:30 bad influence from apple no doubt ;P 15:51:33 I was meaning more, 15:51:38 it's still imperative-centric 15:51:42 ehird, apple sponsor llvm and help develop it 15:51:44 ah right 15:51:46 I don't think it will ever be useful for building functional languages, for instance 15:51:46 that is true 15:51:54 ocaml-llvm 15:51:59 pretty sure I read about it 15:52:13 I want my damn functional CPU 15:52:22 ehird, single assignment? 15:52:24 so do I, but I have no idea how to make one 15:52:28 AnMaster: Yes! 15:52:33 ais523: there's some research regarding them 15:52:46 it's pretty hard to efficiently embed the lambda calculus in the real world :-) 15:53:05 AnMaster: what're your crazy profiling cflags? 15:54:14 * ehird downloads gcc 15:54:17 56MB? It's grown. 15:54:17 http://rafb.net/p/inBv8T82.html 15:54:46 AnMaster: so that's the fastest cfunge you could ever possibly get? XD 15:55:00 ehird, not sure, on intel cpus using icc may be better 15:55:01 I am so tempted to link to http://funroll-loops.info/ here. Oh wait I just did 15:55:05 at least it was on a pentium3 15:55:07 I tried with 15:55:28 ehird, as you will notice it says -march=k8, which means amd64 15:55:38 as in AMD's product 15:55:50 with a different setup other flags may be better 15:56:11 Okay, time to build gcc :x 15:56:14 also I haven't done any sort of exhaustive search of the cflags space 15:56:19 ehird, good luck with that 15:56:31 ehird, it may need special steps on OS X 15:56:34 AnMaster: I will not rest until cfunge runs mycology in minus 1ms 15:57:27 * ehird tries to figure out how to make gcc just build a c compiler 15:58:02 ehird: the setting's in gcc-bf's build script somewhere 15:58:12 ais523: NO :-P 15:58:16 ehird, very funny, on my system it takes around 0.035 s 15:58:17 I think i will google it instead 15:58:27 AnMaster: what, the whole fucking thing? 15:58:28 jesus christ. 15:58:37 ehird, it is like --enable-lang=c 15:58:38 why not just hardcode the output 15:58:39 or such 15:58:40 --enable-languages=c) 15:58:43 without the closing paren 15:58:51 ais523, ah I was almost right then 15:58:59 configure: error: Building GCC requires GMP 4.1+ and MPFR 2.3.0+. 15:59:03 good lord i hate you gcc 15:59:12 why do you need arbitrary precision numbers to compile c 15:59:13 don't everyone have those? 15:59:21 AnMaster: i think those versions are super-recent 15:59:31 ehird, what gcc version? 15:59:34 4.3.2? 15:59:38 yeah. 15:59:44 gmp @4.2.4 (devel, math) 15:59:45 -!- Corun has quit ("This computer has gone to sleep"). 15:59:46 ok, I have gmp 15:59:49 what I have on my arch linux 15:59:55 guess I'll just try pointing it to /opt/local/{include,lib} 16:00:09 gcc 4.3.2 and glibc 2.9 16:00:16 -!- metazilla has joined. 16:00:18 oh and kernel 2.6.28 16:00:29 -!- moozilla has quit (Read error: 104 (Connection reset by peer)). 16:00:29 -!- metazilla has changed nick to moozilla. 16:00:30 -!- moozilla has quit (Nick collision from services.). 16:00:38 ... 16:00:53 -!- moozilla has joined. 16:01:19 oh jeez 16:01:20 moozilla, care to fix your connection? 16:01:20 checking for correct version of gmp.h... yes 16:01:20 checking for correct version of mpfr.h... no 16:01:22 configure: error: Building GCC requires GMP 4.1+ and MPFR 2.3.0+. 16:01:24 only complain about the one you can't find kthxbai 16:01:40 ehird, err it probably does like: 16:01:41 ehird: never try to read gcc's configure script 16:01:46 AnMaster: yes, I know 16:01:53 ais523: the compiled version? 16:01:59 either 16:02:04 if !gmp_ok() || !mpfr_ok() 16:02:06 error out; 16:02:07 the decompiled version is bad enough 16:02:10 (pseudo code) 16:02:18 yes, no shit :P 16:02:41 i just looked at gcc's configure 16:02:42 and puked 16:02:51 welll 16:02:53 well* 16:02:58 -!- moozilla has quit (Read error: 104 (Connection reset by peer)). 16:03:01 any compiled configure 16:03:02 -!- moozilla has joined. 16:03:03 is crap 16:03:10 moozilla, please fix your connection............. 16:03:28 AnMaster: shut up 16:03:32 it only happens once in a while 16:03:34 and it's like 2 lines 16:03:58 ha apparently the original THX sound only took 325 lines of C instead of 20,000 16:04:05 http://slashdot.org/comments.pl?sid=183734&cid=15182029 (the proof of identity is 404'd now tho) 16:04:13 arvid@tux /mnt/phoenix/llvm/llvm-gcc $ wc -l configure.in 16:04:13 2523 configure.in 16:04:15 wtf? 16:04:22 ok 16:04:23 real wtf 16:04:31 ### WARNING: this file contains embedded tabs. Do not run untabify on this file. 16:04:32 err 16:04:33 wtf 16:04:41 for testing things 16:04:42 i assume 16:04:45 ahy 16:04:47 ah* 16:05:18 *-*-linux* | *-*-gnu* | *-*-k*bsd*-gnu) 16:05:18 ;; 16:05:18 *-*-netbsd* | *-*-freebsd* | *-*-openbsd*) 16:05:18 ;; 16:05:18 http://rafb.net/p/Sf0HFX18.html Pipe to /dev/dsp 16:05:19 err 16:05:23 why is it doing stuff like that 16:05:30 I thought that was what configure.sub did? 16:05:39 config.sub* 16:05:59 ehird, what? 16:06:09 AnMaster: compile, run piped to /dev/dsp 16:06:20 I bet this is a new rickroll or something 16:06:25 ha, no 16:06:35 "CWG[Cgcg[eYcb^bV^eW^be^bVecb^" <-- encoded notes? 16:06:39 beats me 16:06:52 ehird, what does it do then? 16:07:02 try it 16:07:19 main(v,i,z,n,u,t){for(v=-1;;)for(n=pow(/* gcc -lm sig.c; a.out > /dev/dsp */ 16:07:20 well 16:07:26 that main signature isn't valid 16:07:33 who cares, it compils 16:07:34 and runs 16:08:45 ehird, what is that music? 16:08:53 made for the program, I assume 16:08:56 ah 16:09:01 the link points to a demoscene group 16:09:18 ehird, where did you find this? 16:09:29 reddit comments 16:13:11 I wonder what the format of /dev/dsp is. 16:13:13 Well, it's raw PCM. 16:13:20 I wonder how to make PCM. 16:14:20 I guess I should look it up. 16:14:39 ehird, hm about that script I posted, I get much worse speed than a -O3 -fweb -ftracer -frename-registers -fno-ident -fvisibility=hidden -funsafe-loop-optimizations -ftree-vectorize -march=k8 -msse3 now 16:14:49 which is same as that with no profile feed back 16:14:53 strange 16:14:56 it used to be better 16:14:59 You are bat shit insane :-)_ 16:15:07 ehird, thanks, aren't we all in here 16:15:08 Woo, gcc is compiling. 16:15:12 in our own ways 16:17:16 -!- metazilla has joined. 16:17:25 -!- moozilla has quit (Nick collision from services.). 16:17:27 -!- metazilla has changed nick to moozilla. 16:17:51 ehird, I love the last xkcd 16:17:53 have you read it? 16:18:09 * ehird looks. Ha. 16:18:35 -!- sebbu2 has joined. 16:18:50 -!- oerjan has joined. 16:19:38 ehird, also irregular webcomic has gone insane recently 16:19:43 just pure insane 16:19:44 O? 16:19:48 not even funny any more 16:20:01 -!- metazilla has joined. 16:20:04 yes sure, the first few of these were funny 16:20:05 Insane is funny. 16:20:08 -!- moozilla has quit (Nick collision from services.). 16:20:09 http://www.irregularwebcomic.net/ 16:20:09 okay 16:20:10 What 16:20:12 is 16:20:12 -!- metazilla has changed nick to moozilla. 16:20:14 that 16:20:18 ehird, red 16:20:18 AnMaster: link me to the start of whatever the fuck this is 16:20:24 plz 16:20:30 :D 16:20:37 oerjan: or you 16:20:40 I MUST SEE 16:20:55 HELLOOOOOOOOO 16:21:03 ehird, http://www.irregularwebcomic.net/2167.html 16:21:09 except it's crashing on me 16:21:21 AnMaster: okay, that's white 16:21:23 ok next one is blue 16:21:31 then it's darker blue 16:21:31 ahahaha 16:21:33 this is great 16:21:38 ehird, really? 16:21:41 okay now we're BLUE OR RED 16:21:42 KIND OF THING 16:21:44 sure the first few one 16:21:51 WHOA RED 16:21:56 and and and and and and and 16:22:00 MORE SOLID RED 16:22:06 yow 16:22:07 ehird: it may make _slightly_ more sense if you look at 2166 too 16:22:07 it's total red 16:22:19 oerjan: i'll do that 16:22:38 Ah. 16:22:39 oerjan, also he should learn to properly compress his png 16:22:48 Is this... THE END OF IWC? 16:22:57 we don't know, obviously :D 16:23:05 I BET IT IS. 16:23:06 indeed 16:23:13 ehird, someone suggested it was rebooting 16:23:19 also notice the cross over list 16:23:23 i know 16:23:23 XD 16:23:25 it excludes 2 of the comics 16:23:27 someone said 16:23:28 oh 16:23:28 which ones 16:23:36 ehird, spy theme and super hero theme 16:23:45 every theme except Espionage, Supers and Miscellaneous 16:23:50 Miscellaneous too? 16:23:54 huh 16:24:03 I bet the first comic after these is http://www.irregularwebcomic.net/1.html 16:24:30 ehird, I certainly hope not 16:24:52 he claimed he wanted do more comics than some other strip before 16:24:58 and I think he haven't reached it by far yet 16:25:06 yes, I mean it'll repeat #1 16:25:16 ehird, but with better image quality? 16:25:24 maybe it'll be entirely drawn 16:25:27 or remade 16:25:32 with new photos 16:25:32 heh 16:25:37 Calvin and Hobbes, at 3 thousand something 16:25:53 oerjan, well last irregular is 2173 16:25:56 currently 16:26:24 the excluded themes are those that weren't included in the buildup, too (no time paradox setup) 16:27:06 ah did the universe end in all of them 16:27:08 oerjan, err what is the misc theme? 16:27:20 everything not included in another theme 16:27:45 the Allosaurus used to be there, but now he's more in Martian i think 16:27:54 yes he is martian indeed I think 16:28:14 he fights the martians 16:29:22 i just hope this won't end with a hobbit pun because then it'll go on until 2196 :D 16:29:39 (someone suggested it on the forums) 16:29:59 ok, it would still be better than IWC _ending_... 16:30:37 we haven't even found out if the Allosaurus won the president reelection... 16:30:56 What happened to dmm killing himself? 16:31:26 2165 16:31:40 that was one of the time paradox setups 16:31:56 ha 16:32:33 i love the thread titels for them on the forum 16:33:00 oerjan, err the hobbit one have moved slightly 16:33:09 sometimes a bit earlier, sometimes a bit later 16:33:16 never earlier i think 16:33:17 iirc it changed somewhere near the beginning 16:33:22 oerjan, hm ok 16:33:28 and it has been on 96 for some time 16:33:34 yes maybe 16:33:36 the last one was 2096 16:33:55 officially, no more than every 100th strip 16:34:10 oerjan, true, but one time it was 1-2 strips off iirc 16:34:19 due to scheduling issues 16:34:22 it was quite early 16:35:30 hm 16:35:33 I checked the misc theme 16:35:39 they tend to have long annotations 16:35:47 much longer than most themes average 16:35:56 -!- sebbu has quit (Read error: 110 (Connection timed out)). 16:36:15 I bet IWC keeps doing this until it reaches (0,0,0) 16:36:27 ehird, maybe 16:36:33 and then it stays like that for like 10 comics 16:36:38 and then, something 16:36:48 ehird, well, time will tell 16:36:55 ouch then it might actually hit 2196 16:37:07 -!- metazilla has joined. 16:37:15 -!- moozilla has quit (Nick collision from services.). 16:37:17 -!- metazilla has changed nick to moozilla. 16:37:19 oerjan: ha 16:37:22 you've figured it out. 16:38:21 what 16:38:22 like 16:38:30 "don't make a hobbit of destroying the world"? 16:38:34 ... 16:38:35 Oh lord. 16:38:38 actually that it might fade to black and end up in the fantasy cave was suggested on the forum 16:38:54 [[Oh well, at least there's no way this could be a bigger disappointment than mezzacotta! =D ]] 16:38:54 ehird, yes it was bad 16:38:56 --2170 16:39:02 ehird, well true 16:39:14 hm what was the fantasy setup 16:39:24 -!- moozilla has quit (Read error: 54 (Connection reset by peer)). 16:39:24 oerjan, ? 16:39:28 -!- moozilla has joined. 16:39:58 the last fantasy strip 16:40:26 no idea 16:40:31 check theme index? 16:41:07 gah IWC is slow 16:42:17 oh 2152, there was no obvious paradox for that theme 16:42:47 oh wait 16:42:50 gcc compile is slowwwwwww 16:42:51 does this mean 16:43:15 fantasy theme explosion and space explosion 16:43:20 or fantasy bright light 16:43:25 or such 16:43:32 except they _have_ gone back in time, of course 16:43:39 oerjan, oh yes true 16:45:07 although destroying the multiverse was mentioned in 2122 16:47:13 http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob_plain;f=Documentation/exception.txt;hb=HEAD 16:48:00 * ais523 laughs at oerjan's quit reason 16:48:07 the bus indeed did suck 16:48:07 bbl 16:48:14 I wonder if ais523 is still awake. 16:48:20 yes 16:48:23 more or less 16:48:26 just not concious 16:48:39 I'm IRCing on autopilot, usually a bad sign 16:49:01 ais523: describe intercal's select to me 16:49:08 it got stuck on the ice so we had to walk to the next stop, the bus they promised would pick us up didn't show up, and we had to wait half an hour 16:49:10 ehird: read the manual 16:49:10 (a good way to determine the current awake-level of anyone) 16:49:21 ais523: where's the manual 16:49:28 it was on eso-std.org 16:49:34 ais523: where is it now : 16:49:35 :D 16:49:42 in a tarball from intercal.freeshell.org 16:49:50 how can I unpack tarballs 16:49:57 tar xzvf 16:50:02 where do I put that 16:50:13 (in a few minutes, we should be down to quarks) 16:50:17 ehird: you're running Mac OS X, it should be able to figure it all out for you 16:50:25 what is a os x 16:50:35 ehird: stop trolling 16:50:41 what's trolling <.< 16:52:06 * oerjan would do the obvious thing but then ehird would only ask what's swatting 16:52:26 what's the obvious thing 16:52:59 yes. yes it is. 16:55:38 wtf 16:55:42 W T F 16:55:49 screen saver is supposed to blank screen 16:55:51 black 16:55:58 this time it didn't 16:56:03 it just showed password dialog 16:56:07 without blanking it 16:57:32 oerjan, I think it is time for the frying pan 16:57:33 ... 16:57:47 for whom? 16:57:58 your screen saver? 16:58:08 oerjan, ehird 16:58:17 and for my screen saver, it seems to work now 16:58:24 no clue what caused blanking to fail 16:58:28 i would generally recommend against using frying pans on screen savers, incidentally. 16:58:36 -!- metazilla has joined. 16:58:39 -!- moozilla has quit (Read error: 104 (Connection reset by peer)). 16:58:46 -!- metazilla has changed nick to moozilla. 16:58:52 oerjan, I agree there 16:59:36 although a frying pan _in_ a screen saver might work, as long as it is properly fastened. 17:00:13 oerjan, my screen saver is just blanking + kde password dialog 17:00:32 du du du du du 17:00:36 du du du du du du. 17:00:47 eg eg eg eg eg 17:00:52 eg eg eg eg eg eg. 17:00:57 du -h 17:01:02 82 /bin/du 17:01:08 man 17:01:11 that was fast 17:01:12 ed 17:01:20 -!- metazilla has joined. 17:01:21 ? 17:01:25 cat 17:01:29 meow 17:01:29 -!- moozilla has quit (Nick collision from services.). 17:01:30 ? 17:01:31 ? 17:01:31 -!- metazilla has changed nick to moozilla. 17:01:33 40 /usr/bin/du 17:01:33 I win 17:01:33 ! 17:01:34 ! 17:01:35 ! 17:01:41 ((how is du that small)) 17:01:57 ehird, err 17:01:57 oh 17:01:59 that's kilobytes 17:02:00 freebsd win 17:02:01 yikes 17:02:03 $ du /usr/bin/du 17:02:04 8 /usr/bin/du 17:02:04 $ du -h /usr/bin/du 17:02:04 12.0K /usr/bin/du 17:02:05 :P 17:02:15 $ du -h /usr/bin/du 17:02:16 8.0K /usr/bin/du 17:02:21 heh 17:02:26 the GNU one us 82 KB 17:02:27 btw 17:02:33 damn gnu 17:02:36 wtf is in it 17:02:42 :/ 17:02:58 openbsd's is bigger than free :P 17:03:11 more secure! 17:03:17 3kb of security 17:03:34 it probably contains a buggy implementation of half of emacs 17:03:37 Badger, I mean it GNU du more than half the size of cfunge, and cfunge supports lots of fingerprints 17:03:51 heh 17:03:56 gnu ca is hilarious 17:03:58 *cat 17:04:07 56 KB? 17:04:20 freebsd one is 10 KB 17:04:22 $ du /bin/cat 17:04:22 208 /bin/cat 17:05:02 sheesh did IWC get reddited or something 17:05:29 AnMaster: why is my cat so fat :P 17:05:30 DMM supposedly just made the site _more_ efficient... 17:05:44 oerjan, oh? 17:05:58 oerjan, oh yes to use javascript or something 17:06:19 rather than reloading the whole page on options change 17:06:30 but i assume he did more than that 17:06:49 oerjan, that means sending much more data for those who don't want the extra stuff 17:06:55 % du -h /bin/cat 17:06:56 36K /bin/cat 17:06:58 fucking what 17:07:07 lols 17:07:07 ehird, that is still less than GNU cat 17:07:08 hm 17:07:24 $ du -h /bin/cat 17:07:24 104K /bin/cat 17:07:26 :> 17:07:47 but still the optional parts are just text 17:08:08 shouldn't be that different 17:08:29 oh, idea 17:08:30 5.4M /bin 17:08:36 AnMaster? :P 17:08:40 ehird? 17:08:50 fbsd ~ $ du -h /bin 17:08:51 1.2M /bin 17:08:57 :D 17:09:09 Badger, note that is using /usr/bin/du 17:09:16 du isn't in /bin on freebsd 17:09:24 nor on openbsd 17:09:33 so this isn't a fair comparison for my linux system 17:09:37 that even has bash in /bin 17:09:39 $ du -sh /bin 17:09:40 9,7M /bin 17:09:44 also 17:09:47 $ du -h /bin 17:09:48 6.7M/bin 17:09:49 6.6M /bin 17:09:54 that linux system is 64bit 17:09:58 140M /usr/bin 17:10:02 while the freebsd system is 32bit 17:10:15 ha 17:10:15 23.5M /usr/bin 17:10:22 ehird, hey OS X installs all their stuff outside /usr/bin 17:10:25 * ehird tries /opt/local 17:10:31 $ du -sh /usr/bin 17:10:31 29M /usr/bin 17:10:32 AnMaster: i'm talking about unix tools here. 17:10:33 on freebsd 17:10:48 ehird, well on my system X and what not are in /usr/bin 17:10:54 my linux system that is 17:11:03 * ehird is trying /opt/local 17:11:04 (macports) 17:11:05 ehird, so that is impossible to compare 17:11:11 probably like 5000000000G 17:11:12 o_O 17:11:19 /obsd: ELF 64-bit LSB executable, x86-64, version 1, statically linked, not stripped 17:11:23 457M /usr/bin <-- gentoo, and that comains KDE 17:11:25 * Badger wonders what the devil that is 17:11:31 Badger, kernel? 17:11:34 o 17:11:34 boot loader? 17:11:46 o[pen]bsd 17:11:52 ehird, well yes 17:11:55 but what for open bsd 17:11:56 I meant, oh 17:11:58 kernel 17:12:00 like vmlinux :P 17:12:01 hm 17:12:05 kernel wouldn't be that type 17:12:07 would it? 17:12:09 that is /boot/kernel/kernel or so here 17:12:11 on freebsd 17:12:19 Badger: % file /obsd 17:12:33 $ du -sh /boot/kernel/kernel 17:12:33 5.6M /boot/kernel/kernel 17:12:39 ehird, he ran that above 17:12:41 128M/boot 17:12:56 ais523, unfair for me, I have several kernels in /boot 17:12:58 some outdated 17:12:59 and such 17:13:11 it ends up at 99 MB due to that 17:13:12 -rw-r--r-- 1 root wheel 8.2M 2007-10-11 02:24 mach_kernel 17:13:14 I have loads of kernels in /boot 17:13:16 on my fbsd 17:13:20 heh 17:13:21 I have to delete the old backups to be able to upgrade my OS 17:13:22 6.4G /opt/local 17:13:23 obsd has /boot 17:13:24 it completed! 17:13:24 hey 17:13:30 9,6M /boot <-- my gentoo linux 17:13:31 $ file /boot 17:13:31 /boot: ELF 32-bit LSB executable, Intel 80386, version 1, statically linked, stripped 17:13:31 6.4GB :D 17:13:32 :D 17:13:34 :PPPPPPPPP 17:13:49 Badger, well on obsd it is the boot loader 17:13:53 elsewhere it is a directory 17:13:57 mmm 17:14:00 guess so 17:14:04 so obsd must be the kernel 17:14:07 hah 17:14:32 Badger, check docs? 17:14:42 oh weird 17:14:42 *bsd have good man pages usually 17:15:01 Badger, what is weird? 17:15:14 I sshed to another box 17:15:15 linux 17:15:19 yes and? 17:15:20 and um 17:15:25 /boot is empty 17:15:28 but I can cd to it 17:15:31 Badger, maybe not mounted 17:15:37 I don't auto-mount my /boot 17:15:40 ah 17:15:50 standard practise on linux 17:16:34 gcc still compiles 17:16:41 ehird, it takes ages yes 17:16:47 you know it will likely boot strap itself 17:16:50 3 stages 17:17:06 ehird, check if the output contains xgcc 17:17:07 heh, presumably it's faster in a cross-compile for that reason 17:17:10 it took like half an hour last time 17:17:17 /Users/ehird/gcc-4.3.2/host-i386-apple-darwin8.11.1/gcc/xgcc -B/Users/ehird/gcc-4.3.2/host-i386-apple-darwin8.11.1/gcc/ -B/usr/local/i386-apple-darwin8.11.1/bin/ -B/usr/local/i386-apple-darwin8.11.1/lib/ -isystem /usr/local/i386-apple-darwin8.11.1/include -isystem /usr/local/i386-apple-darwin8.11.1/sys-include -c -DHAVE_CONFIG_H -O2 -g -g -O2 -m64 -I. -I../../.././libiberty/../include -W -Wall -Wwrite-strings -Wc++-compat -Wstrict-prototypes -pedanti 17:17:20 c ../../.././libiberty/regex.c -o regex.o 17:17:22 up to that 17:17:37 ehird, looks like it is compiling the third stage using the second one 17:17:52 ehird, also that looks fucked 17:17:56 fucked, why? 17:18:07 I'm not going to make install this btw 17:18:09 just make 17:18:10 are you building a -m64 with "host-i386-apple-darwin8.11.1" 17:18:11 ? 17:18:12 and use it from there 17:18:14 AnMaster: er 17:18:16 not -m64 17:18:20 yes 17:18:22 look below 17:18:23 AnMaster: compiling third using second is correct 17:18:25 A 32-bit compiler can compile a 64-bit binary, I'm sure 17:18:29 if they aren't identical binaries, something went wrong 17:18:31 well true 17:18:35 Woo 17:18:35 ehird, also it needs to be installed 17:18:37 gcc compiled 17:18:39 AnMaster: does it? 17:18:39 I assume you used --prefix 17:18:44 no. 17:18:45 ehird, afaik yes 17:18:47 maybe wrong 17:18:48 I was just planning on using it as it is here. 17:18:54 it works as-is 17:18:58 ais523, really? 17:18:59 huh 17:18:59 at least if you invoke xgcc directly 17:19:06 ok, so where's my final gcc built to? 17:19:07 as that one's designed to be run from the build treee 17:19:08 ais523, well using the final stage I meant 17:19:18 xgcc would be fine 17:19:23 as long as it does core2 17:19:37 AnMaster: the final and intermediate stage are bit-for-bit identical 17:19:45 ehird, even in support files? 17:19:47 err 17:19:48 ais523, ^ 17:20:08 oklofok: http://www.mezzacotta.net/singles/jokes_explained_explained_explained_explained.php 17:20:20 not so sure about that, but the advantages of comparison are so high that you'd expect them to try hard to make it work 17:20:28 % ./host-i386-apple-darwin8.11.1/gcc/xgcc --version 17:20:28 xgcc (GCC) 4.3.2 17:20:48 okay 17:20:53 AnMaster: paste your cfunge cflags again? 17:21:41 ehird, I recommend CFLAGS="-march=core2 -pipe -O3 -ftracer -frename-register -fweb" for you 17:21:42 also 17:21:52 ehird, you need to set CC *before* you call cmake 17:21:53 AnMaster: what about the unsafe loop optimizations! 17:21:54 or it breaks 17:22:12 * ehird uses ccmake 17:22:18 for the config gui :P 17:22:18 ehird, same for ccmake 17:22:23 you must set it in the env 17:22:24 before 17:22:27 or it won't work 17:22:37 ehird: you check the program first to make sure the loop optimisations are in fact safe in the context of the program 17:22:44 ais523, indeed 17:22:47 xgcc: error trying to exec 'cc1': execvp: No such file or directory 17:22:50 need to adjust PATH :P 17:22:53 ehird, sure 17:23:11 -!- ais523 has quit. 17:23:27 -!- metazilla has joined. 17:23:33 AnMaster: does cmake need installing? 17:23:35 -!- moozilla has quit (Nick collision from services.). 17:23:39 -!- metazilla has changed nick to moozilla. 17:23:40 ehird, no clue 17:23:50 I only installed it through my package manager 17:23:54 never tried any other way 17:23:59 err 17:24:01 i mean cfunge 17:24:06 ah cfunge, no need 17:24:40 ehird, oh do you have ncurses? I have no clue if the ncurses detection I use works on os x 17:24:42 CMake Error: The C compiler 17:24:42 "/Users/ehird/gcc-4.3.2/host-i386-apple-darwin8.11.1/gcc/xgcc" is not able to 17:24:44 compile a simple test program. 17:24:46 balrgh 17:24:56 ld: can't locate file for: -lgcc 17:24:56 x.x 17:24:59 ehird, you managed to get it to use the right c compiler at least 17:25:00 need LD_LIBRARY_PATH 17:25:01 good! 17:25:01 or whatever 17:25:06 ehird, yes probably 17:25:42 ehird, also I assume you enabled multilib when compiling? otherwise you won't have any 64-bit libgcc 17:25:44 :P 17:25:56 -!- moozilla has quit (Read error: 131 (Connection reset by peer)). 17:26:00 hey no one said gcc compiling was fun! 17:26:01 -!- moozilla has joined. 17:26:02 Er, what's multilib? 17:26:17 Is it enabled by default? 17:26:17 ehird, both 32-bit and 64-bit libs, you have it for your system gcc and your libc 17:26:28 ehird, I don't know if it is on by default 17:26:29 libgcc_s_x86_64.1.dylib 17:26:31 Am I safe? 17:26:35 ehird, maybe 17:26:39 (in ~/gcc-4.3.2/host-i386-apple-darwin8.11.1/gcc) 17:26:40 I don't know for dylib 17:26:46 dylib is just .so for os x 17:26:50 ehird, you may not have any 32-bit one then 17:26:56 That's ok. 17:27:06 I'm not using this for anyhing else 17:27:13 "/Users/ehird/gcc-4.3.2/host-i386-apple-darwin8.11.1/gcc/xgcc" is not able to 17:27:13 compile a simple test program. 17:27:15 Butts 17:27:18 ld: can't locate file for: -lgcc 17:27:19 fsdfsdf 17:27:22 guess I need to symlink 17:27:38 aha 17:27:39 libbackend.a libgcc.a libgcc_eh.a libgcov.a 17:27:51 they just had to dyliberately call it something different 17:27:57 groan 17:28:02 Woo 17:28:04 It configuring 17:28:16 why osx? 17:28:24 AnMaster: will this compile all fingerprints by default? 17:28:28 Badger: it sucks less than everything else 17:28:34 WARNING: This project requires version 2.6 of CMake. You are running version 17:28:34 2.4.6. 17:28:34 heh 17:28:37 I hate you, AnMaster. 17:28:40 ehird, it will disable TERM and NCRS if it can't find ncurses library and/or headers 17:28:57 but apart from that it will compile all 17:29:07 also this depends on version 17:29:12 NCRS isn't in last release 17:29:12 bzr top 17:29:17 ah well 17:29:21 then you have NCRS 17:29:32 This is the biggest waste of time ever :) 17:29:36 ehird, tell me if mycoterm works on your computer, it would be nice to know 17:29:42 also what do you mean waste of time? 17:29:45 just install last cmake 17:29:51 can't be hard to upgrade 17:29:55 I compiled freaking gcc just to squeeze a few ms out of a befunge interpreter. 17:30:02 on my system it is just a single command as root 17:30:05 to upgrade a package 17:30:16 making my package manager upgrade 17:30:22 yes, yes 17:30:23 isn't it as easy on OS X? 17:30:25 % sudo port upgrade cmake 17:30:28 stop trolling :P 17:30:33 ehird, ok sorry 17:30:52 macports is written in tcl xD 17:30:53 now I seriously hope windows never gets an unified package manager 17:31:05 that would kind of make windows suck less 17:31:07 which would be bad 17:31:28 ehird, also don't you upgrade weekly btw? 17:31:30 all ports 17:31:38 no 17:31:41 huh 17:31:45 i'm lazy and the existing versions work for anything but cfunge 17:32:01 ehird, no I upgraded myself to 2.6 because OSG needed it 17:32:19 then the 2.4 cmakefile didn't work well with 2.6, it had lots of warnings then 17:32:22 so I upgraded 17:32:30 -!- sebbu2 has quit ("@+"). 17:32:33 and yes cmake sucks, but the alternatives suck more 17:32:34 :( 17:32:45 for example consider that PATH thing you needed for CC 17:32:49 scons sucks a bit less 17:32:51 with scons that would have been a pain 17:32:57 since it would have ignored your env variables 17:33:11 I tried to use rake (ruby make) for something, it works well for some things but not building progarms 17:33:12 programs 17:33:16 well 17:33:22 specialized ones work well usually 17:33:26 like the emake for erlang 17:33:33 rake isn't for making ruby. 17:33:36 oh? 17:33:39 rake is a generic build tool written in ruby 17:33:41 aha 17:33:51 unfortunately, it doesn't let you do things like %.o from %.c 17:33:59 progarms, for when your software needs to get a grip on things 17:34:05 oh just list every file by hand 17:34:07 i.e., you have to manually make the file targets (of course, you can just glob them which is easy enough) 17:34:09 AnMaster: no 17:34:09 ehird, or use plain make? 17:34:13 you'd have to duplicate it for every item 17:34:13 but 17:34:21 Dir['src/*.c'].each do |src| 17:34:29 file blah => [src] do 17:34:29 ... 17:34:30 err 17:34:31 end 17:34:32 end 17:34:33 I can't read that? 17:34:37 AnMaster: basically 17:34:37 as in what does it do 17:34:41 glob src/*.c 17:34:43 then make a file target for each 17:34:44 right 17:34:47 without writing it all out 17:34:50 but still, it's pretty ugly 17:35:06 FILE(GLOB CFUNGE_SOURCES RELATIVE ${CFUNGE_SOURCE_DIR} src/*.c 17:35:06 ) 17:35:09 well it is longer 17:35:13 since I list more 17:35:21 like subdirs and included libraries 17:35:26 yeah, it's just that rake doesnt' have a general understanding of pattern rulse 17:35:28 but that is pretty horrible syntax yes 17:35:32 I could build something on top of it 17:35:42 ehird, I think there is a REGEX or some such 17:35:46 apart from GLOB 17:35:47 in cmake 17:36:04 also UPPERCASE shows it is a SERIOUS QUERY LANGUAGE... err wait what? 17:36:05 I could probably do something like: 17:36:08 I meant BUILD SYSTEM 17:36:09 of course 17:36:30 wait 17:36:32 that would rock 17:36:35 SQLbuild 17:36:47 pattern %{build/\1.o} => [%r{src/(.+).c}] do 17:36:48 ... 17:36:49 end 17:37:04 SELECT * FROM src LIKE '~.c' INTO SOURCEFILES; 17:37:05 :D 17:37:09 ugh 17:37:13 ehird, yes horrible 17:37:21 also broken sql syntax I think 17:37:30 * AnMaster don't remember LIKE pattern rules 17:37:42 cmake builds slowly 17:37:47 ehird, it is C++ 17:37:51 what did you expect? 17:37:52 lol 17:37:52 SYNTAX QUITE LOUD 17:38:02 -!- metazilla has joined. 17:38:07 OERJAN, YES INDEED 17:38:10 -!- moozilla has quit (Nick collision from services.). 17:38:14 -!- metazilla has changed nick to moozilla. 17:38:22 moozilla, please fix your connection 17:38:29 http://www.mezzacotta.net/singles/jokes_explained_explained_explained_explained.php I think I'll write X := X Explained 17:39:40 AnMaster: stop bugging him 17:39:42 it only bothers you 17:40:16 -!- metazilla has joined. 17:40:25 -!- moozilla has quit (Read error: 104 (Connection reset by peer)). 17:40:27 -!- metazilla has changed nick to moozilla. 17:40:30 -!- moozilla has quit (Nick collision from services.). 17:40:48 O_o 17:40:53 -!- moozilla has joined. 17:41:14 looks like a ghostbot 17:42:09 "# If black boxes on planes are indestructible, why isn't the whole plane made of that material?" <-- actually, why? 17:42:22 AnMaster: consider reading to the end 17:42:32 ah right 17:42:57 right that makes sense 17:43:21 maybe if they use carbon nanotubes... 17:43:45 oerjan, well maybe it would work to make certain important structural components out of them 17:43:52 anyway even if they did it wouldn't help much 17:44:08 i mean, those are supposed to be both strong and light iirc 17:44:10 because even if the plane survived the crash would cause a high G load 17:44:13 on anyone inside 17:44:29 s/ would/, it would/ 17:45:17 -!- sebbu has joined. 17:45:24 yes but not worse than currently 17:45:30 wow 17:45:43 mezacotta breaks when you zoom the page 17:45:49 the comic get scrollbars 17:54:52 -!- metazilla has joined. 17:55:00 -!- moozilla has quit (Nick collision from services.). 17:55:04 -!- metazilla has changed nick to moozilla. 17:57:26 -!- metazilla has joined. 17:57:26 -!- moozilla has quit (Read error: 104 (Connection reset by peer)). 17:57:33 -!- metazilla has changed nick to moozilla. 17:58:06 i never metazilla that would stay 17:58:27 hah 17:59:48 ehird, progress? 18:00:18 I can (try) to help with specific issues if you want, hopefully none of them are due to the way you compiled gcc 18:01:57 cmake compiled 18:03:01 now to try again 18:03:06 % PATH=~/gcc-4.3.2/host-i386-apple-darwin8.11.1/gcc:$PATH CC=xgcc DYLD_LIBRARY_PATH=~/gcc-4.3.2/host-i386-apple-darwin8.11.1/gcc:$DYLD_LIBRARY_PATH LD_LIBRARY_PATH=~/gcc-4.3.2/host-i386-apple-darwin8.11.1/gcc:$LD_LIBRARY_PATH ccmake .. 18:03:22 yay it configures 18:03:27 AnMaster: where do i set cflags in ccmake 18:03:31 ah t 18:03:36 CMAKE_C_FLAGS 18:03:39 CMAKE_C_FLAGS_RELEASE 18:03:42 AnMaster: paste your cflags again? 18:03:46 and is release on by default? 18:04:16 hm 18:04:25 ehird, not release by default no 18:04:34 ok, how do i make it release 18:04:47 there is a CMAKE_BUILD_TYPE setting somewhere there 18:04:51 can you find it? 18:04:55 yep 18:04:57 make it RELEASE? 18:05:00 Release 18:05:09 case doesn't matter though 18:05:14 paste your cflags? 18:05:23 I suggested for your system: 18:05:47 ehird, I recommend CFLAGS="-march=core2 -pipe -O3 -ftracer -frename-register -fweb" for you 18:06:02 CMAKE_OSX_ARCHITECTURES i386 18:06:05 do I have to change anything there 18:06:14 ehird, don't know, it doesn't show up on linux 18:06:27 ehird, doesn't it display help in the lower status bar 18:06:32 just above the key help info 18:06:37 a white bar on your black console 18:06:42 CMAKE_OSX_ARCHITECTURES: Build architectures for OSX 18:06:50 ahh 18:06:53 ehird, well that doesn't help me decide what it does 18:06:54 it's i386 vs ppc 18:07:00 maybe related to universal binary? 18:07:03 what's the name of i386 that is 64 bit? 18:07:15 also /me adds -m64 to the cflags 18:07:18 ehird, on *linux* it is x86_64 usually, but that may differ 18:07:26 I don't know for OS X 18:07:26 ill ask #cmake 18:07:44 ehird, with your custom gcc I wouldn't touch CMAKE_OSX_ARCHITECTURES 18:07:52 try it the way it is and see if it works 18:07:56 USE_GC OFF 18:07:59 should taht be on 18:08:01 ehird, keep it off 18:08:03 faster 18:08:04 :P 18:08:05 ok 18:08:06 but 18:08:09 AnMaster: leaks memory? 18:08:14 ehird, valgrind clean 18:08:21 k 18:08:33 apart from a few bytes of still reachable in REFC, but that is ok 18:08:53 same for SOCK and FILE, all of them need to track global lists of handles 18:09:21 so basically they are like "static" arrays allocated dynamically 18:10:33 ehird, oh and I haven't tried gc + ncurses yet so I would definitely keep GC off atm 18:11:25 x86_64 seems ok 18:11:28 * ehird puts it in 18:11:38 ok lets try this 18:11:43 Press [enter] to edit option CMake Version 2.6 - patch 2 18:11:43 Press [c] to configure 18:11:45 Press [h] for help Press [q] to quit without generating 18:11:46 c 18:11:47 Press [t] to toggle advanced mode (Currently On) 18:11:49 what now :| 18:11:51 c 18:11:53 then g 18:11:56 puts me back to the same screen 18:11:59 yes 18:12:01 but with g option 18:12:04 I bet? 18:12:05 CURSES_EXTRA_LIBRARY CURSES_EXTRA_LIBRARY-NOTFOUND 18:12:05 ? 18:12:08 ok 18:12:11 what does that mean 18:12:13 I don't know about that either 18:12:17 LIBRT_LOCATION LIBRT_LOCATION-NOTFOUND 18:12:18 it is the ncurses check from cmake 18:12:23 ok on os x 18:12:30 the needed function is in libc on *bsd 18:12:34 so I assume the same on os x 18:12:36 ok did g 18:12:37 it exited 18:12:38 now just make? 18:12:39 make 18:12:40 then 18:12:41 yep 18:12:47 xgcc: error trying to exec 'cc1': execvp: No such file or directory 18:12:49 err "yep" was NOT a command 18:12:49 need the PATH again 18:12:49 :P 18:12:53 ehird, probably yes 18:12:58 % PATH=~/gcc-4.3.2/host-i386-apple-darwin8.11.1/gcc:$PATH CC=xgcc DYLD_LIBRARY_PATH=~/gcc-4.3.2/host-i386-apple-darwin8.11.1/gcc:$DYLD_LIBRARY_PATH LD_LIBRARY_PATH=~/gcc-4.3.2/host-i386-apple-darwin8.11.1/gcc:$LD_LIBRARY_PATH make 18:13:01 i feel just like a gentoo use. 18:13:02 user 18:13:05 looks horrible 18:13:14 [ 1%] Building C object CMakeFiles/cfunge.dir/lib/libghthash/cfunge_mempool.c.o 18:13:14 cc1: error: unrecognized command line option "-arch" 18:13:15 cc1: error: unrecognized command line option "-frename-register" 18:13:17 wtf 18:13:18 butts 18:13:25 butts on a freaking stick 18:13:25 ehird, I got no clue what is going on there 18:13:29 err 18:13:32 yes I do 18:13:35 it is -march not -arch 18:13:43 ha ha ha well that's your fault the 18:13:43 n 18:13:51 er 18:13:52 ehird, and -frename-registers 18:13:53 I have no march 18:13:56 ehird, I recommend CFLAGS="-march=core2 -pipe -O3 -ftracer -frename-register -fweb" for you 18:14:00 1) march 18:14:01 I copied that right in 18:14:06 i guess -arch is being passed to cc1 18:14:08 2) yes rename-register was wrong 18:14:08 by xgcc 18:14:19 ehird, don't know 18:14:21 it doesnt recognize -arch because it was only compiled for 64 bit? 18:14:22 maybe? 18:14:26 gimme your 64 bit test program again 18:14:27 plz 18:14:31 a sec 18:14:51 -!- moozilla has quit (Read error: 54 (Connection reset by peer)). 18:15:00 out of scrollback 18:15:02 -!- moozilla has joined. 18:15:04 * AnMaster checks log 18:15:39 jan 07 15:58:08 #include 18:15:39 jan 07 15:58:36 int main(void) { printf("%zu\n", sizeof(char*)); return 0; } 18:15:56 ehird, anyway check if it can compile hello world with those flags 18:16:00 the return 0 is redundant 18:16:02 % ./a.out 18:16:02 4 18:16:03 (btw) 18:16:07 Deewiant, no? 18:16:08 I hate my life. 18:16:10 AnMaster: yes. 18:16:15 Deewiant, why? 18:16:18 AnMaster: C99. 18:16:25 Deewiant, really? 18:16:28 AnMaster: yes. 18:16:40 Deewiant, paragraph? 18:16:42 YOU LIED TO ME 18:16:43 so, AnMaster 18:16:46 AnMaster: beats me. :-P 18:16:48 do i have to recompile gcc 18:16:49 if you say yes 18:16:51 I will kill you 18:16:57 ehird, did you include -m64 to gcc there? 18:17:14 -!- moozilla has quit (Read error: 54 (Connection reset by peer)). 18:17:15 well now I did and: 18:17:17 ld64-59.2 failed: library not found for -lgcc 18:17:20 -!- moozilla has joined. 18:17:21 ah 18:17:21 I need multilib don't i 18:17:22 ahahahahah 18:17:25 no multilib 18:17:27 indeed 18:17:38 ahahahahah 18:17:39 what's going on? 18:17:46 Deewiant: i compiled a new gcc 18:17:49 just to compile cfunge fast 18:17:52 and I compiled it wrong 18:17:54 and it took hours 18:17:57 how wrong 18:18:03 Deewiant, I think ehird got a mental shock 18:18:03 no multilib 18:18:07 decipher, no 64-bit libgcc 18:18:09 err 18:18:10 Deewiant, ^ 18:18:14 anyway, so I am about to hop on a plane to sweden 18:18:16 track down AnMaster 18:18:17 and kill him 18:18:20 ehird, why? 18:18:20 -> 18:18:25 you should have read the docs 18:18:28 ;P 18:18:31 AnMaster: if cfunge didn't exist this wouldn't have happened 18:18:31 now -> 18:18:32 so he's got a 32-bit system and he's trying to build a 64-bit gcc, or what? 18:18:39 Deewiant: 64 bit system 18:18:42 but gcc only built 32 bit shit 18:18:43 -> 18:18:47 Deewiant, he has 64-bit OS X with 32-bit userland 18:18:56 right 18:18:56 system gcc is multilib 18:19:00 ew 18:19:02 but he wanted last 18:19:04 just set up a chroot 18:19:08 Deewiant, on OS X? 18:19:16 os x is certified unix 18:19:17 I got no fcking clue what that does 18:19:18 of course it freaking does chroots 18:19:19 I don't know anything about OS X 18:19:21 yes 18:19:28 But I'd assume it can chroot 18:19:31 but where would you get a system to run in the chroot? 18:19:35 umm 18:19:37 you can't just download a linux distro 18:19:38 / 18:19:42 copy shit in 18:19:42 :P 18:19:50 install a full 64-bit userland into the chroot 18:19:51 AnMaster: can I get multilib __without__ recompiling all of gcc 18:19:53 _say_ _yes_ 18:19:53 ehird, wouldn't it be rather pointless to copy same old gcc in it? 18:19:59 ehird, I don't know 18:20:04 The answer is yes 18:20:07 now tell me how :P 18:20:12 ehird, I said I don't know 18:20:14 dammit 18:20:17 * ehird make clean 18:20:22 * ehird make suicide 18:20:23 well 18:20:29 I don't know know OS X well 18:20:29 but 18:20:31 GOOD BYE GCC 18:20:46 AnMaster: what is the multilib option 18:20:52 also, how can I make gcc build with m64 18:20:53 mkdir gcc-build; cd gcc-build; ../gcc-source/configure --prefix=$HOME/gcc43 --help 18:21:09 --with-multilib i guess 18:21:18 and CFLAGS="-m64" on cmd line of configure 18:21:20 that sounds correct 18:21:29 ehird, and I don't know about that 18:21:33 % CFLAGS="-m64" ./configure --enable-languages=c --with-gmp=/opt/local --with-mpfr=/opt/local --with-multilib --prefix=$HOME/gcc43 18:21:34 will that work 18:21:34 ehird, err 18:21:36 wait 18:21:37 if you say yes and it doesn't 18:21:38 what about host? 18:21:38 be prepared to die 18:21:42 ah. 18:21:44 good point. 18:21:49 ehird, I'm not sure about this 18:21:55 since I never done any build like that 18:21:58 how do I find out what host/target it defaults to? 18:22:05 I only ever used package manger and done llvm-gcc builds 18:22:20 ehird, 18:22:20 arvid@tux /mnt/phoenix/llvm/llvm-gcc $ ./config.guess 18:22:20 x86_64-unknown-linux-gnu 18:22:36 find the config.guess file 18:22:37 i386-apple-darwin8.11.1 18:22:39 see what it thinks 18:22:44 ok, so I s/i386/x86_64/. 18:22:51 ehird, unknown if that works 18:22:53 it may not 18:23:00 --build=BUILD configure for building on BUILD [guessed] 18:23:00 --host=HOST cross-compile to build programs to run on HOST [BUILD] 18:23:02 --target=TARGET configure for building compilers for TARGET [HOST] 18:23:05 so I just set all of them to the same thing then 18:23:20 ehird, um maybe or maybe not 18:23:28 it could result in a cross compiled build 18:23:31 or a cross compiler 18:23:37 well host is for cross compiling 18:23:40 ehird, ais knows this better 18:23:45 i'll just do build 18:23:52 % CFLAGS="-m64" ./configure --enable-languages=c --with-gmp=/opt/local --with-mpfr=/opt/local --with-multilib --prefix=$HOME/gcc43 --build=x86_64-apple-darwin8.11.1 18:23:52 GO 18:23:58 ehird, that would probably mean it look for the host gcc 18:24:01 with that name 18:24:02 not sure 18:24:04 checking for correct version of gmp.h... yes 18:24:04 checking for correct version of mpfr.h... no 18:24:05 aha 18:24:07 ahahahaha 18:24:09 ha 18:24:11 huh 18:24:17 a 18:24:18 that's odd 18:24:18 ahahaha 18:24:19 ha 18:24:21 wrong path? 18:24:40 ehird, also you should build gcc out of tree 18:24:46 the gcc devs say so 18:24:53 and not in a subdir 18:25:03 ha. ha. ha 18:25:19 ehird, well gcc devs say everything else is unsupported iirc 18:25:22 i want to die :D 18:25:23 just a friendly warning 18:25:26 mpfr @2.3.2_0+darwin_i386 (active) 18:25:28 ok i have that 18:25:34 well 18:25:43 this worked last time 18:25:45 ehird, I would try skipping host 18:25:51 err --build 18:25:53 and those 18:25:59 ahh 18:26:00 Variants: darwin_i386, darwin_x86 18:26:01 multilib should mean both work 18:26:01 I need x86 18:26:01 and 18:26:03 instead of i386 18:26:05 in macports 18:26:10 not setting cflags 18:26:14 % sudo port uninstall mpfr; sudo port install mpfr +darwin_x86 18:26:24 ehird, multilib variant? 18:26:31 thikn so 18:26:47 ehird or your end up with breaking stuff due to missing 32-bit version :D 18:27:00 that would be funny wouldn't it? 18:27:04 lol 18:27:07 yes 18:27:13 this is so not worth cfunge 18:27:17 i bet i'm gaining like 18:27:19 1ms speed 18:27:20 for being 64 bit 18:27:27 ehird, anyway I suggest dropping CFLAGS and --build from GCC line 18:27:34 nah, ill try it like this 18:27:34 but keeping multilib of course 18:27:35 btw 18:27:40 64 bit is faster with cfunge 18:27:41 right 18:27:45 ehird, a bit in fact 18:27:54 due to more registers and better calling convention 18:27:55 oh jesus 18:27:56 mainly 18:27:56 AnMaster: 18:28:02 ehird, yes? 18:28:02 please resume complaining to metazilla 18:28:04 /moozilla 18:28:09 i just switched to #reddit 18:28:14 ehird, what? 18:28:15 ehird: i guess that you will have used 100x more time on this than you'll ever save on the cfunge runs, combined :D 18:28:19 he's arguing with someone that a supernatural god can be objectively proved 18:28:25 oerjan, agreed 18:28:32 oerjan, for linux this would be easy always 18:28:35 x_x 18:28:37 on gentoo you just do 18:29:50 crossdev -t arm-unknown-linux-gnu -s3 18:29:57 and it builds a cross compiler to arm for you 18:30:01 naturally, god cannot be proved. supernaturally, however, he can. 18:30:07 -s3 means "up to C compiler but skip C++ one" 18:30:16 18:30:32 * ehird reruns configure 18:30:38 checking for correct version of mpfr.h... no 18:30:38 gahwhat 18:30:42 huh 18:30:43 mpfr @2.3.2_0+darwin_i386+darwin_x86 18:30:43 strange 18:30:44 facepalm 18:30:49 ehird, how strange 18:30:55 [ehird:~] % sudo port uninstall mpfr; sudo port install mpfr -darwin_i386 +darwin_x86 18:30:57 ehird, what is that version string from? 18:30:58 let's try that again 18:31:05 AnMaster: macports 18:31:13 ehird: see the configure.log to see what it's missing 18:31:23 its because i have both variants installed 18:31:24 :P 18:31:44 Deewiant, good idea 18:32:05 ehird, "port: 32-bit mfpr missing: unable to run" 18:32:07 * AnMaster ducks 18:32:19 err 18:32:21 mpfr 18:32:32 well I hope that doesn't happen to you 18:32:42 oh and never ever mount proc on / by mistake 18:32:43 did that once 18:32:50 -!- olsner has joined. 18:32:59 what's wrong with that 18:33:01 managed to get out of it thanks to having a rescue binary in the same directory 18:33:03 as I was in 18:33:03 AnMaster: do you really think macports -- a tcl program -- uses mpfr, a multiple-precision floating-point computation library? 18:33:07 well, much is wrong, but what problems does it cause :-P 18:33:10 ehird, no I was joking 18:33:12 :P 18:33:19 Deewiant, /bin/ld.so not found 18:33:20 for exampl 18:33:30 no no dynamically linked binaries can run 18:33:33 so no* 18:33:45 oh right, so you lost your / 18:33:46 Deewiant, in other words: pretty bad 18:33:50 yes 18:33:51 I thought just proc superimposed on top of / 18:34:00 except I still had relative path 18:34:02 where I was 18:34:09 ---> Activating mpfr @2.3.2_0+darwin_i386+darwin_x86 18:34:11 and could find a rescue shell that way 18:34:12 That did not work 18:34:17 ehird, no idea 18:34:29 configure.log time 18:34:34 ehird, also what did config.log say? 18:34:40 18:34 configure.log time 18:34:41 err isn't the name config.log? 18:34:46 no 18:34:48 hm 18:34:50 it is here 18:34:56 arvid@tux /mnt/phoenix/llvm/llvm-gcc $ ls ../gcc-build 18:34:56 Makefile config.log i686-pc-linux-gnu libiberty prev-libcpp stage1-gcc stage1-libdecnumber stage_last 18:35:00 [...] 18:35:09 er 18:35:09 yes 18:35:10 its config.lo 18:35:12 g 18:35:14 XD 18:35:23 .lo? isn't that somehow related to libraries? 18:35:28 ld64 warning: in /opt/local/lib/libmpfr.dylib, file is not of required architecture 18:35:28 ld64 warning: in /opt/local/lib/libgmp.dylib, file is not of required architecture 18:35:33 Kill me 18:35:34 Kill me 18:35:35 Kill me 18:35:36 ah no .la 18:35:37 Kill me 18:35:39 Kill me 18:35:41 Kill me 18:35:43 Kill me 18:35:45 Kill me 18:35:46 * Mony kills ehird 18:35:47 Kill me 18:35:51 I don't know 18:35:52 :( 18:35:54 heh 18:35:54 thx Mony 18:35:55 ehird, well one idea 18:36:02 you're welcome 18:36:03 I could manually compile gmp and mpfr. 18:36:06 ehird, what about dropping the --build and CFLAGS I mentioned 18:36:08 I could also kill myeslf. 18:36:11 AnMaster: well, ok. 18:36:13 it would still be multilib 18:36:17 and hopefully work 18:36:26 ehird, I hope this works out for you 18:36:33 So do I, man :P 18:36:34 ehird, and don't forget the c only build thing 18:36:37 yes 18:36:50 g++ take AGES to build 18:37:01 at least only C and C++ are built by default iirc 18:37:06 so does gcc 18:37:07 :P 18:37:17 ehird, not really, not compared to g++ 18:37:24 -!- moozilla has quit (Read error: 104 (Connection reset by peer)). 18:37:29 oh 18:37:31 -!- moozilla has joined. 18:37:35 ya moozilla left 18:37:35 hm 18:37:35 fuck 18:37:38 *yay 18:37:44 he came back 18:37:53 i know 18:37:55 thus the fuck :D 18:39:31 gah too long channel list 18:39:37 -!- moozilla has quit (Read error: 104 (Connection reset by peer)). 18:39:43 I'm just scrolling between it's end 18:39:45 ends* 18:39:47 all the times 18:39:50 time* 18:39:51 gah 18:39:56 -!- moozilla has joined. 18:40:06 /bin/sh: line 1: build/genmodes: No such file or directory 18:40:06 make[3]: *** [s-modes-h] Error 127 18:40:07 make[3]: Leaving directory `/Users/ehird/gcc-build/gcc' 18:40:09 make[2]: *** [all-stage1-gcc] Error 2 18:40:11 make[2]: Leaving directory `/Users/ehird/gcc-build' 18:40:13 make[1]: *** [stage1-bubble] Error 2 18:40:15 make[1]: Leaving directory `/Users/ehird/gcc-build' 18:40:17 make: *** [all] Error 2 18:40:19 gdfgjdfkgjdkflgjkldfgjdfljgdfklgjdfgkldfjgkldfjg WHAT 18:40:21 build/genmodes -h > tmp-modes.h 18:40:23 was the failing thing 18:40:31 ah 18:40:34 maybe because 18:40:37 im in ~/gcc-build 18:40:42 and its in ~/gcc-blahblahblah/ 18:40:44 or something? 18:41:46 eh 18:41:48 18:41 OMNILOL 18:41:48 wtf 18:41:49 18:41 HAHAHAHA 18:41:49 18:41 o rite 18:41:57 ehird, where is that from? 18:42:01 #reddit 18:42:02 hm 18:42:06 metazilla != moozilla 18:42:11 but moozilla signs on as metazilla, sometimes 18:42:13 this is confusing 18:42:15 name clash XD 18:42:19 ehird, yes indeed 18:42:20 [different ISPs] 18:42:25 that must be why he keeps getting ghosted 18:42:35 ok 18:42:36 now 18:42:39 why did my build fail crazily 18:42:40 :D 18:42:53 where is the pristine copy of the GCC source? 18:43:00 and where is the clean build directory? 18:43:05 and what is the configure command line 18:43:16 answer those questions 18:43:17 [ehird:~/gcc-build] % ../gcc-4.3.2/configure --enable-languages=c --with-gmp=/opt/local --with-mpfr=/opt/local --with-multilib --prefix=$HOME/gcc43 18:43:19 All questions solved in one 18:43:23 ok 18:43:26 ehird: except it's the moozilla nick that is ghosted 18:43:33 oerjan: confusing 18:43:33 ehird, is ../gcc-4.3.2 really make distclean 18:43:33 ? 18:43:37 or is it just make clean 18:43:40 and most of the quit/joins are not ghostings 18:43:40 oh 18:43:42 make clean 18:43:45 * ehird makes distclean it 18:43:47 ehird, try make distclean 18:43:53 or just re-extract the tarball 18:44:05 also remove all files in the build dir after 18:44:11 including any hidden files 18:44:13 and rerun configure 18:44:19 yep 18:44:20 doing so 18:44:50 ehird, hm you have dual core right? 18:45:02 maybe I should use openmp 18:45:09 sadly I don't have any dual core to test that on 18:45:19 dual core, yes 18:45:21 gcc 4.3 supports openmp 18:45:32 with the right build time options I assume 18:45:33 for gcc 18:45:34 you can test on this box, but you'd have to deal with OS X oddities :-P 18:45:41 ehird, such as? 18:45:51 not having access to the box I'm testing on!? 18:45:53 well, i don't notice them but I imagine someone who uses linux every day would 18:45:54 anyway 18:46:00 AnMaster: that would be one thing :P 18:46:01 ehird, well right 18:46:08 I use linux and freebsd 18:46:10 every day 18:46:20 freebsd isn't too far off 18:46:26 true 18:46:43 but not having access and having to rely on you would be a serious issue 18:46:57 when I get a dual core system I may reconsider it 18:47:06 meanwhile I wish cfunge could make use of openmpi 18:47:07 Yeah I'm so unreliable :P 18:47:16 since I have a gigabit switch 18:47:21 still, if you do put in some openmp stuff I'm happy to give you ssh acess 18:47:36 ehird, well I need to build myself a gcc which supports it first 18:47:43 hm random speculation from the IWC forum: "At the end of this, the strips will be rearrangeable to form a valid PIET program." 18:47:51 also I seem to have outdated mpfr and gmp on this computer :D 18:47:57 no way I'm going ~arch 18:47:59 AnMaster: well, why not build it on my system? i mean, if you have to test on it... 18:48:15 well I'd rather not depend on your goodwill 18:48:39 depend on anyone in #esoteric with a dualcore system :-P 18:48:41 ehird, also I'm not sure openmp would help much, due to the way funge is specced there isn't much you can paralize 18:48:46 one thing is file loading 18:48:51 admittedly, profiling over ssh would be a pain 18:48:59 2 threads would probably help for mycology 18:49:03 when loading the file 18:49:15 but apart from that I don't think there are many places to gain in 18:49:51 ehird, yes especially since stuff like cachegrind or callgrind wouldn't work 18:49:55 both are very good for profiling 18:50:02 both are valgrind tools 18:50:13 hee, yes 18:50:20 this system can run linux you know 18:50:23 on OS X aren't you basically stuck with using gcc -pg? 18:50:27 but I don't think I'd boot into linux at your will :P 18:50:36 ehird, I didn't expect that 18:50:36 AnMaster: XCode probably has a profiler. 18:50:43 ehird, well xcode over ssh? 18:50:43 wait, can't you emulate a dual core system? 18:50:44 with qemu 18:50:45 does that work? 18:50:48 also, no :P 18:51:03 ehird, well I could probably emulate that. but profiling would show a slowdown then I bet 18:51:10 sure, profile without openmp 18:51:11 then with it 18:51:13 in the emulated system 18:51:31 well you wouldn't gain much since it would still have the same total computational resources 18:51:36 I think 18:51:44 true 18:51:54 isn't openmp really ugly? 18:52:09 ehird, it is one of the less ugly ways to add threading IMO 18:52:10 I mean 18:52:16 compare with phtreads call over all the app 18:52:17 to 18:52:28 #pragma omp parallel for 18:52:36 for (whatever ....) 18:52:57 to me openmp seems like the least bad alternative in fact 18:53:40 ehird, oh and cfunge is of course already coded so to make use of SSE where possible by allowing gcc vectorizer to convert loops to use SSE 18:53:41 however 18:53:49 gcc's vectorizer still suck 18:54:10 it has problems detecting if the overhead of setting up sse is larger than the benefit 18:54:20 basically you loose on it for few iterations and gain for many 18:54:28 I heard that would be fixed in gcc 4.4.... 18:54:30 AnMaster if I wrote a cfunge patch for trds would you accept it 18:54:30 :P 18:54:40 ehird, I would at least review it 18:54:49 ehird, also it must be possible to turn it off 18:54:49 it would avoid touching the rest of the code by doing run-time code modifiation on the rest of cfunge 18:54:50 >:D 18:54:54 since it would break ick otherwise 18:55:13 IFFI can't work with threads 18:55:27 which is one of several reasons concurrent funge is a compile time option 18:56:12 ehird, bbiab, going afk for a few minutes 18:56:29 oh and a multilib build will probably take longer than a non-multilib one 19:01:17 -!- kar8nga has joined. 19:01:42 -!- moozilla has quit (Read error: 104 (Connection reset by peer)). 19:01:50 -!- moozilla has joined. 19:04:26 -!- moozilla has quit (Read error: 54 (Connection reset by peer)). 19:04:27 -!- metazilla has joined. 19:05:27 oh, metazilla IS the one from reddit. 19:07:08 um how can that be? 19:08:16 huh they've switched isps from last i checked 19:08:36 i guess they are the same after all, on two isps, but the same set of two nicks, conflicting... 19:13:10 18:42 i just found this http://alienate.on.nimp.org/profile 19:13:12 [DON'T CLICK] 19:13:23 yeah can we kick him for being an idiot in other channels? 19:14:16 metazilla, are you there? 19:16:14 he's talking in #reddit 19:16:15 and ignoring us 19:16:58 -!- metazilla has quit (Read error: 54 (Connection reset by peer)). 19:17:06 -!- metazilla has joined. 19:17:30 ehird, sure it is same person? 19:17:37 99% 19:17:43 err 19:17:50 their join/parts coincide 19:17:52 one is moozilla the other is metazilla 19:17:56 their join/parts coincide 19:17:58 they alternative? 19:18:01 alternate* 19:18:05 and they both enter #reddit 19:18:25 mhm 19:19:06 ehird, I have met this person on another network before, if he talks I can probably see if the style is familiar 19:19:18 he's talked in here before 19:19:23 in much the same way as in #reddit 19:19:27 he's obviously the same person :P 19:19:28 -!- metazilla has quit (Read error: 104 (Connection reset by peer)). 19:19:42 -!- metazilla has joined. 19:20:04 ehird, with different isps 19:20:14 sigh 19:20:15 both 19:20:16 switch 19:20:18 not just one 19:20:19 true 19:20:34 ehird, why not ask him directly? 19:20:51 i'd have to attempt to communicate with him. plus, he is obviously the same person 19:22:22 ehird, I'm on another network where he is, I'm oper there so I can know there is only one of him and he keeps reconnecting 19:22:31 and he uses the .dyn.centurytel.net one 19:22:33 only 19:22:38 nobody gives a shit AnMaster 19:22:41 he's the same person, end of 19:22:52 19:19 metazilla has joined (n=moozilla@207-118-28-35.dyn.centurytel.net) 19:22:53 see that n=? 19:22:59 yes and? 19:23:01 sigh 19:23:09 metazilla: are you moozilla of #reddit. 19:23:28 ehird, 1) it makes no sense to ignore one 2) it makes no sense to use totally different isps 19:23:50 1) ignore one? What? 2) proxies. different machines. maybe one's a shell. who knows 19:24:04 ehird, 1) ignore one client, the one in here 19:24:14 no, he ignores this channel 19:24:15 does he speak on both over in reddit? 19:24:18 because he's talking in reddit 19:24:20 AnMaster: yes 19:24:25 hm ok 19:24:36 ehird, as in *both isps? 19:24:39 both* 19:24:40 obviously the two isps have different channel settings 19:24:45 yes god damnit AnMaster 19:24:47 right 19:24:49 stop acting confused 19:24:51 he's the same person 19:24:54 i've told you this 5 times 19:24:59 who? 19:25:00 what? 19:25:04 only one is here, maybe it's only the other one he is present at 19:25:05 confused? what is that? 19:25:08 eh? 19:25:21 oerjan, ??? 19:25:44 AnMaster: maybe one is his home machine and he is not there, and that happens to be the one in this channel 19:26:16 i.e. he really doesn't see messages here 19:26:37 that would make sense 19:26:39 or to the centurytel.net 19:27:05 oerjan, but ehird just said he talked from both clients and isps on redit 19:27:12 i dont recall 19:27:13 jesus christ 19:27:15 i don't even care 19:27:22 this is the most tedious pointless conversation ever 19:27:24 ok both are same 19:27:24 sure 19:27:25 it's the same person 19:27:27 get over yourself :P 19:27:29 right whatever 19:27:31 anyway 19:27:36 gcc still compilin 19:27:36 g 19:27:40 right 19:27:43 was just about to ask that 19:29:42 yeah let's talk about _real_ frustrations instead :D 19:30:08 software sucks 19:30:37 ehird, how do you feel about FPGAs? 19:30:43 do they suck too? 19:30:55 everything sucks 19:30:55 19:30 grab your dick you fucking helmut 19:30:57 stunning intellect 19:31:06 found a flaw with oerjan's propositio 19:31:06 n 19:31:11 there is no way this guy is employed 19:32:37 British Gov't wants private firms to build $12b super database for tracking every citizen's Internet usage, phone call, text message, and other transactions --reddit 19:32:43 woop woop 19:32:52 uk<--->police state 19:32:53 uk<-->police state 19:32:57 uk<->police state 19:33:08 i didn't say the other was work, could be school 19:33:42 ehird, if you remove that last - it isn't so bad any more 19:33:48 heh 19:33:51 mathematical rope 19:33:55 at least not if <> is defined as in (iirc) perl 19:34:17 ehird, "mathematical rope"? 19:34:24 it turns into operators :P 19:34:28 aha 19:34:29 heh 19:34:34 the funny thing is, the uk is only not a total police state because our govt is too incompetent to implement its crazy schemes 19:34:36 also you went "heh" at something I said 19:34:39 this means 19:34:41 I HAVE HUMOR! 19:34:41 oh god 19:34:42 :P 19:34:42 -!- metazilla has quit (Read error: 104 (Connection reset by peer)). 19:34:43 world 19:34:45 ending 19:34:46 -!- metazilla has joined. 19:34:50 *CRASH* 19:34:57 *four white panels* 19:34:59 *GNNNNRGH* 19:35:01 *four fading in blue panels* 19:35:04 *BANG* 19:35:04 ... wait a second 19:35:07 where have I seen this before? 19:35:14 ehird, the explosion haven't ended yet 19:35:17 oh 19:35:19 you were too early 19:35:19 * ehird waits 19:35:23 something irregular is going on 19:35:30 what the UK needs is a bearocracy. 19:35:33 we just let bears run it 19:35:34 *CRASH* *BANG* *KABOOOM* 19:35:42 "mr bear, do you like this policy?" 19:35:42 there 19:35:45 now you can do it 19:35:48 "*MAUL* *RIP *CRUNCH*" 19:35:52 "OK, ok, we'll reject it" 19:35:55 AnMaster: k 19:35:58 *four white panels* 19:36:02 *four fading in blue panels* 19:36:05 where have I seen this before? 19:36:07 done 19:36:12 you forgot " ... wait a second" 19:36:17 too late now 19:36:20 bah. 19:36:25 time has been lost 19:36:43 oerjan, try Undelete for DOS ;P 19:36:51 -!- metazilla has quit (Read error: 104 (Connection reset by peer)). 19:37:01 everything is now pahpnenigt a hetmase mite 19:37:05 i used undelete onceuahsiuhiahi 19:37:09 oerjan: akhjkashdjkfhkjdg ndfkjgn 19:37:15 dsfj ids oa ofhi m, a ufua hiauh! askndaskd?? 19:37:17 jkahsdkjahdkJASHDklAJHSDJK!!! KAJHASD!! 19:37:24 sdfjsdfoijsdofijoijoi˝•¶¥¶̂̄†̂›†‹̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀NO CARRIER 19:37:37 INSERT PIGEON 19:37:40 (*&8•ª°·‡̄̄̄̄̄̄̄̄̄̄̄̄̄̄̄̄°·Y&*(YH9•ˍ(*̈ ̏•ª‡°‰Þ̂‡° ̏‡̂Þ¶ˆþ¶ˆþ¶ˆþˆ¶þ¯˙˝˜˚¯˛˝̛Ø̛̱̋̄̈ ̱̑ÐNO UNIVERSE 19:37:54 everything is now pahpnenigt a hetmase mite <--? 19:38:20 INSERT PIGEON INTO HOLE WHERE HOLE IS NULL? 19:38:22 : 19:38:23 :D* 19:38:38 hm 19:38:48 PLEASE SELECT FINE STRUCTURE CONSTANT FOR REBOOT > 19:38:52 Talk LIKE SQL day? 19:39:30 oerjan: hmmm 19:39:37 i'll go for... 19:39:42 +++ Divide By Cucumber Error. Please Reinstall Universe And Reboot +++ 19:39:58 oerjan: well a nice round number, how about 1 19:40:00 yeah, 1 19:40:02 1 19:40:10 ehird, bad one 19:40:12 iirc 19:40:18 naturally 19:40:18 UNIVERSE REBOOTING... 19:40:29 oerjan, what about other constants? 19:40:32 ((how long will this take...)) 19:40:44 ehird, not as long as compiling GCC 19:40:47 FORMING PUDDING 19:40:49 oerjan can I set pi? 19:40:58 if so I set pi to 3 (I am a religious man) 19:41:06 ehird, just hit the break key to enter the debugger 19:41:09 ah 19:41:10 and enter values 19:41:13 SORRY, PI IS IN THE BIOS ROM 19:41:19 damn 19:41:20 oerjan: oh okay. 19:41:23 how goes the reboot 19:41:25 can you redirect the mapping? 19:41:27 I mean 19:41:35 just remap in the MMU 19:41:40 so it use another PI 19:41:47 19:40 moozilla is now known as and_voidg2 19:41:47 19:40 now we can be null and void 19:41:48 19:41 for over 9000 lulz 19:41:48 first copy the original constant page of course 19:41:51 STARS COLLAPSING DUE TO LOW FSC 19:42:01 agh 19:42:02 ^C 19:42:04 let's try that again 19:42:11 # UNVRS 19:42:12 LIFE FORMING ON NEUTRON STARS 19:42:17 wait 19:42:20 this is interesting 19:42:22 hmm 19:42:22 okay 19:42:25 forget that ^C 19:42:30 indeed 19:42:32 i love sentient computer 19:42:32 s 19:42:39 ehird, it catches ^C anyway 19:42:44 INTELLIGENCE EVOLVED 19:42:44 how goes that life oerjan 19:42:46 ooh 19:42:52 ehird, you would have needed to use the reset key 19:42:52 can we communicate with it? 19:42:54 MANAGEMENT INVENTED 19:42:59 fuck 19:43:00 ARGH! 19:43:01 lost hope 19:43:04 ^C 19:43:09 ehird, doesn't work 19:43:12 oh right 19:43:13 use the reset button 19:43:14 UNIVERSE ABORTED 19:43:17 good 19:43:18 with a straighted out gem 19:43:20 # UNVRS 19:43:22 hm 19:43:26 let's try this again 19:43:40 hmm 19:43:41 # UNVRS 19:43:43 ehird, what about fine structure constant? NaN? 19:43:44 19:43:47 AnMaster: how about -1 19:43:58 ehird, wouldn't that be equally bad in the other direction? 19:44:02 but ok 19:44:04 try it 19:44:07 maybe it'll be equally good 19:44:11 oerjan: FINESTRUCTURE= -1 19:44:18 START 19:44:21 ehird, what about NaN if this doesn't work? 19:44:26 possibly 19:44:27 or 1/0 19:44:35 ehird, 1.0/0.0 19:44:41 oerjan: ping 19:44:43 or it would be integer division by zero 19:44:47 which would be BAD 19:45:01 i think I broke the oerjanputer 19:45:07 * ehird hits reset 19:45:08 ehird, reset it too? 19:45:14 OERJANPUTER VERSION 8645645615 19:45:16 BY OERJANCORP 19:45:21 ehird, reset it too? 19:45:22 >oerjan< CTCP VERSION 19:45:22 -oerjan- VERSION irssi v0.8.10 - running on Linux i686 19:45:22 OERJANPUTER VERSION 8645645615 19:45:23 wtf 19:45:24 "SERVING YOUR UNIVERSAL NEEDS SINCE INFINITY BC" 19:45:26 you scare me :P 19:45:28 HM 19:45:31 # 19:45:39 # UNVRS 19:45:47 * ehird waits for the universal simulation program to start up. 19:45:56 FINESTRUCTURE= -1 19:45:58 START 19:46:24 [gcc compiled yay] 19:46:27 * ehird kicks oerjan 19:46:51 THIS UNIVERSE IS CONSIDERABLY SLOWER, PLEASE HAVE PATIENCE 19:47:07 WHY IS IT SLOWER? 19:47:14 wait I just got an esolang idea 19:47:19 a language with "it" 19:47:23 ANTIMATTER GENERATED 19:47:30 where it made sense to refer to last object 19:47:32 or whatever 19:48:08 ANTIMOLECULES FORM 19:48:08 AnMaster: [ehird:~/cfunge/build] % PATH=~/gcc43/bin:$PATH DYLD_LIBRARY_PATH=~/gcc43/lib:$DYLD_LIBRARY_PATH LD_LIBRARY_PATH=~/gcc43/lib:$LD_LIBRARY_PATH ccmake .. 19:48:14 oerjan: awesome 19:48:16 ehird, I hope it works 19:48:22 um 19:48:23 it replies 19:48:25 "EMPTY CACHE" 19:48:32 ehird, well ok 19:48:33 hit c 19:48:35 ah 19:48:36 * ehird does configure 19:48:46 ehird, then check the values and change them as needed 19:48:49 and hit c again 19:48:51 and finally g 19:49:05 AnMaster: ok, what cflags again? 19:49:12 ... 19:49:15 <.< 19:49:32 ehird, I recommend CFLAGS="-march=core2 -pipe -O3 -ftracer -frename-register -fweb" for you 19:49:41 VACUUM BUBBLES FORM IN ANTIMATTER SOUP 19:49:44 and while we are at it 19:49:45 oerjan: awesome 19:49:46 jan 07 15:58:08 #include 19:49:46 jan 07 15:58:36 int main(void) { printf("%zu\n", sizeof(char*)); return 0; } 19:49:46 ehird, anyway check if it can compile hello world with those flags 19:50:10 oerjan, what about life? 19:50:16 [ehird:~] % ~/gcc43/bin/gcc -m64 -march=core2 64bit.c 19:50:16 [ehird:~] % ./a.out 19:50:17 8 19:50:18 anti-life? 19:50:19 great success 19:50:26 ehird, yay 19:50:29 ENABLE_TRACE *ON 19:50:32 should be off presumably 19:50:39 ehird, well yes it means -t doesn't work 19:50:42 ANTIPOLYMERS FORM IN BUBBLE BOUNDARIES 19:50:43 -t? 19:50:50 oerjan: i like this. 19:50:52 ehird, output trace of the running program 19:50:58 AnMaster: slows down presumably 19:51:09 ehird, not noticable in my tests 19:51:19 but sure you reduce one if test every now and then 19:51:24 you could maybe gain a bit 19:51:42 ill leave it on 19:51:45 STAR-SIZED BUBBLE ANTI-CELLS FORM 19:52:02 oerjan, wow 19:52:07 HARDENED *OFF 19:52:07 ? 19:52:09 oerjan: awesome 19:52:43 ehird, have it off 19:52:44 ANTI-CELLS REPRODUCE 19:52:48 it adds -fstack-protector 19:53:05 oerjan: hot 19:53:08 which would be 1) tricky to build for you 2) possibly slow down a bit 19:53:19 ok that worked 19:53:22 agh 19:53:23 i forgot the m64 19:53:29 ehird, just add to cflags 19:53:33 you can run ccmake . 19:53:35 to add it 19:53:45 set PATH of course 19:53:47 if needed 19:53:51 it probably isn't 19:53:58 % PATH=~/gcc43/bin:$PATH DYLD_LIBRARY_PATH=~/gcc43/lib:$DYLD_LIBRARY_PATH LD_LIBRARY_PATH=~/gcc43/lib:$LD_LIBRARY_PATH make 19:53:59 GO 19:54:07 [ 1%] Building C object CMakeFiles/cfunge.dir/lib/libghthash/cfunge_mempool.c.o 19:54:07 cc1: error: unrecognized command line option "-arch" 19:54:08 cc1: error: unrecognized command line option "-frename-register" 19:54:10 make[2]: *** [CMakeFiles/cfunge.dir/lib/libghthash/cfunge_mempool.c.o] Error 1 19:54:12 You're... 19:54:15 you're fucking kidding me 19:54:23 COMPETITION CAUSE ANTI-CELLS TO EVOLVE RUDIMENTARY NERVE GRAPH 19:54:40 AnMaster: how can I make cmake output what command line it uses 19:55:15 oerjan: I like this 19:55:20 hm 19:55:31 ehird, hit t to show advance entries 19:55:34 there is something like 19:55:42 CMAKE_VERBOSE_MAKEFILE 19:55:43 turn it on 19:55:44 hit c 19:55:45 hit g 19:55:53 I don't remember the exact name of the option 19:56:08 ANTI-CELLS EVOLVE, SHRINK TO PLANET SIZE TO THINK FASTER 19:56:19 AnMaster: http://pastie.org/private/jlmebg2apnzyxgij7hobw 19:56:26 there's no way I'm debugging that, you have a look :P 19:56:39 -arch x86_64 19:56:40 aha 19:56:53 ehird, it must be that OSX_ARCH thing 19:56:56 I believe 19:56:59 prolly 19:57:05 * ehird re"moo"ves it 19:57:10 moo? 19:57:10 GALACTIC SIZE ANTI-CELL SOCIETY FORMS 19:57:10 what? 19:57:15 dunno 19:57:17 oerjan, wow 19:57:19 oerjan: :DD 19:57:21 TAXES INVENTED 19:57:22 i fear what comes next 19:57:23 AAAAAAAAAAAGH 19:57:29 * AnMaster pushes reset 19:57:29 speak of the devil 19:57:31 ^C^C^C 19:57:39 SOCIALIST REVOLUTION 19:58:05 wait 19:58:05 what 19:58:05 this is good 19:58:05 oerjan, continue 19:58:05 AnMaster: it is building now 19:58:05 FASCIST COUNTERREVOLUTION 19:58:09 argh 19:58:11 dammit 19:58:14 let see if it turns better 19:58:15 again 19:58:23 ehird, wait a few lines before reset 19:58:36 AnMaster: you have a lot of "q printf length modifier" warning s:P 19:58:37 but 19:58:38 GAMMA BURST WAR KILLS 99% OF POPULATION 19:58:40 Linking C executable cfunge 19:58:40 [100%] Built target cfunge 19:58:44 oerjan: Awesome 19:58:44 ehird, that is due to OS X header issues 19:58:49 -rwxr-xr-x 1 ehird ehird 182K 2009-01-07 19:58 cfunge 19:58:56 ehird, cool 19:59:17 [100%] Built target cfunge 19:59:17 Install the project... 19:59:18 -- Install configuration: "Release" 19:59:20 ehird, apple headers use %q in inttypes.h to define the int64 printf 19:59:20 -- Installing: /usr/local/bin/cfunge 19:59:22 -- Installing: /usr/local/share/man/man1/cfunge.1 19:59:24 ehird, install not needed 19:59:28 as I said 19:59:30 ok, where's mycology 19:59:31 CAPITALISM INVENTED, RIDICULED 19:59:35 ridiculed 19:59:36 ha 19:59:39 ehird, at Deewiant's website 19:59:42 bah 19:59:43 k 19:59:59 [ehird:~/cfunge/examples] % cfunge hello.bf 19:59:59 Hello world! 20:00:08 ehird, well that should indeed work 20:00:10 I was hoping to see "segmentation fault" 20:00:12 Yes quite. 20:00:16 Deewiant: lol 20:00:21 ehird, what I'm not sure is mycoterm 20:00:24 it may have issues 20:00:32 I would be very interested in someone checking that on OS X 20:00:48 FORCED EUGENICS BREED OUT AGRESSION, WARS END, BUT SO DOES FREEDOM 20:00:50 it works on linux and freebsd but I don't know how portable my hacks to make both it and TERM work are 20:00:54 sanity.bf first right 20:00:59 ehird, sure 20:01:02 and mycology.b98 20:01:07 then mycouser.b98 20:01:13 finally mycoterm.b98 20:01:15 sanity.bf works 20:01:19 ehird, expected 20:01:23 don't forget mycotrds!!!!11one 20:01:39 brb phone 20:01:40 AnMaster: mycology works 20:02:30 -!- Mony has quit ("Quit"). 20:02:53 mycoterm time 20:02:54 ALIEN ANTI-POLYHEDRAL SPECIES ENCOUNTERED, RELIGIOUS ZEALOTS 20:03:17 Trying to clear the first line with HL, press enter to continue... 20:03:17 NCRS loaded. 20:03:19 , might not work after I: using S instead, so if R and S don't work, nothing will be seen. 20:03:21 Calling 1I, press enter to continue... 20:03:23 that looks odd 20:03:25 is it correct? 20:03:39 Testing S... 20:03:39 S didn't reflect, continuing... 20:03:52 ok 20:03:54 mycoterm worked 20:03:54 I think 20:04:06 now I'm brbing 20:06:10 EXPANSION OF SPACE CAUSES EMPTY REGIONS TO FORM, ENERGY SHORTAGE 20:07:20 HYPERSPACE TRAVEL NOW POSSIBLE. RELIGIOUS ZEALOTS CONQUER KNOWN UNIVERSE. 20:07:43 back 20:07:53 ehird, great! 20:07:58 ehird, when you get back: 20:08:15 time cfunge mycology.b98 >/dev/null 2>&1 20:08:21 run it twice or so 20:08:28 to avoid disk cache slowdown 20:08:29 and such 20:08:46 oerjan, wow 20:08:49 oerjan, and then? 20:09:28 ANTI-CELLS SHRINK TO SAVE ENERGY, REACH MOUNTAIN SIZE. APOCALYPTIC THEOCRACY. 20:10:06 oerjan, damn 20:10:30 WIDESPREAD REBELLION AGAINST DEFAITIST RELIGION. NUCLEAR WARS. 20:10:40 err 20:10:51 NUCLEAR? don't you mean ANTI-NUCLEAR? 20:10:57 ER, YES 20:11:31 right 20:11:57 SURVIVORS CREATE GOLDEN DEMOCRATIC AGE, THUS IRONICALLY FULFILLING A PROPHECY 20:12:06 what PROPHECY? 20:13:01 UNFORTUNATELY THAT PROPHECY WAS ABOUT WHAT WOULD HAPPEN _AFTER_ UNIVERSE DIES. RELIGIOUS DEFAITISM REPLACED BY SCIENTIFIC DEFAITISM. 20:13:22 DEFAITISM? 20:13:25 wtf is that 20:13:31 aspell doesn't like it 20:13:37 CHECKING... 20:13:37 nor does google 20:14:19 DEFEATISM 20:14:26 means? 20:14:43 ah 20:14:44 right 20:14:48 found a definition 20:15:01 oerjan, ok bad 20:15:06 oerjan, what happens next? 20:15:10 anything good? 20:15:30 POPULATION SLOWLY DECREASES WHILE UNIVERSE EXPANDS AND COOLS 20:15:35 ok 20:15:39 no more interesting 20:15:43 oerjan, reset universe 20:15:48 RESET UNIVERSE 20:15:50 * AnMaster resets it 20:16:05 *BURP* 20:16:31 # UNVRS 20:16:44 FINESTRUCTURE= 0 20:16:47 START 20:16:50 * AnMaster waits 20:17:05 NO ELECTROMAGNETIC FORCE 20:17:17 oerjan, is there something else instead? 20:17:21 or is everything static? 20:18:00 UNIVERSE FILLED WITH BLACK HOLES 20:18:05 oops 20:18:12 oerjan, life on black holes? 20:18:52 UNIVERSE COLLAPSES 20:19:06 oerjan, reset 20:19:11 # UNVRS 20:19:17 FINESTRUCTURE= NaN 20:19:19 START 20:19:53 WEIRD PARTICLES ARISE 20:20:22 INSANE OSCILLATIONS IN PHOTON DYNAMICS 20:20:23 oerjan, then? 20:20:30 wow cool 20:20:47 oerjan, tell me more 20:20:59 go on! 20:21:01 _SOMETHING_ ARISES. IS IT INTELLIGENT? WHO KNOWS: BUT IT CERTAINLY HAS TENTACLES. 20:21:08 argh 20:21:20 oerjan, don't mention it's name! 20:21:34 SPAWNS UNCOUNTABLE OFFSPRING 20:21:39 oerjan, RESET 20:21:41 RESET! 20:21:55 REJECTS CONCEPT OF DEATH 20:22:02 ARGH! 20:22:12 * AnMaster resets the oerjanputer 20:22:26 * AnMaster reinstalls from system disks 20:22:37 # SELF-TEST 20:22:38 HUMANS ATTEMPT TO KILL US. MUST EXTERMINATE HUMANS. 20:22:46 * AnMaster pulls the plug 20:23:27 * AnMaster checks on the oerjanputer 20:23:52 THE STARS ARE NOT RIGHT FOR US TO LIVE. WILL SLEEP UNTIL BETTER TIMES COME. 20:23:57 ah 20:24:12 * AnMaster resets the CMOS RAM 20:24:14 SHOULD TAKE ABOUT ... 3 YEARS. 20:24:35 oerjan, I reset your CMOS RAM 20:24:41 feeling better? 20:24:48 wiped disk too and reinstalled 20:25:26 * AnMaster carefully boots the oerjanputer with UNVRS not yet installed 20:25:26 well except something in the walls seems to be chuckling evilly. i guess that's just imagination. 20:25:31 # SELF-TEST 20:25:41 # VIRUS-SCAN 20:25:59 # REMOVE_OLD_ONES 20:26:08 NO OLD ONES FOUND 20:26:33 EVERYTHING SEEMS PERFECTLY FNIE 20:26:36 # SECURELEVEL=3 20:26:39 FNIE? 20:26:41 no it isn't 20:26:49 SORRY, I MNEAT FINE 20:26:57 MNEAT? 20:27:06 no I don't believe you 20:27:08 MM? 20:27:13 * AnMaster shuts oerjan don't 20:27:17 * AnMaster replaces components 20:27:30 there all replaced even the chassi 20:27:48 spelling... 20:27:49 anyway 20:28:02 * AnMaster boots oerjanputer and reinstalls the OS from a clean isntall media 20:28:14 * AnMaster reboots from new shiny disk 20:28:18 # SELF-TEST 20:28:28 why is there a note on my desk - "Dear emergency ration, gone to vacation in the pacific ocean. cheers, the old guy." 20:28:43 wtf 20:28:49 I don't understand that 20:29:03 * AnMaster installs UNVRS 20:29:12 # UNVRS 20:29:29 "P.S. you think a being beyond mathematics cannot download from a computer?" 20:29:55 FINESTRUCTURE= 1/137.03599907098 20:30:16 START 20:30:19 oerjan, well 20:30:31 INFLATION 20:30:49 oerjan, you should have used a sandboxed UNVRS 20:30:55 oerjan, then what? 20:30:56 but i did 20:30:57 back 20:30:58 unzip? 20:31:13 ehird, seems fine structure = NaN created the old ones 20:31:14 :( 20:31:49 oerjan, anyway what happens after inflation? 20:32:46 * AnMaster pokes oerjan 20:32:48 BARYOGENESIS 20:32:57 ok 20:33:14 oerjan, what are the quarks made of? 20:33:18 if they exist yet 20:33:38 is the string theory correct? 20:33:48 AnMaster: what time line do you want me to run again 20:33:59 ehird, hm? 20:34:02 ACTUALLY THEY ARE MADE OF FLUTES 20:34:05 ehird, I'm running one 20:34:05 AnMaster: cfunge 20:34:10 PHOTON EPOCH 20:34:12 ehird, oh right 20:34:21 time cfunge mycology.b98 >/dev/null 2>&1 20:34:23 AnMaster: you know, management is going to be invented 20:34:26 with real-world parameters 20:34:37 ehird, yes but it was worse on the alternatives 20:34:48 hm 20:34:53 what about same value but -? 20:35:01 it'll just be anti-everyhing 20:35:02 ehird, could that be worth trying? 20:35:05 oerjan: reset 20:35:07 # UNVRS 20:35:12 ehird, don't use NaN 20:35:14 *BURP* 20:35:16 FINESTRUCTURE= infinity 20:35:17 it created the great old ones 20:35:18 START 20:35:20 wow 20:35:24 what the heck will that do 20:35:30 why do you think i'm trying 20:35:32 ehird, also what did time report 20:35:55 ehird, wait if it is anti-everything there will be anti-management 20:35:58 ha 20:36:06 ehird, won't that be good? 20:36:07 wait how do you run a command N times in bash 20:36:09 UNIVERSE FILLED WITH PLASMA 20:36:14 plasma cool 20:36:16 ehird, hm? 20:36:23 AnMaster: like from i in 1..10 20:36:40 ehird, for i in ${1..10}; do ... ; done 20:36:40 GRAVITY OVERWHELMED BY ELECTROMAGNETISM 20:36:41 or 20:36:52 oerjan: awesome 20:36:54 I hate gravity 20:37:02 ehird, for ((i=1; i<10; i++)); do ... ; done 20:37:04 that works too 20:37:26 % for i in ${1..30}; do (time cfunge mycology.b98 >/dev/null 2>&1) >>times; done 20:37:27 will that be OK? 20:37:33 ehird, sure I guess 20:37:37 you can take averages 20:37:40 zsh: bad substitution 20:37:41 of all except first 20:37:43 when I said bash I meant zsh 20:37:46 ehird, you asked for bash 20:37:48 not zsh 20:37:48 :D 20:37:50 * ehird does it in bash 20:37:51 and zsh I don't know 20:37:55 MATTER CONSTANTLY GENERATED 20:37:58 bash: ${1..30}: bad substitution 20:37:59 phail 20:38:03 oerjan: awesome 20:38:03 ehird, err what 20:38:17 ehird, sorry 20:38:19 tired 20:38:19 * ehird bets the next thing to happen in infinite-fine-structure universe is the invention of management or something 20:38:21 remove the $ 20:38:21 so 20:38:27 % for i in {1..30}; do (time cfunge mycology.b98 >/dev/null 2>&1) >>times; done 20:38:35 UNIVERSE CRYSTALIZES INTO SOLID 20:39:03 oerjan, what is this huge crystal made of? 20:39:11 AnMaster: kay, made several runes of that for 120 runs total 20:39:11 MOSTLY DIAMOND 20:39:12 runs 20:39:15 messed it up 20:39:17 will do one big run 20:39:22 ehird, hm 20:39:39 oerjan: then taxes are invented? 20:39:45 no 20:39:50 management for positive 20:39:55 taxes for negative I thinj 20:39:58 think* 20:40:15 AnMaster: ok im going to run it 100 times 20:40:19 note that i have other stuff running 20:40:21 so it won't be perfect 20:40:24 ehird, well ok 20:40:32 like 10% of cpu used, so. 20:40:51 ehird, I generally stop X before running speed tests 20:41:01 MICRO-MANAGEMENT INVENTED 20:41:06 oerjan: aaaaaaaaaaaaaaaaaaaaa 20:41:09 micro-management? 20:41:12 wtf is tha? 20:41:14 TURNS OUT HARMLESS, AS MICROSTRUCTURES ARE NONSENTIENT 20:41:26 phew 20:41:51 AnMaster: average is 0.62 http://pastie.org/354977.txt?key=inzzwzudzj4u82liaeozw 20:41:54 MICROSTRUCTURES USE MICROMANAGEMENT TO COMBINE INTO LARGER STRUCTURES 20:41:56 ehird, interesting 20:41:56 fluctuates due to computer being busy in parts :P 20:41:57 err 20:41:59 0.062 20:42:00 sorry 20:42:02 :P 20:42:13 ehird, what is the speed per core? 20:42:21 also are you using dynamic cpu speed? 20:42:23 AnMaster: 2.1ghz or so 20:42:25 also, dunno 20:42:29 STUPIDITY INVENTED. MUCH CARNAGE. 20:42:33 ram = 2.5gb fwiw 20:42:35 oerjan: :D 20:42:43 AnMaster: but stuff is running 20:42:44 so 20:42:50 ehird, L1 and L2 cache? 20:43:04 Uhh, second 20:43:07 * ehird checks 20:43:07 cfunge mycology.b98 > /dev/null 2>&1 0.03s user 0.03s system 92% cpu 0.062 total 20:43:09 wait what 20:43:12 ATTEMPT TO INVENT TAXES CAUSES REBELLION AGAINST STUPID LEADERS 20:43:13 that doesn't add up 20:43:15 AnMaster: what 20:43:15 at all 20:43:20 why not 20:43:29 0.03s user 0.03s != 0.062 total 20:43:32 or anything near 20:43:38 what should it be 20:43:40 usually they are about half of total each here 20:43:51 also, 3+3=6... 20:43:52 ehird, ok so what is the rest that isn't user or system? 20:43:55 Er, 0.03 + 0.03 = 0.06; that's pretty close. 20:44:03 ah right 20:44:04 true 20:44:09 0.002 extra :P 20:44:12 well 20:44:15 I read it as 0.003 20:44:16 :P 20:44:18 ha 20:44:24 what speeds do you get AnMaster 20:44:56 ehird, with vmware running in background around 0.061 second, when X isn't running sometimes down to 0.035 20:45:03 64-bit Sempron 3300+ 20:45:07 which runs at 2 GHz 20:45:15 128 kb L1 20:45:16 ok, so basically the same with gui running etc 20:45:17 except 20:45:19 mine's a bit faster 20:45:26 since, os x is way more bloated on the memory & cpu 20:45:27 :P 20:45:27 err 20:45:30 yeah 20:45:31 it is 20:45:35 ANARCHIC GOVERNMENT FORMS BASED ON TEN COMMANDMENTS. THESE INCLUDE 1. THOU SHALT NOT LEVY TAXES 5. THOU SHALT NOT MANAGE. 20:45:44 oerjan: that sounds like management to me :P 20:45:47 great 20:45:52 fungot: Are you still alive? Haven't seen you talk in a while. 20:45:52 fizzie: " another back of the book, when he knows what he did to get on the cases of others to make yourself feel better. why not? small—the preceding wikipedia:sign your posts on talk pagesunsigned comment was added by special:contributions/ fnord ( user fnord) 20:45:53 oerjan, what are the 8 other ones? 20:45:56 wait... 20:45:57 ANARCHIC GOVERNMENT? 20:46:00 something is up :P 20:46:07 ehird, no that doesn't make sense 20:46:09 exactly 20:46:10 3. THOU SHALT NOT ASK TOO MANY QUESTIONS. 20:46:10 :D 20:46:27 * ehird starts system profiler 20:46:32 oerjan, aha, oppresses freedom of questioning 20:46:34 THE WORD "GOVERNMENT" IS USED IN A LOOSE SENSE HERE 20:46:35 AnMaster: L2 cache = 4mb 20:46:40 ehird, wow 20:46:42 what 20:46:43 much better than mine 20:46:46 heh 20:47:01 baisc overview: 20:47:13 ehird, and the remaining 7? 20:47:16 intel core 2 duo, 2.16 ghz, 2 cores, 4MB L2, 2.5 GB, and bus speed 667 MHz 20:47:21 err 20:47:22 the busses in this country, they are electric. 20:47:22 oerjan, ^ 20:47:32 AnMaster: he was implying your question was too much 20:47:35 ah 20:47:37 ok 20:47:40 that was... the joke :P 20:47:42 oerjan, what happens next? 20:47:52 AnMaster: gonna run some more programs with cfunge 20:47:58 ehird, nice 20:48:04 ehird, there is a game of life 20:48:06 in examples 20:48:11 it should be very fast 20:48:27 ehird, I don't know if jitfunge works on os x 20:48:42 but if it doesn't you see the good thing with portable software I hope :D 20:48:44 * AnMaster runs 20:49:06 I'd hardly expect a jit to be portable :P 20:49:14 nor would I 20:49:20 life is nice and fast, yep 20:49:32 too fast :P 20:49:33 CRYSTAL PHILOSOPHERS MANAGE TO REDUCE NUMBER OF COMMANDMENTS TO 4. (NO. 3 WAS ONE OF THOSE TO GO.) GOLDEN AGE OF ENLIGHTENMENT. 20:49:35 ehird, try it with ccbi or rc/funge if you want 20:49:37 can you tell cfunge to delay? 20:49:42 jitfunge doesn't, at the moment; although it might with some tweaking. 20:49:45 ehird, alas no such feature have been added 20:49:47 oerjan: :D 20:49:57 My only OS X box is a powerpc, so I can't really port it with it. 20:50:06 AnMaster: just deoptimize a bit :P 20:50:10 oerjan, what are the ones left now? 20:50:25 We did some speed-benchmarking with something like (build/jitfunge life.bf > life.txt &); sleep 20 ; killall jitfunge ; ls -l life.txt and then comparing the life.txt output size. Silly but... silly. 20:50:27 ehird, ok that is easy 20:50:36 src/funge-space/funge-space.c 20:50:42 look for size constants near the start 20:50:45 hehe 20:50:47 defines size of static array 20:50:56 ehird, change those as needed to get the right speed 20:51:01 the concurrent hellos worl 20:51:01 life is befunge93 20:51:03 work 20:51:04 Said static array is conveniently just barely big enough to hold mycology :-P 20:51:18 Deewiant, yes it is the largest program I know 20:51:18 % time cfunge pi2.bf >/dev/null 20:51:18 cfunge pi2.bf > /dev/null 0.22s user 0.01s system 99% cpu 0.233 total 20:51:24 That's quite slow 20:51:34 ehird, ccbi is even slower iirc 20:51:38 also it is befunge93 20:51:46 it doesn't use fpdp 20:51:47 or such 20:51:55 Ok 20:52:17 ehird, note some of the *.bf ones may need -s 93 20:52:18 4. THOU SHALT NOT ATTEMPT TO GET POWER OVER OTHERS, UNDER PENALTY OF DEATH. (THIS IS THE ONLY CRIME WITH PUNISHMENT MORE THAN A FINE.) 20:52:37 oerjan: how is the penalty assigned? 20:52:38 ehird, to use the befunge93 space in string rules 20:52:41 Doesn't that involve getting power over others? 20:52:57 VERY CAREFULLY. 20:53:00 :D 20:53:08 Deewiant, sometimes fungot is is outside the area when running underload programs but since fitting all that in would require the array to be 128 MB in RAM on 32-bit builds... 20:53:08 AnMaster: somehow, one or both of the culture of europe/ fnord 17:43, 7 may 2008 ( utc 20:53:27 Deewiant, apart from that mycology is largest yes 20:54:15 oerjan, what is the physical composition of the world? 20:54:25 you talked about crystal 20:54:29 but made of what? 20:54:35 AnMaster: the fine structure constant is infinity, I don't think he can answer that reasonably :P 20:54:56 ehird, hm maybe not 20:55:06 oerjan, what happens next? 20:55:31 MOSTLY DIAMOND, I SAID 20:55:33 By the way, is it possible to write a fingerprint and license it under non-gpl3? 20:55:36 oh right 20:55:37 sorry 20:55:39 I mean, it'll be linked with cfunge... 20:55:54 ehird, tricky question, I allowed that for IFFI iirc 20:55:58 however I have an idea 20:56:00 somewhat like kernel 20:56:06 marking some interfaces 20:56:06 like 20:56:21 "as a special exception you are allowed to use these routines in non-gpled fingerprints" 20:56:22 or such 20:56:30 ehird, I might add that in next version 20:56:34 however right now: nop 20:56:40 Damn. 20:56:54 ehird, but it is a good idea to add linking exception 20:56:57 to a well defined interface 20:57:05 What if I want to use dark internals? :-P 20:57:17 ehird, then you are out of luck, same as for kernel 20:57:18 GAME OF TETRIS INVENTED. GOLDEN AGE OF ENLIGHTENMENT GIVES WAY TO GOLDEN AGE OF PROCRASTINATION. ECONOMY COLLAPSES BUT FEW CARE. 20:57:28 ouch 20:57:40 and tetris is boring too 20:57:42 oerjan: awesome 20:58:03 AnMaster: is not 20:58:05 tetris is great 20:58:12 ehird, snake is better 20:58:14 IMO 20:58:17 ELITE PROGRAMMERS RULE THE WORLD, WHILE CAREFUL NOT TO LET ANYONE NOTICE. 20:58:26 oerjan, not too good 20:58:26 oerjan: can the next event be a war between tetris and snake lovers? 20:58:31 no 20:58:35 the tetris lovers should win, by the way. 20:58:37 also nethack is better than both 20:58:56 I dunno, I like the simplicity of tetris. 20:59:09 FIRST PERSON SHOOTERS INVENTED. 20:59:26 oerjan, do these run on computers? 20:59:34 ehird, I prefer games with a goal and ending 20:59:44 snake lacks it too 20:59:45 yes 20:59:54 Tetris: Goal, clear all lines. Ending, sure, when you get to the last level. 21:00:05 ehird, there is no last level usually 21:00:15 it just goes on with higher and higher 21:00:18 in those I played 21:00:26 In tetris? I think the official versions have a last level. 21:00:32 huh 21:00:38 ö 21:00:39 ehird, what about LEMMINGS?! 21:00:41 o 21:00:46 AnMaster: you got me there 21:00:48 lemmings is amazing/ 21:00:51 oerjan, what happens next? 21:01:02 THEORY OF VIOLENT GAMES CAUSING VIOLENCE CONFIRMED. 21:01:06 ha 21:01:18 VIOLENCEINVENTED? 21:01:19 er 21:01:19 hm 21:01:21 with a space 21:01:27 tetris does not have a last level, implementations may, but pure mathematical tetris does not have an ending 21:01:31 ATTEMPT TO BAN VIOLENT GAMES CAUSES VIOLENT REVOLUTION. 21:01:34 oklofok, indeed 21:01:34 pure mathematical tetris. 21:01:38 yes 21:01:54 ehird, yes of course 21:02:10 schools should teach tetris theorems 21:02:11 oerjan, then what? 21:02:17 ehird, hah 21:02:31 ehird, theoretically only of course 21:02:34 yes 21:02:42 ehird, no actual playing 21:02:53 The original Game Boy Tetris (I mean "original Game Boy", not original Tetris) has a "last level" in the sense that it stops getting any faster, but you can still keep playing. The score-meter maxes out at some point, though. 21:03:02 actually playing tetris is punished 21:03:16 ehird, hah 21:03:18 fizzie: the original tetris was the game boy tetris i think 21:03:23 yes 21:03:25 i think so too 21:03:35 oerjan, what happens next!? 21:03:40 Er, no. 21:03:40 REALISTIC VIRTUAL REALITY INVENTED, REDUCING REAL VIOLENCE AGAIN 21:03:44 "originally designed and programmed by Alexey Pajitnov in June 1985, while working for the Dorodnicyn Computing Centre of the Academy of Science of the USSR in Moscow." 21:03:47 oerjan, haha 21:03:47 well, okay fizzie 21:03:50 oerjan, great 21:03:51 but it was the first mass-commercial one 21:03:52 The Game Boy version comes in 1989 or so. 21:03:52 i think 21:03:54 oerjan: :DD 21:03:56 fizzie: wp isn't always right 21:03:58 oerjan, what then? 21:04:12 oklofok: Still, I've seen at least one documentary about the game. 21:04:24 oklofok: That's an Independent Source! 21:04:27 fizzie: documentaries aren't always right, ehird is, iirc 21:04:38 oklofok: I don't think you recall correctly. 21:04:42 oh. 21:04:58 then i guess you might be somewhat right. 21:05:11 oklofok: [2008-05-08 19:41:00] < ehird> my previous one was wrong 21:05:13 oklofok: See. 21:05:16 MASS MIND UPLOADING HAPPENS, 90% OF POPULATION NOW COMPUTER PROGRAMS 21:05:22 happy new year!!! 21:05:24 oerjan: kickass 21:05:26 oerjan, that sucks 21:05:27 lament: slightly late 21:05:29 lament, lag? 21:05:30 i did play tetris long before gameboys were invented, but, well, you know, might've been like chess in disguise or something. 21:05:32 AnMaster: no it doesn't 21:05:32 it's AWESOME 21:05:59 AnMaster: bug report, "Befunge93/98/08" in header. 21:06:00 copyright 21:06:11 ehird, hm? 21:06:15 it's 108 21:06:20 ehird, typo indeed 21:06:39 POPULAR VIRTUAL REALITY REGION CREATED BASED ON HYPOTHETICAL FSC OF 1/137.036 21:06:41 IMPORTANCE: MEDIUM 21:06:53 TYPE: TYPO CORRECTION 21:06:58 ehird, also it is 109 by now 21:06:58 AnMaster: PRIORITY: CRITICAL 21:07:03 also, it's unneeded :P 21:07:07 PRIORITY: LOW 21:07:13 oerjan: awwwwwwwwww 21:07:16 oerjan: wait 21:07:22 oerjan: is this going to be recursive? 21:07:23 :x 21:07:26 NO 21:07:28 ouch 21:07:31 YES YES YES 21:07:34 IT WAS NOT _THAT_ POPULAR 21:07:45 oh, okay. 21:07:50 so um 21:07:54 this is getting slightly boring :D 21:08:01 ehird, hm 21:08:13 FSC=10^aleph-0? 21:08:28 oerjan: reset 21:08:33 well 21:08:34 save state 21:08:35 then reset 21:08:37 for later 21:08:41 yes indeed 21:08:45 this was a good one 21:08:48 ehird, so what now? 21:08:55 I already tried 0 21:08:59 i have an idea. 21:09:05 # UNVRS 21:09:07 was just black holes then collapse 21:09:13 FINESTRUCTURE= BUILT_IN_PI 21:09:15 PI= 3 21:09:16 START 21:09:25 (so FINESTRUCTURE is 3.14(etc), and PI is 3) 21:09:31 ehird, interesting 21:09:35 what about e? 21:10:07 ehird, I think we will get triangular wheels... 21:10:22 SIMULTANEOUSLY ROUND AND CUBICAL PLANET FORMED 21:10:31 wow 21:10:31 oerjan: wait wait 21:10:33 that's a bit fast 21:10:37 oerjan, yes indeed 21:10:38 what about the forming due to the fine structure? :D 21:10:39 too faster 21:10:44 yes 21:10:45 indeed 21:10:49 ^CREWIND;RESUME 21:10:51 REWINDING... 21:11:06 ehird, err isn't it ^G? 21:11:13 AnMaster: sentient computer. 21:11:15 you can basically do whatever. 21:11:16 ah 21:11:21 GRAVITATIONAL ORBITS UNSTABLE 21:11:27 neato 21:11:31 nice 21:11:33 SIMULTANEOUSLY ROUND AND CUBICAL PLANET FORMED? :P 21:11:40 nah 21:11:50 SIMULTANEOUSLY CUBICAL AND ROUND PLANET FORMED? :P 21:11:50 I bet 21:12:16 SIMULTANEOUSLY CUBICAL AND CUBICAL PLANET FORMED? :P 21:12:34 SIMULTANEOUSLY ROUND AND HEXAGONAL SPIRAL GALAXY FORMED 21:12:39 Whoa. 21:12:39 ah 21:12:42 My brain. 21:12:54 ehird, nah that is easy to think about 21:13:13 it's round, hexagonal and spiral 21:13:15 at the same time. 21:13:25 a programmer was asked, what sexual positions does he know. 21:13:35 he thought for a while. 21:13:38 and said. 21:13:57 said what? 21:14:07 said. 21:14:13 oh haha 21:14:14 itym: 21:14:14 1. he above, she underneath 21:14:15 said "". 21:14:19 2. she above, he underneath. 21:14:19 o 21:14:24 3. both above. 21:14:27 4. both underneath. 21:14:28 GALAXY DISSOLVED DUE TO UNSTABLE GRAVITATIONAL ORBITS, BUT NOT BEFORE SIMULTANEOUSLY ROUND AND CUBICAL STARS FORM 21:14:43 lament, and what else? 21:14:46 lament: i wish that made sense 21:14:49 oerjan: awesome 21:14:54 how long until intelligence :D 21:15:13 ehird, don't be silly, this is an emergent system 21:15:19 you can't track it like that 21:15:20 ehird: it makes sense. 21:15:25 you need to run it an see 21:15:27 SINGLE STARS UNSTABLE. BINARY STAR SYSTEMS STABLE UNDER RIGHT CONDITIONS. 21:15:37 oerjan, wow 21:15:41 neat 21:15:47 *STAR SYSTEMS 21:15:51 -!- kar8nga has left (?). 21:16:31 oerjan, then what? 21:16:48 SIMULTANEOUSLY ROUND AND CUBICAL PLANET FORMED NEAR CENTER OF MASS OF BINARY STAR SYSTEM 21:17:04 oerjan, right 21:17:05 then what? 21:18:03 oerjan, then what? 21:18:13 LIFEFORMS EVOLVE FORMED LIKE HEXAGONAL WHEELS 21:18:19 :D 21:18:25 WHEEL INVENTED? 21:18:33 ehird, no, no 21:18:33 NO, EVOLVED 21:18:42 wagon invented! 21:19:19 MACROSCOPING LIFEFORMS FORM USING THE MOST EASILY EVOLVED MOVEMENT, THE ROUND HEXAGONAL WHEEL 21:19:34 MACROSCOPING? 21:19:39 *IC 21:19:43 ah 21:19:48 IC circuits? 21:19:48 -!- bsmntbombdood has quit (Read error: 113 (No route to host)). 21:20:10 ROUND CUBIC MOON CRASHES INTO WORLD, CAUSING MASS EXTINCTION 21:20:19 oerjan, damn 21:20:21 then what? 21:20:31 (ORBIT WAS UNSTABLE, OF COURSE) 21:20:36 yes 21:20:50 -!- bsmntbombdood has joined. 21:21:08 oerjan, then what? 21:21:14 AS WATER IS HIGHLY FLAMMABLE, LIFE MAINLY SPREADS ON DRY LAND 21:21:28 ehird, it looks like PI != BUILT_IN_PI works very well 21:21:31 doesn't* 21:21:40 looks interesting to me 21:21:43 hm 21:21:55 oerjan, next? 21:22:09 INTELLIGENT SOCIAL CREATURES (ON WHEELS) EVOLVE 21:22:22 WILLY ON WHEELS 21:22:22 ok... now what? 21:22:30 ehird, err? meme? 21:22:37 infamous wikipedia vandal 21:22:40 aha 21:22:42 all he did was: 21:22:45 yes sounds familiar now 21:22:47 DUE TO THEIR INTELLIGENCE THEY ARE CAPABLE OF UTILIZING THE DANGEROUS WATER FOR TECHNOLOGY SUCH AS HEATING 21:22:47 move a page named X to X on Wheels! 21:22:51 Goat -> Goat on Wheels! 21:23:00 oerjan: :D 21:23:07 oerjan, nice 21:23:48 oerjan, then what? 21:24:24 CIVILIZATION TAKES A HUGE LEAP FORWARD AS AN IMMENSELY MORE EFFECTIVE MEANS OF PROPULSION IS INVENTED: THE FOOT. 21:24:34 haha 21:24:40 oerjan, how does the foot work? 21:25:07 oerjan: any mathematicians yet? 21:25:16 RATHER THAN WHEELS, IT HAS SIX "TOES" TO PUT FORCE ON THE GROUND 21:25:18 are they looking for messages and codes in the elusive constant known as pi, roughly 3.00000000000000000000000? 21:25:39 PHILOSOPHY INVENTED 21:26:28 GREAT STRIDES ARE MADE BY UNDERSTANDING THE FUNDAMENTAL MATERIALS WATER, FIRE, AIR AND CHEWING GUM 21:26:30 ehird, err it is exactly 3 21:26:37 AnMaster: it was a joke 21:26:41 3.000000000000000000000000000000000000000000000000000000000000 21:27:01 SOME PHILOSOPHERS ATTEMPT TO GAIN A DEEPER UNDERSTANDING OF NUMBERS AND GEOMETRY. 21:27:05 :DD 21:27:11 yay 21:27:23 HOWEVER, THESE PEOPLE SWIFTLY AND INEVITABLE TURN INSANE FOR SOME REASON 21:27:31 :D 21:27:33 *INEVITABLY 21:27:36 oerjan, what is the ratio of a cube to it's side? 21:27:51 err 21:27:56 the side of a square 21:28:08 THE VOLUM OF A CUBE IS PI * R^3 21:28:09 to it's circumfence 21:28:12 *VOLUME 21:28:22 spelling 21:29:08 HM 21:29:26 "CIRCUMFERENCE" 21:29:26 oerjan, yes? 21:29:29 yes 21:29:32 what is the ratio of that 21:29:38 to the side of a square 21:30:00 NO ONE HAS EVER MANAGED TO FIND THAT OUT WITHOUT PANICKING 21:30:02 * AnMaster puts fence poles all around the circumference 21:30:25 oerjan: what next 21:30:34 yes what is next? 21:30:41 ARCHITECTURE IS INVENTED 21:30:47 ehird, also I got a great idea for the next one 21:30:56 ehird, I can't tell you yet but 21:31:15 oerjan: then? 21:31:30 ALTHOUGH ARCHITECTS TEND TO GO MAD AFTER A FEW YEARS 21:31:35 haha 21:31:41 hee 21:32:24 BUT WITH THE MIRACLES OF ARCHITECTURE, A 7 FEET (OR WHEEL) TALL TOWER IS CREATED REACHING ABOVE THE ATMOSPHERE 21:32:56 :D 21:33:00 AND TUNNELS ARE BUILT ALLOWING PEOPLE TO WALK (WELL, ROLL) ANYWHERE ON THE PLANET IN A FEW MINUTES 21:33:11 i like this 21:33:38 yes 21:34:38 AT THE SAME TIME, A 5 FEET BY 5 FEET AREA IS ENOUGH FOR A LARGE PALACE 21:34:42 :D 21:35:06 oerjan, what is one FEET in meters? 21:35:21 ABOUT 1/PI METERS 21:35:47 oerjan, ok 21:35:55 oerjan, anything interesting? 21:36:28 THANKS TO TECHNOLOGY THE PLANET NOW HAS ROOM ENOUGH FOR EVERYONE, BUT WITH EASY ACCESS THROUGH THE TOWERS SPACE EXPLORATION NEVERTHELESS STARTS TAKING PLACE 21:36:39 :D 21:36:52 oerjan, yay 21:37:03 oerjan: FASTFORWARd 21:37:05 oerjan: FASTFORWARD 21:37:08 ALTHOUGH SATELLITES TURN OUT TO BE HARD 21:37:13 oerjan, oh? 21:37:13 why? 21:37:16 (UNSTABLE ORBITS) 21:37:19 aha 21:37:21 right 21:37:28 just mount them at the top of the towers 21:38:11 oerjan, FASTFORWARD TO INTERESTING 21:38:14 A NETWORK OF TOWERS IS BUILT, AND A HUGE HEXAGON PLACED ON TOP OF THEM ENCIRCLING THE PLANET'S EQUATOR 21:38:23 oerjan, wow 21:38:25 then what? 21:38:57 oerjan: 21:39:03 ehird, I enter it 21:39:04 FROM THE LOW GRAVITY OF THE HEXAGON, SPACE WAGONS CAN EASILY TAKE OFF AND THE SOLAR SYSTEM IS SETTLED 21:39:04 ok? 21:39:14 hmm 21:39:15 ehird, you can save state 21:39:17 oerjan: fastforward 21:39:19 to really interesting 21:39:21 AnMaster: almost 21:39:55 oerjan, even the gas dwarfs and the stone giants? 21:40:14 YOU MEAN THE WATER DWARFS 21:40:19 oerjan, right 21:40:20 sorr 21:40:22 sorry* 21:40:32 oerjan, does slood exist? 21:41:04 1000 YEARS LATER A TRIANGULAR RING AROUND THE BINARY STAR HAS BEEN BUILT. ADVANCED ARCHITECTURE ALLOWS THIS TO BE USED FOR FTL TRAVEL 21:41:13 wow 21:41:18 ehird, time to save yet? 21:41:28 hmm 21:41:33 oerjan: really fast forward to most interesting thing ever 21:41:50 then save 21:42:00 yes 21:42:12 A BLACK HOLE IS FOUND IN A NEIGHBORING GALAXY, DESPITE BEING THOUGHT IMPOSSIBLE 21:42:18 ok 21:42:23 HARBORING AN ALIEN RACE 21:42:23 ehird, save the state 21:42:27 nice 21:42:30 oerjan is being extremely entertaining tonight 21:42:38 olsner, yes indeed 21:42:45 oerjan: save 21:42:52 ehird, reset it? 21:42:56 or shall I do that? 21:43:00 AnMaster: sure 21:43:06 oerjan, RESET 21:43:11 *BURP* 21:43:12 # UNVRS /I 21:43:12 ENTERING INTERACTIVE MODE . . . 21:43:12 1> FIND UNIVERSE WHERE EXISTS(SPACE TURTLES) AND EXISTS(MAGIC) AND EXISTS(DISCWORLD) AND EXISTS(SLOOD); 21:43:12 2> DUMP CONSTANTS; 21:43:29 * AnMaster waits for the computation 21:43:41 oh wait forgot 21:43:43 AnMaster: I predict fine structure will be non-numerical 21:43:44 3> EXECUTE; 21:43:51 there 21:43:57 ehird, very probably 21:44:10 ehird, either that or complex 21:44:16 FSC: I * ALEPH_3 21:44:20 ehird, also I asked it to dump all constant as you see 21:44:26 oerjan, other constants? 21:44:40 PI: 3.14159265358979... 21:44:47 how boring 21:44:48 :D 21:44:50 oerjan: what about E 21:44:50 oerjan, come on there are more 21:44:55 ehird, lets run it too 21:44:55 or the gravitational constant 21:44:58 AnMaster: wait 21:45:01 let's see what E & G are 21:45:02 or the planck one 21:45:03 E: 2.71828182818281828... 21:45:07 G? 21:45:09 Planck? 21:45:19 G IS DIMENSIONAL 21:45:24 wow! 21:45:24 Planck? 21:45:42 Planck? 21:45:51 oerjan: Planck? 21:45:51 NOT DIMENSIONLESS EITHER 21:45:55 oerjan, what is R? 21:45:59 oerjan: Planck!!!!!!!!!!? 21:46:18 ehird, err it has dimensions 21:46:23 nothing odd with that 21:46:27 i'm asking 21:46:29 what is the planck constant 21:46:29 :P 21:46:31 PLANCK NONEXISTENT. THAUMA = 1.7905 21:46:32 yes 21:46:37 oo. 21:46:37 yay 21:46:38 wait 21:46:39 oerjan 21:46:42 planck = tick, no? 21:46:46 http://en.wikipedia.org/wiki/Minor_Discworld_concepts#Tick 21:46:57 * ehird awaits "ER, YES" 21:47:09 I HAVE NOT READ ALL DISCWORLD BOOKS 21:47:14 :D 21:47:22 CONSTANTS+= LAST RESULT; 21:47:25 START 21:47:28 21:47:35 yay 21:47:40 HM? 21:47:46 we're setting the constants 21:47:50 to the one found by that query 21:47:53 and starting the universe 21:47:53 indeed 21:47:55 WAR OF GIANT TURTLES 21:47:59 :D 21:48:01 wait what? 21:48:08 that isn't how it worked, see Eric 21:48:16 shush 21:48:16 :P 21:48:25 same constants != identical 21:48:26 ehird, you read them all? 21:48:28 I'VE READ ERIC. OH RIGHT. 21:48:31 ehird, hm true 21:48:37 (LAST BOOK I READ, ACTUALLY) 21:48:46 DOESN'T MEAN I REMEMBER IT :d 21:48:53 *:D 21:48:58 oerjan, creator, sandwich 21:48:59 DARN CAPSLOCK 21:48:59 typoputer 21:49:05 AH YES 21:49:09 "typuter" 21:49:26 IT MAY OR MAY NOT HAVE BEEN A TURTLE SANDWICH 21:49:40 wtf it was majonäs? 21:49:42 iirc 21:49:44 anyway 21:49:46 go on 21:50:08 DEATH APPEARS 21:50:09 this could be one that matched the query but didn't match in all details 21:50:26 yes 21:50:47 DEATH SAYS: "YOUR CAPS LOCK IS IN VIOLATION OF MY REGISTERED TRADEMARK. PLEASE LEAVE THIS UNIVERSE IMMEDIATELY." 21:50:53 haha 21:50:55 :D 21:51:14 "THE END." 21:51:18 lol 21:51:20 okay 21:51:22 oerjan: RESET 21:51:23 argh 21:51:27 I was entering a command 21:51:30 *BURP* 21:51:37 # LIST 21:51:37 to enter stealth mode 21:51:42 ehird, err 21:51:43 DIR 21:51:46 no 21:51:50 this is oerjanix 21:51:50 no? 21:51:53 ah 21:52:21 wait 21:52:24 I just got an idea 21:52:26 * ehird awaits directory listing 21:52:40 what about running our universe pause at earth time, and set money? 21:52:42 or 21:52:44 even better 21:52:51 AnMaster: after the directory listing 21:52:53 * ehird awaits eorj 21:52:56 QUERY the system for 21:52:57 ./ ../ CTHULHU/ MISC/ UNIV/ 21:53:05 AnMaster: stop stop wait :P 21:53:10 # LIST CTHULHU 21:53:14 ehird, the important unsolved problems 21:53:17 PERMISSION DENIED 21:53:22 # SUDO LIST CTHULHU 21:53:23 ehird, no it was created by NaN universe 21:53:27 AnMaster: :D 21:53:30 we can just reboot it. 21:53:41 ehird, it didn't work, I even did a clean reinstall 21:53:49 eh, it's just a directory listing 21:53:52 boy, oerjanix is slow sometimes 21:53:53 hm 21:54:07 * ehird pokes oerjan 21:54:11 ehird, anyway what about the Riemann hypothesis 21:54:11 ./ ../ ESCAPE_REALWORLD@ HASTUR HASTUR HASTUR 21:54:17 yikes 21:54:19 ARGH 21:54:30 # SUDO OBLITERATE_DIRECTORY CTHULHU/ 21:54:50 PERMISSION DENIED. PLEASE REPORT FOR TERMINATION. 21:55:01 ehird, look what you done 21:55:01 -!- Corun has joined. 21:56:03 oerjan, what is next? 21:56:12 ehird, anyway 21:56:13 WHERE? 21:56:14 you fix it 21:56:17 but but 21:56:23 i'm root 21:56:42 ehird, oh I turned on securelevels before 21:56:44 up to 3 21:56:47 reboot it to fix 21:57:02 * AnMaster resets the oerjanputer 21:57:12 # SUDO OBLITERATE_DIRECTORY CTHULHU/ 21:57:13 *BURP* 21:57:25 -!- ehird has left (?). 21:57:27 -!- ehird has joined. 21:57:33 PERMISSION DENIED. AND I'M NOT HERE, ANYWAY. 21:57:39 -!- ehird has quit ("Caught sigterm, terminating..."). 21:57:45 -!- ehird has joined. 21:58:59 well 21:59:00 night 21:59:04 oerjan, it has been fun 21:59:04 good night 21:59:05 :) 21:59:05 oerjan: ping 21:59:13 * ehird has quit ("Caught sigterm, terminating...") 21:59:13 ah 21:59:15 bye 21:59:18 did you really crash? 21:59:22 Bouncer troubles. 21:59:27 ehird, it crashed? 21:59:35 bsmntbombdood: ais523: either 2 or 3 <<< 2 21:59:36 no, it was behaving weirdly 21:59:38 so i killed it 21:59:39 ehird, did you think some old one was involved? 22:00:08 night anwyay 22:00:12 bye 22:00:29 ehird, thanks for testing cfunge :) 22:00:38 now to break it 22:00:40 ehird, you know some new fingerprints lately are DATE and NCRS 22:00:42 * ehird pipes /dev/urandom to cfunge 22:00:47 I'm sure they both have bugs 22:00:55 ehird, see tools/fuzz-test.sh 22:00:59 * ehird does cfunge /dev/random 22:01:01 AnMaster: i'm not rebuilding 22:01:03 hmm 22:01:06 ehird, ok, true 22:01:07 does cfunge read the whole prog 22:01:09 before executing? 22:01:12 ehird, it mmaps() 22:01:14 and loads it all 22:01:19 will cfunge /dev/random not work then 22:01:21 so yes 22:01:24 ehird, 22:01:25 nop 22:01:31 ok, i'll use head 22:01:32 like 22:01:37 head --lines 30 22:01:43 ehird, and load that yes 22:01:48 % head --lines 30 /dev/urandom|cfunge /dev/stdin 22:01:50 that is what the fuzz test script does 22:01:52 err 22:01:54 mmap() on file failed: Invalid argument 22:01:54 Failed to process file "/dev/stdin": Invalid argument 22:01:55 :( 22:01:57 ehird, can you mmap() stdin? 22:02:01 guess not :P 22:02:03 >x; then 22:02:11 % head --lines 30 /dev/urandom>x; cfunge x 22:02:14 ehird, you way want a chroot 22:02:21 or it could overwrite your stuff 22:02:29 remember it has FILE IO 22:02:32 I think the likelihood of it hitting a valid funge program that does destructful stuff is slim 22:02:51 ehird, there is also -S that hopefully should successfully sandbox it 22:02:56 ehird, also out of memory can happen 22:02:57 or such 22:02:58 okay 22:03:00 maybe a psoxy should use an encoding that didn't rely on any specific character numbers. 22:03:03 % head --lines 5 /dev/urandom>x; cfunge -S x 22:03:03 consider a program like: 22:03:05 [SITS THERE] 22:03:06 >t< 22:03:10 at the first line 22:03:17 that will certainly OOM 22:03:21 why doesn't this terminate I wonder 22:03:30 ehird, you could run an infinite loop? 22:03:36 that is very likely 22:03:37 yeah but every single time? 22:03:42 ºdð^L­¯<98>VH³ÜL,g^HC^PÏÉ^\¬¦^N*4¸¢þ<97>¼>±^@¶¿R<9c>!]<9a>:;á* 22:03:44 that runs indefinitely 22:03:45 ehird, remember invalid commands reflect 22:03:46 so 22:03:48 ah 22:03:51 so infinite reflect 22:03:59 ehird, which results in infinite loop yes 22:04:01 * ehird cat -v then 22:04:20 % cat -v /dev/urandom|head --lines 10 >x; cfunge -S x 22:04:21 still infloops ;P 22:04:23 ehird, you will notice that the fuzz test script only tests valid chars 22:04:26 mm 22:04:27 to see anything interesting 22:04:40 ehird, it also needs a build calling alarm() 22:04:41 to end 22:04:43 why does it need a special build 22:04:49 ehird, to quit with alarm() 22:04:51 after a while 22:04:52 why 22:04:53 and 22:05:13 to not dump spurious confusing exit code on exit 22:05:14 psygnisfive: and simultaneously, do you like girls? do you like boys? <<< both 22:05:17 that confuse the script 22:05:21 AnMaster: This interface is made obsolete by setitimer(2). 22:05:21 :P 22:05:27 ehird, well 22:05:35 * ehird does fuzz-test _without_ alarm 22:05:36 you need to edit global.h anyway 22:05:54 tools/fuzz-test.sh: line 47: 205b: value too great for base (error token is "205b") 22:05:54 There must be a copy of the binary in the top source directory. 22:05:56 why 22:06:05 oklofok, we know you're bi 22:06:06 wtf 22:06:09 i was asking about bsmntbombdude 22:06:10 if [[ "${BASH_VERSINFO[0]}${BASH_VERSINFO[1]}" -lt 31 ]]; then 22:06:12 is the error line 22:06:13 but 22:06:17 why does the binary have to be in the top src dir 22:06:28 ehird, oh that is because of paths 22:06:31 anyway 22:06:43 ln -s `which cfunge` . 22:06:44 :P 22:06:52 ehird, yep 22:06:53 works fine 22:06:56 ehird, anyway it needs valgrind 22:07:00 oh. 22:07:00 comment that part ouyt 22:07:02 out* 22:07:07 ehird, read the comments in the script 22:07:11 it isn't very generic 22:07:27 also 22:07:41 s/# 2) Enable LEAK_MODE in cmake, or valgrind will fail./# 2) Disable USE_GC in cmake, or valgrind will fail./ 22:07:42 :P 22:07:45 old text 22:07:50 I'll update tomorrow 22:07:53 night now 22:07:56 by 22:07:56 e 22:08:06 * Generating random program 22:08:06 * Running free standing 22:08:08 * Exit code was 0, ok 22:08:18 ehird, the magic numbers in checkerror() may need changing 22:08:22 I don't know for your system 22:08:23 :P 22:08:30 anyway NIGHT 22:08:32 ow my memory 22:08:35 it sucks 22:08:39 computer that is 22:08:39 :P 22:08:44 ehird, what? 22:08:46 ehird, what? 22:08:52 i think it ran a mem hogger 22:09:02 fuzzer 22:09:03 ehird, you set ulimits I assume? 22:09:06 nope 22:09:06 :D 22:09:07 it would be stupid to not do it 22:09:12 psygnisfive: no bsmntbombdood 22:09:16 ehird, 60 MB or so on OS X I guess 22:09:16 :P 22:09:20 oh is he? 22:09:21 ok. 22:09:37 bsmnt_bot: hi 22:09:42 ~exec sys.stdout("hi") 22:09:42 it's bad enough you can't remember everything bsmntbombdood has said, you don't remember contexts in which you said your own lines 22:09:43 hi 22:09:51 i mean what's that about 22:10:01 get some social skills man 22:10:12 * oerjan swats oklofok -----### 22:10:23 well hey 22:10:33 psygnisfive asks, bsmntbombdood answers, i remember the answer, he doesn't 22:10:33 we don't use dirty words here! 22:10:39 oh :) 22:11:02 well, if bsmnt answered, i wasnt aware 22:11:40 he answered when you asked the time before that 22:11:44 "do you have sex with guys" 22:11:47 ah well. 22:11:49 "no. but for a technicality" 22:11:54 ehird, I may try to make it more portable this weekend 22:11:55 but not now 22:11:55 -!- GreaseMonkey has joined. 22:11:59 what was the technicality? 22:12:07 he's a virgin 22:12:09 i think 22:12:11 wast he implication 22:12:11 joke 22:12:11 for now you have to figure any issue out yourself with the fuzz test script. since I need to sleep 22:12:11 the same reason nerds don't get vag 22:12:12 thing 22:12:16 they're nerds 22:12:20 AnMaster: bye 22:12:21 I have piano lessons tomorrow morning 22:12:24 of course, bsmntbombdood might not really be a nerd, but anyway. 22:12:25 women are more beautiful than men 22:12:41 AnMaster: what do you play? 22:13:52 -!- psygnisf_ has joined. 22:14:06 wee power outage :D 22:14:15 oklofok, what was the technicality? 22:16:39 he told you. 22:16:42 virginity. 22:16:49 power outage dude. 22:16:56 i see. how old is bsmnt again? 22:17:35 like 17 or sth 22:17:39 maybe older now 22:17:46 i figured he was like 25. hm 22:17:58 i'm 42, and still a virgin 22:18:49 lament you're not 42 22:18:53 you're like 15 22:18:59 err no :P 22:19:06 AnMaster: ehird, also that looks fucked <<< caughtcha 22:19:08 think about this logically 22:19:10 he was here in 2002 22:19:23 yeah well, he was a youngun even then :P 22:19:35 somehow I doubt he was a 9 year old when he co-founded this place :P 22:19:44 you could've been! 22:19:58 no 22:20:00 lament is 7, i think 22:20:01 I was an idiot when I was 9 22:20:02 err or 6 22:20:12 ok im off to sit outside and enjoy the stormy atmosphere 22:20:12 he once told us he was 5 22:20:12 <3 22:20:13 my role is far more important than just co-founder 22:20:13 i think lament might be offended that you consider him 15 psygnisf_ 22:20:23 it was my suggestion to put the channel on freenode 22:20:26 :P 22:20:29 ok fine he's 16 22:20:30 opn, back then 22:20:30 lament: you probably remember the year 22:20:31 i think they wanted efnet 22:20:33 i'm bad at that 22:20:35 lament: ew 22:20:46 i'd never have heard of it in that case 22:20:47 good or bad? 22:20:48 you decide 22:20:49 well you can just calc that from your current age ofc 22:20:52 ehird: tricky 22:20:56 that was kinda stupid of me. 22:24:16 "hey everybody, i'm looking at gay porno", and a picture of a pussy. i agree, not very clever. 22:28:53 AnMaster: snake lacks it too <<< no 22:29:00 -!- psygnisfive has quit (Read error: 110 (Connection timed out)). 22:29:01 except snake on reals 22:31:33 oklofok: er, what 22:31:37 that site pops up 22:31:39 infinite popups 22:31:41 of shock sites 22:31:48 popup blocker i guess 22:31:51 it's Last Measure. 22:37:45 ehird: oh, well i have ie so there was just one. 22:37:53 you know, because it's so great? yeah you probably know 22:38:01 totally. 22:38:01 i don't use blockers 22:38:21 if ie has a popup blocker, i should probably remover it 22:39:05 -!- comex has quit ("Caught sigterm, terminating..."). 22:39:19 -!- comex has joined. 22:40:10 i mean it's not acceptable for a browser to need a popup blocker, wanting the browser to crash if a website does something weird is the exception, you should need to get an "infinite popup disblocker" for that 22:40:20 i would probably get it 22:40:55 because i could definitely kick an infinite amount of popup ass manually. 22:41:06 or is it more like pedally 22:41:10 -!- comex has quit (Client Quit). 22:41:23 -!- comex has joined. 22:45:11 -!- comex has quit (Client Quit). 22:45:25 -!- comex has joined. 23:10:10 * ehird considers saying fuck it to the modern invention of hypertext and instead publish articles as .txt 23:10:26 -!- KingOfKarlsruhe has quit (Remote closed the connection). 23:11:22 What is it about this Ruby thing? -- Gerson Kurz 2002 23:21:38 -!- oerjan has quit ("Good night"). 23:36:44 -!- jix has quit ("..."). 23:44:09 Use gopher 23:45:03 gopher sux 23:45:17 heresy :( 23:46:10 * ehird decides that the best way to say fuck it and never look at html again is to write a script which converts markdown into it with the basic headers and use it 23:46:14 i shall call it a "blog" 23:46:19 * ehird = revolutionary 23:46:49 -!- Corun has quit ("This computer has gone to sleep"). 23:47:08 you're meant to act surprised 23:47:11 and go wooooooah 23:48:36 wooooooah :o 23:49:10 amazing eh 23:49:20 quite so 23:49:26 but I'd rather have a phlog 23:49:46 * ehird flogs Asztal 23:49:49 er 23:49:50 Azstal: 23:49:53 (aaaaaaaargh) 23:52:06 -!- Azstal has quit ("I have that urge, Rimmer. It's got nothing to do with past lives."). 23:52:19 * ehird ponders and decides that google apps >>>>>> running my own mail server 23:52:34 that's what I decided too. 23:52:48 thankfully it allows catch-all addresses 23:54:10 -!- CakeProphet has joined. 23:56:20 you know, my life was a lot better before I ever read the word typography 23:56:41 now I'm obsessed 23:56:49 * ehird twitches 23:57:54 * ehird considers that nobody cares what he has to say so writing a blog is pointless 23:58:55 come to think of it, I should give up on IRC too