←2009-01-06 2009-01-07 2009-01-08→ ↑2009 ↑all
01:02:59 -!- Corun has quit ("This computer has gone to sleep").
02:02:10 <bsmntbombdood> hi bsmnt_bot
02:02:32 <ais523> hi bsmnt_bot
02:02:33 <ais523> welcome back
02:05:41 <bsmntbombdood> ~echo foo
02:05:51 <bsmntbombdood> ~raw privmsg #esoteric :foooop
02:05:51 <bsmnt_bot> foooop
02:06:16 <Slereah_> butt
02:07:13 <bsmntbombdood> hawt
02:07:36 <bsmnt_bot> ooooh fuck
02:07:49 <bsmnt_bot> WHO SAID THAT
02:08:12 <Slereah_> bsmnt_bot, are you a robot
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:08:51 <bsmnt_bot> i r real hooman!
02:08:56 <bsmnt_bot> i has feelings!
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:09:40 <ais523> yep
02:09:57 <bsmnt_bot> 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:18 <bsmntbombdood> wow he is laggy today
02:47:28 <ais523> ~raw JOIN ##nomic
02:47:29 <MizardX> :P
02:47:48 * ais523 waits patiently for nothing to happen
02:48:09 <ais523> ~exec "Syntax error
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:48:45 <bsmntbombdood> lol
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:00 <ais523> kerlo: it worked
02:50:04 <kerlo> I know.
02:50:07 <ais523> ah, you're in ##nomic too
02:51:51 <kerlo> ~exec sys.stdout("foo")
02:51:51 <bsmnt_bot> foo
02:51:55 <kerlo> ~exec sys.stdout(str("foo"))
02:51:55 <bsmnt_bot> foo
02:51:59 <kerlo> ~exec sys.stdout(repr("foo"))
02:52:00 <bsmnt_bot> 'foo'
02:52:02 <kerlo> Aha!
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:52:52 <ais523> well, no
02:52:54 <ais523> except, it is for me
02:52:57 <ais523> for some langs
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:15 <ais523> but not by much
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:32 * kerlo nods
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:26 <bsmnt_bot> a
02:55:26 <bsmnt_bot> 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:55:58 <bsmntbombdood> ais523: bsmnt_bot is in py2.4
02:55:58 * kerlo blinks
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 <bsmntbombdood> ais523: i haven't looked at it since the
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:34 <bsmnt_bot> 3
02:56:38 <kerlo> ~exec sys.stdout(QuitIRC)
02:56:38 <bsmnt_bot> __main__.QuitIRC
02:56:41 <kerlo> Lovely.
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:49 <bsmnt_bot> ['__doc__', '__module__']
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:01 <bsmntbombdood> kerlo: just run it loser
02:57:08 -!- oerjan has joined.
02:57:12 <kerlo> ~exec QuitIRC()
02:57:22 <kerlo> Did it quit IRC?
02:57:43 <bsmntbombdood> naming convention says it's a class
02:57:50 <kerlo> ~exec sys.stdout('No.')
02:57:50 <bsmnt_bot> 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:32 <kerlo> Okay.
02:58:48 <MizardX> ~exec sys.stdout(sys.version)
02:58:48 <bsmnt_bot> 2.4.3 (#1, Oct 25 2006, 21:45:16)
02:58:49 <bsmnt_bot> [GCC 4.1.1 (Gentoo 4.1.1)]
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:19 <kerlo> Gasp.
02:59:26 <bsmntbombdood> what?
02:59:28 <ais523> I like doing revgenos in the room with the Castle wand
02:59:32 <ais523> wait, wrong channel
02:59:45 <bsmntbombdood> class QuitIRC:
02:59:46 <bsmntbombdood> pass
02:59:54 <bsmntbombdood> kerlo: QuitIRC is an exception
02:59:59 <kerlo> Oh.
03:00:02 <kerlo> Well, that's boring.
03:00:03 <bsmntbombdood> you raise it in a callback when you want to quit
03:00:21 <kerlo> ~exec QuitIRC.__init__ = lambda: bot.raw('QUIT')
03:00:26 <bsmntbombdood> ....no
03:00:34 <kerlo> Mm.
03:00:40 <kerlo> ~exec raise QuitIRC
03:00:41 <bsmnt_bot> TypeError: <lambda>() takes no arguments (1 given)
03:00:50 <bsmntbombdood> ....no
03:00:56 <kerlo> ~exer QuitIRC()
03:01:04 <kerlo> ~exec QuitIRC()
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:18 <bsmnt_bot> SyntaxError: invalid syntax
03:01:30 <bsmntbombdood> oh right
03:01:37 <kerlo> ~exec QuitIRC()
03:01:37 -!- bsmnt_bot has quit.
03:01:40 <kerlo> Whew.
03:01:45 <bsmntbombdood> python is dumb, you can't have statements in a lambda
03:01:47 -!- bsmnt_bot has joined.
03:01:56 <bsmntbombdood> kerlo: you are doing it wrong
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 <bsmntbombdood> ~ps
03:02:39 <bsmnt_bot> 0: 'self.handle_callback(message, m, i)', 0.00 seconds
03:02:48 <bsmntbombdood> lol i even adding multitasking support
03:03:18 <kerlo> ~exec while 1: __import__('time').sleep(60)
03:03:22 <kerlo> ~ps
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:27 <kerlo> Lovely.
03:03:45 <MizardX> ~exec sys.stdout(os.getcwd())
03:03:45 <bsmnt_bot> /
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 <bsmntbombdood> ~ps
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:37 <bsmntbombdood> ~kill 0
03:04:42 <bsmntbombdood> ~ps
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:53 <kerlo> Cool.
03:04:54 <bsmntbombdood> i remember that taking some hacking
03:04:54 <kerlo> ~ps
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 <bsmntbombdood> kerlo: it has to wait for the sleep to end
03:05:07 <kerlo> Just wait 10 seconds.
03:05:10 <kerlo> ~ps
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:19 <kerlo> ~ps
03:05:20 <bsmnt_bot> 0: 'self.handle_callback(message, m, i)', 0.00 seconds
03:05:23 <kerlo> Yay.
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:53 <oerjan> that much is obvious
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:02 <MizardX> ('o ',)*4 + ('os',)*5
03:10:25 <kerlo> Does that work?
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:14 <ais523> but it isn't
03:14:16 <ais523> what lang is it?
03:14:20 <kerlo> ///
03:14:33 <ais523> oh, ofc
03:14:44 <ais523> except don't you re-replace the !s you replace the #s with?
03:14:54 <kerlo> I do, don't I?
03:28:18 <bsmntbombdood> grr i can't find my pickle extension
03:30:41 <bsmntbombdood> oh i found it
03:30:48 <bsmntbombdood> ~exec self.print_callbacks(sys.stdout)
03:30:49 <bsmnt_bot> [('^PING (.*)$', 'pong'),
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:52 <bsmnt_bot> 'do_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:30:58 <bsmnt_bot> 'do_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:42 <bsmntbombdood> ais523: ?
03:31:48 <ais523> but nick (which is changeable) + username (which is changeable) doesn't add an extra layer of security
03:31:53 <bsmntbombdood> everyone is able to ~exec
03:32:02 <ais523> I mean, for things like ~quit
03:32:04 <bsmntbombdood> that was probably added before i chrooted
03:32:10 <ais523> caring about the username as well as the nick seems a bit silly
03:32:17 <bsmntbombdood> ~exec __import__("sys").quit()
03:32:17 <bsmnt_bot> AttributeError: 'module' object has no attribute 'quit'
03:32:24 <bsmntbombdood> ~exec __import__("sys").exit(1)
03:32:37 <bsmntbombdood> errr
03:32:48 <ais523> ~exec do_quit()
03:32:48 <bsmnt_bot> NameError: name 'do_quit' is not defined
03:32:58 <ais523> hmm...
03:33:17 <bsmntbombdood> ~exec self_do_quit('', '')
03:33:17 <bsmnt_bot> NameError: name 'self_do_quit' is not defined
03:33:21 <bsmntbombdood> ~exec self.do_quit('', '')
03:33:22 <bsmnt_bot> AttributeError: 'str' object has no attribute 'group'
03:34:13 <bsmntbombdood> ~exec self.disconnect("bye")
03:34:14 -!- bsmnt_bot has quit ("bye").
03:34:16 <bsmntbombdood> that's better
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:39 <bsmntbombdood> asdfgg
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:17 <bsmntbombdood> ais523: that's effecient
03:37:25 <bsmntbombdood> ~quit
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:37 <bsmntbombdood> asdfgg
03:37:37 <bsmnt_bot> 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 <bsmntbombdood> ~exec self.save_callbacks("penis")
03:37:53 <bsmnt_bot> IOError: [Errno 13] Permission denied: 'penis'
03:37:57 <ais523> it's even slower than Ruby
03:38:01 <bsmntbombdood> oh snap!
03:38:19 <bsmntbombdood> ~exec sys.stdout(sys.ls("/bot/"))
03:38:20 <bsmnt_bot> AttributeError: 'module' object has no attribute 'ls'
03:38:24 <bsmntbombdood> ~exec sys.stdout(os.ls("/bot/"))
03:38:27 <bsmnt_bot> AttributeError: 'module' object has no attribute 'ls'
03:38:32 <bsmntbombdood> ~exec sys.stdout(os.dir("/bot/"))
03:38:39 <bsmnt_bot> AttributeError: 'module' object has no attribute 'dir'
03:38:45 <bsmntbombdood> wtf is the command i'm thinking of?
03:38:47 <oerjan> it's rather convenient for esolangers that IRCbots only need to do stdin -> stdout IO...
03:38:54 <ais523> yes
03:39:12 <bsmntbombdood> oerjan: real bots use real sockets
03:39:14 <ais523> that's the only reason Thutubot's possible
03:39:17 <bsmntbombdood> like mine
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:40:55 <bsmntbombdood> wow my code is pretty ugly
03:41:06 <bsmntbombdood> no wonder i never went back to bsmnt_bot
03:41:19 <MizardX> http://xkcd.com/378/
03:41:38 <bsmntbombdood> also, bsmnt_bot blocks when it should
03:41:41 <bsmntbombdood> needs moar threads
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:19 <bsmntbombdood> is thue eso?
03:43:30 <ais523> yes
03:43:33 <ais523> http://esolangs.org/wiki/Thue
03:44:29 <bsmntbombdood> uuuh
03:44:35 <bsmntbombdood> you didn't write an ircbot in that did you?
03:44:41 <ais523> no, I wrote one in Thutu
03:44:43 <ais523> http://esolangs.org/wiki/Thutu
03:44:46 <ais523> which is also eso
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:24 <psygnisfive> ais523, you're crazy
04:03:24 <psygnisfive> :)
04:03:36 <ais523> psygnisfive: for which of those programs?
04:03:41 <psygnisfive> all of them :D
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:04 <bsmntbombdood> ais523: lol nice
04:12:23 <psygnisfive> whats underlambda ais
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:41 <psygnisfive> whats underload
04:12:46 <ais523> http://esolangs.org/wiki/Underload
04:12:54 <psygnisfive> stop it with your logic
04:13:12 <psygnisfive> lmfao
04:13:13 <ais523> Underlambda is higher-level, but compiles into a subset of itself that's slightly lower-level than Underload
04:13:24 <psygnisfive> the quin is (:aSS):aSS
04:13:25 <psygnisfive> XD
04:13:42 <ais523> which is an important trick to be able to compile both into it and out of it easily
04:13:47 <oerjan> ^ul (:aSS):aSS
04:13:47 <fungot> (:aSS):aSS
04:13:58 <psygnisfive> :D
04:14:27 * oerjan is amazed, no SHOCKED that psygnisfive hasn't grabbed onto this yet
04:14:40 <oerjan> *before
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:01 <psygnisfive> oh no, its not
04:15:03 <psygnisfive> is it?
04:15:09 <psygnisfive> oooh its not :o
04:15:16 <psygnisfive> hah.
04:15:17 <psygnisfive> :D
04:15:36 <oerjan> that's some IMPORTANT ass
04:15:52 <ais523> psygnisfive: the aSS stuff is coincidence
04:16:05 <psygnisfive> suuuuuuure
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:24 <psygnisfive> SO YOU SAY
04:16:43 <oerjan> BUT YOUR SUBCONSCIOUS DISAGREES
04:16:57 <psygnisfive> ais's ass
04:17:06 <ais523> my subconcious must have been working on Underload way before me, in that case
04:17:16 <oerjan> but of course
04:17:37 <oerjan> it's a platonic idea.
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:18 <oerjan> FAIL
04:18:24 <MizardX> ~exec sys.stdout('^ul (~exec sys.stdout(":P)S")')
04:18:24 <bsmnt_bot> ^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 <bsmnt_bot> ^ul (~exec sys.stdout(":P"))S
04:19:10 <fungot> ~exec sys.stdout(":P")
04:19:10 <bsmnt_bot> :P
04:20:56 <psygnisfive> lol
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:44 <psygnisfive> do it! :o
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:14 <bsmntbombdood> can i put a boner array in my butt loop?
04:23:24 <Slereah_> You sure can
04:23:56 <psygnisfive> the most elegant programming language ever!
04:24:01 <psygnisfive> ironically, it looks exactly like c
04:24:12 <ais523> what, Underload?
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:30 <bsmntbombdood> that comic is pretty stupid
04:24:33 <psygnisfive> it is
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:20 <psygnisfive> it is indeed
04:25:37 <psygnisfive> unification confuses me tho
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:55 <ais523> ~quit
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:01 <psygnisfive> hahaha
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:04 <MizardX> ~ps
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:13 <bsmntbombdood> oh balls
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 <bsmntbombdood> ~quit
04:29:23 -!- bsmnt_bot has quit (Remote closed the connection).
04:29:25 -!- bsmnt_bot has joined.
04:29:33 <ais523> well, it worked
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:44 <ais523> yes
04:29:46 <psygnisfive> thats craaaazy!
04:29:47 <bsmntbombdood> i remember creating an epiiiic quine in #scheme
04:29:54 <psygnisfive> so you mean if i just did......
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:02 <psygnisfive> no im kidding i wouldnt. :P
04:30:49 <ais523> I love Underload so much for writing quines...
04:30:53 <bsmntbombdood> that thing went on for like 15 minutes
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 <bsmntbombdood> oerjan: nuh uh
04:33:39 <oerjan> or wait you mean in #scheme?
04:33:46 <bsmntbombdood> oerjan: in #scheme
04:34:10 <oerjan> you'd think scheme people would be accustomed to handling quines
04:34:11 <bsmntbombdood> i wonder where the code for that is
04:34:30 <ais523> bsmntbombdood: was it a loop between two bots?
04:34:39 <Sgeo> <ais523> well, I could use PSOX
04:34:40 <Sgeo> Oh?
04:34:53 <bsmntbombdood> ais523: either 2 or 3
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 <oerjan> ~exec bot.raw("QUIT")
04:35:37 -!- bsmnt_bot has quit.
04:35:40 -!- bsmnt_bot has joined.
04:35:50 <bsmntbombdood> oerjan: l337
04:35:55 <Sgeo> But since you don't need extra streams, you're not using PSOX..
04:35:59 <ais523> yes
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:11 <ais523> PESOIX; EsoAPI...
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:50 <ais523> Sgeo: mezzacotta?
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:17 <Sgeo> Oh
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:38 <bsmnt_bot> SyntaxError: invalid syntax
04:41:45 <MizardX> geh
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:23 <ais523> ^
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 <bsmnt_bot> SyntaxError: invalid syntax
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:42:58 <ais523> ^
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:11 <oerjan> huh
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:18 <bsmnt_bot> stop
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:45:59 <oerjan> Sgeo: no
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:47:52 <oerjan> essentially
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:04 <fungot> ...out of stack!
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:17 <fungot> ...out of stack!
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:54 <psygnisf_> bsmnt_bot!
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:03 <bsmntbombdood> lol
04:58:07 -!- metazilla has joined.
04:58:15 -!- moozilla has quit (Nick collision from services.).
04:58:17 -!- metazilla has changed nick to moozilla.
04:58:19 <psygnisfive> bdmntbombdood, remind me
04:58:25 <psygnisfive> do you like cock?
04:58:31 <psygnisfive> and, do you like vagina?
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:01:22 <oerjan> or what ais523 said
05:04:09 -!- moozilla has quit (Read error: 104 (Connection reset by peer)).
05:04:33 -!- moozilla has joined.
05:05:15 <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:29 <oerjan> fine, fine
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:16 <bsmntbombdood> hey guys i saw a cool datastructure
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:53:03 <psygnisfive> gregorr are you here?
05:54:21 -!- moozilla has quit (Read error: 104 (Connection reset by peer)).
05:54:24 -!- moozilla has joined.
06:01:39 <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:45 <psygnisfive> hmm
07:02:55 <psygnisfive> i want to try some evolutionary programming
07:02:59 <psygnisfive> on simple tasks
07:03:19 <psygnisfive> to try and create something nearly inscrutable, but simple, which solves some simple problem
07:05:30 <psygnisfive> and then reverse engineer the solution
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:25 <AnMaster> ais523, morning
09:01:31 <ais523> morning
09:01:32 <AnMaster> ais523, hi
09:01:34 <AnMaster> right
09:01:36 <ais523> or very late night, depending on your point of view
09:01:37 <AnMaster> nice
09:01:56 <AnMaster> ais523, 10:01 isn't "night" in any meaning of the work
09:01:57 <AnMaster> word*
09:01:57 * ais523 suddenly wonders the wisdom in checking for sh in an autoconf-based build system
09:01:58 <AnMaster> IMO
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:03:58 <ais523> yes
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:42 <AnMaster> and one inside ncurses
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:36 <AnMaster> not it wasn't
09:05:39 <ais523> although I don't think valgrind's been ported to Brainfuck yet
09:05:43 <AnMaster> indeed
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:12:55 <AnMaster> in the last release
09:12:59 <AnMaster> I haven't tested it yet
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:16:45 <AnMaster> a lot more complex however
09:17:01 <ais523> yes
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:49 <ais523> not strange at all
09:17:51 <AnMaster> and slow as hell
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:33 <AnMaster> that crashes with cfunge
09:19:44 <AnMaster> since it tries to wipe a readonly mmap()
09:19:58 <AnMaster> on munmap()
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:33 <AnMaster> it isn't anonymous memory
09:20:39 <ais523> yes, I know
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:21:47 <AnMaster> err
09:21:48 <ais523> yes, I know
09:21:53 <AnMaster> allocated un-written
09:21:54 <AnMaster> I meant
09:21:58 <ais523> both
09:22:01 <AnMaster> true
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:28 <AnMaster> it is legal I suspect
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:22:39 <AnMaster> if the struct has padding
09:22:46 <ais523> AnMaster: by magic
09:22:49 <ais523> to be more precise
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:24:26 <AnMaster> which I think are valid
09:24:38 <ais523> what other tricks?
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:15 * AnMaster is pretty sure it is
09:25:49 <AnMaster> that may be C99 or I may be wrong
09:25:56 <AnMaster> or it may be C89 even
09:26:07 <ais523> that's C89
09:26:10 <AnMaster> right
09:26:14 <ais523> and the compiler knows about padding when it implements =
09:26:16 <AnMaster> then you have an example
09:26:26 <ais523> in fact, I expect many compilers wouldn't copy the padding at all
09:26:36 <AnMaster> err
09:26:38 <ais523> unless it was faster to do a block-copy than several move instructions
09:26:39 <AnMaster> that could be slower
09:26:45 <AnMaster> yes exactly
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:13 <ais523> at least on x86
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:51 <AnMaster> seems rather strange
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:12 <AnMaster> well. what is -ggdb then?
09:31:23 <ais523> probably a dwarf3 variant
09:31:30 <AnMaster> -ggdb
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:31 <AnMaster> hm
09:31:35 <AnMaster> right dwarf2?
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:37 <AnMaster> -gdwarf-2
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:32:38 <AnMaster> hm
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:53 <AnMaster> hah
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:27 <AnMaster> ais523, there?
09:52:31 <ais523> yes
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:54:03 <AnMaster> (and yes I realloc in chunks)
09:56:51 <AnMaster> ais523, any good idea?
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:58:24 <AnMaster> ais523, yes indeed
09:58:29 <AnMaster> something for jitfunge rather
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:01 <ais523> ah, ofc
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:05 <AnMaster> hm
10:08:09 * AnMaster has an evil idea
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:09 <AnMaster> and so on for different types
10:11:19 <AnMaster> that would still be portable
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:12:58 <ais523> sizeof works fine
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:13:41 * AnMaster checks
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:45 <ais523> fabs is
10:15:53 <AnMaster> http://rafb.net/p/xK94QQ46.html
10:15:53 <ais523> just the tgmath version is called something else IIRC
10:15:55 <AnMaster> see that table
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:21 <AnMaster> ew
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:21:05 <AnMaster> ais523, no idea
10:22:14 <AnMaster> ais523, also:
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:22:20 <AnMaster> wtf is that
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:08 <AnMaster> so what does it do
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:26:57 <AnMaster> any questions btw?
10:27:07 <ais523> not really
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:24 <AnMaster> ais523, what buffer overflow?
10:27:29 <AnMaster> oh that one
10:27:32 <AnMaster> now I remember
10:27:34 <ais523> AnMaster: ick_snprintf_or_die
10:27:37 <AnMaster> right
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:27:51 <AnMaster> ais523, heh right
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:23 <AnMaster> I only did for cfunge
10:29:27 <AnMaster> that is iffi
10:29:39 <AnMaster> iirc
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:02 <AnMaster> right
10:31:08 <ais523> anyway, why check the return value from system? It's unportable
10:31:26 <AnMaster> ais523, hm? system() is ISO C
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:06 <AnMaster> also
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:37:59 <AnMaster> wtf
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:06 <AnMaster> what is wrong with that?
10:38:14 <AnMaster> it makes no sense to me
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:30 <AnMaster> ais523, long double jdn
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:38:52 <AnMaster> ais523, man roundl
10:38:58 <AnMaster> it is a C99 standard function
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:28 <AnMaster> ais523, GCC
10:39:30 <AnMaster> anyway
10:39:34 <AnMaster> that isn't the issue
10:39:36 <AnMaster> if I do:
10:39:43 <ais523> they only have a bit over 50 bits of precision, IIRC
10:39:44 <ais523> not 64
10:39:48 <AnMaster> long double tmp = roundl(jdn);
10:39:53 <AnMaster> return (fungeCell)tmp;
10:39:56 <AnMaster> it doesn't complain
10:40:03 <AnMaster> only if I directly cast the result of roundl()
10:40:07 <AnMaster> that is pretty strange
10:40:32 <AnMaster> ais523, ^
10:40:40 <ais523> yes
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:52 <AnMaster> I have no idea
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:15 <ais523> yes it does
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:50 <ais523> it doesn't matter
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:02 <ais523> *the
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:07 <AnMaster> return roundl(jdn);
10:47:07 <AnMaster> ^
10:47:10 <AnMaster> sigh
10:47:28 <ais523> I dislike the may lose significant bits warnings
10:47:31 <ais523> ofc, they're correct
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:07 <AnMaster> fizzie, indeed
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:51 <AnMaster> earlier versions didn't
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:08 <ais523> fizzie: is that C99?
10:49:11 <fizzie> Yes.
10:49:23 <AnMaster> fizzie, really? *looks*
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:07 <AnMaster> fizzie, indeed
10:52:28 <AnMaster> iirc round() isn't in C89 either
10:57:25 <AnMaster> hm
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?
10:59:18 <AnMaster> Ilari, yes indeed
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:00:52 <AnMaster> Ilari, yep
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:43 <AnMaster> long double y = Y + 4800 - a;
11:03:55 <AnMaster> looking at that it should be possible to change y to int64_t
11:03:56 <AnMaster> except
11:03:59 <AnMaster> mycology says BAD then
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:05:26 <ais523> yes
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:14:56 * AnMaster waits for any comments on it
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:04 <AnMaster> not*
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:36 <AnMaster> hm
11:23:47 <AnMaster> qemu can emulate non-native arches
11:24:05 <AnMaster> sparc, ppc and arm for example it seem
11:24:07 <AnMaster> seems*
11:24:26 <AnMaster> and binary emulation, just running a binary and not a full os. heh?
11:24:54 <ais523> qemu is an emulator
11:25:16 <ais523> although it goes into virtualisation mode when host processor = target processor
11:25:27 <ais523> at least on x86
11:25:34 <ais523> binary emulation is kind-of clever
11:25:51 <AnMaster> ais523, yes... but:
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:01 <AnMaster> that would be kind of cool
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:28:50 <AnMaster> ?
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:48 <AnMaster> ais523, there still?
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:00 <AnMaster> or whatever
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:52:33 <AnMaster> hm
11:53:11 <AnMaster> 6.7.2 Type specifiers
11:53:11 <AnMaster> Syntax
11:53:11 <AnMaster> 1 type-specifier:
11:53:11 <AnMaster> void
11:53:11 <AnMaster> char
11:53:12 <AnMaster> ...
11:53:14 <AnMaster> nop
11:53:16 <AnMaster> nope*
11:53:18 <AnMaster> that is something else
11:53:31 <fizzie> Type suffix, or something.
11:53:35 <fizzie> Some sort of suffix it was.
11:53:46 <fizzie> Or maybe not.
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:54:59 <AnMaster> ah found it too
11:55:21 <AnMaster> 6.4.4.1
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
11:59:57 <AnMaster> oh btw in the char section:
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:04 <AnMaster> that seems very strange
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:20 <AnMaster> character-constant:
12:02:21 <AnMaster> ' c-char-sequence '
12:02:21 <AnMaster> L' c-char-sequence '
12:02:22 <AnMaster> hm
12:02:24 <AnMaster> what does the L mean?
12:02:33 <AnMaster> I can't find that
12:02:38 <ais523> yes, but if your source and execution character sets aren't the same, your implementation details probably matter
12:02:41 <AnMaster> ah wait
12:02:43 <AnMaster> found it
12:02:44 <ais523> and L'' is for wchar_t constants, IIRC
12:02:48 <AnMaster> right
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:11 <AnMaster> heh
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:07:47 <AnMaster> mh
12:07:48 <AnMaster> hm*
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:17 <AnMaster> ais523, hm ok
12:10:21 <ais523> but that's one of the more confusing files of the lot, it even confuses me
12:10:22 <ais523> and I wrote it
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:19 <AnMaster> like that
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:02 <AnMaster> hm?
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:42 <AnMaster> true
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:48 <AnMaster> if(in)
12:13:48 <AnMaster> (void)fclose(in);
12:13:48 <AnMaster> return;
12:13:48 <AnMaster> }
12:13:51 <AnMaster> is much more readable
12:13:59 <ais523> that looks ridiculous, though
12:14:04 <AnMaster> ais523, it does?
12:14:06 <ais523> admittedly, the original also looks ridiculous
12:14:12 <AnMaster> anyway
12:14:17 <AnMaster> it uses the comma operator
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:30 <ais523> neither am I
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:15 <AnMaster> ah right
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:10 <AnMaster> well I don't know perl
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:17:40 <ais523> and I know it doesn't
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:18:57 <ais523> lower even than ,
12:19:05 <ais523> and =
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:19:52 <AnMaster> haha
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:04 <AnMaster> err
12:21:05 <AnMaster> wtf?
12:21:10 <AnMaster> paste issue
12:21:12 <AnMaster> lets try again
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:22 <AnMaster> there
12:21:27 <AnMaster> weird indentation
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:41 <AnMaster> << (co->nbytes*8-i-1);
12:22:43 <AnMaster> hm
12:22:51 <AnMaster> well apart from indentation
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:40 <AnMaster> fizzie, yes indeed
12:23:44 <AnMaster> no idea why it does
12:23:54 <AnMaster> static void ick_bitencout(char** pop, const struct cset* co,
12:23:54 <AnMaster> unsigned short val, int padstyle)
12:23:57 <AnMaster> is the function it is from
12:24:06 <AnMaster> no idea why that needs rand()
12:24:22 <AnMaster> ais523, can you explain that?
12:24:28 <fizzie> Only for padstyle==2, though.
12:24:36 <AnMaster> fizzie, well yes
12:24:39 <AnMaster> whatever that one is
12:24:49 <AnMaster> magic numbers...
12:25:11 <ais523> AnMaster: it's for random padding of the high bits of characters
12:25:21 <AnMaster> ais523, err what?
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:31 <ais523> you have one free bit
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:17 <AnMaster> as in "store the bits packed"
12:26:18 <ais523> AnMaster: nobody stores ASCII packed 8 chars to 7 bytes
12:26:27 <AnMaster> ais523, well NOT YET
12:26:32 <AnMaster> you could do it
12:26:36 <AnMaster> because no one else did
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:26:58 <AnMaster> compression
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:35 <ais523> for certain things
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:27:55 <ais523> *IIRC
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:39 <AnMaster> ais523, that is impossible
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:28:58 <AnMaster> to quote Dillbert: 99999....
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:30 <AnMaster> yes
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:41 <ais523> well, not directly
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:43 <ais523> or something similar
12:35:44 <AnMaster> heh
12:35:51 <AnMaster> early telegraph?
12:35:54 <ais523> more or less
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:15 <ais523> convickt's extensible
12:36:22 <ais523> although the file format confuses me
12:36:29 <ais523> and again, I created it
12:36:32 <AnMaster> err
12:36:34 <AnMaster> wtf is this:
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:51 <ais523> it's pretty simple
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:22 <AnMaster> do?
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:29 <AnMaster> which is what it seems to be
12:37:36 <ais523> it's equivalent to if(!variable) functioncall()
12:37:43 <AnMaster> oh my
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:11 <AnMaster> yes right foo || bar in shell
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:10 <AnMaster> I think
12:39:36 <AnMaster> if(!ick_cset_recent[i].nbytes) ic=i; would be ick_cset_recent[i].nbytes || ic=i;
12:39:38 <AnMaster> I think?
12:40:04 <ais523> yes, it would be
12:40:10 <ais523> except you need parens due to precedence
12:40:17 <AnMaster> well ok
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:18 <AnMaster> ais523, wtf?
12:43:27 <ais523> AnMaster: the extension is fixed
12:43:32 <ais523> so that's 8 bytes plus the terminating NUL
12:43:35 <AnMaster> err
12:43:37 <ais523> and those are internal-use filenames
12:43:41 <AnMaster> why only 8?
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:07 <AnMaster> hm?
12:44:19 <AnMaster> I'm pretty sure it is no longer needed on windows
12:44:22 <ais523> it isn't
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:50 <ais523> or directories
12:44:54 <ais523> DOS 1 didn't have directories, for instance
12:45:36 <AnMaster> hah
12:47:17 <AnMaster> _PC_NAME_MAX
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:40 <AnMaster> strange
12:47:46 <AnMaster> thought it would be much longer
12:50:17 <fizzie> Path names are indeed surprisingly short.
12:54:13 <AnMaster> hm interesting issue
12:54:20 <AnMaster> considering the comma operator
12:54:24 <AnMaster> shouldn't this be valid:
12:54:29 <AnMaster> int x, int y;
12:54:31 <AnMaster> :D
12:54:39 <ais523> int x isn't an expression
12:54:43 <AnMaster> ok
12:54:49 <AnMaster> int x=3, int y=4;
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:20 <ais523> oh, yes
12:55:33 <ais523> well, x and y were functions returning symbolic references, just so that they could correct my mistake
12:55:36 <AnMaster> well
12:55:43 <ais523> there's some debate about 0 and (my $x);
12:55:45 <AnMaster> I meant C
12:55:46 <AnMaster> ...
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> 1 expression:
12:56:04 <AnMaster> assignment-expression
12:56:04 <AnMaster> expression , assignment-expression
12:56:07 <AnMaster> hm
12:56:09 <AnMaster> so
12:56:14 <fizzie> And "int x=3, int y=4;" is not syntactic either; those aren't assignment-expressions there.
12:56:33 <AnMaster> hm....
12:57:01 <ais523> put it this way: int x=2, y=3 is not equivalent to int x=(2,(y=3))
12:57:17 <AnMaster> ais523, indeed
12:57:23 <AnMaster> the former is pretty normal syntax
12:57:32 <ais523> and the second is insane
12:57:35 <AnMaster> yes
12:57:46 <AnMaster> what exactly is the result of the second?
12:57:56 <AnMaster> x == 3? and y == 3?
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:35 <AnMaster> hm ok
12:58:42 <AnMaster> that what does that rule mean?
12:58:43 <ais523> that's disallowing things like (2, y) = 3
12:58:49 <AnMaster> ah right
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:33 <AnMaster> hah
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:01:43 <AnMaster> I don't know clisp
13:01:58 <AnMaster> it may be better
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:25 <fizzie> But no bignums. :/
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:27 <AnMaster> hm?
13:19:28 <ais523> above what ISO guarantees, which isn't a lot
13:19:32 <AnMaster> what about debugging prolog?
13:19:34 <ais523> AnMaster: you can ignore the FD stuff
13:19:38 <ais523> and it has a good debugger
13:19:43 <AnMaster> right
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:20:04 <AnMaster> hah
13:20:18 <AnMaster> ok, so what about tutorial?
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:21 <AnMaster> wtf
13:21:31 <AnMaster> it fails with dead code elimination on amd64?
13:21:37 <AnMaster> that was from the ebuild
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:10 <AnMaster> hm
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:14 <AnMaster> h
13:24:15 <AnMaster> hm*
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:24:46 <AnMaster> online resource that is
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:32:36 <AnMaster> hm
13:32:37 <AnMaster> thanks
13:51:16 -!- Corun has joined.
14:07:31 -!- metazilla has quit (Read error: 54 (Connection reset by peer)).
14:08:07 -!- moozilla has joined.
14:11:52 -!- moozilla has quit (Read error: 54 (Connection reset by peer)).
14:11:56 -!- moozilla has joined.
14:12:49 -!- moozilla has quit (Read error: 104 (Connection reset by peer)).
14:12:56 -!- moozilla has joined.
14:18:32 -!- metazilla has joined.
14:18:38 -!- moozilla has quit (Nick collision from services.).
14:18:42 -!- metazilla has changed nick to moozilla.
14:21:42 -!- metazilla has joined.
14:21:42 -!- moozilla has quit (Read error: 54 (Connection reset by peer)).
14:21:50 -!- metazilla has changed nick to moozilla.
14:31:13 -!- moozilla has quit (Read error: 54 (Connection reset by peer)).
14:31:16 -!- moozilla has joined.
14:33:57 -!- metazilla has joined.
14:33:57 -!- moozilla has quit (Read error: 104 (Connection reset by peer)).
14:34:03 -!- metazilla has changed nick to moozilla.
14:34:06 -!- jix has joined.
14:40:34 <AnMaster> ais523, did you check all the patches or?
14:40:49 <ais523> more or less
14:41:01 <AnMaster> ok
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:41:25 <AnMaster> well of course
14:42:45 <Mony> yello
14:43:53 <AnMaster> yello?
14:43:55 <AnMaster> jello?
14:44:05 <AnMaster> or maybe jelly=
14:44:06 <AnMaster> ?
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:47:58 <ehird> hm.
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:49:57 <AnMaster> ehird, some tools do iirc
14:50:01 <AnMaster> but not all
14:50:16 <AnMaster> same for ppc
14:50:42 <AnMaster> ah no it doesn't
14:51:07 <AnMaster> ehird, iirc xcode is bundled with some tool to check for "object leaks" or such
14:51:12 <AnMaster> better than nothing
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:51:34 <ehird> AnMaster: struct.
14:51:45 <AnMaster> also indeed it wouldn't I bet
14:52:04 <ehird> Mmph.
14:52:13 <AnMaster> ?
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:48 <ehird> However.
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:13 <AnMaster> hm
14:55:20 <ehird> I could try if you want.
14:55:21 <AnMaster> interesting mixed userland then
14:55:45 <AnMaster> ehird, -m64 to gcc I believe
14:55:55 <AnMaster> at least that is what is needed on multilib gcc here
14:56:01 <AnMaster> not sure for darwin
14:56:05 <ehird> Holy fuck, 189% of my CPU is being used.
14:56:09 <ehird> (Dual core :P)
14:56:14 <ehird> Okay, what's using it...
14:56:17 <ehird> Um... prl_disp_service.
14:56:19 <ehird> Process ID 302.
14:56:24 <ehird> wat
14:56:27 <AnMaster> prl_disp_service?
14:56:35 <AnMaster> perl display service?
14:56:37 <ehird> Oh. prl_disp_service is something to do with Parallels.
14:56:41 <AnMaster> ah
14:56:43 * ehird kills it.
14:56:58 <ehird> lol, I didn't notice 180% of my CPU disappearing
14:57:09 <AnMaster> err
14:57:17 <AnMaster> 189% is rounded to 190%
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:57:48 <AnMaster> ha
14:57:56 <AnMaster> err that is kind of hard
14:58:01 <AnMaster> well
14:58:09 <AnMaster> #include <stdio.h>
14:58:36 <AnMaster> int main(void) { printf("%zu\n", sizeof(char*)); return 0; }
14:58:41 <AnMaster> what about that?
14:58:44 <ehird> I'll try it.
14:58:47 <AnMaster> if 64-bit it should print 8
14:59:16 <ehird> [ehird:~] % gcc -m64 64bit.c -o 64bit
14:59:16 <ehird> [ehird:~] % ./64bit
14:59:18 <ehird> 8
14:59:20 <ehird> [ehird:~] % gcc 64bit.c -o 64bit
14:59:22 <ehird> [ehird:~] % ./64bit
14:59:24 <ehird> 4
14:59:30 <AnMaster> interesting
14:59:34 <AnMaster> so 32-bit is default?
14:59:36 <AnMaster> mhm
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:00:40 <AnMaster> or whatever the name is
15:01:00 <ehird> AnMaster: CoreFoundation, Cocoa, and all the 500 million other libs.
15:01:07 <ehird> QuickTime, ..
15:01:14 <AnMaster> #include <cocoa.h>
15:01:19 <AnMaster> int main(void) { return 0; }
15:01:21 <ehird> I don't think that works.
15:01:23 <AnMaster> gcc -E file.c
15:01:29 <AnMaster> check the size of the result
15:01:29 <AnMaster> :D
15:01:35 <AnMaster> ehird, oh?
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:46 <AnMaster> ah hm
15:01:57 <ehird> #include <CoreFoundation.h> might work.
15:02:00 <ehird> Or was it Foundation.h?
15:02:01 <ehird> Let's see.
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:52 <AnMaster> really?
15:02:53 <AnMaster> still
15:02:54 <AnMaster> strange
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:33 <AnMaster> ehird, really?
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:48 <AnMaster> err
15:03:53 <ehird> Was there? OK then
15:03:57 <AnMaster> Macintosh HD:System:Extensions
15:03:58 <AnMaster> even
15:03:59 <AnMaster> :D
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:06 <AnMaster> mh
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:42 <AnMaster> filenames
15:05:52 -!- metazilla has joined.
15:05:55 <ehird> AnMaster: Yeah, you can use them/
15:05:57 <ehird> in paths
15:05:59 -!- moozilla has quit (Nick collision from services.).
15:06:00 <AnMaster> indeed
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:45 <AnMaster> well true
15:07:47 <ehird> I just saved a file as a/b.txt
15:07:48 <AnMaster> oh?
15:07:51 <ehird> BUT
15:07:58 <ehird> % ls a:b.txt
15:07:58 <ehird> a:b.txt
15:08:04 <AnMaster> err
15:08:05 <AnMaster> what?
15:08:10 <AnMaster> now you totally confused me
15:08:10 <ehird> In each interface, it displays the character as the one that isn't forbidden.
15:08:14 <ehird> Crazy, I know.
15:08:15 <AnMaster> haha
15:08:21 <AnMaster> oh yes crazy indeed
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:47 <AnMaster> wtf
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:03 <ehird> Probably /.
15:09:09 <AnMaster> really?
15:09:11 <AnMaster> hm
15:09:22 <AnMaster> well I guess that would work better for HFS
15:09:30 <ehird> HFS+, actually.
15:09:33 <AnMaster> well yah
15:09:36 <AnMaster> yeah*
15:09:40 <ehird> I don't know what the + means apart from perhaps "okay, it's slightly more tolerable now"
15:09:46 <AnMaster> even MacOS 8 had had HFS+
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:06 <ehird> 174516
15:11:13 <ehird> It's rather... complete.
15:11:15 <AnMaster> ehird, that's pretty massive
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:01 <AnMaster> I don't remember the details
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:12:25 <ehird> scriptdevil: [-]
15:12:28 <ehird> or [+]
15:12:41 <AnMaster> yes common idiom
15:13:12 <scriptdevil> ehird: Oh.. Common sense.. I am new to brainfuck. :P
15:13:16 <ehird> :-)
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:13:31 <AnMaster> (from wikipedia)
15:14:07 <AnMaster> ehird, the second paragraph on http://en.wikipedia.org/wiki/HFS_Plus describes the differences pretty well
15:14:23 <ehird> ugh, mac os roman
15:14:26 <ehird> i think i died
15:14:29 <AnMaster> ehird, what?
15:14:39 <ehird> awful character set
15:14:39 <AnMaster> it was another charset
15:15:00 <AnMaster> ehird, yes it messed up for us Swedes, iirc åäö mapping differed from everyone else
15:15:05 <ehird> ha
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:09 <AnMaster> such as on linux
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:21:02 <ehird> Just use mount.
15:21:02 <AnMaster> hm *looks*
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:43 <AnMaster> ehird, closed format?
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:23:39 * AnMaster looks
15:23:55 <AnMaster> an 1 in the url?
15:24:12 <ehird> Yes.
15:24:22 <ehird> You weird person and your non-clickable lnks.
15:24:24 <ehird> links
15:24:32 <AnMaster> no
15:24:41 <AnMaster> just it gives the classical AOL feeling
15:24:44 <AnMaster> ;P
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:25:34 <AnMaster> it would be that bad
15:25:49 <AnMaster> actually s -> 5 iirc
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:29 <AnMaster> heh
15:26:30 -!- metazilla has quit (Read error: 104 (Connection reset by peer)).
15:26:30 -!- moozilla has changed nick to metazilla.
15:26:45 <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:27:06 <ehird> :P
15:27:09 <AnMaster> ah
15:30:33 <AnMaster> ehird, hm from looking at the source code it seems to be compressed with libz
15:30:38 <AnMaster> with some strange header
15:30:48 <ehird> huh.
15:31:49 <ehird> Hm.
15:32:05 -!- scriptdevil has left (?).
15:34:13 <AnMaster> ehird, yeah a header called "plist" it seems
15:34:18 <ehird> Oh, plist.
15:34:22 <AnMaster> what?
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:54 <AnMaster> err
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:06 <ehird> Ah.
15:37:09 <ehird> That'd be it then.
15:37:12 <AnMaster> anyway
15:37:15 <AnMaster> I don't know
15:37:21 <AnMaster> the parsing is rather strange
15:38:19 <AnMaster> ehird, it is the xml variant
15:38:33 <ehird> x.x
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:36 <AnMaster> and
15:38:37 <AnMaster> const char plist_begin[]="<plist version=\"1.0\">";
15:38:41 <ehird> My lord.
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:28 <ehird> ha
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:39:52 <AnMaster> exit(-1);
15:39:52 <AnMaster> }
15:39:57 <AnMaster> that is one of the worst ones
15:39:57 <ehird> hahaha
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:40:52 <AnMaster> s/lucky/luckily/
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:24 <AnMaster> + copyright header
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:14 <AnMaster> well
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:27 <AnMaster> is just an example
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:11 <AnMaster> yep
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:43:49 <AnMaster> something like that
15:43:53 <AnMaster> would probably work
15:43:59 <AnMaster> assuming cmake is in path
15:44:00 <ehird> AnMaster: Does that include the SUPAH OPTIMIZED crap? :P
15:44:01 <AnMaster> then make after
15:44:13 <AnMaster> ehird, not really extra optimised no
15:44:30 <AnMaster> if you want that answer these questions three
15:44:36 <AnMaster> What is your -march?
15:44:50 <AnMaster> What is your favorite colour?
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:07 <ehird> 2. octarine
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:45 <AnMaster> too old gcc I believe
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:46:35 <ehird> Nor in man gcc.
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:37 <ehird> ?
15:47:43 <AnMaster> ehird, man gcc in my case
15:47:44 <AnMaster> ?
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:47:59 <AnMaster> however
15:47:59 <ehird> Are they stable?
15:48:14 <AnMaster> ehird, for profiling I don't use cmake, I use -combine and -fwhole-program
15:48:15 <AnMaster> and such
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:48:36 <AnMaster> yes I know that script
15:48:39 <AnMaster> oh yes that too
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:32 <AnMaster> no idea what one you have
15:49:34 <ehird> % gcc --version
15:49:35 <ehird> i686-apple-darwin8-gcc-4.0.1 (GCC) 4.0.1 (Apple Computer, Inc. build 5363)
15:49:41 <ehird> oldskool
15:49:41 <AnMaster> no core2 support there
15:49:46 -!- KingOfKarlsruhe has joined.
15:49:49 <AnMaster> so I don't know what is best for it
15:49:55 <AnMaster> when it comes to -march
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:31 <AnMaster> which is 4.2.1 iirc
15:50:33 <ehird> why would you use llvm with gcc
15:50:34 <ehird> instead of clang
15:50:41 <AnMaster> ehird, because clang isn't ready yet
15:50:50 <ehird> nor is llvm :P
15:50:53 <AnMaster> it fails with "can't codegen this thing yet" when building cfunge
15:50:54 <AnMaster> for example
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:29 <ehird> er what
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:44 <AnMaster> ah right
15:51:46 <ehird> I don't think it will ever be useful for building functional languages, for instance
15:51:46 <AnMaster> that is true
15:51:54 <AnMaster> ocaml-llvm
15:51:59 <AnMaster> pretty sure I read about it
15:52:13 <ehird> I want my damn functional CPU
15:52:22 <AnMaster> ehird, single assignment?
15:52:24 <ais523> so do I, but I have no idea how to make one
15:52:28 <ehird> AnMaster: Yes!
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:14 * ehird downloads gcc
15:54:17 <ehird> 56MB? It's grown.
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:05 <AnMaster> at least it was on a pentium3
15:55:07 <AnMaster> I tried with
15:55:28 <AnMaster> ehird, as you will notice it says -march=k8, which means amd64
15:55:38 <AnMaster> as in AMD's product
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:19 <AnMaster> ehird, good luck with that
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:12 <ehird> ais523: NO :-P
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:28 <ehird> jesus christ.
15:58:37 <AnMaster> ehird, it is like --enable-lang=c
15:58:38 <ehird> why not just hardcode the output
15:58:39 <AnMaster> or such
15:58:40 <ais523> --enable-languages=c)
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:13 <AnMaster> don't everyone have those?
15:59:21 <ehird> AnMaster: i think those versions are super-recent
15:59:31 <AnMaster> ehird, what gcc version?
15:59:34 <AnMaster> 4.3.2?
15:59:38 <ehird> yeah.
15:59:44 <ehird> gmp @4.2.4 (devel, math)
15:59:45 -!- Corun has quit ("This computer has gone to sleep").
15:59:46 <ehird> ok, I have gmp
15:59:49 <AnMaster> what I have on my arch linux
15:59:55 <ehird> guess I'll just try pointing it to /opt/local/{include,lib}
16:00:09 <AnMaster> gcc 4.3.2 and glibc 2.9
16:00:16 -!- metazilla has joined.
16:00:18 <AnMaster> oh and kernel 2.6.28
16:00:29 -!- moozilla has quit (Read error: 104 (Connection reset by peer)).
16:00:29 -!- metazilla has changed nick to moozilla.
16:00:30 -!- moozilla has quit (Nick collision from services.).
16:00:38 <AnMaster> ...
16:00:53 -!- moozilla has joined.
16:01:19 <ehird> oh jeez
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:01:59 <ais523> either
16:02:04 <AnMaster> if !gmp_ok() || !mpfr_ok()
16:02:06 <AnMaster> error out;
16:02:07 <ais523> the decompiled version is bad enough
16:02:10 <AnMaster> (pseudo code)
16:02:18 <ehird> yes, no shit :P
16:02:41 <ehird> i just looked at gcc's configure
16:02:42 <ehird> and puked
16:02:51 <AnMaster> welll
16:02:53 <AnMaster> well*
16:02:58 -!- moozilla has quit (Read error: 104 (Connection reset by peer)).
16:03:01 <AnMaster> any compiled configure
16:03:02 -!- moozilla has joined.
16:03:03 <AnMaster> is crap
16:03:10 <AnMaster> moozilla, please fix your connection.............
16:03:28 <ehird> AnMaster: shut up
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:13 <AnMaster> 2523 configure.in
16:04:15 <AnMaster> wtf?
16:04:22 <AnMaster> ok
16:04:23 <AnMaster> real wtf
16:04:31 <AnMaster> ### WARNING: this file contains embedded tabs. Do not run untabify on this file.
16:04:32 <AnMaster> err
16:04:33 <AnMaster> wtf
16:04:41 <ehird> for testing things
16:04:42 <ehird> i assume
16:04:45 <AnMaster> ahy
16:04:47 <AnMaster> ah*
16:05:18 <AnMaster> *-*-linux* | *-*-gnu* | *-*-k*bsd*-gnu)
16:05:18 <AnMaster> ;;
16:05:18 <AnMaster> *-*-netbsd* | *-*-freebsd* | *-*-openbsd*)
16:05:18 <AnMaster> ;;
16:05:18 <ehird> http://rafb.net/p/Sf0HFX18.html Pipe to /dev/dsp
16:05:19 <AnMaster> err
16:05:23 <AnMaster> why is it doing stuff like that
16:05:30 <AnMaster> I thought that was what configure.sub did?
16:05:39 <AnMaster> config.sub*
16:05:59 <AnMaster> ehird, what?
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:25 <ehird> ha, no
16:06:35 <AnMaster> "CWG[Cgcg[eYcb^bV^eW^be^bVecb^" <-- encoded notes?
16:06:39 <ehird> beats me
16:06:52 <AnMaster> ehird, what does it do then?
16:07:02 <ehird> try it
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:20 <AnMaster> well
16:07:26 <AnMaster> that main signature isn't valid
16:07:33 <ehird> who cares, it compils
16:07:34 <ehird> and runs
16:08:45 <AnMaster> ehird, what is that music?
16:08:53 <ehird> made for the program, I assume
16:08:56 <AnMaster> ah
16:09:01 <ehird> the link points to a demoscene group
16:09:18 <AnMaster> ehird, where did you find this?
16:09:29 <ehird> reddit comments
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:53 <AnMaster> strange
16:14:56 <AnMaster> it used to be better
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:15:12 <AnMaster> in our own ways
16:17:16 -!- metazilla has joined.
16:17:25 -!- moozilla has quit (Nick collision from services.).
16:17:27 -!- metazilla has changed nick to moozilla.
16:17:51 <AnMaster> ehird, I love the last xkcd
16:17:53 <AnMaster> have you read it?
16:18:09 * ehird looks. Ha.
16:18:35 -!- sebbu2 has joined.
16:18:50 -!- oerjan has joined.
16:19:38 <AnMaster> ehird, also irregular webcomic has gone insane recently
16:19:43 <AnMaster> just pure insane
16:19:44 <ehird> O?
16:19:48 <AnMaster> not even funny any more
16:20:01 -!- metazilla has joined.
16:20:04 <AnMaster> yes sure, the first few of these were funny
16:20:05 <ehird> Insane is funny.
16:20:08 -!- moozilla has quit (Nick collision from services.).
16:20:09 <ehird> http://www.irregularwebcomic.net/
16:20:09 <ehird> okay
16:20:10 <ehird> What
16:20:12 <ehird> is
16:20:12 -!- metazilla has changed nick to moozilla.
16:20:14 <ehird> that
16:20:18 <AnMaster> ehird, red
16:20:18 <ehird> AnMaster: link me to the start of whatever the fuck this is
16:20:24 <ehird> plz
16:20:30 <oerjan> :D
16:20:37 <ehird> oerjan: or you
16:20:40 <ehird> I MUST SEE
16:20:55 <ehird> HELLOOOOOOOOO
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:31 <ehird> ahahaha
16:21:33 <ehird> this is great
16:21:38 <AnMaster> ehird, really?
16:21:41 <ehird> okay now we're BLUE OR RED
16:21:42 <ehird> KIND OF THING
16:21:44 <AnMaster> sure the first few one
16:21:51 <ehird> WHOA RED
16:21:56 <ehird> and and and and and and and
16:22:00 <ehird> MORE SOLID RED
16:22:06 <ehird> yow
16:22:07 <oerjan> ehird: it may make _slightly_ more sense if you look at 2166 too
16:22:07 <ehird> it's total red
16:22:19 <ehird> oerjan: i'll do that
16:22:38 <ehird> Ah.
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:05 <ehird> I BET IT IS.
16:23:06 <AnMaster> indeed
16:23:13 <AnMaster> ehird, someone suggested it was rebooting
16:23:19 <AnMaster> also notice the cross over list
16:23:23 <ehird> i know
16:23:23 <ehird> XD
16:23:25 <AnMaster> it excludes 2 of the comics
16:23:27 <AnMaster> someone said
16:23:28 <ehird> oh
16:23:28 <ehird> which ones
16:23:36 <AnMaster> ehird, spy theme and super hero theme
16:23:45 <oerjan> every theme except Espionage, Supers and Miscellaneous
16:23:50 <AnMaster> Miscellaneous too?
16:23:54 <AnMaster> huh
16:24:03 <ehird> I bet the first comic after these is http://www.irregularwebcomic.net/1.html
16:24:30 <AnMaster> ehird, I certainly hope not
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:27 <ehird> or remade
16:25:32 <ehird> with new photos
16:25:32 <AnMaster> heh
16:25:37 <oerjan> Calvin and Hobbes, at 3 thousand something
16:25:53 <AnMaster> oerjan, well last irregular is 2173
16:25:56 <AnMaster> currently
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:26 <oerjan> 2165
16:31:40 <oerjan> that was one of the time paradox setups
16:31:56 <ehird> ha
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:16 <oerjan> never earlier i think
16:33:17 <AnMaster> iirc it changed somewhere near the beginning
16:33:22 <AnMaster> oerjan, hm ok
16:33:28 <oerjan> and it has been on 96 for some time
16:33:34 <AnMaster> yes maybe
16:33:36 <oerjan> the last one was 2096
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:34:19 <AnMaster> due to scheduling issues
16:34:22 <AnMaster> it was quite early
16:35:30 <AnMaster> hm
16:35:33 <AnMaster> I checked the misc theme
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:27 <AnMaster> ehird, maybe
16:36:33 <ehird> and then it stays like that for like 10 comics
16:36:38 <ehird> and then, something
16:36:48 <AnMaster> ehird, well, time will tell
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:19 <ehird> oerjan: ha
16:37:22 <ehird> you've figured it out.
16:38:21 <AnMaster> what
16:38:22 <AnMaster> like
16:38:30 <AnMaster> "don't make a hobbit of destroying the world"?
16:38:34 <ehird> ...
16:38:35 <ehird> Oh lord.
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:38:54 <AnMaster> ehird, yes it was bad
16:38:56 <ehird> --2170
16:39:02 <AnMaster> ehird, well true
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:24 <AnMaster> oerjan, ?
16:39:28 -!- moozilla has joined.
16:39:58 <oerjan> the last fantasy strip
16:40:26 <AnMaster> no idea
16:40:31 <AnMaster> check theme index?
16:41:07 <oerjan> gah IWC is slow
16:42:17 <oerjan> oh 2152, there was no obvious paradox for that theme
16:42:47 <AnMaster> oh wait
16:42:50 <ehird> gcc compile is slowwwwwww
16:42:51 <AnMaster> does this mean
16:43:15 <AnMaster> fantasy theme explosion and space explosion
16:43:20 <AnMaster> or fantasy bright light
16:43:25 <AnMaster> or such
16:43:32 <oerjan> except they _have_ gone back in time, of course
16:43:39 <AnMaster> oerjan, oh yes true
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:07 <AnMaster> bbl
16:48:14 <ehird> I wonder if ais523 is still awake.
16:48:20 <ais523> yes
16:48:23 <ais523> more or less
16:48:26 <ais523> just not concious
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:28 <ais523> it was on eso-std.org
16:49:34 <ehird> ais523: where is it now :
16:49:35 <ehird> :D
16:49:42 <ais523> in a tarball from intercal.freeshell.org
16:49:50 <ehird> how can I unpack tarballs
16:49:57 <ais523> tar xzvf
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:25 <ehird> what is a os x
16:50:35 <ais523> ehird: stop trolling
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:52:59 <oerjan> yes. yes it is.
16:55:38 <AnMaster> wtf
16:55:42 <AnMaster> W T F
16:55:49 <AnMaster> screen saver is supposed to blank screen
16:55:51 <AnMaster> black
16:55:58 <AnMaster> this time it didn't
16:56:03 <AnMaster> it just showed password dialog
16:56:07 <AnMaster> without blanking it
16:57:32 <AnMaster> oerjan, I think it is time for the frying pan
16:57:33 <AnMaster> ...
16:57:47 <oerjan> for whom?
16:57:58 <oerjan> your screen saver?
16:58:08 <AnMaster> oerjan, ehird
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:58:52 <AnMaster> oerjan, I agree there
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:32 <ehird> du du du du du
17:00:36 <ehird> du du du du du du.
17:00:47 <oerjan> eg eg eg eg eg
17:00:52 <oerjan> eg eg eg eg eg eg.
17:00:57 <Badger> du -h
17:01:02 <AnMaster> 82 /bin/du
17:01:08 <Badger> man
17:01:11 <Badger> that was fast
17:01:12 <ehird> ed
17:01:20 -!- metazilla has joined.
17:01:21 <AnMaster> ?
17:01:25 <oerjan> cat
17:01:29 <Badger> meow
17:01:29 -!- moozilla has quit (Nick collision from services.).
17:01:30 <AnMaster> ?
17:01:31 <AnMaster> ?
17:01:31 -!- metazilla has changed nick to moozilla.
17:01:33 <ehird> 40 /usr/bin/du
17:01:33 <ehird> I win
17:01:33 <Badger> !
17:01:34 <Badger> !
17:01:35 <Badger> !
17:01:41 <ehird> ((how is du that small))
17:01:57 <AnMaster> ehird, err
17:01:57 <ehird> oh
17:01:59 <ehird> that's kilobytes
17:02:00 <AnMaster> freebsd win
17:02:01 <ehird> yikes
17:02:03 <AnMaster> $ du /usr/bin/du
17:02:04 <AnMaster> 8 /usr/bin/du
17:02:04 <Badger> $ du -h /usr/bin/du
17:02:04 <Badger> 12.0K /usr/bin/du
17:02:05 <AnMaster> :P
17:02:15 <AnMaster> $ du -h /usr/bin/du
17:02:16 <AnMaster> 8.0K /usr/bin/du
17:02:21 <Badger> heh
17:02:26 <AnMaster> the GNU one us 82 KB
17:02:27 <AnMaster> btw
17:02:33 <Badger> damn gnu
17:02:36 <AnMaster> wtf is in it
17:02:42 <Badger> :/
17:02:58 <Badger> openbsd's is bigger than free :P
17:03:11 <Badger> more secure!
17:03:17 <Badger> 3kb of security
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:51 <Badger> heh
17:03:56 <ehird> gnu ca is hilarious
17:03:58 <ehird> *cat
17:04:07 <AnMaster> 56 KB?
17:04:20 <AnMaster> freebsd one is 10 KB
17:04:22 <Badger> $ du /bin/cat
17:04:22 <Badger> 208 /bin/cat
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:44 <AnMaster> oerjan, oh?
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:06:55 <ehird> % du -h /bin/cat
17:06:56 <ehird> 36K /bin/cat
17:06:58 <ehird> fucking what
17:07:07 <Badger> lols
17:07:07 <AnMaster> ehird, that is still less than GNU cat
17:07:08 <oerjan> hm
17:07:24 <Badger> $ du -h /bin/cat
17:07:24 <Badger> 104K /bin/cat
17:07:26 <Badger> :>
17:07:47 <oerjan> but still the optional parts are just text
17:08:08 <oerjan> shouldn't be that different
17:08:29 <Badger> oh, idea
17:08:30 <Badger> 5.4M /bin
17:08:36 <Badger> AnMaster? :P
17:08:40 <Badger> ehird?
17:08:50 <AnMaster> fbsd ~ $ du -h /bin
17:08:51 <AnMaster> 1.2M /bin
17:08:57 <Badger> :D
17:09:09 <AnMaster> Badger, note that is using /usr/bin/du
17:09:16 <AnMaster> du isn't in /bin on freebsd
17:09:24 <Badger> nor on openbsd
17:09:33 <AnMaster> so this isn't a fair comparison for my linux system
17:09:37 <AnMaster> that even has bash in /bin
17:09:39 <AnMaster> $ du -sh /bin
17:09:40 <AnMaster> 9,7M /bin
17:09:44 <AnMaster> also
17:09:47 <ais523> $ du -h /bin
17:09:48 <ais523> 6.7M/bin
17:09:49 <ehird> 6.6M /bin
17:09:54 <AnMaster> that linux system is 64bit
17:09:58 <ehird> 140M /usr/bin
17:10:02 <AnMaster> while the freebsd system is 32bit
17:10:15 <Badger> ha
17:10:15 <Badger> 23.5M /usr/bin
17:10:22 <AnMaster> ehird, hey OS X installs all their stuff outside /usr/bin
17:10:25 * ehird tries /opt/local
17:10:31 <AnMaster> $ du -sh /usr/bin
17:10:31 <AnMaster> 29M /usr/bin
17:10:32 <ehird> AnMaster: i'm talking about unix tools here.
17:10:33 <AnMaster> on freebsd
17:10:48 <AnMaster> ehird, well on my system X and what not are in /usr/bin
17:10:54 <AnMaster> my linux system that is
17:11:03 * ehird is trying /opt/local
17:11:04 <ehird> (macports)
17:11:05 <AnMaster> ehird, so that is impossible to compare
17:11:11 <ehird> probably like 5000000000G
17:11:12 <Badger> o_O
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:11:31 <AnMaster> Badger, kernel?
17:11:34 <Badger> o
17:11:34 <AnMaster> boot loader?
17:11:46 <ehird> o[pen]bsd
17:11:52 <AnMaster> ehird, well yes
17:11:55 <AnMaster> but what for open bsd
17:11:56 <Badger> I meant, oh
17:11:58 <ehird> kernel
17:12:00 <ehird> like vmlinux :P
17:12:01 <AnMaster> hm
17:12:05 <Badger> kernel wouldn't be that type
17:12:07 <Badger> would it?
17:12:09 <AnMaster> that is /boot/kernel/kernel or so here
17:12:11 <AnMaster> on freebsd
17:12:19 <ehird> Badger: % file /obsd
17:12:33 <AnMaster> $ du -sh /boot/kernel/kernel
17:12:33 <AnMaster> 5.6M /boot/kernel/kernel
17:12:39 <AnMaster> ehird, he ran that above
17:12:41 <ais523> 128M/boot
17:12:56 <AnMaster> ais523, unfair for me, I have several kernels in /boot
17:12:58 <AnMaster> some outdated
17:12:59 <AnMaster> and such
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:16 <AnMaster> on my fbsd
17:13:20 <Badger> heh
17:13:21 <ais523> I have to delete the old backups to be able to upgrade my OS
17:13:22 <ehird> 6.4G /opt/local
17:13:23 <Badger> obsd has /boot
17:13:24 <ehird> it completed!
17:13:24 <AnMaster> hey
17:13:30 <AnMaster> 9,6M /boot <-- my gentoo linux
17:13:31 <Badger> $ file /boot
17:13:31 <Badger> /boot: ELF 32-bit LSB executable, Intel 80386, version 1, statically linked, stripped
17:13:31 <ehird> 6.4GB :D
17:13:32 <AnMaster> :D
17:13:34 <AnMaster> :PPPPPPPPP
17:13:49 <AnMaster> Badger, well on obsd it is the boot loader
17:13:53 <AnMaster> elsewhere it is a directory
17:13:57 <Badger> mmm
17:14:00 <Badger> guess so
17:14:04 <Badger> so obsd must be the kernel
17:14:07 <Badger> hah
17:14:32 <AnMaster> Badger, check docs?
17:14:42 <Badger> oh weird
17:14:42 <AnMaster> *bsd have good man pages usually
17:15:01 <AnMaster> Badger, what is weird?
17:15:14 <Badger> I sshed to another box
17:15:15 <Badger> linux
17:15:19 <AnMaster> yes and?
17:15:20 <Badger> and um
17:15:25 <Badger> /boot is empty
17:15:28 <Badger> but I can cd to it
17:15:31 <AnMaster> Badger, maybe not mounted
17:15:37 <AnMaster> I don't auto-mount my /boot
17:15:40 <Badger> ah
17:15:50 <AnMaster> standard practise on linux
17:16:34 <ehird> gcc still compiles
17:16:41 <AnMaster> ehird, it takes ages yes
17:16:47 <AnMaster> you know it will likely boot strap itself
17:16:50 <AnMaster> 3 stages
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:22 <ehird> up to that
17:17:37 <AnMaster> ehird, looks like it is compiling the third stage using the second one
17:17:52 <AnMaster> ehird, also that looks fucked
17:17:56 <ehird> fucked, why?
17:18:07 <ehird> I'm not going to make install this btw
17:18:09 <ehird> just make
17:18:10 <AnMaster> are you building a -m64 with "host-i386-apple-darwin8.11.1"
17:18:11 <AnMaster> ?
17:18:12 <ehird> and use it from there
17:18:14 <ehird> AnMaster: er
17:18:16 <ehird> not -m64
17:18:20 <AnMaster> yes
17:18:22 <AnMaster> look below
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:31 <AnMaster> well true
17:18:35 <ehird> Woo
17:18:35 <AnMaster> ehird, also it needs to be installed
17:18:37 <ehird> gcc compiled
17:18:39 <ehird> AnMaster: does it?
17:18:39 <AnMaster> I assume you used --prefix
17:18:44 <ehird> no.
17:18:45 <AnMaster> ehird, afaik yes
17:18:47 <AnMaster> maybe wrong
17:18:48 <ehird> I was just planning on using it as it is here.
17:18:54 <ais523> it works as-is
17:18:58 <AnMaster> ais523, really?
17:18:59 <AnMaster> huh
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:19:45 <AnMaster> ehird, even in support files?
17:19:47 <AnMaster> err
17:19:48 <AnMaster> ais523, ^
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:28 <ehird> xgcc (GCC) 4.3.2
17:20:48 <ehird> okay
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:42 <AnMaster> also
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:21:54 <AnMaster> or it breaks
17:22:12 * ehird uses ccmake
17:22:18 <ehird> for the config gui :P
17:22:18 <AnMaster> ehird, same for ccmake
17:22:23 <AnMaster> you must set it in the env
17:22:24 <AnMaster> before
17:22:27 <AnMaster> or it won't work
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:44 <AnMaster> ais523, indeed
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:22:53 <AnMaster> ehird, sure
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:40 <AnMaster> ehird, no clue
17:23:50 <AnMaster> I only installed it through my package manager
17:23:54 <AnMaster> never tried any other way
17:23:59 <ehird> err
17:24:01 <ehird> i mean cfunge
17:24:06 <AnMaster> ah cfunge, no need
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:46 <ehird> balrgh
17:24:56 <ehird> ld: can't locate file for: -lgcc
17:24:56 <ehird> x.x
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:01 <AnMaster> good!
17:25:01 <ehird> or whatever
17:25:06 <AnMaster> ehird, yes probably
17:25:42 <AnMaster> ehird, also I assume you enabled multilib when compiling? otherwise you won't have any 64-bit libgcc
17:25:44 <AnMaster> :P
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:31 <ehird> Am I safe?
17:26:35 <AnMaster> ehird, maybe
17:26:39 <ehird> (in ~/gcc-4.3.2/host-i386-apple-darwin8.11.1/gcc)
17:26:40 <AnMaster> I don't know for dylib
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:26:56 <ehird> That's ok.
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:15 <ehird> Butts
17:27:18 <ehird> ld: can't locate file for: -lgcc
17:27:19 <ehird> fsdfsdf
17:27:22 <ehird> guess I need to symlink
17:27:38 <ehird> aha
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:27:57 <ehird> groan
17:28:02 <ehird> Woo
17:28:04 <ehird> It configuring
17:28:16 <Badger> why osx?
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:34 <ehird> 2.4.6.
17:28:34 <Badger> heh
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:07 <AnMaster> also this depends on version
17:29:12 <AnMaster> NCRS isn't in last release
17:29:12 <ehird> bzr top
17:29:17 <AnMaster> ah well
17:29:21 <AnMaster> then you have NCRS
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:45 <AnMaster> just install last cmake
17:29:51 <AnMaster> can't be hard to upgrade
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:05 <AnMaster> to upgrade a package
17:30:16 <AnMaster> making my package manager upgrade
17:30:22 <ehird> yes, yes
17:30:23 <AnMaster> isn't it as easy on OS X?
17:30:25 <ehird> % sudo port upgrade cmake
17:30:28 <ehird> stop trolling :P
17:30:33 <AnMaster> ehird, ok sorry
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:07 <AnMaster> which would be bad
17:31:28 <AnMaster> ehird, also don't you upgrade weekly btw?
17:31:30 <AnMaster> all ports
17:31:38 <ehird> no
17:31:41 <AnMaster> huh
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:22 <AnMaster> so I upgraded
17:32:30 -!- sebbu2 has quit ("@+").
17:32:33 <AnMaster> and yes cmake sucks, but the alternatives suck more
17:32:34 <AnMaster> :(
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:12 <ehird> programs
17:33:16 <AnMaster> well
17:33:22 <AnMaster> specialized ones work well usually
17:33:26 <AnMaster> like the emake for erlang
17:33:33 <ehird> rake isn't for making ruby.
17:33:36 <AnMaster> oh?
17:33:39 <ehird> rake is a generic build tool written in ruby
17:33:41 <AnMaster> aha
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:09 <ehird> AnMaster: no
17:34:09 <AnMaster> ehird, or use plain make?
17:34:13 <ehird> you'd have to duplicate it for every item
17:34:13 <ehird> but
17:34:21 <ehird> Dir['src/*.c'].each do |src|
17:34:29 <ehird> file blah => [src] do
17:34:29 <ehird> ...
17:34:30 <AnMaster> err
17:34:31 <ehird> end
17:34:32 <ehird> end
17:34:33 <AnMaster> I can't read that?
17:34:37 <ehird> AnMaster: basically
17:34:37 <AnMaster> as in what does it do
17:34:41 <ehird> glob src/*.c
17:34:43 <ehird> then make a file target for each
17:34:44 <AnMaster> right
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:06 <AnMaster> )
17:35:09 <AnMaster> well it is longer
17:35:13 <AnMaster> since I list more
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:35:46 <AnMaster> apart from GLOB
17:35:47 <AnMaster> in cmake
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:08 <AnMaster> I meant BUILD SYSTEM
17:36:09 <AnMaster> of course
17:36:30 <AnMaster> wait
17:36:32 <AnMaster> that would rock
17:36:35 <AnMaster> SQLbuild
17:36:47 <ehird> pattern %{build/\1.o} => [%r{src/(.+).c}] do
17:36:48 <ehird> ...
17:36:49 <ehird> end
17:37:04 <AnMaster> SELECT * FROM src LIKE '~.c' INTO SOURCEFILES;
17:37:05 <AnMaster> :D
17:37:09 <ehird> ugh
17:37:13 <AnMaster> ehird, yes horrible
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:37:47 <AnMaster> ehird, it is C++
17:37:51 <AnMaster> what did you expect?
17:37:52 <ehird> lol
17:37:52 <oerjan> SYNTAX QUITE LOUD
17:38:02 -!- metazilla has joined.
17:38:07 <AnMaster> OERJAN, YES INDEED
17:38:10 -!- moozilla has quit (Nick collision from services.).
17:38:14 -!- metazilla has changed nick to moozilla.
17:38:22 <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:48 <oerjan> O_o
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:42:32 <AnMaster> ah right
17:42:57 <AnMaster> right that makes sense
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:44:13 <AnMaster> on anyone inside
17:44:29 <AnMaster> s/ would/, it would/
17:45:17 -!- sebbu has joined.
17:45:24 <oerjan> yes but not worse than currently
17:45:30 <AnMaster> wow
17:45:43 <AnMaster> mezacotta breaks when you zoom the page
17:45:49 <AnMaster> the comic get scrollbars
17:54:52 -!- metazilla has joined.
17:55:00 -!- moozilla has quit (Nick collision from services.).
17:55:04 -!- metazilla has changed nick to moozilla.
17:57:26 -!- metazilla has joined.
17:57:26 -!- moozilla has quit (Read error: 104 (Connection reset by peer)).
17:57:33 -!- metazilla has changed nick to moozilla.
17:58:06 <oerjan> i never metazilla that would stay
17:58:27 <AnMaster> hah
17:59:48 <AnMaster> ehird, progress?
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:01:57 <ehird> cmake compiled
18:03:01 <ehird> now to try again
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:22 <ehird> yay it configures
18:03:27 <ehird> AnMaster: where do i set cflags in ccmake
18:03:31 <ehird> ah t
18:03:36 <ehird> CMAKE_C_FLAGS
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:16 <AnMaster> hm
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:04:51 <AnMaster> can you find it?
18:04:55 <ehird> yep
18:04:57 <ehird> make it RELEASE?
18:05:00 <AnMaster> Release
18:05:09 <AnMaster> case doesn't matter though
18:05:14 <ehird> paste your cflags?
18:05:23 <AnMaster> I suggested for your system:
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:32 <AnMaster> just above the key help info
18:06:37 <AnMaster> a white bar on your black console
18:06:42 <ehird> CMAKE_OSX_ARCHITECTURES: Build architectures for OSX
18:06:50 <ehird> ahh
18:06:53 <AnMaster> ehird, well that doesn't help me decide what it does
18:06:54 <ehird> it's i386 vs ppc
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:26 <AnMaster> I don't know for OS X
18:07:26 <ehird> ill ask #cmake
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:07:56 <ehird> USE_GC OFF
18:07:59 <ehird> should taht be on
18:08:01 <AnMaster> ehird, keep it off
18:08:03 <AnMaster> faster
18:08:04 <AnMaster> :P
18:08:05 <ehird> ok
18:08:06 <ehird> but
18:08:09 <ehird> AnMaster: leaks memory?
18:08:14 <AnMaster> ehird, valgrind clean
18:08:21 <ehird> k
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:25 <ehird> x86_64 seems ok
18:11:28 * ehird puts it in
18:11:38 <ehird> ok lets try this
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:46 <AnMaster> c
18:11:47 <ehird> Press [t] to toggle advanced mode (Currently On)
18:11:49 <ehird> what now :|
18:11:51 <AnMaster> c
18:11:53 <AnMaster> then g
18:11:56 <ehird> puts me back to the same screen
18:11:59 <AnMaster> yes
18:12:01 <AnMaster> but with g option
18:12:04 <AnMaster> I bet?
18:12:05 <ehird> CURSES_EXTRA_LIBRARY CURSES_EXTRA_LIBRARY-NOTFOUND
18:12:05 <ehird> ?
18:12:08 <AnMaster> ok
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:23 <AnMaster> ok on os x
18:12:30 <AnMaster> the needed function is in libc on *bsd
18:12:34 <AnMaster> so I assume the same on os x
18:12:36 <ehird> ok did g
18:12:37 <ehird> it exited
18:12:38 <ehird> now just make?
18:12:39 <AnMaster> make
18:12:40 <AnMaster> then
18:12:41 <AnMaster> yep
18:12:47 <ehird> xgcc: error trying to exec 'cc1': execvp: No such file or directory
18:12:49 <AnMaster> err "yep" was NOT a command
18:12:49 <ehird> need the PATH again
18:12:49 <ehird> :P
18:12:53 <AnMaster> ehird, probably yes
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:02 <ehird> user
18:13:05 <AnMaster> looks horrible
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:17 <AnMaster> wtf
18:13:18 <ehird> butts
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:29 <AnMaster> err
18:13:32 <AnMaster> yes I do
18:13:35 <AnMaster> it is -march not -arch
18:13:43 <ehird> ha ha ha well that's your fault the
18:13:43 <ehird> n
18:13:51 <ehird> er
18:13:52 <AnMaster> ehird, and -frename-registers
18:13:53 <ehird> I have no march
18:13:56 <AnMaster> <AnMaster> <AnMaster> ehird, I recommend CFLAGS="-march=core2 -pipe -O3 -ftracer -frename-register -fweb" for you
18:14:00 <AnMaster> 1) march
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:08 <ehird> by xgcc
18:14:19 <AnMaster> ehird, don't know
18:14:21 <ehird> it doesnt recognize -arch because it was only compiled for 64 bit?
18:14:22 <ehird> maybe?
18:14:26 <ehird> gimme your 64 bit test program again
18:14:27 <ehird> plz
18:14:31 <AnMaster> a sec
18:14:51 -!- moozilla has quit (Read error: 54 (Connection reset by peer)).
18:15:00 <AnMaster> out of scrollback
18:15:02 -!- moozilla has joined.
18:15:04 * AnMaster checks log
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:00 <Deewiant> the return 0 is redundant
18:16:02 <ehird> % ./a.out
18:16:02 <ehird> 4
18:16:03 <Deewiant> (btw)
18:16:07 <AnMaster> Deewiant, no?
18:16:08 <ehird> I hate my life.
18:16:10 <Deewiant> AnMaster: yes.
18:16:15 <AnMaster> Deewiant, why?
18:16:18 <Deewiant> AnMaster: C99.
18:16:25 <AnMaster> Deewiant, really?
18:16:28 <Deewiant> AnMaster: yes.
18:16:40 <AnMaster> Deewiant, paragraph?
18:16:42 <oerjan> YOU LIED TO ME
18:16:43 <ehird> so, AnMaster
18:16:46 <Deewiant> AnMaster: beats me. :-P
18:16:48 <ehird> do i have to recompile gcc
18:16:49 <ehird> if you say yes
18:16:51 <ehird> I will kill you
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 <AnMaster> ah
18:17:21 <ehird> I need multilib don't i
18:17:22 <ehird> ahahahahah
18:17:25 <AnMaster> no multilib
18:17:27 <AnMaster> indeed
18:17:38 <ehird> ahahahahah
18:17:39 <Deewiant> what's going on?
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:17:54 <ehird> and it took hours
18:17:57 <Deewiant> how wrong
18:18:03 <AnMaster> Deewiant, I think ehird got a mental shock
18:18:03 <ehird> no multilib
18:18:07 <AnMaster> decipher, no 64-bit libgcc
18:18:09 <AnMaster> err
18:18:10 <AnMaster> Deewiant, ^
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:17 <ehird> and kill him
18:18:20 <AnMaster> ehird, why?
18:18:20 <ehird> ->
18:18:25 <AnMaster> you should have read the docs
18:18:28 <AnMaster> ;P
18:18:31 <ehird> AnMaster: if cfunge didn't exist this wouldn't have happened
18:18:31 <ehird> now ->
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:43 <ehird> ->
18:18:47 <AnMaster> Deewiant, he has 64-bit OS X with 32-bit userland
18:18:56 <Deewiant> right
18:18:56 <AnMaster> system gcc is multilib
18:19:00 <Deewiant> ew
18:19:02 <AnMaster> but he wanted last
18:19:04 <Deewiant> just set up a chroot
18:19:08 <AnMaster> Deewiant, on OS X?
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:21 <AnMaster> yes
18:19:28 <Deewiant> But I'd assume it can chroot
18:19:31 <AnMaster> but where would you get a system to run in the chroot?
18:19:35 <ehird> umm
18:19:37 <AnMaster> you can't just download a linux distro
18:19:38 <ehird> /
18:19:42 <ehird> copy shit in
18:19:42 <ehird> :P
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 <ehird> _say_ _yes_
18:19:53 <AnMaster> ehird, wouldn't it be rather pointless to copy same old gcc in it?
18:19:59 <AnMaster> ehird, I don't know
18:20:04 <ehird> The answer is yes
18:20:07 <ehird> now tell me how :P
18:20:12 <AnMaster> ehird, I said I don't know
18:20:14 <ehird> dammit
18:20:17 * ehird make clean
18:20:22 * ehird make suicide
18:20:23 <AnMaster> well
18:20:29 <AnMaster> I don't know know OS X well
18:20:29 <AnMaster> but
18:20:31 <ehird> GOOD BYE GCC
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:20 <AnMaster> that sounds correct
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:34 <ehird> will that work
18:21:34 <AnMaster> ehird, err
18:21:36 <AnMaster> wait
18:21:37 <ehird> if you say yes and it doesn't
18:21:38 <AnMaster> what about host?
18:21:38 <ehird> be prepared to die
18:21:42 <ehird> ah.
18:21:44 <ehird> good point.
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> ehird,
18:22:20 <AnMaster> arvid@tux /mnt/phoenix/llvm/llvm-gcc $ ./config.guess
18:22:20 <AnMaster> x86_64-unknown-linux-gnu
18:22:36 <AnMaster> find the config.guess file
18:22:37 <ehird> i386-apple-darwin8.11.1
18:22:39 <AnMaster> see what it thinks
18:22:44 <ehird> ok, so I s/i386/x86_64/.
18:22:51 <AnMaster> ehird, unknown if that works
18:22:53 <AnMaster> it may not
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:20 <AnMaster> ehird, um maybe or maybe not
18:23:28 <AnMaster> it could result in a cross compiled build
18:23:31 <AnMaster> or a cross compiler
18:23:37 <ehird> well host is for cross compiling
18:23:40 <AnMaster> ehird, ais knows this better
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:52 <ehird> GO
18:23:58 <AnMaster> ehird, that would probably mean it look for the host gcc
18:24:01 <AnMaster> with that name
18:24:02 <AnMaster> not sure
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:05 <ehird> aha
18:24:07 <ehird> ahahahaha
18:24:09 <ehird> ha
18:24:11 <AnMaster> huh
18:24:17 <ehird> a
18:24:18 <AnMaster> that's odd
18:24:18 <ehird> ahahaha
18:24:19 <ehird> ha
18:24:21 <AnMaster> wrong path?
18:24:40 <AnMaster> ehird, also you should build gcc out of tree
18:24:46 <AnMaster> the gcc devs say so
18:24:53 <AnMaster> and not in a subdir
18:25:03 <ehird> ha. ha. ha
18:25:19 <AnMaster> ehird, well gcc devs say everything else is unsupported iirc
18:25:22 <ehird> i want to die :D
18:25:23 <AnMaster> just a friendly warning
18:25:26 <ehird> mpfr @2.3.2_0+darwin_i386 (active)
18:25:28 <ehird> ok i have that
18:25:34 <AnMaster> well
18:25:43 <ehird> this worked last time
18:25:45 <AnMaster> ehird, I would try skipping host
18:25:51 <AnMaster> err --build
18:25:53 <AnMaster> and those
18:25:59 <ehird> ahh
18:26:00 <ehird> Variants: darwin_i386, darwin_x86
18:26:01 <AnMaster> multilib should mean both work
18:26:01 <ehird> I need x86
18:26:01 <AnMaster> and
18:26:03 <ehird> instead of i386
18:26:05 <ehird> in macports
18:26:10 <AnMaster> not setting cflags
18:26:14 <ehird> % sudo port uninstall mpfr; sudo port install mpfr +darwin_x86
18:26:24 <AnMaster> ehird, multilib variant?
18:26:31 <ehird> thikn so
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:04 <ehird> lol
18:27:07 <ehird> yes
18:27:13 <ehird> this is so not worth cfunge
18:27:17 <ehird> i bet i'm gaining like
18:27:19 <ehird> 1ms speed
18:27:20 <ehird> for being 64 bit
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:35 <ehird> btw
18:27:40 <ehird> 64 bit is faster with cfunge
18:27:41 <ehird> right
18:27:45 <AnMaster> ehird, a bit in fact
18:27:54 <AnMaster> due to more registers and better calling convention
18:27:55 <ehird> oh jesus
18:27:56 <AnMaster> mainly
18:27:56 <ehird> AnMaster:
18:28:02 <AnMaster> ehird, yes?
18:28:02 <ehird> please resume complaining to metazilla
18:28:04 <ehird> /moozilla
18:28:09 <ehird> i just switched to #reddit
18:28:14 <AnMaster> ehird, what?
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:25 <AnMaster> oerjan, agreed
18:28:32 <AnMaster> oerjan, for linux this would be easy always
18:28:35 <ehird> x_x
18:28:37 <AnMaster> on gentoo you just do
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:16 <oerjan> </h2g2>
18:30:32 * ehird reruns configure
18:30:38 <ehird> checking for correct version of mpfr.h... no
18:30:38 <ehird> gahwhat
18:30:42 <AnMaster> huh
18:30:43 <ehird> mpfr @2.3.2_0+darwin_i386+darwin_x86
18:30:43 <AnMaster> strange
18:30:44 <ehird> facepalm
18:30:49 <AnMaster> ehird, how strange
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:31:24 <ehird> :P
18:31:44 <AnMaster> Deewiant, good idea
18:32:05 <AnMaster> ehird, "port: 32-bit mfpr missing: unable to run"
18:32:07 * AnMaster ducks
18:32:19 <AnMaster> err
18:32:21 <AnMaster> mpfr
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:43 <AnMaster> did that once
18:32:50 -!- olsner has joined.
18:32:59 <Deewiant> what's wrong with that
18:33:01 <AnMaster> managed to get out of it thanks to having a rescue binary in the same directory
18:33:03 <AnMaster> as I was in
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:10 <AnMaster> ehird, no I was joking
18:33:12 <ehird> :P
18:33:19 <AnMaster> Deewiant, /bin/ld.so not found
18:33:20 <AnMaster> for exampl
18:33:30 <AnMaster> no no dynamically linked binaries can run
18:33:33 <AnMaster> so no*
18:33:45 <Deewiant> oh right, so you lost your /
18:33:46 <AnMaster> Deewiant, in other words: pretty bad
18:33:50 <AnMaster> yes
18:33:51 <Deewiant> I thought just proc superimposed on top of /
18:34:00 <AnMaster> except I still had relative path
18:34:02 <AnMaster> where I was
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:12 <ehird> That did not work
18:34:17 <AnMaster> ehird, no idea
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:46 <ehird> no
18:34:48 <AnMaster> hm
18:34:50 <AnMaster> it is here
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:00 <AnMaster> [...]
18:35:09 <ehird> er
18:35:09 <ehird> yes
18:35:10 <ehird> its config.lo
18:35:12 <ehird> g
18:35:14 <ehird> XD
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:35:33 <ehird> Kill me
18:35:34 <ehird> Kill me
18:35:35 <ehird> Kill me
18:35:36 <AnMaster> ah no .la
18:35:37 <ehird> Kill me
18:35:39 <ehird> Kill me
18:35:41 <ehird> Kill me
18:35:43 <ehird> Kill me
18:35:45 <ehird> Kill me
18:35:46 * Mony kills ehird
18:35:47 <ehird> Kill me
18:35:51 <AnMaster> I don't know
18:35:52 <AnMaster> :(
18:35:54 <Mony> heh
18:35:54 <ehird> thx Mony
18:35:55 <AnMaster> ehird, well one idea
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:13 <AnMaster> it would still be multilib
18:36:17 <AnMaster> and hopefully work
18:36:26 <AnMaster> ehird, I hope this works out for you
18:36:33 <ehird> So do I, man :P
18:36:34 <AnMaster> ehird, and don't forget the c only build thing
18:36:37 <ehird> yes
18:36:50 <AnMaster> g++ take AGES to build
18:37:01 <AnMaster> at least only C and C++ are built by default iirc
18:37:06 <ehird> so does gcc
18:37:07 <ehird> :P
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:29 <AnMaster> oh
18:37:31 -!- moozilla has joined.
18:37:35 <ehird> ya moozilla left
18:37:35 <AnMaster> hm
18:37:35 <ehird> fuck
18:37:38 <ehird> *yay
18:37:44 <AnMaster> he came back
18:37:53 <ehird> i know
18:37:55 <ehird> thus the fuck :D
18:39:31 <AnMaster> gah too long channel list
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:45 <AnMaster> ends*
18:39:47 <AnMaster> all the times
18:39:50 <AnMaster> time*
18:39:51 <AnMaster> gah
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:31 <ehird> ah
18:40:34 <ehird> maybe because
18:40:37 <ehird> im in ~/gcc-build
18:40:42 <ehird> and its in ~/gcc-blahblahblah/
18:40:44 <ehird> or something?
18:41:46 <AnMaster> eh
18:41:48 <ehird> 18:41 <metazilla> OMNILOL
18:41:48 <AnMaster> wtf
18:41:49 <ehird> 18:41 <metazilla> HAHAHAHA
18:41:49 <ehird> 18:41 <metazilla> o rite
18:41:57 <AnMaster> ehird, where is that from?
18:42:01 <ehird> #reddit
18:42:02 <ehird> hm
18:42:06 <ehird> metazilla != moozilla
18:42:11 <ehird> but moozilla signs on as metazilla, sometimes
18:42:13 <ehird> this is confusing
18:42:15 <ehird> name clash XD
18:42:19 <AnMaster> ehird, yes indeed
18:42:20 <ehird> [different ISPs]
18:42:25 <ehird> that must be why he keeps getting ghosted
18:42:35 <ehird> ok
18:42:36 <ehird> now
18:42:39 <ehird> why did my build fail crazily
18:42:40 <ehird> :D
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:16 <AnMaster> answer those questions
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:23 <AnMaster> ok
18:43:26 <oerjan> ehird: except it's the moozilla nick that is ghosted
18:43:33 <ehird> oerjan: confusing
18:43:33 <AnMaster> ehird, is ../gcc-4.3.2 really make distclean
18:43:33 <AnMaster> ?
18:43:37 <AnMaster> or is it just make clean
18:43:40 <oerjan> and most of the quit/joins are not ghostings
18:43:40 <ehird> oh
18:43:42 <ehird> make clean
18:43:45 * ehird makes distclean it
18:43:47 <AnMaster> ehird, try make distclean
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:11 <AnMaster> including any hidden files
18:44:13 <AnMaster> and rerun configure
18:44:19 <ehird> yep
18:44:20 <ehird> doing so
18:44:50 <AnMaster> ehird, hm you have dual core right?
18:45:02 <AnMaster> maybe I should use openmp
18:45:09 <AnMaster> sadly I don't have any dual core to test that on
18:45:19 <ehird> dual core, yes
18:45:21 <AnMaster> gcc 4.3 supports openmp
18:45:32 <AnMaster> with the right build time options I assume
18:45:33 <AnMaster> for gcc
18:45:34 <ehird> you can test on this box, but you'd have to deal with OS X oddities :-P
18:45:41 <AnMaster> ehird, such as?
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:45:54 <AnMaster> anyway
18:46:00 <ehird> AnMaster: that would be one thing :P
18:46:01 <AnMaster> ehird, well right
18:46:08 <AnMaster> I use linux and freebsd
18:46:10 <AnMaster> every day
18:46:20 <AnMaster> freebsd isn't too far off
18:46:26 <ehird> true
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:16 <AnMaster> since I have a gigabit switch
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:57 <AnMaster> no way I'm going ~arch
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:46 <AnMaster> one thing is file loading
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:03 <AnMaster> when loading the file
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:02 <AnMaster> both are valgrind tools
18:50:13 <ehird> hee, yes
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 <AnMaster> ehird, I didn't expect that
18:50:36 <ehird> AnMaster: XCode probably has a profiler.
18:50:43 <AnMaster> ehird, well xcode over ssh?
18:50:43 <ehird> wait, can't you emulate a dual core system?
18:50:44 <ehird> with qemu
18:50:45 <AnMaster> does that work?
18:50:48 <ehird> also, no :P
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:11 <ehird> then with it
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:36 <AnMaster> I think
18:51:44 <ehird> true
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:10 <AnMaster> I mean
18:52:16 <AnMaster> compare with phtreads call over all the app
18:52:17 <AnMaster> to
18:52:28 <AnMaster> #pragma omp parallel for
18:52:36 <AnMaster> for (whatever ....)
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:53:41 <AnMaster> however
18:53:49 <AnMaster> gcc's vectorizer still suck
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:30 <ehird> :P
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:50 <ehird> >:D
18:54:54 <AnMaster> since it would break ick otherwise
18:55:13 <AnMaster> IFFI can't work with threads
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:07:08 <oerjan> um how can that be?
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:12 <ehird> [DON'T CLICK]
19:13:23 <ehird> yeah can we kick him for being an idiot in other channels?
19:14:16 <AnMaster> metazilla, are you there?
19:16:14 <ehird> he's talking in #reddit
19:16:15 <ehird> and ignoring us
19:16:58 -!- metazilla has quit (Read error: 54 (Connection reset by peer)).
19:17:06 -!- metazilla has joined.
19:17:30 <AnMaster> ehird, sure it is same person?
19:17:37 <ehird> 99%
19:17:43 <AnMaster> err
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:17:58 <AnMaster> they alternative?
19:18:01 <AnMaster> alternate*
19:18:05 <ehird> and they both enter #reddit
19:18:25 <AnMaster> mhm
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:04 <AnMaster> ehird, with different isps
19:20:14 <ehird> sigh
19:20:15 <ehird> both
19:20:16 <ehird> switch
19:20:18 <ehird> not just one
19:20:19 <AnMaster> true
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:33 <AnMaster> only
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:22:53 <ehird> see that n=?
19:22:59 <AnMaster> yes and?
19:23:01 <ehird> sigh
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:20 <ehird> AnMaster: yes
19:24:25 <AnMaster> hm ok
19:24:36 <AnMaster> ehird, as in *both isps?
19:24:39 <AnMaster> both*
19:24:40 <oerjan> obviously the two isps have different channel settings
19:24:45 <ehird> yes god damnit AnMaster
19:24:47 <AnMaster> right
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:24:59 <AnMaster> who?
19:25:00 <AnMaster> what?
19:25:04 <oerjan> only one is here, maybe it's only the other one he is present at
19:25:05 <AnMaster> confused? what is that?
19:25:08 <AnMaster> eh?
19:25:21 <AnMaster> oerjan, ???
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:12 <ehird> i dont recall
19:27:13 <ehird> jesus christ
19:27:15 <ehird> i don't even care
19:27:22 <ehird> this is the most tedious pointless conversation ever
19:27:24 <AnMaster> ok both are same
19:27:24 <AnMaster> sure
19:27:25 <ehird> it's the same person
19:27:27 <ehird> get over yourself :P
19:27:29 <AnMaster> right whatever
19:27:31 <AnMaster> anyway
19:27:36 <ehird> gcc still compilin
19:27:36 <ehird> g
19:27:40 <AnMaster> right
19:27:43 <AnMaster> was just about to ask that
19:29:42 <oerjan> yeah let's talk about _real_ frustrations instead :D
19:30:08 <ehird> software sucks
19:30:37 <AnMaster> ehird, how do you feel about FPGAs?
19:30:43 <AnMaster> do they suck too?
19:30:55 <ehird> everything sucks
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:06 <ehird> n
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:43 <ehird> woop woop
19:32:52 <ehird> uk<--->police state
19:32:53 <ehird> uk<-->police state
19:32:57 <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:48 <ehird> heh
19:33:51 <ehird> mathematical rope
19:33:55 <AnMaster> at least not if <> is defined as in (iirc) perl
19:34:17 <AnMaster> ehird, "mathematical rope"?
19:34:24 <ehird> it turns into operators :P
19:34:28 <AnMaster> aha
19:34:29 <AnMaster> heh
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:39 <AnMaster> this means
19:34:41 <AnMaster> I HAVE HUMOR!
19:34:41 <ehird> oh god
19:34:42 <AnMaster> :P
19:34:42 -!- metazilla has quit (Read error: 104 (Connection reset by peer)).
19:34:43 <ehird> world
19:34:45 <ehird> ending
19:34:46 -!- metazilla has joined.
19:34:50 <AnMaster> *CRASH*
19:34:57 <ehird> *four white panels*
19:34:59 <AnMaster> *GNNNNRGH*
19:35:01 <ehird> *four fading in blue panels*
19:35:04 <AnMaster> *BANG*
19:35:04 <ehird> ... wait a second
19:35:07 <ehird> where have I seen this before?
19:35:14 <AnMaster> ehird, the explosion haven't ended yet
19:35:17 <ehird> oh
19:35:19 <AnMaster> you were too early
19:35:19 * ehird waits
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:34 <AnMaster> *CRASH* *BANG* *KABOOOM*
19:35:42 <ehird> "mr bear, do you like this policy?"
19:35:42 <AnMaster> there
19:35:45 <AnMaster> now you can do it
19:35:48 <ehird> "*MAUL* *RIP *CRUNCH*"
19:35:52 <ehird> "OK, ok, we'll reject it"
19:35:55 <ehird> AnMaster: k
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:07 <ehird> done
19:36:12 <AnMaster> you forgot "<ehird> ... wait a second"
19:36:17 <AnMaster> too late now
19:36:20 <ehird> bah.
19:36:25 <oerjan> time has been lost
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:37 <oerjan> INSERT PIGEON
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:22 <AnMaster> :
19:38:23 <AnMaster> :D*
19:38:38 <AnMaster> hm
19:38:48 <oerjan> PLEASE SELECT FINE STRUCTURE CONSTANT FOR REBOOT >
19:38:52 <AnMaster> Talk LIKE SQL day?
19:39:30 <ehird> oerjan: hmmm
19:39:37 <ehird> i'll go for...
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:00 <ehird> yeah, 1
19:40:02 <ehird> 1<ENTER>
19:40:10 <AnMaster> ehird, bad one
19:40:12 <AnMaster> iirc
19:40:18 <ehird> naturally
19:40:18 <oerjan> UNIVERSE REBOOTING...
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:47 <oerjan> FORMING PUDDING
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:09 <ehird> ah
19:41:10 <AnMaster> and enter values
19:41:13 <oerjan> SORRY, PI IS IN THE BIOS ROM
19:41:19 <AnMaster> damn
19:41:20 <ehird> oerjan: oh okay.
19:41:23 <ehird> how goes the reboot
19:41:25 <AnMaster> can you redirect the mapping?
19:41:27 <AnMaster> I mean
19:41:35 <AnMaster> just remap in the MMU
19:41:40 <AnMaster> so it use another PI
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:01 <ehird> agh
19:42:02 <ehird> ^C
19:42:04 <ehird> let's try that again
19:42:11 <ehird> # UNVRS
19:42:12 <oerjan> LIFE FORMING ON NEUTRON STARS
19:42:17 <AnMaster> wait
19:42:20 <AnMaster> this is interesting
19:42:22 <ehird> hmm
19:42:22 <ehird> okay
19:42:25 <ehird> forget that ^C
19:42:30 <AnMaster> indeed
19:42:32 <ehird> i love sentient computer
19:42:32 <ehird> s
19:42:39 <AnMaster> ehird, it catches ^C anyway
19:42:44 <oerjan> INTELLIGENCE EVOLVED
19:42:44 <ehird> how goes that life oerjan
19:42:46 <ehird> ooh
19:42:52 <AnMaster> ehird, you would have needed to use the reset key
19:42:52 <ehird> can we communicate with it?
19:42:54 <oerjan> MANAGEMENT INVENTED
19:42:59 <ehird> fuck
19:43:00 <AnMaster> ARGH!
19:43:01 <ehird> lost hope
19:43:04 <ehird> ^C
19:43:09 <AnMaster> ehird, doesn't work
19:43:12 <ehird> oh right
19:43:13 <AnMaster> use the reset button
19:43:14 <oerjan> UNIVERSE ABORTED
19:43:17 <ehird> good
19:43:18 <AnMaster> with a straighted out gem
19:43:20 <ehird> # UNVRS
19:43:22 <AnMaster> hm
19:43:26 <ehird> let's try this again
19:43:40 <ehird> hmm
19:43:41 <ehird> # UNVRS
19:43:43 <AnMaster> ehird, what about fine structure constant? NaN?
19:43:44 <ehird> <ENTER>
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:02 <AnMaster> but ok
19:44:04 <AnMaster> try it
19:44:07 <ehird> maybe it'll be equally good
19:44:11 <ehird> oerjan: FINESTRUCTURE= -1<ENTER>
19:44:18 <ehird> START<ENTER>
19:44:21 <AnMaster> ehird, what about NaN if this doesn't work?
19:44:26 <ehird> possibly
19:44:27 <ehird> or 1/0
19:44:35 <AnMaster> ehird, 1.0/0.0
19:44:41 <ehird> oerjan: ping
19:44:43 <AnMaster> or it would be integer division by zero
19:44:47 <AnMaster> which would be BAD
19:45:01 <ehird> i think I broke the oerjanputer
19:45:07 * ehird hits reset
19:45:08 <AnMaster> ehird, reset it too?
19:45:14 <ehird> OERJANPUTER VERSION 8645645615
19:45:16 <ehird> BY OERJANCORP
19:45:21 <AnMaster> <AnMaster> ehird, reset it too?
19:45:22 <AnMaster> >oerjan< CTCP VERSION
19:45:22 <AnMaster> -oerjan- VERSION irssi v0.8.10 - running on Linux i686
19:45:22 <AnMaster> <ehird> OERJANPUTER VERSION 8645645615
19:45:23 <AnMaster> wtf
19:45:24 <ehird> "SERVING YOUR UNIVERSAL NEEDS SINCE INFINITY BC"
19:45:26 <AnMaster> you scare me :P
19:45:28 <oerjan> HM
19:45:31 <ehird> #
19:45:39 <ehird> # UNVRS<ENTER>
19:45:47 * ehird waits for the universal simulation program to start up.
19:45:56 <ehird> FINESTRUCTURE= -1<ENTER>
19:45:58 <ehird> START<ENTER>
19:46:24 <ehird> [gcc compiled yay]
19:46:27 * ehird kicks oerjan
19:46:51 <oerjan> THIS UNIVERSE IS CONSIDERABLY SLOWER, PLEASE HAVE PATIENCE
19:47:07 <AnMaster> WHY IS IT SLOWER?
19:47:14 <AnMaster> wait I just got an esolang idea
19:47:19 <AnMaster> a language with "it"
19:47:23 <oerjan> ANTIMATTER GENERATED
19:47:30 <AnMaster> where it made sense to refer to last object
19:47:32 <AnMaster> or whatever
19:48:08 <oerjan> ANTIMOLECULES FORM
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:14 <ehird> oerjan: awesome
19:48:16 <AnMaster> ehird, I hope it works
19:48:22 <ehird> um
19:48:23 <ehird> it replies
19:48:25 <ehird> "EMPTY CACHE"
19:48:32 <AnMaster> ehird, well ok
19:48:33 <AnMaster> hit c
19:48:35 <ehird> ah
19:48:36 * ehird does configure
19:48:46 <AnMaster> ehird, then check the values and change them as needed
19:48:49 <AnMaster> and hit c again
19:48:51 <AnMaster> and finally g
19:49:05 <ehird> AnMaster: ok, what cflags again?
19:49:12 <AnMaster> ...
19:49:15 <ehird> <.<
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:44 <AnMaster> and while we are at it
19:49:45 <ehird> oerjan: awesome
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:10 <AnMaster> oerjan, what about life?
19:50:16 <ehird> [ehird:~] % ~/gcc43/bin/gcc -m64 -march=core2 64bit.c
19:50:16 <ehird> [ehird:~] % ./a.out
19:50:17 <ehird> 8
19:50:18 <AnMaster> anti-life?
19:50:19 <ehird> great success
19:50:26 <AnMaster> ehird, yay
19:50:29 <ehird> ENABLE_TRACE *ON
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:43 <ehird> -t?
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:24 <AnMaster> you could maybe gain a bit
19:51:42 <ehird> ill leave it on
19:51:45 <oerjan> STAR-SIZED BUBBLE ANTI-CELLS FORM
19:52:02 <AnMaster> oerjan, wow
19:52:07 <ehird> HARDENED *OFF
19:52:07 <ehird> ?
19:52:09 <ehird> oerjan: awesome
19:52:43 <AnMaster> ehird, have it off
19:52:44 <oerjan> ANTI-CELLS REPRODUCE
19:52:48 <AnMaster> it adds -fstack-protector
19:53:05 <ehird> oerjan: hot
19:53:08 <AnMaster> which would be 1) tricky to build for you 2) possibly slow down a bit
19:53:19 <ehird> ok that worked
19:53:22 <ehird> agh
19:53:23 <ehird> i forgot the m64
19:53:29 <AnMaster> ehird, just add to cflags
19:53:33 <AnMaster> you can run ccmake .
19:53:35 <AnMaster> to add it
19:53:45 <AnMaster> set PATH of course
19:53:47 <AnMaster> if needed
19:53:51 <AnMaster> it probably isn't
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:53:59 <ehird> GO
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:12 <ehird> You're...
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:20 <AnMaster> hm
19:55:31 <AnMaster> ehird, hit t to show advance entries
19:55:34 <AnMaster> there is something like
19:55:42 <AnMaster> CMAKE_VERBOSE_MAKEFILE
19:55:43 <AnMaster> turn it on
19:55:44 <AnMaster> hit c
19:55:45 <AnMaster> hit g
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:39 <AnMaster> -arch x86_64
19:56:40 <AnMaster> aha
19:56:53 <AnMaster> ehird, it must be that OSX_ARCH thing
19:56:56 <AnMaster> I believe
19:56:59 <ehird> prolly
19:57:05 * ehird re"moo"ves it
19:57:10 <AnMaster> moo?
19:57:10 <oerjan> GALACTIC SIZE ANTI-CELL SOCIETY FORMS
19:57:10 <AnMaster> what?
19:57:15 <ehird> dunno
19:57:17 <AnMaster> oerjan, wow
19:57:19 <ehird> oerjan: :DD
19:57:21 <oerjan> TAXES INVENTED
19:57:22 <ehird> i fear what comes next
19:57:23 <ehird> AAAAAAAAAAAGH
19:57:29 * AnMaster pushes reset
19:57:29 <ehird> speak of the devil
19:57:31 <ehird> ^C^C^C
19:57:39 <oerjan> SOCIALIST REVOLUTION
19:58:05 <AnMaster> wait
19:58:05 <AnMaster> what
19:58:05 <AnMaster> this is good
19:58:05 <AnMaster> oerjan, continue
19:58:05 <ehird> AnMaster: it is building now
19:58:05 <oerjan> FASCIST COUNTERREVOLUTION
19:58:09 <AnMaster> argh
19:58:11 <ehird> dammit
19:58:14 <AnMaster> let see if it turns better
19:58:15 <AnMaster> again
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:37 <ehird> but
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 <ehird> oerjan: Awesome
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:58:56 <AnMaster> ehird, cool
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:24 <AnMaster> ehird, install not needed
19:59:28 <AnMaster> as I said
19:59:30 <ehird> ok, where's mycology
19:59:31 <oerjan> CAPITALISM INVENTED, RIDICULED
19:59:35 <ehird> ridiculed
19:59:36 <ehird> ha
19:59:39 <AnMaster> ehird, at Deewiant's website
19:59:42 <ehird> bah
19:59:43 <ehird> k
19:59:59 <ehird> [ehird:~/cfunge/examples] % cfunge hello.bf
19:59:59 <ehird> Hello world!
20:00:08 <AnMaster> ehird, well that should indeed work
20:00:10 <Deewiant> I was hoping to see "segmentation fault"
20:00:12 <ehird> Yes quite.
20:00:16 <ehird> Deewiant: lol
20:00:21 <AnMaster> ehird, what I'm not sure is mycoterm
20:00:24 <AnMaster> it may have issues
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:00:59 <AnMaster> ehird, sure
20:01:02 <AnMaster> and mycology.b98
20:01:07 <AnMaster> then mycouser.b98
20:01:13 <AnMaster> finally mycoterm.b98
20:01:15 <ehird> sanity.bf works
20:01:19 <AnMaster> ehird, expected
20:01:23 <Deewiant> don't forget mycotrds!!!!11one
20:01:39 <AnMaster> brb phone
20:01:40 <ehird> AnMaster: mycology works
20:02:30 -!- Mony has quit ("Quit").
20:02:53 <ehird> mycoterm time
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:17 <ehird> NCRS loaded.
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:23 <ehird> that looks odd
20:03:25 <ehird> is it correct?
20:03:39 <ehird> Testing S...
20:03:39 <ehird> S didn't reflect, continuing...
20:03:52 <ehird> ok
20:03:54 <ehird> mycoterm worked
20:03:54 <ehird> I think
20:04:06 <ehird> now I'm brbing
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:07:43 <AnMaster> back
20:07:53 <AnMaster> ehird, great!
20:07:58 <AnMaster> ehird, when you get back:
20:08:15 <AnMaster> time cfunge mycology.b98 >/dev/null 2>&1
20:08:21 <AnMaster> run it twice or so
20:08:28 <AnMaster> to avoid disk cache slowdown
20:08:29 <AnMaster> and such
20:08:46 <AnMaster> oerjan, wow
20:08:49 <AnMaster> oerjan, and then?
20:09:28 <oerjan> ANTI-CELLS SHRINK TO SAVE ENERGY, REACH MOUNTAIN SIZE. APOCALYPTIC THEOCRACY.
20:10:06 <AnMaster> oerjan, damn
20:10:30 <oerjan> WIDESPREAD REBELLION AGAINST DEFAITIST RELIGION. NUCLEAR WARS.
20:10:40 <AnMaster> err
20:10:51 <AnMaster> NUCLEAR? don't you mean ANTI-NUCLEAR?
20:10:57 <oerjan> ER, YES
20:11:31 <AnMaster> right
20:11:57 <oerjan> SURVIVORS CREATE GOLDEN DEMOCRATIC AGE, THUS IRONICALLY FULFILLING A PROPHECY
20:12:06 <AnMaster> what PROPHECY?
20:13:01 <oerjan> UNFORTUNATELY THAT PROPHECY WAS ABOUT WHAT WOULD HAPPEN _AFTER_ UNIVERSE DIES. RELIGIOUS DEFAITISM REPLACED BY SCIENTIFIC DEFAITISM.
20:13:22 <AnMaster> DEFAITISM?
20:13:25 <AnMaster> wtf is that
20:13:31 <AnMaster> aspell doesn't like it
20:13:37 <oerjan> CHECKING...
20:13:37 <AnMaster> nor does google
20:14:19 <oerjan> DEFEATISM
20:14:26 <AnMaster> means?
20:14:43 <AnMaster> ah
20:14:44 <AnMaster> right
20:14:48 <AnMaster> found a definition
20:15:01 <AnMaster> oerjan, ok bad
20:15:06 <AnMaster> oerjan, what happens next?
20:15:10 <AnMaster> anything good?
20:15:30 <oerjan> POPULATION SLOWLY DECREASES WHILE UNIVERSE EXPANDS AND COOLS
20:15:35 <AnMaster> ok
20:15:39 <AnMaster> no more interesting
20:15:43 <AnMaster> oerjan, reset universe
20:15:48 <AnMaster> RESET UNIVERSE
20:15:50 * AnMaster resets it
20:16:05 <oerjan> *BURP*
20:16:31 <AnMaster> # UNVRS<ENTER>
20:16:44 <AnMaster> FINESTRUCTURE= 0<ENTER>
20:16:47 <AnMaster> START<ENTER>
20:16:50 * AnMaster waits
20:17:05 <oerjan> NO ELECTROMAGNETIC FORCE
20:17:17 <AnMaster> oerjan, is there something else instead?
20:17:21 <AnMaster> or is everything static?
20:18:00 <oerjan> UNIVERSE FILLED WITH BLACK HOLES
20:18:05 <AnMaster> oops
20:18:12 <AnMaster> oerjan, life on black holes?
20:18:52 <oerjan> UNIVERSE COLLAPSES
20:19:06 <AnMaster> oerjan, reset
20:19:11 <AnMaster> # UNVRS<ENTER>
20:19:17 <AnMaster> FINESTRUCTURE= NaN<ENTER>
20:19:19 <AnMaster> START<ENTER>
20:19:53 <oerjan> WEIRD PARTICLES ARISE
20:20:22 <oerjan> INSANE OSCILLATIONS IN PHOTON DYNAMICS
20:20:23 <AnMaster> oerjan, then?
20:20:30 <AnMaster> wow cool
20:20:47 <AnMaster> oerjan, tell me more
20:20:59 <AnMaster> go on!
20:21:01 <oerjan> _SOMETHING_ ARISES. IS IT INTELLIGENT? WHO KNOWS: BUT IT CERTAINLY HAS TENTACLES.
20:21:08 <AnMaster> argh
20:21:20 <AnMaster> oerjan, don't mention it's name!
20:21:34 <oerjan> SPAWNS UNCOUNTABLE OFFSPRING
20:21:39 <AnMaster> oerjan, RESET
20:21:41 <AnMaster> RESET!
20:21:55 <oerjan> REJECTS CONCEPT OF DEATH
20:22:02 <AnMaster> ARGH!
20:22:12 * AnMaster resets the oerjanputer
20:22:26 * AnMaster reinstalls from system disks
20:22:37 <AnMaster> # SELF-TEST
20:22:38 <oerjan> HUMANS ATTEMPT TO KILL US. MUST EXTERMINATE HUMANS.
20:22:46 * AnMaster pulls the plug
20:23:27 * AnMaster checks on the oerjanputer
20:23:52 <oerjan> THE STARS ARE NOT RIGHT FOR US TO LIVE. WILL SLEEP UNTIL BETTER TIMES COME.
20:23:57 <AnMaster> ah
20:24:12 * AnMaster resets the CMOS RAM
20:24:14 <oerjan> SHOULD TAKE ABOUT ... 3 YEARS.
20:24:35 <AnMaster> oerjan, I reset your CMOS RAM
20:24:41 <AnMaster> feeling better?
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:25:31 <AnMaster> # SELF-TEST
20:25:41 <AnMaster> # VIRUS-SCAN
20:25:59 <AnMaster> # REMOVE_OLD_ONES
20:26:08 <oerjan> NO OLD ONES FOUND
20:26:33 <oerjan> EVERYTHING SEEMS PERFECTLY FNIE
20:26:36 <AnMaster> # SECURELEVEL=3
20:26:39 <AnMaster> FNIE?
20:26:41 <AnMaster> no it isn't
20:26:49 <oerjan> SORRY, I MNEAT FINE
20:26:57 <AnMaster> MNEAT?
20:27:06 <AnMaster> no I don't believe you
20:27:08 <oerjan> MM?
20:27:13 * AnMaster shuts oerjan don't
20:27:17 * AnMaster replaces components
20:27:30 <AnMaster> there all replaced even the chassi
20:27:48 <AnMaster> spelling...
20:27:49 <AnMaster> anyway
20:28:02 * AnMaster boots oerjanputer and reinstalls the OS from a clean isntall media
20:28:14 * AnMaster reboots from new shiny disk
20:28:18 <AnMaster> # SELF-TEST
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:28:43 <AnMaster> wtf
20:28:49 <AnMaster> I don't understand that
20:29:03 * AnMaster installs UNVRS
20:29:12 <AnMaster> # UNVRS<enter>
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:16 <AnMaster> START<ENTER>
20:30:19 <AnMaster> oerjan, well
20:30:31 <oerjan> INFLATION
20:30:49 <AnMaster> oerjan, you should have used a sandboxed UNVRS
20:30:55 <AnMaster> oerjan, then what?
20:30:56 <oerjan> but i did
20:30:57 <ehird> back
20:30:58 <AnMaster> unzip?
20:31:13 <AnMaster> ehird, seems fine structure = NaN created the old ones
20:31:14 <AnMaster> :(
20:31:49 <AnMaster> oerjan, anyway what happens after inflation?
20:32:46 * AnMaster pokes oerjan
20:32:48 <oerjan> BARYOGENESIS
20:32:57 <AnMaster> ok
20:33:14 <AnMaster> oerjan, what are the quarks made of?
20:33:18 <AnMaster> if they exist yet
20:33:38 <AnMaster> is the string theory correct?
20:33:48 <ehird> AnMaster: what time line do you want me to run again
20:33:59 <AnMaster> ehird, hm?
20:34:02 <oerjan> ACTUALLY THEY ARE MADE OF FLUTES
20:34:05 <AnMaster> ehird, I'm running one
20:34:05 <ehird> AnMaster: cfunge
20:34:10 <oerjan> PHOTON EPOCH
20:34:12 <AnMaster> ehird, oh right
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:34:48 <AnMaster> hm
20:34:53 <AnMaster> what about same value but -?
20:35:01 <ehird> it'll just be anti-everyhing
20:35:02 <AnMaster> ehird, could that be worth trying?
20:35:05 <ehird> oerjan: reset
20:35:07 <ehird> # UNVRS
20:35:12 <AnMaster> ehird, don't use NaN
20:35:14 <oerjan> *BURP*
20:35:16 <ehird> FINESTRUCTURE= infinity
20:35:17 <AnMaster> it created the great old ones
20:35:18 <ehird> START
20:35:20 <AnMaster> wow
20:35:24 <AnMaster> what the heck will that do
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:35:58 <ehird> ha
20:36:06 <AnMaster> ehird, won't that be good?
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:14 <ehird> plasma cool
20:36:16 <AnMaster> ehird, hm?
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:36:41 <AnMaster> or
20:36:52 <ehird> oerjan: awesome
20:36:54 <ehird> I hate gravity
20:37:02 <AnMaster> ehird, for ((i=1; i<10; i++)); do ... ; done
20:37:04 <AnMaster> that works too
20:37:26 <ehird> % for i in ${1..30}; do (time cfunge mycology.b98 >/dev/null 2>&1) >>times; done
20:37:27 <ehird> will that be OK?
20:37:33 <AnMaster> ehird, sure I guess
20:37:37 <AnMaster> you can take averages
20:37:40 <ehird> zsh: bad substitution
20:37:41 <AnMaster> of all except first
20:37:43 <ehird> when I said bash I meant zsh
20:37:46 <AnMaster> ehird, you asked for bash
20:37:48 <AnMaster> not zsh
20:37:48 <ehird> :D
20:37:50 * ehird does it in bash
20:37:51 <AnMaster> and zsh I don't know
20:37:55 <oerjan> MATTER CONSTANTLY GENERATED
20:37:58 <ehird> bash: ${1..30}: bad substitution
20:37:59 <ehird> phail
20:38:03 <ehird> oerjan: awesome
20:38:03 <AnMaster> ehird, err what
20:38:17 <AnMaster> ehird, sorry
20:38:19 <AnMaster> tired
20:38:19 * ehird bets the next thing to happen in infinite-fine-structure universe is the invention of management or something
20:38:21 <AnMaster> remove the $
20:38:21 <AnMaster> so
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:11 <oerjan> MOSTLY DIAMOND
20:39:12 <ehird> runs
20:39:15 <ehird> messed it up
20:39:17 <ehird> will do one big run
20:39:22 <AnMaster> ehird, hm
20:39:39 <ehird> oerjan: then taxes are invented?
20:39:45 <AnMaster> no
20:39:50 <AnMaster> management for positive
20:39:55 <AnMaster> taxes for negative I thinj
20:39:58 <AnMaster> think*
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:24 <AnMaster> ehird, well ok
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:09 <AnMaster> micro-management?
20:41:12 <AnMaster> wtf is tha?
20:41:14 <oerjan> TURNS OUT HARMLESS, AS MICROSTRUCTURES ARE NONSENTIENT
20:41:26 <ehird> phew
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 <AnMaster> ehird, interesting
20:41:56 <ehird> fluctuates due to computer being busy in parts :P
20:41:57 <ehird> err
20:41:59 <ehird> 0.062
20:42:00 <ehird> sorry
20:42:02 <ehird> :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:25 <ehird> also, dunno
20:42:29 <oerjan> STUPIDITY INVENTED. MUCH CARNAGE.
20:42:33 <ehird> ram = 2.5gb fwiw
20:42:35 <ehird> oerjan: :D
20:42:43 <ehird> AnMaster: but stuff is running
20:42:44 <ehird> so
20:42:50 <AnMaster> ehird, L1 and L2 cache?
20:43:04 <ehird> Uhh, second
20:43:07 * ehird checks
20:43:07 <AnMaster> cfunge mycology.b98 > /dev/null 2>&1 0.03s user 0.03s system 92% cpu 0.062 total
20:43:09 <AnMaster> wait what
20:43:12 <oerjan> ATTEMPT TO INVENT TAXES CAUSES REBELLION AGAINST STUPID LEADERS
20:43:13 <AnMaster> that doesn't add up
20:43:15 <ehird> AnMaster: what
20:43:15 <AnMaster> at all
20:43:20 <ehird> why not
20:43:29 <AnMaster> 0.03s user 0.03s != 0.062 total
20:43:32 <AnMaster> or anything near
20:43:38 <ehird> what should it be
20:43:40 <AnMaster> usually they are about half of total each here
20:43:51 <ehird> also, 3+3=6...
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:03 <AnMaster> ah right
20:44:04 <AnMaster> true
20:44:09 <ehird> 0.002 extra :P
20:44:12 <AnMaster> well
20:44:15 <AnMaster> I read it as 0.003
20:44:16 <AnMaster> :P
20:44:18 <ehird> ha
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:03 <AnMaster> 64-bit Sempron 3300+
20:45:07 <AnMaster> which runs at 2 GHz
20:45:15 <AnMaster> 128 kb L1
20:45:16 <ehird> ok, so basically the same with gui running etc
20:45:17 <ehird> except
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:27 <ehird> :P
20:45:27 <AnMaster> err
20:45:30 <AnMaster> yeah
20:45:31 <AnMaster> it is
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:47 <AnMaster> great
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:56 <ehird> wait...
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:09 <ehird> exactly
20:46:10 <oerjan> 3. THOU SHALT NOT ASK TOO MANY QUESTIONS.
20:46:10 <ehird> :D
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:46:40 <AnMaster> ehird, wow
20:46:42 <ehird> what
20:46:43 <AnMaster> much better than mine
20:46:46 <ehird> heh
20:47:01 <ehird> baisc overview:
20:47:13 <AnMaster> ehird, and the remaining 7?
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:21 <AnMaster> err
20:47:22 <ehird> the busses in this country, they are electric.
20:47:22 <AnMaster> oerjan, ^
20:47:32 <ehird> AnMaster: he was implying your question was too much
20:47:35 <AnMaster> ah
20:47:37 <AnMaster> ok
20:47:40 <ehird> that was... the joke :P
20:47:42 <AnMaster> oerjan, what happens next?
20:47:52 <ehird> AnMaster: gonna run some more programs with cfunge
20:47:58 <AnMaster> ehird, nice
20:48:04 <AnMaster> ehird, there is a game of life
20:48:06 <AnMaster> in examples
20:48:11 <AnMaster> it should be very fast
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:48:44 * AnMaster runs
20:49:06 <ehird> I'd hardly expect a jit to be portable :P
20:49:14 <AnMaster> nor would I
20:49:20 <ehird> life is nice and fast, yep
20:49:32 <ehird> too fast :P
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:47 <ehird> oerjan: :D
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:27 <AnMaster> ehird, ok that is easy
20:50:36 <AnMaster> src/funge-space/funge-space.c
20:50:42 <AnMaster> look for size constants near the start
20:50:45 <ehird> hehe
20:50:47 <AnMaster> defines size of static array
20:50:56 <AnMaster> ehird, change those as needed to get the right speed
20:51:01 <ehird> the concurrent hellos worl
20:51:01 <AnMaster> life is befunge93
20:51:03 <ehird> work
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:24 <ehird> That's quite slow
20:51:34 <AnMaster> ehird, ccbi is even slower iirc
20:51:38 <AnMaster> also it is befunge93
20:51:46 <AnMaster> it doesn't use fpdp
20:51:47 <AnMaster> or such
20:51:55 <ehird> Ok
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:52:57 <oerjan> VERY CAREFULLY.
20:53:00 <ehird> :D
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:25 <AnMaster> you talked about crystal
20:54:29 <AnMaster> but made of what?
20:54:35 <ehird> AnMaster: the fine structure constant is infinity, I don't think he can answer that reasonably :P
20:54:56 <AnMaster> ehird, hm maybe not
20:55:06 <AnMaster> oerjan, what happens next?
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:36 <AnMaster> oh right
20:55:37 <AnMaster> sorry
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:55:58 <AnMaster> however I have an idea
20:56:00 <AnMaster> somewhat like kernel
20:56:06 <AnMaster> marking some interfaces
20:56:06 <AnMaster> like
20:56:21 <AnMaster> "as a special exception you are allowed to use these routines in non-gpled fingerprints"
20:56:22 <AnMaster> or such
20:56:30 <AnMaster> ehird, I might add that in next version
20:56:34 <AnMaster> however right now: nop
20:56:40 <ehird> Damn.
20:56:54 <AnMaster> ehird, but it is a good idea to add linking exception
20:56:57 <AnMaster> to a well defined interface
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:57:28 <AnMaster> ouch
20:57:40 <AnMaster> and tetris is boring too
20:57:42 <ehird> oerjan: awesome
20:58:03 <ehird> AnMaster: is not
20:58:05 <ehird> tetris is great
20:58:12 <AnMaster> ehird, snake is better
20:58:14 <AnMaster> IMO
20:58:17 <oerjan> ELITE PROGRAMMERS RULE THE WORLD, WHILE CAREFUL NOT TO LET ANYONE NOTICE.
20:58:26 <AnMaster> oerjan, not too good
20:58:26 <ehird> oerjan: can the next event be a war between tetris and snake lovers?
20:58:31 <AnMaster> no
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:44 <AnMaster> snake lacks it too
20:59:45 <AnMaster> yes
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:18 <AnMaster> in those I played
21:00:26 <ehird> In tetris? I think the official versions have a last level.
21:00:32 <AnMaster> huh
21:00:38 <oklofok> ö
21:00:39 <AnMaster> ehird, what about LEMMINGS?!
21:00:41 <oklofok> o
21:00:46 <ehird> AnMaster: you got me there
21:00:48 <ehird> lemmings is amazing/
21:00:51 <AnMaster> oerjan, what happens next?
21:01:02 <oerjan> THEORY OF VIOLENT GAMES CAUSING VIOLENCE CONFIRMED.
21:01:06 <ehird> ha
21:01:18 <ehird> VIOLENCEINVENTED?
21:01:19 <ehird> er
21:01:19 <AnMaster> hm
21:01:21 <ehird> with a space
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 <AnMaster> oklofok, indeed
21:01:34 <ehird> pure mathematical tetris.
21:01:38 <oklofok> yes
21:01:54 <AnMaster> ehird, yes of course
21:02:10 <ehird> schools should teach tetris theorems
21:02:11 <AnMaster> oerjan, then what?
21:02:17 <AnMaster> ehird, hah
21:02:31 <AnMaster> ehird, theoretically only of course
21:02:34 <ehird> yes
21:02:42 <AnMaster> ehird, no actual playing
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:16 <AnMaster> ehird, hah
21:03:18 <ehird> fizzie: the original tetris was the game boy tetris i think
21:03:23 <oklofok> yes
21:03:25 <oklofok> i think so too
21:03:35 <AnMaster> oerjan, what happens next!?
21:03:40 <fizzie> Er, no.
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:47 <AnMaster> oerjan, haha
21:03:47 <ehird> well, okay fizzie
21:03:50 <AnMaster> oerjan, great
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:52 <ehird> i think
21:03:54 <ehird> oerjan: :DD
21:03:56 <oklofok> fizzie: wp isn't always right
21:03:58 <AnMaster> oerjan, what then?
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:42 <oklofok> oh.
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:13 <fizzie> oklofok: See.
21:05:16 <oerjan> MASS MIND UPLOADING HAPPENS, 90% OF POPULATION NOW COMPUTER PROGRAMS
21:05:22 <lament> happy new year!!!
21:05:24 <ehird> oerjan: kickass
21:05:26 <AnMaster> oerjan, that sucks
21:05:27 <ehird> lament: slightly late
21:05:29 <AnMaster> lament, lag?
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:32 <ehird> it's AWESOME
21:05:59 <ehird> AnMaster: bug report, "Befunge93/98/08" in header.
21:06:00 <ehird> copyright
21:06:11 <AnMaster> ehird, hm?
21:06:15 <ehird> it's 108
21:06:20 <AnMaster> ehird, typo indeed
21:06:39 <oerjan> POPULAR VIRTUAL REALITY REGION CREATED BASED ON HYPOTHETICAL FSC OF 1/137.036
21:06:41 <AnMaster> IMPORTANCE: MEDIUM
21:06:53 <AnMaster> TYPE: TYPO CORRECTION
21:06:58 <AnMaster> ehird, also it is 109 by now
21:06:58 <ehird> AnMaster: PRIORITY: CRITICAL
21:07:03 <ehird> also, it's unneeded :P
21:07:07 <AnMaster> PRIORITY: LOW
21:07:13 <ehird> oerjan: awwwwwwwwww
21:07:16 <ehird> oerjan: wait
21:07:22 <ehird> oerjan: is this going to be recursive?
21:07:23 <ehird> :x
21:07:26 <oerjan> NO
21:07:28 <AnMaster> ouch
21:07:31 <ehird> YES YES YES
21:07:34 <oerjan> IT WAS NOT _THAT_ POPULAR
21:07:45 <ehird> oh, okay.
21:07:50 <ehird> so um
21:07:54 <ehird> this is getting slightly boring :D
21:08:01 <AnMaster> ehird, hm
21:08:13 <AnMaster> FSC=10^aleph-0?
21:08:28 <ehird> oerjan: reset
21:08:33 <ehird> well
21:08:34 <ehird> save state
21:08:35 <ehird> then reset
21:08:37 <ehird> for later
21:08:41 <AnMaster> yes indeed
21:08:45 <AnMaster> this was a good one
21:08:48 <AnMaster> ehird, so what now?
21:08:55 <AnMaster> I already tried 0
21:08:59 <ehird> i have an idea.
21:09:05 <ehird> # UNVRS
21:09:07 <AnMaster> was just black holes then collapse
21:09:13 <ehird> FINESTRUCTURE= BUILT_IN_PI
21:09:15 <ehird> PI= 3
21:09:16 <ehird> START
21:09:25 <ehird> (so FINESTRUCTURE is 3.14(etc), and PI is 3)
21:09:31 <AnMaster> ehird, interesting
21:09:35 <AnMaster> what about e?
21:10:07 <AnMaster> ehird, I think we will get triangular wheels...
21:10:22 <oerjan> SIMULTANEOUSLY ROUND AND CUBICAL PLANET FORMED
21:10:31 <AnMaster> wow
21:10:31 <ehird> oerjan: wait wait
21:10:33 <ehird> that's a bit fast
21:10:37 <AnMaster> oerjan, yes indeed
21:10:38 <ehird> what about the forming due to the fine structure? :D
21:10:39 <AnMaster> too faster
21:10:44 <AnMaster> yes
21:10:45 <AnMaster> indeed
21:10:49 <ehird> ^CREWIND;RESUME<ENTER>
21:10:51 <oerjan> REWINDING...
21:11:06 <AnMaster> ehird, err isn't it ^G?
21:11:13 <ehird> AnMaster: sentient computer.
21:11:15 <ehird> you can basically do whatever.
21:11:16 <AnMaster> ah
21:11:21 <oerjan> GRAVITATIONAL ORBITS UNSTABLE
21:11:27 <ehird> neato
21:11:31 <AnMaster> nice
21:11:33 <ehird> SIMULTANEOUSLY ROUND AND CUBICAL PLANET FORMED? :P
21:11:40 <AnMaster> nah
21:11:50 <AnMaster> SIMULTANEOUSLY CUBICAL AND ROUND PLANET FORMED? :P
21:11:50 <AnMaster> I bet
21:12:16 <lament> SIMULTANEOUSLY CUBICAL AND CUBICAL PLANET FORMED? :P
21:12:34 <oerjan> SIMULTANEOUSLY ROUND AND HEXAGONAL SPIRAL GALAXY FORMED
21:12:39 <ehird> Whoa.
21:12:39 <AnMaster> ah
21:12:42 <ehird> My brain.
21:12:54 <AnMaster> ehird, nah that is easy to think about
21:13:13 <ehird> it's round, hexagonal and spiral
21:13:15 <ehird> at the same time.
21:13:25 <lament> a programmer was asked, what sexual positions does he know.
21:13:35 <lament> he thought for a while.
21:13:38 <lament> and said.
21:13:57 <AnMaster> said what?
21:14:07 <lament> said.
21:14:13 <AnMaster> oh haha
21:14:14 <ehird> itym:
21:14:14 <lament> 1. he above, she underneath
21:14:15 <ehird> said "".
21:14:19 <lament> 2. she above, he underneath.
21:14:19 <ehird> o
21:14:24 <lament> 3. both above.
21:14:27 <lament> 4. both underneath.
21:14:28 <oerjan> GALAXY DISSOLVED DUE TO UNSTABLE GRAVITATIONAL ORBITS, BUT NOT BEFORE SIMULTANEOUSLY ROUND AND CUBICAL STARS FORM
21:14:43 <AnMaster> lament, and what else?
21:14:46 <ehird> lament: i wish that made sense
21:14:49 <ehird> oerjan: awesome
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:19 <AnMaster> you can't track it like that
21:15:20 <lament> ehird: it makes sense.
21:15:25 <AnMaster> you need to run it an see
21:15:27 <oerjan> SINGLE STARS UNSTABLE. BINARY STAR SYSTEMS STABLE UNDER RIGHT CONDITIONS.
21:15:37 <AnMaster> oerjan, wow
21:15:41 <ehird> neat
21:15:47 <oerjan> *STAR SYSTEMS
21:15:51 -!- kar8nga has left (?).
21:16:31 <AnMaster> oerjan, then what?
21:16:48 <oerjan> SIMULTANEOUSLY ROUND AND CUBICAL PLANET FORMED NEAR CENTER OF MASS OF BINARY STAR SYSTEM
21:17:04 <AnMaster> oerjan, right
21:17:05 <AnMaster> then what?
21:18:03 <AnMaster> oerjan, then what?
21:18:13 <oerjan> LIFEFORMS EVOLVE FORMED LIKE HEXAGONAL WHEELS
21:18:19 <ehird> :D
21:18:25 <ehird> WHEEL INVENTED?
21:18:33 <AnMaster> ehird, no, no
21:18:33 <oerjan> NO, EVOLVED
21:18:42 <AnMaster> wagon invented!
21:19:19 <oerjan> MACROSCOPING LIFEFORMS FORM USING THE MOST EASILY EVOLVED MOVEMENT, THE ROUND HEXAGONAL WHEEL
21:19:34 <AnMaster> MACROSCOPING?
21:19:39 <oerjan> *IC
21:19:43 <AnMaster> ah
21:19:48 <AnMaster> IC circuits?
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:19 <AnMaster> oerjan, damn
21:20:21 <AnMaster> then what?
21:20:31 <oerjan> (ORBIT WAS UNSTABLE, OF COURSE)
21:20:36 <AnMaster> yes
21:20:50 -!- bsmntbombdood has joined.
21:21:08 <AnMaster> oerjan, then what?
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:31 <AnMaster> doesn't*
21:21:40 <ehird> looks interesting to me
21:21:43 <AnMaster> hm
21:21:55 <AnMaster> oerjan, next?
21:22:09 <oerjan> INTELLIGENT SOCIAL CREATURES (ON WHEELS) EVOLVE
21:22:22 <ehird> WILLY ON WHEELS
21:22:22 <AnMaster> ok... now what?
21:22:30 <AnMaster> ehird, err? meme?
21:22:37 <ehird> infamous wikipedia vandal
21:22:40 <AnMaster> aha
21:22:42 <ehird> all he did was:
21:22:45 <AnMaster> yes sounds familiar now
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:23:00 <ehird> oerjan: :D
21:23:07 <AnMaster> oerjan, nice
21:23:48 <AnMaster> oerjan, then what?
21:24:24 <oerjan> CIVILIZATION TAKES A HUGE LEAP FORWARD AS AN IMMENSELY MORE EFFECTIVE MEANS OF PROPULSION IS INVENTED: THE FOOT.
21:24:34 <AnMaster> haha
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:25:39 <oerjan> PHILOSOPHY INVENTED
21:26:28 <oerjan> GREAT STRIDES ARE MADE BY UNDERSTANDING THE FUNDAMENTAL MATERIALS WATER, FIRE, AIR AND CHEWING GUM
21:26:30 <AnMaster> ehird, err it is exactly 3
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:05 <ehird> :DD
21:27:11 <AnMaster> yay
21:27:23 <oerjan> HOWEVER, THESE PEOPLE SWIFTLY AND INEVITABLE TURN INSANE FOR SOME REASON
21:27:31 <ehird> :D
21:27:33 <oerjan> *INEVITABLY
21:27:36 <AnMaster> oerjan, what is the ratio of a cube to it's side?
21:27:51 <AnMaster> err
21:27:56 <AnMaster> the side of a square
21:28:08 <oerjan> THE VOLUM OF A CUBE IS PI * R^3
21:28:09 <AnMaster> to it's circumfence
21:28:12 <oerjan> *VOLUME
21:28:22 <AnMaster> spelling
21:29:08 <oerjan> HM
21:29:26 <oerjan> "CIRCUMFERENCE"
21:29:26 <AnMaster> oerjan, yes?
21:29:29 <AnMaster> yes
21:29:32 <AnMaster> what is the ratio of that
21:29:38 <AnMaster> to the side of a square
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:25 <ehird> oerjan: what next
21:30:34 <AnMaster> yes what is next?
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:15 <ehird> oerjan: then?
21:31:30 <oerjan> ALTHOUGH ARCHITECTS TEND TO GO MAD AFTER A FEW YEARS
21:31:35 <AnMaster> haha
21:31:41 <ehird> hee
21:32:24 <oerjan> BUT WITH THE MIRACLES OF ARCHITECTURE, A 7 FEET (OR WHEEL) TALL TOWER IS CREATED REACHING ABOVE THE ATMOSPHERE
21:32:56 <ehird> :D
21:33:00 <oerjan> AND TUNNELS ARE BUILT ALLOWING PEOPLE TO WALK (WELL, ROLL) ANYWHERE ON THE PLANET IN A FEW MINUTES
21:33:11 <ehird> i like this
21:33:38 <AnMaster> yes
21:34:38 <oerjan> AT THE SAME TIME, A 5 FEET BY 5 FEET AREA IS ENOUGH FOR A LARGE PALACE
21:34:42 <ehird> :D
21:35:06 <AnMaster> oerjan, what is one FEET in meters?
21:35:21 <oerjan> ABOUT 1/PI METERS
21:35:47 <AnMaster> oerjan, ok
21:35:55 <AnMaster> oerjan, anything interesting?
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:36:39 <ehird> :D
21:36:52 <AnMaster> oerjan, yay
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:13 <AnMaster> oerjan, oh?
21:37:13 <AnMaster> why?
21:37:16 <oerjan> (UNSTABLE ORBITS)
21:37:19 <AnMaster> aha
21:37:21 <AnMaster> right
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:38:23 <AnMaster> oerjan, wow
21:38:25 <AnMaster> then what?
21:38:57 <ehird> oerjan:
21:39:03 <AnMaster> ehird, I enter it
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:04 <AnMaster> ok?
21:39:14 <ehird> hmm
21:39:15 <AnMaster> ehird, you can save state
21:39:17 <ehird> oerjan: fastforward
21:39:19 <ehird> to really interesting
21:39:21 <ehird> AnMaster: almost
21:39:55 <AnMaster> oerjan, even the gas dwarfs and the stone giants?
21:40:14 <oerjan> YOU MEAN THE WATER DWARFS
21:40:19 <AnMaster> oerjan, right
21:40:20 <AnMaster> sorr
21:40:22 <AnMaster> sorry*
21:40:32 <AnMaster> oerjan, does slood exist?
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:13 <AnMaster> wow
21:41:18 <AnMaster> ehird, time to save yet?
21:41:28 <ehird> hmm
21:41:33 <ehird> oerjan: really fast forward to most interesting thing ever
21:41:50 <AnMaster> then save
21:42:00 <ehird> yes
21:42:12 <oerjan> A BLACK HOLE IS FOUND IN A NEIGHBORING GALAXY, DESPITE BEING THOUGHT IMPOSSIBLE
21:42:18 <AnMaster> ok
21:42:23 <oerjan> HARBORING AN ALIEN RACE
21:42:23 <AnMaster> ehird, save the state
21:42:27 <AnMaster> nice
21:42:30 <olsner> oerjan is being extremely entertaining tonight
21:42:38 <AnMaster> olsner, yes indeed
21:42:45 <ehird> oerjan: save
21:42:52 <AnMaster> ehird, reset it?
21:42:56 <AnMaster> or shall I do that?
21:43:00 <ehird> AnMaster: sure
21:43:06 <AnMaster> oerjan, RESET
21:43:11 <oerjan> *BURP*
21:43:12 <AnMaster> # UNVRS /I
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:12 <AnMaster> 2> DUMP CONSTANTS;
21:43:29 * AnMaster waits for the computation
21:43:41 <AnMaster> oh wait forgot
21:43:43 <ehird> AnMaster: I predict fine structure will be non-numerical
21:43:44 <AnMaster> 3> EXECUTE;
21:43:51 <AnMaster> there
21:43:57 <AnMaster> ehird, very probably
21:44:10 <AnMaster> ehird, either that or complex
21:44:16 <oerjan> FSC: I * ALEPH_3
21:44:20 <AnMaster> ehird, also I asked it to dump all constant as you see
21:44:26 <AnMaster> oerjan, other constants?
21:44:40 <oerjan> PI: 3.14159265358979...
21:44:47 <ehird> how boring
21:44:48 <ehird> :D
21:44:50 <ehird> oerjan: what about E
21:44:50 <AnMaster> oerjan, come on there are more
21:44:55 <AnMaster> ehird, lets run it too
21:44:55 <ehird> or the gravitational constant
21:44:58 <ehird> AnMaster: wait
21:45:01 <ehird> let's see what E & G are
21:45:02 <AnMaster> or the planck one
21:45:03 <oerjan> E: 2.71828182818281828...
21:45:07 <ehird> G?
21:45:09 <ehird> Planck?
21:45:19 <oerjan> G IS DIMENSIONAL
21:45:24 <AnMaster> wow!
21:45:24 <ehird> Planck?
21:45:42 <ehird> Planck?
21:45:51 <ehird> oerjan: Planck?
21:45:51 <oerjan> NOT DIMENSIONLESS EITHER
21:45:55 <AnMaster> oerjan, what is R?
21:45:59 <ehird> oerjan: Planck!!!!!!!!!!?
21:46:18 <AnMaster> ehird, err it has dimensions
21:46:23 <AnMaster> nothing odd with that
21:46:27 <ehird> i'm asking
21:46:29 <ehird> what is the planck constant
21:46:29 <ehird> :P
21:46:31 <oerjan> PLANCK NONEXISTENT. THAUMA = 1.7905
21:46:32 <AnMaster> yes
21:46:37 <ehird> oo.
21:46:37 <AnMaster> yay
21:46:38 <ehird> wait
21:46:39 <ehird> oerjan
21:46:42 <ehird> planck = tick, no?
21:46:46 <ehird> http://en.wikipedia.org/wiki/Minor_Discworld_concepts#Tick
21:46:57 * ehird awaits "ER, YES"
21:47:09 <oerjan> I HAVE NOT READ ALL DISCWORLD BOOKS
21:47:14 <ehird> :D
21:47:22 <ehird> CONSTANTS+= LAST RESULT;
21:47:25 <ehird> START
21:47:28 <ehird> <ENTER>
21:47:35 <AnMaster> yay
21:47:40 <oerjan> HM?
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:47:53 <AnMaster> indeed
21:47:55 <oerjan> WAR OF GIANT TURTLES
21:47:59 <ehird> :D
21:48:01 <AnMaster> wait what?
21:48:08 <AnMaster> that isn't how it worked, see Eric
21:48:16 <ehird> shush
21:48:16 <ehird> :P
21:48:25 <ehird> same constants != identical
21:48:26 <AnMaster> ehird, you read them all?
21:48:28 <oerjan> I'VE READ ERIC. OH RIGHT.
21:48:31 <AnMaster> ehird, hm true
21:48:37 <oerjan> (LAST BOOK I READ, ACTUALLY)
21:48:46 <oerjan> DOESN'T MEAN I REMEMBER IT :d
21:48:53 <oerjan> *:D
21:48:58 <AnMaster> oerjan, creator, sandwich
21:48:59 <oerjan> DARN CAPSLOCK
21:48:59 <ehird> typoputer
21:49:05 <oerjan> AH YES
21:49:09 <ehird> "typuter"
21:49:26 <oerjan> IT MAY OR MAY NOT HAVE BEEN A TURTLE SANDWICH
21:49:40 <AnMaster> wtf it was majonäs?
21:49:42 <AnMaster> iirc
21:49:44 <AnMaster> anyway
21:49:46 <AnMaster> go on
21:50:08 <oerjan> DEATH APPEARS
21:50:09 <AnMaster> this could be one that matched the query but didn't match in all details
21:50:26 <ehird> yes
21:50:47 <oerjan> DEATH SAYS: "YOUR CAPS LOCK IS IN VIOLATION OF MY REGISTERED TRADEMARK. PLEASE LEAVE THIS UNIVERSE IMMEDIATELY."
21:50:53 <AnMaster> haha
21:50:55 <ehird> :D
21:51:14 <oerjan> "THE END."
21:51:18 <ehird> lol
21:51:20 <ehird> okay
21:51:22 <ehird> oerjan: RESET
21:51:23 <AnMaster> argh
21:51:27 <AnMaster> I was entering a command
21:51:30 <oerjan> *BURP*
21:51:37 <ehird> # LIST
21:51:37 <AnMaster> to enter stealth mode
21:51:42 <AnMaster> ehird, err
21:51:43 <AnMaster> DIR
21:51:46 <ehird> no
21:51:50 <ehird> this is oerjanix
21:51:50 <AnMaster> no?
21:51:53 <AnMaster> ah
21:52:21 <AnMaster> wait
21:52:24 <AnMaster> I just got an idea
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:42 <AnMaster> or
21:52:44 <AnMaster> even better
21:52:51 <ehird> AnMaster: after the directory listing
21:52:53 * ehird awaits eorj
21:52:56 <AnMaster> QUERY the system for
21:52:57 <oerjan> ./ ../ CTHULHU/ MISC/ UNIV/
21:53:05 <ehird> AnMaster: stop stop wait :P
21:53:10 <ehird> # LIST CTHULHU
21:53:14 <AnMaster> ehird, the important unsolved problems
21:53:17 <oerjan> PERMISSION DENIED
21:53:22 <ehird> # SUDO LIST CTHULHU
21:53:23 <AnMaster> ehird, no it was created by NaN universe
21:53:27 <ehird> AnMaster: :D
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:53:53 <AnMaster> hm
21:54:07 * ehird pokes oerjan
21:54:11 <AnMaster> ehird, anyway what about the Riemann hypothesis
21:54:11 <oerjan> ./ ../ ESCAPE_REALWORLD@ HASTUR HASTUR HASTUR
21:54:17 <ehird> yikes
21:54:19 <AnMaster> ARGH
21:54:30 <ehird> # SUDO OBLITERATE_DIRECTORY CTHULHU/
21:54:50 <oerjan> PERMISSION DENIED. PLEASE REPORT FOR TERMINATION.
21:55:01 <AnMaster> ehird, look what you done
21:55:01 -!- Corun has joined.
21:56:03 <AnMaster> oerjan, what is next?
21:56:12 <AnMaster> ehird, anyway
21:56:13 <oerjan> WHERE?
21:56:14 <AnMaster> you fix it
21:56:17 <ehird> but but
21:56:23 <ehird> i'm root
21:56:42 <AnMaster> ehird, oh I turned on securelevels before
21:56:44 <AnMaster> up to 3
21:56:47 <AnMaster> reboot it to fix
21:57:02 * AnMaster resets the oerjanputer
21:57:12 <AnMaster> # SUDO OBLITERATE_DIRECTORY CTHULHU/
21:57:13 <oerjan> *BURP*
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:58:59 <AnMaster> well
21:59:00 <AnMaster> night
21:59:04 <AnMaster> oerjan, it has been fun
21:59:04 <oerjan> good night
21:59:05 <AnMaster> :)
21:59:05 <ehird> oerjan: ping
21:59:13 <AnMaster> * ehird has quit ("Caught sigterm, terminating...")
21:59:13 <ehird> ah
21:59:15 <ehird> bye
21:59:18 <AnMaster> did you really crash?
21:59:22 <ehird> Bouncer troubles.
21:59:27 <AnMaster> ehird, it crashed?
21:59:35 <oklofok> bsmntbombdood: ais523: either 2 or 3 <<< 2
21:59:36 <ehird> no, it was behaving weirdly
21:59:38 <ehird> so i killed it
21:59:39 <AnMaster> ehird, did you think some old one was involved?
22:00:08 <AnMaster> night anwyay
22:00:12 <ehird> bye
22:00:29 <AnMaster> ehird, thanks for testing cfunge :)
22:00:38 <ehird> now to break it
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:47 <AnMaster> I'm sure they both have bugs
22:00:55 <AnMaster> ehird, see tools/fuzz-test.sh
22:00:59 * ehird does cfunge /dev/random
22:01:01 <ehird> AnMaster: i'm not rebuilding
22:01:03 <ehird> hmm
22:01:06 <AnMaster> ehird, ok, true
22:01:07 <ehird> does cfunge read the whole prog
22:01:09 <ehird> before executing?
22:01:12 <AnMaster> ehird, it mmaps()
22:01:14 <AnMaster> and loads it all
22:01:19 <ehird> will cfunge /dev/random not work then
22:01:21 <AnMaster> so yes
22:01:24 <AnMaster> ehird,
22:01:25 <AnMaster> nop
22:01:31 <ehird> ok, i'll use head
22:01:32 <ehird> like
22:01:37 <ehird> head --lines 30
22:01:43 <AnMaster> ehird, and load that yes
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:52 <AnMaster> err
22:01:54 <ehird> mmap() on file failed: Invalid argument
22:01:54 <ehird> Failed to process file "/dev/stdin": Invalid argument
22:01:55 <ehird> :(
22:01:57 <AnMaster> ehird, can you mmap() stdin?
22:02:01 <ehird> guess not :P
22:02:03 <ehird> >x; then
22:02:11 <ehird> % head --lines 30 /dev/urandom>x; cfunge x
22:02:14 <AnMaster> ehird, you way want a chroot
22:02:21 <AnMaster> or it could overwrite your stuff
22:02:29 <AnMaster> remember it has FILE IO
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:02:57 <AnMaster> or such
22:02:58 <ehird> okay
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:03 <AnMaster> consider a program like:
22:03:05 <ehird> [SITS THERE]
22:03:06 <AnMaster> >t<
22:03:10 <AnMaster> at the first line
22:03:17 <AnMaster> that will certainly OOM
22:03:21 <ehird> why doesn't this terminate I wonder
22:03:30 <AnMaster> ehird, you could run an infinite loop?
22:03:36 <AnMaster> that is very likely
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:46 <AnMaster> so
22:03:48 <ehird> ah
22:03:51 <ehird> so infinite reflect
22:03:59 <AnMaster> ehird, which results in infinite loop yes
22:04:01 * ehird cat -v then
22:04:20 <ehird> % cat -v /dev/urandom|head --lines 10 >x; cfunge -S x
22:04:21 <ehird> still infloops ;P
22:04:23 <AnMaster> ehird, you will notice that the fuzz test script only tests valid chars
22:04:26 <ehird> mm
22:04:27 <AnMaster> to see anything interesting
22:04:40 <AnMaster> ehird, it also needs a build calling alarm()
22:04:41 <AnMaster> to end
22:04:43 <ehird> why does it need a special build
22:04:49 <AnMaster> ehird, to quit with alarm()
22:04:51 <AnMaster> after a while
22:04:52 <ehird> why
22:04:53 <AnMaster> and
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:17 <AnMaster> that confuse the script
22:05:21 <ehird> AnMaster: This interface is made obsolete by setitimer(2).
22:05:21 <ehird> :P
22:05:27 <AnMaster> ehird, well
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:05:56 <ehird> why
22:06:05 <psygnisfive> oklofok, we know you're bi
22:06:06 <AnMaster> wtf
22:06:09 <psygnisfive> i was asking about bsmntbombdude
22:06:10 <ehird> if [[ "${BASH_VERSINFO[0]}${BASH_VERSINFO[1]}" -lt 31 ]]; then
22:06:12 <ehird> is the error line
22:06:13 <ehird> but
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:31 <AnMaster> anyway
22:06:43 <ehird> ln -s `which cfunge` .
22:06:44 <ehird> :P
22:06:52 <AnMaster> ehird, yep
22:06:53 <AnMaster> works fine
22:06:56 <AnMaster> ehird, anyway it needs valgrind
22:07:00 <ehird> oh.
22:07:00 <AnMaster> comment that part ouyt
22:07:02 <AnMaster> out*
22:07:07 <AnMaster> ehird, read the comments in the script
22:07:11 <AnMaster> it isn't very generic
22:07:27 <AnMaster> also
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:07:42 <AnMaster> :P
22:07:45 <AnMaster> old text
22:07:50 <AnMaster> I'll update tomorrow
22:07:53 <AnMaster> night now
22:07:56 <ehird> by
22:07:56 <ehird> e
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:22 <AnMaster> I don't know for your system
22:08:23 <AnMaster> :P
22:08:30 <AnMaster> anyway NIGHT
22:08:32 <ehird> ow my memory
22:08:35 <ehird> it sucks
22:08:39 <ehird> computer that is
22:08:39 <ehird> :P
22:08:44 <AnMaster> ehird, what?
22:08:46 <AnMaster> ehird, what?
22:08:52 <ehird> i think it ran a mem hogger
22:09:02 <ehird> fuzzer
22:09:03 <AnMaster> ehird, you set ulimits I assume?
22:09:06 <ehird> nope
22:09:06 <ehird> :D
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:16 <AnMaster> :P
22:09:20 <psygnisfive> oh is he?
22:09:21 <psygnisfive> ok.
22:09:37 <ehird> bsmnt_bot: hi
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:09:43 <bsmnt_bot> hi
22:09:51 <oklofok> i mean what's that about
22:10:01 <oklofok> get some social skills man
22:10:12 * oerjan swats oklofok -----###
22:10:23 <oklofok> well hey
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:10:39 <oklofok> oh :)
22:11:02 <psygnisfive> well, if bsmnt answered, i wasnt aware
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:47 <psygnisfive> ah well.
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 <AnMaster> but not now
22:11:55 -!- GreaseMonkey has joined.
22:11:59 <psygnisfive> what was the technicality?
22:12:07 <ehird> he's a virgin
22:12:09 <ehird> i think
22:12:11 <ehird> wast he implication
22:12:11 <ehird> joke
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:12 <ehird> thing
22:12:16 <oklofok> they're nerds
22:12:20 <ehird> AnMaster: bye
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:06 <psygnisf_> wee power outage :D
22:14:15 <psygnisf_> oklofok, what was the technicality?
22:16:39 <ehird> he told you.
22:16:42 <ehird> virginity.
22:16:49 <psygnisf_> power outage dude.
22:16:56 <psygnisf_> i see. how old is bsmnt again?
22:17:35 <ehird> like 17 or sth
22:17:39 <ehird> maybe older now
22:17:46 <psygnisf_> i figured he was like 25. hm
22:17:58 <lament> i'm 42, and still a virgin
22:18:49 <psygnisf_> lament you're not 42
22:18:53 <psygnisf_> you're like 15
22:18:59 <ehird> err no :P
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:19:44 <psygnisf_> you could've been!
22:19:58 <ehird> no
22:20:00 <oklofok> lament is 7, i think
22:20:01 <ehird> I was an idiot when I was 9
22:20:02 <oklofok> err or 6
22:20:12 <psygnisf_> ok im off to sit outside and enjoy the stormy atmosphere
22:20:12 <oklofok> he once told us he was 5
22:20:12 <psygnisf_> <3
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:26 <ehird> :P
22:20:29 <psygnisf_> ok fine he's 16
22:20:30 <flexo> opn, back then
22:20:30 <oklofok> lament: you probably remember the year
22:20:31 <lament> i think they wanted efnet
22:20:33 <oklofok> i'm bad at that
22:20:35 <ehird> lament: ew
22:20:46 <ehird> i'd never have heard of it in that case
22:20:47 <ehird> good or bad?
22:20:48 <ehird> you decide
22:20:49 <oklofok> well you can just calc that from your current age ofc
22:20:52 <lament> ehird: tricky
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:29:01 <oklofok> except snake on reals
22:31:33 <ehird> oklofok: er, what
22:31:37 <ehird> that site pops up
22:31:39 <ehird> infinite popups
22:31:41 <ehird> of shock sites
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:01 <ehird> totally.
22:38:01 <oklofok> i don't use blockers
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:20 <oklofok> i would probably get it
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:44:09 <Azstal> Use gopher
23:45:03 <ehird> gopher sux
23:45:17 <Azstal> heresy :(
23:46:10 * ehird decides that the best way to say fuck it and never look at html again is to write a script which converts markdown into it with the basic headers and use it
23:46:14 <ehird> i shall call it a "blog"
23:46:19 * ehird = revolutionary
23:46:49 -!- Corun has quit ("This computer has gone to sleep").
23:47:08 <ehird> you're meant to act surprised
23:47:11 <ehird> and go wooooooah
23:48:36 <Azstal> wooooooah :o
23:49:10 <ehird> amazing eh
23:49:20 <Azstal> quite so
23:49:26 <Azstal> but I'd rather have a phlog
23:49:46 * ehird flogs Asztal
23:49:49 <ehird> er
23:49:50 <ehird> Azstal:
23:49:53 <ehird> (aaaaaaaargh)
23:52:06 -!- Azstal has quit ("I have that urge, Rimmer. It's got nothing to do with past lives.").
23:52:19 * ehird ponders and decides that google apps >>>>>> running my own mail server
23:52:34 <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:56:41 <ehird> now I'm obsessed
23:56:49 * ehird twitches
23:57:54 * ehird considers that nobody cares what he has to say so writing a blog is pointless
23:58:55 <ehird> come to think of it, I should give up on IRC too
←2009-01-06 2009-01-07 2009-01-08→ ↑2009 ↑all