01:02:59 -!- Corun has quit ("This computer has gone to sleep").
02:08:37 <ais523> Slereah_: bsmnt_bot is a long-standing bot in this channel
02:08:49 <ais523> bsmntbombdood: does it still do Brainfuck?
02:09:09 <Slereah_> ais523 : but he usually shuts his trap
02:09:19 <ais523> someone's sending ~raw to it in /msg
02:09:28 <ais523> presumably bsmntbombdood, IIRC it doesn't work when other people do it
02:09:36 <ais523> ~raw PRIVMSG #esoteric :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 <MizardX> ~raw privmsg #esoteric :+ul (~raw privmsg #esoteric :Dangerous!)S
02:46:18 <ais523> MizardX: thutubot isn't here atm
02:46:37 <ais523> also, I still don't think bsmnt_bot responds to other people's ~raws
02:46:43 <ais523> I reckon bsmntbombdood sent it a copy of my ~raw in /msg to confuse people
02:47:03 <bsmnt_bot> +ul (~raw privmsg #esoteric :Dangerous!)S
02:47:48 * ais523 waits patiently for nothing to happen
02:48:10 <bsmnt_bot> SyntaxError: EOL while scanning single-quoted string
02:48:33 <ais523> that's the easiest way to tell, I wouldn't expect bsmnt_bot to do things out of order...
02:49:43 <kerlo> ~exec self.raw("JOIN ##nomic")
02:49:50 <kerlo> ~exec self.raw("PART ##nomic")
02:49:55 <kerlo> I love how easy that is to circumvent.
02:50:07 <ais523> ah, you're in ##nomic too
02:51:51 <kerlo> ~exec sys.stdout("foo")
02:51:55 <kerlo> ~exec sys.stdout(str("foo"))
02:51:59 <kerlo> ~exec sys.stdout(repr("foo"))
02:52:08 <ais523> someone find my BF interp in bsmnt-bot speak in the logs
02:52:15 <ais523> I had it in a text file, but the whitespace got corrupted
02:52:28 <ais523> (this is pretty much the direct cause of my hate for whitespace-sensitive languages)
02:52:46 <bsmntbombdood> ais523: programming over irc isn't exactly the usual usage case
02:53:02 <kerlo> ~exec (lambda x: sys.stdout(x + repr(x) + ')'))('~exec (lambda x: sys.stdout(x + repr(x) + \')\'))(')
02:53:03 <bsmnt_bot> ~exec (lambda x: sys.stdout(x + repr(x) + ')'))("~exec (lambda x: sys.stdout(x + repr(x) + ')'))(")
02:53:13 <ais523> I have written more Python in files than over IRC
02:53:15 <kerlo> ~exec (lambda x: sys.stdout(x + repr(x) + ')'))("~exec (lambda x: sys.stdout(x + repr(x) + ')'))(")
02:53:16 <bsmnt_bot> ~exec (lambda x: sys.stdout(x + repr(x) + ')'))("~exec (lambda x: sys.stdout(x + repr(x) + ')'))(")
02:53:23 <ais523> kerlo: repr's too clever for your first quine to work
02:53:31 <ais523> but that was pretty quick, well done
02:53:37 <kerlo> repr outclevered me!
02:53:53 <kerlo> Sometimes when a quine doesn't work, you can run its output instead. :-)
02:54:16 <ais523> I was talking about the original quine, but that's such a true observation
02:54:30 <MizardX> ~exec print 'a'; print 'b'
02:54:40 <ais523> MizardX: this is Python we're talking about...
02:55:04 <ais523> ~exec exec("print 'a'\nprint 'b'")
02:55:15 <ais523> but print won't do anything
02:55:26 <ais523> ~exec exec("sys.stdout('a')\nsys.stdout('b')")
02:55:42 <ais523> bsmntbombdood: by the way, have you ported bsmnt_bot to Python 3 yet?
02:55:44 <MizardX> ~exec sys.stdout(repr(locals()))
02:55:45 <bsmnt_bot> {'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': <class __main__.QuitIRC at 0xf7c7768c>, 'thread_info': <thread._local object at 0xf7cf68a8>, 'exec_global_tracer': <fun
02:55:45 <bsmnt_bot> ction exec_global_tracer at 0xf7c7db1c>, 'pprint': <module 'pprint' from '/usr/lib/python2.4/pprint.pyc'>, 'StopHandlingCallbacks': <class __main__.StopHandlingCallbacks at 0xf7c7765c>, 're': <module 're' from '/usr/lib/python2.4/re.pyc'>, 'SysWrapper': <class __main__.SysWrapper at 0xf7c8541c>, 'exec_local_tracer': <function exec_local_tracer at 0xf7c8a5dc>, '__doc__': No
02:55:45 <bsmnt_bot> ne, 'math': <module 'math' from '/usr/lib/python2.4/lib-dynload/math.so'>, 'IRCbot': <class __main__.IRCbot at 0xf7c7780c>, '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 <bsmnt_bot> uiltins__': <module '__builtin__' (built-in)>, '__file__': '/bot/ircbot.py', 'inspect': <module 'inspect' from '/usr/lib/python2.4/inspect.pyc'>, 'IRCFileWrapper': <class __main__.IRCFileWrapper at 0xf7c853ec>, 'sys': <module 'sys' (built-in)>, '__name__': '__main__', 'copy': <module 'copy' from '/usr/lib/python2.4/copy.pyc'>, 'types': <module 'types' from '/usr/lib/python
02:55:55 <bsmnt_bot> 2.4/types.pyc'>, 'RemoveCallback': <class __main__.RemoveCallback at 0xf7c776bc>, 'socket': <module 'socket' from '/usr/lib/python2.4/socket.pyc'>, 'thread': <module 'thread' (built-in)>, 'StringIO': <built-in function StringIO>, 'os': <module 'os' from '/usr/lib/python2.4/os.pyc'>, 'traceback': <module 'traceback' from '/usr/lib/python2.4/traceback.pyc'>, 'bot': <__main__
02:56:00 <bsmnt_bot> .IRCbot instance at 0xf7c8b6ec>, 'threading': <module 'threading' from '/usr/lib/python2.4/threading.pyc'>, 'time': <module 'time' from '/usr/lib/python2.4/lib-dynload/time.so'>, 'pickle': <module 'pickle' from '/usr/lib/python2.4/pickle.pyc'>, 'marshal': <module 'marshal' (built-in)>}, {...})}
02:56:09 <ais523> kerlo: introspection is fun
02:56:15 <ais523> especially with introspection/IRC bot mixes
02:56:28 <kerlo> I wonder how QuitIRC works.
02:56:30 <ais523> fun fact: it's possible to get gprolog to dump all the strings it knows of
02:56:34 <kerlo> ~exec sys.stdout(3)
02:56:38 <kerlo> ~exec sys.stdout(QuitIRC)
02:56:44 <ais523> some of them are filenames of files on the computers that built it
02:56:49 <kerlo> ~exec sys.stdout(dir(QuitIRC))
02:56:58 <kerlo> ~exec sys.stdout(dir(QuitIRC.__module__))
02:56:58 <bsmnt_bot> ['__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 <bsmnt_bot> 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:08 -!- oerjan has joined.
02:57:50 <kerlo> ~exec sys.stdout('No.')
02:58:10 <kerlo> ~exec QuitIRC.__init__()
02:58:13 <bsmnt_bot> AttributeError: class QuitIRC has no attribute '__init__'
02:58:29 <kerlo> ~exec QuitIRC('baroo?')
02:58:29 <bsmnt_bot> TypeError: this constructor takes no arguments
02:58:48 <MizardX> ~exec sys.stdout(sys.version)
02:58:58 <ais523> kerlo: join #bsmnt_bot_errors if you're trying to do proper development on bsmnt_bot
02:59:14 <kerlo> ~exec sys.stdout(repr(sys.version))
02:59:15 <bsmnt_bot> '2.4.3 (#1, Oct 25 2006, 21:45:16) \n[GCC 4.1.1 (Gentoo 4.1.1)]'
02:59:28 <ais523> I like doing revgenos in the room with the Castle wand
03:00:02 <kerlo> Well, that's boring.
03:00:21 <kerlo> ~exec QuitIRC.__init__ = lambda: bot.raw('QUIT')
03:00:40 <kerlo> ~exec raise QuitIRC
03:00:41 <bsmnt_bot> TypeError: <lambda>() takes no arguments (1 given)
03:01:04 <bsmnt_bot> TypeError: <lambda>() takes no arguments (1 given)
03:01:16 <kerlo> ~exec QuitIRC.__init__ = lambda *x: bot.raw('QUIT')
03:01:18 <bsmntbombdood> ~exec self.register_raw(r".*quit1234.*", lambda *args:raise QuitIRC)
03:01:37 -!- bsmnt_bot has quit.
03:01:45 <bsmntbombdood> python is dumb, you can't have statements in a lambda
03:01:47 -!- bsmnt_bot has joined.
03:02:15 <kerlo> On the contrary, any way of doing it is doing it right.
03:02:29 <kerlo> It's Python, so you can just say 'import ai' and it will automatically optimize everything.
03:02:39 <bsmnt_bot> 0: 'self.handle_callback(message, m, i)', 0.00 seconds
03:03:18 <kerlo> ~exec while 1: __import__('time').sleep(60)
03:03:22 <bsmnt_bot> 0: "while 1: __import__('time').sleep(60)", 3.96 seconds
03:03:22 <bsmnt_bot> 1: 'self.handle_callback(message, m, i)', 0.00 seconds
03:03:45 <MizardX> ~exec sys.stdout(os.getcwd())
03:04:08 * oerjan recalls something about "from future import". wouldn't that be more appropriate?
03:04:22 <ais523> from __future__ import put_some_new_feature_here
03:04:34 <bsmnt_bot> 0: "while 1: __import__('time').sleep(60)", 75.87 seconds
03:04:34 <bsmnt_bot> 1: 'self.handle_callback(message, m, i)', 0.00 seconds
03:04:42 <bsmnt_bot> 0: "while 1: __import__('time').sleep(60)", 83.81 seconds, killed
03:04:42 <bsmnt_bot> 1: 'self.handle_callback(message, m, i)', 0.00 seconds
03:04:43 <ais523> "from __future__ import braces" is a standard running joke in Python, it seems
03:04:54 <bsmnt_bot> 0: "while 1: __import__('time').sleep(60)", 96.32 seconds, killed
03:04:55 <bsmnt_bot> 1: 'self.handle_callback(message, m, i)', 0.00 seconds
03:04:58 <kerlo> Running while killed.
03:05:07 <kerlo> Just wait 10 seconds.
03:05:10 <bsmnt_bot> 0: "while 1: __import__('time').sleep(60)", 112.05 seconds, killed
03:05:10 <bsmnt_bot> 1: 'self.handle_callback(message, m, i)', 0.00 seconds
03:05:20 <bsmnt_bot> 0: 'self.handle_callback(message, m, i)', 0.00 seconds
03:05:43 * oerjan wondered why xkcd didn't use it in the alt text here: http://xkcd.com/521/
03:06:24 <MizardX> ~exec sys.stdout(os.popen('ls').read())
03:07:23 <oerjan> 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 <ais523> there are some features using it
03:07:43 <ais523> the from braces is a joke
03:07:57 <ais523> but genuinely it can be used to request features that are scheduled for future versions
03:08:02 <ais523> and are in this version, but not on by default
03:08:25 <ais523> sort of like Perl's very-slightly-backward-incompatible operators
03:08:33 <kerlo> ~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 <bsmnt_bot> TypeError: not enough arguments for format string
03:08:38 <kerlo> ~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 <bsmnt_bot> TypeError: not enough arguments for format string
03:08:39 <MizardX> ~exec sys.stdout(repr(dir(__import__('__future__'))))
03:08:44 <ais523> kerlo: you need an extra pair of parens
03:08:48 <bsmnt_bot> ['CO_FUTURE_DIVISION', 'CO_GENERATOR_ALLOWED', 'CO_NESTED', '_Feature', '__all__', '__builtins__', '__doc__', '__file__', '__name__', 'all_feature_names', 'division', 'generators', 'nested_scopes']
03:08:50 <ais523> around the right-hand arguments to %
03:08:53 <kerlo> ~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 <bsmnt_bot> Yo no conozco como nosotros dos somos los lobos
03:09:08 <kerlo> Now all I need to do is figure out how to make this compression algorithm actually make it smaller.
03:10:46 <kerlo> Anyway, everyone knows /// is the best compression format.
03:10:57 <MizardX> ~exec sys.stdout(repr(('o ',)*4 + ('os',)*5))
03:10:57 <bsmnt_bot> ('o ', 'o ', 'o ', 'o ', 'os', 'os', 'os', 'os', 'os')
03:12:15 <kerlo> /#/! //@/o //!/os/Y@n@conozc@com@n!otr#d#som#l#lob!
03:12:22 <kerlo> Who cares if it's longer than the original? :-P
03:14:12 <ais523> kerlo: that looks vaguely like Perl
03:14:44 <ais523> except don't you re-replace the !s you replace the #s with?
03:30:49 <bsmnt_bot> ('^:bsmntbombdood!\\S*gavin@\\S* PRIVMSG \\S* :~quit ?(.*)', 'do_quit'),
03:30:49 <bsmnt_bot> ('^:bsmntbombdood!\\S*gavin@\\S* PRIVMSG \\S* :~raw (.*)', 'do_raw'),
03:30:49 <bsmnt_bot> ('^\\S+ PRIVMSG \\S+ :~ctcp (\\S+) (.+)', 'do_ctcp'),
03:30:50 <bsmnt_bot> ('^:bsmntbombdood!\\S*gavin@\\S* PRIVMSG (\\S*) :~pexec (.*)', 'do_exec'),
03:30:51 <bsmnt_bot> ('\\S+ PRIVMSG (#esoteric|#baadf00d|#esoteric-blah|#bsmnt_bot_errors) :~exec (.*)',
03:30:54 <bsmnt_bot> ('\\S+ PRIVMSG \\S+ :~ps', 'do_ps'),
03:30:56 <bsmnt_bot> ('^\\S+ PRIVMSG (#esoteric|#baadf00d|#esoteric-blah|#bsmnt_bot_errors) :~kill (.*)',
03:31:00 <bsmnt_bot> ('^ERROR :Closing Link:.*', '<lambda>')]
03:31:29 <ais523> bsmntbombdood: that's pretty ridiculous security, you care about a nick of bsmntbombdood and a username of gavin?
03:31:36 <ais523> I can understand securing on just nick
03:31:48 <ais523> but nick (which is changeable) + username (which is changeable) doesn't add an extra layer of security
03:32:02 <ais523> I mean, for things like ~quit
03:32:10 <ais523> caring about the username as well as the nick seems a bit silly
03:32:17 <bsmnt_bot> AttributeError: 'module' object has no attribute 'quit'
03:32:48 <bsmnt_bot> NameError: name 'do_quit' is not defined
03:33:17 <bsmnt_bot> NameError: name 'self_do_quit' is not defined
03:33:22 <bsmnt_bot> AttributeError: 'str' object has no attribute 'group'
03:34:14 -!- bsmnt_bot has quit ("bye").
03:34:16 -!- bsmnt_bot has joined.
03:34:32 <ais523> I admit that the security's pointless in the first place
03:34:48 <bsmntbombdood> ais523: like i said, that was added before i put it in a chroot
03:36:18 <ais523> thutubot isn't chrooted
03:36:28 <oerjan> do_run_around_screaming
03:36:31 <ais523> but I do run it in taint mode
03:36:34 <bsmntbombdood> ~exec self.register_raw(r".*asdfgg.*", lambda *args: self.raw("PRIVMSG #esoteric :my pickle still works!!!"))
03:36:40 <bsmnt_bot> NameError: global name 'self' is not defined
03:36:43 <ais523> so in theory people can't do anything with it but print stuff to stdout
03:37:06 <ais523> (Thutubot's run via compiling to Perl, and interpreting the result)
03:37:25 -!- bsmnt_bot has quit (Client Quit).
03:37:27 -!- bsmnt_bot has joined.
03:37:34 <bsmntbombdood> ~exec self.register_raw(r".*asdfgg.*", lambda *args: bot.raw("PRIVMSG #esoteric :my pickle still works!!!"))
03:37:40 <MizardX> ~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 <bsmnt_bot> Yo no conozco como nosotros dos somos los lobos
03:37:44 <ais523> bsmntbombdood: Thutu is not exactly efficient in the first place
03:37:53 <bsmnt_bot> IOError: [Errno 13] Permission denied: 'penis'
03:37:57 <ais523> it's even slower than Ruby
03:38:20 <bsmnt_bot> AttributeError: 'module' object has no attribute 'ls'
03:38:27 <bsmnt_bot> AttributeError: 'module' object has no attribute 'ls'
03:38:39 <bsmnt_bot> AttributeError: 'module' object has no attribute 'dir'
03:38:47 <oerjan> it's rather convenient for esolangers that IRCbots only need to do stdin -> stdout IO...
03:39:14 <ais523> that's the only reason Thutubot's possible
03:39:31 <ais523> well, I could use PSOX
03:39:45 <oerjan> real bots are written in machine code!
03:39:53 <ais523> but that's written in Python, it would start a flamewar if it was hooked up to a Perl interpreter
03:40:11 <oerjan> a flamewar all inside itself
03:42:22 <ais523> write in Thue, you get multithreadedness for free
03:42:47 <ais523> (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 <ais523> easier in Thue than in Thutu, though
03:43:33 <ais523> http://esolangs.org/wiki/Thue
03:44:41 <ais523> no, I wrote one in Thutu
03:44:43 <ais523> http://esolangs.org/wiki/Thutu
03:46:23 <ais523> bsmntbombdood: if you're interested, http://filebin.ca/yzarrj/ul.t is an Underload interp I wrote in Thue
03:46:42 <ais523> pretty repetitive due to the lack of regexen
03:48:55 <ais523> bsmntbombdood: and http://pastebin.ca/1302138 is the source code to Thutubot
04:03:36 <ais523> psygnisfive: for which of those programs?
04:04:02 <ais523> all this is making me very confident about the Great Underlambda Project, when I get round to it
04:04:23 <ais523> which is a project to make compilers to Underlambda from as many known esolangs as possible
04:04:32 <ais523> and compilers from Underlambda to as many known TC esolangs as possible
04:04:36 <ais523> thus making them all interconvertible
04:04:51 <ais523> Underlambda interps in various langs will also be included
04:05:08 <ais523> ...and Underlambda is an Underload-based language I am currently designing to work well in this project
04:12:33 <ais523> psygnisfive: an Underload-like lang I haven't finished yet
04:12:39 <ais523> and whose spec keeps changing and is mostly stored in my head
04:12:46 <ais523> http://esolangs.org/wiki/Underload
04:13:13 <ais523> Underlambda is higher-level, but compiles into a subset of itself that's slightly lower-level than Underload
04:13:42 <ais523> which is an important trick to be able to compile both into it and out of it easily
04:14:27 * oerjan is amazed, no SHOCKED that psygnisfive hasn't grabbed onto this yet
04:14:52 <psygnisfive> i think the aSS part is completely irrelevant. lol
04:14:55 <Slereah_> I was making ass jokes of underload before it was cool
04:15:36 <oerjan> that's some IMPORTANT ass
04:15:52 <ais523> psygnisfive: the aSS stuff is coincidence
04:16:10 <ais523> the quine didn't even look like that in Overload, it just turned out like that once I tarpitted it into Underload
04:16:43 <oerjan> BUT YOUR SUBCONSCIOUS DISAGREES
04:17:06 <ais523> my subconcious must have been working on Underload way before me, in that case
04:18:09 <MizardX> ~exec sys.stdout('privmsg #esoteric :^ul (~exec sys.stdout("privmsg #esoteric ::P)S")')
04:18:09 <bsmnt_bot> privmsg #esoteric :^ul (~exec sys.stdout("privmsg #esoteric ::P)S")
04:18:24 <MizardX> ~exec sys.stdout('^ul (~exec sys.stdout(":P)S")')
04:18:42 <ais523> MizardX: you want an extra S at the end of that
04:18:57 <ais523> or something like that
04:19:10 <MizardX> ~exec sys.stdout('^ul (~exec sys.stdout(":P"))S')
04:19:10 <fungot> ~exec sys.stdout(":P")
04:22:37 <ais523> do you want me to create a botloop again?
04:22:40 <ais523> or will I get in trouble for that?
04:22:58 <ais523> let me think, I haven't done it with bsmnt_bot/fungot yet
04:22:58 <fungot> 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 <ais523> fungot: Godwin's law invoked, you lose
04:23:11 <fungot> ais523: nope, he only serves his country, democratic or fnord. user:ted wilkested wilkes 20:46, 6 december 2005 ( utc)
04:23:56 <psygnisfive> the most elegant programming language ever!
04:24:16 <Slereah_> That's because C is like a boner in your butt
04:24:23 <psygnisfive> no, the language with boner arrays and butt loops
04:24:46 <bsmntbombdood> because they can just change the keywords and the language is just as elegant...
04:24:48 <psygnisfive> obviously the most elegant programming language ever is either scheme or haskell.
04:25:05 <bsmntbombdood> also, the most elegant programming language ever can't look like C
04:25:08 <ais523> psygnisfive: or Prolog
04:25:16 <ais523> which is elegant a different way
04:25:44 <psygnisfive> simple binding doesnt but unification does
04:28:13 <MizardX> ~exec (lambda s='~exec (lambda s=%r: sys.stdout(s%%s))()\n': sys.stdout(s%s))()
04:28:14 <bsmnt_bot> ~exec (lambda s='~exec (lambda s=%r: sys.stdout(s%%s))()\n': sys.stdout(s%s))()
04:28:28 <ais523> ^ul (a(:^)*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*):^
04:28:37 <ais523> ^ul (a(:^)*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S):^
04:28:37 <fungot> ~exec sys.stdout("""^ul (a(:^)*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S):^""")
04:28:37 <bsmnt_bot> ^ul (a(:^)*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S):^
04:28:37 <fungot> ~exec sys.stdout("""^ul (a(:^)*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S):^""")
04:28:38 <bsmnt_bot> ^ul (a(:^)*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S):^
04:28:38 <fungot> ~exec sys.stdout("""^ul (a(:^)*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S):^""")
04:28:38 <bsmnt_bot> ^ul (a(:^)*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S):^
04:28:38 <fungot> ~exec sys.stdout("""^ul (a(:^)*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S):^""")
04:28:38 <bsmnt_bot> ^ul (a(:^)*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S):^
04:28:38 <fungot> ~exec sys.stdout("""^ul (a(:^)*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S):^""")
04:28:38 <bsmnt_bot> ^ul (a(:^)*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S):^
04:28:38 <fungot> ~exec sys.stdout("""^ul (a(:^)*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S):^""")
04:28:39 <bsmnt_bot> ^ul (a(:^)*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S):^
04:28:40 <fungot> ~exec sys.stdout("""^ul (a(:^)*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S):^""")
04:28:40 <bsmnt_bot> ^ul (a(:^)*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S):^
04:28:42 <fungot> ~exec sys.stdout("""^ul (a(:^)*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S):^""")
04:28:42 <bsmnt_bot> ^ul (a(:^)*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S):^
04:28:44 <fungot> ~exec sys.stdout("""^ul (a(:^)*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S):^""")
04:28:44 <bsmnt_bot> ^ul (a(:^)*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S):^
04:28:45 <ais523> someone break the loop!
04:28:46 <fungot> ~exec sys.stdout("""^ul (a(:^)*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S):^""")
04:28:46 <bsmnt_bot> ^ul (a(:^)*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S):^
04:28:48 <fungot> ~exec sys.stdout("""^ul (a(:^)*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S):^""")
04:28:48 <bsmnt_bot> ^ul (a(:^)*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S):^
04:28:50 <fungot> ~exec sys.stdout("""^ul (a(:^)*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S):^""")
04:28:50 <bsmnt_bot> ^ul (a(:^)*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S):^
04:28:52 <fungot> ~exec sys.stdout("""^ul (a(:^)*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S):^""")
04:28:52 <bsmnt_bot> ^ul (a(:^)*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S):^
04:28:54 <fungot> ~exec sys.stdout("""^ul (a(:^)*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S):^""")
04:28:54 <bsmnt_bot> ^ul (a(:^)*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S):^
04:28:56 <fungot> ~exec sys.stdout("""^ul (a(:^)*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S):^""")
04:28:56 <bsmnt_bot> ^ul (a(:^)*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S):^
04:28:58 <fungot> ~exec sys.stdout("""^ul (a(:^)*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S):^""")
04:28:58 <bsmnt_bot> ^ul (a(:^)*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S):^
04:29:00 <fungot> ~exec sys.stdout("""^ul (a(:^)*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S):^""")
04:29:00 <bsmnt_bot> ^ul (a(:^)*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S):^
04:29:02 <fungot> ~exec sys.stdout("""^ul (a(:^)*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S):^""")
04:29:02 <ais523> bsmntbombdood: break the loop, please?
04:29:02 <bsmnt_bot> ^ul (a(:^)*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S):^
04:29:04 <fungot> ~exec sys.stdout("""^ul (a(:^)*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S):^""")
04:29:04 <bsmnt_bot> ^ul (a(:^)*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S):^
04:29:06 <bsmnt_bot> 0: 'self.handle_callback(message, m, i)', 0.00 seconds
04:29:06 <fungot> ~exec sys.stdout("""^ul (a(:^)*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S):^""")
04:29:08 <bsmnt_bot> ^ul (a(:^)*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S):^
04:29:08 <fungot> ~exec sys.stdout("""^ul (a(:^)*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S):^""")
04:29:10 <bsmnt_bot> ^ul (a(:^)*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S):^
04:29:10 <fungot> ~exec sys.stdout("""^ul (a(:^)*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S):^""")
04:29:12 <bsmnt_bot> ^ul (a(:^)*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S):^
04:29:12 <fungot> ~exec sys.stdout("""^ul (a(:^)*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S):^""")
04:29:14 <bsmnt_bot> ^ul (a(:^)*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S):^
04:29:14 <fungot> ~exec sys.stdout("""^ul (a(:^)*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S):^""")
04:29:16 <bsmnt_bot> ^ul (a(:^)*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S):^
04:29:16 <fungot> ~exec sys.stdout("""^ul (a(:^)*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S):^""")
04:29:18 <bsmnt_bot> ^ul (a(:^)*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S):^
04:29:18 <fungot> ~exec sys.stdout("""^ul (a(:^)*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S):^""")
04:29:19 <ais523> bsmntbombdood: just ~quit
04:29:20 <bsmnt_bot> ^ul (a(:^)*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S):^
04:29:20 <fungot> ~exec sys.stdout("""^ul (a(:^)*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S):^""")
04:29:22 <bsmnt_bot> ^ul (a(:^)*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S):^
04:29:22 <fungot> ~exec sys.stdout("""^ul (a(:^)*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S):^""")
04:29:23 -!- bsmnt_bot has quit (Remote closed the connection).
04:29:25 -!- bsmnt_bot has joined.
04:29:38 <ais523> second try, I forgot the S to output first try
04:29:40 <psygnisfive> so you just type ~exec sys.stdout("""^ul (a(:^)*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S):^""") ?
04:29:55 <ais523> well, I started on fungot not bsmnt_bot
04:29:56 <fungot> 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 <ais523> because that one's shorter
04:30:49 <ais523> I love Underload so much for writing quines...
04:30:58 <ais523> 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 <oerjan> bsmntbombdood: for a value of 15 close to 2
04:33:39 <oerjan> or wait you mean in #scheme?
04:34:10 <oerjan> you'd think scheme people would be accustomed to handling quines
04:34:30 <ais523> bsmntbombdood: was it a loop between two bots?
04:34:39 <Sgeo> <ais523> well, I could use PSOX
04:34:55 <Sgeo> What's this about PSOX?
04:35:03 <ais523> Sgeo: talking about how IRC using stdin/stdout was the only way that Thutubot could work
04:35:13 <ais523> and then remembering that PSOX would have provided an alternative if more streams were needed
04:35:28 <ais523> well, stdin/stdout can be mapped to the IRC streams, they generally aren't IRC by default
04:35:37 -!- bsmnt_bot has quit.
04:35:40 -!- bsmnt_bot has joined.
04:35:55 <Sgeo> But since you don't need extra streams, you're not using PSOX..
04:36:01 <oerjan> just checking if i remembered it
04:36:10 <ais523> not to mention that handling NULs is a bit tricky in most langs
04:36:12 <oerjan> in case someone else does a bot loop
04:36:29 <ais523> they can be expressed as \x0 in Thutu, just I don't know if putting them inside strings drives Perl mad
04:37:34 <Sgeo> 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 <ais523> 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:32 <Sgeo> ais523, lack of others expressing interest is the reason I abandoned PSOX
04:38:48 <ais523> yes, it's hard to get anyone to express interest in the eso world
04:39:00 <ais523> and most of the sort of things I work on, PSOX-stuff is irrelevant
04:39:14 <ais523> because I'm more interested in paradigms, which don't normally care about I/O
04:39:25 <Sgeo> 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:57 <ais523> it's been linked here several times in the past
04:41:06 <ais523> and I read it, and ehird read it once and probably still does
04:41:13 <ais523> and lots of other people here do too, I reckon
04:41:28 <Sgeo> Yes, I was referring to mezzacotta
04:41:38 <MizardX> ~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:51 <ais523> MizardX: what is that program?
04:42:13 <ais523> are you attempting a bot loop with trivial Underload rather than trivial Python?
04:42:41 <MizardX> ~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 <ais523> (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:43:14 <MizardX> mirc strips repeated whitespace
04:43:21 <ais523> oh, not particularly useful then...
04:43:22 <oerjan> my question is, can you make a loop where _both_ sides do copying
04:43:46 <ais523> oerjan: it's surely possible, but wouldn't that result in exponential growth?
04:43:53 <ais523> or would you delete one of the copies on each side?
04:44:16 <oerjan> well the copied part would be the execution of the other...
04:44:57 <MizardX> ~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 <bsmnt_bot> ^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 <fungot> ~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 <bsmnt_bot> NameError: global name 'n' is not defined
04:45:17 <MizardX> ~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 <bsmnt_bot> ^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 <fungot> ~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 <bsmnt_bot> ^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 <fungot> ~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 <bsmnt_bot> ^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 <fungot> ~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:42 <ais523> aha, a terminating botloop
04:45:43 <MizardX> that was what I was trying to do
04:45:47 <Sgeo> Is the mezzacotta algorithm public?
04:45:51 <ais523> now I have to write one in Underload
04:47:40 <Sgeo> 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:48:16 <oerjan> i feel it has deteriorated since the start though, not enough people voting
04:48:39 <oerjan> or maybe not enough people looking for new ones
04:48:46 <Sgeo> So the algorithm doesn't check to make sure the responses are semi-coherent or obey any sort of grammar?
04:49:14 <oerjan> there are several characters, some of which look at previous speech
04:49:36 <oerjan> some of the characters are not _intended_ to be coherent
04:50:08 <Sgeo> Where does it get "previous speech" from?
04:50:16 <Sgeo> And where can I get an FAQ on all this?
04:50:18 <oerjan> er the previous panels
04:50:36 <oerjan> you could look at the forum discussion, there is no FAQ
04:50:50 <oerjan> as i said the algorithm is not publicized
04:51:53 <oerjan> anything known is just deduced from the examples
04:52:47 <oerjan> you could say the characters resemble the themes in fungot, some of them
04:52:48 <fungot> oerjan: deleted the word ' ' av". ( i'd change it but although i've made a report to fnord for fnord
04:53:38 <oerjan> there's an eliza psychologist program, a mad scientist, someone quoting the D&D player's handbook or something like that
04:53:51 <Sgeo> How is it that there are two good comics in 9999999999999 BC?
04:54:16 <Sgeo> Also, where are the forums?
04:54:22 <oerjan> since it's the first year, someone went to the trouble of looking through all of them
04:54:55 <ais523> ^ul (:*:*:*):((!())~^):*^(a(~^:^)*(:((!())~^):*^)~*~:(:)~^~(*)~^(!!()())~*~**(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*)~^:^
04:55:04 <ais523> ^ul (:*:*:*):((!())~^):*^(a(~^:^)*(:((!())~^):*^)~*~:(:)~^~(*)~^(!!()())~*~**(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S)~^:^
04:55:04 <fungot> ~exec sys.stdout("""^ul :((!())~^):*^(a(~^:^)*(:((!())~^):*^)~*~:(:)~^~(*)~^(!!()())~*~**(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S)~^:^!!()()********::::::::""")
04:55:04 <bsmnt_bot> ^ul :((!())~^):*^(a(~^:^)*(:((!())~^):*^)~*~:(:)~^~(*)~^(!!()())~*~**(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S)~^:^!!()()********::::::::
04:55:17 <ais523> ^ul (:*:*:*):((!())~^):*^(a(~^:^)*(:((!())~^):*^)~*~:(:)~^~(*)~^(!!()())~*~*~*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S)~^:^
04:55:17 <fungot> ~exec sys.stdout("""^ul !!()()********:::::::::((!())~^):*^(a(~^:^)*(:((!())~^):*^)~*~:(:)~^~(*)~^(!!()())~*~*~*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S)~^:^""")
04:55:17 <bsmnt_bot> ^ul !!()()********:::::::::((!())~^):*^(a(~^:^)*(:((!())~^):*^)~*~:(:)~^~(*)~^(!!()())~*~*~*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S)~^:^
04:55:30 -!- moozilla has joined.
04:55:37 <ais523> ^ul (:*:*:*):((!())~^):*^(a(~^:^)*(:((!())~^):*^)~*~:(:)~^~(*)~^(!!()())~**a~*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S)~^:^
04:55:37 <fungot> ~exec sys.stdout("""^ul (::::::::!!()()********):((!())~^):*^(a(~^:^)*(:((!())~^):*^)~*~:(:)~^~(*)~^(!!()())~**a~*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S)~^:^""")
04:55:38 <bsmnt_bot> ^ul (::::::::!!()()********):((!())~^):*^(a(~^:^)*(:((!())~^):*^)~*~:(:)~^~(*)~^(!!()())~**a~*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S)~^:^
04:55:38 <fungot> ~exec sys.stdout("""^ul (:::::::!!()()*******):((!())~^):*^(a(~^:^)*(:((!())~^):*^)~*~:(:)~^~(*)~^(!!()())~**a~*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S)~^:^""")
04:55:38 <bsmnt_bot> ^ul (:::::::!!()()*******):((!())~^):*^(a(~^:^)*(:((!())~^):*^)~*~:(:)~^~(*)~^(!!()())~**a~*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S)~^:^
04:55:38 <fungot> ~exec sys.stdout("""^ul (::::::!!()()******):((!())~^):*^(a(~^:^)*(:((!())~^):*^)~*~:(:)~^~(*)~^(!!()())~**a~*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S)~^:^""")
04:55:38 <bsmnt_bot> ^ul (::::::!!()()******):((!())~^):*^(a(~^:^)*(:((!())~^):*^)~*~:(:)~^~(*)~^(!!()())~**a~*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S)~^:^
04:55:38 <fungot> ~exec sys.stdout("""^ul (:::::!!()()*****):((!())~^):*^(a(~^:^)*(:((!())~^):*^)~*~:(:)~^~(*)~^(!!()())~**a~*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S)~^:^""")
04:55:39 <bsmnt_bot> ^ul (:::::!!()()*****):((!())~^):*^(a(~^:^)*(:((!())~^):*^)~*~:(:)~^~(*)~^(!!()())~**a~*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S)~^:^
04:55:40 <fungot> ~exec sys.stdout("""^ul (::::!!()()****):((!())~^):*^(a(~^:^)*(:((!())~^):*^)~*~:(:)~^~(*)~^(!!()())~**a~*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S)~^:^""")
04:55:41 <bsmnt_bot> ^ul (::::!!()()****):((!())~^):*^(a(~^:^)*(:((!())~^):*^)~*~:(:)~^~(*)~^(!!()())~**a~*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S)~^:^
04:55:43 <fungot> ~exec sys.stdout("""^ul (:::!!()()***):((!())~^):*^(a(~^:^)*(:((!())~^):*^)~*~:(:)~^~(*)~^(!!()())~**a~*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S)~^:^""")
04:55:44 <bsmnt_bot> ^ul (:::!!()()***):((!())~^):*^(a(~^:^)*(:((!())~^):*^)~*~:(:)~^~(*)~^(!!()())~**a~*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S)~^:^
04:55:46 <fungot> ~exec sys.stdout("""^ul (::!!()()**):((!())~^):*^(a(~^:^)*(:((!())~^):*^)~*~:(:)~^~(*)~^(!!()())~**a~*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S)~^:^""")
04:55:47 <bsmnt_bot> ^ul (::!!()()**):((!())~^):*^(a(~^:^)*(:((!())~^):*^)~*~:(:)~^~(*)~^(!!()())~**a~*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S)~^:^
04:55:49 <fungot> ~exec sys.stdout("""^ul (:!!()()*):((!())~^):*^(a(~^:^)*(:((!())~^):*^)~*~:(:)~^~(*)~^(!!()())~**a~*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S)~^:^""")
04:55:50 <bsmnt_bot> ^ul (:!!()()*):((!())~^):*^(a(~^:^)*(:((!())~^):*^)~*~:(:)~^~(*)~^(!!()())~**a~*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S)~^:^
04:56:01 <ais523> and there we have it, a terminating botloop
04:56:05 <ais523> where the Underlambda part does the counting
04:56:16 * ais523 makes it twice as long
04:56:21 <ais523> ^ul (:*:*:*:*):((!())~^):*^(a(~^:^)*(:((!())~^):*^)~*~:(:)~^~(*)~^(!!()())~**a~*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S)~^:^
04:56:21 <fungot> ~exec sys.stdout("""^ul (::::::::::::::::!!()()****************):((!())~^):*^(a(~^:^)*(:((!())~^):*^)~*~:(:)~^~(*)~^(!!()())~**a~*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S)~^:^""")
04:56:21 <bsmnt_bot> ^ul (::::::::::::::::!!()()****************):((!())~^):*^(a(~^:^)*(:((!())~^):*^)~*~:(:)~^~(*)~^(!!()())~**a~*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S)~^:^
04:56:21 <fungot> ~exec sys.stdout("""^ul (:::::::::::::::!!()()***************):((!())~^):*^(a(~^:^)*(:((!())~^):*^)~*~:(:)~^~(*)~^(!!()())~**a~*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S)~^:^""")
04:56:21 <bsmnt_bot> ^ul (:::::::::::::::!!()()***************):((!())~^):*^(a(~^:^)*(:((!())~^):*^)~*~:(:)~^~(*)~^(!!()())~**a~*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S)~^:^
04:56:22 <fungot> ~exec sys.stdout("""^ul (::::::::::::::!!()()**************):((!())~^):*^(a(~^:^)*(:((!())~^):*^)~*~:(:)~^~(*)~^(!!()())~**a~*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S)~^:^""")
04:56:22 <bsmnt_bot> ^ul (::::::::::::::!!()()**************):((!())~^):*^(a(~^:^)*(:((!())~^):*^)~*~:(:)~^~(*)~^(!!()())~**a~*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S)~^:^
04:56:22 <fungot> ~exec sys.stdout("""^ul (:::::::::::::!!()()*************):((!())~^):*^(a(~^:^)*(:((!())~^):*^)~*~:(:)~^~(*)~^(!!()())~**a~*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S)~^:^""")
04:56:22 <bsmnt_bot> ^ul (:::::::::::::!!()()*************):((!())~^):*^(a(~^:^)*(:((!())~^):*^)~*~:(:)~^~(*)~^(!!()())~**a~*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S)~^:^
04:56:24 <fungot> ~exec sys.stdout("""^ul (::::::::::::!!()()************):((!())~^):*^(a(~^:^)*(:((!())~^):*^)~*~:(:)~^~(*)~^(!!()())~**a~*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S)~^:^""")
04:56:24 <bsmnt_bot> ^ul (::::::::::::!!()()************):((!())~^):*^(a(~^:^)*(:((!())~^):*^)~*~:(:)~^~(*)~^(!!()())~**a~*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S)~^:^
04:56:27 <fungot> ~exec sys.stdout("""^ul (:::::::::::!!()()***********):((!())~^):*^(a(~^:^)*(:((!())~^):*^)~*~:(:)~^~(*)~^(!!()())~**a~*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S)~^:^""")
04:56:27 <bsmnt_bot> ^ul (:::::::::::!!()()***********):((!())~^):*^(a(~^:^)*(:((!())~^):*^)~*~:(:)~^~(*)~^(!!()())~**a~*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S)~^:^
04:56:30 <fungot> ~exec sys.stdout("""^ul (::::::::::!!()()**********):((!())~^):*^(a(~^:^)*(:((!())~^):*^)~*~:(:)~^~(*)~^(!!()())~**a~*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S)~^:^""")
04:56:30 <bsmnt_bot> ^ul (::::::::::!!()()**********):((!())~^):*^(a(~^:^)*(:((!())~^):*^)~*~:(:)~^~(*)~^(!!()())~**a~*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S)~^:^
04:56:33 <fungot> ~exec sys.stdout("""^ul (:::::::::!!()()*********):((!())~^):*^(a(~^:^)*(:((!())~^):*^)~*~:(:)~^~(*)~^(!!()())~**a~*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S)~^:^""")
04:56:33 <bsmnt_bot> ^ul (:::::::::!!()()*********):((!())~^):*^(a(~^:^)*(:((!())~^):*^)~*~:(:)~^~(*)~^(!!()())~**a~*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S)~^:^
04:56:36 <fungot> ~exec sys.stdout("""^ul (::::::::!!()()********):((!())~^):*^(a(~^:^)*(:((!())~^):*^)~*~:(:)~^~(*)~^(!!()())~**a~*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S)~^:^""")
04:56:36 <bsmnt_bot> ^ul (::::::::!!()()********):((!())~^):*^(a(~^:^)*(:((!())~^):*^)~*~:(:)~^~(*)~^(!!()())~**a~*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S)~^:^
04:56:39 <fungot> ~exec sys.stdout("""^ul (:::::::!!()()*******):((!())~^):*^(a(~^:^)*(:((!())~^):*^)~*~:(:)~^~(*)~^(!!()())~**a~*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S)~^:^""")
04:56:39 <bsmnt_bot> ^ul (:::::::!!()()*******):((!())~^):*^(a(~^:^)*(:((!())~^):*^)~*~:(:)~^~(*)~^(!!()())~**a~*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S)~^:^
04:56:42 <fungot> ~exec sys.stdout("""^ul (::::::!!()()******):((!())~^):*^(a(~^:^)*(:((!())~^):*^)~*~:(:)~^~(*)~^(!!()())~**a~*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S)~^:^""")
04:56:42 <bsmnt_bot> ^ul (::::::!!()()******):((!())~^):*^(a(~^:^)*(:((!())~^):*^)~*~:(:)~^~(*)~^(!!()())~**a~*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S)~^:^
04:56:45 <fungot> ~exec sys.stdout("""^ul (:::::!!()()*****):((!())~^):*^(a(~^:^)*(:((!())~^):*^)~*~:(:)~^~(*)~^(!!()())~**a~*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S)~^:^""")
04:56:45 <bsmnt_bot> ^ul (:::::!!()()*****):((!())~^):*^(a(~^:^)*(:((!())~^):*^)~*~:(:)~^~(*)~^(!!()())~**a~*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S)~^:^
04:56:48 <fungot> ~exec sys.stdout("""^ul (::::!!()()****):((!())~^):*^(a(~^:^)*(:((!())~^):*^)~*~:(:)~^~(*)~^(!!()())~**a~*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S)~^:^""")
04:56:48 <bsmnt_bot> ^ul (::::!!()()****):((!())~^):*^(a(~^:^)*(:((!())~^):*^)~*~:(:)~^~(*)~^(!!()())~**a~*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S)~^:^
04:56:51 <fungot> ~exec sys.stdout("""^ul (:::!!()()***):((!())~^):*^(a(~^:^)*(:((!())~^):*^)~*~:(:)~^~(*)~^(!!()())~**a~*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S)~^:^""")
04:56:51 <bsmnt_bot> ^ul (:::!!()()***):((!())~^):*^(a(~^:^)*(:((!())~^):*^)~*~:(:)~^~(*)~^(!!()())~**a~*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S)~^:^
04:56:54 <fungot> ~exec sys.stdout("""^ul (::!!()()**):((!())~^):*^(a(~^:^)*(:((!())~^):*^)~*~:(:)~^~(*)~^(!!()())~**a~*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S)~^:^""")
04:56:54 <bsmnt_bot> ^ul (::!!()()**):((!())~^):*^(a(~^:^)*(:((!())~^):*^)~*~:(:)~^~(*)~^(!!()())~**a~*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S)~^:^
04:56:57 <fungot> ~exec sys.stdout("""^ul (:!!()()*):((!())~^):*^(a(~^:^)*(:((!())~^):*^)~*~:(:)~^~(*)~^(!!()())~**a~*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S)~^:^""")
04:56:57 <bsmnt_bot> ^ul (:!!()()*):((!())~^):*^(a(~^:^)*(:((!())~^):*^)~*~:(:)~^~(*)~^(!!()())~**a~*(^ul )~*(")::**:(~)~a*^**a(~exec sys.stdout)~*S)~^:^
04:57:57 <oerjan> 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: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:42 <psygnisfive> and simultaneously, do you like girls? do you like boys?
04:59:01 <Slereah_> Ask him directly if he'll fuck you.
04:59:22 <oerjan> Sgeo: http://www.irregularwebcomic.net/draakslair/index.php
05:00:02 <psygnisfive> slereah_: i dont want him to. i just cant remember what bend he is.
05:00:02 <oerjan> it's a forum for several webcomics, the mezzacotta ones are the third sublist
05:00:17 <Sgeo> There are .. 2 threads in the mezzacotta forums on there
05:00:31 <psygnisfive> for some reason i have the feeling hes either not straight, or has exceptionally odd fetishes.
05:00:43 <ais523> Sgeo: probably because they aren't linked from the comic itself
05:00:55 <oerjan> Sgeo: whoops, it seems it's set to expire
05:04:09 -!- moozilla has quit (Read error: 104 (Connection reset by peer)).
05:04:33 -!- moozilla has joined.
05:05:15 <oerjan> Sgeo: ah, the forums were only linked from a blog post, which is buried a long way down
05:05:35 <oerjan> well it's _supposed_ to be half-baked :D
05:06:18 <ais523> oerjan: what do you think of my terminating botloop, by the way?
05:06:47 <ais523> I'm quite proud of that given that I wrote it at 4:55am
05:32:33 -!- oerjan has quit ("Succubus").
05:51:18 <bsmntbombdood> http://www.cs.uwaterloo.ca/research/tr/1999/09/CS-99-09.pdf
05:51:46 <bsmntbombdood> similar to http://en.wikipedia.org/wiki/Hashed_array_tree
05:54:21 -!- moozilla has quit (Read error: 104 (Connection reset by peer)).
05:54:24 -!- moozilla has joined.
06:01:39 <ais523> 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 <olsner> 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:55 <psygnisfive> i want to try some evolutionary programming
07:03:19 <psygnisfive> to try and create something nearly inscrutable, but simple, which solves some simple problem
07:51:33 <ais523> wow, when hunting down the HAVE_SYS_INTERPRETER bug, I tried Googling
07:51:55 <ais523> 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 <ais523> no wonder it isn't a high priority for the autconf developers...
07:54:49 <ais523> 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 <ais523> pity they deprecated it
07:54:59 <ais523> 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:36 <ais523> or very late night, depending on your point of view
09:01:56 <AnMaster> ais523, 10:01 isn't "night" in any meaning of the work
09:01:57 * ais523 suddenly wonders the wisdom in checking for sh in an autoconf-based build system
09:02:05 <ais523> AnMaster: it is if you didn't go to sleep in the meantime...
09:02:11 <AnMaster> * ais523 suddenly wonders the wisdom in checking for sh in an autoconf-based build system <-- agreed
09:02:25 <ais523> the reason it was in there was that I used to have a bypass-autoconf alternative for the DOS build
09:02:28 <ais523> which worked even without sh
09:02:33 <ais523> I'm thinking about dropping that possibility, though
09:02:56 <AnMaster> ais523, well you could just #define it to be on except for dos
09:03:09 <AnMaster> so static forced on with autoconf
09:03:19 <AnMaster> and static forced off without autoconf
09:04:06 <ais523> that would deal with the PROG_SH thing
09:04:16 <ais523> and also explain why C-INTERCAL was the only hit
09:04:17 <AnMaster> interesting new tool in last valgrind release http://www.valgrind.org/docs/manual/pc-manual.html
09:04:23 <ais523> it's the HAVE_SYS_INTERPRETER that's the tricky one
09:04:30 <AnMaster> only issue it is detects a number of issues in ld.so
09:04:51 <AnMaster> apart from that cfunge passes it with flying colours
09:05:01 <AnMaster> and I can hardly fix those inside system libraries
09:05:05 <ais523> yes, looks interesting
09:05:28 <ais523> <AnMaster> 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:39 <ais523> although I don't think valgrind's been ported to Brainfuck yet
09:06:09 <AnMaster> ais523, oh and *sometimes* it reports an issue inside asin()...
09:06:25 <AnMaster> but it says the tool is experimental
09:06:37 <AnMaster> anyway nothing directly in cfunge
09:07:00 <AnMaster> but some stuff in ncurses, ld.so, and (sometimes) libm.so
09:12:50 <AnMaster> ais523, oh also memcheck has some new cool option to detect uninitialised values when they happen or something rather than way way later
09:13:08 -!- moozilla has joined.
09:13:16 <AnMaster> it says it will run way way slower
09:14:31 <ais523> 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 <ais523> 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 <AnMaster> ais523, it can break though, note the issue it mentions about " p = /* arbitrary condition */ ? &a[i] : &b[i];"
09:15:03 <ais523> and now we have a C implementation it breaks
09:15:14 <AnMaster> ais523, also it runs machine code
09:16:39 <AnMaster> ais523, I think an actual error checking C *interpreter* or at least byte code interpreter could be very interesting
09:17:11 <ais523> you could probably do that by mixing a modified gcc with a modified valgrind
09:17:19 <ais523> modified to share more information
09:17:42 <AnMaster> well, there is also libmudflap, and you can actually run a mudflap program under valgrind, strange I know...
09:17:57 <ais523> no theoretical reason why it wouldn't work
09:18:14 <AnMaster> ais523, well yes I think it is since for example boehm-gc + valgrind = sigsegv at startup
09:18:37 <AnMaster> and mudflap certainly does dirty stack tricks too
09:18:49 <ais523> ah, I didn't realise it did dirty stack tricks
09:19:02 <AnMaster> ais523, well I'm pretty sure I read that it did
09:19:16 <ais523> C-INTERCAL doesn't really do dirty stack tricks, at least the ones it does are sanctioned by the C standard
09:19:28 <AnMaster> ais523, oh and funny thing, mudflap has an option to "wipe on free()"
09:19:44 <AnMaster> since it tries to wipe a readonly mmap()
09:20:01 <ais523> sounds like a bug in mudflap
09:20:16 <ais523> probably they weren't expecting people to allocate read-only memory...
09:20:18 <AnMaster> ais523, yes and I don't have last gcc, I run stable gentoo, otherwise I would report it
09:20:28 <AnMaster> ais523, I don't, I mmap() a file as read only
09:20:53 * ais523 tries to figure out if a hypothetical read-only malloc would have any use
09:21:10 <ais523> I suppose you could try to determine if the system set unallocated memory to any particular value
09:21:13 <AnMaster> well mmap() and malloc() are quite different
09:21:42 <AnMaster> also checking unallocated memory is highly undef behaviour
09:22:12 <ais523> although I'm not entirely sure that the second is illegal via an unsigned char pointer
09:22:19 <ais523> but I'm dubious that it's legal, too
09:22:35 <AnMaster> how would memcpy() work otherwise?
09:22:36 -!- metazilla has quit (Connection timed out).
09:22:36 <ais523> you can get away with all sorts of things with unsigned char pointers that you can't with other things
09:23:01 <ais523> I mean the interp that defines memcpy knows that it can get away with doing that
09:23:38 <AnMaster> 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 <AnMaster> there would be too many errors otherwise
09:24:00 <ais523> AnMaster: yes, but imagine a hypothetical interpreter whose memcpy didn't copy padding
09:24:11 <ais523> and each byte in memory had an extra is_padding bit
09:24:22 <ais523> I don't think that violates the C standard, even though that's stupid
09:24:22 <AnMaster> ais523, then that would break tricks that copied them using other ways
09:25:09 <AnMaster> ais523, well if the struct is on the stack and not a pointer isn't it valid to copy with = iirc?
09:25:49 <AnMaster> that may be C99 or I may be wrong
09:26:14 <ais523> and the compiler knows about padding when it implements =
09:26:26 <ais523> in fact, I expect many compilers wouldn't copy the padding at all
09:26:38 <ais523> unless it was faster to do a block-copy than several move instructions
09:26:49 <ais523> it could be slower for a big struct, I agree
09:26:57 <ais523> I bet it would be faster for struct {char c; int i;} though
09:27:19 <AnMaster> ais523, depends, a single moveq should be faster on amd64 I expect
09:27:48 <AnMaster> moveq is gas name for it though iirc
09:28:33 <AnMaster> 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 <AnMaster> 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 <ais523> Mycology, by any chance?
09:30:32 <AnMaster> ais523, yes, and my ncurses and ld.so both have debugging info
09:30:47 <AnMaster> so I'm not sure why it doesn't report symbols in those
09:30:56 <ais523> it may be the wrong format of debugging info
09:31:01 <ais523> ptrcheck seems to care about dwarf3
09:31:23 <ais523> probably a dwarf3 variant
09:31:30 <AnMaster> 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 <AnMaster> those are supported), including GDB extensions if at all possible.
09:31:42 <ais523> IIRC, it's "use whatever's best for gdb out of the formats I know, plus GNU extensions"
09:32:02 <AnMaster> ais523, well cfunge was built with -ggdb too
09:32:08 <AnMaster> and there are symbols for it in the trace
09:32:38 <AnMaster> 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 <AnMaster> 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:34:34 <AnMaster> ais523, well there is no option for pure dwarf3 in my man gcc, nor is cfunge built in any other way
09:34:41 <AnMaster> so something weird is going on there
09:35:08 <AnMaster> also I get the same odd errors from a simple valgrind --tool=exp-ptrcheck build/cfunge -h
09:36:54 <AnMaster> ==18184== Invalid read of size 8
09:36:54 <AnMaster> ==18184== at 0x343000D3BF: (within /lib64/ld-2.6.1.so)
09:36:54 <AnMaster> ==18184== by 0x3430432A18: exit (in /lib64/libc-2.6.1.so)
09:36:54 <AnMaster> ==18184== by 0x401375: (within /bin/echo)
09:36:54 <AnMaster> ==18184== by 0x343041DB73: (below main) (in /lib64/libc-2.6.1.so)
09:36:55 <AnMaster> ==18184== Address 0x3430739b98 is not derived from any known block
09:37:26 <AnMaster> ais523, well any binary I try on report those, I guess some missing suppression entries for whatever libc version I have
09:52:50 <ais523> as long as eso-std.org is effectively down, I'm here whenever I'm logged in
09:53:04 <AnMaster> I have profiled cfunge and the current largest speed problem is pushing strings
09:53:55 <AnMaster> 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:57:31 <ais523> AnMaster: you could store a pointer to the string on the stack, rather than the string itself
09:57:41 <ais523> and only expand it if someone cares about the individual chars in it
09:57:47 <ais523> but that would be really complex
09:58:02 <ais523> ideally, you'd have to recognise print loops, etc, for it to work well
09:58:17 <AnMaster> yes it would and have the overhead of type tagging values
09:59:25 -!- moozilla has quit (Read error: 131 (Connection reset by peer)).
09:59:32 <AnMaster> 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:07 -!- moozilla has joined.
10:00:14 <AnMaster> 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:27 <AnMaster> basically like C++ templates but in C, by using macros
10:09:58 <ais523> AnMaster: that's far more fun using gcc extensions
10:10:05 <ais523> typeof and ({ }), in particular
10:11:04 <AnMaster> ais523, well I was thinking generating the result types statically, like putting something like this in the header: GEN_FUNCS(char)
10:11:28 <AnMaster> and with other macros you could hide this
10:12:13 <AnMaster> ais523, anyway it is strange that C99 has tgmath.h but not typeof()
10:12:34 <AnMaster> how did they think tgmath.h would be implemented without typeof()
10:13:12 <AnMaster> ais523, not really, how would it work for complex types?
10:13:27 <ais523> I thought tgmath was just float vs double vs long double
10:13:40 <AnMaster> ais523, doesn't it support the complex variants too?
10:14:17 <AnMaster> 4 For each unsuffixed function in <math.h> for which there is a function in
10:14:18 <AnMaster> <complex.h> with the same name except for a c prefix, the corresponding type-
10:14:18 <AnMaster> generic macro (for both functions) has the same name as the function in <math.h>. The
10:14:18 <AnMaster> corresponding type-generic macro for fabs and cabs is fabs.
10:14:53 <ais523> I'm having trouble parsing that paragraph...
10:14:58 <ais523> and clearly, it isn't fabs
10:15:06 <ais523> because that isn't a tgmath function
10:15:30 <AnMaster> ais523, it isn't? GCC's tgmath support is incomplete
10:15:43 <ais523> I meant, it would be called something else
10:15:53 <AnMaster> http://rafb.net/p/xK94QQ46.html
10:15:53 <ais523> just the tgmath version is called something else IIRC
10:18:11 <AnMaster> ais523, http://rafb.net/p/8QZbDk26.html
10:20:13 <AnMaster> 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 <AnMaster> # define __floating_type(type) (((type) 0.25) && ((type) 0.25 - 1))
10:20:49 <ais523> I don't see why the part after the && is needed
10:20:57 <ais523> or are there types which round upwards?
10:22:16 <AnMaster> # define __tgmath_real_type_sub(T, E) \
10:22:16 <AnMaster> __typeof__(*(0 ? (__typeof__ (0 ? (double *) 0 : (void *) (E))) 0 \
10:22:16 <AnMaster> : (__typeof__ (0 ? (T *) 0 : (void *) (!(E)))) 0))
10:23:02 <ais523> heh, that's really clever
10:23:12 <ais523> it's exploiting the type of ?:'s return value rules
10:23:21 <ais523> to do the tgmath calcuation in one macro
10:24:05 <AnMaster> ais523, I don't know what those rules are
10:24:57 <ais523> AnMaster: remember I haven't gone to bed yet, I'm not really in a fit state to work it out
10:25:07 <ais523> and my quick explanation of how it works may be completely wrong
10:26:54 <AnMaster> ais523, about those ick patches
10:27:13 <ais523> I have a funky error message for the buffer overflow
10:27:19 <AnMaster> ais523, also: http://rafb.net/p/bro27D69.html
10:27:34 <ais523> AnMaster: ick_snprintf_or_die
10:27:39 <ais523> it's BETTER LATE THAN NEVER
10:27:42 <ais523> given the circumstances that cause it
10:27:46 <AnMaster> it was so long ago that I worked on it
10:28:54 <AnMaster> wow...... http://rafb.net/p/2pUgX781.html
10:29:00 <ais523> hmm... ick build is giving more warnings now
10:29:07 <ais523> but I think that's because you tweaked the warning level up
10:29:11 <ais523> rather than due to buggier code
10:29:19 <AnMaster> ais523, I didn't in configure.ac afaik
10:29:43 <ais523> warning: ignoring return value of ‘system’, declared with attribute warn_unused_result
10:29:55 <ais523> I wonder what's causing that
10:30:17 <AnMaster> __attribute__((warn_unused_result))
10:30:28 <AnMaster> I think it is included in -Wall
10:30:48 <ais523> I'm wondering why it's happening now, and wasn't before
10:30:54 <ais523> hmm... maybe due to an OS upgrade
10:30:57 <ais523> I might have better header files now
10:31:08 <ais523> anyway, why check the return value from system? It's unportable
10:31:36 <ais523> AnMaster: its return value is unportable
10:31:45 <ais523> it's not defined to mean anything in particular, IIRC
10:31:54 <ais523> (its argument is unportable too, but has more of a consistent meaning)
10:31:56 <AnMaster> extern int system (__const char *__command) __wur;
10:32:04 <AnMaster> it seems __wur means warn_unused_result
10:32:51 <fizzie> system(NULL) has a defined return value, though. But system() with a non-null argument has a completely implementation-defined value.
10:33:05 <AnMaster> fizzie, what is the result of system(NULL)?
10:33:14 <AnMaster> I suspect it is defined by POSIX
10:33:34 <AnMaster> which may be the reason that linux headers think you should check the result
10:33:34 <fizzie> system(NULL) returns nonzero "if a command processor is available". Of course that's a bit vague, too.
10:35:35 <fizzie> POSIX does define it, yes.
10:35:41 <ais523> 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 <ais523> and zero if it's a no-op
10:36:43 <fizzie> Actually I don't see a clear definition what system("foo"); should do if system(NULL) returns zero.
10:36:58 <ais523> no, but in practice no-op seems likely
10:37:13 <ais523> anyway, how much more implementation-defined can you get than "causes the implementation to act in an implementation-defined manner"?
10:37:58 <AnMaster> /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:38:02 <AnMaster> return (fungeCell)roundl(jdn);
10:38:04 <fizzie> 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:20 <ais523> AnMaster: what is jdn?
10:38:22 <AnMaster> why would I cast the function call, I'm casting the result
10:38:44 -!- Corun has joined.
10:38:44 <AnMaster> anyway the issue is that I'm trying to cast the result of roundl()
10:38:47 <ais523> and what's the type of roundl?
10:39:13 <AnMaster> long double roundl(long double x);
10:39:20 <ais523> hmm... your compiler doesn't like casting from long double to long long int
10:39:28 <ais523> because the long long int might not fit in a long double, presumably
10:39:43 <ais523> they only have a bit over 50 bits of precision, IIRC
10:39:48 <AnMaster> long double tmp = roundl(jdn);
10:40:03 <AnMaster> only if I directly cast the result of roundl()
10:40:45 <ais523> the warning seems to be something specific
10:40:48 <ais523> I wonder why it's there
10:40:53 <ais523> I mean, the error message is pretty specific
10:41:25 <AnMaster> ais523, it seems to happen whenever I put (integer-type-goes-here)function_that_returns_a_floating_point_type();
10:41:45 <ais523> I wonder why that's a warning
10:41:53 <ais523> I'd expect splint to warn about that sort of thing
10:41:56 <ais523> but then, it warns about everything
10:42:18 <ais523> it even has options for enforcing naming conventions on variables, IIRC
10:43:53 <AnMaster> ais523, hm -Wbad-function-cast cause it
10:44:01 <AnMaster> -Wbad-function-cast (C and Objective-C only)
10:44:01 <AnMaster> 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 <AnMaster> now that doesn't make much sense
10:44:18 <ais523> I see what's going on here
10:44:28 <ais523> casting malloc hides errors due to forgetting to include stdlib.h
10:44:34 <ais523> in which case it's int malloc implicitly
10:44:50 <ais523> that's gcc's attempt to nevertheless produce a warning when that happens
10:45:06 <ais523> anyway, I don't see why you have the cast there at all
10:45:13 <AnMaster> ais523, sure, in that case it would be int-to-anything
10:45:14 <ais523> long double casts implicitly to long long int...
10:45:38 <ais523> and as comp.lang.c will tell you, implicit casts are better than explicit casts
10:45:43 <AnMaster> ais523, also gcc already warns about missing prototypes
10:45:54 <ais523> (the only reason NULL is cast to const char* for lose.h is the ridiculousness, AFAICT...)
10:46:19 <AnMaster> ais523, I was trying to shut up ICC's warning about "may change the value"
10:46:32 <AnMaster> also a 32-bit build would be long double -> int cast
10:46:57 <ais523> the function is declared to return a fungeCell, isn't it?
10:47:00 <ais523> so they cast is just redundant
10:47:07 <AnMaster> /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:28 <ais523> I dislike the may lose significant bits warnings
10:47:34 <ais523> but they're also what I mean
10:47:44 <AnMaster> ais523, yes and even useful sometimes, it helped me catch a few bugs
10:47:47 <ais523> I remember just turning that one off, back when I used to use bcc
10:47:51 <fizzie> 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:26 <fizzie> Java is very fond of "may lose bits" warnings, which are actually errors there.
10:48:35 <ais523> I probably wouldn't have even used roundl
10:48:45 <AnMaster> ais523, also gcc-4.3.2 warns about "may lose ..." with -Wconversion
10:48:45 <ais523> more likely I'd have added 0.5, then implicitly casted the return value
10:48:49 <ais523> although I'm not sure that works for negatives
10:48:56 <fizzie> 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:30 <ais523> there's lots of ifdefs for 32/64-bit in cfunge anyway
10:49:46 <AnMaster> ais523, yes but I use int64_t/int32_t
10:49:55 <AnMaster> and almost all those ifdef are in one header
10:50:06 <ais523> well, there's nothing wrong with casting to long long
10:50:17 <ais523> and then relying on low-bit preservation
10:50:20 <ais523> but that probably gives warnings
10:51:00 <fizzie> 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 <AnMaster> well, one issue is that some *bsd lack the *l math.h functions
10:51:19 <AnMaster> freebsd have roundl but lacks sinl for example
10:51:46 <AnMaster> (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:28 <AnMaster> iirc round() isn't in C89 either
10:57:28 <Ilari> Why its converting from long double anyway?
10:57:44 <AnMaster> is casting a double NaN to integer undefined?
10:58:22 <AnMaster> 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 <ais523> Ilari: round returns floating-point...
10:58:33 <AnMaster> which need floating point computation in between
10:58:44 <ais523> wait, why does year/month/day to Julian involve floating point?
10:58:54 <AnMaster> and it needs the round() rounding behaviour when it comes to negative julian days
10:59:08 <Ilari> Round returns floating point, but it also takes floating point as argument (otherwise it wouldn't make any sense).
10:59:09 <AnMaster> ais523, because it returns the wrong result otherwise?
11:00:23 -!- Corun has quit (Read error: 104 (Connection reset by peer)).
11:00:36 <Ilari> Err, year/month/day to Julian day number involves floating point computations?
11:01:04 <AnMaster> integer division made it break
11:01:12 <AnMaster> long double jdn = date->day + floorl((153 * m + 2)/5.0) + 365 * y
11:01:12 <AnMaster> + floorl(y/4.0) - floorl(y/100.0) + floorl(y/400) - 32045;
11:01:36 <AnMaster> if you use integer division there instead it breaks, no I didn't bother figuring out why
11:02:08 <AnMaster> 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 <AnMaster> int64_t a = floorl((14 - date->month) / 12.0);
11:03:55 <AnMaster> looking at that it should be possible to change y to int64_t
11:04:03 <AnMaster> BAD: J should push -1119007 given [-7777,2,29]
11:04:18 <Ilari> Ah, negative values of y.
11:04:27 <AnMaster> Ilari, yes they need to be correct of course...
11:05:18 <AnMaster> ais523, I hope that explains it for you too?
11:06:01 <AnMaster> 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 <AnMaster> julian_to_ymd() is even worse, it needs casting to integer almost all the time
11:08:46 -!- Corun has joined.
11:09:10 <AnMaster> 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 <AnMaster> as far as I know it is correct, at least for the values that mycology tests
11:11:46 <AnMaster> yes I wrote the code and no I don't fully understand it :P
11:15:50 <Ilari> 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 <AnMaster> Ilari, why would I want that? integer division isn't much faster than floating point division
11:17:05 <AnMaster> 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 <ais523> probably slower if you don't have an FPU
11:17:36 * ais523 shoots an angry glance at gcc-bf
11:20:51 <AnMaster> 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 <AnMaster> like gcc-bf, if it can support the POSIX facilities needed
11:21:22 <ais523> hopefully it'll be able to eventually
11:21:33 <AnMaster> ais523, I suspect it wouldn't work with the build system though
11:22:02 <AnMaster> cross compiling to gcc-bf using cmake, probably nopt
11:22:33 <AnMaster> in fact I never tried cross compiling cfunge
11:22:37 <AnMaster> nor do I have a cross toolchain
11:22:50 <ais523> I have two cross toolchains
11:23:03 <ais523> gcc-bf, which doesn't produce working executables yet but is good enough to test with
11:23:13 <ais523> and an ARM cross-toolchain I used for a project a couple of years back
11:23:17 <AnMaster> 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 <ais523> which is the one I normally use to test cross-compile setups
11:23:47 <AnMaster> qemu can emulate non-native arches
11:24:05 <AnMaster> sparc, ppc and arm for example it seem
11:24:26 <AnMaster> and binary emulation, just running a binary and not a full os. heh?
11:25:16 <ais523> although it goes into virtualisation mode when host processor = target processor
11:25:34 <ais523> binary emulation is kind-of clever
11:25:58 <AnMaster> * 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 <AnMaster> ais523, that seems quite useful
11:26:31 <ais523> I've never got it to work, although I haven't really tried
11:26:41 <ais523> just one quick try failed and I never bothered to look up the correct syntax
11:26:47 <AnMaster> ais523, I know a friend who got it to work using static binaries
11:26:59 <AnMaster> didn't work for dynamic without lots of weird tricks he said
11:27:55 <AnMaster> 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:08 <ais523> AnMaster: what about a Lisp interp?
11:28:13 <ais523> or does that not count?
11:28:40 <AnMaster> ais523, well I assume a real lisp machine would have some extra commands like possibly something for shutting down and so on
11:29:24 <AnMaster> 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:58 <AnMaster> what do you call the L after #define FOO 19237L
11:51:59 <ais523> yes, more or less, but not really paying attention
11:52:11 <ais523> hmm... I mentally pronounce it as the letter L
11:52:14 <ais523> I'm not sure it has a name
11:52:24 <ais523> probably it's something like type specifier
11:52:31 <AnMaster> I'm trying to find it in C99 spec...
11:53:31 <fizzie> Type suffix, or something.
11:53:35 <fizzie> Some sort of suffix it was.
11:54:22 <fizzie> "integer-suffix" is the name in the syntax part.
11:54:50 <fizzie> "An integer constant -- may have a prefix that specifies its base and a suffix that specifies its type."
11:59:06 <fizzie> 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 <AnMaster> fizzie, I was actually looking for what the floating point ones were
11:59:52 <AnMaster> so I probably wanted the generic name
12:00:01 <AnMaster> "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:39 <ais523> AnMaster: for entering Unicode execution characters on an ASCII source character set
12:00:46 <ais523> although they invented \u since, so it's probably moot now
12:01:08 <ais523> still, say your program is written in EBCDIC and the execution set is ASCII, what should ¬ map to?
12:01:11 <AnMaster> ais523, then one would use wchar_t not char
12:01:26 <ais523> "implementation-defined" is at least a nice handwavy way to avoid the problem
12:01:51 <AnMaster> ais523, well it means you can't depend on any specific behaviour
12:02:38 <ais523> yes, but if your source and execution character sets aren't the same, your implementation details probably matter
12:02:44 <ais523> and L'' is for wchar_t constants, IIRC
12:03:25 <fizzie> There's a corresponding L"foo" for strings of wchar_t.
12:03:36 <AnMaster> hm is there any library for floating point > long double?
12:03:44 <AnMaster> such as 256 bit floating point or whatever
12:04:56 <fizzie> 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 <AnMaster> fizzie, arbitrary-precision wouldn't be floating point would it?
12:05:42 <AnMaster> rather based on fractions or something
12:06:06 <fizzie> GMP at least has functions for arbitrary-precision integers, rationals or floating-point (mpf*) values.
12:06:22 <AnMaster> 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 <fizzie> 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:08:53 <fizzie> 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 <fizzie> 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 <AnMaster> ais523, you should use the comma operator more in ick
12:09:47 <AnMaster> would make the code more confusing
12:10:10 <ais523> AnMaster: there's some of that in clc_cset.c, IIRC
12:10:21 <ais523> but that's one of the more confusing files of the lot, it even confuses me
12:11:34 <fizzie> The GMP floats do lack infinities and NaNs, though.
12:12:05 <AnMaster> ais523, hm clc-cset.c does have confusing indentation...
12:12:18 <AnMaster> while(j<cs->setlen*cs->shifts)
12:12:18 <AnMaster> if((cs->set[j++]=(unsigned char)(c=ipf(in))),c==EOF && in != NULL)
12:12:18 <AnMaster> {if(in) (void)fclose(in); return;}
12:12:38 <ais523> that indentation is not only confusing, it's correct
12:12:51 <ais523> the while only has one statement as argument, so it's indented 2 to the right
12:13:03 <ais523> and opening brace is on the same column as the if it applies to
12:13:13 <AnMaster> ais523, there should be some newlines there
12:13:22 <ais523> (clc-cset.c is possibly the only good argument I've seen for GNU-style indentation, by the way)
12:13:33 <ais523> and yes, of course there shuold be, but that's missing the point
12:13:48 <AnMaster> while(j<cs->setlen*cs->shifts)
12:13:48 <AnMaster> if((cs->set[j++]=(unsigned char)(c=ipf(in))),c==EOF && in != NULL) {
12:13:59 <ais523> that looks ridiculous, though
12:14:06 <ais523> admittedly, the original also looks ridiculous
12:14:25 <AnMaster> I'm not sure what the line if((cs->set[j++]=(unsigned char)(c=ipf(in))),c==EOF && in != NULL) does
12:14:50 <AnMaster> ais523, is that (c==EOF) && in or c==(EOF && in)?
12:15:02 <AnMaster> what is the precedence order there
12:15:06 <ais523> ((c==EOF) && (in != NULL))
12:15:13 <ais523> C precedence is not something I have problems with
12:15:31 <ais523> although I find it's funnier and more confusing to overparenthesise than underparenthesise when I'm writing obfuscated C
12:15:38 <AnMaster> ais523, well I use so many different languages that I end up not remembering precedence of any
12:16:01 <ais523> C precedence is a subset of Perl precedence
12:16:06 <ais523> which reduces the number by 1
12:16:25 <fizzie> && 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 <ais523> I can't remember offhand which way == associates, which would also be relevant there
12:17:08 <ais523> the associativity of == is something I don't think has ever come up for me, even in obfuscated code
12:17:18 <ais523> (I know which way = associates, that's much more common)
12:17:37 <ais523> arguably, a == b == c should actually associate as (a == b) && (b == c), but that's a stretch
12:18:05 <AnMaster> 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 <ais523> AnMaster: that is strange
12:18:40 <ais523> Perl has two and/or operators
12:18:41 <AnMaster> ais523, http://rafb.net/p/Chsqmt44.html
12:18:47 <ais523> && has the same precedence as in C
12:18:53 <ais523> whereas and is very very low precedence
12:19:19 <ais523> it's used as a substitute if statement, normally
12:19:26 <fizzie> 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 <ais523> fizzie: yep, that's it
12:20:06 <ais523> and & is still usable for logical and if you have a comparison on both sides
12:20:15 <ais523> you just have to remember it doesn't short-circuit so probably is less efficient
12:20:42 <ais523> (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 <AnMaster> if((padstyle==1&&(i==1||i==9) && !(outword&(1<<(co->nbytes*8-i)))) || (padstyle==2&&(rand()>RAND_MAX/2||!outword)))
12:21:21 <AnMaster> if((padstyle==1&&(i==1||i==9) && !(outword&(1<<(co->nbytes*8-i)))) ||
12:21:21 <AnMaster> (padstyle==2&&(rand()>RAND_MAX/2||!outword)))
12:21:41 <AnMaster> or possibly broken mixing of tab and space
12:21:46 <fizzie> You probably should look at it with an 8-space tab.
12:21:59 <AnMaster> fizzie, well that is broken IMO.
12:22:09 <fizzie> Broken, but not weird.
12:22:41 <AnMaster> else outword |= (unsigned short)((val>>(co->bitorder[i]-'a'))&1)
12:22:59 <AnMaster> not using a newline after else is strange too
12:23:10 <AnMaster> at least when the statement is multi-line
12:23:24 <fizzie> All that reminds me of Nethack sources. Especially since it involves rand.
12:23:54 <AnMaster> static void ick_bitencout(char** pop, const struct cset* co,
12:23:54 <AnMaster> unsigned short val, int padstyle)
12:24:28 <fizzie> Only for padstyle==2, though.
12:25:11 <ais523> AnMaster: it's for random padding of the high bits of characters
12:25:22 <ais523> if, say, you have a 7-bit character set like ASCII
12:25:28 <ais523> and you're trying to store it on an 8-bit system
12:25:37 <ais523> C-INTERCAL lets you choose what to do with that bit
12:25:38 <AnMaster> then all first would be 0 wouldn't they?
12:25:50 <ais523> AnMaster: you have three choices: pad with 0, pad to printable, pad with random
12:25:59 <ais523> pad to printable is particularly useful on 5-bit character sets
12:26:00 <AnMaster> ais523, it would make sense to have "no padding"
12:26:18 <ais523> AnMaster: nobody stores ASCII packed 8 chars to 7 bytes
12:26:36 <ais523> although that as another option would be interesting
12:26:56 <ais523> and something like that will probably be needed if/when I add support for UTF-9
12:27:20 <AnMaster> ais523, wouldn't you store it padded in 16 bits?
12:27:21 <fizzie> There's no "pad to even/odd parity" option? :p
12:27:31 <ais523> anyway, the randomly padded thing is needed
12:27:31 <AnMaster> fizzie, hah that would be nice too
12:27:40 <ais523> fizzie: no, but only because I didn't think of it
12:27:44 <AnMaster> really? what needs random padding?
12:27:44 <ais523> of course that one's necessary
12:27:53 <ais523> AnMaster: it's in the CLC-INTERCAL spec for something, IIC
12:28:02 <ais523> although I think that was binary data
12:28:10 <AnMaster> ais523, how would it be able to detect *random* padding
12:28:12 <ais523> which is padded from 8 bits to 16 bits for no apparent reason
12:28:16 <AnMaster> there is no way you can verify it
12:28:28 <ais523> AnMaster: it doesn't at the moment, but threatens the possibility of randomness checks in the future
12:28:40 <ais523> besides, the other way round, compiler-generated randomness, can be checked mycorand-style
12:28:44 <ais523> AnMaster: usually impossible
12:29:02 <ais523> but programs failing to work at random, or scamming the randomness checks, would both be very in-the-spirit-of-INTERCAL
12:29:52 <AnMaster> ais523, yes sure but you could potentially have to run mycorand for a lot of iterations
12:30:04 <AnMaster> more than can be found in the file
12:30:31 <ais523> AnMaster: checking the compiler you can generate as many test-cases as you like
12:31:17 <AnMaster> true, but isn't the random padding for files, where the receiver won't have the original generating program?
12:31:35 <ais523> the random padding's for I/O
12:31:58 <ais523> 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 <ais523> for no apparent reason
12:32:02 <AnMaster> ais523, oh? this file isn't used by convickt?
12:32:18 <ais523> I decided to add a random-padding option to the Baudot conversion too
12:32:22 <ais523> and then ASCII because I might as well
12:32:28 <ais523> on the basis that it makes it harder to read
12:32:45 <ais523> and if you're using Baudot in the first place, probably unreadability is your goal
12:33:14 <AnMaster> ais523, or backward compatibility
12:33:26 <ais523> very backward compatibility
12:33:32 <ais523> given that Baudot was invented before computers were
12:33:43 <ais523> it's a 19th century character set
12:34:23 <AnMaster> ais523, using letters at all is very backward compatible, considering the Romans (mostly) invented the current charset we use today
12:34:38 <ais523> they didn't encode them as numbers, though
12:34:49 <ais523> they had Polybius' Checkerboard
12:34:51 <AnMaster> well indeed, they did the other way around
12:34:53 <ais523> although that was a Greek invention
12:35:02 <AnMaster> ais523, what is this polybius thing?
12:35:18 <ais523> AnMaster: basically, write the alphabet in a rectangular matrix, give letters by giving the row and column
12:35:31 <ais523> it was apparently used to send messages long-distance
12:35:32 <AnMaster> ok, and what did they use it for?
12:35:39 <ais523> by raising a set number of torches
12:35:59 <ais523> but for military purposes
12:36:05 <ais523> and with much shorter messages
12:36:07 <AnMaster> you should support it in convickt!
12:36:22 <ais523> although the file format confuses me
12:36:29 <ais523> and again, I created it
12:36:36 <AnMaster> ick_cset_recent[ic].nbytes || (ick_clc_cset_load(ick_cset_recent+ic,incset),0);
12:36:36 <AnMaster> ick_cset_recent[oc].nbytes || (ick_clc_cset_load(ick_cset_recent+oc,outcset),0);
12:36:58 <ais523> it's a standard Perl idiom translated to C
12:37:02 <ais523> only it makes sense in Perl
12:37:11 <ais523> think short-circuit evaluation
12:37:21 <AnMaster> well what does variable || (functioncall(),0)
12:37:25 <ais523> 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:36 <ais523> it's equivalent to if(!variable) functioncall()
12:37:54 <ais523> in Perl, that's idiomatically written "variable or functioncall();"
12:38:03 <ais523> because Perl doesn't have single-statement ifs
12:38:12 <ais523> but short-circuiting is standard
12:38:35 <AnMaster> (void)(oc==-1 && (ick_cset_recent[oc=ick_csetow++].nbytes=0)); <-- that is another nasty variant of it
12:38:54 <AnMaster> why don't you use that paradigm for this then:
12:38:56 <AnMaster> if(ic==-1) for(i=NCSETRECENT;i--;) if(!ick_cset_recent[i].nbytes) ic=i;
12:39:08 <AnMaster> the last two statements could be re-done that way
12:39:36 <AnMaster> if(!ick_cset_recent[i].nbytes) ic=i; would be ick_cset_recent[i].nbytes || ic=i;
12:40:10 <ais523> except you need parens due to precedence
12:40:24 <ais523> and a cast to void because otherwise gcc doesn't believe you really meant that
12:40:58 <AnMaster> I can understand gcc's opinion there!
12:43:16 <AnMaster> char setname[9]; /* 8.3 filenames are enforced! */
12:43:27 <ais523> AnMaster: the extension is fixed
12:43:32 <ais523> so that's 8 bytes plus the terminating NUL
12:43:37 <ais523> and those are internal-use filenames
12:43:53 <AnMaster> why can't you allow full length *nix style
12:43:56 <ais523> AnMaster: because the 8.3 filename is a running joke amongst DOS/Windows users
12:44:19 <AnMaster> I'm pretty sure it is no longer needed on windows
12:44:38 <ais523> but clc-cset is all about insane compatibility dating back centuries
12:44:44 <ais523> even assuming the existence of files is a stretch
12:44:54 <ais523> DOS 1 didn't have directories, for instance
12:47:17 <AnMaster> 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 <AnMaster> on my /home (ext3) this seems to be 255
12:47:46 <AnMaster> thought it would be much longer
12:50:17 <fizzie> Path names are indeed surprisingly short.
12:54:20 <AnMaster> considering the comma operator
12:54:39 <ais523> int x isn't an expression
12:54:50 <ais523> (my x), (my y); is indeed valid Perl, I think
12:54:59 <ais523> although arguably it shouldn't be
12:55:16 <fizzie> You're missing them $s.
12:55:33 <ais523> well, x and y were functions returning symbolic references, just so that they could correct my mistake
12:55:43 <ais523> there's some debate about 0 and (my $x);
12:56:01 <ais523> 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 <AnMaster> expression , assignment-expression
12:56:14 <fizzie> And "int x=3, int y=4;" is not syntactic either; those aren't assignment-expressions there.
12:57:01 <ais523> put it this way: int x=2, y=3 is not equivalent to int x=(2,(y=3))
12:57:23 <AnMaster> the former is pretty normal syntax
12:57:32 <ais523> and the second is insane
12:57:46 <AnMaster> what exactly is the result of the second?
12:58:00 <ais523> it assigns 3 to a new auto variable called x
12:58:04 <ais523> and 3 to an existing variable called y
12:58:11 <ais523> which is presumably in an outer scope
12:58:14 <AnMaster> "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 <AnMaster> I'm not sure it does due to that
12:58:30 <ais523> it doesn't violate that rule
12:58:42 <AnMaster> that what does that rule mean?
12:58:43 <ais523> that's disallowing things like (2, y) = 3
12:58:51 <fizzie> "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 <ais523> which make no sense in any language, really, except Perl
12:58:57 <fizzie> (Didn't bother counting the )s.)
12:59:13 <ais523> in Perl, that's equivalent to y=3
12:59:21 <ais523> Perl is quite good at assigning meanings to otherwise meaningless expressions
12:59:35 <ais523> hmm... maybe it isn't, actually
12:59:41 <ais523> you might have to write scalar (2, y) = 3
12:59:45 <ais523> to get the right sort of comma operator
12:59:58 <AnMaster> 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 <AnMaster> 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 <fizzie> It's easy to have a consistent and sane syntax if you have so little of it, like Scheme has.
13:01:26 <AnMaster> on the other hand, scheme doesn't have a portable rand() afaik
13:02:37 <AnMaster> fizzie, and yes not having much syntax helps a lot
13:05:27 <fizzie> Still, my written-in-Prolog Scheme syntax parser is a whopping 335 lines.
13:05:52 <ais523> that's just because good-style Prolog is inherently very vertical
13:06:08 <fizzie> It's not very good-style. :p
13:06:13 <fizzie> Most of it is about numbers, anyway.
13:06:14 <ais523> although using \+ and ; and -> a lot makes it less readable but shorter
13:07:38 <fizzie> There's the exact/inexact prefixes, radix prefixes, and complex numbers to care about.
13:08:24 <ais523> numbers always seem hacked into Prolog
13:08:29 <ais523> it would be much more elegant without them
13:08:34 <ais523> you could use list lengths instead, or something
13:08:41 <ais523> and get round all the random restrictions on numbers that exist
13:09:12 <fizzie> I think I converted the Scheme constants into SWI-Prolog numbers, and used the inelegant operations.
13:09:48 <fizzie> Or, hmm. Actually not.
13:10:06 <fizzie> I seem to have implemented some sort of auto-normalized rationals there.
13:11:33 <fizzie> Well, it was just a course programming exercise.
13:18:23 <AnMaster> fizzie, I would like to see it
13:18:41 <AnMaster> also any good online prolog tutorial?
13:19:01 <AnMaster> and what open source prolog implementation would you recommend?
13:19:13 <ais523> I'd recommend gprolog, mostly because I'm used to it
13:19:19 <ais523> and it even attempts to implement some sort of standard library
13:19:26 <AnMaster> Description: GNU Prolog is a native Prolog compiler with constraint solving over finite domains (FD)
13:19:28 <ais523> above what ISO guarantees, which isn't a lot
13:19:34 <ais523> AnMaster: you can ignore the FD stuff
13:19:38 <ais523> and it has a good debugger
13:19:43 <ais523> it's both a compiler and an interpreter
13:19:47 <ais523> both together, in fact
13:20:00 <ais523> if you run a null program through the compiler, you get the interpreter
13:21:03 <ais523> I learnt Prolog from RL books
13:21:09 <ais523> which in retrospect weren't all that useful
13:21:20 <AnMaster> use amd64 && append-flags -fno-tree-dce
13:21:31 <AnMaster> it fails with dead code elimination on amd64?
13:22:07 <fizzie> Well, I've used SWI-prolog exclusively.
13:22:26 <fizzie> It's not bad, but I'm unqualified to judge very well.
13:22:58 <fizzie> 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:47 <fizzie> I'm not sure how portable this plscheme thing is. It uses SWI-Prolog's module system thing, at least.
13:24:25 <ais523> fizzie: I agree with reading the manual for details once you've learnt the basics, but not before
13:24:41 <AnMaster> so what about learning the basics?
13:26:14 <fizzie> 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 <fizzie> I don't think I've looked it at all, so caveat IRC-or.
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 <AnMaster> ais523, did you check all the patches or?
14:41:11 <ais523> haven't checked the build in detail
14:41:13 -!- Mony has joined.
14:41:17 <ais523> I've checked source, but I want to check the executable too
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 <Mony> it's like hello ^^
14:48:04 <ehird> 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:51:07 <AnMaster> ehird, iirc xcode is bundled with some tool to check for "object leaks" or such
14:51:17 * ehird wonders if #define S(x) ((string_t){strlen(x),x}) is sane.
14:51:27 <ehird> Well, it'd probably not go in a constant section.
14:51:31 <AnMaster> ehird, what is the type of string_t?
14:51:33 <ehird> That's kind of bad.
14:52:30 <AnMaster> ehird, it is a nice idea though
14:52:51 <ehird> 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 <AnMaster> well yes being gcc specific is part of the definition of being a gcc specific hack
14:53:36 <AnMaster> so that makes sense, it would ineed be specific to gcc
14:54:17 <AnMaster> ehird, is OS X on intel 32-bit or 64-bit?
14:54:47 <ehird> 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:57 <ehird> Apparently 10.5 (which I don't have) is 100% 64-bit.
14:55:05 <AnMaster> can you run 64-bit programs on 10.4?
14:55:10 <ehird> Yes, I believe so.
14:55:20 <ehird> I could try if you want.
14:55:21 <AnMaster> interesting mixed userland then
14:55:55 <AnMaster> at least that is what is needed on multilib gcc here
14:56:05 <ehird> Holy fuck, 189% of my CPU is being used.
14:56:14 <ehird> Okay, what's using it...
14:56:17 <ehird> Um... prl_disp_service.
14:56:37 <ehird> Oh. prl_disp_service is something to do with Parallels.
14:56:58 <ehird> lol, I didn't notice 180% of my CPU disappearing
14:57:26 <ehird> I forgot the exact number by that line.
14:57:40 <ehird> But the only reason I noticed it is I started activity monitor to see if it had anything 64-bit related.
14:57:47 <ehird> AnMaster: got a test program that prints out if it's 64-bit?
14:58:36 <AnMaster> int main(void) { printf("%zu\n", sizeof(char*)); return 0; }
14:59:16 <ehird> [ehird:~] % gcc -m64 64bit.c -o 64bit
14:59:16 <ehird> [ehird:~] % ./64bit
14:59:20 <ehird> [ehird:~] % gcc 64bit.c -o 64bit
14:59:22 <ehird> [ehird:~] % ./64bit
14:59:54 <ehird> AnMaster: I imagine it's because all the system libs are presumably 32-bit.
15:00:12 <ehird> So 64-bit wouldn't be very useful, generally.
15:00:13 <AnMaster> ehird, well I assume there is a 64-bit libc, or that program wouldn't have worked
15:00:20 <ehird> True, but what about the OS X apis?
15:00:33 <ehird> Hm, what's that program that prints out the libs a binary uses?
15:00:36 <AnMaster> oh you mean the super sized coca.h?
15:01:00 <ehird> AnMaster: CoreFoundation, Cocoa, and all the 500 million other libs.
15:01:21 <ehird> I don't think that works.
15:01:38 <ehird> For one, all OS X headers use CamelCase.h
15:01:43 <ehird> Two, Cocoa is an objective-c library
15:01:57 <ehird> #include <CoreFoundation.h> might work.
15:02:00 <ehird> Or was it Foundation.h?
15:02:01 <AnMaster> ehird, so what about C and C++ programs that want to use GUI?
15:02:24 <ehird> AnMaster: Generally, they shouldn't. Objective-C is a strict superset of C. But they can use Carbon.
15:02:41 <ehird> Carbon has fewer high-level widgets than Cocoa, though, and it's generally fading away.
15:02:41 <AnMaster> err carbon is kind of outdated isn't it?
15:02:48 <ehird> AnMaster: Finder is written in Carbon.
15:02:55 <ehird> ((Although it probably shouldn't be.))
15:03:01 <ehird> AnMaster: carbon isn't outdated
15:03:04 <ehird> just a bit neglected
15:03:10 <AnMaster> ehird, carbon was around at OS 9....
15:03:20 <ehird> Not strictly true.
15:03:31 -!- metazilla has joined.
15:03:32 <ehird> Carbon is an evolution of the API that was there in OS 9.
15:03:38 -!- moozilla has quit (Nick collision from services.).
15:03:40 -!- metazilla has changed nick to moozilla.
15:03:41 <ehird> But the implementation is all new, I think.
15:03:45 <AnMaster> err there was a Carbon file in /System/Extensions
15:03:53 <ehird> Was there? OK then
15:03:57 <AnMaster> Macintosh HD:System:Extensions
15:04:06 <ehird> OS X is a rather bizarre system.
15:04:18 <AnMaster> ehird, nothing compared to pre-OS X
15:04:20 <ehird> From the start, the kernel is the lovechild of BSD and Mach.
15:05:29 * ehird tries to found Foundation.h
15:05:38 <AnMaster> ehird, isn't : invalid in paths on OS X still?
15:05:52 -!- metazilla has joined.
15:05:55 <ehird> AnMaster: Yeah, you can use them/
15:05:59 -!- moozilla has quit (Nick collision from services.).
15:06:03 -!- metazilla has changed nick to moozilla.
15:06:18 <AnMaster> that is due to that they were used for path component separator back on pre-OSX
15:06:38 <ehird> iTunes reports filenames with : paths in its info dialog for tracks.
15:06:42 <ehird> I don't think anything else does, though.
15:07:00 <AnMaster> I think that OS 9 was possibly the only system I used that allowed / in a directory name
15:07:14 <ehird> Can't do that in OS X for obvious reasons :P
15:07:44 <ehird> AnMaster: Well, you can.
15:07:47 <ehird> I just saved a file as a/b.txt
15:08:10 <ehird> In each interface, it displays the character as the one that isn't forbidden.
15:08:35 <AnMaster> ehird, I thought both were forbidden everywhere?
15:08:36 <ehird> and % touch foo:bar.txt gives foo/bar.txt in finder, similarly
15:08:41 <ehird> AnMaster: seems not
15:08:53 <ehird> : is forbidden in OS X-land, / is forbidden in unix-land
15:08:54 <AnMaster> ehird, what char is it internally?
15:09:22 <AnMaster> well I guess that would work better for HFS
15:09:40 <ehird> I don't know what the + means apart from perhaps "okay, it's slightly more tolerable now"
15:10:02 <AnMaster> ehird, it is the difference between FAT16 and FAT32 basically iirc
15:10:12 <AnMaster> large disk issues with plain HFS
15:10:16 <ehird> Now now, I'd say HFS+ is far superior to fat32. :P
15:10:31 <AnMaster> ehird, yes and HFS far superior to fat16
15:10:55 <AnMaster> but I mean the 32/+ were both basically created to solve the same issue
15:11:00 <ehird> % echo '#include <Carbon.h>' | cpp -I/System/Library/Frameworks/Carbon.framework/Versions/A/Headers|wc -l
15:11:04 <ehird> (snip some misc errors from headers)
15:11:13 <ehird> It's rather... complete.
15:11:42 <AnMaster> the differences between HFS and HFS+ are larger than between FAT16 and FAT32 iirc
15:11:52 <AnMaster> I think HFS didn't use a b-tree, but HFS+ does
15:11:55 <ehird> yeah, HFS+ behaves much like a regular unix fs day-to-day
15:12:00 <ehird> apart from the case insensitive thing, which I like
15:12:05 -!- scriptdevil has joined.
15:12:14 <AnMaster> ehird, I have no clue how they managed to stick permissions into HFS+
15:12:20 <ehird> Oh wtf, i'm still on reddit's frontpage.
15:12:20 <scriptdevil> is it possible to set the current cell to 0 in brainfuck?
15:12:21 <AnMaster> without breaking classic mac os
15:12:24 <ehird> That's just ridiculous.
15:13:12 <scriptdevil> ehird: Oh.. Common sense.. I am new to brainfuck. :P
15:13:23 <ehird> Common sense is pretty bad in here!
15:13:27 <AnMaster> ehird, ah no hm: "Like HFS, HFS Plus uses B*-trees to store most volume metadata."
15:14:07 <AnMaster> ehird, the second paragraph on http://en.wikipedia.org/wiki/HFS_Plus describes the differences pretty well
15:14:39 <ehird> awful character set
15:15:00 <AnMaster> ehird, yes it messed up for us Swedes, iirc åäö mapping differed from everyone else
15:16:30 <ehird> Jeez, the 'not programming' guys is still the top comment.
15:16:39 <ehird> Guy got 338 points for it.
15:20:02 <AnMaster> ehird, those *.dmg files, how does one open them on non-OSX?
15:20:20 <ehird> AnMaster: that would be difficult. A dmg is a disk image containing an HFS+ filesystem.
15:20:33 <ehird> (Why it's used for distributing applications is a rather long story.)
15:20:42 <AnMaster> ehird, well linux supports reading hfs+
15:20:54 <ehird> http://baghira.sourceforge.net/dmg.htm ?
15:20:56 <AnMaster> the issue is it isn't just a dump, it seems to have some compression
15:22:03 <AnMaster> ehird, that doesn't work for compressed *.dmg
15:22:16 <fizzie> 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 <ehird> http://www.google.com/search?hl=en&q=compressed+dmg+linux&btnG=Search <- hm.
15:22:35 <ehird> AnMaster: I think you're fecked.
15:22:52 <ehird> AnMaster: Don't think so, I just think there aren't any tools from the looks of it.
15:22:53 <ehird> AnMaster: If you send me the dmg I can open it for you.
15:23:18 <AnMaster> 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 <ehird> http://vu1tur.eu.org/tools/ ths might work
15:23:31 <ehird> it says compressed
15:23:32 <ehird> and has source code
15:23:34 <AnMaster> I was unable to find a tool then so I thought now "would be useful for the future"
15:24:22 <ehird> You weird person and your non-clickable lnks.
15:24:41 <AnMaster> just it gives the classical AOL feeling
15:24:58 <ehird> Tell that to ais523 :P
15:25:14 <AnMaster> ehird, well in ais523 they aren't replacing letters
15:25:31 <AnMaster> but if I changed my nick to 4nM4ster or such
15:26:08 <ehird> 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 <ehird> Which, in fact, implies you have a point.
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 <AnMaster> ehird, also I never seen this "w1n5t0n"
15:27:04 <AnMaster> so I couldn't tell him since I don't know where to find him
15:27:06 <ehird> He plays Agora & B Nomic.
15:30:33 <AnMaster> ehird, hm from looking at the source code it seems to be compressed with libz
15:32:05 -!- scriptdevil has left (?).
15:34:13 <AnMaster> ehird, yeah a header called "plist" it seems
15:34:23 <ehird> http://en.wikipedia.org/wiki/Property_list
15:34:54 <ehird> Although unless it's XML or the plaintext format, I doubt it's the same plist.
15:35:56 <AnMaster> "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:09 <ehird> That'd be it then.
15:38:35 <AnMaster> since it checks that it begins with the string in plist_begin
15:38:35 <ehird> In a binary disk image?
15:38:37 <AnMaster> const char plist_begin[]="<plist version=\"1.0\">";
15:39:22 <AnMaster> 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:29 <AnMaster> quite a horrible way to parse xml
15:39:44 <ehird> are there any non horrible ways
15:39:51 <AnMaster> if (!strstr(plist, plist_begin) ||
15:39:52 <AnMaster> !strstr(&plist[pl_size-20], plist_end)) {
15:39:52 <AnMaster> printf("ERROR: Property list is corrupted.\n");
15:40:35 <AnMaster> ehird, also lucky that the source code is short, because it is not well commented
15:40:52 <ehird> You'd hate my code.
15:41:01 <ehird> I have like 1 comment per 100 lines.
15:41:21 <AnMaster> ehird, 2 / 300 in this case I believe
15:41:55 <ehird> 1/100 is when I'm actually trying to comment. Normally it'd be more like 3 comments per 1000 lines...
15:42:08 <ehird> But I try to make up for that by having the code simple enough to read.
15:42:18 <AnMaster> this code isn't simple to read
15:42:24 <AnMaster> parts = (char**)realloc(parts, partnum*sizeof(char*));
15:42:24 <AnMaster> partlen = (unsigned int *)realloc(partlen, partnum*sizeof(int));
15:42:24 <AnMaster> if (!parts || !partlen) mem_overflow();
15:42:24 <AnMaster> parts[i] = (char*)malloc(data_size+1);
15:42:24 <AnMaster> if (!parts[i]) mem_overflow();
15:42:42 <ehird> That sounds like it could do with being put into a function.
15:42:45 <AnMaster> no clue what is up with "mixed tab/space for same level" indention
15:43:01 <AnMaster> ehird, oh yes everything so far is in main() it seems
15:43:14 <ehird> I'm going to try and compile cfunge with 64 bit because I hate myslf.
15:43:41 <ehird> Woo, macports has 1.10. I don't have to manually compile bzr.
15:43:44 <AnMaster> ehird, mkdir build && cd build && CC=gcc CFLAGS='-m64' cmake ..
15:44:00 <ehird> AnMaster: Does that include the SUPAH OPTIMIZED crap? :P
15:44:13 <AnMaster> ehird, not really extra optimised no
15:44:30 <AnMaster> if you want that answer these questions three
15:45:00 <ehird> 1. ¯\(°_o)/¯ the CPU is intel core 2 duo, fwiw
15:45:04 <AnMaster> What is the air speed velocity of a macbook?
15:45:20 <ehird> 3. macbook air? Infinite :P
15:45:33 <AnMaster> ehird, I don't know what the -march is for core2
15:45:41 <AnMaster> nor does my gcc man page mention it
15:45:50 <ehird> 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 <ehird> Hmm, nothing here i think.
15:47:31 <ehird> where's the full list of marches
15:47:33 <AnMaster> well on gcc 4.3 at least: CFLAGS="-march=core2 -m64 -O3 -pipe" cmake -DCMAKE_BUILD_TYPE:STRING=Release ..
15:47:45 <ehird> AnMaster: -FUNROLL-LOOPS :D
15:47:50 <ehird> (no, I'm not that crazy.)
15:47:58 <ehird> Ha, what about the batshit insane flags you use for profiling?
15:47:58 <AnMaster> ehird, benchmark show no benefit from it
15:48:14 <AnMaster> ehird, for profiling I don't use cmake, I use -combine and -fwhole-program
15:48:28 <ehird> AnMaster: I remember you pasting a shell script with the most insane optimization flags I ever saw.
15:48:34 <ehird> Something like unsafe-loops.
15:49:01 -!- metazilla has joined.
15:49:03 <AnMaster> 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 <AnMaster> ehird, gcc 4.2 doesn't seem to support core2
15:49:35 <ehird> i686-apple-darwin8-gcc-4.0.1 (GCC) 4.0.1 (Apple Computer, Inc. build 5363)
15:49:46 -!- KingOfKarlsruhe has joined.
15:49:49 <AnMaster> so I don't know what is best for it
15:49:58 <ehird> I could try compiling my own gcc.
15:50:06 <ehird> except I'm not sure I hate myself enough
15:50:19 <AnMaster> ehird, well you might want that for other reasons, like llvm-gcc
15:50:33 <ehird> why would you use llvm with gcc
15:50:41 <AnMaster> ehird, because clang isn't ready yet
15:50:53 <AnMaster> it fails with "can't codegen this thing yet" when building cfunge
15:51:12 <ehird> llvm is unfortunately not as generic as it seems to want to be
15:51:22 <AnMaster> true it is too mac specific it seems
15:51:30 <AnMaster> bad influence from apple no doubt ;P
15:51:33 <ehird> I was meaning more,
15:51:38 <ehird> it's still imperative-centric
15:51:42 <AnMaster> ehird, apple sponsor llvm and help develop it
15:51:46 <ehird> I don't think it will ever be useful for building functional languages, for instance
15:52:13 <ehird> I want my damn functional CPU
15:52:24 <ais523> so do I, but I have no idea how to make one
15:52:33 <ehird> ais523: there's some research regarding them
15:52:46 <ehird> it's pretty hard to efficiently embed the lambda calculus in the real world :-)
15:53:05 <ehird> AnMaster: what're your crazy profiling cflags?
15:54:17 <AnMaster> http://rafb.net/p/inBv8T82.html
15:54:46 <ehird> AnMaster: so that's the fastest cfunge you could ever possibly get? XD
15:55:00 <AnMaster> ehird, not sure, on intel cpus using icc may be better
15:55:01 <ehird> I am so tempted to link to http://funroll-loops.info/ here. Oh wait I just did
15:55:28 <AnMaster> ehird, as you will notice it says -march=k8, which means amd64
15:55:50 <AnMaster> with a different setup other flags may be better
15:56:11 <ehird> Okay, time to build gcc :x
15:56:14 <AnMaster> also I haven't done any sort of exhaustive search of the cflags space
15:56:31 <AnMaster> ehird, it may need special steps on OS X
15:56:34 <ehird> 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 <ais523> ehird: the setting's in gcc-bf's build script somewhere
15:58:16 <AnMaster> ehird, very funny, on my system it takes around 0.035 s
15:58:17 <ehird> I think i will google it instead
15:58:27 <ehird> AnMaster: what, the whole fucking thing?
15:58:37 <AnMaster> ehird, it is like --enable-lang=c
15:58:38 <ehird> why not just hardcode the output
15:58:43 <ais523> without the closing paren
15:58:51 <AnMaster> ais523, ah I was almost right then
15:58:59 <ehird> configure: error: Building GCC requires GMP 4.1+ and MPFR 2.3.0+.
15:59:03 <ehird> good lord i hate you gcc
15:59:12 <ehird> why do you need arbitrary precision numbers to compile c
15:59:21 <ehird> AnMaster: i think those versions are super-recent
15:59:44 <ehird> gmp @4.2.4 (devel, math)
15:59:45 -!- Corun has quit ("This computer has gone to sleep").
15:59:55 <ehird> guess I'll just try pointing it to /opt/local/{include,lib}
16:00:16 -!- metazilla has joined.
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:53 -!- moozilla has joined.
16:01:20 <AnMaster> moozilla, care to fix your connection?
16:01:20 <ehird> checking for correct version of gmp.h... yes
16:01:20 <ehird> checking for correct version of mpfr.h... no
16:01:22 <ehird> configure: error: Building GCC requires GMP 4.1+ and MPFR 2.3.0+.
16:01:24 <ehird> only complain about the one you can't find kthxbai
16:01:40 <AnMaster> ehird, err it probably does like:
16:01:41 <ais523> ehird: never try to read gcc's configure script
16:01:46 <ehird> AnMaster: yes, I know
16:01:53 <ehird> ais523: the compiled version?
16:02:07 <ais523> the decompiled version is bad enough
16:02:41 <ehird> i just looked at gcc's configure
16:02:58 -!- moozilla has quit (Read error: 104 (Connection reset by peer)).
16:03:02 -!- moozilla has joined.
16:03:10 <AnMaster> moozilla, please fix your connection.............
16:03:32 <ehird> it only happens once in a while
16:03:34 <ehird> and it's like 2 lines
16:03:58 <ehird> ha apparently the original THX sound only took 325 lines of C instead of 20,000
16:04:05 <ehird> http://slashdot.org/comments.pl?sid=183734&cid=15182029 (the proof of identity is 404'd now tho)
16:04:13 <AnMaster> arvid@tux /mnt/phoenix/llvm/llvm-gcc $ wc -l configure.in
16:04:31 <AnMaster> ### WARNING: this file contains embedded tabs. Do not run untabify on this file.
16:04:41 <ehird> for testing things
16:05:18 <AnMaster> *-*-linux* | *-*-gnu* | *-*-k*bsd*-gnu)
16:05:18 <AnMaster> *-*-netbsd* | *-*-freebsd* | *-*-openbsd*)
16:05:18 <ehird> http://rafb.net/p/Sf0HFX18.html Pipe to /dev/dsp
16:05:23 <AnMaster> why is it doing stuff like that
16:05:30 <AnMaster> I thought that was what configure.sub did?
16:06:09 <ehird> AnMaster: compile, run piped to /dev/dsp
16:06:20 <AnMaster> I bet this is a new rickroll or something
16:06:35 <AnMaster> "CWG[Cgcg[eYcb^bV^eW^be^bVecb^" <-- encoded notes?
16:07:19 <AnMaster> main(v,i,z,n,u,t){for(v=-1;;)for(n=pow(/* gcc -lm sig.c; a.out > /dev/dsp */
16:07:26 <AnMaster> that main signature isn't valid
16:07:33 <ehird> who cares, it compils
16:08:53 <ehird> made for the program, I assume
16:09:01 <ehird> the link points to a demoscene group
16:09:18 <AnMaster> ehird, where did you find this?
16:13:11 <ehird> I wonder what the format of /dev/dsp is.
16:13:13 <ehird> Well, it's raw PCM.
16:13:20 <ehird> I wonder how to make PCM.
16:14:20 <ehird> I guess I should look it up.
16:14:39 <AnMaster> 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 <AnMaster> which is same as that with no profile feed back
16:14:59 <ehird> You are bat shit insane :-)_
16:15:07 <AnMaster> ehird, thanks, aren't we all in here
16:15:08 <ehird> Woo, gcc is compiling.
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:18:35 -!- sebbu2 has joined.
16:18:50 -!- oerjan has joined.
16:19:38 <AnMaster> ehird, also irregular webcomic has gone insane recently
16:20:01 -!- metazilla has joined.
16:20:04 <AnMaster> yes sure, the first few of these were funny
16:20:08 -!- moozilla has quit (Nick collision from services.).
16:20:09 <ehird> http://www.irregularwebcomic.net/
16:20:12 -!- metazilla has changed nick to moozilla.
16:20:18 <ehird> AnMaster: link me to the start of whatever the fuck this is
16:21:03 <AnMaster> ehird, http://www.irregularwebcomic.net/2167.html
16:21:09 <oerjan> except it's crashing on me
16:21:21 <ehird> AnMaster: okay, that's white
16:21:23 <ehird> ok next one is blue
16:21:31 <ehird> then it's darker blue
16:21:41 <ehird> okay now we're BLUE OR RED
16:21:56 <ehird> and and and and and and and
16:22:07 <oerjan> ehird: it may make _slightly_ more sense if you look at 2166 too
16:22:19 <ehird> oerjan: i'll do that
16:22:39 <AnMaster> oerjan, also he should learn to properly compress his png
16:22:48 <ehird> Is this... THE END OF IWC?
16:22:57 <oerjan> we don't know, obviously :D
16:23:13 <AnMaster> ehird, someone suggested it was rebooting
16:23:19 <AnMaster> also notice the cross over list
16:23:36 <AnMaster> ehird, spy theme and super hero theme
16:23:45 <oerjan> every theme except Espionage, Supers and Miscellaneous
16:24:03 <ehird> I bet the first comic after these is http://www.irregularwebcomic.net/1.html
16:24:52 <AnMaster> he claimed he wanted do more comics than some other strip before
16:24:58 <AnMaster> and I think he haven't reached it by far yet
16:25:06 <ehird> yes, I mean it'll repeat #1
16:25:16 <AnMaster> ehird, but with better image quality?
16:25:24 <ehird> maybe it'll be entirely drawn
16:25:37 <oerjan> Calvin and Hobbes, at 3 thousand something
16:25:53 <AnMaster> oerjan, well last irregular is 2173
16:26:24 <oerjan> the excluded themes are those that weren't included in the buildup, too (no time paradox setup)
16:27:06 <ehird> ah did the universe end in all of them
16:27:08 <AnMaster> oerjan, err what is the misc theme?
16:27:20 <oerjan> everything not included in another theme
16:27:45 <oerjan> the Allosaurus used to be there, but now he's more in Martian i think
16:27:54 <AnMaster> yes he is martian indeed I think
16:28:14 <oerjan> he fights the martians
16:29:22 <oerjan> i just hope this won't end with a hobbit pun because then it'll go on until 2196 :D
16:29:39 <oerjan> (someone suggested it on the forums)
16:29:59 <oerjan> ok, it would still be better than IWC _ending_...
16:30:37 <oerjan> we haven't even found out if the Allosaurus won the president reelection...
16:30:56 <ehird> What happened to dmm killing himself?
16:31:40 <oerjan> that was one of the time paradox setups
16:32:33 <ehird> i love the thread titels for them on the forum
16:33:00 <AnMaster> oerjan, err the hobbit one have moved slightly
16:33:09 <AnMaster> sometimes a bit earlier, sometimes a bit later
16:33:17 <AnMaster> iirc it changed somewhere near the beginning
16:33:28 <oerjan> and it has been on 96 for some time
16:33:55 <oerjan> officially, no more than every 100th strip
16:34:10 <AnMaster> oerjan, true, but one time it was 1-2 strips off iirc
16:35:39 <AnMaster> they tend to have long annotations
16:35:47 <AnMaster> much longer than most themes average
16:35:56 -!- sebbu has quit (Read error: 110 (Connection timed out)).
16:36:15 <ehird> I bet IWC keeps doing this until it reaches (0,0,0)
16:36:33 <ehird> and then it stays like that for like 10 comics
16:36:38 <ehird> and then, something
16:36:55 <oerjan> 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:22 <ehird> you've figured it out.
16:38:30 <AnMaster> "don't make a hobbit of destroying the world"?
16:38:38 <oerjan> actually that it might fade to black and end up in the fantasy cave was suggested on the forum
16:38:54 <ehird> [[Oh well, at least there's no way this could be a bigger disappointment than mezzacotta! =D ]]
16:39:14 <oerjan> hm what was the fantasy setup
16:39:24 -!- moozilla has quit (Read error: 54 (Connection reset by peer)).
16:39:28 -!- moozilla has joined.
16:39:58 <oerjan> the last fantasy strip
16:42:17 <oerjan> oh 2152, there was no obvious paradox for that theme
16:42:50 <ehird> gcc compile is slowwwwwww
16:43:15 <AnMaster> fantasy theme explosion and space explosion
16:43:32 <oerjan> except they _have_ gone back in time, of course
16:45:07 <oerjan> although destroying the multiverse was mentioned in 2122
16:47:13 <ehird> 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 <oerjan> * ais523 laughs at oerjan's quit reason
16:48:07 <oerjan> the bus indeed did suck
16:48:14 <ehird> I wonder if ais523 is still awake.
16:48:39 <ais523> I'm IRCing on autopilot, usually a bad sign
16:49:01 <ehird> ais523: describe intercal's select to me
16:49:08 <oerjan> 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 <ais523> ehird: read the manual
16:49:10 <ehird> (a good way to determine the current awake-level of anyone)
16:49:21 <ehird> ais523: where's the manual
16:49:34 <ehird> ais523: where is it now :
16:49:42 <ais523> in a tarball from intercal.freeshell.org
16:49:50 <ehird> how can I unpack tarballs
16:50:02 <ehird> where do I put that
16:50:13 <ehird> (in a few minutes, we should be down to quarks)
16:50:17 <ais523> ehird: you're running Mac OS X, it should be able to figure it all out for you
16:50:41 <ehird> what's trolling <.<
16:52:06 * oerjan would do the obvious thing but then ehird would only ask what's swatting
16:52:26 <ehird> what's the obvious thing
16:55:49 <AnMaster> screen saver is supposed to blank screen
16:56:03 <AnMaster> it just showed password dialog
16:57:32 <AnMaster> oerjan, I think it is time for the frying pan
16:58:17 <AnMaster> and for my screen saver, it seems to work now
16:58:24 <AnMaster> no clue what caused blanking to fail
16:58:28 <oerjan> 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:59:36 <oerjan> although a frying pan _in_ a screen saver might work, as long as it is properly fastened.
17:00:13 <AnMaster> oerjan, my screen saver is just blanking + kde password dialog
17:00:36 <ehird> du du du du du du.
17:01:20 -!- metazilla has joined.
17:01:29 -!- moozilla has quit (Nick collision from services.).
17:01:31 -!- metazilla has changed nick to moozilla.
17:01:41 <ehird> ((how is du that small))
17:02:58 <Badger> openbsd's is bigger than free :P
17:03:34 <oerjan> it probably contains a buggy implementation of half of emacs
17:03:37 <AnMaster> Badger, I mean it GNU du more than half the size of cfunge, and cfunge supports lots of fingerprints
17:03:56 <ehird> gnu ca is hilarious
17:05:02 <oerjan> sheesh did IWC get reddited or something
17:05:29 <Badger> AnMaster: why is my cat so fat :P
17:05:30 <oerjan> DMM supposedly just made the site _more_ efficient...
17:05:58 <AnMaster> oerjan, oh yes to use javascript or something
17:06:19 <oerjan> rather than reloading the whole page on options change
17:06:30 <oerjan> but i assume he did more than that
17:06:49 <AnMaster> oerjan, that means sending much more data for those who don't want the extra stuff
17:07:07 <AnMaster> ehird, that is still less than GNU cat
17:07:47 <oerjan> but still the optional parts are just text
17:08:08 <oerjan> shouldn't be that different
17:09:09 <AnMaster> Badger, note that is using /usr/bin/du
17:09:33 <AnMaster> so this isn't a fair comparison for my linux system
17:10:02 <AnMaster> while the freebsd system is 32bit
17:10:22 <AnMaster> ehird, hey OS X installs all their stuff outside /usr/bin
17:10:32 <ehird> AnMaster: i'm talking about unix tools here.
17:10:48 <AnMaster> ehird, well on my system X and what not are in /usr/bin
17:11:03 * ehird is trying /opt/local
17:11:05 <AnMaster> ehird, so that is impossible to compare
17:11:11 <ehird> probably like 5000000000G
17:11:19 <Badger> /obsd: ELF 64-bit LSB executable, x86-64, version 1, statically linked, not stripped
17:11:23 <AnMaster> 457M /usr/bin <-- gentoo, and that comains KDE
17:11:25 * Badger wonders what the devil that is
17:12:05 <Badger> kernel wouldn't be that type
17:12:09 <AnMaster> that is /boot/kernel/kernel or so here
17:12:19 <ehird> Badger: % file /obsd
17:12:56 <AnMaster> ais523, unfair for me, I have several kernels in /boot
17:13:11 <AnMaster> it ends up at 99 MB due to that
17:13:12 <ehird> -rw-r--r-- 1 root wheel 8.2M 2007-10-11 02:24 mach_kernel
17:13:14 <ais523> I have loads of kernels in /boot
17:13:21 <ais523> I have to delete the old backups to be able to upgrade my OS
17:13:30 <AnMaster> 9,6M /boot <-- my gentoo linux
17:13:31 <Badger> /boot: ELF 32-bit LSB executable, Intel 80386, version 1, statically linked, stripped
17:13:49 <AnMaster> Badger, well on obsd it is the boot loader
17:14:04 <Badger> so obsd must be the kernel
17:14:42 <AnMaster> *bsd have good man pages usually
17:15:14 <Badger> I sshed to another box
17:16:34 <ehird> gcc still compiles
17:16:47 <AnMaster> you know it will likely boot strap itself
17:17:06 <AnMaster> ehird, check if the output contains xgcc
17:17:07 <ais523> heh, presumably it's faster in a cross-compile for that reason
17:17:10 <ehird> it took like half an hour last time
17:17:17 <ehird> /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 <ehird> c ../../.././libiberty/regex.c -o regex.o
17:17:37 <AnMaster> ehird, looks like it is compiling the third stage using the second one
17:18:07 <ehird> I'm not going to make install this btw
17:18:10 <AnMaster> are you building a -m64 with "host-i386-apple-darwin8.11.1"
17:18:12 <ehird> and use it from there
17:18:23 <ais523> AnMaster: compiling third using second is correct
17:18:25 <ehird> A 32-bit compiler can compile a 64-bit binary, I'm sure
17:18:29 <ais523> if they aren't identical binaries, something went wrong
17:18:35 <AnMaster> ehird, also it needs to be installed
17:18:39 <ehird> AnMaster: does it?
17:18:48 <ehird> I was just planning on using it as it is here.
17:18:59 <ais523> at least if you invoke xgcc directly
17:19:06 <ehird> ok, so where's my final gcc built to?
17:19:07 <ais523> as that one's designed to be run from the build treee
17:19:08 <AnMaster> ais523, well using the final stage I meant
17:19:18 <ehird> xgcc would be fine
17:19:23 <ehird> as long as it does core2
17:19:37 <ais523> AnMaster: the final and intermediate stage are bit-for-bit identical
17:20:08 <oerjan> oklofok: http://www.mezzacotta.net/singles/jokes_explained_explained_explained_explained.php
17:20:20 <ais523> 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 <ehird> % ./host-i386-apple-darwin8.11.1/gcc/xgcc --version
17:20:53 <ehird> AnMaster: paste your cfunge cflags again?
17:21:41 <AnMaster> ehird, I recommend CFLAGS="-march=core2 -pipe -O3 -ftracer -frename-register -fweb" for you
17:21:52 <AnMaster> ehird, you need to set CC *before* you call cmake
17:21:53 <ehird> AnMaster: what about the unsafe loop optimizations!
17:22:18 <ehird> for the config gui :P
17:22:37 <ais523> ehird: you check the program first to make sure the loop optimisations are in fact safe in the context of the program
17:22:47 <ehird> xgcc: error trying to exec 'cc1': execvp: No such file or directory
17:22:50 <ehird> need to adjust PATH :P
17:23:11 -!- ais523 has quit.
17:23:27 -!- metazilla has joined.
17:23:33 <ehird> 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:50 <AnMaster> I only installed it through my package manager
17:24:40 <AnMaster> ehird, oh do you have ncurses? I have no clue if the ncurses detection I use works on os x
17:24:42 <ehird> CMake Error: The C compiler
17:24:42 <ehird> "/Users/ehird/gcc-4.3.2/host-i386-apple-darwin8.11.1/gcc/xgcc" is not able to
17:24:44 <ehird> compile a simple test program.
17:24:56 <ehird> ld: can't locate file for: -lgcc
17:24:59 <AnMaster> ehird, you managed to get it to use the right c compiler at least
17:25:00 <ehird> need LD_LIBRARY_PATH
17:25:42 <AnMaster> ehird, also I assume you enabled multilib when compiling? otherwise you won't have any 64-bit libgcc
17:25:56 -!- moozilla has quit (Read error: 131 (Connection reset by peer)).
17:26:00 <AnMaster> hey no one said gcc compiling was fun!
17:26:01 -!- moozilla has joined.
17:26:02 <ehird> Er, what's multilib?
17:26:17 <ehird> Is it enabled by default?
17:26:17 <AnMaster> ehird, both 32-bit and 64-bit libs, you have it for your system gcc and your libc
17:26:28 <AnMaster> ehird, I don't know if it is on by default
17:26:29 <ehird> libgcc_s_x86_64.1.dylib
17:26:39 <ehird> (in ~/gcc-4.3.2/host-i386-apple-darwin8.11.1/gcc)
17:26:46 <ehird> dylib is just .so for os x
17:26:50 <AnMaster> ehird, you may not have any 32-bit one then
17:27:06 <ehird> I'm not using this for anyhing else
17:27:13 <ehird> "/Users/ehird/gcc-4.3.2/host-i386-apple-darwin8.11.1/gcc/xgcc" is not able to
17:27:13 <ehird> compile a simple test program.
17:27:18 <ehird> ld: can't locate file for: -lgcc
17:27:22 <ehird> guess I need to symlink
17:27:39 <ehird> libbackend.a libgcc.a libgcc_eh.a libgcov.a
17:27:51 <oerjan> they just had to dyliberately call it something different
17:28:24 <ehird> AnMaster: will this compile all fingerprints by default?
17:28:28 <ehird> Badger: it sucks less than everything else
17:28:34 <ehird> WARNING: This project requires version 2.6 of CMake. You are running version
17:28:37 <ehird> I hate you, AnMaster.
17:28:40 <AnMaster> ehird, it will disable TERM and NCRS if it can't find ncurses library and/or headers
17:28:57 <AnMaster> but apart from that it will compile all
17:29:32 <ehird> This is the biggest waste of time ever :)
17:29:36 <AnMaster> ehird, tell me if mycoterm works on your computer, it would be nice to know
17:29:42 <AnMaster> also what do you mean waste of time?
17:29:55 <ehird> I compiled freaking gcc just to squeeze a few ms out of a befunge interpreter.
17:30:02 <AnMaster> on my system it is just a single command as root
17:30:16 <AnMaster> making my package manager upgrade
17:30:25 <ehird> % sudo port upgrade cmake
17:30:52 <ehird> macports is written in tcl xD
17:30:53 <AnMaster> now I seriously hope windows never gets an unified package manager
17:31:05 <AnMaster> that would kind of make windows suck less
17:31:28 <AnMaster> ehird, also don't you upgrade weekly btw?
17:31:45 <ehird> i'm lazy and the existing versions work for anything but cfunge
17:32:01 <AnMaster> ehird, no I upgraded myself to 2.6 because OSG needed it
17:32:19 <AnMaster> then the 2.4 cmakefile didn't work well with 2.6, it had lots of warnings then
17:32:30 -!- sebbu2 has quit ("@+").
17:32:33 <AnMaster> and yes cmake sucks, but the alternatives suck more
17:32:45 <AnMaster> for example consider that PATH thing you needed for CC
17:32:49 <ehird> scons sucks a bit less
17:32:51 <AnMaster> with scons that would have been a pain
17:32:57 <AnMaster> since it would have ignored your env variables
17:33:11 <ehird> I tried to use rake (ruby make) for something, it works well for some things but not building progarms
17:33:22 <AnMaster> specialized ones work well usually
17:33:33 <ehird> rake isn't for making ruby.
17:33:39 <ehird> rake is a generic build tool written in ruby
17:33:51 <ehird> unfortunately, it doesn't let you do things like %.o from %.c
17:33:59 <oerjan> progarms, for when your software needs to get a grip on things
17:34:05 <AnMaster> oh just list every file by hand
17:34:07 <ehird> i.e., you have to manually make the file targets (of course, you can just glob them which is easy enough)
17:34:13 <ehird> you'd have to duplicate it for every item
17:34:21 <ehird> Dir['src/*.c'].each do |src|
17:34:29 <ehird> file blah => [src] do
17:34:37 <ehird> AnMaster: basically
17:34:43 <ehird> then make a file target for each
17:34:47 <ehird> without writing it all out
17:34:50 <ehird> but still, it's pretty ugly
17:35:06 <AnMaster> FILE(GLOB CFUNGE_SOURCES RELATIVE ${CFUNGE_SOURCE_DIR} src/*.c
17:35:21 <AnMaster> like subdirs and included libraries
17:35:26 <ehird> yeah, it's just that rake doesnt' have a general understanding of pattern rulse
17:35:28 <AnMaster> but that is pretty horrible syntax yes
17:35:32 <ehird> I could build something on top of it
17:35:42 <AnMaster> ehird, I think there is a REGEX or some such
17:36:04 <AnMaster> also UPPERCASE shows it is a SERIOUS QUERY LANGUAGE... err wait what?
17:36:05 <ehird> I could probably do something like:
17:36:47 <ehird> pattern %{build/\1.o} => [%r{src/(.+).c}] do
17:37:04 <AnMaster> SELECT * FROM src LIKE '~.c' INTO SOURCEFILES;
17:37:21 <AnMaster> also broken sql syntax I think
17:37:30 * AnMaster don't remember LIKE pattern rules
17:37:42 <ehird> cmake builds slowly
17:38:02 -!- metazilla has joined.
17:38:10 -!- moozilla has quit (Nick collision from services.).
17:38:14 -!- metazilla has changed nick to moozilla.
17:38:22 <AnMaster> moozilla, please fix your connection
17:38:29 <ehird> http://www.mezzacotta.net/singles/jokes_explained_explained_explained_explained.php I think I'll write X := X Explained
17:39:40 <ehird> AnMaster: stop bugging him
17:39:42 <ehird> 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:53 -!- moozilla has joined.
17:41:14 <ehird> looks like a ghostbot
17:42:09 <AnMaster> "# If black boxes on planes are indestructible, why isn't the whole plane made of that material?" <-- actually, why?
17:42:22 <oerjan> AnMaster: consider reading to the end
17:43:21 <oerjan> maybe if they use carbon nanotubes...
17:43:45 <AnMaster> oerjan, well maybe it would work to make certain important structural components out of them
17:43:52 <AnMaster> anyway even if they did it wouldn't help much
17:44:08 <oerjan> i mean, those are supposed to be both strong and light iirc
17:44:10 <AnMaster> because even if the plane survived the crash would cause a high G load
17:45:17 -!- sebbu has joined.
17:45:24 <oerjan> yes but not worse than currently
17:45:43 <AnMaster> mezacotta breaks when you zoom the page
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 <oerjan> i never metazilla that would stay
18:00:18 <AnMaster> I can (try) to help with specific issues if you want, hopefully none of them are due to the way you compiled gcc
18:03:06 <ehird> % 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:27 <ehird> AnMaster: where do i set cflags in ccmake
18:03:39 <ehird> CMAKE_C_FLAGS_RELEASE
18:03:42 <ehird> AnMaster: paste your cflags again?
18:03:46 <ehird> and is release on by default?
18:04:25 <AnMaster> ehird, not release by default no
18:04:34 <ehird> ok, how do i make it release
18:04:47 <AnMaster> there is a CMAKE_BUILD_TYPE setting somewhere there
18:05:14 <ehird> paste your cflags?
18:05:47 <AnMaster> <AnMaster> ehird, I recommend CFLAGS="-march=core2 -pipe -O3 -ftracer -frename-register -fweb" for you
18:06:02 <ehird> CMAKE_OSX_ARCHITECTURES i386
18:06:05 <ehird> do I have to change anything there
18:06:14 <AnMaster> ehird, don't know, it doesn't show up on linux
18:06:27 <AnMaster> ehird, doesn't it display help in the lower status bar
18:06:37 <AnMaster> a white bar on your black console
18:06:42 <ehird> CMAKE_OSX_ARCHITECTURES: Build architectures for OSX
18:06:53 <AnMaster> ehird, well that doesn't help me decide what it does
18:07:00 <AnMaster> maybe related to universal binary?
18:07:03 <ehird> what's the name of i386 that is 64 bit?
18:07:15 <ehird> also /me adds -m64 to the cflags
18:07:18 <AnMaster> ehird, on *linux* it is x86_64 usually, but that may differ
18:07:44 <AnMaster> ehird, with your custom gcc I wouldn't touch CMAKE_OSX_ARCHITECTURES
18:07:52 <AnMaster> try it the way it is and see if it works
18:08:09 <ehird> AnMaster: leaks memory?
18:08:33 <AnMaster> apart from a few bytes of still reachable in REFC, but that is ok
18:08:53 <AnMaster> same for SOCK and FILE, all of them need to track global lists of handles
18:09:21 <AnMaster> so basically they are like "static" arrays allocated dynamically
18:10:33 <AnMaster> ehird, oh and I haven't tried gc + ncurses yet so I would definitely keep GC off atm
18:11:43 <ehird> Press [enter] to edit option CMake Version 2.6 - patch 2
18:11:43 <ehird> Press [c] to configure
18:11:45 <ehird> Press [h] for help Press [q] to quit without generating
18:11:47 <ehird> Press [t] to toggle advanced mode (Currently On)
18:11:56 <ehird> puts me back to the same screen
18:12:05 <ehird> CURSES_EXTRA_LIBRARY CURSES_EXTRA_LIBRARY-NOTFOUND
18:12:11 <ehird> what does that mean
18:12:13 <AnMaster> I don't know about that either
18:12:17 <ehird> LIBRT_LOCATION LIBRT_LOCATION-NOTFOUND
18:12:18 <AnMaster> it is the ncurses check from cmake
18:12:30 <AnMaster> the needed function is in libc on *bsd
18:12:47 <ehird> xgcc: error trying to exec 'cc1': execvp: No such file or directory
18:12:49 <ehird> need the PATH again
18:12:58 <ehird> % 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 <ehird> i feel just like a gentoo use.
18:13:14 <ehird> [ 1%] Building C object CMakeFiles/cfunge.dir/lib/libghthash/cfunge_mempool.c.o
18:13:14 <ehird> cc1: error: unrecognized command line option "-arch"
18:13:15 <ehird> cc1: error: unrecognized command line option "-frename-register"
18:13:25 <ehird> butts on a freaking stick
18:13:25 <AnMaster> ehird, I got no clue what is going on there
18:13:43 <ehird> ha ha ha well that's your fault the
18:13:56 <AnMaster> <AnMaster> <AnMaster> ehird, I recommend CFLAGS="-march=core2 -pipe -O3 -ftracer -frename-register -fweb" for you
18:14:01 <ehird> I copied that right in
18:14:06 <ehird> i guess -arch is being passed to cc1
18:14:08 <AnMaster> 2) yes rename-register was wrong
18:14:21 <ehird> it doesnt recognize -arch because it was only compiled for 64 bit?
18:14:26 <ehird> gimme your 64 bit test program again
18:14:51 -!- moozilla has quit (Read error: 54 (Connection reset by peer)).
18:15:02 -!- moozilla has joined.
18:15:39 <AnMaster> jan 07 15:58:08 <AnMaster> #include <stdio.h>
18:15:39 <AnMaster> jan 07 15:58:36 <AnMaster> int main(void) { printf("%zu\n", sizeof(char*)); return 0; }
18:15:56 <AnMaster> ehird, anyway check if it can compile hello world with those flags
18:16:48 <ehird> do i have to recompile gcc
18:16:57 <AnMaster> ehird, did you include -m64 to gcc there?
18:17:14 -!- moozilla has quit (Read error: 54 (Connection reset by peer)).
18:17:15 <ehird> well now I did and:
18:17:17 <ehird> ld64-59.2 failed: library not found for -lgcc
18:17:20 -!- moozilla has joined.
18:17:21 <ehird> I need multilib don't i
18:17:46 <ehird> Deewiant: i compiled a new gcc
18:17:49 <ehird> just to compile cfunge fast
18:17:52 <ehird> and I compiled it wrong
18:18:03 <AnMaster> Deewiant, I think ehird got a mental shock
18:18:14 <ehird> anyway, so I am about to hop on a plane to sweden
18:18:16 <ehird> track down AnMaster
18:18:31 <ehird> AnMaster: if cfunge didn't exist this wouldn't have happened
18:18:32 <Deewiant> so he's got a 32-bit system and he's trying to build a 64-bit gcc, or what?
18:18:39 <ehird> Deewiant: 64 bit system
18:18:42 <ehird> but gcc only built 32 bit shit
18:18:47 <AnMaster> Deewiant, he has 64-bit OS X with 32-bit userland
18:19:16 <ehird> os x is certified unix
18:19:17 <AnMaster> I got no fcking clue what that does
18:19:18 <ehird> of course it freaking does chroots
18:19:19 <Deewiant> I don't know anything about OS X
18:19:31 <AnMaster> but where would you get a system to run in the chroot?
18:19:37 <AnMaster> you can't just download a linux distro
18:19:50 <Deewiant> install a full 64-bit userland into the chroot
18:19:51 <ehird> AnMaster: can I get multilib __without__ recompiling all of gcc
18:19:53 <AnMaster> ehird, wouldn't it be rather pointless to copy same old gcc in it?
18:20:07 <ehird> now tell me how :P
18:20:46 <ehird> AnMaster: what is the multilib option
18:20:52 <ehird> also, how can I make gcc build with m64
18:20:53 <AnMaster> mkdir gcc-build; cd gcc-build; ../gcc-source/configure --prefix=$HOME/gcc43 --help
18:21:09 <ehird> --with-multilib i guess
18:21:18 <ehird> and CFLAGS="-m64" on cmd line of configure
18:21:29 <AnMaster> ehird, and I don't know about that
18:21:33 <ehird> % CFLAGS="-m64" ./configure --enable-languages=c --with-gmp=/opt/local --with-mpfr=/opt/local --with-multilib --prefix=$HOME/gcc43
18:21:37 <ehird> if you say yes and it doesn't
18:21:38 <ehird> be prepared to die
18:21:49 <AnMaster> ehird, I'm not sure about this
18:21:55 <AnMaster> since I never done any build like that
18:21:58 <ehird> how do I find out what host/target it defaults to?
18:22:05 <AnMaster> I only ever used package manger and done llvm-gcc builds
18:22:20 <AnMaster> arvid@tux /mnt/phoenix/llvm/llvm-gcc $ ./config.guess
18:22:37 <ehird> i386-apple-darwin8.11.1
18:22:44 <ehird> ok, so I s/i386/x86_64/.
18:23:00 <ehird> --build=BUILD configure for building on BUILD [guessed]
18:23:00 <ehird> --host=HOST cross-compile to build programs to run on HOST [BUILD]
18:23:02 <ehird> --target=TARGET configure for building compilers for TARGET [HOST]
18:23:05 <ehird> so I just set all of them to the same thing then
18:23:28 <AnMaster> it could result in a cross compiled build
18:23:37 <ehird> well host is for cross compiling
18:23:45 <ehird> i'll just do build
18:23:52 <ehird> % 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:58 <AnMaster> ehird, that would probably mean it look for the host gcc
18:24:04 <ehird> checking for correct version of gmp.h... yes
18:24:04 <ehird> checking for correct version of mpfr.h... no
18:24:40 <AnMaster> ehird, also you should build gcc out of tree
18:25:19 <AnMaster> ehird, well gcc devs say everything else is unsupported iirc
18:25:26 <ehird> mpfr @2.3.2_0+darwin_i386 (active)
18:25:43 <ehird> this worked last time
18:25:45 <AnMaster> ehird, I would try skipping host
18:26:00 <ehird> Variants: darwin_i386, darwin_x86
18:26:01 <AnMaster> multilib should mean both work
18:26:14 <ehird> % sudo port uninstall mpfr; sudo port install mpfr +darwin_x86
18:26:47 <AnMaster> ehird or your end up with breaking stuff due to missing 32-bit version :D
18:27:00 <AnMaster> that would be funny wouldn't it?
18:27:13 <ehird> this is so not worth cfunge
18:27:17 <ehird> i bet i'm gaining like
18:27:27 <AnMaster> ehird, anyway I suggest dropping CFLAGS and --build from GCC line
18:27:34 <ehird> nah, ill try it like this
18:27:34 <AnMaster> but keeping multilib of course
18:27:40 <ehird> 64 bit is faster with cfunge
18:27:54 <AnMaster> due to more registers and better calling convention
18:28:02 <ehird> please resume complaining to metazilla
18:28:09 <ehird> i just switched to #reddit
18:28:15 <oerjan> 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 <ehird> he's arguing with someone that a supernatural god can be objectively proved
18:28:32 <AnMaster> oerjan, for linux this would be easy always
18:29:50 <AnMaster> crossdev -t arm-unknown-linux-gnu -s3
18:29:57 <AnMaster> and it builds a cross compiler to arm for you
18:30:01 <oerjan> naturally, god cannot be proved. supernaturally, however, he can.
18:30:07 <AnMaster> -s3 means "up to C compiler but skip C++ one"
18:30:38 <ehird> checking for correct version of mpfr.h... no
18:30:43 <ehird> mpfr @2.3.2_0+darwin_i386+darwin_x86
18:30:55 <ehird> [ehird:~] % sudo port uninstall mpfr; sudo port install mpfr -darwin_i386 +darwin_x86
18:30:57 <AnMaster> ehird, what is that version string from?
18:30:58 <ehird> let's try that again
18:31:05 <ehird> AnMaster: macports
18:31:13 <Deewiant> ehird: see the configure.log to see what it's missing
18:31:23 <ehird> its because i have both variants installed
18:32:05 <AnMaster> ehird, "port: 32-bit mfpr missing: unable to run"
18:32:32 <AnMaster> well I hope that doesn't happen to you
18:32:42 <AnMaster> oh and never ever mount proc on / by mistake
18:32:50 -!- olsner has joined.
18:33:01 <AnMaster> managed to get out of it thanks to having a rescue binary in the same directory
18:33:03 <ehird> AnMaster: do you really think macports -- a tcl program -- uses mpfr, a multiple-precision floating-point computation library?
18:33:07 <Deewiant> well, much is wrong, but what problems does it cause :-P
18:33:19 <AnMaster> Deewiant, /bin/ld.so not found
18:33:30 <AnMaster> no no dynamically linked binaries can run
18:33:46 <AnMaster> Deewiant, in other words: pretty bad
18:33:51 <Deewiant> I thought just proc superimposed on top of /
18:34:00 <AnMaster> except I still had relative path
18:34:09 <ehird> ---> Activating mpfr @2.3.2_0+darwin_i386+darwin_x86
18:34:11 <AnMaster> and could find a rescue shell that way
18:34:29 <ehird> configure.log time
18:34:34 <AnMaster> ehird, also what did config.log say?
18:34:40 <ehird> 18:34 <ehird> configure.log time
18:34:41 <AnMaster> err isn't the name config.log?
18:34:56 <AnMaster> arvid@tux /mnt/phoenix/llvm/llvm-gcc $ ls ../gcc-build
18:34:56 <AnMaster> Makefile config.log i686-pc-linux-gnu libiberty prev-libcpp stage1-gcc stage1-libdecnumber stage_last
18:35:23 <AnMaster> .lo? isn't that somehow related to libraries?
18:35:28 <ehird> ld64 warning: in /opt/local/lib/libmpfr.dylib, file is not of required architecture
18:35:28 <ehird> ld64 warning: in /opt/local/lib/libgmp.dylib, file is not of required architecture
18:36:02 <Mony> you're welcome
18:36:03 <ehird> I could manually compile gmp and mpfr.
18:36:06 <AnMaster> ehird, what about dropping the --build and CFLAGS I mentioned
18:36:08 <ehird> I could also kill myeslf.
18:36:11 <ehird> AnMaster: well, ok.
18:36:26 <AnMaster> ehird, I hope this works out for you
18:36:34 <AnMaster> ehird, and don't forget the c only build thing
18:37:01 <AnMaster> at least only C and C++ are built by default iirc
18:37:17 <AnMaster> ehird, not really, not compared to g++
18:37:24 -!- moozilla has quit (Read error: 104 (Connection reset by peer)).
18:37:31 -!- moozilla has joined.
18:39:37 -!- moozilla has quit (Read error: 104 (Connection reset by peer)).
18:39:43 <AnMaster> I'm just scrolling between it's end
18:39:56 -!- moozilla has joined.
18:40:06 <ehird> /bin/sh: line 1: build/genmodes: No such file or directory
18:40:06 <ehird> make[3]: *** [s-modes-h] Error 127
18:40:07 <ehird> make[3]: Leaving directory `/Users/ehird/gcc-build/gcc'
18:40:09 <ehird> make[2]: *** [all-stage1-gcc] Error 2
18:40:11 <ehird> make[2]: Leaving directory `/Users/ehird/gcc-build'
18:40:13 <ehird> make[1]: *** [stage1-bubble] Error 2
18:40:15 <ehird> make[1]: Leaving directory `/Users/ehird/gcc-build'
18:40:17 <ehird> make: *** [all] Error 2
18:40:19 <ehird> gdfgjdfkgjdkflgjkldfgjdfljgdfklgjdfgkldfjgkldfjg WHAT
18:40:21 <ehird> build/genmodes -h > tmp-modes.h
18:40:23 <ehird> was the failing thing
18:40:42 <ehird> and its in ~/gcc-blahblahblah/
18:41:48 <ehird> 18:41 <metazilla> OMNILOL
18:41:49 <ehird> 18:41 <metazilla> HAHAHAHA
18:41:49 <ehird> 18:41 <metazilla> o rite
18:42:06 <ehird> metazilla != moozilla
18:42:11 <ehird> but moozilla signs on as metazilla, sometimes
18:42:25 <ehird> that must be why he keeps getting ghosted
18:42:39 <ehird> why did my build fail crazily
18:42:53 <AnMaster> where is the pristine copy of the GCC source?
18:43:00 <AnMaster> and where is the clean build directory?
18:43:05 <AnMaster> and what is the configure command line
18:43:17 <ehird> [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 <ehird> All questions solved in one
18:43:26 <oerjan> ehird: except it's the moozilla nick that is ghosted
18:43:33 <AnMaster> ehird, is ../gcc-4.3.2 really make distclean
18:43:40 <oerjan> and most of the quit/joins are not ghostings
18:43:45 * ehird makes distclean it
18:43:53 <AnMaster> or just re-extract the tarball
18:44:05 <AnMaster> also remove all files in the build dir after
18:44:50 <AnMaster> ehird, hm you have dual core right?
18:45:09 <AnMaster> sadly I don't have any dual core to test that on
18:45:32 <AnMaster> with the right build time options I assume
18:45:34 <ehird> you can test on this box, but you'd have to deal with OS X oddities :-P
18:45:51 <AnMaster> not having access to the box I'm testing on!?
18:45:53 <ehird> well, i don't notice them but I imagine someone who uses linux every day would
18:46:00 <ehird> AnMaster: that would be one thing :P
18:46:43 <AnMaster> but not having access and having to rely on you would be a serious issue
18:46:57 <AnMaster> when I get a dual core system I may reconsider it
18:47:06 <AnMaster> meanwhile I wish cfunge could make use of openmpi
18:47:07 <ehird> Yeah I'm so unreliable :P
18:47:21 <ehird> still, if you do put in some openmp stuff I'm happy to give you ssh acess
18:47:36 <AnMaster> ehird, well I need to build myself a gcc which supports it first
18:47:43 <oerjan> 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 <AnMaster> also I seem to have outdated mpfr and gmp on this computer :D
18:47:59 <ehird> AnMaster: well, why not build it on my system? i mean, if you have to test on it...
18:48:15 <AnMaster> well I'd rather not depend on your goodwill
18:48:39 <ehird> depend on anyone in #esoteric with a dualcore system :-P
18:48:41 <AnMaster> 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:51 <ehird> admittedly, profiling over ssh would be a pain
18:48:59 <AnMaster> 2 threads would probably help for mycology
18:49:15 <AnMaster> but apart from that I don't think there are many places to gain in
18:49:51 <AnMaster> ehird, yes especially since stuff like cachegrind or callgrind wouldn't work
18:49:55 <AnMaster> both are very good for profiling
18:50:20 <ehird> this system can run linux you know
18:50:23 <AnMaster> on OS X aren't you basically stuck with using gcc -pg?
18:50:27 <ehird> but I don't think I'd boot into linux at your will :P
18:50:36 <ehird> AnMaster: XCode probably has a profiler.
18:50:43 <ehird> wait, can't you emulate a dual core system?
18:51:03 <AnMaster> ehird, well I could probably emulate that. but profiling would show a slowdown then I bet
18:51:10 <ehird> sure, profile without openmp
18:51:13 <ehird> in the emulated system
18:51:31 <AnMaster> well you wouldn't gain much since it would still have the same total computational resources
18:51:54 <ehird> isn't openmp really ugly?
18:52:09 <AnMaster> ehird, it is one of the less ugly ways to add threading IMO
18:52:16 <AnMaster> compare with phtreads call over all the app
18:52:57 <AnMaster> to me openmp seems like the least bad alternative in fact
18:53:40 <AnMaster> 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:54:10 <AnMaster> it has problems detecting if the overhead of setting up sse is larger than the benefit
18:54:20 <AnMaster> basically you loose on it for few iterations and gain for many
18:54:28 <AnMaster> I heard that would be fixed in gcc 4.4....
18:54:30 <ehird> AnMaster if I wrote a cfunge patch for trds would you accept it
18:54:40 <AnMaster> ehird, I would at least review it
18:54:49 <AnMaster> ehird, also it must be possible to turn it off
18:54:49 <ehird> it would avoid touching the rest of the code by doing run-time code modifiation on the rest of cfunge
18:54:54 <AnMaster> since it would break ick otherwise
18:55:27 <AnMaster> which is one of several reasons concurrent funge is a compile time option
18:56:12 <AnMaster> ehird, bbiab, going afk for a few minutes
18:56:29 <AnMaster> 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 <ehird> oh, metazilla IS the one from reddit.
19:08:16 <oerjan> huh they've switched isps from last i checked
19:08:36 <oerjan> i guess they are the same after all, on two isps, but the same set of two nicks, conflicting...
19:13:10 <ehird> 18:42 <metazilla> i just found this http://alienate.on.nimp.org/profile
19:13:23 <ehird> yeah can we kick him for being an idiot in other channels?
19:16:14 <ehird> he's talking in #reddit
19:16:58 -!- metazilla has quit (Read error: 54 (Connection reset by peer)).
19:17:06 -!- metazilla has joined.
19:17:30 <AnMaster> ehird, sure it is same person?
19:17:50 <ehird> their join/parts coincide
19:17:52 <AnMaster> one is moozilla the other is metazilla
19:17:56 <ehird> their join/parts coincide
19:18:05 <ehird> and they both enter #reddit
19:19:06 <AnMaster> 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 <ehird> he's talked in here before
19:19:23 <ehird> in much the same way as in #reddit
19:19:27 <ehird> 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:34 <AnMaster> ehird, why not ask him directly?
19:20:51 <ehird> i'd have to attempt to communicate with him. plus, he is obviously the same person
19:22:22 <AnMaster> 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 <AnMaster> and he uses the .dyn.centurytel.net one
19:22:38 <ehird> nobody gives a shit AnMaster
19:22:41 <ehird> he's the same person, end of
19:22:52 <ehird> 19:19 metazilla has joined (n=moozilla@207-118-28-35.dyn.centurytel.net)
19:23:09 <ehird> metazilla: are you moozilla of #reddit.
19:23:28 <AnMaster> ehird, 1) it makes no sense to ignore one 2) it makes no sense to use totally different isps
19:23:50 <ehird> 1) ignore one? What? 2) proxies. different machines. maybe one's a shell. who knows
19:24:04 <AnMaster> ehird, 1) ignore one client, the one in here
19:24:14 <ehird> no, he ignores this channel
19:24:15 <AnMaster> does he speak on both over in reddit?
19:24:18 <ehird> because he's talking in reddit
19:24:40 <oerjan> obviously the two isps have different channel settings
19:24:45 <ehird> yes god damnit AnMaster
19:24:49 <ehird> stop acting confused
19:24:51 <ehird> he's the same person
19:24:54 <ehird> i've told you this 5 times
19:25:04 <oerjan> only one is here, maybe it's only the other one he is present at
19:25:44 <oerjan> 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 <oerjan> i.e. he really doesn't see messages here
19:26:37 <ehird> that would make sense
19:26:39 <oerjan> or to the centurytel.net
19:27:05 <AnMaster> oerjan, but ehird just said he talked from both clients and isps on redit
19:27:22 <ehird> this is the most tedious pointless conversation ever
19:27:25 <ehird> it's the same person
19:27:27 <ehird> get over yourself :P
19:27:36 <ehird> gcc still compilin
19:29:42 <oerjan> yeah let's talk about _real_ frustrations instead :D
19:30:37 <AnMaster> ehird, how do you feel about FPGAs?
19:30:55 <ehird> 19:30 <moozilla> grab your dick you fucking helmut
19:30:57 <ehird> stunning intellect
19:31:06 <ehird> found a flaw with oerjan's propositio
19:31:11 <ehird> there is no way this guy is employed
19:32:37 <ehird> 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:52 <ehird> uk<--->police state
19:32:53 <ehird> uk<-->police state
19:33:08 <oerjan> i didn't say the other was work, could be school
19:33:42 <AnMaster> ehird, if you remove that last - it isn't so bad any more
19:33:55 <AnMaster> at least not if <> is defined as in (iirc) perl
19:34:24 <ehird> it turns into operators :P
19:34:34 <ehird> 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 <AnMaster> also you went "heh" at something I said
19:34:42 -!- metazilla has quit (Read error: 104 (Connection reset by peer)).
19:34:46 -!- metazilla has joined.
19:34:57 <ehird> *four white panels*
19:35:01 <ehird> *four fading in blue panels*
19:35:07 <ehird> where have I seen this before?
19:35:14 <AnMaster> ehird, the explosion haven't ended yet
19:35:23 <oerjan> something irregular is going on
19:35:30 <ehird> what the UK needs is a bearocracy.
19:35:33 <ehird> we just let bears run it
19:35:42 <ehird> "mr bear, do you like this policy?"
19:35:48 <ehird> "*MAUL* *RIP *CRUNCH*"
19:35:52 <ehird> "OK, ok, we'll reject it"
19:35:58 <ehird> *four white panels*
19:36:02 <ehird> *four fading in blue panels*
19:36:05 <ehird> where have I seen this before?
19:36:12 <AnMaster> you forgot "<ehird> ... wait a second"
19:36:43 <AnMaster> oerjan, try Undelete for DOS ;P
19:36:51 -!- metazilla has quit (Read error: 104 (Connection reset by peer)).
19:37:01 <oerjan> everything is now pahpnenigt a hetmase mite
19:37:05 <ehird> i used undelete onceuahsiuhiahi
19:37:09 <ehird> oerjan: akhjkashdjkfhkjdg ndfkjgn
19:37:15 <ehird> dsfj ids oa ofhi m, a ufua hiauh! askndaskd??
19:37:17 <ehird> jkahsdkjahdkJASHDklAJHSDJK!!! KAJHASD!!
19:37:24 <ehird> sdfjsdfoijsdofijoijoi˝•¶¥¶̂̄†̂›†‹̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀̀NO CARRIER
19:37:40 <ehird> (*&8•ª°·‡̄̄̄̄̄̄̄̄̄̄̄̄̄̄̄̄°·Y&*(YH9•ˍ(*̈ ̏•ª‡°‰Þ̂‡° ̏‡̂Þ¶ˆþ¶ˆþ¶ˆþˆ¶þ¯˙˝˜˚¯˛˝̛Ø̛̱̋̄̈ ̱̑ÐNO UNIVERSE
19:37:54 <AnMaster> <oerjan> everything is now pahpnenigt a hetmase mite <--?
19:38:20 <AnMaster> INSERT PIGEON INTO HOLE WHERE HOLE IS NULL?
19:38:48 <oerjan> PLEASE SELECT FINE STRUCTURE CONSTANT FOR REBOOT >
19:39:42 <AnMaster> +++ Divide By Cucumber Error. Please Reinstall Universe And Reboot +++
19:39:58 <ehird> oerjan: well a nice round number, how about 1
19:40:29 <AnMaster> oerjan, what about other constants?
19:40:32 <ehird> ((how long will this take...))
19:40:44 <AnMaster> ehird, not as long as compiling GCC
19:40:49 <ehird> oerjan can I set pi?
19:40:58 <ehird> if so I set pi to 3 (I am a religious man)
19:41:06 <AnMaster> ehird, just hit the break key to enter the debugger
19:41:13 <oerjan> SORRY, PI IS IN THE BIOS ROM
19:41:23 <ehird> how goes the reboot
19:41:47 <ehird> 19:40 moozilla is now known as and_voidg2
19:41:47 <ehird> 19:40 <moozilla> now we can be null and void
19:41:48 <ehird> 19:41 <moozilla> for over 9000 lulz
19:41:48 <AnMaster> first copy the original constant page of course
19:41:51 <oerjan> STARS COLLAPSING DUE TO LOW FSC
19:42:04 <ehird> let's try that again
19:42:12 <oerjan> LIFE FORMING ON NEUTRON STARS
19:42:32 <ehird> i love sentient computer
19:42:44 <ehird> how goes that life oerjan
19:42:52 <AnMaster> ehird, you would have needed to use the reset key
19:42:52 <ehird> can we communicate with it?
19:43:26 <ehird> let's try this again
19:43:43 <AnMaster> ehird, what about fine structure constant? NaN?
19:43:47 <ehird> AnMaster: how about -1
19:43:58 <AnMaster> ehird, wouldn't that be equally bad in the other direction?
19:44:07 <ehird> maybe it'll be equally good
19:44:11 <ehird> oerjan: FINESTRUCTURE= -1<ENTER>
19:44:21 <AnMaster> ehird, what about NaN if this doesn't work?
19:44:43 <AnMaster> or it would be integer division by zero
19:45:01 <ehird> i think I broke the oerjanputer
19:45:14 <ehird> OERJANPUTER VERSION 8645645615
19:45:21 <AnMaster> <AnMaster> ehird, reset it too?
19:45:22 <AnMaster> -oerjan- VERSION irssi v0.8.10 - running on Linux i686
19:45:22 <AnMaster> <ehird> OERJANPUTER VERSION 8645645615
19:45:24 <ehird> "SERVING YOUR UNIVERSAL NEEDS SINCE INFINITY BC"
19:45:47 * ehird waits for the universal simulation program to start up.
19:45:56 <ehird> FINESTRUCTURE= -1<ENTER>
19:46:24 <ehird> [gcc compiled yay]
19:46:51 <oerjan> THIS UNIVERSE IS CONSIDERABLY SLOWER, PLEASE HAVE PATIENCE
19:47:14 <AnMaster> wait I just got an esolang idea
19:47:30 <AnMaster> where it made sense to refer to last object
19:48:08 <ehird> 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:46 <AnMaster> ehird, then check the values and change them as needed
19:49:05 <ehird> AnMaster: ok, what cflags again?
19:49:32 <AnMaster> <AnMaster> <AnMaster> <AnMaster> ehird, I recommend CFLAGS="-march=core2 -pipe -O3 -ftracer -frename-register -fweb" for you
19:49:41 <oerjan> VACUUM BUBBLES FORM IN ANTIMATTER SOUP
19:49:46 <AnMaster> <AnMaster> jan 07 15:58:08 <AnMaster> #include <stdio.h>
19:49:46 <AnMaster> <AnMaster> jan 07 15:58:36 <AnMaster> int main(void) { printf("%zu\n", sizeof(char*)); return 0; }
19:49:46 <AnMaster> <AnMaster> ehird, anyway check if it can compile hello world with those flags
19:50:16 <ehird> [ehird:~] % ~/gcc43/bin/gcc -m64 -march=core2 64bit.c
19:50:16 <ehird> [ehird:~] % ./a.out
19:50:32 <ehird> should be off presumably
19:50:39 <AnMaster> ehird, well yes it means -t doesn't work
19:50:42 <oerjan> ANTIPOLYMERS FORM IN BUBBLE BOUNDARIES
19:50:50 <ehird> oerjan: i like this.
19:50:52 <AnMaster> ehird, output trace of the running program
19:50:58 <ehird> AnMaster: slows down presumably
19:51:09 <AnMaster> ehird, not noticable in my tests
19:51:19 <AnMaster> but sure you reduce one if test every now and then
19:51:45 <oerjan> STAR-SIZED BUBBLE ANTI-CELLS FORM
19:53:08 <AnMaster> which would be 1) tricky to build for you 2) possibly slow down a bit
19:53:58 <ehird> % PATH=~/gcc43/bin:$PATH DYLD_LIBRARY_PATH=~/gcc43/lib:$DYLD_LIBRARY_PATH LD_LIBRARY_PATH=~/gcc43/lib:$LD_LIBRARY_PATH make
19:54:07 <ehird> [ 1%] Building C object CMakeFiles/cfunge.dir/lib/libghthash/cfunge_mempool.c.o
19:54:07 <ehird> cc1: error: unrecognized command line option "-arch"
19:54:08 <ehird> cc1: error: unrecognized command line option "-frename-register"
19:54:10 <ehird> make[2]: *** [CMakeFiles/cfunge.dir/lib/libghthash/cfunge_mempool.c.o] Error 1
19:54:15 <ehird> you're fucking kidding me
19:54:23 <oerjan> COMPETITION CAUSE ANTI-CELLS TO EVOLVE RUDIMENTARY NERVE GRAPH
19:54:40 <ehird> AnMaster: how can I make cmake output what command line it uses
19:55:15 <ehird> oerjan: I like this
19:55:31 <AnMaster> ehird, hit t to show advance entries
19:55:53 <AnMaster> I don't remember the exact name of the option
19:56:08 <oerjan> ANTI-CELLS EVOLVE, SHRINK TO PLANET SIZE TO THINK FASTER
19:56:19 <ehird> AnMaster: http://pastie.org/private/jlmebg2apnzyxgij7hobw
19:56:26 <ehird> there's no way I'm debugging that, you have a look :P
19:56:53 <AnMaster> ehird, it must be that OSX_ARCH thing
19:57:10 <oerjan> GALACTIC SIZE ANTI-CELL SOCIETY FORMS
19:57:22 <ehird> i fear what comes next
19:57:29 <ehird> speak of the devil
19:58:05 <ehird> AnMaster: it is building now
19:58:05 <oerjan> FASCIST COUNTERREVOLUTION
19:58:23 <AnMaster> ehird, wait a few lines before reset
19:58:36 <ehird> AnMaster: you have a lot of "q printf length modifier" warning s:P
19:58:38 <oerjan> GAMMA BURST WAR KILLS 99% OF POPULATION
19:58:40 <ehird> Linking C executable cfunge
19:58:40 <ehird> [100%] Built target cfunge
19:58:44 <AnMaster> ehird, that is due to OS X header issues
19:58:49 <ehird> -rwxr-xr-x 1 ehird ehird 182K 2009-01-07 19:58 cfunge
19:59:17 <ehird> [100%] Built target cfunge
19:59:17 <ehird> Install the project...
19:59:18 <ehird> -- Install configuration: "Release"
19:59:20 <AnMaster> ehird, apple headers use %q in inttypes.h to define the int64 printf
19:59:20 <ehird> -- Installing: /usr/local/bin/cfunge
19:59:22 <ehird> -- Installing: /usr/local/share/man/man1/cfunge.1
19:59:30 <ehird> ok, where's mycology
19:59:31 <oerjan> CAPITALISM INVENTED, RIDICULED
19:59:59 <ehird> [ehird:~/cfunge/examples] % cfunge hello.bf
20:00:08 <AnMaster> ehird, well that should indeed work
20:00:10 <Deewiant> I was hoping to see "segmentation fault"
20:00:21 <AnMaster> ehird, what I'm not sure is mycoterm
20:00:32 <AnMaster> I would be very interested in someone checking that on OS X
20:00:48 <oerjan> FORCED EUGENICS BREED OUT AGRESSION, WARS END, BUT SO DOES FREEDOM
20:00:50 <AnMaster> 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 <ehird> sanity.bf first right
20:01:23 <Deewiant> don't forget mycotrds!!!!11one
20:01:40 <ehird> AnMaster: mycology works
20:02:30 -!- Mony has quit ("Quit").
20:02:54 <oerjan> ALIEN ANTI-POLYHEDRAL SPECIES ENCOUNTERED, RELIGIOUS ZEALOTS
20:03:17 <ehird> Trying to clear the first line with HL, press enter to continue...
20:03:19 <ehird> , might not work after I: using S instead, so if R and S don't work, nothing will be seen.
20:03:21 <ehird> Calling 1I, press enter to continue...
20:03:39 <ehird> S didn't reflect, continuing...
20:06:10 <oerjan> EXPANSION OF SPACE CAUSES EMPTY REGIONS TO FORM, ENERGY SHORTAGE
20:07:20 <oerjan> HYPERSPACE TRAVEL NOW POSSIBLE. RELIGIOUS ZEALOTS CONQUER KNOWN UNIVERSE.
20:08:15 <AnMaster> time cfunge mycology.b98 >/dev/null 2>&1
20:09:28 <oerjan> ANTI-CELLS SHRINK TO SAVE ENERGY, REACH MOUNTAIN SIZE. APOCALYPTIC THEOCRACY.
20:10:30 <oerjan> WIDESPREAD REBELLION AGAINST DEFAITIST RELIGION. NUCLEAR WARS.
20:10:51 <AnMaster> NUCLEAR? don't you mean ANTI-NUCLEAR?
20:11:57 <oerjan> SURVIVORS CREATE GOLDEN DEMOCRATIC AGE, THUS IRONICALLY FULFILLING A PROPHECY
20:13:01 <oerjan> UNFORTUNATELY THAT PROPHECY WAS ABOUT WHAT WOULD HAPPEN _AFTER_ UNIVERSE DIES. RELIGIOUS DEFAITISM REPLACED BY SCIENTIFIC DEFAITISM.
20:15:30 <oerjan> POPULATION SLOWLY DECREASES WHILE UNIVERSE EXPANDS AND COOLS
20:17:05 <oerjan> NO ELECTROMAGNETIC FORCE
20:17:17 <AnMaster> oerjan, is there something else instead?
20:18:00 <oerjan> UNIVERSE FILLED WITH BLACK HOLES
20:20:22 <oerjan> INSANE OSCILLATIONS IN PHOTON DYNAMICS
20:21:01 <oerjan> _SOMETHING_ ARISES. IS IT INTELLIGENT? WHO KNOWS: BUT IT CERTAINLY HAS TENTACLES.
20:21:20 <AnMaster> oerjan, don't mention it's name!
20:21:34 <oerjan> SPAWNS UNCOUNTABLE OFFSPRING
20:21:55 <oerjan> REJECTS CONCEPT OF DEATH
20:22:38 <oerjan> HUMANS ATTEMPT TO KILL US. MUST EXTERMINATE HUMANS.
20:23:52 <oerjan> THE STARS ARE NOT RIGHT FOR US TO LIVE. WILL SLEEP UNTIL BETTER TIMES COME.
20:24:14 <oerjan> SHOULD TAKE ABOUT ... 3 YEARS.
20:24:48 <AnMaster> wiped disk too and reinstalled
20:25:26 * AnMaster carefully boots the oerjanputer with UNVRS not yet installed
20:25:26 <oerjan> well except something in the walls seems to be chuckling evilly. i guess that's just imagination.
20:26:33 <oerjan> EVERYTHING SEEMS PERFECTLY FNIE
20:27:30 <AnMaster> there all replaced even the chassi
20:28:02 * AnMaster boots oerjanputer and reinstalls the OS from a clean isntall media
20:28:28 <oerjan> why is there a note on my desk - "Dear emergency ration, gone to vacation in the pacific ocean. cheers, the old guy."
20:29:29 <oerjan> "P.S. you think a being beyond mathematics cannot download from a computer?"
20:29:55 <AnMaster> FINESTRUCTURE= 1/137.03599907098<ENTER>
20:30:49 <AnMaster> oerjan, you should have used a sandboxed UNVRS
20:31:13 <AnMaster> ehird, seems fine structure = NaN created the old ones
20:31:49 <AnMaster> oerjan, anyway what happens after inflation?
20:33:14 <AnMaster> oerjan, what are the quarks made of?
20:33:48 <ehird> AnMaster: what time line do you want me to run again
20:34:02 <oerjan> ACTUALLY THEY ARE MADE OF FLUTES
20:34:21 <AnMaster> <AnMaster> time cfunge mycology.b98 >/dev/null 2>&1
20:34:23 <ehird> AnMaster: you know, management is going to be invented
20:34:26 <ehird> with real-world parameters
20:34:37 <AnMaster> ehird, yes but it was worse on the alternatives
20:35:01 <ehird> it'll just be anti-everyhing
20:35:02 <AnMaster> ehird, could that be worth trying?
20:35:16 <ehird> FINESTRUCTURE= infinity
20:35:30 <ehird> why do you think i'm trying
20:35:32 <AnMaster> ehird, also what did time report
20:35:55 <AnMaster> ehird, wait if it is anti-everything there will be anti-management
20:36:07 <ehird> wait how do you run a command N times in bash
20:36:09 <oerjan> UNIVERSE FILLED WITH PLASMA
20:36:23 <ehird> AnMaster: like from i in 1..10
20:36:40 <AnMaster> ehird, for i in ${1..10}; do ... ; done
20:36:40 <oerjan> GRAVITY OVERWHELMED BY ELECTROMAGNETISM
20:37:02 <AnMaster> ehird, for ((i=1; i<10; i++)); do ... ; done
20:37:26 <ehird> % for i in ${1..30}; do (time cfunge mycology.b98 >/dev/null 2>&1) >>times; done
20:37:40 <ehird> zsh: bad substitution
20:37:43 <ehird> when I said bash I meant zsh
20:37:55 <oerjan> MATTER CONSTANTLY GENERATED
20:37:58 <ehird> bash: ${1..30}: bad substitution
20:38:19 * ehird bets the next thing to happen in infinite-fine-structure universe is the invention of management or something
20:38:27 <AnMaster> <ehird> % for i in {1..30}; do (time cfunge mycology.b98 >/dev/null 2>&1) >>times; done
20:38:35 <oerjan> UNIVERSE CRYSTALIZES INTO SOLID
20:39:03 <AnMaster> oerjan, what is this huge crystal made of?
20:39:11 <ehird> AnMaster: kay, made several runes of that for 120 runs total
20:39:17 <ehird> will do one big run
20:39:39 <ehird> oerjan: then taxes are invented?
20:40:15 <ehird> AnMaster: ok im going to run it 100 times
20:40:19 <ehird> note that i have other stuff running
20:40:21 <ehird> so it won't be perfect
20:40:32 <ehird> like 10% of cpu used, so.
20:40:51 <AnMaster> ehird, I generally stop X before running speed tests
20:41:01 <oerjan> MICRO-MANAGEMENT INVENTED
20:41:06 <ehird> oerjan: aaaaaaaaaaaaaaaaaaaaa
20:41:14 <oerjan> TURNS OUT HARMLESS, AS MICROSTRUCTURES ARE NONSENTIENT
20:41:51 <ehird> AnMaster: average is 0.62 http://pastie.org/354977.txt?key=inzzwzudzj4u82liaeozw
20:41:54 <oerjan> MICROSTRUCTURES USE MICROMANAGEMENT TO COMBINE INTO LARGER STRUCTURES
20:41:56 <ehird> fluctuates due to computer being busy in parts :P
20:42:13 <AnMaster> ehird, what is the speed per core?
20:42:21 <AnMaster> also are you using dynamic cpu speed?
20:42:23 <ehird> AnMaster: 2.1ghz or so
20:42:29 <oerjan> STUPIDITY INVENTED. MUCH CARNAGE.
20:42:43 <ehird> AnMaster: but stuff is running
20:43:07 <AnMaster> cfunge mycology.b98 > /dev/null 2>&1 0.03s user 0.03s system 92% cpu 0.062 total
20:43:12 <oerjan> ATTEMPT TO INVENT TAXES CAUSES REBELLION AGAINST STUPID LEADERS
20:43:29 <AnMaster> 0.03s user 0.03s != 0.062 total
20:43:40 <AnMaster> usually they are about half of total each here
20:43:52 <AnMaster> ehird, ok so what is the rest that isn't user or system?
20:43:55 <fizzie> Er, 0.03 + 0.03 = 0.06; that's pretty close.
20:44:24 <ehird> what speeds do you get AnMaster
20:44:56 <AnMaster> ehird, with vmware running in background around 0.061 second, when X isn't running sometimes down to 0.035
20:45:16 <ehird> ok, so basically the same with gui running etc
20:45:19 <ehird> mine's a bit faster
20:45:26 <ehird> since, os x is way more bloated on the memory & cpu
20:45:35 <oerjan> ANARCHIC GOVERNMENT FORMS BASED ON TEN COMMANDMENTS. THESE INCLUDE 1. THOU SHALT NOT LEVY TAXES 5. THOU SHALT NOT MANAGE.
20:45:44 <ehird> oerjan: that sounds like management to me :P
20:45:52 <fizzie> fungot: Are you still alive? Haven't seen you talk in a while.
20:45:52 <fungot> 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 <AnMaster> oerjan, what are the 8 other ones?
20:45:57 <ehird> ANARCHIC GOVERNMENT?
20:46:00 <ehird> something is up :P
20:46:07 <AnMaster> ehird, no that doesn't make sense
20:46:10 <oerjan> 3. THOU SHALT NOT ASK TOO MANY QUESTIONS.
20:46:27 * ehird starts system profiler
20:46:32 <AnMaster> oerjan, aha, oppresses freedom of questioning
20:46:34 <oerjan> THE WORD "GOVERNMENT" IS USED IN A LOOSE SENSE HERE
20:46:35 <ehird> AnMaster: L2 cache = 4mb
20:47:16 <ehird> intel core 2 duo, 2.16 ghz, 2 cores, 4MB L2, 2.5 GB, and bus speed 667 MHz
20:47:22 <ehird> the busses in this country, they are electric.
20:47:32 <ehird> AnMaster: he was implying your question was too much
20:47:40 <ehird> that was... the joke :P
20:47:52 <ehird> AnMaster: gonna run some more programs with cfunge
20:48:04 <AnMaster> ehird, there is a game of life
20:48:27 <AnMaster> ehird, I don't know if jitfunge works on os x
20:48:42 <AnMaster> but if it doesn't you see the good thing with portable software I hope :D
20:49:06 <ehird> I'd hardly expect a jit to be portable :P
20:49:20 <ehird> life is nice and fast, yep
20:49:33 <oerjan> 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 <AnMaster> ehird, try it with ccbi or rc/funge if you want
20:49:37 <ehird> can you tell cfunge to delay?
20:49:42 <fizzie> jitfunge doesn't, at the moment; although it might with some tweaking.
20:49:45 <AnMaster> ehird, alas no such feature have been added
20:49:57 <fizzie> My only OS X box is a powerpc, so I can't really port it with it.
20:50:06 <ehird> AnMaster: just deoptimize a bit :P
20:50:10 <AnMaster> oerjan, what are the ones left now?
20:50:25 <fizzie> 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:42 <AnMaster> look for size constants near the start
20:50:56 <AnMaster> ehird, change those as needed to get the right speed
20:51:01 <ehird> the concurrent hellos worl
20:51:04 <Deewiant> Said static array is conveniently just barely big enough to hold mycology :-P
20:51:18 <AnMaster> Deewiant, yes it is the largest program I know
20:51:18 <ehird> % time cfunge pi2.bf >/dev/null
20:51:18 <ehird> cfunge pi2.bf > /dev/null 0.22s user 0.01s system 99% cpu 0.233 total
20:51:34 <AnMaster> ehird, ccbi is even slower iirc
20:52:17 <AnMaster> ehird, note some of the *.bf ones may need -s 93
20:52:18 <oerjan> 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 <ehird> oerjan: how is the penalty assigned?
20:52:38 <AnMaster> ehird, to use the befunge93 space in string rules
20:52:41 <ehird> Doesn't that involve getting power over others?
20:53:08 <AnMaster> 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 <fungot> AnMaster: somehow, one or both of the culture of europe/ fnord 17:43, 7 may 2008 ( utc
20:53:27 <AnMaster> Deewiant, apart from that mycology is largest yes
20:54:15 <AnMaster> oerjan, what is the physical composition of the world?
20:54:35 <ehird> AnMaster: the fine structure constant is infinity, I don't think he can answer that reasonably :P
20:55:31 <oerjan> MOSTLY DIAMOND, I SAID
20:55:33 <ehird> By the way, is it possible to write a fingerprint and license it under non-gpl3?
20:55:39 <ehird> I mean, it'll be linked with cfunge...
20:55:54 <AnMaster> ehird, tricky question, I allowed that for IFFI iirc
20:56:21 <AnMaster> "as a special exception you are allowed to use these routines in non-gpled fingerprints"
20:56:30 <AnMaster> ehird, I might add that in next version
20:56:54 <AnMaster> ehird, but it is a good idea to add linking exception
20:57:05 <ehird> What if I want to use dark internals? :-P
20:57:17 <AnMaster> ehird, then you are out of luck, same as for kernel
20:57:18 <oerjan> GAME OF TETRIS INVENTED. GOLDEN AGE OF ENLIGHTENMENT GIVES WAY TO GOLDEN AGE OF PROCRASTINATION. ECONOMY COLLAPSES BUT FEW CARE.
20:58:17 <oerjan> ELITE PROGRAMMERS RULE THE WORLD, WHILE CAREFUL NOT TO LET ANYONE NOTICE.
20:58:26 <ehird> oerjan: can the next event be a war between tetris and snake lovers?
20:58:35 <ehird> the tetris lovers should win, by the way.
20:58:37 <AnMaster> also nethack is better than both
20:58:56 <ehird> I dunno, I like the simplicity of tetris.
20:59:09 <oerjan> FIRST PERSON SHOOTERS INVENTED.
20:59:26 <AnMaster> oerjan, do these run on computers?
20:59:34 <AnMaster> ehird, I prefer games with a goal and ending
20:59:54 <ehird> Tetris: Goal, clear all lines. Ending, sure, when you get to the last level.
21:00:05 <AnMaster> ehird, there is no last level usually
21:00:15 <AnMaster> it just goes on with higher and higher
21:00:26 <ehird> In tetris? I think the official versions have a last level.
21:00:46 <ehird> AnMaster: you got me there
21:00:48 <ehird> lemmings is amazing/
21:01:02 <oerjan> THEORY OF VIOLENT GAMES CAUSING VIOLENCE CONFIRMED.
21:01:27 <oklofok> tetris does not have a last level, implementations may, but pure mathematical tetris does not have an ending
21:01:31 <oerjan> ATTEMPT TO BAN VIOLENT GAMES CAUSES VIOLENT REVOLUTION.
21:01:34 <ehird> pure mathematical tetris.
21:02:10 <ehird> schools should teach tetris theorems
21:02:31 <AnMaster> ehird, theoretically only of course
21:02:53 <fizzie> 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 <ehird> actually playing tetris is punished
21:03:18 <ehird> fizzie: the original tetris was the game boy tetris i think
21:03:40 <oerjan> REALISTIC VIRTUAL REALITY INVENTED, REDUCING REAL VIOLENCE AGAIN
21:03:44 <fizzie> "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:51 <ehird> but it was the first mass-commercial one
21:03:52 <fizzie> The Game Boy version comes in 1989 or so.
21:03:56 <oklofok> fizzie: wp isn't always right
21:04:12 <fizzie> oklofok: Still, I've seen at least one documentary about the game.
21:04:24 <fizzie> oklofok: That's an Independent Source!
21:04:27 <oklofok> fizzie: documentaries aren't always right, ehird is, iirc
21:04:38 <fizzie> oklofok: I don't think you recall correctly.
21:04:58 <oklofok> then i guess you might be somewhat right.
21:05:11 <fizzie> oklofok: [2008-05-08 19:41:00] < ehird> my previous one was wrong
21:05:16 <oerjan> MASS MIND UPLOADING HAPPENS, 90% OF POPULATION NOW COMPUTER PROGRAMS
21:05:27 <ehird> lament: slightly late
21:05:30 <oklofok> 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 <ehird> AnMaster: no it doesn't
21:05:59 <ehird> AnMaster: bug report, "Befunge93/98/08" in header.
21:06:39 <oerjan> POPULAR VIRTUAL REALITY REGION CREATED BASED ON HYPOTHETICAL FSC OF 1/137.036
21:06:58 <ehird> AnMaster: PRIORITY: CRITICAL
21:07:03 <ehird> also, it's unneeded :P
21:07:13 <ehird> oerjan: awwwwwwwwww
21:07:22 <ehird> oerjan: is this going to be recursive?
21:07:34 <oerjan> IT WAS NOT _THAT_ POPULAR
21:07:54 <ehird> this is getting slightly boring :D
21:09:07 <AnMaster> was just black holes then collapse
21:09:13 <ehird> FINESTRUCTURE= BUILT_IN_PI
21:09:25 <ehird> (so FINESTRUCTURE is 3.14(etc), and PI is 3)
21:10:07 <AnMaster> ehird, I think we will get triangular wheels...
21:10:22 <oerjan> SIMULTANEOUSLY ROUND AND CUBICAL PLANET FORMED
21:10:38 <ehird> what about the forming due to the fine structure? :D
21:10:49 <ehird> ^CREWIND;RESUME<ENTER>
21:11:13 <ehird> AnMaster: sentient computer.
21:11:15 <ehird> you can basically do whatever.
21:11:21 <oerjan> GRAVITATIONAL ORBITS UNSTABLE
21:11:33 <ehird> SIMULTANEOUSLY ROUND AND CUBICAL PLANET FORMED? :P
21:11:50 <AnMaster> SIMULTANEOUSLY CUBICAL AND ROUND PLANET FORMED? :P
21:12:16 <lament> SIMULTANEOUSLY CUBICAL AND CUBICAL PLANET FORMED? :P
21:12:34 <oerjan> SIMULTANEOUSLY ROUND AND HEXAGONAL SPIRAL GALAXY FORMED
21:12:54 <AnMaster> ehird, nah that is easy to think about
21:13:13 <ehird> it's round, hexagonal and spiral
21:13:25 <lament> a programmer was asked, what sexual positions does he know.
21:13:35 <lament> he thought for a while.
21:14:14 <lament> 1. he above, she underneath
21:14:19 <lament> 2. she above, he underneath.
21:14:28 <oerjan> GALAXY DISSOLVED DUE TO UNSTABLE GRAVITATIONAL ORBITS, BUT NOT BEFORE SIMULTANEOUSLY ROUND AND CUBICAL STARS FORM
21:14:46 <ehird> lament: i wish that made sense
21:14:54 <ehird> how long until intelligence :D
21:15:13 <AnMaster> ehird, don't be silly, this is an emergent system
21:15:20 <lament> ehird: it makes sense.
21:15:27 <oerjan> SINGLE STARS UNSTABLE. BINARY STAR SYSTEMS STABLE UNDER RIGHT CONDITIONS.
21:15:51 -!- kar8nga has left (?).
21:16:48 <oerjan> SIMULTANEOUSLY ROUND AND CUBICAL PLANET FORMED NEAR CENTER OF MASS OF BINARY STAR SYSTEM
21:18:13 <oerjan> LIFEFORMS EVOLVE FORMED LIKE HEXAGONAL WHEELS
21:19:19 <oerjan> MACROSCOPING LIFEFORMS FORM USING THE MOST EASILY EVOLVED MOVEMENT, THE ROUND HEXAGONAL WHEEL
21:19:48 -!- bsmntbombdood has quit (Read error: 113 (No route to host)).
21:20:10 <oerjan> ROUND CUBIC MOON CRASHES INTO WORLD, CAUSING MASS EXTINCTION
21:20:31 <oerjan> (ORBIT WAS UNSTABLE, OF COURSE)
21:20:50 -!- bsmntbombdood has joined.
21:21:14 <oerjan> AS WATER IS HIGHLY FLAMMABLE, LIFE MAINLY SPREADS ON DRY LAND
21:21:28 <AnMaster> ehird, it looks like PI != BUILT_IN_PI works very well
21:21:40 <ehird> looks interesting to me
21:22:09 <oerjan> INTELLIGENT SOCIAL CREATURES (ON WHEELS) EVOLVE
21:22:37 <ehird> infamous wikipedia vandal
21:22:47 <oerjan> DUE TO THEIR INTELLIGENCE THEY ARE CAPABLE OF UTILIZING THE DANGEROUS WATER FOR TECHNOLOGY SUCH AS HEATING
21:22:47 <ehird> move a page named X to X on Wheels!
21:22:51 <ehird> Goat -> Goat on Wheels!
21:24:24 <oerjan> CIVILIZATION TAKES A HUGE LEAP FORWARD AS AN IMMENSELY MORE EFFECTIVE MEANS OF PROPULSION IS INVENTED: THE FOOT.
21:24:40 <AnMaster> oerjan, how does the foot work?
21:25:07 <ehird> oerjan: any mathematicians yet?
21:25:16 <oerjan> RATHER THAN WHEELS, IT HAS SIX "TOES" TO PUT FORCE ON THE GROUND
21:25:18 <ehird> are they looking for messages and codes in the elusive constant known as pi, roughly 3.00000000000000000000000?
21:26:28 <oerjan> GREAT STRIDES ARE MADE BY UNDERSTANDING THE FUNDAMENTAL MATERIALS WATER, FIRE, AIR AND CHEWING GUM
21:26:37 <ehird> AnMaster: it was a joke
21:26:41 <ehird> 3.000000000000000000000000000000000000000000000000000000000000
21:27:01 <oerjan> SOME PHILOSOPHERS ATTEMPT TO GAIN A DEEPER UNDERSTANDING OF NUMBERS AND GEOMETRY.
21:27:23 <oerjan> HOWEVER, THESE PEOPLE SWIFTLY AND INEVITABLE TURN INSANE FOR SOME REASON
21:27:36 <AnMaster> oerjan, what is the ratio of a cube to it's side?
21:28:08 <oerjan> THE VOLUM OF A CUBE IS PI * R^3
21:30:00 <oerjan> NO ONE HAS EVER MANAGED TO FIND THAT OUT WITHOUT PANICKING
21:30:02 * AnMaster puts fence poles all around the circumference
21:30:41 <oerjan> ARCHITECTURE IS INVENTED
21:30:47 <AnMaster> ehird, also I got a great idea for the next one
21:30:56 <AnMaster> ehird, I can't tell you yet but
21:31:30 <oerjan> ALTHOUGH ARCHITECTS TEND TO GO MAD AFTER A FEW YEARS
21:32:24 <oerjan> BUT WITH THE MIRACLES OF ARCHITECTURE, A 7 FEET (OR WHEEL) TALL TOWER IS CREATED REACHING ABOVE THE ATMOSPHERE
21:33:00 <oerjan> AND TUNNELS ARE BUILT ALLOWING PEOPLE TO WALK (WELL, ROLL) ANYWHERE ON THE PLANET IN A FEW MINUTES
21:34:38 <oerjan> AT THE SAME TIME, A 5 FEET BY 5 FEET AREA IS ENOUGH FOR A LARGE PALACE
21:35:06 <AnMaster> oerjan, what is one FEET in meters?
21:36:28 <oerjan> 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:37:03 <ehird> oerjan: FASTFORWARd
21:37:05 <ehird> oerjan: FASTFORWARD
21:37:08 <oerjan> ALTHOUGH SATELLITES TURN OUT TO BE HARD
21:37:28 <AnMaster> just mount them at the top of the towers
21:38:11 <AnMaster> oerjan, FASTFORWARD TO INTERESTING
21:38:14 <oerjan> A NETWORK OF TOWERS IS BUILT, AND A HUGE HEXAGON PLACED ON TOP OF THEM ENCIRCLING THE PLANET'S EQUATOR
21:39:04 <oerjan> FROM THE LOW GRAVITY OF THE HEXAGON, SPACE WAGONS CAN EASILY TAKE OFF AND THE SOLAR SYSTEM IS SETTLED
21:39:17 <ehird> oerjan: fastforward
21:39:19 <ehird> to really interesting
21:39:55 <AnMaster> oerjan, even the gas dwarfs and the stone giants?
21:40:14 <oerjan> YOU MEAN THE WATER DWARFS
21:41:04 <oerjan> 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:33 <ehird> oerjan: really fast forward to most interesting thing ever
21:42:12 <oerjan> A BLACK HOLE IS FOUND IN A NEIGHBORING GALAXY, DESPITE BEING THOUGHT IMPOSSIBLE
21:42:23 <oerjan> HARBORING AN ALIEN RACE
21:42:30 <olsner> oerjan is being extremely entertaining tonight
21:43:12 <AnMaster> ENTERING INTERACTIVE MODE . . .
21:43:12 <AnMaster> 1> FIND UNIVERSE WHERE EXISTS(SPACE TURTLES) AND EXISTS(MAGIC) AND EXISTS(DISCWORLD) AND EXISTS(SLOOD);
21:43:43 <ehird> AnMaster: I predict fine structure will be non-numerical
21:44:20 <AnMaster> ehird, also I asked it to dump all constant as you see
21:44:40 <oerjan> PI: 3.14159265358979...
21:44:50 <ehird> oerjan: what about E
21:44:50 <AnMaster> oerjan, come on there are more
21:44:55 <ehird> or the gravitational constant
21:45:01 <ehird> let's see what E & G are
21:45:03 <oerjan> E: 2.71828182818281828...
21:45:51 <oerjan> NOT DIMENSIONLESS EITHER
21:45:59 <ehird> oerjan: Planck!!!!!!!!!!?
21:46:29 <ehird> what is the planck constant
21:46:31 <oerjan> PLANCK NONEXISTENT. THAUMA = 1.7905
21:46:42 <ehird> planck = tick, no?
21:46:46 <ehird> http://en.wikipedia.org/wiki/Minor_Discworld_concepts#Tick
21:47:09 <oerjan> I HAVE NOT READ ALL DISCWORLD BOOKS
21:47:22 <ehird> CONSTANTS+= LAST RESULT;
21:47:46 <ehird> we're setting the constants
21:47:50 <ehird> to the one found by that query
21:47:53 <ehird> and starting the universe
21:48:08 <AnMaster> that isn't how it worked, see Eric
21:48:25 <ehird> same constants != identical
21:48:28 <oerjan> I'VE READ ERIC. OH RIGHT.
21:48:37 <oerjan> (LAST BOOK I READ, ACTUALLY)
21:48:46 <oerjan> DOESN'T MEAN I REMEMBER IT :d
21:49:26 <oerjan> IT MAY OR MAY NOT HAVE BEEN A TURTLE SANDWICH
21:50:09 <AnMaster> this could be one that matched the query but didn't match in all details
21:50:47 <oerjan> DEATH SAYS: "YOUR CAPS LOCK IS IN VIOLATION OF MY REGISTERED TRADEMARK. PLEASE LEAVE THIS UNIVERSE IMMEDIATELY."
21:52:26 * ehird awaits directory listing
21:52:40 <AnMaster> what about running our universe pause at earth time, and set money?
21:52:51 <ehird> AnMaster: after the directory listing
21:52:57 <oerjan> ./ ../ CTHULHU/ MISC/ UNIV/
21:53:05 <ehird> AnMaster: stop stop wait :P
21:53:14 <AnMaster> ehird, the important unsolved problems
21:53:22 <ehird> # SUDO LIST CTHULHU
21:53:23 <AnMaster> ehird, no it was created by NaN universe
21:53:30 <ehird> we can just reboot it.
21:53:41 <AnMaster> ehird, it didn't work, I even did a clean reinstall
21:53:49 <ehird> eh, it's just a directory listing
21:53:52 <ehird> boy, oerjanix is slow sometimes
21:54:11 <AnMaster> ehird, anyway what about the Riemann hypothesis
21:54:11 <oerjan> ./ ../ ESCAPE_REALWORLD@ HASTUR HASTUR HASTUR
21:54:30 <ehird> # SUDO OBLITERATE_DIRECTORY CTHULHU/
21:54:50 <oerjan> PERMISSION DENIED. PLEASE REPORT FOR TERMINATION.
21:55:01 -!- Corun has joined.
21:56:42 <AnMaster> ehird, oh I turned on securelevels before
21:57:12 <AnMaster> # SUDO OBLITERATE_DIRECTORY CTHULHU/
21:57:25 -!- ehird has left (?).
21:57:27 -!- ehird has joined.
21:57:33 <oerjan> PERMISSION DENIED. AND I'M NOT HERE, ANYWAY.
21:57:39 -!- ehird has quit ("Caught sigterm, terminating...").
21:57:45 -!- ehird has joined.
21:59:13 <AnMaster> * ehird has quit ("Caught sigterm, terminating...")
21:59:35 <oklofok> bsmntbombdood: ais523: either 2 or 3 <<< 2
21:59:36 <ehird> no, it was behaving weirdly
21:59:39 <AnMaster> ehird, did you think some old one was involved?
22:00:29 <AnMaster> ehird, thanks for testing cfunge :)
22:00:40 <AnMaster> ehird, you know some new fingerprints lately are DATE and NCRS
22:00:42 * ehird pipes /dev/urandom to cfunge
22:00:59 * ehird does cfunge /dev/random
22:01:01 <ehird> AnMaster: i'm not rebuilding
22:01:07 <ehird> does cfunge read the whole prog
22:01:19 <ehird> will cfunge /dev/random not work then
22:01:48 <ehird> % head --lines 30 /dev/urandom|cfunge /dev/stdin
22:01:50 <AnMaster> that is what the fuzz test script does
22:01:54 <ehird> mmap() on file failed: Invalid argument
22:01:54 <ehird> Failed to process file "/dev/stdin": Invalid argument
22:02:11 <ehird> % head --lines 30 /dev/urandom>x; cfunge x
22:02:21 <AnMaster> or it could overwrite your stuff
22:02:32 <ehird> I think the likelihood of it hitting a valid funge program that does destructful stuff is slim
22:02:51 <AnMaster> ehird, there is also -S that hopefully should successfully sandbox it
22:02:56 <AnMaster> ehird, also out of memory can happen
22:03:00 <oklofok> maybe a psoxy should use an encoding that didn't rely on any specific character numbers.
22:03:03 <ehird> % head --lines 5 /dev/urandom>x; cfunge -S x
22:03:21 <ehird> why doesn't this terminate I wonder
22:03:30 <AnMaster> ehird, you could run an infinite loop?
22:03:37 <ehird> yeah but every single time?
22:03:42 <ehird> ºdð^L¯<98>VH³ÜL,g^HC^PÏÉ^\¬¦^N*4¸¢þ<97>¼>±^@¶¿R<9c>!]<9a>:;á*
22:03:44 <ehird> that runs indefinitely
22:03:45 <AnMaster> ehird, remember invalid commands reflect
22:03:51 <ehird> so infinite reflect
22:03:59 <AnMaster> ehird, which results in infinite loop yes
22:04:20 <ehird> % cat -v /dev/urandom|head --lines 10 >x; cfunge -S x
22:04:23 <AnMaster> ehird, you will notice that the fuzz test script only tests valid chars
22:04:40 <AnMaster> ehird, it also needs a build calling alarm()
22:04:43 <ehird> why does it need a special build
22:05:13 <AnMaster> to not dump spurious confusing exit code on exit
22:05:14 <oklofok> psygnisfive: and simultaneously, do you like girls? do you like boys? <<< both
22:05:21 <ehird> AnMaster: This interface is made obsolete by setitimer(2).
22:05:35 * ehird does fuzz-test _without_ alarm
22:05:36 <AnMaster> you need to edit global.h anyway
22:05:54 <ehird> tools/fuzz-test.sh: line 47: 205b: value too great for base (error token is "205b")
22:05:54 <ehird> There must be a copy of the binary in the top source directory.
22:06:10 <ehird> if [[ "${BASH_VERSINFO[0]}${BASH_VERSINFO[1]}" -lt 31 ]]; then
22:06:17 <ehird> why does the binary have to be in the top src dir
22:06:28 <AnMaster> ehird, oh that is because of paths
22:06:43 <ehird> ln -s `which cfunge` .
22:06:56 <AnMaster> ehird, anyway it needs valgrind
22:07:07 <AnMaster> ehird, read the comments in the script
22:07:41 <AnMaster> s/# 2) Enable LEAK_MODE in cmake, or valgrind will fail./# 2) Disable USE_GC in cmake, or valgrind will fail./
22:08:06 <ehird> * Generating random program
22:08:06 <ehird> * Running free standing
22:08:08 <ehird> * Exit code was 0, ok
22:08:18 <AnMaster> ehird, the magic numbers in checkerror() may need changing
22:08:52 <ehird> i think it ran a mem hogger
22:09:03 <AnMaster> ehird, you set ulimits I assume?
22:09:07 <AnMaster> it would be stupid to not do it
22:09:12 <oklofok> psygnisfive: no bsmntbombdood
22:09:16 <AnMaster> ehird, 60 MB or so on OS X I guess
22:09:42 <ehird> ~exec sys.stdout("hi")
22:09:42 <oklofok> 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:10:01 <oklofok> get some social skills man
22:10:12 * oerjan swats oklofok -----###
22:10:33 <oklofok> psygnisfive asks, bsmntbombdood answers, i remember the answer, he doesn't
22:10:33 <oerjan> we don't use dirty words here!
22:11:40 <oklofok> he answered when you asked the time before that
22:11:44 <oklofok> "do you have sex with guys"
22:11:49 <oklofok> "no. but for a technicality"
22:11:54 <AnMaster> ehird, I may try to make it more portable this weekend
22:11:55 -!- GreaseMonkey has joined.
22:12:11 <ehird> wast he implication
22:12:11 <AnMaster> for now you have to figure any issue out yourself with the fuzz test script. since I need to sleep
22:12:11 <oklofok> the same reason nerds don't get vag
22:12:21 <AnMaster> I have piano lessons tomorrow morning
22:12:24 <oklofok> of course, bsmntbombdood might not really be a nerd, but anyway.
22:12:25 <lament> women are more beautiful than men
22:12:41 <lament> AnMaster: what do you play?
22:13:52 -!- psygnisf_ has joined.
22:14:15 <psygnisf_> oklofok, what was the technicality?
22:17:58 <lament> i'm 42, and still a virgin
22:19:06 <oklofok> AnMaster: ehird, also that looks fucked <<< caughtcha
22:19:08 <ehird> think about this logically
22:19:10 <ehird> he was here in 2002
22:19:23 <psygnisf_> yeah well, he was a youngun even then :P
22:19:35 <ehird> somehow I doubt he was a 9 year old when he co-founded this place :P
22:20:01 <ehird> I was an idiot when I was 9
22:20:12 <psygnisf_> ok im off to sit outside and enjoy the stormy atmosphere
22:20:13 <lament> my role is far more important than just co-founder
22:20:13 <ehird> i think lament might be offended that you consider him 15 psygnisf_
22:20:23 <lament> it was my suggestion to put the channel on freenode
22:20:30 <oklofok> lament: you probably remember the year
22:20:31 <lament> i think they wanted efnet
22:20:46 <ehird> i'd never have heard of it in that case
22:20:49 <oklofok> well you can just calc that from your current age ofc
22:20:56 <oklofok> that was kinda stupid of me.
22:24:16 <oklofok> "hey everybody, i'm looking at gay porno", and a picture of a pussy. i agree, not very clever.
22:28:53 <oklofok> AnMaster: snake lacks it too <<< no
22:29:00 -!- psygnisfive has quit (Read error: 110 (Connection timed out)).
22:31:48 <ehird> popup blocker i guess
22:31:51 <ehird> it's Last Measure.
22:37:45 <oklofok> ehird: oh, well i have ie so there was just one.
22:37:53 <oklofok> you know, because it's so great? yeah you probably know
22:38:21 <oklofok> 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 <oklofok> 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:55 <oklofok> because i could definitely kick an infinite amount of popup ass manually.
22:41:06 <oklofok> 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 <ehird> 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: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 <ehird> i shall call it a "blog"
23:46:49 -!- Corun has quit ("This computer has gone to sleep").
23:47:08 <ehird> you're meant to act surprised
23:49:26 <Azstal> but I'd rather have a phlog
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 <Asztal> that's what I decided too.
23:52:48 <Asztal> thankfully it allows catch-all addresses
23:54:10 -!- CakeProphet has joined.
23:56:20 <ehird> you know, my life was a lot better before I ever read the word typography
23:57:54 * ehird considers that nobody cares what he has to say so writing a blog is pointless
23:58:55 <ehird> come to think of it, I should give up on IRC too